freemo
|
2688c85769
|
feat(extensibility): implement Custom Sandbox Strategy Registration via SandboxStrategy Protocol
Implement SandboxStrategyProtocol, a 9-method @runtime_checkable Protocol enabling
third-party sandbox strategy registration. Includes:
- SandboxStrategyProtocol with create/read/write/diff/commit/rollback/checkpoint/
restore_checkpoint/cleanup methods
- SandboxRef (frozen dataclass) and DiffView/DiffEntry (Pydantic models)
- SandboxStrategyRegistry with config-driven registration, Protocol validation,
thread safety, and clear/list/has operations
- BuiltInSandboxStrategyAdapter wrapping existing Sandbox implementations to conform
to the new Protocol
- CustomStrategyConfig for YAML/dict-based strategy registration
- SandboxFactory integration with custom_registry parameter,
has_custom_strategy() and get_custom_strategy_class()
- 25 Behave BDD scenarios (85 steps) covering protocol, registry, adapter, config,
and factory integration
- 8 Robot Framework integration tests with real filesystem operations
- ASV benchmarks for registry and adapter operations
- Developer documentation
ISSUES CLOSED: #586
|
2026-03-16 22:50:27 +00:00 |
|
freemo
|
521a552e56
|
feat(extensibility): implement Plugin Architecture Framework with module:ClassName resolution
Implement plugin architecture framework enabling custom implementations
of tools, strategies, sandbox strategies, index backends, and pipeline
components through module:ClassName resolution and entry point discovery.
Key changes:
- Add infrastructure/plugins/ package with PluginLoader, PluginManager, types, exceptions
- Implement dynamic import via module:ClassName with security prefix allowlist
- Add entry point discovery via importlib.metadata
- Add Protocol validation for loaded plugin classes
- Add plugin lifecycle management (discover/activate/deactivate)
- Add config-driven registration (custom_module + custom_class + custom_options)
- Register PluginManager in DI container
- Add comprehensive Behave BDD tests, Robot integration tests, ASV benchmarks
ISSUES CLOSED: #585
|
2026-03-10 14:51:39 +00:00 |
|