Skip to content

Lfoss 2047 v1.6.0#9681

Closed
deon-sanchez wants to merge 44 commits intomainfrom
lfoss-2047-v1.6.0
Closed

Lfoss 2047 v1.6.0#9681
deon-sanchez wants to merge 44 commits intomainfrom
lfoss-2047-v1.6.0

Conversation

@deon-sanchez
Copy link
Collaborator

@deon-sanchez deon-sanchez commented Sep 3, 2025

Summary by CodeRabbit

  • New Features

    • Knowledge Ingestion/Retrieval revamped (new names, options; embeddings toggle; lazy loading).
    • Docling-powered document processing with advanced OCR options.
    • Expanded file support (csv/json; updated File component); API exposes voice_mode_available.
    • Enhanced structured-output flows across starter projects.
  • Bug Fixes

    • More reliable MCP config resolution and error messages.
    • Consistent memory retrieval ordering.
    • API Request now handles Data-wrapped bodies.
  • Style

    • Unified API key/password labels.
    • Removed chat color/icon inputs; cleaner chat input text.
  • Refactor

    • Removed Google Serper component; marked Claude 3 Sonnet (20240229) deprecated.
    • Adjusted text-file discovery (pdf excluded).
  • Chores

    • Version bump to 1.6.0; dependency pins.
    • Windows scripts: explicit --env-file handling.
    • .env.example comment update.

jordanrfrazier and others added 30 commits August 26, 2025 23:08
* fix: Avoid namespace collision for Astra

* [autofix.ci] apply automated fixes

* Update Vector Store RAG.json

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: Knowledge base component refactor

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update styleUtils.ts

* Update ingestion.py

* [autofix.ci] apply automated fixes

* Fix ingestion of df

* [autofix.ci] apply automated fixes

* Update Knowledge Ingestion.json

* Fix one failing test

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Revert composio versions for CI

* Revert "Revert composio versions for CI"

This reverts commit 9bcb694.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
fix .env load on windows script

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
…ent (#9564)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…fault (#9550)

* Use custom voice assistant on chat input

* Changed mcp composer to default disabled

---------

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* refactor: clean up imports and improve code readability in AIML and FlowSidebar components

- Organized import statements in aiml.py and index.tsx for better structure.
- Enhanced formatting in aiml.py for the update_build_config method.
- Updated nodeIconToDisplayIconMap in styleUtils.ts for consistency in AIML label.
- Removed unnecessary console log in FlowSidebarComponent for cleaner code.

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes

---------

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: Allow updates to file component in templates
)

fix filtering so legacy components aren't shown by default
…#9589)

* Changed Name to Slug, added Close button

* Updated data test id

* Tested closing the sidebar

* fixed test

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Added stick to bottom dependency

* Removed scroll direction dependency

* Added scroll to bottom action in voice assistant and chat input

* Made messages occupy full width

* Changed chat view to use StickToBottom instead of previous scroll handling mechanism

* Delete unused chat scroll anchor

* Set initial as instant

* Update session name styling
* Added onDelete prop to sidebarDraggableComponent

* Removed unused props

* Added handleDeleteMcpServer

* Add tests for on delete functionality, fixed linting errors

* Format

* Add test on mcp-server to test adding and deleting mcp server from sidebar

* Adds data test id to delete select item

* Changed data test id to not be mcp related

* Added delete confirmation modal to mcp sidebar group

