Skip to main content

Module plugin_loader

Module plugin_loader 

Source
Expand description

Dynamic WebAssembly plugin loader.

This is the contract surface introduced by KBD change plugin-loader-wit-contract. The execution paths are intentionally todo!() — a follow-up change wires them to super::sandbox.

The WIT world this loader hosts is in wit/uar-plugin.wit. Bindings will be generated via wasmtime::component::bindgen! in a subsequent change once the contract is stable.

Structs§

CapabilityGrant
Capability grant the host promises to a plugin at init time. Mirrors interface types.capability-grant in wit/uar-plugin.wit.
LoadRequest
Loader configuration assembled by callers and passed to PluginLoader::load.
PluginId
Handle returned by a successful load. Opaque to callers; the loader owns the underlying wasmtime::component::Component and instance pool.

Enums§

PluginLoadError
Errors the loader can surface. Mirrors interface types.plugin-error in the WIT contract plus host-side load failures.
PluginSource
Where the plugin’s bytes live. The loader resolves this to a [wasmtime::component::Component] before instantiation.
PluginStrategy
Execution strategy selected per-plugin by configuration.

Traits§

PluginLoader
Loader surface. Implementations are wired in a follow-up change.