Skip to main content

Folio

Struct Folio 

Source
pub struct Folio {
    pub source: PathBuf,
    pub recorded: Vec<Recorded>,
}
Expand description

One rendered session: the unit the tool turns into a single HTML file.

Fields§

§source: PathBuf§recorded: Vec<Recorded>

The session as read, in file order, so a harness note keeps its place among the turns it stands between.

Implementations§

Source§

impl Folio

Source

pub fn read(source: &Path) -> Result<Self>

Reads a session JSONL file, keeping the lines that carry conversation and the notes the harness wrote around them.

Source

pub fn turns(&self) -> impl Iterator<Item = &Turn>

The conversation alone, for the figures that are about what the model was sent and what it wrote.

Source

pub fn session_id(&self) -> &str

Source

pub fn peek(source: &Path) -> SessionPeek

Cheaply scans a session’s listing metadata (its title and working directory) without parsing the conversation, tolerating malformed lines so one bad session never breaks a picker that lists every session. This is deliberately lenient where Folio::read is strict: a label is best-effort, a render is not.

Source

pub fn output(&self) -> Option<u64>

The output across the session, or None when no turn reports usage. Output totals, since each turn produces its own.

Source

pub fn largest_input(&self) -> Option<u64>

The largest input any one turn took, or None when no turn reports usage: how big the conversation ever got. A high-water mark rather than a sum, since every turn is sent the whole conversation and summing that would count the same text once per turn that saw it.

Source

pub fn panels(&self) -> Vec<Panel>

Folds the raw stream into the display one: drops /clear boundaries, merges each tool-result turn back into the assistant turn it answers so a call and its result render as one panel, and lifts the turns the harness wrote for itself out of the conversation and into glosses.

Trait Implementations§

Source§

impl Debug for Folio

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Folio

§

impl RefUnwindSafe for Folio

§

impl Send for Folio

§

impl Sync for Folio

§

impl Unpin for Folio

§

impl UnsafeUnpin for Folio

§

impl UnwindSafe for Folio

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> 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

type Error = Infallible

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.