agent_client_protocol/schema/
enum_impls.rs1use crate::schema::{
5 AgentNotification, AgentRequest, AgentResponse, ClientNotification, ClientRequest,
6 ClientResponse,
7};
8
9impl_jsonrpc_request_enum!(ClientRequest {
14 InitializeRequest => "initialize",
15 AuthenticateRequest => "authenticate",
16 LogoutRequest => "logout",
17 NewSessionRequest => "session/new",
18 LoadSessionRequest => "session/load",
19 ListSessionsRequest => "session/list",
20 #[cfg(feature = "unstable_session_delete")]
21 DeleteSessionRequest => "session/delete",
22 #[cfg(feature = "unstable_session_fork")]
23 ForkSessionRequest => "session/fork",
24 ResumeSessionRequest => "session/resume",
25 CloseSessionRequest => "session/close",
26 SetSessionModeRequest => "session/set_mode",
27 SetSessionConfigOptionRequest => "session/set_config_option",
28 PromptRequest => "session/prompt",
29 #[cfg(feature = "unstable_session_model")]
30 SetSessionModelRequest => "session/set_model",
31 #[cfg(feature = "unstable_mcp_over_acp")]
32 MessageMcpRequest => "mcp/message",
33 [ext] ExtMethodRequest,
34});
35
36impl_jsonrpc_response_enum!(AgentResponse {
37 InitializeResponse => "initialize",
38 AuthenticateResponse => "authenticate",
39 LogoutResponse => "logout",
40 NewSessionResponse => "session/new",
41 LoadSessionResponse => "session/load",
42 ListSessionsResponse => "session/list",
43 #[cfg(feature = "unstable_session_delete")]
44 DeleteSessionResponse => "session/delete",
45 #[cfg(feature = "unstable_session_fork")]
46 ForkSessionResponse => "session/fork",
47 ResumeSessionResponse => "session/resume",
48 CloseSessionResponse => "session/close",
49 SetSessionModeResponse => "session/set_mode",
50 SetSessionConfigOptionResponse => "session/set_config_option",
51 PromptResponse => "session/prompt",
52 #[cfg(feature = "unstable_session_model")]
53 SetSessionModelResponse => "session/set_model",
54 #[cfg(feature = "unstable_mcp_over_acp")]
55 MessageMcpResponse => "mcp/message",
56 [ext] ExtMethodResponse,
57});
58
59impl_jsonrpc_notification_enum!(ClientNotification {
60 CancelNotification => "session/cancel",
61 #[cfg(feature = "unstable_mcp_over_acp")]
62 MessageMcpNotification => "mcp/message",
63 [ext] ExtNotification,
64});
65
66impl_jsonrpc_request_enum!(AgentRequest {
71 WriteTextFileRequest => "fs/write_text_file",
72 ReadTextFileRequest => "fs/read_text_file",
73 RequestPermissionRequest => "session/request_permission",
74 CreateTerminalRequest => "terminal/create",
75 TerminalOutputRequest => "terminal/output",
76 ReleaseTerminalRequest => "terminal/release",
77 WaitForTerminalExitRequest => "terminal/wait_for_exit",
78 KillTerminalRequest => "terminal/kill",
79 #[cfg(feature = "unstable_mcp_over_acp")]
80 ConnectMcpRequest => "mcp/connect",
81 #[cfg(feature = "unstable_mcp_over_acp")]
82 MessageMcpRequest => "mcp/message",
83 #[cfg(feature = "unstable_mcp_over_acp")]
84 DisconnectMcpRequest => "mcp/disconnect",
85 [ext] ExtMethodRequest,
86});
87
88impl_jsonrpc_response_enum!(ClientResponse {
89 WriteTextFileResponse => "fs/write_text_file",
90 ReadTextFileResponse => "fs/read_text_file",
91 RequestPermissionResponse => "session/request_permission",
92 CreateTerminalResponse => "terminal/create",
93 TerminalOutputResponse => "terminal/output",
94 ReleaseTerminalResponse => "terminal/release",
95 WaitForTerminalExitResponse => "terminal/wait_for_exit",
96 KillTerminalResponse => "terminal/kill",
97 #[cfg(feature = "unstable_mcp_over_acp")]
98 ConnectMcpResponse => "mcp/connect",
99 #[cfg(feature = "unstable_mcp_over_acp")]
100 MessageMcpResponse => "mcp/message",
101 #[cfg(feature = "unstable_mcp_over_acp")]
102 DisconnectMcpResponse => "mcp/disconnect",
103 [ext] ExtMethodResponse,
104});
105
106impl_jsonrpc_notification_enum!(AgentNotification {
107 SessionNotification => "session/update",
108 #[cfg(feature = "unstable_mcp_over_acp")]
109 MessageMcpNotification => "mcp/message",
110 [ext] ExtNotification,
111});