#[non_exhaustive]pub struct ToolProgress {
pub run_id: String,
pub tool_use_id: String,
pub tool_name: String,
pub phase: String,
pub status: ToolProgressStatus,
pub dispatch_elapsed_ms: u64,
pub metadata: Value,
}Expand description
One phase transition emitted by a tool.
Sinks reconstruct per-phase wall-clock duration from successive
transitions on the same (tool_use_id, phase). The SDK does not
hold phase-state on behalf of the tool — the dispatch_elapsed_ms
marker is a timeline reference, not a per-phase length.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.run_id: StringPer-run correlation id. Echoes
crate::ExecutionContext::run_id so sinks can join phase
telemetry against AgentEvent streams. Empty string when the
dispatch did not originate inside an agent run.
tool_use_id: StringStable tool-use id matching the originating model ToolUse
block. Pairs with AgentEvent::ToolStart / ToolComplete /
ToolError for the same dispatch.
tool_name: StringTool name being dispatched.
phase: StringPhase identifier — schema_lookup, vector_search,
validation, correction_retry, … The tool author picks the
vocabulary; sinks treat it as an opaque key.
status: ToolProgressStatusStatus transition for the phase.
dispatch_elapsed_ms: u64Wall-clock elapsed since the tool dispatch began. Acts as a
timeline marker across every phase in the same dispatch —
per-phase duration is the difference between successive
transitions on the same (tool_use_id, phase) pair.
metadata: ValueOptional structured metadata for UIs and telemetry sinks.
Value::Null when the tool author chose not to attach
anything.
Trait Implementations§
Source§impl Clone for ToolProgress
impl Clone for ToolProgress
Source§fn clone(&self) -> ToolProgress
fn clone(&self) -> ToolProgress
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ToolProgress
impl Debug for ToolProgress
Source§impl<'de> Deserialize<'de> for ToolProgress
impl<'de> Deserialize<'de> for ToolProgress
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ToolProgress
impl PartialEq for ToolProgress
Source§fn eq(&self, other: &ToolProgress) -> bool
fn eq(&self, other: &ToolProgress) -> bool
self and other values to be equal, and is used by ==.