Commit graph

306 commits

Author SHA1 Message Date
Deon Sanchez
ff00eb582f
fix: improves table formatting in the playground and adds Jest tests (#8743)
* feat(tests): add Jest configuration and setup for testing environment

- Introduced Jest configuration file to set up testing environment with TypeScript support and JSDOM.
- Added setupTests.ts for global test configurations, including mocks for ResizeObserver and IntersectionObserver.
- Updated package.json and package-lock.json to include Jest and related dependencies.
- Implemented utility functions for processing markdown content, including handling tables and <think> tags.
- Added comprehensive tests for markdown utility functions to ensure proper functionality.

* refactor(makefile): separate frontend commands into a dedicated Makefile

- Removed frontend-related targets from the main Makefile and created a new Makefile.frontend to manage frontend-specific commands.
- Updated the main Makefile to include a reference to the new frontend Makefile and added a help message for frontend commands.
- This restructuring improves organization and clarity for managing backend and frontend build processes.
2025-06-30 21:13:04 +00:00
Michele Dolfi
6631de2aae
feat: Docling components (#8394)
* initial DoclingComponent

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Correct Docling icon style properties.

Signed-off-by: DKL <dkl@zurich.ibm.com>

* add file_path

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add load from json and export to various formats

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add chunking component

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Update src/backend/base/langflow/components/docling/docling_inline.py

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

* add Docling Serve component

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* apply some suggestions

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* Update src/backend/base/langflow/components/docling/_utils.py

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

* Update src/backend/base/langflow/components/docling/docling_remote.py

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

* add check for DoclingDocument in list

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* fix import

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add maximum poll timeout and better checks for the retry logic

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* add updated starter_projects

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* refactor _get_converter

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* return only DataFrame

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* remove LoadDoclingDocument

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* more options in the chunk component

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* move docling imports

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

* [autofix.ci] apply automated fixes

* move utils to langflow.base

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>

---------

Signed-off-by: Michele Dolfi <dol@zurich.ibm.com>
Signed-off-by: DKL <dkl@zurich.ibm.com>
Co-authored-by: DKL <dkl@zurich.ibm.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-06-24 17:54:55 +00:00
dependabot[bot]
810a1158f2
build(deps-dev): bump brace-expansion from 1.1.11 to 1.1.12 in /src/frontend (#8500)
* build(deps-dev): bump brace-expansion in /src/frontend

Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* [autofix.ci] apply automated fixes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-06-12 11:34:00 +00:00
Lucas Oliveira
60ccdb500f
feat: add servers persistence to MCP connection component, add MCP connections settings page (#8388)
* Added mcpinput to the backend

* Fixed list selection component to contain descriptions

* Added mcp component in the frontend with mock values

* Added mcp rendering on Parameter Render Component

* Changed input to be more concise and to have dynamic placeholder

* Added header search placeholder

* Fixed styling to match new input

* Removed unused params

* Adds AddMcpServerModal's first mock version

* Adds Add button on mcp component and list selection component

* First pass at mcp api

* Add PATCH endpoint

* Add DELETE endpoint

* fix: Bump version numbers for langflow and langflow-base to 1.4.3 and 0.4.3 respectively

* fix: Remove Igor Carvalho from maintainers list in pyproject.toml

* fix(agent): reset model list when provider changes

Switching the provider in the Agent component sometimes left models from
the previous provider visible/selected.
We now filter  against the new , ensuring only
models that belong to the active provider remain.

* src/frontend/src/components/core/dropdownComponent/index.tsx
  – add  guard when rebuilding

* tests/extended/regression/general-bugs-dropdown-select-not-in-list.spec.ts
  – expand coverage for “model not in list” edge-cases

Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>

* fix: Update Pokédex Agent template (#8373)

* Implement adding and getting MCP servers, implemented addMcpServerModal

* Added sse and stdio ways of adding a server

* Added no actions handling

* added new mcp type to constants

* Added headers to add mcp server modal

* Changed mcp component to allow persistent mcp servers

* fix input list component gradient

* fix add server modal to patch when initial data is present, and to clean variables when switching tabs

* changed message on add mcp server

* Added required mutations for mcp page

* Added mcp servers page

* Changed design of page

* Fixed delete problems and added delete confirmation

* fixed wrong error parsing

* changed padding

* Made added server be used on mcp component

* refactor: remove references to the langflow store (#8354)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
fix: apikey lock issue and add option to disable tracking (#8361)

* Fixed search on sidebar

* fixed infinite use effect

* Fixed error handling

* Fixed tool mode disappearing

* fixed key pair button submitting form

* Fixed bugs

* Added required

* Changed message

* Disabled other tabs when modifying

* Removed tool dropdown if the mcp server is empty

* parsed name

* fixed data test id not applying

* fixed mcp component

* Fixed component not working when only stdio command is present

* refactored tests

* Updated mcp_component to remove old non default keys

* Added data-testids

* Modified tests to include settings page functionality

* [autofix.ci] apply automated fixes

* Refactor out the core part of the mcp

* [autofix.ci] apply automated fixes

* Added placeholders on frontend components for errors

* Fixed bugs with mcp component

* updated bug

* fix: made empty project appear instead of empty flows list when mcp is enabled (#8336)

* try to fix

* Fix MCP persistence

* Update mcp_component.py

* Update mcp.py

* [autofix.ci] apply automated fixes

* fix: Bump version numbers for langflow and langflow-base to 1.4.3 and 0.4.3 respectively

* fix: Remove Igor Carvalho from maintainers list in pyproject.toml

* fix(agent): reset model list when provider changes

Switching the provider in the Agent component sometimes left models from
the previous provider visible/selected.
We now filter  against the new , ensuring only
models that belong to the active provider remain.

* src/frontend/src/components/core/dropdownComponent/index.tsx
  – add  guard when rebuilding

* tests/extended/regression/general-bugs-dropdown-select-not-in-list.spec.ts
  – expand coverage for “model not in list” edge-cases

Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>

* refactor: remove references to the langflow store (#8354)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
fix: apikey lock issue and add option to disable tracking (#8361)

* fix: made empty project appear instead of empty flows list when mcp is enabled (#8336)

* fix mcp client async problems

* fixed mcp sse access

* [autofix.ci] apply automated fixes

* Made values be maintained when refreshing page

* Fixed bugs with tool mode and switching from tool mode to not tool mode

* Update mcp_component.py

* Update test_mcp_component.py

* Don't expose file by name as external endpoint

* Update files.py

* Update files.py

* Add checks for id

* Refactor tests

* Update test_mcp_component.py

* Update test_mcp_component.py

* Update test_mcp_component.py

* updated tests

* re-added placeholder on input for tests to not fail

* updated session selector in order for tests to work

---------

Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: Cristian Lousa <cristian.lousa@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
2025-06-11 19:21:38 +00:00
Yuqi Tang
e23e543b60
feat: combine chat history and chat store into a CRUD component (#8323)
* combine history and store

* combine history and store

* [autofix.ci] apply automated fixes

* Update memory.py

* [autofix.ci] apply automated fixes

* update json

* Update memory.py

* Update memory.py

* [autofix.ci] apply automated fixes

* change order

* change order

* put retrieve first

* add json

* [autofix.ci] apply automated fixes

* Update memory.py

* [autofix.ci] apply automated fixes

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

* update test

* fix test

* update tests

* update memory_chatbot

* change number back

* fix py test

* update

* update pokedex

* update flow

* [autofix.ci] apply automated fixes

* update type converter

* format

* fix name

* update meeting summary

* [autofix.ci] apply automated fixes

* fix test memory chatbot

* update method

* update method

* fix sort

* fix test graph state

* fix test

* fix locator

---------

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: Eric Hare <ericrhare@gmail.com>
2025-06-05 22:19:01 +00:00
Chris Mauck
087a22c246
feat: Add Cleanlab's AI Reliability Bundle to Langflow (#8049)
* Add Cleanlab bundle

* Fix icon logic and add support for light/dark mode dynamic logo

* Remove stuff

* Modify components and add documentation

* [autofix.ci] apply automated fixes

* Add sidebar code

* [autofix.ci] apply automated fixes

* Update docs/sidebars.js

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

* Update docs/docs/Integrations/Cleanlab/integrations-cleanlab.md

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

* Update docs/docs/Integrations/Cleanlab/integrations-cleanlab.md

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

* Update docs/docs/Integrations/Cleanlab/integrations-cleanlab.md

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

* copy edits

* update samples

* style check fixes

* [autofix.ci] apply automated fixes

* style check fix 2

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
2025-06-04 22:56:08 +00:00
dependabot[bot]
ae6f3429f0
build(deps): bump esbuild from 0.21.5 to 0.25.0 in /src/frontend (#6257)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.21.5 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-06-03 13:59:04 +00:00
dependabot[bot]
7e1452149c
chore(deps): bump tar-fs from 2.1.2 to 2.1.3 in /src/frontend (#8332)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 08:36:21 -03:00
Lucas Oliveira
d3d06be8e5
feat: add one click install to mcp servers on specific clients (#8271)
* Added endpoint to add servers to local backend

* Add install mcp query

* Fixed mcp projects to receive body schema

* Added patch install to mcp server tab

* feat: adds new Edit Details popover, removes flow menu, fixes nav alignment, adds new Flow Status overlay (#8087)

* Updated flow settings component size

* Added FlowSettingsComponent to contain modal content

* Removed unused imports

* Changed Flow Settings Modal to use new component

* Changed Flow Menu styling, removing Saved and context menu, and adding a direct click to edit flow info

* Removed unused styling

* Updated nav position and truncation

* updated alert styling

* Added z index to header

* Added flow settings coming from the bottom

* Changed flow settings to not crash when there is no flow

* Removed unused imports

* Implemented flow details using popover

* Removed onClick

* Changed canvas controls position and color

* Changed panel tooltip side and classes

* Added log canvas component

* Added children to flow logs modal

* Added log canvas component into page

* Changed position and shadow of canvas controls

* removed endpoint name from edit flow settings

* added endpoint name change into tweaks modal

* Added endpoint editing to tweaks

* Implemented storing the error in the flowBuildStatus

* Updated type

* Added Flow Building Component

* Added Flow Building Component implementation

* Added red color

* Added past build flow params

* Implemented design of flowBuildingComponent

* Implemented build error storing on flowStore

* Implemented build error on flow store

* Changed notifications test

* Set build error as null when building

* Reset build error when exiting flow

* Changed from error to buildError

* Changed flowStore to have buildInfo instead of buildError

* Changed flowBuildingComponent to have buildInfo and display successful builds

* Added handleDismissed instead of setting dismissed as true

* Updated tests to current Update implementation

* Updated tests to remove click on built successfully

* Updated tests and data-testid to match new Flow Name editing behavior

* fixed auto login test

* Fixed edit-flow-name test and save changes on node

* fixed tests

* Changed Share to Publish and added test ids

* added Rename Flow util for tests

* Changed tests to use new RenameFlow

* Fixed auto save off

* Added data test id to flow building component

* Removed pulsing from Name Invalid

* Made name editable but not saveable when invalid

* Added character name reached on description

* Added transition on pencil

* Modularized alert store to separate notification history and notifications

* Added errors to notification history

* Fixed flow building component position and update all components

* Fixed animations

* Fixed animation

* Added same animation to Update All Components

* Updated animations to make update only appear when flow building is not appearing

* fix flow settings test

* Fixed build status not being redefined

*  (UpdateAllComponents/index.tsx): Refactor containerVariants to CONTAINER_VARIANTS for consistency and readability
📝 (visual-variants.ts): Add visual variants for buttons and time in flowBuildingComponent
♻️ (flowBuildingComponent/index.tsx): Import visual variants from separate file for better organization and maintainability

* Fixed offset width of time

---------

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

* fix: fix regex on mcp server tab test (#8175)

* Fixed MCP Server Tab Test

* Fixed mcp server tab test

* Added timeout to test

* Added retry to mcp server tab test

* docs: cookie-banner-link (#8179)

cookie-banner-link

* fix: removed fit view that caused duck duck go test to fail (#8178)

fixed duck duck go test to not fail

* feat: Enhance API request component (#8070)

* update the api request component

* [autofix.ci] apply automated fixes

* update the component

* Update test_api_request_component.py

* [autofix.ci] apply automated fixes

* remove MODE_CONFIG unused variable

* [autofix.ci] apply automated fixes

* use normalize function

* Update template

* Update test_api_request_component.py

* UI test fix

* selector fix

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Yuqi Tang <yuqi.tang@datastax.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>

* docs: system assist component (#8089)

* sidebars

* initial-content

* more

* update

* trailing-spaces

* example

* standardize-naming

* shorten-introduction-and-remove-client

* Apply suggestions from code review

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

* Update docs/docs/Integrations/Nvidia/integrations-nvidia-system-assist.md

---------

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

* docs: deploy langflow with caddyfile and docker compose (#8120)

* initial-content

* not-json

* clarify-public key

* more-accessible-name-and-context

* exit-session

* fix: simplify GetStartedProgress percentage calculation logic (#8183)

🐛 (get-started-progress.tsx): fix calculation of totalPercentage to correctly display progress bar percentage
💡 (get-started-progress.tsx): refactor logic to calculate totalPercentage based on user opt-ins and flows

* fix: set cursor to text in text fields (#8173)

Fixed cursor being default in input fields

* feat: add datastax components bundle (#8184)

* feat: add datastax components bundle

* Update __init__.py

* Remove old astra assistants folder

* Remove old tools

* Update __init__.py

* Update test_assistants_components.py

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>

* feat: updated components header styling (#8085)

* Removed unused styles

* Updated node icon to follow design

* Updated node name to follow design and include Beta

* Removed Beta from node status

* Removed unused classes and parameters from GenericNode

* Changed node description padding on input

* Changed paddings and gaps

* removed unused classes

* Added accent purple foreground color to Experimental

* Fixed classes and gaps in generic node

* Fixed node name gaps

* Fixed node status classes and styling

* Removed unused classes and changed run-bg size

* Changed test to use new test id

* Changed Node Name to have beta tooltip

* Changed Build Failed icon to be a circle alert

* Changed Node Status gap and conditions to show spacings correctly

* Changed padding to not change height of other components

* Changed nodeStatus to show validation on small node

* Changed classes to show correct spacing and overflow

* Changed description size

* Fixed description text size

* Fixed input margin

* Fixed description editing not appearing when no description is available

* Fixed status not breaking words

* Updated colors

* Updated node output color

* [autofix.ci] apply automated fixes

* Changed duration style in chat

* Re-added output color

* Updated timeout on mcp server tab test

* Added more timeout to mcp server tab test

* fixed loop component test

---------

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

* ref: SQL component (#8185)

* update sql

* [autofix.ci] apply automated fixes

---------

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

* feat: Loop uplift dataframe input and output (#8177)

* tests cases

* update to loop

* Update component.py

* 📝 (LoopTemplate.json): update value of a configuration key from "OPENAI_API_KEY" to "ANTHROPIC_API_KEY" in order to reflect the correct API key being used

* update json test loop

* add dataframe support for the loop component

* [autofix.ci] apply automated fixes

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

* fix: starter project

* update loop component and tests

* [autofix.ci] apply automated fixes

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

* update logic

* Update loop_basic.py

* Update Research Translation Loop.json

* fix lint

* format fix

* [autofix.ci] apply automated fixes

* reverting changes in component and vertex base

* [autofix.ci] apply automated fixes

* fix lint errors

* [autofix.ci] apply automated fixes

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

* update in the loop templates and component

* [autofix.ci] apply automated fixes

* Update Research Translation Loop.json

* update tests

* update the code and deprecate the old loop

* [autofix.ci] apply automated fixes

* Update loop_basic.py

* WIP FIX Loop Tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

*  (loop-component.spec.ts): Update test cases to use more descriptive names for components and actions for better clarity and understanding.

*  (loop-component.spec.ts): refactor loop component tests to improve readability and maintainability by updating test selectors and removing redundant test steps

* update

* Update loop-component.spec.ts

* Update Research Translation Loop.json

* Update Research Translation Loop.json

* Update Research Translation Loop.json

* Update Research Translation Loop.json

* loop test fix

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>

* fix: fixes nightly tests (#8194)

* fix: mcp test when there are a lot of flows (#8197)

* Added cursor and claude in icons

* Added one click install to cursor and claude

* Changed design of mcp server tab page

* Added function to get local platform

* Added platform specific installer json on mcp server tab

* Added FA icons for windows and linux

* Added icons to tabs

* Added endpoint to check for installed MCP servers

* Added use get installed MCP servers

* Changed to get installed

* Use installed MCP servers on server

* Correct instalation for windows and WSL

* Fixed code not selecting

* refactor: use session_scope for database session management in install_mcp_config

* refactor: change logger level from info to debug for WSL and Windows detection in install_mcp_configg

* refactor: replace subprocess with asyncio for WSL IP address retrieval in install_mcp_config

* refactor: streamline project MCP server handling and improve SSE connection management in mcp_projects.py

* refactor: remove unnecessary user dependency from project endpoints in mcp_projects.py

* refactor: unify database session management using session_scope in mcp_projects.py

* refactor: enhance project tool listing and logging in mcp_projects.py by using session_scope and changing logger level to debug

* refactor: simplify WSL detection logic in install_mcp_config by removing unnecessary variable and streamlining conditions

* Removed unused console.log

* Implemented check if Langflow is running on local machine

* Fixed backend to generate an error if trying to install from not local

* Added error handling to frontend and changed loading

* Fix check of macos

* Refactored mcp server tab test to work with new changes

* Fixed test to pass with Windows selected and check the status of Linux too

* [autofix.ci] apply automated fixes

* Changed wait for timeout for wait for selector

* Fixed path.open

* Refactor test_update_project_mcp_settings to use session_scope for database service mock

* Refactor tests in test_mcp_projects.py to utilize session_scope for database session management, improving consistency and readability.

* Updated wsl to uvx

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Yuqi Tang <yuqi.tang@datastax.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-06-02 19:21:02 +00:00
Mike Fortman
7ab495171a
refactor: Organize model lists to support metadata (#8268)
* add model metadata

* add new anthropic models

* templates

* [autofix.ci] apply automated fixes

* stylel fix

* whitespace

* move models to a list

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-05-30 18:13:06 +00:00
Yuqi Tang
d84ea5c9b7
Feat: move other tools to different folders (#8164)
* delete data and transfer data to dataframe

* [autofix.ci] apply automated fixes

* create a new bundle for search

* fix type for dataframe

* add data_to_dataframe function

* [autofix.ci] apply automated fixes

* fix test because of files movement

* delete message and text

* json update

* fix search yahoo test

* fix run_model output type

* add tavily bundle

* move other tools

* [autofix.ci] apply automated fixes

* add tavily bundle

* move other tools

* [autofix.ci] apply automated fixes

* update python repl import path

* autofix

* fix test

* fix frontend test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-05-27 17:56:59 +00:00
Gabriel Luiz Freitas Almeida
fc2eee8fa5
chore: Update version to 1.4.2 for langflow and langflow-base (#8113)
* chore: update version to 1.4.2 in package.json and package-lock.json

* chore: update version to 1.4.2 for langflow and langflow-base in project files
2025-05-19 12:29:02 +00:00
Lucas Oliveira
f72e910fc5
fix: add scroll and max height on chosen files on File Component, fixed font weight on start page (#8045)
* Added max  height and scrolling to input file component

* Updated weight of titles
2025-05-14 17:46:59 +00:00
Will
327c0fd791
feat: Twelve Labs Bundle (#7837)
* feat: add twelve labs components

* fix: fix uv.lock for twelve labs components
2025-05-13 18:56:29 +00:00
Lucas Oliveira
be1caf2b61
fix: reorder playground messages, fix scroll behavior (#7928)
* updated vite-env to stop svg loading lint errors

* added scroll direction package

* added new Chat Scroll Anchor

* removed scroll handling from chat message

* added scroll handling on chat view

* removed console.log

* Removed validator from table and added on messagebase

* removed validator from model

* changed to scroll down after error

* [autofix.ci] apply automated fixes

* fixed not scrolling to bottom

* fix constant

* refactor: update MessageTable model configuration for validation and type allowance

* refactor: update properties type in MessageTable model and adjust validation logic

* refactor: update content_blocks type in MessageTable model to allow dict or ContentBlock

* Fix playground failing when it's Run Flow

---------

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: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-05-08 19:41:54 +00:00
Gabriel Luiz Freitas Almeida
23664552c9
chore: Bump version to 1.4.1 for langflow and langflow-base (#7954)
chore: bump version to 1.4.1 for langflow and langflow-base

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-05-08 18:58:47 +00:00
Lucas Oliveira
4fbc2af92d
fix: add search functionality to code editor (#7949)
* Updated packages

* added external searchbox to not cause conflicts on run-cli and desktop

* Fixed lint error in code area modal
2025-05-08 16:13:55 +00:00
dependabot[bot]
2c8e134725
build(deps-dev): bump vite from 5.4.18 to 5.4.19 in /src/frontend (#7870)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.18 to 5.4.19.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.19/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.19/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.19
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 18:25:39 +00:00
Gabriel Luiz Freitas Almeida
a388126ea4
chore: Bump version numbers for langflow and langflow-base to 1.4.0 and 0.4.0 respectively (#7867) 2025-05-02 18:07:04 +00:00
Deon Sanchez
bdfc69d09b
fix: make icons display correctly in composio dialog (#7708)
* feat: update icon handling and version bump to 1.3.4

* feat: enhance icon rendering and add data-testid attributes for better testing

* revert backend and added change to frontend

* fixed jumping icons

* Fix MAC OS detection by checking if navigator is defined before accessing userAgent

* Remove uv.lock file and update package-lock.json

* Update Playwright and Playwright test dependencies to v1.52.0

* Refactor icon formatting logic into a separate variable for better readability

* Add uv.lock file with Python package dependencies

* Update UV dependencies lock file

* Skip group and ungroup test in workspace release tag

* Simplify data-testid logic in genericIconComponent using optional chaining

* Enable group and ungroup values test by removing test.skip

* Fix icon validation and update icon component data-testid logic

* Simplify icon validation by removing Font Awesome check and refactoring boolean logic

* Simplify MAC OS detection by removing unnecessary type check

* Fix icon case sensitivity in ListItem component by capitalizing first letter

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-04-29 17:28:03 +00:00
Edwin Jose
c80cb3f35e
feat: Add MCP Server Settings to projects, rename Folder to Project (#7741)
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: deon-sanchez <deon.sanchez@datastax.com>
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: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: phact <estevezsebastian@gmail.com>
2025-04-29 14:14:55 -03:00
Lucas Oliveira
ad3bc07733
fix: remove quick flash with already rendered icons (#7828)
* Fix rapid update with already rendered components

* Added check to not re-render previously rendered icons

* Removed all loaded icons in favor of lazy loaded icons

* Fixed Share icon

* Updated Lucide

* Deleted Eager Icon Imports

* Added AWS Inverted to Lazy Icon Imports

* Added check if name contains a number to kebab case name

* fixed freeze path shortcut

* Added remaining icons to lazy icons mapping

* Removed unused icon mapping, added eager loading react icons, added replacing "icon" with "" on get lucide name

* removed unused import

* Update hook to not be used inside function call

* Updated package-lock
2025-04-29 16:18:22 +00:00
Lucas Oliveira
b1217f96fe
feat: new tool mode dialog and UI (#7647)
* Add tools input to the backend

* Add tools type

* Add tools component to parameter render

* Added tools to langflow supported types

* Add tools modal

* Instantiate tools component in parameter render

* Removed div when there is not any visible actions

* Added margin

* Add ComboBoxItem and ListItem components for enhanced selection UI

* Update ComboBoxItem to display item description and enhance ToolsModal layout

* Refactor ToolsModal header styling for improved layout and icon padding

* Enhance ComboBoxItem layout and styling; update ToolsModal size and class for better responsiveness

* Changed display name

* Adds truncate for badges

* Adds custom styling for table used for Tools modal

* Added Tools modal with AgGrid

* Changed button

* made name and description editable

* Parse values for saving

* Add focused row without triggering checkbox click

* [autofix.ci] apply automated fixes

* Added types for tools modal

* added toolsTable with sidebar on toolsModal

* Added changes to work with MCP

* update component.py to add display name and display description in tool mode

* removed editing directly

* Fixed editing

* removed to upper case

* Make editing apply filters

* Adds design changes for MCP

* Adds new design and null check

* 📝 (frontend): add data-testid attribute to elements for testing purposes
🔧 (frontend): update data-testid attribute values for consistency and clarity in testing
 (frontend): update tests to use correct selectors and improve test coverage for editing tools functionality

*  (edit-tools.spec.ts): update test to use a more reliable method for checking visibility of an element

*  (edit-tools.spec.ts): add "@components" tag to the test to categorize it under components for better organization and filtering in test suites.

* Updated design with new design

* update padding

* send args to tools data

* Implemented showing arguments passed to LLM in tool mode

* add componentg name to description

* update package lock

* fixed tests

* fixed backend test

* fixed backend test

* fixed formatting

* Fixed frontend tests

* updated font sizes for badges on actions and styling on sortable list

* Update tool mode design

* added tooltips for info

* tool name update

* Update component_tool.py

* styling utils

* default values change

* fixed tools test

* fix format issues

---------

Co-authored-by: deon-sanchez <deon.sanchez@datastax.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: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
2025-04-28 23:24:48 +00:00
Mike Fortman
960d46250f
refactor: Cleanup up unused frontend files using Knip (#7506)
* extrasidebar cleanup

* shad component cleanup

* components and types batch

* controllers cleanup

* helpers and table components

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-04-17 15:19:22 +00:00
Gabriel Luiz Freitas Almeida
ae2ef5d8e4
chore: Update langflow and langflow-base package versions to 1.3.3 and 0.3.3 (#7625)
* chore: update package versions to 1.3.3 and 0.3.3

- Bump langflow version to 1.3.3 in pyproject.toml and uv.lock.
- Update langflow-base version to 0.3.3 in its pyproject.toml and uv.lock.

* chore: bump langflow version to 1.3.3 in package.json and package-lock.json
2025-04-14 22:38:00 +00:00
dependabot[bot]
93fbd3bff7
build(deps-dev): bump vite from 5.4.16 to 5.4.18 in /src/frontend (#7596)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.16 to 5.4.18.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.18/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.18
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 19:23:42 +00:00
Cristhian Zanforlin Lousa
7a7c8a14df
feat: Display flow logs timestamps in local time zone (#7477)
⬆️ (frontend): upgrade moment-timezone dependency to version 0.5.48
 (frontend): add new utility function convertUTCToLocalTimezone to convert UTC timestamps to local timezone in flowLogsModal and utils files
2025-04-07 14:47:50 +00:00
Cristhian Zanforlin Lousa
8e31fc5a8a
chore: bump langflow and langflow-base for 1.3.2 release (#7434)
upgrade langflow 1.3.2
2025-04-03 18:49:22 -03:00
Deon Sanchez
b0a9b6e8ab
fix: fixes dropdown refreshList not working properly (#7395)
* feat: add nodeId, nodeClass, and handleNodeClass props to dropdown and string render components

* fix: remove extraneous flag from package-lock.json and add nodeId, nodeClass, handleNodeClass props to ParameterRenderComponent

---------

Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
2025-04-02 19:32:52 +00:00
Gabriel Luiz Freitas Almeida
aa49028fae
chore: bump langflow for 1.3.1 (#7392)
* bump langflow and langflow-base

* bump langflow frontend
2025-04-01 20:18:11 +00:00
Deon Sanchez
6dac50a3fc
feat: composio clean up 🧹 (#7371)
* feat: enhance animations and improve ListSelectionComponent functionality

- Added overlay and content animations to tailwind.config.mjs for smoother transitions.
- Updated ListSelectionComponent to reset search input when the dialog opens and improved item display styling.
- Refactored ConnectionComponent to utilize the new onSelection prop in ListSelectionComponent for better selection handling.

* fix: refine animation timings and enhance ListSelectionComponent layout

- Adjusted animation durations in tailwind.config.mjs for smoother transitions.
- Updated ListSelectionComponent to increase maximum height for improved content display.

* feat: enhance ListSelectionComponent with hover functionality and keyboard navigation

- Added mouse enter and leave handlers to ListItem for improved user interaction.
- Implemented keyboard navigation to select items using the Enter key when an item is hovered.
- Updated styling for ListItem to enhance visual feedback during hover states.

* feat: enhance ListItem with hover state and selection feedback

- Added hover state management to ListItem, allowing visual feedback when an item is hovered.
- Updated the rendering logic to display a "Select" label and an icon when the item is hovered.
- Improved the selection indicator for better user experience.

* feat: enhance ListSelectionComponent with keyboard navigation and focus management

- Added keyboard navigation to allow users to select items using the Arrow keys and Enter key.
- Implemented focus management to highlight the currently focused item in the list.
- Updated the component to reset focus and search input when the dialog opens or the filtered list changes.
- Improved item rendering to visually indicate focus state.

* feat: enhance ListSelectionComponent with improved keyboard navigation and hover management

- Added state management for keyboard navigation to improve user experience when selecting items.
- Implemented hover state clearing during keyboard navigation to prevent visual conflicts.
- Updated ListItem to conditionally apply hover styles based on keyboard navigation state.
- Enhanced focus management to reset when the filtered list changes or when the dialog opens.

* fix: refine animation timings and update ListSelectionComponent layout

- Adjusted clipPath values in tailwind.config.mjs for improved overlay animations.
- Increased animation durations for overlay and content transitions to enhance smoothness.
- Removed unnecessary padding in ListSelectionComponent for a cleaner layout.

* refactor: update ListSelectionComponent styles for improved visual consistency

- Changed text color and background color classes in ListItem to enhance readability and maintain design consistency.
- Updated icon color to align with the new text styling for better visual integration.

* [autofix.ci] apply automated fixes

* fix: improve ListSelectionComponent behavior and cleanup event listeners

* fix: adjust minimum height of ListSelectionComponent dialog for better usability

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-04-01 18:28:06 +00:00
dependabot[bot]
3a5dbb2aa2
chore(deps-dev): bump vite from 5.4.14 to 5.4.16 in /src/frontend (#7365)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.14 to 5.4.16.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.16/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.16/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 18:49:45 +00:00
Cristhian Zanforlin Lousa
5ef13d98d1
chore: bump langflow and langflow-base for 1.3.0 release (#7362)
* ⬆️ (pyproject.toml): update package version to 1.3.0 and langflow-base dependency to 0.3.0
♻️ (LoopTemplate.json): change legacy flag from true to false for ParseData component to align with updated logic and functionality

* uv sync package

*  (frontend/package.json): update version from 1.2.0 to 1.3.0 to reflect the latest changes and improvements in the frontend application.

* 🐛 (LoopTemplate.json): set "legacy" property to true for ParseData component to handle legacy functionality and improve compatibility with older versions.

* ⬆️ (pyproject.toml): upgrade package version from 0.2.0 to 0.3.0
2025-03-31 17:41:20 +00:00
Deon Sanchez
d3104e15ae
feat: Composio Component Upgrade (#6905)
* feat: Add button component and update dropdown rendering

* feat: Implement ListSelectionComponent and update ButtonComponent

- Add new ListSelectionComponent for selecting actions with search functionality
- Refactor ButtonComponent to use ListSelectionComponent
- Update ParameterRenderComponent to simplify button rendering
- Modify DropdownComponent to prepare for future changes

* feat: Add Sortable.js for drag-and-drop functionality and grid icon

- Integrated Sortable.js library in index.html and package files
- Added GridHorizontalIcon for drag handle visualization
- Updated ButtonComponent with commented sortable list example
- Improved input styling in ListSelectionComponent

* feat: Add ButtonInput for Composio API and update input types

- Introduced ButtonInput class in inputs module
- Added new button input fields to ComposioAPIComponent
- Updated FieldTypes enum to include BUTTON type
- Modified frontend ButtonComponent layout
- Removed commented-out code in DropdownComponent

* [autofix.ci] apply automated fixes

* feat: Enhance ButtonComponent with dynamic type and improved UI

- Add type prop to ButtonComponent to support different rendering modes
- Implement tool name and actions button layouts
- Add sample action data for actions button type
- Improve sortable list styling and interaction
- Refactor ButtonComponent to handle different use cases

* refactor: Improve ButtonComponent layout and Sortable configuration

- Adjust Sortable animation duration
- Modify list item layout and positioning
- Remove unnecessary CSS classes
- Simplify button and icon positioning

* feat: Integrate react-sortablejs for improved drag-and-drop functionality

- Replace Sortable.js with react-sortablejs library
- Add TypeScript types for SortableJS
- Update ButtonComponent to use ReactSortable component
- Improve list item rendering and styling
- Remove manual Sortable initialization

* feat: Enhance ButtonComponent with authentication and dynamic action data

- Add isAuthenticated state to control button visibility
- Introduce initialActionData and actionData state for dynamic list management
- Update button styling and icon for unauthenticated state
- Enable ReactSortable to modify action data list

* style: Update ButtonComponent styling with accent-themed colors

* style: Refine button styling with amber accent theme

* feat: Enhance ButtonComponent with dynamic rendering and improved UX

* feat: Add external link to DataStax Wikipedia page on button click

* feat: Implement delete action for button component action data

* feat: Enhance ButtonComponent with authentication and UI improvements

* feat: Enhance ListSelectionComponent with dynamic data and multi-select functionality

* feat: Improve ListSelectionComponent and ButtonComponent interaction and authentication flow

* refactor: Replace ButtonInput with ListSelectionInput in Composio API and input components

* [autofix.ci] apply automated fixes

* refactor: Optimize ListComponent with memoization and improved state management

* feat: Add selection type support to Composio API and ListSelectionComponent for improved user interaction

* refactor: Rename action-related props in ListSelectionComponent and ListComponent for clarity and consistency

* feat: Expand ListSelectionInput options and enhance ListSelectionComponent with dynamic data and metadata support

* refactor: Clean up comments and improve code readability in ListSelectionComponent and ListComponent

* [autofix.ci] apply automated fixes

* chore: Remove debug log from ParameterRenderComponent and add text/plain type to DRAG_EVENTS_CUSTOM_TYPES

* feat: Introduce ConnectionInput and SortableListInput components, replacing ListSelectionInput; enhance ComposioAPIComponent with new input types and improve parameter rendering with connection support

* [autofix.ci] apply automated fixes

* feat: Enhance ConnectionComponent with new state management and selection handling; update SortableListComponent to utilize new props for improved functionality

* feat: Implement SearchBarComponent to enhance ListSelectionComponent with improved search functionality and category selection

* feat: Update ComposioAPIComponent with external links and enhance ConnectionComponent with improved state management and dynamic link handling

* fix: Update ConnectionComponent layout and button styles for improved UI consistency

* chore: Remove unused Sortable.js script from index.html to streamline frontend resources

* Update index.tsx

* [autofix.ci] apply automated fixes

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

* Add backend support for composio actions

* [autofix.ci] apply automated fixes

* Update composio_api.py

* Update composio_api.py

* [autofix.ci] apply automated fixes

* fix: enhance ListSelectionComponent styling and functionality

- Updated ListItem component to accept a className prop for better customization.
- Improved item name display with truncation for better UI handling.
- Adjusted DialogContent styling for responsive width and layout.
- Enhanced overflow handling in the selection list for better user experience.

* feat: enhance ListSelectionComponent and ConnectionComponent functionality

- Added onSelection prop to ListSelectionComponent for handling item selection actions.
- Improved item selection logic to trigger onSelection callback.
- Refactored connection handling in ConnectionComponent to manage loading state and authentication.
- Updated connection link handling to ensure proper link retrieval and usage.

* fix: reset search input in ListSelectionComponent after selection

- Added functionality to clear the search input by setting it to an empty string when an item is selected. This improves user experience by ensuring the search field is reset after a selection is made.

* fix: improve selection logic and styling in ListSelectionComponent and ConnectionComponent

- Enhanced ListItem component to conditionally apply a green color for validated items.
- Updated selection logic in ListSelectionComponent to consider items with a validated link as selected.
- Initialized authentication state in ConnectionComponent based on the connection link status.
- Adjusted connection handling to update authentication state when the link changes.

* fix: refine item selection handling in ConnectionComponent

- Removed the setting of selectedItem state in the handleSelection function to streamline the selection process.
- Updated logic to focus on handling new value updates without maintaining a separate selected item state.

* fix: enhance ConnectionComponent and ListSelectionComponent functionality

- Removed console log from ListSelectionComponent to clean up the code.
- Added nodeId, nodeClass, and name props to ConnectionComponent for improved data handling.
- Implemented polling logic in ConnectionComponent to validate connections and manage loading states effectively.
- Updated loading state handling in the button to reflect polling status.

* fix: refactor ConnectionComponent for improved state management and polling logic

- Streamlined prop destructuring for better readability.
- Enhanced state management for polling and authentication.
- Added cleanup effects for polling intervals and timeouts.
- Improved event handling for connection button clicks and selection dialog.
- Updated comments for clarity and organization.

* Support handling the auth parameter

* [autofix.ci] apply automated fixes

* fix: improve key handling and state management in ListSelection and SortableList components

* Updated key assignment in ListSelectionComponent to include index for uniqueness.
* Enhanced SortableListComponent with useEffect to initialize listData from props and improved remove handler to update state correctly.
* Refactored setListData to ensure proper state updates and value handling.

* fix: update selected item handling in ConnectionComponent (#7280)

* Added useEffect to set selected item based on value and options.
* Modified handleSelection to ensure selected item structure is consistent.

* Fix output of component in actions

* fix: enhance connection handling in ConnectionComponent

* Updated handleConnectionButtonClick to accept a parameter for connection checking.
* Modified event handler to call handleConnectionButtonClick with the appropriate argument based on connection state.
* Ensured that the connection link opens in a new tab only when the connection check is true.

* [autofix.ci] apply automated fixes

* Remove the search categories

* fix: update list data handling in SortableListComponent

* Refactored useEffect to correctly set listData when value changes.
* Introduced a temporary variable to hold the value before updating state.

* refactor: optimize list data management in SortableListComponent

* Replaced useEffect with useMemo for listData initialization.
* Simplified state update logic in createRemoveHandler and setListDataHandler.
* Improved key assignment for SortableListItem to handle potential undefined names.

* Check if validated before passing link

* [autofix.ci] apply automated fixes

* refactor: improve connection handling and state management in ConnectionComponent

* Enhanced state management for tracking connection status and UI states.
* Updated polling management to prevent memory leaks and ensure proper cleanup.
* Simplified event handlers for connection button clicks and selection handling.
* Improved comments for better code clarity and understanding.

* fix: improve connection link handling in ConnectionComponent

* Added logging for connectionLink to aid in debugging.
* Updated useEffect to set the link only if connectionLink is not empty.
* Implemented authentication state change when connectionLink is validated.

* Clear list of actions when changing tools

* Update composio_api.py

* [autofix.ci] apply automated fixes

* feat: enhance error handling in ConnectionComponent

* Introduced ShadTooltip for displaying error messages.
* Added state management for error visibility and updated connection link handling based on error data.
* Modified button behavior and icon display based on connection status.

* refactor: simplify error handling in ConnectionComponent

* Removed unused state for error tooltip visibility.
* Updated error handling logic to include connection link status in addition to error data.

* Properly indicate error status in component

* Better management of tool name helper text

* refactor: streamline selected item initialization in ConnectionComponent

* Simplified the logic for setting the selected item based on the value prop.
* Ensured that the selected item is updated correctly when value or options change.

* fix: update authentication status in ConnectionComponent

* Added logic to set authentication status based on the selected option.
* Ensured that authentication state is updated when no option is selected.

* feat: update composio package (#7325)

update composio package

* Update Gmail Agent.json

* refactor: optimize InputGlobalComponent logic

* Removed unused imports and streamlined the useEffect and useMemo hooks for better performance.
* Enhanced the handling of unavailable fields and initial load completion state.
* Simplified the logic for setting the selected option based on the value and load_from_db status.

* refactor: improve error handling in ConnectionComponent

* Removed dependency on errorData in useEffect for setting link state.
* Streamlined error handling logic to focus solely on connectionLink status.

* refactor: enhance connection handling in ConnectionComponent

* Merged error handling logic into a single useEffect for improved clarity.
* Updated link state management to reflect the selected item's validation status.
* Ensured authentication state is set correctly based on the selected item.

* Filter list of available tools

* refactor: update ListSelectionComponent to use limit instead of selection type

* Removed the SelectionMode type and replaced it with a limit prop for selection.
* Adjusted selection logic to enforce the limit on selected items.
* Updated related components to reflect the new limit prop instead of type.

* [autofix.ci] apply automated fixes

* Add limit field and santiziation

* Update inputs.py

* Update composio_api.py

* Show actions only if a tool is selected

* [autofix.ci] apply automated fixes

* refactor: add limit prop to ParameterRenderComponent and SortableListComponent

* Introduced a limit prop to both components to control item rendering and selection behavior.
* Updated SortableListItem to conditionally render elements based on the limit value.
* Adjusted button visibility and styles in SortableListComponent according to the limit prop.

* fix: adjust styles in SortableListItem based on limit prop

* Updated height and padding styles for SortableListItem when limit is set to 1.
* Ensured consistent spacing and visibility of elements based on the limit value.

* Push latest template

* style: enhance SortableListItem styles for improved interaction

* Updated class names to ensure proper styling for hover and group states.
* Improved visibility of the remove button based on the limit prop, enhancing user experience.

* Update composio_api.py

* style: update SortableListItem max-width for improved layout

* Adjusted max-width class for SortableListItem when limit is set to 1, enhancing the component's visual consistency.

* Update Gmail Agent.json

* style: enhance ListItem component for better interaction

* Updated class names to improve hover effects and selected state styling.
* Added rounded corners and background color changes for better visual feedback.

* style: refine ListSelectionComponent and SortableListComponent layout

* Simplified class names in ListItem for cleaner styling.
* Moved HelperTextComponent into a dedicated div in SortableListComponent for improved layout and spacing.

* refactor: clean up ConnectionComponent code

* Removed unused imports and comments for better readability.
* Updated polling timeout duration from 30 seconds to 9 seconds to prevent indefinite polling.

* Fix bug with link on refresh

* Update Gmail Agent.json

* Update Gmail Agent.json

* Update Gmail Agent.json

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-03-29 10:12:51 +00:00
Gabriel Luiz Freitas Almeida
a19ea7b5c6
fix: Enhance state management with reset methods and logout functionality improvements (#7234)
* feat: add resetStore method to foldersStore for state management

 (foldersStore.tsx): Implement resetStore function to clear folders and reset related state variables, enhancing state management capabilities.

* feat: add resetStore method to flowsManagerStore for improved state management

 (flowsManagerStore.ts): Implement resetStore function to clear flows and reset related state variables, enhancing the store's state management capabilities.

* feat: add resetFlowState method to flowStore for enhanced state management

 (flowStore.ts): Implement resetFlowState function to clear and reset the flow-related state variables, improving the management of flow state in the application.

* feat: enhance logout functionality with state resets and query invalidation

 (use-post-logout.ts): Update the useLogout function to reset flow, flows manager, and folder states upon successful logout. Additionally, invalidate and remove related queries to ensure data consistency in the application.

* test: add user flow state cleanup test for session management

 (user-flow-state-cleanup.spec.ts): Implement a comprehensive test to verify that user flow states are properly cleaned up between sessions. The test includes user creation, flow management, and ensures that the admin cannot see user-specific flows after logout, enhancing the robustness of session handling in the application.

* refactor: streamline logout query management in useLogout function

🔧 (use-post-logout.ts): Remove redundant query removal calls in the useLogout function, focusing on invalidating queries to maintain data consistency post-logout. This change simplifies the logout process and enhances code clarity.

* 🔧 (user-flow-state-cleanup.spec.ts): remove unnecessary verification step for admin empty state to improve test readability and efficiency

*  (user-flow-state-cleanup.spec.ts): improve user flow state cleanup test by adding error handling for clicking on new project button and new flow button to ensure test stability and reliability

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-24 14:33:08 +00:00
Sebastián Estévez
59b2ed7765
chore: merge mcp components (#7167)
* take1

* depreacate stdio and sse mcp components

* optionals

* rodrigo fixes

* session management

* update init

* mcp component integration test

* broken

* [autofix.ci] apply automated fixes

* fix url input name

* upated MCP

* Update mcp_component.py

* [autofix.ci] apply automated fixes

* update to the MCP component

* [autofix.ci] apply automated fixes

* mostly working

* [autofix.ci] apply automated fixes

* Update mcp_component.py

* [autofix.ci] apply automated fixes

* update component

* [autofix.ci] apply automated fixes

* Update mcp_component.py

* rename component because Simon

* icon and description for simon

* fix integration test

* fix test

* Update mcp_component.py

* update and basic QoL

* [autofix.ci] apply automated fixes

* refactor clients to util and use flow names not IDs in mcp.py

* integration test

* take out traces

*  (edit-tools.spec.ts): add test for user to be able to edit tools in the frontend application.

* session fix

* fix content output

* ♻️ (util.py): remove redundant constant HTTP_TEMPORARY_REDIRECT and replace its usage with httpx.codes.TEMPORARY_REDIRECT for better code readability and maintainability

* [autofix.ci] apply automated fixes

* 🐛 (utils.ts): fix potential null pointer error when converting words to title case by adding null check before accessing properties

* 🐛 (genericIconComponent/index.tsx): Fix issue with optional chaining in mapping function
🐛 (renderIconComponent/index.tsx): Fix issue with optional chaining in mapping function
🐛 (button.tsx): Fix issue with optional chaining in mapping function
🐛 (utils.ts): Fix issue with optional chaining in mapping functions

* 🐛 (language-select.tsx): Fix potential null pointer error when mapping over allLanguages array

*  (constants.ts): add support for multiple languages in the application by defining an array of language options
♻️ (audio-settings-dialog.tsx, language-select.tsx): refactor to import the array of all languages from constants.ts instead of duplicating it in each file

*  (auto-login-off.spec.ts): add a 2-second delay before continuing the test to ensure proper loading and rendering of elements on the page

* ⬆️ (filterEdge-shard-0.spec.ts): reduce wait time for page interactions to improve test performance
⬆️ (playground.spec.ts): optimize wait times for page interactions to enhance test efficiency

---------

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: cristhianzl <cristhian.lousa@gmail.com>
2025-03-21 19:11:01 -03:00
Cristhian Zanforlin Lousa
e9c675cdfd
fix: rollback package-lock.json file (#7184)
⬆️ (frontend/package-lock.json): update package-lock.json to use correct resolved URLs for @esbuild and @napi-rs packages for darwin-arm64 architecture. This ensures the correct packages are fetched for the specified architecture. Add support for fsevents package for darwin OS to handle file system events.
2025-03-20 11:05:17 -03:00
Sebastián Estévez
5493ac7b0b
feat: voice mode (#4642)
* WIP

* works

* stereo

* ui v0

* unnecessary import

* update steps in voice ws

* [autofix.ci] apply automated fixes

* unused

* merge

* [autofix.ci] apply automated fixes

* cleanly handle missing OPENAI key

* ruff

* [autofix.ci] apply automated fixes

* fix genericIconComponent path

* update for recent async fixes

* accidentally commited html file

* better prompt and threading

* client barge-in detection

* fmt

* error handling

* fixed VAD with 24 to 16Hz resampling

* comment out debug file

* better_vad

* lock

* router

* [autofix.ci] apply automated fixes

* mcp fixes

* timeout fix

* global variable exception handling

* don't close the websocket

* fix double send bug

* fix double send bug

* response.output_item event type typo

* voice_mode logging

* 📝 (constants.py): Add "copy_field" attribute to FIELD_FORMAT_ATTRIBUTES list
📝 (webhook.py): Add "copy_field" attribute to MultilineInput component
📝 (input_mixin.py): Add "copy_field" attribute to BaseInputMixin class
📝 (inputs.py): Add "copy_field" attribute to StrInput class
📝 (template/field/base.py): Add "copy_field" attribute to Input class
🚀 (NodeDescription/index.tsx): Remove default placeholder text for emptyPlaceholder prop
 (copyFieldAreaComponent/index.tsx): Add new component for handling copy field functionality
♻️ (strRenderComponent/index.tsx): Refactor component to include CopyFieldAreaComponent when copy_field attribute is present in template data

*  (NodeDescription/index.tsx): refactor renderedDescription useMemo to improve readability and maintainability
♻️ (GenericNode/index.tsx): refactor code to improve readability and maintainability, and optimize rendering logic

* 📝 (webhook.py): Add cURL field to WebhookComponent for better integration with external systems
📝 (graph/base.py): Add logging of vertex build information in Graph class for debugging purposes
📝 (NodeInputField/index.tsx): Add nodeInformationMetadata to NodeInputField for better tracking of node information
📝 (copyFieldAreaComponent/index.tsx): Refactor CopyFieldAreaComponent to handle different types of values, including webhooks
📝 (strRenderComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in StrRenderComponent
📝 (tableNodeCellRender/index.tsx): Add nodeInformationMetadata to TableNodeCellRender for better tracking of node information
📝 (textAreaComponent/index.tsx): Add support for webhook format in TextAreaComponent for better integration with webhooks
📝 (webhookFieldComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in ParameterRenderComponent
📝 (custom-parameter.tsx): Add nodeInformationMetadata to CustomParameterComponent for better tracking of node information
📝 (get-curl-code.tsx): Add support for different formats in getCurlWebhookCode for generating cURL commands
📝 (textAreaModal/index.tsx): Add onCloseModal callback to ComponentTextModal for better handling of modal closing
📝 (index.ts): Add type field to APIClassType for better typing of API classes

*  (index.tsx): Add a button to generate a token in the WebhookFieldComponent for improved user experience and functionality. Update the structure of the component to include the new button and styling adjustments.

* [autofix.ci] apply automated fixes

*  (generate-token-dialog.tsx): add GenerateTokenDialog component to handle token generation in webhookFieldComponent
📝 (index.tsx): import and use GenerateTokenDialog component in WebhookFieldComponent for token generation functionality

*  (frontend): introduce new feature to create API keys with customizable modal properties
🔧 (frontend): add modalProps object to customize modal title, description, input label, input placeholder, button text, generated key message, and show icon flag

* add pool interval variable and tests

* 📝 (NodeOutputfield): Remove unused ScanEyeIcon component
 (validate-webhook.ts): Add function to validate webhook data before processing
♻️ (use-get-builds-pooling-mutation): Refactor to set flow pool based on current flow
🔧 (content-render.tsx): Add data-testid attribute to api key input element
🔧 (webhookComponent.spec.ts): Refactor test to use waitForRequest for monitoring build requests

* [autofix.ci] apply automated fixes

* 🔧 (backend): rename webhook_pooling_interval to webhook_polling_interval for consistency
🔧 (frontend): update references to webhook_pooling_interval to webhook_polling_interval for consistency

* vad + dummy check

* 📝 (frontend): Update import paths and remove unused imports for better code organization and maintainability
🔧 (frontend): Refactor background styles in components to use constants for consistency and easier theming
🚀 (frontend): Add custom SecretKeyModalButton component for better modularity and reusability

* 📝 (use-get-api-keys.ts): add a TODO comment to request API key from DSLF endpoint for future implementation.

* 📝 (input_mixin.py): Remove copy_field attribute from BaseInputMixin as it is no longer needed
♻️ (inputs.py): Remove copy_field attribute from StrInput class as it is no longer needed
♻️ (inputs.py): Set copy_field attribute to False in MultilineInput class to ensure consistency
♻️ (template/field/base.py): Remove copy_field attribute from Input class as it is no longer needed
📝 (textAreaComponent/index.tsx): Replace hardcoded value "CURL_WEBHOOK" with constant WEBHOOK_VALUE for better readability and maintainability

* 🐛 (base.py): fix issue where flow_id could be None by defaulting to an empty string if flow_id is None

* 🔧 (secret-key-modal.tsx): Remove unused SecretKeyModalButton component
🔧 (get-modal-props.tsx): Remove unused getModalPropsApiKey function and related imports and constants

* 📝 (langflow): add noqa comments to suppress linting rule A005 for specific files in the io, logging, and socket modules

*  (frontend): Add voice assistant feature to chat input component
🔧 (frontend): Refactor import path for VoiceAssistant component
🔧 (frontend): Refactor class name for button in upload-file-button component
🔧 (frontend): Refactor class name for button in voice-button component
🔧 (frontend): Refactor class name for button in applies.css
🔧 (frontend): Refactor class name for button in styleUtils.ts

*  (api-key-popup.tsx): Add a new component ApiKeyPopup to enable users to enter their OpenAI API key for voice transcription
♻️ (index.tsx): Refactor VoiceAssistant component to check for the presence of OpenAI API key before starting voice transcription and show ApiKeyPopup component if key is missing
🔧 (apiKeyModal/index.tsx): Remove the obsolete APIKeyModal component as it is no longer needed after implementing ApiKeyPopup in the voice assistant feature

* merge fix

*  (Voice Assistant): Introduce voice transcription feature powered by OpenAI. Add components and hooks for handling audio recording, processing, and WebSocket communication. Implement functionality to start, stop recording, play audio chunks, handle WebSocket messages, and initialize audio context. Add support for entering API key for OpenAI.

*  (voice-assistant.tsx): Add voice assistant feature to the chat input component for recording and processing audio input
🔧 (use-post-voice.tsx): Remove unused file use-post-voice.tsx from the project
♻️ (use-handle-websocket-message.ts): Refactor useHandleWebsocketMessage function to improve readability and remove unnecessary console logs
♻️ (use-initialize-audio.ts): Refactor useInitializeAudio function to handle audio context creation and resume more efficiently
 (use-interrupt-playback.ts): Add useInterruptPlayback function to handle interrupting audio playback
 (use-start-conversation.ts): Add useStartConversation function to initiate a conversation using a WebSocket connection
📝 (chat-input.tsx): Update import path for VoiceAssistant component to match the new file structure

* ♻️ (use-interrupt-playback.ts): refactor useInterruptPlayback hook to clear audio queue, stop playback, and send stop message to audio processor if it exists

* 🔧 (gitattributes): add *.raw file extension as binary to prevent git from modifying the file contents

* lazy load components

* TRACE logging

* new voice_mode ws endpoint and elevenlabs mode

* unique voice

* text modality

* stream elevenlabs

* ws and sentence chunking

* offload tts to new thread

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

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

* add eleven labs changes on FE

* 🐛 (use-handle-websocket-message.ts): Fix logic to handle error messages and show API key modal when api_key_missing error occurs
♻️ (use-handle-websocket-message.ts): Refactor error handling logic to improve readability and maintainability
📝 (voice-assistant.tsx): Add console log for showApiKeyModal variable to debug an issue

* api_key_missing error includes key_name

*  (use-handle-websocket-message.ts): update status message when API key is missing to provide more context
🔧 (voice-assistant.tsx): add support for saving and handling API key using new API endpoints and alert messages
🔧 (voice-assistant.tsx): update logic to check for existing API key and handle saving new API key with appropriate error handling

* 🔧 (gitignore): remove unnecessary whitespace at the end of the file
🔧 (output_audio.raw): delete output_audio.raw file as it is no longer needed

* 🐛 (use-handle-websocket-message.ts): Fix logic to show API key modal only if hasOpenAIAPIKey is false
🐛 (voice-assistant.tsx): Fix missing hasOpenAIAPIKey parameter in VoiceAssistant component to prevent runtime errors

* [autofix.ci] apply automated fixes

* modalities

* send all openai events and homogenize eleven_client name

* 🔧 (voice_mode.py): Refactor get_or_create_elevenlabs_client function to accept user_id and session parameters for better flexibility and reusability
🔧 (voice-assistant.tsx): Add local storage utility functions to handle saving and retrieving audio settings for voice assistant
🔧 (voiceStore.ts): Create a new store to manage voice-related data such as available voices and providers
🔧 (audio-settings-dialog.tsx): Introduce a new component to manage audio settings for the voice assistant, including provider and voice selection
🔧 (settings-voice-button.tsx): Implement a button component to open the audio settings modal for the voice assistant

* unnecessary barge in queue and elif fix

* queue_service, remove old ws endpoint, and vad tweaks

* traceback and better system prompt

* [autofix.ci] apply automated fixes

* merge

* build_flow fix

* fix flow_and_stream args

* mcp flow_and_stream

* build_flow_and_stream

* retry prompt and conversation_id

* [autofix.ci] apply automated fixes

* prompt

* switch to openai and elevenlabs & add token based auth

* 📝 (voice_mode.py): Add import statements for new modules and classes
📝 (voice_mode.py): Add WebSocket endpoint parameter for session_id
📝 (voice_mode.py): Add logic to save message to database in WebSocket endpoint
 (use-get-messages-mutation.ts): Add function to fetch messages data from API
♻️ (use-start-conversation.ts): Update WebSocket URL to include session_id
♻️ (use-start-recording.ts): Add function to handle fetching messages after recording
♻️ (streamProcessor.ts): Add error handling for already registered processor
♻️ (voice-assistant.tsx): Add function to trigger fetching messages after recording
📝 (new-modal.tsx): Set and update current session ID in modal
📝 (utilityStore.ts): Add currentSessionId state and setter function
📝 (index.ts): Add type definition for currentSessionId in utility store

* [autofix.ci] apply automated fixes

*  (voice_mode.py): add functionality to save user input messages to the database during a conversation in the voice mode feature. This allows for better tracking and analysis of user interactions.

* [autofix.ci] apply automated fixes

* continue to support ws without session_id

* intercept and replace response.done when elevenlabs. and better logging

* 🐛 (voice_mode.py): Fix issue where message was not being saved to the database in certain cases
🐛 (use-start-recording.ts): Fix bug where handleGetMessagesMutation was not being called in all scenarios

* close openai ws when client ws closes

* [autofix.ci] apply automated fixes

* rename elevenlabs event type

* move session to global, improve event error logging

* [autofix.ci] apply automated fixes

* session update merging

* key check fix

* fix session update forwarding to openai

* [autofix.ci] apply automated fixes

* 📝 (chat-view.tsx): Add chat history display functionality to show messages in the chat view component and handle file uploads and drag and drop functionality.

*  (inputGlobalComponent): Add GeneralDeleteConfirmationModal and GeneralGlobalVariableModal components for reusability and better code organization
📝 (audio-settings-dialog.tsx): Add userElevenLabsApiKey prop to SettingsVoiceModal component for ElevenLabs API key configuration
🔧 (delete-confirmation-modal.tsx): Create GeneralDeleteConfirmationModal component for reusability in delete confirmation modals
🔧 (global-variable-modal.tsx): Create GeneralGlobalVariableModal component for reusability in global variable modals

* 🐛 (voice_mode.py): Fix error saving message to database and add transcript extraction function
🔧 (constants.ts): Update calculation for LANGFLOW_ACCESS_TOKEN_EXPIRE_SECONDS to use environment variable with fallback value
♻️ (audio-settings-dialog.tsx): Refactor imports and remove unused code, improve logic for setting voice provider and voice selection
🔧 (vite.config.mts): Add dotenv package for loading environment variables, update configuration to use environment variables for BACKEND_URL, ACCESS_TOKEN_EXPIRE_SECONDS, CI, and ELEVENLABS_API_KEY

* [autofix.ci] apply automated fixes

* handle BrokenResourceError

* handle BrokenResourceError

* voice UI/UX improvements

*  (voice-assistant.spec.ts): add test for voice assistant feature to ensure it is visible and interactive on the page

*  (frontend): add feature flag for enabling voice assistant functionality
📝 (input-wrapper.tsx): conditionally render VoiceButton based on ENABLE_VOICE_ASSISTANT flag to control visibility of voice assistant feature

*  (button.tsx): Add new button variant 'outlineAmber' for better visual consistency
🔧 (feature-flags.ts): Enable voice assistant feature by setting ENABLE_VOICE_ASSISTANT to true
🔧 (voice-assistant.tsx): Update logic to initialize audio only if hasOpenAIAPIKey is true
🔧 (voice-assistant.tsx): Update styling for voice assistant container and recording indicator
🔧 (voice-assistant.tsx): Update button variant to 'outlineAmber' for settings icon
📝 (index.css): Add new CSS variables for accent-amber and red-foreground colors for better theming
📝 (tailwind.config.mjs): Add 'red-foreground' color variable to Tailwind CSS config for consistency

* 🐛 (feature-flags.ts): fix ENABLE_VOICE_ASSISTANT flag to be set to false instead of true

* 🔧 (voice_mode.py): add global dictionary to store queues for each session and track active message processing tasks
🔧 (voice_mode.py): add message processing queue to ensure ordered processing of messages in the database

*  (frontend): enable voice assistant feature flag
♻️ (frontend): refactor code to use functional update pattern in useBarControls hook
🐛 (frontend): fix logic in VoiceAssistant component to properly handle recording and initialization of audio assistant

* [autofix.ci] apply automated fixes

*  (audio-settings-dialog.tsx): add LanguageSelect component to allow users to select preferred language for speech recognition
📝 (audio-settings-dialog.tsx): add documentation for ALL_LANGUAGES constant and SettingsVoiceModalProps interface
🔧 (language-select.tsx): create LanguageSelect component for selecting preferred language for speech recognition
🔧 (use-start-recording.ts): add autoGainControl and sampleRate options for better audio recording quality
🔧 (use-start-recording.ts): set fftSize property on analyserRef for improved audio analysis
🔧 (use-start-recording.ts): pass preferredLanguage to input_audio_buffer.append event for language identification
🔧 (voice-assistant.tsx): add support for setting and saving preferred language for speech recognition

* UI adjustments

* Small fixes for client/LF session update merges

* [autofix.ci] apply automated fixes

* 🔧 (use-bar-controls.ts): Add useRef import to fix missing dependency in useBarControls hook
🔧 (use-bar-controls.ts): Add animationFrameRef and timeDataRef to manage animation and sound detection
🔧 (use-bar-controls.ts): Add support for sound detection using analyserRef and setSoundDetected
🔧 (use-bar-controls.ts): Update useEffect dependencies for better performance
🔧 (voice-assistant.tsx): Add soundDetected state to manage sound detection in VoiceAssistant component
🔧 (voice-assistant.tsx): Pass analyserRef and setSoundDetected to useBarControls hook in VoiceAssistant component
🔧 (chat-message.tsx): Update className logic to handle isAudioMessage condition in ChatMessage component

* 🔧 (use-bar-controls.ts): refactor useBarControls hook to improve readability and maintainability by introducing useRef for baseHeights, lastRandomizeTime, and minHeight, and optimizing the sound detection logic.

*  (use-get-messages-polling.ts): Add new file for handling messages polling functionality
♻️ (use-bar-controls.ts): Refactor useBarControls hook to make setSoundDetected optional
♻️ (use-start-recording.ts): Remove handleGetMessagesMutation function call
♻️ (voice-assistant.tsx): Refactor VoiceAssistant component to use useGetMessagesPollingMutation instead of useGetMessagesMutation and manage soundDetected state using useVoiceStore
📝 (chat-message.tsx): Remove unused import and type ChatMessageType
🔧 (voiceStore.ts): Add soundDetected state and setSoundDetected function to voiceStore
🔧 (voice.types.ts): Add soundDetected boolean type and setSoundDetected function to VoiceStoreType

* 🔧 (frontend): add Button component import to improve code organization
🔧 (frontend): add support for saving OpenAI API key in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponentType interface for flexibility
🔧 (frontend): add commandWidth prop to InputComponent in InputComponent index file
🔧 (frontend): add commandWidth prop to CustomInputPopover in popover index file
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in Settings

* Update session instructions with more clear categories. Change how default LF session and client sessions are merged.

*  (chat-view.tsx): Add support for sound detection in chat view component to enhance user experience and interaction with the application.

* [autofix.ci] apply automated fixes

*  (audio-settings-dialog.tsx): Add debounce functionality to handleOpenAIKeyChange to improve performance and reduce API calls
🔧 (audio-worklet-processor.js): Add audio worklet processor for voice activity detection to enhance voice assistant functionality
♻️ (use-start-recording.ts): Refactor useStartRecording hook to only send non-silent audio data to the server for processing
🔧 (voice-assistant.tsx): Remove unnecessary import and setShowSettingsModal call in handleClickSaveOpenAIApiKey to clean up code

* 🐛 (audio-worklet-processor.js): Adjust noise and activation thresholds for better sensitivity and accuracy in speech detection
🐛 (audio-worklet-processor.js): Scale RMS volume to match use-bar-controls.ts scale for consistent threshold comparison
🐛 (use-bar-controls.ts): Update threshold for sound detection to align with scaled volume values for accurate detection

* 🔧 (use-start-recording.ts): refactor useStartRecording hook to simplify audio data handling and sending process to WebSocket server

* 🐛 (use-bar-controls.ts): adjust sound detection threshold to improve accuracy and responsiveness

* [autofix.ci] apply automated fixes

* 🐛 (voice-assistant.tsx): Update condition to initialize audio only if not recording, has API key, and settings modal is not shown
🐛 (chat-view.tsx): Fix syntax error in rendering new chat section in ChatView component

* ♻️ (chat-view.tsx): remove unnecessary parentheses in ChatView component to improve code readability

* 🐛 (voice-assistant.tsx): fix useEffect dependency array to include showSettingsModal to prevent unnecessary re-renders
♻️ (voice-assistant.tsx): remove duplicate onClick handler for showSettingsModal to improve code readability and maintainability

* 🐛 (voice-assistant.tsx): fix voice assistant settings button not closing audio input when clicked

* 🔧 (audio-settings-dialog.tsx): Remove unused 'open' prop from SettingsVoiceModal component
♻️ (voice-assistant.tsx): Refactor logic to handle audio recording and settings modal visibility
🔧 (voice-assistant.tsx): Replace AudioSettingsDialog component with SettingsVoiceModal component in VoiceAssistant component

* 🐛 (audio-settings-dialog.tsx): reduce debounce timeout from 2000ms to 1000ms for faster response to user input
🐛 (audio-settings-dialog.tsx): adjust alignOffset value in DropdownMenuContent component to -54 for better alignment on the UI

*  (button.tsx): add medium size variant to button component
🔧 (audio-settings-dialog.tsx): add isEditingOpenAIKey boolean prop and setIsEditingOpenAIKey function prop to SettingsVoiceModal component
🔧 (voice-assistant.tsx): add isEditingOpenAIKey state and setIsEditingOpenAIKey function to VoiceAssistant component, update handleSaveApiKey function to handle editing OpenAI API key

* 🐛 (audio-settings-dialog.tsx): Fix issue where the "Save" button text was not updating correctly based on editing state
📝 (voice-assistant.tsx): Add missing semicolon to the code to prevent syntax error

* 🐛 (audio-settings-dialog.tsx): Fix issue with setIsEditingOpenAIKey function call
♻️ (use-bar-controls.ts): Refactor code to properly initialize and handle audio analyzer
 (voice-assistant.tsx): Introduce logic to properly initialize audio and start recording when voice assistant is activated

* 🐛 (audio-settings-dialog.tsx): fix typo in setIsEditingOpenAIKey function call to properly close the editing of OpenAI key when modal is closed

* 🔧 (audio-settings-dialog.tsx): change onClick handler function name from setOpen to onOpenChangeDropdownMenu for clarity and consistency

* lint fixes

* ruff fixes

* [autofix.ci] apply automated fixes

*  (test_voice_mode.py): import pathlib module for improved file path handling
♻️ (test_voice_mode.py): refactor code to use newer numpy random Generator for better random number generation
📝 (test_voice_mode.py): update comments for clarity and consistency in test functions

* 🔧 (components.py): refactor global variables to use a class for managing component cache
🔧 (components.py): replace os module with pathlib for file path operations
🔧 (components.py): refactor global variables to use a class for managing fully loaded components
🔧 (components.py): refactor function to write audio bytes to file using a helper function

* 🔧 Refactor voice_utils.py: Improve error handling in write_audio_to_file function

*  (voice-select.tsx): add unique key prop to SelectItem component to avoid React warning and improve performance

* [autofix.ci] apply automated fixes

*  (audio-settings-dialog.tsx): Update onClick function to setIsEditingOpenAIKey instead of onOpenChangeDropdownMenu for better clarity
📝 (microphone-select.tsx): Update text from "Input" to "Audio Input" for better user understanding
♻️ (voice-assistant.tsx): Refactor handleSaveApiKey function to handle both OpenAI and ElevenLabs API keys, improving code readability and maintainability. Remove unnecessary checks for already saved API keys.

* 📝 (voice_utils.py): add docstring to resample_24k_to_16k function for clarity and documentation purposes
📝 (voice_utils.py): add input validation to ensure frame_24k_bytes is exactly 960 bytes before resampling
📝 (test_voice_mode.py): refactor test_webrtcvad_with_real_data to generate synthetic audio data for testing instead of reading from a file
📝 (test_voice_mode.py): update comments and assertions for clarity and accuracy in speech detection testing

* [autofix.ci] apply automated fixes

* 🐛 (feature-flags.ts): fix duplicate declaration of ENABLE_VOICE_ASSISTANT variable

* cache config by session_id

* [autofix.ci] apply automated fixes

*  (audio-settings-dialog.tsx): Add conditional rendering for MicrophoneSelect component based on the presence of microphones array to prevent rendering when no microphones are available
🐛 (microphone-select.tsx): Add optional chaining to navigator.mediaDevices calls to prevent errors when navigator or mediaDevices are null or undefined
🐛 (use-start-recording.ts): Add optional chaining to navigator.mediaDevices calls to prevent errors when navigator or mediaDevices are null or undefined

* ♻️ (voice_mode.py): refactor openai_realtime_session attribute to explicitly define its type as a dictionary with string keys and any values for better code clarity and type safety

* 📝 (voice_mode.py): add Optional import from typing module to improve type hinting
♻️ (voice_mode.py): make ElevenLabs package optional to avoid errors if not installed and provide a fallback mechanism

* [autofix.ci] apply automated fixes

* ♻️ (voice_mode.py): refactor ElevenLabs and ApiError classes to include type ignore comments to suppress redefinition warnings

* [autofix.ci] apply automated fixes

* merge

* event logger to debug

* 🐛 (language-select.tsx): Fix potential null reference error when accessing lang object properties
🐛 (voice-select.tsx): Fix potential null reference error when accessing voice object properties
🐛 (stringManipulation.ts): Fix potential null reference error when calling toLowerCase and toUpperCase functions

* fix openai voices

* error handling

* frontend socket state

* [autofix.ci] apply automated fixes

* add session to event logging

* add elevenlabs to base package

* 🐛 (audio-settings-dialog.tsx): Fix rendering issue with MicrophoneSelect component
🐛 (microphone-select.tsx): Fix potential null pointer exception in rendering microphone label
🐛 (voice-assistant.tsx): Fix issue with toggling recording functionality to properly handle microphone stream and tracks

* 🐛 (voice-assistant.tsx): fix optional chaining for microphoneRef to prevent potential null pointer errors

* [autofix.ci] apply automated fixes

* 🐛 (use-start-conversation.ts): fix variable name from sessionId to currentSessionId for clarity and consistency
🔧 (use-start-conversation.ts): refactor WebSocket connection URL to use current host, port, and protocol for better flexibility and compatibility

* alternating messages

* mypy

* [autofix.ci] apply automated fixes

*  (userSettings.spec.ts): add additional wait times to improve stability and reliability of tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: nfreybler <nfreybler@nvidia.com>
2025-03-20 00:05:55 +00:00
Lucas Oliveira
093cc42f38
feat: adds file management feature under feature flag, adds file dialog, adds files page (#6134)
* Create file management feature flag

* Added file manager modal

* Open file manager modal on clicking button

* Added file dragger

* Changed drag files component to be like the design

* Optimize code

* Implemented Import Files component

* Implemented Recent Files component

* Added Import Files and Recent Files into File Manager modal and added necessary icons

* Added file rendering to be used on component

* Added rendering of files selected on component

* Added icons for Dropbox, GoogleDrive and Onedrive

* Added dropdown menu for selecting import source

* Added button to navigate to My Files

* Added Files page, with Import button and search

* Added files table

* Updated uv and package lock

* Added tooltip for file types

* Added cursor pointer to file dragger

* Added file options dropdown

* Added files context menu to files page

* Changed side of dropdown

* Implemented search on modal

* Added Inverted AWS icon

* Added Import Button as morphed button

* Modularized Morphing Menu

* Updated Files Renderer height

* Added File endpoint and types

* Added Download File mutation

* Added Get Files query

* Added Rename File mutation

* Added Upload File mutation

* Added Use Upload File hook

* Added drop of files on dragFilesComponent

* Changed upload and rename to refetch get

* Added delete endpoint

* Changed get files to return correctly

* Make FilesRendererComponent render with correct file type

* Get files from correct endpoint

* Exported sort by date

* Added file_path to input file component

* Added file_path to File Component Type

* Implement showing correct files in FIle component and removing and adding selected files

* Removed open

* Changed selected files to handle ID

* Handled sorting of recent results

* Added sort By Boolean aux function

* Updated to use path for selected files, and to not update the selected values when Files change

* Change delete to handle id on params

* Change upload file to return files IDs

* Added duplicate file

* Added void to download files without params

* Select uploaded files

* Added onUpload to select uploaded files

* Added context menu options

* Changed to handle selected files with path

* Changed recentFiles to handle selected files with path

* Changed FilesContextMenu params

* Turned updatedAt optional

* Added files to the Files Page

* Changed file icons

* used size as number and get type from path

* Added correct CardsWrapComponent to home page

* Fixed flows and components drop in home and empty pages

* Fixed files drop in files management

* Implemented types validation when uploading via modal

* Fixed types for files page(allow all)

* Filter files on modal by file types

* Implemented multiple files handling when list parameter is true on FileInput

* Hidden unused import feature

* Added value correction if component values are incongruent

* Fixed size validator

* Add new size validator to use-upload-file

* Changed icon for rename

* removed replace function

* Implemented renaming file

* Added v2 api support

* Added v2 api on file_management

* Changed duplicate and download to include file type

* Implemented renaming on clicking rename option on files page

* Implemented rename on modal

* Implemented empty state for search and no files

* Changed text of empty state

* Added variants to morphing menu

* Fixed design of import from button and file search

* Implemented modal height changes to keep initial height

* Replace rename icon

* Removed duplicate from modal

* Added min height

* Fixed height

* Delete unused state

* Fixed size of import from button

* Added successful upload toast

* Implement plus button when files are selected

* implemented progress on uploads

* Added error handling to uploaded file

* Added delete confirmation

* Added maxFIleSizeUpload to the dialog

* Implement file upload retry

* Readded import from to files

* Added empty state to file browser

* Added list on base file

* [autofix.ci] apply automated fixes

* Try to fix crash

* Add check on files page

* Added DragWrapComponent with dragging area and opacity

* Added DragWrapComponent to files page

* [autofix.ci] apply automated fixes

* Added test ids for making tests for files page

* Added example files for tests

* Added boolean on await bootstrap to not open modal

* Added files page tests

* Added the extension on the file names

* Added datatestid and made context menu close on delete

* Added search with types

* Add type to filetype

* Added datatestid

* Changed formatFileSize to show B instead of bytes

* Updated files page test to use random names

* Changed file upload test to test file management functionality

* Modularized generate filename

* Fixed files page test

* Added ignore to pyproject

* Dont retry and dont clear

* Enable file management feature flag

* Remove import from button

* Refetch files on open of dialog

* Added upload failed state to my files

* Made not upload extensionless files

* Add toast on delete file

* removed standalone upload button

* Increased padding

* Updated row hover color

* Update padding of component

* Fixed dash lines

* Fixed api routes on vite config

* added api v2 endpoints to docker compose

* Adds router v2 and v1 to parent router

* Adds trailing slash to file management endpoint

* Fixed dash array

* Readded px-5

* Refactor dispatch methods and cleanup code for improved readability in middleware and app setup

* [autofix.ci] apply automated fixes

* Feat: add a support for OpenSearch and AstraDB components to yield the langchain vector_store connection object (#6998)

* Added decorator, decorator test, and modified supported vector stores

* Renamed module file name to reflect that this is for generic use, not use for graph rag

* Updated docsstring

* Improved documentation and modification to UT to support graph rag

* Remove extra file from PR

* rollback vector store template

* [autofix.ci] apply automated fixes

---------

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

* chore: Bump frontend package version and enhance test reliability (#7049)

* chore: bump frontend package version from 0.1.2 to 1.2.0 in package-lock.json

* test: enhance error message wait condition in generalBugs-shard-6.spec.ts

Updated the test to wait for the error message to appear with a minimum length of 20 characters, improving reliability in detecting error states. This change replaces the previous fixed timeout with a dynamic check, enhancing the robustness of the test.

* fix: Disable retries in usePostValidateComponentCode mutation (#7044)

♻️ (use-post-validate-component-code.ts): refactor usePostValidateComponentCode function to include retry and retryDelay options for better control over mutation behavior

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

* feat: Add updateHiddenOutputs helper function to manage output visibility (#6932)

 (update-hidden-outputs.ts): add a new helper function to update hidden outputs in the frontend CustomNodes module
♻️ (use-update-all-nodes.ts): refactor useUpdateAllNodes hook to update hidden outputs for all nodes in the frontend CustomNodes module
♻️ (use-update-node-code.ts): refactor useUpdateNodeCode hook to update hidden outputs for a specific node's code in the frontend CustomNodes module
♻️ (index.ts): refactor types in the flow module to include OutputFieldType for better type checking and consistency

* docs: fix syntax errors at build (#7047)

* docs-fix-linking-errors

* docs-fix-codehike-errors

* add-mit-license-field-to-package-json

* add-tailwind-config-file

---------

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

* chore: update test durations (#6975)

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

* docs: revised README (#7052)

* revised README

* fixed links

* Update README.md

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

* Update README.md

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

* reverting

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>

* test: Parameterize DeepSeek model component test correctly (#7019)

test: Parameterize DeepSeek model component test with temperature and max tokens

* fix: docker test trigger for poetry is wrong now is uv (#6743)

also delete useless actions yml for now

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* docs: Pull request draft workflow (#7046)

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

* feat: Sync flows from FS to DB if flow has fs_path (#7043)

* feat: Sync flows from FS to DB if flow has fs_path

* Changes following review

* Simplify flow_mtimes handling

* Move sync_flows_from_fs to setup.py

---------

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

* ci: fix false positive on ci sucess status (#6868)

ci: fix ci EXIT_CODE

* docs: api build and run examples update (#6904)

* run-endpoint-parameters

* docs: Update build flow API documentation with detailed examples and parameters

* table-cleanup

* cleanup

* Apply suggestions from code review

Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>

* Apply suggestions from code review

* comments-from-code-review

* Update docs/docs/API-Reference/api-reference-api-examples.md

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

---------

Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* build(deps): bump @babel/runtime-corejs3 from 7.26.9 to 7.26.10 in /docs (#7051)

Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.26.9 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime-corejs3)

---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add a unified language model component. (#6994)

* add a unified language model component with a few providers

* [autofix.ci] apply automated fixes

* fix errors and add tests

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

* fix: Rename AgentQL components and add prompt parameter (#6834)

* renamed components

* add prompt parameter

* [autofix.ci] apply automated fixes

* prevent both query and prompt

* ruff checks

* [autofix.ci] apply automated fixes

* amend conditional check

* change error message

* update templates

* [autofix.ci] apply automated fixes

* fix tags

* fix tags in news aggregator

---------

Co-authored-by: huwenjie912 <huwenjie912@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>

* ref: Refactor tracing service (#7011)

* Refactor tracing service

* Remove start, flush and stop

* fix: pass props to SvgAnthropicBox component (#7057)

* fix: pass props to SvgAnthropicBox component

* fix: pass props to SvgAnthropicBox component in light mode

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>

* fix: check if component is in tool mode as well to display Tool Mode switch (#7042)

feat: Enhance checkHasToolMode function to include tool mode detection

Updated the checkHasToolMode function to account for an additional condition where the template is considered to be in tool mode if it contains exactly three fields: _type, code, and tools_metadata. This improves the function's ability to accurately determine the tool mode status of a template.

* Fix: Text split issues related to separator (#6993)

* fixes text split issues related to separator

* [autofix.ci] apply automated fixes

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

* format error fix

* Update Vector Store RAG.json

* [autofix.ci] apply automated fixes

* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and maintainability

*  (stop-building.spec.ts): update test description to improve clarity and maintainability
 (stop-button-playground.spec.ts): add wait time before filling search input to ensure proper loading and interaction with the element

---------

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: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>

* docs: mcp integration (#6986)

* docs: Add MCP (Model Context Protocol) integration documentation

* docs: Update Astra DB MCP integration documentation

* docs: Update Astra DB MCP integration documentation with Cursor connection section

* docs: Update MCP integration guide with Datastax Astra DB connection details and prerequisites

* Apply suggestions from code review

Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>

* docs-peer-reviews

* remove-cursor-integration

* code-review

* Apply suggestions from code review

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

* docs: update MCP integration guide for clarity and consistency

---------

Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>

* feat: add regex pattern extractor component (#6015)

* feat: add regex pattern extractor component

* [autofix.ci] apply automated fixes

* fix: consistent schema and cleaner code style

* fix: type annotation in regex.py

* [autofix.ci] apply automated fixes

* Fix: regex component unit tests to match implementation behavior

---------

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

* docs: Add workflow to automate updates to docs/openapi.json (#7072)

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

* docs: test and update google oauth integration (#6949)

* update-template

* update-integration-doc

* document-id

* Apply suggestions from code review

Co-authored-by: brian-f <brian.fisher@datastax.com>

---------

Co-authored-by: brian-f <brian.fisher@datastax.com>

* feat: add pokedex agent template (#6885)

* add-pokedex-agent-json

* update with the latest agent component

* Update Pokédex Agent.json

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>

* feat: apify starter template (#6784)

* add social media agent apify template

* example default values, update starter template

* revert package-lock.json

* format

* note-cleanup

* [autofix.ci] apply automated fixes

* updates to the components

* update the agent component

---------

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

* feat: Needle Search Tool With Template (#6648)

* feat: Needle Search Tool With Templte

* lint

* lint

* lint

* lint

* refactor: Use Langflow Agent instead of CrewAI Agent

* techdebt: adjust Needle component to use tool mode and remove tool component

* lint

* lint

* Update Invoice Summarizer.json

* Update Invoice Summarizer.json

* update to the component

* refactor: Use Needle icon svg

* make format

* component updates

* update with latest agent component

* updated a missing connection when updating the agent component

* update template

---------

Co-authored-by: Edwin Jose <edwin.jose@datastax.com>

* feat: New parser component with multiple input types and stringify add on (#6652)

* update to parser

* error handling

* solve lint error and added tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update parser.py

* fix format errors

* [autofix.ci] apply automated fixes

* refactor: Remove hardcoded name attribute from ParserComponent

* Update src/backend/base/langflow/components/processing/parser.py

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

* error fix

* [autofix.ci] apply automated fixes

* feat: mark ParserComponent as beta

Added a beta flag to the ParserComponent to indicate its experimental status.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>

* [autofix.ci] apply automated fixes

* format

* remove console log

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

* add space in docker compose

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

* [autofix.ci] apply automated fixes

* Update package lock

* Removed unused file

* Fixed naming on handleChangeFiles

* Update src/frontend/src/pages/MainPage/pages/filesPage/index.tsx

Co-authored-by: Mike Fortman <michael.fortman@datastax.com>

* Used format file size

* updated file browser to My Files

* Updated cursor

* Added error on selecting no files

* Updated base FileInput name to Files

* Added truncate and tooltip to files

* [autofix.ci] apply automated fixes

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

* merge fix

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

* Update src/frontend/src/modals/fileManagerModal/components/filesContextMenuComponent/index.tsx

* [autofix.ci] apply automated fixes

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

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

* Fixed files not maintaining state

* Update info position

* adjusted getCustomParameterTitle

* removed console.log

* updated utils.py

* Added upload file util

* Added check on upload-file to use old one if unavailable

* Use new upload file function in Document QA

* uploaded tests to use new UploadFile util

* updated general bugs to use new uploadFile

* updated upload-file

* Update file mixin to have temp file

* Update file component to not enable file management if temp file is true

* Put temp file as true for chat input

* Update starter projects

* Updated starter templates

* added tempFile condition on useEffect

* Fixed invalid size alert

* Fixed limit file test

* Fixed backend test

---------

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Pedro Pacheco <3083335+pedrocassalpacheco@users.noreply.github.com>
Co-authored-by: Nadir J <31660040+NadirJ@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: Carter Rabasa <carter.rabasa@gmail.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: Ronnie Miller <ronnie.miller@datastax.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: wjwjtf <wenjie@tinyfish.io>
Co-authored-by: huwenjie912 <huwenjie912@gmail.com>
Co-authored-by: Eddie Ho <62191480+noodleslove@users.noreply.github.com>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: brian-f <brian.fisher@datastax.com>
Co-authored-by: Jakub Kopecký <me@kopecky.io>
Co-authored-by: Jan Heimes <45521680+JANHMS@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
2025-03-18 02:32:55 +00:00
Lucas Oliveira
abefc3ded3
fix: reposition and disable shareable playground toggle on empty flow (#7111)
* Fixed deploy dropdown classes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-17 22:48:17 +00:00
Cristhian Zanforlin Lousa
4e6c2da0d1
fix: Enhance JSON filtering with special cases, update CI workflows, and improve frontend components and tests (nightly fix) (#7110)
*  (index.tsx): Update inputComponent styles to improve UI design and user experience
🐛 (new-api-modal.tsx): Add data-testid attribute to tweaks button for testing purposes
🔧 (publish-flow.spec.ts): Update test cases to improve reliability and readability
📝 (tweaksTest.spec.ts): Refactor test cases to enhance maintainability and clarity
🔧 (nestedComponent.spec.ts): Update test description for clarity and consistency
🐛 (general-bugs-shard-3909.spec.ts): Fix waitForSelector calls to match correct text for improved test accuracy

* 🔧 (use-get-builds-polling-mutation.ts, use-get-builds.ts, use-post-retrieve-vertex-order.tsx): add retry and retryDelay options to improve error handling and resiliency in API queries
🗑️ (generalBugs-shard-2.spec.ts): delete outdated test file for general bugs related to shards in the frontend tests folder

* Revert "ci: fix false positive on ci sucess status (#6868)"

This reverts commit e18b248591.

*  (jsonEditor/index.tsx): add support for dynamically setting width and height of the editor container to improve responsiveness
🔧 (dictAreaModal/index.tsx): set width to 100% and adjust height class to improve layout responsiveness

* fix backend tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-03-17 17:06:03 -03:00
Cristhian Zanforlin Lousa
b89ff12179
fix: resolve package-lock dependencies error (#7103)
fix package lock
2025-03-17 12:03:33 -03:00
anovazzi1
eec1fb23d3
feat: adds new JSON viewer (#5407)
* feat: Add JsonEditor component for JSON editing

This commit adds a new component called JsonEditor, which allows users to edit JSON data. The component uses the JSONEditor library and provides options for customizing the editor's appearance and behavior. It also includes functionality for updating the edited data and triggering a callback when the data changes. The component is initialized with an initial data object and can be updated with new data through props. The component is designed to be reusable and can be easily integrated into other parts of the application.

* feat: Add JsonEditor component for JSON editing and replace JsonView

The commit adds a new component called JsonEditor for editing JSON data. It replaces the previous JsonView component used for displaying JSON data. This change improves the functionality and user experience of the application.

* [autofix.ci] apply automated fixes

* Added json editor to package

* Change jsonEditor to use new vanilla jsonEditor

* Added color variables

* Removed unused buttons on json editor

* Removed unused dark store

* Fixed state management on dictAreaModal

* Change default DictComponent value to dict

* removed unused checks

* Changed to forward ref of json editor

* removed nav bar

* Fixed value not being received

* Added check if value is null and handleOnNewValue on this case

* Removed unused button on json editor

* Adds auto focus and change mode to text

* ♻️ (jsonEditor/index.tsx): remove unnecessary comments and improve code readability by removing redundant comments and empty dependency array in useEffect.

* Fixed dict component test

* Refactor json-input component to use VanillaJsonEditor and JsonEditor component

* Remove react-json-view-lite and react18-json-view dependencies

* [autofix.ci] apply automated fixes

* Refactor jsonEditor component to add readOnly prop

* Refactor json-output-view component to add read-only prop

* Refactor switchOutputView component to add JSON output view

* Refactor CSS styles for JSON editor buttons

* Update package-lock.json to add new dependencies for @mapbox/node-pre-gyp and remove jsdom and its related modules

* [autofix.ci] apply automated fixes

* Refactor textModal component to remove unused imports and dependencies

* add filter property to jsonEditor

* [autofix.ci] apply automated fixes

* Refactor jsonEditor component to handle transform queries and display error messages

* [autofix.ci] apply automated fixes

* Refactor jsonEditor component to add filter property and handle transform queries

* Refactor jsonEditor component to add filter property and handle transform queries

* Refactor Output class to add options property

* Refactor json-output-view.tsx to update default height value

* Refactor jsonEditor component to normalize transform query path

* Refactor jsonEditor component to add JSONQuery support for transform queries

* Add jsonquerylang library as a dependency

* Refactor utils.py to add support for applying JSON filters

* Refactor base.py to add apply_options method for JSON filtering

* Fix jsonOutputView to set filter option to undefined when empty

* Enhance apply_json_filter to support Data objects and improve query handling

* Improve json filtering in Output class to return original result if filtered result is None

* Refactor Component class to simplify map_outputs method and enhance output handling

* move jsonquerylang to langflow-base

* Refactor Component and Output classes for improved output handling and type consistency; enhance apply_json_filter to ensure proper data processing and add comprehensive unit tests.

* Add filter_data method to Data class and update apply_options in Output class to utilize it; enhance apply_json_filter return type to Data.

* Import apply_json_filter in Data class to enable data filtering functionality

* Add validation for JSON results in JsonEditor; ensure only objects and arrays are accepted and handle serialization errors

* 📝 (App.css): Add styles for jse-menu separator and cm-gutters to improve UI layout
♻️ (index.tsx): Refactor imports and code formatting for better readability and maintainability
🔧 (index.tsx): Update BaseModal component styles to improve UI layout and responsiveness

* 📝 (custom.css): add extra line at the end of the file for consistency
📝 (App.css): add styling for .jse-menu .jse-button.jse-group-button class
📝 (classes.css): add extra line at the end of the file for consistency

* 🐛 (data.py): fix custom_serializer to handle bytes objects by decoding them to utf-8
♻️ (base.py): refactor options field in Output class to accept BaseModel, dict, or None for better flexibility and compatibility

* Refactor apply_json_filter to directly use jsonquery on result, removing unnecessary string conversion

*  (base.py): Introduce OutputOptions model for output filtering and update Output class to use it

* 🐛 (classes.css): Hide search box background and adjust container positioning for better layout

*  (jsonEditor): Enhance filtering functionality with improved state management and user feedback

* Fixed package lock

* [autofix.ci] apply automated fixes

* Updated package lock

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-03-17 14:25:50 +00:00
anovazzi1
7aca264fec
feat: Publish Flow, API code update and UI components (#6140)
* refactor: Update flowToolbarComponent with FlowToolbarOptions component and ENABLE_PUBLISH feature flag

* [autofix.ci] apply automated fixes

* refactor: Update ENABLE_PUBLISH feature flag in feature-flags.ts

* add external link for hover state

* Refactor routes.tsx to enable PlaygroundPage

* Refactor deploy-dropdown.tsx to add ShadTooltipComponent and handle cases where there is no IO

* [autofix.ci] apply automated fixes

* add colorfull langflow icon

* Add playgroundPage prop to IOModalPropsType

* Refactor IOModal in PlaygroundPage component

* Refactor IOModal component and add publish options

* Add LangflowButtonRedirectTarget utility function

* Refactor IOModal component and add LangflowButtonRedirectTarget utility function

* fix: remove feature flag for playground button name

* fix: rename DeployDropdown to PublishDropdown in FlowToolbarOptions

* fix: rename DeployDropdown to PublishDropdown and update related functionality

* fix: update classNames utility import and refactor class assignment in FlowToolbar

* [autofix.ci] apply automated fixes

* fix: enhance hover effects and accessibility in PublishDropdown component

* [autofix.ci] apply automated fixes

* fix: update Playground title in IOModal and ChatViewWrapper components

* fix: improve layout and visibility of session information in ChatViewWrapper component

* add neutral icon to playground

* fix: add playgroundPage prop to ContentBlockDisplay and conditionally render elements in ChatMessage

* fix: pass playgroundPage prop to ContentDisplay and conditionally render duration

* fix: remove playgroundTitle display from ChatViewWrapper component

* fix: adjust padding and alignment in ChatViewWrapper and IOModal components based on playgroundPage prop

* fix: update alignment and responsiveness in ChatViewWrapper component based on playgroundPage and sidebarOpen states

* fix: update document title based on currentSavedFlow in PlaygroundPage component

* [autofix.ci] apply automated fixes

* feat: add ENABLE_WIDGET flag to conditionally render embed option in PublishDropdown

* feat: add EmbedModal component for copying embed code

* feat: integrate EmbedModal in PublishDropdown for embed code sharing

* feat: enhance EmbedModal integration in PublishDropdown with dynamic embed code generation

* feat: add switch for publishing state in PublishDropdown component and update FlowType

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* feat: add optional copy property to GetCodeType for enhanced tweak management

* feat: make description property optional in modalHeaderType for improved flexibility

* feat: update background color in code styles for improved visibility

* feat: add support for 'retangular' size in switchCaseModalSize helper

* feat: make description property optional in Header component and add 'retangular' size option in BaseModalProps

* feat: add optional copy parameter to getWidgetCode for customizable script output

* feat: refactor EmbedModal props for improved clarity and consistency

* feat: add ApiModal component for custom API code generation

* feat: adjust icon size in EmbedModal for better visual consistency

* feat: integrate ApiModal into PublishDropdown for enhanced API code generation

* feat: update ApiModal header to include API key creation instructions

* feat: add APITabsComponent for displaying code snippets in tabs

* feat: add APITabType and tabsArrayType for enhanced API tab management

* feat: replace CodeTabsComponent with APITabsComponent in ApiModal for improved tab management

* feat: add JSIcon component for JavaScript icon representation

* feat: add JSIcon to nodeIconsLucide for JavaScript representation

* style: format code for consistency in EmbedModal component

* feat: change ApiModal size from x-large to medium for better usability

* feat: enhance APITabsComponent with light theme support and improve button positioning

* feat: adjust APITabsComponent tab styling for improved layout and readability

* feat: add BWPython icon and update references in APITabsComponent and styleUtils

* fix: correct export name for BWSvgPython icon component

* feat: add new column 'public' to flow table

* raw: Sample code for creating a new unauthenticated endpoint as a PoCh

Note: this code is blatantly copied from another code snippet.

* feat: add dark mode support to JSIcon component

* feat: add dark mode support to BWPython icon component

* feat: add new column 'access_type' to flow

* chore: update code

* chore: remove unnecessary migration

* feat: add getNewCurlCode function for generating cURL commands with dynamic payloads

* feat: integrate dynamic code generation for Python, JavaScript, and cURL in APITabsComponent

* feat: add getNewJsApiCode function for generating JavaScript API code with dynamic payloads

* feat: add getNewPythonApiCode function for generating Python API code with dynamic payloads

* fix color on sintax highlight

* feat: enhance APITabsComponent with dynamic streaming and authentication state

* feat: update APITabsComponent to handle dynamic input and output types based on flow data

* [autofix.ci] apply automated fixes

* feat: add input and output validation in PlaygroundPage to redirect if none exist

* [autofix.ci] apply automated fixes

* fix: ensure navigation only occurs when currentSavedFlow data is present

* feat: add access_type field to FlowUpdate model

* feat: add playgroundPage parameter to buildFlowVertices for conditional URL construction

* feat: add playgroundPage state and setter to FlowStoreType

* feat: add playgroundPage state and setter to FlowStoreType

* feat: add access_type field to FlowType for improved access control

* feat: modify useGetMessagesQuery to handle playgroundPage state for conditional message retrieval

* feat: update IPatchUpdateFlow interface to make fields optional and add access_type for enhanced flexibility

* feat: implement publish toggle functionality in PublishDropdown component for dynamic access control

* feat: integrate playgroundPage state management in IOModal for improved session handling

* add: new endpoint to public_flow

* refactor: remove unused current_user parameter from read_public_flow function

* feat: add ContextWrapper to PlaygroundPage route for improved context management

* refactor: simplify flow retrieval logic in PlaygroundPage component

* feat: add support for public flow retrieval in useGetFlow hook

* feat: add PUBLIC_FLOW constant to URLs for public flow retrieval

* fix: add whitespace for improved code readability in AuthSettingsGuard component

* fix: add whitespace for improved code readability in ProtectedAdminRoute component

* [autofix.ci] apply automated fixes

* fix: update redirect condition in PlaygroundPage for non-public access types

* [autofix.ci] apply automated fixes

* persist session name update

* fix: enhance message update logic to handle playground state and local storage

* fix: remove debugger statement from PlaygroundPage initialization

* fix: manage dark mode class in App component and remove redundant logic from AppInitPage

* [autofix.ci] apply automated fixes

* feat: add access_type field to FlowHeader model for flow access control

* fix: refactor flow access handling in PublishDropdown component for improved readability and async operation

* feat: enhance FlowMenu component with swatch color display based on flow gradient

* feat: add swatch color display in IOModal based on flow gradient

* [autofix.ci] apply automated fixes

* Update copyCode to use dynamic API code generation for Python, JavaScript, and cURL tabs

* Add optional session tracking to JavaScript API code generation

* Enhance Python API code generation with detailed comments and error handling

* Fix SVG attribute casing and update dark mode state handling in Python icon components

* Fix SVG clip-path casing and ensure dark mode state is a string in JS icon components

* Fix SVG fill color handling for dark mode in Python icon components

* Fix SVG filter handling for dark mode in JS icon components

* Add tweaks management and update functionality in tweaks store

* Add normal font style to line numbers in CSS

* Add debug log for flow retrieval in FlowPage component

* Refactor APITabsComponent to remove unused props and integrate tweaks management

* Enhance ApiModal to support tweaks management and improve API access UI

* Remove flow prop from ApiModal in PublishDropdown component

* update package lock

* [autofix.ci] apply automated fixes

* Update ChatViewWrapper to adjust layout based on visibleSession state

* [autofix.ci] apply automated fixes

* Update icon fallback in FlowMenu to use "Workflow"

* Refactor EmbedModal button styles for consistency and clarity

* Add useEffect to reset copied state on active tab change and clean up button styles

* Comment out DropdownMenuItem in PublishDropdown for future reference

* refactor: remove duplicated code from route

* refactor: remove duplicated code from route

* [autofix.ci] apply automated fixes

* Increase font size for code blocks in classes.css for better readability

* Adjust padding and height for deploy dropdown items for improved layout

* Update minWidth for medium modal size to include max-width constraint

* Refactor ApiModal to conditionally render button and adjust styles for improved layout

* Add margin-top to API modal tabs content for improved spacing

* Refactor deploy dropdown to include API access and Embed options, and rename 'Standalone app' to 'Shareable Playground'

* Enhance API code generation to include environment variable checks for API key in curl, JavaScript, and Python examples

* Fix authentication check logic and clean up modal class names

* Refactor authentication logic in APITabsComponent to improve clarity and functionality

* [autofix.ci] apply automated fixes

* Update environment variable references in API code examples to use LANGFLOW_API_KEY

* [autofix.ci] apply automated fixes

* Update API key references to use LANGFLOW_API_KEY in curl and JS code examples

* Remove streaming parameter from API code examples in JavaScript and Python

* Adjust button padding and separator margin in API modal for improved layout

* Add transparent background to scrollbar corner in Tailwind config

* Update publish dropdown to display sharing status based on flow publication state

* Add playgroundPage prop to ChatInput and conditionally render file upload button

* Refactor ChatViewWrapper layout logic for improved responsiveness

* [autofix.ci] apply automated fixes

* Add closeButtonClassName prop to BaseModal and DialogContent for customization

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* feat: use new deterministic flow id for public flow calls (#6314)

* Enhance public flow building with deterministic flow ID and name handling

* Handle asyncio.CancelledError in message table commit operation

* Add UUID v5 generation for flow IDs in chat view and modal components

* Add comment explaining CancelledError handling in message table commit

* Simplify public flow ID and name generation logic

* Refactor UUID v5 import and flow ID generation in IOModal components

* Update Alembic migration down_revision identifier

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>

* feat: add playgroundPage prop to SessionSelector and SidebarOpenView components

* feat: switch from localStorage to sessionStorage for message handling in playground mode

* feat: Add public flow settings with cleanup and expiration configurations

Add new settings for managing public temporary flows, including:
- Configurable cleanup interval (default 1 hour)
- Configurable flow expiration time (default 24 hours)
- Minimum interval of 10 minutes for both settings

* feat: Add public flow expiration settings to ConfigResponse

Update ConfigResponse schema to include new configuration parameters for public flow management:
- public_flow_cleanup_interval: Interval for cleaning up public flows
- public_flow_expiration: Duration for public flow retention

* feat: Add temporary public flow cleanup worker

Implement a background worker to manage and clean up expired public flows:
- Add CleanupWorker class to handle periodic cleanup tasks
- Integrate cleanup worker into application lifespan
- Implement cleanup logic for removing expired public flow data from database and storage
- Add start and stop methods for graceful worker management

* feat: implement client ID management using cookies in Playground and update flow ID generation

* refactor: Optimize public flow cleanup worker with targeted execution

Improve the temporary public flow cleanup process by:
- Adding a pre-check to only run cleanup when public flows exist
- Passing public flows and session directly to cleanup function
- Simplifying the cleanup logic to reduce nested session management

* refactor: Enhance database cleanup worker with comprehensive record management

Improve the cleanup worker to handle both expired public flows and orphaned records:
- Add function to clean up expired public flows with detailed logging
- Implement orphaned record cleanup across multiple database tables
- Enhance error handling and logging for storage file deletion
- Simplify worker run method to execute both cleanup tasks sequentially

* feat: Add session cookie validation for public flow generation

Enhance public flow building by:
- Requiring a session cookie for generating temporary public flows
- Incorporating the session cookie into the flow ID generation process
- Adding explicit error handling for missing session cookies

* fix: Update session cookie retrieval in public flow generation

Change cookie key from "session" to "client_id" to align with recent client ID management implementation

* fix: Correct flow ID generation by adding an underscore separator between client ID and real flow ID

* [autofix.ci] apply automated fixes

* fix: add options to the fetch call and add docs

Update getNewJsApiCode function to:
- Add comprehensive JSDoc documentation
- Include fetch options in API call
- Simplify code generation logic
- Ensure proper payload and options handling

* fix: update label for temporary overrides to tweaks in API modal

* update package lock

* ensure individual instances of contexts

* fix: add data-testid attributes for testing in PublishDropdown component

* fix: handle authentication errors for public API requests in ApiInterceptor

* test: add publish feature test using Playwright

* [autofix.ci] apply automated fixes

* refactor: optimize temp flow cleanup with improved file and logging management

* test: add unit tests for temp flow cleanup service

* chore: remove unnecessary console logs and comments for cleaner code

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/tests/core/features/publish-flow.spec.ts

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

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

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

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

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

* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx

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

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

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

* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx

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

* fix: adds edge filtering only to parameters not hidden (#6270)

Adds advanced filter to only filter by showing fields on click of edge

* Add config parameter to Graph run method with configuration application

* fix: remove unnecessary await from flow directory existence check

* refactor: Remove expired public flows cleanup method

* refactor: Move data_dir initialization to base StorageService

* fix: Update temp flow cleanup to use async file operations

- Add explicit type hint for storage_service
- Use async methods for file and directory existence checks
- Improve error handling for file deletion during flow cleanup

* refactor: Add explicit type hint for tables in temp flow cleanup

- Improve type annotations for tables list in cleanup_orphaned_records
- Explicitly define the types of tables to be processed

* [autofix.ci] apply automated fixes

* refactor: Remove tests for expired public flows from temp flow cleanup

* test: Update test_cleanup_orphaned_records_no_orphans to use fixtures

* feat: Add utility function for verifying public flow access

Implement async function to validate public flow requests with:
- Client ID verification
- Flow existence and public access check
- Deterministic flow ID generation
- User retrieval for permission handling

* feat: build_public_tmp to use the jobqueue

Refactored the build_public_tmp endpoint to:
- Add comprehensive docstring explaining endpoint functionality
- Improve error handling and logging
- Simplify flow verification and user retrieval process
- Use new verify_public_flow_and_get_user utility function
- Streamline job creation and error management

* chore: Add anyio import to local storage service

Import anyio library in preparation for potential async storage operations

* style: run formatter

* changed endpoint

* [autofix.ci] apply automated fixes

* Add size for tweaks

* Add size for tweaks

* Change tweaks modal

* Fix switch design

* [autofix.ci] apply automated fixes

* fix: mypy erros

* fix: alembic multiple heads error

* fix: ruff error

* refactor: update test cleanup for orphaned records to use fixtures

Changed the test for cleanup of orphaned records to utilize the "client" fixture instead of the "asyncio" marker, enhancing test organization and clarity.

* fix: cli test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
2025-03-17 14:03:59 +00:00
Deon Sanchez
4ab4e736be
feat: Quality of Life improvements for Astra Component (#6953)
* feat: Add helper text for Astra DB embedding generation provider

* feat: Add helper text support for dropdown and parameter components

* [autofix.ci] apply automated fixes

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

* Update astradb.py

* [autofix.ci] apply automated fixes

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

* feat: Add org_id to excluded metadata keys in dropdown component

* fix: Update Astra DB component UI and starter project configuration

- Improved AstraDB component's embedding provider link with better accessibility attributes
- Updated Vector Store RAG starter project JSON with formatted configuration
- Refined UI text and link presentation for better user experience

* Remove providers that arent configured

* feat: Add required field indicator to node parameters

- Implemented visual indicator (*) for required node parameters
- Updated custom parameter title rendering to show required status
- Enhanced UI to provide clearer input requirements

* Revert "Merge branch 'lfoss-683-1' of https://github.com/langflow-ai/langflow into lfoss-683-1"

This reverts commit 2eb0fcb4d3d347de0df1f021f761ea63e882b757, reversing
changes made to 9ea44aca477e8a418ef82722da4b1e0fc2afa2e1.

* [autofix.ci] apply automated fixes

* Add changes back

* Fix some comments

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update astradb.py

* feat: Add dynamic disabled state for node dialog and int component

* feat: Add dynamic placeholder for node dialog input

* [autofix.ci] apply automated fixes

* feat: Enhance IntComponent with disabled state styling and stepper interactions

* Fix some db creation params

* Update astradb.py

* fix: Resolve node dialog input value handling in TypeScript

* Update astradb.py

* feat: Add required field validation to node dialog submission

* Update astradb.py

* [autofix.ci] apply automated fixes

* Update astradb.py

* Clean up functions and add read only flag

* feat: Add readonly support to IntComponent and improve node dialog validation

* fix: Improve dropdown component disabled and empty options handling

* console.log removed

* [autofix.ci] apply automated fixes

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

* Read only field and cleanup

* Astra DB selector updates

* [autofix.ci] apply automated fixes

* fix: Improve dropdown component disabled state handling

* Fix value of region in create db

* [autofix.ci] apply automated fixes

* Remove database icon from component

* fix: Conditionally render dropdown option icons

* Don't show Nvidia if not available

* [autofix.ci] apply automated fixes

* Exceptions unless pending mean, skip

* feat: Enhance AstraDBVectorStoreComponent with HTML sanitization

- Added DOMPurify for sanitizing HTML input in the convertStringToHTML function.
- Introduced a new sanitizeHTML function to ensure safe rendering of HTML strings.

* fix: Correct field key usage in NodeDialog and refactor disabled class name in IntComponent

- Updated NodeDialogComponent to use fieldKey instead of underscore for better clarity in mapping field values.
- Refactored IntComponent to replace the getDisabledClassName function with a constant for the disabled input class, improving readability.

*  (playground.spec.ts): Refactor drag and drop functionality to use hover and click for better interaction
🔧 (chatInputOutput.spec.ts): Update drag and drop functionality to use target position for more precise placement
🔧 (chatInputOutputUser-shard-1.spec.ts): Simplify connecting elements by replacing hover and mouse actions with click for better user experience

* 🐛 (generalBugs-prompt.spec.ts): fix issue with selecting the last element with getByTestId to ensure correct element is clicked and tested

*  (chatInputOutputUser-shard-1.spec.ts): add 600ms timeout to wait for elements to be interactable before proceeding with the test steps

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-03-14 22:34:14 +00:00
Gabriel Luiz Freitas Almeida
e26915a032
chore: Bump frontend package version and enhance test reliability (#7049)
* chore: bump frontend package version from 0.1.2 to 1.2.0 in package-lock.json

* test: enhance error message wait condition in generalBugs-shard-6.spec.ts

Updated the test to wait for the error message to appear with a minimum length of 20 characters, improving reliability in detecting error states. This change replaces the previous fixed timeout with a dynamic check, enhancing the robustness of the test.
2025-03-12 17:53:46 -03:00
Lucas Oliveira
14d3b02ecd
fix: bump frontend version to current version and add command to bump frontend version in Makefile (#6948)
Bump frontend version
2025-03-11 15:39:08 +00:00
Lucas Oliveira
dfd4a09620
fix: formatted dataframe output in chatoutput (#6717)
* Updated Chat Output to handle Dataframe without displaying other metadata

* Updated starter examples

* [autofix.ci] apply automated fixes

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

* Reverted change to allow md table to be displayed

* Added html support to md renderer

* added min width to markdown tables

* Fixed chat component markdown rendering

* Fixed starter examples

* [autofix.ci] apply automated fixes

* Updated versions

* Fixed rehypeRaw

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* fix: update get_all_flows_similar_to_project function signature and return type

---------

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: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-02-24 15:38:49 +00:00
Edwin Jose
e8529eaecb
feat: add support to accept Dataframe as input to split text, and added relevant tests (#6302)
* update to support dataframe

* [autofix.ci] apply automated fixes

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

* Update split_text.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* update names

* Update src/backend/base/langflow/schema/dataframe.py

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

* [autofix.ci] apply automated fixes

* update to template

* update review changes

* Update Vector Store RAG.json

* fix lint errors

* fix tests

* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and accuracy

*  (stop-button-playground.spec.ts): improve test reliability by specifying target position for drag action to prevent flakiness

*  (logs.spec.ts): increase timeout from 1000ms to 3000ms for better test reliability
 (stop-building.spec.ts): update test selector from "handle-splittext-shownode-data inputs-left" to "handle-splittext-shownode-input documents-left" for accurate testing
 (starter-projects.spec.ts): add a 1000ms timeout before asserting visibility of an element for better test stability

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2025-02-19 20:40:56 +00:00
dependabot[bot]
f2c75dec8e
build(deps): bump dompurify from 3.2.3 to 3.2.4 in /src/frontend (#6661)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.3...3.2.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 15:15:31 +00:00