pub struct ClientCapabilities {
pub elicitation: Option<ClientElicitation>,
pub experimental: Option<HashMap<String, Map<String, Value>>>,
pub roots: Option<ClientRoots>,
pub sampling: Option<ClientSampling>,
pub tasks: Option<ClientTasks>,
}Expand description
Capabilities a client may support. Known capabilities are defined here, in this schema, but this is not a closed set: any client can define its own, additional capabilities.
JSON schema
{
"description": "Capabilities a client may support. Known capabilities are defined here, in this schema, but this is not a closed set: any client can define its own, additional capabilities.",
"type": "object",
"properties": {
"elicitation": {
"description": "Present if the client supports elicitation from the server.",
"type": "object",
"properties": {
"form": {
"type": "object",
"additionalProperties": true
},
"url": {
"type": "object",
"additionalProperties": true
}
}
},
"experimental": {
"description": "Experimental, non-standard capabilities that the client supports.",
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true
}
},
"roots": {
"description": "Present if the client supports listing roots.",
"type": "object",
"properties": {
"listChanged": {
"description": "Whether the client supports notifications for changes to the roots list.",
"type": "boolean"
}
}
},
"sampling": {
"description": "Present if the client supports sampling from an LLM.",
"type": "object",
"properties": {
"context": {
"description": "Whether the client supports context inclusion via includeContext parameter.\nIf not declared, servers SHOULD only use includeContext: \"none\" (or omit it).",
"type": "object",
"additionalProperties": true
},
"tools": {
"description": "Whether the client supports tool use via tools and toolChoice parameters.",
"type": "object",
"additionalProperties": true
}
}
},
"tasks": {
"description": "Present if the client supports task-augmented requests.",
"type": "object",
"properties": {
"cancel": {
"description": "Whether this client supports tasks/cancel.",
"type": "object",
"additionalProperties": true
},
"list": {
"description": "Whether this client supports tasks/list.",
"type": "object",
"additionalProperties": true
},
"requests": {
"description": "Specifies which request types can be augmented with tasks.",
"type": "object",
"properties": {
"elicitation": {
"description": "Task support for elicitation-related requests.",
"type": "object",
"properties": {
"create": {
"description": "Whether the client supports task-augmented elicitation/create requests.",
"type": "object",
"additionalProperties": true
}
}
},
"sampling": {
"description": "Task support for sampling-related requests.",
"type": "object",
"properties": {
"createMessage": {
"description": "Whether the client supports task-augmented sampling/createMessage requests.",
"type": "object",
"additionalProperties": true
}
}
}
}
}
}
}
}
}Fields§
§elicitation: Option<ClientElicitation>§experimental: Option<HashMap<String, Map<String, Value>>>Experimental, non-standard capabilities that the client supports.
roots: Option<ClientRoots>§sampling: Option<ClientSampling>§tasks: Option<ClientTasks>Implementations§
Source§impl ClientCapabilities
impl ClientCapabilities
Sourcepub fn can_list_tasks(&self) -> bool
pub fn can_list_tasks(&self) -> bool
Returns true if the server supports listing tasks.
This is determined by whether the list capability is present.
Sourcepub fn can_cancel_tasks(&self) -> bool
pub fn can_cancel_tasks(&self) -> bool
Returns true if the server supports canceling tasks.
This is determined by whether the cancel capability is present.
Sourcepub fn can_accept_elicitation_task(&self) -> bool
pub fn can_accept_elicitation_task(&self) -> bool
Returns true if the client can request elicitation.
Sourcepub fn can_accept_sampling_task(&self) -> bool
pub fn can_accept_sampling_task(&self) -> bool
Returns true if the client can request message sampling.
pub fn can_handle_request( &self, server_jsonrpc_request: &ServerJsonrpcRequest, ) -> Result<(), RpcError>
pub fn can_accept_notification( &self, notification_method: &str, ) -> Result<(), RpcError>
Trait Implementations§
Source§impl Clone for ClientCapabilities
impl Clone for ClientCapabilities
Source§fn clone(&self) -> ClientCapabilities
fn clone(&self) -> ClientCapabilities
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ClientCapabilities
impl Debug for ClientCapabilities
Source§impl Default for ClientCapabilities
impl Default for ClientCapabilities
Source§fn default() -> ClientCapabilities
fn default() -> ClientCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ClientCapabilities
impl<'de> Deserialize<'de> for ClientCapabilities
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ClientCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ClientCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ClientCapabilities
impl Serialize for ClientCapabilities
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ClientCapabilities
impl RefUnwindSafe for ClientCapabilities
impl Send for ClientCapabilities
impl Sync for ClientCapabilities
impl Unpin for ClientCapabilities
impl UnwindSafe for ClientCapabilities
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
Mutably borrows from an owned value. Read more