* Catch timeout errors on check server
* Make errors propagate from the MCP clients
* Apply timeout error handling and made Server change only trigger a loader on the Tools dropdown
* Add placeholder to ToolsInput on errors
* Updated useEffect to run when nothing is selected
* Added timeout handling to mcp component
* Added placeholder to tools component
* removed unused props
* Added timeout handling on loading of tools on config page
* Fixed key pair input not working
* Set key pair values as empty list
* Surface final error from mcp
* Removed ID from tool mode turning on
* Turn exception on to more places
* Fixed cache on mcp component and make tool mode data not reset
* Added loading placeholder only if there are no data
* Refresh data if placeholder is Loading on tool mode
* Show modal if no tools are available
* Add useEffect to run handleOnNewValue if placeholder is Loading actions...
* Removed checks from toolsTable to run handleOnNewValue
* Sanitized MCP name
* Updated message
* Fixed actions not loading in mcp component
* [autofix.ci] apply automated fixes
* reuse mcp servers
* mypy fixes
* fix: update tool reference in MCPToolsComponent to use field_value
* Added last_updated to backend
* get latest version of node and compare last_updated before returning post template value
* assign last updated and only set node class if newTemplate exists
* Adds type
* Removed timeout from backend to frontend
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: phact <estevezsebastian@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* chore: add jest-junit dependency for improved test reporting
- Updated package.json and package-lock.json to include jest-junit version 16.0.0, enhancing test reporting capabilities in the project.
* chore: enhance Jest configuration for improved test coverage and CI reporting
- Added coverage collection settings, including coverage thresholds and report formats.
- Configured CI-specific options for Jest, including the use of jest-junit for test reporting and adjusted worker settings for better performance in CI environments.
* chore: update frontend test command for CI mode to ensure proper environment variable usage
- Modified the test command in the Makefile to set CI=true for accurate test execution in CI environments.
* chore: enhance frontend CI workflow with test reporting and coverage uploads
- Replaced the frontend dependency installation step with a command to run unit tests in CI mode.
- Added steps to publish test results using junit report and to comment on pull requests with coverage summaries.
- Implemented artifact upload for coverage reports to improve visibility and tracking of test coverage over time.
* chore: add frontend dependency installation step to CI workflow
- Introduced a step to install frontend dependencies using npm ci in the GitHub Actions workflow.
- This enhancement ensures that all necessary packages are available before running frontend unit tests, improving the reliability of the CI process.
* chore: update junit report action version in CI workflow
- Upgraded the junit report action from v5 to v5.5.1 in the GitHub Actions workflow to leverage the latest features and improvements for test result reporting.
* chore: add Jest unit test workflow for frontend
- Introduced a new GitHub Actions workflow to run Jest unit tests for the frontend.
- The workflow includes steps for checking out the repository, setting up the Node.js environment, running tests, publishing test results, adding coverage comments on pull requests, and uploading coverage reports.
- This enhancement improves the CI process by ensuring comprehensive testing and reporting for frontend components.
* chore: integrate Jest unit tests into CI workflow
- Added a new job to the CI workflow to run frontend unit tests using Jest.
- Updated the changes filter to include Jest test files, ensuring they are recognized during the CI process.
- This enhancement improves the testing coverage and reliability of the frontend components.
* fix: enhance dropdown component with refresh button and clean up parameter render logic
- Added a refresh button to the dropdown component, improving user interaction.
- Refactored parameter render component to remove unnecessary wrapping around the render function.
- Updated package-lock.json to remove extraneous dependencies.
* [autofix.ci] apply automated fixes
* refactor(OutputComponent): replace DropdownMenu with Popover and Command components
- Updated OutputComponent to use Popover and Command components for improved UI interaction.
- Refactored dropdown logic to enhance accessibility and user experience.
- Added a reference for the button to manage focus visibility.
* refactor: update Memory Chatbot configuration and remove unused RefreshParameterComponent
- Changed display names and output methods in Memory Chatbot JSON configuration for clarity and consistency.
- Introduced a new output method for retrieving messages as text.
- Removed the RefreshParameterComponent and its references from the parameter render component to streamline the codebase.
* refactor: update dropdown component layout for improved styling
- Changed the layout classes in the dropdown component to enhance responsiveness and visual consistency.
- Adjusted flex properties to ensure proper alignment and spacing based on the presence of filtered metadata.
* refactor: streamline dropdown component structure and enhance button functionality
- Removed redundant rendering functions for refresh and custom option dialogs, integrating them directly into the dropdown's main structure.
- Improved layout and styling for better responsiveness and visual consistency.
- Adjusted class names for better alignment and spacing, particularly in relation to filtered metadata.
- Ensured the refresh button is consistently displayed based on dialog input conditions.
* refactor: enhance dropdown component styling for better readability
- Updated text size in dropdown options for improved visibility.
- Increased padding in command items for better touch targets and visual consistency.
* refactor: adjust dropdown component styling for improved usability
- Reduced padding in the search input for a more compact design.
- Updated text size in the search input for better readability.
- Enhanced layout of filtered metadata display for clearer visibility.
* refactor: enhance dropdown component rendering and styling
- Added console log for filtered metadata to assist in debugging.
- Adjusted class names in dropdown options for better responsiveness based on filtered metadata length.
* feat: add data-testid attributes for refresh buttons and simplify memoization in ParameterRenderComponent
- Added data-testid attributes to refresh buttons in Dropdown component for improved testability.
- Removed unnecessary useMemo in ParameterRenderComponent to streamline rendering logic.
- Introduced a new test for the refresh dropdown list functionality to ensure proper behavior.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat(tests): add Jest configuration and setup for testing environment
- Introduced Jest configuration file to set up testing environment with TypeScript support and JSDOM.
- Added setupTests.ts for global test configurations, including mocks for ResizeObserver and IntersectionObserver.
- Updated package.json and package-lock.json to include Jest and related dependencies.
- Implemented utility functions for processing markdown content, including handling tables and <think> tags.
- Added comprehensive tests for markdown utility functions to ensure proper functionality.
* refactor(makefile): separate frontend commands into a dedicated Makefile
- Removed frontend-related targets from the main Makefile and created a new Makefile.frontend to manage frontend-specific commands.
- Updated the main Makefile to include a reference to the new frontend Makefile and added a help message for frontend commands.
- This restructuring improves organization and clarity for managing backend and frontend build processes.
* 🐛 (chat-view.tsx): fix parameter name from stream_url to _stream_url to improve clarity
✨ (chat-view.tsx): add logic to handle scrolling behavior based on chat history updates and message content changes
* ♻️ (chat-view.tsx): refactor updateChat function parameters to remove unused _stream_url parameter and improve code readability
* Update styleUtils.ts
* update to prompt component
* update to template
* update to mcp component
* update to smart function
* [autofix.ci] apply automated fixes
* update to templates
* fix sidebar
* change name
* update import
* update import
* update import
* [autofix.ci] apply automated fixes
* fix import
* fix ollama
* fix ruff
* refactor(agent): standardize memory handling and update chat history logic (#8715)
* update chat history
* update to agents
* Update Simple Agent.json
* update to templates
* ruff errors
* Update agent.py
* Update test_agent_component.py
* [autofix.ci] apply automated fixes
* update templates
* test fix
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* fix prompt change
* feat(message): support sequencing of multiple streamable models (#8434)
* feat: update OpenAI model parameters handling for reasoning models
* feat: extend input_value type in LCModelComponent to support AsyncIterator and Iterator
* refactor: remove assert_streaming_sequence method and related checks from Graph class
* feat: add consume_iterator method to Message class for handling iterators
* test: add unit tests for OpenAIModelComponent functionality and integration
* feat: update OpenAIModelComponent to include temperature and seed parameters in build_model method
* feat: rename consume_iterator method to consume_iterator_in_text and update its implementation for handling text
* feat: add is_connected_to_chat_output method to Component class for improved message handling
* feat: refactor LCModelComponent methods to support asynchronous message handling and improve chat output integration
* refactor: remove consume_iterator_in_text method from Message class and clean up LCModelComponent input handling
* fix: update import paths for input components in multiple starter project JSON files
* fix: enhance error message formatting in ErrorMessage class to handle additional exception attributes
* refactor: remove validate_stream calls from generate_flow_events and Graph class to streamline flow processing
* fix: handle asyncio.CancelledError in aadd_messagetables to ensure proper session rollback and retry logic
* refactor: streamline message handling in LCModelComponent by replacing async invocation with synchronous calls and updating message text handling
* refactor: enhance message handling in LCModelComponent by introducing lf_message for improved return value management and updating properties for consistency
* feat: add _build_source method to Component class for enhanced source handling and flexibility in source object management
* feat: enhance LCModelComponent by adding _handle_stream method for improved streaming response handling and refactoring chat output integration
* feat: update MemoryComponent to enhance message retrieval and storage functionality, including new sender type handling and output options for text and dataframe formats
* test: refactor LanguageModelComponent tests to use ComponentTestBaseWithoutClient and add tests for Google model creation and error handling
* test: add fixtures for API keys and implement live API tests for OpenAI, Anthropic, and Google models
* fix: reorder JSON properties for consistency in starter projects
* Updated JSON files for various starter projects to ensure consistent ordering of properties, specifically moving "type" to follow "selected_output" for better readability and maintainability.
* Affected files: Basic Prompt Chaining.json, Blog Writer.json, Financial Report Parser.json, Hybrid Search RAG.json, SEO Keyword Generator.json.
* refactor: simplify input_value type in LCModelComponent
* Updated the input_value parameter in LCModelComponent to remove AsyncIterator and Iterator types, streamlining the input options to only str and Message for improved clarity and maintainability.
* This change enhances the documentation and understanding of the expected input types for the component.
* fix: clarify comment for handling source in Component class
* refactor: remove unnecessary mocking in OpenAI model integration tests
* auto update
* update
* [autofix.ci] apply automated fixes
* fix openai import
* revert template changes
* test fixes
* update templates
* [autofix.ci] apply automated fixes
* fix tests
* fix order
* fix prompts import
* fix frontend tests
* fix frontend
* [autofix.ci] apply automated fixes
* add charmander
* [autofix.ci] apply automated fixes
* fix prompt frontend
* fix frontend
* test fix
* [autofix.ci] apply automated fixes
* change pokedex
* remove pokedex extra
* update template
* name fix
* update template
* mcp test fix
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Yuqi Tang <yuqi.tang@datastax.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Added mcp error handling
* Added error param to servers
* Added error display on mcp servers page
* Added error display on mcp component
* Added error handling for other types of errors
* uv lock update and add error handling
* update mcp version
* fixed tool mode not working on mcp component
* update mcp to 1.9.4
* Removed server parameters custom commands on connection to stdio
* removed unused import
* disable mcp notice
* Removed drop state when home type is mcp
* Added loading before showing tools
* Updated mcp to 1.9.4
* Decreased mcp timeout
* Implemented error surfacing with exec command
* removed non default keys either way when mcp_server is used
* update to session handling
* [autofix.ci] apply automated fixes
* updated it to check if it is the same server to not clear on startup
* update to components
* Update mcp_component.py
* Update mcp_component.py
* Update mcp_component.py
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ✨ (frontend): add new function clearHandlesFromAdvancedFields to handle clearing handles from advanced fields when code is updated
📝 (frontend): update documentation and add tests for deleting handles from advanced fields when code is updated
🔧 (frontend): remove unused style for Outlook in styleUtils to clean up code
🔧 (frontend): add test for deleting handles from advanced fields when code is updated in general-bugs-delete-handle-advanced-input.spec
* ✨ (frontend): add support for managing edges and nodes in the flowStore to improve data handling and flow visualization
♻️ (frontend): refactor cleanEdges function to accept an object with nodes, edges, componentId, and data parameters for better modularity and reusability
* ✨ (codeAreaModal/index.tsx): Refactor import statements and function names for better clarity and organization
♻️ (flowStore.ts): Refactor cleanEdges function to accept nodes and edges as separate arguments instead of an object
♻️ (flowStore.ts): Update all calls to cleanEdges function to pass nodes and edges separately
♻️ (reactflowUtils.ts): Refactor clearHandlesFromAdvancedFields function to accept only necessary arguments and remove unnecessary logic
* Refactor test_components_path to run server in thread
The test now starts the CLI server in a separate thread on a free port, allowing asynchronous startup and avoiding port conflicts. This change improves test reliability and better simulates real server behavior.
* Update src/backend/tests/unit/test_cli.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Improve error handling in run_flow CLI test helper
The run_flow function now raises a RuntimeError with a detailed message if the CLI invocation fails, making test failures easier to diagnose.
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
chore: Comment out Docker build workflow for langflow-all due to runner limitations
* Temporarily disabled the `call_docker_build_main_all` job in the nightly release workflow.
* Added a TODO note to revisit this when the runner can accommodate builds with large dependencies like PyTorch.
* Added validation for nodes before building, make validation message appear as toast instead of build error
* Make subgraph validation not occur in flowStore
* Added function to search for connected nodes down or upstream
* Added validation before flow starts of the connected flows
* Catch error when sending message and restore chat value
* Made enter not behave as enter on chat input text area
* made sendMessage be async and throw errors
* Added build status error to the nodes that didn't make it past validation.
* Fixed flow not running when not every edge is showed
---------
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* CodeRabbit Generated Unit Tests: Update unit tests in test_projects.py
* [autofix.ci] apply automated fixes
* 📝 CodeRabbit Chat: Add unit tests for projects API in test_projects.py
* [autofix.ci] apply automated fixes
* refactor(tests): streamline project tests and enhance Cyrillic character handling
- Removed redundant test cases for unauthorized project creation and duplicate project names.
- Consolidated Cyrillic character tests for clarity and improved documentation.
- Added constants for Cyrillic project name and description to enhance readability.
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Added handling for wsl isntallation of claude
* Fixed installed server not appearing
* Added message to restart
* fix formatting and error handling
* fixed lint
* chore: update dependencies in pyproject.toml and uv.lock
* Updated `docling` to `docling_core>=2.38.0` in `pyproject.toml`.
* Removed outdated `docling` package entries from `uv.lock`.
* Adjusted dependency markers for `gassist` and `triton` to improve compatibility across platforms.
* chore: downgrade docling_core dependency in pyproject.toml
* Changed `docling_core` version from `>=2.38.0` to `>=2.36.1` for compatibility.
* Added optional dependency group for `docling` with the updated version.
* Added traceloop.py and initialized in service.py, also updated pyproject.toml
* updated returned callbacks list length from 5 to 6. Formatted service.py
* [autofix.ci] apply automated fixes
* OpenInference span kind replaced with Opentelemetry Span kind
* Added traceloop.py and initialized in service.py, also updated pyproject.toml
* updated returned callbacks list length from 5 to 6. Formatted service.py
* [autofix.ci] apply automated fixes
* OpenInference span kind replaced with Opentelemetry Span kind
* Added traceloop.py and initialized in service.py, also updated pyproject.toml
* updated returned callbacks list length from 5 to 6. Formatted service.py
* [autofix.ci] apply automated fixes
* OpenInference span kind replaced with Opentelemetry Span kind
* Updated as per coderabbitai suggested and tested
* Fixed deprecated NoneType
* code formatted
* revert uv.lock
* add new line to uv.lock
* updated service.py
* [autofix.ci] apply automated fixes
* fix(DoclingInlineComponent): add import error handling for missing Docling module
* Revert "Merge branch '2getsandesh/main' into remove-torch-deps"
This reverts commit b95891f0e27e8620873fbe97116709ca5de41e51, reversing
changes made to 9e0f1ae30a6655a82948546035147e0e2fc924ae.
---------
Co-authored-by: Sandesh R <2getsandesh@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Sandesh R <Sandesh.R24@ibm.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>