Commit graph

5,998 commits

Author SHA1 Message Date
Cristhian Zanforlin Lousa
c5d90d1e2d
feat: Update Simple Agent example with latest Calculator version (#5609)
update basic example simple agent
2025-01-09 14:39:10 +00:00
Rodrigo Nader
75c3c1ce97
feat: add batch run beta component (#5489)
* feat: add batch run beta component

* [autofix.ci] apply automated fixes

* Update batch_run to run async using Runnable

* [autofix.ci] apply automated fixes

* refactor: streamline BatchRunComponent by removing unused synchronous model invocation and enhancing async processing

- Consolidated imports and improved type checking for LanguageModel.
- Simplified the run_batch method by directly using the model's asynchronous capabilities.
- Enhanced error handling for missing DataFrame columns.
- Cleaned up comments and improved code readability.

* refactor: update BatchRunComponent to use Runnable for improved async processing

- Added future annotations for better type hinting.
- Replaced LanguageModel with Runnable in type checking and method implementation.
- Enhanced code clarity and maintainability by consolidating imports.

* test: add unit tests for BatchRunComponent functionality

- Introduced a new test suite for BatchRunComponent to validate its behavior.
- Added tests for successful batch runs with and without system messages.
- Implemented tests for handling invalid column names and empty DataFrames.
- Included a test to ensure non-string columns are converted to strings during processing.

* refactor: rename useful.py to mock_language_model.py and update imports

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-01-08 19:49:11 +00:00
Samuel Matioli
3df81309bf
feat: astra db chunks deletion based on metadata field (#5537)
* feat: Add deletion_field parameter to AstraDBVectorStoreComponent for document management

- Introduced a new 'deletion_field' input to specify a metadata field for deleting documents before loading new data.
- Enhanced the _add_documents_to_vector_store method to handle document deletion based on the specified field, improving data management capabilities.

* Merging with main

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* - Enhanced the info string for the 'deletion_field' parameter to improve readability.
- Optimized the deletion logic by using a set comprehension to eliminate duplicates when gathering delete values from documents.

* [autofix.ci] apply automated fixes

* Update src/backend/base/langflow/components/vectorstores/astradb.py

Co-authored-by: Madhavan <msmygit@users.noreply.github.com>

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: Madhavan <msmygit@users.noreply.github.com>
2025-01-08 18:18:54 +00:00
Akshay Kripalani
c5528c6f93
fix: Google Embeddings model dimension mismatch. (#5502)
* Fix Google Embeddings model dimension mismatch.

* edit model size

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
2025-01-08 17:48:51 +00:00
William Bilibio
5381ee1d90
Fix: Fixed agent not found in SequentialCrewComponent. (#5449)
* fix: agents not found in SequentialCrewComponent #4959

* translate texts

* [autofix.ci] apply automated fixes

* Update sequential_crew.py

Removed Agent import

---------

Co-authored-by: William Bilibio <bilibio@vaidebolsa.com.br>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-01-08 17:28:59 +00:00
Christophe Bornet
6b0435906f
feat: Add support for loading flows and components from URLs (#5020)
* Add support for loading flows and components from a zip

* Translate github URLs automatically
2025-01-08 15:31:20 +00:00
Gabriel Luiz Freitas Almeida
8809128d93
tests: fix tests by clearing service_manager services (#5573)
* refactor(tests): add new fixtures to files tests

- Introduced new pytest fixtures for creating API keys, active users, and flows to streamline test setup.
- Updated file upload, download, list, and delete tests to utilize the new fixtures, improving clarity and maintainability.
- Ensured that flow IDs are correctly referenced in all file operations, enhancing test accuracy.
- Added cleanup logic in fixtures to maintain database integrity after tests.

This refactor improves the organization of test cases and ensures that they are more robust and easier to understand.

* fix(tests): clear services cache in test fixtures

- Added logic to clear the services cache in both `conftest.py` and `test_files.py` fixtures to ensure a clean state for tests.
- This change prevents potential interference between tests by resetting the service manager's factories and services before each test run.

* refactor(tests): streamline file upload tests and remove unused mocks

- Removed the mock implementation of StorageService from the test fixtures to simplify the test setup.
- Introduced new fixtures to set maximum file size upload limits, enhancing test flexibility.
- Updated file upload, download, and list tests to directly use the new fixtures, improving clarity and maintainability.
- Ensured that uploaded file content is accurately tested, reflecting changes in the upload and download logic.
2025-01-08 13:13:41 +00:00
Cristhian Zanforlin Lousa
f080049526
fix: add tests and adjustments to Chroma component (#5571)
* Refactor: Update EditNodeComponent to hide table options and block hide

* 🐛 (model.py): fix issue with search_documents method not returning empty list when search_query is empty
♻️ (model.py): refactor search_documents method to handle search_query logic more efficiently
📝 (chroma.py): add typing_extensions override import for build_vector_store method to improve code readability

*  (tests): add unit tests for ChromaVectorStoreComponent

- Introduced new test suite for ChromaVectorStoreComponent, covering various functionalities including database creation, collection management, similarity and MMR searches, and duplicate handling.
- Implemented tests for creating collections with and without data, ensuring proper functionality and data integrity.
- Verified search capabilities with different query types and result limits, enhancing overall test coverage for the component.

* fix: remove unnecessary whitespace in model.py and add missing import in chroma.py

* fix: mypy error module has no attribute "timeout"

* ♻️ (async_helpers.py): Remove unnecessary type hint ignore comment from timeout_context function

* 📝 (async_helpers.py): add a comment with issue reference PGH003 to document the reason for ignoring type checking in timeout_context function

* ♻️ (async_helpers.py): Remove unnecessary type hint comment to improve code readability and maintainability

* ♻️ (async_helpers.py): Add type ignore comment to suppress miscellaneous type error for timeout_context function

* ♻️ (async_helpers.py): refactor timeout_context function to remove unnecessary type ignore comments and improve code readability

* [autofix.ci] apply automated fixes

* 📝 (async_helpers.py): add a blank line for better code readability and consistency

* fix: mypy error: incompatible redefinition

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>
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>
2025-01-08 13:01:39 +00:00
Raphael Valdetaro
cfaac694dc
refactor: Update WikidataAPI component to standard output pattern (#5431)
* refactor: Update WikidataAPI component to standard output pattern

* [autofix.ci] apply automated fixes

* Fix formatting errors in wikidata_api.py

* fix: Fix linting error in tools init

* test: add unit tests for WikidataComponent

* refactor: rename WikidataComponent to WikidataAPIComponent

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
2025-01-07 22:22:54 +00:00
Gabriel Luiz Freitas Almeida
4ea144eba9
refactor: make StructuredOutput tests to use MockLanguageModel (#5563)
* feat: add MockLanguageModel for testing language model interactions

- Introduced a new mock implementation of BaseLanguageModel to facilitate unit testing.
- Implemented methods to simulate responses and handle message processing.
- Added functionality to generate mock responses based on input messages.
- Ensured compatibility with existing language model interfaces for seamless integration in tests.

* refactor: simplify test_structured_output_component by replacing MagicMock with MockLanguageModel

- Removed extensive mock implementations of BaseLanguageModel in tests.
- Replaced instances of MagicMock with a new MockLanguageModel for better clarity and maintainability.
- Streamlined test cases for structured output generation and error handling.
- Ensured compatibility with existing test structure while enhancing readability.

* fix: rename utils.py to useful.py to avoid namespace conflict

---------

Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
2025-01-07 15:48:16 +00:00
Gabriel Luiz Freitas Almeida
7084433adc
chore: Update supported versions in tests constants (#5569)
* fix(tests): update supported versions in constants.py to include new releases

- Updated SUPPORTED_VERSIONS to reflect the latest versions: 1.0.19, 1.1.0, and 1.1.1.
- This change ensures that tests are aligned with the most current versioning.

* refactor(tests): update file_names_mapping for input, output, and prompt components

- Removed outdated version entries (1.0.15 to 1.0.18) and added new versions (1.1.0 and 1.1.1) for ChatInput, TextInput, ChatOutput, and Prompt components.
- Ensures test cases are aligned with the latest component versions for improved accuracy and reliability.

* fix(tests): update file_names_mapping in TestTextOutputComponent to reflect new versioning

- Removed outdated version entries (1.0.17, 1.0.18) and added new versions (1.1.0, 1.1.1) for TextOutput component.
- Ensures test cases are aligned with the latest component versions for improved accuracy and reliability.
2025-01-07 15:43:49 +00:00
Gabriel Luiz Freitas Almeida
95314e3fca
tests: allow tests to skip version tests if file_names_mapping is empty (#5562)
fix(tests): update ComponentTestBase to skip tests when file_names_mapping is empty

- Modified the test method to skip the test instead of raising an AssertionError when no file names mapping is provided.
- Improved user feedback by providing a clear message indicating the reason for skipping the test.
2025-01-07 12:47:14 +00:00
anovazzi1
a142b45160
feat: make Agents not send message if not connected to an output component (#5521)
* Refactor: Commented out  TextInput and TextOutput components

* Refactor: Add function to check if graph has output vertex connected to it

* Refactor: Add function to skip messages based on vertex configuration and message type

* Refactor: Update function to check for chat output in graph vertices

* Refactor: Enhance message skipping logic to include vertex existence check

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-01-06 21:01:09 +00:00
Cristhian Zanforlin Lousa
16ff8eb200
feat(model): replace MessageTextInput with MultilineInput for system_message (#5532)
 (model.py): introduce MultilineInput class to handle system messages in LCModelComponent for better organization and readability

📝 (Basic Prompting.json): Update node IDs and edge IDs for better readability and consistency in the JSON file.

📝 (Basic Prompting.json): Update node properties to display a chat message in the Playground instead of generating text using OpenAI LLMs
♻️ (Basic Prompting.json): Refactor field_order and outputs properties for the Chat Output node to include new fields and remove unnecessary ones

 (Basic Prompting.json): Update ChatOutput component to include new inputs and outputs for better customization and functionality. Add support for storing messages, setting sender type, and customizing message appearance.

 (Basic Prompting.json): Update field names and values for better clarity and consistency
♻️ (Basic Prompting.json): Refactor field names and values to improve readability and maintainability

 (Basic Prompting.json): Update the content of the file to include a new class 'OpenAIModelComponent' with inputs for configuring OpenAI model settings and methods for building the model and handling exceptions. Remove the 'data_template' field and update 'input_value' field to 'MessageInput'. Add new fields 'json_mode', 'max_tokens', 'model_kwargs', and 'model_name' with their respective configurations.

📝 (Basic Prompting.json): Update values and descriptions for fields in the Basic Prompting starter project to improve clarity and usability. Add a new field for temperature control with a default value of 0.1.
2025-01-03 14:23:52 +00:00
Gabriel Luiz Freitas Almeida
3e23800199
feat: Implement streaming support and EventManager integration in flow execution (#5460)
* refactor: add create_stream_tokens_event_manager for handling streaming events

* feat: integrate EventManager into run_graph_internal for enhanced event handling

- Added EventManager import and parameter to run_graph_internal function.
- Updated function call to include event_manager for improved event management during graph execution.

* feat: enhance Graph class with event_manager parameter

- Added event_manager parameter to multiple methods in the Graph class to facilitate better event management during graph execution.
- Updated process and run methods to include event_manager, ensuring it is passed through to relevant function calls.
- Improved documentation for methods to reflect the new event_manager parameter.

* feat: implement streaming support in flow execution with EventManager integration

- Added support for streaming responses in the simplified_run_flow endpoint, allowing real-time event handling during flow execution.
- Introduced consume_and_yield and run_flow_generator functions to manage event consumption and client communication.
- Integrated EventManager for enhanced event tracking, including success and error notifications.
- Updated endpoint documentation to reflect new streaming capabilities and parameters.
- Improved error handling and logging for better debugging and client disconnection management.

* refactor: remove request logging from simplified_run_flow endpoint

- Removed the logging of the request object in the simplified_run_flow function to streamline logging and reduce verbosity.
- This change enhances the clarity of logs by focusing on essential information during flow execution.
2025-01-03 14:21:14 +00:00
Sebastián Estévez
63d649b0f4
feat: add anthropic mcp endpoint (#5148)
* mcp WIP

* [autofix.ci] apply automated fixes

* logging and flow user check

* mcp stdio client component

* handle disconnect better

* initialization

* session fix and type fix

* [autofix.ci] apply automated fixes

* defensive against mcp server bugs

* [autofix.ci] apply automated fixes

* notifications and sse component

* enabled flags and resource support

* remove unneeded print

* extract json schema util

* [autofix.ci] apply automated fixes

* ruff

* fix tools [] bug and db asysnc session api change

* Tool instead of StructuredTool

* ruff fixes

* ruff

* validation optimization

* fix frontend test

* another playwright fix

* Update src/frontend/tests/extended/features/notifications.spec.ts

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

* mcp component descriptions

* mypy fixes

* fix setup_database_url test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2025-01-03 04:45:54 +00:00
Mendon Kissling
ee19feaf39
docs: add components-processing link to sidebar and update documentation link in component (#5526)
feat: add components-processing link to sidebar and update documentation URL for RecursiveCharacterTextSplitter
2025-01-02 22:04:37 +00:00
Rodrigo Nader
70eaacfd36
feat: improve gitloader component (#5351)
* feat: improve gitloader component

* [autofix.ci] apply automated fixes

* feat(git.py): refactor GitLoaderComponent to support asynchronous operations and improve temporary directory management

- Convert methods to async to enhance performance with file operations.
- Implement async context manager for handling temporary clone directories.
- Update binary file check and content filtering to be asynchronous.

* fix(git.py): enhance GitLoaderComponent with improved file filtering and binary check

- Refactor file filtering logic to utilize fnmatch for pattern matching.
- Introduce a new method to check for binary files based on null byte detection.
- Update content filtering to handle exceptions more gracefully.
- Modify temporary directory cleanup to use rmdir instead of remove for better directory management.
- Adjust load_documents method to utilize asyncio.to_thread for lazy loading of documents.

* refactor(git.py): enhance GitLoaderComponent with improved file filtering and binary check

- Refactor binary file check to be synchronous and handle exceptions more gracefully.
- Introduce new methods for checking file patterns and content patterns, allowing for more flexible filtering.
- Consolidate filtering logic into a single method for better maintainability.
- Update load_documents method to run lazy loading in a separate thread for improved performance.

* feat(tests): add unit tests for GitLoaderComponent file filtering and binary detection

- Introduced new test suite for GitLoaderComponent, including tests for binary file detection and file pattern matching.
- Implemented temporary file creation for testing various file types and permissions.
- Added tests for combined filtering functionality, ensuring robust handling of file and content patterns.

* refactor(git.py): improve pattern handling and content filtering in GitLoaderComponent

- Refactored pattern handling to use a more descriptive variable name `pattern_list` for clarity.
- Enhanced content filtering by ensuring proper encoding when reading file content.
- Updated regex validation to include a test string check for better error handling.
- Removed unnecessary comments to streamline the code and improve readability.

* fix: exception TypeError

TypeError: object async_generator can't be used in 'await' expression

---------

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>
2025-01-02 16:39:16 +00:00
Ítalo Johnny
c55edcd97f
fix: resolve data keyword conflict in template formatting (#5483)
* fix: resolve data keyword conflict in template formatting

* refactor: simplify code

* test: add unit tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-31 13:13:31 +00:00
Christophe Bornet
870aedf74e
fix: Fix parallel execution of alembic with SQlite (#5404)
Fix parallel execution of alembic with SQlite
2024-12-30 18:10:33 +00:00
Rogério Chaves
2ce33d41a8
fix(LangWatch): make current trace available for custom code to hook on to, allow to override input/output, fix icon (#5484)
* Call __enter__ to make current langwatch trace available globally so users can more easily add more context to it, like final input and output. This means also skipping setting the root_span input and output if already set

* Update LangWatch logo
2024-12-30 17:59:01 +00:00
VICTOR CORREA GOMES
9d64d08cb5
feat(conditional-router): rename 'matches regex' to 'regex' (#5410)
* feat(conditional-router): rename 'matches regex' to 'regex'

- Simplify the operator name in the ConditionalRouter component
- Update dropdown options for better UX
- Maintain existing functionality while using more concise naming

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-30 12:28:33 +00:00
dhlidongming
9ee63109d4
fix: unify delete logic and fix cascade deletion for flows (#5466)
* Fix incomplete cascade deletion for flows.

* [autofix.ci] apply automated fixes

* Remove modification.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-29 13:52:53 +00:00
Andrey Tatarinov
5640f84f54
fix: StructuredOutputComponent tool name generation for multiple=True mode (#5476)
StructuredOutputComponent: fix tool name generation for multiple=True mode
2024-12-29 13:52:48 +00:00
Christophe Bornet
e91bcc2520
ref: Some ruff fixes from preview (#5420)
* Some ruff fixes from preview

* [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>
2024-12-28 21:25:35 +00:00
Christophe Bornet
3454ede5a5
ref: Use better task cancellation logic (#5397)
Use better task cancellation logic

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-28 04:54:55 +00:00
tushar-composio
c4de1da4d4
fix: fetch composio apps list dynamically (#5427)
* fix: fetch composio apps list dynamically

* Ensure apps only get loaded once API key is entered

* Add comment

* typo fix

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-28 00:08:18 +00:00
Feng
a626209da6
fix: error message issue when "exception.body" is None (#5464)
fix errormessage issue when "exception.body" is None

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-27 23:48:20 +00:00
Gabriel Luiz Freitas Almeida
8cbc6a9085
refactor: update simple API test JSON (#5469) 2024-12-27 09:21:37 -08:00
Lucas Oliveira
bd7f913d28
fix: add minimized attribute to components and make chatinput and chatoutput start minimized by default (#5374)
* Added Minimized field to backend to make component start as minimized

* Added minimized as true to chat components

* Added showNode default value as the opposite of minimized

* Changed starter projects to new components

* [autofix.ci] apply automated fixes

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

* Fixed Freeze and DecisionFlow tests

* Fixed other tests that involved chatoutput and chatinput

* Restored tests that didnt fail

* Fixed stop playground test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-23 22:09:22 +00:00
Lucas Oliveira
1daf915169
fix: add data field to returned object on flowheader if flow is a component (#5373)
* Fixed FlowHeader model validator, adding data and removing it if flow is not a component

* [autofix.ci] apply automated fixes

* Fixed flowheader to use fieldvalidator instead of modelvalidator

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-23 18:54:40 +00:00
Christophe Bornet
9fc3601df8
fix: Fix parallel execution of alembic with PostgreSQL (#5408)
Fix parallel execution of alembic with PostgreSQL
2024-12-23 18:53:07 +00:00
Jordan Frazier
b2e7476d3b
fix: add initial setup validations (#5385)
* convert flow ids to uuids when loading from dir

* Edit a migration file to check for foreign key existence

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-21 00:23:21 +00:00
Christophe Bornet
4b0c42e520
feat: Bump blockbuster version to 1.5.5 (#5382)
Bump blockbuster version to 1.5.5
2024-12-20 13:45:06 +00:00
anovazzi1
243055e1cd
refactor: Simplify agent input text content construction (#5344)
* refactor: Simplify agent input text content construction

* Change HUMAN to Input

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-20 13:28:54 +00:00
Raphael Valdetaro
68c36c415e
feat(component): enhance merge data with standard operations (#5125)
* feat(component): enhance merge data with standard operations

- Add standard merge operations (concatenate, append, merge, join)
- Add operation selection via dropdown
- Return DataFrame output type
- Implement separate merge strategies

* style(component): improve merge data formatting

- Add MIN_INPUTS_REQUIRED constant
- Use descriptive DataFrame variable names
- Move return statement to else block
- Use list comprehension for better performance
- Fix unused loop variable
- Improve overall code formatting

* [autofix.ci] apply automated fixes

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

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

* refactor: adjust merge_data operations to use langflow.schema.DataFrame

* Update Merge Data component name and description

* [autofix.ci] apply automated fixes

* refactor: enhance data merging logic in DataMergerComponent

- Improved type hinting for combined data structures to enhance code clarity.
- Streamlined the concatenation and merging operations to ensure consistent handling of string and object types.
- Updated the logic to correctly append values to lists when merging data inputs, improving data integrity in the merging process.

* revert merge data changes

* add data merger component

* refactor: remove DataMergerComponent and clean up imports

- Deleted the DataMergerComponent to streamline the processing components.
- Updated the __init__.py file to reflect the removal of the DataMergerComponent from the exports.

* refactor: enhance MergeDataComponent with new merge operations

- Introduced a new enum, MergeOperation, to define various data merging strategies: CONCATENATE, APPEND, MERGE, and JOIN.
- Updated the merge_data method to return a DataFrame instead of a list of Data objects, improving data handling.
- Enhanced input validation to ensure a minimum number of data inputs are provided.
- Streamlined the merging logic to support different operations, improving flexibility and usability of the component.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-20 12:17:17 +00:00
Abhishek Patil
fb9825ee65
fix: Resolve Auth field issue in Composio component and bump Composio (#5357)
* fix: replace single quotes with double quotes

* feat: update Composio component fields
2024-12-20 11:42:29 +00:00
Raphael Valdetaro
9a8f721515
feat: Add OpenRouter component for multi-provider model access (#5271)
* feat: add OpenRouter component for multi-provider model access

- Add OpenRouter integration with provider-based model selection
- Support dynamic model fetching from OpenRouter API
- Implement temperature and max tokens controls
- Add site URL and app name for rankings
- Include model tooltips with context length and descriptions

* fix: restore SambaNova component in models __init__.py

* refactor: simplify OpenRouter build_model method

* [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>
2024-12-19 19:29:45 +00:00
VICTOR CORREA GOMES
68deca4feb
refactor(components): Rename StoreMessage to MessageStore for Better Clarity (#5009)
* refactor: Rename store message component to message store

* [autofix.ci] apply automated fixes

* refactor: Rename store message component to message store

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* fix: restore StoreMessage name for backwards compatibility

* fix(core): rename store_message.py for compatibility

- Restore original filename to maintain system compatibility
- Ensure consistent file naming across codebase

* fix(ui): correct output message display name

- Update Output display_name from "Stored Messages" to "Stored Message"
- Maintain consistency in singular/plural naming conventions

* refactor: rename message_store to store_message in helpers module

- Updated import statement in __init__.py to reflect the new module name for MessageStoreComponent.
- This change improves clarity and consistency in the component naming convention.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-19 19:19:02 +00:00
Cristhian Zanforlin Lousa
b07bd173b4
feat: Add Pandas kwargs support for CSV Agent (#5372)
*  (csv.py): Add support for passing Pandas kwargs to the CSV agent for more customization and flexibility.

* 📝 (csv.py): mark 'is_list' attribute as True for the 'Pandas Kwargs' parameter to indicate it can accept a list of values
2024-12-19 19:17:26 +00:00
bhatsanket
e657e9de4a
fix: fix partition error in AstraDBCQLToolComponent (#4356)
* fix: AstraDBCQLToolComponent

Tool part is working fine but the direct Data output fails cause of partition key issue

* Ruff fix

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-19 19:00:00 +00:00
Gabriel Luiz Freitas Almeida
0619ed7248
refactor: add model validator to FlowHeader model and fix response handling (#5355)
* refactor: streamline imports and enhance flow header response handling in flows.py

- Consolidated import statements for better readability.
- Updated the response structure in the  function to utilize  for improved data validation and consistency.

* refactor: enhance FlowHeader model with detailed field descriptions and validation

- Updated FlowHeader model to include field descriptions for better clarity and documentation.
- Introduced a model validator to ensure data integrity before processing.
- Streamlined import statements for improved readability.

---------

Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
2024-12-19 18:58:09 +00:00
VICTOR CORREA GOMES
81da524375
feat(components): add LangWatch evaluator component - New Bundle (#4722)
* feat(components): add LangWatch evaluator component

* feat(langwatch): add tracing integration and custom endpoint support

* style(langwatch): update component name and svg icon

* [autofix.ci] apply automated fixes

* Clean code with code formatting styles

* Add contexts and expected_output also as dynamic fields

* refactor(langwatch): remove redundant logging and improve type hinting

- Removed unnecessary logger exception calls in error handling sections to streamline the code.
- Added type hinting for the trace_id assignment to enhance code clarity and maintainability.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Rogério Chaves <rogeriochaves@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-12-19 18:26:10 +00:00
Dario Saltarelli
c864929bde
fix: add endpoint_name to read_flows endpoint (#5354)
* fix: add endpoint_name whem mapping results for headers_flow parameter (#5353)

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Dario Saltarelli <dario.saltarelli@sscinc.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-19 18:10:40 +00:00
Gabriel Luiz Freitas Almeida
dd68a97567
feat: return variable value if it is a generic variable (#5366)
* fix: update pre-commit configuration for ruff formatting args

* fix: update variable type constant from GENERIC_TYPE to CREDENTIAL_TYPE

* feat: enhance variable service to handle decryption for generic type and update default variable type to CREDENTIAL_TYPE

* feat: add abstract method to retrieve all variables for a user in VariableService

* feat: implement get_all method in KubernetesSecretService to retrieve and decrypt user variables

* refactor: update variable tests to use fixtures for generic and credential types

- Renamed and refactored test fixtures for better clarity and reusability.
- Updated tests to utilize `generic_variable` and `credential_variable` fixtures instead of hardcoded values.
- Enhanced assertions to ensure correct handling of variable types, including encryption for credential variables and decryption for generic variables.
- Improved test structure for creating, reading, updating, and deleting variables, ensuring consistency across test cases.

* refactor: update get_all method signatures in variable services to return VariableRead

- Changed return type of the get_all method in VariableService, KubernetesSecretService, and DatabaseVariableService from list[Variable | None] to list[VariableRead].
- This update enhances type consistency across variable services and aligns with the new VariableRead model for improved data handling.

* fix: update variable type assertion in test_update_variable to CREDENTIAL_TYPE

- Changed the assertion in the `test_update_variable` test to verify that the result type is now `CREDENTIAL_TYPE` instead of `GENERIC_TYPE`.
- This update aligns the test with recent changes in variable type handling, ensuring accurate validation of variable updates.

* fix: update variable type assertion in test_create_variable to CREDENTIAL_TYPE

- Changed the assertion in the `test_create_variable` test to verify that the result type is now `CREDENTIAL_TYPE` instead of `GENERIC_TYPE`.
- This update ensures consistency with recent changes in variable type handling and improves the accuracy of the test validation.
2024-12-19 17:04:00 +00:00
Gabriel Luiz Freitas Almeida
b7f5a7fe9b
fix: avoid checking variables with empty value (#5367)
fix: enhance load_from_db field checks in custom component update and parameter loading

- Updated the condition in  to ensure that  only includes fields with a defined value.
- Modified the  function to skip parameters that are either not present or have a falsy value, improving robustness in parameter handling.
2024-12-19 17:01:15 +00:00
Eric Hare
22877ae920
feat: tool mode for all vector store components (#5348)
* feat: tool mode for all vector store components

* [autofix.ci] apply automated fixes

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

* Update elasticsearch.py

* Update test_vector_store_rag.py

* Update vector_store_rag.py

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-19 16:49:09 +00:00
Saurabh Misra
a30ccc4302
feat: Install Codeflash optimizer github action (#5350)
* Install Codeflash optimizer github action

* try

* install the right dev

* try

* try

* try

* try

* try

* Python 3.12

* temp run

* test optimizing bubble sort

* try

* try

* finalize setup
2024-12-19 16:36:57 +00:00
Rodrigo Nader
62c13adcfd
feat: add dataframe operations component (#5341)
* add dataframe operations component

* populate entire new column with value

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

* [autofix.ci] apply automated fixes

* Add unit tests for DataFrame operations in `test_dataframe_operations.py`

* **Import modules**
  - Import `pytest` and `pandas` for testing DataFrame operations

* **Define test cases**
  - Define test cases for edge cases like empty DataFrames and invalid column names
  - Include tests for operations like "Head", "Tail", and "Replace Value"
  - Use `pytest.mark.parametrize` to test multiple operations with different inputs
  - Add detailed assertions to verify the correctness of DataFrame operations

* [autofix.ci] apply automated fixes

* Remove test cases for DataFrame operations from `test_dataframe_operations.py`. This deletion includes all unit tests related to various DataFrame operations such as adding, dropping, filtering, and renaming columns, as well as handling edge cases like empty DataFrames and invalid operations. The removal streamlines the test suite by eliminating outdated or redundant tests.

* Add unit tests for DataFrame operations in

- Introduced a new test file  for organizing test components.
- Updated import paths for  to reflect the new module structure.
- Refactored test cases to use  for better readability and maintainability.
- Enhanced assertions in tests for various DataFrame operations, including handling of empty DataFrames and invalid operations.
- Improved code formatting for consistency and clarity.

* Refactor DataFrameOperationsComponent for improved readability and maintainability

- Consolidated import statements for clarity.
- Renamed variable `df` to `dataframe_copy` for better understanding.
- Streamlined the `perform_operation` method by replacing `elif` with `if` statements for clearer logic flow.
- Enhanced error message for unsupported operations to improve debugging.

These changes aim to enhance the code structure and make future modifications easier.

* Update unit tests for DataFrame operations in `test_dataframe_operations.py`

- Modified expected values in parameterized tests for various DataFrame operations, including "Add Column", "Filter", "Sort", "Head", "Tail", and "Replace Value" to reflect new test scenarios.
- Adjusted assertions to ensure they correctly validate the output of operations, particularly for lists of expected values.
- Enhanced error handling in the test for invalid operations to provide clearer feedback on unsupported operation types.

These changes improve the accuracy and robustness of the unit tests for DataFrame operations.

* Refactor DataFrameOperationsComponent methods to return DataFrame instances consistently

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-19 16:14:04 +00:00
Edwin Jose
41f83294a2
fix: code flash pr issues in Calculator and JSONCleaner Components (#5352)
* Update calculator.py

* Update json_cleaner.py

* [autofix.ci] apply automated fixes

* updated init

* updated format

format

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-12-19 15:38:59 +00:00