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_mcp_over_acp")]
30 MessageMcpRequest => "mcp/message",
31 [ext] ExtMethodRequest,
32});
33
34impl_jsonrpc_response_enum!(AgentResponse {
35 InitializeResponse => "initialize",
36 AuthenticateResponse => "authenticate",
37 LogoutResponse => "logout",
38 NewSessionResponse => "session/new",
39 LoadSessionResponse => "session/load",
40 ListSessionsResponse => "session/list",
41 #[cfg(feature = "unstable_session_delete")]
42 DeleteSessionResponse => "session/delete",
43 #[cfg(feature = "unstable_session_fork")]
44 ForkSessionResponse => "session/fork",
45 ResumeSessionResponse => "session/resume",
46 CloseSessionResponse => "session/close",
47 SetSessionModeResponse => "session/set_mode",
48 SetSessionConfigOptionResponse => "session/set_config_option",
49 PromptResponse => "session/prompt",
50 #[cfg(feature = "unstable_mcp_over_acp")]
51 MessageMcpResponse => "mcp/message",
52 [ext] ExtMethodResponse,
53});
54
55impl_jsonrpc_notification_enum!(ClientNotification {
56 CancelNotification => "session/cancel",
57 #[cfg(feature = "unstable_mcp_over_acp")]
58 MessageMcpNotification => "mcp/message",
59 [ext] ExtNotification,
60});
61
62impl_jsonrpc_request_enum!(AgentRequest {
67 WriteTextFileRequest => "fs/write_text_file",
68 ReadTextFileRequest => "fs/read_text_file",
69 RequestPermissionRequest => "session/request_permission",
70 CreateTerminalRequest => "terminal/create",
71 TerminalOutputRequest => "terminal/output",
72 ReleaseTerminalRequest => "terminal/release",
73 WaitForTerminalExitRequest => "terminal/wait_for_exit",
74 KillTerminalRequest => "terminal/kill",
75 #[cfg(feature = "unstable_mcp_over_acp")]
76 ConnectMcpRequest => "mcp/connect",
77 #[cfg(feature = "unstable_mcp_over_acp")]
78 MessageMcpRequest => "mcp/message",
79 #[cfg(feature = "unstable_mcp_over_acp")]
80 DisconnectMcpRequest => "mcp/disconnect",
81 [ext] ExtMethodRequest,
82});
83
84impl_jsonrpc_response_enum!(ClientResponse {
85 WriteTextFileResponse => "fs/write_text_file",
86 ReadTextFileResponse => "fs/read_text_file",
87 RequestPermissionResponse => "session/request_permission",
88 CreateTerminalResponse => "terminal/create",
89 TerminalOutputResponse => "terminal/output",
90 ReleaseTerminalResponse => "terminal/release",
91 WaitForTerminalExitResponse => "terminal/wait_for_exit",
92 KillTerminalResponse => "terminal/kill",
93 #[cfg(feature = "unstable_mcp_over_acp")]
94 ConnectMcpResponse => "mcp/connect",
95 #[cfg(feature = "unstable_mcp_over_acp")]
96 MessageMcpResponse => "mcp/message",
97 #[cfg(feature = "unstable_mcp_over_acp")]
98 DisconnectMcpResponse => "mcp/disconnect",
99 [ext] ExtMethodResponse,
100});
101
102impl_jsonrpc_notification_enum!(AgentNotification {
103 SessionNotification => "session/update",
104 #[cfg(feature = "unstable_mcp_over_acp")]
105 MessageMcpNotification => "mcp/message",
106 [ext] ExtNotification,
107});