fix: add iter method to noopresult by HzaRashid · Pull Request #11517 · langflow-ai/langflow (original) (raw)
- feat: Pluggable AuthService with abstract base class (#10702) (#11654)
feat(auth): Pluggable AuthService with abstract base class (#10702)
- feat: Introduce service registration decorator and enhance ServiceManager for pluggable service discovery
- Added
register_servicedecorator to allow services to self-register with the ServiceManager. - Enhanced
ServiceManagerto support multiple service discovery mechanisms, including decorator-based registration, config files, and entry points. - Implemented methods for direct service class registration and plugin discovery from various sources, improving flexibility and extensibility of service management.
- feat: Implement VariableService for managing environment variables
- Introduced VariableService class to handle environment variables with in-memory caching.
- Added methods for getting, setting, deleting, and listing variables.
- Included logging for service initialization and variable operations.
- Created an init.py file to expose VariableService in the package namespace.
- feat: Enhance LocalStorageService with Service integration and async teardown
- Updated LocalStorageService to inherit from both StorageService and Service for improved functionality.
- Added a name attribute for service identification.
- Implemented an async teardown method for future extensibility, even though no cleanup is currently needed.
- Refactored the constructor to ensure proper initialization of both parent classes.
- feat: Implement telemetry service with abstract base class and minimal logging functionality
- Added
BaseTelemetryServiceas an abstract base class defining the interface for telemetry services. - Introduced
TelemetryService, a lightweight implementation that logs telemetry events without sending data. - Created
__init__.pyto expose the telemetry service in the package namespace. - Ensured robust async methods for logging various telemetry events and handling exceptions.
- feat: Introduce BaseTracingService and implement minimal TracingService
- Added
BaseTracingServiceas an abstract base class defining the interface for tracing services. - Implemented
TracingService, a lightweight version that logs trace events without external integrations. - Included async methods for starting and ending traces, tracing components, and managing logs and outputs.
- Enhanced documentation for clarity on method usage and parameters.
- feat: Add unit tests for service registration decorators
- Introduced a new test suite for validating the functionality of the @register_service decorator.
- Implemented tests for various service types including LocalStorageService, TelemetryService, and TracingService.
- Verified behavior for service registration with and without overrides, ensuring correct service management.
- Included tests for custom service implementations and preservation of class functionality.
- Enhanced overall test coverage for the service registration mechanism.
- feat: Add comprehensive unit and integration tests for ServiceManager
- Introduced a suite of unit tests covering edge cases for service registration, lifecycle management, and dependency resolution.
- Implemented integration tests to validate service loading from configuration files and environment variables.
- Enhanced test coverage for various service types including LocalStorageService, TelemetryService, and VariableService.
- Verified behavior for service registration with and without overrides, ensuring correct service management.
- Ensured robust handling of error conditions and edge cases in service creation and configuration parsing.
- feat: Add unit and integration tests for minimal service implementations
- Introduced comprehensive unit tests for LocalStorageService, TelemetryService, TracingService, and VariableService.
- Implemented integration tests to validate the interaction between minimal services.
- Ensured robust coverage for file operations, service readiness, and exception handling.
- Enhanced documentation within tests for clarity on functionality and expected behavior.
docs: Add detailed documentation for pluggable services architecture and usage
feat: Add example configuration file for Langflow services
docs: Update PLUGGABLE_SERVICES.md to enhance architecture benefits section
- Revised the documentation to highlight the advantages of the pluggable service system.
- Replaced the migration guide with a detailed overview of features such as automatic discovery, lazy instantiation, dependency injection, and lifecycle management.
- Clarified examples of service registration and improved overall documentation for better understanding.
[autofix.ci] apply automated fixes
test(services): improve variable service teardown test with public API assertions
docs(pluggable-service-layer): add docstrings for service manager and implementations
fix: remove duplicate teardown method from LocalStorageService
During rebase, the teardown method was added in two locations (lines 57 and 220). Removed the duplicate at line 57, keeping the one at the end of the class (line 220) which is the more appropriate location for cleanup methods.
- fix(tests): update service tests for LocalStorageService constructor changes
- Add MockSessionService fixtures to test files that use ServiceManager
- Update LocalStorageService test instantiation to use mock session and settings services
- Fix service count assertions to account for MockSessionService in fixtures
- Remove duplicate class-level clean_manager fixtures in test_edge_cases.py
These changes fix test failures caused by LocalStorageService requiring session_service and settings_service parameters instead of just data_dir.
- fix(services): Harden service lifecycle methods
- Fixed Diamond Inheritance in LocalStorageService
- Added Circular Dependency Detection in _create_service_from_class
- Fixed StorageService.teardown to Have Default Implementation
docs: Update discovery order for pluggable services
fix(lfx): replace aiofile with aiofiles for CI compatibility
- The aiofile library uses native async I/O (libaio) which fails with EAGAIN (SystemError: 11, 'Resource temporarily unavailable') in containerized environments like GitHub Actions runners.
- Switch to aiofiles which uses thread pool executors, providing reliable async file I/O across all environments including containers.
[autofix.ci] apply automated fixes
fix(lfx): prevent race condition in plugin discovery
The discover_plugins() method had a TOCTOU (time-of-check to time-of-use) race condition. Since get() uses a keyed lock (per service name), multiple threads requesting different services could concurrently see _plugins_discovered=False and trigger duplicate plugin discovery.
Wrap discover_plugins() with self._lock to ensure thread-safe access to the _plugins_discovered flag and prevent concurrent discovery execution.
[autofix.ci] apply automated fixes
feat: Introduce service registration decorator and enhance ServiceManager for pluggable service discovery
- Added
register_servicedecorator to allow services to self-register with the ServiceManager. - Enhanced
ServiceManagerto support multiple service discovery mechanisms, including decorator-based registration, config files, and entry points. - Implemented methods for direct service class registration and plugin discovery from various sources, improving flexibility and extensibility of service management.
- feat: Enhance LocalStorageService with Service integration and async teardown
- Updated LocalStorageService to inherit from both StorageService and Service for improved functionality.
- Added a name attribute for service identification.
- Implemented an async teardown method for future extensibility, even though no cleanup is currently needed.
- Refactored the constructor to ensure proper initialization of both parent classes.
docs(pluggable-service-layer): add docstrings for service manager and implementations
feat(auth): implement abstract base class for authentication services and add auth service retrieval function
refactor(auth): move authentication logic from utils to AuthService
Consolidate all authentication methods into the AuthService class to enable pluggable authentication implementations. The utils module now contains thin wrappers that delegate to the registered auth service.
This allows alternative auth implementations (e.g., OIDC) to be registered via the pluggable services system while maintaining backward compatibility with existing code that imports from utils.
Changes:
- Move all auth logic (token creation, user validation, API key security, password hashing, encryption) to AuthService
- Refactor utils.py to delegate to get_auth_service()
- Update function signatures to remove settings_service parameter (now obtained from the service internally)
refactor(auth): update authentication methods and remove settings_service parameter
- Changed function to retrieve current user from access token instead of JWT.
- Updated AuthServiceFactory to specify SettingsService type in create method.
- Removed settings_service dependency from encryption and decryption functions, simplifying the code.
This refactor enhances the clarity and maintainability of the authentication logic.
- test(auth): add unit tests for AuthService and pluggable authentication
- Introduced comprehensive unit tests for AuthService, covering token creation, user validation, and authentication methods.
- Added tests for pluggable authentication, ensuring correct delegation to registered services.
- Enhanced test coverage for user authentication scenarios, including active/inactive user checks and token validation.
These additions improve the reliability and maintainability of the authentication system.
- fix(tests): update test cases to use AuthService and correct user retrieval method
- Replaced the mock for retrieving the current user from JWT to access token in the TestSuperuserCommand.
- Refactored unit tests for MCP encryption to utilize AuthService instead of a mock settings service, enhancing test reliability.
- Updated patch decorators in tests to reflect the new method of obtaining the AuthService, ensuring consistency across test cases.
These changes improve the accuracy and maintainability of the authentication tests.
docs(pluggable-services): add auth_service to ServiceType enum documentation
fix(auth): Add missing type hints and abstract methods to AuthServiceBase (#10710)
[autofix.ci] apply automated fixes
fix(auth): refactor api_key_security method to accept optional database session and improve error handling
feat(auth): enhance AuthServiceBase with detailed design principles and JIT provisioning methods
fix(auth): remove settings_service from encrypt/decrypt_api_key calls
After the pluggable auth refactor, encrypt_api_key and decrypt_api_key no longer take a settings_service argument - they get it internally.
- Update check_key import path in main.py (moved to crud module)
- Remove settings_service argument from calls in:
- api/v1/api_key.py
- api/v1/store.py
- services/variable/service.py
- services/variable/kubernetes.py
- Fix auth service to use session_scope() instead of non-existent get_db_service().with_session()
fix(auth): resolve type errors and duplicate definitions in pluggable auth branch
- Add missing imports in auth/utils.py (Final, HTTPException, status, logger, SettingsService) that prevented application startup
- Remove duplicate NoServiceRegisteredError class in lfx/services/manager.py
- Remove duplicate teardown method in lfx/services/storage/local.py
- Fix invalid settings_service parameter in encrypt_api_key calls in variable/service.py and variable/kubernetes.py
- Add proper type guards for check_key calls to satisfy mypy
- Add null checks for password fields in users.py endpoints
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes (attempt 3/3)
[autofix.ci] apply automated fixes
replace jose with pyjwt
[autofix.ci] apply automated fixes
starter projects
fix BE mcp tests
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
remive legacy usage of session
fix user tests
[autofix.ci] apply automated fixes
fix lfx tests
starter project update
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
fix mypy errors
fix mypy errors on tests
fix tests for decrypt_api_key
resolve conflicts in auth utils
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Add pluggable authentication factory with provider enum
Add SSO feature flags to AuthSettings
Add SSO fields to User model
Add SSO configuration loader with YAML support
Add unit tests for SSO configuration loader
Add SSO configuration database model and CRUD operations
Add CRUD operations for SSO configuration management
Add SSO configuration service supporting both file and database configs
Add example SSO configuration file with W3ID and other providers
Implement OIDC authentication service with discovery and JIT provisioning
Update AuthServiceFactory to instantiate OIDC service when SSO enabled
Improve JWT token validation and API key decryption error handling
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
fix: resolve ruff linting errors in auth services and add sso-config.yaml to gitignore
[autofix.ci] apply automated fixes
fix: use correct function name get_current_user_from_access_token in login endpoint
fix: remove incorrect settings_service parameter from decrypt_api_key call
fix: correct encryption logic to properly detect plaintext vs encrypted values
[autofix.ci] apply automated fixes
fix tests
[autofix.ci] apply automated fixes
fix mypy errors
fix tests
[autofix.ci] apply automated fixes
fix ruff errors
fix tests in service
[autofix.ci] apply automated fixes
fix test security cors
[autofix.ci] apply automated fixes
fix webhook issues
modify component index
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes (attempt 3/3)
fix webhook tests
[autofix.ci] apply automated fixes
build component index
remove SSO functionality
[autofix.ci] apply automated fixes
fix variable creation
[autofix.ci] apply automated fixes
refactor: move MCPServerConfig schema to a separate file and update model_dump usage
refactor: streamline AuthServiceFactory to use service_class for instance creation
handle access token type
[autofix.ci] apply automated fixes
remove SSO fields from user model
[autofix.ci] apply automated fixes
replace is_encrypted back
fix mypy errors
remove sso config example
feat: Refactor framework agnostic auth service (#11565)
modify auth service layer
[autofix.ci] apply automated fixes
fix ruff errorrs
[autofix.ci] apply automated fixes
Update src/backend/base/langflow/services/deps.py
address review comments
[autofix.ci] apply automated fixes
fix ruff errors
remove cache
move base to lfx
[autofix.ci] apply automated fixes
resolve review comments
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
add auth protocol
[autofix.ci] apply automated fixes
revert models.py execption handling
revert wrappers to ensure backwards compatibility
fix http error code
fix FE tests
fix test_variables.py
[autofix.ci] apply automated fixes
fix ruff errors
fix tests
add wrappers for create token methods
fix ruff errors
[autofix.ci] apply automated fixes
update error message
modify status code for inactive user
fix ruff errors
fix patch for webhook tests
fix error message when getting active users
Co-authored-by: Gabriel Luiz Freitas Almeida gabriel@logspace.ai Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Pawlowski mike.pawlowski@datastax.com Co-authored-by: Mike Pawlowski mpawlow@ca.ibm.com Co-authored-by: Copilot 198982749+Copilot@users.noreply.github.com Co-authored-by: ogabrielluiz 24829397+ogabrielluiz@users.noreply.github.com Co-authored-by: Deon Sanchez 69873175+deon-sanchez@users.noreply.github.com Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com>
fix: adjusted textarea and playground paddings and design (#11635)
revert textarea to old classes
fixed text-area-wrapper to handle initial height when value is calculated
fixed playground padding
fixed no input text size
[autofix.ci] apply automated fixes
fixed flaky test
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
feat: create guardrails component (#11451) (#11671)
Create guardrails.py
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Update guardrails.py
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
tests: add unit tests for GuardrailsComponent functionality
[autofix.ci] apply automated fixes
fix: resolve linting errors in GuardrailsComponent and tests
- Fix line length issues (E501) by breaking long strings
- Fix docstring formatting (D205, D415) in _check_guardrail
- Use ternary operator for response content extraction (SIM108)
- Replace magic value with named constant (PLR2004)
- Move return to else block per try/except best practices (TRY300)
- Catch specific exceptions instead of blind Exception (BLE001)
- Use list comprehension for checks_to_run (PERF401)
- Mark unused variables with underscore prefix (RUF059, F841)
- Add noqa comment for intentionally unused mock argument (ARG002)
[autofix.ci] apply automated fixes
refactor: address pr comments
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes
feat: enhance heuristic detection with configurable threshold and scoring system
refactor: simplify heuristic test assertions by removing unused variable
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
feat: enhance guardrail validation logic and input handling
refactor: streamline import statements and clean up whitespace in guardrails component
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Fix: update empty input handling tests to raise ValueError and refactor related assertions
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
feat: add Guardrails component with unit tests
Add LLM-based guardrails component for detecting PII, tokens/passwords, jailbreak attempts, and custom guardrail rules, along with comprehensive unit tests.
[autofix.ci] apply automated fixes
fix: try removing logs
[autofix.ci] apply automated fixes
Co-authored-by: Lucas Democh ldgoularte@gmail.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: added remove file from file input (#11667)
Implemented dismiss file functionality on input file component
fixed hover behavior
added test for removing file from input
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: make connected inputs not hideable (#11672)
fixed react flow utils to clean advanced edges
Make connected handles not be able to be hidden
Added test for hiding connected handles
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- fix: make tooltip not appear when closing SessionMore (#11703)
fix tooltip showing up when closing select
fix(frontend): prevent multiple session menus from stacking in fullscreen mode
[autofix.ci] apply automated fixes
fix(frontend): prevent crash when renaming empty sessions (#11712)
fix(frontend): prevent crash when renaming empty sessions
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- fix(ci): handle PEP 440 normalized versions in pre-release tag script (#11722)
The regex in langflow_pre_release_tag.py expected a dot before rc
(e.g. 1.8.0.rc0), but PyPI returns PEP 440-normalized versions
without the dot (e.g. 1.8.0rc0). This caused the script to recompute
the same version instead of incrementing, and uv publish silently
skipped the duplicate upload.
Update the regex to accept both formats with \.?rc.
fix: align chat history with input field in fullscreen playground (#11725)
fix: align chat history with input field in fullscreen playground
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: Enforce Webhook singleton rule on paste and duplicate (#11692)
fix singleton webhook on flow
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix(frontend): generate unique variable names in Prompt Template Add Variable button (#11723)
fix: generate unique variable names in Prompt Template Add Variable button
Previously, clicking the Add Variable button always inserted {variable_name}, causing duplicate text without creating new input fields. Now the button generates incremental names (variable_name, variable_name_1, variable_name_2) by checking existing variables in the template.
- refactor: extract generateUniqueVariableName and import in tests
Extract the variable name generation logic into an exported function so tests can import and validate the actual production code instead of testing a duplicated copy of the logic.
- FIX: Broken Connection Edge Rendering in YouTube Analysis Template (#11709)
add edge between components
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
fix: synchronize prompt state, add new mustache prompt component (#11702)
Update state when exiting modal on accordion prompt component
Added isDoubleBrackets and show correct modal and use correct brackets when mustache is enabled
[autofix.ci] apply automated fixes
added test to see if state is synchronized and mustache is enabled
[autofix.ci] apply automated fixes
updated mustache id and removed extra prompt call
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com
fix(frontend): add Safari-specific padding for playground chat messages (#11720)
fix(frontend): add Safari-specific padding for playground chat messages
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: correctly pass headers in mcp stdio connections (#11746)
fix: parse dicts from tweaks (#11753)
Correctly parse dicts from tweaks
Add test
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- fix: sessions overflow issue (#11739)
fix: sessions overflow issue
feat: playground UI fixes, inspector improvements & canvas reorganization (#11751)
merge fix
code improvements
[autofix.ci] apply automated fixes
add stop button and fix scroll on message
[autofix.ci] apply automated fixes
add new message content for sharable pg
fix tests until shard 43
[autofix.ci] apply automated fixes
fix(frontend): clean up MemoizedSidebarTrigger imports and transition classes
Sort imports, add type modifier to AllNodeType import, and split long transition class string for readability.
fix tests
[autofix.ci] apply automated fixes
fix mr test
fix jest tests
fix sidebar jest tes
[autofix.ci] apply automated fixes
fix sharable playground
[autofix.ci] apply automated fixes
remove rename from sharable pg
[autofix.ci] apply automated fixes
add new message content for sharable pg
fix: synchronize prompt state, add new mustache prompt component (#11702)
Update state when exiting modal on accordion prompt component
Added isDoubleBrackets and show correct modal and use correct brackets when mustache is enabled
[autofix.ci] apply automated fixes
added test to see if state is synchronized and mustache is enabled
[autofix.ci] apply automated fixes
updated mustache id and removed extra prompt call
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com
fix(frontend): add Safari-specific padding for playground chat messages (#11720)
fix(frontend): add Safari-specific padding for playground chat messages
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: correctly pass headers in mcp stdio connections (#11746)
fix sharable playground
[autofix.ci] apply automated fixes
remove rename from sharable pg
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
fix sharable playground
fix mcp server to use shell lexer
[autofix.ci] apply automated fixes
fix tests
fix outaded component tests
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Viktor Avelino viktor.avelino@gmail.com Co-authored-by: Lucas Oliveira 62335616+lucaseduoli@users.noreply.github.com Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: keval shah kevalvirat@gmail.com Co-authored-by: Jordan Frazier 122494242+jordanrfrazier@users.noreply.github.com
fix: correct field_order in all starter project JSON templates (#11727)
fix: correct field_order in all starter project JSON templates
The field_order arrays in starter project nodes were out of sync with the actual input definitions in the Python component source files, causing parameters to display in the wrong order in the UI.
Fixed 136 nodes across 32 starter project files including Chat Input, Chat Output, Language Model, Agent, Prompt Template, Text Input, Tavily AI Search, Read File, Embedding Model, and others.
- test: add field_order validation test for starter projects
Verifies that field_order arrays in starter project JSONs match the actual component input order by importing each component and comparing the relative ordering of fields.
fix mcp server to use shell lexer
[autofix.ci] apply automated fixes
fix: enforce full field_order in starter projects and add node overlap test
Update all starter project JSONs to include the complete component field_order instead of a subset, preventing layout inconsistency between template and sidebar. Strengthen the field_order test to require an exact match and add a new test that verifies no two generic nodes overlap on the canvas.
Co-authored-by: cristhianzl cristhian.lousa@gmail.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: dict tweak parsing (#11756)
Fix dict handling of different formats
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes (attempt 3/3)
cmp index
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- Fix: The Prompt component has responsiveness issues (#11713)
improve styling of templete input
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
clear session on delete chat
fix(api): prevent users from deactivating their own account (#11736)
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com
Fix: UI Overlay: Chat Input Component Overlapping README Note (#11710)
move chat input arround for travel json starter template
improve the layout of the component
fix layout
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
fix: Google Generative AI model catalog update (#11735)
fix: Filter out MCP and models_and_agents categories and MCPTools component from sidebar (#11513)
fix: hide MCP tool from model & agent
fix: removing mcp searching
fix testcases
fix testcases
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@mac.war.can.ibm.com
fix: Fix flaky Market Research test timeout on CI (#11665)
add wait for statement to prevent race condition
fix flaky global variable
add input selection
[autofix.ci] apply automated fixes
add disable inspect panel util
[autofix.ci] apply automated fixes
fix vector store test
[autofix.ci] apply automated fixes
use disable inspect pannel utils
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- ci: make docs deployment manual-only (#11602)
feat: update GitHub Actions workflow to allow manual branch selection for docs deployment
fix: handle missing capabilities in Ollama API response (#11603)
fix: handle missing capabilities in Ollama API response
Older Ollama versions don't return the capabilities field from
/api/show. The previous code defaulted to an empty list and required
"completion" capability, filtering out all models.
Now we treat missing capabilities as backwards-compatible: assume the model supports completion unless tool_model_enabled is True (where we can't verify tool support without the capabilities field).
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
[autofix.ci] apply automated fixes
test: add test cases for Ollama backwards compatibility fix
Add tests for get_models handling of missing capabilities field:
- test_get_models_missing_capabilities_without_tool_model
- test_get_models_missing_capabilities_with_tool_model
- test_get_models_mixed_capabilities_response
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
[autofix.ci] apply automated fixes
fix: wrap long docstring line to satisfy ruff E501
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
docs: draft hide internal endpoints in spec (#11469)
test-hide-internal-endpoints
hide-more-endpoints
display-mcp-endpoints
display-mcp-projects
add-back-health-check
Co-authored-by: Hamza Rashid 74062092+HzaRashid@users.noreply.github.com
feat: update opensearch component with raw search component (#11491)
Update opensearch_multimodal.py
[autofix.ci] apply automated fixes
Update opensearch_multimodal.py
Skip existing knn_vector mapping & handle errors
Before adding a knn_vector field mapping, check the index properties and skip updating if the field already exists (and warn if dimensions differ). Attempt to add the mapping only when missing, and catch failures from the OpenSearch k-NN plugin (e.g. NullPointerException); in that known case log a warning and skip the mapping update instead of failing hard. After adding, verify the field is mapped as knn_vector and raise an error if it is not. Also adjusts logging messages to be clearer.
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix(test): Skip Tavily API key fill when global variable is loaded (#11733)
update Google models
[autofix.ci] apply automated fixes
update tests
mark deprecated
build component index
[autofix.ci] apply automated fixes
Co-authored-by: olayinkaadelakun olayinka.adelakun@ibm.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@mac.war.can.ibm.com Co-authored-by: Cristhian Zanforlin Lousa cristhian.lousa@gmail.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Gabriel Luiz Freitas Almeida gabriel@logspace.ai Co-authored-by: Ram Gopal Srikar Katakam 44802869+RamGopalSrikar@users.noreply.github.com Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: Mendon Kissling 59585235+mendonk@users.noreply.github.com Co-authored-by: Hamza Rashid 74062092+HzaRashid@users.noreply.github.com Co-authored-by: Edwin Jose edwin.jose@datastax.com
fix: mock clearSessionMessages (#11776)
fix: mock clearSessionMessages to prevent flowStore.getState error in test
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- [autofix.ci] apply automated fixes
Co-authored-by: Viktor Avelino viktor.avelino@gmail.com Co-authored-by: Claude Opus 4.6 noreply@anthropic.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
update build config
[autofix.ci] apply automated fixes
fix ruff errors
[autofix.ci] apply automated fixes
address review comments
feat: create guardrails component (#11451)
Create guardrails.py
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Update guardrails.py
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
tests: add unit tests for GuardrailsComponent functionality
[autofix.ci] apply automated fixes
fix: resolve linting errors in GuardrailsComponent and tests
- Fix line length issues (E501) by breaking long strings
- Fix docstring formatting (D205, D415) in _check_guardrail
- Use ternary operator for response content extraction (SIM108)
- Replace magic value with named constant (PLR2004)
- Move return to else block per try/except best practices (TRY300)
- Catch specific exceptions instead of blind Exception (BLE001)
- Use list comprehension for checks_to_run (PERF401)
- Mark unused variables with underscore prefix (RUF059, F841)
- Add noqa comment for intentionally unused mock argument (ARG002)
[autofix.ci] apply automated fixes
refactor: address pr comments
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes
feat: enhance heuristic detection with configurable threshold and scoring system
refactor: simplify heuristic test assertions by removing unused variable
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
feat: enhance guardrail validation logic and input handling
refactor: streamline import statements and clean up whitespace in guardrails component
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Fix: update empty input handling tests to raise ValueError and refactor related assertions
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
feat: add Guardrails component with unit tests
Add LLM-based guardrails component for detecting PII, tokens/passwords, jailbreak attempts, and custom guardrail rules, along with comprehensive unit tests.
[autofix.ci] apply automated fixes
fix: try removing logs
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Viktor Avelino viktor.avelino@gmail.com Co-authored-by: Viktor Avelino 64113566+viktoravelino@users.noreply.github.com
fix: Filter out MCP and models_and_agents categories and MCPTools component from sidebar (#11513)
fix: hide MCP tool from model & agent
fix: removing mcp searching
fix testcases
fix testcases
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@mac.war.can.ibm.com
fix: Fix flaky Market Research test timeout on CI (#11665)
add wait for statement to prevent race condition
fix flaky global variable
add input selection
[autofix.ci] apply automated fixes
add disable inspect panel util
[autofix.ci] apply automated fixes
fix vector store test
[autofix.ci] apply automated fixes
use disable inspect pannel utils
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
- ci: make docs deployment manual-only (#11602)
feat: update GitHub Actions workflow to allow manual branch selection for docs deployment
fix: handle missing capabilities in Ollama API response (#11603)
fix: handle missing capabilities in Ollama API response
Older Ollama versions don't return the capabilities field from
/api/show. The previous code defaulted to an empty list and required
"completion" capability, filtering out all models.
Now we treat missing capabilities as backwards-compatible: assume the model supports completion unless tool_model_enabled is True (where we can't verify tool support without the capabilities field).
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
[autofix.ci] apply automated fixes
test: add test cases for Ollama backwards compatibility fix
Add tests for get_models handling of missing capabilities field:
- test_get_models_missing_capabilities_without_tool_model
- test_get_models_missing_capabilities_with_tool_model
- test_get_models_mixed_capabilities_response
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
[autofix.ci] apply automated fixes
fix: wrap long docstring line to satisfy ruff E501
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
docs: draft hide internal endpoints in spec (#11469)
test-hide-internal-endpoints
hide-more-endpoints
display-mcp-endpoints
display-mcp-projects
add-back-health-check
Co-authored-by: Hamza Rashid 74062092+HzaRashid@users.noreply.github.com
feat: update opensearch component with raw search component (#11491)
Update opensearch_multimodal.py
[autofix.ci] apply automated fixes
Update opensearch_multimodal.py
Skip existing knn_vector mapping & handle errors
Before adding a knn_vector field mapping, check the index properties and skip updating if the field already exists (and warn if dimensions differ). Attempt to add the mapping only when missing, and catch failures from the OpenSearch k-NN plugin (e.g. NullPointerException); in that known case log a warning and skip the mapping update instead of failing hard. After adding, verify the field is mapped as knn_vector and raise an error if it is not. Also adjusts logging messages to be clearer.
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix(test): Skip Tavily API key fill when global variable is loaded (#11733)
feat: add smart column ordering and clean output toggle to Split Text component (#11626)
feat: add smart column ordering and clean output toggle to Split Text component
Add smart_column_order() method to DataFrame that prioritizes content columns (text, content, output, etc.) and de-prioritizes system metadata columns (timestamp, sender, session_id, etc.). Add Clean Output boolean input to Split Text component that strips metadata columns by default.
fix: update code_hash for Knowledge Ingestion and Vector Store RAG components
test: update split text tests for clean_output toggle
[autofix.ci] apply automated fixes
fix: change default value of clean_output toggle to False in Split Text component
[autofix.ci] apply automated fixes (attempt 2/3)
fix: update code_hash for Knowledge Ingestion and Vector Store RAG components
fix: add clean_output option to Knowledge Ingestion and Vector Store RAG components
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
[autofix.ci] apply automated fixes (attempt 3/3)
[autofix.ci] apply automated fixes
fix: Add missing get_current_active_user_mcp to lfx AuthService
The base class declares get_current_active_user_mcp as abstract but the default lfx AuthService did not implement it, causing instantiation to fail in tests.
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix: add iter method to noopresult (#11517)
fix: Misleading Empty State when no Folders (#11728)
fix: Misleading Empty State when no Folders
now once all folders are deleted we show the default create first flow state
[autofix.ci] apply automated fixes
fix(api): prevent users from deactivating their own account (#11736)
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com
Fix: UI Overlay: Chat Input Component Overlapping README Note (#11710)
move chat input arround for travel json starter template
improve the layout of the component
fix layout
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Ram Gopal Srikar Katakam 44802869+RamGopalSrikar@users.noreply.github.com Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: olayinkaadelakun olayinka.adelakun@ibm.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
chore: align Market Research spec with release-v1.8.0
fix: Resolve Windows PostgreSQL event loop incompatibility (#11767)
fix windows integrations with postgres
add documentation
cross platform validation
[autofix.ci] apply automated fixes
ruff style and checker
fix import ruff
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
[autofix.ci] apply automated fixes
fix: Legacy "Store" Reference in Flows Empty State (#11721)
fix: Legacy "Store" Reference in Flows Empty State
on delete propigate changes to useFlowsManagerStore to cause re-render in HomePage
- test: fix shard 45 flaky mcp test
Hopefully fix [WebServer] bash: line 1: exec: uvx mcp-server-fetch: not found
[autofix.ci] apply automated fixes
fix(api): prevent users from deactivating their own account (#11736)
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com
Fix: UI Overlay: Chat Input Component Overlapping README Note (#11710)
move chat input arround for travel json starter template
improve the layout of the component
fix layout
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Ram Gopal Srikar Katakam 44802869+RamGopalSrikar@users.noreply.github.com Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: olayinkaadelakun olayinka.adelakun@ibm.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes (attempt 2/3)
Fix: UI Bug: "Lock Flow" Toggle in Export Modal is Non-Functional (#11724)
fix locked component during export
added locked flag to flow doc
new testcases
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
fix tests
[autofix.ci] apply automated fixes
fix: dropdown delete icon hover visibility (#11774)
fix hidden delete button
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
fix: resolve Safari scroll jitter in playground chat views (#11769)
fix: resolve Safari scroll jitter in playground chat views
Switch StickToBottom resize mode to instant and add a Safari-specific scroll fix that prevents unnatural jumps while preserving stick-to-bottom behavior.
[autofix.ci] apply automated fixes
fix: add useStickToBottomContext mock to shareable playground tests
refactor: improve SafariScrollFix reliability and maintainability
- Split into guard/inner components to avoid hooks on non-Safari browsers
- Extract magic numbers into named constants with documentation
- Convert touchStartY closure variable to useRef for proper session scoping
- Remove stopScrollRef indirection, use stopScroll directly in effect deps
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix: mock clearSessionMessages to prevent flowStore.getState error in test
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 noreply@anthropic.com
- fix: Obsolete "Component Share" shortcut listed in Shortcuts menu (#11775)
remove component share from doc
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
fix(frontend): add UI feedback for self-deactivation prevention (#11772)
fix(frontend): add UI feedback for self-deactivation prevention
Disable the Active checkbox with a tooltip when users try to deactivate their own account. This provides clear UI feedback instead of relying solely on the backend 403 error. Protection is added in both the Admin page table view and the user edit modal.
[autofix.ci] apply automated fixes
fix: mock clearSessionMessages to prevent flowStore.getState error in test
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Viktor Avelino viktor.avelino@gmail.com
fix(frontend): preserve sticky note dimensions when importing via canvas drop (#11770)
fix(frontend): preserve sticky note dimensions when importing via canvas drop
When dragging a JSON file onto the canvas, the paste function now preserves width and height properties from the original nodes, ensuring sticky notes retain their custom dimensions.
[autofix.ci] apply automated fixes
fix: mock clearSessionMessages to prevent flowStore.getState error in test
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Viktor Avelino viktor.avelino@gmail.com
rollback playground, inspection panel and shareable playground
build_component_index
fix starter templates
fix: Close button auto-focus creates visual distraction in SaveChanges and FlowLogs modal (#11763)
fix autofocus on close button
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local
fix: Outdated Instructional Notes and Provider-Specific Branding (#11680)
fix: improved note guide for language models nots and Need search
missing starter projects added
ensured main flows fit are of standard
[autofix.ci] apply automated fixes
Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
[autofix.ci] apply automated fixes
fix(frontend): synchronize Prompt Template input fields on bracket mode toggle (#11777)
fix(frontend): synchronize Prompt Template input fields on bracket mode toggle
[autofix.ci] apply automated fixes
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
[autofix.ci] apply automated fixes
build component index
chore: align component_index.json with main
[autofix.ci] apply automated fixes
[autofix.ci] apply automated fixes
fix: reduce Node.js heap size to 4GB in Docker builds to prevent OOM
The Vite frontend build was configured with --max-old-space-size=12288 (12GB), which exceeds available RAM on ARM64 CI runners, causing the build process to be OOM-killed during the transform phase.
Reduced to 4GB (4096MB) which is sufficient for the Vite build and prevents OOM kills in memory-constrained Docker BuildKit environments.
- fix: avoid redundant recursive chown on /app in backend Dockerfile
The recursive chown -R on /app was re-owning the entire .venv (~2.6GB, 40k+ files) which was already correctly owned via COPY --chown=1000:0. This was causing the build to be killed on ARM64 runners.
Changed to non-recursive chown on /app since only the directory itself needs ownership set. /app/data still gets recursive chown (it's empty).
- fix: add Docker cleanup between image builds to prevent disk full
The 40GB ARM64 runner runs out of disk when building 3 Docker images sequentially. Each image (main ~8GB layers, backend ~5GB, frontend) accumulates build cache and layers that exhaust the disk.
Added cleanup steps between builds that:
- Remove the tested image (no longer needed)
- Prune all unused Docker data and buildx cache
- Log disk usage before/after for debugging
Co-authored-by: Gabriel Luiz Freitas Almeida gabriel@logspace.ai Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Pawlowski mike.pawlowski@datastax.com Co-authored-by: Mike Pawlowski mpawlow@ca.ibm.com Co-authored-by: Copilot 198982749+Copilot@users.noreply.github.com Co-authored-by: ogabrielluiz 24829397+ogabrielluiz@users.noreply.github.com Co-authored-by: Deon Sanchez 69873175+deon-sanchez@users.noreply.github.com Co-authored-by: codeflash-ai[bot] <148906541+codeflash-ai[bot]@users.noreply.github.com> Co-authored-by: Lucas Oliveira 62335616+lucaseduoli@users.noreply.github.com Co-authored-by: Viktor Avelino 64113566+viktoravelino@users.noreply.github.com Co-authored-by: Lucas Democh ldgoularte@gmail.com Co-authored-by: Keval718 kevalvirat@gmail.com Co-authored-by: vjgit96 vijay.katuri@ibm.com Co-authored-by: Cristhian Zanforlin Lousa cristhian.lousa@gmail.com Co-authored-by: Ram Gopal Srikar Katakam 44802869+RamGopalSrikar@users.noreply.github.com Co-authored-by: olayinkaadelakun olayinka.adelakun@ibm.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@Olayinkas-MacBook-Pro.local Co-authored-by: Carlos Coelho 80289056+carlosrcoelho@users.noreply.github.com Co-authored-by: Jordan Frazier 122494242+jordanrfrazier@users.noreply.github.com Co-authored-by: Viktor Avelino viktor.avelino@gmail.com Co-authored-by: Claude Opus 4.5 noreply@anthropic.com Co-authored-by: Olayinka Adelakun olayinkaadelakun@mac.war.can.ibm.com Co-authored-by: Mendon Kissling 59585235+mendonk@users.noreply.github.com Co-authored-by: Hamza Rashid 74062092+HzaRashid@users.noreply.github.com Co-authored-by: Edwin Jose edwin.jose@datastax.com Co-authored-by: Adam-Aghili 149833988+Adam-Aghili@users.noreply.github.com