agent_client_protocol/schema/
enum_impls.rs1use crate::v1::schema::{
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 #[cfg(feature = "unstable_auth_status")]
24 AuthStatusRequest => "auth/status",
25 NewSessionRequest => "session/new",
26 LoadSessionRequest => "session/load",
27 ListSessionsRequest => "session/list",
28 DeleteSessionRequest => "session/delete",
29 #[cfg(feature = "unstable_session_fork")]
30 ForkSessionRequest => "session/fork",
31 #[cfg(feature = "unstable_session_archive")]
32 ArchiveSessionRequest => "session/archive",
33 #[cfg(feature = "unstable_session_archive")]
34 UnarchiveSessionRequest => "session/unarchive",
35 #[cfg(feature = "unstable_session_status")]
36 SessionStatusRequest => "session/status",
37 #[cfg(feature = "unstable_session_set_title")]
38 SetSessionTitleRequest => "session/set_title",
39 ResumeSessionRequest => "session/resume",
40 CloseSessionRequest => "session/close",
41 SetSessionModeRequest => "session/set_mode",
42 SetSessionConfigOptionRequest => "session/set_config_option",
43 PromptRequest => "session/prompt",
44 [ext] ExtMethodRequest,
45});
46
47impl_jsonrpc_response_enum!(AgentResponse {
48 InitializeResponse => "initialize",
49 AuthenticateResponse => "authenticate",
50 #[cfg(feature = "unstable_llm_providers")]
51 ListProvidersResponse => "providers/list",
52 #[cfg(feature = "unstable_llm_providers")]
53 SetProviderResponse => "providers/set",
54 #[cfg(feature = "unstable_llm_providers")]
55 DisableProviderResponse => "providers/disable",
56 LogoutResponse => "logout",
57 #[cfg(feature = "unstable_auth_status")]
58 AuthStatusResponse => "auth/status",
59 NewSessionResponse => "session/new",
60 LoadSessionResponse => "session/load",
61 ListSessionsResponse => "session/list",
62 DeleteSessionResponse => "session/delete",
63 #[cfg(feature = "unstable_session_fork")]
64 ForkSessionResponse => "session/fork",
65 #[cfg(feature = "unstable_session_archive")]
66 ArchiveSessionResponse => "session/archive",
67 #[cfg(feature = "unstable_session_archive")]
68 UnarchiveSessionResponse => "session/unarchive",
69 #[cfg(feature = "unstable_session_status")]
70 SessionStatusResponse => "session/status",
71 #[cfg(feature = "unstable_session_set_title")]
72 SetSessionTitleResponse => "session/set_title",
73 ResumeSessionResponse => "session/resume",
74 CloseSessionResponse => "session/close",
75 SetSessionModeResponse => "session/set_mode",
76 SetSessionConfigOptionResponse => "session/set_config_option",
77 PromptResponse => "session/prompt",
78 [ext] ExtMethodResponse,
79});
80
81impl_jsonrpc_notification_enum!(ClientNotification {
82 CancelNotification => "session/cancel",
83 #[cfg(feature = "unstable_mcp_over_acp")]
84 MessageMcpNotification => "mcp/message",
85 [ext] ExtNotification,
86});
87
88impl_jsonrpc_request_enum!(AgentRequest {
93 WriteTextFileRequest => "fs/write_text_file",
94 ReadTextFileRequest => "fs/read_text_file",
95 RequestPermissionRequest => "session/request_permission",
96 CreateTerminalRequest => "terminal/create",
97 TerminalOutputRequest => "terminal/output",
98 ReleaseTerminalRequest => "terminal/release",
99 WaitForTerminalExitRequest => "terminal/wait_for_exit",
100 KillTerminalRequest => "terminal/kill",
101 CreateElicitationRequest => "elicitation/create",
102 #[cfg(feature = "unstable_mcp_over_acp")]
103 MessageMcpRequest => "mcp/message",
104 [ext] ExtMethodRequest,
105});
106
107impl_jsonrpc_response_enum!(ClientResponse {
108 WriteTextFileResponse => "fs/write_text_file",
109 ReadTextFileResponse => "fs/read_text_file",
110 RequestPermissionResponse => "session/request_permission",
111 CreateTerminalResponse => "terminal/create",
112 TerminalOutputResponse => "terminal/output",
113 ReleaseTerminalResponse => "terminal/release",
114 WaitForTerminalExitResponse => "terminal/wait_for_exit",
115 KillTerminalResponse => "terminal/kill",
116 CreateElicitationResponse => "elicitation/create",
117 #[cfg(feature = "unstable_mcp_over_acp")]
118 MessageMcpResponse => "mcp/message",
119 [ext] ExtMethodResponse,
120});
121
122impl_jsonrpc_notification_enum!(AgentNotification {
123 SessionNotification => "session/update",
124 CompleteElicitationNotification => "elicitation/complete",
125 #[cfg(feature = "unstable_auth_status")]
126 AuthStatusUpdateNotification => "auth/status_update",
127 [ext] ExtNotification,
128});