Skip to main content

JsonRpcResponse

Trait JsonRpcResponse 

Source
pub trait JsonRpcResponse:
    'static
    + Debug
    + Sized
    + Send
    + Clone {
    // Required methods
    fn into_json(self, method: &str) -> Result<Value, Error>;
    fn from_value(method: &str, value: Value) -> Result<Self, Error>;
}
Expand description

Defines the “payload” of a successful response to a JSON-RPC request.

§Derive Macro

Use #[derive(JsonRpcResponse)] to automatically implement this trait:

use agent_client_protocol::JsonRpcResponse;
use serde::{Serialize, Deserialize};

#[derive(Debug, Serialize, Deserialize, JsonRpcResponse)]
#[response(method = "_hello")]
struct HelloResponse {
    greeting: String,
}

Required Methods§

Source

fn into_json(self, method: &str) -> Result<Value, Error>

Convert this message into a JSON value.

Source

fn from_value(method: &str, value: Value) -> Result<Self, Error>

Parse a JSON value into the response type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl JsonRpcResponse for Value

Source§

fn from_value(_method: &str, value: Value) -> Result<Self, Error>

Source§

fn into_json(self, _method: &str) -> Result<Value, Error>

Implementors§

Source§

impl JsonRpcResponse for agent_client_protocol::AgentResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::AgentResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::AuthenticateResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::AuthenticateResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::ClientResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::ClientResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::CloseSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::CloseSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for ConnectMcpResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::CreateElicitationResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::CreateElicitationResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for CreateTerminalResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::DeleteSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::DeleteSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for DisconnectMcpResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::ForkSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::ForkSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::InitializeResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::InitializeResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for KillTerminalResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::ListSessionsResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::ListSessionsResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::LoadSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::LoadSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::LogoutResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::LogoutResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for McpConnectResponse

Source§

impl JsonRpcResponse for MessageMcpResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::NewSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::NewSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::PromptResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::PromptResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for ReadTextFileResponse

Source§

impl JsonRpcResponse for ReleaseTerminalResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::RequestPermissionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::RequestPermissionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::ResumeSessionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::ResumeSessionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for agent_client_protocol::schema::SetSessionConfigOptionResponse

Source§

impl JsonRpcResponse for agent_client_protocol::schema::v2::SetSessionConfigOptionResponse

Available on crate feature unstable_protocol_v2 only.
Source§

impl JsonRpcResponse for SetSessionModeResponse

Source§

impl JsonRpcResponse for TerminalOutputResponse

Source§

impl JsonRpcResponse for WaitForTerminalExitResponse

Source§

impl JsonRpcResponse for WriteTextFileResponse