agent_base/types/
events.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4use super::approval::ApprovalRequest;
5use super::checkpoint::CheckpointData;
6use super::plan::ExecutionPlan;
7use super::session::SessionId;
8
9#[derive(Clone, Debug, Serialize, Deserialize)]
10#[serde(tag = "type", rename_all = "camelCase")]
11pub enum AgentEvent {
12 TextDelta {
13 session_id: SessionId,
14 text: String,
15 },
16 ThoughtDelta {
17 session_id: SessionId,
18 text: String,
19 },
20 ToolCallStarted {
21 session_id: SessionId,
22 tool_name: String,
23 args_json: String,
24 },
25 ToolCallFinished {
26 session_id: SessionId,
27 tool_name: String,
28 summary: String,
29 },
30 AwaitingApproval {
31 session_id: SessionId,
32 request: ApprovalRequest,
33 },
34 Checkpoint {
35 session_id: SessionId,
36 checkpoint: CheckpointData,
37 },
38 RunFinished {
39 session_id: SessionId,
40 },
41 Custom {
42 session_id: SessionId,
43 payload: Value,
44 },
45 PlanGenerated {
46 session_id: SessionId,
47 plan: ExecutionPlan,
48 },
49 PlanStepStarted {
50 session_id: SessionId,
51 step_id: String,
52 step_description: String,
53 },
54 PlanStepCompleted {
55 session_id: SessionId,
56 step_id: String,
57 success: bool,
58 result: Option<String>,
59 },
60 PlanCompleted {
61 session_id: SessionId,
62 plan_id: String,
63 success: bool,
64 },
65 PlanGenerating {
66 session_id: SessionId,
67 plan_id: String,
68 },
69 PlanStepParsed {
70 session_id: SessionId,
71 plan_id: String,
72 step_index: usize,
73 step_id: String,
74 step_description: String,
75 },
76 PlanFailed {
77 session_id: SessionId,
78 plan_id: String,
79 error: String,
80 },
81}