Skip to main content

DirectoryCustomization

Struct DirectoryCustomization 

Source
pub struct DirectoryCustomization {
    pub id: String,
    pub uri: Uri,
    pub name: String,
    pub icons: Option<Vec<Icon>>,
    pub range: Option<TextRange>,
    pub enabled: bool,
    pub client_id: Option<String>,
    pub load: Option<CustomizationLoadState>,
    pub children: Option<Vec<ChildCustomization>>,
    pub contents: CustomizationType,
    pub writable: bool,
}
Expand description

A directory the host watches for this session.

Presence in the customization list signals that the host may discover customizations from this directory. When writable is true, clients MAY persist new customizations into the directory using resourceWrite; the host will then surface the resulting child via the customization actions.

The directory may not yet exist on disk.

Fields§

§id: String

Session-unique opaque identifier. Used by every action that targets a specific customization. Minted by whoever publishes the customization (typically the agent host).

§uri: Uri

Source 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: String

Human-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.

§enabled: bool

Whether 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.

§contents: CustomizationType

Which child customization type this directory holds.

§writable: bool

Whether clients may write into this directory.

Trait Implementations§

Source§

impl Clone for DirectoryCustomization

Source§

fn clone(&self) -> DirectoryCustomization

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DirectoryCustomization

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DirectoryCustomization

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DirectoryCustomization

Source§

fn eq(&self, other: &DirectoryCustomization) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for DirectoryCustomization

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for DirectoryCustomization

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.