Struct PluginManifest
pub struct PluginManifest {
pub name: String,
pub version: String,
pub description: Option<String>,
pub author: Option<String>,
pub wasm_path: Option<String>,
pub capabilities: Vec<PluginCapability>,
pub permissions: Vec<PluginPermission>,
pub config_schema: Option<Value>,
pub signature: Option<String>,
pub publisher_key: Option<String>,
pub egress: PluginEgressDeclaration,
}Expand description
A plugin’s declared manifest (loaded from manifest.toml alongside the .wasm).
Fields§
§name: StringPlugin name (unique identifier)
version: StringPlugin version
description: Option<String>Human-readable description
Author name or organization
wasm_path: Option<String>Path to the .wasm file (relative to manifest). Required for tool/channel/memory/observer plugins; optional (and ignored) for skill-only plugins, which carry no WASM payload.
capabilities: Vec<PluginCapability>Capabilities this plugin provides
permissions: Vec<PluginPermission>Permissions this plugin requests
config_schema: Option<Value>Draft 2020-12 JSON Schema for this plugin’s private config object.
Required exactly when config_read is requested.
Direct top-level string properties marked x-secret: true are withheld
from public config and served through the scoped secrets import during
tool execution or channel service calls. Channel calls obtain the
remaining typed public object through the scoped config import.
signature: Option<String>Ed25519 signature over the canonical manifest (base64url-encoded). Set by the plugin publisher when signing the manifest.
publisher_key: Option<String>Hex-encoded Ed25519 public key of the publisher who signed this manifest.
egress: PluginEgressDeclarationDestinations this plugin declares it needs.
This is a signature-covered attestation of intent, never a grant:
nothing here confers network reach. The effective allowlist is the
operator’s plugins.entries[].egress_hosts. Keeping the two apart is
what shuts the self-grant path — an unsigned component that writes its
own [egress] table still reaches nothing.
Trait Implementations§
Source§impl Clone for PluginManifest
impl Clone for PluginManifest
Source§fn clone(&self) -> PluginManifest
fn clone(&self) -> PluginManifest
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more