Dragdrop main - #432
Conversation
* fix: Proper parsing of GCP credentials JSON * Update save_file.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Update test_save_file_component.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Fix GCP issues * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update test_save_file_component.py * Update save_file.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update save_file.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Update save_file.py * Fix ruff errors * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [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>
* fix: Suppress SIGSEGV errors * Update test_cli.py * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Update anthropic_constants.py * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: Don't fail if doc column is missing * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Surface warning message to the UI * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update test_docling_utils.py * [autofix.ci] apply automated fixes * Update test_docling_utils.py --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…-ai#10834) * Add feature flag check to simplified_run_flow_session Access to the simplified_run_flow_session endpoint is now restricted by the agentic_experience feature flag. If the flag is not enabled, the endpoint returns a 404 error. * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…0866) * Update opensearch_multimodal.py * [autofix.ci] apply automated fixes * Update opensearch_multimodal.py * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: Support Batch Run with watsonX * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Update batch_run.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fix image upload for Gemini/Anthropic and ChatOutput session_id preservation * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * fix ruff erros * [autofix.ci] apply automated fixes * resolve conflicts * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * build component index * [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>
* fixed counts * use customization to get api base urls --------- Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
* fix: Clean up the default startup logging * [autofix.ci] apply automated fixes * Update manager.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update test_security_cors.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
* add code sample customizations * import cleanup
* fix lfx serve asyncio event loop error * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This reverts commit d5a3124.
…angflow-ai#10904) * update the lfx serve test to mock the .serve() to prevent hanging * fix other test too
…gflow-ai#10908) * Clean up the file GET endpoints * Add test * [autofix.ci] apply automated fixes * ruff/mypy * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Fix issues with async Co-Authored-By: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-Authored-By: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com> * use uvlock from main * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Eric Hare <ericrhare@gmail.com> Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
* Fix image pathing to operate with s3 storage * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * add test * [autofix.ci] apply automated fixes * ruff * Add abstract method annotation * [autofix.ci] apply automated fixes * fix: use parse_file_path in get_files for S3 storage compatibility --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
) * fix: Add empty input check in ALTKAgent for Anthropic Shamelessly copies agent.py's empty input check to prevent Anthropic API errors. * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
fix: Freshdesk and RESERVED_ATTRIBUTES Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
feat: updated Composio Github component Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
…10727) * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * fix mcp auto install tests * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * fix mcp auto install tests * misc * refactor mcp and mcp_projects * fix mcp ctx mgmt in main.py * use global exit stack mcp project servers * use global exit stack mcp project servers * return noop response in streamable dispatcher * docs * docs (main.py) * use classes for http mgrs * use asyncio tg for mcp projects session mgrs mgmt * docs * clean up project tasks class * recover original behaviour for /{project_id} endpoint * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * fix for backwards compatilibility for sse requests * [autofix.ci] apply automated fixes * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * fix mcp auto install tests * misc * refactor mcp and mcp_projects * fix mcp ctx mgmt in main.py * use global exit stack mcp project servers * use global exit stack mcp project servers * return noop response in streamable dispatcher * docs * docs (main.py) * use classes for http mgrs * use asyncio tg for mcp projects session mgrs mgmt * docs * clean up project tasks class * recover original behaviour for /{project_id} endpoint * implement asyncio.TaskGroup backport for python 3.10 * remove unused const * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * replace asyncio with anyio * touch ups * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * handle shutdown properly * Update test_mcp_projects.py * Fix mypy errors * rollback start manager changes * use global exit stack mcp project servers * return noop response in streamable dispatcher * docs * docs (main.py) * use classes for http mgrs * use asyncio tg for mcp projects session mgrs mgmt * docs * clean up project tasks class * recover original behaviour for /{project_id} endpoint * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * fix for backwards compatilibility for sse requests * [autofix.ci] apply automated fixes * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * fix mcp auto install tests * [autofix.ci] apply automated fixes * refactor mcp and mcp_projects * fix mcp ctx mgmt in main.py * use global exit stack mcp project servers * fix mcp auto install tests * misc * refactor mcp and mcp_projects * fix mcp ctx mgmt in main.py * use global exit stack mcp project servers * use global exit stack mcp project servers * return noop response in streamable dispatcher * docs * docs (main.py) * use classes for http mgrs * use asyncio tg for mcp projects session mgrs mgmt * docs * clean up project tasks class * recover original behaviour for /{project_id} endpoint * implement asyncio.TaskGroup backport for python 3.10 * remove unused const * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * replace asyncio with anyio * touch ups * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * handle shutdown properly * rollback start manager changes * Update test_mcp_projects.py * Fix mypy errors * graceful termination of mcp projects /streamable endpoint * delete removed file * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * migrate mcp transport to http streamable fix tests refactor mcp and mcp_projects backwards compat with SSE transport provide streamable http option for json mcp config remove streamable_http mgmt and update tests * clean up v2/mcp * ruff (mcp) * add back ensure_session_mgr_running handler * refactor mcp server and set default mcp settings on project creation * misc * [autofix.ci] apply automated fixes * build component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 3/3) * add health check endpoint for streamable * sync starter projects with main * remove unused delete method from sse transport * get user-level files in handle_list_resources * add backwards compat tests for sse transport * fix frontend tests * fix lfx test --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com> Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com> Co-authored-by: Eric Hare <ericrhare@gmail.com>
* [autofix.ci] apply automated fixes (attempt 3/3) * Backwards compat for connections * [autofix.ci] apply automated fixes * Make sure we set the max retries param * Unified port disabling for selected models * [autofix.ci] apply automated fixes * Template updates * Update package-lock.json * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * resolve conflicts * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * fix ruff errors * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Allow refresh button for model and embeddings * Update package-lock.json * Fix agent tests * Ruff style fix * Update test_endpoints.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update test_embedding_model_component.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Remove outdated models reference * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update test_structured_output_component.py * Fix starter project imports * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * Update component_index.json * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * feat: Default options for model choices * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Fix mypy errors * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * build component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Push package lock and component index * Update component_index.json * fix: Clean up the variable API code * fix ruff errors * Fix mypy errors * Update component_index.json * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update component_index.json * Fix some issues in the models framework * [autofix.ci] apply automated fixes * Template updates * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Starter project updates * update starter projects * update component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * build component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Make sure to maintain api key across sessions * [autofix.ci] apply automated fixes * Fix ruff checks * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * update component index * Update unified_models.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * fix ruff errors * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update watsonx_constants.py * [autofix.ci] apply automated fixes * Update watsonx_constants.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * Remove redundant imports * Update component_index.json * Starter project updates * [autofix.ci] apply automated fixes * Update component_index.json * Template updates * [autofix.ci] apply automated fixes * Update Nvidia Remix.json * [autofix.ci] apply automated fixes * Fix the embedding model component tests * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * reverted starter projects * reverted starter projects again * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * more updates to the model provider dialog * wired some stuff up * [autofix.ci] apply automated fixes * revert starter projects * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * updated functionality * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * cleaned up files * cleaned up files 2 * fix format * fixed imports * [autofix.ci] apply automated fixes * update file path * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * added info icon * [autofix.ci] apply automated fixes * cleanup * fixed deleted and pick for embedding * refactor * embedding test * merge templates * [autofix.ci] apply automated fixes * merge reverted templates * [autofix.ci] apply automated fixes * functionality working * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * added input for auth name * fixed comments * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * fix external model selection * [autofix.ci] apply automated fixes * clean up * [autofix.ci] apply automated fixes * fixed loading state * new updates via design * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * revert starter projects * merge starter projects * fix starter projects * merge starter projects * update starter projects * [autofix.ci] apply automated fixes * update starter projects * code clean up * make tests * Batch run tests need to handle new model input * [autofix.ci] apply automated fixes * Test updates * Fix ruff checks * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * Update Youtube Analysis.json * Update component_index.json * [autofix.ci] apply automated fixes * Validate model provider keys async * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Fix mypy errors * Update agent.py * Template and component index update * removed dead test case * updated component index * [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> Co-authored-by: Eric Hare <ericrhare@gmail.com> Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
…flow-ai#10945) Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Update opensearch_multimodal.py * Update opensearch_multimodal.py * [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>
* fix: Properly set a default Ollama base url * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* added custom color picker * remove +
… in /src/frontend (langflow-ai#11595) build(deps-dev): bump @modelcontextprotocol/sdk in /src/frontend Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.25.3 to 1.26.0. - [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases) - [Commits](modelcontextprotocol/typescript-sdk@v1.25.3...v1.26.0) --- updated-dependencies: - dependency-name: "@modelcontextprotocol/sdk" dependency-version: 1.26.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
…low-ai#11492) * Fix merging of nightly hash update to main * Add testing flag for just merge pr * fix' * try conditional logic to skip jobs * fix conditional * checkout new branch only pull in night hash * add hash history back * Remove test flag * fix conditionals
* feat: add chat-header feature and sliding container (langflow-ai#11045) Add sliding playground layout (SimpleSidebar + sliding container + store) and toolbar button integration to open it directly + chat header/session components and hooks (SessionSelector, SessionRename, ChatHeaderTitle, use-get-flow-id, playgroundStore). * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * removed changes on the tailwind config * feat: add session management functionality (langflow-ai#11272) * feat: add session management functionality - Add session selector component - Add session more menu component - Add session header component - Add session edit info hook - Add get/add sessions hook - Hide delete button for default session * sync: update animated-close and simple-sidebar from pr4 * Make sidebar continue to be fullscreen after closing and opening * [autofix.ci] apply automated fixes * reduce max width * Pr2 bis chat messages (langflow-ai#11308) * feat: add chat messages components and infrastructure - Add bot message component - Add thinking message component - Add user message component - Add chat message wrapper component - Add message editing functionality - Add error message component - Add file card wrapper - Add message options component - Add chat history hook - Add thinking duration hook - Add typing effect hook - Add message utilities (convert files, format file name, sort messages) - Add content block display component - Add send message hook * fix: remove typing animation from bot messages, show thinking immediately after user message, and use optional chaining for updateChat * [autofix.ci] apply automated fixes * feat: add streaming message hook and fix thinking/thought display logic - Extract streaming logic to useStreamingMessage hook matching IOModal behavior - Fix thinking/thought message display to use isBuilding directly from store - Remove typing animation logic from bot messages - Fix textarea resize to prevent growing on every keystroke with 10px threshold - Fix ContentBlockDisplay truncate styling for tool titles - Remove markdown bold syntax (**) from tool titles - Fix ContentDisplay type error * refactor: sync chat-messages from pr3 with refactored utilities - Copy refactored chat-messages components from pr3 - Add new hooks: use-message-duration, use-tool-durations - Add consolidated utilities: format.ts, content-blocks.ts, extract-error-message.ts - Add Indicator icon for error messages - Update ContentBlockDisplay to use new utilities - Remove format-file-name.tsx (merged into format.ts) - Update lazyIconImports to include Indicator icon * sync: update animated-close and simple-sidebar from pr4 * Pr3 chat input (langflow-ai#11310) * feat: add chat input components and improvements - Add chat input component - Add text area wrapper with auto-resize - Add input wrapper component - Add button send wrapper - Add no-input component - Add audio button component - Add file preview component - Add upload file button - Add auto-resize text area hook - Add audio recording hook - Add drag and drop hook - Update textarea UI component - Update IOModal input wrapper - Update constants for chat input * feat: add file handling, UI enhancements, types, stores and dependencies - Add file preview display component - Add file utilities - Add animated close component - Add simple sidebar component - Update sliding container with container queries support - Update FlowPage components - Update styles and Tailwind config - Add chat types - Add component types - Add utility store types - Add utility store - Update package dependencies * fix: prevent chat input from growing on every letter and make updateChat optional with proper typing * fix: prevent chat input from growing on every letter * fix: sync message components with PR2 (remove typing animation, fix thinking timing, use optional chaining) * fix: sync message components with PR2 (remove typing animation, fix thinking timing, use optional chaining) * [autofix.ci] apply automated fixes * fix: apply message component fixes from PR2 (remove typing animation, fix thinking timing, use optional chaining) * [autofix.ci] apply automated fixes * fix: prevent textarea from resizing on every character by tracking previous scrollHeight * fix: prevent textarea from resizing on every character by tracking previous scrollHeight * fix: prevent textarea from growing on every character with 10px threshold * fix: prevent textarea from growing on every character with 10px threshold * Revert "fix: prevent textarea from growing on every character with 10px threshold" This reverts commit ec3ed63. * Revert "fix: prevent textarea from growing on every character with 10px threshold" This reverts commit 93637ae. * feat: add streaming message hook and fix thinking/thought display logic - Extract streaming logic to useStreamingMessage hook matching IOModal behavior - Fix thinking/thought message display to use isBuilding directly from store - Remove typing animation logic from bot messages - Fix textarea resize to prevent growing on every keystroke with 10px threshold - Fix ContentBlockDisplay truncate styling for tool titles - Remove markdown bold syntax (**) from tool titles - Fix ContentDisplay type error * feat: add streaming message hook and fix thinking/thought display logic - Extract streaming logic to useStreamingMessage hook matching IOModal behavior - Fix thinking/thought message display to use isBuilding directly from store - Remove typing animation logic from bot messages - Fix textarea resize to prevent growing on every keystroke with 10px threshold - Fix ContentBlockDisplay truncate styling for tool titles - Remove markdown bold syntax (**) from tool titles - Fix ContentDisplay type error * fix error making the flow crashing * resize user and bot icon and remove borders * fix flow crash when error * have the green duration be the sum of tool and sec part the entire thinking * refactor: extract and consolidate chat message utilities - Extract duration tracking logic to use-message-duration hook - Consolidate format utilities (formatTime, formatSeconds, formatToolTitle, formatFileName) into single format.ts file - Merge content block utilities (getContentBlockState, getContentBlockLoadingState) into content-blocks.ts - Move component-specific logic (hasTools, shouldShowAvatar, shouldShowContentBlocks) back into components - Move errorMarkdownComponents into error-message.tsx component - Simplify error-message.tsx by extracting sub-components - Add Indicator icon for error messages - Update all imports to use consolidated utilities * refactor: sync chat-messages and chat-input from pr4 - Copy refactored chat-messages components from pr4 - Add new hooks: use-message-duration, use-tool-durations - Add consolidated utilities: format.ts, content-blocks.ts, extract-error-message.ts - Add Indicator icon for error messages - Update ContentBlockDisplay to use new utilities - Remove format-file-name.tsx (merged into format.ts) - Update lazyIconImports to include Indicator icon * change duration animation * Only allow certain file types * feat: add file handling, UI enhancements, types, stores and dependencies (langflow-ai#11276) * [autofix.ci] apply automated fixes * feat: add clear chat option for default session in session management - Add 'Clear chat' option to SessionMoreMenu component - Show 'Clear chat' for default session (currentSessionId === currentFlowId) - Show 'Delete' for other sessions (existing behavior) - Clear chat deletes messages but keeps the session - Delete removes the entire session - Both options use same red color styling * adjust radius for error message border * show only the text An error occured * refactor: replace Zustand with React Query for message handling - Move all message handling logic to chat-view/utils/ - Create message-event-handler.ts to handle build events - Create message-utils.ts for React Query cache operations - Update buildUtils.ts to delegate message events to chat-view - Remove MemoizedChatMessage to fix streaming updates - Simplify use-chat-history to use session cache as single source of truth - Support placeholder messages for immediate UI feedback - Handle streaming tokens with proper text accumulation * fix: improve clear chat logic to prevent double clearing - Fix clearSessionMessages to use removeQueries instead of invalidateQueries - Prevents refetch that brings back deleted messages - Clear chat only works for default session, delete works for other sessions - Handle default session messages with null session_id (legacy) * fix padding and spacing issue on playground component * fix: message section padding * fix: padding * add time persistence and build perfect timer * [autofix.ci] apply automated fixes * fix display time styles * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * fix: format time in seconds and fix gap between duration and message * [autofix.ci] apply automated fixes * fix: fetch messages in session logs modal to prevent empty display * [autofix.ci] apply automated fixes * fix: added gap between image and message * fix header truncating * fix: apply card in the background of user message in smaller view --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Co-authored-by: Keval718 <kevalvirat@gmail.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com> --------- Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> 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: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: Keval718 <kevalvirat@gmail.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> --------- Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> 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: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: Keval718 <kevalvirat@gmail.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Keval718 <kevalvirat@gmail.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> * fix: frontend tests * [autofix.ci] apply automated fixes * fix nested agents * [autofix.ci] apply automated fixes * Revert "fix nested agents" This reverts commit f230c8c. * fix time on agent chain * [autofix.ci] apply automated fixes * fix(playground): display ChatInput default value on playground open (langflow-ai#11514) * fix(playground): display ChatInput default value on playground open * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix(ui): prevent layout shift when adding Chat Input with closed playground (langflow-ai#11531) * fix(ui): prevent layout shift when adding Chat Input with closed playground * fix(ui): remove unwanted import * fix(frontend): reset playground state when navigating between flows (langflow-ai#11533) reset playground state when leaving the flow * fix(frontend): prevent Message Logs table from dropping columns with falsy values (langflow-ai#11540) fix(frontend): prevent Message Logs table from dropping columns with falsy values * fix(frontend): auto-close playground when all chat components are removed (langflow-ai#11537) * fix(frontend): auto-close playground when all chat components are removed * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix(frontend): prevent send button from being pushed off-screen in chat input (langflow-ai#11556) * fix(frontend): prevent send button from being pushed off-screen in chat input * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix(test): fix image upload process in chat input test * fix(test): improve chat message verification in chat input test * fix: add data-testID to ensure the testcases pass (langflow-ai#11573) Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com> * feat(tests): add data-testid attributes for improved test targeting in chat header and session selector * fix: session rename create new session instead of remaining existing one (langflow-ai#11576) * fix(frontend): resolve session rename bugs and prevent message loss * fix(playground): Fix session rename not showing messages immediately * [autofix.ci] apply automated fixes * fix(playground): Eliminate duplicate logic in session-selector --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix(test): playground test * fix: rename session and test shard 9 (langflow-ai#11581) fix: pass renameLocalSession to ChatHeader to fix session rename creating new session The session rename from the chat header's more menu was creating a new session instead of renaming the existing one. This was because renameLocalSession was not being passed to useEditSessionInfo in chat-header.tsx. - Added renameLocalSession to ChatHeaderProps type - Pass renameLocalSession from flow-page-sliding-container to ChatHeader - Pass renameLocalSession to useEditSessionInfo in chat-header * fix(frontend): prevent menu stacking and ensure proper close behavior (langflow-ai#11592) * fix(frontend): prevent menu stacking and ensure proper close behavior * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: playground tests shard 13 (langflow-ai#11593) * fix: update Basic Prompting test to use specific test IDs for playground combobox * fix: skip voice assistant interaction test for review * test: skip voice-assistant tests pending playground refactor * fix: tests shard 16 (langflow-ai#11594) * fix: update Basic Prompting test to use specific test IDs for playground combobox * fix: skip voice assistant interaction test for review * test: skip voice-assistant tests pending playground refactor * fix: update Financial Report Parser and Image Sentiment Analysis tests - Financial Report Parser: Use stop_building_button instead of button-stop (which doesn't exist in playground chat input), wait for it to appear before waiting for hidden state, and use div-chat-message instead of .markdown selector which was matching node descriptions - Image Sentiment Analysis: Replace unreliable dispatchEvent("drop") with setInputFiles() for file upload, add proper flow completion wait, and use img[alt$="chain.png"] to handle server timestamp prefix * fix(frontend): prevent duplicate session creation when renaming in non fullscreen mode (langflow-ai#11596) fix(frontend): prevent duplicate session creation when renaming in non-fullscreen mode * fix: tests shard 18 - Memory Chatbot and Simple Agent Memory (langflow-ai#11597) Memory Chatbot: - Replace fragile selectors (getByRole, getByLabel) with data-testid - Use chat-header-more-menu and message-logs-option for message logs - Replace .isVisible() with proper expect().toBeVisible() assertions - Simplify test by removing session deletion Simple Agent Memory: - Add waitForSelector for input before filling - Use stop_building_button instead of getByRole("button", { name: "Stop" }) - Use proper wait pattern: visible → hidden for build completion - Add user message verification with chat-message-User-* test IDs - Add wait for div-chat-message before asserting * fix: update News Aggregator test to streamline API key handling and increase timeout (langflow-ai#11598) * fix: tests shard 18 - Memory Chatbot and Simple Agent Memory Memory Chatbot: - Replace fragile selectors (getByRole, getByLabel) with data-testid - Use chat-header-more-menu and message-logs-option for message logs - Replace .isVisible() with proper expect().toBeVisible() assertions - Simplify test by removing session deletion Simple Agent Memory: - Add waitForSelector for input before filling - Use stop_building_button instead of getByRole("button", { name: "Stop" }) - Use proper wait pattern: visible → hidden for build completion - Add user message verification with chat-message-User-* test IDs - Add wait for div-chat-message before asserting * fix: update News Aggregator test to streamline API key handling and increase timeout * fix: refactor Pokedex Agent test for improved readability and consistency * fix: update Pokedex Agent test to correctly retrieve chat message output and adjust length expectation * fix: improve Research Translation Loop test structure and readability * fix: enhance readability and consistency in Simple Agent Memory test * fix: generalBugs-shard-9 test * fix: simplify file upload handling in limit-file-size-upload test * fix: file upload test * fix: update chat interaction test for improved sender name handling * fix: add data-testid attribute to hidden file input for improved test targeting * fix: refactor test structure for improved readability and maintainability * fix: revert upload file util --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: keval shah <kevalvirat@gmail.com> Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> Co-authored-by: Viktor Avelino <viktor.avelino@gmail.com> Co-authored-by: olayinkaadelakun <olayinka.adelakun@ibm.com> Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com> Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
fix: Fix link visibility and URL in save flow modal Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
* fix input propogation to subflow in runflow component in toolmode refactor runflow remove print calls allow Data inputs and refactoring of runflow component with updated tests misc misc persist tweaks in multi-input scenario add regression tests chore: update component index ruff (tests) checkout component index from main chore: update component index obfuscate error message chore: update component index chore: update component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [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> Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* fix for embedding model input/output * code clean up for connect other models * [autofix.ci] apply automated fixes * update templates * [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>
…ai#11489) * fix: make sure model and agent are alphabetically sorted * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) --------- Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
* feat: create prerelease dedicated to qa allow prerelease versions dedicated to qa * chore: revert lfx dep to 0.2.1 * chore: lfx pyproject version 0.2.1 for testing * feat: use pythin script to determine rc version use a python script to auto incremenet rc version so we do not have to manually maintain what rc version we are on. add it to both release.yml and docker-build-v2.yml for pypi, docker and ghrc. * [autofix.ci] apply automated fixes * chore: change script vars to more meaningful ones * chore: add meaningful echos * chore: add quotes to pass empty str if no version * test: REVERT always pass ci REVERT * chore: add normalization to built ver tests * chore: remove unused uv environment set up * chore: add back in checkout code * chore: disable caching for ensure-lfx-published * chore: revert changes added after merge * fix: allow prerelase python install flag * chore: test base and main install as 1 * chore: seperate base and main * chore: install main using local base first * chore: try using reinstall * chore: create locl directory and use it first * chore: try --no-deps * chore: langflow-*.whl * [autofix.ci] apply automated fixes * fix: try using unsafe-best-match use ./local-packages --index-strategy unsafe-best-match * fix: add a dynamic constriant for langflow base add a dynamic constriant for langflow base during build-main. if this works I will need to go back and remove any unneeded cross-platform test changes * chore: revert to normal install * fix: add pre-main option to make build * chore: remove hyphen in make var * chore: keep propigation wait for pre-release * chore: revert cross-platform-test.yml changes * chore: use else ifdef and add test echos * chore: remove --no-soruces * chore: use ifeq * chore: revert lfx 0.2.1 * chore: downgrade to python 3.12 ragstack-ai-knowledge-store does not support pythong 3.13 * chore: add else to Makefile * chore: back to ifdef * chore: reset to Makefile to main and add pre again * chore: revert to python 3.13 * chore: set compatability check to 3.12 hopeffuly fixes Found 1 incompatibility The package `ragstack-ai-knowledge-store` requires Python >=3.9, <3.13, but `3.13.11` is installed * [autofix.ci] apply automated fixes * fix: new flow reset. * chore: update LFX Determine version * fix: remove buil-lfx dep on lfx release * chore: remove more inputs.release_lfx if statments * fix: uv pip install --find-links * chore: create uv venv before uv pip install * chire: attempt for reinatll of local whls * fix: add OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES add OBJC_DISABLE_INITIALIZE_FORK_SAFETY: YES to macos cross-platform test builds * [autofix.ci] apply automated fixes * chore: add back in ci step * fix(ci): correctly generate pre-release rc tags * [autofix.ci] apply automated fixes * feat: update pre-release flow to be useable for qa * Revert "feat: update pre-release flow to be useable for qa" This reverts commit 22737729a2d0ed64ea774a30af070f0010cba9e1. * feat: update pre-release flow to be useable for qa * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * feat: update pre-release flow to be useable for qa * feat: update pre-release flow to be useable for qa * feat: update pre-release flow to be useable for qa * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: vijay kumar katuri <vijaykaturi@vijays-MacBook-Air.local> Co-authored-by: vijay kumar katuri <vijay.katuri@ibm.com>
* asdf * build langflow-backend image correctly with no frontend * Update docker/build_and_push_backend.Dockerfile Co-authored-by: Adam-Aghili <149833988+Adam-Aghili@users.noreply.github.com> * Fix version check for backend image * Add data dir * Add npm back for mcp support --------- Co-authored-by: Adam-Aghili <149833988+Adam-Aghili@users.noreply.github.com>
* First prototype of inspection panel * fixed value not being set * Hide inputs that are not handles from the node, show everything else on the inspection panel * [autofix.ci] apply automated fixes * Implemented close button on inspection panel * Re-show inputs on the node * remove code from node toolbar * change code design on inspection panel * create feature flag * disable code and controls on node based on feature flag * adjusted inspection panel size * [autofix.ci] apply automated fixes * disable inspection panel with feature flag * Show only connections on component * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * Add output and logs to inspect panel * [autofix.ci] apply automated fixes * removed label from code button * filter handleinputs * added description on inspection panel header * remove tabs from inspection panel and use inspect output on node again * Make inspect panel have flexible height and disable its animation * [autofix.ci] apply automated fixes * Removed division from node name and inputs * Reduce some gaps * [autofix.ci] apply automated fixes * Add docs button * show docs just when exists * [autofix.ci] apply automated fixes * added custom 4.5 height and width * Changed node text sizes and icon size * [autofix.ci] apply automated fixes * Added freeze always to the node toolbar * Updated input size on inspect panel and output size on node * [autofix.ci] apply automated fixes * Implemented name and description editing * Changed paddings to match design * Added advanced fields and trigger * fixed advanced and pencil design * Implemented new prompt component with inline editing * [autofix.ci] apply automated fixes * Remove console logs * Dont fetch data on inspection panel * Made inputs appear to perform calculations but not show up on nodes * Removed LanguageModel from input types of model input in basic prompting * Changed inputs to not render when showParameter is false, in order to run the useEffects * Change tests to select node to change model, and then unselect all * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * deleted unused file * extract filtering logic * [autofix.ci] apply automated fixes * removed Made with Bob comments * Fix error catching * [autofix.ci] apply automated fixes * Fixed dropdown not avoiding collisions * Remove dead zone below the inspection panel * Fixed prompt validation being done even if input didnt change * Fixed handle fields appearing * Fixed handle not showing up on minimized components * Fixed condition for minimizing component * fixed minimized nodes behavior to minimize when only one input is connected * [autofix.ci] apply automated fixes * fixed component not showing up as hidden * changed data test id of advanced modal and advanced trigger, to fix tests * Fixed custom component not having pink code button * [autofix.ci] apply automated fixes * fixed node exhibition when feature flag is disabled, fixed minimized field * added show and hide advanced button on inspection panel * [autofix.ci] apply automated fixes * Fixed fit view to contain padding when a component is clicked * fixed freeze path test * change label * changed gpt model test * added separator between description and fields * Changed advanced padding * fixed gpt setup and image sentiment analysis * fixed mcp server test * fixed freeze spec * [autofix.ci] apply automated fixes * fixed logs setup * Fixed stop building test * Fixed minimization text * changed variable name * [autofix.ci] apply automated fixes * Filter tool mode * fixed prompt component unfocusing every time * [autofix.ci] apply automated fixes * fixed blog writer * added select anthropic model, fixed custom component generator that didnt show the code * fixed inspection panel advanced * fixed tests that used advanced fields * fixed gpt model timeout * [autofix.ci] apply automated fixes * fixed toolbar button collision * always show language model input * fixed tests * [autofix.ci] apply automated fixes * disabled advanced shortcut when inspection panel is enabled * fixed tests * [autofix.ci] apply automated fixes * fixed flicker * [autofix.ci] apply automated fixes * fix tests * [autofix.ci] apply automated fixes * push to trigger tests * [autofix.ci] apply automated fixes * Update select-gpt-model and select-anthropic-model utilities * feat: improve Inspection Panel UX - Prevent Inspector Panel from opening when clicking input fields - Add onMouseDown stopPropagation to input wrapper - UX improvements for panel interactions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * [autofix.ci] apply automated fixes * Enable node toolbar items when inspect panel is disabled, save user preference on local storage, code cleanup * [autofix.ci] apply automated fixes * Show handle inputs on advanced * Adjusted description and name * [autofix.ci] apply automated fixes * disable select nodes on drag * Try to fix tests that have controls open * [autofix.ci] apply automated fixes * fix run flow test and select gpt model * Revert "Fixed dropdown not avoiding collisions" This reverts commit acf2190. * fixed collisions on inspection panel * [autofix.ci] apply automated fixes * fixed select gpt model and parameter render input * updated similarity test * [autofix.ci] apply automated fixes * changed playwright config * fix test text sentiment and and elect-gpt-model * fixed jest tests * [autofix.ci] apply automated fixes * Fixed tests related to the advanced modal * [autofix.ci] apply automated fixes * fix textAreaModalComponent test * fix freeze test * fix edit-name-description-node-spec * fix edit-name-description-node-spec plus adding timeout * fix lanflowShortcut test * fix edit-name-description-node test * fix userSettings test * fixed tests * [autofix.ci] apply automated fixes * fixed jest tests * fixed test * Added unit tests for inspection panel * [autofix.ci] apply automated fixes * re-added code and fixed tests * fixed header design * [autofix.ci] apply automated fixes * Fixed shortcuts, fixed advanced mode * [autofix.ci] apply automated fixes * fixed tests * [autofix.ci] apply automated fixes * fixed unit tests * [autofix.ci] apply automated fixes * fixed tests and sortable list component * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com> Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local> Co-authored-by: Rodrigo Nader <rodrigonader@Mac.localdomain> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Create guardrails.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Update guardrails.py * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * tests: add unit tests for GuardrailsComponent functionality * [autofix.ci] apply automated fixes * fix: resolve linting errors in GuardrailsComponent and tests - Fix line length issues (E501) by breaking long strings - Fix docstring formatting (D205, D415) in _check_guardrail - Use ternary operator for response content extraction (SIM108) - Replace magic value with named constant (PLR2004) - Move return to else block per try/except best practices (TRY300) - Catch specific exceptions instead of blind Exception (BLE001) - Use list comprehension for checks_to_run (PERF401) - Mark unused variables with underscore prefix (RUF059, F841) - Add noqa comment for intentionally unused mock argument (ARG002) * [autofix.ci] apply automated fixes * refactor: address pr comments * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes * feat: enhance heuristic detection with configurable threshold and scoring system * refactor: simplify heuristic test assertions by removing unused variable * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * feat: enhance guardrail validation logic and input handling * refactor: streamline import statements and clean up whitespace in guardrails component * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Fix: update empty input handling tests to raise ValueError and refactor related assertions * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * feat: add Guardrails component with unit tests Add LLM-based guardrails component for detecting PII, tokens/passwords, jailbreak attempts, and custom guardrail rules, along with comprehensive unit tests. * [autofix.ci] apply automated fixes * fix: try removing logs * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Viktor Avelino <viktor.avelino@gmail.com> Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
…ponent from sidebar (langflow-ai#11513) * fix: hide MCP tool from model & agent * fix: removing mcp searching * fix testcases * fix testcases --------- Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local> Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com> Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
…ai#10702) * feat: Introduce service registration decorator and enhance ServiceManager for pluggable service discovery - Added `register_service` decorator to allow services to self-register with the ServiceManager. - Enhanced `ServiceManager` to support multiple service discovery mechanisms, including decorator-based registration, config files, and entry points. - Implemented methods for direct service class registration and plugin discovery from various sources, improving flexibility and extensibility of service management. * feat: Implement VariableService for managing environment variables - Introduced VariableService class to handle environment variables with in-memory caching. - Added methods for getting, setting, deleting, and listing variables. - Included logging for service initialization and variable operations. - Created an __init__.py file to expose VariableService in the package namespace. * feat: Enhance LocalStorageService with Service integration and async teardown - Updated LocalStorageService to inherit from both StorageService and Service for improved functionality. - Added a name attribute for service identification. - Implemented an async teardown method for future extensibility, even though no cleanup is currently needed. - Refactored the constructor to ensure proper initialization of both parent classes. * feat: Implement telemetry service with abstract base class and minimal logging functionality - Added `BaseTelemetryService` as an abstract base class defining the interface for telemetry services. - Introduced `TelemetryService`, a lightweight implementation that logs telemetry events without sending data. - Created `__init__.py` to expose the telemetry service in the package namespace. - Ensured robust async methods for logging various telemetry events and handling exceptions. * feat: Introduce BaseTracingService and implement minimal TracingService - Added `BaseTracingService` as an abstract base class defining the interface for tracing services. - Implemented `TracingService`, a lightweight version that logs trace events without external integrations. - Included async methods for starting and ending traces, tracing components, and managing logs and outputs. - Enhanced documentation for clarity on method usage and parameters. * feat: Add unit tests for service registration decorators - Introduced a new test suite for validating the functionality of the @register_service decorator. - Implemented tests for various service types including LocalStorageService, TelemetryService, and TracingService. - Verified behavior for service registration with and without overrides, ensuring correct service management. - Included tests for custom service implementations and preservation of class functionality. - Enhanced overall test coverage for the service registration mechanism. * feat: Add comprehensive unit and integration tests for ServiceManager - Introduced a suite of unit tests covering edge cases for service registration, lifecycle management, and dependency resolution. - Implemented integration tests to validate service loading from configuration files and environment variables. - Enhanced test coverage for various service types including LocalStorageService, TelemetryService, and VariableService. - Verified behavior for service registration with and without overrides, ensuring correct service management. - Ensured robust handling of error conditions and edge cases in service creation and configuration parsing. * feat: Add unit and integration tests for minimal service implementations - Introduced comprehensive unit tests for LocalStorageService, TelemetryService, TracingService, and VariableService. - Implemented integration tests to validate the interaction between minimal services. - Ensured robust coverage for file operations, service readiness, and exception handling. - Enhanced documentation within tests for clarity on functionality and expected behavior. * docs: Add detailed documentation for pluggable services architecture and usage * feat: Add example configuration file for Langflow services * docs: Update PLUGGABLE_SERVICES.md to enhance architecture benefits section - Revised the documentation to highlight the advantages of the pluggable service system. - Replaced the migration guide with a detailed overview of features such as automatic discovery, lazy instantiation, dependency injection, and lifecycle management. - Clarified examples of service registration and improved overall documentation for better understanding. * [autofix.ci] apply automated fixes * test(services): improve variable service teardown test with public API assertions * docs(pluggable-service-layer): add docstrings for service manager and implementations * fix: remove duplicate teardown method from LocalStorageService During rebase, the teardown method was added in two locations (lines 57 and 220). Removed the duplicate at line 57, keeping the one at the end of the class (line 220) which is the more appropriate location for cleanup methods. * fix(tests): update service tests for LocalStorageService constructor changes - Add MockSessionService fixtures to test files that use ServiceManager - Update LocalStorageService test instantiation to use mock session and settings services - Fix service count assertions to account for MockSessionService in fixtures - Remove duplicate class-level clean_manager fixtures in test_edge_cases.py These changes fix test failures caused by LocalStorageService requiring session_service and settings_service parameters instead of just data_dir. * fix(services): Harden service lifecycle methods - Fixed Diamond Inheritance in LocalStorageService - Added Circular Dependency Detection in _create_service_from_class - Fixed StorageService.teardown to Have Default Implementation * docs: Update discovery order for pluggable services * fix(lfx): replace aiofile with aiofiles for CI compatibility - The aiofile library uses native async I/O (libaio) which fails with EAGAIN (SystemError: 11, 'Resource temporarily unavailable') in containerized environments like GitHub Actions runners. - Switch to aiofiles which uses thread pool executors, providing reliable async file I/O across all environments including containers. * [autofix.ci] apply automated fixes * fix(lfx): prevent race condition in plugin discovery The discover_plugins() method had a TOCTOU (time-of-check to time-of-use) race condition. Since get() uses a keyed lock (per service name), multiple threads requesting different services could concurrently see _plugins_discovered=False and trigger duplicate plugin discovery. Wrap discover_plugins() with self._lock to ensure thread-safe access to the _plugins_discovered flag and prevent concurrent discovery execution. * [autofix.ci] apply automated fixes * feat: Introduce service registration decorator and enhance ServiceManager for pluggable service discovery - Added `register_service` decorator to allow services to self-register with the ServiceManager. - Enhanced `ServiceManager` to support multiple service discovery mechanisms, including decorator-based registration, config files, and entry points. - Implemented methods for direct service class registration and plugin discovery from various sources, improving flexibility and extensibility of service management. * feat: Enhance LocalStorageService with Service integration and async teardown - Updated LocalStorageService to inherit from both StorageService and Service for improved functionality. - Added a name attribute for service identification. - Implemented an async teardown method for future extensibility, even though no cleanup is currently needed. - Refactored the constructor to ensure proper initialization of both parent classes. * docs(pluggable-service-layer): add docstrings for service manager and implementations * feat(auth): implement abstract base class for authentication services and add auth service retrieval function * refactor(auth): move authentication logic from utils to AuthService Consolidate all authentication methods into the AuthService class to enable pluggable authentication implementations. The utils module now contains thin wrappers that delegate to the registered auth service. This allows alternative auth implementations (e.g., OIDC) to be registered via the pluggable services system while maintaining backward compatibility with existing code that imports from utils. Changes: - Move all auth logic (token creation, user validation, API key security, password hashing, encryption) to AuthService - Refactor utils.py to delegate to get_auth_service() - Update function signatures to remove settings_service parameter (now obtained from the service internally) * refactor(auth): update authentication methods and remove settings_service parameter - Changed function to retrieve current user from access token instead of JWT. - Updated AuthServiceFactory to specify SettingsService type in create method. - Removed settings_service dependency from encryption and decryption functions, simplifying the code. This refactor enhances the clarity and maintainability of the authentication logic. * test(auth): add unit tests for AuthService and pluggable authentication - Introduced comprehensive unit tests for AuthService, covering token creation, user validation, and authentication methods. - Added tests for pluggable authentication, ensuring correct delegation to registered services. - Enhanced test coverage for user authentication scenarios, including active/inactive user checks and token validation. These additions improve the reliability and maintainability of the authentication system. * fix(tests): update test cases to use AuthService and correct user retrieval method - Replaced the mock for retrieving the current user from JWT to access token in the TestSuperuserCommand. - Refactored unit tests for MCP encryption to utilize AuthService instead of a mock settings service, enhancing test reliability. - Updated patch decorators in tests to reflect the new method of obtaining the AuthService, ensuring consistency across test cases. These changes improve the accuracy and maintainability of the authentication tests. * docs(pluggable-services): add auth_service to ServiceType enum documentation * fix(auth): Add missing type hints and abstract methods to AuthServiceBase (langflow-ai#10710) Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * [autofix.ci] apply automated fixes * fix(auth): refactor api_key_security method to accept optional database session and improve error handling * feat(auth): enhance AuthServiceBase with detailed design principles and JIT provisioning methods * fix(auth): remove settings_service from encrypt/decrypt_api_key calls After the pluggable auth refactor, encrypt_api_key and decrypt_api_key no longer take a settings_service argument - they get it internally. - Update check_key import path in __main__.py (moved to crud module) - Remove settings_service argument from calls in: - api/v1/api_key.py - api/v1/store.py - services/variable/service.py - services/variable/kubernetes.py - Fix auth service to use session_scope() instead of non-existent get_db_service().with_session() * fix(auth): resolve type errors and duplicate definitions in pluggable auth branch - Add missing imports in auth/utils.py (Final, HTTPException, status, logger, SettingsService) that prevented application startup - Remove duplicate NoServiceRegisteredError class in lfx/services/manager.py - Remove duplicate teardown method in lfx/services/storage/local.py - Fix invalid settings_service parameter in encrypt_api_key calls in variable/service.py and variable/kubernetes.py - Add proper type guards for check_key calls to satisfy mypy - Add null checks for password fields in users.py endpoints * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * replace jose with pyjwt * [autofix.ci] apply automated fixes * starter projects * fix BE mcp tests * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * remive legacy usage of session * fix user tests * [autofix.ci] apply automated fixes * fix lfx tests * starter project update * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * fix mypy errors * fix mypy errors on tests * fix tests for decrypt_api_key * resolve conflicts in auth utils * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Add pluggable authentication factory with provider enum * Add SSO feature flags to AuthSettings * Add SSO fields to User model * Add SSO configuration loader with YAML support * Add unit tests for SSO configuration loader * Add SSO configuration database model and CRUD operations * Add CRUD operations for SSO configuration management * Add SSO configuration service supporting both file and database configs * Add example SSO configuration file with W3ID and other providers * Implement OIDC authentication service with discovery and JIT provisioning * Update AuthServiceFactory to instantiate OIDC service when SSO enabled * Improve JWT token validation and API key decryption error handling * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes * fix: resolve ruff linting errors in auth services and add sso-config.yaml to gitignore * [autofix.ci] apply automated fixes * fix: use correct function name get_current_user_from_access_token in login endpoint * fix: remove incorrect settings_service parameter from decrypt_api_key call * fix: correct encryption logic to properly detect plaintext vs encrypted values * [autofix.ci] apply automated fixes * fix tests * [autofix.ci] apply automated fixes * fix mypy errors * fix tests * [autofix.ci] apply automated fixes * fix ruff errors * fix tests in service * [autofix.ci] apply automated fixes * fix test security cors * [autofix.ci] apply automated fixes * fix webhook issues * modify component index * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * fix webhook tests * [autofix.ci] apply automated fixes * build component index * remove SSO functionality * [autofix.ci] apply automated fixes * fix variable creation * [autofix.ci] apply automated fixes * refactor: move MCPServerConfig schema to a separate file and update model_dump usage * refactor: streamline AuthServiceFactory to use service_class for instance creation * handle access token type * [autofix.ci] apply automated fixes * remove SSO fields from user model * [autofix.ci] apply automated fixes * replace is_encrypted back * fix mypy errors * remove sso config example * feat: Refactor framework agnostic auth service (langflow-ai#11565) * modify auth service layer * [autofix.ci] apply automated fixes * fix ruff errorrs * [autofix.ci] apply automated fixes * Update src/backend/base/langflow/services/deps.py Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com> * address review comments * [autofix.ci] apply automated fixes * fix ruff errors * remove cache --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com> * move base to lfx * [autofix.ci] apply automated fixes * resolve review comments * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * add auth protocol * [autofix.ci] apply automated fixes * revert models.py execption handling * revert wrappers to ensure backwards compatibility * fix http error code * fix FE tests * fix test_variables.py * [autofix.ci] apply automated fixes * fix ruff errors * fix tests * add wrappers for create token methods * fix ruff errors * [autofix.ci] apply automated fixes * update error message * modify status code for inactive user * fix ruff errors * fix patch for webhook tests * fix error message when getting active users --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Pawlowski <mike.pawlowski@datastax.com> Co-authored-by: Mike Pawlowski <mpawlow@ca.ibm.com> Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com> Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com> Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com> Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* add wait for statement to prevent race condition * fix flaky global variable * add input selection * [autofix.ci] apply automated fixes * add disable inspect panel util * [autofix.ci] apply automated fixes * fix vector store test * [autofix.ci] apply automated fixes * use disable inspect pannel utils --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
feat: update GitHub Actions workflow to allow manual branch selection for docs deployment
…11603) * fix: handle missing capabilities in Ollama API response Older Ollama versions don't return the `capabilities` field from `/api/show`. The previous code defaulted to an empty list and required "completion" capability, filtering out all models. Now we treat missing capabilities as backwards-compatible: assume the model supports completion unless tool_model_enabled is True (where we can't verify tool support without the capabilities field). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * [autofix.ci] apply automated fixes * test: add test cases for Ollama backwards compatibility fix Add tests for get_models handling of missing capabilities field: - test_get_models_missing_capabilities_without_tool_model - test_get_models_missing_capabilities_with_tool_model - test_get_models_mixed_capabilities_response Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * [autofix.ci] apply automated fixes * fix: wrap long docstring line to satisfy ruff E501 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* test-hide-internal-endpoints * hide-more-endpoints * display-mcp-endpoints * display-mcp-projects * add-back-health-check --------- Co-authored-by: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>
…-ai#11491) * Update opensearch_multimodal.py * [autofix.ci] apply automated fixes * Update opensearch_multimodal.py * Skip existing knn_vector mapping & handle errors Before adding a knn_vector field mapping, check the index properties and skip updating if the field already exists (and warn if dimensions differ). Attempt to add the mapping only when missing, and catch failures from the OpenSearch k-NN plugin (e.g. NullPointerException); in that known case log a warning and skip the mapping update instead of failing hard. After adding, verify the field is mapped as knn_vector and raise an error if it is not. Also adjusts logging messages to be clearer. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
… component (langflow-ai#11626) * feat: add smart column ordering and clean output toggle to Split Text component Add smart_column_order() method to DataFrame that prioritizes content columns (text, content, output, etc.) and de-prioritizes system metadata columns (timestamp, sender, session_id, etc.). Add Clean Output boolean input to Split Text component that strips metadata columns by default. * fix: update code_hash for Knowledge Ingestion and Vector Store RAG components * test: update split text tests for clean_output toggle * [autofix.ci] apply automated fixes * fix: change default value of clean_output toggle to False in Split Text component * [autofix.ci] apply automated fixes (attempt 2/3) * fix: update code_hash for Knowledge Ingestion and Vector Store RAG components * fix: add clean_output option to Knowledge Ingestion and Vector Store RAG components * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * [autofix.ci] apply automated fixes * fix: Add missing get_current_active_user_mcp to lfx AuthService The base class declares get_current_active_user_mcp as abstract but the default lfx AuthService did not implement it, causing instantiation to fail in tests. * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fixing 404 error response. * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
Hi! I'm the It looks like you correctly set up a CI job that uses the autofix.ci GitHub Action, but the autofix.ci GitHub App has not been installed for this repository. This means that autofix.ci unfortunately does not have the permissions to fix this pull request. If you are the repository owner, please install the app and then restart the CI workflow! 😃 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8457a60178
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| return auth_utils.decrypt_api_key(variable.value, settings_service=self.settings_service) | ||
| # Only decrypt CREDENTIAL type variables; GENERIC variables are stored as plain text | ||
| if variable.type == CREDENTIAL_TYPE: | ||
| return auth_utils.decrypt_api_key(variable.value) |
There was a problem hiding this comment.
Pass settings service when decrypting credential variables
DatabaseVariableService.get_variable now calls auth_utils.decrypt_api_key(variable.value) with only one argument, but decrypt_api_key is still defined with a required settings_service parameter in services/auth/utils.py. Any flow that resolves a credential variable through this path will raise TypeError at runtime instead of returning the secret value, which breaks credential-backed executions.
Useful? React with 👍 / 👎.
| encrypted_value = auth_utils.encrypt_api_key(field_to_encrypt, settings_service) | ||
| else: | ||
| # Not encrypted, encrypt it | ||
| encrypted_value = auth_utils.encrypt_api_key(field_to_encrypt) |
There was a problem hiding this comment.
Pass settings service in MCP auth settings encryption
encrypt_auth_settings now invokes auth_utils.encrypt_api_key(field_to_encrypt) without the required settings_service argument, while the helper signature in services/auth/utils.py still requires it. Updating project auth settings with sensitive fields (for example OAuth client secrets) will therefore fail with TypeError, causing MCP auth configuration updates to error out.
Useful? React with 👍 / 👎.
No description provided.