* 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>
* Removed flowPool from dependencies of function that clears chat input
* remove console.log
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* feat: add nodeId, nodeClass, and handleNodeClass props to dropdown and string render components
* fix: remove extraneous flag from package-lock.json and add nodeId, nodeClass, handleNodeClass props to ParameterRenderComponent
---------
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* chore: Add trustcall dependency to pyproject.toml
* fix: Update bind_tools method to include optional tool_choice parameter for enhanced flexibility in tool binding
* refactor: Update StructuredOutputComponent to utilize create_extractor for structured output and enhance result handling
* Replaced direct call to with_structured_output with create_extractor for improved flexibility.
* Added handling for "responses" in result to ensure proper data extraction.
* Introduced is_last_pydantic_output_parser method to check parser type in structured output processing.
* test: Add comprehensive tests for StructuredOutputComponent with OpenAI and NVIDIA models
* Implemented multiple test cases for StructuredOutputComponent using real OpenAI and NVIDIA models.
* Added tests for simple, complex, and nested schemas to validate structured output extraction.
* Included error handling tests to ensure proper response to model limitations and API errors.
* Utilized pytest for conditional test execution based on environment variables for API keys.
* refactor: Update JSON starter projects to include StructuredOutputComponent with enhanced input and output handling
* Integrated StructuredOutputComponent into Financial Report Parser and Portfolio Website Code Generator starter projects.
* Updated input fields to include detailed descriptions and requirements for structured output generation.
* Ensured consistent schema definitions and improved error handling for model limitations.
* Enhanced documentation for better clarity on component usage and expected outputs.
* [autofix.ci] apply automated fixes
* refactor: Remove unused PydanticOutputParser method from StructuredOutputComponent
* Deleted is_last_pydantic_output_parser method as it was no longer necessary for structured output processing.
* Cleaned up the code to enhance maintainability and readability.
* refactor: Update JSON starter projects to enhance StructuredOutputComponent integration
* Refactored Financial Report Parser and Portfolio Website Code Generator to streamline the StructuredOutputComponent.
* Removed unused PydanticOutputParser method to improve code clarity and maintainability.
* Enhanced input descriptions and requirements for structured output generation.
* Improved error handling and documentation for better user guidance.
* [autofix.ci] apply automated fixes
* refactor: Simplify response handling in StructuredOutputComponent
* Updated the response extraction logic to use the walrus operator for cleaner code.
* Improved readability by replacing the previous conditional check with a more concise approach.
* Ensured consistent handling of structured output results.
* [autofix.ci] apply automated fixes
* refactor: Remove unnecessary TYPE_CHECKING import and simplify type casting in StructuredOutputComponent
* Eliminated the TYPE_CHECKING import for improved clarity.
* Simplified the type casting of the language model in the response extraction logic.
* Enhanced code readability and maintainability.
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* refactor: reorder response handling in StructuredOutputComponent for clarity
* refactor: unify StructuredOutputComponent code across multiple starter projects for consistency
* Standardized the implementation of StructuredOutputComponent in Financial Report Parser, Image Sentiment Analysis, Market Research, and Portfolio Website Code Generator.
* Enhanced code clarity and maintainability by ensuring uniformity in input and output definitions across these components.
* refactor: update build_structured_output method in StructuredOutputComponent to include text_key
* Modified the build_structured_output method to return a Data object with a text_key for improved clarity in output structure.
* Ensured consistency across various starter projects by aligning the output format of StructuredOutputComponent.
* [autofix.ci] apply automated fixes
* 🔧 (structured_output.py): refactor create_extractor function to support structured data extraction in a specific format specified by schema_name
💡 (structured_output.py): add tool_description variable to provide a description for the structured data extraction tool
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (structured_output.py): refactor code to simplify the creation of extractor with tools parameter and remove unnecessary tool_description and schema_name variables.
* [autofix.ci] apply automated fixes
* ✨ (structured_output.py): enhance documentation by adding a dynamic docstring to the output model creation, improving clarity on the schema's purpose.
* ✨ (structured_output.py): update structured output component across multiple starter projects to enhance consistency and clarity in output schema definitions. Improved documentation and dynamic docstring integration for better understanding of the structured data extraction process.
* 🔧 (typescript_test.yml): enhance test command by adding retries to Playwright tests for improved stability and reliability during CI runs. Cleaned up whitespace for better readability.
* feat: add sample resume for testing and update test to use new file
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* 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
* Add Homeassistant Component
https://www.home-assistant.io/
* Add files via upload
* Add files via upload
* refactor: rename Home Assistant control and state listing components
Introduced two new components for Home Assistant integration:
1. HomeAssistantControl: A tool for controlling Home Assistant devices, allowing actions like turn_on, turn_off, and toggle with specified entity IDs.
2. ListHomeAssistantStates: A tool to retrieve the current states of Home Assistant entities, with optional filtering by domain.
Both components include necessary input fields and documentation links for user guidance.
* refactor: format Home Assistant SVG component and index file for consistency
* fix: spread props in Home Assistant SVG component for better customization
* refactor: update Home Assistant icon and improve SVG structure for better readability
---------
Co-authored-by: Nadir J <31660040+NadirJ@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
✨ (constants.ts): add new constants for OpenAI voices to be used in the application
🔧 (audio-settings-dialog.tsx, voice-select.tsx, check-provider.ts, voiceStore.ts): import and use the newly added OpenAI voices constants in various components and store to improve maintainability and consistency in voice selection functionality
* Changed polling build error handling
* Awaited pollBuildEvents for error to be thrown
* fix: enhance error handling and logging in get_flow_events_response
* fix: introduce custom exception for job queue not found error
* fix: replace ValueError with custom JobQueueNotFoundError in get_flow_events_response
* ⚡️ Speed up method `JobQueueService.get_queue_data` by 1,704% in PR #7387 (`fix/be_connection_errors`) (#7388)
To optimize the `JobQueueService` implementation for better runtime and memory efficiency, we can implement some optimizations focused mainly on avoiding redundant checks and streamlining the handling of job queues. The most significant improvement that can be made without altering the functionality would be to remove redundant error logging and to optimize our coroutine handling.
Here is the optimized version.
### Key Changes.
1. **Removed Redundant Logging**: The error logging inside the `get_queue_data` method was removed. In a production system where performance is critical, it’s often better to rely on exception handling rather than logging each potential error before raising the exception, especially for common errors which can be anticipated by the system. Instead, we directly raise `JobQueueNotFoundError`.
2. **Streamlined Exception Handling**: Replaced the dictionary lookup and manual check with a try-except block, simplifying the code and ensuring that the KeyError is handled efficiently. This avoids checking the condition and then looking up the dictionary again.
3. **Retained Essential Functionality**: All core functionalities and method signatures have been maintained, ensuring that the refactored code behaves identically to before. This includes maintaining the `self._closed` check to prevent operations on a closed service and handling of exceptions to provide appropriate error messages.
By focusing on reducing redundant operations like extra logging and double-checking conditions, we improve the software’s runtime performance and maintain cleaner code.
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* fix: improve error handling in JobQueueService by raising JobQueueNotFoundError with original exception context
* fix: update error message for job not found in test cases
* fix: enhance error handling in cancel_build by adding JobQueueNotFoundError exception
* fix: improve error handling in cancel_build by logging JobQueueNotFoundError details
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* feat: enhance animations and improve ListSelectionComponent functionality
- Added overlay and content animations to tailwind.config.mjs for smoother transitions.
- Updated ListSelectionComponent to reset search input when the dialog opens and improved item display styling.
- Refactored ConnectionComponent to utilize the new onSelection prop in ListSelectionComponent for better selection handling.
* fix: refine animation timings and enhance ListSelectionComponent layout
- Adjusted animation durations in tailwind.config.mjs for smoother transitions.
- Updated ListSelectionComponent to increase maximum height for improved content display.
* feat: enhance ListSelectionComponent with hover functionality and keyboard navigation
- Added mouse enter and leave handlers to ListItem for improved user interaction.
- Implemented keyboard navigation to select items using the Enter key when an item is hovered.
- Updated styling for ListItem to enhance visual feedback during hover states.
* feat: enhance ListItem with hover state and selection feedback
- Added hover state management to ListItem, allowing visual feedback when an item is hovered.
- Updated the rendering logic to display a "Select" label and an icon when the item is hovered.
- Improved the selection indicator for better user experience.
* feat: enhance ListSelectionComponent with keyboard navigation and focus management
- Added keyboard navigation to allow users to select items using the Arrow keys and Enter key.
- Implemented focus management to highlight the currently focused item in the list.
- Updated the component to reset focus and search input when the dialog opens or the filtered list changes.
- Improved item rendering to visually indicate focus state.
* feat: enhance ListSelectionComponent with improved keyboard navigation and hover management
- Added state management for keyboard navigation to improve user experience when selecting items.
- Implemented hover state clearing during keyboard navigation to prevent visual conflicts.
- Updated ListItem to conditionally apply hover styles based on keyboard navigation state.
- Enhanced focus management to reset when the filtered list changes or when the dialog opens.
* fix: refine animation timings and update ListSelectionComponent layout
- Adjusted clipPath values in tailwind.config.mjs for improved overlay animations.
- Increased animation durations for overlay and content transitions to enhance smoothness.
- Removed unnecessary padding in ListSelectionComponent for a cleaner layout.
* refactor: update ListSelectionComponent styles for improved visual consistency
- Changed text color and background color classes in ListItem to enhance readability and maintain design consistency.
- Updated icon color to align with the new text styling for better visual integration.
* [autofix.ci] apply automated fixes
* fix: improve ListSelectionComponent behavior and cleanup event listeners
* fix: adjust minimum height of ListSelectionComponent dialog for better usability
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* test: add concurrent streaming request tests for chat input type
Implemented a new test for concurrent streaming requests to the run endpoint with chat input type. Added a helper coroutine to validate the streaming response, ensuring proper event handling and result verification. This enhances the test coverage for the streaming functionality.
* refactor: replace session_getter with session_scope in API key CRUD operations
Updated the API key CRUD operations to utilize session_scope instead of session_getter for better session management. This change enhances the clarity and robustness of the database interactions.
* test: enhance assertions and error handling in streaming tests
Refactored assertions in the streaming tests to provide clearer error messages and improve robustness. Added error handling for JSON parsing in the stream response and ensured that all expected fields are validated with informative messages. Updated the test for concurrent streaming requests to use the correct project ID and modified input values for better clarity.
* test: refactor get_starter_project fixture for improved session management and data handling
Updated the `get_starter_project` fixture to use `session_scope` for better session management. Enhanced the flow data processing by replacing the OpenAI API key and ensuring the `load_from_db` flag is set to false, improving robustness and clarity in test setup.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: add TAVILY_API_KEY to environment variables list
* feat: update global variables documentation to include new API keys
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* add secret keys to templates
* 🐛 (Simple Agent.json): fix load_from_db value to true to correctly load data from the database instead of false
* 🐛 (Vector Store RAG.json): Fix load_from_db value to true for API Endpoint configuration to correctly load from database
🐛 (Vector Store RAG.json): Fix value to "ASTRA_DB_API_ENDPOINT" for api_endpoint configuration to set the correct default value
🐛 (Vector Store RAG.json): Fix load_from_db value to true for API Endpoint configuration to correctly load from database
🐛 (Vector Store RAG.json): Fix value to "ASTRA_DB_APPLICATION_TOKEN" for application_token configuration to set the correct default value
* 🐛 (Meeting Summary.json, Search agent.json): Fix issue where load_from_db was incorrectly set to false instead of true for certain fields in JSON files
* ⬆️ (pyproject.toml): update package version to 1.3.0 and langflow-base dependency to 0.3.0
♻️ (LoopTemplate.json): change legacy flag from true to false for ParseData component to align with updated logic and functionality
* uv sync package
* ✅ (frontend/package.json): update version from 1.2.0 to 1.3.0 to reflect the latest changes and improvements in the frontend application.
* 🐛 (LoopTemplate.json): set "legacy" property to true for ParseData component to handle legacy functionality and improve compatibility with older versions.
* ⬆️ (pyproject.toml): upgrade package version from 0.2.0 to 0.3.0
fix: prevent displaying API key banner when key is not available
- Added a conditional check to ensure the API key banner is only displayed if a valid API key is retrieved. This improves user experience by avoiding unnecessary prompts.
* add a unified local vector store
* [autofix.ci] apply automated fixes
* fixed lint Error
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/components/vectorstores/local_db.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor: Enhance type hints and clean up imports in LocalDBComponent
- Added type hints for the `update_build_config` method parameters and return type.
- Removed unused import of `override`.
- Cleaned up the `build_vector_store` method by removing the import error handling for `Chroma`, as it is now assumed to be handled elsewhere.
* test: Add unit tests for LocalDBComponent functionality
- Introduced comprehensive tests for the LocalDBComponent, covering database creation, data ingestion, similarity search, and duplicate handling.
- Implemented fixtures for default parameters and collection mappings.
- Verified the behavior of various search types and ensured correct handling of duplicates.
- Added tests for configuration updates and listing existing collections.
* feat: Implement equality comparison for DataFrame class
- Added an __eq__ method to the DataFrame class to handle comparisons with empty DataFrames and non-DataFrame objects.
- Ensures that empty DataFrames and empty lists are treated as unequal, improving the robustness of DataFrame comparisons.
* Update local_db.py
* [autofix.ci] apply automated fixes
* removed data output
* [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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
* Added priority field to components
* Added priority as 0 to LanguageModelComponent
* Adds sorting based on priority
* refactor: remove redundant name attribute from LanguageModelComponent
* Updated custom component to include priority
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* update tools in agents
* fix: update tool status check to default to True
* refactor: rename to_toolkit method to _get_tools and remove deprecated code
* [autofix.ci] apply automated fixes
* fix: makes agent tool metadata be correctly generated
* Update agent JSON files with new code for Agent component
* Enhance Financial Agent JSON configuration with updated code for the Agent component, including improved memory handling, tool validation, and error logging for better robustness and async functionality.
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* 📝 (chat-view-wrapper.tsx): Refactor ChatViewWrapper component to improve code readability and maintainability
📝 (chat-input.tsx): Add functionality to set voice assistant active state when showAudioInput is true
📝 (voice-assistant.tsx): Add functionality to set voice assistant active state and scroll to bottom when closing audio input
📝 (chat-view.tsx): Update ChatView component to consider sidebarOpen and isVoiceAssistantActive states
📝 (voiceStore.ts): Add isVoiceAssistantActive state and setIsVoiceAssistantActive function to voice store
📝 (index.ts, voice.types.ts): Update types to include sidebarOpen prop in chatViewProps and isVoiceAssistantActive state in VoiceStoreType
* url change
* 🔧 (chat-input.tsx): Add new session close voice assistant functionality to chat input component
🔧 (voice-button.tsx): Update voice button to set new session close voice assistant state
🔧 (sidebar-open-view.tsx): Update sidebar open view to set new session close voice assistant state
🔧 (voiceStore.ts, voice.types.ts): Add new session close voice assistant state and setter to voice store and types
* ♻️ (chat-input.tsx): remove unused setNewSessionCloseVoiceAssistant function to clean up code and improve readability
* url
* merge
* 📝 (chat-view-wrapper.tsx): Refactor ChatViewWrapper component to improve code readability and maintainability
📝 (chat-input.tsx): Add functionality to set voice assistant active state when showAudioInput is true
📝 (voice-assistant.tsx): Add functionality to set voice assistant active state and scroll to bottom when closing audio input
📝 (chat-view.tsx): Update ChatView component to consider sidebarOpen and isVoiceAssistantActive states
📝 (voiceStore.ts): Add isVoiceAssistantActive state and setIsVoiceAssistantActive function to voice store
📝 (index.ts, voice.types.ts): Update types to include sidebarOpen prop in chatViewProps and isVoiceAssistantActive state in VoiceStoreType
* new endpoint
* 🐛 (voice_mode.py): remove unnecessary comment and update input parameter in speech creation function
🐛 (use-start-conversation.ts): update WebSocket URL to use flow_tts endpoint and add support for audio language and input audio transcription model in WebSocket session update configuration
* 📝 (voice_mode.py): add "voice" attribute with value "coral" to TTSConfig class for voice mode customization
♻️ (use-start-conversation.ts): refactor code to use "transcription_session.update" type and update session attributes based on audioSettings and audioLanguage variables
* ✨ (voice_mode.py): introduce a new 'voice' attribute with the value "coral" to specify the voice used for text-to-speech conversion in TTSConfig class
* ♻️ (voice_mode.py): remove unused 'voice' variable assignment to improve code cleanliness and readability
* ✨ (voice_mode.py): update voice parameter value to "coral" for better voice quality and clarity in TTS websocket flow.
* ✨ (voice_mode.py): add support for configuring OpenAI voice setting in TTSConfig class
🐛 (voice_mode.py): fix updating OpenAI voice setting in flow_tts_websocket function
📝 (use-start-conversation.ts): update voice settings format for flow_tts endpoint to include voice and provider information
* 🐛 (use-start-conversation.ts): fix issue with immediate startRecording function call by adding a 300ms delay to ensure proper initialization
* refactor
* refactor
* 🔧 (audio-settings-dialog.tsx): add isPlayingRef prop to SettingsVoiceModal component for managing audio playback state
🔧 (voice-assistant.tsx): pass isPlayingRef prop to VoiceAssistant component for controlling audio playback state
* [autofix.ci] apply automated fixes
* fixed tts and 11l
* lint fix
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Removed duplicate elements from node toolbar
* Fixed freeze tests
* Replaced advanced button modal with edit button modal in all tests
* Fixed freeze test
* Fixed tests
* Readded freeze when there is tool mode
---------
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* Added pagination info on table options
* Added pagination info on table component
* Added truncated rows and truncate message when row count is > 1000
* feat: Add button component and update dropdown rendering
* feat: Implement ListSelectionComponent and update ButtonComponent
- Add new ListSelectionComponent for selecting actions with search functionality
- Refactor ButtonComponent to use ListSelectionComponent
- Update ParameterRenderComponent to simplify button rendering
- Modify DropdownComponent to prepare for future changes
* feat: Add Sortable.js for drag-and-drop functionality and grid icon
- Integrated Sortable.js library in index.html and package files
- Added GridHorizontalIcon for drag handle visualization
- Updated ButtonComponent with commented sortable list example
- Improved input styling in ListSelectionComponent
* feat: Add ButtonInput for Composio API and update input types
- Introduced ButtonInput class in inputs module
- Added new button input fields to ComposioAPIComponent
- Updated FieldTypes enum to include BUTTON type
- Modified frontend ButtonComponent layout
- Removed commented-out code in DropdownComponent
* [autofix.ci] apply automated fixes
* feat: Enhance ButtonComponent with dynamic type and improved UI
- Add type prop to ButtonComponent to support different rendering modes
- Implement tool name and actions button layouts
- Add sample action data for actions button type
- Improve sortable list styling and interaction
- Refactor ButtonComponent to handle different use cases
* refactor: Improve ButtonComponent layout and Sortable configuration
- Adjust Sortable animation duration
- Modify list item layout and positioning
- Remove unnecessary CSS classes
- Simplify button and icon positioning
* feat: Integrate react-sortablejs for improved drag-and-drop functionality
- Replace Sortable.js with react-sortablejs library
- Add TypeScript types for SortableJS
- Update ButtonComponent to use ReactSortable component
- Improve list item rendering and styling
- Remove manual Sortable initialization
* feat: Enhance ButtonComponent with authentication and dynamic action data
- Add isAuthenticated state to control button visibility
- Introduce initialActionData and actionData state for dynamic list management
- Update button styling and icon for unauthenticated state
- Enable ReactSortable to modify action data list
* style: Update ButtonComponent styling with accent-themed colors
* style: Refine button styling with amber accent theme
* feat: Enhance ButtonComponent with dynamic rendering and improved UX
* feat: Add external link to DataStax Wikipedia page on button click
* feat: Implement delete action for button component action data
* feat: Enhance ButtonComponent with authentication and UI improvements
* feat: Enhance ListSelectionComponent with dynamic data and multi-select functionality
* feat: Improve ListSelectionComponent and ButtonComponent interaction and authentication flow
* refactor: Replace ButtonInput with ListSelectionInput in Composio API and input components
* [autofix.ci] apply automated fixes
* refactor: Optimize ListComponent with memoization and improved state management
* feat: Add selection type support to Composio API and ListSelectionComponent for improved user interaction
* refactor: Rename action-related props in ListSelectionComponent and ListComponent for clarity and consistency
* feat: Expand ListSelectionInput options and enhance ListSelectionComponent with dynamic data and metadata support
* refactor: Clean up comments and improve code readability in ListSelectionComponent and ListComponent
* [autofix.ci] apply automated fixes
* chore: Remove debug log from ParameterRenderComponent and add text/plain type to DRAG_EVENTS_CUSTOM_TYPES
* feat: Introduce ConnectionInput and SortableListInput components, replacing ListSelectionInput; enhance ComposioAPIComponent with new input types and improve parameter rendering with connection support
* [autofix.ci] apply automated fixes
* feat: Enhance ConnectionComponent with new state management and selection handling; update SortableListComponent to utilize new props for improved functionality
* feat: Implement SearchBarComponent to enhance ListSelectionComponent with improved search functionality and category selection
* feat: Update ComposioAPIComponent with external links and enhance ConnectionComponent with improved state management and dynamic link handling
* fix: Update ConnectionComponent layout and button styles for improved UI consistency
* chore: Remove unused Sortable.js script from index.html to streamline frontend resources
* Update index.tsx
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Add backend support for composio actions
* [autofix.ci] apply automated fixes
* Update composio_api.py
* Update composio_api.py
* [autofix.ci] apply automated fixes
* fix: enhance ListSelectionComponent styling and functionality
- Updated ListItem component to accept a className prop for better customization.
- Improved item name display with truncation for better UI handling.
- Adjusted DialogContent styling for responsive width and layout.
- Enhanced overflow handling in the selection list for better user experience.
* feat: enhance ListSelectionComponent and ConnectionComponent functionality
- Added onSelection prop to ListSelectionComponent for handling item selection actions.
- Improved item selection logic to trigger onSelection callback.
- Refactored connection handling in ConnectionComponent to manage loading state and authentication.
- Updated connection link handling to ensure proper link retrieval and usage.
* fix: reset search input in ListSelectionComponent after selection
- Added functionality to clear the search input by setting it to an empty string when an item is selected. This improves user experience by ensuring the search field is reset after a selection is made.
* fix: improve selection logic and styling in ListSelectionComponent and ConnectionComponent
- Enhanced ListItem component to conditionally apply a green color for validated items.
- Updated selection logic in ListSelectionComponent to consider items with a validated link as selected.
- Initialized authentication state in ConnectionComponent based on the connection link status.
- Adjusted connection handling to update authentication state when the link changes.
* fix: refine item selection handling in ConnectionComponent
- Removed the setting of selectedItem state in the handleSelection function to streamline the selection process.
- Updated logic to focus on handling new value updates without maintaining a separate selected item state.
* fix: enhance ConnectionComponent and ListSelectionComponent functionality
- Removed console log from ListSelectionComponent to clean up the code.
- Added nodeId, nodeClass, and name props to ConnectionComponent for improved data handling.
- Implemented polling logic in ConnectionComponent to validate connections and manage loading states effectively.
- Updated loading state handling in the button to reflect polling status.
* fix: refactor ConnectionComponent for improved state management and polling logic
- Streamlined prop destructuring for better readability.
- Enhanced state management for polling and authentication.
- Added cleanup effects for polling intervals and timeouts.
- Improved event handling for connection button clicks and selection dialog.
- Updated comments for clarity and organization.
* Support handling the auth parameter
* [autofix.ci] apply automated fixes
* fix: improve key handling and state management in ListSelection and SortableList components
* Updated key assignment in ListSelectionComponent to include index for uniqueness.
* Enhanced SortableListComponent with useEffect to initialize listData from props and improved remove handler to update state correctly.
* Refactored setListData to ensure proper state updates and value handling.
* fix: update selected item handling in ConnectionComponent (#7280)
* Added useEffect to set selected item based on value and options.
* Modified handleSelection to ensure selected item structure is consistent.
* Fix output of component in actions
* fix: enhance connection handling in ConnectionComponent
* Updated handleConnectionButtonClick to accept a parameter for connection checking.
* Modified event handler to call handleConnectionButtonClick with the appropriate argument based on connection state.
* Ensured that the connection link opens in a new tab only when the connection check is true.
* [autofix.ci] apply automated fixes
* Remove the search categories
* fix: update list data handling in SortableListComponent
* Refactored useEffect to correctly set listData when value changes.
* Introduced a temporary variable to hold the value before updating state.
* refactor: optimize list data management in SortableListComponent
* Replaced useEffect with useMemo for listData initialization.
* Simplified state update logic in createRemoveHandler and setListDataHandler.
* Improved key assignment for SortableListItem to handle potential undefined names.
* Check if validated before passing link
* [autofix.ci] apply automated fixes
* refactor: improve connection handling and state management in ConnectionComponent
* Enhanced state management for tracking connection status and UI states.
* Updated polling management to prevent memory leaks and ensure proper cleanup.
* Simplified event handlers for connection button clicks and selection handling.
* Improved comments for better code clarity and understanding.
* fix: improve connection link handling in ConnectionComponent
* Added logging for connectionLink to aid in debugging.
* Updated useEffect to set the link only if connectionLink is not empty.
* Implemented authentication state change when connectionLink is validated.
* Clear list of actions when changing tools
* Update composio_api.py
* [autofix.ci] apply automated fixes
* feat: enhance error handling in ConnectionComponent
* Introduced ShadTooltip for displaying error messages.
* Added state management for error visibility and updated connection link handling based on error data.
* Modified button behavior and icon display based on connection status.
* refactor: simplify error handling in ConnectionComponent
* Removed unused state for error tooltip visibility.
* Updated error handling logic to include connection link status in addition to error data.
* Properly indicate error status in component
* Better management of tool name helper text
* refactor: streamline selected item initialization in ConnectionComponent
* Simplified the logic for setting the selected item based on the value prop.
* Ensured that the selected item is updated correctly when value or options change.
* fix: update authentication status in ConnectionComponent
* Added logic to set authentication status based on the selected option.
* Ensured that authentication state is updated when no option is selected.
* feat: update composio package (#7325)
update composio package
* Update Gmail Agent.json
* refactor: optimize InputGlobalComponent logic
* Removed unused imports and streamlined the useEffect and useMemo hooks for better performance.
* Enhanced the handling of unavailable fields and initial load completion state.
* Simplified the logic for setting the selected option based on the value and load_from_db status.
* refactor: improve error handling in ConnectionComponent
* Removed dependency on errorData in useEffect for setting link state.
* Streamlined error handling logic to focus solely on connectionLink status.
* refactor: enhance connection handling in ConnectionComponent
* Merged error handling logic into a single useEffect for improved clarity.
* Updated link state management to reflect the selected item's validation status.
* Ensured authentication state is set correctly based on the selected item.
* Filter list of available tools
* refactor: update ListSelectionComponent to use limit instead of selection type
* Removed the SelectionMode type and replaced it with a limit prop for selection.
* Adjusted selection logic to enforce the limit on selected items.
* Updated related components to reflect the new limit prop instead of type.
* [autofix.ci] apply automated fixes
* Add limit field and santiziation
* Update inputs.py
* Update composio_api.py
* Show actions only if a tool is selected
* [autofix.ci] apply automated fixes
* refactor: add limit prop to ParameterRenderComponent and SortableListComponent
* Introduced a limit prop to both components to control item rendering and selection behavior.
* Updated SortableListItem to conditionally render elements based on the limit value.
* Adjusted button visibility and styles in SortableListComponent according to the limit prop.
* fix: adjust styles in SortableListItem based on limit prop
* Updated height and padding styles for SortableListItem when limit is set to 1.
* Ensured consistent spacing and visibility of elements based on the limit value.
* Push latest template
* style: enhance SortableListItem styles for improved interaction
* Updated class names to ensure proper styling for hover and group states.
* Improved visibility of the remove button based on the limit prop, enhancing user experience.
* Update composio_api.py
* style: update SortableListItem max-width for improved layout
* Adjusted max-width class for SortableListItem when limit is set to 1, enhancing the component's visual consistency.
* Update Gmail Agent.json
* style: enhance ListItem component for better interaction
* Updated class names to improve hover effects and selected state styling.
* Added rounded corners and background color changes for better visual feedback.
* style: refine ListSelectionComponent and SortableListComponent layout
* Simplified class names in ListItem for cleaner styling.
* Moved HelperTextComponent into a dedicated div in SortableListComponent for improved layout and spacing.
* refactor: clean up ConnectionComponent code
* Removed unused imports and comments for better readability.
* Updated polling timeout duration from 30 seconds to 9 seconds to prevent indefinite polling.
* Fix bug with link on refresh
* Update Gmail Agent.json
* Update Gmail Agent.json
* Update Gmail Agent.json
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>