pub struct SessionRead(/* private fields */);Expand description
Deliberately does not implement Clone: read().clone() clones the Session,
preserving the existing detached-snapshot read contract.
Methods from Deref<Target = Session>§
pub fn subagent_type(&self) -> Option<String>
pub fn last_run_status(&self) -> Option<String>
pub fn last_run_error(&self) -> Option<String>
pub fn provider_name(&self) -> Option<String>
Sourcepub fn pending_injected_messages(&self) -> Option<Vec<Value>>
pub fn pending_injected_messages(&self) -> Option<Vec<Value>>
Read the pending injected messages, decoding the legacy JSON-string form
defensively. Malformed legacy JSON yields None (never a panic).
Sourcepub fn has_pending_injected_messages(&self) -> bool
pub fn has_pending_injected_messages(&self) -> bool
True when there are queued injected messages on either plane.
pub fn session_inbox_admission(&self) -> Option<&SessionInboxAdmissionState>
Sourcepub fn selected_skill_ids(&self) -> Option<Vec<String>>
pub fn selected_skill_ids(&self) -> Option<Vec<String>>
Read selected skill ids. The typed field is preferred; the legacy
fallback parses the stored JSON-array string defensively (malformed →
None).
Sourcepub fn skill_mode(&self) -> Option<String>
pub fn skill_mode(&self) -> Option<String>
Read the skill mode. Resolution order: typed field, then legacy
skill_mode key, then the historical mode key. When both legacy keys
are present and disagree, a warning is logged and skill_mode wins.
pub fn reasoning_effort_meta(&self) -> Option<String>
pub fn enhance_prompt(&self) -> Option<String>
pub fn task_list_version_meta(&self) -> Option<String>
pub fn todo_list_version_meta(&self) -> Option<String>
pub fn workspace_path_meta(&self) -> Option<String>
Sourcepub fn project_id_meta(&self) -> Option<String>
pub fn project_id_meta(&self) -> Option<String>
Read the stable Project identity, preferring typed runtime metadata and falling back to the legacy metadata string during migration.
Sourcepub fn effective_token_budget(&self) -> Option<&TokenBudget>
pub fn effective_token_budget(&self) -> Option<&TokenBudget>
The effective token budget: a genuine/child override (token_budget) if
set, otherwise the current round’s resolved-budget snapshot
(resolved_token_budget). Both are None until the first resolution.
Downstream readers should use this rather than token_budget directly so
they observe the engine-resolved budget without persisting it. Note the
snapshot is returned regardless of which model it was resolved for; that is
safe because resolve_token_budget runs at round start (re-keying to the
current model) before any reader — don’t call this expecting model-freshness
without a preceding same-round resolve. (#180)