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