1use crate::provider::Usage;
2#[derive(Debug)]
3pub enum AgentEvent {
4 TextDelta(String),
5 ThinkingDelta(String),
6 TextComplete(String),
7 ToolCallStart {
8 id: String,
9 name: String,
10 },
11 ToolCallInputDelta(String),
12 ToolCallExecuting {
13 id: String,
14 name: String,
15 input: String,
16 },
17 ToolCallResult {
18 id: String,
19 name: String,
20 output: String,
21 is_error: bool,
22 },
23 Done {
24 usage: Usage,
25 },
26 Error(String),
27 Compacting,
28 Compacted {
29 messages_removed: usize,
30 },
31}
32
33pub(super) struct PendingToolCall {
34 pub id: String,
35 pub name: String,
36 pub input: String,
37}