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, ContextCompactionParams, ContextUsageParams, ElicitationParams,
9 ElicitationResponse, McpNotification, PromptSearchResponse, SessionPreviewResponse, SubAgentProgressParams,
10 WorkspaceListResponse, WorkspaceMoveResponse,
11};
12
13pub enum AcpEvent {
15 SessionUpdate { session_id: SessionId, update: Box<SessionUpdate> },
16 ContextCleared(ContextClearedParams),
17 ContextCompaction(ContextCompactionParams),
18 ContextUsage(ContextUsageParams),
19 SubAgentProgress(SubAgentProgressParams),
20 AuthMethodsUpdated(AuthMethodsUpdatedParams),
21 McpNotification(McpNotification),
22 ElicitationRequest { params: ElicitationParams, responder: Responder<ElicitationResponse> },
23 PromptDone(StopReason),
24 PromptError(Error),
25 AuthenticateComplete { method_id: String },
26 AuthenticateFailed { method_id: String, error: String },
27 ConfigOptionUpdateFailed { error: String },
28 SessionsListed { sessions: Vec<SessionInfo> },
29 SessionLoaded { session_id: SessionId, config_options: Vec<SessionConfigOption> },
30 NewSessionCreated { session_id: SessionId, config_options: Vec<SessionConfigOption> },
31 PromptSearchResults(PromptSearchResponse),
32 PromptSearchFailed { query: String, error: String },
33 SessionPreviewLoaded(SessionPreviewResponse),
34 SessionPreviewFailed { session_id: String, error: String },
35 WorkspacesListed(WorkspaceListResponse),
36 WorkspaceListFailed { error: String },
37 WorkspaceMoved(WorkspaceMoveResponse),
38 WorkspaceMoveFailed { error: String },
39 ConnectionClosed,
40}