acp_utils/client/
event.rs1use acp::Error;
2use acp::Responder;
3use acp::schema::{SessionUpdate, StopReason};
4use agent_client_protocol as acp;
5use agent_client_protocol::schema::{SessionConfigOption, SessionId, SessionInfo};
6
7use crate::notifications::{
8 AuthMethodsUpdatedParams, ContextClearedParams, ContextUsageParams, ElicitationParams, ElicitationResponse,
9 McpNotification, PromptSearchResponse, SessionPreviewResponse, SubAgentProgressParams, WorkspaceListResponse,
10 WorkspaceMoveResponse,
11};
12
13pub enum AcpEvent {
15 SessionUpdate { session_id: SessionId, update: Box<SessionUpdate> },
16 ContextCleared(ContextClearedParams),
17 ContextUsage(ContextUsageParams),
18 SubAgentProgress(SubAgentProgressParams),
19 AuthMethodsUpdated(AuthMethodsUpdatedParams),
20 McpNotification(McpNotification),
21 ElicitationRequest { params: ElicitationParams, responder: Responder<ElicitationResponse> },
22 PromptDone(StopReason),
23 PromptError(Error),
24 AuthenticateComplete { method_id: String },
25 AuthenticateFailed { method_id: String, error: String },
26 SessionsListed { sessions: Vec<SessionInfo> },
27 SessionLoaded { session_id: SessionId, config_options: Vec<SessionConfigOption> },
28 NewSessionCreated { session_id: SessionId, config_options: Vec<SessionConfigOption> },
29 PromptSearchResults(PromptSearchResponse),
30 PromptSearchFailed { query: String, error: String },
31 SessionPreviewLoaded(SessionPreviewResponse),
32 SessionPreviewFailed { session_id: String, error: String },
33 WorkspacesListed(WorkspaceListResponse),
34 WorkspaceListFailed { error: String },
35 WorkspaceMoved(WorkspaceMoveResponse),
36 WorkspaceMoveFailed { error: String },
37 ConnectionClosed,
38}