* Changed test to contain modal
…t, change zoom out logic in canvasControls (#9595)

* Fix zoom out to 0.6 instead of 1.0

* remove min zoom on canvascontrolsdropdown, since it's enforced by reactflow

* Changed min zoom to 0.25 and max zoom to 2.0

* Added tests for zoom in and zoom out in canvas controls dropdown
* Changed node icon to not have icon color

* Added portion of test that checks if color is right for mcp component

* Refactor nodeIcon

* removed lucideIcon check for performance

* Changed the test to evaluate color from computed style
…r mcp-projects logic (#9599)

* Add new available field to installed mcps

* Disable auto install field when program not present

* Refactor logic and get back the Available field for the installed

* Added tooltip

* Fixed linting
* fix: Properly allow no OCR engine

* [autofix.ci] apply automated fixes

* Set default to easyocr

* Update docling_inline.py

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…ray on File component (#9639)

* Changed file type order

* Changed starter projects that had the file component

* order tooltip types alphabetically

* changed order of text_file_types

* Removed duplicate types

* Changed starter projects that used past types

* changed test

* Fixed data test id

* Changed test to expect correct types
ogabrielluiz and others added 14 commits September 2, 2025 15:10
…#9532)

* fix: update logger configuration to use environment variable for log level

* fix: remove default log level configuration and set logger initialization

* fix: enhance logger configuration to prevent redundant setup and improve cache handling

* fix: improve cache handling in logger configuration to prevent unintended defaults

* fix: enhance logger configuration to prevent redundant setup and improve early-exit logic

* fix: remove defensive comment in logger configuration for clarity

---------

Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…sting after message is sent (#9662)

* update session storage in the same useeffect as the refetchSessions

* updated to send just the chat id

* added useGetFlowId custom hook

* updated places to use new currentFlowId hook

* updated to use new id, to edit the message in the api and to set the flowId in the message

* Restore current flow id from chat view

* put on cell value changed only if it exists to enable read-only tables

* removed call  to backend when updating messages on playground

* disable editing session view when on playground page

* delete unused props, show edit only when not in playground

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
disable elevate edges on select
* fix: Respect the order parameter for Message History

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…it (#9659)

* fix: Return multi-row dataframe output in SO

* [autofix.ci] apply automated fixes

* Tool support in message schema

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* search icon selection behavior

* switch to search on input change

* unit test fix

* test fix

* update test

* ✨ (frontend): add mock modules for @jsonquerylang/jsonquery and vanilla-jsoneditor packages
📝 (frontend): update test file to improve robustness and add debugging information for CI environment

* [autofix.ci] apply automated fixes

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…stion component

- Reorganized import statements for better clarity.
- Enhanced formatting of lists and function parameters for improved readability.
- Removed unused parameters and streamlined the column configuration in the Knowledge Bases tab.
- Updated JSON configuration for Knowledge Ingestion to reflect changes in code structure.

These changes aim to enhance maintainability and readability of the codebase.
…guration in knowledge base

- Removed the extraneous flag from the `@clack/prompts` dependency in `package-lock.json`.
- Updated the `editable` property in the knowledge base columns configuration to `false`, enhancing the integrity of the data structure.
…modal handling

- Refactored FlowToolbar to replace openCodeModal with openApiModal for better clarity in modal management.
- Updated FlowToolbarOptions to accept openApiModal and setOpenApiModal props, enhancing the component's flexibility.
- Adjusted PublishDropdown to utilize the new API modal state, ensuring consistent behavior across the toolbar.
- Cleaned up import statements for better organization and readability.
…guration

- Reorganized import statements in KnowledgeBasesTab and knowledgeBaseColumns for improved clarity and consistency.
- Removed unused parameters from the createKnowledgeBaseColumns function, simplifying its signature.
- Adjusted column flex properties for better layout in the knowledge base table.
- Enhanced overall readability and maintainability of the codebase.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 3, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Project version and dependency pins updated; Windows scripts adjust --env-file handling. MCP projects path resolution refactored; API schema adds voice_mode_available. File/Docling handling expanded and OCR flags adjusted. Knowledge Base components renamed/moved with lazy exports. Multiple UI label changes. Chat components simplified across starter projects. Google Serper component removed.

Changes

Cohort / File(s) Summary
Packaging & Env
/.env.example, /pyproject.toml
Updated comment default for LANGFLOW_FEATURE_MCP_COMPOSER; bumped version to 1.6.0; pinned composio deps to ==0.8.5 and switched composio-core → composio.
Windows scripts
/scripts/windows/build_and_run.bat, /scripts/windows/build_and_run.ps1
Moved env-file usage to uv run; replaced param var with USE_ENV_FILE flag (bat); standardized --env-file handling.
MCP projects API
/src/backend/base/langflow/api/v1/mcp_projects.py
Centralized config path resolution via get_config_path; added helpers to detect/remove servers by SSE URL; unified install/check flows; improved HTTP error mapping.
API Schema
/src/backend/base/langflow/api/v1/schemas.py
Added ConfigResponse.voice_mode_available and mapping from settings.
Base constants/models/data utils
.../base/constants.py, .../base/models/anthropic_constants.py, .../base/data/utils.py, .../base/data/docling_utils.py
Removed File/FileComponent from SKIPPED_COMPONENTS; marked claude-3-sonnet-20240229 deprecated in detailed metadata; adjusted TEXT_FILE_TYPES (add csv/json, drop pdf); OCR enablement now checks "None" sentinel.
Agents core
.../base/agents/events.py, .../components/agents/agent.py
Input text content no longer prefixed with “Input:”; set agent_llm display_name to “Model Provider” during config update.
Data API request
.../components/data/api_request.py
Added unwrapping of Data-wrapped bodies and list items; early return for certain dict items.
File component (Docling & formats)
.../components/data/file.py
Reworked VALID_EXTENSIONS to start with TEXT_FILE_TYPES; OCR dropdown options now ["None","easyocr"] with default "easyocr"; subprocess args gated by non-None check.
Datastax import path
.../components/datastax/__init__.py, .../components/datastax/astra_db.py
Switched dynamic import to astradb_vectorstore; relabeled api_endpoint field to “Astra DB API Endpoint”.
Knowledge Bases package
.../components/knowledge_bases/__init__.py, .../components/knowledge_bases/ingestion.py, .../components/knowledge_bases/retrieval.py, .../components/data/__init__.py
Introduced lazy exports for KnowledgeIngestion/Retrieval; renamed/refactored KBIngestion/KBRetrieval classes, inputs/outputs, and logic; removed old KB components from data exports.
Memory helpers
.../components/helpers/memory.py
Normalized last-N message slicing and ordering for DESC/ASC.
Structured Output (backend)
.../components/processing/structured_output.py
DataFrame construction now uses raw outputs directly; added explicit empty fallback; adjusted single/multi output paths.
Component removal
.../components/google/google_serper_api_core.py
Removed GoogleSerperAPICore component and all related logic.
UI label updates across components
.../components/*/* (AgentQL, Azure OpenAI/Embeddings, Clickhouse, Confluence, deactivated ChatLiteLLM/Metal, Docling Inline, Elastic/OpenSearch, Firecrawl*, Google Generative AI Embeddings, HuggingFace*, IBM Watsonx*, Icosacomputing, LangWatch, Milvus, Olivya, Qdrant, Redis Chat, TwelveLabs, Upstash, Weaviate, WolframAlpha, Zep)
Standardized display_name strings for API keys/passwords to provider-specific labels; no logic changes.
Starter projects — Chat simplification
.../initial_setup/starter_projects/Basic Prompt Chaining.json, Basic Prompting.json, Blog Writer.json, Meeting Summary.json
Removed chat styling inputs (background_color, chat_icon, text_color; and clean_data where present); expanded Files types (csv/json; pdf varies by file); updated ChatOutput code to template-based conversion and source helpers.
Starter projects — Knowledge Base rename
Knowledge Ingestion.json, Knowledge Retrieval.json
Switched to KnowledgeIngestion/KnowledgeRetrieval components with new outputs/method names; added include_embeddings; updated wiring and metadata.
Starter projects — DocLing integration
Document Q&A.json
Introduced Docling-based File processing with advanced options, new methods/outputs; expanded VALID_EXTENSIONS and OCR/pipeline UI.
Starter projects — Broader refactors
Custom Component Generator.json, Financial Report Parser.json, Image Sentiment Analysis.json, Instagram Copywriter.json, Invoice Summarizer.json, Market Research.json, Memory Chatbot.json, News Aggregator.json
Rewrote ChatInput/ChatOutput to use data_template and helpers; added structured-output flows; memory/tooling integration in Agent; SaveToFile enhancements (News Aggregator); updated code hashes and file types.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant API as API v1 (mcp_projects)
  participant Resolver as get_config_path
  participant FS as Filesystem

  User->>API: install_mcp_config(client, sse_url, server_cfg)
  API->>Resolver: resolve config path for client
  Resolver-->>API: Path or ValueError
  alt Path resolved
    API->>FS: check config_path.parent exists
    alt exists
      API->>FS: read/merge config, remove by sse_url, write
      API-->>User: 200 Installed/Reinstalled
    else missing
      API-->>User: 400 Client not installed
    end
  else Invalid client
    API-->>User: 400 Invalid client
  end
Loading
sequenceDiagram
  autonumber
  participant User
  participant KR as KnowledgeRetrievalComponent
  participant KB as Vector DB (Chroma)
  User->>KR: retrieve_data(search_query, include_metadata, include_embeddings)
  alt search_query provided
    KR->>KB: query(query_text, top_k)
    KB-->>KR: ids, distances
    KR->>KB: get(ids, include=[metadatas, embeddings])
  else no query
    KR->>KB: get(all, include=[metadatas, embeddings])
  end
  KR-->>User: DataFrame with content [+metadata] [+_embeddings]
Loading
sequenceDiagram
  autonumber
  participant UI as UI/Flow
  participant CO as ChatOutput
  participant Store as Message Store
  UI->>CO: message_response(input_value, files, data_template, session)
  CO->>CO: _validate_input()
  CO->>CO: convert_to_string() / _serialize_data()
  CO->>CO: _build_source(...)
  alt should_store_message
    CO->>Store: save Message
    Store-->>CO: stored Message
  end
  CO-->>UI: Message
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120+ minutes

Possibly related PRs

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch lfoss-2047-v1.6.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 3, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
4 Security Hotspots
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@deon-sanchez deon-sanchez deleted the lfoss-2047-v1.6.0 branch September 3, 2025 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants