feat(lfx): add adapter registries by HzaRashid · Pull Request #11990 · langflow-ai/langflow (original) (raw)
HzaRashid changed the title
feat(lfx): add subservice registry enabling multiple coexisting adapters feat(lfx): add sub-service registry for shared service-type plugins
HzaRashid changed the title
feat(lfx): add sub-service registry for shared service-type plugins feat(lfx): add sub-service registry for same service-type plugins
[](/apps/coderabbitai)
HzaRashid changed the title
feat(lfx): add sub-service registry for same service-type plugins feat(lfx): add adapter registries for service-scoped plugin resolution
…ing namespace registries
- Use asyncio.iscoroutine for teardown (matches ServiceManager)
- Two-tier entry point error handling (warning vs debug)
- Add config load logging after adapter discovery
- Remove _get_nested_section wrapper, call shared helper directly
- Remove deployment/registry.py thin wrapper
- Export DeploymentServiceProtocol from services/init
- Extract test stubs into shared adapter_test_helpers module
- Revert incorrect ValueError->TypeError in schema validators
…ention
Align adapter registry with the service manager's @register_service pattern: decorators now write directly to the AdapterRegistry singleton instead of buffering in a module-level staging dict.
- register_adapter calls get_adapter_registry() + register_class() directly, removing _decorator_adapter_registry and _decorator_lock
- get_adapter_registry derives entry_point_group and config_section_path from AdapterType by convention, making them optional parameters
- Remove _discover_from_decorators() since decorators are already registered before discover() runs
- Fix discover_plugins docstring that incorrectly claimed decorators had highest priority (config files do)
- Simplify _reset_registries, deps.py, test helpers, and docs
…apter registry
- Encapsulate AdapterRegistry internal state behind private attrs and read-only properties (adapter_type, entry_point_group, config_section_path, is_discovered, has_cached_instances)
- Re-raise unexpected exceptions in register_adapter decorator instead of silently swallowing them
- Promote entry-point discovery catch-all from debug to warning with traceback
- Wrap register_class in RLock for thread safety
- Add try/except with context logging around factory calls in get_instance
- Improve teardown_instances: preserve keys for error messages, add exc_info
- Evict stale cached instances when register_class changes the class for a key
- Narrow load_toml_config exception to ValueError (parent of TOMLDecodeError)
- Split load_object_from_import_path error handling: expected import failures vs unexpected errors with traceback
- Guard redundant discover() calls in get_deployment_adapter via is_discovered
- Add tests for teardown exception isolation, sync teardown, and no-teardown adapters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})