agent_client_protocol/schema/
enum_impls.rs1use crate::schema::{AgentNotification, AgentRequest, ClientNotification, ClientRequest};
5
6impl_jsonrpc_request_enum!(ClientRequest {
11 InitializeRequest => "initialize",
12 AuthenticateRequest => "authenticate",
13 #[cfg(feature = "unstable_logout")]
14 LogoutRequest => "logout",
15 NewSessionRequest => "session/new",
16 LoadSessionRequest => "session/load",
17 ListSessionsRequest => "session/list",
18 #[cfg(feature = "unstable_session_fork")]
19 ForkSessionRequest => "session/fork",
20 #[cfg(feature = "unstable_session_resume")]
21 ResumeSessionRequest => "session/resume",
22 #[cfg(feature = "unstable_session_close")]
23 CloseSessionRequest => "session/close",
24 SetSessionModeRequest => "session/set_mode",
25 SetSessionConfigOptionRequest => "session/set_config_option",
26 PromptRequest => "session/prompt",
27 #[cfg(feature = "unstable_session_model")]
28 SetSessionModelRequest => "session/set_model",
29 [ext] ExtMethodRequest,
30});
31
32impl_jsonrpc_notification_enum!(ClientNotification {
33 CancelNotification => "session/cancel",
34 [ext] ExtNotification,
35});
36
37impl_jsonrpc_request_enum!(AgentRequest {
42 WriteTextFileRequest => "fs/write_text_file",
43 ReadTextFileRequest => "fs/read_text_file",
44 RequestPermissionRequest => "session/request_permission",
45 CreateTerminalRequest => "terminal/create",
46 TerminalOutputRequest => "terminal/output",
47 ReleaseTerminalRequest => "terminal/release",
48 WaitForTerminalExitRequest => "terminal/wait_for_exit",
49 KillTerminalRequest => "terminal/kill",
50 [ext] ExtMethodRequest,
51});
52
53impl_jsonrpc_notification_enum!(AgentNotification {
54 SessionNotification => "session/update",
55 [ext] ExtNotification,
56});