aether_core/events/
tool_event.rs1use llm::{ToolCallError, ToolCallRequest, ToolCallResult, ToolDefinition};
2use mcp_utils::display_meta::ToolResultMeta;
3use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
8#[serde(tag = "type", rename_all = "snake_case")]
9pub enum ToolEvent {
10 Call { request: ToolCallRequest },
12 CallUpdate { tool_call_id: String, chunk: String },
14 ExecutionStarted { tool_id: String, tool_name: String },
16 Progress { request: ToolCallRequest, progress: f64, total: Option<f64>, message: Option<String> },
18 Result { result: ToolCallResult, result_meta: Option<ToolResultMeta> },
20 Error { error: ToolCallError },
22 DefinitionsUpdated { tools: Vec<ToolDefinition> },
24}