Skip to content

refactor: add code sample customizations#10884

Merged
mfortman11 merged 3 commits into
mainfrom
lfoss-2967
Dec 4, 2025
Merged

refactor: add code sample customizations#10884
mfortman11 merged 3 commits into
mainfrom
lfoss-2967

Conversation

@mfortman11
Copy link
Copy Markdown
Collaborator

@mfortman11 mfortman11 commented Dec 4, 2025

Sets up code samples for customization usage

Summary by CodeRabbit

  • Refactor
    • Improved consistency in API code sample generation across curl, JavaScript, and Python.
    • Unified base URL and authentication header construction for generated code examples.
    • Enhanced reliability of API sample headers in code output.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 4, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

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

Walkthrough

This PR centralizes API sample header and base URL construction logic into a new utility module, then refactors three existing API code generation modules (curl, JavaScript, and Python) to use these utilities instead of duplicating manual header and host extraction logic.

Changes

Cohort / File(s) Summary
New utility module
src/frontend/src/customization/utils/custom-code-samples.ts
Introduces four utility functions: getApiSampleHeaders() (returns formatted headers by language), formatJsHeadersForInline() (returns indented headers for inline embedding), getWidgetAdditionalHeaders() (stub), and getBaseUrl() (derives protocol and host for base URL construction).
API code generation refactoring
src/frontend/src/modals/apiModal/utils/get-curl-code.tsx, src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx, src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
Replaces manual host/protocol extraction with centralized getBaseUrl() function; replaces conditional Bearer token headers with dynamic getApiSampleHeaders() calls per language; applies header injection consistently across webhook, file-upload, and curl/script generation code paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30–35 minutes

  • Review header injection logic in get-js-api-code.tsx, which modifies multiple inline header blocks across multipart and payload steps
  • Verify that getApiSampleHeaders() conditions (especially ENABLE_DATASTAX_LANGFLOW checks) are applied consistently across webhook and execution paths
  • Confirm baseURL construction via getBaseUrl() works correctly across different code generation scenarios (file upload, webhook, direct execution)

Suggested labels

javascript, python, size:L, refactor

Suggested reviewers

  • ogabrielluiz
  • lucaseduoli

Pre-merge checks and finishing touches

Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings)
Check name Status Explanation Resolution
Test Coverage For New Implementations ❌ Error PR introduces new utility functions and modifies three files for API code sample generation without adding corresponding test files. Add test files: custom-code-samples.test.ts for new functions and update tests for modified get-curl-code, get-js-api-code, and get-python-api-code utilities to verify integration.
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Test Quality And Coverage ⚠️ Warning New functions from custom-code-samples.ts are used in implementation files but lack dedicated unit tests and integration test coverage. Create custom-code-samples.test.ts with unit tests for all four functions and update existing test files to mock custom-code-samples functions with integration test cases.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: introducing a new customization utility module and refactoring existing code to use centralized code sample functions.
Test File Naming And Structure ✅ Passed The PR includes 5 comprehensive test files with proper TypeScript naming conventions, organized in the correct tests directory structure, featuring Jest setup with describe blocks, descriptive it() test names, jest.mock() dependency mocking, and extensive expect() assertions covering both positive and negative scenarios.
Excessive Mock Usage Warning ✅ Passed Test files use appropriate mocking practices with single external dependency mocks and comprehensive assertions on actual function behavior.

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

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added the refactor Maintenance tasks and housekeeping label Dec 4, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 4, 2025

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 15%
15.43% (4246/27504) 8.63% (1814/21017) 9.73% (590/6062)

Unit Test Results

Tests Skipped Failures Errors Time
1671 0 💤 0 ❌ 0 🔥 22.007s ⏱️

@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 4, 2025

Codecov Report

❌ Patch coverage is 76.92308% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 32.54%. Comparing base (21e257a) to head (f7937fb).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...end/src/customization/utils/custom-code-samples.ts 71.42% 3 Missing and 1 partial ⚠️
...ontend/src/modals/apiModal/utils/get-curl-code.tsx 75.00% 0 Missing and 2 partials ⚠️

