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.
|
|
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
|
-
//
|
|
429
|
-
//
|
|
430
|
-
//
|
|
431
|
-
//
|
|
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
|
-
//
|
|
437
|
-
//
|
|
438
|
-
//
|
|
439
|
-
//
|
|
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
|
-
|
|
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.
|
|
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": {
|