pub enum TranscriptBlock {
User {
text: String,
},
Assistant {
text: String,
streaming: bool,
latency_ms: Option<u64>,
},
Reasoning {
text: String,
},
ToolCall {
id: String,
name: String,
args_preview: String,
result: Option<ToolResultData>,
},
Diff {
path: String,
hunks: Vec<DiffHunk>,
},
Compacted {
removed: usize,
kept: usize,
},
System {
text: String,
},
Error {
text: String,
},
PlanProposal {
plan_text: String,
tool_calls: Vec<Value>,
},
PlanModeRequest {
reason: String,
approved: Option<bool>,
},
}Expand description
One renderable transcript block.
The chat screen renders a Vec<TranscriptBlock> in order, with one
blank line between adjacent blocks. Each variant has a corresponding
renderer in crate::tui::ui::transcript.
Variants§
User
Assistant
Reasoning
Reasoning / thinking content for a step. Emitted by
[UiEvent::Reasoning] before the matching assistant text
block; rendered inline as a thinking… header followed by
the reasoning text in dim grey italics.
ToolCall
Tool call (paired with its result once available).
While the tool is still running, result is None; the
renderer shows the call in a “running” state (yellow ⏺,
Running… placeholder). When the runtime pushes the
matching UiEvent::ToolResult, the field is filled in.
Diff
Compacted
System
Error
PlanProposal
Goal-E: plan-mode proposal rendered inline in the transcript.
Replaces the Modal::PlanReview pop-up so the plan is visible
in the message stream without obscuring prior context.
PlanModeRequest
Goal-202: plan-mode entry request rendered inline in the transcript.
Agent called request_plan_mode; user should approve or skip.
Trait Implementations§
Source§impl Clone for TranscriptBlock
impl Clone for TranscriptBlock
Source§fn clone(&self) -> TranscriptBlock
fn clone(&self) -> TranscriptBlock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TranscriptBlock
impl Debug for TranscriptBlock
impl Eq for TranscriptBlock
Source§impl PartialEq for TranscriptBlock
impl PartialEq for TranscriptBlock
Source§fn eq(&self, other: &TranscriptBlock) -> bool
fn eq(&self, other: &TranscriptBlock) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TranscriptBlock
Auto Trait Implementations§
impl Freeze for TranscriptBlock
impl RefUnwindSafe for TranscriptBlock
impl Send for TranscriptBlock
impl Sync for TranscriptBlock
impl Unpin for TranscriptBlock
impl UnsafeUnpin for TranscriptBlock
impl UnwindSafe for TranscriptBlock
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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