* ## refactor(google_search): migrate to new tool mode implementation
- Replace legacy tool mode using LCToolComponent with new Component class and tool_mode flag.
- Update input/output definitions to use new DataFrame type and explicit Output configuration.
Key changes:
- Migrate from LCToolComponent to Component base class
- Add explicit output configuration with DataFrame type
- Update error handling to return structured DataFrame responses
- Implement tool_mode using new flag syntax
* test(google-search): add unit tests for GoogleSearchAPIComponent
* fix(google-search): adjust DataFrame format to match expected type
- Update error responses to use list[dict] format instead of dict[list]
* [autofix.ci] apply automated fixes
* revert(tools): restore GoogleSearchAPI component to its original implementation
Due to potential breaking changes in the repository, reverting the GoogleSearchAPI
component to its initial state to maintain compatibility and stability.
* refactor(tools): mark GoogleSearchAPI component as deprecated
Mark GoogleSearchAPI component as legacy and add [DEPRECATED] to its display name
to better communicate its status to users while maintaining backward compatibility.
* feat: add Google Search API core component
Implements Google Search API wrapper with error handling and DataFrame output
* test: update Google Search API tests for core component
Adjusts test file to use GoogleSearchAPICore instead of GoogleSearchAPIComponent
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* add dataframe outputs to vector stores, directory, url, split text
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* add parse dataframe
* [autofix.ci] apply automated fixes
* Refactor: Update DataFrame handling in components
- Added import of DataFrame in directory and url components.
- Renamed variable 'df' to 'dataframe' in ParseDataFrameComponent for clarity.
- Updated method _clean_args and parse_data to use 'dataframe' instead of 'df' for consistency.
These changes enhance code readability and maintainability by standardizing the terminology used for DataFrame objects.
* [autofix.ci] apply automated fixes
* remove parse dataframe
* feat: add parse dataframe component
* [autofix.ci] apply automated fixes
* Refactor: Remove duplicate as_dataframe method in LCVectorStoreComponent
This commit eliminates the redundant as_dataframe method in the LCVectorStoreComponent class, streamlining the code and improving maintainability. The method was previously defined twice, and this change enhances clarity by ensuring only one implementation exists.
* [autofix.ci] apply automated fixes
* Refactor: Standardize DataFrame variable naming in ParseDataFrameComponent
This commit renames the variable 'df' to 'dataframe' in the ParseDataFrameComponent class to improve clarity and consistency. The changes are reflected in the _clean_args and parse_data methods, enhancing code readability and maintainability.
* test: add unit tests for ParseDataFrameComponent
This commit introduces a comprehensive suite of unit tests for the ParseDataFrameComponent, covering various scenarios including successful parsing with default and custom templates, handling of empty dataframes, invalid template keys, and performance on large dataframes. The tests ensure that the component behaves correctly with different data types and separators, and validate its functionality in both synchronous and asynchronous contexts. These additions enhance the reliability and maintainability of the component.
---------
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: Edwin Jose <edwin.jose@datastax.com>
* depreciated subflow and flow as tool
* 🐛 (filterSidebar.spec.ts): update test cases to reflect changes in sidebar item names by adding [Deprecated] suffix
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* feat: enhance Anthropic component UI and validation
The following improvements were made to the Anthropic component:
- Made API key field required to ensure proper configuration
- Replaced FloatInput with SliderInput for temperature parameter to improve user experience
- Added step control (0.01) for more precise temperature adjustments
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix: make anthropic_api_key required in AnthropicModel component
This change ensures that the Anthropic API key is required for the component to work properly,
preventing potential runtime errors when the key is missing.
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* fix: make anthropic_api_key required in AnthropicModel component
This change ensures that the Anthropic API key is required for the component to work properly,
preventing potential runtime errors when the key is missing.
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* [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>
* Renaming data input to 'search results'
Credit: @brian-ogrady
* fix: Update document handling in NvidiaRerankComponent to use new Data model
- Removed the import of Document from langchain.schema.
- Updated the rerank_documents method to utilize the to_lc_document method for converting passages to the new Data model, ensuring type safety and consistency in document processing.
This change enhances the integration with the updated data structures in the project.
* refactor: Remove unused base_retriever output from NvidiaRerankComponent
This change simplifies the output structure of the NvidiaRerankComponent by removing the base_retriever output, which was not being utilized. This refactor enhances code clarity and maintainability.
* refactor: Rename output in NvidiaRerankComponent from 'search_results' to 'reranked_documents'
This change updates the output display name and method in the NvidiaRerankComponent to better reflect its functionality, enhancing clarity in the component's purpose and usage.
* refactor: Remove legacy flag from NvidiaRerankComponent
This change simplifies the NvidiaRerankComponent by removing the unused legacy boolean flag, enhancing code clarity and maintainability.
* refactor: Rename build_model method to build_reranker in NvidiaRerankComponent
This change improves code clarity by renaming the method to better reflect its purpose, aligning with the component's functionality in the reranking process.
* feat: Enable tool mode for search query input in NvidiaRerankComponent
This change adds a new 'tool_mode' flag to the 'search_query' input in the NvidiaRerankComponent, enhancing its functionality and allowing for improved interaction with the component. This update aligns with recent refactors aimed at clarifying the component's purpose and usage.
* refactor(calculator): update tool implementation
Replace legacy tool mode implementation using CalculatorToolSchema with simplified tool_mode=True approach.
* refactor(calculator): fix deprecation warnings
Fix ast.Num deprecation warnings by supporting ast.Constant while maintaining backwards compatibility.
* Update isinstance check to use Python 3.10+ union operator (|) instead of tuple syntax
* Update calculator.py
Component name required; if not it would get None in Toolset
* [autofix.ci] apply automated fixes
* test(calculator): add unit tests for CalculatorToolComponent
* revert(tools): restore Calculator component to its original implementation
Due to potential breaking changes in the repository, reverting the Calculator
component to its initial PR state to maintain compatibility and stability.
* feat(tools): mark Calculator component as legacy and update display name
- Set legacy flag to true for Calculator component
- Update display name to "Calculator (Deprecated)" to clearly indicate deprecation status
- Maintain backward compatibility by preserving class name and internal name
* feat(tools)!: add new calculator core component
BREAKING CHANGE: Introduces calculator_core.py as a replacement for the deprecated calculator.py
* refactor(tools): rename calculator classes for better distinction
* refactor(tools): update __init__.py to reflect new class names
* [autofix.ci] apply automated fixes
* test(tools): update calculator tests for core component
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (GenericNode/index.tsx): add useEffect hook to dynamically adjust width of ReactFlow node element to fit component wrapper
* 📝 (App.css): Update width property in .react-flow__node class to improve layout responsiveness
♻️ (GenericNode/index.tsx): Remove redundant code that manually sets width of ReactFlow node element, as it is now handled by CSS styling.
* fix: remove duplicate embedding input from PGVector component
* refactor: move required parameter to end of embedding input declaration
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
feat: improve model input fields for openrouter component
1. Make provider and model_name fields required
2. Add info description to temperature slider
3. Improve code formatting
* feat: Add DeepSeek component
* Adiciona DeepseekModelComponent ao __init__.py
* [autofix.ci] apply automated fixes
* Add DeepSeek icon and update component files
* Add DeepSeek icon and update all related files
* [autofix.ci] apply automated fixes
* Change DeepSeek icon color to blue (#080c34)
* [autofix.ci] apply automated fixes
* Revert DeepSeek icon color to black
* [autofix.ci] apply automated fixes
* remove: name parameter from DeepSeekModel to avoid backwards compatibility issues
* test: add unit tests for DeepSeek model component with mocks
* fix: correct formatting issues in DeepSeek model tests
* feat: update DeepSeek icon color to #4c6cfc
* fix: make DeepSeek API key field required
* fix: format SecretStrInput to comply with line length limit in DeepSeekModelComponent
* feat: add dark mode support for component icon
* [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>
* feat: improve model input fields for sambanova component
1. Make api_key field required
2. Convert temperature to SliderInput with range 0-2
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* feat: improve model input fields for sambanova component
1. Make api_key field required
2. Convert temperature to SliderInput with range 0-2
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* [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: 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.
* 📝 (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>
* 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
* ✨ (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>
* 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.
* 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>
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
* feat: Implement unsubscribe functionality in state management
- Added `unsubscribe` method to `GraphStateManager` for removing observers from the state service.
- Introduced `unsubscribe` method in `StateService` with a `NotImplementedError` for future implementation.
- Implemented `unsubscribe` in `InMemoryStateService` to allow observers to be removed from the list, ensuring better management of state subscriptions.
This enhancement improves the flexibility of state management by allowing observers to unsubscribe, thus preventing potential memory leaks and ensuring cleaner state handling.
* fix: remove state manager subscribe call
* git commit -m feat: improve model input fields
1. Make api_key field required
2. Convert temperature to SliderInput with range 0-2
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* fix: update pytest command to target unit tests directory in GitHub Actions workflow
Modified the command in the store_pytest_durations.yml workflow to run pytest on the 'unit' tests directory instead of the 'backend' tests directory, ensuring more accurate duration tracking for unit tests.
* ci: update GitHub Actions workflow to improve pytest execution
Modified the store_pytest_durations.yml workflow to enhance the pytest command execution by removing the retry action and adding an ID for better tracking. The command now runs directly with the option to continue on error, ensuring that test durations are accurately recorded without unnecessary retries.
* refactor: update test durations and improve pytest tracking
This commit modifies the test duration tracking in the `.test_durations` file, reflecting updated execution times for various unit tests. The changes include adjustments to the duration values for multiple test cases across different modules, ensuring more accurate performance metrics. This update aims to enhance the reliability of test duration reporting in the CI pipeline.
* 📝 (AccountMenu/index.tsx): Add span elements with data-testid and id attributes for menu buttons for better testing and accessibility
📝 (FlowMenu/index.tsx): Add data-testid and id attributes to div elements for menu buttons for better testing and accessibility
📝 (HeaderMenu/index.tsx): Add data-testid and id attributes to DropdownMenuTrigger for user menu button for better testing and accessibility
📝 (ThemeButtons/index.tsx): Add data-testid and id attributes to Button elements for theme change buttons for better testing and accessibility
📝 (flowToolbarComponent/index.tsx): Add data-testid and id attributes to div element for API button modal for better testing and accessibility
* ✨ (FlowMenu/index.tsx): add data-testid attributes to elements for easier testing and debugging
✨ (AppHeaderComponent/index.tsx): add data-testid attributes to header sections for easier testing and debugging
* initial-content
* docs: update Concepts overview for clarity and accuracy
* docs: enhance clarity in Concepts documentation and fix minor inaccuracies
* docs: add detailed explanation of flow execution in Playground
* docs: enhance Concepts documentation with detailed component definitions and usage examples
* docs: remove Logs pane documentation and integrate relevant content into Playground
* docs: remove Logs section from sidebar navigation
* docs: add Logs pane overview and update Playground documentation
* docs: enhance Concepts documentation with detailed API usage examples for cURL and Python
* docs: remove unused ReactPlayer import and clean up API pane documentation
* docs: update Chat Widget embedding instructions for HTML, React, and Angular
* docs: update titles and descriptions for custom components and overview
* docs: standardize section titles for Python code and Chat widget in concepts API
* docs: clarify instructions for using Freeze Path and component options
* docs: update keyboard shortcut for Freeze Path in concepts-components documentation
* updated-image
* fix(docs): clarify session ID usage in Playground documentation
* fix-astra-component-position
* reorder-sidebar
* remove-tweak-guidance
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* fix capital case on collections
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* fix capital t in tables
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* fix: update component controls and add keyboard shortcuts for Windows
* fix: clarify component versioning and update notification details in documentation
* fix: update documentation for tool parameters and data types in components-tools.md
* fix: improve documentation clarity and formatting in concepts API, components, overview, and playground
* docs: add Working with Flows page (#5722)
* Add flows page
* style-guide-and-sidebar
---------
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* fix-broken-link
* Update concepts-components.md
revert change to match the image
---------
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Tejas Kumar <tejas+lol@tejas.qa>
* 📝 (GlobalVariableModal.tsx): adjust popover width from "520px" to "29rem" for better UI responsiveness
📝 (index.tsx): import ShadTooltip component and update CommandItemContent to use it for better user experience
📝 (index.tsx): update popover width from "315px" to "17.5rem" for consistency and improved design aesthetics
* 🔧 (index.tsx): add side prop to ShadTooltip component to position the tooltip on the left side of the content.
* ✨ (index.tsx): Add support for custom node styles in CommandItemContent component to allow for more flexible styling options
🔧 (index.tsx): Pass nodeStyle prop to CommandItemContent component to customize node styles based on the provided value
* fix: tweaks processing in api usage
* refactor code
* fix: unit tests
* Refactor input handling in simple_run_flow function
* Refactor input handling in test_endpoints.py
---------
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
* fix: Update useState default values in exportModal and flowSettingsModal
- Update the default values for the useState hooks in exportModal and flowSettingsModal to handle null values for currentFlow.
- Use the nullish coalescing operator (??) to set empty strings as default values for name and description.
- This ensures that the components do not throw errors when currentFlow is null or undefined.
Refs: #5670, #5672
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Replaced the generic 'search' icon with a dedicated 'Needle' icon to properly represent the Needle component in the UI, addressing the missing icon issue.
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ✨ (create-file-upload.ts): Refactor createFileUpload function to improve readability and maintainability. Move input element creation and event listeners to separate functions for better separation of concerns. Use module-level variables for input element and promise resolver to handle cleanup and resolution more effectively.
* ✨ (create-file-upload.ts): refactor createFileUpload function to improve code readability and maintainability. Remove unnecessary module-level variables and simplify the logic for handling file uploads.
* 📝 (create-file-upload.ts): refactor createFileUpload function to improve code readability and maintainability
🐛 (create-file-upload.ts): fix issue with resolving promise multiple times and improve file input handling
* 🔧 (create-file-upload.ts): refactor createFileUpload function to improve file upload process and cleanup event listeners for better performance and code readability
* 📝 (index.tsx): Remove unused useRef import and fileInputRef variable
♻️ (index.tsx): Refactor checkFileType function to use a for loop for better readability and performance
✨ (index.tsx): Introduce createFileUpload helper function to handle file selection and validation
📝 (index.tsx): Update handleButtonClick function to use createFileUpload helper function and improve file handling logic
📝 (index.tsx): Update handleButtonClick function to handle file upload and error messages more efficiently
📝 (index.tsx): Update input element to display file name and handle file selection more effectively
* add error handling in case document.body.removeChild Fails
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* bump-api-to-1.1.1
* docs: api reference content
* more-endpoints
* cleanup
* all-endpoints-accounted-for
* docs: update API reference with user response examples and authorization header
* all-200s-complete
* fix-spacing-for-gh-preview
* sidebars
* monitor-endpoints
* fix-build-error
* fix-sidebar-error
* create-flows
* flows-endpoint-finished
* move
* files-endpoint
* run-flow
* folder-endpoint
* docs: update API reference with new endpoints and examples for flows, folders, and files
* value
* docs: update openapi.json
* docs: enhance API reference with folder-id export instructions and examples
* docs: update API reference with new flow structure and log retrieval instructions
* docs: clarify ZIP file download endpoint description in API examples
* docs: refine API examples for clarity and consistency
* docs: refine API examples for clarity and consistency
* webhook
* docs: format curl example for improved readability
* docs: update curl examples to use double quotes for variable interpolation
* docs: Update API example descriptions for improved clarity
* docs: Update API example descriptions for improved clarity
* docs: Enhance API reference with Langflow API key setup and build flow examples
* docs: update API reference examples with new event data and structure
* docs: add clarification on LLM chat response streaming in API examples
* error-and-build-vertex
* docs: remove wrong information from API examples
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* docs: Update API reference examples for environment variable exports
* docs: Fix JSON structure in API reference examples
* docs: Update API reference examples for file download and log retrieval
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* ✨ (index.tsx): Add useRef hook to manage file input element reference for better control over file selection process
🐛 (index.tsx): Fix handleButtonClick function to handle file selection asynchronously and provide fallback option if file selection fails
🐛 (index.tsx): Fix handleNativeInputChange function to correctly handle file selection from native file input element and reset its value after selection
* 📝 (index.tsx): Remove unused createFileUpload function and simplify handleButtonClick function to trigger file input click directly
♻️ (index.tsx): Refactor input element to use Button component for better styling and consistency
* 📝 (inputFileComponent/index.tsx): remove unnecessary comment in handleButtonClick function