use crate::api::types::TokenUsage;
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum ApprovalResult {
Yes,
No,
Always,
}
#[derive(Debug, Clone)]
pub enum AgentEvent {
Reasoning {
content: String,
},
Content {
content: String,
},
ToolStart {
name: String,
args: String,
},
ToolEnd {
name: String,
result: Option<String>,
},
Error {
content: String,
},
ApprovalRequest {
name: String,
args: String,
},
Done {
token_usage: TokenUsage,
},
Aborted {
token_usage: TokenUsage,
},
}
#[derive(Debug, Clone)]
pub struct UndoAction {
pub r#type: String,
pub path: String,
pub backup: Option<Vec<u8>>,
}