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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.