Skip to main content

agent_client_protocol/schema/client_to_agent/
requests.rs

1use crate::schema::{
2    AuthenticateRequest, AuthenticateResponse, CloseSessionRequest, CloseSessionResponse,
3    InitializeRequest, InitializeResponse, ListSessionsRequest, ListSessionsResponse,
4    LoadSessionRequest, LoadSessionResponse, LogoutRequest, LogoutResponse, NewSessionRequest,
5    NewSessionResponse, PromptRequest, PromptResponse, ResumeSessionRequest, ResumeSessionResponse,
6    SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest,
7    SetSessionModeResponse,
8};
9#[cfg(feature = "unstable_session_delete")]
10use crate::schema::{DeleteSessionRequest, DeleteSessionResponse};
11#[cfg(feature = "unstable_session_fork")]
12use crate::schema::{ForkSessionRequest, ForkSessionResponse};
13
14impl_jsonrpc_request!(InitializeRequest, InitializeResponse, "initialize");
15impl_jsonrpc_request!(AuthenticateRequest, AuthenticateResponse, "authenticate");
16impl_jsonrpc_request!(LogoutRequest, LogoutResponse, "logout");
17impl_jsonrpc_request!(LoadSessionRequest, LoadSessionResponse, "session/load");
18impl_jsonrpc_request!(ListSessionsRequest, ListSessionsResponse, "session/list");
19#[cfg(feature = "unstable_session_delete")]
20impl_jsonrpc_request!(
21    DeleteSessionRequest,
22    DeleteSessionResponse,
23    "session/delete"
24);
25impl_jsonrpc_request!(NewSessionRequest, NewSessionResponse, "session/new");
26impl_jsonrpc_request!(PromptRequest, PromptResponse, "session/prompt");
27impl_jsonrpc_request!(
28    SetSessionModeRequest,
29    SetSessionModeResponse,
30    "session/set_mode"
31);
32impl_jsonrpc_request!(
33    SetSessionConfigOptionRequest,
34    SetSessionConfigOptionResponse,
35    "session/set_config_option"
36);
37
38#[cfg(feature = "unstable_session_fork")]
39impl_jsonrpc_request!(ForkSessionRequest, ForkSessionResponse, "session/fork");
40impl_jsonrpc_request!(
41    ResumeSessionRequest,
42    ResumeSessionResponse,
43    "session/resume"
44);
45impl_jsonrpc_request!(CloseSessionRequest, CloseSessionResponse, "session/close");