smelt.work¶
Tier: UiHost — Requires a terminal UI; calling these from headless mode raises.
Push background work-state tokens. Tokens drive the prompt top-bar indicator and the reactive work_* cells; plugins observe state by subscribing to those cells. UiHost-only.
smelt.work.busy¶
Types: smelt.Reg
Push a busy token onto the per-app stack and return a Reg whose :remove() pops it. While any token is live the prompt top-bar indicator animates with the top token's label, and work_state flips to "busy" (unless an engine-side turn is also live, in which case engine state wins). Multiple plugins can hold tokens concurrently; the most recently pushed label wins for display.
smelt.work.is_busy¶
Return true while at least one smelt.work.busy token is live. Plugins that need richer state (top label, full stack, retry countdown, archived outcome) subscribe to the reactive work_* cells instead.