* test: Improve flowPage.spec.ts test reliability
Enhance the reliability of the flowPage.spec.ts test by adding explicit wait conditions for the modal and sidebar components. This ensures that the test waits for the necessary elements to be present before interacting with them, reducing the likelihood of test failures due to timing issues.
* Changed Advanced Settings to Controls and implemented DisplayName on shortcuts
* fix: validate 'streaming' vertex connections in graph (#5067)
* feat: Table Input for tools metadata (tool name and description) in component as tools (#4961)
* ✨ (endpoints.py): Add support for tool_mode field in custom component update
🔧 (schemas.py): Add tool_mode field to UpdateCustomComponentRequest schema
♻️ (component.py): Refactor run_and_validate_update_outputs method to handle tool_mode field
🔧 (index.tsx): Add tool_mode property to NodeInputField component
🔧 (index.tsx): Refactor hasToolMode logic to use checkHasToolMode utility function
🔧 (mutate-template.ts): Add callback parameter to mutateTemplate function
🔧 (use-handle-new-value.tsx): Add tool_mode property to useHandleOnNewValue hook
🔧 (popover/index.tsx): Add console.log for placeholder, value, and id
🔧 (inputGlobalComponent/index.tsx): Add tool_mode property to InputGlobalComponent
🔧 (refreshParameterComponent/index.tsx): Add tool_mode property to RefreshParameterComponent
🔧 (use-post-template-value.ts): Add tool_mode parameter to usePostTemplateValue function
🔧 (nodeToolbarComponent/index.tsx): Add support for tool_mode functionality in NodeToolbarComponent
🔧 (reactflowUtils.ts): Add checkHasToolMode utility function to check for tool_mode field in template
* fix: Set default value for tool_mode in UpdateCustomComponentRequest schema
* adding table input in tool mode
adding table input
* Update component.py
update real-time refresh
* added dynamic tool description input
added dynamic tool description input
* [autofix.ci] apply automated fixes
* Update component.py
simplifying the tool mode logic
* Update component_tool.py
updated logic to be more readable
* Update component.py
* adding tool table schema as constant
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: update drag and drop test (#5048)
* refactor: Improve wait time for modal in drag and drop test
* ✨ (dragAndDrop.spec.ts): update file path to read collection.json from the correct location
🐛 (dragAndDrop.spec.ts): increase timeout for waiting for "uploaded successfully" text to prevent test failures
* ✨ (dragAndDrop.spec.ts): Add tests for drag and drop functionality to ensure users can drag and drop collections and flows without crashing the application
📝 (simulate-drag-and-drop.ts): Add utility function to simulate drag and drop events in tests for improved test coverage and functionality
* add debouncing time on file upload
* [autofix.ci] apply automated fixes
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: add hover state on folder button when moving flow to it (#4999)
* ✨ (index.tsx): Refactor SideBarFoldersButtonsComponent to improve code readability and maintainability. Add new functionalities such as drag and drop, folder hovering effects, and folder actions like upload, download, add, update, and delete. Update folder state management and handle loading states for various folder operations.
* ✨ (add-folder-button.tsx): Add a new component for adding folders to the sidebar
✨ (folder-select-item.tsx): Add a new component for displaying folder select items in the sidebar
✨ (header-buttons.tsx): Add a new component for displaying header buttons in the sidebar
✨ (input-edit-folder-name.tsx): Add a new component for editing folder names in the sidebar
✨ (select-options.tsx): Add a new component for displaying select options in the sidebar
✨ (upload-folder-button.tsx): Add a new component for uploading folders to the sidebar
✨ (handle-select-change.ts): Add a new helper function for handling select changes in the sidebar
🔧 (index.tsx): Refactor sidebar folder buttons component to use new components and helpers for better organization and functionality
* ✨ (use-on-file-drop.tsx): add support for fetching and using flows specific to the current folder in the file drop functionality
📝 (use-get-folder.ts): update the get folder query to set and use flows specific to the current folder
📝 (foldersStore.tsx): add state management for storing and setting flows specific to the current folder in the store
📝 (index.ts): add FlowType import for flows specific to the current folder in the store types
* ✨ (flows.py): Add description field to the returned flow object in read_flows function for better data representation
♻️ (use-on-file-drop.tsx): Refactor code to use new centralized store for flows instead of accessing flowsFromCurrentFolder directly
🔧 (use-get-folder.ts): Remove setFlowsFromCurrentFolder function and directly update flows in the store within getFolderFn
🔧 (foldersStore.tsx): Remove flowsFromCurrentFolder state and setFlowsFromCurrentFolder function from the store as they are no longer needed
* fix: Fix test_get_and_cache_all_types_dict (#5054)
* fix: add condition to not block component from building when input is filled by tool mode (#5039)
Fixed frontend blocking build when component is disabled because of tool mode
* feat: Enhance Observability with ArizePhoenixTracer Integration (#5058)
* Added ArizePhoenixTracer
* [autofix.ci] apply automated fixes
* Fixed Ruff Style Check Errors
* add Arize icon
* Fixed Mypy Errors
* Refactor ArizeIcon component to use arrow function syntax
Co-authored-by: Jeff Carpenter <jeffrey.carpenter@datastax.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* refactor: Remove footer from TableModal component (#5036)
* Refactor: update curlApiGeneration test (#5046)
refactor: Update wait time for modal to appear in curlApiGeneration.spec.ts
* Refactor: Remove unnecessary value rendering in EmptyParameterComponent (#4955)
* feat: Persist locked state for flows (#4459)
* persist locked state for flows
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (popover.tsx): Remove duplicate declaration of PopoverAnchor in popover.tsx
✨ (lock-flow.spec.ts): Add test for locking and unlocking a flow in the application to ensure proper functionality and saving of the flow.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Refactor actionsMainPage-shard-0.spec.ts (#5043)
* refactor: Add missing import and update assertions in actionsMainPage-shard-0.spec.ts
* refactor: Adjust chat view layout for responsiveness (#5061)
* refactor: Adjust chat view layout for responsiveness
The code changes in this commit adjust the layout of the chat view component to improve responsiveness. Specifically, the CSS classes for the chat container and input container have been modified to make them responsive on different screen sizes. This ensures that the chat view is displayed properly on both desktop and mobile devices.
Refactoring the layout in this way enhances the user experience by making the chat view more accessible and user-friendly across different devices.
* fix: Fix: improve error in InputFileComponent when displaying invalid file types (#5064)
* fix: Fix error in InputFileComponent when displaying invalid file types
The code changes in this commit fix an issue in the InputFileComponent where an error was not being displayed correctly when the file type was not allowed. The commit adds a fix to properly display the error message with the list of invalid file types.
* refactor: Improve wait times and visibility checks in auto-save-off tests (#5044)
* refactor: Improve wait times and visibility checks in auto-save-off tests
* Refactor: refactor wait times and selectors in filterEdge-shard-1.spec.ts (#5049)
* refactor: Update wait times and selectors in filterEdge-shard-1.spec.ts
* Refactor: update autoLogin.spec.ts to use waitForSelector (#5045)
refactor: Update autoLogin.spec.ts to use waitForSelector instead of waitForTimeout
* feat: improve whitespace handling in NodeDescription component (#5096)
* 📝 (NodeDescription/index.tsx): update CSS classes to improve text formatting and readability in NodeDescription component
* ♻️ (NodeDescription/index.tsx): refactor NodeDescription component styles to improve readability and remove redundant classnames
* refactor: use Inspector for column checks in locked state migration (#5097)
🐛 (add_persistent_locked_state.py): fix migration script to correctly check for existing 'locked' column before adding or dropping it
* fix: changed parameter name of agent component (#4992)
* Changed Add tool Current Date to only Current Date
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: re-activated playground page and made it full screen (#5066)
* Re-activated playground page
* Added full-screen to show entire content instead of modal
* Added full screen page on new Modal
* Made app wrapper page be full width and height
* fix: apply variables to fields automatically, remove password truncation from variable fields (#5031)
* Change default type to be Credential on Global Variabel Modal
* Removed clipping on input password
* Updated StrRenderComponent to receive display_name
* Updated InputGlobal and StrRender to receive display_name
* Update InputGlobalComponent to handle fields already applied
* Passed display name from strRender to inputglobal
* Update updateGroupRecursion to not need updateGlobalVariables since it's already dealt with by the InputGlobalComponent
* fix: clear chat input when sending from play button (#5071)
Fix newChatView to clear chat input if the component runs before
---------
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Ali Saleh <saleh.a@turing.com>
Co-authored-by: Jeff Carpenter <jeffrey.carpenter@datastax.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* Change default type to be Credential on Global Variabel Modal
* Removed clipping on input password
* Updated StrRenderComponent to receive display_name
* Updated InputGlobal and StrRender to receive display_name
* Update InputGlobalComponent to handle fields already applied
* Passed display name from strRender to inputglobal
* Update updateGroupRecursion to not need updateGlobalVariables since it's already dealt with by the InputGlobalComponent
* Re-activated playground page
* Added full-screen to show entire content instead of modal
* Added full screen page on new Modal
* Made app wrapper page be full width and height
* Changed Add tool Current Date to only Current Date
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* 📝 (NodeDescription/index.tsx): update CSS classes to improve text formatting and readability in NodeDescription component
* ♻️ (NodeDescription/index.tsx): refactor NodeDescription component styles to improve readability and remove redundant classnames
* fix: Fix error in InputFileComponent when displaying invalid file types
The code changes in this commit fix an issue in the InputFileComponent where an error was not being displayed correctly when the file type was not allowed. The commit adds a fix to properly display the error message with the list of invalid file types.
* refactor: Adjust chat view layout for responsiveness
The code changes in this commit adjust the layout of the chat view component to improve responsiveness. Specifically, the CSS classes for the chat container and input container have been modified to make them responsive on different screen sizes. This ensures that the chat view is displayed properly on both desktop and mobile devices.
Refactoring the layout in this way enhances the user experience by making the chat view more accessible and user-friendly across different devices.
* persist locked state for flows
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (popover.tsx): Remove duplicate declaration of PopoverAnchor in popover.tsx
✨ (lock-flow.spec.ts): Add test for locking and unlocking a flow in the application to ensure proper functionality and saving of the flow.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ✨ (index.tsx): Refactor SideBarFoldersButtonsComponent to improve code readability and maintainability. Add new functionalities such as drag and drop, folder hovering effects, and folder actions like upload, download, add, update, and delete. Update folder state management and handle loading states for various folder operations.
* ✨ (add-folder-button.tsx): Add a new component for adding folders to the sidebar
✨ (folder-select-item.tsx): Add a new component for displaying folder select items in the sidebar
✨ (header-buttons.tsx): Add a new component for displaying header buttons in the sidebar
✨ (input-edit-folder-name.tsx): Add a new component for editing folder names in the sidebar
✨ (select-options.tsx): Add a new component for displaying select options in the sidebar
✨ (upload-folder-button.tsx): Add a new component for uploading folders to the sidebar
✨ (handle-select-change.ts): Add a new helper function for handling select changes in the sidebar
🔧 (index.tsx): Refactor sidebar folder buttons component to use new components and helpers for better organization and functionality
* ✨ (use-on-file-drop.tsx): add support for fetching and using flows specific to the current folder in the file drop functionality
📝 (use-get-folder.ts): update the get folder query to set and use flows specific to the current folder
📝 (foldersStore.tsx): add state management for storing and setting flows specific to the current folder in the store
📝 (index.ts): add FlowType import for flows specific to the current folder in the store types
* ✨ (flows.py): Add description field to the returned flow object in read_flows function for better data representation
♻️ (use-on-file-drop.tsx): Refactor code to use new centralized store for flows instead of accessing flowsFromCurrentFolder directly
🔧 (use-get-folder.ts): Remove setFlowsFromCurrentFolder function and directly update flows in the store within getFolderFn
🔧 (foldersStore.tsx): Remove flowsFromCurrentFolder state and setFlowsFromCurrentFolder function from the store as they are no longer needed
* refactor: Improve wait time for modal in drag and drop test
* ✨ (dragAndDrop.spec.ts): update file path to read collection.json from the correct location
🐛 (dragAndDrop.spec.ts): increase timeout for waiting for "uploaded successfully" text to prevent test failures
* ✨ (dragAndDrop.spec.ts): Add tests for drag and drop functionality to ensure users can drag and drop collections and flows without crashing the application
📝 (simulate-drag-and-drop.ts): Add utility function to simulate drag and drop events in tests for improved test coverage and functionality
* add debouncing time on file upload
* [autofix.ci] apply automated fixes
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (endpoints.py): Add support for tool_mode field in custom component update
🔧 (schemas.py): Add tool_mode field to UpdateCustomComponentRequest schema
♻️ (component.py): Refactor run_and_validate_update_outputs method to handle tool_mode field
🔧 (index.tsx): Add tool_mode property to NodeInputField component
🔧 (index.tsx): Refactor hasToolMode logic to use checkHasToolMode utility function
🔧 (mutate-template.ts): Add callback parameter to mutateTemplate function
🔧 (use-handle-new-value.tsx): Add tool_mode property to useHandleOnNewValue hook
🔧 (popover/index.tsx): Add console.log for placeholder, value, and id
🔧 (inputGlobalComponent/index.tsx): Add tool_mode property to InputGlobalComponent
🔧 (refreshParameterComponent/index.tsx): Add tool_mode property to RefreshParameterComponent
🔧 (use-post-template-value.ts): Add tool_mode parameter to usePostTemplateValue function
🔧 (nodeToolbarComponent/index.tsx): Add support for tool_mode functionality in NodeToolbarComponent
🔧 (reactflowUtils.ts): Add checkHasToolMode utility function to check for tool_mode field in template
* fix: Set default value for tool_mode in UpdateCustomComponentRequest schema
* adding table input in tool mode
adding table input
* Update component.py
update real-time refresh
* added dynamic tool description input
added dynamic tool description input
* [autofix.ci] apply automated fixes
* Update component.py
simplifying the tool mode logic
* Update component_tool.py
updated logic to be more readable
* Update component.py
* adding tool table schema as constant
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (ChatCodeTabComponent.tsx): add data-testid attribute to ChatCodeTabComponent for testing purposes
🔧 (TemplateCardComponent/index.tsx): add data-testid attribute with dynamic value for testing
🔧 (sidebarDraggableComponent/index.tsx): import convertTestName function and add data-testid attribute with dynamic value for testing
🔧 (Custom Component Generator.spec.ts): add test for Custom Component Generator with Playwright
🔧 (Image Sentiment Analysis.spec.ts): add test for Image Sentiment Analysis with Playwright
✅ (Instagram Copywriter.spec.ts, Market Research.spec.ts): Add integration tests for Instagram Copywriter and Market Research functionalities.
✨ (Prompt Chaining.spec.ts): Add integration test for Prompt Chaining feature
✨ (SEO Keyword Generator.spec.ts): Add integration test for SEO Keyword Generator feature
✨ (SaaS Pricing.spec.ts): Add integration test for SaaS Pricing feature
✨ (Twitter Thread Generator.spec.ts): Add integration test for Twitter Thread Generator feature
* ✨ (Custom Component Generator.spec.ts): Update environment variable name from OPENAI_API_KEY to ANTHROPIC_API_KEY for consistency and clarity
📝 (Custom Component Generator.spec.ts): Update test descriptions to reflect the correct environment variable names and requirements
📝 (Instagram Copywriter.spec.ts): Add support for TAVILY_API_KEY environment variable in tests and update test descriptions to reflect the change
* 📝 Add test utilities for updating components, adding new API keys, adjusting screen view, awaiting bootstrap test, and getting all response messages.
* 📝 (Custom Component Generator.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Image Sentiment Analysis.spec.ts): Add buildDataTransfer utility function for better code organization and readability
📝 (Instagram Copywriter.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Market Research.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Prompt Chaining.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (SEO Keyword Generator.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (SaaS Pricing.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (Twitter Thread Generator.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (build-data-transfer.ts): Add buildDataTransfer utility function for better code organization and readability
📝 (wait-for-open-modal.ts): Add waitForOpenModalWithChatInput and waitForOpenModalWithoutChatInput utility functions for better code organization and readability
* 🔧 (ci.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for CI workflows
🔧 (nightly_build.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for nightly build jobs
🔧 (typescript_test.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for TypeScript test workflows
* feat: Add initialGPTsetup utility function for setting up GPT environment
This commit adds the initialGPTsetup utility function to the test/utils directory. The function is responsible for setting up the GPT environment by performing tasks such as adjusting the screen view, updating old components, removing old API keys, adding new API keys, and selecting the GPT model. The function accepts optional parameters to skip specific tasks if needed.
* change to utility function
* change to utility function
* change to utility function
* change to utility function
* change to utility function
* change to utility function
* change to utility function
* change to utility function
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Use AsyncSession in some API endpoints
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (index.tsx): Refactor SideBarFoldersButtonsComponent to improve code readability and maintainability. Add new functionalities such as drag and drop, folder hovering effects, and folder actions like upload, download, add, update, and delete. Update folder state management and handle loading states for various folder operations.
* ✨ (add-folder-button.tsx): Add a new component for adding folders to the sidebar
✨ (folder-select-item.tsx): Add a new component for displaying folder select items in the sidebar
✨ (header-buttons.tsx): Add a new component for displaying header buttons in the sidebar
✨ (input-edit-folder-name.tsx): Add a new component for editing folder names in the sidebar
✨ (select-options.tsx): Add a new component for displaying select options in the sidebar
✨ (upload-folder-button.tsx): Add a new component for uploading folders to the sidebar
✨ (handle-select-change.ts): Add a new helper function for handling select changes in the sidebar
🔧 (index.tsx): Refactor sidebar folder buttons component to use new components and helpers for better organization and functionality
* ✨ (use-post-add-flow.ts): Add useGetRefreshFlows hook to refresh flows after adding a new flow
♻️ (use-add-flow.ts): Remove unnecessary refreshFlows hook and refactor code to use useGetRefreshFlows hook instead
📝 (dropdown/index.tsx): Update import paths for useDuplicateFlows and useSelectOptionsChange hooks
📝 (grid/index.tsx): Update import path for useDescriptionModal hook and remove commented out code related to playground functionality
✨ (MainPage): Add new hooks for handling duplicate flows, selecting all flows, changing select options, and managing selected flows
📝 (MainPage): Update import path for useDescriptionModal hook to correct location
🔧 (MainPage): Remove unused code related to playground functionality in ListComponent
🔧 (use-handle-duplicate.tsx): Remove unused file use-handle-duplicate.tsx
🔧 (componentsComponent/index.tsx): Remove unused imports and function call for useDuplicateFlows
📝 (homePage/index.tsx): Add console log to log data.flows for debugging purposes
* 📝 (dropdown/index.tsx): refactor useDuplicateFlows hook to accept an object with named parameters for better readability and maintainability
📝 (use-handle-duplicate.tsx): update useDuplicateFlows hook to accept an object with named parameters for better readability and maintainability
📝 (componentsComponent/index.tsx): remove import of useDuplicateFlows hook as it is no longer used in the file
📝 (homePage/index.tsx): remove console.log statement for data.flows in the HomePage component
* ✨ (FlowMenu/index.tsx): Add useGetRefreshFlowsQuery to fetch and refresh flows data when folders are fetched
♻️ (use-get-flow.ts): Refactor useGetFlow to include queryClient for refetching queries on settled response
✨ (use-get-refresh-flows-query.ts): Introduce useGetRefreshFlowsQuery to fetch and process flows data with query options
🔧 (use-post-add-flow.ts): Update usePostAddFlow to use queryClient for refetching queries instead of refreshFlows
🔧 (use-get-folders.ts): Update useGetFoldersQuery to remove unnecessary refreshFlows call and use queryClient for refetching queries
🔧 (use-upload-flow.ts): Remove unnecessary refreshFlows call from useUploadFlow to improve flow data handling
🔧 (FlowPage/index.tsx): Remove unused imports and variables for better code cleanliness and maintainability
🔧 (ViewPage/index.tsx): Remove unused imports and variables for better code cleanliness and maintainability
* 🔧 (twoEdges.spec.ts): remove unnecessary click on "input-inspection-retriever" element to improve test clarity and efficiency
* ♻️ (conditional_router.py): refactor ConditionalRouterComponent to return None instead of self.message when condition is not met to improve code clarity and consistency
* 🐛 (conditional_router.py): fix issue where None was being returned instead of an empty string in certain cases to improve consistency and avoid potential errors
* ♻️ (conditional_router.py): Update return type of true_response and false_response methods to allow returning either Message or str for better flexibility and compatibility with different response types.