* fix: enhance data validation in Data model
* fix: Add warning for invalid data format in Data schema
Modify data validation to log a warning when data is not a dictionary, preparing for a future error in version 1.3.0
* ✅ (test_data_class.py): add assertion to check if data attribute is an empty dictionary after calling get_text() method
* 🐛 (data.py): fix issue where values["data"] could be None, causing potential errors in the code. Now ensuring "data" key exists and is initialized as an empty dictionary if it is not present.
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* S3 Bucket Uploader, unit test and module init
* [autofix.ci] apply automated fixes
* Updated UT as per feedback
* Added version control fixture
* [autofix.ci] apply automated fixes
* Style changes requested by reviewer
* Really, 1 extra character?
* Ruf styling
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Enhance flow download with recursive JSON sorting
- Add `sortJsonStructure` function to recursively sort object keys and array elements
- Improve `downloadFlow` function to create deterministic JSON output
- Add error handling for flow download process
- Ensure consistent and predictable JSON file generation
* feat: Include flow tags in export modal payload
Add `tags` to the export modal payload to ensure comprehensive flow metadata is preserved during export
* 📝 (model.py): Add tags field to FlowRead and FlowHeader models for better organization and categorization of flows
✨ (use-post-add-flow.ts): Add support for adding tags to a new flow in the frontend
✨ (exportModal/index.tsx): Include tags when exporting a flow in the export modal
♻️ (index.tsx): Refactor ListComponent to remove unnecessary comments and improve code readability
🔧 (reactflowUtils.ts): Update createNewFlow function to include tags field when creating a new flow
* style: add blank line
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* Added options parameter to table
* Removed shadow from no-border on ag cell
* Added Table Dropdown Cell Editor
* Added options to column field type
* Rendered dropdown instead of text if column has options
* Changed structured output to use new options
* Updated starter projects
* Refactor: Simplify TableOptions field definitions
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 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