pub enum InferenceEvent {
Show 24 variants
Token(String),
MutedToken(String),
Thought(String),
VoiceStatus(String),
ToolCallStart {
id: String,
name: String,
args: String,
},
ToolCallResult {
id: String,
name: String,
output: String,
is_error: bool,
},
ApprovalRequired {
id: String,
name: String,
display: String,
diff: Option<String>,
mutation_label: Option<String>,
responder: Sender<bool>,
},
Done,
Error(String),
ProviderStatus {
state: ProviderRuntimeState,
summary: String,
},
OperatorCheckpoint {
state: OperatorCheckpointState,
summary: String,
},
RecoveryRecipe {
summary: String,
},
McpStatus {
state: McpRuntimeState,
summary: String,
},
CompactionPressure {
estimated_tokens: usize,
threshold_tokens: usize,
percent: u8,
},
PromptPressure {
estimated_input_tokens: usize,
reserved_output_tokens: usize,
estimated_total_tokens: usize,
context_length: usize,
percent: u8,
},
TaskProgress {
id: String,
label: String,
progress: u8,
},
UsageUpdate(TokenUsage),
RuntimeProfile {
model_id: String,
context_length: usize,
},
VeinStatus {
file_count: usize,
embedded_count: usize,
docs_only: bool,
},
VeinContext {
paths: Vec<String>,
},
SoulReroll {
species: String,
rarity: String,
shiny: bool,
personality: String,
},
CopyDiveInCommand(String),
EmbedProfile {
model_id: Option<String>,
},
ShellLine(String),
}Variants§
Token(String)
A text token to append to the current assistant message.
MutedToken(String)
A text token to be displayed on screen but NOT spoken (e.g. startup greeting).
Thought(String)
Internal model reasoning (shown in side panel, not dialogue).
VoiceStatus(String)
Critical diagnostic feedback from the voice synthesis engine.
ToolCallStart
A tool call is starting – show a status line in the TUI.
ToolCallResult
A tool call completed – show result in the TUI.
ApprovalRequired
A risky tool requires explicit user approval.
The TUI must send true (approved) or false (rejected) via responder.
When diff is Some, the modal renders a coloured before/after diff preview.
Fields
Done
The current agent turn is complete.
Error(String)
An error occurred during inference.
ProviderStatus
Compact provider/runtime state for the operator surface.
OperatorCheckpoint
Typed operator checkpoint/blocker state for SPECULAR and recovery UIs.
RecoveryRecipe
Typed recovery recipe summary for operator/debug surfaces.
McpStatus
Compact MCP/runtime server health for the operator surface.
CompactionPressure
Current compaction pressure against the adaptive threshold.
PromptPressure
Current total prompt-budget pressure against the live context window.
Fields
TaskProgress
A generic task progress update (e.g. for single-agent tool execution).
UsageUpdate(TokenUsage)
Real-time token usage update from the API.
RuntimeProfile
The current runtime profile detected from LM Studio.
VeinStatus
Vein index status after each incremental re-index.
VeinContext
File paths the Vein surfaced as relevant to the current turn. Used to populate ACTIVE CONTEXT with retrieval results.
SoulReroll
A new companion was hatched mid-session via /reroll.
CopyDiveInCommand(String)
A “Dive-In” command (cd
EmbedProfile
Embed model loaded/unloaded mid-session.
ShellLine(String)
A single line of live shell output, streamed while the command runs. Displayed in the SPECULAR panel so the operator sees progress without waiting for the full command to finish.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InferenceEvent
impl !RefUnwindSafe for InferenceEvent
impl Send for InferenceEvent
impl Sync for InferenceEvent
impl Unpin for InferenceEvent
impl UnsafeUnpin for InferenceEvent
impl !UnwindSafe for InferenceEvent
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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