Expand description
Short session signals the node reads off its own PTY screens: a provider CLI hit a
usage/rate limit, needs a login, or is ready again. Only state changes are sent to
core (task.session_signal over the node-call channel); screens never leave the node
for this. Detection is heuristic text matching on the rendered screen and is kept
per provider-agnostic phrase lists so a CLI wording change degrades to “no signal”.
Structs§
- Detector
- Per-session change detector with a scan budget (at most one scan per
every). - Outgoing
- One outgoing signal.
Enums§
Functions§
- classify
- Classify one screen. Lines are scanned bottom-up: the newest state wins. A usage report
(
/usage,/status) names its windows (“5h limit”, “Weekly limit”) without any being hit, so it giveslimitonly when one of its windows reads 100% used. - emit
- Send one signal straight to core (no screen detector).
- feed
- Called from the frame publisher; cheap when no sink is installed.
- set_
sink - Install the sink (once, at startup). Without a sink, screens are not scanned.
- usage_
screen_ used - The highest window usage a provider usage report shows (claude
/usage: “82% used”, codex/status: “18% left”), orNonewhen the screen is not such a report.