lellm_agent/runtime/
event.rs1#[derive(Debug, Clone)]
10pub enum AgentEvent {
11 Provider(lellm_provider::ProviderEvent),
13 ToolStart { tool_call_id: String, name: String },
15 ToolEnd {
17 tool_call_id: String,
18 result: super::ToolResult,
19 },
20 Retry {
22 tool_call_id: String,
23 attempt: usize,
24 max_attempts: usize,
25 reason: String,
26 },
27 ContextCompacted {
29 before_tokens: usize,
30 after_tokens: usize,
31 removed_messages: usize,
32 },
33 LoopEnd { result: super::ToolUseResult },
35 LoopError {
37 error: lellm_core::LlmError,
38 iterations: usize,
39 },
40}
41
42#[derive(Debug, Clone, PartialEq, Eq)]
44pub enum StopReason {
45 Complete,
47 MaxIterationsReached,
49 Cancelled,
51 OutputBudgetExceeded,
53 ReasoningBudgetExceeded,
55}
56
57pub type AgentStream = tokio::sync::mpsc::Receiver<AgentEvent>;