bc9fa36646
Week 10 - Plugin System (FR-19): - Plugin traits: Plugin, OriginPlugin, MetadataPlugin, FormatPlugin - NativePluginHost with libloading for dynamic loading - WasmPluginHost (feature-gated) with wasmtime runtime - PluginManager coordinating both hosts with version checks - OriginInstance::watch() with WatchHandle, WatchEvent for live updates - FormatPlugin::synthesize_header() for metadata overlay Week 11 - Control API & Production (FR-17, FR-18, NFR-6, NFR-10): - gRPC server with full MusicFS service (status, cache, origins, events) - Proto extended: MountState enum, TierStats, full StatusResponse/CacheStats - WebhookHandler with HMAC-SHA256 signing and exponential retry - Metrics with latency histograms (p50/p95/p99) and origin health gauges - CLI with mount, status, cache, search, origin, events, shutdown commands - E2E player compatibility tests (mpv, VLC, file manager) - systemd service, PKGBUILD, RPM spec for packaging Plans added for Weeks 10-14 covering P1 features. All 154 tests passing.
16 lines
546 B
Rust
16 lines
546 B
Rust
pub mod error;
|
|
pub mod manager;
|
|
pub mod native;
|
|
pub mod traits;
|
|
pub mod wasm;
|
|
|
|
pub use error::{PluginError, Result};
|
|
pub use manager::{PluginConfig, PluginEntry, PluginManager, WasmConfig};
|
|
pub use native::NativePluginHost;
|
|
pub use traits::{
|
|
ExternalMetadata, FormatPlugin, MetadataPlugin, MetadataQuery, MetadataQueryType,
|
|
OriginDirEntry, OriginHealth, OriginInstance, OriginPlugin, OriginStat, Plugin, PluginId,
|
|
PluginInfo, PluginType, WatchEvent, WatchHandle, PLUGIN_API_VERSION,
|
|
};
|
|
pub use wasm::{ResourceLimits, WasmPluginHost};
|