Expand description
§fusabi-plugin-runtime
Plugin loader, hot-reload, and runtime for Fusabi plugins (fsx & fzb) with manifest validation and capability enforcement.
This crate provides:
- Plugin Loading - Load plugins from source (.fsx) or bytecode (.fzb)
- Manifest Validation - Validate plugin manifests and enforce requirements
- Capability Enforcement - Ensure plugins only use declared capabilities
- Hot Reload - Automatically reload plugins when files change
- Lifecycle Management - Initialize, run, and cleanup plugins
- Metrics Hooks - Track plugin performance and usage
§Quick Start
ⓘ
use fusabi_plugin_runtime::{PluginLoader, LoaderConfig, PluginRegistry};
// Create a loader
let loader = PluginLoader::new(LoaderConfig::default())?;
// Load a plugin from manifest
let plugin = loader.load_from_manifest("plugin.toml")?;
// Call plugin functions
let result = plugin.call("main", &[])?;§Feature Flags
serde(default): Enable manifest parsing and serializationwatch: Enable filesystem watching for hot reloadmetrics-prometheus: Prometheus metrics integration
Structs§
- ApiVersion
- API version specification.
- Capabilities
- A set of capabilities granted to a script.
- Dependency
- Plugin dependency specification.
- Lifecycle
Hooks - Hooks for lifecycle events.
- Limits
- Resource limits for script execution.
- Loader
Config - Configuration for the plugin loader.
- Manifest
- Plugin manifest defining metadata and requirements.
- Manifest
Builder - Builder for creating manifests.
- Plugin
- A loaded Fusabi plugin.
- Plugin
Handle - Handle to a loaded plugin for safe concurrent access.
- Plugin
Info - Information about a loaded plugin.
- Plugin
Loader - Plugin loader for loading plugins from manifests and source files.
- Plugin
Registry - Plugin registry for managing loaded plugins.
- Plugin
Runtime - Plugin runtime for managing plugins.
- Registry
Config - Configuration for the plugin registry.
- Runtime
Config - Configuration for the plugin runtime.
Enums§
- Capability
- Individual capability that can be granted to scripts.
- Error
- Errors that can occur during plugin operations.
- Host
Error - Errors that can occur during Fusabi host operations.
- Lifecycle
State - Plugin lifecycle state.
- Value
- A Fusabi runtime value.
Constants§
- VERSION
- Crate version for compatibility checks.
Traits§
- Plugin
Lifecycle - Trait for plugin lifecycle management.
Type Aliases§
- Result
- Result type alias using [
Error].