Commit Graph

55 Commits

Author SHA1 Message Date
5a8c17b22d ci: backport bundle/nightly CI fixes from main (#13206, #13207, #13208) (#13210)
* ci: stop publishing -nightly bundle variants; release bundles on demand (#13206)

Bundles (lfx-arxiv, lfx-duckduckgo) change infrequently enough that a
nightly cadence is overkill. Drop the rename-to-`-nightly` and bundle
publish lanes from the nightly pipeline and add a dedicated
workflow_dispatch-only release_bundles.yml for purposeful releases.

- nightly_build.yml: drop update_bundle_versions.py invocation and the
  src/bundles/*/pyproject.toml git-add guard.
- release_nightly.yml: remove build-nightly-bundles and
  publish-nightly-bundles jobs; untether test-cross-platform and
  publish-nightly-main from them.
- release_bundles.yml (new): build all src/bundles/* wheels, run a
  cross-OS install smoke test, then publish to PyPI under their stable
  names. Tolerates already-published versions so re-runs without a
  version bump are no-ops.

release.yml still owns bundle publishing as part of main releases.

Manual follow-up (PyPI admin): delete the lfx-arxiv-nightly and
lfx-duckduckgo-nightly projects from PyPI.

* ci(release_bundles): build lfx wheel locally for smoke test (#13207)

The release_bundles.yml smoke test installs bundle wheels into a fresh
venv, which makes uv resolve their `lfx>=X.Y,<Z` pin against PyPI. When
bundles are released ahead of a matching lfx (typical case — bundles
ship more often than lfx bumps land on PyPI), the resolve fails:

  Because only lfx<=0.4.3 is available and lfx-arxiv==0.1.0 depends on
  lfx>=0.5.0,<0.6.0, we can conclude that lfx-arxiv==0.1.0 cannot be
  used.

Build the lfx wheel from the current ref in the build-bundles job and
install it alongside the bundle wheels in the smoke test. The lfx
wheel ships as a separate `dist-lfx-smoketest` artifact and is NOT
included in the publish-bundles step — only the `dist-bundles`
artifact gets pushed to PyPI.

* ci(nightly): re-pin bundle lfx deps to lfx-nightly during nightly build (#13208)

The nightly pipeline renames the workspace `lfx` package to `lfx-nightly`
in `src/lfx/pyproject.toml` and the root workspace dep, but leaves each
`src/bundles/*/pyproject.toml`'s `"lfx>=X.Y,<Z"` pin unchanged. With the
workspace `lfx` gone and PyPI still on lfx 0.4.3, the create-nightly-tag
job's `uv lock` fails:

  × No solution found when resolving dependencies for split [...]
  ╰─▶ Because only lfx<=0.4.3 is available and lfx-arxiv depends on
      lfx>=0.5.0,<0.6.0, we can conclude that lfx-arxiv's requirements
      are unsatisfiable.

`update_lfx_version.py` now also rewrites the `lfx` (or already-rewritten
`lfx-nightly`) specifier in every `src/bundles/*/pyproject.toml` to
`lfx-nightly==<dev version>`, mirroring how `update_lf_base_dependency`
re-pins the lfx dep inside `langflow-base`. The lookahead in the regex
prevents matching sibling packages like `lfx-arxiv` / `lfx-duckduckgo`.

No-op when no bundle pyprojects exist (e.g. on main today), so this is
safe to merge ahead of the bundle extraction landing on main. Restored
the guarded `git add src/bundles/*/pyproject.toml` step so the modified
bundle pyprojects ride the same commit/tag as the rest of the nightly
version bumps.

Cherry-pick to release-1.10.0 to unblock nightlies cut from that branch.
2026-05-19 10:12:54 -07:00
c901602bc2 fix(ci): rename bundles to -nightly during nightly build (#13193)
fix: rename bundles for nightly build
2026-05-18 18:32:44 -07:00
1955f8fae5 chore: support Python 3.14 (#13085)
* feat: upgrade Docker images to Python 3.14 (experimental)

## Changes
- Update pyproject.toml: requires-python from <3.14 to <3.15
- Update all 5 Dockerfiles to use Python 3.14:
  - Builder stage: python3.12-trixie-slim → python3.14-trixie-slim
  - Runtime stage: python:3.12-slim-trixie → python:3.14-slim-trixie

## Files Updated
- src/backend/base/pyproject.toml
- docker/build_and_push_base.Dockerfile
- docker/build_and_push.Dockerfile
- docker/build_and_push_backend.Dockerfile
- docker/build_and_push_with_extras.Dockerfile
- docker/build_and_push_ep.Dockerfile

## Rationale
Python 3.14.5 was released on May 10, 2026. Upgrading to the latest
Python version should help reduce CVE vulnerabilities in Docker images.

## Testing Strategy
This is an experimental change to test Python 3.14 compatibility:
- Docker images will use Python 3.14
- CI/CD workflows still test on Python 3.10-3.13
- Nightly build will validate if dependencies work with 3.14
- Can be reverted quickly if issues are found

## Next Steps
- Monitor nightly build for failures
- If successful, update CI/CD workflows to add Python 3.14 to test matrix
- If failures occur, revert and investigate compatibility issues

* chore: support Python 3.14

Bump requires-python upper bound to <3.15 across langflow, langflow-base,
lfx, and langflow-sdk, and add 3.14 to CI test matrices so PRs are gated
on 3.14 compatibility.

Conditional pins for transitive deps without 3.14 wheels at the existing
caps:
- onnxruntime: >=1.26 on 3.14 (existing <1.24 cap retained for 3.10)
- faiss-cpu: >=1.13.2 on 3.14 (existing ==1.9.0.post1 retained for <3.14)

* chore: marker-gate IBM watsonx packages for Python 3.14

ibm-watsonx-ai 1.3.x cannot import on Python 3.14: its StrEnum subclasses
override __init__ in a way that conflicts with 3.14's reworked enum
__set_name__ path (TypeError on KnowledgeBaseFieldRole class creation).

Cap ibm-watsonx-ai, langchain-ibm, and the ibm-watsonx-orchestrate-*
extras at python_version<'3.14' until upstream adapts. Watsonx component
imports are already lazy, so this surfaces only at component-access time
on 3.14, where the existing ImportError handler in
lfx.components.ibm.__init__ degrades it gracefully.

test_model_utils.py imports ChatWatsonx at module top to verify
get_model_name resolves model_id; guard that import so the test
module skips on 3.14 instead of breaking collection.

* [autofix.ci] apply automated fixes

* chore: upgrade remaining Docker images to Python 3.14

build_and_push*.Dockerfile already moved to 3.14 in the merge from
feat/upgrade-python-3.14-docker-images. Apply the same bump to the
dev, devcontainer, and lfx Docker images so all in-repo Dockerfiles
share one Python version.

* [autofix.ci] apply automated fixes

* chore: gate 3.14-broken extras to python_version<'3.14'

cuga (and its transitive fastembed -> py-rust-stemmers source build),
altk/agent-lifecycle-toolkit (re-pulls ibm-watsonx-ai which was already
gated), langchain-pinecone, langwatch, ragstack-ai-knowledge-store, and
OpenDsStar all pin themselves below 3.14 upstream. Without a marker
guard, the workspace lock still tries to install them and a Docker
`uv sync` then attempts source builds that require Rust (CI Docker
test failure with py-rust-stemmers 0.1.5).

Add python_version<'3.14' (or <'3.13' for ragstack) to each pin so
those packages are simply omitted from the 3.14 install set until
upstream catches up. uv pip check is now clean on 3.14.2.

* test: skip test_altk_agent on Python 3.14

altk (agent-lifecycle-toolkit) is gated to python_version<'3.14'
upstream and now via the langflow-base [altk] extra marker. The test
imports altk at module top to exercise ALTKAgentComponent; guard the
import so collection skips on 3.14 instead of failing.

* test: skip remaining altk tests on Python 3.14

Three more test modules import lfx.base.agents.altk_* at module top,
which transitively imports altk. Add the same module-level skip guard
as test_altk_agent.py:
- test_altk_agent_logic.py
- test_altk_agent_tool_conversion.py
- test_conversation_context_ordering.py

* fix(calculator): replace removed ast.Num with ast.Constant for Python 3.14

ast.Num was deprecated in Python 3.8 in favor of ast.Constant and
removed entirely in 3.14. The calculator tool and its core walker
crashed on 3.14 with 'module ast has no attribute Num'.

Switch the isinstance checks to ast.Constant + isinstance(node.value,
(int, float)), and drop the now-dead ast.Num backwards-compat branch
in calculator_core.py (the ast.Constant branch already handles every
input it would have matched). Update the parser unit-test fixtures
to construct ast.Constant nodes.

* [autofix.ci] apply automated fixes

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

* test: skip LangWatch HTTP instrumentation tests on Python 3.14

langwatch is gated to python_version<'3.14' upstream. The
TestLangWatchHttpInstrumentation class patches langwatch.setup and
langwatch.trace inside a fixture, which requires langwatch to be
importable; on 3.14 the test errors with ModuleNotFoundError.

Guard the class with a skipif on langwatch availability.

* test: allow IBM and altk components to be missing on Python 3.14

test_all_modules_importable enforces that every component in __all__
imports cleanly. On 3.14 the ibm-watsonx-ai, langchain-ibm, and altk
packages are gated upstream and intentionally not installed, so the
WatsonxAI, WatsonxEmbeddings, and ALTKAgent components fail to import
as designed.

- test_all_components_in_categories_importable: accept a known-gated
  deny-list on 3.14 instead of failing.
- test_all_lfx_component_modules_directly_importable: extend the
  existing 'missing optional dependency' allowlist with altk,
  langchain_ibm, and ibm_watsonx_ai.

* fix(lfx): pass ensure_exists to user_cache_dir for Python 3.14

Python 3.14 tightened PurePath.__init__ to reject unknown keyword
arguments. The KeyedWorkerLockManager constructor was passing
ensure_exists=True to Path() instead of user_cache_dir(), which
silently worked on 3.10-3.13 but raises TypeError on 3.14 and also
meant the cache directory was never actually being created.

Move the kwarg to user_cache_dir() where it belongs and update the
two unit tests that asserted the buggy call shape.

* [autofix.ci] apply automated fixes

* test: accept either ZIP or JSON error path on Python 3.14

Python 3.14's zipfile.is_zipfile() now validates the central-directory
signature in addition to EOCD, so the garbage+EOCD payload no longer
passes the is_zipfile() dispatch in the /flows/upload/ route. The
endpoint still returns 400 with a descriptive detail (now from the JSON
branch); only the message wording differs, which the test was asserting
verbatim.

* fix(lfx): normalize cors_origins ['*'] back to '*' on Python 3.14

Pydantic-settings on Python 3.14 parses the env var '*' into ['*']
before the cors_origins field validator runs (the list[str] | str union
resolves differently than on 3.10-3.13). Collapse that back to the
bare-string wildcard so downstream consumers — including
warn_about_future_cors_changes and the test suite — see the same shape
on every supported Python version.

---------

Co-authored-by: vijay kumar katuri <vijay.katuri@ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-13 22:23:39 +00:00
a3723911e6 fix: Restore resolved release-branch ref in nightly build (#13064) 2026-05-11 12:14:54 -03:00
6e4475c139 fix: Unblock nightly install on macOS x86_64 due OpenDsStar (#13061) 2026-05-11 12:11:44 -03:00
e555e470d9 fix: Cherry-pick nightly SDK build fixes to main (#12491)
* fix: Build and install the langflow-sdk for lfx (fixes nightly) (#12481)

* fix: Build and install the langflow-sdk for lfx

* Publish sdk as a nightly

* Update ci.yml

* Update python_test.yml

* Update ci.yml

* fix: Properly grep for the langflow version (#12486)

* fix: Properly grep for the langflow version

* Mount the sdk where needed

* Skip the sdk

* [autofix.ci] apply automated fixes

* Update setup.py

* fix(docker): Remove broken npm self-upgrade from Docker images (#12309)

* fix: replace grep -oP with sed for Node.js version extraction in Docker builds (#12331)

The grep -oP (PCRE regex) command fails in the python:3.12.12-slim-trixie
Docker base image because PCRE support is not available in the slim variant.

This replaces grep -oP with portable sed -nE in all 5 Dockerfiles and adds
an empty version guard to fail fast with a clear error message instead of
producing a broken download URL.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: vjgit96 <vijay.katuri@ibm.com>
2026-04-03 14:25:33 -04:00
5aabc74f94 feat: Add Windows Playwright tests to nightly builds (#12264)
* feat: Add Windows Playwright tests to nightly builds

- Add windows-latest to typescript_test.yml runner options
- Add shell: bash to all script steps for cross-platform compatibility
- Split Playwright installation into OS-aware steps (Linux uses --with-deps, Windows/macOS/self-hosted don't)
- Fix artifact naming with OS prefix to prevent conflicts: blob-report-${{ runner.os }}-${{ matrix.shardIndex }}
- Split frontend-tests into separate Linux and Windows jobs in nightly_build.yml
- Add ref parameter to all test jobs to checkout code from release branch
- Add resolve-release-branch to needs dependencies
- Update Slack notifications to handle both Linux and Windows test results
- Windows tests are non-blocking (not checked in release-nightly-build condition)
- Update .secrets.baseline with new line number (263 -> 347) for LANGFLOW_ENG_SLACK_WEBHOOK_URL

Fixes LE-566

* fix: Use contains() for self-hosted runner detection

- Replace exact string equality (==, !=) with contains() for substring matching
- Fixes issue when inputs.runs-on is array format: '["self-hosted", "linux", "ARM64", ...]'
- Ensures self-hosted Linux runners correctly skip --with-deps flag

Addresses CodeRabbit feedback on PR #12264
2026-03-20 16:35:05 -04:00
8665ae1b33 fix: nightly now properly gets 1.9.0 branch (#12215)
before it was attempting to pull release-notes as letters are alphanumerically after numbers when we sort -V then grab tail
now we only look at branch names that follow the pattern '^release-[0-9]+\.[0-9]+\.[0-9]+$'
2026-03-17 11:07:39 -04:00
8dbcbb0928 chore: release nightlies from of release branch (#12181)
* chore: release nightlies from of release branch

in preperation for the new release cycle strategy we will move the nightly to be run off the latest release branch.

One caveat worth documenting: When we create the release branch we need to bump the verions for base and main immediately or else the ngihtly will run off the branch but will use a preveious release tag

I also do not know how to deal with `merge-hash-history-to-main` in this case

* chore: address valid code rabbit comments

add clear error when branch does not exist
make sure valid inputs is respected in the rest of the jobs/steps
release_nightly.yml now uses nightly_tag_release instead of the old nightly_tag_main
2026-03-16 13:21:46 +00:00
67d56947e8 chore: remove hash history (#12183)
* Remove hash history

Custom component checks will be done directly through the
component index. Removing hash history as it no longer
fits into any planned functionality.

* [autofix.ci] apply automated fixes

* baseline format fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-16 10:42:08 +00:00
1db3ae043e chore: use self hosted ephemeral runner (#11253)
* chore: use self hosted ephemeral runner

In November and periodically since we have ran into issue with runners hanging and not properly cleaning themselves up causing our CI/CD pipeline to fail due to timeout or self canceling.

* chore: add actionlint for selfhosted runners

* fix: skip nightly test when skip flags are set

* fix: json string format

* chore: change to use run_on string directly

${{ inputs['runs_on'] || github.event.inputs['runs_on'] || 'ubuntu-latest' }}

* chore: use self hosted ephemeral runner

* chore: use self hosted ephemeral runner

* chore: use self hosted ephemeral runner

* chore: revert ephemeral runner testing changes, restore main-only guards

---------

Co-authored-by: vijay kumar katuri <vijay.katuri@ibm.com>
2026-02-18 16:29:20 -05:00
41caeb9c01 ci: use correct labeling for nightly hash update workflow step (#11492)
* Fix merging of nightly hash update to main

* Add testing flag for just merge pr

* fix'

* try conditional logic to skip jobs

* fix conditional

* checkout new branch only pull in night hash

* add hash history back

* Remove test flag

* fix conditionals
2026-02-05 15:42:05 +00:00
a097b685fd ci: add hash history script to nightly workflow (#11409)
* Add nightly hash history script to nightly workflow

* [autofix.ci] apply automated fixes

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

* Add lfx-nightly to script

* Handle first run

* Try fixing version on nightly hash history

* remove lfx lockfile since it does not exist

* Get full version in build, handle the [extras] in pyprojects

* [autofix.ci] apply automated fixes

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

* language update

* Handle extras in langflow-base dependency in all workflows

* [autofix.ci] apply automated fixes

* Fix import in lfx status response

* [autofix.ci] apply automated fixes

* Use built artifact for jobs, remove wait period

* use [complete] when building test cli job

* skip slack message added to success

* Update merge hash histry job to only run when ref is main

* Updates pyproject naming to add nightly suffix

* [autofix.ci] apply automated fixes

* Fix ordering of lfx imports'

* [autofix.ci] apply automated fixes

* Ah, ignore auto-import fixes by ruff

* [autofix.ci] apply automated fixes

* update test to look at _all_ exported instead

* [autofix.ci] apply automated fixes

* perf: Limit enum options in tool schemas to reduce token usage (#11370)

* fix current date tokens usage

* Update src/lfx/src/lfx/io/schema.py

* remove comment

---------

Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>

* update date test to reflect changes to lfx

* ruff

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Himavarsha <40851462+HimavarshaVS@users.noreply.github.com>
2026-01-27 16:27:59 +00:00
fe124ed253 fix: nightly temporalio dep (#11251)
* fix: temporalio dep missing for macos-amd64

temporalio dep missing for macos-amd64

* chore: pin pydantic-ai version dependent on system

* chore: add ci solution again

* chore: use macos-15-intel runner explicitly

* chore: revert back to working state

* chire: code rabbit refinements

* fix: properly skip test when skip flags are set

* chore: code rabbit refinements stable
2026-01-08 21:55:17 +00:00
5211855941 chore: merge 1.7.1 back into main (#11129)
* docs: update component links to individual pages (#10706)

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

This reverts commit 0bc27d6eab.

* [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 423419e3d8.

* 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 9c8b1d1aa1.

* Revert "Update reactflowUtils.ts"

This reverts commit 6be7ab95a5.

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

* 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>
2025-12-22 23:44:51 +00:00
12d17dc0db fix(ci): Allow prerelease packages and fix runtime type imports (#10945)
Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-10 12:43:00 -03:00
79d02f201b ci: bump actions/checkout to v6 (#10697) 2025-11-24 12:27:06 +00:00
bfbaeab63b fix: Remove remote docling VLM component (#10547)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
2025-11-10 14:56:49 -03:00
f4ba646f21 build: upgrade to 1.7.0 (#10418)
* Update version to 1.6.7

* bump lfx too

* choosed current versino in openapi.json of 1.6.5 vs 1.6.7

* choosed current versino in openapi.json of 1.6.5 vs 1.6.7

* more version bumps

* missed this one

* change pypi_nightly_tag.py version to read it from pyproject.toml directly

* get_latest_version was missing arg build_type

* naming error

* using lfx logic to explore for MAIN_PAGE

* using lfx logic to explore for MAIN_PAGE

* allow --prerelease

* change script in nightly_build

* [autofix.ci] apply automated fixes

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

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

---------

Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local>
Co-authored-by: Olfa Maslah <olfamaslah@macbookpro.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-04 18:46:11 +00:00
fa21c4e5f1 ci: Improve Slack notifications for nightly build status (#10244) 2025-10-21 22:45:12 -03:00
b3eb218f2e ci: ensure nightly docker builds are published when running via cron job (#10292)
Ensure nightly docker builds are published when running via cron job
2025-10-15 20:23:08 +00:00
3fe1fa7d01 ci: add nightly_build failure notification (#10158)
* ci: add nightly_build failure notification

add nightly_build failure notification that should be sent to #langflow-eng

* chore: address jordan and coderabbit comments

---------

Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
2025-10-08 18:50:36 +00:00
6ce943e0b3 ci: allow releasing from branch (#9988)
* Try skipping gha cache

* simplify docker builds

* remove workflow dispatch options from workflows that shouldn't be run manually

* Update nightly docker build and add option to skip testing for nightly releases

* simplify version fetching for both release workflows

* revert docker-build v1 to original

* remove removed input

* Add push to registry flag for full workflow and add warning in old docker build workflow

* Add uv setup

* Add uv setup again

* Try esbuild js native build

* require a valid tag for release

* Echo inputs

* Reference inputs correctly

* Try updating conditional

* removes lfx temporarily for the 1.6 release

* Fix boolean comparison

* Add flag to allow creation of github release after pypi already exists

* Add always to make it run

* Use correct tag and remove commit since it's the tag for release

* allow updates

* Revert the lfx removals and flags to allow building without releasing

* standardize conditional inputs

* clean version check

* temporary skip of jobs in release; revert me

* Add arm64 to options

* Try rustflags env var

* echo the should_run_ci as well
2025-09-30 20:58:02 +00:00
7792b7aeaf build(deps):(deps): bump actions/checkout from 4 to 5 (#9646)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-09-18 16:02:36 -03:00
be18541415 chore: Update CI workflows to use bigger runner (#9915) 2025-09-18 16:01:18 -03:00
928e549260 ci: change default to ubuntu-latest (#9843) 2025-09-12 14:39:39 -03:00
b42c5f0245 ci: Add configurable runner options for CI workflows (#9842) 2025-09-12 13:29:30 -03:00
52856ff964 ci: Add LFX release workflow and update nightly build script (#9663) 2025-09-03 16:39:07 -03:00
aaaaed1e59 feat: introduce lfx package (#9133)
* docs: add README for lfx CLI tool

- Created a comprehensive README for the lfx command-line tool, detailing installation instructions, command usage, and examples for both `serve` and `execute` commands.
- Included sections on input sources and development setup to enhance user understanding and facilitate contributions.

* fix: update import paths and test assertions in queryInputComponent.spec.ts

- Modified import statements to reflect the new module structure, changing `langflow` to `lfx` for consistency.
- Adjusted test assertions to ensure proper syntax and functionality, enhancing the reliability of the test suite.

* fix: streamline test assertions and update import paths in tabComponent.spec.ts

- Refactored test assertions for tab visibility to improve readability and maintainability.
- Updated import paths from `langflow` to `lfx` for consistency with the new module structure.
- Ensured proper syntax in test cases to enhance the reliability of the test suite.

* fix: skip table input component test due to UI event conflicts

- Marked the test for user interaction with the table input component as skipped due to conflicts between double-click and single-click events.
- Added a comment to indicate the need for further investigation into event handling issues affecting this branch.

* fix: update CLI test cases to include 'serve' command

- Modified test cases in `test_serve_simple.py` to include the 'serve' command in the CLI invocation, ensuring accurate testing of command behavior.
- Adjusted assertions to maintain consistency and reliability in test outcomes when handling various scenarios, such as missing API keys and invalid JSON inputs.

* feat: implement LFX nightly release workflow in GitHub Actions

- Added a new job for releasing LFX nightly builds, including steps for checking out code, setting up the environment, installing dependencies, verifying versioning, building the package, testing the CLI, publishing to PyPI, and uploading artifacts.
- Introduced a wait step for PyPI propagation to ensure successful package availability post-release.
- Refactored existing release job structure to accommodate the new LFX workflow while maintaining the Langflow nightly base release process.

* refactor: Simplify flow execution validation by removing unnecessary asyncio.wait_for calls

Updated the validate_flow_execution function to directly use the client.post and client.get methods with a timeout parameter, improving code readability and maintainability. This change eliminates redundant timeout handling while ensuring consistent timeout values across API calls.

* refactor: Enhance template tests for improved structure and validation

Refactored the template tests in `test_starter_projects.py` to utilize parameterization for better readability and maintainability. Introduced helper functions to retrieve template files and disabled tracing for all tests. Updated individual test methods to validate JSON structure, flow execution, and endpoint validation, ensuring comprehensive coverage of template functionality. This change streamlines the testing process and enhances the robustness of the test suite.

* refactor: Update project metadata and import paths in starter project JSON files

Modified the metadata section in multiple starter project JSON files to reflect updated code hashes and module paths, transitioning from 'lfx' to 'langflow' components. This change enhances consistency across the codebase and ensures that the correct modules are referenced for improved maintainability and clarity.

* chore: Update template test commands to utilize parallel execution

Modified the commands in the Makefile and CI workflows to include the `-n auto` option for pytest, enabling parallel test execution for the starter project template tests. This change enhances test performance and efficiency across the codebase.

* chore: Remove  news-aggregated.json file

Deleted the news-aggregated.json file

* chore: Update .gitignore to include new files

Added entries for *.mcp.json, news-aggregated.json, and CLAUDE.md to the .gitignore file to prevent these files from being tracked in the repository.

* refactor: Update module paths and code hashes in starter project JSON files

Modified the metadata section in multiple starter project JSON files to transition module paths from 'langflow' to 'lfx' components and updated code hashes accordingly. This change enhances consistency and maintainability across the codebase, ensuring that the correct modules are referenced.

* refactor: Remove debug logging from module processing function

Eliminated the debug log statement in the _process_single_module function to streamline logging output. This change enhances code clarity and reduces unnecessary log clutter during module processing.

* refactor: Update import paths and clean up component exports

Modified import statements to transition from 'langflow' to 'lfx' in the field_typing module and adjusted component exports in various modules by removing unused components. This change enhances code organization and maintainability across the codebase.

* fix: Add timeout header to flow execution validation test

Updated the headers in the flow execution validation test to include a timeout value. This change ensures that the test accurately reflects the expected behavior of the validate_flow_execution function when handling timeouts, enhancing the robustness of the test suite.

* fix: Add timeout to mock client delete assertion in flow execution validation test

Updated the mock client delete assertion in the flow execution validation test to include a timeout value. This change ensures that the test accurately reflects the expected behavior when handling timeouts, contributing to the robustness of the test suite.

* refactor: Update Dockerfile to use Alpine-based Python image and install build dependencies

Changed the base image in the Dockerfile to an Alpine-based Python image for a smaller footprint. Added installation of necessary build dependencies for Python packages on Alpine. Updated user creation to follow best practices for non-root users. This change enhances the efficiency and security of the Docker build process.

* refactor: move development mode toggle functions in settings to lfx

Introduced `_set_dev` and `set_dev` functions in `settings.py` to manage the development mode flag. Updated import path in `base.py` to reflect the new function location. This change enhances the configurability of the development environment.

* feat: Register SettingsServiceFactory in service manager

Added registration of the SettingsServiceFactory in the service manager if it is not already present. This change ensures that the settings service is available for retrieval, enhancing the functionality of the service management system.

* feat: Add global variable validation option to serve and execute commands

Introduced a new option to the serve and execute commands to check global variables for environment compatibility. This enhancement allows users to validate their configurations before execution, improving robustness and error handling in the application. Validation errors are reported clearly, and users can choose to skip this check if desired.

* refactor: Remove unused development mode functions from settings

Eliminated the `_set_dev` and `set_dev` functions from `settings.py` and their associated validator in `base.py`. This change simplifies the code by removing unnecessary functions, enhancing maintainability and clarity in the settings management.

* fix: Update load_graph_from_path to include verbose parameter in JSON handling

Modified the `load_graph_from_path` function to accept the file suffix as an argument when loading JSON graphs. Updated related tests to ensure correct behavior with the new parameter, including assertions for verbose logging. This change enhances error handling and logging clarity during graph loading operations.

* [autofix.ci] apply automated fixes

* refactor: Update import paths for version utilities in settings

Changed the import statements in `base.py` to source version utility functions from `lfx.utils.version` instead of `langflow.utils.version`. Additionally, added the `is_pre_release` function to `version.py` to check for pre-release indicators in version strings. This refactor improves code organization and aligns with the updated module structure.

* feat: Add BuildStatus schema for API compatibility

Introduced a new BuildStatus class in the schema module to define the structure for build status responses. This addition enhances API compatibility by providing a standardized way to convey build status, including optional message and progress fields. Updated import paths in the cache utility to reflect the new schema location.

* refactor: Update import path for EventManager in component_tool.py

Changed the import statement for EventManager to reflect its new location in the lfx.events module. This update improves code organization and maintains consistency with the updated module structure.

* refactor: Improve file upload handling in SaveToFileComponent

Updated the _upload_file method to dynamically import necessary functions for file upload, enhancing error handling for missing Langflow functionality. Refactored session management to use async context with session_scope, improving code clarity and maintainability.

* refactor: Enhance import handling in MCPToolsComponent for Langflow dependencies

Updated the MCPToolsComponent to dynamically import Langflow-related functions within a try-except block, improving error handling for missing functionality. This change ensures that users receive a clear message when the Langflow MCP server features are unavailable, enhancing robustness and maintainability of the code.

* refactor: Update JSON handling in JSONDocumentBuilder to use orjson directly

Replaced the use of orjson_dumps with orjson.dumps for serializing documents in the JSONDocumentBuilder class. This change improves performance and simplifies the code by directly utilizing orjson for JSON serialization, enhancing overall code clarity and maintainability.

* refactor: Improve error handling for Langflow Flow model import in get_flow_snake_case

Updated the get_flow_snake_case function to dynamically import the Flow model within a try-except block. This change enhances error handling by providing a clear message when the Langflow installation is missing, improving the robustness and maintainability of the code.

* chore: Add orjson as a dependency in project configuration

Included orjson in both the uv.lock and pyproject.toml files to ensure proper JSON handling and serialization capabilities. This addition enhances the project's performance and maintains consistency in dependency management.

* [autofix.ci] apply automated fixes

* refactor: Convert execute function to async and update JSON flow loading

Refactored the execute function to be asynchronous using syncify, allowing for non-blocking execution. Updated the JSON flow loading to utilize aload_flow_from_json for improved performance. Adjusted the results handling to support asynchronous graph execution, enhancing overall code efficiency and maintainability.

* refactor: Enhance import handling for Langchain dependencies in validate.py and constants.py

Updated the validate.py file to suppress LangChainDeprecationWarning during dynamic imports. In constants.py, renamed DEFAULT_IMPORT_STRING for clarity and added a conditional import string based on the presence of the Langchain module. These changes improve error handling and maintainability of the code.

* refactor: Improve error handling and output formatting in execute function

Enhanced the execute function by introducing a dedicated output_error function for consistent error messaging in both JSON and verbose formats. Updated error handling throughout the function to utilize this new method, improving clarity and maintainability. Adjusted the handling of input sources and validation errors to provide more informative feedback to users.

* feat: Add simple chat flow example with JSON and Python integration

Introduced a new simple chat flow example demonstrating the use of ChatInput and ChatOutput components. This includes a JSON configuration file and a Python script that sets up a basic conversational flow, enhancing the documentation and usability of Langflow for users. Additionally, integration tests have been added to validate the execution of the flow, ensuring robust functionality.

* refactor: Update message extraction to use json.dumps for improved serialization

Modified the extract_message_from_result function to utilize json.dumps with ensure_ascii=False for better JSON serialization of message content. This change enhances the output formatting and maintains consistency in handling message data.

* feat: Add initial graph module with core components

Introduced a new graph module in Langflow, including essential classes such as Edge, Graph, Vertex, and specific vertex types (CustomComponentVertex, InterfaceVertex, StateVertex). This addition enhances the modularity and functionality of the codebase, laying the groundwork for future graph-related features.

* feat: Add pytest collection modification for automatic test markers

Implemented a new function to automatically add markers to test items based on their file location. This enhancement categorizes tests into unit, integration, and slow tests, improving test organization and clarity in both the backend and lfx test suites.

* chore: Update test configuration for improved organization and clarity

Modified the test paths and markers in both the main and lfx pyproject.toml files. Added new markers for unit, integration, and slow tests, enhancing test categorization. Removed the redundant pytest.ini file to streamline configuration management.

* chore: Update project description in pyproject.toml

Revised the project description to provide a clearer overview of LFX (Langflow Executor) as a lightweight CLI tool for executing and serving Langflow AI flows. This change enhances the documentation and helps users better understand the project's purpose.

* [autofix.ci] apply automated fixes

* chore: Remove redundant per-file ignores from pyproject.toml

Eliminated unnecessary linting ignores for scripts and backend tests in the pyproject.toml file. This streamlines the configuration and improves clarity in the project's linting setup.

* chore: Update Dockerfile project description for clarity

Revised the project description in the Dockerfile to reflect the correct name of the CLI tool as "LFX - Langflow Executor CLI Tool." This change improves clarity and aligns with the project's branding.

* feat: Introduce 'run' command for executing Langflow workflows

Renamed the 'execute' command to 'run' in the lfx CLI for consistency and clarity. Updated the README documentation to reflect this change, including command usage examples. Added a new run.py module that implements the run command functionality, allowing users to execute Langflow workflows from Python scripts or JSON files. Comprehensive unit and integration tests have been added to ensure robust functionality and error handling for the new command.

* fix: Update test command in Makefile to include all tests

Modified the test command in the Makefile to run all tests located in the 'tests' directory instead of just the 'unit' tests. This change ensures comprehensive test coverage during the testing process.

* chore: Clean up pyproject.toml formatting and linting ignores

Adjusted the formatting of the members list in the [tool.uv.workspace] section for improved readability. Removed a redundant linting ignore from the ignore list, streamlining the configuration and enhancing clarity in the project's linting setup.

* docs: Update README.md with environment variable requirement and command examples

Added a note about the necessity of setting the `LANGFLOW_API_KEY` environment variable before running the server. Updated command examples to reflect the correct flow ID display and included additional options for the `uv run lfx` commands, enhancing clarity and usability for users.

* feat: Add LFX release workflow and release script

Introduced a comprehensive GitHub Actions workflow for managing LFX releases, including version validation, testing across multiple Python versions, building and publishing to PyPI, and creating Docker images. Additionally, added a Bash script for local release preparation, which updates versioning in relevant files, runs tests, and facilitates the release process with dry-run capabilities. This enhancement streamlines the release workflow and ensures robust version management.

* feat: Add hypothesis to development dependencies

Included the 'hypothesis' library in both the uv.lock and pyproject.toml files to enhance testing capabilities with property-based testing. This addition supports more robust test coverage and improves the overall quality of the codebase.

* feat: Enhance Makefile with release operations and version bumping

Added new targets to the Makefile for checking the current version, preparing for releases, and bumping the version. The `prepare_release` target outlines next steps for the release process, while `bump_version` allows for version updates directly from the Makefile, improving the release workflow and version management.

* Temporarily modify nightly build to publish release lfx

* fix version

* fix versions

* skip tests

* Revert changes to run release lfx

* refactor: Change logger warning to trace for environment variable loading

Updated the logging level from warning to trace in the `update_params_with_load_from_db_fields` function to provide more granular logging when loading variables from environment variables due to the unavailability of the database. This change enhances the debugging capabilities without altering the functionality.

* chore: Update project description in pyproject.toml

Modified the project description in the pyproject.toml file for clarity, removing the acronym "LFX" to enhance understanding of the Langflow Executor's purpose as a CLI tool for executing and serving Langflow AI flows.

* docs: Update README for inline JSON format clarification

Revised the README to reflect changes in the inline JSON format for commands, ensuring consistency in the structure by including "data" as a key for nodes and edges. This update enhances clarity for users on how to properly format their JSON input when using the CLI.

* fix: Update message extraction logic in script_loader.py

Refactored the `extract_message_from_result` and `extract_text_from_result` functions to improve message handling. The changes include parsing JSON directly from the message's model dump and adding type checks to handle both dictionary and Message object types. This enhances robustness and ensures proper extraction of text content.

* feat: Add complex chat flow example and enhance test coverage

Introduced a new script `complex_chat_flow.py` demonstrating a multi-component chat flow, showcasing the integration of `ChatInput`, `TextInput`, `TextOutput`, and `ChatOutput`. Enhanced unit tests in `test_script_loader.py` to validate loading and execution of real scripts, ensuring proper graph structure and result extraction. This improves the robustness of the testing framework and provides a practical example for users.

* refactor: Enhance unit tests for FastAPI serve app with real graph data

Updated unit tests in `test_serve_app.py` to utilize real graph data from JSON files, improving test accuracy and coverage. Replaced mock graph instances with real graphs created from payloads, ensuring better alignment with actual application behavior. This change enhances the robustness of the testing framework and prepares for future feature expansions.

* refactor: Update unit tests to utilize real graph data and improve structure

Refactored unit tests in `test_serve_components.py` to replace mock graph instances with real graphs created from JSON data. This change enhances the accuracy and robustness of the tests, ensuring better alignment with actual application behavior. Additionally, removed the `create_mock_graph` function in favor of a new `create_real_graph` function, streamlining the test setup process.

* test: Increase timeout for selector in Prompt Chaining tests

Updated the timeout for the selector waiting for "built successfully" in the Prompt Chaining integration tests from 30 seconds to 60 seconds. This change aims to enhance test reliability by allowing more time for the expected output to appear, particularly in environments with variable performance.

* feat: Add nightly build and publish workflow for LFX

Implemented a new GitHub Actions workflow for building and publishing the LFX package nightly. This includes steps for checking out the code, setting up the environment, installing dependencies, verifying the package name and version, building the distribution, testing the CLI, and publishing to PyPI. The workflow is designed to run conditionally based on input parameters, enhancing the CI/CD process for LFX.

* refactor: Remove redundant re-export comments across multiple modules

* fix: Update __all__ to include Component in custom_component module

* Move all of message_original to lfx

* refactor: Update component module to improve imports and maintain backward compatibility

* refactor: Clean up imports and remove unnecessary TYPE_CHECKING block

* refactor: Remove enhanced Data class and update imports for backward compatibility

* refactor: Enhance pytest configuration to check for langflow installation and update error handling

* Refactor import statements in component modules to use new import structure

- Updated import paths in various component  files to reflect the new structure under .
- Ensured all components are correctly importing their respective modules.
- Added unit tests for dynamic imports and import utilities to validate the new import system.

* [autofix.ci] apply automated fixes

* fix: update import paths to use the new lfx structure across multiple components

* style: run pre-commit on all files

* fix: move dotdict import inside TYPE_CHECKING block for better performance

* feat: add MCP session management settings and update knowledge bases directory

* fix: update module paths and code hashes in Knowledge Ingestion and Retrieval JSON files

* fix: reorder imports for better organization and readability

* fix: update KBRetrievalComponent module path and code hash

- Changed module path from `langflow.components.data.kb_retrieval.KBRetrievalComponent` to `lfx.components.data.kb_retrieval.KBRetrievalComponent`.
- Updated code hash to reflect recent changes in the KBRetrievalComponent implementation.
- Refactored import statements and adjusted the logic for handling knowledge bases and embeddings.

* fix: move parse_api_endpoint import inside try block for better error handling

* refactor: clean up base.py by removing unused imports and code

* fix: update version and revision in pyproject.toml and uv.lock files

* refactor: remove unused validation functions and imports from validate.py

* fix: handle langflow import conditionally and adjust code references

* fix: update version to 0.1.3 in pyproject.toml and uv.lock files

* refactor: update code handling in utils.py for custom components

- Refactored the _generate_code_hash function to remove the class_name parameter, simplifying its signature and improving clarity.
- Introduced a new function, get_module_name_from_display_name, to convert display names into valid module names.
- Updated references to custom_component.code to custom_component._code for consistency across the codebase.
- Enhanced error handling during code hash generation to log exceptions, improving debugging capabilities.
- Adjusted metadata handling in build_custom_component_template functions to derive module names when not provided, ensuring accurate metadata generation.

* [autofix.ci] apply automated fixes

* refactor: update type hinting for Graph in load.py

* refactor: implement lazy initialization for storage service in ParameterHandler

* feat: add timing option to run function for performance measurement

* refactor: implement lazy initialization for tracing service in Graph class

* feat: add lazy initialization for tracing service in CustomComponent

* refactor: implement lazy initialization for storage service in Vertex and loading functions

* bump: update version to 0.1.4 in pyproject.toml and uv.lock

* feat: add UUID generation for session_id in LCAgentComponent

* fix: import sqlmodel conditionally in get_flow_snake_case to avoid ImportError

* feat: conditionally import model components to enhance modularity and avoid ImportError

* feat: implement lazy loading for agent and data components to enhance modularity

* fix: conditionally filter OpenAI inputs and handle empty case in AgentComponent

* refactor: enhance verbose logging and error handling in run function

* fix: update USER_AGENT assignment to use importlib for better compatibility

* fix: change async methods to synchronous in Component class for toolkit conversion

* feat: add complete agent example with setup instructions and dependencies in README

* [autofix.ci] apply automated fixes

* fix: update import paths from langflow to lfx for consistency across test files

* fix: bump version to 0.1.5 in pyproject.toml and uv.lock

* fix: enhance _get_tools method to handle both sync and async calls

* fix: bump version to 0.1.6 in pyproject.toml and uv.lock

* fix: streamline _get_tools method to handle sync and async calls more efficiently

* feat: implement lazy loading for searchapi components

* feat: add dynamic imports and lazy loading for component modules

* feat: implement lazy loading for NotDiamondComponent

* fix: add type check for source_code in _generate_code_hash function

* test: add error handling for missing langchain-openai dependency in class import

* fix: update error handling for None source in _generate_code_hash function and correct import paths

* fix: improve error handling for dynamic imports and update import paths in tests

* fix: enhance error handling for dynamic imports and ensure proper caching behavior

* fix: improve error handling for missing modules in import_mod function

* fix: enhance dynamic imports with on-demand discovery and improved error handling

* fix: update error handling in tests to raise ModuleNotFoundError for missing dependencies

* fix: update version to 0.1.7 in pyproject.toml and uv.lock

* fix: update version to 0.1.8 in pyproject.toml and uv.lock; enhance README with flattened component access examples

* [autofix.ci] apply automated fixes

* fix: update import path for Graph in composio_base.py

* merge the createl-lfx changes into the Component

* update code in templates

* feat: Add simple agent flow example in test data

* feat: Add LFX commands as a sub-application in the main app

* feat: Add tests for simple agent workflow execution via lfx run

* fix: update import for KeyedMemoryLockManager to maintain consistency

* refactor: remove unused imports from various modules for cleaner code

* refactor: remove unused import of aget_messages for cleaner code

* update manager in lfx

* update logger to use lfx

* rename lfx_logging to logs

* refactor: remove loguru dependency and add structlog

* chore: update starter project files for consistency

* refactor: update logger calls to use exc_info for better error reporting

* refactor: update import paths to use lfx module instead of langflow

* move vector store components for various databases

- Implement PGVector store component for PostgreSQL with search capabilities.
- Implement Pinecone store component with support for various distance strategies.
- Implement Qdrant store component with customizable server settings.
- Implement Supabase store component for vector storage and retrieval.
- Implement Upstash store component with metadata filtering options.
- Implement Vectara store component with RAG capabilities and document management.
- Implement Weaviate store component with support for API key authentication and capitalized index names.
- Add dynamic imports for all new components to facilitate lazy loading.

* refactor: reorder import statements for better organization

* refactor: improve dynamic import handling for Chroma components

* refactor: update test for ChromaVectorStoreComponent to check for import errors

* refactor: update __init__.py to import all components from lfx and improve attribute forwarding

* refactor: add forwarding for langflow components to lfx counterparts

* refactor: simplify mock setup in component_setup method

* refactor: update module references from langflow.logging to lfx.logs in test_logger.py

* refactor: enhance test structure for simple agent workflow in lfx run

* Refactor logging imports and update code snippets in JSON configuration files

- Changed logger import from `lfx.lfx_logging.logger` to `lfx.logs.logger` in multiple components.
- Updated code snippets in Travel Planning Agents, ChatInputTest, LoopTest, and TwoOutputsTest JSON files to reflect the new logger import.
- Ensured consistency in code formatting and structure across the affected files.

* docs: update README to clarify installation and usage instructions

* refactor: update import paths from langflow to lfx in multiple component __init__.py files

* refactor: improve test structure and organization in test_run_command.py

* refactor: clean up unused imports and improve code organization in kb_ingest.py

* refactor: update test data structure in ChatInputTest.json, LoopTest.json, and TwoOutputsTest.json

* refactor: update dynamic imports and __all__ exports in vectorstores __init__.py

* refactor: clean up and organize test files for MCP and KB components

* refactor: update import paths in test_kb_ingest.py and test_kb_retrieval.py to use lfx namespace

* refactor: update structure and organization of Knowledge Ingestion JSON file

* [autofix.ci] apply automated fixes

* rename lfx.logs to lfx.log to avoid gitignore

* refactor: alias run command in LFX app to lfx_run for clarity

* refactor: update import path for validate_code to improve clarity

* [autofix.ci] apply automated fixes

* revert docs changes for now

* [autofix.ci] apply automated fixes

* fix: mark DataFrame as unhashable due to mutability

* refactor: update function signatures to use keyword-only arguments for clarity

* fix: update import paths from langflow to lfx for consistency

* refactor: reorganize imports and ensure create_input_schema_from_json_schema is consistently defined

* fix: update import statement for Action to use the correct path

* refactor: remove TYPE_CHECKING import for DataFrame to streamline code

* refactor: clean up import statements for improved readability

* refactor: remove unused imports and enhance code clarity

* refactor: improve test structure and organization in test_import_utils.py

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

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

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

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

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

* fix: remove defensive comment in logger configuration for clarity

* fix: update project templates for consistency and clarity

* fix: refactor field handling in set_multiple_field_advanced and set_current_fields for improved clarity and consistency

* fix: update error message in import_mod test for clarity and specificity

* fix: change _get_tools method from async to synchronous for consistency

* fix: update error handling in test_module_not_found_error_handling for clarity

* fix: update import statements in test_custom_component for consistency

* fix: update import statements in test_custom_component_endpoint for consistency

* fix: remove SupabaseComposioComponent from dynamic imports and __all__ for consistency

* fix: mock log method in component_setup to avoid tracing service context issues

* fix: adjust uniqueness threshold for code hashes to account for legitimate sharing

* fix: update test for structured output to support NVIDIA models and handle errors appropriately

* fix: update logger patches and modify pandas inclusion test in validate.py

* fix: update import path for langflow module in get_default_imports function

* fix: replace hard assertions with informative prints in performance tests to avoid CI failures

* fix: ensure all component modules are importable after dynamic import refactor

* fix: enhance composio compatibility checks and improve import handling for Action enum

* fix: remove compatibility check for composio components and always expose all components

* fix: update Slack component documentation link to ensure accuracy

* fix: remove 'Agent' from skipped components list in constants

* fix: remove await from CurrentDateComponent instantiation in AgentComponent

* fix: Filter out None values from headers in URLComponent

* update starter projects hat use url compoennt

* feat: add processing components and converter utilities

* fix: add OpenAI constants forward import

* chore: update Knowledge Ingestion starter project structure

* fix: correct parameter usage in set_multiple_field_display function

* fix: update set_field_display function signature to remove unnecessary keyword argument

* feat: implement backwards compatibility layer and add OpenAI response schemas

* fix: update version to 0.1.9 in pyproject.toml and uv.lock

* feat: add compatibility for langflow.components and related helper modules

* fix: update version to 0.1.10 in pyproject.toml and uv.lock

* fix: remove unnecessary import and update message type check in convert_message_to_data method

* fix: enhance attribute access in LangflowCompatibilityModule with caching

* fix: update import paths in Data class to use lfx module

* fix: add comment to clarify import and re-export purpose in message.py

* fix: remove unused code and improve flow data checks in openai_responses.py

* fix: update LoopTest.json structure for improved data representation

* fix: update test_api_schemas.py for improved hypothesis testing configurations

* fix: update hypothesis strategies for improved test coverage in test_api_schemas.py

* fix: remove unused code and improve structure in __init__.py

* refactor: add knowledge base components for ingestion and retrieval in lfx

- Implemented KnowledgeIngestionComponent for creating and updating knowledge bases from DataFrames.
- Added KnowledgeRetrievalComponent for searching and retrieving data from knowledge bases.
- Introduced dynamic imports for knowledge base components in the main module.
- Created utility functions for managing knowledge base metadata and embeddings.
- Enhanced error handling and logging for better debugging and user feedback.

* fix: enhance convert_to_dataframe function to handle pandas DataFrame and improve type conversion

* refactor: remove knowledge base components and related imports for cleanup

* fix: update TypeConverterComponent to include pandas as a dependency and enhance convert_to_dataframe function for better DataFrame handling

* fix: update imports for knowledge_bases module and enhance compatibility in langflow.base

* refactor: remove unused imports and simplify backwards compatibility module in langflow.base.data

* refactor: streamline inputs module by removing unused code and maintaining compatibility layer

* refactor: remove unused classes and streamline input handling in inputs.py

* Update language model components across multiple starter projects to include new dependencies and model options

- Standardized description format for language model components.
- Added metadata for dependencies including langchain packages and lfx.
- Updated model options to include new versions such as gpt-5 and its variants.
- Ensured consistency in the structure of JSON files for various starter projects including Market Research, Meeting Summary, Memory Chatbot, Portfolio Website Code Generator, Research Agent, and others.

* fix: update import path for custom component

- Changed the import path for the `Component` class from `lfx.custom.custom_component.component` to `langflow.custom.custom_component.component` in the `Youtube Analysis.json` file.

* refactor: update component IDs and streamline connections in Custom Component Generator

* refactor: standardize formatting of source and target handles in Custom Component Generator

* refactor: update component IDs and streamline connections in Custom Component Generator

* [autofix.ci] apply automated fixes

* fix: revert name change in Custom Component Generator

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
2025-09-02 17:45:53 +00:00
09de4d1532 chore: add required API key secrets for CI workflows (#8877) 2025-07-04 09:56:52 -03:00
e2b3c607f2 ci: change nightly to run in UTC time to fix nightly-status check (#8629)
Change nightly to run in UTC time
2025-06-20 14:23:40 +00:00
b378eb81d0 chore(ci): replace local uv setup action with astral-sh/setup-uv@v6 (#8491)
* chore: remove setup-uv action configuration file as it is no longer needed

* chore: update setup-uv action to use the official action across all workflows

* chore: disable cache pruning in all workflows to improve build stability

* chore: update Python version to 3.13 and add pre-release description in workflows
2025-06-11 18:56:04 +00:00
7ff6b1ae34 chore: fix small typo in grep command (#7353)
* fix: ensure consistent version extraction for langflow-base in workflows

Updated version extraction commands in multiple workflow files to consistently use 'head -n 1' for retrieving the first occurrence of the langflow-base version. This change improves reliability in version detection across docker-build, nightly_build, python_test, release_nightly, and release workflows.

* fix: correct version extraction command in nightly build workflow

Removed an extraneous quote from the version extraction command in the nightly_build.yml workflow file to ensure proper execution and reliability in retrieving the langflow-base version.
2025-03-31 09:44:27 -03:00
62aef0b8ed chore: Ensure consistent version extraction for langflow-base in workflows (#7352)
fix: ensure consistent version extraction for langflow-base in workflows

Updated version extraction commands in multiple workflow files to consistently use 'head -n 1' for retrieving the first occurrence of the langflow-base version. This change improves reliability in version detection across docker-build, nightly_build, python_test, release_nightly, and release workflows.
2025-03-31 09:34:28 -03:00
0886bdad16 feat: Use pyproject standardized dependency-groups (#6689)
* Use pyproject standardized dependency-groups

* fix: update Python version requirement to support up to 3.14

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-20 20:19:45 +00:00
41edba73c9 feat: Add support for Python 3.13 (#6685) 2025-02-20 18:13:21 +00:00
8a4fc2c338 ci: Update nightly build workflow to delete existing main tags before generating new ones (#5694) 2025-01-15 16:19:52 +00:00
03d64d21b4 ci: Update Python version matrix in CI workflows to exclude 3.13 (#5305)
ci: Update Python versions in GitHub Actions workflows to remove 3.13

- Modified the Python version matrix in both `nightly_build.yml` and `python_test.yml` to exclude Python 3.13, ensuring compatibility and streamlining the testing process.
- This change enhances the clarity of the supported Python versions in the CI configuration.
2024-12-17 04:07:31 -08:00
f6d4c204da ci: Update GitHub Actions workflow to include Python 3.13 (#5240)
* chore: add Python 3.13 to GitHub Actions workflow matrix

* chore: update GitHub Actions workflow to include Python 3.13 in the testing matrix

* Add Python 3.13 to nightly build test matrix
2024-12-13 17:28:42 +00:00
e4cf3e2b9b test: Enhance frontend testability with data attributes and integration tests (#4948)
*  (ChatCodeTabComponent.tsx): add data-testid attribute to ChatCodeTabComponent for testing purposes
🔧 (TemplateCardComponent/index.tsx): add data-testid attribute with dynamic value for testing
🔧 (sidebarDraggableComponent/index.tsx): import convertTestName function and add data-testid attribute with dynamic value for testing
🔧 (Custom Component Generator.spec.ts): add test for Custom Component Generator with Playwright
🔧 (Image Sentiment Analysis.spec.ts): add test for Image Sentiment Analysis with Playwright

 (Instagram Copywriter.spec.ts, Market Research.spec.ts): Add integration tests for Instagram Copywriter and Market Research functionalities.

 (Prompt Chaining.spec.ts): Add integration test for Prompt Chaining feature
 (SEO Keyword Generator.spec.ts): Add integration test for SEO Keyword Generator feature

 (SaaS Pricing.spec.ts): Add integration test for SaaS Pricing feature
 (Twitter Thread Generator.spec.ts): Add integration test for Twitter Thread Generator feature

*  (Custom Component Generator.spec.ts): Update environment variable name from OPENAI_API_KEY to ANTHROPIC_API_KEY for consistency and clarity
📝 (Custom Component Generator.spec.ts): Update test descriptions to reflect the correct environment variable names and requirements
📝 (Instagram Copywriter.spec.ts): Add support for TAVILY_API_KEY environment variable in tests and update test descriptions to reflect the change

* 📝 Add test utilities for updating components, adding new API keys, adjusting screen view, awaiting bootstrap test, and getting all response messages.

* 📝 (Custom Component Generator.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Image Sentiment Analysis.spec.ts): Add buildDataTransfer utility function for better code organization and readability
📝 (Instagram Copywriter.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Market Research.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (Prompt Chaining.spec.ts): Add waitForOpenModalWithChatInput utility function for better code organization and readability
📝 (SEO Keyword Generator.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (SaaS Pricing.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (Twitter Thread Generator.spec.ts): Add waitForOpenModalWithoutChatInput utility function for better code organization and readability
📝 (build-data-transfer.ts): Add buildDataTransfer utility function for better code organization and readability
📝 (wait-for-open-modal.ts): Add waitForOpenModalWithChatInput and waitForOpenModalWithoutChatInput utility functions for better code organization and readability

* 🔧 (ci.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for CI workflows
🔧 (nightly_build.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for nightly build jobs
🔧 (typescript_test.yml): add ANTHROPIC_API_KEY and TAVILY_API_KEY secrets for TypeScript test workflows

* feat: Add initialGPTsetup utility function for setting up GPT environment

This commit adds the initialGPTsetup utility function to the test/utils directory. The function is responsible for setting up the GPT environment by performing tasks such as adjusting the screen view, updating old components, removing old API keys, adding new API keys, and selecting the GPT model. The function accepts optional parameters to skip specific tasks if needed.

* change to utility function

* change to utility function

* change to utility function

* change to utility function

* change to utility function

* change to utility function

* change to utility function

* change to utility function

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>
2024-12-04 16:49:16 +00:00
ad52046f20 ci: Enable release flag for TypeScript tests in nightly build workflow (#4848)
ci: Enable release flag in nightly build workflow for TypeScript tests
2024-11-25 16:52:50 -08:00
c1097d2dde chore: update dockerfiles and docker-build workflows to fix releases (#4317)
* bash -x

* bash verbose

* combine bash calls in uv run

* combined python script

* relative dir

* pass args correctly

* pass args correctly

* function name

* fix arg order

* merge base and main

* remove nightly -ep docker image for now

* set up uv in the get-version job in docker-build.yml

* v prefix for version in build job

* use inputs.nightly_tag_main for checkout actions

* mount root project metadata for base build

* fix comment

* continued dockerfile fixes for workspaces setup

* fix path

* ruff check fix
2024-10-31 11:16:26 +00:00
4a574da0c0 ci: fix release workflows for uv (#4053) 2024-10-07 21:41:19 +00:00
06eebb5ca8 ci: small nightly fixes (#3993)
* Add back correct checkout steps

* fix directory
2024-10-02 16:36:55 +00:00
e19d90bd6c ci: fix releases with uv (#3971)
* Update scripts

* update the base dep in uv deps

* update nightly scripts

* Add uv creds for publish

* skip tests for now

* fix version

* only build the wheel

* try again

* add uv to python run

* [autofix.ci] apply automated fixes

* use uv cache

* more version fixe

* fixing versions

* fix base version

* Try no frozen?

* skip everything to try docker build

* tag

* frozen

* separate script for updating uv dep

* [autofix.ci] apply automated fixes

* hardcoded versions

* hardcoded versions

* add version to editable package

* build project before docker file runs

* try again

* fix uv patht o build

* don't know why this would mkae a difference

* debug statements

* debug statements

* debug statements

* change path to whl 🤷

* manually move the wheel...

* make dir

* try no sources

* add back tests

* refactor uv to action

* add uv action

* Update nightly build workflow to include uv lock files in version update commit

* Update lint-py workflow to use specific ref for setup-uv action

* Add checkout step to style-check-py GitHub Actions workflow

* Remove redundant GitHub ref syntax in lint-py.yml workflow

* Update lint-py.yml to use specific ref for setup-uv action

* Update action.yml: standardize quotes and remove redundant checkout step

* Add checkout step to GitHub Actions workflows for specific ref handling

- Introduced `actions/checkout@v4` step to multiple workflows to ensure code is checked out at a specific ref.
- Updated `.github/workflows/docker-build.yml`, `.github/workflows/release_nightly.yml`, `.github/workflows/lint-py.yml`, and `.github/workflows/style-check-py.yml` to include the new checkout step.
- Ensured credentials are persisted during the checkout process.

* Add checkout step to Python test workflow with specific ref

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-10-02 05:37:04 -07:00
43ad226ddb chore: update docker images to use uv (#3916)
* fix dev dependencies

* fix dev dependencies

* update lock

* Add langchain-unstructured dependency to pyproject.toml

* Switch to uv-based Docker image and streamline build process

- Use `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` as the base image
- Simplify environment variable setup and remove unnecessary ones
- Install project dependencies using `uv sync` with cache mounts
- Add and copy necessary files for the build process
- Update npm installation and frontend build steps
- Adjust entrypoint and runtime configurations
- Remove redundant user setup and streamline CMD execution

* Refactor Dockerfile to use multi-stage builds for optimized image size

- Introduce a builder stage to install dependencies and build the frontend.
- Use npm ci instead of npm install for more reliable builds.
- Copy built frontend assets to the final image.
- Transition to a runtime stage with a slimmer Python base image.
- Ensure the final image only contains necessary runtime dependencies.

* Switch base image to `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` and update Dockerfile

- Replace `python:3.12.3-slim` with `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` as the base image.
- Enable bytecode compilation and set link mode to copy.
- Update dependency installation process using `uv sync`.
- Simplify frontend build and copy process.
- Add OCI labels for image metadata.
- Update CMD to use `langflow-base` for running the application.

* Update Dockerfile to use uv base image and optimize dependency installation

- Switch base image to `ghcr.io/astral-sh/uv:python3.12-bookworm-slim`
- Combine apt-get commands and clean up to reduce image size
- Replace Poetry with uv for dependency management and caching

* Refactor Dockerfile to use multi-stage build for optimized image size

- Introduce a builder stage using `ghcr.io/astral-sh/uv:python3.12-bookworm-slim`
- Add a runtime stage using `python:3.12.3-slim`
- Copy the virtual environment from the builder stage to the runtime stage
- Remove the `uv` entrypoint to avoid invoking it by default

* Update Dockerfile: Fix indentation and remove redundant ENTRYPOINT reset

* ci: update release workflows to use uv (#3919)

* Update nightly build workflow to use 'uv' for dependency management and caching

- Replace Poetry with 'uv' for dependency installation and project setup
- Add steps to install 'uv' and set up caching for 'uv.lock'
- Modify Python setup to use version specified in 'pyproject.toml'
- Remove Node.js setup steps

* Update release workflow to use uv for dependency management

- Replace Poetry with uv for dependency installation and caching
- Update Python setup to use version specified in pyproject.toml
- Add steps to restore uv cache and install project dependencies using uv
- Adjust publish steps to maintain functionality with new setup

* Replace 'poetry publish' with 'uv publish' in Makefile for consistency

* Update nightly build workflow to use 'uv' for dependency management and caching

* Set up Node.js 20 in release_nightly workflow and update version verification logic

* Update Makefile to use `uv sync --frozen` for backend dependencies installation

* Update Makefile to pass arguments to 'uv build' and remove '--skip-existing' from publish commands

- Modified 'build_langflow' target to accept arguments.
- Removed '--skip-existing' from 'publish_base' and 'publish_base_testpypi' commands.
- Added TODO comments for updating test-pypi repository usage.

* Remove --skip-existing flag from uv publish commands and add TODO comments for test-pypi updates

* new lock

* Update CI workflow to remove version prefix and add build args

- Removed 'v' prefix from version extraction in nightly release workflow.
- Added '--no-sources' argument to the build command in the distribution step.

* Update CI workflow to use 'uv' for versioning and publishing

- Replace 'poetry' with 'uv' for version extraction in release checks

* Update CI workflow to use UV_PUBLISH_TOKEN for PyPI publishing

* Add verification step for 'langflow-nightly' name and version in CI workflow

- Corrected awk commands for extracting 'langflow-base' name and version.
- Added a new step to verify 'langflow-nightly' name and version against expected values.

* feat: Update dev.Dockerfile to use 'uv' for dependency management and caching

* update dockerfiles with --no-editable

---------

Co-authored-by: phact <estevezsebastian@gmail.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
2024-09-30 22:49:25 +00:00
b12fa9f874 ci: explicitly pass secrets for fe test (#3905)
explicitly pass secrets
2024-09-24 19:21:09 +00:00
f802f9a92a ci: make nightly run all fe tests (#3888)
make nightly run all fe tests
2024-09-23 18:35:23 +00:00
14b6157b1d ci: remove unnecessary ref checkout for nightly tests (#3847)
Remove unnecessary ref checkout for nightly tests
2024-09-18 09:49:55 -07:00
a7d1449e9d ci: tag fixes and robustness to workflow failures (#3838) 2024-09-17 18:03:48 -07:00