claude-telegram-mirror 0.2.22 → 0.2.23
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/README.md +3 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ This installs a native Rust binary (`ctm`) via platform-specific optional packag
|
|
|
22
22
|
- **CLI to Telegram**: Mirror Claude's responses, tool usage, and notifications
|
|
23
23
|
- **Telegram to CLI**: Send prompts from Telegram directly to Claude Code
|
|
24
24
|
- **Tool Summarizer**: Human-readable summaries for 30+ command patterns ("Running tests" instead of "Running: Bash")
|
|
25
|
-
- **AskUserQuestion (
|
|
25
|
+
- **AskUserQuestion (both surfaces)**: Claude's interactive multiple-choice question renders natively in the CLI *and* as inline buttons on Telegram — answer from either side. Telegram answers drive the live CLI widget via `tmux send-keys`, with `capture-pane` readiness pacing on multi-select so the confirming Enter only fires once Claude's review screen is on-screen (ADR-015)
|
|
26
26
|
- **Photo & Document Upload**: Send images/files from Telegram, path injected into Claude
|
|
27
27
|
- **Stop/Interrupt**: Type `stop` to send Escape, `kill` to send Ctrl-C
|
|
28
28
|
- **Session Threading**: Each Claude session gets its own Forum Topic
|
|
@@ -153,10 +153,10 @@ Approval buttons only appear in normal mode, not with `--dangerously-skip-permis
|
|
|
153
153
|
|
|
154
154
|
**Flow:**
|
|
155
155
|
1. Claude Code hooks invoke `ctm hook`, which reads the event from stdin
|
|
156
|
-
2. PreToolUse: sends an approval request
|
|
156
|
+
2. PreToolUse: for tool approvals, sends an approval request via socket and blocks for the Telegram response. **AskUserQuestion is *not* intercepted here** — the hook returns fast so Claude renders its native widget in the CLI; the daemon mirrors the question to Telegram from the standard `tool_start` event (ADR-015)
|
|
157
157
|
3. Other hooks: sends JSON to daemon via socket and exits immediately
|
|
158
158
|
4. Daemon forwards messages to Telegram Forum Topic with summarized tool actions
|
|
159
|
-
5. Telegram
|
|
159
|
+
5. Telegram replies are injected into the live CLI via `tmux send-keys` — including AskUserQuestion option/multi-select answers, which drive the native widget directly. **Multi-select uses `tmux capture-pane` readiness pacing** so each keystroke and the confirming Enter only fire once the expected screen has rendered — no blind sleeps (ADR-015). The question shows in **both** the CLI (native) and Telegram, answerable from either
|
|
160
160
|
6. Stop/kill commands send Escape or Ctrl-C to interrupt Claude
|
|
161
161
|
|
|
162
162
|
## Multi-System Architecture
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-telegram-mirror",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"description": "Bidirectional Telegram integration for Claude Code CLI - monitor and control your Claude Code sessions from Telegram",
|
|
5
5
|
"bin": {
|
|
6
6
|
"claude-telegram-mirror": "./scripts/ctm-wrapper.cjs",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"optionalDependencies": {
|
|
52
|
-
"@agidreams/ctm-linux-x64": "0.2.
|
|
53
|
-
"@agidreams/ctm-linux-arm64": "0.2.
|
|
54
|
-
"@agidreams/ctm-darwin-arm64": "0.2.
|
|
55
|
-
"@agidreams/ctm-darwin-x64": "0.2.
|
|
52
|
+
"@agidreams/ctm-linux-x64": "0.2.23",
|
|
53
|
+
"@agidreams/ctm-linux-arm64": "0.2.23",
|
|
54
|
+
"@agidreams/ctm-darwin-arm64": "0.2.23",
|
|
55
|
+
"@agidreams/ctm-darwin-x64": "0.2.23"
|
|
56
56
|
},
|
|
57
57
|
"engines": {
|
|
58
58
|
"node": ">=18.0.0"
|