* 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
* 🐛 (flows.py): Fix issue where flow data was not being properly updated in the database during flow update
📝 (flows.py): Improve error handling and rollback database session in case of exceptions during flow update
📝 (flows.py): Refactor code to handle unique constraint errors and provide more informative error messages
📝 (utils.py): Refactor get_webhook_component_in_flow function to handle cases where flow_data may not have 'nodes' attribute
* ✨ (sideBarFolderButtons/index.tsx): add unique id attribute to sidebar folder buttons for improved accessibility and testing
✨ (general-bugs-move-flow-from-folder.spec.ts): add test to ensure user can move flow from one folder to another in the frontend application
* 🐛 (flows.py): remove unnecessary session rollback to prevent potential data inconsistency
♻️ (service.py): refactor with_session method to handle session commit and rollback more effectively
* style: adjust line breaks for readability
* style: reorder imports
* fix: ruff error try300
* [autofix.ci] apply automated fixes
* fix: mypy error module has no attribute "timeout"
* 🐛 (flows.py): remove unnecessary error handling code and improve exception handling for better error propagation and clarity
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/services/database/service.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* use model dump besides overwrite value
* [autofix.ci] apply automated fixes
* 📝 (chat.py): improve code readability by refactoring session handling and adding comments for clarity
🔧 (chat.py): refactor code to create a fresh session for database operations and improve session management in build_flow function
* [autofix.ci] apply automated fixes
* refactor: remove unused session parameter from build_flow function in chat.py
---------
Co-authored-by: italojohnny <italojohnnydosanjos@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>
🔧 (GenericNode/index.tsx): Update CSS class for HiddenOutputsButton to improve styling and alignment
🔧 (GenericNode/index.tsx): Update CSS class for GenericNode component to improve alignment of elements
* [LFOSS-74]: input list UI improvements
* [autofix.ci] apply automated fixes
* Refactor dropdown menu icon size class
* Refactor button input list component to improve code structure and remove unnecessary div element ensuring the plus icon has the same size as ... icon
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* revert changes to keep the plus icon bigger than ... but with right positioning
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* [LFOSS-74]: new input list UI
* [LFOSS-93]: node colors
* 📝 (Graph Vector Store RAG.json): Update description of ChatInput class to improve clarity and consistency
📝 (Graph Vector Store RAG.json): Update description of URLComponent class to improve clarity and consistency
📝 (select-items.tsx): Change noteDataType import to NoteDataType for consistency and clarity
📝 (dropdown-menu.tsx): Add RenderIcons component to display keyboard shortcuts for actions
📝 (index.tsx): Change parameter type from React.MouseEvent to KeyboardEvent for removeInput and handleDuplicateInput functions
📝 (use-overlap-shortcuts.tsx): Create custom hook to handle keyboard shortcuts with support for multiple key variations and modifiers
* 📝 (backend): Remove unnecessary metadata for URLComponent in multiple files
📝 (frontend): Refactor input components to use listAddLabel instead of metadata in multiple files
* ♻️ (NodeInputField/index.tsx): Remove unused 'metadata' variable to clean up the code and improve readability
* [autofix.ci] apply automated fixes
* merge fix
* [autofix.ci] apply automated fixes
* fix tests
* 🐛 (generalBugs-shard-5.spec.ts): fix incorrect comments numbering connections
💡 (generalBugs-shard-5.spec.ts): add clarifying comments for connection steps in the test case
* 🐛 (generalBugs-shard-5.spec.ts): fix filling delimiter in popover-anchor-input to resolve UI bug
📝 (generalBugs-shard-5.spec.ts): update test cases to improve test coverage and accuracy
* ✨ (NodeOutputfield/index.tsx): Add top margin to improve spacing of NodeOutputField component
🔧 (generalBugs-shard-5.spec.ts): Remove commented out code related to input filling and waiting for visibility to clean up the test file and improve readability
* 🔧 (index.tsx): increase padding-right from 6 to 10 in input-edit-node class to improve spacing for better user experience
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (NodeInputField): Update styling to include padding-bottom when lastInput is true for better UI appearance
📝 (NodeOutputfield): Import TextSearch component from lucide-react library for future use
🔧 (RenderInputParameters): Simplify logic for determining lastInput in NodeInputField component
🔧 (GenericNode): Change icon displayed on HiddenOutputsButton based on showHiddenOutputs state
🔧 (GenericNode): Update tooltip content to include the number of hiddenOutputs when toggling visibility
🔧 (sliderComponent): Remove unnecessary padding-bottom from SliderComponent for better layout
📝 (constants.ts): Update tooltip text for better clarity and consistency with action names
* ✨ (NodeOutputfield/index.tsx): Update import statement for IconComponent to include ForwardedIconComponent for better organization and clarity
🐛 (chatInputOutputUser-shard-0.spec.ts, chatInputOutputUser-shard-1.spec.ts): Fix references to 'ScanEye' icon to 'TextSearchIcon' for consistency and accuracy in tests
* Added flowData to allow changing flow name without being on the flow
* Added being able to edit the flow name just by clicking the name
* Added handleEdit and edit details option on flow dropdown
* Added flow settings modal to grid and list
* Added flowData type and select option
* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Fixed useCallback import
* Implemented details boolean to not show endpoint, changed title of flow settings modal
* Changed Flow Settings to Edit Details
* Changed Flow Settings modal description
* Fixed empty name not appearing, fixed naming conditions not considered
* 📝 (editFlowSettingsComponent/index.tsx): add data-testid attribute to input element for flow name for testing purposes
✨ (edit-flow-name.spec.ts): create test to ensure user can edit flow name by clicking on the header or main page, with various random names generated for testing purposes
* Fixed tests that used Flow Settings
* Fixed tests that rely on flow name to open edit details
* Fixed tests
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
📝 (index.css): update color variables in index.css for better consistency and readability
♻️ (styleUtils.ts): refactor nodeColorsName object in styleUtils.ts to use more descriptive color names for better clarity and maintainability
* add dataframe outputs to vector stores, directory, url, split text
* add dataframe import
* [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
* Add tests for URL component functionality and data handling
* Enhance DirectoryComponent tests with new functionality and parameters
- Added tests for loading files with specific types and handling hidden files.
- Implemented tests for directory loading with depth and multithreading support.
- Introduced a new test for converting directory contents to a DataFrame.
- Updated existing tests to include additional parameters like 'silent_errors' and 'types'.
These changes improve test coverage and ensure the DirectoryComponent behaves as expected under various conditions.
* update retrieve_file_paths for backwards compatibility
* Refactor DirectoryComponent to handle file types more robustly
- Removed the default assignment of TEXT_FILE_TYPES to 'types' and added logic to use all supported types if none are specified.
- Implemented validation to ensure only valid file types are processed, improving error handling.
- Updated the file retrieval process to utilize the filtered list of valid types.
These changes enhance the flexibility and reliability of the DirectoryComponent's file loading functionality.
* Refactor and simplify tests in test_data_components.py
- Removed multiple tests related to HTTP requests, including successful and failed GET requests, timeouts, and multiple URL handling, to streamline the test suite.
- Cleaned up imports and unnecessary mock setups to enhance readability and maintainability.
- Focused on retaining essential tests for DirectoryComponent and URLComponent functionality, ensuring core features are still validated.
These changes improve the clarity and efficiency of the test suite while maintaining coverage for critical components.
* Add unit tests for DirectoryComponent functionality
- Introduced a new test file for DirectoryComponent, enhancing test coverage.
- Implemented various tests to validate loading files with specific types, handling hidden files, and supporting multithreading.
- Added tests for directory loading with depth and converting directory contents to a DataFrame.
- Ensured tests cover different scenarios, including recursive loading and file type filtering.
These changes improve the robustness and reliability of the DirectoryComponent's functionality through comprehensive testing.
* Add unit tests for URLComponent functionality
- Introduced a new test file for URLComponent, enhancing test coverage for its methods.
- Implemented tests for fetching content from valid URLs, handling multiple URLs, and validating error handling for invalid URLs.
- Added tests for converting fetched content to a DataFrame and ensuring correct message formatting.
- Mocked web requests to simulate various scenarios, ensuring robust testing of URLComponent's functionality.
These changes improve the reliability and correctness of the URLComponent through comprehensive testing.
* Add unit tests for SplitTextComponent functionality
- Introduced a new test file for SplitTextComponent, enhancing test coverage for its methods.
- Implemented tests for basic text splitting, handling overlaps, custom separators, and preserving metadata.
- Added tests for converting split text results to a DataFrame and handling empty input.
- Ensured functionality for single and multiple input texts is validated.
These changes improve the reliability and correctness of the SplitTextComponent through comprehensive testing.
* Add comment to ignore FBT001 in retrieve_file_paths function
* Validate specified file types in DirectoryComponent and raise ValueError for invalid types
* Fix type hint in DataFrame constructor to support list of dicts or Data objects. This change enhances type safety and clarity in the DataFrame initialization process.
* Enhance DirectoryComponent tests to validate error handling for invalid file types
- Removed the test case for 'exe' file type from valid scenarios.
- Added a new test to ensure DirectoryComponent raises a ValueError for invalid file types, specifically when 'exe' is specified.
- Improved test coverage for DirectoryComponent by validating error messages for unsupported file types.
These changes strengthen the reliability of the DirectoryComponent by ensuring proper error handling for invalid inputs.
* [autofix.ci] apply automated fixes
* Update error handling in Component class to return None for missing flow_id or session_id
- Modified the send_error_message method to include a type hint that allows for returning None in addition to Message.
- Added a conditional check to return None if flow_id or session_id is not present, improving robustness in error handling.
These changes enhance the reliability of the Component class by ensuring it gracefully handles cases with missing identifiers.
* Refactor error handling in Component class to return None for missing session_id
- Updated the send_error_message method to remove the flow_id check, simplifying the logic.
- Enhanced robustness by ensuring that the method returns None if session_id is not present.
These changes improve the reliability of the Component class in handling error messages.
* Update required_inputs for DataFrame method in JSON configurations
- Modified the 'required_inputs' field for the 'DataFrame' method in both 'Graph Vector Store RAG.json' and 'Vector Store RAG.json' files to include necessary parameters: 'api_endpoint', 'collection_name', and 'token'.
- In 'Vector Store RAG.json', added 'collection_name_new' to the 'required_inputs' list.
These changes ensure that the DataFrame method has the appropriate inputs defined for proper functionality.
* [autofix.ci] apply automated fixes
* Enhance BaseComponent to use deep copy for attribute values in template configuration
- Updated the BaseComponent class to utilize `copy.deepcopy` when assigning values to `template_config`. This change ensures that modifications to the original component's attributes do not affect the template configuration, enhancing data integrity and preventing unintended side effects.
These changes improve the reliability of the BaseComponent by ensuring that the template configuration remains consistent and isolated from the original component's state.
* Added output for 'dataframe' in both ingestion and rag graphs
- Updated the ingestion vector store ID for better identification.
- Added output for 'dataframe' in both ingestion and rag graphs to enhance data handling.
- Simplified the output assignment for search results in rag graph by using a data list.
These changes improve the test structure and ensure that the vector store components are correctly configured for better testing outcomes.
* Refactor vector store RAG tests for improved validation and consistency
- Updated test assertions in `test_vector_store_rag_dump_components_and_edges` to verify the expected number of nodes and their types using a mapping for easier lookup.
- Changed the ingestion vector store ID from `vector-store-123` to `ingestion-vector-store-123` for better identification.
- Adjusted expected edges in the tests to reflect the new vector store ID, ensuring accurate edge validation.
These changes enhance the test structure and ensure that the vector store components are correctly configured for better testing outcomes.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* refactor: Update toolset configuration display name and description
This commit updates the display name and description of the toolset configuration in the custom component. The display name is changed to "Edit tools" and the description is modified to "Modify tool names and descriptions to help agents understand when to use each tool." This improves the clarity and usability of the toolset configuration.
* refactor: Update table modal header description handling
* refactor: Add EditMode.POPOVER option to table schema
* refactor: Add EditMode.POPOVER option to table schema
* refactor: Add table icon to table schema and components
* add style for not editable cells
* Add "commands" field to tool table schema
* refactor: Add "no_blank" and "valid_csv" field parsers
- Added "no_blank" field parser to remove leading and trailing whitespace from strings and throw an error if the string is blank.
- Added "valid_csv" field parser to replace whitespace with commas in strings.
* refactor: Add commands to tool description in ComponentToolkit
* refactor: Improve parsing of commands in validCommands function
* Update src/frontend/src/utils/stringManipulation.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* [autofix.ci] apply automated fixes
* add support for hints on table header
* update descriptions on tool table
* [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>
* 【bugfix】 the database url is missing ":\\"
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* [fix] improve the code to make it easier to understand
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* refactor: turn sorting methods into functions in a separate module
- Added `layered_topological_sort` function to perform layered topological sorting of graph vertices, accommodating cycles and input vertex checks.
- Introduced `refine_layers` function to ensure proper dependency ordering among vertices.
- Implemented helper functions for sorting layers by dependency and filtering vertices based on predecessors.
- Enhanced utility functions to support better graph traversal and layer management.
This update improves the graph processing capabilities, allowing for more efficient handling of complex graph structures.
* feat(tests): enhance graph utility tests with cycle detection and sorting functionality
- Added a new fixture `graph_with_loop` to simulate a graph containing cycles for testing purposes.
- Improved the `test_large_graph_efficiency` to validate cycle detection in large graphs.
- Introduced multiple tests for sorting vertices in graphs with cycles, ensuring correct order and handling of input vertices.
- Enhanced assertions to provide clearer error messages for failed tests, improving debugging experience.
These changes strengthen the testing framework for graph utilities, ensuring robust handling of complex graph structures.
* refactor(graph): remove unused parent_node_map from Graph class initialization
- Eliminated the `parent_node_map` parameter from the Graph class constructor, streamlining the graph initialization process.
- This change enhances code clarity and reduces unnecessary complexity in graph management.
This update contributes to cleaner and more maintainable graph-related code.
* refactor(graph): optimize dependency sorting and vertex filtering
- Improved the `_max_dependency_index` function by utilizing `index_map.get()` for cleaner code and better handling of missing successors.
- Enhanced the `_sort_single_layer_by_dependency` function with a caching mechanism to avoid redundant calculations, improving performance during vertex sorting.
- Updated `filter_vertices_up_to_vertex` to use a set for `vertices_ids`, optimizing membership checks and enhancing efficiency in vertex filtering.
These changes contribute to more efficient graph processing and improved code readability.
* chore: remove unused 'parent_node_map' parameter
* [autofix.ci] apply automated fixes
* fix: replace old method call with a new func
* test: enhance assertions for file existence in webhook tests
* refactor(graph): enhance component ID retrieval and chat input sorting
- Updated `find_start_component_id` to accept an optional `is_webhook` parameter, allowing for dynamic priority input selection based on the flow type.
- Improved `sort_chat_inputs_first` to handle chat input positioning more efficiently, ensuring only one chat input exists and adjusting its position within the layers as needed.
- These changes enhance the flexibility and efficiency of graph processing, particularly for webhook flows.
* test(graph): update assertions in sort_chat_inputs_first test for accuracy
- Modified assertions in the `test_chat_inputs_at_start` function to reflect the correct expected output of the `sort_chat_inputs_first` utility.
- Adjusted the expected length and order of the result to ensure accurate validation of chat input sorting functionality.
These changes enhance the reliability of the test suite for graph utilities, ensuring that the sorting logic is correctly validated.
* test(chat): update assertion in consume_and_assert_stream for accurate ID validation
- Modified the assertion in the `consume_and_assert_stream` function to include an additional expected ID, ensuring the test accurately reflects the current output of the chat endpoint.
- This change enhances the reliability of the test suite by validating the correct behavior of the chat input sorting functionality.
* test(endpoints): update assertion in test_get_vertices for accurate ID validation
- Modified the assertion in the `test_get_vertices` function to include an additional expected ID, "Webhook", alongside "ChatInput".
- This change ensures the test accurately reflects the current output of the endpoint, enhancing the reliability of the test suite for endpoint functionality.
---------
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Renamed template file name
* Removed keyspaces
* add global variables and update description
* add icon and tags for the example
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* feat(component): enhance chat input component
- Replace MultilineInput with StrInput for better text handling
- Remove input handle for cleaner playground integration
- Maintain image support through FileInput
- Keep essential styling and session management options
* refactor(chatinput): keep MultilineInput with empty input_types
Keep MultilineInput for text composition advantage but hide the handle
for UI cleanliness by setting input_types=[].
This preserves the multiline functionality while improving the visual
interface by removing the unnecessary connection handle.
* [autofix.ci] apply automated fixes
* refactor: Update test_cycle_in_graph_max_iterations to use TextInputComponent instead of ChatInput
- Replaced ChatInput with TextInputComponent in test_cycle_in_graph_max_iterations.
- Updated related method calls to reflect the change in component type.
- Ensured that the graph's run queue correctly references the new input component.
* [autofix.ci] apply automated fixes
* Fix type mismatch in cycle test and skip OpenAI-dependent tests
---------
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: Eric Hare <ericrhare@gmail.com>
* Fixed flowStore to run autoSave on setNode
* Fix isToolMode from GenericNode to take already set value from node
* Removed tool_mode from the usePostTemplateValue params, inserting it into inly the payload
* Removing tool_mode from usePostTemplateValue use
* Made toolMode be passed in mutateTemplate
* Refactored activateToolMode to make it work between updates
* Added autoSaveFlow dependency into useEffect
* ✨ (general-bugs-save-changes-on-node.spec.ts): add test to verify that any changes made on the node are saved on user interaction
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* fix: add random factor to prevent overlap
* update package.lock
* feat: Add positionDictionary and related functions to FlowStoreType
* feat: Add buildPositionDictionary function to reactflowUtils.ts
* feat: Add buildPositionDictionary function to reactflowUtils.ts
This commit adds the buildPositionDictionary function to reactflowUtils.ts. This function is used to build a dictionary of positions for nodes in the flow. It is necessary for managing the positions of nodes and preventing overlap.
* fix: Remove random factor from paste function in PageComponent
* [autofix.ci] apply automated fixes
* feat: Add setPositionDictionary function to PageComponent
This commit adds the setPositionDictionary function to the PageComponent in order to set the position dictionary for the flow. This function is used to update the position dictionary when the canvas is moved or resized.
Co-authored-by: [Author Name]
* [autofix.ci] apply automated fixes
* Refactor position calculation in useFlowStore
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: add Store API Key management functionality
- Introduced a new Store API Key page for managing API keys related to the Langflow Store.
- Updated routes to include the new StoreApiKeyPage and added a corresponding link in the SettingsPage.
- Enhanced the API key management interface with a dedicated form for inputting and saving API keys.
- Updated existing constants and titles for clarity, ensuring consistent terminology across the application.
This addition improves user experience by providing a centralized location for managing store-related API keys.
* feat: conditionally add Langflow API Keys section in SettingsPage
- Imported ENABLE_DATASTAX_LANGFLOW feature flag to control the visibility of the Langflow API Keys section in the sidebar.
- The API Keys section is now conditionally rendered based on the feature flag, enhancing the flexibility of the SettingsPage.
- This change improves user experience by ensuring that only relevant options are displayed based on the current feature configuration.
* feat: refactor SettingsPage to improve sidebar navigation
- Consolidated the addition of Langflow API Keys and Store sections into a single array for better organization and readability.
- Enhanced the conditional rendering logic for sidebar navigation items based on the ENABLE_DATASTAX_LANGFLOW feature flag.
- This refactor improves maintainability and clarity of the SettingsPage component.
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* feat: add batch run beta component
* [autofix.ci] apply automated fixes
* Update batch_run to run async using Runnable
* [autofix.ci] apply automated fixes
* refactor: streamline BatchRunComponent by removing unused synchronous model invocation and enhancing async processing
- Consolidated imports and improved type checking for LanguageModel.
- Simplified the run_batch method by directly using the model's asynchronous capabilities.
- Enhanced error handling for missing DataFrame columns.
- Cleaned up comments and improved code readability.
* refactor: update BatchRunComponent to use Runnable for improved async processing
- Added future annotations for better type hinting.
- Replaced LanguageModel with Runnable in type checking and method implementation.
- Enhanced code clarity and maintainability by consolidating imports.
* test: add unit tests for BatchRunComponent functionality
- Introduced a new test suite for BatchRunComponent to validate its behavior.
- Added tests for successful batch runs with and without system messages.
- Implemented tests for handling invalid column names and empty DataFrames.
- Included a test to ensure non-string columns are converted to strings during processing.
* refactor: rename useful.py to mock_language_model.py and update imports
---------
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: Add deletion_field parameter to AstraDBVectorStoreComponent for document management
- Introduced a new 'deletion_field' input to specify a metadata field for deleting documents before loading new data.
- Enhanced the _add_documents_to_vector_store method to handle document deletion based on the specified field, improving data management capabilities.
* Merging with main
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* - Enhanced the info string for the 'deletion_field' parameter to improve readability.
- Optimized the deletion logic by using a set comprehension to eliminate duplicates when gathering delete values from documents.
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/components/vectorstores/astradb.py
Co-authored-by: Madhavan <msmygit@users.noreply.github.com>
* [autofix.ci] apply automated fixes
---------
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: Madhavan <msmygit@users.noreply.github.com>
* Fix Google Embeddings model dimension mismatch.
* edit model size
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
* ♻️ (nodeToolbarComponent/index.tsx): refactor handleSelectChange function to improve readability and maintainability by extracting switch cases into separate functions and adding dependencies to useCallback for better performance.
* ✨ (GenericNode/index.tsx): Add data-testid attribute to improve testing capabilities for showing/hiding node content
✨ (general-bugs-minimize-state-error.spec.ts): Add test case to ensure user can minimize and expand a node multiple times without errors
* 📝 (nodeToolbarComponent/index.tsx): Remove unnecessary dataTestId prop from SelectItem component
📝 (types/components/index.ts): Change dataTestId prop in toolbarSelectItemProps to be optional by adding a question mark (?)
* 📝 (general-bugs-minimize-state-error.spec.ts): refactor test case to use a reusable function for toggling node state between minimize and expand actions. This improves code readability and reduces duplication in the test script.
📝 (index.css): add new color variables for datatype rose and its foreground to improve design consistency
📝 (styleUtils.ts): add DataFrame color to nodeColorsName object for better visualization of dataframes in the frontend
This makes the postgres instance only reachable from the langflow container and allows it to spin up even if another process (e.g. another postgres instance) is running on the host and binds to the same port.
* Added alternative for redo
* Added redo alternative on hotkeys
* added redo alternative type
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* refactor(tests): add new fixtures to files tests
- Introduced new pytest fixtures for creating API keys, active users, and flows to streamline test setup.
- Updated file upload, download, list, and delete tests to utilize the new fixtures, improving clarity and maintainability.
- Ensured that flow IDs are correctly referenced in all file operations, enhancing test accuracy.
- Added cleanup logic in fixtures to maintain database integrity after tests.
This refactor improves the organization of test cases and ensures that they are more robust and easier to understand.
* fix(tests): clear services cache in test fixtures
- Added logic to clear the services cache in both `conftest.py` and `test_files.py` fixtures to ensure a clean state for tests.
- This change prevents potential interference between tests by resetting the service manager's factories and services before each test run.
* refactor(tests): streamline file upload tests and remove unused mocks
- Removed the mock implementation of StorageService from the test fixtures to simplify the test setup.
- Introduced new fixtures to set maximum file size upload limits, enhancing test flexibility.
- Updated file upload, download, and list tests to directly use the new fixtures, improving clarity and maintainability.
- Ensured that uploaded file content is accurately tested, reflecting changes in the upload and download logic.
* Refactor: Update EditNodeComponent to hide table options and block hide
* 🐛 (model.py): fix issue with search_documents method not returning empty list when search_query is empty
♻️ (model.py): refactor search_documents method to handle search_query logic more efficiently
📝 (chroma.py): add typing_extensions override import for build_vector_store method to improve code readability
* ✨ (tests): add unit tests for ChromaVectorStoreComponent
- Introduced new test suite for ChromaVectorStoreComponent, covering various functionalities including database creation, collection management, similarity and MMR searches, and duplicate handling.
- Implemented tests for creating collections with and without data, ensuring proper functionality and data integrity.
- Verified search capabilities with different query types and result limits, enhancing overall test coverage for the component.
* fix: remove unnecessary whitespace in model.py and add missing import in chroma.py
* fix: mypy error module has no attribute "timeout"
* ♻️ (async_helpers.py): Remove unnecessary type hint ignore comment from timeout_context function
* 📝 (async_helpers.py): add a comment with issue reference PGH003 to document the reason for ignoring type checking in timeout_context function
* ♻️ (async_helpers.py): Remove unnecessary type hint comment to improve code readability and maintainability
* ♻️ (async_helpers.py): Add type ignore comment to suppress miscellaneous type error for timeout_context function
* ♻️ (async_helpers.py): refactor timeout_context function to remove unnecessary type ignore comments and improve code readability
* [autofix.ci] apply automated fixes
* 📝 (async_helpers.py): add a blank line for better code readability and consistency
* fix: mypy error: incompatible redefinition
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>