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 DeleteSessionRequest => "session/delete",
21 #[cfg(feature = "unstable_session_fork")]
22 ForkSessionRequest => "session/fork",
23 ResumeSessionRequest => "session/resume",
24 CloseSessionRequest => "session/close",
25 SetSessionModeRequest => "session/set_mode",
26 SetSessionConfigOptionRequest => "session/set_config_option",
27 PromptRequest => "session/prompt",
28 #[cfg(feature = "unstable_mcp_over_acp")]
29 MessageMcpRequest => "mcp/message",
30 [ext] ExtMethodRequest,
31});
32
33impl_jsonrpc_response_enum!(AgentResponse {
34 InitializeResponse => "initialize",
35 AuthenticateResponse => "authenticate",
36 LogoutResponse => "logout",
37 NewSessionResponse => "session/new",
38 LoadSessionResponse => "session/load",
39 ListSessionsResponse => "session/list",
40 DeleteSessionResponse => "session/delete",
41 #[cfg(feature = "unstable_session_fork")]
42 ForkSessionResponse => "session/fork",
43 ResumeSessionResponse => "session/resume",
44 CloseSessionResponse => "session/close",
45 SetSessionModeResponse => "session/set_mode",
46 SetSessionConfigOptionResponse => "session/set_config_option",
47 PromptResponse => "session/prompt",
48 #[cfg(feature = "unstable_mcp_over_acp")]
49 MessageMcpResponse => "mcp/message",
50 [ext] ExtMethodResponse,
51});
52
53impl_jsonrpc_notification_enum!(ClientNotification {
54 CancelNotification => "session/cancel",
55 #[cfg(feature = "unstable_mcp_over_acp")]
56 MessageMcpNotification => "mcp/message",
57 [ext] ExtNotification,
58});
59
60impl_jsonrpc_request_enum!(AgentRequest {
65 WriteTextFileRequest => "fs/write_text_file",
66 ReadTextFileRequest => "fs/read_text_file",
67 RequestPermissionRequest => "session/request_permission",
68 CreateTerminalRequest => "terminal/create",
69 TerminalOutputRequest => "terminal/output",
70 ReleaseTerminalRequest => "terminal/release",
71 WaitForTerminalExitRequest => "terminal/wait_for_exit",
72 KillTerminalRequest => "terminal/kill",
73 #[cfg(feature = "unstable_elicitation")]
74 CreateElicitationRequest => "elicitation/create",
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_elicitation")]
94 CreateElicitationResponse => "elicitation/create",
95 #[cfg(feature = "unstable_mcp_over_acp")]
96 ConnectMcpResponse => "mcp/connect",
97 #[cfg(feature = "unstable_mcp_over_acp")]
98 MessageMcpResponse => "mcp/message",
99 #[cfg(feature = "unstable_mcp_over_acp")]
100 DisconnectMcpResponse => "mcp/disconnect",
101 [ext] ExtMethodResponse,
102});
103
104impl_jsonrpc_notification_enum!(AgentNotification {
105 SessionNotification => "session/update",
106 #[cfg(feature = "unstable_elicitation")]
107 CompleteElicitationNotification => "elicitation/complete",
108 #[cfg(feature = "unstable_mcp_over_acp")]
109 MessageMcpNotification => "mcp/message",
110 [ext] ExtNotification,
111});