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