#[non_exhaustive]pub struct StatusContext {
pub tool: Tool,
pub model: Option<ModelInfo>,
pub workspace: Option<WorkspaceInfo>,
pub context_window: Option<ContextWindow>,
pub cost: Option<CostMetrics>,
pub effort: Option<EffortLevel>,
pub vim: Option<VimMode>,
pub output_style: Option<OutputStyle>,
pub agent_name: Option<String>,
pub version: Option<String>,
pub raw: Arc<Value>,
}Expand description
The canonical, tool-agnostic input to the rendering pipeline. Arc
around raw keeps StatusContext::clone at O(1) when segments cache.
The stdin-payload rate_limits field is deliberately NOT parsed:
ctx.usage() (OAuth endpoint + JSONL fallback) is strictly richer,
per docs/specs/rate-limit-segments.md.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.tool: Tool§model: Option<ModelInfo>Per ADR-0014: None when the model wrapper is missing or
malformed. Segments that depend on it hide.
workspace: Option<WorkspaceInfo>Per ADR-0014: None when the workspace wrapper is missing or
malformed (including a missing/null project_dir). Segments
that depend on it hide.
context_window: Option<ContextWindow>§cost: Option<CostMetrics>§effort: Option<EffortLevel>§vim: Option<VimMode>§output_style: Option<OutputStyle>§agent_name: Option<String>Active sub-agent name (collapsed from agent.name per ADR-0008).
Invariant: Some(s) always carries a non-empty s; the
parser folds null/missing/empty to None. See lsm-srvz for the
follow-up to lift this into the type via a NonEmptyString.
version: Option<String>Tool CLI version string from the top-level version field
(e.g. Claude Code emits "2.1.90"). Trimmed; folds
null/missing/empty/whitespace-only to None. Per
docs/specs/input-schema.md, both Claude Code 2.x and Qwen
Code emit this; it is no longer a tool-detection discriminator.
raw: Arc<Value>Trait Implementations§
Source§impl Clone for StatusContext
impl Clone for StatusContext
Source§fn clone(&self) -> StatusContext
fn clone(&self) -> StatusContext
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more