pub enum TranscriptBody {
User {
content: Vec<Value>,
},
Agent {
chunks: Vec<Value>,
streaming: bool,
},
Thought {
chunks: Vec<Value>,
streaming: bool,
},
Tool {
call: Value,
terminal_outputs: Vec<TerminalOutputRecord>,
terminal_refs: Vec<String>,
presentation: Option<Box<ToolCallPresentation>>,
},
TerminalOutput {
record: TerminalOutputRecord,
},
Plan {
plan: Value,
},
PlanProposal {
proposal_id: String,
plan: String,
},
System {
text: String,
},
}Expand description
The current value of one logical transcript item. ACP structures whose schemas can grow are kept as JSON values, while logical item identity and lifecycle remain controller-owned and stable.
Variants§
User
Agent
Fields
Thought
Fields
Tool
Fields
call: ValueComplete current ACP ToolCall, updated field-for-field as
ToolCallUpdate notifications arrive.
terminal_outputs: Vec<TerminalOutputRecord>Output of the terminals this call’s content refers to. It is a
sibling of call rather than part of it because ToolCall::update
replaces content wholesale, which would discard anything injected
into the stored ACP value.
terminal_refs: Vec<String>Every terminal this call has ever referred to. Agents that replace
content wholesale can drop a terminal reference before the
terminal is reaped, so the current call is not enough to decide
where a terminal’s output belongs.
presentation: Option<Box<ToolCallPresentation>>Cached label data used by Rich and browser projections. Older
transcript items omit this and derive it from call when read.
TerminalOutput
Terminal output that no tool call refers to yet. It becomes a
Tool item’s terminal_outputs entry as soon as a call naming the
terminal arrives, and stays here permanently otherwise so output is
never dropped.
Fields
record: TerminalOutputRecordPlan
Fields
PlanProposal
A plan the harness asked the user to approve, captured where the decision happened so it renders inline and survives restart and export.
It is a record of the proposal, not conversation input: Hel never replays it to a model as a user or agent message.
Fields
System
Trait Implementations§
Source§impl Clone for TranscriptBody
impl Clone for TranscriptBody
Source§impl Debug for TranscriptBody
impl Debug for TranscriptBody
Source§impl<'de> Deserialize<'de> for TranscriptBody
impl<'de> Deserialize<'de> for TranscriptBody
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for TranscriptBody
Source§impl PartialEq for TranscriptBody
impl PartialEq for TranscriptBody
Source§impl Serialize for TranscriptBody
impl Serialize for TranscriptBody
impl StructuralPartialEq for TranscriptBody
Auto Trait Implementations§
impl Freeze for TranscriptBody
impl RefUnwindSafe for TranscriptBody
impl Send for TranscriptBody
impl Sync for TranscriptBody
impl Unpin for TranscriptBody
impl UnsafeUnpin for TranscriptBody
impl UnwindSafe for TranscriptBody
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.