pub struct ToolOutcome {
pub tool_name: String,
pub tool_args: Value,
pub success: bool,
pub duration: Duration,
pub error_message: Option<String>,
pub attempt: u32,
}Expand description
Structured metadata about a completed tool execution.
Available via CallbackContext::tool_outcome() in after-tool callbacks,
plugins, and telemetry hooks. Provides structured access to execution
results without requiring JSON error parsing.
§Fields
tool_name— Name of the tool that was executed.tool_args— Arguments passed to the tool as a JSON value.success— Whether the tool execution succeeded. Derived from the RustResult/ timeout path, never from JSON content inspection.duration— Wall-clock duration of the tool execution.error_message— Error message if the tool failed;Noneon success.attempt— Retry attempt number (0 = first attempt, 1 = first retry, etc.). Always 0 when retries are not configured.
Fields§
§tool_name: StringName of the tool that was executed.
tool_args: ValueArguments passed to the tool (JSON value).
success: boolWhether the tool execution succeeded.
duration: DurationWall-clock duration of the tool execution.
error_message: Option<String>Error message if the tool failed. None on success.
attempt: u32Retry attempt number (0 = first attempt, 1 = first retry, etc.). Always 0 when retries are not configured.
Trait Implementations§
Source§impl Clone for ToolOutcome
impl Clone for ToolOutcome
Source§fn clone(&self) -> ToolOutcome
fn clone(&self) -> ToolOutcome
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ToolOutcome
impl RefUnwindSafe for ToolOutcome
impl Send for ToolOutcome
impl Sync for ToolOutcome
impl Unpin for ToolOutcome
impl UnsafeUnpin for ToolOutcome
impl UnwindSafe for ToolOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more