* fix: ensure foreign key constraints are only dropped if they exist in upgrade script
* Updated the upgrade function to check for the existence of foreign key constraint names before attempting to drop them in the message, transaction, and vertex_build tables, enhancing robustness and preventing potential errors during migration.
* refactor: streamline foreign key constraint removal in upgrade script
* Simplified the upgrade function by directly dropping foreign key constraints for the message, transaction, and vertex_build tables without checking for their existence, enhancing code clarity and maintainability.
* feat: introduce naming convention for database constraints in Alembic environment
* Added a naming convention dictionary to standardize the naming of indexes, unique constraints, check constraints, foreign keys, and primary keys in the Alembic migration environment, enhancing consistency and clarity in database schema management.
* refactor: enhance foreign key constraint management in upgrade and downgrade scripts
* Updated the upgrade function to recreate the message, transaction, and vertex_build tables without foreign key constraints, preserving data integrity during migration.
* Improved the downgrade function to restore these tables with the appropriate foreign key constraints, ensuring consistency in the database schema.
* Introduced a naming convention for database constraints to standardize naming across migrations.
* refactor: update table schema in Alembic migration for improved data handling
* Modified the schema for the message, transaction, and vertex_build tables to enhance data integrity by changing column types and adding new fields.
* Updated data insertion queries to use quoted identifiers, preventing potential issues with SQL keywords.
* Ensured that the upgrade and downgrade functions maintain consistency in the database schema during migrations.
* refactor: enhance data insertion logic in Alembic migration scripts
* Updated data insertion queries for the message, transaction, and vertex_build tables to explicitly list columns and filter out rows with NULL IDs, improving data integrity during migrations.
* Utilized window functions to ensure uniqueness of build_id across different database systems, enhancing compatibility and robustness.
* Maintained consistency in upgrade and downgrade functions to ensure seamless schema transitions.
* Revert "Revert "fix: published flows now can add rows to the database" (#7571)"
This reverts commit a8d2fccd1c.
fix: standardize endpoint paths in files API
Updated the file API routes to include trailing slashes for consistency. This change affects the upload, list, and delete endpoints, ensuring they all follow the same URL structure.
* create Amazon bundle
* Update s3_bucket_uploader.py
* update FE tests
* [autofix.ci] apply automated fixes
* ✅ (dropdownComponent.spec.ts): update test selectors to match the updated component names for better test accuracy
✅ (keyPairListComponent.spec.ts): update test selectors to match the updated component names for better test accuracy
* Update filterEdge-shard-1.spec.ts
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* tests cases
* update to loop
* Update component.py
* 📝 (LoopTemplate.json): update value of a configuration key from "OPENAI_API_KEY" to "ANTHROPIC_API_KEY" in order to reflect the correct API key being used
* update json test loop
* fix: update test URL in loop-component.spec.ts to reflect correct reference
Changed the URL in the test case from "Artificial_intelligence" to "Human_intelligence" to ensure accurate testing of the loop component functionality.
* update FE tests
* [autofix.ci] apply automated fixes
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* remove-tag-manager
* update-gtag-tracking-id
* add-head-tag
* remove Google Analytics gtag configuration from docusaurus.config.js
* fix-hydration-error
* revert-to-easy-way
* standard-gtag
* broken-link
* refactor: streamline Google Tag Manager script configuration in docusaurus.config.js
* Apply suggestions from code review
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
* Added ShowHiddenOutputs to node output field and made handle not be shown if hidden
* Added ShowHiddenOutputs in OutputParameter
* Added showHiddenOutputs to nodeOutputFieldComponentType
* Passed showHiddenOutputs to outputs
* Check if input types is not empty before counting handle
* Updated missing callback dep
* Added hidden parameter to not have duplicated handles
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ssl-support: Enable SSL for local development to simulate a production-like environment. This would allow testing features requiring SSL during development, third party integrations, and allowing easier SSL integration without WAFs and reverse proxies
* rebase
* rebase fixes
---------
Co-authored-by: lpetkov <lpetkov@pros.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
* fix: update type hints in BatchRunComponent for improved clarity and consistency
* fix: add type casting in BatchRunComponent for improved type safety
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: add File model to module exports in database models
* fix: remove unused relationships and imports in database models
* fix: remove foreign key constraints from message, transaction, and vertex_build tables
* fix the issue where `build_public_tmp` does not support `EVENT_DELIVERY=direct`
* fix: modify `build_public_tmp` to conform to the latest design
* [autofix.ci] apply automated fixes
* fix: Delete debugging logs
* fix: Delete debugging logs
* fix: Delete debugging logs
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* refactor: update BatchRunComponent to enhance functionality and usability
- Added TOML formatting for rows when no specific column is set.
- Updated display names and descriptions for clarity.
- Introduced an output column name option for customizable model response storage.
- Improved metadata handling and error management.
- Refactored row creation to include original columns and enhanced metadata.
* [autofix.ci] apply automated fixes
* fix: ruff errors
* [autofix.ci] apply automated fixes
* fix: component tests
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/components/helpers/batch_run.py
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (batch_run.py): refactor type annotations to use Hashable for dictionary keys to improve type safety and compatibility with different types of keys
* youtube fix
* 🔧 (batch_run.py): remove unnecessary StrInput import and update MessageTextInput import to improve code cleanliness and remove redundancy
* 📝 (batch_run.py): Update import statement to include Hashable from collections.abc for better readability and maintainability
📝 (Youtube Analysis.json): Update display name from "Batch Results" to "DataFrame" for better clarity and consistency
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* uv ruff fixes
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* Add Query Input and Mixin on backend
* Adds Query on supported types
* Adds types for query modal and component
* Adds size for new query modal
* Adds query modal
* Adds query component
* Adds query component on parameter render
* [autofix.ci] apply automated fixes
* ✨ (switch-case-size.ts): Update height value to 'h-fit' for 'small-query' case to improve responsiveness
✨ (queryInputComponent.spec.ts): Add unit test for user interaction with query input component, including updating code and testing functionality
* Fixed handle not working on Query Input
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ✨ (frontend): Add handleOnNewValue prop to Dropdown component to allow selecting a value not in the list
🔧 (frontend): Remove TODO comment and keep handleOnNewValue prop in DropdownComponent
✅ (frontend): Add test for selecting a value not in the list in Dropdown component
* 🐛 (dropdownComponent/index.tsx): fix issue where custom value was not being added to validOptions and filteredOptions when pressing Enter
✨ (dropdownComponent/index.tsx): improve functionality to reset filtered options and custom value input when opening the dropdown
* 🔧 (dropdownComponent/index.tsx): improve styling and layout of dropdown component for better user experience
* ♻️ (dropdownComponent/index.tsx): remove unnecessary comments and improve code readability by removing redundant comments and separating render helper functions from logic blocks.
* 📝 (dropdownComponent/index.tsx): add 'no-focus-visible' class to dropdown component to remove focus outline for better accessibility
📝 (applies.css): add styles for 'no-focus-visible' class to remove focus outline for better accessibility
🔧 (NodeOutputfield/index.tsx): refactor useMemo hook to check for empty output messages in the flowPoolNode data
🔧 (NodeOutputfield/index.tsx): refactor disabledInspectButton logic to include check for empty output messages
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* ✨ (get-curl-code.tsx): add support for ENABLE_DATASTAX_LANGFLOW feature flag to include Authorization header in curl command if flag is enabled
* 🐛 (get-curl-code.tsx): fix conditional logic for adding x-api-key header in curl command to correctly handle authentication status
---------
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
🔧 (use-get-refresh-flows-query.ts, use-get-refresh-flows.ts): Add check for AxiosError status to handle specific error case and set error message accordingly.
✨ (frontend): introduce ENABLE_IMAGE_ON_PLAYGROUND feature flag to control image functionality on playground
📝 (frontend): update feature-flags.ts to include ENABLE_IMAGE_ON_PLAYGROUND flag
🔧 (frontend): update input-wrapper.tsx, use-drag-and-drop.ts, and chat-view.tsx to conditionally enable image functionality based on ENABLE_IMAGE_ON_PLAYGROUND flag
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* feat: implement direct event delivery method on the frontend
- Updated buildFlow function to include eventDelivery parameter, allowing for "direct" event delivery mode.
- Modified NodeStatus and IOModal components to utilize the new eventDelivery setting.
- Expanded flowStore and buildUtils to support event delivery options, improving flexibility in event handling.
- Added "direct" option to event delivery types in enums for better configurability.
- Updated tests to cover new event delivery modes.
* Update src/frontend/src/controllers/API/api.tsx
* Update src/frontend/src/utils/buildUtils.ts
* refactor: remove "direct" from event delivery modes in tests
- Updated the event delivery modes in the withEventDeliveryModes utility to exclude "direct", aligning with recent changes in event handling behavior.
- This change simplifies the testing setup and ensures consistency with the current application logic.
* feat: add "direct" to event delivery modes in tests
- Expanded the event delivery modes in the withEventDeliveryModes utility to include "direct", enhancing the testing coverage for this delivery method.
- This update ensures that tests reflect the latest event handling capabilities and improves the robustness of the testing framework.
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Removed msg from nvidia_ingest
* Added default file picker timeout
* Use bigger timeout for file picker
* Added condition to only say that file was uploaded successfully if there are files
fix: ignore ConnectionError in NVIDIA model component in case there's no internet connection
- Added logging for connection issues when accessing the NVIDIA API.
- Implemented exception handling for ConnectionError, MaxRetryError, and NameResolutionError to improve robustness and user feedback.
* Removed old toolbar
* Add enable_publish check before showing Shareable Playground
* Removed enable_publish condition on play button
* Removed enable_publish condition on playground title
* Removed unused import
⬆️ (frontend): upgrade moment-timezone dependency to version 0.5.48
✨ (frontend): add new utility function convertUTCToLocalTimezone to convert UTC timestamps to local timezone in flowLogsModal and utils files
* feat: add new event delivery method "direct"
- Updated event_delivery options in ConfigResponse and Settings to include "direct".
- Modified build_flow function to utilize settings_service for conditional event handling.
- Improved flow processing by returning job_id or event responses based on delivery method.
* feat: implement direct event delivery method on the frontend
- Updated buildFlow function to include eventDelivery parameter, allowing for "direct" event delivery mode.
- Modified NodeStatus and IOModal components to utilize the new eventDelivery setting.
- Expanded flowStore and buildUtils to support event delivery options, improving flexibility in event handling.
- Added "direct" option to event delivery types in enums for better configurability.
- Updated tests to cover new event delivery modes.
* fix: change default event delivery method to "polling"
- Updated the default value of event_delivery in Settings from "direct" to "polling" to align with intended behavior.
- Ensured documentation reflects the change in default settings for clarity on event delivery options.
* Update src/frontend/src/controllers/API/api.tsx
* Update src/frontend/src/utils/buildUtils.ts
* Update src/frontend/src/utils/buildUtils.ts
* Update src/frontend/src/utils/buildUtils.ts
* feat: add event delivery validation for multi-worker environments
- Introduced a new field validator for the `event_delivery` setting to enforce "direct" delivery when the number of workers exceeds one.
- This change ensures compatibility with multi-worker setups, improving the robustness of event handling in the application.
* feat: add warning for multi-worker event delivery
- Added a warning log in the Settings class to notify users when a multi-worker environment is detected, indicating that "direct" event delivery will be used. This enhances visibility and understanding of event handling behavior in such setups.
* refactor: remove "direct" from event delivery modes in tests
- Updated the event delivery modes in the withEventDeliveryModes utility to exclude "direct", aligning with recent changes in event handling behavior.
- This change simplifies the testing setup and ensures consistency with the current application logic.
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* old composio Gmail component
* Update gmail_composio.py
* [autofix.ci] apply automated fixes
* Removed input types from secret input
* Changed starter projects
* Update gmail_composio.py
* composio base
* [autofix.ci] apply automated fixes
* updated composio with multi output
* [autofix.ci] apply automated fixes
* fix lint errors
* [autofix.ci] apply automated fixes
* Added sortableList and connect to frontend types constant
* Added AuthInput to backend and frontend constant
* Added auth input to InputTypes and added show = false by default
* fix: Update Composio icon (#7407)
fix: update Composio icon dimensions and simplify SVG structure
* Fix amber color
* Fix button and voice assistant button to use correct design and colors
* Fixed button design to include bg
* remove bg definition from voice assistant
* Added auth input to composio base
* Added helper text to sortable list
* Add unlink icon
* Add node connection button
* Changed to isPolling
* [autofix.ci] apply automated fixes
* Added auth tooltip
* Added auth tooltip to mixinn
* Add auth mixin to input
* update the field visibility
* Fixed disconnect
* Update composio_base.py
* Updated node status to show correct statuses
* Added handling for API errors and disconnections
* limit to dataframe output
* add basic tests for base and gmail component
* fix lint errors
* 📝 (test files): Remove unnecessary blank lines to improve code readability and consistency.
* Add result_field to GMAIL_FETCH_EMAILS action and change how result key is used
* fix: Add validation for result structure in ComposioGmailAPIComponent
* fix: Ensure result is a list of dicts before converting to DataFrame in ComposioBaseComponent
* feat: Introduce get_result_field option for Gmail actions to control result retrieval behavior
* Fixed status not updating in real time
* Added default API value to Composio
* Made sortableList only be openable if no helper text is present
* fix: Update validation logic in ComposioGmailAPIComponent to incorporate get_result_field option for improved result handling
* Fixed bug where pre-filled Global Variable didn't trigger login
* refactor: Remove commented-out output definitions in ComposioBaseComponent for cleaner code
* refactor: Clean up ComposioGmailAPIComponent by removing outdated comments for improved readability
* ✨ (NodeStatus/index.tsx): refactor getConnectionButtonClasses and getConnectionIconClasses functions to improve code readability and maintainability
* ♻️ (NodeStatus/index.tsx): refactor getConnectionButtonClasses and getConnectionIconClasses functions to use arrow function syntax for better readability and maintainability
* 🔧 (NodeStatus/index.tsx): define constants POLLING_TIMEOUT and POLLING_INTERVAL for better readability and maintainability
* ✨ (ListSelectionComponent): Add dataTestId prop to ListItem component for better testing
📝 (NodeStatus): Refactor data-testid value to be dynamically generated based on node status
📝 (searchBarComponent): Add data-testid attribute to search input for testing purposes
📝 (sortableListComponent): Add data-testid attribute to button for opening list selection
♻️ (utils.ts): Add testIdCase function to convert string to snake_case for test ids
📝 (composio.spec.ts): Add various test cases for interacting with composio component
* ✨ (test_gmail.py): add MagicMock import to fix missing dependency for testing
🔧 (test_gmail.py): refactor execute_action method to return a structure compatible with component's logic
♻️ (test_gmail.py): refactor _build_wrapper method to return a mock for the toolset
✨ (test_gmail.py): add patching for _actions_data to ensure correct structure for GMAIL_FETCH_EMAILS
🔧 (test_gmail.py): refactor execute_action method to return mock data for testing as_dataframe method
🔧 (test_gmail.py): refactor as_dataframe method to handle mock email data and verify DataFrame content
🔧 (test_gmail.py): refactor execute_action method to return mock data for testing update_build_config method
🔧 (secretKeyModal/index.tsx): remove unused imports and clean up the file structure
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ✨ (webhookFieldComponent): Add support for ENABLE_DATASTAX_LANGFLOW feature flag to conditionally show generate token button
🐛 (use-get-config): Set default value for webhook polling interval if not provided in data
♻️ (custom-secret-key-modal-button): Refactor to pass modal props as a separate object to improve readability and maintainability
🔧 (use-generate-token): Add new file for generating token function
🔧 (secretKeyModal): Refactor to use generate token function based on ENABLE_DATASTAX_LANGFLOW flag and separate modal props into a dedicated interface
* ✨ (constants.ts): add default polling interval and timeout constants for better code readability and maintainability
♻️ (use-get-config.ts): refactor to use the newly added default constants for polling interval and timeout to improve code consistency and reduce duplication
* 🐛 (typescript_test.yml): update the maximum shard count calculation to be 25 instead of 10 to improve test distribution and efficiency
* ⚙️ (typescript_test.yml): adjust optimal shard count calculation to ensure a maximum of 10 shards for test execution
♻️ (index.tsx): refactor modalConfigProps assignment to handle cases where modalProps is null or undefined
---------
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>