pub enum SessionEvent {
Agent(Box<AgentEvent>),
QueueUpdate {
steering: Vec<String>,
follow_up: Vec<String>,
},
CompactionStart {
auto: bool,
},
CompactionEnd {
summary: String,
tokens_before: u64,
error: Option<String>,
},
Retry {
attempt: u32,
max: u32,
delay_ms: u64,
error: String,
},
ModelChanged {
provider: String,
model_id: String,
},
ReasoningEffortChanged {
level: ThinkingLevel,
generations: u8,
},
ReasoningEffortFallback {
level: ThinkingLevel,
reason: String,
},
Workflow {
run: RunId,
version: u64,
},
WorkflowOutcome {
run: Option<RunId>,
name: String,
status: WorkflowTurnStatus,
},
Iterative {
job: JobId,
version: u64,
},
}Expand description
Harness-level events layered over the loop’s AgentEvents.
Variants§
Agent(Box<AgentEvent>)
QueueUpdate
CompactionStart
CompactionEnd
Retry
ModelChanged
ReasoningEffortChanged
ReasoningEffortFallback
Workflow
A dynamic workflow changed. The terminal redraws from the shared snapshot. The event carries only the cheap version marker.
WorkflowOutcome
The verified result of a workflow tool call. Frontends show this after the assistant answer so model text cannot replace the real run state.
Iterative
A loop or autoresearch job changed. The terminal reads its snapshot.
Trait Implementations§
Source§impl Clone for SessionEvent
impl Clone for SessionEvent
Auto Trait Implementations§
impl Freeze for SessionEvent
impl RefUnwindSafe for SessionEvent
impl Send for SessionEvent
impl Sync for SessionEvent
impl Unpin for SessionEvent
impl UnsafeUnpin for SessionEvent
impl UnwindSafe for SessionEvent
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> 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> ⓘ
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 moreCreates a shared type from an unshared type.