use crate::tool::ToolResult;
pub type SessionId = String;
pub fn new_session_id() -> SessionId {
uuid::Uuid::new_v4().to_string()
}
#[derive(Debug)]
pub enum AgentEvent {
TextDelta(String),
ToolCallRequested {
tool_call_id: String,
name: String,
arguments: String,
},
ToolCallResult {
tool_call_id: String,
result: ToolResult,
},
TurnComplete,
Error(crate::error::AgentError),
SkillTriggered { name: String, description: String },
}
#[derive(Debug)]
pub enum FrontendMessage {
UserInput(String),
Cancel,
ConfirmationResponse {
tool_call_id: String,
approved: bool,
},
}