JrRequest

Trait JrRequest 

Source
pub trait JrRequest: JrMessage {
    type Response: JrResponsePayload;
}
Expand description

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

§Derive Macro

Use #[derive(JrRequest)] to automatically implement both JrMessage and JrRequest:

use sacp::{JrRequest, JrResponsePayload};
use serde::{Serialize, Deserialize};

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

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

Required Associated Types§

Source

type Response: JrResponsePayload

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 JrRequest for AgentRequest

Source§

impl JrRequest for ClientRequest

Source§

impl JrRequest for AuthenticateRequest

Source§

impl JrRequest for CreateTerminalRequest

Source§

impl JrRequest for InitializeProxyRequest

Source§

impl JrRequest for InitializeRequest

Source§

impl JrRequest for KillTerminalCommandRequest

Source§

impl JrRequest for LoadSessionRequest

Source§

impl JrRequest for McpConnectRequest

Source§

impl JrRequest for NewSessionRequest

Source§

impl JrRequest for PromptRequest

Source§

impl JrRequest for ReadTextFileRequest

Source§

impl JrRequest for ReleaseTerminalRequest

Source§

impl JrRequest for RequestPermissionRequest

Source§

impl JrRequest for SetSessionModeRequest

Source§

impl JrRequest for TerminalOutputRequest

Source§

impl JrRequest for WaitForTerminalExitRequest

Source§

impl JrRequest for WriteTextFileRequest

Source§

impl JrRequest for UntypedMessage

Source§

impl<R: JrRequest> JrRequest for McpOverAcpMessage<R>

Source§

impl<Req: JrRequest> JrRequest for SuccessorMessage<Req>