aether-acp-utils 0.3.1

Agent Client Protocol (ACP) utilities for the Aether AI agent framework
Documentation
use acp::Error;
use acp::Responder;
use acp::schema::{SessionUpdate, StopReason};
use agent_client_protocol as acp;
use agent_client_protocol::schema::{SessionConfigOption, SessionId, SessionInfo};

use crate::notifications::{
    AuthMethodsUpdatedParams, ContextClearedParams, ContextUsageParams, ElicitationParams, ElicitationResponse,
    McpNotification, SubAgentProgressParams,
};

/// Events forwarded from the ACP connection to the main event loop.
pub enum AcpEvent {
    SessionUpdate(Box<SessionUpdate>),
    ContextCleared(ContextClearedParams),
    ContextUsage(ContextUsageParams),
    SubAgentProgress(SubAgentProgressParams),
    AuthMethodsUpdated(AuthMethodsUpdatedParams),
    McpNotification(McpNotification),
    ElicitationRequest { params: ElicitationParams, responder: Responder<ElicitationResponse> },
    PromptDone(StopReason),
    PromptError(Error),
    AuthenticateComplete { method_id: String },
    AuthenticateFailed { method_id: String, error: String },
    SessionsListed { sessions: Vec<SessionInfo> },
    SessionLoaded { session_id: SessionId, config_options: Vec<SessionConfigOption> },
    NewSessionCreated { session_id: SessionId, config_options: Vec<SessionConfigOption> },
    ConnectionClosed,
}