pub struct SessionIndexEntry {Show 29 fields
pub id: String,
pub kind: SessionKind,
pub rel_path: String,
pub title: String,
pub title_version: u64,
pub pinned: bool,
pub parent_session_id: Option<String>,
pub root_session_id: String,
pub spawn_depth: u32,
pub model: String,
pub model_ref: Option<ProviderModelRef>,
pub reasoning_effort: Option<ReasoningEffort>,
pub gold_config_json: Option<String>,
pub created_by_schedule_id: Option<String>,
pub schedule_run_id: Option<String>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub last_activity_at: DateTime<Utc>,
pub message_count: usize,
pub has_attachments: bool,
pub has_pending_question: bool,
pub plan_mode: Option<PlanModeState>,
pub bypass_permissions: bool,
pub last_run_status: Option<String>,
pub last_run_error: Option<String>,
pub token_usage: Option<TokenBudgetUsage>,
pub subagent_type: Option<String>,
pub lifecycle: Option<String>,
pub resident_name: Option<String>,
}Fields§
§id: String§kind: SessionKind§rel_path: StringPath relative to bamboo_home_dir (e.g. “sessions/
title: String§title_version: u64§pinned: bool§parent_session_id: Option<String>§root_session_id: String§spawn_depth: u32§model: String§model_ref: Option<ProviderModelRef>§reasoning_effort: Option<ReasoningEffort>§gold_config_json: Option<String>Raw session-level Gold config JSON mirrored from session.metadata["gold_config"].
Kept as a string here to avoid making infrastructure depend on bamboo-engine.
created_by_schedule_id: Option<String>If the session was created by a schedule, store the schedule id here for fast filtering.
schedule_run_id: Option<String>If the session was created by a specific schedule run, keep the run id here.
created_at: DateTime<Utc>§updated_at: DateTime<Utc>§last_activity_at: DateTime<Utc>§message_count: usize§has_attachments: bool§has_pending_question: boolWhether the session currently has a pending question awaiting user response.
Mirrored into the index from session.has_pending_question() so the frontend
can display the question dialog badge without loading session.json.
plan_mode: Option<PlanModeState>Active plan mode runtime state mirrored into the index from
session.agent_runtime_state.plan_mode, so lightweight session-list/detail
APIs can surface plan mode without loading every session.json.
bypass_permissions: boolPer-session “bypass permissions” toggle mirrored into the index from
session.agent_runtime_state.bypass_permissions, so the session-list API
can surface it without loading every session.json.
last_run_status: Option<String>Last known run status for this session (“pending” | “running” | “completed” | “error” | “cancelled” | “skipped”).
last_run_error: Option<String>Last known terminal error message, if any.
token_usage: Option<TokenBudgetUsage>Last token usage information (updated after each LLM call).
Stored in the global index so the frontend can display token usage without loading full session.json for every row.
subagent_type: Option<String>SubAgent profile id for child sessions spawned by SubAgent.create.
Mirrored into the index from session.metadata["subagent_type"] so the
frontend can render role badges (e.g. “general-purpose”, “plan”) on the
child-session list without loading each session.json.
None for root sessions and for legacy children created before this
field was introduced.
lifecycle: Option<String>Child lifecycle: Some("resident") for a reusable resident agent (a
stable session reused for successive tasks); None/absent for the
default one-shot child. Mirrored from session.metadata["lifecycle"].
resident_name: Option<String>For a resident agent, the stable reuse key (scoped to root_session_id).
Mirrored from session.metadata["resident_name"]; lets a later
SubAgent.create find and reuse the resident without loading session.json.
Trait Implementations§
Source§impl Clone for SessionIndexEntry
impl Clone for SessionIndexEntry
Source§fn clone(&self) -> SessionIndexEntry
fn clone(&self) -> SessionIndexEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more