* changing the example default input value
* Update Agent Flow.json
---------
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* feat: Add CalculatorToolComponent to langflow/components/tools
This commit adds the CalculatorToolComponent to the langflow/components/tools directory. The CalculatorToolComponent allows users to perform basic arithmetic operations on a given expression. It includes an input for the expression and returns the result or an error message.
Ref: #3757
* lint
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
🔧 (utils.py): refactor import statement to get version info from utils module instead of version module
🔧 (index.tsx): add dataTestId attribute to submit button in ShareModal component for testing purposes
✨ (generalBugs-shard-13.spec.ts): add end-to-end test to verify sharing a flow on the Langflow Store via modal interaction
* fix: TypeError: object LangfuseResponseGeneratorSync can't be used in 'await'
* 🔧 (generalBugs-shard-1.spec.ts): remove unnecessary empty line to improve code readability
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Add CassandraGraphVectorStoreComponent and HtmlLinkExtractorComponent
* Move uuid import to global imports
* fix test with new text spliter
* update poetry lock
* ci: add continue-on-error to py_autofix.yml
---------
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* update templates
* update to include global variables
* Refactor code to include global variables
* update PythonREPLTool.py
* [autofix.ci] apply automated fixes
* update pythonREPL and example
* Refactor code to handle decoding chat messages and handle decoding errors
* ✨ (Simple Agent.spec.ts): Add test case to fill textarea with specific text for testing purposes
📝 (Simple Agent.spec.ts): Update test case descriptions for better clarity and accuracy
✅ (Simple Agent.spec.ts): Update test assertions to match the expected behavior of the test case
* [autofix.ci] apply automated fixes
* 🐛 (Dynamic Agent.spec.ts): fix environment variable name from BRAVE_SEARCH_API_KEY to SEARCH_API_KEY for consistency and clarity
💡 (Dynamic Agent.spec.ts): add additional test cases to improve test coverage and ensure specific text is not present in the chat output
* 🔧 (.github/workflows/typescript_test.yml): update environment variable name from BRAVE_SEARCH_API_KEY to SEARCH_API_KEY for consistency
🐛 (Travel Planning Agent.spec.ts): fix test to skip if SEARCH_API_KEY is not available in the environment variables
* ✅ (Simple Agent.spec.ts): update expected count of python words to 3 for accurate test validation
* updating search tools
* [autofix.ci] apply automated fixes
* change examples
* update travel planning to include global variable
* Refactor search API component to include result limiting
* 📝 (Travel Planning Agent.spec.ts): remove unnecessary empty line to improve code readability and consistency
* test: adjusts asserts to make the test pass successfully
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* 📝 (Vector Store.spec.ts): Remove unnecessary code block related to AstraVectorStoreComponent class and its methods
♻️ (Vector Store.spec.ts): Refactor test file to remove unused imports and clean up unnecessary code blocks
🔧 (Vector Store.spec.ts): Refactor code to include conditional logic based on the presence of "dev" in ASTRA_DB_API_ENDPOINT environment variable
🔧 (Vector Store.spec.ts): Add function extractAndCleanCode to extract and clean code content from HTML element
* 🐛 (Vector Store.spec.ts): fix incorrect check for Astra DB API endpoint to include "astra-dev" instead of "dev" for proper environment detection
* ✨ (index.tsx): Add ShadTooltip component to provide tooltips for folder buttons for better user experience
📝 (index.tsx): Import useIsFetching from "@tanstack/react-query" to check if there are ongoing data fetching operations before enabling folder buttons
* 🔧 (index.tsx): add isPending variable to usePostFolders hook to track loading state for adding folders
🔧 (index.tsx): update disabled attribute in add and upload folder buttons to include isPending variable to prevent multiple submissions
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Fix textarea with password visual bug
* Changed password field to default to none
* updated sanitizedHTMLWrapper to receive ref
* fixed sanitizedhtmlwrapper type
* Added back to scroll position and cursor position on Chrome
* [autofix.ci] apply automated fixes
* Fix position of password
* Fixed tests
* Fixed examples
* Fixed test schema
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* 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>