claude-telegram-mirror 0.2.18 → 0.2.20

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.
Files changed (2) hide show
  1. package/README.md +4 -4
  2. 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 Rendering**: Inline buttons for Claude's interactive questions
25
+ - **AskUserQuestion (no keystrokes)**: Inline buttons for Claude's interactive questions; option answers are returned to Claude structurally via the hook's `updatedInput` instead of fragile keystroke injection
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 approval request via socket, waits for Telegram response
156
+ 2. PreToolUse: sends an approval request (or, for AskUserQuestion, a question request) via socket and blocks for the Telegram response
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 replies are injected into CLI via `tmux send-keys`
159
+ 5. Telegram text replies are injected into the CLI via `tmux send-keys`. **AskUserQuestion option/multi-select answers are returned structurally via the hook's `updatedInput` — no keystrokes** (only free-text answers fall back to injection)
160
160
  6. Stop/kill commands send Escape or Ctrl-C to interrupt Claude
161
161
 
162
162
  ## Multi-System Architecture
@@ -284,7 +284,7 @@ ctm install-hooks --project
284
284
  | CLI -> Telegram | Claude responds | Claude: ... |
285
285
  | CLI -> Telegram | Session starts | New Forum Topic created |
286
286
  | CLI -> Telegram | Context compacting | Notification sent |
287
- | CLI -> Telegram | AskUserQuestion | Inline buttons rendered |
287
+ | CLI <-> Telegram | AskUserQuestion | Inline buttons; answers returned structurally (no keystrokes) |
288
288
  | Telegram -> CLI | User sends message | Injected via tmux |
289
289
  | Telegram -> CLI | User sends photo | Downloaded, path injected |
290
290
  | Telegram -> CLI | User types "stop" | Sends Escape interrupt |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-telegram-mirror",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
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.18",
53
- "@agidreams/ctm-linux-arm64": "0.2.18",
54
- "@agidreams/ctm-darwin-arm64": "0.2.18",
55
- "@agidreams/ctm-darwin-x64": "0.2.18"
52
+ "@agidreams/ctm-linux-x64": "0.2.20",
53
+ "@agidreams/ctm-linux-arm64": "0.2.20",
54
+ "@agidreams/ctm-darwin-arm64": "0.2.20",
55
+ "@agidreams/ctm-darwin-x64": "0.2.20"
56
56
  },
57
57
  "engines": {
58
58
  "node": ">=18.0.0"