* ✨ (deploy-dropdown.tsx): Update access_type values to uppercase for consistency and clarity
♻️ (use-patch-update-flow.ts): Refactor access_type values to uppercase for consistency with other files
♻️ (index.ts): Refactor access_type values to uppercase for consistency with other files
🔧 (publish-flow.spec.ts): Remove redundant click event on 'blank-flow' element
🔧 (floatComponent.spec.ts): Add missing click event on 'fit_view' element
* ✅ (publish-flow.spec.ts): fix duplicate click on 'blank-flow' element to prevent unexpected behavior
* 🐛 (Playground/index.tsx): fix access_type comparison to use uppercase "PUBLIC" instead of lowercase "public" for consistency and accuracy
* ✅ (publish-flow.spec.ts): add delays before clicking on elements to ensure proper interaction and prevent race conditions
* 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>
* ✅ (test_apply_json_filter.py): update test data generation to exclude whitespace characters and control characters in dictionary keys to improve data quality and reliability
* fix tests
* ✨ (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>
* feat: change advanced params for models
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix: ruff erros
* remove Redundant component
* refactor: streamline freeze-path test by removing redundant slider interactions and updating model selection
- Removed unnecessary wait for the default slider display value.
- Updated model selection to use 'gpt-4o-mini-0-option' for varied output in tests.
* [autofix.ci] apply automated fixes
* test: update slider component test to reflect new parameter values and structure
- Modified the test to replace a multiline string with updated values for the slider component.
- Ensured that the new code differs from the original to validate changes.
- Adjusted the test to fill the textarea with the new code after modification.
* ✅ (intComponent.spec.ts): update test assertions to match expected behavior for IntComponent regarding checkbox states
---------
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: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* 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>
* Added TabMixin
* Added Tab component on inputs
* Added Tab component to initializations
* Added tests for tab input
* Added Tab Component type
* Added options and active tab to input field type
* Added tab component on frontend
* Instantiate tab component
* Update package lock
* Refactor input classes and imports for consistency
- Reordered imports to maintain consistency across files.
- Simplified class definitions by removing unnecessary line breaks.
- Updated the `__all__` list in `__init__.py` files to include `TableInput` consistently.
- Adjusted test cases for cleaner syntax without altering functionality.
* Add constants for tab options limits in input mixin
- Introduced `MAX_TAB_OPTIONS` and `MAX_TAB_OPTION_LENGTH` constants for better maintainability.
- Updated validation logic in `TabMixin` to use these constants for clearer and more flexible error messages.
* Refactor tab input validation tests for improved clarity
- Replaced individual test cases for invalid tab inputs with a parameterized test function.
- Enhanced test coverage by including cases for too many options, exceeding character limits, and non-string values.
- Improved documentation within the test function for better understanding of validation scenarios.
* Enhance tab input validation tests with parameterization
- Refactored `test_tab_input_valid` to use `pytest.mark.parametrize` for improved test coverage and clarity.
- Included multiple scenarios for valid tab inputs, such as standard, fewer options, and empty options.
- Updated assertions to reflect the expected outcomes based on parameterized inputs.
* Enhance TabInput validation to ensure value is a string and one of the specified options
- Updated the `validate_value` method to enforce that the input value is a string.
- Added a check to validate that the value is among the allowed options, raising a ValueError with a descriptive message if not.
- Improved error handling for better user feedback on invalid inputs.
* Fix optional chaining in error handling within CodeAreaModal
- Updated the error check in the `delayedFunction` to use optional chaining for safer access to the error detail.
- This change ensures that the code handles cases where `detail` may be undefined, improving robustness.
* Add 'TAB' field type to schema and update direct types list
- Included 'TAB' as a valid field type in the schema conversion dictionary.
- Updated the DIRECT_TYPES list to include 'tab', ensuring consistency across type definitions.
- These changes enhance the flexibility of the input handling for tab components.
* Add unit test
* Re-added noqa
* fix: unit tests
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* 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>
✨ (starter-projects.spec.ts): Increase timeout for waiting for elements to load to prevent test failures due to slow loading times
♻️ (starter-projects.spec.ts): Refactor code to use explicit wait times and improve readability
✨ (generalBugs-shard-3.spec.ts): Update drag and drop actions to include target positions for more accurate testing
♻️ (generalBugs-shard-3.spec.ts): Refactor code to remove unnecessary comments and improve test flow and readability
* 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>
* Changed prompt component to show the prompt with more details
* Fix classes for edit node
* Fixed test
---------
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
✨ (Pokedex Agent.spec.ts): Add integration test for Pokedex Agent to interact with the Pokédex feature and verify expected outputs
✨ (Social Media Agent.spec.ts): Add integration test for Social Media Agent to interact with social media platforms and verify expected outputs
* 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>
* 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.
* Implemented logFirstMessage function to see if the outputName is the first message possible
* Only render outputs hidden if showHiddenOutputs is true
* Implemented open and setOpen on OutputModal
* Add open output inspection shortcut
* Added data-testid to output modal
* Added test for output shortcut
* fixed chatinputoutputuser test
* Fixed tests
* fixed tests
* fixed url test name
* Fixed loop test
* fixed similarity test
* fixed generalbugs
* fixed timeouts
* fix general bugs
* Fixed tests
* Fix timeouts
* Changed timeouts
* fix general bugs
* Fix decision flow
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* fix: update loop component to use `data` instead of `item`
* [autofix.ci] apply automated fixes
* ✅ (loop-component.spec.ts): update test to expect two occurrences of "modified_value" in the output instead of one
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* 📝 (frontend): add IS_AUTO_LOGIN constant to handle auto login functionality
🔧 (frontend): update API calls to consider IS_AUTO_LOGIN constant for authentication errors
♻️ (frontend): refactor useGetAutoLogin to handle auto login retries and errors
♻️ (frontend): refactor usePostRefreshAccess to handle auto login retries
♻️ (frontend): refactor request processor to include retry logic with exponential backoff
🔧 (frontend): update Vite config to include LANGFLOW_AUTO_LOGIN environment variable
* 🐛 (constants.ts): fix logic in IS_AUTO_LOGIN constant to correctly evaluate the auto login condition based on the environment variable LANGFLOW_AUTO_LOGIN
* ✨ (index.tsx): Add support for testMockAutoLogin to simulate auto login for testing purposes
🔧 (constants.ts): Refactor IS_AUTO_LOGIN to handle optional chaining for process.env properties
✨ (auto-login-off.spec.ts): Add test cases to simulate auto login behavior for testing
🔧 (vite.config.mts): Update vite configuration to load environment variables from .env file and handle optional chaining for envLangflow properties
* made pasted component be selected
* Added bg when is custom component and component is not edited
* Added test to check if custom component button is pink
* Stop chatinput propagation
* fixed tests
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ♻️ (index.tsx): remove unused ShortUniqueId import and uid variable to clean up the code
💡 (index.tsx): refactor useEffect dependency array to only include necessary dependencies for better performance and readability
♻️ (index.tsx): refactor PopoverContent component to use notificationRef instead of inline ref assignment for better code organization
* ✨ (loading.tsx): add data-testid attribute to loading icon for easier testing and identification in the UI
✅ (general-bugs-icons-fallback.spec.ts): add test to ensure that loading icon fallback is displayed correctly when the icon is not found
* 📝 (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
* 📝 (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
* [autofix.ci] apply automated fixes
* 📝 (frontend): Remove unused endpointName property from NodeInputField component
🔧 (frontend): Add useFlowStore import and use it to get currentFlow and endpointName in CopyFieldAreaComponent, TableNodeCellRender, TextAreaComponent, and WebhookFieldComponent components
🔧 (frontend): Refactor useGetBuildsMutation to handle multiple concurrent requests and prevent duplicate requests
* ✨ (webhookComponent.spec.ts): refactor test to improve readability and maintainability by removing redundant code and focusing on essential test steps
♻️ (userSettings.spec.ts): refactor test to improve readability and maintainability by removing redundant code and focusing on essential test steps
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* URL component improvement - JSON URL
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (url.py): refactor URLComponent class to simplify data_dict creation by using dictionary unpacking instead of manual key-value pairs
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (url.py): improve formatting of info string for DropdownInput in URLComponent class
♻️ (url.py): refactor ensure_url method to simplify logic and improve readability
🐛 (url.py): fix error handling in URLComponent class for invalid JSON content
* [autofix.ci] apply automated fixes
* ✨ (url.py): Add BoolInput and StrInput to support new features in URLComponent
📝 (url.py): Update description in URLComponent to provide more detailed information about its functionality
♻️ (url.py): Refactor update_build_config method in URLComponent to dynamically update fields based on selected format
🐛 (url.py): Fix ensure_url method in URLComponent to ensure valid URLs are provided and handle exceptions properly
🐛 (url.py): Fix fetch_content method in URLComponent to handle cases where no valid URLs are provided and improve error handling
🐛 (url.py): Fix fetch_content_text method in URLComponent to correctly format and clean text output based on selected format and settings
🐛 (url.py): Fix as_dataframe method in URLComponent to return fetched content as a DataFrame object
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* ♻️ (url.py): remove unnecessary comments and improve code readability by removing redundant comments and adjusting code structure.
* [autofix.ci] apply automated fixes
* 📝 (url.py): improve readability by splitting long description and info strings into multiple lines
🐛 (url.py): handle cases where invalid URLs or JSON URLs are provided, and provide informative error messages
🐛 (url.py): handle cases where no valid URLs are provided and raise an error with a clear message
* 🔧 (Blog Writer.json, Custom Component Maker.json, Graph Vector Store RAG.json): resolve merge conflicts in JSON files related to the 'format' field options to ensure consistency across starter projects.
* [autofix.ci] apply automated fixes
* 🐛 (url.py): fix validation of JSON content from URLs to ensure correct handling of JSON data
✨ (url.py): introduce async validation of JSON content from URLs using aiohttp to improve performance and reliability
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* merge fix
* ✅ (test_audio_file.wav): update test_audio_file.wav to fix binary file differences in the test asset
* 🐛 (test_url_component.py): update error message format to improve clarity and consistency
* update templates
* 🐛 (test_database.py): fix error handling in test_read_flows_components_only_paginated to properly catch and log exceptions during test execution
* 📝 (backend): Add noqa comments to files to ignore specific linting rule A005
🔧 (test_database.py): Remove duplicate import statement for sqlalchemy
♻️ (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability
* 🐛 (test_database.py): fix test_read_flows_components_only_paginated to handle exceptions and provide more context in case of failure
* 📝 (test_database.py): remove unnecessary comment to improve code readability and maintainability
* 📝 (backend): Remove unnecessary noqa comments from __init__.py files
🔧 (test_database.py): Refactor test_read_flows_components_only_paginated function for better readability and maintainability
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Added Null, Undefined and Bool rendering to table
* Handling formatter to come from the backend in table definitions
* Added validator to make type as formatter and vice versa
* Added boolean case to show badge
* Added Toggle Cell Editor
* Supress Row Click Selection on Table node component
* ADd boolean as type for formatter
* Adds Boolean formatter type to show toggle editor
* run format_backend
* ✅ (tableInputComponent.spec.ts): update unit test for table input component to use new methods for interacting with elements and improve readability and maintainability of the test code.
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ✨ (Research Translation Loop.spec.ts): add integration test for Research Translation Loop functionality in the frontend to ensure proper functionality and behavior.
* ✨ (Price Deal Finder.spec.ts): Add integration test for Price Deal Finder feature
📝 (Price Deal Finder.spec.ts): Document test cases and setup for Price Deal Finder feature
♻️ (Research Translation Loop.spec.ts): Refactor test setup and add missing test case for Research Translation Loop feature
* add tests to new started projects
* 📝 (loop.py): Improve code readability and semantics by updating the return condition in the LoopComponent class
📝 (data.py): Enhance the data_to_text_list function to handle various data structures and ensure consistent text formatting
📝 (LoopTemplate.json): Update the LoopComponent class description and method implementations for better clarity and maintainability
📝 (test_data_to_text_list.py): Add unit tests to cover different scenarios and edge cases for the data_to_text_list function
* [autofix.ci] apply automated fixes
* 📝 (langflow): Add noqa comments to ignore linting rule A005 for specific files in the project. Fix type annotations and improve error handling in data.py module. Add noqa comments to ignore linting rule A005 for specific files in the project.
* ✅ (test_data_to_text_list.py): update parameter names in pytest.mark.parametrize to improve readability and maintainability
* 🐛 (data.py): refactor error message handling in data_to_text_list function to improve readability and maintainability
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/helpers/data.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ♻️ (data.py): refactor data_to_text_list function to simplify the logic and improve readability by removing unnecessary if conditions and updating the format_dict directly from data_obj.data.
* ✅ (test_data.py): refactor test_data_to_text_list function to handle defaultdict behavior and improve test coverage
* ✅ (loop-component.spec.ts): update test expectation to match the correct number of occurrences of "modified_value" in the output
* ✅ (Memory Chatbot.spec.ts): add assertion to check if the concatenated text length is greater than 20 to ensure the chatbot response is meaningful
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 🐛 (loop.py): Fix logic in LoopComponent to correctly evaluate if loop should stop based on current index and data length
📝 (LoopTemplate.json): Update output_types to be arrays for consistency and readability in LoopTemplate JSON file
* 🐛 (loop.py): fix logic in stop condition to correctly evaluate if loop should stop or continue based on current index and data length
* [autofix.ci] apply automated fixes
* ✅ (loop-component.spec.ts): update test expectation to match the correct number of occurrences of "modified_value" in the output
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* 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>
* Added onSave and onCancel to tableModal, in order for it to preserve state
* Changed TableNodeComponent to handle temp values and only change value when saved
* 🔧 (tableModal/index.tsx): refactor handleSetOpen and handleOnEscapeKeyDown functions to improve code readability and maintainability
* Fix test that use tableInput
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* refactor: simplify TaskService by removing Celery integration
* refactor: enhance AnyIO backend task management and error handling
* refactor: restructure flow building process and enhance event handling
* feat: implement QueueService for managing job queues and tasks
* feat: Add QueueService for managing job queues and task lifecycle
* feat!: Enhance flow building with QueueService integration for job management
* revert changes to async session
* feat: Integrate QueueService into lifespan management for task handling
* refactor: Enhance QueueService with robust lifecycle management and cleanup mechanisms
* refactor: Simplify docstring for get_queue_service function
* refactor: Update import statements in queue factory for clarity
* test: Improve chat endpoint tests with comprehensive build flow scenarios
* refactor: Streamline flow build event generation and queue management
* refactor: Improve flow build process with modular event handling and URL parameter management
* test: Enhance loop component tests with flow build and event handling utilities
* fix: Improve transaction logging with null flow_id handling and debug logging
* fix: Remove unnecessary db.refresh() in transaction logging
* feat: Add polling mode for build events with optional streaming
* feat: Add event delivery configuration option to settings
* feat: Implement polling for build events with configuration-driven streaming
* refactor: Enhance queue cleanup with improved logging and error handling
* test: Improve build event stream assertion with detailed error reporting
* test: Add benchmark test for build flow polling mechanism
* refactor: Remove redundant end event in flow event generation
* test: Update test_component_tool_with_api_key to use async flow
* Convert test method to async
* Update graph start method to use async_start()
* Add client parameter to test method
* Modify tool retrieval to use async method
* test: Add session ID generation in agent component test
* fix: Enhance error handling in LCAgentComponent for ExceptionWithMessageError
Add null checks to prevent potential AttributeError when handling agent message deletion
* test: Refactor test assertion for model name options in agent component
Simplify the assertion for checking "sonnet" in model name options by extracting the options to a variable first
* refactor: Improve type hints and imports in AnyIOTaskResult
* Add `__future__` import for type annotations
* Use conditional import for `Callable` and `TracebackType`
* Explicitly type `_traceback` attribute with `TracebackType | None`
* fix: Add null checks for event task in build events streaming
* refactor: Extract build and disconnect handling into separate modules
This commit separates the build and disconnect handling logic from the chat API module into dedicated files:
- Created `langflow/api/build.py` to house the flow generation and vertex building logic
- Created `langflow/api/disconnect.py` to manage the custom streaming response with disconnect handling
- Removed duplicate code from `langflow/api/v1/chat.py`
- Improved code organization and modularity
* refactor: Extract flow build and event handling methods in build API
This commit introduces two new methods in the build API to improve code organization and reusability:
- `start_flow_build()`: Centralizes the logic for creating a queue and starting a flow build task
- `get_flow_events_response()`: Handles retrieving flow events for both streaming and polling modes
The changes simplify the chat API endpoint implementations and reduce code duplication
* refactor: Deprecate /task endpoint and add informative error message
This commit marks the /task endpoint as deprecated and raises an HTTP 400 error with a clear message indicating the endpoint will be removed in a future version. The changes improve API clarity and guide users towards the recommended /run endpoint.
* refactor: Update log_transaction function return type annotation
Modify the return type hint for log_transaction to allow for potential None return, improving type safety and clarity in the transactions logging method.
* feat: Add configurable event delivery streaming option
Introduce support for configurable event delivery mode (streaming/polling) across frontend components:
- Add `shouldStreamEvents()` method in NodeStatus and IOModal
- Update flowStore to accept a `stream` parameter
- Modify buildFlowVerticesWithFallback to use the stream parameter directly
- Remove hardcoded polling logic in buildUtils
* fix: Add null check for flow_id in log_transaction function
Prevent logging transactions without a flow_id by returning None, ensuring data integrity and avoiding potential database errors
* chore: Update changes-filter to include chat API path
* fix: Add error handling and null checks in flow transaction deletion
Improve robustness of transaction and vertex build deletion by:
- Adding a null check for flow_id in delete_transactions_by_flow_id
- Wrapping deletion operations in try-except blocks to prevent failures
- Logging debug messages for any deletion errors
* fix: Remove redundant commit in vertex builds deletion
Remove unnecessary db.commit() from delete_vertex_builds_by_flow_id to prevent duplicate commits and simplify database transaction handling
* fix: Improve transaction logging with debug message and return value
Move debug logging from CRUD layer to utils to provide more context about logged transactions and ensure proper error handling
* fix: Improve error handling and transaction cleanup in active_user fixture
Enhance user and transaction cleanup process in test fixture by:
- Adding separate try-except blocks for transaction/vertex build deletion and user deletion
- Adding debug logging for potential errors during cleanup
- Ensuring proper session commits for each operation
* propagate parent task CancelledError instead of supressing it
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
* refactor: Rename queue service to job queue service
Restructure job queue management by:
- Renaming QueueService to JobQueueService
- Moving queue-related files to a new job_queue directory
- Updating import paths and service type references
- Enhancing job queue service with more robust async job management
* fix: Correct ServiceType enum reference for job queue service
Update the service type constant to match the recently renamed JobQueueService, ensuring consistent service type referencing across the application.
* refactor: Enhance JobQueueService with comprehensive logging and documentation
Improve the JobQueueService implementation by:
- Adding detailed docstrings with clear explanations of methods and attributes
- Implementing comprehensive logging throughout the service
- Enhancing error handling and logging for queue and task management
- Providing more context in log messages for debugging and monitoring
* docs: Improve stop method docstring for JobQueueService
Enhance the documentation for the stop method by:
- Providing a more detailed and precise description of the shutdown process
- Clarifying the steps involved in gracefully stopping the service
- Improving the explanation of resource cleanup and task cancellation
* fix: Properly handle task cancellation and propagate exceptions in JobQueueService
* fix: Enhance error handling and raise appropriate exceptions in JobQueueService methods
* improve docstring
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
* fix: Remove redundant exception raises in JobQueueService methods and improve cleanup logic
* fix: Improve logging during job cleanup and handle exceptions more appropriately
* feat: add utility to run tests with multiple event delivery modes
* feat: integrate withEventDeliveryModes utility in multiple test files
* refactor: replace status code assertions with httpx codes for clarity
* remove noqa comment and change argument name
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
* refactor: streamline event polling logic in get_flow_events_response
* refactor: use getattr for safer session attribute access
Co-author: @cbornet
* feat: add is_started method to JobQueueService
* refactor: modify JobQueueService start method and main.py queue service initialization
* feat: add ready state and teardown method to JobQueueService
* refactor: simplify job queue cleanup logic in JobQueueService
* refactor: improve error logging in active_user fixture
* refactor: improve AnyIO task management with TaskGroup and CancelScope
* refactor: Implement LimitedBackgroundTasks for controlled vertex build logging (#6312)
* feat: implement LimitedBackgroundTasks for controlled vertex build logging
* refactor: replace BackgroundTasks with LimitedBackgroundTasks in build_flow endpoint
* refactor: improve task cancellation error handling in JobQueueService
* refactor: Rename LimitedBackgroundTasks to LimitVertexBuildBackgroundTasks
* feat: Add EventDeliveryType enum for event delivery methods
* feat: Add polling constants for endpoint and streaming status
* refactor: Update buildFlowVerticesWithFallback to use polling constants
* refactor: Update event delivery handling to use EventDeliveryType enum
* [autofix.ci] apply automated fixes
* fix: Improve error handling for cancelled build tasks
Refactor generate_flow_events to properly handle and propagate CancelledError
- Remove unnecessary task creation and manual cancellation
- Directly await _build_vertex instead of creating a separate task
- Improve exception logging for cancelled tasks
- Ensure CancelledError is raised instead of being silently handled
* fix: trigger event_manager.on_end after error handling in generate_flow_events
---------
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Update component.py
* 🐛 (loop-component.spec.ts): fix clicking on incorrect element in test causing failure
* 🔧 (freeze-path.spec.ts): Remove redundant clicks on "Close" button in multiple test cases to improve test efficiency
🔧 (freeze.spec.ts): Remove redundant clicks on "Close" button in multiple test cases to improve test efficiency
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* add outdated starter projects tests
* add api keys loaded from db values
* ✨ (Custom Component Generator.spec.ts): add initialGPTsetup function to setup GPT integration
📝 (Custom Component Generator.spec.ts): update test to handle existing API key and log a message if API key is already added
✨ (validate-raise-errors-components.spec.ts): add test to validate error messages on popups when an error is raised in custom components
📝 (add-custom-component.ts): add utility function to add custom components in tests for easier testing and validation of error messages
* ✨ (tests): update tag value from "@starter-project" to "@starter-projects" for consistency across test files.
* 📝 (changes-filter.yaml): add new path "src/backend/base/langflow/custom/**" to starter-projects section
♻️ (changes-filter.yaml): remove path "src/backend/base/langflow/components/**" from components section and add it to starter-projects section
♻️ (changes-filter.yaml): add new path "src/backend/base/langflow/custom/**" to components section
* 🐛 (component.py): fix a bug where the status was not being returned when there is only one output in the component
* 🔧 (ci.yml): Expand path filter outputs for more comprehensive CI testing
* fix docstring placement
* ✨ (group.spec.ts): update click event modifiers to use "ControlOrMeta" for better cross-platform compatibility
* ✨ (changes-filter.yaml): add new directory "src/backend/base/langflow/graph/" to starter-projects for processing in the build pipeline.
* 🔄 Refactor graph data structures from sets to lists for performance and compatibility
* 🔧 Optimize RunnableVerticesManager predecessor checks and type hints
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* fix note node size
* ♻️ (NoteNode/index.tsx): remove commented out code for debounced resize handler to improve code readability and maintainability
* feat: update NoteNode to resize and persist dimensions in state
* 🐛 (generalBugs-shard-10.spec.ts): fix clicking on the last element with the text "openai" instead of the first one to match the intended behavior
✨ (generalBugs-shard-10.spec.ts): refactor test to use forEach loop for better readability and accuracy in comparing text contents
* 🐛 (general-bugs-save-changes-on-node.spec.ts): add 500ms delay to fix flakiness in tests related to clicking elements and waiting for selectors to appear
* ✨ (appHeaderComponent/index.tsx): add data-testid attribute to app header for testing purposes
📝 (general-bugs-save-changes-on-node.spec.ts): update verifyTextareaValue function to accept an additional parameter flowName for better test coverage and clarity
📝 (general-bugs-save-changes-on-node.spec.ts): add functionality to input and fill a random flow name in the test scenario for improved test coverage and reliability
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ✨ (NodeName/index.tsx): add cursor-grab class to improve user experience when dragging the node
✨ (NodeName/index.tsx): add nodrag class to prevent text selection when dragging the node
✨ (NodeStatus/index.tsx): add nodrag class to prevent text selection when dragging the node
✨ (GenericNode/index.tsx): add nopan, nodelete, nodrag, noflow classes to improve node dragging behavior
* 📝 (NodeDescription/index.tsx): Update cursor style to 'auto' for better user experience
📝 (NodeName/index.tsx): Update cursor style to 'auto' for better user experience
📝 (NodeOutputfield/index.tsx): Add cursor style 'pointer' to improve interactivity
* ✨ (NodeDescription/index.tsx): Add support for editing node description when selected and editNameDescription is true
✨ (NodeName/index.tsx): Add support for editing node name when selected and editNameDescription is true
🔧 (GenericNode/index.tsx): Introduce useAlternate hook to handle toggling editNameDescription state
📝 (use-alternate.tsx): Add custom hook useAlternate to handle toggling boolean state
🔧 (style/index.css): Add new CSS variable --zinc-foreground for styling purposes
🔧 (tailwind.config.mjs): Add new tailwind color variable "zinc-foreground" for styling purposes
* 📝 (NodeDescription/index.tsx): Remove unnecessary setInputDescription call and update useEffect dependencies for better performance
📝 (NodeDescription/index.tsx): Update className for Textarea component to improve styling and readability
📝 (NodeDescription/index.tsx): Update className for generic-node-desc-text to improve styling and cursor behavior
📝 (NodeName/index.tsx): Remove unnecessary setInputName call and update useEffect dependencies for better performance
📝 (NodeName/index.tsx): Update className for span element to improve cursor behavior and styling
📝 (GenericNode/index.tsx): Add useRef for node element and implement useChangeOnUnfocus hook for better handling of focus events
📝 (GenericNode/index.tsx): Update className for pencil icon based on editNameDescription state for better visual feedback
📝 (GenericNode/index.tsx): Add editNameDescription to dependencies of useCallback to prevent unnecessary re-renders
📝 (GenericNode/index.tsx): Add editNameDescription to dependencies of useEffect to handle changes in editNameDescription state
📝 (use-change-on-unfocus.tsx): Implement custom hook useChangeOnUnfocus for handling focus events and state changes
* Refactor NodeDescription to remove old logic and variables
* Refactor NodeName component to remove unnecessary logic and variables
* [autofix.ci] apply automated fixes
* ✨ (NodeDescription/index.tsx): Add functionality to edit node description and handle events like blur, key down, and double click for sticky notes
📝 (NoteNode/index.tsx): Introduce useAlternate hook to toggle edit mode for node description in NoteNode component
* ♻️ (NoteNode/index.tsx): refactor useAlternate hook usage to simplify code and improve readability
* 🔧 (GenericNode/index.tsx): refactor className to conditionally apply translate-x styles based on showNode state for improved UI responsiveness
* 📝 (NodeDescription/index.tsx): Refactor handleBlurFn and handleKeyDownFn to improve code readability and maintainability
📝 (NodeName/index.tsx): Refactor handleBlur and handleKeyDown functions for better code organization and readability
📝 (GenericNode/index.tsx): Update toggleEditNameDescription prop to setEditNameDescription for consistency and clarity
📝 (use-change-on-unfocus.tsx): Remove unnecessary handleEscape function and handleBlur event listener for better code simplicity and performance
* 📝 (NodeDescription/index.tsx): Update CSS class name to use 'focus-border-primary' instead of 'focus-border-black' for consistency and clarity
📝 (GenericNode/index.tsx): Add data-testid attribute to save and edit name description buttons for testing purposes
📝 (edit-name-description-node.spec.ts): Add test to verify user can edit name and description of a node in the UI
* ✨ (GenericNode/index.tsx): Add functionality to show and hide toolbar with animation based on node selection status
📝 (get-class-toolbar-transform.ts): Create helper function to determine transform classes for toolbar animation based on showToolbar and showNode status
* ✨ (NodeDescription/index.tsx): add setHasChangedNodeDescription prop to update parent component when node description changes
✨ (NodeName/index.tsx): add setHasChangedNodeDescription prop to update parent component when node name changes
✨ (GenericNode/index.tsx): add hasChangedNodeDescription state and setHasChangedNodeDescription function to track changes in node description and update parent component
📝 (edit-name-description-node.spec.ts): add wait for sidebar custom component button and timeout to improve test reliability
* ✨ (group.spec.ts): Update click event on "title-Group" element to improve user interaction
🐛 (group.spec.ts): Fix click event on "save-name-description-button" element to properly save changes
🐛 (general-bugs-save-changes-on-node.spec.ts): Increase timeout for selectors to prevent test failures due to slow loading
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix random value generation to ensure consistent length
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix click event on "add-component-button-text-output" element to add component correctly
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix timeout for selector to prevent test failures due to slow loading
🐛 (general-bugs-save-changes-on-node.spec.ts): Fix verifyTextareaValue function to properly verify textarea values
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: implement get_or_create_default_folder function to ensure default folder exists for users
* refactor: replace create_default_folder_if_it_doesnt_exist with get_or_create_default_folder for user folder creation
* test: add unit tests for get_or_create_default_folder function
* ✨ (generalBugs-shard-10.spec.ts): refactor test script to improve readability and maintainability by chaining actions on page elements instead of using separate lines for each action
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* refactor(components): Rename Parse Data component to Data to Message
* Refactor: enhance Data to Message description
* Refactor: enhance Data to Message description
* feat: add required to template and data inputs
* [autofix.ci] apply automated fixes
* fix: Update element selectors in freeze.spec.ts
* [autofix.ci] apply automated fixes
* refactor: rename test IDs for processing data in frontend tests
Updated test IDs from "processingParse Data" to "processingData to Message" across multiple test files to improve clarity and consistency in the test suite. This change enhances the readability of the tests related to data processing components.
* refactor: update ParseDataComponent to improve clarity and consistency
- Renamed the display name and description of the ParseDataComponent from "Data to Message" to "Parse Data" to better reflect its functionality.
- Changed the icon from "message-square" to "braces" for a more appropriate visual representation.
- Updated input fields to make 'required' status consistent across multiple starter projects, changing 'required' from true to false for 'data' and 'template' inputs.
- Enhanced code readability by modifying the structure and comments within the component's implementation across various JSON files.
* refactor: update ParseDataComponent across multiple starter projects
- Changed the display name and description of the ParseDataComponent from "Parse Data" to "Data to Message" for better clarity.
- Updated the icon from "braces" to "message-square" to better represent the component's functionality.
- Made input fields 'data' and 'template' required across all affected JSON files to ensure proper data handling.
- Enhanced code readability and consistency in the implementation of the ParseDataComponent across various starter projects.
* ✨ (freeze.spec.ts): Update test descriptions and selectors to match changes in the application functionality related to data processing and messaging
✨ (stop-building.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging
✨ (fileUploadComponent.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging
✨ (loop-component.spec.ts): Update test description and selector to match changes in the application functionality related to data processing and messaging
* fix broken tests
---------
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* 🐛 (generalBugs-shard-9.spec.ts): fix incorrect test selector for elementChatMemoryOutput to match updated element ID
🐛 (generalBugs-shard-3.spec.ts): fix incorrect test selector for elementsOpenAiOutput to match updated element ID
* 📝 (refreshButton.tsx): add data-testid attribute to RefreshButton component for testing purposes
🐛 (Vector Store.spec.ts): fix import statement to include 'expect' in Playwright test file
🐛 (Vector Store.spec.ts): remove unnecessary test.skip block for ASTRA_DB_API_ENDPOINT
🐛 (Vector Store.spec.ts): fix selectors and interactions for refresh buttons and dropdown options in Playwright test file
* ✨ (freeze-path.spec.ts): refactor test cases to use a new helper function moveSlider for interacting with slider elements in a more efficient and readable way
* Added backend to allow loop on output
* Added custom edge for looping components
* Added allows_loop to output type
* Added output_types to target handle if its a loop
* Fixed valid_connection to allow loops
* Added the loop handle to the outputs
* Added infinity icon
* Fixed clean edges to not delete loop edge
* Implement loop checking before build.
* Implemented looping indicator
* Fixed belzier path
* [autofix.ci] apply automated fixes
* 🔧 (reactflowUtils.ts): refactor cleanEdges and detectBrokenEdges functions to improve code readability and maintainability by extracting repeated logic into variables and reducing code duplication.
* [autofix.ci] apply automated fixes
* Add from_loop_target_handle method to TargetHandle class and update type field
* Enhance Edge class to handle loop target handles and validate loop edges
* Add output_names attribute and get_value_from_output_names method to Vertex class
* Add overlap check for input and output names in Component class
* Fix default value assignment in ComponentVertex to handle output names correctly
* Clarify error message for missing attributes in Component class
* Added backend to allow loop on output
* Added custom edge for looping components
* Added allows_loop to output type
* Added output_types to target handle if its a loop
* Fixed valid_connection to allow loops
* Added the loop handle to the outputs
* Added infinity icon
* Fixed clean edges to not delete loop edge
* Implement loop checking before build.
* Implemented looping indicator
* Fixed belzier path
* [autofix.ci] apply automated fixes
* 🔧 (reactflowUtils.ts): refactor cleanEdges and detectBrokenEdges functions to improve code readability and maintainability by extracting repeated logic into variables and reducing code duplication.
* [autofix.ci] apply automated fixes
* Add from_loop_target_handle method to TargetHandle class and update type field
* Enhance Edge class to handle loop target handles and validate loop edges
* Add output_names attribute and get_value_from_output_names method to Vertex class
* Add overlap check for input and output names in Component class
* Fix default value assignment in ComponentVertex to handle output names correctly
* Clarify error message for missing attributes in Component class
* feat: add loop component 🎁🎄 (#5429)
* add loop component 🎁🎄
* [autofix.ci] apply automated fixes
* fix: add loop component to init
* [autofix.ci] apply automated fixes
* refactor(loop): rename loop input variable and improve code quality
- Renamed 'loop' input to 'loop_input' for clarity.
- Simplified logic for checking loop input and aggregating results.
- Enhanced type hints for better code readability and maintainability.
* refactor(loop): add type hint to initialize_data method for improved clarity
* fix: mypy error incompatible return value type
* feat: adds test cases for loop component compatibility with the APIs, Loop component updates to support API (#5615)
* add loop component 🎁🎄
* [autofix.ci] apply automated fixes
* fix: add loop component to init
* [autofix.ci] apply automated fixes
* refactor(loop): rename loop input variable and improve code quality
- Renamed 'loop' input to 'loop_input' for clarity.
- Simplified logic for checking loop input and aggregating results.
- Enhanced type hints for better code readability and maintainability.
* refactor(loop): add type hint to initialize_data method for improved clarity
* adding test
* test cases added
* Update test_loop.py
* adding test
* test cases added
* Update test_loop.py
* update with the new test case method!
* Update test_loop.py
* tests updates
* Update loop.py
* update fix
* issues loop issues
* reverting debug mode params
* solves lint errors and fix the tests
* fix: mypy error incompatible return value type
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.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: italojohnny <italojohnnydosanjos@gmail.com>
* feat: improve model input fields for Cohere component (#5712)
feat: improve model input fields for cohere component
1. Make api_key field required
2. Convert temperature to SliderInput with range 0-2
3. Add info description to temperature slider
* refactor: improve naming consistency in DataCombiner component (#5471)
* refactor: improve naming consistency in DataCombiner component
- Rename MergeOperation to DataOperation
- Rename component to DataCombinerComponent
- Convert operation enum values to uppercase
- Update method names for consistency
* [autofix.ci] apply automated fixes
* fix: resolved linting errors in __init__.py
* [autofix.ci] apply automated fixes
* Changed operation names to capitalize only first letter
* refactor: rename DataCombinerComponent to MergeDataComponent for better clarity and backwards compatibility
* [autofix.ci] apply automated fixes
* fix: Translate Portuguese text to English in merge_data.py
* feat: add required to data_inputs in MergeDataComponent
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* refactor: Refactor Wikipedia API component (#5432)
* refactor(wikipedia): Refactor Wikipedia API component
* test: add unit tests for WikipediaAPIComponent
* [autofix.ci] apply automated fixes
* refactor: improve WikipediaAPIComponent tests and fix lint issues
* [autofix.ci] apply automated fixes
* fix: resolve lint issues in WikipediaAPIComponent tests
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* fix: pass slider input values correctly, add test (#5735)
* ✨ (base.py): Update field validation to include "slider" type in addition to "float" type for better parameter handling
📝 (constants.py): Add "slider" type to the list of DIRECT_TYPES for consistency and completeness
* ✅ (test_inputs.py): add unit test for SliderInput class to ensure it initializes with correct value
* 🐛 (base.py): fix comparison of field type with a list by changing it to a set to ensure correct condition evaluation
* [autofix.ci] apply automated fixes
* fix format
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: make AWS credentials required in bedrock component (#5710)
1. Make aws_access_key_id field required
2. Make aws_secret_access_key field required
* chore: update test durations (#5736)
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
* feat: add truncation to ResultDataResponse (#5704)
* chore: Update dependencies and improve platform markers in configuration files
- Added 'hypothesis' version 6.123.17 to dev-dependencies in pyproject.toml.
- Updated platform markers from 'sys_platform' to 'platform_system' for better compatibility in uv.lock, affecting multiple packages including 'jinxed', 'colorama', and 'appnope'.
- Ensured consistency in platform checks across various dependencies to enhance cross-platform support.
This update improves the project's dependency management and ensures better compatibility across different operating systems.
* feat: Enhance ResultDataResponse serialization with truncation support
- Introduced a new method `_serialize_and_truncate` to handle serialization and truncation of various data types, including strings, bytes, datetime, Decimal, UUID, and BaseModel instances.
- Updated the `serialize_results` method to utilize the new truncation logic for both individual results and dictionary outputs.
- Enhanced the `serialize_model` method to ensure all relevant fields are serialized and truncated according to the defined maximum text length.
This update improves the handling of large data outputs, ensuring that responses remain concise and manageable.
* fix: Reduce MAX_TEXT_LENGTH in constants.py from 99999 to 20000
This change lowers the maximum text length limit to improve data handling and ensure more manageable output sizes across the application.
* test: Add comprehensive unit tests for ResultDataResponse and VertexBuildResponse
- Introduced a new test suite in `test_api_schemas.py` to validate the serialization and truncation behavior of `ResultDataResponse` and `VertexBuildResponse`.
- Implemented tests for handling long strings, special data types, nested structures, and combined fields, ensuring proper serialization and truncation.
- Enhanced coverage for logging and output handling, verifying that all fields are correctly processed and truncated as per the defined maximum text length.
- Utilized Hypothesis for property-based testing to ensure robustness and reliability of the serialization logic.
This update significantly improves the test coverage for the API response schemas, ensuring better data handling and output management.
* feat: Add function to validate models with tool calling function and related fixes in agent component (#5720)
* Update nvidia.py
* update agent experience with improving model selection
update agent experience with improving model selection and making only the tool calling models available.
* variable clean up
* [autofix.ci] apply automated fixes
* Update src/backend/base/langflow/base/models/model_input_constants.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Update src/backend/base/langflow/base/models/model_input_constants.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* added default models
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* format errors solved
* [autofix.ci] apply automated fixes
* Update model.py
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: assistants agent improvements (#5581)
* assistants agent improvements
* remove alembic init file
* vector store / file upload support
* use sync file object (required by sdk)
* steps
* self.tools initialization
* improvements for edwin
* add name and switch to MultilineInput
* ci fixes
* refactor: enhance flow type safety and clean up unused code (#5669)
* 📝 (use-save-flow.ts): add AllNodeType and EdgeType imports to improve type safety in useSaveFlow hook
📝 (index.tsx): remove unused setNoticeData function to clean up code and improve readability
* refactor: Remove unused code in GeneralPage component
* refactor: Remove unused code in cardComponent/index.tsx
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* feat: Add `required=True` to essential inputs across Langflow components (#5739)
* fix: add required validation to input fields
Ensures mandatory fields are properly marked as required across components.
* fix: add required validation to input fields
Ensures mandatory fields are properly marked as required across components.
* fix: add required validation to input fields
field: model_name
* fix: add required validation to input fields
field: model and base_url
* fix: add required validation to input fields
input: mistral_api_key
* fix: add required validation to input fields
inputs: model, base_url, nvidia_api_key
* fix: add required validation to input fields
inputs: model, base_url
* fix: add required validation to input fields
input: openai_api_key
* fix: add required validation to input fields
inputs: message, embedding_model
* fix: add required validation to input fields
inputs: model_name, credentials
* fix: add required validation to input fields
inputs: aws_secret_access_key, aws_access_key_id
* fix: add required validation to input fields
inputs: input_text, match_text
* fix: add required validation to input fields
inputs: input_message
* fix: add required validation to input fields
inputs: input_value
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
inputs: input_value
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
input: data_input
* fix: add required validation to input fields
inputs: data_inputs, embeddings
* fix: add required validation to input fields
inputs: api_key, input_value
* fix: add required validation to input fields
inputs: password, username, openai_api_key, prompt
* fix: add required validation to input fields
inputs: api_key, transcription_result
* fix: add required validation to input fields
inputs: api_key, transcription_result, prompt
* fix: add required validation to input fields
input: prompt
* fix: add required validation to input fields
input: api_key
* fix: add required validation to input fields
inputs: api_key, transcript_id
* fix: add required validation to input fields
inputs: audio_file, api_key
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: make YouTube Transcripts URL field required (#5686)
feat: Enhance YouTube Transcripts component by adding required field validation to URL input
This change ensures that users provide a video URL before using the YouTube Transcripts component, preventing potential runtime errors due to missing video source.
* fix: Fix memory leak when creating components (#5733)
Fix memory leak when creating components
* test: Update API key requirements and test configurations for frontend tests (#5752)
---------
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: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: VICTOR CORREA GOMES <112295415+Vigtu@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
* Updated loop.py component
* [autofix.ci] apply automated fixes
* update test file
* fix: handle None values in input names and improve type hints
* [autofix.ci] apply automated fixes
* Added loop component test
* Added comments
* test: add 'allow_loop' field to Output dictionary in test_output_to_dict method
* fix: correct key name in Output dictionary from 'allow_loop' to 'allows_loop' in test_output_to_dict method
* Updated frontend loop test
* Updated examples
* 🐛 (generalBugs-shard-9.spec.ts): Fix incorrect test selector for chat memory output element
🐛 (loop-component.spec.ts): Fix incorrect test selector for chat output element
🐛 (generalBugs-shard-3.spec.ts): Fix incorrect test selector for open AI model output element
* [autofix.ci] apply automated fixes
* refactor: update return type in AgentComponent to use dotdict for build_config
This change modifies the return statement in the AgentComponent class to utilize a dotdict for the build_config, enhancing the structure and accessibility of the returned configuration data.
* [autofix.ci] apply automated fixes
---------
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: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Vinícios Batista da Silva <vinicios.batsi@gmail.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ogabrielluiz <24829397+ogabrielluiz@users.noreply.github.com>
Co-authored-by: Sebastián Estévez <estevezsebastian@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: VICTOR CORREA GOMES <112295415+Vigtu@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>