Skip to content

chore: back port the new workflow updates from 1.12 - #14581

Merged
erichare merged 187 commits into
mainfrom
backmerge/release-1.12.0-to-main
Aug 15, 2026
Merged

chore: back port the new workflow updates from 1.12#14581
erichare merged 187 commits into
mainfrom
backmerge/release-1.12.0-to-main

Conversation

@erichare

Copy link
Copy Markdown
Member

⚠️ Merge method: merge commit only — do not squash, do not rebase

This branch is the back-merge. Its tip 51cd93670a is a true two-parent merge commit (b1b0ce1a50 + 0a2d167ade) preserving all 186 commits of release-1.12.0 history individually. Squashing or rebasing destroys exactly the thing this PR exists to preserve.

Why now: the nightly build is broken

The 2026-08-15 nightly (run 31853074951) failed 3/3 attempts at create-nightly-tagCommit tag:

! [remote rejected] v1.12.0.dev27 -> v1.12.0.dev27
  (Unable to determine if workflow can be created or updated due to timeout;
   `workflows` scope may be required.)

GitHub screens every push made with a GitHub App token (including GITHUB_TOKEN) for changes under .github/workflows, and that screen fails closed when it runs out of time. GITHUB_TOKEN cannot carry workflows, so the tag push is rejected outright.

The screen's cost tracks how far the tagged release branch has drifted from the default branch:

tag commits ahead of main workflow files differing from main result
v1.12.0.dev24 143 13
v1.12.0.dev25 158 13
v1.12.0.dev26 176 13
v1.12.0.dev27 186 52

