* take1
* depreacate stdio and sse mcp components
* optionals
* rodrigo fixes
* session management
* update init
* mcp component integration test
* broken
* [autofix.ci] apply automated fixes
* fix url input name
* upated MCP
* Update mcp_component.py
* [autofix.ci] apply automated fixes
* update to the MCP component
* [autofix.ci] apply automated fixes
* mostly working
* [autofix.ci] apply automated fixes
* Update mcp_component.py
* [autofix.ci] apply automated fixes
* update component
* [autofix.ci] apply automated fixes
* Update mcp_component.py
* rename component because Simon
* icon and description for simon
* fix integration test
* fix test
* Update mcp_component.py
* update and basic QoL
* [autofix.ci] apply automated fixes
* refactor clients to util and use flow names not IDs in mcp.py
* integration test
* take out traces
* ✨ (edit-tools.spec.ts): add test for user to be able to edit tools in the frontend application.
* session fix
* fix content output
* ♻️ (util.py): remove redundant constant HTTP_TEMPORARY_REDIRECT and replace its usage with httpx.codes.TEMPORARY_REDIRECT for better code readability and maintainability
* [autofix.ci] apply automated fixes
* 🐛 (utils.ts): fix potential null pointer error when converting words to title case by adding null check before accessing properties
* 🐛 (genericIconComponent/index.tsx): Fix issue with optional chaining in mapping function
🐛 (renderIconComponent/index.tsx): Fix issue with optional chaining in mapping function
🐛 (button.tsx): Fix issue with optional chaining in mapping function
🐛 (utils.ts): Fix issue with optional chaining in mapping functions
* 🐛 (language-select.tsx): Fix potential null pointer error when mapping over allLanguages array
* ✨ (constants.ts): add support for multiple languages in the application by defining an array of language options
♻️ (audio-settings-dialog.tsx, language-select.tsx): refactor to import the array of all languages from constants.ts instead of duplicating it in each file
* ✅ (auto-login-off.spec.ts): add a 2-second delay before continuing the test to ensure proper loading and rendering of elements on the page
* ⬆️ (filterEdge-shard-0.spec.ts): reduce wait time for page interactions to improve test performance
⬆️ (playground.spec.ts): optimize wait times for page interactions to enhance test efficiency
---------
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: cristhianzl <cristhian.lousa@gmail.com>
* 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>
* feat: Add tool_mode field to Output model for tool usage specification
* fix: Specify type for component_toolkit in to_toolkit method
* feat: Add method to determine if output should be skipped in ComponentToolkit
* [autofix.ci] apply automated fixes
* test: Add tool_mode field to Output model in test schema
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Added backend to allow loop on output
* Added custom edge for looping components
* Added allows_loop to output type
* Added output_types to target handle if its a loop
* Fixed valid_connection to allow loops
* Added the loop handle to the outputs
* Added infinity icon
* Fixed clean edges to not delete loop edge
* Implement loop checking before build.
* Implemented looping indicator
* Fixed belzier path
* [autofix.ci] apply automated fixes
* 🔧 (reactflowUtils.ts): refactor cleanEdges and detectBrokenEdges functions to improve code readability and maintainability by extracting repeated logic into variables and reducing code duplication.
* [autofix.ci] apply automated fixes
* Add from_loop_target_handle method to TargetHandle class and update type field
* Enhance Edge class to handle loop target handles and validate loop edges
* Add output_names attribute and get_value_from_output_names method to Vertex class
* Add overlap check for input and output names in Component class
* Fix default value assignment in ComponentVertex to handle output names correctly
* Clarify error message for missing attributes in Component class
* Added backend to allow loop on output
* Added custom edge for looping components
* Added allows_loop to output type
* Added output_types to target handle if its a loop
* Fixed valid_connection to allow loops
* Added the loop handle to the outputs
* Added infinity icon
* Fixed clean edges to not delete loop edge
* Implement loop checking before build.
* Implemented looping indicator
* Fixed belzier path
* [autofix.ci] apply automated fixes
* 🔧 (reactflowUtils.ts): refactor cleanEdges and detectBrokenEdges functions to improve code readability and maintainability by extracting repeated logic into variables and reducing code duplication.
* [autofix.ci] apply automated fixes
* Add from_loop_target_handle method to TargetHandle class and update type field
* Enhance Edge class to handle loop target handles and validate loop edges
* Add output_names attribute and get_value_from_output_names method to Vertex class
* Add overlap check for input and output names in Component class
* Fix default value assignment in ComponentVertex to handle output names correctly
* Clarify error message for missing attributes in Component class
* feat: add loop component 🎁🎄 (#5429)
* add loop component 🎁🎄
* [autofix.ci] apply automated fixes
* fix: add loop component to init
* [autofix.ci] apply automated fixes
* refactor(loop): rename loop input variable and improve code quality
- Renamed 'loop' input to 'loop_input' for clarity.
- Simplified logic for checking loop input and aggregating results.
- Enhanced type hints for better code readability and maintainability.
* refactor(loop): add type hint to initialize_data method for improved clarity
* fix: mypy error incompatible return value type
* feat: adds test cases for loop component compatibility with the APIs, Loop component updates to support API (#5615)
* add loop component 🎁🎄
* [autofix.ci] apply automated fixes
* fix: add loop component to init
* [autofix.ci] apply automated fixes
* refactor(loop): rename loop input variable and improve code quality
- Renamed 'loop' input to 'loop_input' for clarity.
- Simplified logic for checking loop input and aggregating results.
- Enhanced type hints for better code readability and maintainability.
* refactor(loop): add type hint to initialize_data method for improved clarity
* adding test
* test cases added
* Update test_loop.py
* adding test
* test cases added
* Update test_loop.py
* update with the new test case method!
* Update test_loop.py
* tests updates
* Update loop.py
* update fix
* issues loop issues
* reverting debug mode params
* solves lint errors and fix the tests
* fix: mypy error incompatible return value type
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
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: italojohnny <italojohnnydosanjos@gmail.com>
* feat: improve model input fields for Cohere component (#5712)
feat: improve model input fields for cohere component
1. Make api_key field required
2. Convert temperature to SliderInput with range 0-2
3. Add info description to temperature slider
* refactor: improve naming consistency in DataCombiner component (#5471)
* refactor: improve naming consistency in DataCombiner component
- Rename MergeOperation to DataOperation
- Rename component to DataCombinerComponent
- Convert operation enum values to uppercase
- Update method names for consistency
* [autofix.ci] apply automated fixes
* fix: resolved linting errors in __init__.py
* [autofix.ci] apply automated fixes
* Changed operation names to capitalize only first letter
* refactor: rename DataCombinerComponent to MergeDataComponent for better clarity and backwards compatibility
* [autofix.ci] apply automated fixes
* fix: Translate Portuguese text to English in merge_data.py
* feat: add required to data_inputs in MergeDataComponent
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* refactor: Refactor Wikipedia API component (#5432)
* refactor(wikipedia): Refactor Wikipedia API component
* test: add unit tests for WikipediaAPIComponent
* [autofix.ci] apply automated fixes
* refactor: improve WikipediaAPIComponent tests and fix lint issues
* [autofix.ci] apply automated fixes
* fix: resolve lint issues in WikipediaAPIComponent tests
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* fix: pass slider input values correctly, add test (#5735)
* ✨ (base.py): Update field validation to include "slider" type in addition to "float" type for better parameter handling
📝 (constants.py): Add "slider" type to the list of DIRECT_TYPES for consistency and completeness
* ✅ (test_inputs.py): add unit test for SliderInput class to ensure it initializes with correct value
* 🐛 (base.py): fix comparison of field type with a list by changing it to a set to ensure correct condition evaluation
* [autofix.ci] apply automated fixes
* fix format
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: make AWS credentials required in bedrock component (#5710)
1. Make aws_access_key_id field required
2. Make aws_secret_access_key field required
* chore: update test durations (#5736)
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
* feat: add truncation to ResultDataResponse (#5704)
* chore: Update dependencies and improve platform markers in configuration files
- Added 'hypothesis' version 6.123.17 to dev-dependencies in pyproject.toml.
- Updated platform markers from 'sys_platform' to 'platform_system' for better compatibility in uv.lock, affecting multiple packages including 'jinxed', 'colorama', and 'appnope'.
- Ensured consistency in platform checks across various dependencies to enhance cross-platform support.
This update improves the project's dependency management and ensures better compatibility across different operating systems.
* feat: Enhance ResultDataResponse serialization with truncation support
- Introduced a new method `_serialize_and_truncate` to handle serialization and truncation of various data types, including strings, bytes, datetime, Decimal, UUID, and BaseModel instances.
- Updated the `serialize_results` method to utilize the new truncation logic for both individual results and dictionary outputs.
- Enhanced the `serialize_model` method to ensure all relevant fields are serialized and truncated according to the defined maximum text length.
This update improves the handling of large data outputs, ensuring that responses remain concise and manageable.
* fix: Reduce MAX_TEXT_LENGTH in constants.py from 99999 to 20000
This change lowers the maximum text length limit to improve data handling and ensure more manageable output sizes across the application.
* test: Add comprehensive unit tests for ResultDataResponse and VertexBuildResponse
- Introduced a new test suite in `test_api_schemas.py` to validate the serialization and truncation behavior of `ResultDataResponse` and `VertexBuildResponse`.
- Implemented tests for handling long strings, special data types, nested structures, and combined fields, ensuring proper serialization and truncation.
- Enhanced coverage for logging and output handling, verifying that all fields are correctly processed and truncated as per the defined maximum text length.
- Utilized Hypothesis for property-based testing to ensure robustness and reliability of the serialization logic.
This update significantly improves the test coverage for the API response schemas, ensuring better data handling and output management.
* feat: Add function to validate models with tool calling function and related fixes in agent component (#5720)
* Update nvidia.py
* update agent experience with improving model selection
update agent experience with improving model selection and making only the tool calling models available.
* variable clean up
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/base/models/model_input_constants.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Update src/backend/base/langflow/base/models/model_input_constants.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* added default models
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* format errors solved
* [autofix.ci] apply automated fixes
* Update model.py
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: assistants agent improvements (#5581)
* assistants agent improvements
* remove alembic init file
* vector store / file upload support
* use sync file object (required by sdk)
* steps
* self.tools initialization
* improvements for edwin
* add name and switch to MultilineInput
* ci fixes
* refactor: enhance flow type safety and clean up unused code (#5669)
* 📝 (use-save-flow.ts): add AllNodeType and EdgeType imports to improve type safety in useSaveFlow hook
📝 (index.tsx): remove unused setNoticeData function to clean up code and improve readability
* refactor: Remove unused code in GeneralPage component
* refactor: Remove unused code in cardComponent/index.tsx
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* feat: Add `required=True` to essential inputs across Langflow components (#5739)
* fix: add required validation to input fields
Ensures mandatory fields are properly marked as required across components.
* fix: add required validation to input fields
Ensures mandatory fields are properly marked as required across components.
* fix: add required validation to input fields
field: model_name
* fix: add required validation to input fields
field: model and base_url
* fix: add required validation to input fields
input: mistral_api_key
* fix: add required validation to input fields
inputs: model, base_url, nvidia_api_key
* fix: add required validation to input fields
inputs: model, base_url
* fix: add required validation to input fields
input: openai_api_key
* fix: add required validation to input fields
inputs: message, embedding_model
* fix: add required validation to input fields
inputs: model_name, credentials
* fix: add required validation to input fields
inputs: aws_secret_access_key, aws_access_key_id
* fix: add required validation to input fields
inputs: input_text, match_text
* fix: add required validation to input fields
inputs: input_message
* fix: add required validation to input fields
inputs: input_value
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
inputs: input_value
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
inputs: data_inputs, embeddings
* fix: add required validation to input fields
inputs: api_key, input_value
* fix: add required validation to input fields
inputs: password, username, openai_api_key, prompt
* fix: add required validation to input fields
inputs: api_key, transcription_result
* fix: add required validation to input fields
inputs: api_key, transcription_result, prompt
* fix: add required validation to input fields
input: prompt
* fix: add required validation to input fields
input: api_key
* fix: add required validation to input fields
inputs: api_key, transcript_id
* fix: add required validation to input fields
inputs: audio_file, api_key
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: make YouTube Transcripts URL field required (#5686)
feat: Enhance YouTube Transcripts component by adding required field validation to URL input
This change ensures that users provide a video URL before using the YouTube Transcripts component, preventing potential runtime errors due to missing video source.
* fix: Fix memory leak when creating components (#5733)
Fix memory leak when creating components
* test: Update API key requirements and test configurations for frontend tests (#5752)
---------
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: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: VICTOR CORREA GOMES <112295415+Vigtu@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
* Updated loop.py component
* [autofix.ci] apply automated fixes
* update test file
* fix: handle None values in input names and improve type hints
* [autofix.ci] apply automated fixes
* Added loop component test
* Added comments
* test: add 'allow_loop' field to Output dictionary in test_output_to_dict method
* fix: correct key name in Output dictionary from 'allow_loop' to 'allows_loop' in test_output_to_dict method
* Updated frontend loop test
* Updated examples
* 🐛 (generalBugs-shard-9.spec.ts): Fix incorrect test selector for chat memory output element
🐛 (loop-component.spec.ts): Fix incorrect test selector for chat output element
🐛 (generalBugs-shard-3.spec.ts): Fix incorrect test selector for open AI model output element
* [autofix.ci] apply automated fixes
* refactor: update return type in AgentComponent to use dotdict for build_config
This change modifies the return statement in the AgentComponent class to utilize a dotdict for the build_config, enhancing the structure and accessibility of the returned configuration data.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: VICTOR CORREA GOMES <112295415+Vigtu@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
* 🐛 (type_extraction.py): fix condition to correctly handle UnionType objects in type extraction process
* ✨ (test_schema.py): add support for additional data types and nested structures in post_process_type function to improve type handling and flexibility
* ✅ (test_schema.py): add additional test cases for post_process_type function to cover various Union types and combinations for better test coverage and accuracy
* Fix flaky tests in `test_schema.py` by using sets for type comparisons
- Updated `post_process_type` function assertions to use sets for more reliable type comparisons.
- Adjusted imports for better code organization.
* Fix import order in test_database.py
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fix textarea with password visual bug
* Changed password field to default to none
* updated sanitizedHTMLWrapper to receive ref
* fixed sanitizedhtmlwrapper type
* Added back to scroll position and cursor position on Chrome
* [autofix.ci] apply automated fixes
* Fix position of password
* Fixed tests
* Fixed examples
* Fixed test schema
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>