* Refactor YfinanceToolComponent to inherit from LCToolComponent and remove unused outputs
* Refactor `PythonREPLToolComponent` to use new input configuration and update method signatures
* Add functions to handle dict values in ATTR_FUNC_MAPPING for '_outputs_maps' and '_inputs'
* Handle '_outputs_maps' argument in frontend node creation
* Add unit test for custom component subclassing from LCToolComponent
* Add input and output handling to PythonREPLToolComponent
- Introduced `input_value` to `inputs` for capturing user input.
- Added `outputs` to define the output structure, including `api_run_model` and `tool` for backward compatibility.
- Implemented `run_model` method to execute the tool and return results as `Data`.
* Add input and output handling to YfinanceToolComponent
- Introduced `MessageTextInput` for user queries.
- Added `Output` definitions for `api_run_model` and `tool` methods.
- Implemented `run_model` method to execute tool with user input.
* Add input and output definitions to YfinanceTool for better data handling
* Update error message to use display_name instead of vertex_type in edge validation
* Add unit test for YfinanceToolComponent template output validation
* Refactor tool components to include 'Data' output and update input types
- Added 'Data' output type to 'Agent Flow', 'Sequential Agent', and 'Complex Agent' starter projects.
- Updated input types to use 'MessageTextInput' and 'MultiselectInput' for better input handling.
- Refactored code to align with new input and output structures, ensuring backward compatibility.
* Add unit test for PythonREPLToolComponent template validation
* test: disblable test
---------
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* Removed output from node output field
* Removed setShowState that is unused
* Render nodestatus only if !showNode
* Fix node status showing when minimized
* Fix node not expanding after minimized if an output was hidden
* Lint
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* new tests folders organizations
* 📝 (nightly_build.yml): update tests_folder path from "tests/scheduled" to "tests/core" to reflect the correct location of the tests folder
* renaming test folder
* changing e2e to integrations folder
* 📝 (frontend/tsconfig.json): update test file paths to reflect changes in folder structure for better organization and clarity
* change assets folder
* 📝 (frontend): update file paths to remove redundant 'core' directory in test assets
* 📝 (Document QA.spec.ts, Vector Store.spec.ts, fileUploadComponent.spec.ts): Update file paths to correctly reference test assets in integration and unit tests.
* github suggestions
* feat: Add scroll detection for NodeDescription overflow
* style: update CSS to hide non-selected note nodes
* remove feature flag
* [autofix.ci] apply automated fixes
* refactor: update feature flags and test IDs
- Update ENABLE_MVPS flag to false in feature-flags.ts
- Update testId from "extended-disclosure" to "bundle-extended-disclosure" in extraSidebarComponent/index.tsx
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* first attempt to edit variables on the data table
* refactor: Rename AddNewVariableButton to GlobalVariableModal and update its usage
The component AddNewVariableButton has been renamed to GlobalVariableModal to better reflect its purpose. The component is now used in multiple places, including the GlobalVariablesPage and InputGlobalComponent. This change improves code clarity and consistency.
* fix: fix apply to fields on table edit option
* refactor: Trim field names before checking for availability in GlobalVariableModal and GlobalVariablesPage
Trim field names before checking for availability in GlobalVariableModal and GlobalVariablesPage to ensure consistent comparison and avoid any potential issues with leading or trailing spaces.
* Refactor GlobalVariablesPage to remove unused cellRenderer in the "value" field
* [autofix.ci] apply automated fixes
* Add validation for 'value' field in VariableRead model and import CREDENTIAL_TYPE
- Introduced a field validator for the 'value' field in the VariableRead model to handle cases where the variable type is CREDENTIAL_TYPE.
- Added necessary import for CREDENTIAL_TYPE.
- Removed an unnecessary blank line in the variable API.
* Add constants for credential and generic types in variable service
* Refactor import statements in `kubernetes.py` to improve module organization
* Refactor imports in test_service.py for better organization
* refactor: Update import statements in variable.py for better organization
* Refactor import and reorder fields in VariableRead model
- Changed import of `CREDENTIAL_TYPE` from `service` to `constants` module.
- Reordered fields in `VariableRead` model to place `type` before `value`.
* ✨ (userSettings.spec.ts): Add additional randomName variables for testing purposes
📝 (userSettings.spec.ts): Update test to interact with global variables and improve readability and maintainability of the code
* test: fix test_create_variable
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* Refactor test fixtures and imports for optimization
- Reordered and optimized imports in `conftest.py`.
- Changed return statements to yield in `basic_graph` and `create_webhook` fixtures for better resource management.
- Added cleanup step to `create_webhook` fixture to delete created webhook after test completion.
* Refactor imports and add placeholder client fixture in test_ChatOllama_component.py
* Add pytest fixture 'client' to test_graph.py
* Add pytest fixture 'client' to test_callback_graph.py for test optimization
* Add 'unit_tests_looponfail' target to Makefile for running unit tests with loop-on-fail option
* Optimize test durations and update test cases in various modules
* 📝 (buttonSendWrapper/index.tsx): refactor button styling logic to use constants for better readability and maintainability
🐛 (buttonSendWrapper/index.tsx): fix logic to disable button when chat is locked and not building
🐛 (buttonSendWrapper/index.tsx): fix conditional rendering of icons based on button state
* ✨ (stop-button-playground.spec.ts): Add end-to-end test for stopping building from inside Playground.
* 🔧 (buttonSendWrapper/index.tsx): refactor conditional logic to correctly prioritize showStopButton condition and improve code readability
* ✅ (stop-button-playground.spec.ts): add assertion to check if "build stopped" text is visible after clicking on the stop button
* feat: Add x-large size option to baseModal
The code changes introduce a new size option "x-large" to the baseModal component. This size option sets the minimum width to "min-w-[95vw]" and the height to "h-[95vh]". This change allows for a larger modal size when needed.
* feat: Add x-large size option to baseModal
* chore: Update CodeAreaModal to use x-large size option
* feat: Update EditNodeModal to use x-large size option
* feat: Update FlowLogsModal to use x-large size option
* chore: Update modal components to use x-large size option
* 🔧 (applies.css): Rearrange CSS classes properties for better readability and maintainability. Fix the order of properties in CSS classes to follow a consistent pattern.
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* refactor to improve readability
* ✅ (Simple Agent.spec.ts): update expected count of python words to 2 for accurate test results
📝 (auto-login-off.spec.ts): add a 1-second timeout before checking visibility of a text element to ensure proper rendering and improve test reliability
* 📝 (cardComponent/index.tsx): Extract handlePlaygroundClick function to improve code readability and maintainability
📝 (codeAreaComponent/index.tsx): Refactor code to use consistent naming conventions and improve code structure
📝 (rename-label.tsx): Refactor code to use consistent naming conventions and improve code structure
📝 (dictAreaModal/index.tsx): Refactor code to use consistent naming conventions and improve code structure
* 🔧 (rename-label.tsx): Refactor RenameLabel component to improve readability and maintainability by restructuring the component logic into separate functions for handling blur, change, and double click events. Split the component rendering logic into separate functions for input and span elements.
* update type
* [autofix.ci] apply automated fixes
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Add useUtilityStore hook to IOModal for setting playground scroll behavior
* feat: Add useUtilityStore hook to IOModal for setting playground scroll behavior
* feat: Add setPlaygroundScrollBehaves function to useUtilityStore hook
* feat: Update codeTabsPropsType to allow undefined for the 'open' property
* feat: Add `playgroundScrollBehaves` and `setPlaygroundScrollBehaves` to `UtilityStoreType`
The `UtilityStoreType` now includes the `playgroundScrollBehaves` property of type `ScrollBehavior` and the `setPlaygroundScrollBehaves` function to update it. This allows for managing the scroll behavior of the playground in the application.
* refactor: Remove unused 'open' prop from CodeTabsComponent
* Fixes copy of component outputs
* Fix issue with copying outputs in custom components
- Update loop to iterate over `_outputs.values()` instead of `outputs` to ensure correct attribute setting.
* Refactor output handling in custom component to use dictionary values
- Updated methods to iterate over `_outputs.values()` instead of `outputs`.
- Ensured consistent access to output values across various methods.
- Fixed potential issues with output value resetting and state model building.
* Fix incorrect attribute reference in set_output_value method
* Add missing import for CustomComponent in test_custom_component.py
* Refactor `test_read_flow` to generate unique flow names for each test run
* Refactor: Rename `_outputs` to `_outputs_map` in custom component
- Updated all references of `_outputs` to `_outputs_map` in `component.py` to improve clarity and consistency.
- Adjusted related methods and attributes in `base.py` to align with the new naming convention.
* Fix output handling in custom component
- Moved `_reset_all_output_values` call to ensure outputs are reset after initialization.
- Updated attribute access to use `_outputs_map` instead of `_outputs` for consistency.
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
✨ (decisionFlow.spec.ts): Remove unnecessary code related to connection 4 and improve flow by adding a new connection for prompt input user message
📝 (decisionFlow.spec.ts): Update test to fill in a different message in the chat playground and verify a different emoji response
* Updated save flow to only execute when the flow has unsaved changes
* Made flowPage call saveFlow immediatly when trying to exit page
* Changed save changes modal to automatically exit when saved on autoSave
* Changed flowPage to save and exit when autoSave
* Remove confirmation button if it does not exist and remove footer if confirmation and cancel does not exist
* Changed saveChangesModal to not show buttons when autoSave is on and to set loading as true when autoSave is off and the user saves
* Add timer to close modal, so, if saving takes less than 1 second, it waits
* Changed type of confirmationModal
* Added handling for when it's building and there is unsaved changes
* Added success toast when flow finishes saving
* refactored confirmationModal
* check autoLogin !== undefined before calling things
* Fix use save flow to compare the passed flow instead of the current one
* Changed style of save changes modal
* deleted build in progress modal
* Removed build in progress modal, just stopping the build
* Fix condition on api
* Changed condition to be autoLogin !== undefined
* Remove save on pan flow and added fit view
* Removed viewport setting on resetFlow and setReactflowInstance
* Made last saved appear on header
* Made it only fit on set react flow instance
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Add helper function to retrieve user by flow ID or endpoint name in user.py
- Introduced `get_user_by_flow_id_or_endpoint_name` function to fetch user details based on flow ID or endpoint name.
- Added error handling for cases where the flow or user is not found.
- Utilized `get_db_service` for database session management.
* Add user dependency to webhook endpoint for flow execution
- Import `get_user_by_flow_id_or_endpoint_name` helper function.
- Add `user` parameter to `webhook_run_flow` endpoint.
- Pass `user` to `simple_run_flow_task` for API key association.
* refactor: update deprecated call to get_actions
* Update composio-langchain dependency to version 0.5.13 in pyproject.toml
* Downgrade `composio-langchain` dependency to version `0.5.9` in `pyproject.toml`
* Add missing import for CustomComponent in test_custom_component.py
fix: Update transition property in App.css
The transition property in App.css has been updated to only transition the color property instead of all properties. This change improves performance by reducing unnecessary transitions.
* ✨ (use-get-folders.ts): Update useGetFoldersQuery to check if types are empty before calling getTypes to avoid unnecessary API calls
♻️ (typesStore.ts): Remove unnecessary useAlertStore setState call to improve code readability and maintainability
* feat: Update getTypes function to always force refresh
The `getTypes` function in `typesStore.ts` has been updated to always force a refresh of the types data. This change ensures that the latest data is fetched from the API, avoiding unnecessary API calls.
* Changed types check in other pages
---------
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
* fix: Problem in the description field when using the MariaDB or MySQL database.
* fix: Problem in the description field when using the MariaDB or MySQL database.
* fix: Add the migration script to update description columns type.
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/alembic/versions/1d90f8a0efe1_update_description_columns_type.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: add component clickhouse for vector database
* feat: add component clickhouse for vector database - conflicts resolved
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* feat: add component clickhouse for vector database - conflicts resolved
* feat: add component clickhouse for vector database - update poetry
* feat: add component clickhouse for vector database - conflicts resolved
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
📝 (LangChainHubPrompt.py): update display name to "LangChain Hub" for better clarity and consistency with the component's purpose
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Removed refetching of get folder on save
* Made component appear if its loading
* Rebaned query key to not refetch folders
* Changed isLoading to isFetching for the component to be unclickable while refetching
* Fixed IOModal calling getMessages again
* Fixed folders API being called twice
* removed unused imports
* Re-added query of get messages and changed to enable query when open
* Fix auto login off test
* Fix border node color to use ring in order to not shrink component and to use selected edge color
* Updated selected edge width to match selected node width
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Added key to sidebar buttons
* Added key directrly to sidebar category
* Removed key definition on sidebar category
* Fix error of nested buttons on secretKeyModal
* Fix nested buttons on output modal
* Fix clip-path warning on components
* Fix components cannot be given refs on nodeOutputField
* Removed unused console.log
* Added key on profile pictures map
* Fixed hideOverlay being called when the table is destroyed
* Fixed valueFormatter error on Apply To Fields field on GlobalVariables page
* Updated headers on config page to ensure consistent design
* 🐛 (sideBarFolderButtons/index.tsx): fix success message not being set when files array is empty
* 🐛 (index.tsx): fix issue where success message was not being displayed when uploading files successfully
* 🔧 (pyproject.toml): add lark dependency to support parsing and processing of grammars in the project
♻️ (SelfQueryRetriever.py): refactor input types in metadata fields to improve clarity and maintainability
* 📝 (SelfQueryRetriever.py): Update class name and imports for consistency and clarity
📝 (SelfQueryRetriever.py): Refactor input and output definitions for better readability and maintainability
📝 (SelfQueryRetriever.py): Refactor method signatures and variable names for improved code organization and understanding
* [autofix.ci] apply automated fixes
* ♻️ (SelfQueryRetriever.py): Remove unused import 'VectorStore' to clean up the code and improve maintainability.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>