Skip to content
Unverified: This page has not yet been anchored to automated code tests.

vox-plugin-api API Reference (generated)

Crate: vox-plugin-api · Version: 0.6.0 · Target: Library (lib.rs)

Shared API surface for Vox plugins: ABI version, traits, manifest types, error types.

Shared API surface for Vox plugins. Both host and code-payload plugin crates depend on this crate.

See: docs/src/architecture/plugin-system-redesign-2026.md

DependencyKind
vox-plugin-typesNormal
ModuleDescription
abi—
errors—
extensions—
host—
manifest—
skill—
FunctionDescription
abi_compatibleTrue when a plugin advertising plugin_abi is loadable by this host — i.e. it falls in the supported [VOX_PLUGIN_ABI_MIN_SUPPORTED, VOX_PLUGIN_ABI_VERSION] range.
ConstantDescription
VOX_PLUGIN_ABI_VERSIONThe newest plugin ABI this host speaks. A plugin built against this exact version always loads. Bumped on any ABI change (additive or breaking).
VOX_PLUGIN_ABI_MIN_SUPPORTEDThe oldest plugin ABI this host still accepts. A plugin whose embedded ABI is within VOX_PLUGIN_ABI_MIN_SUPPORTED ..= VOX_PLUGIN_ABI_VERSION loads without a rebuild — so a Vox release that doesn’t touch the extension traits never forces every plugin to be recompiled. ## Bump policy - Additive ABI change (a new extension point, or a new optional trait method guarded by an extension *_REVISION bump): raise [VOX_PLUGIN_ABI_VERSION] only and leave this constant — old plugin binaries keep loading. - Breaking ABI change (a changed/removed trait-method signature or struct layout): raise both this constant and [VOX_PLUGIN_ABI_VERSION] — older plugins are then rejected at load with a clear message. Breaking bumps should be rare and batched.