❌ Your project status has failed because the head coverage (40.02%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #10884   +/-   ##
=======================================
  Coverage   32.54%   32.54%           
=======================================
  Files        1370     1371    +1     
  Lines       63543    63507   -36     
  Branches     9394     9391    -3     
=======================================
- Hits        20680    20670   -10     
+ Misses      41824    41797   -27     
- Partials     1039     1040    +1     
Flag Coverage Δ
frontend 14.30% <76.92%> (+0.01%) ⬆️

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

Files with missing lines Coverage Δ
...tend/src/modals/apiModal/utils/get-js-api-code.tsx 89.28% <100.00%> (-0.19%) ⬇️
.../src/modals/apiModal/utils/get-python-api-code.tsx 91.48% <100.00%> (-0.18%) ⬇️
...ontend/src/modals/apiModal/utils/get-curl-code.tsx 91.30% <75.00%> (-0.28%) ⬇️
...end/src/customization/utils/custom-code-samples.ts 71.42% <71.42%> (ø)

... and 9 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.

@github-actions github-actions Bot added refactor Maintenance tasks and housekeeping and removed refactor Maintenance tasks and housekeeping labels Dec 4, 2025
@github-actions github-actions Bot added refactor Maintenance tasks and housekeeping and removed refactor Maintenance tasks and housekeeping labels Dec 4, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx (1)

53-58: Missing Content-Type header when API key is not displayed.

When shouldDisplayApiKey is true, the headers include 'Content-Type': 'application/json' (line 55). However, when false, getApiSampleHeaders("javascript") returns an empty string, resulting in no headers at all—including no Content-Type. This may cause the POST request to fail or behave unexpectedly.

Consider ensuring Content-Type is always included:

     const headersSection = shouldDisplayApiKey
       ? `    headers: {
         'Content-Type': 'application/json',
         "x-api-key": apiKey
     },`
-      : getApiSampleHeaders("javascript");
+      : getApiSampleHeaders("javascript") || `    headers: {
+        'Content-Type': 'application/json'
+    },`;
src/frontend/src/modals/apiModal/utils/get-curl-code.tsx (1)

96-121: Inconsistent header injection between PowerShell and Unix paths.

Line 96 injects getApiSampleHeaders("curl") for PowerShell, but the Unix path (lines 116-121) has no equivalent injection. This creates inconsistent behavior where custom sample headers would only appear in PowerShell-generated commands.

Consider adding equivalent header injection to the Unix path for consistency:

       return `curl --request POST \\
      --url '${apiUrl}?stream=false' \\
+${getApiSampleHeaders("curl")}
      --header 'Content-Type: application/json' \\${
        authHeader ? "\n" + authHeader : ""
      }
      --data '${unixFormattedPayload}'`;
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 21e257a and f8e654e.

📒 Files selected for processing (4)
  • src/frontend/src/customization/utils/custom-code-samples.ts (1 hunks)
  • src/frontend/src/modals/apiModal/utils/get-curl-code.tsx (7 hunks)
  • src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx (6 hunks)
  • src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx (4 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
src/frontend/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/frontend_development.mdc)

src/frontend/src/**/*.{ts,tsx}: Use React 18 with TypeScript for frontend development
Use Zustand for state management

Files:

  • src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
  • src/frontend/src/customization/utils/custom-code-samples.ts
src/frontend/src/**/*.{tsx,jsx,css,scss}

📄 CodeRabbit inference engine (.cursor/rules/frontend_development.mdc)

Use Tailwind CSS for styling

Files:

  • src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
src/frontend/src/**/*.{tsx,jsx}

📄 CodeRabbit inference engine (.cursor/rules/frontend_development.mdc)

src/frontend/src/**/*.{tsx,jsx}: Implement dark mode support using the useDarkMode hook and dark store
Use Lucide React for icon components in the application

Files:

  • src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
🧠 Learnings (1)
📚 Learning: 2025-07-11T21:32:57.160Z
Learnt from: namastex888
Repo: langflow-ai/langflow PR: 9018
File: src/frontend/src/modals/apiModal/utils/get-curl-code.tsx:139-184
Timestamp: 2025-07-11T21:32:57.160Z
Learning: In TypeScript/JavaScript cURL code generation for Langflow, PowerShell commands must use backticks (`) for line continuation and follow the pattern: `curl --request POST \` followed by `--url`, `--header` flags on separate lines. Unix commands use backslashes (\) for line continuation. File upload commands should maintain platform-specific formatting just like other cURL commands in the codebase.

Applied to files:

  • src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx
  • src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
🧬 Code graph analysis (4)
src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx (1)
src/frontend/src/customization/utils/custom-code-samples.ts (2)
  • getBaseUrl (28-32)
  • getApiSampleHeaders (3-8)
src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx (1)
src/frontend/src/customization/utils/custom-code-samples.ts (3)
  • getBaseUrl (28-32)
  • getApiSampleHeaders (3-8)
  • formatJsHeadersForInline (10-22)
src/frontend/src/modals/apiModal/utils/get-curl-code.tsx (2)
src/frontend/src/customization/utils/custom-code-samples.ts (2)
  • getBaseUrl (28-32)
  • getApiSampleHeaders (3-8)
src/frontend/src/customization/feature-flags.ts (1)
  • ENABLE_DATASTAX_LANGFLOW (10-10)
src/frontend/src/customization/utils/custom-code-samples.ts (1)
src/frontend/src/customization/utils/custom-get-host-protocol.ts (1)
  • customGetHostProtocol (1-6)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Run Frontend Unit Tests / Frontend Jest Unit Tests
  • GitHub Check: Test Starter Templates
🔇 Additional comments (4)
src/frontend/src/customization/utils/custom-code-samples.ts (1)

1-32: LGTM! Clean customization extension points.

The utility module correctly establishes extension points for code sample customization. The stub functions returning empty strings provide a clean baseline that can be overridden for customization purposes.

src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx (2)

117-124: Verify generated code syntax when custom headers are empty.

When formatJsHeadersForInline() returns an empty string (current default), line 120 produces ,${formatJsHeadersForInline()} which results in just a comma before 'Content-Length'. The generated code should remain syntactically valid, but consider verifying the output format.


29-39: LGTM! Base URL and file detection logic is correctly refactored.

The refactoring to use getBaseUrl() and the URL parsing for hostname/port extraction is clean and well-structured.

src/frontend/src/modals/apiModal/utils/get-curl-code.tsx (1)

33-47: LGTM! Webhook code generation correctly uses centralized utilities.

The refactoring to use getBaseUrl() and conditional getApiSampleHeaders("curl") based on ENABLE_DATASTAX_LANGFLOW is clean.

getApiSampleHeaders,
getBaseUrl,
} from "@/customization/utils/custom-code-samples";
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Remove unused import.

customGetHostProtocol is no longer used directly in this file since getBaseUrl() now encapsulates this logic internally.

-import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
🤖 Prompt for AI Agents
In src/frontend/src/modals/apiModal/utils/get-curl-code.tsx around line 6,
remove the unused import "customGetHostProtocol" since getBaseUrl() now handles
that logic; delete the import line and ensure no other references to
customGetHostProtocol remain in the file, then run a quick build/lint to confirm
the unused-import error is resolved.

Comment on lines +141 to 151
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : getApiSampleHeaders("curl")}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
} else {
uploadCommands.push(
`curl --request POST \\
--url "${baseUrl}/api/v1/files/upload/${flowId}" \\
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : ""}
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : getApiSampleHeaders("curl")}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Curl command may break when API key is not displayed and sample headers are empty.

