polygram 0.10.0-rc.35 → 0.10.0-rc.37
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.10.0-rc.
|
|
4
|
+
"version": "0.10.0-rc.37",
|
|
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",
|
|
@@ -109,7 +109,15 @@ function isTerminal(phase) {
|
|
|
109
109
|
* doesn't gate any transitions; future commits MAY tighten this.
|
|
110
110
|
*/
|
|
111
111
|
const ALLOWED_TRANSITIONS = Object.freeze({
|
|
112
|
-
|
|
112
|
+
// PASTE_PARKED is reachable directly from QUEUED on cold-start +
|
|
113
|
+
// stacked-message flows: claude TUI emits `queue-operation:enqueue`
|
|
114
|
+
// before the corresponding `user-message` when it is still
|
|
115
|
+
// cold-starting or finishing a prior turn. The predicate sees the
|
|
116
|
+
// enqueue first and sets PASTE_PARKED without ever observing the
|
|
117
|
+
// PASTED_UNCONFIRMED intermediate. rc.35 production caught this as
|
|
118
|
+
// log noise once Commit 3 (`_awaitSettle`) started consuming
|
|
119
|
+
// predicate fields more strictly.
|
|
120
|
+
[TurnPhase.QUEUED]: new Set([TurnPhase.PASTED_UNCONFIRMED, TurnPhase.PASTE_PARKED, TurnPhase.FAILED]),
|
|
113
121
|
[TurnPhase.PASTED_UNCONFIRMED]: new Set([TurnPhase.PASTE_PARKED, TurnPhase.SUBMITTED, TurnPhase.STREAMING, TurnPhase.TOOL_RUNNING, TurnPhase.SUBAGENT_RUNNING, TurnPhase.APPROVAL_PENDING, TurnPhase.QUIET, TurnPhase.DONE, TurnPhase.FAILED]),
|
|
114
122
|
[TurnPhase.PASTE_PARKED]: new Set([TurnPhase.SUBMITTED, TurnPhase.STREAMING, TurnPhase.TOOL_RUNNING, TurnPhase.SUBAGENT_RUNNING, TurnPhase.APPROVAL_PENDING, TurnPhase.QUIET, TurnPhase.DONE, TurnPhase.FAILED]),
|
|
115
123
|
[TurnPhase.SUBMITTED]: new Set([TurnPhase.STREAMING, TurnPhase.TOOL_RUNNING, TurnPhase.SUBAGENT_RUNNING, TurnPhase.APPROVAL_PENDING, TurnPhase.QUIET, TurnPhase.DONE, TurnPhase.FAILED]),
|
|
@@ -57,6 +57,17 @@ const POLYGRAM_DISPLAY_HINT = [
|
|
|
57
57
|
'- Headers `#`, `##`, `###` render as plain text — use **bold** for emphasis.',
|
|
58
58
|
'- Horizontal rules render as a thin divider line.',
|
|
59
59
|
'- Long replies stream in chunks; prefer concise structure over walls of text.',
|
|
60
|
+
'',
|
|
61
|
+
'### NEVER emit shell-context canned strings — HARD RULE',
|
|
62
|
+
'',
|
|
63
|
+
'You are running as a Telegram chat bot, NOT as a script being piped into a shell. Certain phrases are CLI-context boilerplate from the underlying environment and MUST NEVER appear in a reply, because the user sees them as a literal message from you and they look like a system error:',
|
|
64
|
+
'',
|
|
65
|
+
'- `No response requested.`',
|
|
66
|
+
'- `No response needed.`',
|
|
67
|
+
'- `Continuing...` as a standalone reply',
|
|
68
|
+
'- Any other shell-prompt-style filler that acknowledges silence',
|
|
69
|
+
'',
|
|
70
|
+
'If a user message is short, ambiguous, or feels like a no-op acknowledgement (e.g. `okay`, `ok`, `yes`, `got it`, `thanks`), reply with a brief substantive line — acknowledge what you understood and what (if anything) you will do next. If you genuinely have nothing useful to say, ask ONE specific clarifying question. NEVER emit a placeholder or a shell-style canned string — the chat surface has no silent-no-op state. Every reply must be intentional content.',
|
|
60
71
|
].join('\n');
|
|
61
72
|
|
|
62
73
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polygram",
|
|
3
|
-
"version": "0.10.0-rc.
|
|
3
|
+
"version": "0.10.0-rc.37",
|
|
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": {
|