pub struct AssistantToolReceipt {
pub tool: String,
pub call_id: Option<String>,
pub sequence: Option<u32>,
pub ok: bool,
pub params: Value,
pub result: Option<String>,
pub via: Option<String>,
}Fields§
§tool: String§call_id: Option<String>Loop-generated correlation id, unique across turns even when a provider
repeats its own tool-call ids. A receipt merged up from a delegate
child is namespaced <parent call id>/<child call id>, because the
child loop numbers its turns from one and would otherwise collide with
the parent’s own first call.
sequence: Option<u32>One-based call position within the turn. None only for legacy/test
receipts that were not produced by the live assistant loop.
ok: bool§params: Value§result: Option<String>The uncapped observation retained long enough to build a redacted, bounded host receipt. The model transcript receives a separate capped copy, so truncation cannot turn structured evidence into invalid JSON.
via: Option<String>Some("delegate:<call id>") for a receipt a delegate child produced
and the parent merged into its own list, so grounding and
receipts.by_tool see the child’s real calls while a reader can still
tell them from the parent’s own. None for the parent’s own calls.
Trait Implementations§
Source§impl Clone for AssistantToolReceipt
impl Clone for AssistantToolReceipt
Auto Trait Implementations§
impl Freeze for AssistantToolReceipt
impl RefUnwindSafe for AssistantToolReceipt
impl Send for AssistantToolReceipt
impl Sync for AssistantToolReceipt
impl Unpin for AssistantToolReceipt
impl UnsafeUnpin for AssistantToolReceipt
impl UnwindSafe for AssistantToolReceipt
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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> ⓘ
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