Commit Graph

17271 Commits

Author SHA1 Message Date
6652d3f71d feat: generate requirements.txt from dependencies (#11810) (#12087)
* Base script to generate requirements

Dymanically picks dependency for LanguageM Comp.
Requires separate change to remove eager loading.

* Lazy load imports for language model component

Ensures that only the necessary dependencies are required.
For example, if OpenAI provider is used, it will now only
import langchain_openai, rather than requiring langchain_anthropic,
langchain_ibm, etc.

* Add backwards-compat functions

* [autofix.ci] apply automated fixes

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

* Add exception handling

* Add CLI command to create reqs

* correctly exclude langchain imports

* Add versions to reqs

* dynamically resolve provider imports for language model comp

* Lazy load imports for reqs, some ruff fixes

* Add dynamic resolves for embedding model comp

* Add install hints

* Add missing provider tests; add warnings in reqs script

* Add a few warnings and fix install hint

* update comments add logging

* Package hints, warnings, comments, tests

* [autofix.ci] apply automated fixes

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

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

* Add alias for watsonx

* Fix anthropic for basic prompt, azure mapping

* [autofix.ci] apply automated fixes

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

* ruff

* [autofix.ci] apply automated fixes

* test formatting

* ruff

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-06 17:02:19 +00:00
d43bf3f588 Docs: 1.8 release (#11295)
* langflow-webhook-auth-enable

* add-not-contains-filter-operator

* does-not-contains-operator

* less-redundant-explanation

* docs: add jq and path selection to data operations (#10083)

add-jq-and-path-to-data-operations

* smart transform historical names

* change back to smart transform

* jq expression capitalization/package name

* small edit for clarity of not contains operator

* read/write file component name changes

* docs: add smart router component (#10097)

* init

* add-to-release-notes

* remove-dynamic-output-as-parameter

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: screenshot audit (#10166)

* remove-unused

* agent-examples

* main-ui-screenshots

* components-screenshots

* combine-web-search-components

* simple-agent-flow-in-playground

* round-screenshots

* my-projects

* combine-data-components

* docs: component paths updates for lfx (#10130)

* contributing-bundles-path

* api-monitor-example

* concepts-components-page

* contribute-components-path

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: auto-add projects as MCP servers  (#10096)

* add-mcp-auto-auth-as-default-behavior

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>

* docs: amazon bedrock converse (#10289)

* use-bedrock-converse

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Update docs/docs/Components/bundles-amazon.mdx

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs 1.7 release: add mock data component (#10288)

* add-component-and-release-note

* Apply suggestion from @aimurphy

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: update custom component docs (#10323)

* add-partial

* update-lfx-component-paths

* move-partial

* completed-quickstart

* clean up intro

* try-docker-with-custom-mount

* up-to-typed-annotations

* typed-annotations

* dynamic-fields

* end-of-file

* bundles-naming

* chore: update component index

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* docs: add cometapi back for 1.7 release (#10445)

* add-comet-bundle-back-for-1.7

* add-comet-to-release-notes

* docs: add back docling remote vlm for release 1.7 (#10489)

* add-back-docling-vlm-content

* add-release-note

* docs: ALTK component (#10511)

* broken-anchor

* sidebar-and-page

* add-release-note

* add-context-on-output

* docs: SSRF warning (#10573)

* add-ssrf-protection-env-var

* api-request-component

* Update docs/docs/Components/components-data.mdx

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* move-note-to-table

* release-note

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: dynamic create data component (#10517)

* add-dynamic-create-data-component-and-release-note

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* clarify-message-types

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: cuga component bundle (#10589)

* initlal-content

* cuga-specific-component-connections

* cleanup

* use-the-same-name

* add-lite-mode-remove-api-flag-and-mode

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* public-or-private-internet

* agent-doesnt-check-urls

* peer-review

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: remove docling vlm component from 1.7 release branch (#10630)

remove-vlm-component

* docs: rename component categories and make all components single pages (#10648)

* docs: OpenAPI spec version upgraded from 1.6.5 to 1.6.8 (#10627)

Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>

* up to models and agents

* sidebars

* fix-broken-links

* chore: Fix indentation on bundles-docling.mdx (#10640)

* sidebars

* redo-intros

* link-to-models

* data-components

* files-components-no-kb

* io-components

* helper-utility-components

* llm-ops-components

* logic-components

* processing-pages

* sidebars

* combine-legacy-components-into-one-page

* update-links

* remove-overview-pages-and-redirect

* make-mcp-tools-page

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* no-cap

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: combined web search component (#10664)

* combine-pages

* remove-rss-and-news-search-and-update-links

* remove-vlm-link

* leave-old-release-note-but-remove-link

* docs: add altk reflection component (#10660)

* add-new-component

* differentiate-components

* docs: mcp streamable http client (#10621)

* release note

* mcp-client-changes

* update-astra-example

* icons-and-copy

* order-of-names

* docs: add cuga decomposition strategy as advanced parameter (#10672)

* update-component-link

* init

* add-decomp-as-advanced-param

* [autofix.ci] apply automated fixes

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

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

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* update-component-index

* [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: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: datastax bundles page (#10686)

* init

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: llm router changed to llm selector (#10663)

* update-component-name

* previous-name-and-release-note

* [autofix.ci] apply automated fixes

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

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

* docs: log alembic to stdout (#10711)

* docs-alembic-log-env-var

* cleanup

* remove-legacy-component-link

* docs: configure s3 for file storage backend (#10678)

* configure-file-storage-s3

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* clarify-s3-credentials

* add-storage-tags-and-cleanup-creds-seciton

* role-link-name

* fix-parse-error

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: allow rest tweaks to mcp tools component (#10833)

* typo

* tweak-mcp-tools-component

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* add-release-note

* docs: use mustache templates in prompts (#11262)

* mustache-templating

* syntax

* release-note

* peer-review

* docs: smart transform supports Message type  (#11306)

* component-supports-message-type

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* peer-review

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: modular dependency imports for langflow-base (#11250)

* modular-base-dependencies

* syntax-and-clarification

* release-note

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* clarify-base-and-langflow

* component-index

* delete-component-index

* [autofix.ci] apply automated fixes

* set-agentic-experience

* potential-breaking-changes

* not-audio-package

* cleanup-and-syntax

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* docs: symmetric and asymmetric JWT (#11159)

* initial-content

* cleanup

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* docs-peer-review

* [autofix.ci] apply automated fixes

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* docs: add markdown output to url component (#11336)

* add-markdown-output-format

* raw-content

* Apply suggestions from code review

* docs: Add global variable support for MCP server headers (#11397)

* add-global-var-in-mcp-headers

* revert-curl-syntax-change

* remove-duplicate-tab

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* remove-code-block

* add-release-note

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* Update docs/docs/Develop/install-custom-dependencies.mdx

* Update docs/docs/Develop/jwt-authentication.mdx

* docs: global model provider feature (#11231)

* initial-changes-to-model-providers

* add-icon-for-model-partial

* syntax

* adding-custom-language-model

* release-note

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* peer-review

* use-anthropic-model-with-agent

* [autofix.ci] apply automated fixes

* design-changes

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* mustache-limitations

* release-note-for-jwt

* docs: playground refactor and screenshots (#11639)

* screenshots

* new-playground-and-icon

* release-note

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: component inspection panel (#11675)

* docs-component-inspection-panel

* cleanup

* docs: add tool shortlisting and remove web_apps from CUGA component (#11669)

docs-add-shortlist-tools-and-remove-webapps-parameters

* fix-details-tab-error

* docs: workflow API draft build (#11323)

* delete-unused-yaml-file

* initial-content

* add-python-and-ts-to-example-requests

* separate-pages

* test-spec-presentation

* hide-async-and-make-workflows-plural

* fix-broken-link

* add-changes-to-async

* use-workflow-spec-from-sdk-build

* make-setup-partial

* add-fetch-script-for-openapi-spec

* update-workflows-spec

* remove-stream-for-now

* remove-reconnect-to-stream

* consolidate-pages

* remove-force-boolean

* [autofix.ci] apply automated fixes

* docs: add guardrails component (#11674)

* docs-add-guardrails-component

* cleanup

* example-and-heuristic-check

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* add-note-about-llm

* add-release-note

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* docs: pass env var to run command and endpoint as header (#11447)

* pass-env-var-to-lfx

* add-env-var-passing-to-run-endpoint

* add-python-and-js-commands

* docs: responses api token usage tracking (#11564)

* initlal-content

* add-release-note

* changes-for-accessing-advanced-parameters

* [autofix.ci] apply automated fixes

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

* small-playground-changes

* [autofix.ci] apply automated fixes

* Revert "docs: OpenAPI spec content updated without version change (#11787)"

This reverts commit a0d5618ac9.

* [autofix.ci] apply automated fixes

* docs: add LiteLLM proxy bundle (#11867)

* docs-add-litellm-proxy-component

* Update docs/docs/Components/bundles-lite-llm.mdx

* docs: 1.8 changes from QA (#11998)

* remove-rightside-playground

* tutorials

* image-size-update

* component-release-notes

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: pass API keys to args and not env (#11997)

* remove-rightside-playground

* tutorials

* image-size-update

* docs-troubleshoot-mcp-proxy-header-keys

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: knowledge bases (#11924)

* docs-add-back-kb-content

* update-with-release-candidate-branch

* fix-linking-error

* remove-advanced-flag

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* add-release-note

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: traces v0 (#12014)

* env-var-release-note-and-sidebars

* traces-and-database

* traces-ui-and-api-retrieval

* cleanup

* space

* move-section

* move-what-traces-capture-section

* docs: remove kb ingestion and rename kb retrieval (#12065)

remove-knowledge-ingestion-and-rename-knowledge-retrieval

* docs: add link to secret key rotation script (#12072)

* add-link-to-secret-key-rotation

* Apply suggestions from code review

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

---------

Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* docs: openlayer follow-on (#12073)

* add-openlayer-to-sidebars-and-release-notes

* Update docs/docs/Support/release-notes.mdx

---------

Co-authored-by: April M <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-06 14:41:10 +00:00
4fa9cd3b28 chore: fix model attribute accessor (#11976)
* log errors in production even with dev; surpress model attribute warnings

* revert logger changes
2026-03-06 02:25:51 +00:00
76b5b49e7a tests: Add soft content on flaky test (#12081) 2026-03-05 23:20:39 -03:00
ed199d99e1 feat: add basic types and database accessors for wxo integration (#12011)
* Add basic deployment persistence migrations and types

* ruff

* Rename db fields

* Encryption updates, alembic ids, schema relationships

  Critical Issues Fixed

  1. is_encrypted removed — update_provider_account now always encrypts, matching create_provider_account. No more heuristic that could store plaintext keys.
  2. Proper Alembic revision IDs — a1b2c3d4e5f6 → 8106300be7aa, c3d4e5f6a7b8 → 2a5defa5ddc0 (randomly generated).
  3. Folder ↔ Deployment relationship — Added folder on Deployment and deployments on Folder with "all, delete, delete-orphan" cascade.

  Important Issues Fixed

  4. Schema layering — Added DeploymentRead, DeploymentProviderAccountCreate, DeploymentProviderAccountRead (no api_key!), DeploymentProviderAccountUpdate.
  5. Cascade config — DeploymentProviderAccount.deployments now uses "all, delete, delete-orphan" (matching Folder.flows pattern).
  6. UUID validation standardized — Both CRUDs now use _parse_uuid() that raises ValueError with context (field name + value). No moent return None/return 0 on bad input.
  7. encrypt_api_key error context — Wrapped in try/except raising RuntimeError with clear message about encryption config.

  Suggestions Fixed

  8. Field validators — name, resource_key (Deployment) and provider_key, provider_url (DeploymentProviderAccount) now validated non-empty with .strip().
  9. (provider_account_id, resource_key) uniqueness — Added to both model and migration.
  10. account_id NULL documented — Comment explaining unique constraint behavior with NULLs.
  11. or 0 removed from count_deployment_rows.

* Bit more verbose naming, but follows existing standards

* Add crud tests

* Harden validation, error handling, and test coverage for deployment persistence

  - Extract shared validators (validate_non_empty_string) to database/utils.py
  - Add DeploymentCreate schema with field validators
  - Add _UNSET sentinel to update_provider_account for nullable field handling
  - Extract _encrypt_api_key helper with broadened exception handling
  - Add empty-string validation in CRUD create functions before DB round-trip
  - Escalate IntegrityError and None rowcount logging to aerror with rollback
  - Fix parse_uuid to chain exceptions with `from exc`
  - Fix folder relationship nullability (Folder, not Folder | None)
  - Add tests for 5 previously untested CRUD functions and new validation paths

* refactor: improve deployment CRUD naming, helpers, and documentation

- Rename count_deployments to count_deployments_by_provider
- Add update_deployment CRUD function and DeploymentUpdate schema
- Extract _strip_or_raise helper to deduplicate input validation
- Clarify IntegrityError messages to describe conflicts generically
- Document cascade semantics on User model relationships, double-
  validation rationale in CRUD, and model_fields_set usage on
  DeploymentProviderAccountUpdate
- Add missing get_deployment and update_deployment tests

* fix: harden deployment model validation, logging, and SQLAlchemy compatibility

- Validate pagination bounds (offset >= 0, limit > 0) in list_deployments_page
- Normalize blank provider_tenant_id to None on create, matching update behavior
- Centralize normalization via normalize_string_or_none utility and model validators
- Remove raw exception objects from IntegrityError log messages to avoid leaking SQL
- Reject unsupported types in parse_uuid with a clear TypeError
- Remove `from __future__ import annotations` from table models to fix SQLAlchemy
  relationship mapper errors at runtime

* update parent of deployment provider account migration to flow history migration

* Add documentation and in-memory tests for deployment tables

- Add inline comment on api_key column in migration noting it is stored
  encrypted
- Add comment on DeploymentProviderAccount.api_key model field
  documenting encryption requirement
- Add in-memory SQLite test suite covering both deployment and
  deployment_provider_account tables: unique constraints, CASCADE
  deletes, relationship loading, FK enforcement, and CRUD operations

* Add missing test files

* mypy

* [autofix.ci] apply automated fixes

* remove unused test

---------

Co-authored-by: Hamza Rashid <hzarashid@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-05 21:13:40 +00:00
a9d913ae3f feat(lfx): add adapter registries (#11990)
* checkout subservice implementation

* improve tests (added one, removed dead code) and handling of conflicting namespace registries

* introduce subservice types to scope and validate subservice registries by

* remove strict issubclass checks

* rename the feature to "adapter registry"

* refactor to /adapter directory

* major refactor to use shared config helpers

* refactor: align adapter registry with service manager patterns

- Use asyncio.iscoroutine for teardown (matches ServiceManager)
- Two-tier entry point error handling (warning vs debug)
- Add config load logging after adapter discovery
- Remove _get_nested_section wrapper, call shared helper directly
- Remove deployment/registry.py thin wrapper
- Export DeploymentServiceProtocol from services/__init__
- Extract test stubs into shared adapter_test_helpers module
- Revert incorrect ValueError->TypeError in schema validators

* refactor: remove adapter registry staging dict, derive config by convention

Align adapter registry with the service manager's @register_service
pattern: decorators now write directly to the AdapterRegistry singleton
instead of buffering in a module-level staging dict.

- register_adapter calls get_adapter_registry() + register_class()
  directly, removing _decorator_adapter_registry and _decorator_lock
- get_adapter_registry derives entry_point_group and
  config_section_path from AdapterType by convention, making them
  optional parameters
- Remove _discover_from_decorators() since decorators are already
  registered before discover() runs
- Fix discover_plugins docstring that incorrectly claimed decorators
  had highest priority (config files do)
- Simplify _reset_registries, deps.py, test helpers, and docs

* move AdapterType enum to dedicated schema file in /adapters

* move config dir resolution to shared helper

* move import logic to a shared helper

* [autofix.ci] apply automated fixes

* Fix encapsulation, error handling, thread safety, and test gaps in adapter registry

  - Encapsulate AdapterRegistry internal state behind private attrs and
    read-only properties (adapter_type, entry_point_group, config_section_path,
    is_discovered, has_cached_instances)
  - Re-raise unexpected exceptions in register_adapter decorator instead of
    silently swallowing them
  - Promote entry-point discovery catch-all from debug to warning with traceback
  - Wrap register_class in RLock for thread safety
  - Add try/except with context logging around factory calls in get_instance
  - Improve teardown_instances: preserve keys for error messages, add exc_info
  - Evict stale cached instances when register_class changes the class for a key
  - Narrow load_toml_config exception to ValueError (parent of TOMLDecodeError)
  - Split load_object_from_import_path error handling: expected import failures
    vs unexpected errors with traceback
  - Guard redundant discover() calls in get_deployment_adapter via is_discovered
  - Add tests for teardown exception isolation, sync teardown, and no-teardown
    adapters

* [autofix.ci] apply automated fixes

* tighten up documentation

* add locking mechanisms around more functions

* [autofix.ci] apply automated fixes

* test config discovery

* Add lock around discovery

* improve teardown concurrency, add more concurrency tests, and improve protocol parity

* use kwarg lambda

* release lock before iterating with awaits

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
1.8.0.rc6
2026-03-05 19:23:37 +00:00
902252ef01 fix(test): Reduce response length assertions in flaky integration tests (#12057) 2026-03-05 09:44:42 -03:00
6c4f1ddb98 fix: standardize "README" title and update API key configuration notes in 3 main flow templates (#12005)
* updated for README

* chore: update secrets baseline with new line numbers

* fixed test
2026-03-04 21:26:25 +00:00
335656f0c5 fix: Knowledge Base Improvements (#12023)
* fix: improve knowledge base UI consistency and pagination handling

- Change quote style from double to single quotes throughout knowledge base components
- Update "Hide Sources" button label to "Hide Configuration" for clarity
- Restructure SourceChunksPage layout to use xl:container for consistent spacing
- Add controlled page input state with validation on blur and Enter key
- Synchronize page input field with pagination controls to prevent state drift
- Reset page input to "1" when changing page

* refactor: extract page input commit logic into reusable function

Extract page input validation and commit logic from handlePageInputBlur and handlePageInputKeyDown into a shared commitPageInput function to eliminate code duplication.
2026-03-04 19:13:16 +00:00
f0a9d9862f feat: Support the new ModelInput in Astra DB (#11203)
* feat: Support the new ModelInput in Astra DB

* [autofix.ci] apply automated fixes

* Update templates

* [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 starter templates

* Update unified_models.py

* [autofix.ci] apply automated fixes

* Update component_index.json

* [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>
2026-03-04 18:29:23 +00:00
f37b250479 fix: playground does not scroll down to the latest user message upon sending (Regression) (#12006)
* fixes scroll is on input message

* feat: re-engage Safari sticky scroll mode when user sends message

Add custom event 'langflow-scroll-to-bottom' to force SafariScrollFix back into sticky mode when user sends a new message. This ensures the chat scrolls to bottom even if user had scrolled up, fixing behavior where Safari's scroll fix would remain disengaged after manual scrolling.
2026-03-04 17:44:22 +00:00
7e9b73a066 fix: change loop description (#12018)
* docs: simplify Loop component description in starter project and component index

* [autofix.ci] apply automated fixes

* style: format Loop component description to comply with line length limits

* fixed component index

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-04 17:41:11 +00:00
7490e4f0cc fix: knowledge Base Table — Row Icon Appears Clipped/Cut for Some Entries (#12009)
* removed book and added file. makes more sense

* feat: add accent-blue color to design system and update knowledge base file icon

- Add accent-blue color variables to light and dark themes in CSS
- Register accent-blue in Tailwind config with DEFAULT and foreground variants
- Update knowledge base file icon fallback color from hardcoded text-blue-500 to text-accent-blue-foreground
2026-03-04 17:40:57 +00:00
5f2b39bc26 fix: MCP Server Modal Improvements (#12017)
* fixes to the mcp modal for style

* style: convert double quotes to single quotes in baseModal component

* style: convert double quotes to single quotes in addMcpServerModal component
2026-03-04 17:17:06 +00:00
14e3cf7e38 feat: add flow version control (#11859)
* initial implementation of flow history

* Save and restore correctly

* Fit to screen when restoring

* Change confirmation to pop up

* correectly export even when version is not selected

* remove unused code

* [autofix.ci] apply automated fixes

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

* use auto snapshot from activate in fe

* [autofix.ci] apply automated fixes

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

* Remove flow state -- not needed until integration with deploymnet

* [autofix.ci] apply automated fixes

* Strip keys from exported history; add some deepcopies for safety

* [autofix.ci] apply automated fixes

* Unique version numbers and tests for stripping keys

* rename flow history entry

* [autofix.ci] apply automated fixes

* Add prune warning dialog, add domain-specific exceptions

* Move version control to left side bar

* fix remove_api_key function, remove dupe code

* Remove full-history download for now, cleanup

* merged updated FE

* Remove the keep building from version page, fix double save, remove not needed timeout

* fixes keep buildig

* merge migrations

* [autofix.ci] apply automated fixes

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

* hide log canvas controls and flow toolbar when preview is active

* [autofix.ci] apply automated fixes

* updated styles

* initial implementation of flow history

* Save and restore correctly

* Fit to screen when restoring

* Change confirmation to pop up

* correectly export even when version is not selected

* remove unused code

* [autofix.ci] apply automated fixes

* use auto snapshot from activate in fe

* [autofix.ci] apply automated fixes

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

* Remove flow state -- not needed until integration with deploymnet

* [autofix.ci] apply automated fixes

* Strip keys from exported history; add some deepcopies for safety

* [autofix.ci] apply automated fixes

* Unique version numbers and tests for stripping keys

* rename flow history entry

* [autofix.ci] apply automated fixes

* Add prune warning dialog, add domain-specific exceptions

* Move version control to left side bar

* fix remove_api_key function, remove dupe code

* merged updated FE

* Remove full-history download for now, cleanup

* Remove the keep building from version page, fix double save, remove not needed timeout

* fixes keep buildig

* merge migrations

* hide log canvas controls and flow toolbar when preview is active

* [autofix.ci] apply automated fixes

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

* updated styles

* [autofix.ci] apply automated fixes

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

* removed keep building button

* Workflow history branch 1 (#11946)

* Update language from history to version

* more language updates history -> version

* more language updates history -> version

* capture original draft at mount / restore

* Renames files from history to version

* clean up dead code, some more renames

* more naming fixes

* more naming fixes

* Fix API endpoint language

* [autofix.ci] apply automated fixes

* version -> versions

* ignore warning

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Update migration table naming

* fix import and update log to error on prune failure

* more import fixes

* fix migration paths

* more his->ver naming updates

* [autofix.ci] apply automated fixes

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

* Add checkbox to save draft or not

* add scroll, leave saved

* [autofix.ci] apply automated fixes

* fix migration path and some merge conflicts

* ruff

* remove max flow version size

* [autofix.ci] apply automated fixes

* Add index to created_at

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
2026-03-04 15:16:52 +00:00
06f861d814 fix: Custom Component Generator Template contains broken URLs returning 404 errors (#11866)
replace with value urls as folder structure seems to have changed

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
2026-03-04 12:26:18 +00:00
5b1602739b fix: coerce UUID session_id to string in ChatOutputResponse (#11958)
* fix: coerce UUID session_id to string in ChatOutputResponse and lfx callsite

* simplify patching in tests

* validate and raise early

* valueerror instead of typerror
2026-03-04 03:26:10 +00:00
2fc6ca8561 fix: update pydantic to 2.12.5 for fastapi-pagination compatibility (#11566)
* fix: update pydantic dependency to version 2.12.5 to silence fastapi pagination warning

* fix: bump sqlmodel to 0.0.32 for pydantic 2.12 compatibility

SQLModel 0.0.32 includes bug fix for Annotated field handling with
Pydantic 2.12+ (PR #1607 by @vimota). Without this fix, runtime type-
mapping errors occur when using Annotated type hints with SQLModel
models.

* fix: add model_config to TransactionReadResponse for pydantic 2.12 compat

With pydantic 2.12+, model_validate with from_attributes=True requires
populate_by_name=True when using field aliases. Without this config,
pydantic looks for the alias name (transaction_id) on the source object
instead of the actual field name (id).

* fix: update pydantic version to 2.12.5 in starter project JSON files

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

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

* fix: update sqlmodel dependency version to 0.0.37

* fix: enhance migration validation tests and add schema verification

* [autofix.ci] apply automated fixes

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

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

* fix: update expected tables and refine SQLite diff filtering in migration tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1.8.0.rc5
2026-03-03 17:11:32 +00:00
5a18aaadcd fix: Resolve ruff check failures in lfx deployment service (#11992)
* fix: Improve message formatting in DeploymentNotConfiguredError

* fix: Change ValueError to TypeError for invalid flow nodes and edges

* fix: Add noqa comments to suppress ARG002 warnings for unused function arguments

* fix: Update exception raising in tests to improve clarity and suppress linting warnings

* fix: Change TypeError to ValueError so pydantic recognizes the error
2026-03-03 14:22:38 +00:00
91219be56c feat: add secret key rotation script and documentation (#10978)
* feat: add script for migrating encrypted data to a new secret key

* test: add unit tests for secret key migration script

* docs: update SECURITY.md to include secret key rotation process and migration instructions

* [autofix.ci] apply automated fixes

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

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

* update component index

* update component index

* [autofix.ci] apply automated fixes

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

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

* refactor: use atomic transaction for secret key migration

* fix: print new key for both generated and provided cases

Ensure users always see the key being used regardless of whether
it was auto-generated or provided via --new-key flag.

* [autofix.ci] apply automated fixes

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

* fix: improve error handling and test coverage for secret key migration

- Update docstring to accurately reflect migrated fields (remove KB reference)
- Change migrate_auth_settings to return (result, failed_fields) tuple
- Skip folders with failed field migrations instead of silently preserving old values
- Add tests for transaction atomicity and rollback behavior
- Add tests for error handling: invalid data, null values, malformed JSON
- Add test for file permissions (0o600 on Unix)
- Add test for dry-run mode database preservation

* [autofix.ci] apply automated fixes

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

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

* docs: improve docstrings for secret key migration script

- Add detailed description for ensure_valid_key explaining short vs long key handling
- Add Returns section to migrate_value documenting None return on failure
- Add full Args documentation and transaction behavior to migrate function

* [autofix.ci] apply automated fixes

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

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

* fix: update .gitignore to include new data files and user-specific cache

* [autofix.ci] apply automated fixes

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

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

* fix: update usage instructions to include 'uv run' for secret key migration script

* [autofix.ci] apply automated fixes

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

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

* feat: add migration verification functionality and corresponding tests

* [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>
2026-03-03 13:06:58 +00:00
797c430270 ci: add lfx paths to CI path filters (#11212)
Changes to src/lfx were not triggering CI tests because the path
filters did not include lfx directories. This adds lfx paths to:
- python: triggers backend tests for any lfx changes
- docker: triggers docker tests when lfx changes
- components-changes: lfx components
- components: lfx components, custom, schema, graph
- workspace: lfx inputs
2026-03-03 12:54:56 +00:00
0cedf8a5a0 feat: Add Concatenate and Merge operations to DataFrame Operations (#11601)
* add concatenate and merge operations on tables

* [autofix.ci] apply automated fixes

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

* add code rabbit suggestions

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-03 11:49:53 +00:00
15b98537d7 fix: Sanitize database credentials in error messages (#11621)
* sanitize error from db

* [autofix.ci] apply automated fixes

* improve regex

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-03 10:14:37 +00:00
91c016aaed feat: schemas for pluggable deployment service (#11979)
* checkout deployment serice schemas

* simplify schemas

* internal facing schema improvements and structuring

* add tests

* use string for name property

* address coderabbit suggestions for implementing todos and adding tests

* address claude maximus comments

* remove teardown from base.add tests for uncovered exception classes

* stub db as AsyncSession

* address review findings: align protocol with ABC, tighten schemas and exceptions

  - Add redeploy, duplicate, create_execution, get_execution to DeploymentServiceProtocol so it matches BaseDeploymentService
  - Add @runtime_checkable to DeploymentServiceProtocol
  - Use IdLike alias in base.py, service.py, and interfaces.py instead of
    raw UUID | str
  - Make DeploymentError.error_code required (all subclasses already provide one)
  - Store deployment_id on DeploymentNotFoundError regardless of custom message
  - Add isinstance checks for nodes/edges in BaseFlowArtifact.validate_data
  - Add min_length=1 to BaseFlowArtifact.name
  - Remove redundant provider_data re-declaration from DeploymentStatusResult
  - Add descriptive messages to all NotImplementedError raises in stub service
  - Remove misleading set_ready() from stub DeploymentService
  - Export BaseDeploymentService and DeploymentError from package __init__
  - Fix "Auhtenticated" typo in AuthUserProtocol docstring
  - Parametrize stub method tests to cover all 11 methods
  - Add tests for protocol conformance, get_deployment_create_schema,
    DeploymentNotFoundError.deployment_id, flow name validation, nodes/edges
    type validation, ConfigItem/DeploymentUpdate happy paths

* Add domain-specific exception type

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-02 23:30:34 +00:00
ca9ba72981 chore: clean up files created during testing (#11844)
modified test_save_file_component.py to clean up generated test files once tests are done
1.8.0.rc4
2026-03-02 21:22:37 +00:00
a5c8bf2079 chore: remove CodeFlash integration (#11670)
Remove CodeFlash dependency, CI workflow, and configuration as it is no longer used.
2026-03-02 20:33:41 +00:00
d46f3a620c feat: traces v0 (#11689)
* feat: traces v0

v0 for traces includes:
- filters: status, token usage range and datatime
- accordian rows per trace

Could add:
- more filter options. Ecamples: session_id, trace_id and latency range

* fix: token range

* feat: create sidebar buttons for logs and trace

add sidebar buttons for logs and trace
remove lods canvas control

* fix: fix duplicate trace ID insertion

hopefully fix duplicate trace ID insertion on windows

* fix: update tests and alembic tables for uts

update tests and alembic tables for uts

* chore: add session_id

* chore: allo grouping by session_id and flow_id

* chore: update race input output

* chore: change run name to flow_name - flow_id
was flow_name - trace_id
now flow_name - flow_id

* facelift

* clean up and add testcases

* clean up and add testcases

* merge Alembic detected multiple heads

* [autofix.ci] apply automated fixes

* improve testcases

* remodel files

* chore: address gabriel simple changes

address gabriel simple changes in traces.py and native.py

* clean up and testcases

* chore: address OTel and PG status comments

https://github.com/langflow-ai/langflow/pull/11689#discussion_r2854630438
https://github.com/langflow-ai/langflow/pull/11689#discussion_r2854630446

* chore: OTel span naming convention

model name is now set using name = f"{operation} {model_name}" if model_name else operation

* add traces

* feat: use uv sources for CPU-only PyTorch (#11884)

* feat: use uv sources for CPU-only PyTorch

Configure [tool.uv.sources] with pytorch-cpu index to avoid ~6GB CUDA
dependencies in Docker images. This replaces hardcoded wheel URLs with
a cleaner index-based approach.

- Add pytorch-cpu index with explicit = true
- Add torch/torchvision to [tool.uv.sources]
- Add explicit torch/torchvision deps to trigger source override
- Regenerate lockfile without nvidia/cuda/triton packages
- Add required-environments for multi-platform support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: update regex to only replace name in [project] section

The previous regex matched all lines starting with `name = "..."`,
which incorrectly renamed the UV index `pytorch-cpu` to `langflow-nightly`
during nightly builds. This caused `uv lock` to fail with:
"Package torch references an undeclared index: pytorch-cpu"

The new regex specifically targets the name field within the [project]
section only, avoiding unintended replacements in other sections like
[[tool.uv.index]].

* style: fix ruff quote style

* fix: remove required-environments to fix Python 3.13 macOS x86_64 CI

The required-environments setting was causing hard failures when packages
like torch didn't have wheels for specific platform/Python combinations.
Without this setting, uv resolves optimistically and handles missing wheels
gracefully at runtime instead of failing during resolution.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* LE-270: Hydration and Console Log error (#11628)

* LE-270: add fix hydration issues

* LE-270: fix disable field on max token on language model

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>

* test: add wait for selector in mcp server tests (#11883)

* Add wait for selector in mcp server tests

* [autofix.ci] apply automated fixes

* Add more awit for selectors

* [autofix.ci] apply automated fixes

---------

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

* fix: reduce visual lag in frontend  (#11686)

* Reduce lag in frontend by batching react events and reducing minimval visual build time

* Cleanup

* [autofix.ci] apply automated fixes

* add tests and improve code read

* [autofix.ci] apply automated fixes

* Remove debug log

---------

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

* feat: lazy load imports for language model component (#11737)

* Lazy load imports for language model component

Ensures that only the necessary dependencies are required.
For example, if OpenAI provider is used, it will now only
import langchain_openai, rather than requiring langchain_anthropic,
langchain_ibm, etc.

* Add backwards-compat functions

* [autofix.ci] apply automated fixes

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

* Add exception handling

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

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

* comp index

* docs: azure default temperature (#11829)

* change-azure-openai-default-temperature-to-1.0

* [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

---------

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

* [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)

* fix unit test?

* add no-group dev to docker builds

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>

* feat: generate requirements.txt from dependencies  (#11810)

* Base script to generate requirements

Dymanically picks dependency for LanguageM Comp.
Requires separate change to remove eager loading.

* Lazy load imports for language model component

Ensures that only the necessary dependencies are required.
For example, if OpenAI provider is used, it will now only
import langchain_openai, rather than requiring langchain_anthropic,
langchain_ibm, etc.

* Add backwards-compat functions

* [autofix.ci] apply automated fixes

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

* Add exception handling

* Add CLI command to create reqs

* correctly exclude langchain imports

* Add versions to reqs

* dynamically resolve provider imports for language model comp

* Lazy load imports for reqs, some ruff fixes

* Add dynamic resolves for embedding model comp

* Add install hints

* Add missing provider tests; add warnings in reqs script

* Add a few warnings and fix install hint

* update comments add logging

* Package hints, warnings, comments, tests

* [autofix.ci] apply automated fixes

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

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

* Add alias for watsonx

* Fix anthropic for basic prompt, azure mapping

* [autofix.ci] apply automated fixes

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

* ruff

* [autofix.ci] apply automated fixes

* test formatting

* ruff

* [autofix.ci] apply automated fixes

---------

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

* fix: add handle to file input to be able to receive text (#11825)

* changed base file and file components to support muitiple files and files from messages

* update component index

* update input file component to clear value and show placeholder

* updated starter projects

* [autofix.ci] apply automated fixes

* updated base file, file and video file to share robust file verification method

* updated component index

* updated templates

* fix whitespaces

* [autofix.ci] apply automated fixes

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

* add file upload test for files fed through the handle

* [autofix.ci] apply automated fixes

* added tests and fixed things pointed out by revies

* update component index

* fixed test

* ruff fixes

* Update component_index.json

* [autofix.ci] apply automated fixes

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

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

* updated component index

* updated component index

* removed handle from file input

* Added functionality to use multiple files on the File Path, and to allow files on the langflow file system.

* [autofix.ci] apply automated fixes

* fixed lfx test

* build component index

---------

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: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>

* docs: Add AGENTS.md development guide (#11922)

* add AGENTS.md rule to project

* change to agents-example

* remove agents.md

* add example description

* chore: address cris I1 comment

address cris I1 comment

* chore: address cris I5

address cris I5

* chore: address cris I6

address cris I6

* chore: address cris R7

address cris R7

* fix testcase

* chore: address cris R2

address cris R2

* restructure insight page into sidenav

* added header and total run node

* restructing branch

* chore: address gab otel model changes

address gab otel model changes will need no migration tables

* chore: update alembic migration tables

update alembic migration tables after model changes

* add empty state for gropu sessions

* remove invalid mock

* test: update and add backend tests

update and add backend tests

* chore: address backend code rabbit comments

address backend code rabbit comments

* chore: address code rabbit frontend comments

address code rabbit frontend comments

* chore: test_native_tracer minor fix address c1

test_native_tracer minor fix address c1

* chore: address C2 + C3

address C2 + C3

* chore: address H1-H5

address H1-H5

* test: update test_native_tracer

update test_native_tracer

* fixes

* chore: address M2

address m2

* chore: address M1

address M1

* dry changes, factorization

* chore: fix 422 spam and clean comments

fix 422 spam and clean comments

* chore: address M12

address M12

* chore: address M3
 address M3

* chore: address M4

address M4

* chore: address M5

address M5

* chore: clean up for M7, M9, M11

clean up for M7, M9, M11

* chore: address L2,L4,L5,L6 + any test

address L2,L4,L5 and L6 + any test

* chore: alembic + comment clean up

alembic + comment clean up

* chore: remove depricated test_traces file

remove depricated test_traces file. test have all been moved to test_traces_api.py

* fix datetime

* chore: fix test_trace_api ge=0 is allowed now

fix test_trace_api ge=0 is allowed now

* chore: remove unused traces cost flow

remove unused traces cost flow

* fix traces test

* fix traces test

* fix traces test

* fix traces test

* fix traces test

* chore: address gabriels otel coment

address gabriels otel coment latest

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ram Gopal Srikar Katakam <44802869+RamGopalSrikar@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: olayinkaadelakun <olayinka.adelakun@ibm.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
2026-03-02 20:12:40 +00:00
355c5894f4 fix: Fixes Kubernetes deployment crash on runtime_port parsing (#11968)
* feat: add runtime port validation for Kubernetes service discovery

* test: add unit tests for runtime port validation in Settings

* fix: improve runtime port validation to handle exceptions and edge cases
2026-03-02 17:40:45 +00:00
eada070b0c fix(test): Fix superuser timeout test errors by replacing heavy client fixture (#11972)
* fix super user timeout test error

* fix fixture db test

* remove canary test

* [autofix.ci] apply automated fixes

* flaky test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-02 17:30:15 +00:00
d602738a6d feat: KnowledgeBase Enhancements + Knowledge Ingestion flow + Polymorphic Job Tracking (#11541)
* updated columns name

* fixed root issue

* fixed chunks

* fix: Remove title case transformation from knowledge base names and improve UI layout

- Remove .title() transformation from knowledge base names in API endpoints
- Add textTransform: none to knowledge base name column in grid
- Improve source chunks page layout with proper overflow handling
- Enhance chunk card UI with badges, better spacing, and copy feedback
- Add pagination controls with first/last page buttons and page number input
- Preserve original chunk indices when filtering
- Fix whit

* added kb dialog for added knowledg

* added styles, need BE supprot

* [autofix.ci] apply automated fixes

* added more styles

* [autofix.ci] apply automated fixes

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

* [autofix.ci] apply automated fixes

* merge updated code

* clean up stores and styles

* fixed height on stepper

* simplified init step

* fixed minor issues in summary

* code clean up with claude

* moved kb files to the correct folder

* added chunks endpoint

* updated form

* updated form

* updated form to include column table

* side panel style for multiple items

* fixed placeholder and flipped modal settings config

* [autofix.ci] apply automated fixes

* fix for product styles and form update for hiding advanced mode

* regex and dynamic error height adjustment

* validation for file sizes

* Move file size limit text to Configure Sources header and update conditional rendering

* Paginated the chunk response.

* Sync/Async ingestions endpoint for KnowledgeBases. Streamlining job execution for LF, internal status endpoint for jobs/tasks.

* [autofix.ci] apply automated fixes

* fix height jump and preview jump and added max h for dd

* [autofix.ci] apply automated fixes

* Paginated the chunk response.

* Sync/Async ingestions endpoint for KnowledgeBases. Streamlining job execution for LF, internal status endpoint for jobs/tasks.

* Modified migration file to handle downgrades.

* committing changes for demo.

* big updates

* fixed chunks page

* creating kb in canvas adds value and fixes updates functionality

* fix ingestion for canvas

* [autofix.ci] apply automated fixes

* Added metadata file caching to speed up KB listing API call.

# Conflicts:
#	src/backend/base/langflow/api/v1/knowledge_bases.py

* Fixed linting and formatting issues. Tested caching for KB list call.

* [autofix.ci] apply automated fixes

* fixed icons

* [autofix.ci] apply automated fixes

* fixed jest test

* fixed playwright test

* updated ingestion format

* fixes from qa

* [autofix.ci] apply automated fixes

* fix placeholder

* fix deepclone

* updated templates

* [autofix.ci] apply automated fixes

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

* updates templates

* fix fe test

* Added file locking to avoid lock contention and SQLite connection starvation.

* fixed column config

* persist the column config

* [autofix.ci] apply automated fixes

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

* added back metadata

* Resolve locking error by force creating a fresh ChromaClient on every KB creation. This avoids the Read-Only 1032 Zombie Client error.

Fixed ChromaClient creation to be only on creation, and reuse the client otherwise.

* cris's fixes

* reorganize KnowledgeBaseUploadModal file structure and update imports

* [autofix.ci] apply automated fixes

* tests

* update google dependency version from 2.30.0 to 1.139.0 in component index

* [autofix.ci] apply automated fixes

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

* Addressed PR comments: refactored existing code to break bigger implmentations into more testable blocks, refactored helpers into class base helpers, fixed code smells, added exhautive unit tests, extracted constant values into a separate file.

* hide col details and open table

* Addressed PR comments.

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* updated test yaml

* revert yml

* revert yml

* [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: Debojit Kaushik <kaushik.debojit@gmail.com>
1.8.0.rc3
2026-02-27 21:31:48 +00:00
f8e8382e67 chore: fix litellm icon, move to bundles (#11938)
* Fix litellm icon, move to bundles

* Add litellm icon

* fix unit test

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-27 20:20:43 +00:00
7e148bcf56 feat: agentics IBM bundle (#11490)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Alfio Gliozzo <gliozzo@us.ibm.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Junkyu Lee <junkyu.lee@ibm.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Nahuel Defossé <nahuel.deofsse@ibm.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
Co-authored-by: Viktor Avelino <viktor.avelino@gmail.com>
2026-02-27 16:38:55 -03:00
3d11698e0f feat: add functionality to merge file upload and folder upload (#11604)
* feat: Add folder/directory processing for File

* Some file upload cleanup

* Deprecate the directory component

* [autofix.ci] apply automated fixes

* Update src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update src/frontend/src/hooks/files/use-upload-file.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update src/frontend/src/customization/components/custom-input-file.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update use-upload-file.ts

* Update custom-input-file.tsx

* [autofix.ci] apply automated fixes

* Update toggleComponent.spec.ts

* [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)

* Update component_index.json

* Update use-upload-file.test.ts

* Update component_index.json

* [autofix.ci] apply automated fixes

* Update component_index.json

* feat: remove allowFolderselection flag for redundancy reasons

* [autofix.ci] apply automated fixes

* fix: remove console.log messages

* feat: add functionality to merge file upload and folder upload

* clean up

* suffix placement

* [autofix.ci] apply automated fixes

* Per-file failures currently abort the whole batch.

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
2026-02-27 18:56:59 +00:00
3007372513 feat: Update model metadata for Anthropic, Google, OpenAI (#11916)
* Update model metadata for Anthropic, Google, OpenAI

Add and reorganize model metadata across providers:

- Anthropic: add "claude-opus-4-6" and "claude-sonnet-4-6", reinsert "claude-opus-4-5-20251101" and mark older claude-3 haiku models as deprecated.
- Google Generative AI: add preview model "gemini-3.1-pro-preview".
- OpenAI: add "gpt-5.2" (reasoning) and add "gpt-4.1", "gpt-4.1-mini", "gpt-4.1-nano" as tool-calling models; convert "gpt-4.5-preview" to deprecated and adjust deprecation/not_supported flags for several o* reasoning models (e.g. o1-mini deprecated, other o1/o3/o4 variants marked not_supported as appropriate).

These changes update available/preview/deprecated flags and add newly supported model entries to the unified metadata lists.

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [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: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
2026-02-27 18:04:10 +00:00
37a31a0bf9 fix: search filter for agent component (#11939)
* Fix search filter for agent component

* refactor and add tests
2026-02-27 17:30:39 +00:00
ae00c03154 feat: Add full provider variable metadata and multi-variable support (#11446)
* Add full provider variable metadata and multi-variable support

Enhances provider variable handling by introducing a metadata structure for all required variables per provider, including support for providers with multiple required variables (e.g., IBM WatsonX). Updates backend API to return full variable info, adapts frontend to dynamically render and save multiple variables, and adds comprehensive tests for the new API response. Also updates static mappings and introduces a new React hook for fetching provider variable metadata.

* [autofix.ci] apply automated fixes

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

* Refactor provider variable saving to batch mode

Replaces per-variable auto-save with a batch save for all provider variables, improving UX and reducing API calls. Updates input handling to show masked values for secrets, disables save button until all required fields are filled, and provides clearer feedback for configured variables.

* use decrypt only for is secret

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update unified_models.py

* [autofix.ci] apply automated fixes

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

* Refactor model provider metadata and validation logic

Centralize MODEL_PROVIDER_METADATA in model_metadata.py and update unified_models.py to import and use it. Refactor provider validation to accept all required variables as a dictionary, supporting providers with multiple required credentials. Simplify and generalize validation logic for all providers.

* Refactor provider param mappings for language models

Centralizes provider-specific parameter mappings in model_metadata.py and introduces get_provider_param_mapping for reuse. Updates unified_models.py to use this mapping, reducing duplication and improving maintainability for model class, API key, and other provider-specific parameters.

* Update providerConstants.ts

* Refactor provider config check to include all required variables

Replaces the API key-specific check with a more general configuration requirement, considering all required provider variables (not just secrets). Updates related UI logic and labels to reflect this broader configuration requirement.

* Fixed overflow

* [autofix.ci] apply automated fixes

* Fix provider enablement to check all required variables

Update logic to consider both secret and non-secret variables when determining enabled providers. Refactor to fetch all required provider variables, not just credentials, and ensure correct values are passed for validation. This improves accuracy for providers that require non-secret configuration variables.

* Refactor language model config for provider flexibility

Replaces provider-specific field toggling logic in starter project LanguageModelComponent definitions with a call to apply_provider_variable_config_to_build_config. This centralizes provider-specific configuration, improving maintainability and extensibility for new model providers.

* Update backend to include validation on variable enable, and validation endpoint

* Deleted unused files

* Added required provider API calls

* Refactored frontend to allow handling multiple fields on the providers

* updated component index

* Merge remote-tracking branch 'origin/main' into EJ/add-multi-api-support

* Changed LF assistant backend to work with new variables

* [autofix.ci] apply automated fixes

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

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

* fix: resolve merge conflicts for multi api support (#11807)

* bug: unable to use Other Model for 'Language Model' in Agent Component (#11506)

* fixed import issue on model provider

* addressed commments

---------

Co-authored-by: keval shah <kevalvirat@gmail.com>

* test: Fix race condition in rename flow test (#11549)

* fix: add Language Model components to Basic Prompt Chaining.json in starter_projects (#11567)

fix: add LM components to starter_projects in BPC

add Language Model components to Basic Prompt Chaining,json in starter_projects

* feat(loop): implement isolated subgraph execution for LoopComponent (#11034)

* refactor(loop): implement isolated subgraph execution for LoopComponent

- Refactor LoopComponent to execute loop body as isolated subgraph
- Add create_subgraph method to Graph class for creating isolated subgraphs
- Add loop_utils with get_loop_body_vertices helper function
- Add on_end_vertex event emission in async_start for progress tracking
- Add comprehensive tests for subgraph execution and event emission

This change enables proper vertex event streaming during loop execution
by running each iteration as an isolated subgraph with its own context.

* [autofix.ci] apply automated fixes

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

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

* fix: Improve subgraph event streaming to UI

- Add event types to stream token event manager (end_vertex, error, build_start, build_end)
- Preserve start_component_id in async_start for proper subgraph execution
- Fix has_chat_output/has_chat_input to use vertex.base_name instead of string matching
- Add _stream_to_playground check to allow inner graph components to send events
- Fix _send_message_event to properly extract and forward message IDs

* update index

* fix: Enhance extract_loop_output to handle multiple message formats

* [autofix.ci] apply automated fixes

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

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

* fix: Improve intra-layer cycle detection logging in sorting function

* refactor: Update loop execution to create fresh subgraph for each iteration

* test: Add tests for subgraph isolation and state management

* fix: Update LoopComponent description for clarity on item processing

* [autofix.ci] apply automated fixes

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

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

* fix: Add warning log for missing custom_component in loop item injection

* refactor: Simplify loop event tests while preserving critical coverage

Reduced test complexity by removing excessive mocking while maintaining completeå event manager propagation coverage. Event manager tests are critical for ensuring UI updates work correctly during loop execution.

* fix: Update Google dependency version to 2.5.0 across multiple components

* fix: Update value format in Research Translation Loop JSON for clarity

* fix: Inject loop items into HandleInput fields via raw_params

HandleInput fields (type="other") were receiving None instead of loop items
because:
1. Fields with type="other" are skipped during field param processing
2. Loop->Parser edge is filtered out in subgraph creation
3. updated_raw_params flag was reset too early by multiple build_params() calls

Fix:
- Inject loop items into template before prepare()
- Inject into raw_params after prepare() using update_raw_params()
- Persist updated_raw_params flag across all build_params() calls
- Reset flag in _build_each_vertex_in_params_dict() after processing

Tests:
- Add integration test exercising execute_loop_body() code path
- Verify update_raw_params() called with correct data per iteration
- Add full Loop+Parser integration test
- Fix fieldName -> field_name in existing tests

* fix: Update done_output method to use internal event manager and improve event handling

* refactor: Update execute_loop_body to use async context manager for subgraph creation and cleanup

* fix: import json in unified_models.py

* feat: Implement subgraph tracing context management

* fix: Update code_hash and improve loop component execution logic

* fix: Update code_hash and refine LoopComponent execution logic

* [autofix.ci] apply automated fixes

* fix: Update LoopComponent subgraph execution to set event manager as instance attribute

* test: Enhance subgraph execution tests to verify event manager passing

---------

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

* feat: Missing 'Disconnect' Option in Model Providers Settings (#11373)

* added disconnect styles from design

* added motion to model provider

* revert input to make sense

* styles improved

* backend fix

* removed non used import

* fixed disconnect (design suggestion)

* added tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

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

* updated templates

* updated templates

* re-run ci

---------

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

* fix: correctly handle httpexceptions in session scope (#11542)

* Correctly handle httpexceptions in session scope

* don't assume autologin

for distributed envs, diff backends may have diff autologin
settings, so don't assume config

* [autofix.ci] apply automated fixes

* simplify conditional logic

* update comp 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>

* fix: remove authentication check on sign up endpoint (#11560)

* Remove authentication check on sign up endpoint

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

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

* fix: Apply env var fallback fix to lfx module (#11584)

Applies the fix from PR #9422 (commit 18e2ff2d2d) to the lfx module,
which was previously only applied to the backend module.

PR #9422 fixed a bug where environment variable fallback would fail when
`load_from_db=True` inputs couldn't find variables in the database.

The fix properly distinguishes between two error cases:

- "User id is not set" → always raise (authentication issue)
- "variable not found." → only raise if fallback_to_env_vars=False

However, this fix was only applied to:

- src/backend/base/langflow/interface/initialize/loading.py

And was missing from:

- src/lfx/src/lfx/interface/initialize/loading.py

PR #9902 added table field support and reorganized the test imports to
use the lfx module (which has table support). The test was updated to
use "Database connection failed" error message to work with the existing
code, rather than "variable not found." which would trigger the bug.

This commit:

1. Applies the bug fix to the lfx module's regular field handler
2. Restores the original test behavior using "variable not found."
   to properly validate that the fix works

- src/lfx/src/lfx/interface/initialize/loading.py
  Fixed error handling to respect fallback_to_env_vars flag

- src/backend/tests/unit/interface/initialize/test_loading.py
  Restored "variable not found." error to properly validate the fix

Fixes: https://github.com/langflow-ai/langflow/issues/11422
Related: #9422, #9902

* feat: add copy functionality to output modal with tooltip support (#11493)

* feat: add copy functionality to output modal with tooltip support

* [autofix.ci] apply automated fixes

* refactor: streamline OutputModal component structure and improve readability

* refactor: remove comment

---------

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

* fix: Improve Read File and Write File storage location UX (#11589)

* advanced mode for storage

* add tests

* hide storage location

* [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: modal autofocus close button (#11425)

* fix: improve focus behavior in FlowLogsModal

* fix: improve focus behavior in SaveChangesModal

* refactor: extract onOpenAutoFocus handlers

* check if element exists before prevent

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.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>

* feat: Add Python flow execution support for Assistant (#11553)

* add execution .py

* fix verbose error

* remove unecessary doc

* [autofix.ci] apply automated fixes

* add coderabbit suggestion and mypy fixes

* fix mypy

* add more tests to /agents related files

---------

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

* build(deps-dev): bump @modelcontextprotocol/sdk from 1.25.3 to 1.26.0 in /src/frontend (#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](https://github.com/modelcontextprotocol/typescript-sdk/compare/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>

* ci: use correct labeling for nightly hash update workflow step (#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: fork branch for main  (#11183)

* feat: add chat-header feature and sliding container  (#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 (#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 (#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 (#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 ec3ed63fa8.

* Revert "fix: prevent textarea from growing on every character with 10px threshold"

This reverts commit 93637ae4de.

* 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 (#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 f230c8c6dd.

* fix time on agent chain

* [autofix.ci] apply automated fixes

* fix(playground): display ChatInput default value on playground open (#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 (#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 (#11533)

reset playground state when leaving the flow

* fix(frontend): prevent Message Logs table from dropping columns with falsy values (#11540)

fix(frontend): prevent Message Logs table from dropping columns with falsy values

* fix(frontend): auto-close playground when all chat components are removed (#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 (#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 (#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 (#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 (#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 (#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 (#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 (#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 (#11596)

fix(frontend): prevent duplicate session creation when renaming in non-fullscreen mode

* fix: tests shard 18 - Memory Chatbot and Simple Agent Memory (#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 (#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: Link visibility and 404 URL in Auto-save modal (#11476)

fix: Fix link visibility and URL in save flow modal

Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>

* Fix: runflow toolmode input progation (#11348)

* 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>

* bug: fix for embedding model input/output handler (#11591)

* 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>

* fix: Alphabetical Sorting for "Models & Agents" Components (#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: update pre-release flow to be useable for qa (#11322)

* 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>

* fix: remove fe from backend image build (#11579)

* 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>

* feat: adds inspection panel to show node inputs (#11263)

* 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 acf2190001.

* 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>

* feat: create guardrails component (#11451)

* 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>

* fix: Filter out MCP and models_and_agents categories and MCPTools component from sidebar (#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>

* feat(auth): Pluggable AuthService with abstract base class (#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 (#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 (#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>

* fix: Fix flaky Market Research test timeout on CI  (#11665)

* 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>

* ci: make docs deployment manual-only (#11602)

feat: update GitHub Actions workflow to allow manual branch selection for docs deployment

* fix: handle missing capabilities in Ollama API response (#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>

* docs: draft hide internal endpoints in spec (#11469)

* 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>

* feat: update opensearch component with raw search component (#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>

* fix(test): Skip Tavily API key fill when global variable is loaded                                                          (#11733)

* feat: add smart column ordering and clean output toggle to Split Text component (#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

* [au…

* Update component_index.json

* Update unified_models.py

* Add logging & improve error handling in models

Refactor validate_model_provider_key and related helpers to improve diagnostics and robustness: reflowed docstring, added model_name documentation, log exceptions when fetching unified models, and log+raise clearer errors for missing Ollama base URL and non-Ollama responses. Provide clearer error messages when a requested model is not found and log invalid API key errors before raising. Also replace several broad exception handlers to log variable-access errors for easier debugging.

* Narrow provider validation exceptions

Replace a broad except Exception clause in validate_provider with a specific tuple of exceptions to avoid masking unexpected errors. Add a '# noqa: ARG001' comment to the current_user parameter to silence the unused-argument linter. Reorder the pydantic import to resolve an import duplication/ordering issue.

* organize imports

* [autofix.ci] apply automated fixes

* fixed unit test

* [autofix.ci] apply automated fixes

* update router in agentic to be compatible with new variable changes

* fix ruff

* [autofix.ci] apply automated fixes

* Update unified_models.py

* Remove unused import & silence test linter

Drop the unused get_model_provider_variable_mapping import and related provider_mapping usage in DatabaseVariableService to avoid importing unnecessary symbols. Add a noqa: ARG001 to the test function signature to silence the unused-argument linter for logged_in_headers while keeping the backward-compatibility test unchanged.

* Include Ollama in default model selection

Simplify default-selection logic by removing the special-case exclusion for Ollama. The code now marks the first 5 models per provider as default unconditionally (removed the no_default_providers set and related conditional/comment).

* fixed mcp server test

* fixed timeouts

* [autofix.ci] apply automated fixes

* added some timeouts

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* [autofix.ci] apply automated fixes

* Update component_index.json

* Update component_index.json

* fixed button design

* Changed watsonx endpoint to be combobox, allowing custom values

* update options when searching to update combobox value

* hide selection when selecting

* only validate filled in fields

* [autofix.ci] apply automated fixes

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

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

* feat: get live models for Ollama and IBM (#11823)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>

* Update component_index.json

* [autofix.ci] apply automated fixes

* Add MIN_DEFAULT_MODELS and update test mocks

Introduce MIN_DEFAULT_MODELS constant and replace hard-coded 5 with that constant in fetch_live_ollama_models and fetch_live_watsonx_models for clearer configuration/maintainability. Also adjust unit test mock signatures to use `_args`/`_kwargs` and rename unused `user_id` param to `_user_id` to avoid unused-argument warnings and improve clarity.

* Update component_index.json

* [autofix.ci] apply automated fixes

* Update component_index.json

* [autofix.ci] apply automated fixes

* Do not fallback to static Ollama models

Tests updated to expect Ollama to have zero models when a live fetch returns no models. The implementation now maps live_models to an empty list when none are returned and only adds a provider entry when there are catalog_models to include. This prevents falling back to static Ollama models when live fetch yields no results (aligns behavior with updated test expectations). Files changed: test_models_enabled_providers.py, model_utils.py.

* [autofix.ci] apply automated fixes

* update test

* update starter projects

* [autofix.ci] apply automated fixes

* removed description from fields, added Replace API Key button

* Added placeholder and values to fields

* Change validation to occur when saving and show not validated button

* show the ollama even when no models are available

* show tooltip on the x

* just enabled models when they are present

* set fetching after disconnect to show loading

* removed set variable values when disconnecting

* [autofix.ci] apply automated fixes

* added debounce when enabling models

* [autofix.ci] apply automated fixes

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

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

* added meaningful placeholder

* fixed not being able to delete project id

* [autofix.ci] apply automated fixes

* fixed jest unit

* fixed backend test

* updated component index

* increased timeout on general bugs shard 3

* [autofix.ci] apply automated fixes

* increased timeout

* try to fix spec 3

* Fixed design to show placeholder on watsonx and to not show title on fields with just one input

* changed prefix for openai key

* build component index

* [autofix.ci] apply automated fixes

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

* updated timeouts on flaky test

* Built component index

* [autofix.ci] apply automated fixes

* build component index

* [autofix.ci] apply automated fixes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: keval shah <kevalvirat@gmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Adam-Aghili <149833988+Adam-Aghili@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Michael Wallace <michael.wallace@enterprisedb.com>
Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
Co-authored-by: Antônio Alexandre Borges Lima <104531655+AntonioABLima@users.noreply.github.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wallgau <46035189+Wallgau@users.noreply.github.com>
Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local>
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: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: vijay kumar katuri <vijaykaturi@vijays-MacBook-Air.local>
Co-authored-by: vijay kumar katuri <vijay.katuri@ibm.com>
Co-authored-by: Rodrigo Nader <rodrigonader@Mac.localdomain>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Lucas Democh <ldgoularte@gmail.com>
Co-authored-by: Mike Pawlowski <mike.pawlowski@datastax.com>
Co-authored-by: Mike Pawlowski <mpawlow@ca.ibm.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: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
Co-authored-by: Ram Gopal Srikar Katakam <44802869+RamGopalSrikar@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Debojit Kaushik <Kaushik.debojit@gmail.com>
Co-authored-by: Rico Furtado <hfurtado@gmail.com>
2026-02-27 16:15:10 +00:00
a75b127812 fix: upgrade opentelemetry stack (#11933)
* fix: upgrade opentelemetry stack

upgrade opentelemetry stack

* chore: add opentelemetry-exporter-prometheus back

add opentelemetry-exporter-prometheus back

* test: test_token_with_extra_claims asyncio

add asyncio marker to test_token_with_extra_claims

* test: add shutdown to OT tests

add shutdown to OT tests
2026-02-27 10:24:00 -05:00
c1b423862d fix: preserve [complete] extra in langflow-base pre-release constraint (#11931)
* fix: preserve [complete] extra in langflow-base pre-release constraint

The sed replacement for pre-release builds was dropping the [complete]
extra from the langflow-base dependency, causing the built wheel to
depend on bare langflow-base instead of langflow-base[complete]. This
meant hundreds of optional dependencies (LLM providers, vector stores,
document loaders, etc.) were missing from pre-release installs, breaking
the CLI and all cross-platform installation tests.

* test: add regression test for sed constraint preservation

* [autofix.ci] apply automated fixes

* test: add regression test for sed constraint preservation in release workflow

* [autofix.ci] apply automated fixes

* test: add regression test for sed constraint preservation in release workflow

* [autofix.ci] apply automated fixes

* fix: move noqa comment to correct line for S603 check

* [autofix.ci] apply automated fixes

* test: add regression test for sed constraint preservation in release workflow

* [autofix.ci] apply automated fixes

* test: add regression test for sed constraint preservation in release workflow

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-27 10:00:39 -05:00
922f86411b chore: add AGENTS.md for AI coding agents (#11411)
* feat: add AGENTS.md for AI coding agents

This adds a general AGENTS.md file (see https://agents.md) for use by AI coding agents.

This also adds an explicit CLAUDE.md file that simply references AGENTS.md, since Claude Code has not yet adopted the emerging standard of AGENTS.md (see https://github.com/anthropics/claude-code/issues/6235).

* Update AGENTS.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-27 14:13:52 +00:00
a5dce3a015 fix: add ModelInput to listed components (#11886)
* add ModelInput to csv agent

* [autofix.ci] apply automated fixes

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

* fix openapi and openai tool agents

* Update tests to use ModelInput

* Ruff fixes

* Remove whitespace

* More components

* [autofix.ci] apply automated fixes

* Update test_ibm_granite_handler.py

* Update test_tool_calling_agent.py

* Update uv.lock

* Update component_index.json

* [autofix.ci] apply automated fixes

* fix: only access system prompt if available

* Update csv_agent.py

* Update csv_agent.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

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
2026-02-27 13:21:22 +00:00
5210b9e011 fix(tests): Resolve caio context leak causing EAGAIN on CI (#11936)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-27 10:31:16 -03:00
d7eb29e853 feat: Add Openlayer Integration (#10699)
feat: Add Openlayer tracing integration

Add Openlayer as a tracing provider for Langflow, enabling users to
monitor and evaluate their LLM pipelines through the Openlayer platform.

- Implement OpenlayerTracer following the BaseTracer interface
- Support both Chat flows and Agent-only flows
- Add integration documentation
- Register openlayer as an optional dependency

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:10:18 +00:00
b2d8aa86b5 test: Fix unawaited coroutine warnings in Ollama mock tests (#11930) 2026-02-27 00:24:47 -03:00
6e95b7cdcc ci: wire pre_release input to cross-platform tests (#11925)
The cross-platform-test.yml references inputs.pre_release in the
force-reinstall steps (added in PR #11322) but never declares it as a
workflow_call input. release.yml also never passes it. This means
inputs.pre_release is always empty, force-reinstall always uses
--no-deps, and dependency resolution fails for RC versions.

- Add pre_release as a workflow_call boolean input in cross-platform-test.yml
- Pass pre_release from release.yml when calling cross-platform-test.yml
2026-02-26 21:40:02 -05:00
7c43e4c4e5 refactor: inspection panel and playground (#11907)
* refactor: move canvas controls to bottom-left and add inspection panel toggle

* fix: remove inspectionPanelVisible coupling from GenericNode

Descriptions and edit button now render unconditionally, preventing
visual changes on canvas when toggling the inspector panel.

* fix: hide handle, readonly, and connected fields from inspection panel

* fix: hide handle, readonly, and connected fields from inspection panel

* perf: scope edge subscription to connected fields for this node only

* fix: rename node toolbar edit button testid and update tests for dual-panel visibility

* test: skip logs tests while logs button is being removed

* fix: update tests for connected fields hidden in edit mode and dual-panel button visibility

* refactor(frontend): playground UI tweaks

* refactor(frontend): playground UI tweaks

* refactor(frontend): playground UI tweaks

* refactor(frontend): playground UI tweaks

* refactor(frontend): playground UI tweaks

* fix: decouple inspection panel toggle from panel visibility state

The toggle button became disabled immediately after closing the panel
because selectedNode was derived from inspectionPanelVisible. Now
selectedNode is based solely on the current node selection, keeping
the toggle enabled as long as a node is selected.

* fix: use distinct icon for inspection panel toggle

Replace PanelRight/PanelRightClose with SlidersHorizontal to avoid
confusion with the Playground button which uses PanelRightOpen. Add
bg-accent background highlight when the panel is active.

* refactor(frontend): resolved eslint errors

* Fix playground state (#11896)

* address state in chat

* [autofix.ci] apply automated fixes

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

* update font size

---------

Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Add data-testid to playground close button and fix freeze test

The playground now opens in fullscreen mode, which covers the toolbar
button (playground-btn-flow-io). Updated the freeze test to use the
close button inside the playground header instead.

* Fix chatInputOutputUser-shard-2 test to use playground close button

The playground now opens in fullscreen, covering the toolbar button.
Use playground-close-button instead to close the playground.

* Fix limit-file-size-upload test to use playground close button

* Fix fileUploadComponent test for fullscreen playground

Use playground-close-button to close and exit fullscreen before
accessing the more menu which is hidden in fullscreen mode.

* Fix Memory Chatbot test to use sidebar session more menu

The chat-header-more-menu is hidden in fullscreen mode. Use the
session sidebar more menu instead to access message logs.

* Fix Document QA test to exit fullscreen before accessing more menu

The clear-chat option is only available in the chat-header-more-menu
which is hidden in fullscreen mode. Exit fullscreen first.

* Fix Basic Prompting test for fullscreen playground

Use sidebar new-chat button and session more menu instead of
header elements that are hidden in fullscreen mode.

* Fix playground test to use sidebar elements in fullscreen mode

Use sidebar session more menu and new-chat button instead of header
elements that are hidden or overlapped in fullscreen mode.

* fix: Remove exit fullscreen button from Playground chat header

* refactor: Update dependencies and improve icon handling in CanvasControls and HelpDropdownView

* fix: playwright test

* fix: playwright test

* fix: improve visibility handling for text input and file path connections in tests

* fix: ensure visibility check for file content uses the last instance

* fix: update dummy API key in outdated_flow.json for testing purposes

---------

Co-authored-by: Keval718 <kevalvirat@gmail.com>
Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-26 18:54:44 -05:00
6bddfc2336 feat: add litellm component (#11805)
* Add litellm component

* [autofix.ci] apply automated fixes

* update default value of url

* [autofix.ci] apply automated fixes

* Validate that model exists in model provider list, fail loud when credentials incorrect

* [autofix.ci] apply automated fixes

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

* ruff

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-26 22:02:52 +00:00
91e32bfbb2 feat: Opensearch update and parameterise timeouts (#11881)
* Update opensearch_multimodal.py

* Support VectorStore & multi-model OpenSearch

Register the component as a VectorStore and extend the OpenSearch multimodal component to handle multi-model embeddings and robust ingestion/search. Updates include adding VectorStore base class, new inputs (request_timeout, max_retries), a vector store connection tool output, and an updated code_hash. The OpenSearch component code was enhanced with model name normalization, dynamic per-model embedding field names, multi-model detection/mapping, parallelized and rate-aware embedding generation (with retries), improved index mapping management, AOSS engine validation, and other ingestion/search robustness improvements.

* [autofix.ci] apply automated fixes

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

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

* address review comments

* [autofix.ci] apply automated fixes

* Update opensearch_multimodal.py

* [autofix.ci] apply automated fixes

* Update component_index.json

* address review comments

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

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

* [autofix.ci] apply automated fixes

* address QA issues

* [autofix.ci] apply automated fixes

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

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

* fix ruff errors

* [autofix.ci] apply automated fixes

* Set default vector engine to jvector

Change the default 'engine' option from 'nmslib' to 'jvector' in OpenSearch vector store components. Updated in src/lfx/src/lfx/components/elastic/opensearch.py and opensearch_multimodal.py. Note: 'jvector' requires OpenSearch 2.9+, so ensure cluster compatibility before deploying.

* Update component_index.json

* [autofix.ci] apply automated fixes

* Update opensearch_multimodal.py

* [autofix.ci] apply automated fixes

* Update component_index.json

* OpenSearch multimodal: multi-model embeddings

Add multi-model multimodal support and robustness to the OpenSearch vector store component: introduce normalize_model_name and get_embedding_field_name to create dynamic fields (chunk_embedding_{model}), track embedding_model and embedding_dimensions in mappings, auto-detect available embedding models, select embeddings by deployment/model identifiers (including available_models dict), and use parallel or sequential embedding generation with rate-limit-aware retries (tenacity) and IBM-specific throttling. Improve index mapping handling, lazy addition of knn_vector fields, AOSS/engine validation, and bulk ingestion logic. Also update component index code_hash to reflect these changes.

* [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>
Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
2026-02-26 19:39:37 +00:00
90df8fb8d2 docs: Add AGENTS.md development guide (#11922)
* add AGENTS.md rule to project

* change to agents-example

* remove agents.md

* add example description
2026-02-26 19:03:49 +00:00
655aee4c0c fix: add handle to file input to be able to receive text (#11825)
* changed base file and file components to support muitiple files and files from messages

* update component index

* update input file component to clear value and show placeholder

* updated starter projects

* [autofix.ci] apply automated fixes

* updated base file, file and video file to share robust file verification method

* updated component index

* updated templates

* fix whitespaces

* [autofix.ci] apply automated fixes

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

* add file upload test for files fed through the handle

* [autofix.ci] apply automated fixes

* added tests and fixed things pointed out by revies

* update component index

* fixed test

* ruff fixes

* Update component_index.json

* [autofix.ci] apply automated fixes

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

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

* updated component index

* updated component index

* removed handle from file input

* Added functionality to use multiple files on the File Path, and to allow files on the langflow file system.

* [autofix.ci] apply automated fixes

* fixed lfx test

* build component index

---------

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: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
2026-02-26 16:49:31 +00:00
dfb796d414 feat: generate requirements.txt from dependencies (#11810)
* Base script to generate requirements

Dymanically picks dependency for LanguageM Comp.
Requires separate change to remove eager loading.

* Lazy load imports for language model component

Ensures that only the necessary dependencies are required.
For example, if OpenAI provider is used, it will now only
import langchain_openai, rather than requiring langchain_anthropic,
langchain_ibm, etc.

* Add backwards-compat functions

* [autofix.ci] apply automated fixes

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

* Add exception handling

* Add CLI command to create reqs

* correctly exclude langchain imports

* Add versions to reqs

* dynamically resolve provider imports for language model comp

* Lazy load imports for reqs, some ruff fixes

* Add dynamic resolves for embedding model comp

* Add install hints

* Add missing provider tests; add warnings in reqs script

* Add a few warnings and fix install hint

* update comments add logging

* Package hints, warnings, comments, tests

* [autofix.ci] apply automated fixes

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

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

* Add alias for watsonx

* Fix anthropic for basic prompt, azure mapping

* [autofix.ci] apply automated fixes

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

* ruff

* [autofix.ci] apply automated fixes

* test formatting

* ruff

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-26 16:15:51 +00:00