Skip to main content

AgentResult

Struct AgentResult 

Source
pub struct AgentResult { /* private fields */ }
Expand description

The result of a successful agent invocation.

Wraps the raw AgentOutput and provides convenience accessors for the response text, typed JSON deserialization, session metadata, and usage stats.

Implementations§

Source§

impl AgentResult

Source

pub fn text(&self) -> &str

Return the agent’s response as a plain text string.

If the underlying value is not a JSON string (e.g. when structured output was requested), returns an empty string and logs a warning.

Source

pub fn value(&self) -> &Value

Return the raw JSON Value of the agent’s response.

Source

pub fn json<T: DeserializeOwned>(&self) -> Result<T, OperationError>

Deserialize the agent’s response into the given type T.

This clones the underlying JSON value. If you no longer need the AgentResult afterwards, use into_json instead to avoid the clone.

§Errors

Returns OperationError::Deserialize if the JSON value does not match T.

Source

pub fn into_json<T: DeserializeOwned>(self) -> Result<T, OperationError>

Consume the result and deserialize the response into T without cloning.

§Errors

Returns OperationError::Deserialize if the JSON value does not match T.

Source

pub fn session_id(&self) -> Option<&str>

Return the provider-assigned session ID, if available.

Source

pub fn cost_usd(&self) -> Option<f64>

Return the cost of this invocation in USD, if reported by the provider.

Source

pub fn input_tokens(&self) -> Option<u64>

Return the number of input tokens consumed, if reported.

Source

pub fn output_tokens(&self) -> Option<u64>

Return the number of output tokens generated, if reported.

Source

pub fn duration_ms(&self) -> u64

Return the wall-clock duration of the invocation in milliseconds.

Source

pub fn model(&self) -> Option<&str>

Return the concrete model identifier used, if reported by the provider.

Source

pub fn debug_messages(&self) -> Option<&[DebugMessage]>

Return the conversation trace captured during a verbose invocation.

Returns None when Agent::verbose was not called. When present, each DebugMessage contains the assistant’s text and tool calls for one conversation turn.

Trait Implementations§

Source§

impl Debug for AgentResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more