pub struct Plugin {
pub name: &'static str,
pub marketplace: &'static str,
pub version: &'static str,
pub agents: &'static [&'static str],
pub instructions: Option<String>,
pub statusline: Option<StatusLineDecl>,
/* private fields */
}Expand description
A resolved plugin descriptor. Built by PluginHost::descriptor from the
derive-emitted metadata; passed to backends.
Fields§
§name: &'static strPlugin name (plugin.json’s name).
marketplace: &'static strMarketplace id in <name>@<marketplace>.
version: &'static strThe plugin version.
agents: &'static [&'static str]The configured backend ids this plugin fans out to.
instructions: Option<String>Host-authored always-loaded guidance (PluginHost::instructions); each
non-CC backend writes it to its native context channel. None writes nothing.
statusline: Option<StatusLineDecl>The status line the host owns (PluginHost::statusline); a backend with
Capabilities::statusline writes it into the harness’s own single
status-line slot. None leaves every harness’s slot alone.
Implementations§
Source§impl Plugin
impl Plugin
Sourcepub fn components(&self, source: &Source) -> Result<PluginComponents>
pub fn components(&self, source: &Source) -> Result<PluginComponents>
The harness-agnostic components IR for this plugin’s tree. Public so an
external AgentBackend can render from the same parsed
IR the in-crate backends use instead of re-parsing the tree by hand.
Source::GitHub has no local tree and errors out (non-CC backends cannot
serve a github-source host).