pub enum ProgressEvent {
Output(String),
Status(String),
Bytes {
done: u64,
total: Option<u64>,
},
Artifact {
mime: String,
data: Vec<u8>,
caption: Option<String>,
},
SubagentToolCall {
child_call_id: ToolCallId,
tool_name: String,
phase: SubagentPhase,
},
SubagentText(String),
}Expand description
Tool-side progress event. The reducer already knows ToolStarted
and ToolFinished; this carries everything in between (streaming
subprocess output, long-running download status, multimodal
artifacts like inline screenshots, and nested activity from
subagents).
Variants§
Output(String)
Partial stdout/stderr chunk.
Status(String)
Arbitrary status string for display.
Bytes
Byte-count progress for long downloads/transfers. total is
None when the producer doesn’t know the final size.
Artifact
Binary artifact produced mid-execution (screenshot preview,
generated file, etc.). MIME string determines routing in the
reducer — image/* attaches inline to the active assistant
message; anything else lands on the status line as a label.
SubagentToolCall
A child subagent just started or finished a tool call. Carries the CHILD’s call identity + tool name + phase so the parent UI can surface it without needing to recurse into the child’s event vocabulary.
SubagentText(String)
A chunk of assistant text produced by a child subagent. Mostly UI flavor — lets the parent status line show what the sub is “saying” in real time.
Trait Implementations§
Source§impl Clone for ProgressEvent
impl Clone for ProgressEvent
Source§fn clone(&self) -> ProgressEvent
fn clone(&self) -> ProgressEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ProgressEvent
impl RefUnwindSafe for ProgressEvent
impl Send for ProgressEvent
impl Sync for ProgressEvent
impl Unpin for ProgressEvent
impl UnsafeUnpin for ProgressEvent
impl UnwindSafe for ProgressEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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