Commit graph

12,254 commits

Author SHA1 Message Date
ethan_yu
fdaee4c40a
feat: create "Diet Analysis" tempalate (#6660)
* feat: create "Diet Analysis" tempalate

* feat: add novita template

* update in template file added tags and description

* Update Diet Analysis.json

*  (Diet Analysis.spec.ts): add integration test for Diet Analysis feature to ensure proper functionality and behavior in the application.

* note-style

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
2025-03-15 02:23:35 +00:00
Deon Sanchez
4ab4e736be
feat: Quality of Life improvements for Astra Component (#6953)
* feat: Add helper text for Astra DB embedding generation provider

* feat: Add helper text support for dropdown and parameter components

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update astradb.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* feat: Add org_id to excluded metadata keys in dropdown component

* fix: Update Astra DB component UI and starter project configuration

- Improved AstraDB component's embedding provider link with better accessibility attributes
- Updated Vector Store RAG starter project JSON with formatted configuration
- Refined UI text and link presentation for better user experience

* Remove providers that arent configured

* feat: Add required field indicator to node parameters

- Implemented visual indicator (*) for required node parameters
- Updated custom parameter title rendering to show required status
- Enhanced UI to provide clearer input requirements

* Revert "Merge branch 'lfoss-683-1' of https://github.com/langflow-ai/langflow into lfoss-683-1"

This reverts commit 2eb0fcb4d3d347de0df1f021f761ea63e882b757, reversing
changes made to 9ea44aca477e8a418ef82722da4b1e0fc2afa2e1.

* [autofix.ci] apply automated fixes

* Add changes back

* Fix some comments

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update astradb.py

* feat: Add dynamic disabled state for node dialog and int component

* feat: Add dynamic placeholder for node dialog input

* [autofix.ci] apply automated fixes

* feat: Enhance IntComponent with disabled state styling and stepper interactions

* Fix some db creation params

* Update astradb.py

* fix: Resolve node dialog input value handling in TypeScript

* Update astradb.py

* feat: Add required field validation to node dialog submission

* Update astradb.py

* [autofix.ci] apply automated fixes

* Update astradb.py

* Clean up functions and add read only flag

* feat: Add readonly support to IntComponent and improve node dialog validation

* fix: Improve dropdown component disabled and empty options handling

* console.log removed

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Read only field and cleanup

* Astra DB selector updates

* [autofix.ci] apply automated fixes

* fix: Improve dropdown component disabled state handling

* Fix value of region in create db

* [autofix.ci] apply automated fixes

* Remove database icon from component

* fix: Conditionally render dropdown option icons

* Don't show Nvidia if not available

* [autofix.ci] apply automated fixes

* Exceptions unless pending mean, skip

* feat: Enhance AstraDBVectorStoreComponent with HTML sanitization

- Added DOMPurify for sanitizing HTML input in the convertStringToHTML function.
- Introduced a new sanitizeHTML function to ensure safe rendering of HTML strings.

* fix: Correct field key usage in NodeDialog and refactor disabled class name in IntComponent

- Updated NodeDialogComponent to use fieldKey instead of underscore for better clarity in mapping field values.
- Refactored IntComponent to replace the getDisabledClassName function with a constant for the disabled input class, improving readability.

*  (playground.spec.ts): Refactor drag and drop functionality to use hover and click for better interaction
🔧 (chatInputOutput.spec.ts): Update drag and drop functionality to use target position for more precise placement
🔧 (chatInputOutputUser-shard-1.spec.ts): Simplify connecting elements by replacing hover and mouse actions with click for better user experience

* 🐛 (generalBugs-prompt.spec.ts): fix issue with selecting the last element with getByTestId to ensure correct element is clicked and tested

*  (chatInputOutputUser-shard-1.spec.ts): add 600ms timeout to wait for elements to be interactable before proceeding with the test steps

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-14 22:34:14 +00:00
Lucas Oliveira
b6333d0e49
feat: add detailed view for prompt component (#7036)
* Changed prompt component to show the prompt with more details

* Fix classes for edit node

* Fixed test

---------

Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
2025-03-14 19:49:06 +00:00
Edwin Jose
1bc450fb90
feat: add agent component to skip update in template loading. (#7077)
* error fix

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-14 17:18:07 +00:00
tianzhipeng
eeeb09e7ea
fix: refactor tracing service (#7015)
* fix: refactor tracing service
1. fix race condition when concurrent run flow #6899
2. make start_trace/end_trace both async
3. add session_id/user_id to trace #4274

* fix: merge

* feat: unittest trace service

* fix: ruff style

* fix: handle tracing deactivated

* fix: ruff style

* feat: detect langfuse ready by health()

* fix: ruff style

* Update src/backend/base/langflow/api/build.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/api/build.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/graph/graph/base.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/langfuse.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update src/backend/base/langflow/services/tracing/service.py

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* Update service.py

* fix: code style

* fix: style

* feat: langwatch component get_tracer from service

* fix: only get contextvar in public method, check and raise

* fix: style, long arg names

---------

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-14 17:01:34 +00:00
Sergey Ryabov
2dfdb9f701
feat: Update AgentQL integration with new features (#7089)
* feat: Update AgentQL integration with new features

* Update templates

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-14 16:31:35 +00:00
Eric Hare
37bc0467b6
feat: Dynamic outputs for file component (#7005)
* feat: Dynamic outputs for file component

* [autofix.ci] apply automated fixes

* Update base_file.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update base_file.py

* [autofix.ci] apply automated fixes

* feat: enhance BaseFileComponent with new data loading methods and separator input

- Added `separator` input to specify the separator for concatenated outputs in Message format.
- Refactored output methods: renamed and updated `load_csv`, `load_json`, and `load_others` to `load_data`, `load_dataframe`, and `load_message` respectively.
- Updated JSON configuration files to reflect changes in output types and methods for starter projects.

* Fix file loader

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
2025-03-14 15:56:33 +00:00
Cristhian Zanforlin Lousa
72f2528216
test: add pokedex agent and social media agent integration tests (#7087)
 (Pokedex Agent.spec.ts): Add integration test for Pokedex Agent to interact with the Pokédex feature and verify expected outputs
 (Social Media Agent.spec.ts): Add integration test for Social Media Agent to interact with social media platforms and verify expected outputs
2025-03-14 14:44:53 +00:00
Artur Zdolinski
4d3e1458da
fix: component MCP Tools (SSE): 'Timeout' (#5638)
* Update mcp_sse.py

Uses Python's built-in asyncio.timeout() context manager
Properly handles timeout exceptions
Maintains the same functionality but with correct async context management

* [autofix.ci] apply automated fixes

* add asyncio

+clean up comment

* [autofix.ci] apply automated fixes

* missing arg_schema in Tool

Missing args_schema inside cause that tools are generated without input schema and are not able to be properly executed as agent know tool, but dost know what input field tool have.

Same problem looks to be in MCP STDIO.

* fix Ruff Check

Line 56:

Error: B904 Within an `except` clause, raise exceptions with `raise ... from err` or `raise ... from None` to distinguish them from errors in exception handling
TRY003 Avoid specifying long messages outside the exception class
EM102 Exception must not use an f-string literal, assign to variable first

* [autofix.ci] apply automated fixes

* remove asyncio.timeout

Remove asyncio.timeout() (not valid for Py3.10) and replace it by asyncio.wait_for()

* [autofix.ci] apply automated fixes

* Ruff (TRY300)

Move return response.tools inside an else block. This makes it clearer that tools are returned only if the connection is successful, and not if a TimeoutError occurs.

* fix: add session initialization check in MCPSseClient

Added a check to ensure the session is initialized before attempting to list tools, raising a ValueError with a descriptive message if the session is None. This improves error handling and robustness of the MCPSseClient class.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-14 12:48:53 +00:00
Edwin Jose
e3cf852307
feat: New parser component with multiple input types and stringify add on (#6652)
* update to parser

* error handling

* solve lint error and added tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update parser.py

* fix format errors

* [autofix.ci] apply automated fixes

* refactor: Remove hardcoded name attribute from ParserComponent

* Update src/backend/base/langflow/components/processing/parser.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* error fix

* [autofix.ci] apply automated fixes

* feat: mark ParserComponent as beta

Added a beta flag to the ParserComponent to indicate its experimental status.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
2025-03-14 12:19:00 +00:00
Jan Heimes
94bc8dbc7d
feat: Needle Search Tool With Template (#6648)
* feat: Needle Search Tool With Templte

* lint

* lint

* lint

* lint

* refactor: Use Langflow Agent instead of CrewAI Agent

* techdebt: adjust Needle component to use tool mode and remove tool component

* lint

* lint

* Update Invoice Summarizer.json

* Update Invoice Summarizer.json

* update to the component

* refactor: Use Needle icon svg

* make format

* component updates

* update with latest agent component

* updated a missing connection when updating the agent component

* update template

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-14 09:37:54 +00:00
Jakub Kopecký
1249ea138c
feat: apify starter template (#6784)
* add social media agent apify template

* example default values, update starter template

* revert package-lock.json

* format

* note-cleanup

* [autofix.ci] apply automated fixes

* updates to the components

* update the agent component

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-14 09:29:33 +00:00
Mendon Kissling
8498b763be
feat: add pokedex agent template (#6885)
* add-pokedex-agent-json

* update with the latest agent component

* Update Pokédex Agent.json

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-14 09:13:02 +00:00
Raphael Valdetaro
2f122393ee
feat: add regex pattern extractor component (#6015)
* feat: add regex pattern extractor component

* [autofix.ci] apply automated fixes

* fix: consistent schema and cleaner code style

* fix: type annotation in regex.py

* [autofix.ci] apply automated fixes

* Fix: regex component unit tests to match implementation behavior

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-13 20:57:04 +00:00
Rodrigo Nader
c1a972c533
Fix: Text split issues related to separator (#6993)
* fixes text split issues related to separator

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* format error fix

* Update Vector Store RAG.json

* [autofix.ci] apply automated fixes

* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and maintainability

*  (stop-building.spec.ts): update test description to improve clarity and maintainability
 (stop-button-playground.spec.ts): add wait time before filling search input to ensure proper loading and interaction with the element

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-13 17:51:34 +00:00
Gabriel Luiz Freitas Almeida
d59f420812
fix: check if component is in tool mode as well to display Tool Mode switch (#7042)
feat: Enhance checkHasToolMode function to include tool mode detection

Updated the checkHasToolMode function to account for an additional condition where the template is considered to be in tool mode if it contains exactly three fields: _type, code, and tools_metadata. This improves the function's ability to accurately determine the tool mode status of a template.
2025-03-13 15:06:36 +00:00
Eddie Ho
f0331d116d
fix: pass props to SvgAnthropicBox component (#7057)
* fix: pass props to SvgAnthropicBox component

* fix: pass props to SvgAnthropicBox component in light mode

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-13 12:20:47 +00:00
Christophe Bornet
3f427555f4
ref: Refactor tracing service (#7011)
* Refactor tracing service

* Remove start, flush and stop
2025-03-13 10:01:39 +00:00
wjwjtf
2c0133d324
fix: Rename AgentQL components and add prompt parameter (#6834)
* renamed components

* add prompt parameter

* [autofix.ci] apply automated fixes

* prevent both query and prompt

* ruff checks

* [autofix.ci] apply automated fixes

* amend conditional check

* change error message

* update templates

* [autofix.ci] apply automated fixes

* fix tags

* fix tags in news aggregator

---------

Co-authored-by: huwenjie912 <huwenjie912@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-13 06:36:18 +00:00
Rodrigo Nader
174468a281
feat: add a unified language model component. (#6994)
* add a unified language model component with a few providers

* [autofix.ci] apply automated fixes

* fix errors and add tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-13 05:03:55 +00:00
Christophe Bornet
62884f6c8b
feat: Sync flows from FS to DB if flow has fs_path (#7043)
* feat: Sync flows from FS to DB if flow has fs_path

* Changes following review

* Simplify flow_mtimes handling

* Move sync_flows_from_fs to setup.py

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-13 00:41:31 +00:00
Gabriel Luiz Freitas Almeida
979c4a6d70
test: Parameterize DeepSeek model component test correctly (#7019)
test: Parameterize DeepSeek model component test with temperature and max tokens
2025-03-13 00:25:32 +00:00
github-actions[bot]
af36d9c386
chore: update test durations (#6975)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2025-03-12 21:31:27 -03:00
Cristhian Zanforlin Lousa
33a2484d47
feat: Add updateHiddenOutputs helper function to manage output visibility (#6932)
 (update-hidden-outputs.ts): add a new helper function to update hidden outputs in the frontend CustomNodes module
♻️ (use-update-all-nodes.ts): refactor useUpdateAllNodes hook to update hidden outputs for all nodes in the frontend CustomNodes module
♻️ (use-update-node-code.ts): refactor useUpdateNodeCode hook to update hidden outputs for a specific node's code in the frontend CustomNodes module
♻️ (index.ts): refactor types in the flow module to include OutputFieldType for better type checking and consistency
2025-03-12 23:44:13 +00:00
Cristhian Zanforlin Lousa
25b5c599af
fix: Disable retries in usePostValidateComponentCode mutation (#7044)
♻️ (use-post-validate-component-code.ts): refactor usePostValidateComponentCode function to include retry and retryDelay options for better control over mutation behavior

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-12 23:20:01 +00:00
Gabriel Luiz Freitas Almeida
e26915a032
chore: Bump frontend package version and enhance test reliability (#7049)
* chore: bump frontend package version from 0.1.2 to 1.2.0 in package-lock.json

* test: enhance error message wait condition in generalBugs-shard-6.spec.ts

Updated the test to wait for the error message to appear with a minimum length of 20 characters, improving reliability in detecting error states. This change replaces the previous fixed timeout with a dynamic check, enhancing the robustness of the test.
2025-03-12 17:53:46 -03:00
Pedro Pacheco
eedef1efae
Feat: add a support for OpenSearch and AstraDB components to yield the langchain vector_store connection object (#6998)
* Added decorator, decorator test, and modified supported vector stores

* Renamed module file name to reflect that this is for generic use, not use for graph rag

* Updated docsstring

* Improved documentation and modification to UT to support graph rag

* Remove extra file from PR

* rollback vector store template

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Nadir J <31660040+NadirJ@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-12 00:41:34 +00:00
Lucas Oliveira
6416c0f983
fix: readded output inspection shortcut (#6812)
* Implemented logFirstMessage function to see if the outputName is the first message possible

* Only render outputs hidden if showHiddenOutputs is true

* Implemented open and setOpen on OutputModal

* Add open output inspection shortcut

* Added data-testid to output modal

* Added test for output shortcut

* fixed chatinputoutputuser test

* Fixed tests

* fixed tests

* fixed url test name

* Fixed loop test

* fixed similarity test

* fixed generalbugs

* fixed timeouts

* fix general bugs

* Fixed tests

* Fix timeouts

* Changed timeouts

* fix general bugs

* Fix decision flow

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
2025-03-11 16:43:24 +00:00
Edwin Jose
5a13f32da5
feat: add tool filter (#6951)
* updates to tool mode

* fix the update real time table refresh issues.

* Update src/backend/base/langflow/custom/custom_component/component.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update component.py

* Update component.py

* format errors

* [autofix.ci] apply automated fixes

* Update index.tsx

* [autofix.ci] apply automated fixes

* lint error fix

* [autofix.ci] apply automated fixes

* fix format issue

* [autofix.ci] apply automated fixes

* fix typing.override does not exist in your Python version

* filter added

* Update index.tsx

* [autofix.ci] apply automated fixes

* update variables

* modify tool filter

* added dynamic property to set the tools in a better effective way

* filter with property

* lint fix

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-11 16:19:10 +00:00
Gabriel Luiz Freitas Almeida
ae6bbf5079
fix: allow Components with no Inputs to have tool mode (#6958)
refactor: Improve tool mode detection in template validation
2025-03-11 16:00:31 +00:00
Cristhian Zanforlin Lousa
3d8582a5ab
feat: Change Anthropic SVG icon (#6968)
* change anthtropic icon

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-11 16:00:05 +00:00
Lucas Oliveira
14d3b02ecd
fix: bump frontend version to current version and add command to bump frontend version in Makefile (#6948)
Bump frontend version
2025-03-11 15:39:08 +00:00
Gabriel Luiz Freitas Almeida
d77686d9d2
refactor: improve maintainability and testability of Vertex.build_params (#5808)
* refactor: Simplify parameter building in Vertex class using ParameterHandler

* feat: Add unit tests for ParameterHandler class and organize test structure

* refactor: rename openai.py to openai_chat_model.py to avoid overlapping names

- Introduced a new OpenAIModelComponent class to facilitate text generation using OpenAI's language models.
- Implemented various input fields including max_tokens, model_kwargs, json_mode, model_name, openai_api_base, api_key, temperature, and seed for enhanced configurability.
- Added methods for building the model and handling exceptions from OpenAI API calls.
- This component enhances the existing framework by integrating OpenAI's capabilities, allowing users to generate text with customizable parameters.

* refactor: update OpenAIModelComponent import paths to use openai_chat_model

- Changed import statements in model_input_constants.py, __init__.py, and test_tool_calling_agent.py to reflect the new OpenAIModelComponent location.
- This refactor improves code organization and clarity by ensuring consistent usage of the updated component structure.

* fix(param_handler): add error handling for invalid field types

- Introduced a ValueError exception for invalid field types in the ParameterHandler class.
- This change enhances robustness by ensuring that only valid field types are processed, improving error reporting for developers.

* feat: Support list-based file path handling in ParameterHandler

* test: Add comprehensive tests for ParameterHandler field processing

* feat: Enhance field skipping logic in ParameterHandler

Add support for skipping fields with type "other" in the parameter handling process

* refactor: Simplify storage service initialization and edge parameter processing

* refactor: Modernize parameter handling with pattern matching

Improve type handling and conversion in ParameterHandler by:
- Replacing conditional logic with pattern matching
- Simplifying type conversion for various field types
- Reducing nested conditionals
- Enhancing code readability and maintainability

* refactor: Update type hints for CycleEdge in parameter handling

---------

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-11 15:34:15 +00:00
Lucas Oliveira
3480fb160f
fix: make edit sticky notes mode occupy whole note (#7012)
* Fixed padding and text size on node description

* Add flex-1 to not be resizable
2025-03-11 15:27:01 +00:00
Gabriel Luiz Freitas Almeida
339e4d28c1
feat: display the color itself instead of gray if there's only one color in the handle (#6980)
refactor: Improve handle color rendering with unique color handling
2025-03-11 15:19:39 +00:00
Lucas Oliveira
0f034ca1c5
fix: make chat input handle overflow (#7014)
Fix handle not overflowing
2025-03-11 15:18:27 +00:00
Lucas Oliveira
1497061477
fix: make header flow title occupy remaining space (#7016)
* Fix flow title truncating

* Fix size not occupying whole screen
2025-03-11 15:18:17 +00:00
Christophe Bornet
581e8cb643
feat: Add possibility to save flow to FS (#6841)
Add possibility to save flow to FS
2025-03-11 14:03:37 +00:00
Gabriel Luiz Freitas Almeida
c720933001
fix: Update LoopComponent to use data instead of item (#7013)
* fix: update loop component to use `data` instead of `item`

* [autofix.ci] apply automated fixes

*  (loop-component.spec.ts): update test to expect two occurrences of "modified_value" in the output instead of one

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-11 14:01:24 +00:00
Cristhian Zanforlin Lousa
ff02e3d20e
fix: Add robust auto-login system with exponential backoff to fix authentication redirects in make command environments (#6848)
* 📝 (frontend): add IS_AUTO_LOGIN constant to handle auto login functionality
🔧 (frontend): update API calls to consider IS_AUTO_LOGIN constant for authentication errors
♻️ (frontend): refactor useGetAutoLogin to handle auto login retries and errors
♻️ (frontend): refactor usePostRefreshAccess to handle auto login retries
♻️ (frontend): refactor request processor to include retry logic with exponential backoff
🔧 (frontend): update Vite config to include LANGFLOW_AUTO_LOGIN environment variable

* 🐛 (constants.ts): fix logic in IS_AUTO_LOGIN constant to correctly evaluate the auto login condition based on the environment variable LANGFLOW_AUTO_LOGIN

*  (index.tsx): Add support for testMockAutoLogin to simulate auto login for testing purposes
🔧 (constants.ts): Refactor IS_AUTO_LOGIN to handle optional chaining for process.env properties
 (auto-login-off.spec.ts): Add test cases to simulate auto login behavior for testing
🔧 (vite.config.mts): Update vite configuration to load environment variables from .env file and handle optional chaining for envLangflow properties
2025-03-11 13:02:26 +00:00
Lucas Oliveira
9ade6977c7
fix: add code button decoration when throwing custom component in screen (#6823)
* made pasted component be selected

* Added bg when is custom component and component is not edited

* Added test to check if custom component button is pink

* Stop chatinput propagation

* fixed tests

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-11 11:54:43 +00:00
Ítalo Johnny
f748ea9bc8
refactor: remove async queue from tracing service (#6999) 2025-03-11 10:15:31 +00:00
Lucas Oliveira
e99d5948e1
feat: deprecate freeze and rename freeze path button (#6821)
* Removed Freeze shortcut and Renamed Freeze path to Freeze

* Removed freeze shortcut

* Removed freeze type on shortcut

* Removed freeze shortcut logic

* Remove freeze option from node toolbar

* Fixed freeze test
2025-03-11 03:00:39 +00:00
Ítalo Johnny
cb61dded91
fix: ensure end_all_traces is called at the end of all flow build events (#6991) 2025-03-10 21:04:39 +00:00
Cristhian Zanforlin Lousa
203ca36d5a
fix: improve ref naming causing fallback error on icons + regression test (#6989)
* ♻️ (index.tsx): remove unused ShortUniqueId import and uid variable to clean up the code
💡 (index.tsx): refactor useEffect dependency array to only include necessary dependencies for better performance and readability
♻️ (index.tsx): refactor PopoverContent component to use notificationRef instead of inline ref assignment for better code organization

*  (loading.tsx): add data-testid attribute to loading icon for easier testing and identification in the UI
 (general-bugs-icons-fallback.spec.ts): add test to ensure that loading icon fallback is displayed correctly when the icon is not found
2025-03-10 21:04:31 +00:00
Mike Fortman
9c69d134c9
feat: Add feature flag customization and astra tracking (#6963)
* Add feature flag customization and astra tracking

* [autofix.ci] apply automated fixes

* add external url check

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-10 20:37:13 +00:00
Edwin Jose
a8f4090888
feat: improving tool mode metadata updates and tables refresh (#6935)
* updates to tool mode

* Update src/backend/base/langflow/custom/custom_component/component.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* fix the update real time table refresh issues.

* [autofix.ci] apply automated fixes

* Update component.py

* Update component.py

* format errors

* [autofix.ci] apply automated fixes

* Update index.tsx

* [autofix.ci] apply automated fixes

* lint error fix

* [autofix.ci] apply automated fixes

* fix format issue

* [autofix.ci] apply automated fixes

* fix typing.override does not exist in your Python version

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-10 14:45:35 +00:00
Cristhian Zanforlin Lousa
94140ccf2e
feat: Enhance Webhook component (#6313)
* 📝 (constants.py): Add "copy_field" attribute to FIELD_FORMAT_ATTRIBUTES list
📝 (webhook.py): Add "copy_field" attribute to MultilineInput component
📝 (input_mixin.py): Add "copy_field" attribute to BaseInputMixin class
📝 (inputs.py): Add "copy_field" attribute to StrInput class
📝 (template/field/base.py): Add "copy_field" attribute to Input class
🚀 (NodeDescription/index.tsx): Remove default placeholder text for emptyPlaceholder prop
 (copyFieldAreaComponent/index.tsx): Add new component for handling copy field functionality
♻️ (strRenderComponent/index.tsx): Refactor component to include CopyFieldAreaComponent when copy_field attribute is present in template data

*  (NodeDescription/index.tsx): refactor renderedDescription useMemo to improve readability and maintainability
♻️ (GenericNode/index.tsx): refactor code to improve readability and maintainability, and optimize rendering logic

* 📝 (webhook.py): Add cURL field to WebhookComponent for better integration with external systems
📝 (graph/base.py): Add logging of vertex build information in Graph class for debugging purposes
📝 (NodeInputField/index.tsx): Add nodeInformationMetadata to NodeInputField for better tracking of node information
📝 (copyFieldAreaComponent/index.tsx): Refactor CopyFieldAreaComponent to handle different types of values, including webhooks
📝 (strRenderComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in StrRenderComponent
📝 (tableNodeCellRender/index.tsx): Add nodeInformationMetadata to TableNodeCellRender for better tracking of node information
📝 (textAreaComponent/index.tsx): Add support for webhook format in TextAreaComponent for better integration with webhooks
📝 (webhookFieldComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in ParameterRenderComponent
📝 (custom-parameter.tsx): Add nodeInformationMetadata to CustomParameterComponent for better tracking of node information
📝 (get-curl-code.tsx): Add support for different formats in getCurlWebhookCode for generating cURL commands
📝 (textAreaModal/index.tsx): Add onCloseModal callback to ComponentTextModal for better handling of modal closing
📝 (index.ts): Add type field to APIClassType for better typing of API classes

*  (index.tsx): Add a button to generate a token in the WebhookFieldComponent for improved user experience and functionality. Update the structure of the component to include the new button and styling adjustments.

* [autofix.ci] apply automated fixes

*  (generate-token-dialog.tsx): add GenerateTokenDialog component to handle token generation in webhookFieldComponent
📝 (index.tsx): import and use GenerateTokenDialog component in WebhookFieldComponent for token generation functionality

*  (frontend): introduce new feature to create API keys with customizable modal properties
🔧 (frontend): add modalProps object to customize modal title, description, input label, input placeholder, button text, generated key message, and show icon flag

* add pool interval variable and tests

* 📝 (NodeOutputfield): Remove unused ScanEyeIcon component
 (validate-webhook.ts): Add function to validate webhook data before processing
♻️ (use-get-builds-pooling-mutation): Refactor to set flow pool based on current flow
🔧 (content-render.tsx): Add data-testid attribute to api key input element
🔧 (webhookComponent.spec.ts): Refactor test to use waitForRequest for monitoring build requests

* [autofix.ci] apply automated fixes

* 🔧 (backend): rename webhook_pooling_interval to webhook_polling_interval for consistency
🔧 (frontend): update references to webhook_pooling_interval to webhook_polling_interval for consistency

* 📝 (frontend): Update import paths and remove unused imports for better code organization and maintainability
🔧 (frontend): Refactor background styles in components to use constants for consistency and easier theming
🚀 (frontend): Add custom SecretKeyModalButton component for better modularity and reusability

* 📝 (use-get-api-keys.ts): add a TODO comment to request API key from DSLF endpoint for future implementation.

* 📝 (input_mixin.py): Remove copy_field attribute from BaseInputMixin as it is no longer needed
♻️ (inputs.py): Remove copy_field attribute from StrInput class as it is no longer needed
♻️ (inputs.py): Set copy_field attribute to False in MultilineInput class to ensure consistency
♻️ (template/field/base.py): Remove copy_field attribute from Input class as it is no longer needed
📝 (textAreaComponent/index.tsx): Replace hardcoded value "CURL_WEBHOOK" with constant WEBHOOK_VALUE for better readability and maintainability

* 🐛 (base.py): fix issue where flow_id could be None by defaulting to an empty string if flow_id is None

* 🔧 (secret-key-modal.tsx): Remove unused SecretKeyModalButton component
🔧 (get-modal-props.tsx): Remove unused getModalPropsApiKey function and related imports and constants

* 📝 (langflow): add noqa comments to suppress linting rule A005 for specific files in the io, logging, and socket modules

* [autofix.ci] apply automated fixes

* 📝 (frontend): Remove unused endpointName property from NodeInputField component
🔧 (frontend): Add useFlowStore import and use it to get currentFlow and endpointName in CopyFieldAreaComponent, TableNodeCellRender, TextAreaComponent, and WebhookFieldComponent components
🔧 (frontend): Refactor useGetBuildsMutation to handle multiple concurrent requests and prevent duplicate requests

*  (webhookComponent.spec.ts): refactor test to improve readability and maintainability by removing redundant code and focusing on essential test steps
♻️ (userSettings.spec.ts): refactor test to improve readability and maintainability by removing redundant code and focusing on essential test steps

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-10 13:10:55 +00:00
Cristhian Zanforlin Lousa
08f886f507
fix: React Console Warnings and Accessibility Issues in Langflow Frontend (#6950)
* fix errors on console jsx

*  (NodeOutputfield/index.tsx): Refactor InspectButton component to use forwardRef for better performance and maintainability
♻️ (NodeOutputfield/index.tsx): Refactor AlertDropdown component to use forwardRef for better performance and maintainability

* 📝 (dialog.tsx): Add VisuallyHidden component for accessibility and improve semantics in DialogContent component
🔧 (dialog.tsx): Update DialogContent component to conditionally include VisuallyHidden component for DialogTitle
🔧 (dialog.tsx): Export VisuallyHidden component from dialog.tsx
♻️ (textAnimation.tsx): Refactor TextEffectPerChar component to use TextEffect component with per="char" and as="span" properties for consistency

*  (CustomEdges/index.tsx): Destructure props to extract specific properties and pass the rest as domSafeProps for cleaner code
♻️ (singleAlertComponent/index.tsx): Remove unnecessary aria-hidden attribute from IconComponent to improve accessibility and reduce redundancy

*  (index.tsx): introduce ShortUniqueId library to generate unique keys for alert items in the dropdown list

*  (frontend): add support for displaying a list of items in the NoticeAlert component
📝 (frontend): update NoticeAlertType interface to include a list property for displaying multiple items in the alert

*  (styleUtils.ts): introduce new icon PencilRuler to the list of nodeIconsLucide for use in the frontend styling utilities.
2025-03-10 12:44:44 +00:00
Cristhian Zanforlin Lousa
47753d37d3
feat: Add JSON field extraction and enhanced URL validation (#6051)
* URL component improvement - JSON URL

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* ♻️ (url.py): refactor URLComponent class to simplify data_dict creation by using dictionary unpacking instead of manual key-value pairs

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* 📝 (url.py): improve formatting of info string for DropdownInput in URLComponent class
♻️ (url.py): refactor ensure_url method to simplify logic and improve readability
🐛 (url.py): fix error handling in URLComponent class for invalid JSON content

* [autofix.ci] apply automated fixes

*  (url.py): Add BoolInput and StrInput to support new features in URLComponent
📝 (url.py): Update description in URLComponent to provide more detailed information about its functionality
♻️ (url.py): Refactor update_build_config method in URLComponent to dynamically update fields based on selected format
🐛 (url.py): Fix ensure_url method in URLComponent to ensure valid URLs are provided and handle exceptions properly
🐛 (url.py): Fix fetch_content method in URLComponent to handle cases where no valid URLs are provided and improve error handling
🐛 (url.py): Fix fetch_content_text method in URLComponent to correctly format and clean text output based on selected format and settings
🐛 (url.py): Fix as_dataframe method in URLComponent to return fetched content as a DataFrame object

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* ♻️ (url.py): remove unnecessary comments and improve code readability by removing redundant comments and adjusting code structure.

* [autofix.ci] apply automated fixes

* 📝 (url.py): improve readability by splitting long description and info strings into multiple lines
🐛 (url.py): handle cases where invalid URLs or JSON URLs are provided, and provide informative error messages
🐛 (url.py): handle cases where no valid URLs are provided and raise an error with a clear message

* 🔧 (Blog Writer.json, Custom Component Maker.json, Graph Vector Store RAG.json): resolve merge conflicts in JSON files related to the 'format' field options to ensure consistency across starter projects.

* [autofix.ci] apply automated fixes

* 🐛 (url.py): fix validation of JSON content from URLs to ensure correct handling of JSON data
 (url.py): introduce async validation of JSON content from URLs using aiohttp to improve performance and reliability

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* merge fix

*  (test_audio_file.wav): update test_audio_file.wav to fix binary file differences in the test asset

* 🐛 (test_url_component.py): update error message format to improve clarity and consistency

* update templates

* 🐛 (test_database.py): fix error handling in test_read_flows_components_only_paginated to properly catch and log exceptions during test execution

* 📝 (backend): Add noqa comments to files to ignore specific linting rule A005
🔧 (test_database.py): Remove duplicate import statement for sqlalchemy
♻️ (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability

* 🐛 (test_database.py): fix test_read_flows_components_only_paginated to handle exceptions and provide more context in case of failure

* 📝 (test_database.py): remove unnecessary comment to improve code readability and maintainability

* 📝 (backend): Remove unnecessary noqa comments from __init__.py files
🔧 (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-10 12:28:51 +00:00