When shouldDisplayApiKey is false, getApiSampleHeaders("curl") currently returns an empty string. This results in a line with no content between --url and --form, which breaks the multi-line curl command syntax (missing line continuation).

The same issue affects lines 148, 174, and 181. Consider falling back to an empty line with proper continuation:

-     ${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : getApiSampleHeaders("curl")}
+     ${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : (getApiSampleHeaders("curl") || '\\')}

Or restructure to only include the header line when there's content.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : getApiSampleHeaders("curl")}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
} else {
uploadCommands.push(
`curl --request POST \\
--url "${baseUrl}/api/v1/files/upload/${flowId}" \\
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : ""}
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : getApiSampleHeaders("curl")}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
}
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : (getApiSampleHeaders("curl") || '\\')}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
} else {
uploadCommands.push(
`curl --request POST \\
--url "${baseUrl}/api/v1/files/upload/${flowId}" \\
${shouldDisplayApiKey ? '--header "x-api-key: YOUR_API_KEY_HERE" \\' : (getApiSampleHeaders("curl") || '\\')}
--form "file=@your_image_${uploadCounter}.jpg"`,
);
}
🤖 Prompt for AI Agents
In src/frontend/src/modals/apiModal/utils/get-curl-code.tsx around lines 141-151
(also affecting lines ~148, 174, 181), the multi-line curl string breaks when
getApiSampleHeaders("curl") returns an empty string because the line
continuation is missing; update the string assembly so that if headers are empty
you either emit a dedicated empty continuation line (a line containing only the
backslash continuation) or conditionally include the entire header line and
ensure the preceding line retains the trailing backslash, so the curl command
remains valid in both cases.

getApiSampleHeaders,
getBaseUrl,
} from "@/customization/utils/custom-code-samples";
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Remove unused import.

customGetHostProtocol is no longer used directly in this file since getBaseUrl() now encapsulates this logic internally.

-import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
// Import line removed - this import is no longer needed
🤖 Prompt for AI Agents
In src/frontend/src/modals/apiModal/utils/get-js-api-code.tsx around line 6, the
file contains an unused import of customGetHostProtocol; remove the import
statement for customGetHostProtocol from the top of the file (and run the
linter/TypeScript build to ensure no other references remain), leaving any
required imports intact.

getApiSampleHeaders,
getBaseUrl,
} from "@/customization/utils/custom-code-samples";
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Remove unused import.

customGetHostProtocol is no longer used directly in this file since getBaseUrl() now encapsulates this logic internally.

-import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import { customGetHostProtocol } from "@/customization/utils/custom-get-host-protocol";
🤖 Prompt for AI Agents
src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx around lines 5 to
5, the file imports customGetHostProtocol but it is unused because getBaseUrl()
now handles that logic; remove the unused import line "import {
customGetHostProtocol } from '@/customization/utils/custom-get-host-protocol';"
and run a quick lint/check to ensure no other references remain.

Comment on lines 43 to +48
const headersSection = shouldDisplayApiKey
? `headers = {"x-api-key": api_key}`
: "";
: getApiSampleHeaders("python");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Generated Python code will fail with NameError when API key is not displayed.

When shouldDisplayApiKey is false, getApiSampleHeaders("python") currently returns an empty string. This results in headersSection being empty, but line 65 still references headers variable which is never defined, causing a NameError at runtime.

Consider defining a default empty headers dict when no API key or sample headers are present:

     const headersSection = shouldDisplayApiKey
       ? `headers = {"x-api-key": api_key}`
-      : getApiSampleHeaders("python");
+      : getApiSampleHeaders("python") || `headers = {}`;

Alternatively, ensure getApiSampleHeaders("python") always returns a valid Python headers assignment like headers = {}.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const headersSection = shouldDisplayApiKey
? `headers = {"x-api-key": api_key}`
: "";
: getApiSampleHeaders("python");
const headersSection = shouldDisplayApiKey
? `headers = {"x-api-key": api_key}`
: getApiSampleHeaders("python") || `headers = {}`;
🤖 Prompt for AI Agents
In src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx around lines
46-48, the branch where shouldDisplayApiKey is false leaves headersSection empty
which later causes a NameError because code still references headers; change the
logic so headersSection always defines headers: either return a default Python
assignment like `headers = {}` from getApiSampleHeaders("python") or update this
ternary to use a fallback `headers = {}` when neither an API key nor sample
headers are available, ensuring the generated code always declares the headers
variable.

Comment on lines 92 to +97
const headersSection = shouldDisplayApiKey
? `headers = {"x-api-key": api_key}`
: "";
: getApiSampleHeaders("python");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Same NameError issue applies to the file upload path.

The file upload code path has the same issue where headers may be undefined when shouldDisplayApiKey is false and getApiSampleHeaders returns empty string (lines 170, 187 reference headers).

@github-actions github-actions Bot added refactor Maintenance tasks and housekeeping and removed refactor Maintenance tasks and housekeeping labels Dec 4, 2025
@github-actions github-actions Bot added the lgtm This PR has been approved by a maintainer label Dec 4, 2025
@mfortman11 mfortman11 added this pull request to the merge queue Dec 4, 2025
Merged via the queue into main with commit b4a54d8 Dec 4, 2025
78 of 79 checks passed
@mfortman11 mfortman11 deleted the lfoss-2967 branch December 4, 2025 20:45
mfortman11 added a commit that referenced this pull request Dec 5, 2025
* add code sample customizations

* import cleanup
Wallgau pushed a commit that referenced this pull request Dec 16, 2025
* add code sample customizations

* import cleanup
Adam-Aghili pushed a commit that referenced this pull request Dec 17, 2025
* refactor: Use customization to get api base urls (#10871)

* fixed counts

* use customization to get api base urls

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>

* refactor: add code sample customizations (#10884)

* add code sample customizations

* import cleanup

* embedded widget generator

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
github-merge-queue Bot pushed a commit that referenced this pull request Dec 22, 2025
* docs: update component links to individual pages (#10706)

* Revert "Revert "docs: update component documentation links to individual pages""

This reverts commit 0bc27d6.

* [autofix.ci] apply automated fixes

* llm-selector-renamed

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

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

* Apply suggestions from code review

* [autofix.ci] apply automated fixes

* Apply suggestions from code review

* [autofix.ci] apply automated fixes

* rebuild-component-index

* update-component-index

* [autofix.ci] apply automated fixes

* build-index

* [autofix.ci] apply automated fixes

---------

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

* fix: avoid updating Message if ChatOutput is connected to ChatInput (#10586)

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

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

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

* fix: create a new message to avoid mutating shared instances

* [autofix.ci] apply automated fixes

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

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

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

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

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

* fix: added a check for using exisiting message object

* fix: remove unwanted import

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* fix: add None checks to prevent errors

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

* fix: backend unit test

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

* fix: ruff styling errors

* [autofix.ci] apply automated fixes

---------

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

* Feat: Runflow optimization and improved dropdown behavior (#10720)

* feat: optimize dropdown filtering and output resolution

misc: remove commented out code

feat: add refresh button and sort flows by updated_at date from most to least recent

ruff (flow.py imports)

improve fn contracts in runflow and improve flow id retrieval logic based on graph exec context

add dynamic outputs and optimize db lookups

add flow cache and db query for getting a single flow by id or name

cache run outputs and add refresh context to build config

misc

misc

use ids for flow retrieval

misc

fix missing flow_id bug

add unit and integration tests

add input field flag to persist hidden fields at runtime

move unit tests and change input and output display names

chore: update component index

fix: fix tool mode when flow has multiple inputs by dynamically creating resolvers

chore: update component index

ruff (run_flow and tests)

add resolvers to outputs map for non tool mode runtime

fix tests (current flow excluded in db fetch)

mypy (helpers/flow.py)

chore: update component index

remove unused code and clean up comments

fix: persist user messages in chat-based flows via session injection

chore: update component index

empty string fallback for sessionid in chat.py

chore: update component index

chore: update component index

cache invalidation with timestamps

misc

add cache invalidation

chore: update component index

chore: update comp idx

ruff (run_flow.py)

change session_id input type to MessageTextInput

chore: update component index

chore: update component index

chore: update component index

chore: update component index

sync starter projects with main

chore: update component index

chore: update component index

chore: update component index

remove dead code + impl coderabbit suggestions

chore: update component index

chore: update component index

clear options metadata before updating

chore: update component index

sync starter projects with main

sync starter projects with main

default param val (list flows)

* chore: update component index

* add integration tests

* [autofix.ci] apply automated fixes

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

---------

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

* fix: Add dynamic tool mode descriptions for agent integration (#10744)

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

* fix: Add profile picture management and API endpoints (#10763)

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

* deps: upgrade altk (#10804)

upgrade altk:

* fix: use running event loop to fix asyncio error when calling mcp tools (#10806)

* use existing event loop instead of recreating when calling mcp tools

* component index

* [autofix.ci] apply automated fixes

* starter projects

* [autofix.ci] apply automated fixes

---------

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

* fix: Improve file processing robustness and error feedback (#10781)

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

* fix: resolve merge conflict (#10831)

* fix: fixed warning on console for nested button (#10724) (#10832)

* removed unnecessary buttons on the flows page

* added the asChild prop and hid button so they are not accessible by tabbing

* added tab index to ensure that buttons as not selectable using the tab

* made sure that accessibility is possible one bulk selection is enabled

* made sure that accessibility is possible one bulk selection is enabled

* Fix: added testcases and refactor

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: fixed warning on console (#10745) (#10830)

* remove console warnings

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: mask value to hide null field being returned (#10778) (#10829)

* fix: mask value to hide null field being returned

* [autofix.ci] apply automated fixes

* fix: added testcase and updated functionality

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>

* Fix: Allow refresh list button to stay stagnant while zoom (Safari) (… (#10827)

Fix: Allow refresh list button to stay stagnant while zoom (Safari) (#10777)

* remove sticky as it was causing the refresh list to float on safari

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat: Add superuser support for running any user flow (#10808)

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

* Revert "feat: Add superuser support for running any user flow (#10808)"

This reverts commit 423419e.

* fix: Ollama models list in Agent component (#10814)

* fix: Ollama model list fails to load in Agent and Ollama components

* [autofix.ci] apply automated fixes

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

---------

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

* Fix: Ensure Default Tab is Credential (#10779) (#10826)

* fix: made sure the tab is visible

* [autofix.ci] apply automated fixes

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

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

* Fix: added typing

* [autofix.ci] apply automated fixes

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

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

* fix: added testcases

* fix: added handleOnValue change function and created a helper file

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>

* chore: update cuga version (#10737) (#10738)

Co-authored-by: Sami Marreed <sami.marreed@ibm.com>

* chore: Remove DataFrameToToolsetComponent and related tests (#10845)

Remove DataFrameToToolsetComponent and related tests

Deleted the DataFrameToToolsetComponent implementation, its import/registration in the processing module, and all associated unit tests. This cleans up unused code and test files related to converting DataFrame rows into toolset actions.

* fix: Handle GCP JSON parsing credentials (#10859)

fix: Proper parsing of GCP credentials JSON (#10828)

* fix: Proper parsing of GCP credentials JSON

* Update save_file.py

* [autofix.ci] apply automated fixes

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

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

* Update test_save_file_component.py

* [autofix.ci] apply automated fixes

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

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

* Fix GCP issues

* [autofix.ci] apply automated fixes

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

* Update test_save_file_component.py

* Update save_file.py

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

* Update save_file.py

* [autofix.ci] apply automated fixes

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

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

* Update save_file.py

* Fix ruff errors

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

---------

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

* fix: anthropic constants (#10862)

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

* fix: Add feature flag check to simplified_run_flow_session (#10863)

* fix: Improve the debugging messages on startup (#10864)

* fix: Suppress SIGSEGV errors on startup (#10849)

* fix: Suppress SIGSEGV errors

* Update test_cli.py

* [autofix.ci] apply automated fixes

---------

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

* Update News Aggregator.json

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

---------

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

* fix: Don't fail if doc column is missing (#10746) (#10872)

* fix: Don't fail if doc column is missing

* [autofix.ci] apply automated fixes

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

* Surface warning message to the UI

* [autofix.ci] apply automated fixes

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

* Update test_docling_utils.py

* [autofix.ci] apply automated fixes

* Update test_docling_utils.py

---------

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

* add x-api-key auth option

* fix(auth): Disallow refresh token access to API endpoints

* fix: Properly support the Batch Run component for watsonX models (#10877)

* fix: Support Batch Run with watsonX (#10848)

* fix: Support Batch Run with watsonX

* [autofix.ci] apply automated fixes

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

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

* Update batch_run.py

* [autofix.ci] apply automated fixes

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

---------

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

---------

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

* fix: Image upload for Gemini/Anthropic (#10880)

* fix: Image upload for Gemini/Anthropic (#10867)

* Fix image upload for Gemini/Anthropic and ChatOutput session_id preservation

* [autofix.ci] apply automated fixes

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

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

* fix ruff erros

* [autofix.ci] apply automated fixes

* resolve conflicts

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

* build component index

* [autofix.ci] apply automated fixes

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

---------

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

* [autofix.ci] apply automated fixes

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

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

---------

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

* fix: Improve the default startup logging for readability (#10894)

fix: Clean up the default startup logging (#10842)

* fix: Clean up the default startup logging

* [autofix.ci] apply automated fixes

* Update manager.py

* [autofix.ci] apply automated fixes

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

* Update test_security_cors.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

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

* Fix: lfx serve aysncio event loop error (#10888)

fix lfx serve asyncio event loop bug

* fix: Update LangflowCounts component to format star and Discord counts (#10896)

* fixed counts

* fix: Update LangflowCounts component to format star and Discord counts

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>

* Fix: update lfx serve tests to mock the .serve() to prevent hanging  (#10905)

port lfx serve test fix from main

* Fix: lfx run agent _noopresult not iterable error (#10893)

* fix _noopresult not iterable and session.add never awaited error and warning, respectively

* just make the add stub sync

* Fix: lfx run agent _noopresult not iterable error  (#10911)

* fix _noopresult not iterable and session.add never awaited error and warning, respectively

* just make the add stub sync

* the real final solution v3

* real solution v4

* revert

* [autofix.ci] apply automated fixes

---------

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

* fix: Add graceful subprocess cleanup during shutdown (#10906)

* add mcp cleanup function

* refactor(mcp_cleanup.py): simplify error handling using contextlib.suppress to improve code readability
test(mcp_cleanup.py): update tests to use context manager for patching to enhance clarity and maintainability

---------

Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>

* fix(workflows): include src/lfx/uv.lock in git add command to ensure all necessary files are tracked
fix(Makefile): add --no-sources flag to uv build command for langflow_base to optimize build process

* chore(nightly_build.yml): remove unnecessary directory change for lfx in nightly build workflow to streamline the process

* chore(release_nightly): update build command to include --no-sources flag for Langflow Base CLI to ensure proper build configuration
fix(Makefile): remove --no-sources from build_langflow_base to align with updated build command in release workflow

* chore(chat.py): remove unused future annotations import to clean up code

* fix(chat.py): add future annotations import for better type hinting support
fix(deps.py): move certain imports outside TYPE_CHECKING for FastAPI compatibility and update type hinting for get_cache_service function

* chore: print version

* chore: use release_tag as version

* fix: --prerelease=allow

* fix: correctly raise file not found errors in File GET endpoints (#10922)

fix: correctly raise file not found errors in File GET endpoints (#10908)

* Clean up the file GET endpoints

* Add test

* [autofix.ci] apply automated fixes

* ruff/mypy

* [autofix.ci] apply automated fixes

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

* Fix issues with async




* use uvlock from main

* [autofix.ci] apply automated fixes

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

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

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>

* fix: image pathing to operate with s3 storage (#10919) (#10929)

* Fix image pathing to operate with s3 storage

* [autofix.ci] apply automated fixes

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

* add test

* [autofix.ci] apply automated fixes

* ruff

* Add abstract method annotation

* [autofix.ci] apply automated fixes

* fix: use parse_file_path in get_files for S3 storage compatibility

---------

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

* Feat: migrate MCP transport from SSE to streamable http (#10934)

* port #10727

* [autofix.ci] apply automated fixes

---------

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

* refactor(deps.py): reorganize imports for clarity and compliance with FastAPI requirements
fix(deps.py): update return type of get_cache_service function to use Union for better type hinting

* fix: update sidebar icon styles to maintain backward compatibility (#10948)

* fix: Add empty input check in ALTKAgent for Anthropic (#10926)

* fix: Add empty input check in ALTKAgent for Anthropic

Shamelessly copies agent.py's empty input check to prevent Anthropic API errors.

* [autofix.ci] apply automated fixes

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

---------

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

* fix: add condition to not make folder download fail when flow has Note component (#10953)

* fix: Enhance error handling for langchain-core version compatibility (#10768)

* fix: Restrict message and session access to flow owners (#10973)

* feat(monitor.py): add user flow filtering to message sessions and messages endpoints to enhance data access control
refactor(monitor.py): remove dependencies from route decorators and pass current_user as a parameter for better clarity and maintainability

* test: update message-related test fixtures to associate messages with user-specific flows

This change ensures that messages created in tests are linked to a flow
specific to the active user, allowing for better filtering and
organization of messages in the database. It enhances the test
environment by simulating real-world usage scenarios more accurately.

* chore(monitor.py): reorder import statements to follow consistent structure and improve readability

* Fix: lfx run with agent component throws '_NoopResult' object is not iterable' (#10914)

* fix _noopresult not iterable and session.add never awaited error and warning, respectively

* just make the add stub sync

* the real final solution v3

* real solution v4

* revert

* fix noopresult not iterable error and add was not awaited warning

* do await check in aupdate_messages

* [autofix.ci] apply automated fixes

---------

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

* fix: Support tool mode for components that have no inputs (#10982)

fix: Support tool mode in components without inputs (#10959)

* fix: Support tool mode in components without inputs

* [autofix.ci] apply automated fixes

---------

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

* fix: (Cherry Pick) default Ollama base url (#10981)

* fix: Properly set a default Ollama base url (#10940)

* fix: Properly set a default Ollama base url

* [autofix.ci] apply automated fixes

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

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

---------

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

* [autofix.ci] apply automated fixes

---------

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

* fix: Add authentication to various endpoints (#10977) (#10985)

* fix: Add authentication to various endpoints (#10977)

* fix: Add authentication to various endpoints

* [autofix.ci] apply automated fixes

* Couple more endpoints

* [autofix.ci] apply automated fixes

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

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

* Update log_router.py

* [autofix.ci] apply automated fixes

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

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

* Update mcp.py

* [autofix.ci] apply automated fixes

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

* Fix ruff errors

* [autofix.ci] apply automated fixes

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

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

* Update test_endpoints.py

* Fix tests

* Update Nvidia Remix.json

* Update test_registration.py

* [autofix.ci] apply automated fixes

* Update test_files.py

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

* Address review comments

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* Review updates

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

---------

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

* [autofix.ci] apply automated fixes

---------

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

* Fix: ensure streamable-http session manager is entered and exited from the same task (#10991)

* cherry pick #10966

* [autofix.ci] apply automated fixes

---------

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

* Fix: cuga integration (#10976) (#10990)

* Fix: cuga integration (#10976)

* feat: upgrade cuga version

* chore: add component index

* [autofix.ci] apply automated fixes

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

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

* fix: cuga component

* chore: update index

* [autofix.ci] apply automated fixes

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

* fix: upgrade cuga

* fix: new component index

* [autofix.ci] apply automated fixes

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

* chore: add component index

* [autofix.ci] apply automated fixes

* chore: update package

* chore: update index

* [autofix.ci] apply automated fixes

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

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

* fix: cuga relatetive temp

* fix: update cuga

* chore: add component index

* [autofix.ci] apply automated fixes

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

* fix: remove space

* [autofix.ci] apply automated fixes

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

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

---------

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

* [autofix.ci] apply automated fixes

---------

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

* test(webhook): add comprehensive tests for webhook endpoint functionality and error handling (#10995)

* fix: Improve image path extraction and validation (#10999)

* fix: make key generated on mcp json be shown, make placeholder show up if key not generated (#10997)

* changed api key to show placeholder when api key is empty

* changed useMcpServer to use generated api key if store api key is empty, add dependency to callback

* [autofix.ci] apply automated fixes

* Added tests

* [autofix.ci] apply automated fixes

* Update src/frontend/src/pages/MainPage/pages/homePage/hooks/useMcpServer.ts

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>

---------

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

* Fix: disable mcp sse endpoints astra (#11004)

* disable mcp sse transport endpoints in astra cloud

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

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

* fix: mcp-proxy process leak (#11008)

* fix: mcp-proxy process leak (#10988)

* fix leak

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* Move MCP client imports out of loop iteration in get_servers (#10993)

* Initial plan

* Move MCPStdioClient and MCPStreamableHttpClient imports to get_servers function

Co-authored-by: phact <1313220+phact@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: phact <1313220+phact@users.noreply.github.com>

* [autofix.ci] apply automated fixes

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: phact <1313220+phact@users.noreply.github.com>
Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>

* [autofix.ci] apply automated fixes

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

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

---------

Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: phact <1313220+phact@users.noreply.github.com>

* feat: add build-nightly-ep to docker-nightly-build (#10942)

* feat: add build-nightly-ep to docker-nightly-build

add build-nightly-ep to docker-nightly-build

* chore: update where langflow-nightly-ep is used

update where langflow-nightly-ep is used to match update where langflow-nightly-all

* chore: add nightly-main-ep to release_nightly

add nightly-main-ep to call_docker_build_main_ep in release_nightly

* chore: run what is already here

* chore: revert .secrets.baseline and let it regen

* fix(message.py): simplify file presence check using kwargs.get() for better readability and maintainability

* fix: Disable Local storage option in Write File component for cloud environments (#11003) (#11022)

* fix: Disable Local storage option in Write File component for cloud environments (#11003)

* modify savefile component

* [autofix.ci] apply automated fixes

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

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

* component index

* [autofix.ci] apply automated fixes

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

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

* Update src/lfx/src/lfx/components/files_and_knowledge/save_file.py

Co-authored-by: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>

* fix ruff errors

* fix conflicts

* resolve conflicts

* [autofix.ci] apply automated fixes

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

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

* fix indentation error

* [autofix.ci] apply automated fixes

* update options dynamically

* build component index

* [autofix.ci] apply automated fixes

* fix ruff errors

* [autofix.ci] apply automated fixes

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

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

---------

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

* [autofix.ci] apply automated fixes

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

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

---------

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

* fix: cuga update (#11019) (#11026)

* fix: update cuga version

* chore: build index

Co-authored-by: Sami Marreed <sami.marreed@ibm.com>

* fix: langwatch traces all api endpoints  (#11014)

* create tracerprovider so langwatch doesnt pick up fastapi calls

* move opentel sdk imports to the top

* [autofix.ci] apply automated fixes

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

---------

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

* Fix: improve exception handling and status code for disabled endpoints (#11012)

* port #11011

* recover line from 1.7.0

* [autofix.ci] apply automated fixes

---------

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

* fix(deps): Pin langchain-mcp-adapters to resolve langchain-core compatibility (#11037)

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

* fix: Make sure the research translation loop template is properly operating (#11042)

* fix: Make sure loop inputs are properly handled in research (#11029)

* fix: Make sure loop inputs are properly handled in research

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

* [autofix.ci] apply automated fixes

* Update reactflowUtils.ts

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

* Update reactflowUtils.ts

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

* Revert "Update reactflowUtils.ts"

This reverts commit 9c8b1d1.

* Revert "Update reactflowUtils.ts"

This reverts commit 6be7ab9.

* Fix template

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

* [autofix.ci] apply automated fixes

* Update Research Translation Loop.json

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

* Update reactflowUtils.ts

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

---------

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

* Update Research Translation Loop.json

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

---------

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

* fix: disable knowledge components in astra (#11047)

* cherry-pick #11046

* update component index

* update component index again

* fix: Advanced mode in read file component (#11041) (#11056)

* fix: Advanced mode in read file component (#11041)

* add a proper file path

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* Update file.py

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

* [autofix.ci] apply automated fixes

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

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

* build component index

* [autofix.ci] apply automated fixes

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

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

* build component index

* [autofix.ci] apply automated fixes

* Fix incorrect use of .tempdir

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

* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

---------

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

* [autofix.ci] apply automated fixes

---------

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

* fix: validate flow file_save path is in a valid location (#11060)

fix: validate flow file_save path is in a valid location (#11039)

* Validate flow file save path is in a valid location

* clean up logic

* fix tests

* comments

* [autofix.ci] apply automated fixes

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

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

* fix backslash vuln

* [autofix.ci] apply automated fixes

* add storage service param to function in agentic utils

* [autofix.ci] apply automated fixes

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

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

* Ruff errors



* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* Resolve path in setup



* [autofix.ci] apply automated fixes

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

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

* [autofix.ci] apply automated fixes

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

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

* comp index update

* [autofix.ci] apply automated fixes

---------

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

* refactor: Move fetch credentials to the customizations (#11049) (#11063)

move fetch credentials to the customizations

* fix: Fix async context handling in serve command and add integration tests (#10776)

* refactor(tests): rename test IDs from helpersCreate List and logicPass to processingCreate List and flow_controlsPass for consistency and clarity in decision flow tests

* refactor: Langflow cloud updates (#10910)

* refactor: Use customization to get api base urls (#10871)

* fixed counts

* use customization to get api base urls

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>

* refactor: add code sample customizations (#10884)

* add code sample customizations

* import cleanup

* embedded widget generator

---------

Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>

* fix: release workflow  (#11087)

* chore(release.yml): update release_lfx input description and make it optional to improve clarity
feat(release.yml): add ensure-lfx-published job to automate LFX version check and publishing process to PyPI

* chore: clean up release workflow

comment out unneeded cross platform test and move steps around to match the already existing pattern

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>

* Revert "fix: release workflow " (#11088)

Revert "fix: release workflow  (#11087)"

This reverts commit b26d032.

* fix: release workflow (#11089)

* chore(release.yml): update release_lfx input description and make it optional to improve clarity
feat(release.yml): add ensure-lfx-published job to automate LFX version check and publishing process to PyPI

* chore: clean up release workflow

comment out unneeded cross platform test and move steps around to match the already existing pattern

* chore: remove test-lfx-cross-platform

remove test-lfx-cross-platform

* chore: address some of co-pilots comments

address some of co-pilots comments

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>

* fix: use langflow package path for database location (#11107)

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

* chore: bump versions for langflow 1.7.1, langflow-base 0.7.1, and lfx 0.2.1 (#11108)

* chore: update version to 0.2.1 in pyproject.toml

* bump version to 1.7.1 in package.json

* chore: bump version to 0.7.1 and update lfx dependency to 0.2.1 in pyproject.toml

* chore: bump versions for langflow, langflow-base, and lfx in pyproject.toml and uv.lock

* regenarate lock based on release branch

* new package-lock fixed

* fix: regenerate package-lock.json with missing nested dependencies

Adds canvas@2.11.2 (for rehype-mathjax) and yaml@2.8.2 (for tailwindcss)
that were missing from the lock file causing npm ci to fail.

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>

* test(regression): update test to use box selection for Combine Text nodes instead of Ctrl/Meta+click for better reliability in Playwright with ReactFlow

* test(fileUploadComponent.spec.ts): increase timeout duration for file rename tests to ensure stability
test(general-bugs-reset-flow-run.spec.ts): add wait time to improve reliability of component build checks

* Template update

* [autofix.ci] apply automated fixes

* Fix test failures

---------

Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: keval shah <kevalvirat@gmail.com>
Co-authored-by: Hamza Rashid <74062092+HzaRashid@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin <criszl@192.168.15.88>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: olayinkaadelakun <olayinka.adelakun@ibm.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
Co-authored-by: Sami Marreed <sami.marreed@ibm.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Mike Pawlowski <mpawlow@ca.ibm.com>
Co-authored-by: Viktor Avelino <64113566+viktoravelino@users.noreply.github.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: himavarshagoutham <himavarshajan17@gmail.com>
Co-authored-by: Jason Tsay <jason.tsay@ibm.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: phact <1313220+phact@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer refactor Maintenance tasks and housekeeping

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants