* ✨ (flowSidebarComponent/index.tsx): reorganize imports and remove unnecessary comments for better code readability and maintainability
♻️ (flowSidebarComponent/index.tsx): refactor filtering logic to improve performance and readability
🔧 (flowSidebarComponent/index.tsx): update variable names and state management for better clarity and consistency
💡 (flowSidebarComponent/index.tsx): add comments and organize code structure for easier understanding and future development
📝 (flowSidebarComponent/index.tsx): refactor useEffect hooks to improve code readability and maintainability
📝 (flowSidebarComponent/index.tsx): refactor drag handling function to use useCallback for better performance
📝 (flowSidebarComponent/index.tsx): refactor bundle and category checks to use useMemo for better performance
* ♻️ (flowSidebarComponent/index.tsx): Remove unnecessary comments and optimize code readability by removing redundant comments and improving code structure.
* package-lock
* Added xyflow and updated imports
* Fix changing node.width to node.measured.width
* Updated NodeType to follow new API
* Fixed note node data type
* Created AllNodeType to contain note node type
* Changed flow types to follow new type from reactflow 12
* Updated flowStore to work with new types
* Updated flowStore and reactFlowUtils to work with custom edge type
* Updated updateAllNodes to use new type
* Updated PageComponent to follow new names for node dragging and edge reconnect
* Made selected prop be optional
* Changed reactFlowInstance to have nodes and edges type
* Updated updateAllComponent to follow new types
* Updated ReactFlowUtils with new types
* Updated reactFlowUtils type
* Updated all reactFlowUtils to be generic
* Updated handleRenderComponent with Connection type
* Updated node description and name with null checks for names
* Added check if node is genericNode on nodeOutputField
* Updated note node type
* Updated nodestatus with selected null check
* Updated notenode with new node type
* Update NodeType imports to be AllNodeType
* Fix more lint issues
* Fixed react flow button css
* ✨ (freeze.spec.ts): add zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (decisionFlow.spec.ts): import zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (zoom-out.ts): create zoomOut utility function to handle zooming out in tests for better code reusability and readability
* 🐛 (generalBugs-shard-10.spec.ts): fix test to wait for the element with class "border-ring-frozen" to be visible before asserting its count
* 📝 (generalBugs-shard-10.spec.ts): remove unnecessary locator click on element with id 'react-flow-id' to improve test reliability and maintainability
* 📝 (SelectionMenuComponent): add data-testid attribute to differentiate error-group-node and group-node components
📝 (similarity.spec.ts): refactor dragTo calls to use targetPosition for better accuracy, replace zoom_out clicks with zoomOut function, updateOldComponents function to handle outdated components
📝 (generalBugs-shard-5.spec.ts): replace zoom_out clicks with zoomOut function, add waitForSelector for group-node before clicking, remove unnecessary mouse interactions
📝 (intComponent.spec.ts): replace zoom_out clicks with zoomOut function, click on div-generic-node component
📝 (keyPairListComponent.spec.ts): click on div-generic-node component, adjustScreenView function call
📝 (nestedComponent.spec.ts): remove unnecessary click on react-flow-id element
📝 (generalBugs-shard-7.spec.ts): replace zoom_out clicks with zoomOut function
* ✨ (stop-building.spec.ts): Add new utility functions to improve code modularity and readability
🔧 (stop-building.spec.ts): Refactor drag and drop operations to use utility functions for better maintainability
🔧 (stop-building.spec.ts): Refactor zoom out operations to use utility function for consistency
🔧 (stop-building.spec.ts): Refactor component positioning operations to use utility functions for clarity
🔧 (stop-building.spec.ts): Refactor outdated components and filled API keys handling to use utility functions for reusability
🔧 (stop-building.spec.ts): Refactor fit view operation to use utility function for consistency
* ✨ (generalBugs-shard-9.spec.ts): refactor test to use initialGPTsetup function for GPT setup instead of manual steps to improve code readability and maintainability
* ✨ (store-shard-2.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
✨ (deleteComponents.spec.ts, deleteFlows.spec.ts, store-shard-1.spec.ts, store-shard-3.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
✨ (store-shard-1.spec.ts, store-shard-3.spec.ts): Remove unnecessary waitForSelector and add timeout of 200000ms for clicking "api-key-button-store" for better test stability
* ✨ (fileUploadComponent.spec.ts): update dragTo method calls with targetPosition option to specify the position of the drag action
* ✨ (decisionFlow.spec.ts): add explicit wait for an element to be attached before interacting with it to improve test reliability
🐛 (sticky-notes.spec.ts): fix test by adding keyboard press to simulate pressing the Escape key to close a modal before checking text length
* ✅ (sticky-notes.spec.ts): update assertion to use 'toHaveCount' matcher for improved test readability and reliability
* Added function to make controls horizontal
* ✨ (sticky-notes.spec.ts): update selector for textMarkdown to improve test reliability and readability
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
chore: fix audit vulnerabilities
- Updated "shadcn-ui" from version 0.8.0 to 0.9.4.
- Upgraded "@swc/cli" from version 0.3.12 to 0.5.2.
- Various other dependency updates and removals in package-lock.json to ensure compatibility and improve performance.
These changes enhance the project's dependency management and ensure the latest features and fixes are included.
* 🔧 (index.tsx): Remove unnecessary conditional rendering for addNewInput button and simplify the logic for onClick event handler to improve code readability and maintainability.
* ✨ (button-input-list.tsx): Add a new component ButtonInputList to handle button input list functionality in the frontend
📝 (get-class-name.ts): Create a helper function getButtonClassName to generate button class names based on disabled state
📝 (get-test-id.ts): Create a helper function getTestId to generate unique test ids for input list buttons
🔄 (index.tsx): Refactor InputListComponent to use the new ButtonInputList component for handling button input list functionality in the frontend
AgentQL is a query language and a set of supporting developer tools designed to identify web elements and their data using natural language and return them in the shape you define.
Added AgentQL data extraction component. See: https://docs.agentql.com/rest-api/api-reference
This pull request introduces a new component, AgentQL, to both the backend and frontend of the project. The changes include the implementation of the AgentQL component, its integration into the frontend, and the addition of a new icon for AgentQL.
* feat: Add AgentQL integration
* upd: Update the logo
* upd: Update field type
* upd: Address feedback + better error handling
* upd: Change DictInput type & mark 'advanced' fields
* upd: Update wording
* upd: Update wording
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality
📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store
* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution
* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality
📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store
* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution
* 🐛 (Travel Planning Agent.spec.ts): Fix issue with setting API keys for OpenAI models and Search API
🐛 (Travel Planning Agent.spec.ts): Fix issue with clicking the wrong button for running chat output
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking rate limit and skipping test logic
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking output text for lowercase city names
🐛 (Vector Store.spec.ts): Fix issue with clicking the wrong button for creating a new flow
🐛 (Vector Store.spec.ts): Fix issue with filling the wrong input field for collection name in Vector Store RAG test
* 🔧 (generalBugs-shard-4.spec.ts): skip test case temporarily due to functionality not working with uplift designs
* Update test to use 'message history' instead of 'chat memory' in sidebar search input
* Update test selectors and expected values in dropdownComponent.spec.ts
* 📝 (Simple Agent.spec.ts): Remove unnecessary test.skip and commented out code
📝 (dropdownComponent.spec.ts): Update dropdown selection to match new text
📝 (starter-projects.spec.ts): Remove unused template IDs
📝 (store-shard-1.spec.ts): Update test.skip to test.skip for consistency
📝 (generalBugs-shard-10.spec.ts): Refactor test cases for promptText and newPromptText
📝 (generalBugs-shard-6.spec.ts): Add delay before interacting with elements to ensure stability
* Refactor tests to use `ControlOrMeta` for cross-platform keyboard shortcuts
* ✅ (Simple Agent.spec.ts): update timeout value for waitForSelector to improve test reliability and prevent false negatives
* Handle undefined stars in GithubStarComponent to prevent errors
* Add waitForSelector to ensure sidebar search input is visible before interaction in chatInputOutput test
* ✅ (Simple Agent.spec.ts): update timeout value to 5 minutes for "built successfully" message to allow for longer build times
✨ (Simple Agent.spec.ts): add additional test cases to check for the presence of "apple" in chat messages and ensure the total length of chat messages is greater than 100 characters
* 🐛 (Simple Agent.spec.ts): reduce timeout for "built successfully" text to improve test efficiency
* ✅ (auto-login-off.spec.ts): add delay before checking visibility of elements to ensure proper rendering and improve test reliability
* Fix indentation in TypeScript test workflow file
* Update test IDs and expected values in dropdownComponent.spec.ts
* 📝 (playground.spec.ts): remove redundant code related to zooming out and dragging elements in the playground test
📝 (deleteComponents.spec.ts): update selectors for clicking buttons and elements in the deleteComponents test
📝 (deleteFlows.spec.ts): update selectors for clicking buttons and elements in the deleteFlows test
📝 (starter-projects.spec.ts): update selectors for starter projects in the extended features test to match changes in the application's UI.
* ✅ (playground.spec.ts): remove skip from the test case to enable it to run during testing.
* Refactor timeout in playground test for better stability
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Updated settings page sidebar to new sidebar
* Updated old home page to still work
* Fix padding on collapsed sidebar
* Fix able to drag on input component
* Fixed pagination position on big screens
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Refactor cardComponent and storeCardComponent to comment out playground buttons
* Refactor message model to replace 'meta_data' with 'properties' and update related schema and components
* Add new schema for content types with Pydantic models
* Add ContentBlock schema with support for multiple content types
* Refactor: Import ContentBlock from langflow.schema.content_block instead of defining locally
* Add SendMessageFunctionType protocol to log schema for message handling
* Refactor chat message model to replace 'meta_data' with 'properties' and update related components
* Add ContentBlock import and enhance send_message method in component.py
- Import ContentBlock from langflow.schema.content_block.
- Replace 'meta_data' with 'properties' in message construction.
- Update send_message method to handle optional Message and text parameters.
* Add async on_chain_start method to callback for logging chain start events
* Refactor add_messagetables function to replace 'meta_data' with 'properties' in message processing
* Fix typo in 'traceback' property name in ErrorDetails interface
* Add condition to check chat history length before rendering chat lock
* Refactor error content structure and enhance message event handling
* Add `update_messages` function to handle message updates in memory module
* Add check for 'id' attribute in stored_message for message validation
* Add new content types and TypeAlias for schema in content_types.py
* Add custom serialization for UUID and BaseModel types in data schema
* Refactor `ContentType` to use `ContentTypes` union and update `content` field in `ContentBlock` model
* Update model to use specific types for properties and content_blocks fields
* Change return type of 'serialize_params' method to string
* Add sender fields and properties handling to PlaygroundEvent and create_message function
* Refactor chat message component to use 'properties' instead of 'meta_data' for chat attributes
* Refactor message handling to improve error categorization and session management
* Enhance ContentBlock initialization to update model fields with defaults
* Add new content types and update ContentBlock interface in chat types
- Introduced BaseContent interface and various content types: ErrorContent, TextContent, MediaContent, JSONContent, CodeContent, ToolStartContent, ToolEndContent, and ToolErrorContent.
- Created a union type ContentType for all content types.
- Updated ContentBlock interface to include new content structure and additional fields.
* Refactor error handling in chat messages to use `ErrorContent` type
* Add ErrorMessage class for handling error-specific messages in schema
* Add type annotations for cache and logs in custom_component.py
* Refactor error handling in custom component to use `send_error` method
* Add customizable properties for chat components
- Introduced new properties: `background_color`, `chat_icon`, and `text_color` to chat components across various starter projects.
- These properties allow for customization of the chat message appearance, including icon and text styling.
- Updated the `ChatInput` and `ChatOutput` components to handle these new properties and include them in the message response.
* Add 'category' field to MessageEvent and update create_message function
* Remove unused message handling methods from ChatComponent
* Refactor message event handling in chat module
* Add 'category' field to Message creation and pass 'id_' in _send_message_event
* Add 'category' field with Literal type to Message schema and default handling in chat IO
* Refactor message event handling in chat module
* Refactor buttonSendWrapper component to add data-testid attribute
* Refactor ChatComponent to replace 'store_message' with 'send_message' method
* refactor: streamline message handling in Component
Update message processing to utilize new methods for improved clarity and efficiency. Enhance event data management to ensure accuracy and consistency in message updates.
* feat: Update input handling and output storage for chat components
Enhance chat input and output components to improve message handling, including updates to storage and display properties. This facilitates better user experience and message management in various agent projects.
* Ensure 'id' field is set in message data dictionary if not present
* refactor: Simplify property retrieval from source component in ChatComponent
* refactor: Replace property retrieval logic with a dedicated method in ChatOutput
* Refactor `TokenEvent` class and add `timestamp` field with default factory
* refactor: Simplify message processing by removing unused parameters in async handling
* Refactor message text update logic in messagesStore
* Refactor border styling in ChatInput component
* refactor: Consolidate properties handling in PlaygroundEvent and create_message function
* refactor: Update timestamp formatting to include timezone information across multiple models
* refactor: Add StreamingError exception for better error handling in streaming components
* refactor: Add source_display_name attribute to Properties model for enhanced data representation
* refactor: Enhance ChatComponent to return source display name and update properties handling in ChatOutput
* refactor: Improve error handling in Component class and enhance create_error function with timestamp support
* feat: enhance ChatOutput component for improved message handling
Update the message_response method to include source display name and improve message storage functionality across various project templates. This enhances clarity and ensures consistent behavior of chat components.
* feat: add delete_message function to remove messages by ID from the monitor service
* Add error handling for message streaming and implement message deletion on failure
* feat: Enhance message streaming and event handling
Improve the streaming process to send message events only for non-streaming messages and ensure the initial message is sent correctly when processing chunks, enhancing the overall message handling flow.
* improve UI
* Refactor buttonSendWrapper component to add data-testid attribute and update tests
* fix edited tag
* add tooltip to add button
* fix bug after merge
* update examples
* updateinput without chat
* fix some frontend tests
* fix test
* update test
* Update fileUploadComponent.spec.ts to fix test and update input without chat
* refactor event creation functions and enhance ErrorEvent structure
* refactor ErrorMessage to use Source for sender and component details
* refactor Properties to use Source model for source details and add validation
* refactor ChatMessage component for improved readability and structure
* refactor ChatMessageType to use PropertiesType for improved structure and clarity
* Add Source ID to message properties and update exception handling
- Updated `message_response` method to include `source_id` in the `Properties` object for better traceability.
- Modified `StreamingError` to use `Source` object instead of `component_name` for more detailed error context.
- Adjusted `get_properties_from_source_component` to return `source_id` along with other properties.
* Add 'Source' property to error handling in custom_component module
- Introduced 'Source' property to enhance error message details.
- Updated error handling to include 'source' instead of 'display_name'.
- Modified exception raising to use 'source' for better traceability.
* Enhance event ID generation with event type prefix in `send_event` method
* Refactor ChatOutput class to use Properties and Source schemas for message properties
* update style in tailwind and add fallback for nullable values
* fix playground test
* Update message handling in Component class to send modified message copy on first chunk
* Add flow_id and session_id to ErrorEvent creation function
* Update content_blocks initialization and add flow_id parameter to ErrorMessage
* feat: include vertex ID in class instantiation
Pass the vertex ID to the custom component during instantiation to facilitate event tracking or management capabilities.
* fix: update message streaming logic to handle None messages and refactor _stream_message parameters
* feat: include flow_id in ChatOutput initialization
Add flow_id to the ChatOutput class to improve the tracking of conversational flows, enhancing the context management within the chat system.
* fix: update chat message source display to use 'source' instead of 'display_name'
* feat: add flow_id to message initialization in ChatOutput class
* fix: handle JSON parsing with type checks for message properties
Refine JSON loading to ensure proper type handling for message properties and content blocks, enhancing stability and preventing potential errors with non-string inputs.
* refactor: update logging structure and message handling
Improve the output logs to support logging multiple entries and ensure robust message streaming with type checking. Adjust error handling parameters for consistency.
* feat: restrict event types in registration and sending
Enhance event management by explicitly defining allowed event types, improving code clarity and reducing potential errors. This ensures only valid event types are registered and sent, leading to more robust event handling.
* Update `logs` attribute to store lists of `Log` objects in `Vertex` class
* feat: introduce TypedDicts for ContentBlock and Properties, update default values in Message model
* fix: restrict event types in send_event method to improve data validation
* Set default values for 'id', 'display_name', and 'source' fields in Source schema
* [autofix.ci] apply automated fixes
* fix: update query to use equality check for error messages
* make lint
* update simple agent test
* test: enhance EventManager tests for event_id validation
* feat: add background, chat icon, and text color properties to component toolkit
* fix: update LogComponent name to display_name for consistency
* remove playground from new cards on main page
* refactor: Update Properties handling in MessageTable and remove unused PropertiesDict
* fix: Set default value for category in MessageBase model
* fix: Update properties default factory in MessageTable model to use model_dump
* Add _build_source method to ChatOutput and update test inputs to use Message objects
* Fix incorrect parameter names in _build_source method across multiple JSON files
* ✅ (freeze.spec.ts, playground.spec.ts, stop-building.spec.ts, linkComponent.spec.ts, sliderComponent.spec.ts, tableInputComponent.spec.ts, stop-button-playground.spec.ts, generalBugs-shard-7.spec.ts): enable tests that were previously skipped to ensure proper functionality and coverage. Remove outdated comments and update test descriptions for clarity.
* Refactor agent event processing to support message streaming and improve content handling
* Refactor ChatOutput to enhance message handling and streamline property assignment
* Fix session ID assignment in send_message method for better message handling
* Add OnTokenFunctionType protocol for enhanced token handling
* Add BorderTrail component for animated border effects
* Add ContentBlockDisplay component for enhanced content visualization and loading state
* Refactor TextShimmer to use motion.create for improved component animation
* Add ContentBlockDisplay to render chat content blocks in newChatMessage component
* Refactor `ChatOutput` class to use `MessageInput` instead of `MessageTextInput` for `input_value` across starter projects.
* Update edge class name from 'runned' to 'ran' in flow components and store
* Add 'on_build_start' and 'on_build_end' events to EventManager
* Add build status updates for 'build_start' and 'build_end' events in buildUtils.ts
* Integrate event management for output function in ComponentToolkit to track build start and end events
* Refactor event handling in ComponentToolkit to improve build event tracking
* Refactor messagesStore to update existing message if it already exists
* update properties to have state attribute
* format
* Refactor chatMessage component to display loading state for partial chat messages
* Refactor reactflowUtils to handle broken edges with missing display names
* fix agent text output
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix agent component initialization
* Enhance error message formatting to include detailed exception information
* Refactor agent component for improved performance and stability
* Refactor `LCAgentComponent` to streamline agent execution logic and remove redundant methods
* Add type casting for send_message function in agent.py
* Change return type of function to 'Message' in log schema
* Add `embedding_service` and `client` fields to JSON configurations and refactor ChatOutput class
- Introduced `embedding_service` field in `Vector Store RAG.json` and `Travel Planning Agents.json` to support Astra Vectorize and embedding model selection.
- Added `client` field to `OpenAIEmbeddingsComponent` in JSON configurations for enhanced client configuration.
- Refactored `ChatOutput` class across multiple JSON files to include a new `_build_source` method for constructing `Source` objects, improving code modularity and readability.
- Updated import paths for `OpenAIEmbeddings` to reflect changes in the module structure.
* Update attribute handling in Component class to merge inputs with existing attributes
* Update ChatInput and ChatOutput initialization to include session_id
* Refactor test_load_flow_from_json_object to be asynchronous
* Add asynchronous tests for agent event handling in test_agent_events.py
* Add event handling functions for agent tool and chain events
- Implement functions to handle various agent events such as `on_chain_start`, `on_chain_end`, `on_tool_start`, `on_tool_end`, and `on_tool_error`.
- Introduce helper functions to build content blocks for agent messages.
- Create mappings for chain and tool event handlers.
- Refactor `process_agent_events` to utilize the new event handling functions.
- Remove the old `process_agent_events` implementation from `agent.py` and import the new one from `events.py`.
* feat: update content structure and validation logic
Enhance content block to accept a list of contents instead of a single item, and implement validation to ensure proper format. Refactor tool-related content types for improved clarity and functionality.
* Handle ValidationError in error message generation and update import paths
* feat: enhance error event creation to include structured error content
* move validators and remove utils.py
* feat: add event handler tests for agent tool and chain events
* refactor: streamline tool content structure
Combine multiple tool-related types into a single, more flexible interface. This simplifies the content handling by allowing optional properties for output, error, and timestamp, enhancing overall code maintainability. Adjust the ContentBlock interface to accommodate an array of contents for improved flexibility.
* feat: refactor error handling in ChatMessage component to support dynamic content blocks
* feat: enhance ContentBlockDisplay to support Markdown rendering and dynamic content handling
* Refactor agent event handling to simplify content block management
* Enhance `ContentBlockDisplay` with separators and improved content rendering logic
* add inline block to prevent text overflow in reason
* Refactor code to enhance Markdown rendering and dynamic content handling in ChatMessage component
* [autofix.ci] apply automated fixes
* Add timestamp field to BaseContent class and remove from ToolContent class
* Update timestamp validation to include fractional seconds in BaseContent class
* Add duration calculation for agent and tool events in events.py
* Refactor ContentBlock to use Pydantic's Discriminator and Tag for content types
* Add field validators for content_blocks and properties in Message class
* Add field serializer for source in Properties class
* Add type hint for serialize_properties method in MessageTable class
* create duration component and refactor contents
* [autofix.ci] apply automated fixes
* Refactor duration calculation to use perf_counter for improved accuracy and update ContentBlockDict to use dict for contents
* Update properties field validator to use 'before' mode for improved validation
* Refactor MessageTable to use ContentBlock instead of ContentBlockDict and enhance validation and serialization for properties and content_blocks
* Refactor AgentComponent to streamline agent initialization by using the set method directly
* Refactor event handling functions to use synchronous definitions and improve performance with asyncio.to_thread
* Refactor PythonREPLToolComponent to raise ToolException on error instead of returning error message
* Refactor CalculatorToolComponent to enhance error handling by raising ToolException and improving expression evaluation feedback
* Fix TextShimmer width in ContentBlockDisplay for improved layout consistency
* Enhance ContentBlockDisplay to support external links and math rendering in Markdown
* Enhance error handling in Calculator and Python REPL tools by introducing `ToolException` and improving expression evaluation logic.
* Refactor agent message properties to remove unnecessary icons and update content block titles for clarity
* feat: enhance agent and tool content messaging
Add headers to agent and tool content messages for better clarity and user experience.
* Handle nested schema structure in ContentBlock initialization
* fix: update agent input text content return type and enhance error message formatting
* Add placeholder and default value for model selection in AstraVectorStoreComponent
* Refactor event handling functions to remove `send_message_method` parameter and streamline message processing logic.
* Add model configuration to ToolContent for alias population
* Refactor agent event tests to improve message handling and content block initialization
* test: Update test durations for performance metrics
Adjust the recorded execution times for various test cases to ensure accurate performance tracking and facilitate optimization efforts.
* Refactor test_load_flow_from_json_object to improve project loading logic
* Make `HeaderDict` fields optional and update `header` field in `BaseContent`
* Enhance `Message` and `ChatOutput` with additional attributes for testing
* Update test duration metrics in .test_durations file
* Refactor `ContentDisplay` component to support multiple content types and improve rendering logic
* feat: Enhance duration display with human-readable format
Integrate the pretty-ms library to convert duration display metrics into a more user-friendly format, improving the overall user experience. Update dependencies to ensure compatibility with the latest version and optimize for newer Node.js versions.
* feat: Add optional duration and header properties to BaseContent interface
* fix: Change duration type from float to int in BaseContent class
* Remove default value for 'start_time' in duration calculations
* Enhance `ContentBlockDisplay` with dynamic header and expand/collapse animation
- Added `state` prop to `ContentBlockDisplay` to dynamically set header icon and title based on content state.
- Implemented `renderContent` function to encapsulate content rendering logic with animation.
- Integrated `ForwardedIconComponent` for displaying header icons.
- Updated `newChatMessage.tsx` to pass `state` prop to `ContentBlockDisplay`.
* Add animation to header title using AnimatePresence and motion components
* Add support for processing zip files with multithreading in FileComponent
- Enhanced FileComponent to handle individual and zipped text files.
- Introduced multithreading option for parallel processing of files within zip archives.
- Updated supported file types to include zip files.
- Improved error handling and logging for file processing.
* Expand `Message` conversion to support `AsyncIterator` and `Iterator` types.
* Remove unused function _find_or_create_tool_content from events.py
* Add header information to tool content and streamline message sending in event processing
* Add send_message_method parameter to event handlers for message dispatching
- Updated event handler functions to include a new parameter, `send_message_method`, allowing for message dispatching within the handlers.
- Modified the logic in each handler to utilize the `send_message_method` for sending messages.
- Adjusted the main event processing logic to pass the `send_message_method` to the appropriate handlers.
* Refactor ContentBlockDisplay component to improve rendering performance and user experience
* Refactor `ContentBlockDisplay.tsx` to improve readability and update header title logic
* [autofix.ci] apply automated fixes
* Add 'start_time' to event data and update test functions to include send_message mock
* Refactor ContentBlockDisplay component to include total duration and improve user experience
* Refactor ContentBlockDisplay component to handle isLoading state for total duration calculation
* Refactor animatedNumbers component and add AnimatedNumberBasic component
- Refactor the animatedNumbers component to improve readability and update the header title logic.
- Add a new component called AnimatedNumberBasic that displays an animated number with a specific value.
* Refactor agent message creation to improve event processing efficiency
* Refactor session ID assignment in run_graph_internal for improved clarity
* [autofix.ci] apply automated fixes
* fix: update agent message properties handling for improved compatibility
* fix: enhance message property validation to support dictionary input
* Add session_id to agent message initialization in tests
- Updated test cases in `test_agent_events.py` to include `session_id` in the `Message` initialization.
- Adjusted calls to `process_agent_events` to pass the `agent_message` with `session_id`.
* feat: Enhance event handling with duration tracking
Add start_time parameter to event handling functions to ensure consistent duration calculations across different stages of agent processing. This improves accuracy in measuring event durations and enhances overall event management.
* Add optional humanized value to AnimatedNumber component and update DurationDisplay usage
* Refactor `ContentDisplay` and add separator to `ContentBlockDisplay` component
* Add header to text content in agent message events
* Add separator between each content block in ContentBlockDisplay component
* Refactor layout in ContentDisplay component for improved styling and positioning
* Refactor event handlers to return updated start_time and agent_message
- Modified event handler functions to return a tuple of `agent_message` and `start_time`.
- Updated `_calculate_duration` to handle `start_time` as an integer.
- Ensured `start_time` is reset using `perf_counter()` after each event handling.
- Adjusted tool and chain event handler calls to accommodate the new return type.
* Add start_time and duration checks to agent event handlers in tests
- Updated test cases for `handle_on_chain_start`, `handle_on_chain_end`, `handle_on_tool_start`, `handle_on_tool_end`, `handle_on_tool_error`, and `handle_on_chain_stream` to include `start_time` as a return value.
- Added assertions to verify that `start_time` is a float and `duration` is an integer where applicable.
* [autofix.ci] apply automated fixes
* update colors and spacing of time
* [autofix.ci] apply automated fixes
* Refactor DurationDisplay component to display duration in seconds
* Rename case from "message" to "add_message" in buildUtils.ts switch statement
* Add event registration for message removal in EventManager
* Add category handling for message events in Component class
* Add custom exception handling for agent message processing
* Handle exceptions in agent event processing with message deletion and event notification
* Add new LLM options and refactor AgentComponent for dynamic provider handling
- Introduced new language model options: Anthropic, Groq, and NVIDIA.
- Refactored `AgentComponent` to utilize `MODEL_PROVIDERS_DICT` for dynamic provider handling.
- Simplified input management by removing hardcoded provider inputs and using a dictionary-based approach.
- Enhanced `update_build_config` to support flexible provider configurations and custom options.
* Refactor buildUtils.ts and add message removal handling
* Update Source model to allow None values for id, display_name, and source fields
* Refactor event handler functions to return tuple of Message and float
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* 🔧 (handleRenderComponent/index.tsx): Remove unused getTranslateX function and simplify tooltip positioning logic to improve code readability and maintainability.
* ⬆️ (auto-login-off.spec.ts): update tests to include explicit wait times for elements to be visible
⬆️ (userSettings.spec.ts): update tests to include explicit wait times for elements to be visible
* ✅ (userSettings.spec.ts): update test to interact with global variables by clicking on checkbox and deleting an item to ensure proper functionality
* ✨ (store-shard-2.spec.ts): Refactor test to use a reusable function for clicking elements and waiting for visibility to improve code readability and maintainability
🔧 (deleteFlows.spec.ts): Refactor test to use separate functions for waiting for and interacting with elements to improve code readability and maintainability
* 🐛 (store-shard-2.spec.ts): fix incorrect text comparison for filtering by tag in tests to match the actual text displayed on the page
* ✅ (store-shard-2.spec.ts): mark the test as skipped to prevent it from running due to missing STORE_API_KEY environment variable
* ✅ (deleteFlows.spec.ts): skip the test case "should delete a flow" to prevent it from running due to missing STORE_API_KEY environment variable
* ✅ (store-shard-3.spec.ts): skip tests that require STORE_API_KEY environment variable to run, as it is not available in the test environment
* Added required ShadCN Components
* Added required colors
* Added required icons
* Changed backend to not return beta tag
* Added sidebar categories api call
* Added required use-mobile hook
* Refactored icons to allow sizing
* Added type for sidebar category
* Allowed no name on shortcut display
* Added flow sidebar component that uses ShadCN sidebar
* Added SidebarDraggableComponent with the new style
* Replaced sidebar with current one on FlowPage
* Added sidebar fixed footer with options to go to store and add custom component
* Updated sidebar categories
* Updated background color for sidebar
* Changed size of Components title
* Added color to PageComponent
* Added required icons
* added CustomComponent category and removed custom component from helpers
* create hook useAddComponent
* Use hook to add components both in PageComponent and flowSidebarComponent
* Implement search
* Implement searching and filtering by clicking on edge
* Added check to see if store is present
* Updated colors to match new color schema
* Changed styling of filter component
* Added Beta and Legacy badges
* Implement Show Beta Components and Show Legacy Components
* Fixed styling for sidebar config when collapsed
* Refactored search to filter for tags
* Refactor useeffect
* Updated config button styling
* Implemented keyboard navigation
* Fixed filtering
* Updated color of canvas
* Implemented disclosure on sidebar settings and fetched bundles
* Added temp sidebar bundles
* Fixed badge styling
* Added bundles to categories response in frontend
* Added legacy to components
* Added link to store instead of langflow.store
* Added required data-testids
* Fixed tests to use new data-testids and new sidebar disposition
* Fix github star bug
* Fixed tests that used the custom component
* Changed test to test beta and legacy checkers
* added a test for keyboard navigation on sidebar
* Added a test to check component add by hover the plus button
* [autofix.ci] apply automated fixes
* updated sidebar switch change
* Removed changes on Backend and used only Frontend constants for categories
* merge fix
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (custom_component): Add CustomComponent class with input and output definitions
📝 (custom_component): Create CustomComponent class with display name, description, and documentation link
📝 (custom_component): Define input and output properties for CustomComponent class
📝 (custom_component): Implement build_output method in CustomComponent class
📝 (Ollama): Remove unnecessary whitespace in SvgOllama component
* formatting
* ♻️ (custom_component/__init__.py): refactor import statement to match the correct case of the file name for better consistency and readability
* 🔧 (FlowPage/index.tsx): remove FlowToolbar component when view prop is false to improve UI consistency
* 📝 (integration-side-bar.spec.ts): Comment out unnecessary code blocks related to API requests and modals to improve test readability and focus on the main test scenarios.
* [autofix.ci] apply automated fixes
* ✨ (flowSidebarComponent/index.tsx): add data-testid attribute to Sidebar component for testing purposes
🔧 (integration-side-bar.spec.ts): update test to use new data-testid attribute 'shad-sidebar' for Sidebar component to match changes in the codebase
* ✨ (stop-building.spec.ts): refactor test case to use a more descriptive test element for clicking on the sidebar custom component button
* format
* 🐛 (AstraDB): Fix variable naming inconsistency for isDark to isdark in AstraDB component
🐛 (HCD): Fix variable naming inconsistency for isDark to isdark in HCD component
🐛 (index.tsx): Fix variable naming inconsistency for isDark to isdark in index.tsx files
📝 (flowSidebarComponent): Refactor search functionality to normalize search terms and improve metadata search
📝 (filterEdge-shard-1.spec.ts): Update test to check visibility of specific model specs in the sidebar
* [autofix.ci] apply automated fixes
* ✅ (decisionFlow.spec.ts): add a delay of 500ms to ensure proper timing in the test case execution
* ✨ (decisionFlow.spec.ts): Update the X positions of elements in the flow to improve the visual representation and alignment of the elements.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Updated colors
* Fixed design for small screens
* Change border radius
* Changed size of text on templates description
* Fix shine effect on small screens
* Fixed icons on starter templates
* Updated mono font to JetBrains
* Updated icon hit area for X
* Added gradient wrapper and x-gradient
* Changed colors and font weights for nav component
* Added zoom on hover of gradient
* Fixed input size
* Fixed all templates to show everything
* Hide scrollbar
* Change text size of card
* Removed title of the categories
* Removed unused currentTab from templatecategory
* Updated position of search icon
* Updated style of inputs
* Updated search clear button
* Fixed bug on small screens
* Added no results query
* Fixed background on get started cards
* Added focus ring on nav component
* Added tab index to search and sidebar buttons
* Added keyboard navigation to templates
* Updated templatesModal to use ShadCN Sidebar
* Implemented collapsible sidebar
* Fix collapsible to work on mobile but be overlaying content
* Added noise to styleUtils
* Updated padding and sizes for mobile
* Updated text size
* Updated font family to inter
* Made get started components fetch title and description from the flow
* Updated description on get started component
* Updated naming of sidebar
* Updated description of start from scratch
* Updated color of selected sidebar item
* Changed text color for sidebar not active items
* changed description sizes
* changed to line clamp
* Reduced gap between icon and category text
* Fixed no results state
* Fixed X icon only appearing on hover
* Fix auto focus issue
* fixed hover color of primary button
* Fixed gradients to use stops if it exists and stop using random gradient
* removed random gradient
* Fixed design of cards in templates
* Updated nav to go through tests
* Fixed focus on input
* [autofix.ci] apply automated fixes
* New color
* fix testes
* Fixed starter projects test
* ✨ (starter-projects.spec.ts): add Page import to test function parameters for better code readability and maintainability
📝 (starter-projects.spec.ts): refactor test to include a function for waiting for template visibility, improving code readability and reducing duplication
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* updating components to access secret key with new method
* [autofix.ci] apply automated fixes
* 📝 (text_embedder.py): Add error messages as constants for better error handling and readability
📝 (text_embedder.py): Improve error handling and validation for embedding model and text content
📝 (text_embedder.py): Ensure proper protocol for the base URL in the embedding model client
📝 (text_embedder.py): Validate the output of embeddings and handle exceptions with logging
📝 (text_embedder.py): Refactor code to encapsulate results in a Data object and update status accordingly
📝 (similarity.spec.ts): Add a delay before clicking the button to run the text output test for better synchronization
* uv fix
* [autofix.ci] apply automated fixes
* 📝 (text_embedder.py): refactor error messages to use inline strings for better readability and maintainability
🐛 (text_embedder.py): fix issue with extracting the first element from embeddings list to ensure correct data handling
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
* create newmodal.tsx
* Add new icons to styleUtils.ts
* Refactor import path for IOModal in chatComponent/index.tsx
* Refactor import path for IOModal in chatComponent/index.tsx
* Refactor session selector UI in IOFieldView component
* Refactor NodeToolbarComponent to add a minimum width to SelectContent
* Refactor IOModal to use newChatView component for ChatView
* improve html structure to ensure aligment of texts
* Refactor IOModal to improve sidebar behavior and alignment
* add new input
* Add Image icon to nodeIconsLucide in styleUtils.ts
* Refactor uploadFileButton to use Image icon instead of PaperclipIcon
* Refactor chat input layout for improved alignment and behavior
* Refactor buttonSendWrapper component to show a "Stop" button with loading indicator
* add a new TextAreaWrapper component
* add icons and update colors
* Add CornerDownLeft icon to nodeIconsLucide in styleUtils.ts
* Refactor buttonSendWrapper component to use default button state
* create newFilePreview
* Refactor file preview component and update button styling
* Refactor file preview component and update button styling
* fix overflow bug
* Refactor ChatView component to include a lockChat feature and display a flow running message
* [autofix.ci] apply automated fixes
* Refactor ChatView component to fix padding issue
* [autofix.ci] apply automated fixes
* Refactor dependencies in uv.lock to use a more specific version specifier for astra-assistants package
* Refactor ChatView component to import newChatMessage instead of chatMessage
* Refactor IOModal newModal component to conditionally display the session name
* Refactor TextAreaWrapper component to update placeholder text and fix padding issue
* Refactor TextAreaWrapper component to update placeholder text and fix padding issue
* Refactor ChatView component to update lockChat UI and display flow running message
* Refactor ChatView component to update lockChat UI and display flow running message
* Refactor ChatMessage component to update sender name UI and fix message width issue
* Refactor EditMessageButton component to update button UI and add tooltips
* Refactor EditMessageButton component to update button UI and add tooltips
* Refactor EditMessageField component to update UI and add functionality
* update edit message field
* fix group reference
* Refactor CodeTabsComponent to update UI, add functionality, and improve code structure
* Refactor CodeTabsComponent to update UI and improve code structure
* Refactor CodeTabsComponent to simplify and improve UI
* [autofix.ci] apply automated fixes
* Refactor ChatView component to fix UI layout issue
* fix overflow code boundaries problems
* Refactor CSS to update background color variables
* Refactor ChatCodeTabComponent to update UI and improve code structure
* fix broken rebase changes
* [autofix.ci] apply automated fixes
* Refactor EditMessageButton component to remove delete functionality
* Refactor SessionSelector component to update UI and improve code structure
* Refactor SessionSelector component to update UI and improve code structure
* [autofix.ci] apply automated fixes
* refactor session selector to use old code and keep updates on newSessionSelector
* create new button send wrapper
* restore old button send wrapper and update imports
* restore upload file button and create new UploadFileButton
* [autofix.ci] apply automated fixes
* Add feature flag for new IO modal
* Refactor IOModal imports to support feature flag
* update package-lock.json
* [autofix.ci] apply automated fixes
* remove console.log
* Refactor session selector event handlers
* Refactor file deletion in ChatInput component
* [autofix.ci] apply automated fixes
* Refactor file handling in ChatInput component
* [autofix.ci] apply automated fixes
* add user icon to messages
* feat: Add "Run Flow" button to ChatInput component
This commit adds a new button labeled "Run Flow" to the ChatInput component. When clicked, it triggers the sendMessage function with a repeat value of 1. Additionally, if there is no input in the chat, a message is displayed prompting the user to add a Chat Input component to their flow.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* use Flush instead of timeout to prevent batch updates
* fix scroll while streaming
* fix: Use setTimeout instead with flushSync for batch updates in buildUtils.ts
* [autofix.ci] apply automated fixes
* fix: Set selected view field when session is visible in IOModal
* fix: Set selected view field when session is visible in IOModal
* fix: Reset selected view field when closing IOModal
* fix: Update date format in DateReader component
- Pad hours, minutes, and seconds with leading zeros
- Remove AM/PM from the formatted date
- Use 24-hour format for hours in the formatted date
fix: Update session ID generation in IOModal component
- Remove AM/PM from the session ID format
- Use 24-hour format for hours in the session ID
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Adding Astra Tools
* Format
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Lint and Renaming to AstraDB
* Adding Astra Tools
* Format
* [autofix.ci] apply automated fixes
* ignoring .dspy cache
* [autofix.ci] apply automated fixes
* docs: Improve the search UX in Langflow docs (#4089)
* Add Mendable search bar component
* Align Mendable anon_key retrieval
* Update url and tagline in docusaurus config
* Move sitemap config to preset options
* Add Mendable anon key to docusaurus config
* docs: remove old examples (#4102)
Removed old examples
* fix: network error handling and build errors (#4088)
* Fixed API not throwing network errors
* Fix onBuildError assigning wrong status for the components
* Fix Network Error handling, making it call onBuildError
* Fixed build stop not triggering the alert
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
* fix: store api key pydantic error (#4103)
Fixed User pydantic error
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
* version: upgrade to 1.0.19 and 0.0.97 (#4104)
* upgrade to 1.0.19 and 0.0.97
* build: add readme to dockerfile (#4105)
Add readme to dockerfile
* feat: Add traceback to fastapi exception handler logs (#4099)
Add traceback to fastapi exception handler logs
* fix: prevent possible race condition on upload flows/folders (#4114)
* ✨ (create-file-upload.ts): improve file upload functionality by adding cleanup logic and handling edge cases for resolving file selection
* 🐛 (create-file-upload.ts): fix removing input element from the DOM by checking if it is contained in the document body before removal
💡 (create-file-upload.ts): add a comment to clarify the purpose of the setTimeout function for a fallback timeout of 1 minute
* ✨ (create-file-upload.ts): change createFileUpload function to be asynchronous to support Promise return type for better handling of file upload operations
* 📝 (create-file-upload.ts): improve error handling when removing input element from the DOM
📝 (create-file-upload.ts): remove unnecessary comment about timeout value in the code
* fix: truncate "params" column on vertex_build table to prevent memory heap on database (#4118)
* ✨ (model.py): add new method `serialize_params` to serialize parameters data in VertexBuildBase class
* 🐛 (util_strings.py): fix truncation logic to correctly handle long strings by truncating them with ellipsis if they exceed the maximum length
* ✅ (test_truncate_long_strings.py): add unit tests for the truncate_long_strings function to ensure it works correctly with various input scenarios
* ✅ (test_truncate_long_strings_on_objects.py): update test assertion message to reflect the expected behavior of the function
* refactor: add pagination on folders (#4020)
* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3
⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.
* ✨ (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability
* ✨ (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls
* ✨ (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path
* packages changes
* packages changes
* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent
* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics
* ✨ (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality
* ✨ (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles
* ✨ (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.
* ✨ (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.
* ✨ (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.
* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
✨ (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance
* ✨ (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing
* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability
* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment
* ✨ (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience
* ✨ (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType
* ✨ (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently
* ✨ (types.ts): introduce Pagination type to define structure for pagination data in frontend application
* ✨ (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.
* ✨ (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator
* ✨ (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store
* ✨ (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store
* ✨ (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.
* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file
* ✨ (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.
* ✨ (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component
* ✨ (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.
* ✨ (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability
* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability
* 📝 (folders.py): reorganize imports to improve readability and maintain consistency
* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true
* 📝 (folders.py): remove unnecessary empty line to improve code readability
* ✨ (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability
* ✨ (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.
* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability
* ✨ (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.
* ✨ (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.
* ✨ (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook
* ✨ (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.
* ✨ (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability
* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events
* ✨ (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas
* ✨ (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously
* ✨ (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency
* ✨ (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink
* ✨ (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.
* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.
* ✨ (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.
* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity
* ✨ (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not
* ✨ (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing
* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly
* ✨ (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.
* ✨ (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override
* ✨ (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.
* ✨ (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability
* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows
* ✨ (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API
* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management
* ✨ (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.
* ✨ (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.
* ✨ (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.
* ✨ (types.ts): introduce new Tag type to represent a tag with id and name properties
* ✨ (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store
* 📝 (App.css): add a blank line for better readability and consistency in the CSS file
* ✨ (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience
* ✨ (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
✨ (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability
* ✨ (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity
* ✨ (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization
* ✨ (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.
* ✨ (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false
* ✨ (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data
* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null
* ✨ (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability
* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability
* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability
* ✨ (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.
* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability
* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow
* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders
* ✨ (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options
* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter
* ✨ (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.
* ✨ (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls
* ✨ (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.
* ✨ (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information
* [autofix.ci] apply automated fixes
* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder
* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness
* ✨ (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability
* ✅ (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.
* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity
* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability
* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder
* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow
* ✨ (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy
* ✅ (folders.spec.ts): update selectors to target specific elements correctly for testing purposes
* ✨ (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates
* ✨ (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fix: Add UTC timezone info to message.timestamp. (#4129)
* fix: enhance recursive_serialize_or_str to handle BaseModelV1 and improve exception logging (#4132)
Enhance `recursive_serialize_or_str` to handle `BaseModelV1` and improve exception logging
* fix: name/description bug in "Flow as Tool" (#4097)
Fix name/description bug in "Flow as Tool".
* chore: add opensearch-py dependency (#4134)
Add opensearch-py dependency to pyproject.toml
* refactor: starter projects templates and components (#4121)
* Update starter flows
* Update button with new menu variants
* Updated AstraDB icon
* Made header be optional on baseModal and added classname to content
* Removed old newFlowModal
* added a Nav component to show the sidebar categories
* Created new templates modal
* Updated components and modals to use new Templates modal
* Added used icons
* added template card
* changed templates modal to use modular components
* Add template content
* Add get started content
* added other size for templates
* Added size in base modal
* Changed menu ring-0 to be important
* Added all of the images of get started
* Fix hover effect on spirals
* Implement clicking get started templates
* Fix shiny design
* update package lock
* update examples
* updated card design
* Added grid of examples to templates
* Implemented card click
* Changed hover effect
* Added arrows
* delete unused
* implemented fuse search
* Added create blank project
* Made tags be read
* Added tags to basic prompting
* Added types
* Added tags to the tabs
* remove important from tailwind config
* updated setup and model to include icon
* added random-gradient npm package
* updated colors to remove white
* added icons
* inserted metadata of icons and etc into starter flows
* Removed integrations and added blank project creation
* Added gradient to cards
* Reset query when changing tab, reset scroll when typing
* added mix blend overlay to text
* Added id and gradient to templatecard type
* made icons for components still work
* added important on stroke
* formatting
* Fixed infinite render
* added test id to create blank project
* added data test id for templates title
* ✨ (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility
* ✨ (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application
* ✨ (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility
* ✨ (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent
* fixed currentTab not changing results
* Fixed various tests
* ✨ (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite
* Fix other tests relying on multiple
* fix two edges test
* Fix hover on test 3 of generalBugs
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ref: Add ruff rules TRY3xx (#4098)
Add ruff rules TRY3xx
* ref: Some ruff rule fixes from preview mode (#4131)
Some ruff rule fixes from preview mode
* ref: Add ruff rules for pydocstyle (D) (#4120)
Add ruff rules for pydocstyle (D)
* ref: Add ruff rules for arguments (ARG) (#4123)
Add ruff rules for arguments (ARG)
* ref: Add ruff rules for boolean trap (FBT) (#4126)
Add ruff rules for boolean trap (FBT)
* fix: escape directory to prevent \n on Windows directory name to fail on Pathlib + Tests (#4101)
* 📝 (utils.py): add format_directory_path function to properly escape and format directory paths for consistency and validity
* ✨ (test_format_directory_path.py): add unit tests for the format_directory_path function to ensure correct formatting of directory paths
📝 (test_format_directory_path.py): add documentation and examples for different types of directory paths in the unit tests to improve code readability and maintainability
* 🐛 (utils.py): fix the incorrect replacement of backslashes with newline characters in the format_directory_path function
📝 (test_rewrite_file_path.py): update test cases and function names to reflect the changes made in the format_directory_path function in utils.py
* 🐛 (test_format_directory_path.py): update parameter name from 'path' to 'input_path' for clarity and consistency
📝 (test_format_directory_path.py): improve test case descriptions and handle newline characters in paths correctly
* feat: update theme (#4084)
* update theme
* update component styles
* change output node background
* update background for component folderrs
* update astra icon coloring
* fix: border and editor display issues (#4142)
* Fixed border on chat input on playground
* Fixed ace editor not taking up entire screen
* fix: Union type on components (#4137)
* 🐛 (type_extraction.py): fix condition to correctly handle UnionType objects in type extraction process
* ✨ (test_schema.py): add support for additional data types and nested structures in post_process_type function to improve type handling and flexibility
* ✅ (test_schema.py): add additional test cases for post_process_type function to cover various Union types and combinations for better test coverage and accuracy
* Adding Astra Tools
* [autofix.ci] apply automated fixes
* Lint and Renaming to AstraDB
* Adding Astra Tools
* Cleanup old files and re-format
* More formatting
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Eric Schneider <37347760+eric-schneider@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: dhlidongming <lidongming@dhgate.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* Update starter flows
* Update button with new menu variants
* Updated AstraDB icon
* Made header be optional on baseModal and added classname to content
* Removed old newFlowModal
* added a Nav component to show the sidebar categories
* Created new templates modal
* Updated components and modals to use new Templates modal
* Added used icons
* added template card
* changed templates modal to use modular components
* Add template content
* Add get started content
* added other size for templates
* Added size in base modal
* Changed menu ring-0 to be important
* Added all of the images of get started
* Fix hover effect on spirals
* Implement clicking get started templates
* Fix shiny design
* update package lock
* update examples
* updated card design
* Added grid of examples to templates
* Implemented card click
* Changed hover effect
* Added arrows
* delete unused
* implemented fuse search
* Added create blank project
* Made tags be read
* Added tags to basic prompting
* Added types
* Added tags to the tabs
* remove important from tailwind config
* updated setup and model to include icon
* added random-gradient npm package
* updated colors to remove white
* added icons
* inserted metadata of icons and etc into starter flows
* Removed integrations and added blank project creation
* Added gradient to cards
* Reset query when changing tab, reset scroll when typing
* added mix blend overlay to text
* Added id and gradient to templatecard type
* made icons for components still work
* added important on stroke
* formatting
* Fixed infinite render
* added test id to create blank project
* added data test id for templates title
* ✨ (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility
* ✨ (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application
* ✨ (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility
* ✨ (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent
* fixed currentTab not changing results
* Fixed various tests
* ✨ (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite
* Fix other tests relying on multiple
* fix two edges test
* Fix hover on test 3 of generalBugs
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3
⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.
* ✨ (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability
* ✨ (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls
* ✨ (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path
* packages changes
* packages changes
* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent
* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics
* ✨ (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality
* ✨ (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles
* ✨ (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.
* ✨ (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.
* ✨ (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.
* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
✨ (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance
* ✨ (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing
* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability
* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment
* ✨ (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience
* ✨ (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType
* ✨ (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently
* ✨ (types.ts): introduce Pagination type to define structure for pagination data in frontend application
* ✨ (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.
* ✨ (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator
* ✨ (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store
* ✨ (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store
* ✨ (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.
* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file
* ✨ (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.
* ✨ (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component
* ✨ (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.
* ✨ (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability
* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability
* 📝 (folders.py): reorganize imports to improve readability and maintain consistency
* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true
* 📝 (folders.py): remove unnecessary empty line to improve code readability
* ✨ (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability
* ✨ (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.
* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability
* ✨ (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.
* ✨ (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.
* ✨ (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook
* ✨ (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.
* ✨ (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability
* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events
* ✨ (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas
* ✨ (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously
* ✨ (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency
* ✨ (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink
* ✨ (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.
* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.
* ✨ (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.
* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity
* ✨ (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not
* ✨ (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing
* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly
* ✨ (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.
* ✨ (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override
* ✨ (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.
* ✨ (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability
* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows
* ✨ (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API
* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management
* ✨ (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.
* ✨ (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.
* ✨ (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.
* ✨ (types.ts): introduce new Tag type to represent a tag with id and name properties
* ✨ (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store
* 📝 (App.css): add a blank line for better readability and consistency in the CSS file
* ✨ (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience
* ✨ (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
✨ (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability
* ✨ (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity
* ✨ (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization
* ✨ (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.
* ✨ (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false
* ✨ (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data
* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null
* ✨ (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability
* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability
* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability
* ✨ (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.
* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability
* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow
* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders
* ✨ (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options
* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter
* ✨ (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.
* ✨ (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls
* ✨ (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.
* ✨ (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information
* [autofix.ci] apply automated fixes
* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder
* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness
* ✨ (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability
* ✅ (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.
* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity
* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability
* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder
* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow
* ✨ (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy
* ✅ (folders.spec.ts): update selectors to target specific elements correctly for testing purposes
* ✨ (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates
* ✨ (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (frontend): Add react-json-view-lite package to frontend dependencies
📝 (frontend): Update JsonView component in dictAreaModal to use dark theme and adjust class name
📝 (frontend): Update background color for dark theme in JsonView component styling
* 🔧 (generalBugs-shard-13.spec.ts): remove unnecessary line causing linting issue
* updating lock
* feat: Add NoteDraggableComponent to extraSidebarComponent
This commit adds the NoteDraggableComponent to the extraSidebarComponent in the FlowPage. The NoteDraggableComponent allows users to drag and drop sticky note icons onto the page. When a note is dragged, its data is set as "note" in the dataTransfer object. The note has a default text value of null and a noteColor of "yellow". This component enhances the user experience by providing a convenient way to add notes to the page.
* feat: Add NoteNode component for displaying and editing notes
This commit adds the NoteNode component, which is responsible for displaying and editing notes in the FlowPage. The NoteNode component includes functionality for resizing, selecting, and editing the note text. It enhances the user experience by providing a convenient way to add and manage notes on the page.
* feat: Add NoteNode and NoteDraggableComponent for managing notes in FlowPage
This commit adds the NoteNode component, responsible for displaying and editing notes in the FlowPage. It also introduces the NoteDraggableComponent, allowing users to drag and drop sticky note icons onto the page. These components enhance the user experience by providing a convenient way to add and manage notes on the page.
* feat: Add DRAG_EVENTS_CUSTOM_TYPESS constant for custom drag event types
This commit adds the DRAG_EVENTS_CUSTOM_TYPESS constant to the constants file. It defines custom drag event types for the generic node and note node components. This constant enhances the code by providing a centralized place to manage and reference the custom drag event types.
* feat: Add support functions for custom drag event types
* feat: Add support for custom drag event types in PageComponent
This commit adds support for custom drag event types in the PageComponent of the FlowPage. It imports the necessary functions from the utils file and uses them to check if the dragged data has supported node types. This enhancement improves the drag and drop functionality by allowing only supported node types to be dropped on the page.
* feat: Add NoteDataType for managing note data in FlowPage
* refactor: create new types for noteNode
* feat: Update NoteNode component to use new NoteDataType
The NoteNode component in the NoteNode/index.tsx file has been updated to use the new NoteDataType for managing note data in the FlowPage. This change ensures consistency and improves the codebase.
* node with title and description
* feat: Add "note" alias for StickyNote in nodeIconsLucide
This commit adds the "note" alias for the StickyNote icon in the nodeIconsLucide object in the styleUtils.ts file. This alias allows for more intuitive usage of the StickyNote icon by providing an alternative name. It improves code readability and maintainability.
* refactor: Update NodeDescription component to use emptyPlaceholder prop
The NodeDescription component in the GenericNode/components/NodeDescription/index.tsx file has been updated to use the emptyPlaceholder prop. This change allows for more flexibility in customizing the placeholder text when the description is empty. It improves code reusability and enhances the user experience.
* refactor: Remove unused Textarea import in NoteNode component
* add initial resize to note component
* [autofix.ci] apply automated fixes
* refactor: add code validation functionality on tanstack mutation (#3469)
* Added Validate endpoint
* Added API Code Validate type
* Added post validate code hook
* Used mutation instead of API call to validate code
* Removed validate code api call
* refactor: Update NodeName component to use full width in GenericNode
The NodeName component in the GenericNode module has been updated to use the full width of the parent container. This change ensures that the input field or tooltip for the node name occupies the entire available space, improving the visual consistency and user experience.
* refactor: Update NodeDescription component to use full height in GenericNode
The NodeDescription component in the GenericNode module has been updated to use the full height of the parent container. This change ensures that the description text area occupies the entire available space, improving the visual consistency and user experience.
* refactor: Update NodeDescription component to use full height in GenericNode
* refactor: Update NodeDescription component to use full height in GenericNode
* increase size control on note node
* refactor: Update NoteNode component to use constants for min and max dimensions
The NoteNode component in the CustomNodes module has been updated to use the constants for the minimum and maximum dimensions. This change improves code readability and maintainability by centralizing the values in the constants file. The component now uses the NOTE_NODE_MIN_WIDTH, NOTE_NODE_MIN_HEIGHT, NOTE_NODE_MAX_HEIGHT, and NOTE_NODE_MAX_WIDTH constants for setting the dimensions of the NodeResizer and the inline styles. This ensures consistency across the application and makes it easier to adjust the dimensions in the future.
* fix overflow issue
* refactor: update NoteDraggableComponent
The NoteDraggableComponent in the extraSidebarComponent module has been updated to remove unused code and improve functionality. The code for adding a note has been removed as it is no longer needed. Additionally, the component has been updated to use a new design and layout for better user experience. This refactor improves the overall code cleanliness and removes unnecessary clutter.
* refactor: Update NoteNode component to use constants for min and max dimensions
* update component to accept multiple colors
* update note colors
* update min width
* refactor: Update NodeDescription component to accept additional styling options
The NodeDescription component in the GenericNode module has been updated to accept additional styling options. The component now includes the inputClassName, mdClassName, and style props, allowing for more customization of the input and markdown elements. This refactor improves the flexibility and extensibility of the component, making it easier to adapt to different design requirements.
* fix bug on description size
* [autofix.ci] apply automated fixes
* feat: skip note nodes when building vertices"
add check to skip nodes of type NoteNode when building vertices in the graph
this prevents unnecessary processing of note nodes which are not part of the actual graph logic
* fix: update serialization and improve error handling (#3516)
* feat(utils): add support for V1BaseModel in serialize_field
Add support for V1BaseModel instances in the serialize_field function by
checking for a "to_json" method. If the method is not present, return the
attribute values as a dictionary.
* refactor: Update field serializer function and error handling in build_flow function
* fix: no module named 'psycopg2' (#3526)
* fix: add dependecy to Dockerfile
* fix: revert quick fix
* fix: update poetry.lock
* feat: add compression support to frontend and backend (#3484)
* Added compression lib to frontend
* Added compression handling to backend
* Added compression to body requests on frontend
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* refactor: add code validation functionality on tanstack mutation (#3469)
* Added Validate endpoint
* Added API Code Validate type
* Added post validate code hook
* Used mutation instead of API call to validate code
* Removed validate code api call
* refactor: Update NodeName component to use full width in GenericNode
The NodeName component in the GenericNode module has been updated to use the full width of the parent container. This change ensures that the input field or tooltip for the node name occupies the entire available space, improving the visual consistency and user experience.
* fix imports
* refactor: remove unused import in styleUtils.ts
* refactor: update checkOldNodesOutput to include only generic nodes
The checkOldNodesOutput function in reactflowUtils.ts has been updated to include only generic nodes when checking for nodes without outputs. This change ensures that only nodes of type "genericNode" are considered, improving the accuracy of the check and preventing false positives.
* refactor: improve checkOldNodesOutput to include only generic nodes
* [autofix.ci] apply automated fixes
* 📝 (frontend): Add data-testid attribute to elements for testing purposes in NodeDescription, NoteToolbarComponent, NoteNode, and Textarea components
✨ (frontend): Create end-to-end test for interacting with sticky notes including creating, editing, duplicating, and deleting notes
* ✨ (stop-building.spec.ts): Add a 1-second delay after clicking the stop building button to improve user experience
✨ (sticky-notes.spec.ts): Add a new end-to-end test for interacting with sticky notes on the main page to ensure functionality and user interaction with sticky notes.
* refactor: update NodeName and GenericNode components to improve UI and code readability
* [autofix.ci] apply automated fixes
* chore: Update NodeDescription component to use dark mode placeholder color
* chore: Update sidebar note component icon to use StickyNote instead of SquarePen
* refactor(main.py): remove unused imports and middleware related to GZip to simplify code and improve readability
feat(main.py): add middleware for configuring logger to improve logging functionality and centralize logging configuration
* add center postion in the flow
* chore: Update NoteNode icon to use SquarePen instead of StickyNote
* [autofix.ci] apply automated fixes
* chore: Update API base URL
* [autofix.ci] apply automated fixes
* chore: add feature flag for MVPs
* code format
* ✨ (NoteNode/index.tsx): Wrap IconComponent in a div with data-testid "note_icon" for better accessibility and testing
✨ (PageComponent/index.tsx): Add data-testid "add_note" to ControlButton for easier testing and identification
🔧 (sticky-notes.spec.ts): Update test selectors to use new data-testid "note_icon" and "add_note" for improved test reliability
* chore: Update types-markdown to version 3.7.0.20240822
* feat: Add lazy loading for images in sticky-notes.spec.ts
* [autofix.ci] apply automated fixes
* update poetry lock
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Refactor feature flag import for ENABLE_MVPS across components and tests
* Add skip marker to unimplemented test in test_graph_state_model.py
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Commit to solve Model not loading issue
The issue was that the url of the models: api/tags was not parsed correctly.
It was having a // hence used urlencode to parse it properly.
Th e correct apporach works only if the base_url is correct,i.e a valid ollama URL:
for DS LF this must be a public ollama Server URL.
* updated the component Ollama Component
changed the get model to take in base url and the function will make the expected url for the model names. This makes the function better, than providing the model url as paramter.
Added Pytest, 7 tests, 1 test excluded for future implememtstion: test_build_model_failure
Make lint and Make format had touched multiple files
* removed unwanted print statements
removed unwanted print statements.
make format, formatted a lot of .tsx files also
* removed skipped tests
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* 🐛 (users.py): Fix issue where user password was not being updated correctly
📝 (constants.ts, authContext.tsx, index.tsx): Add LANGFLOW_REFRESH_TOKEN constant and update related code to support refresh token functionality
📝 (userManagementModal/index.tsx): Update form reset logic and handle input values correctly
📝 (LoginPage/index.tsx, LoginAdminPage/index.tsx): Update login function to include refresh token parameter
📝 (components/index.ts, auth.ts): Update inputHandlerEventType to support boolean values
✨ (auto-login-off.spec.ts): Add end-to-end test for user login functionality with auto_login set to false, CRUD operations for users, and verification of user flows visibility based on permissions.
* ✨ (auto-login-off.spec.ts): improve test description for better clarity and understanding
📝 (auto-login-off.spec.ts): add comments to clarify the purpose of intercepting requests and performing CRUD operations
* 🐛 (users.py): fix comparison of password to check for None using 'is not None' instead of '!= None' for better accuracy
* fixed patch update flow
* fixed update flow patch to receive id by payload
* created save flow hook with auto save and manual save functions
* fix poetry lock
* added auto save check with environment variable
* removed unused user
* separated autosave and put the flow as a creation with nodes and edges
* removed set nodes that skipped saving
* implemented auto save hook
* removed autosave from setNodes and setEdges
* added auto save hook and saved on viewport move and added useEffect to save on nodes and edges changed
* changed type of setNodes
* removed unused var
* removed deletion of empty flow
* Added saving of flow on button when autoSave is disabled
* disable saving when the nodes are empty
* removed save loading as false when the access token is renewed
* implemented useDebounce
* added save loading to save flow hook
* removed setting nodes and edges on fetching, since they are set when the current flow is updated
* removed unused var
* use debounce hook to save flow
* set nodes and edges on current flow id change
* removed useplaygroundeffect
* removed unused import
* put set save loading before the If
* removed flow cleaning and inputs setting, since the inputs and outputs are set on the ResetFlow function
* updated to use ResetFlow function to update everything regarding flow
* removed flow pool get on resetFlow, for it to be fetched only if the user is inside the flow
* updated packagelock
* Changed router to outlet on app.tsx to use createRouter
* Created authSettingsGuard to guard the general settings
* Fixed routes to use createBrowserRouter to allow the use of useBlocker
* Changed index.tsx to use RouterProvider and the router just created
* Changed flowStore to have a local flow state
* Implemented setting the current flow state when saving the flow
* Added the update of current flow when auto saving
* changed current flow to use the current flow from Flow Store instead of Flows Manager Store
* Changed codeTabsComponent Tweaks check to show if its checked
* Removed unused variables
* Removed browser router from context wrapper
* Removed unused console.log
* Changed initialSetup to just run when opening the modal
* changed confirmationModal to have destructiveCancel and to only call onCancel if the other buttons were not pressed
* Created a SaveChangesModal that confirms if the user wants to save their changes
* Get folder by id when folder id changes too
* Changed reset flow calls to store whole flow
* Added check if user is exiting page to prevent him when there are unsaved changes
* Added new types on ConfirmationModalType
* Implement save on clicking the save button on the header
* added save component shortcut to use save shortcut as save flow
* added save component shortcut on shortcutsStore type
* changed save shortcut to save component on node toolbar
* added save shortcut to header menubar
* changed shortcuts name to be compatible with existing ones
* changed shortcuts to be backwards compatible
* changed save to changes to maintain retrocompatibility
* changed save_component to save to maintain retrocompatibility
* Changed time difference to unsaved changes
* changed the toolbar select item to get the right save shortcut
* Changed save flow to use current flow from useFlowStore instead of the previous saved flow
* changed changesNotSaved to include flow name and metadata
* Added way of saving the flow settings just locally instead of directly to database
* Changed shareModal to save flow with hook
* removed old auto saving on connect
* Removed save functions from flowsManagerStore
* refactor: Remove unused imports and state variables in EditFlowSettings component
* use current flow not saved one and refactored page to not receive flow
* added check of isFlowPage to display the menubar
* Added checks to render playground if API key is valid and if Flows exists
* Added check to not display X on chat on playground page
* Updated flows variable to be undefined by start to prevent things from loading before flows initialize
* Implemented log builds parameter to not allow the builds to be logged if user not on flowPage
* feat(utils.py): add escape_json_dump function to escape JSON strings for Edge dictionaries
* refactor(Output): streamline add_types method to prevent duplicate entries in types list for improved type management
* feat(data.py): add classmethod decorator to validate_data for enhanced validation logic when checking data types
* feat(setup.py): implement retry logic for loading starter projects to enhance robustness against JSON decode errors
* fix(input_mixin.py): improve model_config formatting and update field_type alias for clarity and consistency in field definitions
* feat(types.py): refactor vertex constructors to use NodeData and add input/output methods for better component interaction
* feat(schema.py): add NodeData and Position TypedDicts for improved type safety and structure in vertex data handling
* feat(base.py): update Vertex to use NodeData type and add to_data method for better data management and access
* refactor(schema.py): update TargetHandle and SourceHandle models to include model_config attribute
* Add TypedDict classes for graph schema serialization in `schema.py`
* Refactor `Edge` class to improve handle validation and data handling
- Consolidated imports and removed redundant `BaseModel` definitions for `SourceHandle` and `TargetHandle`.
- Added `valid_handles`, `target_param`, and `_target_handle` attributes to `Edge` class.
- Enhanced handle validation logic to distinguish between dictionary and string types.
- Introduced `to_data` method to return edge data.
- Updated attribute names to follow consistent naming conventions (`base_classes`, `input_types`, `field_name`).
* Refactor `Edge` class to improve handle validation and data handling
* Refactor: Standardize attribute naming and add `to_data` method in Edge class
- Renamed attributes to use snake_case consistently (`baseClasses` to `base_classes`, `inputTypes` to `input_types`, `fieldName` to `field_name`).
- Added `to_data` method to return `_data` attribute.
- Updated validation methods to use new attribute names.
* Refactor: Update Edge class to consistently use snake_case for attributes and improve validation logic for handles
* Refactor: Change node argument type in add_node and _create_vertex methods to NodeData for better type safety and clarity
* Refactor: Implement JSON serialization for graph data with `dumps` and `dump` methods, enhancing data export capabilities
* Refactor: Add pytest fixtures for ingestion and RAG graphs, enhance test structure for better clarity and organization
* Refactor: Add pytest fixtures for memory_chatbot_graph tests and improve test structure
* Refactor: Remove unused methods in ComponentVertex class to streamline code and improve readability
* Refactor: Remove unnecessary line in ComponentVertex class to enhance code clarity and maintainability
* refactor: Add utility functions for getting handle IDs in CustomNodes
- Added `getRightHandleId` function to generate the right handle ID for source handles.
- Added `getLeftHandleId` function to generate the left handle ID for target handles.
- These functions improve code readability and maintainability by encapsulating the logic for generating handle IDs.
* refactor: Add type for escaped handle IDs in edges to improve type safety in reactflowUtils
* feat: Add function to escape handle IDs in edges, enhancing edge management in reactflowUtils
* feat: Add function to check edges without escaped handle IDs, improving edge validation in reactflowUtils
* feat: Enhance edge processing in reactflowUtils to handle edges without escaped handle IDs more effectively
* feat: Add layoutUtils module for handling node layout using elkjs
* feat: update processDataFromFlow to add layout to nodes if needed
* feat: Update flowsManagerStore to parse flow data from file before processing
- Replace usages of `fileData` with `parsedFlowData` for improved clarity
- Ensure compatibility with newProject and isComponent parameters
- Improve error handling for uploading components as flows or vice versa
- Refactor code for better readability and maintainability
* Refactor import paths to use 'initialize' module in 'base.py'
* feat: Add method to set class source code and integrate it with frontend node input field
* refactor: Update sourceHandle dataType to use custom component class name
* fix: Raise error for unknown vertex types instead of returning default Vertex class
* refactor: Remove redundant call to _import_vertex_types() in VertexTypesDict initialization
* refactor: Simplify add_code_field by removing unnecessary field_config parameter from function signature
* feat: Add elkjs dependency to package.json and package-lock.json for enhanced functionality in the frontend
* refactor: Update fields type in Template class to use InputTypes for improved type safety
* refactor: Update import path for DefaultPromptField to improve code organization and maintain compatibility
* refactor: Reorganize imports in __init__.py for better structure and consistency across the inputs module
* refactor: Clean up imports in types.py for better organization and consistency in the graph vertex module
* refactor: Change vertex type annotations to strings for better compatibility and consistency in the graph module methods
* refactor: Update component instantiation to include _code parameter and fix input type annotations for improved type handling
* refactor: Remove unused CustomComponent import from __init__.py for cleaner module structure and improved organization
* refactor: Modify custom_component instantiation to include _code argument for enhanced functionality and clarity in CodeParser class
* refactor: Update CustomComponent import in __init__.py for improved module structure and organization
* refactor: Update launch.json to include correct path for backend source files
* refactor: Update dependencies in poetry.lock to latest versions and resolve merge conflicts in backend files
* [autofix.ci] apply automated fixes
* refactor: Remove unnecessary line in test_memory_chatbot.py
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Correct flow_id reference in MemoryComponent to improve clarity and consistency in memory handling
* refactor: Update import path for DefaultPromptField to improve code organization and maintainability in api_utils.py
* refactor: Add loading module to __init__.py for improved organization of interface package
* refactor: Clean up imports in base.py and enforce edge validation in Graph class for improved maintainability and error handling
* refactor: Remove edge component additions in test_base.py to streamline graph tests and emphasize error handling for unprepared graphs
* refactor: Mark @clack/prompts is-unicode-supported as extraneous in package-lock.json for better dependency management
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Fix edge existence check in Graph class to use correct variable, ensuring accurate validation of graph structure
* refactor: Add test for graph with edge and improve graph preparation logic
* refactor: Set default node type to "genericNode" in getLayoutedNodes for consistent layout structure
* create consts for node widht and height
* refactor: Catch and log errors when processing flow data in flowsManagerStore and reactflowUtils
* [autofix.ci] apply automated fixes
* fix: Validate custom components for source and target vertices in Graph edges
* test: Add fixture for client and raise TypeError for invalid class parsing in CodeParser tests
* test: Add unit test for listing flows as Flow objects in custom component with client
* test: Update assertions for memory chatbot component types in unit tests
* test: Refactor assertions to use updated component names in vector store RAG unit tests
* fix: Change error handling to return default Vertex for unknown node types in graph class
* [autofix.ci] apply automated fixes
* test: Add pytest fixture for CustomComponent in unit tests to enhance test structure and readability
* chore: Update component names in vector store RAG unit tests
* test: Refactor imports and make flow name generation unique in database unit tests
* chore: Add new attributes to Edge class for improved state management and validation in edge processing logic
* chore: Implement addition methods for Graph class to combine vertices and edges from other graph instances safely
* chore: Extend serialization in Graph class to include additional internal attributes for improved state handling
* chore: Call initialize method in prepare for proper setup before validating component IDs in Graph class
* chore: Add test to validate graph combination in vector store RAG, ensuring correct vertices and edges in merged graph structure
* refactor: Add utility functions for getting handle IDs in CustomNodes
- Added `getRightHandleId` function to generate the right handle ID for source handles.
- Added `getLeftHandleId` function to generate the left handle ID for target handles.
- These functions improve code readability and maintainability by encapsulating the logic for generating handle IDs.
* refactor: Add type for escaped handle IDs in edges to improve type safety in reactflowUtils
* feat: Add function to escape handle IDs in edges, enhancing edge management in reactflowUtils
* feat: Add function to check edges without escaped handle IDs, improving edge validation in reactflowUtils
* feat: Enhance edge processing in reactflowUtils to handle edges without escaped handle IDs more effectively
* feat: Add layoutUtils module for handling node layout using elkjs
* feat: update processDataFromFlow to add layout to nodes if needed
* Refactor import paths to use 'initialize' module in 'base.py'
* feat: Add method to set class source code and integrate it with frontend node input field
* refactor: Update sourceHandle dataType to use custom component class name
* fix: Raise error for unknown vertex types instead of returning default Vertex class
* refactor: Remove redundant call to _import_vertex_types() in VertexTypesDict initialization
* refactor: Simplify add_code_field by removing unnecessary field_config parameter from function signature
* feat: Add elkjs dependency to package.json and package-lock.json for enhanced functionality in the frontend
* refactor: Update fields type in Template class to use InputTypes for improved type safety
* refactor: Reorganize imports in __init__.py for better structure and consistency across the inputs module
* refactor: Clean up imports in types.py for better organization and consistency in the graph vertex module
* refactor: Change vertex type annotations to strings for better compatibility and consistency in the graph module methods
* refactor: Update component instantiation to include _code parameter and fix input type annotations for improved type handling
* refactor: Remove unused CustomComponent import from __init__.py for cleaner module structure and improved organization
* refactor: Modify custom_component instantiation to include _code argument for enhanced functionality and clarity in CodeParser class
* refactor: Update CustomComponent import in __init__.py for improved module structure and organization
* refactor: Update launch.json to include correct path for backend source files
* refactor: Update dependencies in poetry.lock to latest versions and resolve merge conflicts in backend files
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Correct flow_id reference in MemoryComponent to improve clarity and consistency in memory handling
* refactor: Update import path for DefaultPromptField to improve code organization and maintainability in api_utils.py
* refactor: Add loading module to __init__.py for improved organization of interface package
* refactor: Clean up imports in base.py and enforce edge validation in Graph class for improved maintainability and error handling
* refactor: Remove edge component additions in test_base.py to streamline graph tests and emphasize error handling for unprepared graphs
* refactor: Mark @clack/prompts is-unicode-supported as extraneous in package-lock.json for better dependency management
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Fix edge existence check in Graph class to use correct variable, ensuring accurate validation of graph structure
* refactor: Add test for graph with edge and improve graph preparation logic
* refactor: Set default node type to "genericNode" in getLayoutedNodes for consistent layout structure
* create consts for node widht and height
* refactor: Catch and log errors when processing flow data in flowsManagerStore and reactflowUtils
* [autofix.ci] apply automated fixes
* fix: Validate custom components for source and target vertices in Graph edges
* test: Add fixture for client and raise TypeError for invalid class parsing in CodeParser tests
* test: Add unit test for listing flows as Flow objects in custom component with client
* test: Update assertions for memory chatbot component types in unit tests
* test: Refactor assertions to use updated component names in vector store RAG unit tests
* fix: Change error handling to return default Vertex for unknown node types in graph class
* [autofix.ci] apply automated fixes
* test: Add pytest fixture for CustomComponent in unit tests to enhance test structure and readability
* chore: Update component names in vector store RAG unit tests
* test: Refactor imports and make flow name generation unique in database unit tests
* chore: Remove unused upload and flow management functions from flowsManagerStore for cleaner codebase
* chore: Await processDataFromFlow in useAddFlow hook
* chore: Correct NODE_HEIGHT calculation to use NODE_WIDTH constant for consistency in constants file
* chore: Remove extraneous flag for is-unicode-supported in package-lock.json for cleaner dependency management
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* refactor: Add utility functions for getting handle IDs in CustomNodes
- Added `getRightHandleId` function to generate the right handle ID for source handles.
- Added `getLeftHandleId` function to generate the left handle ID for target handles.
- These functions improve code readability and maintainability by encapsulating the logic for generating handle IDs.
* refactor: Add type for escaped handle IDs in edges to improve type safety in reactflowUtils
* feat: Add function to escape handle IDs in edges, enhancing edge management in reactflowUtils
* feat: Add function to check edges without escaped handle IDs, improving edge validation in reactflowUtils
* feat: Enhance edge processing in reactflowUtils to handle edges without escaped handle IDs more effectively
* feat: Add layoutUtils module for handling node layout using elkjs
* feat: update processDataFromFlow to add layout to nodes if needed
* Refactor import paths to use 'initialize' module in 'base.py'
* feat: Add method to set class source code and integrate it with frontend node input field
* refactor: Update sourceHandle dataType to use custom component class name
* fix: Raise error for unknown vertex types instead of returning default Vertex class
* refactor: Remove redundant call to _import_vertex_types() in VertexTypesDict initialization
* refactor: Simplify add_code_field by removing unnecessary field_config parameter from function signature
* feat: Add elkjs dependency to package.json and package-lock.json for enhanced functionality in the frontend
* refactor: Update fields type in Template class to use InputTypes for improved type safety
* refactor: Reorganize imports in __init__.py for better structure and consistency across the inputs module
* refactor: Clean up imports in types.py for better organization and consistency in the graph vertex module
* refactor: Change vertex type annotations to strings for better compatibility and consistency in the graph module methods
* refactor: Update component instantiation to include _code parameter and fix input type annotations for improved type handling
* refactor: Remove unused CustomComponent import from __init__.py for cleaner module structure and improved organization
* refactor: Modify custom_component instantiation to include _code argument for enhanced functionality and clarity in CodeParser class
* refactor: Update CustomComponent import in __init__.py for improved module structure and organization
* refactor: Update launch.json to include correct path for backend source files
* refactor: Update dependencies in poetry.lock to latest versions and resolve merge conflicts in backend files
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Correct flow_id reference in MemoryComponent to improve clarity and consistency in memory handling
* refactor: Update import path for DefaultPromptField to improve code organization and maintainability in api_utils.py
* refactor: Add loading module to __init__.py for improved organization of interface package
* refactor: Clean up imports in base.py and enforce edge validation in Graph class for improved maintainability and error handling
* refactor: Remove edge component additions in test_base.py to streamline graph tests and emphasize error handling for unprepared graphs
* refactor: Mark @clack/prompts is-unicode-supported as extraneous in package-lock.json for better dependency management
* refactor: Update dataType assignment in Component class to use component name if available, or fallback to class name
* refactor: Fix edge existence check in Graph class to use correct variable, ensuring accurate validation of graph structure
* refactor: Add test for graph with edge and improve graph preparation logic
* refactor: Set default node type to "genericNode" in getLayoutedNodes for consistent layout structure
* create consts for node widht and height
* refactor: Catch and log errors when processing flow data in flowsManagerStore and reactflowUtils
* [autofix.ci] apply automated fixes
* fix: Validate custom components for source and target vertices in Graph edges
* test: Add fixture for client and raise TypeError for invalid class parsing in CodeParser tests
* test: Add unit test for listing flows as Flow objects in custom component with client
* test: Update assertions for memory chatbot component types in unit tests
* test: Refactor assertions to use updated component names in vector store RAG unit tests
* fix: Change error handling to return default Vertex for unknown node types in graph class
* [autofix.ci] apply automated fixes
* test: Add pytest fixture for CustomComponent in unit tests to enhance test structure and readability
* chore: Update component names in vector store RAG unit tests
* test: Refactor imports and make flow name generation unique in database unit tests
* chore: Remove unused upload and flow management functions from flowsManagerStore for cleaner codebase
* chore: Await processDataFromFlow in useAddFlow hook
* chore: Correct NODE_HEIGHT calculation to use NODE_WIDTH constant for consistency in constants file
* chore: Remove extraneous flag for is-unicode-supported in package-lock.json for cleaner dependency management
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: update TextAreaComponent styling for edit node table
Adjust the styling of the TextAreaComponent in the edit node table to fix the positioning of eye icon
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* merge
* [autofix.ci] apply automated fixes
* support for MultilineSecretInput
* add support for MultilineSecretInput
* [autofix.ci] apply automated fixes
* ruff
* align eye-icon
* tweaks and modal
* [autofix.ci] apply automated fixes
* textare edit modal hidden text plus eye icon
* fix pydantic serialization warning
* [autofix.ci] apply automated fixes
* chore: Add password visibility toggle to text area components
* [autofix.ci] apply automated fixes
* fix list assistants
* fix: remove extraneous property from is-unicode-supported dependency
* fix: update TextAreaComponent styling for edit node table
Adjust the styling of the TextAreaComponent in the edit node table to fix the positioning of the side-bar button. The right margin of the button was changed from 5.2rem to 4.2rem to align it correctly with the text area. This change improves the visual consistency of the edit node table.
* fix modal not sync with outside state
* add comment for future devs
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* removed console log and fixed nulland
* Fixed ag grid version mismatch
* Fixed unused import
* Fixed ctrl+a not working on edit node and tweaks
* Fixed styling on editnode
* Made it work on mac
* ✅ (generalBugs-shard-7.spec.ts): add end-to-end test for selecting all with ctrl + A on advanced modal to ensure functionality works as expected
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* changed column defs to receive handleOnNewValue and use it to change Advanced variable
* Exported function isTargetHandleConnected
* Refactored types of setNodeClass
* Exported type of handleOnNewValue
* Refactored useHandleNodeClass to only handle changes to node data
* Refactored toggleCellRender to handle advanced values by itself with the handleOnNewValue
* changed setNodeClass types and disabled hook
* changed handleNodeClass on parametercomponent
* changed handleNodeClass on the two components that used it
* refactor: Update handleNodeClass to accept newNodeClass and type only
* Refactor EditNodeModal component to use new handleNodeClass and columnDefs
* Changed columnDefs to receive new handleNodeClass and not receive useless parameters
* changed cellTypeStr to strRender
* Refactored inputFileComponent to use the new handleOnNewValue
* Refactored keypairList to convert values on the fly
* added parameterRenderComponent that renders all parameters in one place
* Exported parameterRenderComponent
* Changed tableNodeCellRender to use ParameterRenderComponent
* changed parameterredercomponent to receive name
* changed strrendercomponent to receive name
* changed nodecellrender to pass name and to check if value is undefined before assigning on templateData
* chore: Refactor use-handle-new-value to handle undefined values in changes
* Used ParameterRenderComponent at parameterComponent
* Refactored parameterRenderComponent to include refresh button
* Created refresh parameter component
* Added nodeId to parameterrendercomponent call
* Removed unused variable
* Refactored refreshButton
* Fixed parameters not showing when they dont have a value
* Created a tweakComplnent that renders the tweak individually, with the same table as the EditNode
* Created tweaks component, that renders all tweaks
* Changed tableNodeCellRender to pass setNode as well
* changed handleOnNewValue to use custom setNode if specified
* added editNodeComponent that handles the table and rowData and columnDefs
* changed editNodeModal to use editNodeComponent instead of table
* changed columndefs type to handle setNode and hideVisibility optional parameters
* changed useRowData to not use myData, and just use nodeClass
* Changed codeTabsPropsType tweaks property to include only the ncessary
* changed codeTabsComponent to use TweaksComponent and handle an internal nodes state
* changed apiModal to handle the tweaks build by finding the differences between old and current node
* fix bug on API modal that refresh tweaks table all the time
* Created new tweaks store type
* Added tweaks store with all of the logic needed to get the tweaks on the API page
* refactored TweakComponent to hold an temporary state to prevent the table from rerendering
* Added TweakComponent into TweaksComponent
* Removed external state on tableAdvancedToggle, making every state come from the Stores
* Removed external state from TableNodeCellRender and added isTweaks to choose which store to use
* Added SetNode type on HandleOnNewValue
* Added custom setNode to handleNodeClass
* Removed unused logic from apiModal
* removed unused old code
* Changed type of getChangesTypes
* Transformed string into object on get codes
* Changed getNodesWithDefaultValue to return nodes that will appear on Tweaks, as well as just the allowed parameters
* added hasTweaks to tabs
* added check of template keys to update the local nodeClass state, allowing the table to be updated just when the number of parameters changes
* passed isTweaks to columnDefs
* removed unused state and passed isTweaks to value getters
* Removed unused state
* updated tabsArrayType with hasTweaks and removed unused types
* Added local nodes tweaks state to the codetabscomponent and refactored conditions of display
* removed unused console.log
* changed advanced toggle to use parameterid given by the value
* changed nodecellrender to use parameter id given by the value
* passed parameter id by value to the renderers
* removed nodeClass from columnDefs definition
* Fixed isTargetHandleConnected returning error if field is undefined
* Fix performance issues on edit node modal
* Fixed scroll overflow issues on tweaksComponent
* Revert "Revert "refactor: update template api, handleonnewvalue and handlenodeclass hooks (#2628)""
This reverts commit 236ae82cabba2fa1128f498d781099facd222b57.
* 📝 (tweaksTest.spec.ts): remove redundant code and improve readability by simplifying the interaction with elements in the test case
* added custom id for tests
* ✨ (frontend): Add unique id prop to input components for better testability and accessibility.
✨ (Hierarchical Tasks Agent.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (Memory Chatbot.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (Sequential Tasks Agent.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (chatInputOutputUser-shard-0.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (chatInputOutputUser-shard-1.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (chatInputOutputUser-shard-2.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (decisionFlow.spec.ts): Update input list element IDs to improve clarity and consistency
✨ (decisionFlow.spec.ts): Update prompt area element IDs to improve clarity and consistency
✨ (decisionFlow.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (freeze-path.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (generalBugs-shard-0.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (generalBugs-shard-1.spec.ts): Update dropdown element IDs to improve clarity and consistency
✨ (generalBugs-shard-3.spec.ts): Update dropdown element IDs to improve clarity and consistency
🔧 (logs.spec.ts, textInputOutput.spec.ts): update dropdown test selectors to match changes in the frontend codebase
* Fixed prompt not holding the value when validating
* Fixed range spec on int component
* Fixed OpenAI Model max tokens range spec
* ✨ (dropdownComponent.spec.ts): Update dropdown test cases to use more descriptive test IDs for better clarity and maintainability
📝 (fileUploadComponent.spec.ts): Add explicit wait for "Run Flow" button to ensure it is loaded before clicking
📝 (folders.spec.ts): Update file path in readFileSync function to use an absolute path for better reliability
📝 (freeze-path.spec.ts): Refactor test code to remove commented out code and improve readability by using more descriptive test IDs and removing unnecessary code snippets
✨ (inputListComponent.spec.ts): Update test file to use consistent naming convention for input elements in the InputListComponent
📝 (intComponent.spec.ts): Refactor test file to use consistent naming convention for input elements in the IntComponent
✨ (nestedComponent.spec.ts): Update test steps and interactions for nestedComponent to improve test coverage and accuracy.
📝 (promptModalComponent.spec.ts): Update test selectors for prompt modal component to improve consistency and readability
📝 (textAreaModalComponent.spec.ts): Update test selectors for text area modal component to improve consistency and readability
📝 (toggleComponent.spec.ts): Update test selectors for toggle component to improve consistency and readability
* 🐛 (intComponent.spec.ts): fix incorrect value comparison in test for IntComponent
🐛 (intComponent.spec.ts): fix missing test step for clicking on a specific element in IntComponent test
* 📝 (Vector Store.spec.ts): increase timeout for waiting for "built successfully" text to improve test reliability and prevent false negatives
* Fixed folders test
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Added fuzzy search and custom value on search on Dropdown Component
* added allowCustom prop to allow custom values on dropdownComponent
* changed type of allowCustom
* added custom to custom field on dropdown
* Fixed empty search not showing all of the options
* Added Text on the left of the label
* 🐛 (generalBugs-shard-5.spec.ts): fix test to wait for elements to be interactable before performing actions to prevent flakiness
* 📝 (API/api.tsx): return error in promise rejection to handle errors properly
📝 (codeAreaModal/index.tsx): add data-testid attribute to title element for testing purposes
✨ (generalBugs-shard-6.spec.ts): add end-to-end test for error handling in Code Modal
* 📝 (generalBugs-shard-6.spec.ts): update test description for better clarity and grammar