polygram 0.8.0-rc.31 → 0.8.0-rc.32
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.
- package/.claude-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/polygram.js +16 -28
|
@@ -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.
|
|
4
|
+
"version": "0.8.0-rc.32",
|
|
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",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polygram",
|
|
3
|
-
"version": "0.8.0-rc.
|
|
3
|
+
"version": "0.8.0-rc.32",
|
|
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
|
@@ -2414,36 +2414,24 @@ async function handleMessage(sessionKey, chatId, msg, bot) {
|
|
|
2414
2414
|
availableEmojis,
|
|
2415
2415
|
logError: (m) => console.error(`[${label}] ${m}`),
|
|
2416
2416
|
});
|
|
2417
|
-
//
|
|
2418
|
-
//
|
|
2419
|
-
//
|
|
2420
|
-
//
|
|
2421
|
-
//
|
|
2422
|
-
// transcribeVoiceAttachments, skip QUEUED — its 👀 would overwrite the
|
|
2423
|
-
// ack within milliseconds, wasting an API call and flickering. Let 👂
|
|
2424
|
-
// stay until THINKING flips it to 🤔 when Claude actually starts work.
|
|
2425
|
-
if (!voiceAck.ackEmitted) {
|
|
2426
|
-
reactor.setState('QUEUED');
|
|
2427
|
-
}
|
|
2428
|
-
|
|
2429
|
-
// rc.31: timer-based 👀 → 🤔 transition. After 300ms in QUEUED,
|
|
2430
|
-
// promote to THINKING regardless of whether the SDK has emitted
|
|
2431
|
-
// any stream events yet. Reasoning: THINKING is "the bot is
|
|
2432
|
-
// working on your reply" — a generic processing signal, NOT
|
|
2433
|
-
// specifically about extended-thinking content blocks. Pre-rc.31
|
|
2434
|
-
// we waited for first text/tool_use, which under effort=high
|
|
2435
|
-
// could mean 10+ s sitting at 👀 with no visible progress.
|
|
2417
|
+
// rc.32: skip QUEUED (👀) entirely for first-message-in-chain. Go
|
|
2418
|
+
// straight to THINKING (🤔). The 👀 → 🤔 two-hop didn't add
|
|
2419
|
+
// user-readable signal — Telegram's ✓✓ already conveys "delivered",
|
|
2420
|
+
// and the technical "received-but-not-started vs thinking"
|
|
2421
|
+
// distinction is operator-debugging context, not user UX.
|
|
2436
2422
|
//
|
|
2437
|
-
//
|
|
2438
|
-
//
|
|
2439
|
-
//
|
|
2423
|
+
// Follow-up messages during an in-flight turn still go through the
|
|
2424
|
+
// autosteer path (✍ AUTOSTEERED state) — that's the visual that
|
|
2425
|
+
// means "captured while bot is busy, will incorporate." This
|
|
2426
|
+
// change ONLY affects the trigger message of a fresh turn:
|
|
2427
|
+
// previously 👀 → (300ms timer) → 🤔, now just 🤔 immediately.
|
|
2440
2428
|
//
|
|
2441
|
-
//
|
|
2442
|
-
//
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2429
|
+
// 0.7.4 (item G) voice-ack guard preserved: if 👂 is up from
|
|
2430
|
+
// voice transcription, don't overwrite it. Let onFirstStream
|
|
2431
|
+
// promote to 🤔 when Claude actually starts work.
|
|
2432
|
+
if (!voiceAck.ackEmitted) {
|
|
2433
|
+
reactor.setState('THINKING');
|
|
2434
|
+
}
|
|
2447
2435
|
|
|
2448
2436
|
// Mark the inbound row terminal so boot replay doesn't pick it up
|
|
2449
2437
|
// again. Must fire down EVERY non-throwing exit path (early returns
|