Commit Graph

51 Commits

Author SHA1 Message Date
1dc81ebe24 build: remove shell access from -ep images (#11192)
build: remove shell access from -ep images (#11191)

* Disable shell access in langflow-ep

* re-add git back

* re-add npx

* remove uvx explicit install
2026-01-05 17:36:53 +00:00
732ec1e273 ci: publish v2 docker images (#10350)
* ci: publish v2 docker images

since or transition to v2 in 1.6.x we have not been publishing any of our docker images.

* chore: try fixing lfx cleanup error

lfx cleanup error

* chore: address rabbitcode comments

* chore: address rabit uv comment

* chore: remove build-args to see if it passes

* chore: skip ci

* chore: add back in LANGFLOW_IMAGE

* chore: debug inputs.ref and matrix.langflow_image

* chore: add {} to fix InvalidDefaultArgInForm

* chore: try adding  quotes

* chore: try ENV LANGFLOW_IMAGE=${LANGFLOW_IMAGE}

* chore: add build args to GitHub Container Registry

* chore: clean up

* chore: seperate out frontend and backend images

* chore: update create-manifest

* chore: remove ci step

* chore: update release

* chore: clean up

* chore: clean up langflow-image

* chore: revert ci removal

* fix: add back in main logic update back/frontend

add main back in
update back/frontend to match orginal man logic more

* chore: more clean up to match main

* chore: remove arch from lagnflowimage for backend

* chore: add misisng - for ghcr.io

* chore: skip ci

* chore: build_main and build_and_push_backend fixes

* chore: seperate ghcr and docker publishing with if

* chore: add back CI step

---------

Co-authored-by: Adam Aghili <Adam.Aghili@ibm.com>
2025-11-03 18:00:58 +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
bb098a509e release: merge release-v1.6.0 into main (#9889)
* Update pyproject versions

* fix: Avoid namespace collision for Astra (#9544)

* fix: Avoid namespace collision for Astra

* [autofix.ci] apply automated fixes

* Update Vector Store RAG.json

* [autofix.ci] apply automated fixes

---------

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

* fix: Revert to a working composio release for module import (#9569)

fix: revert to stable composio version

* fix: Knowledge base component refactor (#9543)

* fix: Knowledge base component refactor

* [autofix.ci] apply automated fixes

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

* Update styleUtils.ts

* Update ingestion.py

* [autofix.ci] apply automated fixes

* Fix ingestion of df

* [autofix.ci] apply automated fixes

* Update Knowledge Ingestion.json

* Fix one failing test

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Revert composio versions for CI

* Revert "Revert composio versions for CI"

This reverts commit 9bcb694ea1.

---------

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

* fix: Fix env file handling in Windows build scripts (#9414)

fix .env load on windows script

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* fix: update agent_llm display name to "Model Provider" in AgentComponent (#9564)

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

* fix: use custom file handler on chat view, disable mcp_composer by default (#9550)

* Use custom voice assistant on chat input

* Changed mcp composer to default disabled

---------

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>

* fix: Use the newest file component in Vector Store RAG Template (#9571)

fix: Use newest file component in RAG

* fix: AI/ML icon is missing (#9553)

* refactor: clean up imports and improve code readability in AIML and FlowSidebar components

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

* [autofix.ci] apply automated fixes

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

* [autofix.ci] apply automated fixes

---------

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

* fix: Allow updates to the file component in templates using it (#9572)

fix: Allow updates to file component in templates

* fix: Fixes filtering so legacy components aren't shown by default (#9575)

fix filtering so legacy components aren't shown by default

* fix: changed name on tool mode to slug, added close button to sidebar (#9589)

* Changed Name to Slug, added Close button

* Updated data test id

* Tested closing the sidebar

* fixed test

* [autofix.ci] apply automated fixes

---------

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

* fix: enhance scroll behavior on playground (#9586)

* Added stick to bottom dependency

* Removed scroll direction dependency

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

* Made messages occupy full width

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

* Delete unused chat scroll anchor

* Set initial as instant

* Update session name styling

* fix: delete duplicate Serper api from google bundle (#9601)

Deleted google serper api core

* fix: allow deletion of mcp servers, add tests for mcp sidebar (#9587)

* Added onDelete prop to sidebarDraggableComponent

* Removed unused props

* Added handleDeleteMcpServer

* Add tests for on delete functionality, fixed linting errors

* Format

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

* Adds data test id to delete select item

* Changed data test id to not be mcp related

* Added delete confirmation modal to mcp sidebar group

* Changed test to contain modal

* fix: change zoom in and out limit, create tests for zooming in and out, change zoom out logic in canvasControls (#9595)

* Fix zoom out to 0.6 instead of 1.0

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

* Changed min zoom to 0.25 and max zoom to 2.0

* Added tests for zoom in and zoom out in canvas controls dropdown

* fix: Add localStorage persistence for feature toggles (#9597)

* fix: Add help text to Lock Flow option (#9600)

* fix: Add comprehensive tests and improve minimal condition logic (#9611)

* fix: change icon color for mcp, remove color setting of icons (#9594)

* Changed node icon to not have icon color

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

* Refactor nodeIcon

* removed lucideIcon check for performance

* Changed the test to evaluate color from computed style

* fix: remove unsupported styling options from chats components (#9610)

* fix: disable mcp auto install for not installed applications, refactor mcp-projects logic (#9599)

* Add new available field to installed mcps

* Disable auto install field when program not present

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

* Added tooltip

* Fixed linting

* fix: Properly allow the non-specification of an OCR Engine (#9617)

* fix: Properly allow no OCR engine

* [autofix.ci] apply automated fixes

* Set default to easyocr

* Update docling_inline.py

* [autofix.ci] apply automated fixes

---------

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

* fix: Support objects with data attribute in body processing (#9644)

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

* fix: Add comprehensive message sorting + tests (#9641)

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

* fix: Fix audio recording resource cleanup (#9623)

* fix: Add voice mode availability detection (#9621)

* fix: Remove formatting from agent input text content (#9638)

* fix: added most important types at the beginning of the extensions array on File component (#9639)

* Changed file type order

* Changed starter projects that had the file component

* order tooltip types alphabetically

* changed order of text_file_types

* Removed duplicate types

* Changed starter projects that used past types

* changed test

* Fixed data test id

* Changed test to expect correct types

* fix: Include flow ID in webhook URLs (#9624)

* fix(logger): add optional cache to configure; update caching behavior (#9532)

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

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

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

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

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

* fix: remove defensive comment in logger configuration for clarity

---------

Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* fix: Update sidebar border styles (#9625)

style fix

* fix: Remove top padding from sidebar groups (#9636)

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

* fix: disable message editing on playground, fix new session not persisting after message is sent (#9662)

* update session storage in the same useeffect as the refetchSessions

* updated to send just the chat id

* added useGetFlowId custom hook

* updated places to use new currentFlowId hook

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

* Restore current flow id from chat view

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

* removed call  to backend when updating messages on playground

* disable editing session view when on playground page

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

* [autofix.ci] apply automated fixes

---------

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

* fix: disable elevate edges on node select (#9658)

disable elevate edges on select

* fix: Properly respect the order parameter for Message History (#9605)

* fix: Respect the order parameter for Message History

* [autofix.ci] apply automated fixes

---------

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

* fix: Return multi-row dataframe when Structured Output data supports it (#9659)

* fix: Return multi-row dataframe output in SO

* [autofix.ci] apply automated fixes

* Tool support in message schema

---------

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

* fix: apply to fields in settings page  (#9602)

* fix: Segmented Sidebar switch to search on value change (#9615)

* search icon selection behavior

* switch to search on input change

* unit test fix

* test fix

* update test

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

* [autofix.ci] apply automated fixes

---------

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

* fix: deprecate claude 3 sonnet model (#9622)

* fix: Properly import Langchain ToolMessage for Message options (#9675)

* fix: Properly import the ToolMessage from langchain

* Update logger.py

* Fix one line output

* fix: fixed user settings test (#9690)

Fixed userSettings test

* fix: Remove warning log for unset TRACELOOP_API_KEY in configuration validation (#9536)

fix: remove warning log for unset TRACELOOP_API_KEY in configuration validation

* fix: knowledge base fixes for 1.6 pointing to release branch (#9683)

* refactor: Improve code readability and organization in Knowledge Ingestion component

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

These changes aim to enhance maintainability and readability of the codebase.

* fix: Remove extraneous flag from package-lock and update column configuration in knowledge base

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

* refactor: Update FlowToolbar and related components for improved API modal handling

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

* refactor: Clean up imports and streamline knowledge base column configuration

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

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

* fix: remove github link on discord button (#9655)

* Fixed discord opening github

* [autofix.ci] apply automated fixes

* fixed mcp server tab test

* Fixed flakyness on files test

* fixed flaky file upload

* Try to fix file upload component test

---------

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

* fix: remove python code component, fix placeholder not appearing (#9660)

* remove python code component and experimental category

* Refactor code area modal test to use custom component

* fixed placeholder not returning default value

* fix: add margins to <p> tag in markdown (#9656)

* Added margins to message paragraph

* [autofix.ci] apply automated fixes

---------

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

* fix: delete unused components, delete [deprecated] tag on the component title, add Replace and legacy tag functionality to components (#9645)

* Remove deprecated components

* Removed deprecated tags

* removed mcp deprecated components

* Add new applyComponentFilter

* add replacement to node parameters

* added filtercomponent to flow store

* Added replacement to api class type

* Made sidebar filter component more modular

* remove unused props and pass props to filtercomponent

* Apply component filters and get name and description for filter

* Add resetting to handle and page

* Added types to sidebar header

* Added legacy and replacement to node description, activate component filter on click

* updated sidebar header test

* format test

* update sidebar filter component test to match current behavior

* Refactor to allow multiple replacements

* removed legacy from node description

* added dismissed legacy nodes

* removed unused props

* add node legacy component

* changed replacement type to list

* Instantiate nodelegacycomponent on generic node when component is legacy

* Add components filtering in nodelegacycomponent

* added replacement instead of display name

* Added legacy tag to component name

* Add replacement to some components

* Added replacements to majority of legacy components

* Made component name not be capitalized

* fixed bundles not appearing at component filter

* [autofix.ci] apply automated fixes

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

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

* added replacement for crew ai

---------

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

* fix: Ensure correct Docling Remote URL for API (#9708)

fix: Correct url for docling remote

* feat: remove agent dual output (#9700)

* remove agent dual output

* [autofix.ci] apply automated fixes

---------

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

* refactor: Agent component enhancements for release v1.6 (#9685)

* refactor: improve code structure and add NodeDrawer component

- Refactored import statements for better organization in agent.py and dropdownComponent.
- Enhanced the AgentComponent's description and memory_inputs formatting for clarity.
- Introduced a new NodeDrawer component for improved UI handling in the dropdown.
- Updated Dropdown component to integrate NodeDrawer functionality, allowing for side panel interactions.

* refactor: simplify NodeDrawer component and enhance Dropdown integration

- Removed unnecessary props from NodeDrawer, streamlining its interface.
- Updated the Dropdown component to improve the integration of NodeDrawer, ensuring better handling of side panel interactions.
- Refactored the NodeDrawer's structure for improved readability and maintainability.

* fix

* refactor: enhance Dropdown and input components with externalOptions support

- Updated Dropdown and related components to incorporate externalOptions for improved flexibility.
- Refactored input classes to maintain consistent formatting and readability.
- Removed deprecated dialogInputs functionality in favor of the new externalOptions structure.

* fix: reorganize imports after cherry-pick resolution

* refactor: enhance Dropdown component with loading state and source options

- Introduced a loading state to the Dropdown component to indicate when a response is awaited.
- Updated the logic to utilize sourceOptions instead of dialogInputs for better clarity and maintainability.
- Refactored the rendering of options and associated UI elements to improve user experience.

* refactor: improve Dropdown component structure and styling

- Cleaned up import statements for better organization.
- Enhanced the loading state display and adjusted the layout for better user experience.
- Updated styling for CommandItem components to ensure consistent padding and font weight.
- Refactored option rendering logic for improved clarity and maintainability.

* refactor: reorganize imports and adjust Dropdown component behavior

- Moved import statements for better clarity and organization.
- Commented out the setOpen function call to modify Dropdown behavior when dialog inputs are present.

* refactor: enhance Dropdown component functionality and logging

- Removed unnecessary console log for source options.
- Introduced handleSourceOptions function to streamline value handling and state management.
- Updated onSelect logic to utilize handleSourceOptions for improved clarity and functionality.

* refactor: enhance Dropdown component with flow store integration

- Added useFlowStore to manage node state within the Dropdown component.
- Introduced a new handleSourceOptions function to streamline value handling and API interaction.
- Updated onSelect logic to ensure proper value handling when selecting options.

* refactor: Update agent component to support custom model connections

- Changed the agent component's dropdown input to allow selection of "connect_other_models" for custom model integration.
- Enhanced the dropdown options and metadata for better user guidance.
- Updated the build configuration to reflect these changes and ensure proper input handling.

* refactor: Reorganize imports and enhance dropdown component logic

- Moved and re-imported necessary dependencies for clarity.
- Updated dropdown rendering logic to improve handling of selected values and loading states.
- Ensured compatibility with agent component requirements by refining option checks.

* small fix and revert

* refactor: Clean up imports and improve dropdown component styling

- Removed duplicate imports for PopoverAnchor and Fuse.
- Simplified class names in the dropdown component for better readability.
- Adjusted layout properties for improved visual consistency.

* refactor: Enhance dropdown component functionality and clean up imports

- Reorganized imports for better clarity and removed duplicates.
- Implemented a new feature to handle "connect_other_models" option, improving the dropdown's interaction with flow store and types store.
- Added logic to manage input types and display compatible handles, enhancing user experience.
- Updated utility functions for better integration with the dropdown component.

* style: format options_metadata in agent component

* refactor: Update import statements in starter project JSON files and adjust proxy settings in frontend configuration

- Refactored import statements in multiple starter project JSON files to improve readability by breaking long lines.
- Changed proxy settings from "http://localhost:7860" to "http://127.0.0.1:7860" in frontend configuration files for consistency and to avoid potential issues with localhost resolution.

* [autofix.ci] apply automated fixes

* revert and fix

* [autofix.ci] apply automated fixes

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

* fixed dropdown

* [autofix.ci] apply automated fixes

* kb clean up

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

* update to templates with display name change

---------

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

* feat: mcp composer integration (#9506)

* encrypt oauth auth settings at rest

* [autofix.ci] apply automated fixes

* Fix rebase changes and add env to env server config

* Correctly unmask secretstr before encryption

* update mcp-composer args

* [autofix.ci] apply automated fixes

* ruff

* ruff

* ruff

* [autofix.ci] apply automated fixes

* ruff

* catch invalidtoken error

* ruff

* [autofix.ci] apply automated fixes

* ruff

* [autofix.ci] apply automated fixes

* ruff

* ruff

* [autofix.ci] apply automated fixes

* ruff

* [autofix.ci] apply automated fixes

* fix test

* Add initial mcp composer service and startup

* remove token url

* Register server on project creation

* WARN: fall back to superuser on no auth params, to allow mcp-composer to connect. also fixes race condition in server creatoin

* update sse url args

* [autofix.ci] apply automated fixes

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

* Add langflow api keys to the server configs

* [autofix.ci] apply automated fixes

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

* add port searching

* [autofix.ci] apply automated fixes

* Fix for dead servers - use devnull on subprocess to avoid pipe from filling up

* uvlock

* [autofix.ci] apply automated fixes

* Update composer startup behavior re: auth settings

* [autofix.ci] apply automated fixes

* fix some auth logic, add dynamic fetch of new url

* Clean up sse-url parameters

* [autofix.ci] apply automated fixes

* Only call composer url when composer is enabled

* [autofix.ci] apply automated fixes

* improve shutdown

* starter projects update

* [autofix.ci] apply automated fixes

* update logging
git push

* revert hack to auth mcp composer

* [autofix.ci] apply automated fixes

* Fix 500 on composer-url query

* [autofix.ci] apply automated fixes

* Update feature flag; update api key addition to aut-install

* [autofix.ci] apply automated fixes

* Fix composer url and re-add auth

* Changed needs_api_key logic

* Refactor use-get-composer-url

* remove python fallback for now, then pipe stderr to pipe

* [autofix.ci] apply automated fixes

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

* Changed api key logic to allow connection if not api key and auto login is off

* fix oauth addition to cmd

* restart server when auth values change

* Restart server on oauth values changes

* [autofix.ci] apply automated fixes

* Changed project port to be the same as OAuth port

* Changed endpoint to provide port_available

* add is_port_available prop

* Added port_available to request

* Edit mutation to not have linting errors

* Added port not available state to authentication

* [autofix.ci] apply automated fixes

* Added port and host to get composer url

* Invalidate project composer url queries

* Changed to display port and host that is not running

* Cleanup old port finding and some mypy fixes

* Add print, remove unused env var

* Use mcp-composer directly in client and a lot of fixes

* changed starter projects

* refactor mcp_projects to use always IP generated for WSL

* changed to check args -4 too on installed servers

* changed to just check if sse url is in args

* added member servers in gitignore

* add check for ff

* Handle secret request response cycle securely and add better logging

* Use asycn logger

* Add decorator to check if composer is enabled in settings

* more logging changes

* Much better handling of existing oauth servers when the flag is disabled on restart

* Reset oauth projects to apikey or none when composer flag is disabled

* fix url for api key auth

* Fix auth check; set project auth to api key when auto login disabled

* Ruff, comments, cleanup

* [autofix.ci] apply automated fixes

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

* Consolidate the auth handling since its used in two endpoints

* [autofix.ci] apply automated fixes

* Ruff

* [autofix.ci] apply automated fixes

* last ruff

* Update FE env var naming and dont unnecessarily decrypt auth settings at times

* update feature flag usage - remove mcp composer

* [autofix.ci] apply automated fixes

* Update timeout methods to have more reliable startup

* more feature flag changes

* Attempt to extract helpful user messages

* [autofix.ci] apply automated fixes

* Added loading on mcp server tab auth

* Changed to load on start too

* cleanup mcp composer on project deletion

* [autofix.ci] apply automated fixes

* remove nested retry mech

* Ruff

* lint

* Fix unit tests

* [autofix.ci] apply automated fixes

* ruff

* [autofix.ci] apply automated fixes

---------

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: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>

* fix: Adjust padding and layout for improved spacing (#9711)

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>

* fix: remove Groq from Agents model provider list (#9616)

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

* fix: conditional scheduling logic to not run branch (#9722)

* Use separate conditional router flag to check if-else branch execution

* clean comments

* [autofix.ci] apply automated fixes

* Ruff

---------

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

* fix: disable keys when flow is locked (#9726)

* Disable keys when isLocked

* Disabled adding and deleting nodes when flow is locked

* fix: superuser credential handling and AUTO_LOGIN security (#9542)

* Refactor superuser credential handling for security

* [autofix.ci] apply automated fixes

* refactor: enhance superuser credential handling in setup process (#9574)

* [autofix.ci] apply automated fixes

* refactor: streamline superuser flow tests and enhance error handling (#9577)

* [autofix.ci] apply automated fixes

* None Super user is not allowed hence for a valid string resetting it to

* None Super user is not allowed hence for a valid string resetting it to ""

* use secret str for password everywhere

* [autofix.ci] apply automated fixes

---------

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

* chore: Update version to 1.6.0 in package files (#9746)

fix: update version to 1.6.0 in package.json and package-lock.json

* fix: update logs position to be absolute (#9724)

* removed left auto from log canvas controls

* made initial position be fetched from event for notes

* added relative class and put shadow box outside of the div that contains reactflow

---------

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>

* fix: make entire playground chat area be clickable (#9721)

* Add stop propagation to chat input buttons

* Made entire area focus chat when clicked

* fix: Restore old description from file description. (#9752)

fix: Restore file component description

* fix: Preserve flows and components during project updates (#9750)

* 📝 (projects.py): add logic to separate flows and components from a single query result for better organization and readability
🐛 (projects.py): fix logic to correctly exclude project flows from the list of excluded flows

*  (test_projects.py): add tests to ensure project renaming preserves associated flows and components

* 📝 (projects.py): remove unnecessary comment to improve code readability and maintainability

* [autofix.ci] apply automated fixes

---------

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

* fix(langwatch): prevent trace errors with proper API key validation (#9720)

* fix(URLComponent): filter out `None` in headers to avoid silent serialization errors (#9596)

fix: Filter out None values from headers in URLComponent

* fix: put knowledge bases under feature flag (#9749)

Added enable_knowledge_bases feature flag everywhere it's been used

* refactor: Padding misaligned for sidebar icons and other issues fix for 1.6 (#9713)

* sidebar fixes

* [autofix.ci] apply automated fixes

* refactor: update FlowMenu and CanvasControlsDropdown styles, enhance MemoizedCanvasControls with flow lock status

* feat: add 'Sticky Notes' functionality to sidebar and enhance note handling

- Introduced a new 'add_note' section in the sidebar for adding sticky notes.
- Implemented event listeners to manage the add-note flow, allowing for better integration with the sidebar.
- Updated styles and structure in various components to accommodate the new feature.
- Refactored existing components for improved organization and readability.

* fix: adjust button height in FlowSidebarComponent for improved UI consistency

* [autofix.ci] apply automated fixes

---------

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

* fix: Updated Agent Starter Projects with new Templates (#9772)

* updates templates

* fix formating

* fix: remove agents from skipped components list in setup (#9785)

* fix: improve error handling for missing OCR dependencies (#9753)

* fix(docling): improve error handling for missing OCR dependencies

- Add DoclingDependencyError custom exception
- Detect specific OCR engine installation issues
- Provide clear installation instructions to users
- Suggest OCR disable as alternative solution
- Fail fast when dependencies are missing

Fixes issue where users received unclear error messages when OCR engines
like ocrmac, easyocr, tesserocr, or rapidocr were not properly installed.

* fix: prevent missing clean_data attribute error

* chore: update starter_projects

* [autofix.ci] apply automated fixes

* refactor(docling): update dependency error messages to use uv and suggest complete install

Address code review feedback by using 'uv pip install' and offering langflow[docling] as alternative

* refactor(docling): simplify worker error handling per code review

---------

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

* fix: adjust casing on Add MCP Server buttons (#9774)

* Added span to buttons to not remove casing

* [autofix.ci] apply automated fixes

---------

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

* fix: set gpt4.1 as default model (#9780)

* feat: double clicking a component will add it to the canvas (#9730)

* fix

* [autofix.ci] apply automated fixes

---------

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

* fix: release branch tests (#9820)

* Fix auth tests

* [autofix.ci] apply automated fixes

* Modularized lock flow

* Added more assertions

* t Fixed flow lock test

* Fixed sticky notes test

* Removed warning on mcpsidebargroup test

* fixed warnings on sidebar footer buttons

* fixed sidebar footer buttons and test

* Re-added padding

* Fixed sidebar segmented nav test

* fixed searchconfigtrigger

* Fixed sidebar header test

* fixed sidebar items list test

* Fixed flow lock test

* fixed sticky notes test

* Fixed sidebarfooterbuttons test

* Revert fix

* Fixed test_refresh_starter_projects

* attempt to fix fe merge conflicts

* [autofix.ci] apply automated fixes

* lint

* [autofix.ci] apply automated fixes

* mypy

* Improve sorting of sender messages

* ruff

* starter projects

---------

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

* fix: Properly serialize documents for Graph RAG in Astra (#9777)

fix: Serialize documents for graph RAG

* fix: Standardize content dict format for LLM provider compatibility (#9745)

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: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>

* fix: make components added with filter come with the output pre-selected, fix Agent filtering (#9787)

* Added output selection if there is a filter and the output exists

* Fixed wrong pseudo source handle

* Removed handle dragging

---------

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* fix: make mcp tools refresh when changing server with the same name (#9778)

* Delete cache when editing servers

* Add check to refresh tools if the cache is changed from the current tools

* Updated mcp to only delete from cache if it exists there

* Added test to tools refresh functionality

* remove tools count from updated server

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* fix: remove extra spaces from playground, added separator (#9779)

Adjusted margins for items in playground

* fix: Update message schema tests for image_url structure (#9823)

* 📝 (test_schema_message.py): update image content type to "image_url" for consistency and clarity in message schema
♻️ (test_schema_message.py): refactor image URL handling to improve readability and maintainability of the code

* [autofix.ci] apply automated fixes

* fixed mcp sidebar

* revert sidebar change

* Fixed test

---------

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

* fix: Restore Embedding Model Connections in Vector Store RAG (#9776)

fix: Restore Embedding model connections

* fix: update CORS configuration and add env vars to allow for user control (#9744)

* Update CORS configuration and add env vars to allow for user control

* Add unit test

* fix: add noqa comment for linting in create_refresh_token function

Added a noqa comment to suppress linting warnings for the token type check in the create_refresh_token function, ensuring code clarity while maintaining compliance with linting standards.

* refactor: enhance CORS tests with temporary directory usage and improve exception handling

Updated unit tests for CORS configuration to utilize a temporary directory for environment variables, ensuring isolation during tests. Improved exception handling in refresh token tests to raise HTTPException with appropriate status codes and messages. This enhances test reliability and clarity.

* fix: enhance CORS origin validation to ensure consistent list output

Updated the validate_cors_origins method to convert a single origin string into a list for consistency, in addition to handling comma-separated strings. This change improves the robustness of CORS configuration handling.

* refactor: update CORS test cases to ensure single origin is consistently treated as a list

Modified unit tests for CORS configuration to assert that single origin strings are converted to lists, enhancing consistency in CORS origin handling. This change aligns with recent updates to the CORS validation logic.

* re-add uvlock

* [autofix.ci] apply automated fixes

* feat: revert CORS changes and add deprecation warnings for v1.7

- Revert CORS behavior to maintain backward compatibility until v1.7
- Add CORS configuration fields with current defaults (*, True, *, *)
- Implement deprecation warnings for upcoming v1.7 security changes
- Preserve existing behavior while enabling early configuration adoption

* [autofix.ci] apply automated fixes

* Add back imports

* Fix tests

* [autofix.ci] apply automated fixes

* Rt;uff

* Ruff

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>

* fix: handle pandas Series in get_message boolean evaluation (#9765)

* fix: handle pandas Series in get_message boolean evaluation

Resolves ValueError when message is pandas Series by checking .empty
instead of relying on ambiguous truth value evaluation.

* fix: mypy error

* fix: mypy error

* [autofix.ci] apply automated fixes

---------

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

* fix: Add VLM support for Docling and improve deps (#9757)

* fix: Support the VLM pipeline in docling

* fix: Add VLM support and opencv dep

* [autofix.ci] apply automated fixes

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

* Update comments and fix ruff errors

* [autofix.ci] apply automated fixes

* Hide OCR engine when VLM selected

* [autofix.ci] apply automated fixes

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

* Fix VLM pipeline

* [autofix.ci] apply automated fixes

* Add type annotation for visited and excluded

* [autofix.ci] apply automated fixes

* Small fix for the templates

* Update Vector Store RAG.json

---------

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

* fix: make cursor position not go to end on input list component (#9782)

* added new cursor input with cursor handling to input list component

* Change to use cursor input on input list component

* Test cursor position preservation on inputlistcomponent

---------

Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* fix: remove metadata building to speed up load times (#9819)

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

* fix: turn mcp composer feature on by default on frontend (#9831)

fix mcp composer not on by default

* fix: make astra db component not disconnect, fix handle color when type is undefined (#9829)

* remove hidden from vector store

* Added vector store color

* Added fallback for when the connected color is not found

* Changed starter projects

* fixed null check

* fix: Handle ImportError for parse_api_endpoint and remove debug logging (#9830)

* fix: remove debug logging for processed modules in _process_single_module

* fix: move parse_api_endpoint import inside try-except block to handle ImportError gracefully

* fix: make session_id visible in Message History Retrieve mode (#9557)

* fix: make session_id visible in Message History Retrieve mode

- Added session_id to default_keys to make it visible by default
- Added session_id to Retrieve mode config to show it when mode is selected
- Kept advanced=True as requested to maintain field categorization
- Fixes issue where session_id input was hidden preventing dynamic session retrieval

Fixes #9464

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Fix api key detection for skip test

* Oops. Remove print

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>

* feat: Enhance logging configuration with caller information and conditional callsite data (#9747)

* fix: enhance logging configuration to include caller information and improve log level handling

* fix: add caller information to logging configuration

* fix: conditionally add callsite information to logging configuration based on DEV environment

* fix: update DEV variable initialization to use environment variable

* fix: update logging configuration to include callsite fields in DEV environment

* mypy

* [autofix.ci] apply automated fixes

* mypy

---------

Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* ref: update auto login behavior to use secure defaults (#9825)

* Update auto login behavior to use secure defaults; remove skip auth option

* Add warning back

* ordering of params

* skip unimplemented cors tests

* fix: make mcp tools update when auth settings is null (#9844)

* allow trailing and starting _

* Fixed selection

* fixed auth settings being called when it's null

* fix: adjust tools title and description padding (#9847)

* Fixed padding on tools table

* [autofix.ci] apply automated fixes

---------

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

* fix: Apply a per-user uniqueness for mcp (#9840)

* fix: Apply a per-user uniqueness for mcp

* Test updates

* [autofix.ci] apply automated fixes

* Fix tests

* Update mcp.py

* Update 1cb603706752_modify_uniqueness_constraint_on_file_.py

* Update 1cb603706752_modify_uniqueness_constraint_on_file_.py

* Update 1cb603706752_modify_uniqueness_constraint_on_file_.py

* Update 1cb603706752_modify_uniqueness_constraint_on_file_.py

---------

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

* fix: make file button clickable after focusing on chat (#9863)

Fixed file button unclickable

* fix: make input clickable on chat  (#9864)

Fixed not able to select text

* test: Increase loading performance test timeout (#9873)

* Revert "ref: update auto login behavior to use secure defaults (#9825)"

This reverts commit 567d0fa91a.

* refactor: update skip_auth_auto_login behavior and update messaging timelines for removal (#9874)

* Update auto login warnings to reflect new timelines

* Add regex match to test

* [autofix.ci] apply automated fixes

---------

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

* fix: Remove the uniqueness constraint on file names (#9872)

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

* Move mcp composer service to lfx

* MCP Composer service factory fixes

* Add back script changes for lfx

* Clean up mcp project imports

* Update d37bc4322900_drop_single_constraint_on_files_name_.py

* Fix mcp imports

* Update CORS deprecation notice

* Add back the external options in dropdown input

* Add back starter projects

* Remove old components/data init file and update starter projects

* remove todo

* Re-adds the clean_data param for chat output

* [autofix.ci] apply automated fixes

* Update starter projects with clean_data

* Update oauth timeouts and fix socket binding check

* Fix import and main duplicate code

* [autofix.ci] apply automated fixes

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

* Import and test fixes

* [autofix.ci] apply automated fixes

* Temporarily skipping knowledge bases import issue to allow other CI tests to run

* Add python function to lfx test

* fixed typesStore test

* Ruff and image unit test fixes

* [autofix.ci] apply automated fixes

* 📝 (image.py): Update function documentation to reflect changes in the content dictionary structure
♻️ (test_schema_data.py): Refactor tests to use "image" type instead of "image_url" and remove unnecessary checks for "source_type" in the content dictionary

* Knowledge bases update for merge

* Update __init__.py

* Revert the changes to package lock

* Fix kb tests to use client fixture instead of mocks

* Clean up mcp init task

* Fix other kb tests

* fixed text file typs with repeated data

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: VICTOR CORREA GOMES <112295415+Vigtu@users.noreply.github.com>
2025-09-18 21:23:08 +00:00
974cbe099a ci: Increase memory limit and disable concurrent builds for esbuild in docker (#9862) 2025-09-15 09:57:13 -03:00
dfa4f98c21 ci: Add missing lfx metadata files to Docker build context (#9845) 2025-09-12 15:50:57 -03:00
801b280113 ci: fix dockerfile and update docker_test trigger (#9839) 2025-09-12 12:20:56 -03:00
8e18fd973f ci: Update Docker commands to use Podman and add missing bindings for LFX (#9838) 2025-09-12 11:44:41 -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
654154ebbe refactor(docker): remove --extra deploy flag from uv sync commands (#8485)
🔧 (build_and_push_with_extras.Dockerfile): remove unnecessary uv sync command options to improve build efficiency and reduce redundancy

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-06-11 14:39:53 +00:00
9191773957 fix: Allow upload limit increase in kubernetes deployment (#7664)
* Add nginx body size upload limit config

* Add nginx body size upload limit config

* Rename env variable to match existing max upload

* Rename env variable to match existing max upload

* Add export of Max_file_size_upload variable

* Add unit to max body size

* Remove unit from default assignment

* Apply comments and move config to default nginx conf template

---------

Co-authored-by: daniel.kaestner <daniel.kaestner@cas.de>
Co-authored-by: Dexter192 <DanielKaestner@otlook.de>
2025-06-03 11:53:08 +00:00
409146151c build: add build for docker image with all optional deps (#7957)
* Add build for docker image with all optional deps

* Add to release workflows
2025-05-12 16:26:58 +00:00
674cee0906 build: add event-delivery polling for cloud image (#7911)
Add event-delivery polling for cloud image
2025-05-05 21:28:17 -07:00
34ad59533b fix: Adding Node to Dockerfile (#7735)
adding node to dockerfile
2025-04-22 21:32:27 +00:00
6dccb22e38 Fix: add missing curl to dockerfile langflow-ai/langflow-helm-charts#40 (#6971)
* add missing curl and remove empty continuation line

* add missing curl

* Update docker/build_and_push.Dockerfile

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* Update docker/build_and_push_base.Dockerfile

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-04-17 14:16:21 +00:00
3fccfd75ed feat: frontend docker nginx configuration add brower cache accelerated pages access (#7125)
* Update py_autofix.yml

* feat: frontend docker nginx  add brower cache accelerate page access

* Revert "Update py_autofix.yml"

This reverts commit 7aed45e986.

* revert py_autofix.yml

* Revert "Update py_autofix.yml"

This reverts commit 7aed45e986.

* add: remove blank line

* fix: update Nginx configuration to prevent caching for index.html

---------

Co-authored-by: tianzhipeng <tzpabc@gmail.com>
Co-authored-by: caojianwei-jk <caojianwei-jk@360shuke.com>
2025-04-10 17:57:41 +00:00
ee43c51297 fix: Add libpq-dev and gcc dependencies to backend Dockerfile (#7136)
* 🔧 (Dockerfile): update Dockerfile to install additional dependencies (libpq-dev, gcc) required for the application to run successfully

* add libpq5 to docker ffile nightly

* 🔧 (docker-compose.yml): add docker-compose configuration for langflow and postgres services
♻️ (add_column_access_type_to_flow.py): refactor to use uppercase for access type enum values for consistency
♻️ (model.py): refactor to use uppercase for access type enum values for consistency

* 🔧 (docker-compose.yml): remove docker-compose file as it is no longer needed for the project

---------

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
2025-03-18 18:50:59 +00:00
c41eaf0071 build: add postgresql client library libpq5 (#6964)
Add postgresql client library libpq5
2025-03-07 21:44:05 +00:00
84aa1d63b3 fix: update sqlalchemy dependencies in pyproject.toml (#6854) 2025-02-26 19:27:19 -03:00
400572342f feat: add nvidia ingest component (#6333)
* initial

* cleanup

* [autofix.ci] apply automated fixes

* ruff

* add else

* update deps

* uv lock

* Make nv-ingest an optional dep

* revert change to validate

* rebase fixes

* [autofix.ci] apply automated fixes

* Update language

* add extra args to make target

* [autofix.ci] apply automated fixes

* update error language

* lockfile update

* rebase lockfile:

* [autofix.ci] apply automated fixes

* Adds nv-ingest by default to -ep docker image

* caps fixes

* update uv lock

* revert ruff upgrade

* ruff

* Fix lint

* [autofix.ci] apply automated fixes

* No code changes made.

* fix: update ruff configuration to ignore additional linting rule and allow built-in modules

* fix: update ruff command to ignore linting rule A005 during autofix

* fix: update Ruff check command to ignore linting rule A005

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-20 19:26:03 +00:00
cdf85e55de fix: add the git binary to the final step of the container images (#5863)
Add the git binary to the runtime images
2025-01-22 15:07:34 +00:00
8ea4405010 refactor: run upgrade in dockerfiles to update dependencies (#5508)
chore: Update Dockerfiles to use COPY instead of ADD run apt-get upgrade

- Replaced ADD commands with COPY for better clarity and consistency across Dockerfiles.
- Added apt-get upgrade and clean commands to reduce image size and ensure packages are up to date.
- Updated user creation commands to include necessary cleanup steps.
- Ensured all Dockerfiles follow a similar structure for maintainability.
2025-01-02 15:49:41 +00:00
ba6f5183be ci: update docker image configuration for secure deployments (#5259)
* changes required for openshift to work with read-only dirs
2024-12-13 22:38:55 +00:00
267c08bc07 fix(Dockerfile): standardize casing for 'FROM' and 'AS' keywords (#5159)
- Updated the Dockerfile to use consistent uppercase casing for 'FROM' and 'AS'.
- Resolved 'FromAsCasing' warnings that were flagged during the Docker build.
- Improves readability and adheres to Dockerfile best practices.

This change ensures a cleaner build process with no warnings.
2024-12-09 04:47:59 -08:00
44a3e7643a fix: adjust GitLoader to work in a hosted environment (#5040)
* fix: add git installation to dockerfile dependencies

* chore: make input optional
2024-12-04 14:58:31 +00:00
3a1c0301cd buid: reduce number of layers in runtime env for langflow-ep build (#4457)
Reduce number of layers in runtime env
2024-11-07 12:33:46 -08:00
18d08413ce build: add curl to ep image (#4456)
Add curl to ep image
2024-11-07 12:29:26 -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
0fd3d93b1d chore: update devcontainer configuration and Dockerfile (#4298)
* Add Dockerfile for devcontainer with Rust and UV setup

* Update devcontainer configuration to use Dockerfile and enhance features

- Switch from using a pre-built image to building from a Dockerfile.
- Replace Poetry feature with Hadolint for linting Dockerfiles.
- Add new VSCode extensions: Ruff, Autodocstring, Indent Rainbow, and Hadolint.
- Set default terminal profile to zsh in VSCode settings.
- Add a postStartCommand to initialize the environment.
- Change remote user to 'vscode'.

* Update test command in VSCode tasks to 'make unit_tests'

* chore: remove unnecessary comment

---------

Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
2024-10-30 11:11:16 +00:00
eedfe43e69 build: dockerfile with entrypoint (#4062)
Adds a dockerfile with an entrypoint for use with Datastax Langflow
2024-10-16 20:18:39 -07:00
d223eccdcc build: add readme to dockerfile (#4105)
Add readme to dockerfile
2024-10-10 16:01:14 -07: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
6cdc915460 build: update docker for dev environment (#3551)
* build: update dockerfile for dev environment

* chore: add script to centralize docker commands

* build: create docker-compose.yml for services

* chore: add makefile target for docker-compose
2024-08-26 22:05:08 +00:00
a763f57af5 feat: add timeout handler on FE (#3537)
*  (frontend): Add TimeoutErrorComponent to handle timeout errors in API requests
🔧 (frontend): Add healthCheckTimeout state and setHealthCheckTimeout function to utilityStore for managing timeout errors in API requests

* 📝 (constants.ts): add constants for server health check intervals to improve code readability and maintainability
🐛 (use-get-health.ts): fix refetch interval value to use the newly added constant REFETCH_SERVER_HEALTH_INTERVAL for consistency and easier maintenance

* 📝 (api.tsx): Add utilityStore import to improve code organization
📝 (api.tsx): Add createNewError503 function to handle custom 503 errors
📝 (api.tsx): Add AxiosError import for type checking
📝 (api.tsx): Refactor error handling logic for authentication errors
📝 (use-get-health.ts): Add createNewError503 import for custom 503 errors
📝 (use-get-health.ts): Add AxiosError import for type checking
📝 (use-get-health.ts): Refactor error handling logic for server busy status
📝 (index.tsx): Add AxiosError import for type checking
📝 (index.tsx): Add useEffect and useState imports for state management
📝 (index.tsx): Refactor error handling logic for server status and retries
📝 (utilityStore.ts): Add retriesApiRequest state and setRetriesApiRequest function
📝 (axios-error-503.ts): Create function to generate custom 503 error responses
📝 (index.ts): Add retriesApiRequest state and setRetriesApiRequest function to UtilityStoreType

* 🔧 (utilityStore.ts): remove unused retriesApiRequest and setRetriesApiRequest functions to clean up code and improve maintainability
🔧 (index.ts): remove unused retriesApiRequest and setRetriesApiRequest types to keep type definitions consistent and up to date

*  (nginx.conf): add new health endpoint to proxy_pass requests to the backend server for health checks

*  (langflow): Add support for configuring the number of retries for the health check feature. This change introduces a new option `health_check_max_retries` that can be set via environment variable or command line argument to control the maximum number of retries for the health check process.

* check if value is none
2024-08-26 14:21:05 -07:00
8145d91f7d fix: frontend image should forward /health_check to backend (#2887) 2024-07-23 15:08:43 +02:00
29e662848c chore: simplify docker (#2526)
* chore: add docker command shortcuts to makefile

* chore: replaced entreypoint with cmd

* chore: remove enviroment variable
2024-07-04 11:14:52 -03:00
79774218d9 update dockerfile 2024-07-01 13:53:55 -03:00
7d8fefa562 Update dockerfiles and docker-build.yml (#2389)
* chore: Update docker-build.yml to disable pre-release by default

* chore: Update Dockerfiles to set LANGFLOW_HOST and LANGFLOW_PORT

The Dockerfiles have been updated to set the environment variables LANGFLOW_HOST and LANGFLOW_PORT. This ensures that the correct host and port are used when running the langflow application.

* 🔧 (build_and_push_backend.Dockerfile): remove unnecessary host and port configuration to simplify the Dockerfile and focus on backend-only functionality

* chore: Update LANGFLOW_CONFIG_DIR in docker-compose.yml

The LANGFLOW_CONFIG_DIR environment variable in docker-compose.yml has been updated to /app/langflow. This change ensures that the correct directory is used for storing logs, file storage, monitor data, and secret keys.
2024-07-01 13:53:39 -03:00
968ec28fbc docker: force python version to 3.12.3 (#2148)
* docker: force python version to 3.12.3

* also fixes pydantic

* remove ci build - too slow

* use lock file for deps

* use poetry.lock

* use poetry.lock
2024-06-12 06:09:46 -07:00
9261bc0a6f docker: add customizable port for frontend image (#2147) 2024-06-12 06:08:23 -07:00
1110494615 feat: multi arch docker images (#2123) 2024-06-11 10:12:31 +02:00
395c2d7372 docker: add curl to the image (#2124) 2024-06-10 05:35:59 -07:00
69fad76281 chore: Update Dockerfile to remove frontend build artifacts 2024-06-07 09:12:27 -03:00
c2b2e9a286 🔧 (build_and_push.Dockerfile): Add support for building and pushing frontend code in a separate node builder stage to improve build process efficiency
🔧 (build_and_push.Dockerfile): Update pip install command to force reinstall dependencies to ensure consistency
🐛 (code_parser.py): Change logger.exception to logger.debug to prevent logging full exception stack trace
🐛 (directory_reader.py): Change logger.error to logger.debug and log error message separately to improve error handling and logging clarity
2024-06-06 19:45:18 -03:00
d929780183 Update dependencies and fix import paths (#2101)
* chore: Update dependencies and build frontend in Dockerfile

* chore: Update lodash import and fix import paths

* chore: Update Dockerfile to remove unnecessary frontend build step
2024-06-06 13:18:56 -07:00
ba59a9f449 docker: improve image layout and backend-only/frontend-only images (#2071)
* docker: improve image layout and backend-only image

* add tests

* add tests

* add frontend

* add frontend

* label

* fix
2024-06-05 04:46:14 -07:00
23d3c45a1b refactor: Update Dockerfile and render.yaml for pre-release deployment
The Dockerfile `render.pre-release.Dockerfile` has been added to the repository, which sets the base image to `langflowai/langflow:1.0-alpha`. Additionally, the `render.yaml` file has been modified to use the new Dockerfile path `./docker/render.pre-release.Dockerfile` for the `langflow` web service. This change ensures that the pre-release version of the application is deployed correctly.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-06-03 14:05:33 -03:00
482ac3fbfc Refactor base.py and Dockerfile, and folder column migration (#2002)
* refactor(base.py): handle ImportError when importing is_pre_release function from langflow.version module to prevent crashing the application
feat(base.py): dynamically determine if the version is a pre-release version by checking for 'a', 'b', or 'rc' in the version number

* fix(Dockerfile): add missing backslash to ensure proper chaining of commands

* refactor: Update get_lifespan function to handle ImportError and dynamically determine the version number

The get_lifespan function in main.py has been updated to handle ImportError when importing the __version__ attribute from the langflow.version module. If the import fails, the version number is dynamically determined using the importlib.metadata.version function. This change ensures that the application does not crash when the langflow.version module is not available.

Note: This commit message follows the convention used in the recent user commits.

* chore: Add langflow-pre.db and langflow.db to .dockerignore

* chore: Update .dockerignore to include langflow-pre.db and langflow.db

* refactor: Add folder_id column to flow table and handle folder column migration

This commit adds the folder_id column to the flow table in the database. It also handles the migration of the folder column to the new folder_id column. This change allows for better organization and management of flows within folders.

Note: This commit message follows the convention used in the recent user commits.

* refactor: Update Dockerfiles to include user creation and environment variable

This commit updates the Dockerfiles to include the creation of a user with UID 1000 and the necessary permissions for the /app/langflow directory. It also adds the user's local bin directory to the PATH environment variable. This change improves the security and isolation of the application within the container.

Note: This commit message follows the convention used in the recent user commits.
2024-05-28 14:27:02 -07:00
4bcc060f75 chore: Update Dockerfiles to create langflow directory and grant write permissions 2024-05-28 16:01:02 -03:00