#[non_exhaustive]pub enum JsonEvent<'a> {
Boot {
version: &'a str,
bare: bool,
auto: bool,
},
Query {
text: &'a str,
queue_len: usize,
},
ResponseChunk {
text: &'a str,
},
ResponseEnd,
ToolCall {
tool: &'a str,
args: &'a Value,
id: &'a str,
},
ToolResult {
tool: &'a str,
id: &'a str,
output: &'a str,
is_error: bool,
},
Cost {
input_tokens: u64,
output_tokens: u64,
total_usd: f64,
},
LoopTick {
iteration: u64,
total_ticks: u64,
prompt_preview: &'a str,
},
CommandAck {
command: &'a str,
text: &'a str,
},
Status {
message: &'a str,
},
Error {
message: &'a str,
},
}Expand description
Structured event emitted on stdout in --json mode.
All variants are serialized as JSONL with a "event" discriminator field.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Boot
Session boot banner emitted before the first prompt.
Query
User input received from stdin.
ResponseChunk
Streaming assistant text chunk.
ResponseEnd
End-of-response marker.
ToolCall
A tool invocation is about to run.
ToolResult
A tool returned a result.
Cost
Token counts and estimated cost summary.
LoopTick
Loop tick notification fired each /loop iteration.
CommandAck
Slash command acknowledgement — distinguishes /loop start confirmation
from regular assistant output in JSON streams.
Status
General status message (equivalent to spinner text in interactive channels).
Error
Terminal error emitted before the process exits.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for JsonEvent<'a>
impl<'a> RefUnwindSafe for JsonEvent<'a>
impl<'a> Send for JsonEvent<'a>
impl<'a> Sync for JsonEvent<'a>
impl<'a> Unpin for JsonEvent<'a>
impl<'a> UnsafeUnpin for JsonEvent<'a>
impl<'a> UnwindSafe for JsonEvent<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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::Request