pub struct RecentSessionRow {Show 16 fields
pub instance_id: String,
pub instance_name: String,
pub definition_id: String,
pub definition_name: String,
pub provider: String,
pub working_directory: String,
pub identity_id: String,
pub identity_name: String,
pub memory_id: String,
pub memory_name: String,
pub block_id_hint: String,
pub session_id: String,
pub preview: String,
pub node_count: usize,
pub last_active_at: i64,
pub has_snapshot: bool,
}Expand description
One row of the AgentPicker’s “Recent sessions” list. Mirrors
NamedAgentRow but adds preview fields read from the per-block
output.state.json snapshot in filestore. node_count == 0 and an
empty preview mean the snapshot wasn’t readable (the block may
pre-date the persistence flow or have crashed before its first
30s snapshot) — the row still surfaces so the user can reattach.
Fields§
§instance_id: String§instance_name: String§definition_id: String§definition_name: String§provider: String§working_directory: String§identity_id: String§identity_name: String§memory_id: String§memory_name: String§block_id_hint: StringThe pane / block whose filestore zone holds the conversation. Empty when the instance row exists but no SQLite row resolved the block_id (cross-version registry rows). Reattach falls back to the working-directory continuation path in that case.
session_id: StringThe CLI-emitted session id (session_id for Claude/Gemini,
thread_id for Codex) captured during the prior run. Empty
when the row predates the capture, the CLI didn’t emit a
session id, or the instance was created via a path that
doesn’t go through the spawn that captures it. Used by the
picker reattach flow to populate agent:sessionid on the new
block’s meta so the spawned subprocess gets a real
--resume <sid> on the FIRST turn instead of starting a
fresh conversation that re-injects the startup context.
preview: StringSnapshot of the first user message in the conversation (up to 240 chars, newlines collapsed). Empty when the snapshot doesn’t exist or doesn’t contain a user_message node yet.
node_count: usizeTotal nodes.length from the snapshot. 0 when unavailable.
last_active_at: i64Last activity timestamp (filestore modts when the snapshot
exists, otherwise started_at). Drives the sort order.
has_snapshot: boolWhether output.state.json was found in filestore for this
block. False when the snapshot doesn’t exist yet (no preview)
or the block_id_hint was empty.
Trait Implementations§
Source§impl Clone for RecentSessionRow
impl Clone for RecentSessionRow
Source§fn clone(&self) -> RecentSessionRow
fn clone(&self) -> RecentSessionRow
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecentSessionRow
impl Debug for RecentSessionRow
Source§impl<'de> Deserialize<'de> for RecentSessionRow
impl<'de> Deserialize<'de> for RecentSessionRow
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>,
Auto Trait Implementations§
impl Freeze for RecentSessionRow
impl RefUnwindSafe for RecentSessionRow
impl Send for RecentSessionRow
impl Sync for RecentSessionRow
impl Unpin for RecentSessionRow
impl UnwindSafe for RecentSessionRow
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.