d65b98f (#14540, ci: harden nightly builds and test reliability) rewrote 49 workflow files on release-1.12.0 only. The first nightly after it landed is the one that broke.

This merge drops the workflow delta from 52 files to 1, which puts the screen back inside its budget.

Verification

check result
merge result vs release-1.12.0 1 file, 3 lines (main's #14571 fix)
commits main gains 187 (186 + merge commit)
workflow-file delta vs release branch 52 → 1
release-1.12.0 fully contained
main fully contained (fast-forward)
#14571 fix survived the merge

No conflicts. main's sole unique commit (b1b0ce1, #14571) auto-merged correctly and is preserved.

Follow-ups

🤖 Generated with Claude Code

viktoravelino and others added 30 commits July 21, 2026 13:37
* fix(a11y): admin and auth pages accessibility

- Wrap /login/admin and /admin content in a <main> landmark
- Add accessible names to admin controls: search, clear, active/superuser
  toggles, row edit/delete, back button
- Fix New User modal label associations (explicit htmlFor on checkbox fields)
- Bind /login/admin username/password inputs so the placeholder overlay
  clears once text is entered
- Constrain the active/superuser toggle focus ring to the checkbox instead
  of spanning the full cell
- Make the clear-search control a real focusable button (was a div onClick)
- Add /admin and /login/admin a11y specs, IBM baselines for remaining
  framework-level debt, and a clear-search keyboard test
- Add i18n keys admin.backButton and admin.clearSearch across all locales
- Move baselineFolder to tests/a11y/baselines

* fix(a11y): resolve admin/auth violations, fix modal password field, add dark scans

Resolve the a11y debt that was previously baselined for the /admin page and
harden the auth surfaces:

- Toggle controls (active/superuser): convert to proper toggle buttons
  (aria-label + aria-pressed threaded to the trigger) and render the inner
  CheckBoxDiv as presentational, so a checkbox role is no longer nested inside
  an interactive button (IBM aria_descendant_valid, WCAG 1.3.1/4.1.2).
- Row action icons (edit/delete): size each trigger to >=24x24 CSS px so they
  meet WCAG 2.5.8 target size and no longer trip target_spacing_sufficient.
- Delete all three admin IBM baselines now that the violations are fixed.

- New User modal: the password/confirm fields hand-rolled a raw input with the
  visibility toggle stuffed into the label. Replace with the shared
  InputComponent password primitive (eye toggle inside the input, keyboard
  operable, aria-label + aria-pressed), matching the login/signup surfaces;
  move validation to the getRequiredFieldError pattern.

- Dark-mode coverage: run every auth state in both light and dark and add a
  dark new-user-modal scan. This surfaced insufficient error-text contrast in
  dark mode (~3.9:1); fix .field-invalid/.label-invalid to use the brighter
  accent-red so form errors meet WCAG AA 4.5:1.

* fix(frontend): restore name attr on new user password inputs

InputComponent lost the name attribute that Radix Form.Control asChild
previously injected, breaking Playwright selectors input[name=password]
and input[name=confirmpassword] in the New User modal.

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
* feat: add IBM Accessibility Level 1 validation tracker and compliance guide

- Introduced a manual validation tracker for IBM Level 1 accessibility, detailing validation methods and criteria.
- Added a comprehensive engineering compliance guide aligned with IBM Equal Access Toolkit v7.3, covering essential accessibility requirements and best practices.
- The tracker complements existing automated checks and serves as a shared checklist for UI validation.

* feat(a11y): add IBM Accessibility Level 1 criteria and validation tracker

- Introduced a comprehensive guide for IBM Accessibility Level 1 compliance, detailing essential requirements aligned with the IBM Equal Access Toolkit v7.3.
- Added a manual validation tracker to facilitate UI accessibility checks, complementing existing automated tools.
- Updated README to include references to the new criteria and tracker documents, emphasizing their role in the accessibility testing process.

* feat(a11y): introduce a11y-spec-authoring skill for Playwright accessibility scans

- Added a new skill for authoring Playwright accessibility scan spec files, aimed at enhancing IBM Equal Access compliance for Langflow frontend features and routes.
- Updated the README to include guidance on using the new skill and its integration with existing a11y testing workflows.
- Enhanced the IBM Level 1 criteria documentation to clarify the scope and application of accessibility requirements.

* docs(a11y): update README for improved accessibility testing guidance

- Revised the README to enhance clarity on Langflow's accessibility testing processes, including a detailed overview of scanning methods and their purposes.
- Added sections for quick start and workflow for adding a11y coverage, making it easier for contributors to understand how to implement accessibility tests.
- Updated references to IBM Level 1 compliance documents, ensuring users have access to the necessary resources for effective a11y validation.

* feat: enhance accessibility and localization in knowledge base components

- Introduced RadixAriaControlsFix component to manage aria-controls attributes for better accessibility in popovers and dialogs.
- Updated CrashErrorComponent to use semantic <main> tag for improved structure.
- Added new localization keys for various actions and navigation in multiple languages, enhancing user experience.
- Implemented aria-labels for buttons and interactive elements to ensure compliance with accessibility standards.
- Improved accessibility in FilesPanel and StepReview components by adding descriptive aria-labels for better screen reader support.

* chore: update secrets baseline with new line numbers for hashed secrets in es.json

- Adjusted line numbers for multiple hashed secrets in the .secrets.baseline file to reflect changes in the src/frontend/src/locales/es.json file.
- Ensured that all entries are correctly aligned with their respective line numbers for better tracking and management of secrets.

* feat(a11y): introduce a11y-spec-authoring skill and enhance accessibility testing

- Added a new skill for authoring Playwright accessibility scan spec files, aimed at improving coverage for Langflow frontend features and routes.
- Created a centralized JSON file for managing accessibility rule suppressions, ensuring clarity on which rules are framework-owned and cannot be fixed at the feature level.
- Updated existing accessibility test specifications to utilize the new ignore rules, streamlining the process of identifying actionable issues versus suppressed ones.
- Enhanced documentation for accessibility testing workflows, including detailed instructions on capturing all relevant UI states during scans.
- Improved the HTML report generation to clearly distinguish between actionable and suppressed accessibility issues, aiding developers in focusing on necessary fixes.

* feat(a11y): implement feature-specific accessibility rule suppression for Knowledge Bases

- Introduced a new JSON file, `knowledge-bases-ignore-rules.json`, to centralize accessibility rule suppressions specific to the Knowledge Bases feature.
- Updated relevant test specifications to import the new feature-specific ignore rules, enhancing clarity on which rules are framework-owned and cannot be fixed at the feature level.
- Modified the HTML report generation to reflect KB-specific suppressions, ensuring that only relevant findings are greyed out while actionable issues remain visible.
- Enhanced documentation to guide other features in creating their own ignore rules as needed, promoting consistency in accessibility testing practices.

* chore: update secrets baseline and adjust line numbers for hashed secrets in pt.json

- Updated line numbers for multiple hashed secrets in the .secrets.baseline file to reflect changes in the src/frontend/src/locales/pt.json file.
- Modified the generated_at timestamp for consistency.
- Changed version field in Structured Data Analysis Agent configuration to null.
- Improved CSS variable definitions for better accessibility compliance.

* feat(a11y): enhance keyboard navigation and accessibility in Knowledge Bases

* feat(a11y): implement per-scan accessibility rule suppression and reporting

- Added `writeA11yIgnoreSidecar` function to persist applied ignore rules for each scan, enabling precise reporting of suppressed rules.
- Updated HTML report generation to read from the new sidecar files, ensuring only relevant rules are greyed out based on individual scan configurations.
- Enhanced documentation to clarify the management of suppression rules and their impact on accessibility reporting.

* refactor(a11y): streamline accessibility rule handling and update UI components

- Removed the `writeA11yIgnoreSidecar` function and associated logic for managing suppressed rules, simplifying the accessibility reporting process.
- Updated accessibility scan calls in tests to remove references to ignored rules, ensuring a more straightforward evaluation of violations.
- Enhanced UI components in `MetadataEditor` and `StepConfiguration` with improved focus styles for better accessibility compliance.
- Deleted outdated accessibility tracking documentation and related files to reflect the current testing strategy.

* feat(a11y): add frontend accessibility check skill and enhance UI components

- Introduced a new skill for conducting accessibility checks on frontend components, detailing when to use it and how to implement tests with Jest and Playwright.
- Updated `RadixAriaControlsFix` to improve ARIA label handling for input-less lists.
- Enhanced `DBProviderInput` and `ModelInputComponent` to include labels for better accessibility.
- Modified `StepConfiguration` and `StepReview` components to manage menu containers for accessibility compliance.
- Improved `MetadataCombobox` to use a plain input for search functionality, ensuring better ARIA compliance.

* feat(knowledgeBase): implement row actions for knowledge base table

- Added `KnowledgeBaseRowActions` component to handle actions for each row in the knowledge base table, including ingesting files, viewing chunks, stopping ingestion, and deleting entries.
- Enhanced accessibility by ensuring dropdown menus and tooltips are properly managed within the main content area.
- Utilized `useLayoutEffect` to resolve the menu container dynamically, improving the user experience and compliance with accessibility standards.

* feat(a11y): enhance Radix components for improved accessibility

- Integrated `useInertForAriaHiddenElements` in `RadixAriaControlsFix` to manage focusable controls under `aria-hidden` elements, ensuring compliance with accessibility standards.
- Updated `SelectContent` to accept a `container` prop for better portal management, allowing content to be rendered within the main landmark.
- Modified `SourceChunksPage` to dynamically set the select container, improving the accessibility of portaled content.

* refactor(a11y): clean up comments and improve code clarity

- Removed outdated comments from `RadixAriaControlsFix`, `DBProviderInput`, and `ModelInputComponent` to enhance code readability.
- Streamlined focus management in `KnowledgeBasesTab` and `SourceChunksPage` by eliminating unnecessary comments related to accessibility.
- Updated styles in `ag-theme-shadcn.css` and `index.css` for better focus visibility and consistency across components.

* refactor(a11y): remove frontend accessibility check skill and enhance Radix component focus management

- Deleted the `frontend-a11y-check` skill documentation to streamline the project.
- Improved focus management in `RadixAriaControlsFix` by optimizing the handling of ARIA attributes and tabindex for better accessibility compliance.
- Updated `KnowledgeBasesTab` to ensure proper typing for keyboard event handling, enhancing type safety and clarity.

* feat(a11y): enhance accessibility in various components

- Added "aria-label" props to DBProviderInput, ModelInputComponent, and related components to improve screen reader support.
- Updated localization files to include new keys for knowledge base and chunk metadata labels, enhancing accessibility for non-English users.
- Implemented focus management improvements in KnowledgeBaseUploadModal and DeleteConfirmationModal to ensure proper focus restoration after modal closure.
- Enhanced MetadataEditor and ChunksMetadataFilter components with appropriate ARIA attributes for better accessibility compliance.
- Improved accessibility in KnowledgeBasesTab by adding ARIA labels to search inputs and buttons.

These changes aim to ensure compliance with WCAG standards and improve the overall user experience for assistive technology users.

* fix(locales): add missing commas in translation files for consistency

Added trailing commas to the "knowledge.chunksMetadataValueLabel" entries in the localization files for German, English, Spanish, French, Japanese, Portuguese, and Simplified Chinese to ensure proper JSON formatting and consistency across all language files.

* fix(a11y): enhance keyboard navigation for actions in knowledge base table

- Updated the actions column header to be accessible and named for assistive technologies.
- Implemented keyboard handling to open the row actions menu when the actions cell is focused, improving usability for keyboard users.
- Adjusted tabindex management for empty body rows to ensure focus remains accessible.
- Added tests to verify accessibility features and keyboard interactions in the knowledge base table.

This commit addresses WCAG 2.1 compliance and enhances the overall accessibility of the knowledge base interface.

* fix(a11y): update test ID for OpenAI text embedding option in accessibility tests

Modified the test ID for the OpenAI text embedding option in the knowledge bases accessibility test to ensure accurate visibility checks. This change enhances the reliability of the accessibility tests for the embedding dropdown.

* chore: regenerate secrets baseline

* chore: update .gitignore and enhance IBM Level 1 audit skill documentation

- Added .cursor/settings.local.json to .gitignore for personal settings.
- Revised the description and workflow of the ibm-a11y-level1-audit skill to clarify its default behavior and remediation process.
- Updated related skills references and progress checklist to reflect changes in auditing and fixing accessibility issues.

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
* test(models): define provider policy contracts

* feat(models): extend provider registry contract

* feat(models): enforce provider visibility policy

* fix(models): address provider policy review feedback
* Remove lfx-bundles from default Langflow install

* chore: wake ci

* Move lfx-bundles tests out of backend integration

* test: skip lfx-bundles unit tests when absent

* test: adjust bundle-dependent coverage

* test: relax optional bundle frontend checks

* chore: auto-bake note keys and regenerate backend locales/en.json [skip ci]

* chore: trigger CI

* test: fix optional bundle CI drift

* test: stub optional opensearch dependency

* test: stub optional google drive client

* test: share optional google client stub

* test: stub optional groq client

* test: stub optional google genai client

* test: remove redundant unguarded FAISS vectorstore test straggler

The FAISS component moved to the lfx-bundles distribution, and this PR
stops installing lfx-bundles by default. The copy under
tests/unit/components/vectorstores/test_faiss_vector_store_component.py
imported the deprecation shim path (lfx.components.FAISS.faiss) at module
level without an importorskip guard, so pytest collection errored with
"ModuleNotFoundError: No module named 'lfx_bundles'" and failed the
Python 3.14 Group 5 unit-test job.

Its sibling under tests/unit/components/bundles/faiss/ is the canonical,
guarded copy: it importorskips lfx_bundles, imports the real
lfx_bundles.faiss.faiss module, and is a strict superset (adds the
allow_dangerous_deserialization security-default regressions). Deleting
the straggler removes the duplicate and the collection failure with zero
coverage loss.

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

* test: guard KB ingestion Ollama embedding tests behind langchain_ollama

The two TestKBIngestionHelperBuildEmbeddings Ollama cases exercise the real
EmbeddingModelComponent (no mock), which imports langchain_ollama at build
time. langchain-ollama is only an optional extra and reached CI transitively
via lfx-bundles; with bundles removed from the default install it is absent,
so both tests failed with 'Could not import langchain_ollama' and fail-fast
red-ed the whole Python 3.14 Group 2 split.

Add pytest.importorskip('langchain_ollama') to those two tests (matching the
convention in test_chatollama_component.py) so they skip cleanly when the
optional dep is missing. The four sibling tests in the class mock the
component and stay unaffected.

* fix: document optional bundle requirements

* style: format lfx bundle shims

* test: guard git SSRF tests behind optional bundle

* test: guard connector SSRF tests behind optional bundle

* chore: regenerate artifacts after rebase

* [autofix.ci] apply automated fixes

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

* fix: stabilize lean bundle CI

* test: skip faiss without optional bundles

* fix: ship optional starters with lfx-bundles

* chore: auto-bake note keys and regenerate backend locales/en.json [skip ci]

* chore: retrigger ci

* chore: record component index conflict resolution

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: make the 1.11 core runtime self-contained

* test: define langflow-core distribution contract

* feat: add langflow-core distribution

* feat: add langflow-core container image

* feat: ship the langflow-core distribution

* fix: support Python 3.10 in core distribution tests

* fix: address langflow-core review feedback

* [autofix.ci] apply automated fixes

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

* feat: make langflow-core the shared distribution base

* docs: put information in one place and include uv

* docs: align core dependency guidance

* fix: allow first core release CLI gate to skip

* docs: fix relative links

* docs: defer user guidance to documentation PR

* fix: align provider CI with optional bundles

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
refactor: enhance accessibility and styling in various components

- Updated StringReader component to improve styling with min-width and leading adjustments.
- Added keyboard event handling in TableComponent to prevent double activation of dialogs.
- Enhanced SessionView component with new keyboard event handling for cell selection.
- Improved TextModal styling for better alignment and readability.
- Added aria-label to TextEditorArea for improved accessibility.
- Introduced accessibility tests for HeaderMessagesComponent and messagesPage to ensure compliance.

These changes aim to enhance user experience and accessibility across the application.
* chore: bump release versions to 1.12.0

* fix: address version bump review feedback

* test: cover sdk dependency pin variants
* ci: add release inventory gates

* chore: trigger CI
* test: define scoped authorization visibility contract

* feat: add scoped authorization visibility prefilter
* feat: automate bundle release planning

* fix: address bundle release review feedback
* fix: complete shared resource access (LE-1828)

* test: cover structured unscoped list visibility

* fix: honor structured visibility for unscoped resources

* test: align memory guards with share-aware lookup

* fix: address shared resource authorization review
* feat: enhance accessibility and internationalization for AlertDisplayArea and Button components

- Added `useTranslation` for internationalization in `AlertDisplayArea`, providing an aria-label for better accessibility.
- Updated `Button` component to include `aria-busy` attribute during loading and ensured the accessible name is preserved with a visually hidden label.
- Enhanced accessibility tests for both components to verify the presence of roles and attributes.

* Enhance Button Component Accessibility and Behavior

- Updated button styles to include aria-disabled and aria-busy attributes, ensuring focus retention during loading states.
- Implemented logic to prevent activation of button clicks and key presses while loading, improving user experience.
- Added tests to verify button behavior during loading, including focus retention and click prevention.
- Introduced a new test suite for button functionality, covering various interaction scenarios.

These changes aim to improve accessibility and usability of the button component in the UI.

* fix(mcp): stabilize Tool Mode activation (#14188)

* fix(mcp): stabilize tool mode activation

* fix(frontend): prevent stale tool mode refresh

* [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>
* feat(authz): complete release 1.12 RBAC deliverables

* [autofix.ci] apply automated fixes

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

* fix(ci): align bundle releases and LFX clean-flow tests

* fix: address CodeRabbit release findings

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: include Google as a default partner bundle

* chore: auto-bake note keys and regenerate backend locales/en.json [skip ci]

* chore: wake CI

* [autofix.ci] apply automated fixes

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

* fix: address Google bundle review findings

* [autofix.ci] apply automated fixes

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

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
# Conflicts:
#	.github/workflows/cross-platform-test.yml
#	.github/workflows/docker-build-v2.yml
#	.github/workflows/release_nightly.yml
#	.secrets.baseline
#	scripts/ci/test_release_workflow.py
… sync (#14104)

* fix(rbac): pass owner id to deployment crud layer and close shared-access gaps
- Pass row_owner_id through list/count/sync so credentials and attachments stay
  in the provider-account owner namespace while user_id remains the listing actor
- Use deployment_row.user_id for shared delete cleanup; confirmed zero rows → 404;
  unconfirmed DELETE rowcount → 500
- Keep shared update rollback in the deployment owner namespace
- Add apply_owned_or_visible_prefilter so scoped API keys with a concrete
  visible-id set do not auto-include owned deployments (owner override still
  unions via restrict_to_owned_or_visible)
- Document None vs [] at the deployment list prefilter call site
- Enforce flow:deploy before provider mutation on create, update (added
  versions), and snapshot replacement via ensure_flows_permission
- Authorize deployment:create before existing-resource provider get/create
- Add route, CRUD, listing, and guard coverage for the above

* fix(rbac): sync deployment guard retries in each flow owner's namespace
Guard-retry was syncing with the actor user_id, so shared deleters/movers
could not reconcile the owner's deployments. Resolve owners from the flow
rows and sync per owner instead.

* docs: clarify correctness of owner derivation in deployment guard sync

* fix(rbac): scope deployment guard repair to authorized flows

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
* feat(authz): complete release 1.12 contracts

* docs: fix versioned image profile links

* fix: address release completion review feedback
* fix: graduate Azure and Ollama bundles

* chore: auto-bake note keys and regenerate backend locales/en.json [skip ci]

* chore: wake CI

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix: normalize MCP resource flow IDs

* fix: address MCP resource review feedback
…14256)

* fix: populate name and description on starter-projects API response

GET /api/v1/starter-projects/ returned a null top-level name for every
template, making it impossible to select a template by name. The name is
not recoverable elsewhere in the response, so the endpoint was unusable
for programmatic template selection.

get_starter_projects_dump() called Graph.dump() with no arguments, and
the starter project builders construct Graph(start=..., end=...) without
flow_name, so Graph.dump() never wrote the name key at all. description
failed the same way.

Pass the canonical name and description, sourced from the matching
starter_projects/*.json files, into dump().

Also stop stringifying endpoint_name unconditionally: str(None) produced
the literal string "None" instead of null. GraphDump is total=False, so
omitting the key when it is None matches how name and description are
already handled, and no caller reads endpoint_name off a dump() result.

The existing tests asserted only the status code and that the result was
a list, so no field was ever inspected. Add assertions that names are
present and unique, descriptions are present, and endpoint_name is never
the string "None".

Fixes #14255

* refactor: co-locate starter project metadata and assert canonical values

Address review feedback on #14256.

Declare each starter project builder alongside its name and description so
reordering cannot pair a graph with the wrong metadata, replacing the
positional zip between two separate lists.

Tighten the regression test to compare the full name-to-description
mapping and the expected project count, so a wrong name, a wrong
description, or a swapped association now fails rather than passing on
any unique non-empty strings.
…e canvas (#14258)

* fix: render flows whose nodes have no position instead of crashing the canvas

Flows whose `data.nodes` lack a `position` crashed the canvas with a full-page
error boundary. The auto-layout fallback that exists for exactly this case
(`needsLayout` + `getLayoutedNodes`) was broken in two independent ways.

1. `getLayoutedNodes` passed `id: undefined` to ELK — for edges (`id: e.id`)
   and for ports derived from absent handles (`id: e.sourceHandle`). ELK
   rejected the graph with `JsonImportException: Id must be a string or an
   integer: 'null'`, so the layout failed for precisely the flows that needed
   it. Both id sources had to be fixed; repairing either alone still threw.
   Handle-less ports are now dropped (their edges fall back to the
   always-present node-id port) and edges without an id get a stable synthetic
   one. A failed layout now falls back to a deterministic grid rather than
   leaving nodes unpositioned.

2. `processFlows` iterates with `forEach(async …)`, which discards the returned
   promise, so it returns before the layout resolves and `useApplyFlowToCanvas`
   hands position-less nodes straight to React Flow — whose
   `getNodePositionWithOrigin` dereferences `node.position.x` unguarded. This
   crashed even when ELK succeeded. `processDataFromFlow` now seeds
   deterministic positions synchronously before awaiting ELK, so no node can
   reach React Flow without one.

`needsLayout` also now rejects non-numeric and NaN coordinates, not just an
absent `position`.

A payload with this shape is served by `GET /api/v1/starter-projects/`, whose
nodes have no `position` and whose edges have no `id`/`sourceHandle`/
`targetHandle`; POSTing one to `/api/v1/flows/` and opening it reproduced the
crash. Position-less flows can also arrive from hand-written JSON, older
exports, and third-party tooling.

* fix: treat non-finite coordinates as needing layout, cover ELK rejection

Addresses review feedback on #14258.

`needsLayout` used a typeof + NaN check, which let `Infinity` through: it is a
number and is not NaN, so a node with an infinite coordinate skipped the
synchronous seeding and could still reach React Flow as an unusable position.
`Number.isFinite` does not coerce, so it subsumes the typeof check while also
rejecting NaN and ±Infinity.

Also adds the missing error-path coverage for the ELK fallback: the previous
tests only exercised successful layouts, never the catch branch. The new test
mocks elk.layout to reject and asserts getLayoutedNodes resolves to the
deterministic grid rather than propagating.

Both tests fail without their corresponding fix.
…4272)

remove_agentic_mcp_server called update_server without delete=True under a
comment claiming "Empty config removes the server". That has never been true:
the flag-less call is a full replace, so users who had the langflow-agentic
server were left with an empty-config row, and users who never had it gained
a brand-new empty-config row (the create path runs when no row exists) —
a broken entry in their MCP servers list either way. The same behavior
existed under the old file-based store (the entry was set to {}).

Pass delete=True so the row is actually removed. For users without the
server, update_server raises HTTPException, which the existing per-user
except/continue block already handles.

The helper currently has no callers (the agentic-experience disable path was
never wired up), so nothing ships the broken behavior today; this fixes the
latent utility and pins the semantics with tests before anyone wires it up.
…ama base url from components (#14236)

* add default fallback to instantiation.py and removed default ollama base URL from components

* chore: auto-bake note keys and regenerate backend locales/en.json [skip ci]

* update to rerun tests

* [autofix.ci] apply automated fixes

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

* fix: align Ollama starter project defaults

* fix: ignore transient component template metadata

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
fix(tracing): detach spans from missing parents
ogabrielluiz and others added 13 commits August 13, 2026 16:43
…14511)

* fix: let the caller own the flow span so a run's spans nest under it

async_start is an async generator, so a span it opens cannot be made current:
the context token would be attached and detached across the generator's
suspension points and leak into whatever task resumed it. A span that is not
current cannot parent anything, so every span produced during the run sat beside
the flow span instead of under it. Under HTTP that means siblings of the server
span; with no ambient span, a separate trace entirely.

The callers are coroutines and thread entry points, which have no such problem,
so the span moves to them and async_start takes open_flow_span=False. Converted:
the agentic assistant (both coordinator consumers, the served path), the lfx CLI,
lfx run, preload, and Graph.start.

The flag defaults to True, so a caller that has not been converted still gets a
span rather than silently none. Those runs keep the flat shape they have today.
The mistake the flag makes possible is deferring and then not opening one, which
is silent, so async_start warns when it is told the caller owns the span and no
span is current. It warns rather than raising, because telemetry must never take
a run down.

The nesting test in test_mcp_tool_span.py was an xfail and is now a real
assertion. Its counterpart is kept, asserting the detached span cannot parent,
so the reason the span had to move does not get lost.

Verified: a span opened mid-run parents to the caller's flow span, an
unconverted caller still emits exactly one flow span, and deferring with no
caller span emits none. 752 passed across graph, mcp and execution; the two
catalog-policy failures there fail identically with these changes stashed.

* fix: pass the event manager to async_start by keyword

async_start takes (inputs, max_iterations, config, event_manager). The sync
start forwarded the event manager positionally, so it landed in config and
__apply_config subscripted it.

That happens on the worker thread start spawns, so nothing reaches the
caller: the exception is logged there and the generator finishes empty. A run
that produces no results and no error is the worst shape for this, so the
regression test asserts on the results rather than on not raising.

Measured before and after on a ChatInput -> ChatOutput graph:
  start(event_manager=...)  0 results -> 3 results

Pre-existing rather than introduced here; release-1.12.0 has the same call
without the keyword. Fixed on this branch because it is the line this PR
already changes. config is applied by start itself before the thread, so it
is deliberately not forwarded again.

Found by CodeRabbit on this PR.

* fix: carry the caller context into the worker thread

Graph.start hands the run to a worker thread, and a thread starts with an
empty context. So the flow span opened in there found no current span and
began a brand-new trace: measured, the caller's span and flow.execute came
back with different trace ids and no parent and no link between them. A
caller's span and the run it started were two unrelated traces in the
operator's APM, which is the correlation this branch exists to provide.

Copy the context and run the thread body inside it. The same copy carries the
protocol and client contextvars, which are set at the entry point for exactly
this reason.

The caller's span is still recording while the generator is consumed, so the
flow span parents to it normally. A caller that abandons the generator early
leaves a dead parent, which flow_execution_span already handles by linking
instead of parenting.

The regression test asserts on the trace id rather than the parent alone: a
parent could be satisfied by a span that happened to nest under something
else in the worker. Red before this with two different traces.

Found by CodeRabbit on this PR.

* test: give the stand-in graph the flow span the caller now opens

This branch moved the flow span out of async_start and into the callers, so
_run_graph_with_events opens graph.flow_execution_span() itself. The
coordinator test drives it with a dataclass stand-in that has no such method,
and the AttributeError is swallowed by the broad except around that block, so
the coordinator was never reached.

The failure read as 'the coordinator was not used' (assert 0 == 1) rather
than 'the stand-in is missing a method', which is the more expensive kind of
red. Verified it fails at this branch's head before my commits and passes on
release-1.12.0, so it came in with the span move rather than with the keyword
and context fixes.

src/backend/tests/unit/agentic: 1621 passed. The one remaining failure there,
test_execute_named_assistant_flow_is_graceful_not_500, reproduces on
release-1.12.0 untouched.

* fix: let a failed sync run reach both the caller and the span

The worker caught ValueError inside the flow span scope and let everything
else escape the thread entirely. Two different wrong outcomes from one block.

Measured before, on a cyclic graph hitting max_iterations, which is where
async_start raises a raw ValueError:

  raised_to_caller=ValueError   flow spans exported=0

The handler sat inside the span scope, so the consumer raised the moment the
exception was queued, the generator was abandoned, thread.join never ran and
the worker never finished ending the span. The run failed and the operator's
APM has nothing at all for it.

And on a component failure, which arrives wrapped as ComponentBuildError and
so missed the ValueError handler completely:

  raised_to_caller=None         span status=error

It propagated out of the worker, died with the thread, and the caller read the
end-of-stream sentinel and saw a clean finish. A run that failed returned no
error to a synchronous caller.

Nothing is caught inside the scope now. The failure leaves the span, the span
records it, and a worker-boundary handler enqueues every Exception rather
than just ValueError. The consumer already re-raises whatever it finds, so the
caller gets what a synchronous call should have given it. The None sentinel is
still written in the finally, after the exception, so the caller reads the
error first.

Regression covers both kinds and both halves, and each fails without the fix
for its own reason: the ValueError case on 0 spans, the other on the caller
receiving nothing.

Found by erichare in review.
…4543)

Menus rendered inline rather than in a portal live inside React Flow's node
element, which listens for arrow and selection keys on that element itself.
Radix consumes those keys for its own roving focus but lets them keep
bubbling, so one arrow press both navigates the menu and moves the node.

Stop the keys React Flow reserves at the content element, at the two shared
primitives instead of the ten call sites that use them.
* feat(api): add id-keyed project upsert endpoint

Add PUT /api/v1/projects/{project_id} so a project can be created or updated
at a caller-specified UUID, mirroring PUT /api/v1/flows/{flow_id}. Returns 201
on create and 200 on update, 404 for another user's project, and 409 on a name
collision on both paths (POST keeps auto-renaming). Sending flows_list or
components_list to an existing project is rejected with 400 rather than
silently dropped, since membership is derived from the flows themselves.

Extract the POST and PATCH handler bodies into _new_project and
_apply_project_update so the new route reuses the existing MCP registration,
auth-settings and flow-move side effects instead of duplicating them.

Also fix two pre-existing bugs surfaced by exercising the shared update core:
renaming a project onto a name its owner already uses returned 500 with the
failing SQL statement and bound parameters in the response body, because
handle_mcp_server_rename swallows the IntegrityError raised by the post-rename
autoflush and leaves the session needing rollback. The collision is now checked
before the row is mutated and returns 409, and the fallback 500 goes through
sanitize_database_error like the read and delete handlers. This changes PATCH's
status for that case from 500 to 409.

* fix(api): scope project-update flow queries to the owner and sanitize 500s

Address review feedback on the project upsert endpoint.

Scope both the in-project flow rollup and the default-folder lookup in
_apply_project_update to the project owner. Every user gets their own folder
named DEFAULT_FOLDER_NAME, so the unscoped .first() could resolve to a
different user's folder and hand ensure_flow_moves_allowed a foreign
destination to authorize the move against. The excluded rows were already
moved back into the project by the following statement, so the end state was
unaffected, but the guard was evaluating the wrong folder. get_default_folder_id
scopes the same lookup by user_id; this matches it.

Route the remaining write-path 500s through sanitize_database_error, which the
read and delete handlers already use: the fetch failure in update_project, the
fallback in create_project, and upsert_project's non-409 fallback, which
returned _handle_unique_constraint_error's detail of str(exc) — the SQL
statement plus its bound parameters — for any error that is not a unique
violation. The helper's 409 mapping is preserved for a unique violation that
arrives wrapped in another exception type.

The read endpoints keep their unsanitized details; they are outside this
change.

* fix(api): make unique-constraint mapping backend-agnostic and leak-free

_handle_unique_constraint_error only recognized SQLite's "UNIQUE constraint
failed" text, so on PostgreSQL every unique violation fell through to a 500
whose detail was str(exc) — the failing statement plus its bound parameters.
PUT /flows/{flow_id} answered a name or endpoint-name conflict that way on the
one backend a cross-instance sync actually runs on.

Detect the violation by SQLSTATE 23505 off the driver exception (sqlstate on
psycopg3, pgcode on psycopg2) and fall back to message text for SQLite. Pick
the detail from a marker table keyed on both what SQLite prints (columns:
"flow.endpoint_name") and what PostgreSQL prints (constraint names:
"unique_flow_name"); every constraint involved is named in the models. Sanitize
the non-violation 500, keeping the 500 return itself because update_flow reads
it as "not a conflict" rather than raising it.

This also fixes the composite-key parse: "UNIQUE constraint failed:
flow.user_id, flow.name" split on the dot and reported " flow must be unique".
Flow and project conflicts now name the field, and a primary-key collision --
two concurrent upserts at the same id -- is no longer reported as a name
conflict.

projects.py drops the bespoke IntegrityError branch that worked around all of
the above, and PATCH now maps its constraint backstop through the same helper
as PUT so both verbs answer a concurrent rename with 409 instead of diverging.
Sanitize the three remaining read-handler 500s, and drop an always-truthy
`if project_results:` guard on a ScalarResult.

Covers the helper with direct unit tests: the suite runs only SQLite, so the
PostgreSQL branch has no integration coverage.

* Add authz endpoint matrix json
…ter a rename (#14544)

Nodes and edges are tab stops but render no focus styling, so a keyboard user
traverses nine invisible stops with no idea where they are. React Flow clears
the outline on both and leaves the indicator to the app; restore one using the
app-wide focus token.

Committing a project rename unmounts the focused input without moving focus,
dropping it to <body> and forcing a tab from the top of the page. Hand focus
back to the project's nav item, but only when it was actually lost.
…#14556)

* fix(test): run the bundle-guarded tests that CI was silently skipping

Since #13869 made lfx-bundles opt-in, 36 backend/lfx test files (378 test
functions) carry pytest.importorskip("lfx_bundles") -- and nothing in CI
installed the metapackage, so none of them ever executed. The backend suite
installs with a plain `uv sync`; cross-bundle-test.yml runs only each bundle's
own tests/ directory. Closes #14554.

Bundle component tests move to the bundle (10 files)
  Relocated to src/bundles/lfx-bundles/tests/, where cross-bundle-test.yml runs
  them. That job now installs [all-no-torch] (the same aggregate langflow[bundles]
  resolves, so it stays torch-free) plus respx/pytest-timeout, and the bundle
  gains a [tool.pytest.ini_options] with asyncio_mode and registered markers.
  The extras install deliberately sits in the test step, not setup, so the
  contract smoke keeps asserting graceful degradation without extras.
  Bundle suite: 15 passed -> 132 passed, 29 skipped (skips are credential-gated
  only: QIANFAN_AK/SK, COMETAPI_KEY).

Security tests become bundle-free (new test_bundle_ssrf_wiring.py)
  The SSRF guards live in shared lfx.utils.ssrf_* helpers whose behaviour is
  already covered in lfx/tests/unit/utils/; what the skipped tests uniquely
  proved is that each provider *wires* the guard in. That is now asserted
  statically over the in-repo provider sources -- parsed, never imported -- so it
  runs in every default install: guard imported, guard actually called (an unused
  import lints clean while leaving the request open), and no raw httpx sink.
  A registry test fails if a new module uses an ssrf_safe_ helper without being
  listed. Precedent: test_bundle_shims.py, test_migration_table_completeness.py.
  Verified by mutation: deleting deepseek's guard import and restoring the raw
  httpx.get call fails two independent assertions.
  The behavioural versions move to the bundle, so both layers exist.

Stragglers get a lane instead of a move (8 files)
  altk/chroma/cometapi/cuga/elastic/langwatch/youtube inherit tests/base.py's
  version-compatibility harness (tests.constants + tests.integration.utils),
  which is langflow-specific and cannot follow them into the bundle's lfx-only
  venv -- one imports langflow directly. New python_test.yml job installs
  `uv sync --extra bundles` and runs the guarded files, discovered by grep so a
  newly guarded test joins automatically. It asserts lfx_bundles actually
  imported afterwards, so the job cannot go green by skipping everything again.

Ollama split out of the SSRF file, as in #14553: it graduated to lfx-ollama (a
default dependency, absent from the bundle venv), so those two tests stay in the
backend suite where they run for real.

* fix(ci): split backend and lfx guarded runs; bump lfx-bundles; address review

The new bundle-guarded job failed on both Python legs with

  ImportPathMismatchError: ('tests.conftest',
    '.../src/backend/tests/conftest.py', '.../src/lfx/tests/conftest.py')

Both trees ship a top-level `tests` package, so collecting them in one pytest
run collides on tests.conftest. Split into two invocations, the lfx one from
src/lfx -- the same separation the existing Unit Tests / LFX Tests jobs use, and
what `make lfx_tests` does. The lfx step also needs its own install: the lfx venv
does not carry lfx-bundles, and src/lfx/tests/conftest.py refuses to run when
langflow IS installed, so it gets lfx + the in-repo bundle and nothing else.
Verified in a matching venv (lfx + lfx_bundles present, langflow absent): the
two guarded lfx files go from skipped to 10 passed.

Also swapped mapfile for a `while read` loop -- mapfile needs bash 4+, and
runs-on is a workflow input, so the runner shell is not guaranteed to have it
(macOS bash 3.2 does not). Moved the lfx_bundles import assertion ahead of the
test run: after the run it cannot prevent a green report from a fully-skipped
suite, which is the failure being fixed.

Bundle release plan gate: adding [tool.pytest.ini_options] counts as a
releasable source change, so lfx-bundles goes 1.1.10 -> 1.1.11 via
`bundle_release_plan.py update` (root pin + uv.lock synced by the tool).

CodeRabbit review:
- cross-bundle-test.yml deselects `-m "not api_key_required"`. Registering the
  marker never skipped anything; the tests self-skipped on missing env vars, so
  the marker's "not run in CI" contract was aspirational. Now enforced:
  132 passed, 1 skipped, 28 deselected.
- bundle-guarded-tests gets `permissions: contents: read` and checkout
  `persist-credentials: false`, matching cross-bundle-test.yml.

Test Docker Images failed on the same run with "runner has received a shutdown
signal" -- infrastructure, unrelated to this change.

* fix(ci): harden bundle-guarded discovery and match api-key policy

Follow-up to review feedback on the guarded-test scan, plus one bug the
suggestion surfaced while being verified.

Discovery is now quote-agnostic and .py-only:

  grep -rlE --include='*.py' "pytest\.importorskip\([[:space:]]*['\"]lfx_bundles"

- ['\"] so a single-quoted importorskip is not missed. A guarded test the scan
  overlooks is the exact bug this job exists to catch, so a partial pattern
  defeats it.
- POSIX grep -E rather than rg: runs-on is an input to this workflow (including
  self-hosted and an ARM64 ephemeral runner), so ripgrep is not guaranteed.
- --include='*.py' after hitting a real failure locally: grep -r also reads
  __pycache__/*.pyc, where the docstring text survives compilation, so the scan
  matched a .pyc and handed pytest a path it could not collect
  ("ERROR: not found: .../test_ssrf_guarded_ollama_components...pyc"). A fresh CI
  checkout has no __pycache__, so this would only have bitten on a reused runner
  or locally.

Verified by extracting the command from the YAML and running it against fixtures
covering double-quoted, single-quoted, whitespace, and unguarded files. That also
caught my first escaping attempt being wrong -- [\'\\"] terminates the shell
string early -- which reading the diff alone would not have shown.

Both pytest invocations now pass -m "not api_key_required", matching
`make unit_tests`, which the main backend job already uses. Running the guarded
files without it executed three live-API altk tests that the rest of CI
deselects by policy; this job should not be the only one making real provider
calls. Those three remain deliberately excluded rather than silently skipped --
a different thing from the import-skip this PR fixes.

* fix(ci): drop --timeout from the lfx guarded-test run

The backend leg passed; the lfx leg died with

  pytest: error: unrecognized arguments: --timeout=300

pytest-timeout is not in lfx's dev group (pytest, pytest-asyncio, pytest-cov),
and `make lfx_tests` does not pass a timeout either. The backend step keeps the
flag -- the root project does have pytest-timeout.

My earlier local check masked this: the venv I verified against had
pytest-timeout hand-installed, which CI does not do. Re-verified in a venv built
exactly as the job builds it (lfx dev deps + the in-repo bundle, no
pytest-timeout, no langflow), running the step's command extracted straight from
the YAML: 2 files discovered, 10 passed.
add bob context file to .gitignore
* chore(deps): bump datasets to 5.0.1

Mend flags datasets 4.8.5. The declared range (>2.14.7,<6.0.0) already
permitted 5.x; the lock had simply gone stale, so this is a lock-only
re-resolution with no transitive churn.

datasets is an optional extra with no first-party import in Langflow.

* chore(deps): upgrade react-router-dom to v7.18.2

The three react-router advisories Mend reports against 6.30.4 have no fix
in the 6.x line -- CVE-2026-53669 and CVE-2026-53666 are patched only in
7.18.0, and CVE-2026-53668 (react-router-dom 6.30.2-6.30.4) has no 6.x
patch at all. 7.18.2 also covers GHSA-qwww-vcr4-c8h2.

The migration surface is small: Langflow uses createBrowserRouter with
createRoutesFromElements and no loaders, actions, fetchers, defer(), or
json(), so the v7 future flags that gate behavior changes do not apply.
The only v6-specific code was a test that opted into v7_relativeSplatPath
and v7_startTransition explicitly -- both are v7 defaults, so the prop is
dropped.

react-router v7 reads TextEncoder at module load and jsdom does not expose
it, which broke 14 suites at import time; polyfilled next to the existing
crypto/URL shims in jest.setup.js.

Verified: tsc --noEmit is byte-identical to the v6 baseline (284
pre-existing errors, zero new), vite build succeeds, and all 587 jest
suites / 6421 tests pass.

* fix(frontend): keep flow events posted just before mount visible

react-router v7 renders route updates in a transition, so the flow page can
paint before useFlowEvents remounts with the new flow id. The hook seeded its
`since` cursor with Date.now() at mount and the events API only returns events
strictly newer than `since`, so anything posted in that window was dropped for
good: the poll kept re-sending the same cursor and never saw the event.

That is what shard 38 hit here. The trace shows the test's POST landing ~0.2-0.5s
before the hook mounted on the new flow, so the agent banner never appeared --
deterministic, 8/8 attempts, while the same shard passed at the base commit.

Seed the cursor 10s in the past instead, and let the server's `settled` flag
decide what to do with what turns up: on the catch-up poll, events for a flow
that has already settled advance the cursor but stay silent, so finished work
does not flash a banner or trigger the settle-driven flow refetch.

* test(frontend): wait for the new flow to load before pressing "/"

Second fallout from the router bump, same shape as the flow-events one: the
blank-flow click creates a flow and navigates, and under v7 the new canvas
mounts well after the click resolves -- 1.3s later in the failing trace, which
is 0.2s AFTER the test pressed "/".

The wait that was supposed to cover this does not: `sidebar-search-input` is
present on the flow we are LEAVING too, so it resolved against the outgoing
page. Focus went to that sidebar, the new flow's page then remounted, and the
input the assertion polls was a different, unfocused one -- "inactive", 8/8
attempts. It passed at the base commit and was already failing here before the
flow-events fix (run 1 attempt 1, rescued by the job-level retry).

Wait for the GET of the flow in the URL to land instead, so the test is on the
page it thinks it is on before it touches the keyboard.
…14560)

fix(a11y): name the knowledge-base provider picker from its canvas field label

ParameterRenderComponent spreads ariaLabelledBy into every widget, but
DBProviderInputComponent never read it, so the provider combobox on the
canvas fell back to its own generic aria-label and a screen reader user
never heard which field they were on.

Forward it through to the trigger, and emit only one of the two names:
aria-labelledby already wins over aria-label, so setting both strands a
name nothing reads. Modal callers pass aria-label with no field label to
reference and keep their existing behavior.
Alembic reflected every table in the database and reported each one
absent from SQLModel.metadata as a remove_table diff, so `alembic check`
aborted startup with "There's a mismatch between the models and the
database" whenever a user pointed a vector store or any other tool at
Langflow's own database. The tables LangChain's PGVector creates
(langchain_pg_collection, langchain_pg_embedding) are the common
trigger; Langflow's own Postgres knowledge base backend creates the
same two.

Add an include_name filter so autogenerate only considers tables
Langflow owns. Drift inside those tables is still detected, and tables
present in the models but missing from the database are still reported,
so `alembic revision --autogenerate` keeps working.

Fixes #9117
* ci: harden nightly builds and test reliability

* chore: satisfy bundle release contracts

* ci: align reusable workflow permissions

* ci: address CodeRabbit review on nightly hardening

Shard calculation: `playwright test --list | wc -l` counted the
"Listing tests:" header and "Total:" footer, so every suite was
over-sharded by two tests' worth of runners, and a grep matching no test
made Playwright exit non-zero and kill the step under `set -euo
pipefail`. Parse the "Total:" line and fall back to a single shard.

Least privilege: py_autofix.yml had no permissions block at all, so it
ran on default token scopes; autofix-ci uploads a diff artifact and the
autofix.ci App applies it with its own credentials, so contents:read is
enough — this matches js_autofix.yml. Read-only checkouts in the docker
nightly, storybook deploy, and extension-migration gates no longer
persist the token into the workspace.

SQLite reflection noise: the composite-FK PRAGMA warning was filtered
inline in alembic/env.py only, so both autogenerate comparisons in
test_migration_execution.py still emitted it. Fold it into
filter_known_sqlite_reflection_warnings() and apply that at both call
sites.

Live smoke isolation: playwright.live.config.ts shared port 7860 with
the blocking suite and set reuseExistingServer: true. Playwright only
applies `env` to servers it starts, so a leftover blocking-suite backend
was reused with OPENAI_BASE_URL still pointed at the loopback fixture —
the "live" provider check could pass without touching a real provider.
Give it a dedicated port, database, and no server reuse.

Also: memoizedNodeToolbarComponent listed updateNodeCode but calls
handleUpdateCode, pinning the toolbar to stale templates and edges; the
loopback fixture rewrote headers on a late streaming failure and died of
an unhandled ERR_HTTP_HEADERS_SENT; cleanAllFlows threw after
successfully deleting exactly MAX_DELETIONS flows; cleanOldFolders
confirmed deletion by text order instead of the modal test id.

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

* fix(ci): resolve zero-flake test regressions

* fix(ci): close zero-flake acceptance gaps

* fix(ci): run base CLI checks in uv environment

* fix(ci): close remaining release acceptance races

* fix(ci): align bundle versions with moved release base

* fix(ci): stabilize release Playwright persistence

* fix(ci): stabilize PSD file component setup

* fix(ci): eliminate remaining Playwright fixture races

* fix(ci): close final Playwright readiness races

* fix(ci): close remaining Playwright races

* fix(e2e): target current RetrievalQA handles

* ci: make the Playwright report gate survive partial re-runs

The report gate could not go green after a "re-run failed jobs": blob
report artifacts are named per attempt, but a partial re-run only
re-executes the failed shards, so the shards that passed the first time
keep their attempt-1 names. Downloading only
`blob-report-<os>-*-attempt-${{ github.run_attempt }}` therefore found 1
of 70 reports on attempt 2 and the strict count check failed the run.

Download every attempt instead and resolve the newest attempt per shard,
so a partial re-run converges on exactly one report per shard. The count
check now also names the shards it is missing rather than dumping the
whole download tree.

Two supporting fixes:

- Add `timeout-minutes` to the shard job and to the browser-install
  steps. Shard 59 of run 31775314581 hung in `playwright install
  --with-deps` (apt-get) and was only killed by GitHub's 6-hour job
  ceiling, which is what starved the gate in the first place. Successful
  shards finish in 4-9 minutes.
- Gate the merged-JSON upload on the merge having actually run. It was
  `if: always()` with `if-no-files-found: error`, so every gate
  short-circuit produced a second, misleading red X. The JSON still
  uploads when the report checker finds failures.

* ci: stop re-downloading Playwright browsers on every shard

The browser cache has never worked. PLAYWRIGHT_BROWSERS_PATH was
relative, so it resolved against each step's working directory: the
install runs from src/frontend and wrote to src/frontend/ms-playwright,
while actions/cache archived <workspace>/ms-playwright and logged "Path
Validation Error ... no cache is being saved". Every one of the 70
shards therefore re-downloaded Chromium and re-ran apt on every run.
Making the path absolute fixes both halves at once.

Dropping `--with-deps` on Linux fixes the rest. On the hosted image
every library Chromium links against is already present — apt's own
summary was "0 upgraded, 9 newly installed", and all 9 were CJK/X11 font
packages, 21MB pulled from one mirror by 70 shards at once. That is what
timed out shard 45 after 10 minutes here, and shard 59 after six hours
before this branch added a timeout. Fonts affect glyph rendering, not
whether Chromium starts, and the cache-hit path skips them regardless.
The install now retries three times with backoff.

Also bumps lfx-bundles 1.1.11 -> 1.1.12 via `bundle_release_plan.py
update`: release-1.12.0 shipped 1.1.11 in the meantime, so this branch's
lfx-bundles changes had landed on a version already published. The plan
now validates as "ready".

* fix(ci): pin main-page waits to the route just navigated to

Two shards failed after merging release-1.12.0, both on mainpage_title
straight after a route change — the react-router v7 deferred-render
behaviour that the base's own keyboardComponentSearch fix was chasing:

- fileUploadComponent: `waitForSelector('[data-testid="mainpage_title"]')`
  matched the outgoing page's heading, so the one-shot `textContent()`
  read returned "Toggle SidebarStarter Project" instead of "Files". A
  one-shot read has no retry, so the value is whatever was mounted at
  that instant.
- bulk-actions: `expect(mainpage_title).toBeVisible()` after `goto("/")`
  timed out at the default 5s with "element(s) not found". A full goto
  reboots the app, which is more than 5s of CI.

Both now go through waitForMainPageReady, which asserts on the heading
*text* with a retrying matcher when the caller names the destination, and
allows TIMEOUTS.standard rather than the 5s default.

Verified: biome (pinned 2.1.1) clean, and tsc clean over all four touched
spec/helper files. Note tsconfig.json's `include` is an explicit allowlist
that covers none of them, so `tsc -p tsconfig.json` silently skips these
specs — they were checked via a temporary config.

* fix(ci): fit the canvas before asserting nodes in twoEdges

The report gate's only remaining complaint was one flaky test. Its first
attempt failed on

  getByText('Knowledge', { exact: true }).first()
  locator resolved to <span data-testid="node-name">Knowledge</span>
  unexpected value "hidden"

so the node was mounted but outside the viewport: the spec asserted node
visibility straight after opening the Vector Store RAG template, before
any fit_view. Whether a given node lands inside the initial viewport is
luck, which is exactly the shape of a flake that passes on retry.

Now waits for the editor and fits the view first. numberOfZoomOut: 0
keeps the visual state unchanged for the rest of the test, and the
existing fit_view further down re-fits regardless.

Pre-existing flake, not merge fallout -- this branch had never touched
the spec. Not reproducible locally (it needs the full e2e stack and only
fails intermittently), so CI is the verification.

* fix(ci): scope default flow names in general-bugs-shard-3836

Shard 70 failed its first attempt in awaitBootstrapTest with "Creating a
new flow returned 400". That is the race
route-test-scoped-default-flow-names.ts already documents: the product
derives "New Flow (n)" from a client-side inventory snapshot, so two
shards can pick the same suffix before either POST commits and the loser
violates the unique (user_id, name) constraint.

This spec does not exercise naming, so it takes the same beforeEach hook
ten other specs already use.

Not a regression from the release-1.12.0 merge: the same spec passed on
its first attempt in the previous run, which already carried the merged
flows.py unique-constraint mapper.

The retry of that run failed differently — img[alt$="chain.png"] never
rendered within 100s — which this does not address. That assertion passed
in the previous run, so it is being left as an observation rather than
guessed at.

* ci: let the report gate warn on flaky instead of failing

The gate failed on any test that retried to green. In practice the suite
carries a background flake rate of roughly 1-3 specs per run out of 445,
and the set is different every run -- three consecutive runs of this
branch produced completely disjoint flaky sets (twoEdges;
general-bugs-3836; then messages.a11y + globalVariables + Travel Planning
Agent). Four targeted fixes all held and none reappeared, but new ones
kept surfacing, so a zero-tolerance gate blocks whichever PR is unlucky
rather than signalling a real regression.

inspectPlaywrightReport now returns the flaky list instead of throwing on
it, and throws only for tests that ended red or top-level reporter
errors. When a real failure is present the flaky entries are still
included in the message, so context is not lost. The CLI prints flakes as
a warning and reports the count on success.

Verified against the real merged report from run 31831257298, the one
that failed this gate: it now exits 0 and logs its 3 flakes
(445 tests). Unit tests updated to the new contract, 11/11 passing.

Note for nightlies: nightly_build.yml alerts Slack when the Windows
frontend test_status is "failed", so a flake-only Windows run no longer
raises that alert -- consistent with treating flakes as non-blocking.

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…099) (#14579)

Three defects found while testing the IdP support lane.

BUG-01 — revoking a role assignment left its provenance rows behind on
SQLite. ``authz_role_assignment_grant.assignment_id`` declares
``ondelete="CASCADE"``, but SQLite ignores foreign keys unless
``PRAGMA foreign_keys=ON`` is issued per connection, which Langflow never
does. Declaring the ORM relationship makes SQLAlchemy issue the child
deletes itself, so every delete path cascades identically on SQLite and
PostgreSQL. ``all, delete`` deliberately omits ``delete-orphan``: grant
rows are created by setting ``assignment_id`` directly, and
``delete-orphan`` would reject those as unparented at flush time.

BUG-03 — LE-2109 called for a short-lived cache so bearer-path group
reconciliation does not run on every request. It was never implemented,
so each authenticated request opened a transaction, took the
authorization plugin's policy locks and appended a
``directory_membership:reconcile`` audit row. One QA session left 183 of
them; a single page load produced 16. A reconciliation that verified the
stored state already matched the claim is now remembered for
``LANGFLOW_EXTERNAL_AUTH_GROUP_RECONCILE_INTERVAL_SECONDS`` (default 60,
0 disables), keyed by the exact directory state it verified, so any
change in the group set, claim state or resolved user still reconciles
immediately. A pass that changed something is not cached until a
confirming pass runs, so a pending post-commit propagation retry is never
hidden behind the cache.

BUG-02 (partial) — a deadlocked reconciliation was reported to the caller
as ``401 {"detail":"Token authentication failed"}``. A transaction rolled
back as a deadlock victim never judged the credential, so it is now
raised as ``AuthBackendUnavailableError`` and answered with a retryable
``503`` (``Retry-After: 1``) — ``1013`` on websockets — instead of
blaming a token that was never rejected. It also short-circuits the
remaining credential fallbacks rather than replaying them into the same
outage. The lock-ordering defect itself lives in the authorization plugin
and is fixed there.
…ssion check (#14523)

* refactor(frontend): expose the pending half of the flow permission gate

useIsFlowReadOnly conflates two states: the query is still resolving, and
the user is denied. Controls that invoke a gated mutation need to tell them
apart to disable themselves only while the answer is in flight and to name
the reason correctly.

Adds useIsFlowPermissionPending next to it, reading the same provider so
both predicates can never disagree. No behaviour change on its own.

* fix(frontend): gate sidebar component items on the pending permission check

The add path already refused to run while the permission query resolved,
but the item stayed draggable, double-clickable and kept an enabled add
button, so the click was discarded with nothing reported. The row now
carries the same not-allowed affordance it already uses for placement
constraints, and the add button is disabled for that window.

A constraint violation is a verdict and still hides the button; a pending
check is transient, so it only suspends it and the control keeps its place.

Refs LE-2176

* fix(frontend): gate New Custom Component on the pending permission check

Same discarded-click window as the component items, on the sidebar footer
button. It already had a disabled channel wired to the component-types
load, so the pending permission state joins it.

Because the button opts out of the base class with unstyled, the disabled
look is spelled out at the call site — without it the control would block
the click while still looking exactly like a working one.

Refs LE-2176

* test(frontend): cover the add affordance during the pending permission check

Splits the two halves of the gate on the hook, then asserts on both add
surfaces that the control refuses the click visibly instead of discarding
it, and that a placement constraint still wins the reason when both apply.

Checked against the base: 5 of the 8 item assertions and 3 of the 4 button
assertions fail without the fix; the rest are the resolved-state controls
and the constraint regression guard.

Refs LE-2176

* test(frontend): add e2e guard for the discarded add click

Holds the permission response open so the window is deterministic instead
of racing a round trip that is milliseconds wide on localhost, then asserts
the control is unavailable during it and that the same single click adds a
node once the answer arrives.

Asserts the request actually happened: without that the test would pass
vacuously on any build where the editor stops querying permissions.

Refs LE-2176

* test(frontend): poll the intercepted permission request instead of reading it once

The counter is incremented by the route handler on the Node side, while the
visibility assertion it follows resolves on the browser side. Nothing orders
the two, so on a loaded runner the guard could read zero and fail a test that
is otherwise correct.

Addresses the CodeRabbit review on #14523.

* fix(frontend): dim the custom component button for both refusal reasons

The button was disabled by the component-types load and by the pending
permission check, but only the second one dimmed it. Same control looking
refused for one cause and working for the other reads as a bug, and the
load case fires on every flow open, so it is the more frequently hit half.

Hoists the condition so disabled and the disabled look cannot diverge.

Addresses I1 of the review on #14523.

* fix(frontend): refuse the add affordance for denied write, not just in flight

The gate the add path uses is read-only, which is true both while the
permission answer travels and, permanently, when it denies write. Gating the
controls on the pending half alone left a read-only collaborator with a fully
interactive sidebar whose every add is discarded, with nothing reported — the
same defect, except it never resolves.

Both surfaces now key off useIsFlowReadOnly, the exact predicate that refuses
the click, and useIsFlowPermissionPending only picks which reason to show:
still checking, or read-only access. A placement constraint keeps hiding the
add button; the permission cases only disable it, so a denied user still sees
the layout everyone else does.

Addresses I2 of the review on #14523.

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 1801 files, which is 1501 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1d2a07f8-70e5-452d-a43f-5baf70db7f71

📥 Commits

Reviewing files that changed from the base of the PR and between b1b0ce1 and 51cd936.

⛔ Files ignored due to path filters (2)
  • src/frontend/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1801)
  • .agents/skills/ibm-a11y-level1-audit/SKILL.md
  • .agents/skills/ibm-a11y-pr-remediation/SKILL.md
  • .agents/skills/ibm-a11y-route-scan/SKILL.md
  • .agents/skills/ibm-a11y-testing-guide/SKILL.md
  • .github/actions/install-playwright/action.yml
  • .github/changes-filter.yaml
  • .github/workflows/README.md
  • .github/workflows/a11y-scan.yml
  • .github/workflows/a11y-unit-tests.yml
  • .github/workflows/add-labels.yml
  • .github/workflows/auto-update.yml
  • .github/workflows/ci-scripts-test.yml
  • .github/workflows/ci.yml
  • .github/workflows/codeql.yml
  • .github/workflows/community-label.yml
  • .github/workflows/conventional-labels.yml
  • .github/workflows/create-release.yml
  • .github/workflows/cross-bundle-test.yml
  • .github/workflows/cross-platform-test.yml
  • .github/workflows/db-migration-validation.yml
  • .github/workflows/deploy-docs-draft.yml
  • .github/workflows/deploy-storybook.yml
  • .github/workflows/deploy_gh-pages.yml
  • .github/workflows/docker-build-v2.yml
  • .github/workflows/docker-build.yml
  • .github/workflows/docker-nightly-build-arch.yml
  • .github/workflows/docker-nightly-build.yml
  • .github/workflows/docker_test.yml
  • .github/workflows/docs_test.yml
  • .github/workflows/extension-migration-checks.yml
  • .github/workflows/gp-backend-check.yml
  • .github/workflows/gp-download.yml
  • .github/workflows/gp-test.yml
  • .github/workflows/gp-upload.yml
  • .github/workflows/integration_tests.yml
  • .github/workflows/jest_test.yml
  • .github/workflows/js_autofix.yml
  • .github/workflows/lint-js.yml
  • .github/workflows/lint-py.yml
  • .github/workflows/mend.yml
  • .github/workflows/migration-validation.yml
  • .github/workflows/nightly_build.yml
  • .github/workflows/py_autofix.yml
  • .github/workflows/python_test.yml
  • .github/workflows/regression-stub.yml
  • .github/workflows/release-inventory-gate.yml
  • .github/workflows/release-lfx.yml
  • .github/workflows/release.yml
  • .github/workflows/release_bundles.yml
  • .github/workflows/release_nightly.yml
  • .github/workflows/request-docs-review.yml
  • .github/workflows/smoke-tests.yml
  • .github/workflows/store_pytest_durations.yml
  • .github/workflows/stress-tests.yml
  • .github/workflows/style-check-py.yml
  • .github/workflows/template-tests.yml
  • .github/workflows/test-coverage-advisor.yml
  • .github/workflows/typescript_test.yml
  • .gitignore
  • .pre-commit-config.yaml
  • .secrets.baseline
  • AGENTS.md
  • BUNDLE_API.md
  • Makefile
  • Makefile.frontend
  • codecov.yml
  • docker/build_and_push.Dockerfile
  • docker/build_and_push_backend.Dockerfile
  • docker/build_and_push_base.Dockerfile
  • docker/build_and_push_ep.Dockerfile
  • docker/build_and_push_with_extras.Dockerfile
  • docker/install_hardened_npm.sh
  • docs/agents/ARCHITECTURE.md
  • docs/docs/Components/bundles-azure.mdx
  • docs/docs/Components/bundles-google.mdx
  • docs/docs/Components/bundles-ollama.mdx
  • docs/docs/Components/bundles-paddle.mdx
  • docs/docs/Components/components-bundles.mdx
  • docs/docs/Components/policies.mdx
  • docs/docs/Deployment/deployment-block-custom-components.mdx
  • docs/docs/Deployment/deployment-docker.mdx
  • docs/docs/Deployment/docker-image-profiles.mdx
  • docs/docs/Deployment/downstream-bundle-profiles.mdx
  • docs/docs/Develop/api-keys-and-authentication.mdx
  • docs/docs/Develop/authorization.mdx
  • docs/docs/Develop/configuration-cli.mdx
  • docs/docs/Develop/configuration-custom-database.mdx
  • docs/docs/Develop/database-migrations.mdx
  • docs/docs/Develop/enterprise-database-guide.mdx
  • docs/docs/Develop/environment-variables.mdx
  • docs/docs/Develop/install-custom-dependencies.mdx
  • docs/docs/Develop/memory.mdx
  • docs/docs/Flows/langflow-assistant.mdx
  • docs/docs/Get-Started/get-started-installation.mdx
  • docs/docs/Lfx/extensions-bundle-list.mdx
  • docs/docs/Lfx/extensions-manifest.mdx
  • docs/docs/Lfx/lfx-compatibility.mdx
  • docs/docs/Support/release-notes.mdx
  • docs/docs/Support/troubleshooting.mdx
  • docs/docs/_partial-bundle-graduated-install.mdx
  • docs/docs/_partial-bundle-lfx-bundles-install.mdx
  • docs/features/langflow-assistant-mcp.md
  • docs/features/langflow-assistant.md
  • docs/sidebars.js
  • pyproject.toml
  • scripts/a11y/a11y_routes.json
  • scripts/build_component_index.py
  • scripts/ci/authz_endpoint_matrix.json
  • scripts/ci/base_extension.Dockerfile
  • scripts/ci/bundle_profile_locks/enterprise-hardened.lock.json
  • scripts/ci/bundle_profiles.json
  • scripts/ci/bundle_release_plan.py
  • scripts/ci/check_authz_endpoint_matrix.py
  • scripts/ci/check_execution_principal_matrix.py
  • scripts/ci/check_release_inventory.py
  • scripts/ci/execution_principal_matrix.json
  • scripts/ci/manage_bundle_profiles.py
  • scripts/ci/pypi_nightly_tag.py
  • scripts/ci/release_inventory_contract.json
  • scripts/ci/rewrite_langflow_base_constraint.sh
  • scripts/ci/test_authz_endpoint_matrix.py
  • scripts/ci/test_bundle_profiles.py
  • scripts/ci/test_bundle_release_plan.py
  • scripts/ci/test_constraint_preservation.py
  • scripts/ci/test_docker_images.sh
  • scripts/ci/test_execution_principal_matrix.py
  • scripts/ci/test_pypi_nightly_tag.py
  • scripts/ci/test_release_inventory.py
  • scripts/ci/test_release_workflow.py
  • scripts/ci/test_update_bundle_prerelease_dependencies.py
  • scripts/ci/test_update_lf_base_dependency.py
  • scripts/ci/test_update_pyproject_combined.py
  • scripts/ci/test_update_uv_dependency.py
  • scripts/ci/update_bundle_prerelease_dependencies.py
  • scripts/ci/update_lf_base_dependency.py
  • scripts/ci/update_pyproject_combined.py
  • scripts/ci/update_uv_dependency.py
  • scripts/generate_coverage_config.md
  • scripts/generate_coverage_config.py
  • scripts/migrate/consolidate_bundles.py
  • scripts/migrate/port_bundle.py
  • scripts/migrate_secret_key.py
  • src/backend/base/langflow/__main__.py
  • src/backend/base/langflow/agentic/api/router.py
  • src/backend/base/langflow/agentic/api/schemas.py
  • src/backend/base/langflow/agentic/flows/LangflowAssistant.json
  • src/backend/base/langflow/agentic/flows/flow_builder_assistant.py
  • src/backend/base/langflow/agentic/helpers/code_security.py
  • src/backend/base/langflow/agentic/helpers/content_safety.py
  • src/backend/base/langflow/agentic/helpers/input_sanitization.py
  • src/backend/base/langflow/agentic/helpers/sse.py
  • src/backend/base/langflow/agentic/helpers/validation.py
  • src/backend/base/langflow/agentic/mcp/server.py
  • src/backend/base/langflow/agentic/mcp/support.py
  • src/backend/base/langflow/agentic/services/agent_run_context.py
  • src/backend/base/langflow/agentic/services/assistant_service.py
  • src/backend/base/langflow/agentic/services/conversation_buffer.py
  • src/backend/base/langflow/agentic/services/flow_executor.py
  • src/backend/base/langflow/agentic/services/flow_preparation.py
  • src/backend/base/langflow/agentic/services/flow_run.py
  • src/backend/base/langflow/agentic/services/flow_structural_validation.py
  • src/backend/base/langflow/agentic/services/flow_verification.py
  • src/backend/base/langflow/agentic/services/helpers/event_consumer.py
  • src/backend/base/langflow/agentic/services/helpers/flow_loader.py
  • src/backend/base/langflow/agentic/services/helpers/intent_classification.py
  • src/backend/base/langflow/agentic/services/provider_service.py
  • src/backend/base/langflow/agentic/services/restore_point.py
  • src/backend/base/langflow/agentic/utils/assistant_runner.py
  • src/backend/base/langflow/agentic/utils/component_search.py
  • src/backend/base/langflow/agentic/utils/flow_component.py
  • src/backend/base/langflow/agentic/utils/template_create.py
  • src/backend/base/langflow/agentic/utils/template_search.py
  • src/backend/base/langflow/alembic/env.py
  • src/backend/base/langflow/alembic/expand_compat.py
  • src/backend/base/langflow/alembic/versions/79e675cb6752_change_datetime_type.py
  • src/backend/base/langflow/alembic/versions/7c8e9f0a1b2d_add_sso_config_invariant_checks.py
  • src/backend/base/langflow/alembic/versions/8d9e0f1a2b3c_complete_sso_expand_compatibility.py
  • src/backend/base/langflow/alembic/versions/a3f8b1c9d7e2_add_policy_bundle_blocked_model_keys.py
  • src/backend/base/langflow/alembic/versions/a6c4e2f8b1d3_add_authz_audit_actor_identity.py
  • src/backend/base/langflow/alembic/versions/b1c2d3e4f5a6_add_sso_plugin_tables_sso_user_profile_.py
  • src/backend/base/langflow/alembic/versions/b7d5f9a3c2e4_sync_flow_workspace_from_project.py
  • src/backend/base/langflow/alembic/versions/cp01a2b3c4d5_add_role_assignment_grant_sources.py
  • src/backend/base/langflow/alembic/versions/cp02a2b3c4d5_backfill_manual_role_grant_sources.py
  • src/backend/base/langflow/alembic/versions/cp03a2b3c4d5_allow_skipped_authz_audit_results.py
  • src/backend/base/langflow/alembic/versions/d4a7c9e1b2f6_add_catalog_policy_rule.py
  • src/backend/base/langflow/alembic/versions/e8f1a2b3c4d5_add_model_provider_policy.py
  • src/backend/base/langflow/alembic/versions/e9f2a3b4c5d6_allow_multiple_sso_identities_per_user.py
  • src/backend/base/langflow/alembic/versions/f0a1b2c3d4e5_merge_sso_and_catalog_policy_heads.py
  • src/backend/base/langflow/alembic/versions/f7a9c2d4e6b8_add_shared_policy_bundle.py
  • src/backend/base/langflow/alembic/warning_filters.py
  • src/backend/base/langflow/api/build.py
  • src/backend/base/langflow/api/global_variable_fields.py
  • src/backend/base/langflow/api/router.py
  • src/backend/base/langflow/api/utils/__init__.py
  • src/backend/base/langflow/api/utils/core.py
  • src/backend/base/langflow/api/utils/execution_errors.py
  • src/backend/base/langflow/api/utils/flow_utils.py
  • src/backend/base/langflow/api/utils/kb_helpers.py
  • src/backend/base/langflow/api/utils/knowledge_base_service.py
  • src/backend/base/langflow/api/utils/mcp/agentic_mcp.py
  • src/backend/base/langflow/api/v1/__init__.py
  • src/backend/base/langflow/api/v1/a2a.py
  • src/backend/base/langflow/api/v1/a2a_executor.py
  • src/backend/base/langflow/api/v1/agentic_mcp.py
  • src/backend/base/langflow/api/v1/api_key.py
  • src/backend/base/langflow/api/v1/authz_audit.py
  • src/backend/base/langflow/api/v1/authz_role_assignments.py
  • src/backend/base/langflow/api/v1/authz_roles.py
  • src/backend/base/langflow/api/v1/authz_route_dependencies.py
  • src/backend/base/langflow/api/v1/authz_shares.py
  • src/backend/base/langflow/api/v1/authz_teams.py
  • src/backend/base/langflow/api/v1/catalog_policy.py
  • src/backend/base/langflow/api/v1/chat.py
  • src/backend/base/langflow/api/v1/custom_component_policy.py
  • src/backend/base/langflow/api/v1/deployments.py
  • src/backend/base/langflow/api/v1/endpoints.py
  • src/backend/base/langflow/api/v1/extensions.py
  • src/backend/base/langflow/api/v1/flow_version.py
  • src/backend/base/langflow/api/v1/flows.py
  • src/backend/base/langflow/api/v1/flows_helpers.py
  • src/backend/base/langflow/api/v1/global_variable_defaults.py
  • src/backend/base/langflow/api/v1/knowledge_bases.py
  • src/backend/base/langflow/api/v1/mappers/deployments/base.py
  • src/backend/base/langflow/api/v1/mappers/deployments/helpers.py
  • src/backend/base/langflow/api/v1/mappers/deployments/sync.py
  • src/backend/base/langflow/api/v1/mappers/deployments/watsonx_orchestrate/mapper.py
  • src/backend/base/langflow/api/v1/mcp.py
  • src/backend/base/langflow/api/v1/mcp_projects.py
  • src/backend/base/langflow/api/v1/mcp_utils.py
  • src/backend/base/langflow/api/v1/memories.py
  • src/backend/base/langflow/api/v1/model_options.py
  • src/backend/base/langflow/api/v1/model_provider_policy.py
  • src/backend/base/langflow/api/v1/models.py
  • src/backend/base/langflow/api/v1/monitor.py
  • src/backend/base/langflow/api/v1/openai_responses.py
  • src/backend/base/langflow/api/v1/policy_bundle.py
  • src/backend/base/langflow/api/v1/policy_bundle_errors.py
  • src/backend/base/langflow/api/v1/projects.py
  • src/backend/base/langflow/api/v1/projects_files.py
  • src/backend/base/langflow/api/v1/schemas/__init__.py
  • src/backend/base/langflow/api/v1/schemas/authz_role_assignments.py
  • src/backend/base/langflow/api/v1/schemas/authz_roles.py
  • src/backend/base/langflow/api/v1/schemas/catalog_policy.py
  • src/backend/base/langflow/api/v1/schemas/public_flows.py
  • src/backend/base/langflow/api/v1/starter_projects.py
  • src/backend/base/langflow/api/v1/users.py
  • src/backend/base/langflow/api/v1/validate.py
  • src/backend/base/langflow/api/v1/variable.py
  • src/backend/base/langflow/api/v1/voice_mode.py
  • src/backend/base/langflow/api/v2/files.py
  • src/backend/base/langflow/api/v2/mcp.py
  • src/backend/base/langflow/api/v2/workflow.py
  • src/backend/base/langflow/api/v2/workflow_background.py
  • src/backend/base/langflow/api/v2/workflow_execution.py
  • src/backend/base/langflow/api/v2/workflow_public.py
  • src/backend/base/langflow/api/v2/workflow_validation.py
  • src/backend/base/langflow/api/warm_graph.py
  • src/backend/base/langflow/cli/preflight.py
  • src/backend/base/langflow/cli/progress.py
  • src/backend/base/langflow/initial_setup/load.py
  • src/backend/base/langflow/initial_setup/setup.py
  • src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json
  • src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json
  • src/backend/base/langflow/initial_setup/starter_projects/Content Aggregator.json
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Generator.json
  • src/backend/base/langflow/initial_setup/starter_projects/Deep Research Agent.json
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json
  • src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json
  • src/backend/base/langflow/initial_setup/starter_projects/Hybrid Search RAG.json
  • src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json
  • src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json
  • src/backend/base/langflow/initial_setup/starter_projects/Knowledge Retrieval.json
  • src/backend/base/langflow/initial_setup/starter_projects/Market Research.json
  • src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json
  • src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json
  • src/backend/base/langflow/initial_setup/starter_projects/Multi Agent Flow.json
  • src/backend/base/langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json
  • src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json
  • src/backend/base/langflow/initial_setup/starter_projects/Research Translation Loop.json
  • src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json
  • src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json
  • src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json
  • src/backend/base/langflow/initial_setup/starter_projects/Simple Agent.json
  • src/backend/base/langflow/initial_setup/starter_projects/Social Media Agent.json
  • src/backend/base/langflow/initial_setup/starter_projects/Text Sentiment Analysis.json
  • src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json
  • src/backend/base/langflow/initial_setup/starter_projects/Twitter Thread Generator.json
  • src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json
  • src/backend/base/langflow/locales/de.json
  • src/backend/base/langflow/locales/en.json
  • src/backend/base/langflow/locales/es.json
  • src/backend/base/langflow/locales/fr.json
  • src/backend/base/langflow/locales/ja.json
  • src/backend/base/langflow/locales/pt.json
  • src/backend/base/langflow/locales/zh-Hans.json
  • src/backend/base/langflow/main.py
  • src/backend/base/langflow/memory.py
  • src/backend/base/langflow/preload.py
  • src/backend/base/langflow/schema/knowledge_base.py
  • src/backend/base/langflow/services/auth/exceptions.py
  • src/backend/base/langflow/services/auth/service.py
  • src/backend/base/langflow/services/auth/utils.py
  • src/backend/base/langflow/services/authorization/__init__.py
  • src/backend/base/langflow/services/authorization/actions.py
  • src/backend/base/langflow/services/authorization/audit.py
  • src/backend/base/langflow/services/authorization/fetch.py
  • src/backend/base/langflow/services/authorization/guards.py
  • src/backend/base/langflow/services/authorization/lifecycle.py
  • src/backend/base/langflow/services/authorization/listing.py
  • src/backend/base/langflow/services/authorization/public_access.py
  • src/backend/base/langflow/services/authorization/utils.py
  • src/backend/base/langflow/services/background_execution/runner.py
  • src/backend/base/langflow/services/catalog_policy/__init__.py
  • src/backend/base/langflow/services/catalog_policy/factory.py
  • src/backend/base/langflow/services/catalog_policy/service.py
  • src/backend/base/langflow/services/database/migration.py
  • src/backend/base/langflow/services/database/models/__init__.py
  • src/backend/base/langflow/services/database/models/a2a/model.py
  • src/backend/base/langflow/services/database/models/api_key/crud.py
  • src/backend/base/langflow/services/database/models/auth/__init__.py
  • src/backend/base/langflow/services/database/models/auth/authz.py
  • src/backend/base/langflow/services/database/models/auth/sso.py
  • src/backend/base/langflow/services/database/models/auth/sso_secret.py
  • src/backend/base/langflow/services/database/models/catalog_policy/__init__.py
  • src/backend/base/langflow/services/database/models/catalog_policy/model.py
  • src/backend/base/langflow/services/database/models/deployment/crud.py
  • src/backend/base/langflow/services/database/models/folder/model.py
  • src/backend/base/langflow/services/database/models/folder/utils.py
  • src/backend/base/langflow/services/database/models/memory_base/model.py
  • src/backend/base/langflow/services/database/models/model_provider_policy/__init__.py
  • src/backend/base/langflow/services/database/models/model_provider_policy/model.py
  • src/backend/base/langflow/services/database/models/policy_bundle/__init__.py
  • src/backend/base/langflow/services/database/models/policy_bundle/model.py
  • src/backend/base/langflow/services/database/models/variable/model.py
  • src/backend/base/langflow/services/database/service.py
  • src/backend/base/langflow/services/database/session.py
  • src/backend/base/langflow/services/deployment_artifacts/__init__.py
  • src/backend/base/langflow/services/deployment_artifacts/builder.py
  • src/backend/base/langflow/services/deps.py
  • src/backend/base/langflow/services/factory.py
  • src/backend/base/langflow/services/flow/flow_runner.py
  • src/backend/base/langflow/services/jobs/exceptions.py
  • src/backend/base/langflow/services/jobs/service.py
  • src/backend/base/langflow/services/memory_base/document_builders.py
  • src/backend/base/langflow/services/memory_base/ingestion.py
  • src/backend/base/langflow/services/memory_base/kb_path_helpers.py
  • src/backend/base/langflow/services/memory_base/preprocessing.py
  • src/backend/base/langflow/services/memory_base/service.py
  • src/backend/base/langflow/services/memory_base/task.py
  • src/backend/base/langflow/services/model_provider_policy.py
  • src/backend/base/langflow/services/policy_bundle.py
  • src/backend/base/langflow/services/schema.py
  • src/backend/base/langflow/services/storage/s3.py
  • src/backend/base/langflow/services/storage/service.py
  • src/backend/base/langflow/services/task/model_provider_policy_refresh.py
  • src/backend/base/langflow/services/telemetry/opentelemetry.py
  • src/backend/base/langflow/services/telemetry/run_event_store.py
  • src/backend/base/langflow/services/telemetry/service.py
  • src/backend/base/langflow/services/tracing/langfuse.py
  • src/backend/base/langflow/services/tracing/langsmith.py
  • src/backend/base/langflow/services/tracing/native_callback.py
  • src/backend/base/langflow/services/tracing/otel_fastapi_patch.py
  • src/backend/base/langflow/services/tracing/service.py
  • src/backend/base/langflow/services/tracing/traceloop.py
  • src/backend/base/langflow/services/utils.py
  • src/backend/base/langflow/services/variable/kubernetes.py
  • src/backend/base/langflow/services/variable/service.py
  • src/backend/base/langflow/services/warm_registry/__init__.py
  • src/backend/base/langflow/services/warm_registry/reconcile.py
  • src/backend/base/langflow/services/warm_registry/resolver.py
  • src/backend/base/langflow/services/warm_registry/service.py
  • src/backend/base/langflow/tests/services/database/models/deployment/test_crud.py
  • src/backend/base/langflow/tests/services/database/models/deployment/test_in_memory.py
  • src/backend/base/langflow/tests/services/database/models/flow_version/test_in_memory.py
  • src/backend/base/langflow/utils/flow_secrets.py
  • src/backend/base/langflow/utils/version.py
  • src/backend/base/pyproject.toml
  • src/backend/tests/integration/components/bundles/cometapi/__init__.py
  • src/backend/tests/integration/test_image_providers.py
  • src/backend/tests/integration/test_misc.py
  • src/backend/tests/performance/test_flow_authz_prefilter_benchmark.py
  • src/backend/tests/test_starter_projects.py
  • src/backend/tests/unit/agentic/api/test_assistant_api_report_repro.py
  • src/backend/tests/unit/agentic/api/test_iterations_limit_forwarding.py
  • src/backend/tests/unit/agentic/api/test_transaction_release.py
  • src/backend/tests/unit/agentic/flows/test_flow_builder_assistant.py
  • src/backend/tests/unit/agentic/helpers/test_error_detail.py
  • src/backend/tests/unit/agentic/helpers/test_error_handling.py
  • src/backend/tests/unit/agentic/helpers/test_validation.py
  • src/backend/tests/unit/agentic/mcp/test_fastmcp_settings_guards.py
  • src/backend/tests/unit/agentic/mcp/test_run_assistant_tool.py
  • src/backend/tests/unit/agentic/mcp/test_server_user_binding.py
  • src/backend/tests/unit/agentic/services/helpers/test_intent_classification.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_error_detail.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_flow_verification.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_history.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_restore_point.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_run_intent.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_token_usage.py
  • src/backend/tests/unit/agentic/services/test_assistant_service_verification_rebuild_disclosure.py
  • src/backend/tests/unit/agentic/services/test_conversation_buffer.py
  • src/backend/tests/unit/agentic/services/test_flow_executor_uses_coordinator.py
  • src/backend/tests/unit/agentic/services/test_flow_preparation.py
  • src/backend/tests/unit/agentic/services/test_flow_structural_validation.py
  • src/backend/tests/unit/agentic/services/test_flow_verification.py
  • src/backend/tests/unit/agentic/services/test_flow_verification_no_progress.py
  • src/backend/tests/unit/agentic/services/test_provider_service.py
  • src/backend/tests/unit/agentic/services/test_provider_service_live_models.py
  • src/backend/tests/unit/agentic/services/test_restore_point.py
  • src/backend/tests/unit/agentic/services/test_run_flow_tool.py
  • src/backend/tests/unit/agentic/services/test_template_tools.py
  • src/backend/tests/unit/agentic/services/test_tool_start_events.py
  • src/backend/tests/unit/agentic/test_assist_headless_route.py
  • src/backend/tests/unit/agentic/test_assistant_report_e2e.py
  • src/backend/tests/unit/agentic/test_check_config_gate_visibility.py
  • src/backend/tests/unit/agentic/test_content_safety.py
  • src/backend/tests/unit/agentic/test_content_safety_wiring.py
  • src/backend/tests/unit/agentic/utils/test_component_search.py
  • src/backend/tests/unit/agentic/utils/test_flow_component.py
  • src/backend/tests/unit/agentic/utils/test_template_create.py
  • src/backend/tests/unit/agentic/utils/test_template_search.py
  • src/backend/tests/unit/alembic/test_allow_skipped_authz_audit_results.py
  • src/backend/tests/unit/alembic/test_authz_audit_actor_migration.py
  • src/backend/tests/unit/alembic/test_backfill_manual_role_grant_sources.py
  • src/backend/tests/unit/alembic/test_catalog_policy_rule_migration.py
  • src/backend/tests/unit/alembic/test_flow_workspace_sync_migration.py
  • src/backend/tests/unit/alembic/test_historical_migration_diagnostics.py
  • src/backend/tests/unit/alembic/test_migration_execution.py
  • src/backend/tests/unit/alembic/test_model_provider_policy_migration.py
  • src/backend/tests/unit/alembic/test_shared_policy_bundle_migration.py
  • src/backend/tests/unit/alembic/test_sso_instance_settings_migration.py
  • src/backend/tests/unit/alembic/test_sso_multi_identity_migration.py
  • src/backend/tests/unit/alembic/test_sso_protocol_settings_migration.py
  • src/backend/tests/unit/alembic/test_sso_rolling_compatibility_migration.py
  • src/backend/tests/unit/alembic/test_sso_secret_migration.py
  • src/backend/tests/unit/alembic/test_sso_stable_connection_migration.py
  • src/backend/tests/unit/alembic/test_warning_filters.py
  • src/backend/tests/unit/api/test_build_error_event_policy.py
  • src/backend/tests/unit/api/test_build_flow_span.py
  • src/backend/tests/unit/api/test_build_pause_seam.py
  • src/backend/tests/unit/api/test_build_source_flow_provenance.py
  • src/backend/tests/unit/api/test_execution_error_policy.py
  • src/backend/tests/unit/api/test_warm_graph_execution.py
  • src/backend/tests/unit/api/v1/test_a2a.py
  • src/backend/tests/unit/api/v1/test_a2a_span.py
  • src/backend/tests/unit/api/v1/test_agentic_mcp.py
  • src/backend/tests/unit/api/v1/test_auth_optional.py
  • src/backend/tests/unit/api/v1/test_authz_admin_routes.py
  • src/backend/tests/unit/api/v1/test_authz_audit_schemas.py
  • src/backend/tests/unit/api/v1/test_authz_lifecycle_contract.py
  • src/backend/tests/unit/api/v1/test_authz_share_routes.py
  • src/backend/tests/unit/api/v1/test_catalog_policy.py
  • src/backend/tests/unit/api/v1/test_custom_component_policy.py
  • src/backend/tests/unit/api/v1/test_deployment_guard_retry.py
  • src/backend/tests/unit/api/v1/test_deployment_route_handlers.py
  • src/backend/tests/unit/api/v1/test_deployment_sync.py
  • src/backend/tests/unit/api/v1/test_deployments_telemetry.py
  • src/backend/tests/unit/api/v1/test_deprecated_vertex_route_authz.py
  • src/backend/tests/unit/api/v1/test_detect_env_vars.py
  • src/backend/tests/unit/api/v1/test_endpoints.py
  • src/backend/tests/unit/api/v1/test_execution_principal_contract.py
  • src/backend/tests/unit/api/v1/test_extension_events_endpoint.py
  • src/backend/tests/unit/api/v1/test_flow_events.py
  • src/backend/tests/unit/api/v1/test_flow_folder_integrity.py
  • src/backend/tests/unit/api/v1/test_flow_version.py
  • src/backend/tests/unit/api/v1/test_flows.py
  • src/backend/tests/unit/api/v1/test_mcp_client_server.py
  • src/backend/tests/unit/api/v1/test_mcp_projects.py
  • src/backend/tests/unit/api/v1/test_mcp_reverse_proxy.py
  • src/backend/tests/unit/api/v1/test_mcp_utils.py
  • src/backend/tests/unit/api/v1/test_model_provider_policy.py
  • src/backend/tests/unit/api/v1/test_model_status_identity.py
  • src/backend/tests/unit/api/v1/test_models_enabled_providers.py
  • src/backend/tests/unit/api/v1/test_models_live_only_providers.py
  • src/backend/tests/unit/api/v1/test_models_provider_policy.py
  • src/backend/tests/unit/api/v1/test_openai_models_ssrf.py
  • src/backend/tests/unit/api/v1/test_openai_responses_execution_policy.py
  • src/backend/tests/unit/api/v1/test_policy_bundle.py
  • src/backend/tests/unit/api/v1/test_projects.py
  • src/backend/tests/unit/api/v1/test_public_flow_capabilities.py
  • src/backend/tests/unit/api/v1/test_public_flow_secret_scrub.py
  • src/backend/tests/unit/api/v1/test_starter_projects.py
  • src/backend/tests/unit/api/v1/test_transactions.py
  • src/backend/tests/unit/api/v1/test_users.py
  • src/backend/tests/unit/api/v1/test_validate.py
  • src/backend/tests/unit/api/v1/test_variable.py
  • src/backend/tests/unit/api/v1/test_variable_provider_validation_context.py
  • src/backend/tests/unit/api/v1/test_voice_mode_flow_authz.py
  • src/backend/tests/unit/api/v2/test_mcp_db_store.py
  • src/backend/tests/unit/api/v2/test_workflow.py
  • src/backend/tests/unit/api/v2/test_workflow_agui.py
  • src/backend/tests/unit/api/v2/test_workflow_background.py
  • src/backend/tests/unit/api/v2/test_workflow_public.py
  • src/backend/tests/unit/api/v2/test_workflow_run_telemetry.py
  • src/backend/tests/unit/background_execution/test_hitl_pre_pause_outputs.py
  • src/backend/tests/unit/background_execution/test_runner_suspend.py
  • src/backend/tests/unit/base/knowledge_bases/conftest.py
  • src/backend/tests/unit/base/knowledge_bases/test_backends_registry.py
  • src/backend/tests/unit/base/knowledge_bases/test_chroma_backend.py
  • src/backend/tests/unit/base/knowledge_bases/test_connector_endpoints.py
  • src/backend/tests/unit/base/knowledge_bases/test_opensearch_backend.py
  • src/backend/tests/unit/base/knowledge_bases/test_postgres_backend.py
  • src/backend/tests/unit/base/knowledge_bases/test_test_connection.py
  • src/backend/tests/unit/base/knowledge_bases/test_vector_store_backends.py
  • src/backend/tests/unit/base/mcp/test_mcp_util.py
  • src/backend/tests/unit/base/models/test_foundry_embedding_kwargs.py
  • src/backend/tests/unit/base/test_preload.py
  • src/backend/tests/unit/components/bundles/altk/test_altk_agent.py
  • src/backend/tests/unit/components/bundles/altk/test_altk_agent_logic.py
  • src/backend/tests/unit/components/bundles/chroma/test_local_db_component.py
  • src/backend/tests/unit/components/bundles/cometapi/test_cometapi_component.py
  • src/backend/tests/unit/components/bundles/cuga/test_cuga_agent.py
  • src/backend/tests/unit/components/bundles/elastic/test_opensearch_multimodal.py
  • src/backend/tests/unit/components/bundles/google/test_google_bq_sql_executor_component.py
  • src/backend/tests/unit/components/bundles/google/test_google_search_api.py
  • src/backend/tests/unit/components/bundles/google/test_google_serper_api_core.py
  • src/backend/tests/unit/components/bundles/langwatch/test_langwatch_component.py
  • src/backend/tests/unit/components/bundles/youtube/test_youtube_transcript_component.py
  • src/backend/tests/unit/components/codeagents/test_codeagents_imports.py
  • src/backend/tests/unit/components/conftest.py
  • src/backend/tests/unit/components/data_source/test_api_request_component.py
  • src/backend/tests/unit/components/embeddings/test_ollama_embeddings_component.py
  • src/backend/tests/unit/components/files_and_knowledge/test_file_component.py
  • src/backend/tests/unit/components/files_and_knowledge/test_knowledge.py
  • src/backend/tests/unit/components/files_and_knowledge/test_memory_retrieval.py
  • src/backend/tests/unit/components/git/test_git_component.py
  • src/backend/tests/unit/components/languagemodels/test_chatollama_component.py
  • src/backend/tests/unit/components/languagemodels/test_deepseek.py
  • src/backend/tests/unit/components/languagemodels/test_litellm_proxy.py
  • src/backend/tests/unit/components/languagemodels/test_perplexity.py
  • src/backend/tests/unit/components/languagemodels/test_xai.py
  • src/backend/tests/unit/components/llm_operations/test_guardrails_component.py
  • src/backend/tests/unit/components/llm_operations/test_structured_output_component.py
  • src/backend/tests/unit/components/models_and_agents/test_language_model_component.py
  • src/backend/tests/unit/components/processing/test_save_file_component.py
  • src/backend/tests/unit/components/prompts/test_validate_prompt_mustache.py
  • src/backend/tests/unit/components/prompts/test_validate_prompt_reserved_prefix.py
  • src/backend/tests/unit/components/search/test_wikidata_api.py
  • src/backend/tests/unit/components/search/test_wikipedia_api.py
  • src/backend/tests/unit/components/search/test_yfinance_tool.py
  • src/backend/tests/unit/components/test_all_modules_importable.py
  • src/backend/tests/unit/components/test_bundle_ssrf_wiring.py
  • src/backend/tests/unit/components/test_ssrf_guarded_ollama_components.py
  • src/backend/tests/unit/components/tools/test_python_repl_tool.py
  • src/backend/tests/unit/components/tools/test_serp_api.py
  • src/backend/tests/unit/components/vectorstores/test_chroma_vector_store_component.py
  • src/backend/tests/unit/components/vectorstores/test_faiss_vector_store_component.py
  • src/backend/tests/unit/components/vectorstores/test_mongodb_atlas.py
  • src/backend/tests/unit/components/vectorstores/test_qdrant_vector_store_component.py
  • src/backend/tests/unit/components/vectorstores/test_weaviate.py
  • src/backend/tests/unit/events/test_event_manager.py
  • src/backend/tests/unit/groq/conftest.py
  • src/backend/tests/unit/groq/test_groq_integration.py
  • src/backend/tests/unit/initial_setup/test_setup_functions.py
  • src/backend/tests/unit/initial_setup/test_starter_projects_streaming.py
  • src/backend/tests/unit/scripts/test_migrate_secret_key.py
  • src/backend/tests/unit/services/auth/test_auth_service.py
  • src/backend/tests/unit/services/auth/test_pluggable_auth.py
  • src/backend/tests/unit/services/authorization/_common.py
  • src/backend/tests/unit/services/authorization/_policy_double.py
  • src/backend/tests/unit/services/authorization/test_audit.py
  • src/backend/tests/unit/services/authorization/test_capability_flag.py
  • src/backend/tests/unit/services/authorization/test_fetch.py
  • src/backend/tests/unit/services/authorization/test_flow_route_guards.py
  • src/backend/tests/unit/services/authorization/test_guards.py
  • src/backend/tests/unit/services/authorization/test_listing_null_owner_prefilter.py
  • src/backend/tests/unit/services/authorization/test_public_access_contract.py
  • src/backend/tests/unit/services/authorization/test_rbac_enforcement_integration.py
  • src/backend/tests/unit/services/authorization/test_route_ceiling_guards.py
  • src/backend/tests/unit/services/authorization/test_route_guard_regressions.py
  • src/backend/tests/unit/services/authorization/test_unscoped_list_visibility.py
  • src/backend/tests/unit/services/authorization/test_visibility_scope_prefilter.py
  • src/backend/tests/unit/services/authorization/test_visible_id_prefilter.py
  • src/backend/tests/unit/services/background_execution/test_runner.py
  • src/backend/tests/unit/services/catalog_policy/__init__.py
  • src/backend/tests/unit/services/catalog_policy/test_service.py
  • src/backend/tests/unit/services/database/models/api_key/test_crud.py
  • src/backend/tests/unit/services/database/models/catalog_policy/__init__.py
  • src/backend/tests/unit/services/database/models/catalog_policy/test_model.py
  • src/backend/tests/unit/services/database/test_deployment_crud_authz_prefilter.py
  • src/backend/tests/unit/services/database/test_deployment_crud_filters.py
  • src/backend/tests/unit/services/database/test_deployment_crud_project_filter.py
  • src/backend/tests/unit/services/database/test_migration_downgrade.py
  • src/backend/tests/unit/services/database/test_migration_probe.py
  • src/backend/tests/unit/services/database/test_orphaned_flow_assignment.py
  • src/backend/tests/unit/services/deployment_artifacts/__init__.py
  • src/backend/tests/unit/services/deployment_artifacts/test_project_artifact.py
  • src/backend/tests/unit/services/flow/test_flow_runner.py
  • src/backend/tests/unit/services/storage/test_s3_dependency.py
  • src/backend/tests/unit/services/telemetry/test_application_span_filter.py
  • src/backend/tests/unit/services/telemetry/test_db_pool_metrics.py
  • src/backend/tests/unit/services/telemetry/test_dependency_spans.py
  • src/backend/tests/unit/services/telemetry/test_flow_execution_span.py
  • src/backend/tests/unit/services/telemetry/test_http_semconv.py
  • src/backend/tests/unit/services/telemetry/test_metric_export.py
  • src/backend/tests/unit/services/telemetry/test_run_event_store.py
  • src/backend/tests/unit/services/telemetry/test_runtime_and_log_export.py
  • src/backend/tests/unit/services/telemetry/test_span_url_redaction.py
  • src/backend/tests/unit/services/telemetry/test_tracer_provider.py
  • src/backend/tests/unit/services/test_model_provider_policy_refresh.py
  • src/backend/tests/unit/services/test_model_provider_policy_store.py
  • src/backend/tests/unit/services/test_policy_bundle_store.py
  • src/backend/tests/unit/services/tracing/test_langfuse_orphan_generation.py
  • src/backend/tests/unit/services/tracing/test_llm_content_not_exported_to_apm.py
  • src/backend/tests/unit/services/tracing/test_otel_fastapi_patch.py
  • src/backend/tests/unit/services/tracing/test_traceloop_application_telemetry.py
  • src/backend/tests/unit/services/tracing/test_tracing_service.py
  • src/backend/tests/unit/services/tracing/test_vendor_provider_coexistence.py
  • src/backend/tests/unit/services/variable/test_service.py
  • src/backend/tests/unit/services/warm_registry/__init__.py
  • src/backend/tests/unit/services/warm_registry/test_warm_flow_resolver.py
  • src/backend/tests/unit/services/warm_registry/test_warm_registry.py
  • src/backend/tests/unit/services/warm_registry/test_warm_registry_concurrency.py
  • src/backend/tests/unit/services/warm_registry/test_warm_registry_reconcile.py
  • src/backend/tests/unit/template/test_starter_projects.py
  • src/backend/tests/unit/test_api_key_source.py
  • src/backend/tests/unit/test_async_logger_usage.py
  • src/backend/tests/unit/test_auth_settings.py
  • src/backend/tests/unit/test_authz_models.py
  • src/backend/tests/unit/test_bundle_lfx_pin.py
  • src/backend/tests/unit/test_chat_endpoint.py
  • src/backend/tests/unit/test_cli_command_plugins.py
  • src/backend/tests/unit/test_cli_preflight.py
  • src/backend/tests/unit/test_credential_variable_leakage.py
  • src/backend/tests/unit/test_cryptography_dependency.py
  • src/backend/tests/unit/test_database.py
  • src/backend/tests/unit/test_docker_security_defaults.py
  • src/backend/tests/unit/test_end_user_ephemeral_persistence.py
  • src/backend/tests/unit/test_endpoints.py
  • src/backend/tests/unit/test_enterprise_lifespan_hooks.py
  • src/backend/tests/unit/test_flow_validation.py
  • src/backend/tests/unit/test_initial_setup.py
  • src/backend/tests/unit/test_knowledge_bases_api.py
  • src/backend/tests/unit/test_lfx_bundles_extras.py
  • src/backend/tests/unit/test_memory_base_preprocessing.py
  • src/backend/tests/unit/test_memory_base_task.py
  • src/backend/tests/unit/test_memory_bases.py
  • src/backend/tests/unit/test_messages_endpoints.py
  • src/backend/tests/unit/test_model_input_default_selection.py
  • src/backend/tests/unit/test_process.py
  • src/backend/tests/unit/test_redis_job_queue_service.py
  • src/backend/tests/unit/test_security_dependency_floors.py
  • src/backend/tests/unit/test_sso_models.py
  • src/backend/tests/unit/test_sso_secrets.py
  • src/backend/tests/unit/test_telemetry.py
  • src/backend/tests/unit/test_unified_models.py
  • src/backend/tests/unit/test_voice_mode_client_scoping.py
  • src/backend/tests/unit/test_webhook.py
  • src/backend/tests/unit/utils/test_flow_secrets.py
  • src/backend/tests/unit/utils/test_mcp_client.py
  • src/backend/tests/unit/utils/test_version.py
  • src/bundles/NIGHTLY.md
  • src/bundles/PORTING.md
  • src/bundles/amazon/pyproject.toml
  • src/bundles/amazon/src/lfx_amazon/extension.json
  • src/bundles/anthropic/pyproject.toml
  • src/bundles/anthropic/src/lfx_anthropic/extension.json
  • src/bundles/arxiv/pyproject.toml
  • src/bundles/arxiv/src/lfx_arxiv/extension.json
  • src/bundles/azure/README.md
  • src/bundles/azure/pyproject.toml
  • src/bundles/azure/src/lfx_azure/__init__.py
  • src/bundles/azure/src/lfx_azure/components/__init__.py
  • src/bundles/azure/src/lfx_azure/components/azure/__init__.py
  • src/bundles/azure/src/lfx_azure/components/azure/azure_openai.py
  • src/bundles/azure/src/lfx_azure/components/azure/azure_openai_embeddings.py
  • src/bundles/azure/src/lfx_azure/extension.json
  • src/bundles/azure/tests/test_azure_bundle.py
  • src/bundles/cohere/pyproject.toml
  • src/bundles/cohere/src/lfx_cohere/extension.json
  • src/bundles/datastax/pyproject.toml
  • src/bundles/datastax/src/lfx_datastax/components/cassandra/__init__.py
  • src/bundles/datastax/src/lfx_datastax/components/cassandra/cassandra.py
  • src/bundles/datastax/src/lfx_datastax/components/cassandra/cassandra_chat.py
  • src/bundles/datastax/src/lfx_datastax/components/cassandra/cassandra_graph.py
  • src/bundles/datastax/src/lfx_datastax/extension.json
  • src/bundles/datastax/tests/test_cassandra_compatibility.py
  • src/bundles/docling/pyproject.toml
  • src/bundles/docling/src/lfx_docling/extension.json
  • src/bundles/duckduckgo/pyproject.toml
  • src/bundles/duckduckgo/src/lfx_duckduckgo/extension.json
  • src/bundles/empiriolabs/pyproject.toml
  • src/bundles/empiriolabs/src/lfx_empiriolabs/extension.json
  • src/bundles/exa/pyproject.toml
  • src/bundles/exa/src/lfx_exa/extension.json
  • src/bundles/firecrawl/pyproject.toml
  • src/bundles/firecrawl/src/lfx_firecrawl/extension.json
  • src/bundles/google/README.md
  • src/bundles/google/pyproject.toml
  • src/bundles/google/src/lfx_google/__init__.py
  • src/bundles/google/src/lfx_google/components/__init__.py
  • src/bundles/google/src/lfx_google/components/google/__init__.py
  • src/bundles/google/src/lfx_google/components/google/gmail.py
  • src/bundles/google/src/lfx_google/components/google/google_bq_sql_executor.py
  • src/bundles/google/src/lfx_google/components/google/google_drive.py
  • src/bundles/google/src/lfx_google/components/google/google_drive_search.py
  • src/bundles/google/src/lfx_google/components/google/google_generative_ai.py
  • src/bundles/google/src/lfx_google/components/google/google_generative_ai_embeddings.py
  • src/bundles/google/src/lfx_google/components/google/google_oauth_token.py
  • src/bundles/google/src/lfx_google/components/google/google_search_api_core.py
  • src/bundles/google/src/lfx_google/components/google/google_serper_api_core.py
  • src/bundles/google/src/lfx_google/extension.json
  • src/bundles/google/tests/test_google_component_regressions.py
  • src/bundles/google/tests/test_google_generative_ai_model.py
  • src/bundles/ibm/pyproject.toml
  • src/bundles/ibm/src/lfx_ibm/components/ibm/watsonx.py
  • src/bundles/ibm/src/lfx_ibm/components/ibm/watsonx_embeddings.py
  • src/bundles/ibm/src/lfx_ibm/extension.json
  • src/bundles/lfx-bundles/README.md
  • src/bundles/lfx-bundles/pyproject.toml
  • src/bundles/lfx-bundles/src/lfx_bundles/codeagents/starter_projects/Structured Data Analysis Agent.json
  • src/bundles/lfx-bundles/src/lfx_bundles/youtube/starter_projects/Youtube Analysis.json
  • src/bundles/lfx-bundles/tests/integration/test_cometapi_integration.py
  • src/bundles/lfx-bundles/tests/test_baidu_qianfan.py
  • src/bundles/lfx-bundles/tests/test_composio_components.py
  • src/bundles/lfx-bundles/tests/test_connector_ssrf.py
  • src/bundles/lfx-bundles/tests/test_cuga_session_id_fallback.py
  • src/bundles/lfx-bundles/tests/test_faiss_vector_store_component.py
  • src/bundles/lfx-bundles/tests/test_gitextractor_ssrf.py
  • src/bundles/lfx-bundles/tests/test_huggingface.py
  • src/bundles/lfx-bundles/tests/test_mem0_component.py
  • src/bundles/lfx-bundles/tests/test_memory_flow_id_scoping.py
  • src/bundles/lfx-bundles/tests/test_nvidia_component.py
  • src/bundles/lfx-bundles/tests/test_opensearch_auth.py
  • src/bundles/lfx-bundles/tests/test_ssrf_guarded_url_components.py
  • src/bundles/lfx-bundles/tests/test_twelvelabs_components.py
  • src/bundles/nextplaid/pyproject.toml
  • src/bundles/nextplaid/src/lfx_nextplaid/extension.json
  • src/bundles/ollama/README.md
  • src/bundles/ollama/pyproject.toml
  • src/bundles/ollama/src/lfx_ollama/__init__.py
  • src/bundles/ollama/src/lfx_ollama/components/__init__.py
  • src/bundles/ollama/src/lfx_ollama/components/ollama/__init__.py
  • src/bundles/ollama/src/lfx_ollama/components/ollama/ollama.py
  • src/bundles/ollama/src/lfx_ollama/components/ollama/ollama_embeddings.py
  • src/bundles/ollama/src/lfx_ollama/extension.json
  • src/bundles/ollama/tests/integration/test_chatollama_integration.py
  • src/bundles/ollama/tests/test_ollama_bundle.py
  • src/bundles/openai-compatible/pyproject.toml
  • src/bundles/openai-compatible/src/lfx_openai_compatible/extension.json
  • src/bundles/openai/pyproject.toml
  • src/bundles/openai/src/lfx_openai/extension.json
  • src/bundles/oracle/pyproject.toml
  • src/bundles/oracle/src/lfx_oracle/extension.json
  • src/bundles/paddle/pyproject.toml
  • src/bundles/toolguard/README.md
  • src/bundles/toolguard/pyproject.toml
  • src/bundles/toolguard/src/lfx_toolguard/__init__.py
  • src/bundles/toolguard/src/lfx_toolguard/components/__init__.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/__init__.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/__init__.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/guard_sync_utils.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/guarded_tool.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/llm_wrapper.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/module_utils.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies/tool_invoker.py
  • src/bundles/toolguard/src/lfx_toolguard/components/models_and_agents/policies_component.py
  • src/bundles/toolguard/src/lfx_toolguard/extension.json
  • src/bundles/toolguard/tests/test_policies_component.py
  • src/bundles/toolguard/tests/test_policies_component_full.py
  • src/bundles/valkey/pyproject.toml
  • src/bundles/valkey/src/lfx_valkey/extension.json
  • src/bundles/vllm/pyproject.toml
  • src/bundles/vllm/src/lfx_vllm/extension.json
  • src/frontend/.secrets.baseline
  • src/frontend/jest.setup.js
  • src/frontend/package.json
  • src/frontend/playwright.config.ts
  • src/frontend/playwright.live.config.ts
  • src/frontend/src/App.css
  • src/frontend/src/CustomNodes/GenericNode/__tests__/restore-dismissed-node.test.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/ListSelectionComponent/__tests__/listSelection.a11y.test.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/ListSelectionComponent/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeDialogComponent/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeInputField/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeOutputfield/__tests__/InspectButton.a11y.test.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeOutputfield/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/__tests__/NodeStatus.a11y.test.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/NodeStatus/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/outputModal/__tests__/outputModal.a11y.test.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/components/outputModal/index.tsx
  • src/frontend/src/CustomNodes/GenericNode/index.tsx
  • src/frontend/src/CustomNodes/NoteNode/NoteToolbarComponent/index.tsx
  • src/frontend/src/CustomNodes/NoteNode/__tests__/note-node-contrast.test.tsx
  • src/frontend/src/CustomNodes/NoteNode/components/select-items.tsx
  • src/frontend/src/CustomNodes/NoteNode/index.tsx
  • src/frontend/src/CustomNodes/helpers/__tests__/mutate-template.test.ts
  • src/frontend/src/CustomNodes/helpers/mutate-template.ts
  • src/frontend/src/alerts/__tests__/toast-dismiss.a11y.test.tsx
  • src/frontend/src/alerts/displayArea/__tests__/displayArea.a11y.test.tsx
  • src/frontend/src/alerts/displayArea/index.tsx
  • src/frontend/src/alerts/error/index.tsx
  • src/frontend/src/alerts/notice/index.tsx
  • src/frontend/src/alerts/success/index.tsx
  • src/frontend/src/components/authorization/authAdminGuard/index.tsx
  • src/frontend/src/components/authorization/playgroundAuthGate/__tests__/playground-auth-gate.test.tsx
  • src/frontend/src/components/authorization/playgroundAuthGate/authState.ts
  • src/frontend/src/components/authorization/playgroundAuthGate/index.tsx
  • src/frontend/src/components/common/ImageViewer/__tests__/imageViewer.a11y.test.tsx
  • src/frontend/src/components/common/ImageViewer/index.tsx
  • src/frontend/src/components/common/crashErrorComponent/__tests__/crashErrorComponent.a11y.test.tsx
  • src/frontend/src/components/common/crashErrorComponent/index.tsx
  • src/frontend/src/components/common/radixAriaControlsFix/index.tsx
  • src/frontend/src/components/common/renderIconComponent/__tests__/renderIcons.a11y.test.tsx
  • src/frontend/src/components/common/renderIconComponent/components/renderKey/__tests__/renderKey.a11y.test.tsx
  • src/frontend/src/components/common/renderIconComponent/components/renderKey/index.tsx
  • src/frontend/src/components/common/renderIconComponent/index.tsx
  • src/frontend/src/components/common/shadTooltipComponent/__tests__/shadTooltip.a11y.test.tsx
  • src/frontend/src/components/common/shadTooltipComponent/__tests__/shadTooltip.test.tsx
  • src/frontend/src/components/common/shadTooltipComponent/index.tsx
  • src/frontend/src/components/common/stringReaderComponent/index.tsx
  • src/frontend/src/components/core/GlobalVariableModal/GlobalVariableModal.tsx
  • src/frontend/src/components/core/GlobalVariableModal/__tests__/GlobalVariableModal.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/__tests__/appHeader.a11y.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/__tests__/appHeader.notificationDropdown.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/AccountMenu/__tests__/account-menu.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/AccountMenu/index.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/__tests__/FlowMenu.spec.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/FlowMenu/index.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/ThemeButtons/__tests__/ThemeButtons.a11y.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/ThemeButtons/index.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/__tests__/langflow-counts.test.tsx
  • src/frontend/src/components/core/appHeaderComponent/components/langflow-counts.tsx
  • src/frontend/src/components/core/appHeaderComponent/index.tsx
  • src/frontend/src/components/core/assistantPanel/assistant-panel.tsx
  • src/frontend/src/components/core/assistantPanel/assistant-panel.types.ts
  • src/frontend/src/components/core/assistantPanel/components/__tests__/assistant-build-tasks.test.tsx
  • src/frontend/src/components/core/assistantPanel/components/__tests__/assistant-error-details.test.tsx
  • src/frontend/src/components/core/assistantPanel/components/__tests__/assistant-flow-preview-gating.test.tsx
  • src/frontend/src/components/core/assistantPanel/components/__tests__/assistant-message.test.tsx
  • src/frontend/src/components/core/assistantPanel/components/__tests__/assistant-revert-action.test.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-build-tasks.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-empty-state.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-error-details.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-flow-preview.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-message-body.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-message.tsx
  • src/frontend/src/components/core/assistantPanel/components/assistant-revert-action.tsx
  • src/frontend/src/components/core/assistantPanel/helpers/__tests__/apply-flow-proposal.test.ts
  • src/frontend/src/components/core/assistantPanel/helpers/__tests__/apply-flow-update.test.ts
  • src/frontend/src/components/core/assistantPanel/helpers/__tests__/session-storage.test.ts
  • src/frontend/src/components/core/assistantPanel/helpers/apply-flow-proposal.ts
  • src/frontend/src/components/core/assistantPanel/helpers/apply-flow-update.ts
  • src/frontend/src/components/core/assistantPanel/helpers/assistant-event-mappers.ts
  • src/frontend/src/components/core/assistantPanel/helpers/session-storage.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/history-storage.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat-build-tasks.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat-minimize-on-apply.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat-plan-refining.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat-progress.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat-skip-all.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-chat.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/__tests__/use-assistant-revert.test.ts
  • src/frontend/src/components/core/assistantPanel/hooks/command-ack.ts
  • src/frontend/src/components/core/assistantPanel/hooks/history-storage.ts
  • src/frontend/src/components/core/assistantPanel/hooks/use-assistant-chat.ts
  • src/frontend/src/components/core/assistantPanel/hooks/use-assistant-chat.types.ts
  • src/frontend/src/components/core/assistantPanel/hooks/use-assistant-revert.ts
  • src/frontend/src/components/core/canvasControlsComponent/CanvasControlButton.tsx
  • src/frontend/src/components/core/canvasControlsComponent/CanvasControlsDropdown.tsx
  • src/frontend/src/components/core/canvasControlsComponent/DropdownControlButton.tsx
  • src/frontend/src/components/core/canvasControlsComponent/HelpDropdownView.tsx
  • src/frontend/src/components/core/canvasControlsComponent/__tests__/CanvasControlButton.test.tsx
  • src/frontend/src/components/core/canvasControlsComponent/__tests__/CanvasControlsDropdown.test.tsx
  • src/frontend/src/components/core/canvasControlsComponent/__tests__/DropdownControlButton.test.tsx
  • src/frontend/src/components/core/canvasControlsComponent/__tests__/Dropdowns.test.tsx
  • src/frontend/src/components/core/dataTableTabComponent/__tests__/index.test.tsx
  • src/frontend/src/components/core/dataTableTabComponent/index.tsx
  • src/frontend/src/components/core/dropdownComponent/__tests__/dropdownAccessibleName.test.tsx
  • src/frontend/src/components/core/dropdownComponent/__tests__/dropdownValueReset.test.tsx
  • src/frontend/src/components/core/dropdownComponent/components/DropdownOptionsList.tsx
  • src/frontend/src/components/core/dropdownComponent/components/DropdownSearchInput.tsx
  • src/frontend/src/components/core/dropdownComponent/components/DropdownTrigger.tsx
  • src/frontend/src/components/core/dropdownComponent/helpers/dropdown-search.ts
  • src/frontend/src/components/core/dropdownComponent/hooks/useDropdownMutations.ts
  • src/frontend/src/components/core/dropdownComponent/hooks/useDropdownOptions.ts
  • src/frontend/src/components/core/dropdownComponent/index.tsx
  • src/frontend/src/components/core/editFlowSettingsComponent/__tests__/editFlowSettingsComponent.test.tsx
  • src/frontend/src/components/core/editFlowSettingsComponent/index.tsx
  • src/frontend/src/components/core/flowBuilderWelcome/__tests__/flow-builder-welcome.test.tsx
  • src/frontend/src/components/core/flowBuilderWelcome/flow-builder-welcome.tsx
  • src/frontend/src/components/core/flowSettingsComponent/__tests__/FlowSettingsComponent.spec.tsx
  • src/frontend/src/components/core/flowSettingsComponent/index.tsx
  • src/frontend/src/components/core/flowToolbarComponent/components/deploy-choice-dialog/use-deploy-choice-dialog-state.ts
  • src/frontend/src/components/core/flowToolbarComponent/components/deploy-dropdown.tsx
  • src/frontend/src/components/core/flowToolbarComponent/components/playground-button.tsx
  • src/frontend/src/components/core/folderSidebarComponent/components/sideBarFolderButtons/__tests__/project-create-error.test.tsx
  • src/frontend/src/components/core/folderSidebarComponent/components/sideBarFolderButtons/__tests__/rename-focus-restore.test.tsx
  • src/frontend/src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/input-edit-folder-name.tsx
  • src/frontend/src/components/core/folderSidebarComponent/components/sideBarFolderButtons/components/select-options.tsx
  • src/frontend/src/components/core/folderSidebarComponent/components/sideBarFolderButtons/index.tsx
  • src/frontend/src/components/core/globalVariableDeleteConfirmation/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/__tests__/aria-labelledby.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/__tests__/accordionPromptComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/components/PromptEditableArea.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/helpers/__tests__/prompt-highlight.test.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/helpers/generate-unique-variable-name.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/helpers/prompt-highlight.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/hooks/usePromptDomSync.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/hooks/usePromptValidation.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/accordionPromptComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/codeAreaComponent/__tests__/codeAreaComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/codeAreaComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/copyFieldAreaComponent/__tests__/copyFieldArea.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/copyFieldAreaComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/dbProviderInputComponent/__tests__/dbProviderInputComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/dbProviderInputComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/durationComponent/__tests__/durationComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/durationComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/floatComponent/__tests__/FloatComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/floatComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/popover/__tests__/optionBadge.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/popover/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/popoverObject/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/__tests__/InputFileComponent.selection-race.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/__tests__/InputFileComponent.stale-list.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputGlobalComponent/__tests__/index.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputGlobalComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputListComponent/components/button-input-list.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/inputListComponent/components/delete-button-input-list.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/intComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/linkComponent/__tests__/linkComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/linkComponent/__tests__/linkComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/linkComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/mcpComponent/__tests__/McpComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/mcpComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/__tests__/ModelInputComponent.disconnected-provider.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/__tests__/ModelInputComponent.revalidate-after-autoselect.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/__tests__/ModelInputComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/components/ModelDropdownFooter.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/components/ModelInputStates.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/components/ModelList.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/components/ModelTrigger.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/components/__tests__/ModelList.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/helpers/__tests__/build-grouped-options.test.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/helpers/build-grouped-options.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/helpers/derive-selected-model.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/hooks/__tests__/useAutoSelectModel.test.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/hooks/useAutoSelectModel.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/hooks/useRefreshAfterProviderClose.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/modelInputComponent/types.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/mustachePromptComponent/__tests__/mustachePromptComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/mustachePromptComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/promptComponent/__tests__/promptComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/promptComponent/__tests__/promptComponent.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/promptComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/queryComponent/__tests__/queryComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/queryComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/__tests__/slider-value-edit.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/sliderComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/tabComponent/__tests__/tabComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/tabComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/__tests__/tableComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/hooks/__tests__/use-ag-grid-accessibility-patch.test.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/hooks/use-ag-grid-accessibility-patch.ts
  • src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/textAreaComponent/__tests__/textAreaComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/textAreaComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/toggleShadComponent/__tests__/toggleShadComponent.a11y.test.tsx
  • src/frontend/src/components/core/parameterRenderComponent/components/toggleShadComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/index.tsx
  • src/frontend/src/components/core/parameterRenderComponent/types.ts
  • src/frontend/src/components/core/parameterRenderComponent/utils/__tests__/focus-command-list-on-open.test.ts
  • src/frontend/src/components/core/parameterRenderComponent/utils/focus-command-list-on-open.ts
  • src/frontend/src/components/core/pdfViewer/__tests__/pdfViewer.a11y.test.tsx
  • src/frontend/src/components/core/pdfViewer/index.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/__tests__/session-logs-modal.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/__tests__/session-more-menu.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/__tests__/session-selector.a11y.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/__tests__/session-selector.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/chat-header.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/chat-sidebar.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/session-logs-modal.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/session-more-menu.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/components/session-selector.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/hooks/use-session-more-menu-handlers.ts
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-header/types/chat-header.types.ts
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/__tests__/messages.a11y.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/components/__tests__/chat-message-actions.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/components/__tests__/chat-message.test.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/components/bot-message.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/components/user-message.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/messages.tsx
  • src/frontend/src/components/core/playgroundComponent/chat-view/chat-messages/utils/sort-sender-messages.ts
  • src/frontend/src/components/core/playgroundComponent/sliding-container/components/__tests__/flow-page-sliding-container-escape.test.tsx
  • src/frontend/src/components/core/playgroundComponent/sliding-container/components/flow-page-sliding-container.tsx
  • src/frontend/src/components/ui/__tests__/button.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/button.test.tsx
  • src/frontend/src/components/ui/__tests__/calendar.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/checkbox.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/command.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/context-menu.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/dialog.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/dialog.test.tsx
  • src/frontend/src/components/ui/__tests__/label.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/sidebar.a11y.test.tsx
  • src/frontend/src/components/ui/__tests__/simple-sidebar.test.tsx
  • src/frontend/src/components/ui/__tests__/stop-canvas-key-propagation.test.tsx
  • src/frontend/src/components/ui/__tests__/textAnimation.a11y.test.tsx
  • src/frontend/src/components/ui/button.tsx
  • src/frontend/src/components/ui/checkbox.tsx
  • src/frontend/src/components/ui/command.tsx
  • src/frontend/src/components/ui/dialog-with-no-close.tsx
  • src/frontend/src/components/ui/dialog.tsx
  • src/frontend/src/components/ui/empty-state.tsx
  • src/frontend/src/components/ui/popover.tsx
  • src/frontend/src/components/ui/select-custom.tsx
  • src/frontend/src/components/ui/select.tsx
  • src/frontend/src/components/ui/simple-sidebar.tsx
  • src/frontend/src/components/ui/stop-canvas-key-propagation.ts
  • src/frontend/src/components/ui/tabs-button.tsx
  • src/frontend/src/components/ui/textAnimation.tsx
  • src/frontend/src/components/ui/use-inert-for-aria-hidden.ts
  • src/frontend/src/constants/__tests__/dbProviderConstants.test.ts
  • src/frontend/src/constants/constants.ts
  • src/frontend/src/constants/dbProviderConstants.ts
  • src/frontend/src/contexts/__tests__/permissionsContext.test.tsx
  • src/frontend/src/contexts/permissionsContext.tsx
  • src/frontend/src/controllers/API/api.tsx
  • src/frontend/src/controllers/API/helpers/constants.ts
  • src/frontend/src/controllers/API/queries/agentic/index.ts
  • src/frontend/src/controllers/API/queries/agentic/types.ts
  • src/frontend/src/controllers/API/queries/agentic/use-post-assist-stream.ts
  • src/frontend/src/controllers/API/queries/config/__tests__/use-get-config.test.ts
  • src/frontend/src/controllers/API/queries/config/use-get-config.ts
  • src/frontend/src/controllers/API/queries/file-management/__tests__/use-post-upload-file.test.ts
  • src/frontend/src/controllers/API/queries/file-management/use-post-upload-file.ts
  • src/frontend/src/controllers/API/queries/folders/use-get-folders.ts
  • src/frontend/src/controllers/API/queries/knowledge-bases/use-create-knowledge-base.ts
  • src/frontend/src/controllers/API/queries/mcp/__tests__/use-get-mcp-servers.test.ts
  • src/frontend/src/controllers/API/queries/mcp/__tests__/use-patch-mcp-server.test.ts
  • src/frontend/src/controllers/API/queries/mcp/use-add-mcp-server.ts
  • src/frontend/src/controllers/API/queries/mcp/use-delete-mcp-server.ts
  • src/frontend/src/controllers/API/queries/mcp/use-get-mcp-servers.ts
  • src/frontend/src/controllers/API/queries/mcp/use-patch-flows-mcp.ts
  • src/frontend/src/controllers/API/queries/mcp/use-patch-install-mcp.ts
  • src/frontend/src/controllers/API/queries/mcp/use-patch-mcp-server.ts
  • src/frontend/src/controllers/API/queries/memories/__tests__/memories-mutation-hooks-cache.test.ts
  • src/frontend/src/controllers/API/queries/memories/mappers.ts
  • src/frontend/src/controllers/API/queries/memories/types.ts
  • src/frontend/src/controllers/API/queries/variables/__tests__/use-global-variable-upsert.test.ts
  • src/frontend/src/controllers/API/queries/variables/index.ts
  • src/frontend/src/controllers/API/queries/variables/use-global-variable-upsert.ts
  • src/frontend/src/controllers/API/queries/vertex/use-post-retrieve-vertex-order.tsx
  • src/frontend/src/controllers/API/services/__tests__/request-processor.test.ts
  • src/frontend/src/controllers/API/services/request-processor.ts
  • src/frontend/src/customization/components/__tests__/custom-auth-seams.test.tsx
  • src/frontend/src/customization/components/__tests__/custom-linkComponent.test.tsx
  • src/frontend/src/customization/components/__tests__/custom-parameter.test.tsx
  • src/frontend/src/customization/components/__tests__/custom-resource-share-entrypoints.test.ts
  • src/frontend/src/customization/components/custom-admin-page-menu-item.tsx
  • src/frontend/src/customization/components/custom-dialog-content-without-fixed.tsx
  • src/frontend/src/customization/components/custom-linkComponent.tsx
  • src/frontend/src/customization/components/custom-login-brand-title.tsx
  • src/frontend/src/customization/components/custom-login-form-gate.tsx
  • src/frontend/src/customization/components/custom-login-signup-prompt.tsx
  • src/frontend/src/customization/components/custom-login-sso-options.tsx
  • src/frontend/src/customization/components/custom-parameter.tsx
  • src/frontend/src/customization/components/custom-registration-data.tsx
  • src/frontend/src/customization/components/custom-resource-share-action.tsx
  • src/frontend/src/customization/components/custom-store-button.tsx
  • src/frontend/src/customization/components/custom-store-sidebar.tsx
  • src/frontend/src/customization/components/custom-telemetry-toggle.tsx
  • src/frontend/src/customization/components/custom-variable-share-action.tsx
  • src/frontend/src/customization/utils/custom-auth-routes-store.tsx
  • src/frontend/src/customization/utils/custom-routes-store-pages.tsx
  • src/frontend/src/customization/utils/custom-routes-store.tsx
  • src/frontend/src/customization/utils/custom-should-skip-auth-refresh.ts
  • src/frontend/src/hooks/flows/__tests__/use-autosave-flow.test.ts
  • src/frontend/src/hooks/flows/__tests__/use-flow-events.test.ts
  • src/frontend/src/hooks/flows/__tests__/use-save-flow.test.ts
  • src/frontend/src/hooks/flows/use-autosave-flow.ts
  • src/frontend/src/hooks/flows/use-flow-events.ts
  • src/frontend/src/hooks/use-refresh-model-inputs.ts
  • src/frontend/src/icons/freezeAll/freezeAll.jsx
  • src/frontend/src/locales/de.json
  • src/frontend/src/locales/en.json
  • src/frontend/src/locales/es.json
  • src/frontend/src/locales/fr.json
  • src/frontend/src/locales/ja.json
  • src/frontend/src/locales/pt.json
  • src/frontend/src/locales/zh-Hans.json
  • src/frontend/src/modals/IOModal/__tests__/playground-modal.a11y.test.tsx
  • src/frontend/src/modals/IOModal/components/IOFieldView/components/__tests__/session-selector.a11y.test.tsx
  • src/frontend/src/modals/IOModal/components/IOFieldView/components/key-pair-input-with-variables.tsx
  • src/frontend/src/modals/IOModal/components/IOFieldView/components/key-pair-input.tsx
  • src/frontend/src/modals/IOModal/components/IOFieldView/components/session-selector.tsx
  • src/frontend/src/modals/IOModal/components/chatView/__tests__/message-ordering-webkit.test.ts
  • src/frontend/src/modals/IOModal/components/chatView/chatInput/components/voice-assistant/components/audio-settings/audio-settings-dialog.tsx
  • src/frontend/src/modals/IOModal/components/chatView/chatMessage/__tests__/chat-message-actions.test.tsx
  • src/frontend/src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx
  • src/frontend/src/modals/IOModal/components/chatView/components/chat-view.tsx
  • src/frontend/src/modals/IOModal/components/chatView/helpers/sort-sender-messages.ts
  • src/frontend/src/modals/IOModal/components/session-view.tsx
  • src/frontend/src/modals/IOModal/playground-modal.tsx
  • src/frontend/src/modals/__tests__/prompt-modal-parity.test.tsx
  • src/frontend/src/modals/addMcpServerModal/__tests__/addMcpServerModal.test.tsx
  • src/frontend/src/modals/addMcpServerModal/index.tsx
  • src/frontend/src/modals/apiModal/__tests__/apiModal.a11y.test.tsx
  • src/frontend/src/modals/baseModal/index.tsx
  • src/frontend/src/modals/confirmationModal/index.tsx
  • src/frontend/src/modals/createMemoryModal/__tests__/useCreateMemoryModal.test.tsx
  • src/frontend/src/modals/createMemoryModal/index.tsx
  • src/frontend/src/modals/createMemoryModal/useCreateMemoryModal.ts
  • src/frontend/src/modals/deleteConfirmationModal/index.tsx
  • src/frontend/src/modals/editNodeModal/__tests__/editNodeModal.a11y.test.tsx
  • src/frontend/src/modals/fileManagerModal/components/filesContextMenuComponent/index.tsx
  • src/frontend/src/modals/fileManagerModal/index.tsx
  • src/frontend/src/modals/flowSettingsModal/__tests__/flowSettingsModal.a11y.test.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/KnowledgeBaseUploadModal.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/__tests__/KnowledgeBaseUploadModal.test.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/components/FilesPanel.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/components/MetadataEditor.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/components/StepConfiguration.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/components/StepReview.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/components/__tests__/MetadataEditor.test.tsx
  • src/frontend/src/modals/knowledgeBaseUploadModal/hooks/useKnowledgeBaseForm.ts
  • src/frontend/src/modals/knowledgeBaseUploadModal/types.ts
  • src/frontend/src/modals/modelProviderModal/__tests__/DisconnectWarning.test.tsx
  • src/frontend/src/modals/modelProviderModal/__tests__/ProviderListItem.test.tsx
  • src/frontend/src/modals/modelProviderModal/__tests__/modelProviderModal.a11y.test.tsx
  • src/frontend/src/modals/modelProviderModal/__tests__/useProviderConfigurationDisconnect.test.tsx
  • src/frontend/src/modals/modelProviderModal/components/DisconnectWarning.tsx
  • src/frontend/src/modals/modelProviderModal/components/ProviderConfigurationForm.tsx
  • src/frontend/src/modals/modelProviderModal/components/ProviderListItem.tsx
  • src/frontend/src/modals/modelProviderModal/hooks/useProviderConfiguration.ts
  • src/frontend/src/modals/modelProviderModal/index.tsx
  • src/frontend/src/modals/mustachePromptModal/__tests__/mustachePromptModal.test.tsx
  • src/frontend/src/modals/mustachePromptModal/index.tsx
  • src/frontend/src/modals/promptEditorModal/__tests__/strategies.test.ts
  • src/frontend/src/modals/promptEditorModal/index.tsx
  • src/frontend/src/modals/promptEditorModal/strategies.ts
  • src/frontend/src/modals/promptEditorModal/types.ts
  • src/frontend/src/modals/promptModal/index.tsx
  • src/frontend/src/modals/promptModal/utils/__tests__/var-highlight-html.test.ts
  • src/frontend/src/modals/promptModal/utils/var-highlight-html.tsx
  • src/frontend/src/modals/shareModal/__tests__/shareModal.a11y.test.tsx
  • src/frontend/src/modals/stepperModal/StepperModal.tsx
  • src/frontend/src/modals/stepperModal/StepperProvider.tsx
  • src/frontend/src/modals/stepperModal/hooks/__tests__/useStepperState.test.tsx
  • src/frontend/src/modals/stepperModal/hooks/useStepperState.ts
  • src/frontend/src/modals/stepperModal/index.ts
  • src/frontend/src/modals/stepperModal/types.ts
  • src/frontend/src/modals/templatesModal/__tests__/templatesModal.a11y.test.tsx
  • src/frontend/src/modals/templatesModal/components/GetStartedComponent/catalog-policy-empty-state.test.tsx
  • src/frontend/src/modals/templatesModal/components/GetStartedComponent/index.tsx
  • src/frontend/src/modals/templatesModal/components/TemplateContentComponent/catalog-policy-empty-state.test.tsx
  • src/frontend/src/modals/templatesModal/components/TemplateContentComponent/index.tsx
  • src/frontend/src/modals/templatesModal/components/TemplateGetStartedCardComponent/__tests__/templateGetStartedCard.a11y.test.tsx
  • src/frontend/src/modals/templatesModal/components/TemplateGetStartedCardComponent/index.tsx
  • src/frontend/src/modals/templatesModal/index.tsx
  • src/frontend/src/modals/textModal/components/textEditorArea/index.tsx
  • src/frontend/src/modals/textModal/index.tsx
  • src/frontend/src/modals/updateComponentModal/__tests__/index.test.tsx
  • src/frontend/src/modals/updateComponentModal/index.tsx
  • src/frontend/src/modals/userManagementModal/index.tsx
  • src/frontend/src/pages/AdminPage/LoginPage/index.tsx
  • src/frontend/src/pages/AdminPage/index.tsx
  • src/frontend/src/pages/DeleteAccountPage/index.tsx
  • src/frontend/src/pages/FlowPage/__tests__/save-before-leaving.test.ts
  • src/frontend/src/pages/FlowPage/components/InspectionPanel/__tests__/InspectionPanelParameterRow.test.tsx
  • src/frontend/src/pages/FlowPage/components/InspectionPanel/components/InspectionPanelParameterRow.tsx
  • src/frontend/src/pages/FlowPage/components/MemoriesMainContent/components/MemoryDetails.tsx
  • src/frontend/src/pages/FlowPage/components/MemoriesMainContent/components/MemoryDetailsHeader.tsx
  • src/frontend/src/pages/FlowPage/components/PageComponent/__tests__/is-event-from-outside-element.test.tsx
  • src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx
  • src/frontend/src/pages/FlowPage/components/PageComponent/utils/__tests__/get-node-aria-label.test.ts
  • src/frontend/src/pages/FlowPage/components/PageComponent/utils/get-node-aria-label.ts
  • src/frontend/src/pages/FlowPage/components/PageComponent/utils/is-event-from-outside-element.ts
  • src/frontend/src/pages/FlowPage/components/UpdateAllComponents/__tests__/index.test.tsx
  • src/frontend/src/pages/FlowPage/components/UpdateAllComponents/index.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/bundleItems.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/categoryDisclouse.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/emptySearchComponent.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/featureTogglesComponent.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/searchConfigTrigger.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/searchInput.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarDraggableComponent.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarFilterComponent.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarFooterButtons.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarHeader.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarHeader.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarSegmentedNav.a11y.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/__tests__/sidebarSegmentedNav.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/bundleItems.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/categoryDisclouse.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/emptySearchComponent.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/featureTogglesComponent.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/searchConfigTrigger.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/searchInput.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarDraggableComponent.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFilterComponent.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarFooterButtons.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarHeader.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/components/sidebarSegmentedNav.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/context/SearchContext.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/__tests__/use-sidebar-hotkeys.test.tsx
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/useDebouncedSearch.ts
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/useSegmentedSidebarPanel.ts
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/useSidebarFilters.ts
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/useSidebarHotkeys.ts
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/hooks/useSidebarSearch.ts
  • src/frontend/src/pages/FlowPage/components/flowSidebarComponent/index.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/__tests__/config-transition.test.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/components/ToolbarButtonRow.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/components/ToolbarMoreMenu.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/components/__tests__/toolbar-button.test.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/components/toolbar-button.tsx
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/helpers/__tests__/build-toolbar-action-map.test.ts
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/helpers/build-toolbar-action-map.ts
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/hooks/use-toolbar-node-state.ts
  • src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
  • src/frontend/src/pages/FlowPage/hooks/__tests__/use-load-flow-for-route.test.ts
  • src/frontend/src/pages/FlowPage/index.tsx
  • src/frontend/src/pages/FlowPage/save-before-leaving.ts
  • src/frontend/src/pages/LoginPage/__tests__/LoginPage.a11y.test.tsx
  • src/frontend/src/pages/LoginPage/components/__tests__/dot-grid-background.test.tsx
  • src/frontend/src/pages/LoginPage/components/dot-grid-background.tsx
  • src/frontend/src/pages/LoginPage/index.tsx
  • src/frontend/src/pages/MainPage/entities/index.tsx
  • src/frontend/src/pages/MainPage/pages/deploymentsPage/__tests__/create-mode.test.tsx
  • src/frontend/src/pages/MainPage/pages/deploymentsPage/components/deployments-empty-state.tsx
  • src/frontend/src/pages/MainPage/pages/deploymentsPage/components/deployments-table.tsx
  • src/frontend/src/pages/MainPage/pages/deploymentsPage/contexts/deployment-stepper-context.tsx
  • src/frontend/src/pages/MainPage/pages/filesPage/components/FilesTab.tsx
  • src/frontend/src/pages/MainPage/pages/filesPage/components/__tests__/FilesTab.test.tsx
  • src/frontend/src/pages/MainPage/pages/homePage/__tests__/project-owner-label.test.tsx
  • src/frontend/src/pages/MainPage/pages/homePage/hooks/useMcpServer.ts
  • src/frontend/src/pages/MainPage/pages/homePage/index.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/components/IngestionRunDetailModal.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/components/KnowledgeBaseDrawer.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/components/KnowledgeBaseEmptyState.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/components/KnowledgeBasesTab.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/config/__tests__/knowledgeBaseColumns.test.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/config/knowledgeBaseColumns.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/index.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/sourceChunksPage/SourceChunksPage.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/sourceChunksPage/components/ChunkCard.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/sourceChunksPage/components/ChunksMetadataFilter.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/sourceChunksPage/components/MetadataCombobox.tsx
  • src/frontend/src/pages/MainPage/pages/knowledgePage/utils/backendMetadata.ts
  • src/frontend/src/pages/Playground/__tests__/publicPlaygroundAccess.test.ts
  • src/frontend/src/pages/Playground/index.tsx
  • src/frontend/src/pages/Playground/publicPlaygroundAccess.ts
  • src/frontend/src/pages/SettingsPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/__tests__/DBProvidersPage.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/components/BooleanFieldRow.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/components/ProviderConfigurationPanel.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/components/ProviderListItem.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/components/TextFieldRow.tsx
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/helpers/build-backend-config-payload.ts
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/hooks/useDBProviderActions.ts
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/hooks/useDBProviderFields.ts
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/hooks/useDBProviderVariables.ts
  • src/frontend/src/pages/SettingsPage/pages/DBProvidersPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/__tests__/GeneralPage.a11y.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/LanguageForm/__tests__/LanguageForm.a11y.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/ProfilePictureForm/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/GeneralPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/__tests__/GlobalVariablesPage.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/__tests__/variableAccess.test.ts
  • src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/variableAccess.ts
  • src/frontend/src/pages/SettingsPage/pages/MCPServersPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/McpClientPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/ShortcutsPage/EditShortcutButton/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/ShortcutsPage/__tests__/EditShortcutButton.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/ShortcutsPage/__tests__/ShortcutsPage.test.tsx
  • src/frontend/src/pages/SettingsPage/pages/StoreApiKeyPage/components/StoreApiKeyForm.tsx
  • src/frontend/src/pages/SettingsPage/pages/StoreApiKeyPage/index.tsx
  • src/frontend/src/pages/SettingsPage/pages/messagesPage/components/headerMessages/__tests__/headerMessages.a11y.test.tsx
  • src/frontend/src/pages/SignUpPage/__tests__/SignUpPage.a11y.test.tsx
  • src/frontend/src/pages/SignUpPage/index.tsx
  • src/frontend/src/pages/StorePage/index.tsx
  • src/frontend/src/pages/ViewPage/index.tsx
  • src/frontend/src/routes.tsx
  • src/frontend/src/services/refresh-model-inputs.ts
  • src/frontend/src/shared/components/__tests__/response-complete-status.test.tsx
  • src/frontend/src/shared/components/response-complete-status.tsx
  • src/frontend/src/shared/hooks/__tests__/use-response-complete-cue.test.ts
  • src/frontend/src/shared/hooks/use-copy-to-clipboard.ts
  • src/frontend/src/shared/hooks/use-response-complete-cue.ts
  • src/frontend/src/stores/__tests__/flowStore.test.ts
  • src/frontend/src/stores/__tests__/utilityStore.test.ts
  • src/frontend/src/stores/flowStore.ts
  • src/frontend/src/stores/utilityStore.ts
  • src/frontend/src/style/ag-theme-shadcn.css
  • src/frontend/src/style/applies.css
  • src/frontend/src/style/classes.css
  • src/frontend/src/style/index.css
  • src/frontend/src/types/api/index.ts
  • src/frontend/src/types/components/index.ts
  • src/frontend/src/types/flow/index.ts
  • src/frontend/src/types/global_variables/index.ts
  • src/frontend/src/types/zustand/flow/index.ts
  • src/frontend/src/types/zustand/folders/index.ts
  • src/frontend/src/types/zustand/utility/index.ts
  • src/frontend/src/utils/__tests__/cleanEdges.test.ts
  • src/frontend/src/utils/__tests__/dateTime.test.ts
  • src/frontend/src/utils/__tests__/fixtures/canonical_loop.json
  • src/frontend/src/utils/__tests__/fixtures/generated_component_loop.json
  • src/frontend/src/utils/__tests__/fixtures/variant_loop.json
  • src/frontend/src/utils/__tests__/layoutUtils.test.ts
  • src/frontend/src/utils/__tests__/loopApplySurvival.test.ts
  • src/frontend/src/utils/__tests__/project-display-name.test.ts
  • src/frontend/src/utils/__tests__/promptVariables.test.ts
  • src/frontend/src/utils/__tests__/sidebarBundles.test.ts
  • src/frontend/src/utils/dateTime.ts
  • src/frontend/src/utils/layoutUtils.ts
  • src/frontend/src/utils/model-node-helpers.ts
  • src/frontend/src/utils/project-display-name.ts
  • src/frontend/src/utils/promptVariables.ts
  • src/frontend/src/utils/reactflowUtils.ts
  • src/frontend/src/utils/styleUtils.ts
  • src/frontend/tests/a11y/README.md
  • src/frontend/tests/a11y/auth-pages.a11y.spec.ts
  • src/frontend/tests/a11y/baselines/chromium__settings-mcp-servers-actions-menu.json
  • src/frontend/tests/a11y/db-providers.a11y.spec.ts
  • src/frontend/tests/a11y/files.a11y.spec.ts
  • src/frontend/tests/a11y/global-variables.a11y.spec.ts
  • src/frontend/tests/a11y/helpers/knowledge-bases.fixtures.ts
  • src/frontend/tests/a11y/ibm-a11y-level1-criteria.md
  • src/frontend/tests/a11y/knowledge-bases.a11y.spec.ts
  • src/frontend/tests/a11y/mcp-client.a11y.spec.ts
  • src/frontend/tests/a11y/mcp-servers.a11y.spec.ts
  • src/frontend/tests/a11y/messages.a11y.spec.ts
  • src/frontend/tests/a11y/model-picker-canvas.a11y.spec.ts
  • src/frontend/tests/a11y/model-providers.a11y.spec.ts
  • src/frontend/tests/a11y/shared-playground.a11y.spec.ts
  • src/frontend/tests/a11y/static-routes.a11y.spec.ts
  • src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts
  • src/frontend/tests/core/features/auto-login-off.spec.ts
  • src/frontend/tests/core/features/bulk-delete-sessions.spec.ts
  • src/frontend/tests/core/features/chatInputOutputUser-shard-0.spec.ts
  • src/frontend/tests/core/features/componentHoverAdd.spec.ts
  • src/frontend/tests/core/features/composio.spec.ts
  • src/frontend/tests/core/features/default-system-prompt.spec.ts
  • src/frontend/tests/core/features/deployment-create.spec.ts
  • src/frontend/tests/core/features/deployment-edit.spec.ts
  • src/frontend/tests/core/features/filterSidebar.spec.ts
  • src/frontend/tests/core/features/flow-lock.spec.ts
  • src/frontend/tests/core/features/folder-deletion-integrity.spec.ts
  • src/frontend/tests/core/features/folders.spec.ts
  • src/frontend/tests/core/features/freeze-path.spec.ts
  • src/frontend/tests/core/features/freeze.spec.ts
  • src/frontend/tests/core/features/globalVariables.spec.ts
  • src/frontend/tests/core/features/keyboardComponentSearch.spec.ts
  • src/frontend/tests/core/features/note-color-picker.spec.ts
  • src/frontend/tests/core/features/playground.spec.ts
  • src/frontend/tests/core/features/right-click-dropdown.spec.ts
  • src/frontend/tests/core/features/shareable-playground-auth.spec.ts
  • src/frontend/tests/core/features/shareable-playground-persistence.spec.ts
  • src/frontend/tests/core/features/shareable-playground-token-display.spec.ts
  • src/frontend/tests/core/features/stop-building.spec.ts
  • src/frontend/tests/core/features/structured-response-agent.spec.ts
  • src/frontend/tests/core/features/token-usage.spec.ts
  • src/frontend/tests/core/features/traces.spec.ts
  • src/frontend/tests/core/features/tweaksTest.spec.ts
  • src/frontend/tests/core/features/user-flow-state-cleanup.spec.ts
  • src/frontend/tests/core/features/user-progress-track.spec.ts
  • src/frontend/tests/core/features/voice-assistant.spec.ts
  • src/frontend/tests/core/integrations/Basic Prompting.spec.ts
  • src/frontend/tests/core/integrations/Blog Writer.spec.ts
  • src/frontend/tests/core/integrations/Content Aggregator.spec.ts
  • src/frontend/tests/core/integrations/Custom Component Generator.spec.ts
  • src/frontend/tests/core/integrations/Document QA.spec.ts
  • src/frontend/tests/core/integrations/Instagram Copywriter.spec.ts
  • src/frontend/tests/core/integrations/Market Research.spec.ts
  • src/frontend/tests/core/integrations/Memory Chatbot.spec.ts
  • src/frontend/tests/core/integrations/Prompt Chaining.spec.ts
  • src/frontend/tests/core/integrations/Research Translation Loop.spec.ts
  • src/frontend/tests/core/integrations/SaaS Pricing.spec.ts
  • src/frontend/tests/core/integrations/Simple Agent Memory.spec.ts
  • src/frontend/tests/core/integrations/Simple Agent.spec.ts
  • src/frontend/tests/core/integrations/Social Media Agent.spec.ts
  • src/frontend/tests/core/integrations/Text Sentiment Analysis.spec.ts
  • src/frontend/tests/core/integrations/Travel Planning Agent.spec.ts
  • src/frontend/tests/core/integrations/Youtube Analysis.spec.ts
  • src/frontend/tests/core/integrations/assistant-panel-integration.spec.ts
  • src/frontend/tests/core/integrations/assistant-panel.spec.ts
  • src/frontend/tests/core/integrations/decisionFlow.spec.ts
  • src/frontend/tests/core/integrations/similarity.spec.ts
  • src/frontend/tests/core/integrations/starter-projects-autorun.spec.ts
  • src/frontend/tests/core/regression/general-bugs-remove-session-after-logout.spec.ts
  • src/frontend/tests/core/regression/generalBugs-prompt.spec.ts
  • src/frontend/tests/core/regression/generalBugs-shard-9.spec.ts
  • src/frontend/tests/core/regression/ime-input-composition.spec.ts
  • src/frontend/tests/core/regression/session-deletion-data-leakage.spec.ts
  • src/frontend/tests/core/unit/customEdgesComponent.spec.ts
  • src/frontend/tests/core/unit/dropdownComponent.spec.ts
  • src/frontend/tests/core/unit/fileUploadComponent.spec.ts
  • src/frontend/tests/core/unit/floatComponent.spec.ts
  • src/frontend/tests/core/unit/groupFalseError.spec.ts
  • src/frontend/tests/core/unit/inputComponent.spec.ts
  • src/frontend/tests/core/unit/permissionGatedAddComponent.spec.ts
  • src/frontend/tests/core/unit/sliderComponent.spec.ts
  • src/frontend/tests/core/unit/textAreaModalComponent.spec.ts
  • src/frontend/tests/extended/features/auto-save-off.spec.ts
  • src/frontend/tests/extended/features/autoLogin.spec.ts
  • src/frontend/tests/extended/features/bulk-actions.spec.ts
  • src/frontend/tests/extended/features/edit-flow-name.spec.ts
  • src/frontend/tests/extended/features/files-page.spec.ts
  • src/frontend/tests/extended/features/filterEdge-shard-1.spec.ts
  • src/frontend/tests/extended/features/integration-side-bar.spec.ts
  • src/frontend/tests/extended/features/langflowShortcuts.spec.ts
  • src/frontend/tests/extended/features/limit-file-size-upload.spec.ts
  • src/frontend/tests/extended/features/lock-flow.spec.ts
  • src/frontend/tests/extended/features/loop-component.spec.ts
  • src/frontend/tests/extended/features/mcp-server-starter-projects.spec.ts
  • src/frontend/tests/extended/features/mcp-server-tab.spec.ts
  • src/frontend/tests/extended/features/mcp-server.spec.ts
  • src/frontend/tests/extended/features/notifications.spec.ts
  • src/frontend/tests/extended/features/refresh-dropdown-list.spec.ts
  • src/frontend/tests/extended/features/sticky-notes-dimensions.spec.ts
  • src/frontend/tests/extended/features/sticky-notes.spec.ts
  • src/frontend/tests/extended/features/stop-button-playground.spec.ts
  • src/frontend/tests/extended/features/twoEdges.spec.ts
  • src/frontend/tests/extended/features/userSettings.spec.ts
  • src/frontend/tests/extended/features/validate-raise-errors-components.spec.ts
  • src/frontend/tests/extended/integrations/chatInputOutputUser-shard-1.spec.ts
  • src/frontend/tests/extended/integrations/chatInputOutputUser-shard-2.spec.ts
  • src/frontend/tests/extended/integrations/duckduckgo.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-agent-anthropic-integration.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-agent-images-playground.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-agent-sum-duplicate-message-playground.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-component-webhook-api-key-display.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-hidden-input-edges.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-move-flow-from-folder.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-reset-flow-run.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-shard-3836.spec.ts
  • src/frontend/tests/extended/regression/general-bugs-shard-3909.spec.ts
  • src/frontend/tests/extended/regression/generalBugs-shard-1.spec.ts
  • src/frontend/tests/extended/regression/generalBugs-shard-10.spec.ts
  • src/frontend/tests/extended/regression/generalBugs-shard-11.spec.ts
  • src/frontend/tests/extended/regression/generalBugs-shard-3.spec.ts
  • src/frontend/tests/extended/regression/generalBugs-shard-7.spec.ts
  • src/frontend/tests/fixtures.ts
  • src/frontend/tests/fixtures/mcp-loopback-server.py
  • src/frontend/tests/fixtures/openai-compatible-server.mjs
  • src/frontend/tests/live/llm-provider-smoke.spec.ts
  • src/frontend/tests/utils/add-flow-to-test-on-empty-langflow.ts
  • src/frontend/tests/utils/add-legacy-components.ts
  • src/frontend/tests/utils/add-new-user-and-loggin.ts
  • src/frontend/tests/utils/adjust-screen-view.ts
  • src/frontend/tests/utils/auth/manage-users-via-api.ts
  • src/frontend/tests/utils/auth/mock-auto-login-disabled.ts
  • src/frontend/tests/utils/await-bootstrap-test.ts
  • src/frontend/tests/utils/blocking-provider-policy.test.mjs
  • src/frontend/tests/utils/build-a11y-html-report.mjs
  • src/frontend/tests/utils/build-a11y-job-summary.mjs
  • src/frontend/tests/utils/check-playwright-report.mjs
  • src/frontend/tests/utils/check-playwright-report.test.mjs
  • src/frontend/tests/utils/clean-all-flows.ts
  • src/frontend/tests/utils/clean-old-folders.ts
  • src/frontend/tests/utils/configure-loopback-openai.ts
  • src/frontend/tests/utils/configure-loopback-web-search.ts
  • src/frontend/tests/utils/constants/testIds.ts
  • src/frontend/tests/utils/constants/texts.ts
  • src/frontend/tests/utils/fill-fetch-server-command.ts
  • src/frontend/tests/utils/fill-local-mcp-server-command.ts
  • src/frontend/tests/utils/flow-editor-persistence-policy.d.mts
  • src/frontend/tests/utils/flow-editor-persistence-policy.mjs
  • src/frontend/tests/utils/flow-editor-persistence-policy.test.mjs
  • src/frontend/tests/utils/flow-editor-persistence.ts
  • src/frontend/tests/utils/flow/add-component-from-sidebar.ts
  • src/frontend/tests/utils/flow/new-project-flow.ts
  • src/frontend/tests/utils/flow/open-blank-flow.ts
  • src/frontend/tests/utils/flow/open-starter-project.ts
  • src/frontend/tests/utils/flow/replace-component-code.ts
  • src/frontend/tests/utils/flow/route-test-scoped-default-flow-names.ts
  • src/frontend/tests/utils/flow/seed-flow-if-empty.ts
  • src/frontend/tests/utils/flow/select-starter-template.ts
  • src/frontend/tests/utils/flow/text-input-output-flow.ts
  • src/frontend/tests/utils/flow/wait-for-flow-editor-ready.ts
  • src/frontend/tests/utils/flow/wait-for-main-page-ready.ts
  • src/frontend/tests/utils/get-default-project-id-for-test.d.mts
  • src/frontend/tests/utils/get-default-project-id-for-test.mjs
  • src/frontend/tests/utils/get-default-project-id-for-test.test.mjs
  • src/frontend/tests/utils/lock-flow.ts
  • src/frontend/tests/utils/login-langflow.ts
  • src/frontend/tests/utils/mcp-server-list-without-tool-counts.ts
  • src/frontend/tests/utils/mock-assistant.ts
  • src/frontend/tests/utils/open-add-mcp-server-modal.ts
  • src/frontend/tests/utils/playground/publish-and-open-shareable.ts
  • src/frontend/tests/utils/project-sidebar.ts
  • src/frontend/tests/utils/rename-flow.ts
  • src/frontend/tests/utils/select-anthropic-model.ts
  • src/frontend/tests/utils/select-assistant-openai-model.ts
  • src/frontend/tests/utils/select-gpt-model.ts
  • src/frontend/tests/utils/server-error-contract.d.mts
  • src/frontend/tests/utils/server-error-contract.mjs
  • src/frontend/tests/utils/server-error-contract.test.mjs
  • src/frontend/tests/utils/skip-if-component-unavailable.ts
  • src/frontend/tests/utils/types.ts
  • src/frontend/tests/utils/update-old-components.ts
  • src/lfx/PLUGGABLE_SERVICES.md
  • src/lfx/lfx.toml.example
  • src/lfx/pyproject.toml
  • src/lfx/src/lfx/__main__.py
  • src/lfx/src/lfx/_assets/component_index.json
  • src/lfx/src/lfx/base/agents/agent.py
  • src/lfx/src/lfx/base/agents/altk_base_agent.py
  • src/lfx/src/lfx/base/agents/crewai/crew.py
  • src/lfx/src/lfx/base/embeddings/model.py
  • src/lfx/src/lfx/base/flow_controls/loop_utils.py
  • src/lfx/src/lfx/base/knowledge_bases/backends/__init__.py
  • src/lfx/src/lfx/base/knowledge_bases/backends/base.py
  • src/lfx/src/lfx/base/knowledge_bases/backends/opensearch.py
  • src/lfx/src/lfx/base/knowledge_bases/backends/postgres.py
  • src/lfx/src/lfx/base/mcp/pydantic_compat.py
  • src/lfx/src/lfx/base/mcp/util.py
  • src/lfx/src/lfx/base/models/llm_callback_utils.py
  • src/lfx/src/lfx/base/models/model.py
  • src/lfx/src/lfx/base/models/model_metadata.py
  • src/lfx/src/lfx/base/models/provider_registry.py
  • src/lfx/src/lfx/base/models/unified_models/__init__.py
  • src/lfx/src/lfx/base/models/unified_models/build_config.py
  • src/lfx/src/lfx/base/models/unified_models/credentials.py
  • src/lfx/src/lfx/base/models/unified_models/instantiation.py
  • src/lfx/src/lfx/base/models/unified_models/model_catalog.py
  • src/lfx/src/lfx/base/models/unified_models/provider_queries.py
  • src/lfx/src/lfx/base/prompts/api_utils.py
  • src/lfx/src/lfx/cli/_extension_commands.py
  • src/lfx/src/lfx/cli/_observability_commands.py
  • src/lfx/src/lfx/cli/command_plugins.py
  • src/lfx/src/lfx/cli/common.py
  • src/lfx/src/lfx/cli/run.py
  • src/lfx/src/lfx/cli/script_loader.py
  • src/lfx/src/lfx/cli/serve_app.py
  • src/lfx/src/lfx/cli/serve_durable.py
  • src/lfx/src/lfx/cli/validation/core.py
  • src/lfx/src/lfx/components/FAISS/__init__.py
  • src/lfx/src/lfx/components/Notion/__init__.py
  • src/lfx/src/lfx/components/agentics/helpers/llm_setup.py
  • src/lfx/src/lfx/components/agentql/__init__.py
  • src/lfx/src/lfx/components/aiml/__init__.py
  • src/lfx/src/lfx/components/altk/__init__.py
  • src/lfx/src/lfx/components/apify/__init__.py
  • src/lfx/src/lfx/components/assemblyai/__init__.py
  • src/lfx/src/lfx/components/azure/__init__.py
  • src/lfx/src/lfx/components/baidu/__init__.py
  • src/lfx/src/lfx/components/bing/__init__.py
  • src/lfx/src/lfx/components/cassandra/__init__.py
  • src/lfx/src/lfx/components/chroma/__init__.py
  • src/lfx/src/lfx/components/cleanlab/__init__.py
  • src/lfx/src/lfx/components/clickhouse/__init__.py
  • src/lfx/src/lfx/components/cloudflare/__init__.py
  • src/lfx/src/lfx/components/codeagents/__init__.py
  • src/lfx/src/lfx/components/cometapi/__init__.py
  • src/lfx/src/lfx/components/composio/__init__.py
  • src/lfx/src/lfx/components/confluence/__init__.py
  • src/lfx/src/lfx/components/couchbase/__init__.py
  • src/lfx/src/lfx/components/crewai/hierarchical_crew.py
  • src/lfx/src/lfx/components/crewai/sequential_crew.py
  • src/lfx/src/lfx/components/cuga/__init__.py
  • src/lfx/src/lfx/components/data_source/api_request.py
  • src/lfx/src/lfx/components/deepseek/__init__.py
  • src/lfx/src/lfx/components/elastic/__init__.py
  • src/lfx/src/lfx/components/files_and_knowledge/knowledge.py
  • src/lfx/src/lfx/components/files_and_knowledge/memory_retrieval.py
  • src/lfx/src/lfx/components/files_and_knowledge/save_file.py
  • src/lfx/src/lfx/components/git/__init__.py
  • src/lfx/src/lfx/components/glean/__init__.py
  • src/lfx/src/lfx/components/google/__init__.py
  • src/lfx/src/lfx/components/groq/__init__.py
  • src/lfx/src/lfx/components/homeassistant/__init__.py
  • src/lfx/src/lfx/components/huggingface/__init__.py
  • src/lfx/src/lfx/components/icosacomputing/__init__.py
  • src/lfx/src/lfx/components/jigsawstack/__init__.py
  • src/lfx/src/lfx/components/langchain_utilities/csv_agent.py
  • src/lfx/src/lfx/components/langchain_utilities/fake_embeddings.py
  • src/lfx/src/lfx/components/langwatch/__init__.py
  • src/lfx/src/lfx/components/litellm/__init__.py
  • src/lfx/src/lfx/components/lmstudio/__init__.py
  • src/lfx/src/lfx/components/maritalk/__init__.py
  • src/lfx/src/lfx/components/mem0/__init__.py
  • src/lfx/src/lfx/components/milvus/__init__.py
  • src/lfx/src/lfx/components/mistral/__init__.py
  • src/lfx/src/lfx/components/models_and_agents/__init__.py
  • src/lfx/src/lfx/components/models_and_agents/a2a_agent.py
  • src/lfx/src/lfx/components/models_and_agents/agent.py
  • src/lfx/src/lfx/components/models_and_agents/embedding_model.py
  • src/lfx/src/lfx/components/models_and_agents/language_model.py
  • src/lfx/src/lfx/components/models_and_agents/memory.py
  • src/lfx/src/lfx/components/models_and_agents/policies/__init__.py
  • src/lfx/src/lfx/components/models_and_agents/policies_component.py
  • src/lfx/src/lfx/components/mongodb/__init__.py
  • src/lfx/src/lfx/components/needle/__init__.py
  • src/lfx/src/lfx/components/notdiamond/__init__.py
  • src/lfx/src/lfx/components/novita/__init__.py
  • src/lfx/src/lfx/components/nvidia/__init__.py
  • src/lfx/src/lfx/components/olivya/__init__.py
  • src/lfx/src/lfx/components/ollama/__init__.py
  • src/lfx/src/lfx/components/openrouter/__init__.py
  • src/lfx/src/lfx/components/perplexity/__init__.py
  • src/lfx/src/lfx/components/pgvector/__init__.py
  • src/lfx/src/lfx/components/pinecone/__init__.py
  • src/lfx/src/lfx/components/processing/filter_data_values.py
  • src/lfx/src/lfx/components/qdrant/__init__.py
  • src/lfx/src/lfx/components/redis/__init__.py
  • src/lfx/src/lfx/components/sambanova/__init__.py
  • src/lfx/src/lfx/components/scrapegraph/__init__.py
  • src/lfx/src/lfx/components/searchapi/__init__.py
  • src/lfx/src/lfx/components/serpapi/__init__.py
  • src/lfx/src/lfx/components/spider/__init__.py
  • src/lfx/src/lfx/components/supabase/__init__.py
  • src/lfx/src/lfx/components/tavily/__init__.py
  • src/lfx/src/lfx/components/tools/python_repl.py
  • src/lfx/src/lfx/components/twelvelabs/__init__.py
  • src/lfx/src/lfx/components/unstructured/__init__.py
  • src/lfx/src/lfx/components/upstash/__init__.py
  • src/lfx/src/lfx/components/utilities/python_repl_core.py
  • src/lfx/src/lfx/components/vectara/__init__.py
  • src/lfx/src/lfx/components/vectorstores/__init__.py
  • src/lfx/src/lfx/components/vertexai/__init__.py
  • src/lfx/src/lfx/components/vlmrun/__init__.py
  • src/lfx/src/lfx/components/weaviate/__init__.py
  • src/lfx/src/lfx/components/wikipedia/__init__.py
  • src/lfx/src/lfx/components/wolframalpha/__init__.py
  • src/lfx/src/lfx/components/xai/__init__.py
  • src/lfx/src/lfx/components/yahoosearch/__init__.py
  • src/lfx/src/lfx/components/youtube/__init__.py
  • src/lfx/src/lfx/components/zep/__init__.py
  • src/lfx/src/lfx/custom/attributes.py
  • src/lfx/src/lfx/custom/custom_component/component.py
  • src/lfx/src/lfx/custom/custom_component/custom_component.py
  • src/lfx/src/lfx/custom/utils.py
  • src/lfx/src/lfx/execution/__init__.py
  • src/lfx/src/lfx/execution/backends/in_process.py
  • src/lfx/src/lfx/extension/__init__.py
  • src/lfx/src/lfx/extension/dev_registry.py
  • src/lfx/src/lfx/extension/discovery.py
  • src/lfx/src/lfx/extension/errors.py
  • src/lfx/src/lfx/extension/loader/__init__.py
  • src/lfx/src/lfx/extension/loader/_bundles_root.py
  • src/lfx/src/lfx/extension/loader/_discovery.py
  • src/lfx/src/lfx/extension/loader/_orchestrator.py
  • src/lfx/src/lfx/extension/loader/_startup.py
  • src/lfx/src/lfx/extension/manifest.py
  • src/lfx/src/lfx/extension/registry.py
  • src/lfx/src/lfx/extension/reload.py
  • src/lfx/src/lfx/extension/validate.py
  • src/lfx/src/lfx/graph/checkpoint/resume.py
  • src/lfx/src/lfx/graph/flow_builder/__init__.py
  • src/lfx/src/lfx/graph/flow_builder/builder.py
  • src/lfx/src/lfx/graph/flow_builder/component.py
  • src/lfx/src/lfx/graph/flow_builder/connect.py
  • src/lfx/src/lfx/graph/graph/base.py
  • src/lfx/src/lfx/graph/utils.py
  • src/lfx/src/lfx/graph/vertex/base.py
  • src/lfx/src/lfx/interface/components.py
  • src/lfx/src/lfx/interface/initialize/loading.py
  • src/lfx/src/lfx/log/logger.py
  • src/lfx/src/lfx/mcp/client.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/__init__.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/_state.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/edit_tools.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/mutate_tools.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/read_tools.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/run_tools.py
  • src/lfx/src/lfx/mcp/flow_builder_tools/template_tools.py
  • src/lfx/src/lfx/mcp/registry.py
  • src/lfx/src/lfx/mcp/server.py
  • src/lfx/src/lfx/memory/flow_context.py
  • src/lfx/src/lfx/memory/stubs.py
  • src/lfx/src/lfx/observability.py
  • src/lfx/src/lfx/observability_doctor.py
  • src/lfx/src/lfx/observability_fastapi.py
  • src/lfx/src/lfx/observability_llm_metrics.py
  • src/lfx/src/lfx/preload.py
  • src/lfx/src/lfx/run/base.py
  • src/lfx/src/lfx/run/hitl.py
  • src/lfx/src/lfx/schema/message.py
  • src/lfx/src/lfx/schema/workflow.py
  • src/lfx/src/lfx/services/adapters/deployment/exceptions.py
  • src/lfx/src/lfx/services/authorization/__init__.py
  • src/lfx/src/lfx/services/authorization/base.py
  • src/lfx/src/lfx/services/catalog_policy/__init__.py
  • src/lfx/src/lfx/services/catalog_policy/base.py
  • src/lfx/src/lfx/services/catalog_policy/service.py
  • src/lfx/src/lfx/services/deps.py
  • src/lfx/src/lfx/services/manager.py
  • src/lfx/src/lfx/services/model_provider_policy/__init__.py
  • src/lfx/src/lfx/services/model_provider_policy/base.py
  • src/lfx/src/lfx/services/model_provider_policy/context.py
  • src/lfx/src/lfx/services/model_provider_policy/service.py
  • src/lfx/src/lfx/services/model_provider_policy/utils.py
  • src/lfx/src/lfx/services/policy_bundle/__init__.py
  • src/lfx/src/lfx/services/policy_bundle/base.py
  • src/lfx/src/lfx/services/policy_bundle/service.py
  • src/lfx/src/lfx/services/schema.py
  • src/lfx/src/lfx/services/session.py
  • src/lfx/src/lfx/services/settings/auth.py
  • src/lfx/src/lfx/services/settings/groups/runtime.py
  • src/lfx/src/lfx/services/settings/groups/security.py
  • src/lfx/src/lfx/services/settings/groups/server.py
  • src/lfx/src/lfx/services/settings/groups/telemetry.py
  • src/lfx/src/lfx/services/settings/groups/variables.py
  • src/lfx/src/lfx/services/storage/service.py
  • src/lfx/src/lfx/template/frontend_node/base.py
  • src/lfx/src/lfx/upgrade/checker.py
  • src/lfx/src/lfx/utils/component_aliases.py
  • src/lfx/src/lfx/utils/env_var_security.py
  • src/lfx/src/lfx/utils/flow_validation.py
  • src/lfx/src/lfx/utils/sandbox.py
  • src/lfx/src/lfx/workflow/adapters/langflow.py
  • src/lfx/src/lfx/workflow/converters.py
  • src/lfx/src/lfx/workflow/end_user_identity.py
  • src/lfx/src/lfx/workflow/router.py
  • src/lfx/tests/unit/base/agents/test_crewai_component_isolation.py
  • src/lfx/tests/unit/base/agents/test_crewai_crew.py
  • src/lfx/tests/unit/base/knowledge_bases/__init__.py
  • src/lfx/tests/unit/base/knowledge_bases/conftest.py
  • src/lfx/tests/unit/base/knowledge_bases/test_postgres_backend.py
  • src/lfx/tests/unit/base/models/test_azure_ai_foundry_provider.py
  • src/lfx/tests/unit/base/models/test_build_config_empty_model_clear.py
  • src/lfx/tests/unit/base/models/test_build_config_no_unconfigured_default.py
  • src/lfx/tests/unit/base/models/test_build_config_sticky_default.py
  • src/lfx/tests/unit/base/models/test_credentials_provider_policy.py
  • src/lfx/tests/unit/base/models/test_get_llm_error_messages.py
  • src/lfx/tests/unit/base/models/test_provider_registry.py
  • src/lfx/tests/unit/cli/test_command_plugins.py
  • src/lfx/tests/unit/cli/test_run_real_flows.py
  • src/lfx/tests/unit/cli/test_script_loader.py
  • src/lfx/tests/unit/cli/test_serve_app_flow_span.py
  • src/lfx/tests/unit/cli/test_serve_app_log_trace_correlation.py
  • src/lfx/tests/unit/cli/test_validate_command.py
  • src/lfx/tests/unit/components/agentics/test_llm_setup.py
  • src/lfx/tests/unit/components/models_and_agents/test_agent_create_agent.py
  • src/lfx/tests/unit/components/test_bundle_shims.py
  • src/lfx/tests/unit/custom/custom_component/test_component_events.py
  • src/lfx/tests/unit/custom/test_utils_metadata.py
  • src/lfx/tests/unit/execution/test_default_registry.py
  • src/lfx/tests/unit/extension/loader/test_load_extension.py
  • src/lfx/tests/unit/extension/loader/test_load_lfx_bundles.py
  • src/lfx/tests/unit/extension/loader/test_types.py
  • src/lfx/tests/unit/extension/test_cli.py
  • src/lfx/tests/unit/extension/test_cli_list.py
  • src/lfx/tests/unit/extension/test_components_cache_integration.py
  • src/lfx/tests/unit/extension/test_dev_registry.py
  • src/lfx/tests/unit/extension/test_discovery.py
  • src/lfx/tests/unit/extension/test_errors.py
  • src/lfx/tests/unit/extension/test_manifest.py
  • src/lfx/tests/unit/extension/test_provider_extension.py
  • src/lfx/tests/unit/extension/test_schema.py
  • src/lfx/tests/unit/extension/test_validate.py
  • src/lfx/tests/unit/graph/graph/test_base.py
  • src/lfx/tests/unit/graph/test_async_start_flow_span.py
  • src/lfx/tests/unit/graph/test_ephemeral_telemetry_gate.py
  • src/lfx/tests/unit/graph/test_flow_span_events_boundary.py
  • src/lfx/tests/unit/graph/test_graph.py
  • src/lfx/tests/unit/graph/vertex/test_vertex_base.py
  • src/lfx/tests/unit/inputs/test_model_input_static_options.py
  • src/lfx/tests/unit/load/test_load.py
  • src/lfx/tests/unit/log/test_otel_log_boundary.py
  • src/lfx/tests/unit/mcp/test_fastmcp_pydantic_compat.py
  • src/lfx/tests/unit/mcp/test_mcp_tool_span.py
  • src/lfx/tests/unit/mcp/test_registry.py
  • src/lfx/tests/unit/mcp/test_run_assistant.py
  • src/lfx/tests/unit/mcp/test_server_events.py
  • src/lfx/tests/unit/mcp/test_tool_execution_timeout.py
  • src/lfx/tests/unit/observability/__init__.py
  • src/lfx/tests/unit/observability/test_llm_provider_metrics.py
  • src/lfx/tests/unit/run/test_base.py
  • src/lfx/tests/unit/schema/test_message_content_blocks.py
  • src/lfx/tests/unit/services/authorization/test_default_authorization_service.py
  • src/lfx/tests/unit/services/catalog_policy/__init__.py
  • src/lfx/tests/unit/services/catalog_policy/test_policy.py
  • src/lfx/tests/unit/services/model_provider_policy/__init__.py
  • src/lfx/tests/unit/services/model_provider_policy/test_policy.py
  • src/lfx/tests/unit/services/settings/test_agentic_variables_gate.py
  • src/lfx/tests/unit/services/settings/test_settings_composition.py
  • src/lfx/tests/unit/services/test_service_manager.py
  • src/lfx/tests/unit/test_component_index.py
  • src/lfx/tests/unit/test_flow_builder.py
  • src/lfx/tests/unit/test_flow_builder_custom_node_type.py
  • src/lfx/tests/unit/test_flow_builder_loop_edges.py
  • src/lfx/tests/unit/test_flow_builder_output_type_sync.py
  • src/lfx/tests/unit/test_flow_builder_tools.py
  • src/lfx/tests/unit/test_langflow_base_distribution.py
  • src/lfx/tests/unit/test_observability.py
  • src/lfx/tests/unit/test_observability_doctor.py
  • src/lfx/tests/unit/test_patch_regexes.py
  • src/lfx/tests/unit/test_process.py
  • src/lfx/tests/unit/upgrade/test_checker.py
  • src/lfx/tests/unit/upgrade/test_cli_gate.py
  • src/lfx/tests/unit/utils/test_component_aliases.py
  • src/lfx/tests/unit/utils/test_env_var_security.py
  • src/lfx/tests/unit/utils/test_flow_validation.py
  • src/lfx/tests/unit/utils/test_outdated_component_code_substitution.py
  • src/lfx/tests/unit/utils/test_resolve_trusted_code_for_build.py
  • src/lfx/tests/unit/utils/test_sandbox.py
  • src/lfx/tests/unit/workflow/test_converters.py
  • src/lfx/tests/unit/workflow/test_end_user_identity.py
  • src/lfx/tests/unit/workflow/test_router_end_user_scoping.py
  • src/sdk/pyproject.toml
  • wss-generated.config

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

@github-actions

Copy link
Copy Markdown
Contributor

Migration Validation Passed

All migrations follow the Expand-Contract pattern correctly.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Test Coverage Advisor

No source changes detected without accompanying tests. Thanks for keeping coverage up! 🎉

Advisory check only — never blocks merge.

@github-actions

github-actions Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Build successful! ✅
Deploying docs draft.
Deploy successful! View draft

@codecov

codecov Bot commented Aug 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.26523% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.96%. Comparing base (f62f50b) to head (51cd936).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
...ase/langflow/agentic/services/assistant_service.py 93.54% 6 Missing ⚠️
...base/langflow/agentic/services/flow_preparation.py 68.42% 6 Missing ⚠️
src/backend/base/langflow/agentic/api/router.py 90.00% 5 Missing ⚠️
src/backend/base/langflow/__main__.py 73.33% 4 Missing ⚠️
src/backend/base/langflow/agentic/helpers/sse.py 85.18% 4 Missing ⚠️
...nd/base/langflow/agentic/helpers/content_safety.py 96.66% 1 Missing ⚠️
src/backend/base/langflow/agentic/mcp/server.py 97.82% 1 Missing ⚠️
src/backend/base/langflow/agentic/mcp/support.py 0.00% 1 Missing ⚠️
...nd/base/langflow/agentic/services/flow_executor.py 92.30% 1 Missing ⚠️
...low/agentic/services/flow_structural_validation.py 99.01% 1 Missing ⚠️
... and 2 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #14581      +/-   ##
==========================================
+ Coverage   64.91%   64.96%   +0.04%     
==========================================
  Files        2454     2456       +2     
  Lines      250995   251004       +9     
  Branches    34982    34940      -42     
==========================================
+ Hits       162932   163054     +122     
+ Misses      85999    85885     -114     
- Partials     2064     2065       +1     
Flag Coverage Δ
backend 73.08% <94.26%> (+0.13%) ⬆️
lfx 63.84% <ø> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/backend/base/langflow/agentic/api/schemas.py 100.00% <100.00%> (ø)
...e/langflow/agentic/flows/flow_builder_assistant.py 100.00% <ø> (ø)
...end/base/langflow/agentic/helpers/code_security.py 92.00% <100.00%> (ø)
...ase/langflow/agentic/helpers/input_sanitization.py 100.00% <100.00%> (ø)
...ackend/base/langflow/agentic/helpers/validation.py 90.00% <100.00%> (ø)
...ase/langflow/agentic/services/agent_run_context.py 100.00% <100.00%> (ø)
...e/langflow/agentic/services/conversation_buffer.py 100.00% <100.00%> (ø)
...backend/base/langflow/agentic/services/flow_run.py 96.92% <100.00%> (ø)
...e/langflow/agentic/services/helpers/flow_loader.py 92.37% <100.00%> (ø)
.../agentic/services/helpers/intent_classification.py 94.93% <100.00%> (ø)
... and 92 more

... and 31 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@erichare erichare changed the title chore: merge release-1.12.0 into main (DO NOT SQUASH) chore: back port the new workflow updates from 1.12 Aug 15, 2026
@erichare
erichare merged commit 525d833 into main Aug 15, 2026
185 of 186 checks passed
@erichare
erichare deleted the backmerge/release-1.12.0-to-main branch August 15, 2026 03:57
@github-actions

Copy link
Copy Markdown
Contributor

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 53%
53.1% (78256/147367) 70.92% (11081/15623) 48.74% (1830/3754)

Unit Test Results

Tests Skipped Failures Errors Time
6138 0 💤 0 ❌ 0 🔥 18m 1s ⏱️

erichare added a commit that referenced this pull request Aug 15, 2026
…(main) (#14586)

fix(ci): assert the base console script the 1.12 line actually ships

Ports #14584 to main. main inherited the stale `langflow-base` assertion from
#14571 when the back-merge (#14581) paired it with release-1.12.0's post-#14339
pyproject, where the base wheel declares `langflow`:

    # src/backend/base/pyproject.toml
    [project.scripts]
    langflow = "langflow.langflow_launcher:main"

Both branches have to carry this. The nightly tag push only succeeds while main
and the release branch have identical .github/workflows content -- GitHub
screens App-token pushes for workflow changes and GITHUB_TOKEN cannot carry
`workflows`, so any drift re-breaks create-nightly-tag.

Taken as release-1.12.0's copy of the file verbatim rather than re-applying the
edit, so the two branches are byte-identical by construction.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.