pub struct PluginCustomization {
pub id: String,
pub uri: Uri,
pub name: String,
pub icons: Option<Vec<Icon>>,
pub range: Option<TextRange>,
pub meta: Option<JsonObject>,
pub enabled: bool,
pub client_id: Option<String>,
pub load: Option<CustomizationLoadState>,
pub children: Option<Vec<ChildCustomization>>,
pub version: Option<String>,
}Expand description
An Open Plugins plugin.
Fields§
§id: StringSession-unique opaque identifier. Used by every action that targets a specific customization. Minted by whoever publishes the customization (typically the agent host).
uri: UriSource URI for this customization. A plugin URL, a file URI, or a directory URI.
For declarations that live inside a larger file — e.g. an MCP
server declared inline in a plugins.json manifest — uri points
to the containing file and {@link CustomizationBase.range | range}
narrows it to the declaration’s span.
name: StringHuman-readable name.
icons: Option<Vec<Icon>>Icons for UI display.
range: Option<TextRange>Optional span within {@link CustomizationBase.uri | uri} when this
customization is a subset of a larger file (for example, one entry
in an inline mcpServers block of a plugins.json manifest).
Absent when the customization covers the whole resource.
meta: Option<JsonObject>Additional provider-specific metadata for this customization.
Mirrors the MCP _meta convention. Optional and opaque to the
protocol; producers and consumers agree on its contents
out-of-band.
enabled: boolWhether this container is currently enabled.
client_id: Option<String>clientId of the client that contributed this container. Absent for
server-originated entries.
load: Option<CustomizationLoadState>Host-reported load state. Absent means the host has not yet reported a load state for this container.
children: Option<Vec<ChildCustomization>>Children discovered inside this container.
Absent means the host has not parsed this container yet. An empty array means the host parsed the container and it contributes nothing.
version: Option<String>Version of the plugin, sourced from the
Open Plugins manifest’s optional
version field (semver, e.g. "1.2.0"). Absent when the manifest
declares no version — the field is optional there — or the source
has no version concept. Provenance / display only: the host neither
parses nor enforces it.
Trait Implementations§
Source§impl Clone for PluginCustomization
impl Clone for PluginCustomization
Source§fn clone(&self) -> PluginCustomization
fn clone(&self) -> PluginCustomization
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PluginCustomization
impl Debug for PluginCustomization
Source§impl<'de> Deserialize<'de> for PluginCustomization
impl<'de> Deserialize<'de> for PluginCustomization
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>,
Source§impl PartialEq for PluginCustomization
impl PartialEq for PluginCustomization
Source§fn eq(&self, other: &PluginCustomization) -> bool
fn eq(&self, other: &PluginCustomization) -> bool
self and other values to be equal, and is used by ==.