polygram 0.12.0-rc.25 → 0.12.0-rc.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,13 +115,20 @@ const STREAMING_HINT_RE = /esc to interrupt/i;
115
115
 
116
116
  // 0.12.0 background-work lifecycle: claude's TUI mode line shows a live
117
117
  // background-shell COUNT while a `run_in_background:true` Bash outlives its turn,
118
- // e.g. `⏵⏵ auto mode on · 1 shell · ← for agents · ↓ to manage`. Confirmed on
119
- // claude 2.1.158 (P0 spike — docs/0.12.0-background-work-lifecycle-plan.md): the
120
- // count is always-present in the viewport mode line while shells run and clears
121
- // IN-PLACE within ~3s when they exit (no stale scrollback). Anchored to the
122
- // `auto mode on` line and matched only against the captured TAIL so a scrolled-off
123
- // history line never trips it. R1: re-validate on each pinned-claude bump.
124
- const BACKGROUND_SHELL_RE = /auto mode on[^\n]*·\s*(\d+)\s+shells?\b/i;
118
+ // e.g. `⏵⏵ bypass permissions on · 1 shell · ← for agents · ↓ to manage`.
119
+ // Confirmed on claude 2.1.158 (P0 spike — docs/0.12.0-background-work-lifecycle-
120
+ // plan.md): the count is always-present in the viewport mode line while shells run
121
+ // and clears IN-PLACE within ~3s when they exit (no stale scrollback).
122
+ //
123
+ // MODE-INDEPENDENT (prod regression fix, 2026-06-04): the original regex anchored
124
+ // on "auto mode on", but EVERY shumorobot session runs "⏵⏵ bypass permissions on"
125
+ // — the spike happened to be captured in auto mode. So the detector never matched
126
+ // in prod and bg-work-status fired zero times. Anchor instead on the `⏵⏵` mode-
127
+ // line glyph (present in auto / bypass / accept-edits modes alike); only the mode
128
+ // label between it and `· N shell` varies. Still matched only against the captured
129
+ // TAIL so a scrolled-off history line never trips it. R1: re-validate on each
130
+ // pinned-claude bump (glyph + `N shell` wording).
131
+ const BACKGROUND_SHELL_RE = /⏵⏵[^\n]*·\s*(\d+)\s+shells?\b/i;
125
132
  // How long a detached background shell may run AFTER its turn resolved (claude
126
133
  // idle) before the stall-watchdog fires one read-only self-check. Override via
127
134
  // the constructor (tests use a small value).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polygram",
3
- "version": "0.12.0-rc.25",
3
+ "version": "0.12.0-rc.26",
4
4
  "description": "Telegram daemon for Claude Code that preserves the OpenClaw per-chat session model. Migration path for OpenClaw users moving to Claude Code.",
5
5
  "main": "lib/ipc/client.js",
6
6
  "bin": {