polygram 0.11.0-rc.8 → 0.11.0-rc.9

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.11.0-rc.8",
4
+ "version": "0.11.0-rc.9",
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 plus history (transcript queries) and polygram-send (out-of-turn IPC sends with file-upload validation) skills.",
6
6
  "keywords": [
7
7
  "telegram",
@@ -425,22 +425,36 @@ class ChannelsProcess extends Process {
425
425
  if (model) claudeArgs.unshift('--model', model);
426
426
  if (effort) claudeArgs.push('--effort', effort);
427
427
 
428
- // Mirror TmuxProcess pattern (lib/process/tmux-process.js:522-525):
429
- // honor opts.permissionMode === 'bypassPermissions' by passing
430
- // --dangerously-skip-permissions. In that mode Claude auto-approves all
431
- // tool uses, so permission_request notifications stop firing (the bridge
432
- // relay becomes inactive — that's the chat owner's choice).
433
- // Default (no bypass): permission_request flows through the relay → TG
434
- // approve/deny buttons via polygram's onApprovalRequired handler.
428
+ // rc.9 (2026-05-26 shumorobot first-turn-dead-zone diagnosis): channels
429
+ // backend defaults to permissionMode='bypassPermissions'. Without it,
430
+ // claude TUI shows the canonical interactive permission prompt for
431
+ // every `mcp__polygram-bridge__reply` call:
435
432
  //
436
- // Trust + dev-channel confirmation dialogs are SEPARATE concerns and
437
- // still need _handleStartupDialogs polling either way — skip-permissions
438
- // only affects per-tool prompts, not workspace-trust or dev-channels
439
- // confirmations.
433
+ // polygram-bridge - reply(...) (MCP)
434
+ // Do you want to proceed?
435
+ // 1. Yes 2. Yes, and don't ask again 3. No
436
+ //
437
+ // Channels mode has no interactive surface — there's no human at the
438
+ // tmux pane to press a number — so every first-turn hangs until the
439
+ // 30-min turn timeout fires. Reproduced + fixed live via
440
+ // `scripts/spikes/channels-first-turn.mjs`: without bypassPermissions
441
+ // the spike times out at 60s with claude "Marinating" forever; with
442
+ // bypassPermissions it replies in ~5s.
443
+ //
444
+ // The bridge DOES relay `notifications/claude/channel/permission_request`
445
+ // (channels-bridge.mjs:258) for the EXPERIMENTAL channel-permission
446
+ // API, but claude TUI doesn't route ordinary MCP tool calls through
447
+ // that channel — it shows the regular TUI prompt. So the relay path
448
+ // isn't reachable from a fresh-spawn channels turn.
449
+ //
450
+ // Config can still override (e.g., chats that genuinely want a
451
+ // different mode set `permissionMode` in chat/topic config); the
452
+ // default ensures bots actually reply out of the box.
440
453
  const permissionMode = topicConfig?.permissionMode
441
454
  || opts.chatConfig?.permissionMode
442
- || opts.permissionMode;
443
- if (permissionMode) claudeArgs.push('--permission-mode', permissionMode);
455
+ || opts.permissionMode
456
+ || 'bypassPermissions';
457
+ claudeArgs.push('--permission-mode', permissionMode);
444
458
  if (permissionMode === 'bypassPermissions') {
445
459
  claudeArgs.push('--dangerously-skip-permissions');
446
460
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polygram",
3
- "version": "0.11.0-rc.8",
3
+ "version": "0.11.0-rc.9",
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": {