* Changed export modal to just download after flow is built
* Changed cleanEdge to set edges animated to false
* Updated starter projects and tests to remove animated from edge
* update market research json to get global variable
* Bump ruff version to 0.9.7
* [autofix.ci] apply automated fixes
* refactor: Update Gmail Agent starter project to Langflow 1.2.0
This commit updates the Gmail Agent starter project with new node IDs and configuration reflecting Langflow version 1.2.0. Changes include:
- Updated node identifiers for Agent, ChatInput, ChatOutput, and ComposioAPI
- Refreshed project metadata and version information
- Minor adjustments to node configurations and viewport settings
* [autofix.ci] apply automated fixes
* fix: Revert Gmail Agent name to original
* fix: Remove trailing comma in Gmail Agent JSON
* feat: Add tags to Gmail Agent starter project
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Fix: Suppress SQLite foreign key warnings in Alembic migration
Handle SQLite-specific warnings during foreign key inspection in the Alembic migration script by using warnings.catch_warnings() to ignore foreign key constraint warnings
* test: Add session ID parameter to ToolCallingAgentComponent test
* test: Add blocking for langchain_core runnables utility function
* test: Add session ID generation to agent component test
* fix: Safely delete agent message with ID check
Modify error handling in LCAgentComponent to only delete agent message if it has an ID attribute, preventing potential attribute errors
* test: Update ComponentToolkit test to use async start and verify results
Modify the test_component_tool_with_api_key test to:
- Use async_start() method for graph execution
- Add session ID to graph
- Improve result verification with vertex result tracking
- Update import path for ChatOutput component
* test: Skip cycle tests requiring LoopComponent
Update test_cycles.py to:
- Add skip markers for tests that now require a LoopComponent
- Improve error message with snapshots for debugging
- Preserve existing test logic while marking as skipped
* test: Add client fixture to tool calling agent test
Add usefixtures decorator to ensure client is available for the tool calling agent test, improving test setup and reliability
* test: Add client fixture to component tool test with API key
Enhance test_component_toolkit.py by adding the client fixture to the test_component_tool_with_api_key method, ensuring proper test setup for API key-dependent scenarios
* test: Add client fixture to agent component test with calculator
Add client fixture to the test_agent_component_with_calculator method to ensure proper test setup for API key-dependent scenarios
* test: Disable redundant component input tests
Remove commented-out test methods for checking required inputs across various components, as these tests were not providing significant value and the inputs are dynamic
* test: Comment out condition to skip nodes with Tool outputs in setup.py
* run formatter
* test: Re-enable condition to skip nodes with Tool outputs in setup.py
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Add flow build cancellation endpoint and support
Implement new functionality to cancel ongoing flow build jobs:
- Add `cancel_flow_build` function in build.py to handle job cancellation
- Create new `/build/{job_id}/cancel` endpoint in chat.py
- Introduce `CancelFlowResponse` schema for cancellation response
- Implement robust error handling and logging for job cancellation process
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Enhance edge update logic with robust node reconciliation and type handling
Improves the `update_edges_with_latest_component_versions` function by:
- Adding comprehensive node reconciliation for missing nodes
- Implementing more robust type and handle matching
- Improving error logging and edge state tracking
- Adding detailed docstring explaining the function's complex logic
- Handling edge cases with null or missing node data
- Enhancing type conversion and handle escaping mechanisms
* refactor: update edge data
🔧 (.gitattributes): mark *.wav files as binary to prevent line ending conversions
♻️ (UpdateAllComponents/index.tsx): refactor code to use separate functions for resetting and starting edges update reference to improve readability and maintainability
* Added Null, Undefined and Bool rendering to table
* Handling formatter to come from the backend in table definitions
* Added validator to make type as formatter and vice versa
* Added boolean case to show badge
* Added Toggle Cell Editor
* Supress Row Click Selection on Table node component
* ADd boolean as type for formatter
* Adds Boolean formatter type to show toggle editor
* run format_backend
* ✅ (tableInputComponent.spec.ts): update unit test for table input component to use new methods for interacting with elements and improve readability and maintainability of the test code.
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ✨ (Research Translation Loop.spec.ts): add integration test for Research Translation Loop functionality in the frontend to ensure proper functionality and behavior.
* ✨ (Price Deal Finder.spec.ts): Add integration test for Price Deal Finder feature
📝 (Price Deal Finder.spec.ts): Document test cases and setup for Price Deal Finder feature
♻️ (Research Translation Loop.spec.ts): Refactor test setup and add missing test case for Research Translation Loop feature
* add tests to new started projects
* update the templates and add error handling
* [autofix.ci] apply automated fixes
* updated changes
* update to template from main
* Update split_text.py
* Add validation for text key in DataFrame setter
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* fix: Update vector store template dialog order
* Update Vector Store RAG.json
* Update Vector Store RAG.json
* Restore OPENAI_API_KEY as default in VSR
* Update Vector Store RAG.json
* Update Vector Store RAG.json
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 📝 (loop.py): Improve code readability and semantics by updating the return condition in the LoopComponent class
📝 (data.py): Enhance the data_to_text_list function to handle various data structures and ensure consistent text formatting
📝 (LoopTemplate.json): Update the LoopComponent class description and method implementations for better clarity and maintainability
📝 (test_data_to_text_list.py): Add unit tests to cover different scenarios and edge cases for the data_to_text_list function
* [autofix.ci] apply automated fixes
* 📝 (langflow): Add noqa comments to ignore linting rule A005 for specific files in the project. Fix type annotations and improve error handling in data.py module. Add noqa comments to ignore linting rule A005 for specific files in the project.
* ✅ (test_data_to_text_list.py): update parameter names in pytest.mark.parametrize to improve readability and maintainability
* 🐛 (data.py): refactor error message handling in data_to_text_list function to improve readability and maintainability
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/helpers/data.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ♻️ (data.py): refactor data_to_text_list function to simplify the logic and improve readability by removing unnecessary if conditions and updating the format_dict directly from data_obj.data.
* ✅ (test_data.py): refactor test_data_to_text_list function to handle defaultdict behavior and improve test coverage
* ✅ (loop-component.spec.ts): update test expectation to match the correct number of occurrences of "modified_value" in the output
* ✅ (Memory Chatbot.spec.ts): add assertion to check if the concatenated text length is greater than 20 to ensure the chatbot response is meaningful
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 🔧 (UpdateAllComponents/index.tsx): refactor the logic to track the number of edges before update and update component status for better error handling and user notification.
* ♻️ (UpdateAllComponents/index.tsx): refactor variable names for better readability and semantics
* fix: updated ChatOutput component not working with streaming enabled (#6744)
fixes: 69df913a14
Updated to handle the forgotten Generator case for self.input_value (encountered when streaming is enabled).
Overhauled the chat.py under outputs to (mostly) pass strict type checking, something which could have prevented this bug.
Only this file has been changed. The only type errors in this file are in the safe_convert function and are due to problems in other files.
To prevent further problems in the future, the project should work towards enabling strict type checking permanently after fixing the vast number of type problems.
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* update templates and make sure they support streaming without making breaking chnages
* update templates
* [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>
* feat: Add loading state and skeleton UI for FlowPage sidebar
* fix: Improve UI components with minor styling and z-index adjustments
* refactor: Simplify SkeletonGroup component and update FlowPage sidebar loading state
* refactor: Adjust SkeletonGroup rendering and FlowPage sidebar styling
* refactor: Remove z-index from PageComponent loading state
* refactor: Update FlowPage sidebar skeleton height class
* fix: Update Docker build workflow to use Wandalen/wretry.action for improved reliability
* fix: Remove attempt limit and delay from Docker build workflow
* fix: Add comment to clarify provenance setting in Docker build workflow
* Use pyproject standardized dependency-groups
* fix: update Python version requirement to support up to 3.14
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>