pub trait JsonRpcMessage:
'static
+ Debug
+ Sized
+ Send
+ Clone {
// Required methods
fn matches_method(method: &str) -> bool;
fn method(&self) -> &str;
fn to_untyped_message(&self) -> Result<UntypedMessage, Error>;
fn parse_message(
method: &str,
params: &impl Serialize,
) -> Result<Self, Error>;
}Expand description
Common bounds for any JSON-RPC message.
§Derive Macro
For simple message types, you can use the JsonRpcRequest or JsonRpcNotification derive macros
which will implement both JsonRpcMessage and the respective trait. See JsonRpcRequest and
JsonRpcNotification for examples.
Required Methods§
Sourcefn matches_method(method: &str) -> bool
fn matches_method(method: &str) -> bool
Check if this message type matches the given method name.
Sourcefn to_untyped_message(&self) -> Result<UntypedMessage, Error>
fn to_untyped_message(&self) -> Result<UntypedMessage, Error>
Convert this message into an untyped message.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl JsonRpcMessage for agent_client_protocol::AgentNotification
impl JsonRpcMessage for agent_client_protocol::schema::v2::AgentNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::AgentRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::AgentRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::AuthenticateRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::AuthenticateRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::CancelNotification
impl JsonRpcMessage for agent_client_protocol::schema::v2::CancelNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::ClientNotification
impl JsonRpcMessage for agent_client_protocol::schema::v2::ClientNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::ClientRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::ClientRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::CloseSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::CloseSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::CompleteElicitationNotification
impl JsonRpcMessage for agent_client_protocol::schema::v2::CompleteElicitationNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for ConnectMcpRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::CreateElicitationRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::CreateElicitationRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for CreateTerminalRequest
impl JsonRpcMessage for agent_client_protocol::schema::DeleteSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::DeleteSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for DisconnectMcpRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::ForkSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::ForkSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for InitializeProxyRequest
impl JsonRpcMessage for agent_client_protocol::schema::InitializeRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::InitializeRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for KillTerminalRequest
impl JsonRpcMessage for agent_client_protocol::schema::ListSessionsRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::ListSessionsRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::LoadSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::LoadSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::LogoutRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::LogoutRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for McpConnectRequest
impl JsonRpcMessage for McpDisconnectNotification
impl JsonRpcMessage for MessageMcpNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for MessageMcpRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::NewSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::NewSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::PromptRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::PromptRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for ReadTextFileRequest
impl JsonRpcMessage for ReleaseTerminalRequest
impl JsonRpcMessage for agent_client_protocol::schema::RequestPermissionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::RequestPermissionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::ResumeSessionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::ResumeSessionRequest
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::SessionNotification
impl JsonRpcMessage for agent_client_protocol::schema::v2::SessionNotification
Available on crate feature
unstable_protocol_v2 only.impl JsonRpcMessage for agent_client_protocol::schema::SetSessionConfigOptionRequest
impl JsonRpcMessage for agent_client_protocol::schema::v2::SetSessionConfigOptionRequest
Available on crate feature
unstable_protocol_v2 only.