Skip to main content

EntryKind

Enum EntryKind 

Source
pub enum EntryKind {
    Delivered {
        sender: String,
        epitaph: Option<Epitaph>,
        body: String,
    },
    Model {
        model_id: String,
        blocks: Vec<Block>,
        usage: Usage,
    },
    ToolResult {
        tool_use_id: String,
        content: String,
        is_error: bool,
    },
    Streaming {
        thinking: String,
        text: String,
    },
    Compacted {
        first: usize,
        last: usize,
        summary: String,
    },
    Raw,
}
Expand description

The origin classification of a transcript entry (see the module table).

Variants§

§

Delivered

.md — a delivered message; sender is the filename origin token and body is the deposit’s content with its --- frontmatter envelope stripped (see [classify]). epitaph is Some exactly on a result deposit — a child’s terminal, which asserts how it ended and may say nothing else (ARCH §2.6).

Fields

§sender: String
§epitaph: Option<Epitaph>
§body: String
§

Model

NNN-<model>.json — model output as canonical content blocks, with the provider’s committed usage counters when the bytes carry them.

Fields

§model_id: String
§blocks: Vec<Block>
§usage: Usage
§

ToolResult

NNN-tool.json — a tool_result.

Fields

§tool_use_id: String
§content: String
§is_error: bool
§

Streaming

The live streaming tail folded from the open response.json — the model’s reasoning and its answer so far, held apart because they are two things being said and each becomes its own row, exactly as the Block::Thinking/Block::Text pair of the committed entry that supersedes them will (§7.2 the thinking ruling). Either may be empty: a model that has only thought so far, or one that answered without reasoning, and an empty half is simply no row.

Fields

§thinking: String
§text: String
§

Compacted

A span of entries litany’s compactor deleted — a hole in the NNN counter, standing where they were. first and last are the missing counter values, inclusive, and are the only thing this entry asserts. summary is the conversation’s whole compaction record, which rides the earliest gap and is empty on every other one and wherever the compactor left none — the pairing is unavailable on disk and is not guessed ([compaction]). Virtual: no file backs it, exactly as none backs Streaming.

Fields

§first: usize
§last: usize
§summary: String
§

Raw

Unparseable filename or unparseable bytes — surfaced verbatim rather than dropped (§15 Y12: “surface them in a Raw bucket”).

Trait Implementations§

Source§

impl Clone for EntryKind

Source§

fn clone(&self) -> EntryKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EntryKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for EntryKind

Source§

impl PartialEq for EntryKind

Source§

fn eq(&self, other: &EntryKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for EntryKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.