Struct ToolExecutionOutcome
pub struct ToolExecutionOutcome {
pub output: String,
pub output_data: Option<Value>,
pub success: bool,
pub error_reason: Option<String>,
pub duration: Duration,
pub receipt: Option<String>,
}Fields§
§output: StringText handed to the model and persisted to provider history. The
success path carries raw bytes; the failure paths of execute_one_tool
fold a tool’s detailed error body (which can reflect a token or signed
URL) into this text and credential-scrub it before storing it here.
output_data: Option<Value>Structured output when the tool declared one (ToolOutput::data).
Feeds SOP step capture and data-flow surfaces; the LLM sees only
output. Stored raw — consumers scrub at their own rendering boundary.
success: bool§error_reason: Option<String>Raw, unscrubbed failure text for trusted in-process consumers (SOP step
capture, data-flow surfaces). Credential scrubbing is a rendering
concern applied at each human-facing surface (observer events,
post-execution log line, CLI progress) and, unlike this field, on the
model-visible output.
duration: Duration§receipt: Option<String>Cryptographic HMAC receipt proving this tool actually executed. Present only when tool receipts are enabled in config.
Auto Trait Implementations§
impl Freeze for ToolExecutionOutcome
impl RefUnwindSafe for ToolExecutionOutcome
impl Send for ToolExecutionOutcome
impl Sync for ToolExecutionOutcome
impl Unpin for ToolExecutionOutcome
impl UnsafeUnpin for ToolExecutionOutcome
impl UnwindSafe for ToolExecutionOutcome
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 more