Skip to main content

JsonRpcRequest

Trait JsonRpcRequest 

Source
pub trait JsonRpcRequest: JsonRpcMessage {
    type Response: JsonRpcResponse;
}
Expand description

A struct that represents a request (JSON-RPC message expecting a response).

§Derive Macro

Use #[derive(JsonRpcRequest)] to automatically implement both JsonRpcMessage and JsonRpcRequest:

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

#[derive(Debug, Clone, Serialize, Deserialize, JsonRpcRequest)]
#[request(method = "_hello", response = HelloResponse)]
struct HelloRequest {
    name: String,
}

#[derive(Debug, Serialize, Deserialize, JsonRpcResponse)]
struct HelloResponse {
    greeting: String,
}

Required Associated Types§

Source

type Response: JsonRpcResponse

The type of data expected in response.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl JsonRpcRequest for AgentRequest

Source§

impl JsonRpcRequest for ClientRequest

Source§

impl JsonRpcRequest for AuthenticateRequest

Source§

impl JsonRpcRequest for CreateTerminalRequest

Source§

impl JsonRpcRequest for InitializeProxyRequest

Source§

impl JsonRpcRequest for InitializeRequest

Source§

impl JsonRpcRequest for KillTerminalRequest

Source§

impl JsonRpcRequest for ListSessionsRequest

Source§

impl JsonRpcRequest for LoadSessionRequest

Source§

impl JsonRpcRequest for McpConnectRequest

Source§

impl JsonRpcRequest for NewSessionRequest

Source§

impl JsonRpcRequest for PromptRequest

Source§

impl JsonRpcRequest for ReadTextFileRequest

Source§

impl JsonRpcRequest for ReleaseTerminalRequest

Source§

impl JsonRpcRequest for RequestPermissionRequest

Source§

impl JsonRpcRequest for SetSessionConfigOptionRequest

Source§

impl JsonRpcRequest for SetSessionModeRequest

Source§

impl JsonRpcRequest for TerminalOutputRequest

Source§

impl JsonRpcRequest for WaitForTerminalExitRequest

Source§

impl JsonRpcRequest for WriteTextFileRequest

Source§

impl JsonRpcRequest for UntypedMessage

Source§

impl<R: JsonRpcRequest> JsonRpcRequest for McpOverAcpMessage<R>

Source§

impl<Req: JsonRpcRequest> JsonRpcRequest for SuccessorMessage<Req>