polygram 0.8.0-rc.34 → 0.8.0-rc.36

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "polygram",
4
- "version": "0.8.0-rc.34",
4
+ "version": "0.8.0-rc.36",
5
5
  "description": "Telegram integration for Claude Code that preserves the OpenClaw per-chat session model. Migration target for OpenClaw users. Multi-bot, multi-chat, per-topic isolation; SQLite transcripts; inline-keyboard approvals. Bundles /polygram:status|logs|pair-code|approvals admin commands and a history skill.",
6
6
  "keywords": [
7
7
  "telegram",
@@ -81,12 +81,17 @@ const DEFAULT_STALL_MS = 45_000;
81
81
  const DEFAULT_FREEZE_MS = 180_000;
82
82
  // rc.32: thinking-deepening cascade thresholds. Calibrated to Ivan DM
83
83
  // 14-day production data (445 turns) — 8% finish <5s, 33% in 5-15s,
84
- // 25% in 15-30s. 8s catches the meaty band, 20s catches the
85
- // mid-bracket. STALL still fires at 45s for the genuinely-long 17%.
84
+ // 25% in 15-30s. rc.35 bump: 8s→12s, 20s→30s. User feedback after
85
+ // rc.32 deploy was that the cascade kicked in too eagerly — most
86
+ // 5-15s turns showed 🤨 briefly before resolving, and the resulting
87
+ // emoji churn felt noisy rather than informative. Bumping deeper to
88
+ // 12s lets the entire 5-15s bracket (33%) resolve on plain 🤔, and
89
+ // deepest to 30s lets the 15-30s bracket (25%) resolve on 🤨 without
90
+ // cascading. STALL still fires at 45s for the genuinely-long 17%.
86
91
  // CODING / TOOL / WEB / WRITING reset the cascade (any state-change
87
92
  // in setState clears the deepening timers).
88
- const DEFAULT_THINKING_DEEPER_MS = 8_000;
89
- const DEFAULT_THINKING_DEEPEST_MS = 20_000;
93
+ const DEFAULT_THINKING_DEEPER_MS = 12_000;
94
+ const DEFAULT_THINKING_DEEPEST_MS = 30_000;
90
95
 
91
96
  // Tool name → state classifier. Case-insensitive substring match so we
92
97
  // don't have to enumerate every existing or future tool. Order matters:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polygram",
3
- "version": "0.8.0-rc.34",
3
+ "version": "0.8.0-rc.36",
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": {
package/polygram.js CHANGED
@@ -2537,19 +2537,7 @@ async function handleMessage(sessionKey, chatId, msg, bot) {
2537
2537
  // (queue-head transition) flipped to THINKING the moment we wrote
2538
2538
  // stdin, even though Claude could spend hundreds of ms loading.
2539
2539
  // Result: long flat 🤔 with nothing happening; users assumed stall.
2540
- //
2541
- // rc.33: also stop typing here. Telegram's "typing…" indicator
2542
- // shows for ~5s after the LAST sendChatAction tick. If we stop
2543
- // typing at turn-end (~5-10s post final reply), the indicator
2544
- // persists 5s past when the user sees the reply — confusing
2545
- // ("bot replied AND is still typing?"). Stopping at the first
2546
- // chunk means typing fades naturally as the streamer emits the
2547
- // bubble. Reactions (THINKING/CODING/etc) take over as the
2548
- // "still working" signal for long agent turns.
2549
- onFirstStream: () => {
2550
- reactor.setState('THINKING');
2551
- stopTyping();
2552
- },
2540
+ onFirstStream: () => reactor.setState('THINKING'),
2553
2541
  });
2554
2542
  const elapsed = ((Date.now() - t0) / 1000).toFixed(1);
2555
2543