Skip to main content

QueryResult

Struct QueryResult 

Source
pub struct QueryResult {
    pub result: String,
    pub session_id: Option<String>,
    pub thread_id: Option<String>,
    pub usage: Option<TokenUsage>,
    pub events: Vec<JsonLineEvent>,
}
Expand description

A typed summary of a completed codex exec run, assembled from the JSONL event stream.

This mirrors the shape of claude-wrapper’s QueryResult so a downstream abstraction can treat both wrappers uniformly. The full parsed event stream is retained in events as an escape hatch for fields not surfaced here.

Fields§

§result: String

Assistant text, concatenated from the turn’s agent-message items.

Empty when the turn produced no agent message. A failed turn can still carry text produced before its terminal failure; native rollout-budget exhaustion is one observed example.

§session_id: Option<String>

The session_id captured from the event stream, if any.

Observed live runs carry only thread_id, so this is usually None. Retained because it costs nothing and the field may exist under auth modes not yet observed.

§thread_id: Option<String>

The thread_id captured from the event stream, if any.

Codex’s native identifier for resuming a conversation, emitted on thread.started.

§usage: Option<TokenUsage>

Token counts from the terminal turn.completed event, if present.

The CLI reports tokens, not money. There is no cost field to read; see TokenUsage.

§events: Vec<JsonLineEvent>

The full parsed event stream this result was assembled from.

The escape hatch for anything not surfaced above, including whatever this parser gets wrong.

Implementations§

Source§

impl QueryResult

Source

pub fn from_events(events: Vec<JsonLineEvent>) -> Self

Assemble a QueryResult from a parsed JSONL event stream.

usage comes from the last turn.completed event; result is every agent-message item concatenated in order; session_id and thread_id are the first occurrences in the stream.

Trait Implementations§

Source§

impl Clone for QueryResult

Source§

fn clone(&self) -> QueryResult

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QueryResult

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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