* ✨ (NodeStatus): Add support for utility store in NodeStatus component to manage dismissAll state
🔧 (GenericNode): Import and use utility store in GenericNode component to access dismissAll state
🔧 (use-reset-dismiss-update-all): Create hook to reset dismissAll state in utility store
🔧 (UpdateAllComponents): Import and use utility store in UpdateAllComponents component to access dismissAll state
🔧 (header): Import useResetDismissUpdateAll hook in header component to reset dismissAll state
🔧 (list): Import useResetDismissUpdateAll hook in list component to reset dismissAll state
🔧 (utilityStore): Add dismissAll state and setDismissAll method to utility store
🔧 (utility/index): Add dismissAll state and setDismissAll method to UtilityStoreType
* ✨ (NodeStatus/index.tsx): add dismissAll prop to NodeStatus component to handle dismissing all notifications
✨ (GenericNode/index.tsx): add dismissAll prop to GenericNode component to handle dismissing all notifications
✨ (UpdateAllComponents/index.tsx): add e.stopPropagation() to onClick event handler to prevent event bubbling
🔧 (header/index.tsx): remove unused import useResetDismissUpdateAll from header component
* ✨ (NodeStatus/index.tsx): Add functionality to handle updating a component when it is outdated and not user-edited
🔧 (GenericNode/index.tsx): Update handleUpdateComponent function to handleUpdateCode for consistency
🔧 (appHeaderComponent/index.tsx): Add useResetDismissUpdateAll hook to reset dismiss update all functionality
🔧 (use-reset-dismiss-update-all.ts): Update useResetDismissUpdateAll hook to only reset dismiss update all in flow location path
🔧 (list/index.tsx): Remove useResetDismissUpdateAll hook from ListComponent as it is no longer needed
🔧 (index.css): Remove extra whitespace in CSS file
* 🔧 (GenericNode/index.tsx): improve conditional class logic to include dismissAll variable in className calculation
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.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>
* feat: Implement serialization functions for various data types and add a unified serialize method
* feat: Enhance serialization by adding support for primitive types, enums, and generic types
* fix: Update Pinecone integration to use VectorStore and handle import errors gracefully
* test: Add hypothesis-based tests for serialization functions across various data types
* refactor: Replace custom serialization logic with unified serialize function for consistency and maintainability
* refactor: Replace recursive serialization function with unified serialize method for improved clarity and maintainability
* refactor: Replace custom serialization logic with unified serialize function for improved consistency and clarity
* refactor: Enhance serialization logic by adding instance handling and streamlining type checks
* refactor: Remove custom dictionary serialization from ResultDataResponse for streamlined handling
* refactor: Enhance serialization in ResultDataResponse by adding max_items_length for improved handling of outputs, logs, messages, and artifacts
* refactor: Move MAX_ITEMS_LENGTH and MAX_TEXT_LENGTH constants to serialization module for better organization
* refactor: Simplify message serialization in Log model by utilizing unified serialize function
* refactor: Remove unnecessary pytest marker from TestSerializationHypothesis class
* optimize _serialize_bytes
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* feat: Add support for numpy integer type serialization
* feat: Enhance serialization with support for pandas and numpy types
* test: Add comprehensive serialization tests for numpy and pandas types
* fix: Update _serialize_dispatcher to return string representation for unsupported types
* fix: Update _serialize_dispatcher to return the object directly instead of its string representation
* optmize conditional
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* optimize length check
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* fix: Update string and list truncation to include ellipsis for clarity
* ⚡️ Speed up function `_serialize_dataframe` by 123% in PR #6044 (`refactor-serialization`)
Certainly! Here's a more efficient version of the given program. The primary optimization performed here is removing the redundant `.apply()` call and directly truncating values in a more performant way.
### Changes Made.
1. **Removed redundant `apply` calls**: In the original code, there were nested `apply` calls which can be very slow on larger DataFrames. The new implementation converts the DataFrame to a list of dictionaries first and then truncates the values if needed.
2. **Optimized truncation logic**: Applied truncation directly while iterating over the dictionary after conversion from a DataFrame. This reduces overhead and improves readability.
These changes should enhance the runtime performance of the serialization process, especially for larger DataFrames.
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* feat: Implement serialization functions for various data types and add a unified serialize method
* optmize conditional
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* fix: Update string and list truncation to include ellipsis for clarity
* ⚡️ Speed up function `_serialize_series` by 234% in PR #6044 (`refactor-serialization`)
Certainly! Here is a more optimized version of the program.
Changes made.
1. Replaced the `apply` method with dictionary comprehension. This avoids creating an intermediate Series, which can be an expensive operation.
2. Moved `_truncate_value` outside of the main function to keep the main function concise and focused.
* refactor: Remove unused `_truncate_value` function from serialization module
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* feat: Implement serialization functions for various data types and add a unified serialize method
* feat: Enhance serialization by adding support for primitive types, enums, and generic types
* fix: Update Pinecone integration to use VectorStore and handle import errors gracefully
* test: Add hypothesis-based tests for serialization functions across various data types
* refactor: Replace custom serialization logic with unified serialize function for consistency and maintainability
* refactor: Replace recursive serialization function with unified serialize method for improved clarity and maintainability
* refactor: Replace custom serialization logic with unified serialize function for improved consistency and clarity
* refactor: Enhance serialization logic by adding instance handling and streamlining type checks
* refactor: Remove custom dictionary serialization from ResultDataResponse for streamlined handling
* refactor: Enhance serialization in ResultDataResponse by adding max_items_length for improved handling of outputs, logs, messages, and artifacts
* refactor: Move MAX_ITEMS_LENGTH and MAX_TEXT_LENGTH constants to serialization module for better organization
* refactor: Simplify message serialization in Log model by utilizing unified serialize function
* refactor: Remove unnecessary pytest marker from TestSerializationHypothesis class
* optimize _serialize_bytes
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* feat: Add support for numpy integer type serialization
* feat: Enhance serialization with support for pandas and numpy types
* test: Add comprehensive serialization tests for numpy and pandas types
* fix: Update _serialize_dispatcher to return string representation for unsupported types
* fix: Update _serialize_dispatcher to return the object directly instead of its string representation
* optmize conditional
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* optimize length check
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* fix: Update string and list truncation to include ellipsis for clarity
* fix: Update _serialize_primitive to exclude string type from primitive handling
* feat: Enhance serialization to handle numpy types and introduce unserializable sentinel
* fix: Update test cases for serialization of numpy boolean values for consistency
---------
Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
* 🐛 (component.py): fix logic in _process_raw_result method to correctly extract data from result object based on conditions and return it
* [autofix.ci] apply automated fixes
* ♻️ (component.py): refactor extract_data method to improve readability and maintainability by using more descriptive variable names and simplifying the logic.
* [autofix.ci] apply automated fixes
* 🐛 (component.py): update isinstance check to use union type for better type handling
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* Add tests for run_flow_from_json with fake environment variables
- Implemented test_run_flow_with_fake_env to validate flow execution with a fake .env file.
- Added test_run_flow_with_fake_env_TWEAKS to check flow execution using environment variables loaded from the fake .env file.
* Replace keys in tweaks with their corresponding environment variable values
- Implemented a function to recursively replace keys in the tweaks dictionary with values from the provided environment variables.
* updated to use better way to load test json file
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* refactor: improve test readability and consistency in load tests
- Renamed variable `TWEAKS` to `tweaks_dict` for clarity and consistency across tests.
- Updated test function names to follow a consistent naming convention.
- Enhanced comments for better understanding of test intentions.
- Minor formatting adjustments to improve code readability.
* feat: add aload_flow_from_json and arun_flow_from_json to module exports
* fix: correct file path handling in aload_flow_from_json function
* fix: improve environment variable handling in aload_flow_from_json function
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: Add get_base_args method to Component class
Introduces a new method to retrieve base initialization arguments for components, including user ID, session ID, and tracing service. This method provides a convenient way to access essential context information during component initialization.
* refactor: Update AgentComponent to use get_base_args method
Modify AgentComponent to pass base initialization arguments when creating CurrentDateComponent and MemoryComponent, ensuring consistent context initialization across components.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Add tool_mode field to Output model for tool usage specification
* fix: Specify type for component_toolkit in to_toolkit method
* feat: Add method to determine if output should be skipped in ComponentToolkit
* [autofix.ci] apply automated fixes
* test: Add tool_mode field to Output model in test schema
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: Problem checking clickhouse connection when port is different from default
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
🐛 (component.py): fix the logic to determine the artifact type based on raw data and status
🐛 (artifact.py): fix the default message assignment in post_process_raw function to ensure consistent behavior
* fix: Handle network errors when fetching version notice
Catch and handle potential network connection errors when attempting to build the version notice, preventing potential startup failures due to version check issues
* refactor: Improve version check error handling and add docstring
Enhance version notice function by:
- Adding comprehensive docstring with description, args, returns, and example
- Using contextlib.suppress to handle network errors
- Removing redundant try-except block in print_banner
- Simplifying version check logic
* refactor: Improve telemetry error logging
Change telemetry service error logging from `logger.exception()` to `logger.error()` to reduce verbosity and prevent unnecessary stack trace printing
* refactor: Remove unnecessary logger import in version utility
Remove unused logger import and exception logging in version check function to simplify error handling and reduce unnecessary logging
* feat: Add database connection settings configuration
Introduce a new `db_connection_settings` dictionary to centralize database connection parameters. Mark `pool_size` and `max_overflow` as deprecated, recommending the use of the new configuration dictionary instead.
* refactor: Improve database connection settings handling
Add a method to build connection kwargs that merges deprecated settings with the new db_connection_settings, providing a more flexible and backwards-compatible approach to database connection configuration.
* fix: Resolve SQLAlchemy async engine pool configuration for SQLite
Explicitly set AsyncAdaptedQueuePool for SQLite connections to address potential async engine configuration issues. This ensures proper pool handling when creating database connections, particularly for SQLite databases.
* test: Add mock testing for bundle loading from GitHub URLs
Enhance test coverage for `load_bundles_from_urls()` by introducing a mock fixture to simulate zip file content and mocking HTTP requests. This allows testing the bundle loading mechanism without making actual network calls.
* [autofix.ci] apply automated fixes
* test: Enhance GitHub URL detection test with mocking and improved coverage
Refactor `test_detect_github_url` to use AsyncMock and patch for more robust testing of GitHub URL detection, including verification of API calls and handling of different URL scenarios.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (update_data.py): add 'required' attribute to the 'data' input field to enforce its presence for updating records
* ✨ (NodeStatus/index.tsx): add padding right to the container div to improve spacing and alignment of the icon within the component
* ✨ (NodeStatus/index.tsx): remove unnecessary padding class to improve UI design and layout
* fix: Disable tool model by default in various model components
Update multiple model components to set the `tool_model_enabled` parameter to `False` by default, ensuring a more conservative initial configuration for tool-based models across Anthropic, Google Generative AI, Groq, NVIDIA, and Ollama components.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>