* Refactor directory_reader.py to simplify file filtering logic
* Refactor flowSidebarComponent to filter out bundles and custom components in CategoryGroup
* [autofix.ci] apply automated fixes
* refactor: Improve file filtering in DirectoryReader
This commit improves the file filtering logic in the DirectoryReader class. Previously, it only excluded files that started with "__" and included all files that were not in a "deactivated" directory. Now, it also considers the depth of the file relative to the safe path. Only files that are one or two levels deep are included in the file list.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ✨ (inputs.py): Update default prompt input types to include "MessageTextInput" for improved user experience
📝 (styleUtils.ts): Add color definition for "MessageTextInput" node to enhance visual representation in the frontend
* 📝 (text.py): Update input_types for "Value" to include "Message" for better clarity
📝 (memory.py): Update input_types for "Session ID" to include "Message" for consistency
📝 (message.py): Update input_types for "Session ID" to include "Message" for uniformity
📝 (self_query.py): Update input_types for "Query" to only include "Message" for consistency
📝 (create_data.py): Update input_types for fields to only include "Message" for consistency
📝 (update_data.py): Update input_types for fields to only include "Message" for consistency
📝 (inputs.py): Update DEFAULT_PROMPT_INTUT_TYPES to only include "Message" for consistency
📝 (styleUtils.ts): Remove "MessageTextInput" from nodeColors and nodeColorsName for consistency
* 📝 (model.py): update display name from "Text" to "Message" for better clarity
📝 (url.py): update display name from "Text" to "Message" for better consistency
📝 (memory.py): update display name from "Text" to "Message" for better understanding
📝 (text.py): update display name from "Text" to "Message" for better semantics
📝 (llm_math.py): update display name from "Text" to "Message" for improved readability
📝 (runnable_executor.py): update display name from "Text" to "Message" for better context
📝 (sql_generator.py): update display name from "Text" to "Message" for clearer communication
📝 (text.py): update display name from "Text" to "Message" for better consistency
📝 (parse_data.py): update display name from "Text" to "Message" for enhanced understanding
📝 (wikidata_api.py): update display name from "Text" to "Message" for improved semantics
📝 (test_cycles.py): update display name from "Text" to "Message" for better clarity
* [autofix.ci] apply automated fixes
* 🔧 (App.css): change width property value to fit-content to improve layout responsiveness
* fix: resolve merge conflicts and clean up URLComponent implementation in starter projects
- Removed conflicting sections in the JSON files for 'Custom Component Maker' and 'Graph Vector Store RAG'.
- Ensured the URLComponent class is correctly defined with methods for URL validation and content fetching.
- Updated input and output definitions for better clarity and functionality.
* 🐛 (freeze.spec.ts): fix incorrect test selectors for handle-textinput-shownode and handle-parsedata-shownode elements to match updated element IDs
* 📝 (NodeOutputfield/index.tsx): Add id prop to InspectButton component for better identification
🔧 (freeze-path.spec.ts, freeze.spec.ts, stop-building.spec.ts, decisionFlow.spec.ts, similarity.spec.ts, textInputOutput.spec.ts, generalBugs-shard-5.spec.ts, fileUploadComponent.spec.ts): Update test selectors to match changes in UI components for better test accuracy
* ✨ (duckduckgo.spec.ts): update the test to click on a specific element with the test ID "output-inspection-data-duckduckgosearch" instead of "output-inspection-data" to match the updated frontend implementation.
* ✨ (youtube-transcripts.spec.ts): update selector for clicking on transcript element to match changes in the frontend code, ensuring the test remains accurate
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (FlowMenu/index.tsx): improve user experience by enhancing the flow name editing functionality in the appHeaderComponent's FlowMenu component
* ✨ (FlowMenu/index.tsx): add data-testid attribute to span element for flow name in MenuBar component
🐛 (edit-flow-name.spec.ts): fix test cases to use correct data-testid value for input element in edit-flow-name feature
* ✨ (store-shard-2.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
✨ (edit-flow-name.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
✨ (flowSettings.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
✨ (general-bugs-move-flow-from-folder.spec.ts): update selectors to match changes in the frontend code for better test accuracy and reliability
* ✨ (FlowMenu/index.tsx): add useEffect hook to set flow name when currentFlow is present and not editing name
* fix errors
* ✅ (youtube-transcripts.spec.ts): update timeout values for page.waitForSelector to improve test performance and reliability
* ✨ (sliderComponent): Add cn utility function to improve classnames handling in SliderComponent
📝 (floatComponent.spec.ts): Update test descriptions and values for NVIDIA related components
♻️ (sliderComponent.spec.ts): Refactor code to replace FloatInput with SliderInput and update import statements and values for temperature slider
* ✅ (youtube-transcripts.spec.ts): skip the test for youtube transcripts component to prevent it from running during test suite execution
* style: Add icon property to WebhookComponent class
* style: Update input components in APIRequest class
* fix pr
* [autofix.ci] apply automated fixes
* remove debug print statement from api_request component
* remove debug print statement from api_request component
* feat: add dynamic cURL mode to APIRequestComponent
- Add cURL command parsing and field population
- Implement dynamic UI updates based on cURL input
- Support JSON body and headers extraction from cURL
- Add real-time refresh for cURL mode toggle
* refactor(APIRequestComponent): improve HTTP methods and cURL handling
- Add DELETE method support
- Enhance cURL parameter handling and UI visibility
- Fix JSON decode error handling with specific exception
- Update method visibility for DELETE requests
* style: Update input components in APIRequest class
* [autofix.ci] apply automated fixes
* remove debug print statement from api_request component
* remove debug print statement from api_request component
* feat: add dynamic cURL mode to APIRequestComponent
- Add cURL command parsing and field population
- Implement dynamic UI updates based on cURL input
- Support JSON body and headers extraction from cURL
- Add real-time refresh for cURL mode toggle
* refactor(APIRequestComponent): improve HTTP methods and cURL handling
- Add DELETE method support
- Enhance cURL parameter handling and UI visibility
- Fix JSON decode error handling with specific exception
- Update method visibility for DELETE requests
* [autofix.ci] apply automated fixes
* git commit -m "ui(api-request): adjust field visibility and requirements
- Move query_params to advanced section
- Make URL field required"
* feat(api): enhance curl parsing and update unit tests
- Improve MultilineInput handling in APIRequestComponent for curl commands
- Update parse_curl unit test to match expected data structure
- Ensure consistent format for headers and body in test assertions
* [autofix.ci] apply automated fixes
* fix(api-request): improve UI/UX and fix initial field visibility
- Fix body field flickering on component load
- Enhance URL/cURL field toggle behavior
* ✅ (filterSidebar.spec.ts): add tests for clicking on edit button modal, show headers button, and closing the modal to ensure correct behavior and visibility of elements
* 📝 (dictComponent/index.tsx): update data-testid attribute to dynamically set based on editNode value for better testability
📝 (nestedComponent.spec.ts): update test data and selectors to match changes in dictComponent/index.tsx for accurate testing
* refactor(api_request): improve component UX and field handling
- Update tool_mode placement to align with main branch changes
- Remove temporary required field validation to prevent UI conflicts
- Add field clearing logic when switching between cURL and URL modes
- Update component description to be more concise
* git commit -m "fix: resolve merge conflicts with upstream in api request component
* fix: resolve merge conflicts with upstream in api request component
* Delete src/backend/tests/unit/test_data_components.py
BREAKING CHANGE: Removed test_data_components.py as it has been replaced by test_api_request_component.py
* git commit -m "test(api-request): update test_parse_curl to match TableInput format
* style(test_api-request): apply ruff formatting rules
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* [LFOSS-74]: input list UI improvements
* ✨ (frontend): Add new component 'DeleteButtonInputList' to improve user experience by providing a button to delete items in a list
📝 (frontend): Comment out unused code related to duplicating input items for now, to be revisited in a future release
📝 (frontend): Add a comment to indicate that the 'DropdownMenuInputList' feature will be added back in a future release
📝 (frontend): Update CSS styling for 'hit-area-icon' class to adjust size to h-7 and w-7 for consistency
📝 (frontend): Adjust color values in CSS to improve visual appearance, changing smooth-red to a new shade
* ✨ (keypairListComponent/index.tsx): simplify conditional styling logic for list items to improve readability and maintainability
* 📝 (delete-button-input-list.tsx): Remove unused imports and update function parameter type for removeInput to specify React.MouseEvent
📝 (delete-button-input-list.tsx): Update button className and IconComponent className for better styling and readability
📝 (delete-button-input-list.tsx): Update ICON_STROKE_WIDTH constant value from 1.25 to 1.5 for better icon appearance
📝 (index.tsx): Update InputListComponent to render DeleteButtonInputList component conditionally based on value length
📝 (constants.ts): Update ICON_STROKE_WIDTH constant value from 1.25 to 1.5 for better icon appearance
📝 (inputListComponent.spec.ts): Update test cases to use updated test IDs for delete buttons and adjust expected input values to match changes in component behavior
* [autofix.ci] apply automated fixes
* 🔧 (applies.css): adjust positioning of input-slider-text to fix alignment issue and improve user experience
* 🐛 (button-input-list.tsx): fix button position by adjusting translate-x value to align properly on the page
* ✨ (index.tsx): add visual indicator for focused input element in the list to improve user experience
---------
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 new model provider Novita AI
* [autofix.ci] apply automated fixes
* fix: code format fix
* fix: code format fix
* fix: fix default Novita AI models
* [autofix.ci] apply automated fixes
* feat: Add real-time refresh for Novita API key and include it in VARIABLES_TO_GET_FROM_ENVIRONMENT
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* chore: preserve manual component data if code unchanged
* Fixed tool mode switch not changing with code
* Removed console.log
* Made tool mode not be lost when mutating template
* use setNode instead of setNodes on component code
* refactor: tool_mode return
* Fix tool mode being reverted on toggle
* fix: tool_mode outputs return
* change: logic for setting `tool_mode`
---------
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* # refactor(google_serper_api): migrate to new tool mode implementation
BREAKING CHANGE: Replace legacy LCToolComponent implementation with new Component base class
- Migrate from LCToolComponent to Component base class
- Add tool_mode flag to MultilineInput
- Update output configuration to use DataFrame type
- Implement structured error handling with DataFrame responses
- Remove legacy tool mode implementation
* test(google-serper): add unit tests for GoogleSerperAPIComponent
- Add comprehensive test suite for GoogleSerperAPIComponent
- Mock HTTP requests to test search functionality
- Test component initialization and configuration
- Add error handling test cases
- Test text search and wrapper building methods
- Ensure proper DataFrame output structure
This change improves test coverage for the Google Serper API integration,
following existing test patterns in the project.
* [autofix.ci] apply automated fixes
* style(tests): remove unused fixture argument in google-serper test
- Remove unused mock_search_results fixture from test_text_search_serper
- Fix linting error ARG001 (unused function argument)
* revert(tools): restore Google Search API component to original implementation
Due to backward compatibility concerns, reverting the Google Search API component
to its initial implementation state to maintain stability and prevent breaking changes.
* refactor(components): mark GoogleSerperAPI component as deprecated & Legacy
* feat(components): add GoogleSerperAPICore component
* refactor(google-serper): fix filename typo from 'gloogle' to 'google'
* test(google-serper): add unit tests following component test guide
* feat(icons): improve Serper icon quality and add to icon list
* [autofix.ci] apply automated fixes
* Update test_google_serper_api_core.py
test update
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
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>
* ✨ (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.
* 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>
* 📝 (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>
* 📝 (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
* 📝 (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: 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>
* ✨ (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>
* ✨ (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
* 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>
* 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>
* 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>
* ♻️ (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
* Added alternative for redo
* Added redo alternative on hotkeys
* added redo alternative type
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* 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>
* 📝 (GlobalVariableModal.tsx): Refactor GlobalVariableModal component to use Tabs component instead of Select for type selection and improve layout and styling of input fields and labels
🔧 (index.tsx): Add popoverWidth prop to InputComponent to allow setting the width of the popover in CustomInputPopover component
🔧 (index.tsx): Add popoverWidth prop to InputComponent in InputGlobalComponent to set the width of the popover to 315px
✨ (tabs-button.tsx): introduce new TabsButton component to handle tab functionality in UI components
📝 (tabs-button.tsx): add documentation for Tabs, TabsContent, TabsList, TabsTrigger components
📝 (components/index.ts): add popoverWidth property to InputComponentType to control the width of the popover in UI components
* ✨ (GlobalVariableModal.tsx): Add ForwardedIconComponent to display an icon next to the modal header text for better visual representation
📝 (GlobalVariableModal.tsx): Update TabsTrigger components to include data-testid attribute for testing purposes
✨ (index.tsx): Introduce new components OptionBadge, CommandItemContent, and SelectionIndicator to improve code organization and reusability
♻️ (index.tsx): Refactor handleRemoveOption function to have a more descriptive parameter signature and improve readability
📝 (index.tsx): Add comments to clarify the purpose of handleOptionSelect function and improve code documentation
📝 (index.tsx): Add comments to describe the purpose of getInputClassName and getAnchorClassName functions for better code understanding
✨ (globalVariables.spec.ts): improve placeholder text for variable name and value fields for better user understanding and experience
* 🐛 (GlobalVariableModal.tsx): Fix disabled state logic for TabsTrigger components to correctly reflect initialData type
📝 (GlobalVariableModal.tsx): Update label for submit button to dynamically change based on the presence of initialData
* 🐛 (index.tsx): Fix issue where options were not being correctly memoized as a Set to prevent unnecessary re-renders. Update memoizedOptions to correctly memoize options as a Set.
* 📝 (userSettings.spec.ts): Update placeholder text for variable name and value fields to improve clarity and user experience.