* Changed conversion methods to support the fact that LLM hint on a Message return type but return a string, causing a runtime error while converting types
* Convert to Message for model component text response
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Pedro Pacheco <pedro.pacheco@yahoo.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* refactor: update default behavior for components path in Settings class
* Set components path to an empty list when no value is provided, improving clarity in logging.
* Remove redundant addition of BASE_COMPONENTS_PATH when it is not already included.
* feat: Implement importing of Langflow components
* Added `get_langflow_components_list` to asynchronously fetch built-in components using introspection and pkgutil.
* Introduced `_get_langflow_components_list_sync` for synchronous processing of component classes.
* Updated `get_and_cache_all_types_dict` to merge fetched components into the cache.
* Enhanced error handling during module imports and component processing.
* feat: Enhance component handling in custom utils for better flexibility
* refactor: Simplify component retrieval logic and enhance error handling
* refactor: Remove unnecessary 'required_inputs' field from multiple starter project JSON files
* refactor: Change error handling to warning for component instantiation failures
* refactor: Improve component type checking in get_component_instance and run_build_config functions
* refactor: Update subclass check for custom_component in run_build_config function
* refactor: Update component name retrieval logic to prioritize class name
* refactor: Replace settings service call with direct BASE_COMPONENTS_PATH in test_get_all
* refactor: Update required inputs and improve model name info across starter projects
* [autofix.ci] apply automated fixes
* 📝 Add docstrings to `fix-component-loading` (#8397)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Build and log fixes
* refactor: Improve type checking for custom component instances in `get_component_instance`
* refactor: Enhance type checking for custom components in `run_build_config`
* refactor: Clean up docstrings in component loading functions for clarity
* refactor: Rename `get_langflow_components_list` to `import_langflow_components` for clarity
* refactor: Exclude deactivated modules and improve class checking in component loading
* test: Add component differences analysis for import_langflow_components and aget_all_types_dict
* [autofix.ci] apply automated fixes
* refactor: Simplify assert statements and improve logging in component loading tests
* [autofix.ci] apply automated fixes
* refactor: Consolidate __all__ declaration for retriever components
* refactor: Improve comments for clarity in run_build_config function
* [autofix.ci] apply automated fixes
* refactor: Enhance module validation logic in _get_langflow_components_list_sync function
* refactor: Update debug log message for clarity in get_and_cache_all_types_dict function
* refactor: Enhance parallel processing of Langflow components import and improve logging
* refactor: Improve performance testing by adding warm-up runs and clarifying output messages
* refactor: Improve assertion clarity in component loading tests and add performance benchmark
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* Use Component base class instead of custom component for a few components
* ⚡️ Speed up function `get_component_instance` by 365% in PR #8395 (`fix-component-loading`) (#8438)
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* refactor: update debug log message for components cache building
* refactor: update required inputs to use 'api_key' for multiple starter projects
* refactor: update import statement for BaseFileComponent in nvidia_ingest.py
* refactor: simplify timing results print statement in test_load_components.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* refactor: improve assertion readability and error handling in test_load_components.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* feat: allow os.stat in pkgutil for component loading in blockbuster fixture
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* updates few components to new template
* import fixes
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* remove unused VectaraSelfQueryRetriverComponent from vectorstores __all__ export
* Update starter project configurations to require 'api_key' as a mandatory input for model output in multiple JSON files.
* [autofix.ci] apply automated fixes
* Refactor JSONDocumentBuilder by removing TYPE_CHECKING import and update Vectara import statement to suppress linting warning.
* ⚡️ Speed up function `_process_single_module` by 1,017% in PR #8395 (`fix-component-loading`) (#8443)
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* [autofix.ci] apply automated fixes
* Remove unnecessary call to `_set_output_required_inputs` in `Component` class setup
* Revert "Use Component base class instead of custom component for a few components"
This reverts commit 2fd61f92b2735a770d82eada3b429c4e20657335.
* move components to deactivated folder
AmazonKendraRetriever, JSONDocumentBuilder, ListenComponent, MetalRetrieverComponent, MultiQueryRetrieverComponent, NotifyComponent, RetrieverToolComponent, and VectaraSelfQueryRetrieverComponent
These components provide various functionalities including document building, notification handling, and integration with external APIs for data retrieval. Each component includes input specifications and error handling for robust operation.
* [autofix.ci] apply automated fixes
* Revert "move components to deactivated folder"
This reverts commit 0aa17a26d938f4a5ea622e16c4645813ea271e44.
* Implement multiple new components in the deactivated folder, including AmazonKendraRetrieverComponent, JSONDocumentBuilder, ListenComponent, MetalRetrieverComponent, MultiQueryRetrieverComponent, NotifyComponent, RetrieverToolComponent, and VectaraSelfQueryRetrieverComponent. Each component is designed to enhance functionality for document handling, notifications, and API integrations, with robust input specifications and error handling for improved reliability.
* feat: Enhance starter project loading with improved logging and error handling
* refactor: Remove debug logging for module processing in import_langflow_components
* [autofix.ci] apply automated fixes
* fix: Disable mypy error for undefined attributes in deactivated components
* feat: Enhance blocking behavior in blockbuster tests with additional function checks
* fix: Add import error handling for boto3 in S3BucketUploaderComponent
* refactor: Add debug logging for module processing in components
* fix: Temporarily disable auto-use for blockbuster fixture until blocking issue is resolved
* feat: Add utility function to check for preimported components
* fix: Update get_component_instance to accept both CustomComponent and Component types
* fix: Update import error message for boto3 installation instructions
* fix: Correct class name from VectoStoreRetrieverComponent to VectorStoreRetrieverComponent
* fix: Update Vectara type hints and import statements for consistency
* fix: Refactor get_component_instance and build_custom_component_template_from_inputs for improved error handling and component instantiation
* fix: Remove debug logging from _process_single_module to streamline module processing
* ⚡️ Speed up function `is_a_preimported_component` by 24% in PR #8395 (`fix-component-loading`)
Here is an optimized version of your program.
**Reasoning for changes:**
- The check `isinstance(custom_component, Component)` followed by `type(custom_component) is not Component` causes the interpreter to potentially look up the type and MRO twice per call.
- By storing `type(custom_component)` in `klass` and using `issubclass(klass, Component)`, you avoid having Python walk the MRO twice for the same object, which is subtly more efficient especially in tight loops and heavy use scenarios.
- Using `issubclass()` on the object's type is semantically equivalent to `isinstance()`, except it also works for custom metaclass scenarios and is very slightly faster when type is already known.
**All program logic and comments are preserved, only the relevant portion is optimized.**
* ✨ (freeze.spec.ts): introduce new function addFlowToTestOnEmptyLangflow to enhance test coverage and improve test reliability
* ✨ (freeze.spec.ts): increase timeout value for waiting for "built successfully" text to appear to improve test reliability
* ✨ (freeze.spec.ts): refactor code to check if firstRunLangflow is greater than 0 before calling addFlowToTestOnEmptyLangflow
🔧 (generalBugs-shard-9.spec.ts): update tags in test case to include @workspace and @components
♻️ (generalBugs-shard-9.spec.ts): refactor code to remove unnecessary steps related to sidebar search and node handling
🔧 (store-shard-0.spec.ts): update test cases to be skipped and improve readability by using async arrow functions
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Added mcpinput to the backend
* Fixed list selection component to contain descriptions
* Added mcp component in the frontend with mock values
* Added mcp rendering on Parameter Render Component
* Changed input to be more concise and to have dynamic placeholder
* Added header search placeholder
* Fixed styling to match new input
* Removed unused params
* Adds AddMcpServerModal's first mock version
* Adds Add button on mcp component and list selection component
* First pass at mcp api
* Add PATCH endpoint
* Add DELETE endpoint
* fix: Bump version numbers for langflow and langflow-base to 1.4.3 and 0.4.3 respectively
* fix: Remove Igor Carvalho from maintainers list in pyproject.toml
* fix(agent): reset model list when provider changes
Switching the provider in the Agent component sometimes left models from
the previous provider visible/selected.
We now filter against the new , ensuring only
models that belong to the active provider remain.
* src/frontend/src/components/core/dropdownComponent/index.tsx
– add guard when rebuilding
* tests/extended/regression/general-bugs-dropdown-select-not-in-list.spec.ts
– expand coverage for “model not in list” edge-cases
Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>
* fix: Update Pokédex Agent template (#8373)
* Implement adding and getting MCP servers, implemented addMcpServerModal
* Added sse and stdio ways of adding a server
* Added no actions handling
* added new mcp type to constants
* Added headers to add mcp server modal
* Changed mcp component to allow persistent mcp servers
* fix input list component gradient
* fix add server modal to patch when initial data is present, and to clean variables when switching tabs
* changed message on add mcp server
* Added required mutations for mcp page
* Added mcp servers page
* Changed design of page
* Fixed delete problems and added delete confirmation
* fixed wrong error parsing
* changed padding
* Made added server be used on mcp component
* refactor: remove references to the langflow store (#8354)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
fix: apikey lock issue and add option to disable tracking (#8361)
* Fixed search on sidebar
* fixed infinite use effect
* Fixed error handling
* Fixed tool mode disappearing
* fixed key pair button submitting form
* Fixed bugs
* Added required
* Changed message
* Disabled other tabs when modifying
* Removed tool dropdown if the mcp server is empty
* parsed name
* fixed data test id not applying
* fixed mcp component
* Fixed component not working when only stdio command is present
* refactored tests
* Updated mcp_component to remove old non default keys
* Added data-testids
* Modified tests to include settings page functionality
* [autofix.ci] apply automated fixes
* Refactor out the core part of the mcp
* [autofix.ci] apply automated fixes
* Added placeholders on frontend components for errors
* Fixed bugs with mcp component
* updated bug
* fix: made empty project appear instead of empty flows list when mcp is enabled (#8336)
* try to fix
* Fix MCP persistence
* Update mcp_component.py
* Update mcp.py
* [autofix.ci] apply automated fixes
* fix: Bump version numbers for langflow and langflow-base to 1.4.3 and 0.4.3 respectively
* fix: Remove Igor Carvalho from maintainers list in pyproject.toml
* fix(agent): reset model list when provider changes
Switching the provider in the Agent component sometimes left models from
the previous provider visible/selected.
We now filter against the new , ensuring only
models that belong to the active provider remain.
* src/frontend/src/components/core/dropdownComponent/index.tsx
– add guard when rebuilding
* tests/extended/regression/general-bugs-dropdown-select-not-in-list.spec.ts
– expand coverage for “model not in list” edge-cases
Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>
* refactor: remove references to the langflow store (#8354)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
fix: apikey lock issue and add option to disable tracking (#8361)
* fix: made empty project appear instead of empty flows list when mcp is enabled (#8336)
* fix mcp client async problems
* fixed mcp sse access
* [autofix.ci] apply automated fixes
* Made values be maintained when refreshing page
* Fixed bugs with tool mode and switching from tool mode to not tool mode
* Update mcp_component.py
* Update test_mcp_component.py
* Don't expose file by name as external endpoint
* Update files.py
* Update files.py
* Add checks for id
* Refactor tests
* Update test_mcp_component.py
* Update test_mcp_component.py
* Update test_mcp_component.py
* updated tests
* re-added placeholder on input for tests to not fail
* updated session selector in order for tests to work
---------
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* chore: remove setup-uv action configuration file as it is no longer needed
* chore: update setup-uv action to use the official action across all workflows
* chore: disable cache pruning in all workflows to improve build stability
* chore: update Python version to 3.13 and add pre-release description in workflows
* Changed textarea classes
* Changed flowsettingscomponent to use form
* changed edit flow settings to use form and to submit on enter
* Reset form data on close
* Updated disabled state to have lower opacity instead of to have set background
* Fixed loading state of button
* Fixed bug where starter projects were refactored incorrectly
* fix: improve handling of selected outputs in custom component template builder
- Added checks to ensure selected output is valid before attempting to set its state.
- Enhanced code readability with comments explaining the logic for selecting outputs.
* Set selected output as the previous selected output
* Update base.py
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* feat: add formatPayloadTweaks utility and integrate into API code generation
* feat: integrate formatPayloadTweaks utility for centralized payload processing in API code generation
* refactor: clean up formatPayloadTweaks import and improve curl command formatting
* refactor: remove commented code and streamline payload processing in APITabsComponent
* fix: uncomment TextInput in INPUT_TYPES constant
* fix: uncomment TextInput in INPUT_TYPES and update filter-tweaks to include it
* refactor: update OutputComponent styles and enhance dropdown functionality
* Adjusted text size in OutputComponent for better readability.
* Improved dropdown button styling and added hover effects.
* Enhanced dropdown content layout to display output types alongside names.
* Added console log for outputs to assist in debugging.
* refactor: remove console log from OutputComponent for cleaner code
* refactor: streamline GenericNode component and enhance NodeOutputs functionality
* Removed conditional rendering for hidden outputs in GenericNode for cleaner code.
* Introduced hasExistingHiddenOutputs prop to NodeOutputs for better state management.
* Updated OutputComponent styles for improved visual consistency and output type display.
* style: update OutputComponent padding for improved layout
* Added padding to the OutputComponent for better spacing and visual consistency.
* Update pass_message.py
* Update src/backend/base/langflow/components/logic/pass_message.py
Co-authored-by: Eric Hare <ericrhare@gmail.com>
---------
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Yuqi Tang <yuqi.tang@datastax.com>
* only allow customvals and options to be in the options list
* ✨ (general-bugs-dropdown-select-not-in-list.spec.ts): add additional test cases to cover dropdown selection functionality and ensure correct behavior in the frontend application
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Update loop.py
* [autofix.ci] apply automated fixes
* Update loop-component.spec.ts
* change dataframe input name to inputs
* [autofix.ci] apply automated fixes
* 🐛 (typescript_test.yml): increase the maximum shard count to 40 to improve test distribution and efficiency
* 🔧 (typescript_test.yml): adjust optimal shard count calculation to use a maximum of 10 shards instead of 40 for better test distribution
🐛 (loop-component.spec.ts): fix getByTestId selector to match the updated element ID for testing purposes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Yuqi Tang <yuqi.tang@datastax.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>