* fix errors on console jsx
* ✨ (NodeOutputfield/index.tsx): Refactor InspectButton component to use forwardRef for better performance and maintainability
♻️ (NodeOutputfield/index.tsx): Refactor AlertDropdown component to use forwardRef for better performance and maintainability
* 📝 (dialog.tsx): Add VisuallyHidden component for accessibility and improve semantics in DialogContent component
🔧 (dialog.tsx): Update DialogContent component to conditionally include VisuallyHidden component for DialogTitle
🔧 (dialog.tsx): Export VisuallyHidden component from dialog.tsx
♻️ (textAnimation.tsx): Refactor TextEffectPerChar component to use TextEffect component with per="char" and as="span" properties for consistency
* ✨ (CustomEdges/index.tsx): Destructure props to extract specific properties and pass the rest as domSafeProps for cleaner code
♻️ (singleAlertComponent/index.tsx): Remove unnecessary aria-hidden attribute from IconComponent to improve accessibility and reduce redundancy
* ✨ (index.tsx): introduce ShortUniqueId library to generate unique keys for alert items in the dropdown list
* ✨ (frontend): add support for displaying a list of items in the NoticeAlert component
📝 (frontend): update NoticeAlertType interface to include a list property for displaying multiple items in the alert
* ✨ (styleUtils.ts): introduce new icon PencilRuler to the list of nodeIconsLucide for use in the frontend styling utilities.
* URL component improvement - JSON URL
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (url.py): refactor URLComponent class to simplify data_dict creation by using dictionary unpacking instead of manual key-value pairs
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (url.py): improve formatting of info string for DropdownInput in URLComponent class
♻️ (url.py): refactor ensure_url method to simplify logic and improve readability
🐛 (url.py): fix error handling in URLComponent class for invalid JSON content
* [autofix.ci] apply automated fixes
* ✨ (url.py): Add BoolInput and StrInput to support new features in URLComponent
📝 (url.py): Update description in URLComponent to provide more detailed information about its functionality
♻️ (url.py): Refactor update_build_config method in URLComponent to dynamically update fields based on selected format
🐛 (url.py): Fix ensure_url method in URLComponent to ensure valid URLs are provided and handle exceptions properly
🐛 (url.py): Fix fetch_content method in URLComponent to handle cases where no valid URLs are provided and improve error handling
🐛 (url.py): Fix fetch_content_text method in URLComponent to correctly format and clean text output based on selected format and settings
🐛 (url.py): Fix as_dataframe method in URLComponent to return fetched content as a DataFrame object
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (url.py): remove unnecessary comments and improve code readability by removing redundant comments and adjusting code structure.
* [autofix.ci] apply automated fixes
* 📝 (url.py): improve readability by splitting long description and info strings into multiple lines
🐛 (url.py): handle cases where invalid URLs or JSON URLs are provided, and provide informative error messages
🐛 (url.py): handle cases where no valid URLs are provided and raise an error with a clear message
* 🔧 (Blog Writer.json, Custom Component Maker.json, Graph Vector Store RAG.json): resolve merge conflicts in JSON files related to the 'format' field options to ensure consistency across starter projects.
* [autofix.ci] apply automated fixes
* 🐛 (url.py): fix validation of JSON content from URLs to ensure correct handling of JSON data
✨ (url.py): introduce async validation of JSON content from URLs using aiohttp to improve performance and reliability
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* merge fix
* ✅ (test_audio_file.wav): update test_audio_file.wav to fix binary file differences in the test asset
* 🐛 (test_url_component.py): update error message format to improve clarity and consistency
* update templates
* 🐛 (test_database.py): fix error handling in test_read_flows_components_only_paginated to properly catch and log exceptions during test execution
* 📝 (backend): Add noqa comments to files to ignore specific linting rule A005
🔧 (test_database.py): Remove duplicate import statement for sqlalchemy
♻️ (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability
* 🐛 (test_database.py): fix test_read_flows_components_only_paginated to handle exceptions and provide more context in case of failure
* 📝 (test_database.py): remove unnecessary comment to improve code readability and maintainability
* 📝 (backend): Remove unnecessary noqa comments from __init__.py files
🔧 (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Make column of type boolean use editor from TableAutoCellRender
* Adds editor to boolean cell
* Add boolean to isCustomEdit
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* 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>