pub struct PluginComponents {Show 14 fields
pub plugin: String,
pub marketplace: String,
pub version: Option<String>,
pub installed: bool,
pub enabled: bool,
pub auto: bool,
pub available_version: Option<String>,
pub skills: Vec<String>,
pub agents: Vec<String>,
pub commands: Vec<String>,
pub hooks: Vec<String>,
pub mcp: bool,
pub lsp_servers: BTreeMap<String, String>,
pub load_error: Option<String>,
}Expand description
Per-plugin component inventory read straight off disk (the plugin
cache plus marketplace manifests). Produced by the scan in
forge_agent::userdata::plugins::components; one entry per
registered plugin, per plugin a manifest or the cache names, and one
per marketplace whose manifest failed to load.
Fields§
§plugin: StringFull installed id (name@marketplace).
marketplace: String§version: Option<String>Version of the installed copy, from the plugin registry.
installed: bool§enabled: boolEvery registry entry for the plugin is enabled. False for an uninstalled plugin.
auto: boolThe registry marks the install as an auto-installed dependency.
available_version: Option<String>Latest version the marketplace manifest declares.
skills: Vec<String>§agents: Vec<String>§commands: Vec<String>§hooks: Vec<String>Hook trigger events (SessionStart, …), from hooks.json.
mcp: boolThe plugin ships .mcp.json.
lsp_servers: BTreeMap<String, String>LSP servers the marketplace manifest declares: server key to the binary command it launches.
load_error: Option<String>Why the row could not load: a registered install whose dir is gone, unreadable, or absent from the registry entry, or a marketplace whose manifest failed to load.
Trait Implementations§
Source§impl Clone for PluginComponents
impl Clone for PluginComponents
Source§impl Debug for PluginComponents
impl Debug for PluginComponents
Source§impl Default for PluginComponents
impl Default for PluginComponents
Source§impl<'de> Deserialize<'de> for PluginComponents
impl<'de> Deserialize<'de> for PluginComponents
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for PluginComponents
Source§impl PartialEq for PluginComponents
impl PartialEq for PluginComponents
Source§impl Serialize for PluginComponents
impl Serialize for PluginComponents
impl StructuralPartialEq for PluginComponents
Auto Trait Implementations§
impl Freeze for PluginComponents
impl RefUnwindSafe for PluginComponents
impl Send for PluginComponents
impl Sync for PluginComponents
impl Unpin for PluginComponents
impl UnsafeUnpin for PluginComponents
impl UnwindSafe for PluginComponents
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.