1.6 KiB
1.6 KiB
Plugin Discovery (FileSystem and Embedded)
Module
Plugin
Status
IMPLEMENTED
Description
Multi-strategy plugin discovery with filesystem scanning, embedded plugins, and composite discovery that combines both approaches.
Implementation Details
- CompositePluginDiscovery:
src/Plugin/StellaOps.Plugin.Host/Discovery/CompositePluginDiscovery.cs-- combines multiple IPluginDiscovery sources; deduplicates by plugin ID (first-wins); supports DiscoverAsync (bulk) and DiscoverSingleAsync (by PluginSource); routes FileSystem/Embedded source types to appropriate discoverer - FileSystemPluginDiscovery:
src/Plugin/StellaOps.Plugin.Host/Discovery/FileSystemPluginDiscovery.cs-- scans filesystem directories for plugin assemblies and manifests - EmbeddedPluginDiscovery:
src/Plugin/StellaOps.Plugin.Host/Discovery/EmbeddedPluginDiscovery.cs-- discovers plugins embedded in host assemblies - IPluginDiscovery:
src/Plugin/StellaOps.Plugin.Host/Discovery/IPluginDiscovery.cs-- interface: DiscoverAsync, DiscoverSingleAsync - PluginManifest:
src/Plugin/StellaOps.Plugin.Abstractions/Manifest/PluginManifest.cs-- manifest model with Info, Dependencies, Capabilities - Source: Feature matrix scan
E2E Test Plan
- Verify filesystem discovery scans configured paths and finds plugin assemblies
- Test embedded discovery locates plugins within host assemblies
- Verify composite discovery deduplicates plugins by ID across sources
- Test single plugin discovery routes to correct discoverer by source type
- Verify error in one discoverer does not block others