Expand description
Host-side SDK for loading and interacting with Drasi cdylib plugins.
This crate provides:
PluginLoader— scan directories and load cdylib plugins- Proxy types that wrap FFI vtables into real DrasiLib traits
(
SourceProxy,ReactionProxy,SourcePluginProxy, etc.) StateStoreVtableBuilder— build aStateStoreVtablefrom a hostStateStoreProvider- Callback types for log/lifecycle event capture
Re-exports§
pub use callbacks::CallbackContext;pub use callbacks::CapturedLifecycle;pub use callbacks::CapturedLog;pub use callbacks::InstanceCallbackContext;pub use identity_bridge::IdentityProviderVtableBuilder;pub use loader::is_plugin_binary;pub use loader::plugin_kind_from_filename;pub use loader::scan_plugin_metadata;pub use loader::LoadedPlugin;pub use loader::PluginLoader;pub use loader::PluginLoaderConfig;pub use loader::PluginMetadataSummary;pub use loader::DEFAULT_PLUGIN_FILE_PATTERNS;pub use loader::PLUGIN_BINARY_EXTENSIONS;pub use proxies::bootstrap_provider::BootstrapPluginProxy;pub use proxies::bootstrap_provider::BootstrapProviderProxy;pub use proxies::reaction::ReactionPluginProxy;pub use proxies::reaction::ReactionProxy;pub use proxies::source::SourcePluginProxy;pub use proxies::source::SourceProxy;pub use state_store_bridge::StateStoreVtableBuilder;pub use plugin_types::PluginCategory;pub use plugin_types::PluginEvent;pub use plugin_types::PluginFileEvent;pub use plugin_types::PluginKindEntry;pub use plugin_types::PluginStatus;pub use lockfile::compute_file_hash;pub use lockfile::FileIntegrityStatus;pub use lockfile::LockedPlugin;pub use lockfile::PluginLockfile;pub use lockfile::PluginSignatureInfo;pub use plugin_registry::PluginKindInfo;pub use plugin_registry::PluginRegistry;pub use plugin_registry::RegisteredDescriptor;pub use lifecycle::LoadedPluginState;pub use lifecycle::PluginLifecycleManager;pub use watcher::PluginWatcher;pub use watcher::PluginWatcherConfig;
Modules§
- callbacks
- Log and lifecycle callback wiring for host-side plugin management.
- identity_
bridge - Bridge from host-side
IdentityProviderto FFIIdentityProviderVtable. - lifecycle
- Plugin lifecycle management — reusable runtime lifecycle for all Drasi hosts.
- loader
- Plugin loader — discovers, validates, and loads cdylib plugins.
- lockfile
- Plugin lockfile management.
- plugin_
registry - Plugin registry for managing dynamically-registered plugin descriptors.
- plugin_
types - Shared plugin management types used by the host-sdk lifecycle layer and consumed by host applications like drasi-server.
- proxies
- Host-side proxy types that wrap FFI vtables into DrasiLib traits.
- state_
store_ bridge - Bridge from host-side
StateStoreProviderto FFIStateStoreVtable. - watcher
- Policy-neutral plugin filesystem watcher.