@a1hvdy/cc-openclaw 0.26.2 → 0.26.4

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.
@@ -0,0 +1,97 @@
1
+ /**
2
+ * src/channels/telegram-mirror/askuser.ts — v0.26.3 M5.
3
+ *
4
+ * Renders Claude Code's AskUserQuestion tool as native Telegram inline
5
+ * keyboards, "next-turn model" (Path A, chosen by A1 2026-05-20):
6
+ *
7
+ * agent calls AskUserQuestion → turn ends
8
+ * → we send a keyboard message (single-select: one button per option +
9
+ * "✍️ Write something else"; multi-select: checkbox toggles + Submit)
10
+ * → user taps → api.registerInteractiveHandler fires
11
+ * → we answer the callback, edit the message to show the choice, and
12
+ * api.enqueueNextTurnInjection() queues the answer as context for the
13
+ * agent's NEXT turn (it is acted on when the next message runs — the
14
+ * documented primitive injects context, it does not start a turn).
15
+ *
16
+ * Feasibility proven 2026-05-20: the headless subprocess DOES emit an
17
+ * AskUserQuestion tool_use (pushToolUse name=AskUserQuestion). The tool emits
18
+ * twice (dual content_block_start + assistant-block), so capture dedups by
19
+ * tool_use id.
20
+ *
21
+ * Telegram has no ANSI color — checkboxes use ☐/☑ glyphs.
22
+ */
23
+ /** Namespace prefix for callback_data so api.registerInteractiveHandler routes
24
+ * taps here. Matched at the first ':' by the gateway (must be [A-Za-z0-9._-]+). */
25
+ export declare const ASKUSER_NS = "ccmirror";
26
+ interface QOption {
27
+ label: string;
28
+ description?: string;
29
+ }
30
+ interface ParsedQuestion {
31
+ header: string;
32
+ question: string;
33
+ multiSelect: boolean;
34
+ options: QOption[];
35
+ }
36
+ /** Minimal subset of the registerInteractiveHandler ctx we use. */
37
+ export interface InteractiveCtx {
38
+ callback: {
39
+ id?: string;
40
+ data?: string;
41
+ namespace?: string;
42
+ payload?: string;
43
+ };
44
+ chatId?: string | number;
45
+ conversationId?: string;
46
+ sessionKey?: string;
47
+ threadId?: number;
48
+ respond?: {
49
+ editMessage?: (text: string) => Promise<unknown>;
50
+ answer?: (text?: string) => Promise<unknown>;
51
+ };
52
+ }
53
+ /** Minimal subset of the plugin api we use (next-turn injection). */
54
+ export interface InjectApi {
55
+ enqueueNextTurnInjection?: (injection: {
56
+ sessionKey: string;
57
+ text: string;
58
+ placement?: 'prepend_context' | 'append_context';
59
+ idempotencyKey?: string;
60
+ }) => unknown;
61
+ }
62
+ /** Record the real agent session key for a chat (called from inbound before_dispatch). */
63
+ export declare function rememberSessionKey(chatId: string, sessionKey: string | undefined): void;
64
+ /** Parse the FIRST question from an AskUserQuestion tool input. Defensive —
65
+ * returns undefined if the shape isn't usable (no fabrication). */
66
+ export declare function parseFirstQuestion(input: Record<string, unknown> | undefined): ParsedQuestion | undefined;
67
+ /**
68
+ * Capture an AskUserQuestion tool_use and render the keyboard. Called from
69
+ * turn-bridge when name === 'AskUserQuestion'. Dedups the dual-emission by
70
+ * tool_use id. Best-effort: a send failure must not break the turn.
71
+ */
72
+ export declare function captureAskUserQuestion(chatId: string, threadId: number | undefined, input: Record<string, unknown> | undefined, toolUseId: string | undefined): Promise<void>;
73
+ /**
74
+ * Handle an inline-button tap routed from api.registerInteractiveHandler.
75
+ * Resolves the callback payload, updates state, and on a terminal choice
76
+ * (single-select option, multi-select Submit) injects the answer for the next
77
+ * turn. "Write something else" just prompts the user to type — their typed
78
+ * message becomes the next turn naturally, so no injection is needed.
79
+ */
80
+ export declare function handleTap(ctx: InteractiveCtx, api: InjectApi): Promise<void>;
81
+ /** True if an inbound message text is actually an AskUserQuestion button tap.
82
+ * The gateway delivers taps on plugin-sent keyboards as before_dispatch
83
+ * messages with text = the callback_data (`ccmirror:<id>`), NOT as routed
84
+ * interactive-handler callbacks — so we intercept them in before_dispatch. */
85
+ export declare function isAskUserCallback(text: string): boolean;
86
+ /**
87
+ * Handle a tap that arrived as a before_dispatch message (text=`ccmirror:<id>`).
88
+ * Builds a synthetic ctx (conversationId = chatId resolves the remembered
89
+ * session key) and runs the normal tap logic. Caller MUST claim the event so
90
+ * the literal callback_data never reaches the agent.
91
+ */
92
+ export declare function handleTapData(text: string, chatId: string, api: InjectApi): Promise<void>;
93
+ /** Test-only — reset module state. */
94
+ export declare function _resetAskUserForTests(): void;
95
+ /** Test-only — peek pending question count. */
96
+ export declare function _pendingCount(): number;
97
+ export {};
@@ -0,0 +1,267 @@
1
+ /**
2
+ * src/channels/telegram-mirror/askuser.ts — v0.26.3 M5.
3
+ *
4
+ * Renders Claude Code's AskUserQuestion tool as native Telegram inline
5
+ * keyboards, "next-turn model" (Path A, chosen by A1 2026-05-20):
6
+ *
7
+ * agent calls AskUserQuestion → turn ends
8
+ * → we send a keyboard message (single-select: one button per option +
9
+ * "✍️ Write something else"; multi-select: checkbox toggles + Submit)
10
+ * → user taps → api.registerInteractiveHandler fires
11
+ * → we answer the callback, edit the message to show the choice, and
12
+ * api.enqueueNextTurnInjection() queues the answer as context for the
13
+ * agent's NEXT turn (it is acted on when the next message runs — the
14
+ * documented primitive injects context, it does not start a turn).
15
+ *
16
+ * Feasibility proven 2026-05-20: the headless subprocess DOES emit an
17
+ * AskUserQuestion tool_use (pushToolUse name=AskUserQuestion). The tool emits
18
+ * twice (dual content_block_start + assistant-block), so capture dedups by
19
+ * tool_use id.
20
+ *
21
+ * Telegram has no ANSI color — checkboxes use ☐/☑ glyphs.
22
+ */
23
+ import { CallbackMap } from './callback-mapping.js';
24
+ import { sendTg, editTg, telegramApi } from '../../lib/telegram-bot-api.js';
25
+ /** Namespace prefix for callback_data so api.registerInteractiveHandler routes
26
+ * taps here. Matched at the first ':' by the gateway (must be [A-Za-z0-9._-]+). */
27
+ export const ASKUSER_NS = 'ccmirror';
28
+ const _cb = new CallbackMap();
29
+ const _questions = new Map();
30
+ const _seenToolUse = new Set();
31
+ // v0.26.4 — chatId → real agent session key (e.g. agent:main:telegram:direct:NNN).
32
+ // The gateway's tap ctx only carries conversationId = String(chatId), but
33
+ // enqueueNextTurnInjection matches the AGENT session-store key. The inbound
34
+ // before_dispatch event carries the true sessionKey; remember it per chat so a
35
+ // tap (which arrives after the turn, when the card is gone) can resolve it.
36
+ const _chatSessionKeys = new Map();
37
+ /** Record the real agent session key for a chat (called from inbound before_dispatch). */
38
+ export function rememberSessionKey(chatId, sessionKey) {
39
+ if (chatId && sessionKey)
40
+ _chatSessionKeys.set(chatId, sessionKey);
41
+ }
42
+ /** Parse the FIRST question from an AskUserQuestion tool input. Defensive —
43
+ * returns undefined if the shape isn't usable (no fabrication). */
44
+ export function parseFirstQuestion(input) {
45
+ const questions = input?.questions;
46
+ if (!Array.isArray(questions) || questions.length === 0)
47
+ return undefined;
48
+ const q = questions[0];
49
+ const question = typeof q.question === 'string' ? q.question : '';
50
+ if (!question)
51
+ return undefined;
52
+ const header = typeof q.header === 'string' ? q.header : 'Question';
53
+ const multiSelect = q.multiSelect === true;
54
+ const rawOpts = Array.isArray(q.options) ? q.options : [];
55
+ const options = [];
56
+ for (const o of rawOpts) {
57
+ const oo = (o ?? {});
58
+ const label = typeof oo.label === 'string' ? oo.label : '';
59
+ if (!label)
60
+ continue;
61
+ options.push(typeof oo.description === 'string' ? { label, description: oo.description } : { label });
62
+ }
63
+ if (options.length === 0)
64
+ return undefined;
65
+ return { header, question, multiSelect, options };
66
+ }
67
+ function shortQid() {
68
+ return Math.random().toString(36).slice(2, 8);
69
+ }
70
+ function bodyText(s) {
71
+ const lines = [`❓ ${s.header}`, s.question];
72
+ // v0.26.4 polish — list options with their descriptions in the body (buttons
73
+ // only show the label, so descriptions would otherwise be lost).
74
+ const described = s.options.filter((o) => o.description);
75
+ if (described.length > 0) {
76
+ lines.push('');
77
+ s.options.forEach((o, i) => {
78
+ lines.push(o.description ? `${i + 1}. ${o.label} — ${o.description}` : `${i + 1}. ${o.label}`);
79
+ });
80
+ }
81
+ if (s.multiSelect)
82
+ lines.push('', '(select one or more, then Submit)');
83
+ return lines.join('\n');
84
+ }
85
+ /** Build the inline keyboard for a question. callback_data is
86
+ * `ccmirror:<CallbackMap id>` so the gateway routes taps to our handler. */
87
+ function buildKeyboard(qid, s) {
88
+ const rows = [];
89
+ s.options.forEach((opt, idx) => {
90
+ const checked = s.multiSelect ? (s.selected.has(idx) ? '☑ ' : '☐ ') : '';
91
+ const id = _cb.create({ qid, kind: 'opt', idx });
92
+ rows.push([{ text: `${checked}${opt.label}`, callback_data: `${ASKUSER_NS}:${id}` }]);
93
+ });
94
+ if (s.multiSelect) {
95
+ const sid = _cb.create({ qid, kind: 'submit' });
96
+ rows.push([{ text: '✅ Submit', callback_data: `${ASKUSER_NS}:${sid}` }]);
97
+ }
98
+ const oid = _cb.create({ qid, kind: 'other' });
99
+ rows.push([{ text: '✍️ Write something else', callback_data: `${ASKUSER_NS}:${oid}` }]);
100
+ return { inline_keyboard: rows };
101
+ }
102
+ /**
103
+ * Capture an AskUserQuestion tool_use and render the keyboard. Called from
104
+ * turn-bridge when name === 'AskUserQuestion'. Dedups the dual-emission by
105
+ * tool_use id. Best-effort: a send failure must not break the turn.
106
+ */
107
+ export async function captureAskUserQuestion(chatId, threadId, input, toolUseId) {
108
+ // Parse BEFORE dedup. The tool emits twice: content_block_start with
109
+ // input:{} (empty — args stream later) and the assistant-block with the full
110
+ // {questions:[...]}. Marking seen before parsing let the empty emission eat
111
+ // the dedup slot and skip the real one → no keyboard. So: only dedup once we
112
+ // have a parseable question.
113
+ const parsed = parseFirstQuestion(input);
114
+ process.stderr.write(`[cc-openclaw/askuser] capture chat=${chatId} toolUseId=${toolUseId ?? 'none'} parsed=${parsed ? parsed.options.length : 0} inputKeys=${input ? Object.keys(input).join(',') || 'empty' : 'none'}\n`);
115
+ if (!parsed)
116
+ return;
117
+ if (toolUseId) {
118
+ if (_seenToolUse.has(toolUseId))
119
+ return;
120
+ _seenToolUse.add(toolUseId);
121
+ }
122
+ const qid = shortQid();
123
+ const state = { ...parsed, chatId, threadId, selected: new Set(), resolved: false };
124
+ _questions.set(qid, state);
125
+ try {
126
+ const res = (await sendTg(chatId, bodyText(state), threadId !== undefined ? String(threadId) : undefined, buildKeyboard(qid, state)));
127
+ state.messageId = res?.result?.message_id;
128
+ process.stderr.write(`[cc-openclaw/askuser] rendered qid=${qid} opts=${state.options.length} multi=${state.multiSelect} chat=${chatId} msg=${state.messageId}\n`);
129
+ }
130
+ catch (err) {
131
+ process.stderr.write(`[cc-openclaw/askuser] keyboard send failed chat=${chatId}: ${err.message}\n`);
132
+ }
133
+ }
134
+ function injectAnswer(api, ctx, text) {
135
+ // Resolve the REAL agent session key. The tap ctx gives conversationId =
136
+ // String(chatId) (or "chatId:topic:thread"), NOT the agent session-store key
137
+ // enqueueNextTurnInjection needs. Prefer the key remembered from
138
+ // before_dispatch; fall back to ctx fields only if unknown.
139
+ const conv = String(ctx.conversationId ?? '');
140
+ const chatPart = conv.includes(':topic:') ? conv.slice(0, conv.indexOf(':topic:')) : conv;
141
+ const sessionKey = _chatSessionKeys.get(conv) ?? _chatSessionKeys.get(chatPart) ?? ctx.sessionKey ?? ctx.conversationId;
142
+ if (!sessionKey || !api.enqueueNextTurnInjection) {
143
+ process.stderr.write(`[cc-openclaw/askuser] inject SKIPPED sessionKey=${sessionKey ?? 'none'} hasInject=${typeof api.enqueueNextTurnInjection === 'function'}\n`);
144
+ return;
145
+ }
146
+ try {
147
+ api.enqueueNextTurnInjection({
148
+ sessionKey,
149
+ text: `[User answered the AskUserQuestion]: ${text}`,
150
+ placement: 'append_context',
151
+ idempotencyKey: `askuser-${sessionKey}-${Date.now()}`,
152
+ });
153
+ process.stderr.write(`[cc-openclaw/askuser] injected sessionKey=${sessionKey} text=${JSON.stringify(text.slice(0, 60))}\n`);
154
+ }
155
+ catch (err) {
156
+ process.stderr.write(`[cc-openclaw/askuser] inject failed: ${err.message}\n`);
157
+ }
158
+ }
159
+ async function answerCb(ctx, text) {
160
+ try {
161
+ if (ctx.respond?.answer)
162
+ await ctx.respond.answer(text);
163
+ else if (ctx.callback.id)
164
+ await telegramApi('answerCallbackQuery', { callback_query_id: ctx.callback.id, text });
165
+ }
166
+ catch {
167
+ /* answering the callback is best-effort */
168
+ }
169
+ }
170
+ async function editQ(s, text, keyboard) {
171
+ if (s.messageId === undefined)
172
+ return;
173
+ try {
174
+ await editTg(s.chatId, s.messageId, text, keyboard);
175
+ }
176
+ catch (err) {
177
+ const m = err.message;
178
+ if (!/message is not modified/i.test(m)) {
179
+ process.stderr.write(`[cc-openclaw/askuser] edit failed: ${m}\n`);
180
+ }
181
+ }
182
+ }
183
+ /**
184
+ * Handle an inline-button tap routed from api.registerInteractiveHandler.
185
+ * Resolves the callback payload, updates state, and on a terminal choice
186
+ * (single-select option, multi-select Submit) injects the answer for the next
187
+ * turn. "Write something else" just prompts the user to type — their typed
188
+ * message becomes the next turn naturally, so no injection is needed.
189
+ */
190
+ export async function handleTap(ctx, api) {
191
+ const id = ctx.callback.payload ?? '';
192
+ const payload = _cb.get(id);
193
+ process.stderr.write(`[cc-openclaw/askuser] tap payload=${id} kind=${payload?.kind ?? 'EXPIRED'} sessionKey=${ctx.sessionKey ?? ctx.conversationId ?? 'none'}\n`);
194
+ if (!payload) {
195
+ await answerCb(ctx, 'This prompt expired.');
196
+ return;
197
+ }
198
+ const s = _questions.get(payload.qid);
199
+ if (!s) {
200
+ await answerCb(ctx, 'This prompt is no longer active.');
201
+ return;
202
+ }
203
+ if (payload.kind === 'other') {
204
+ await answerCb(ctx, 'Type your answer as a message.');
205
+ await editQ(s, `${bodyText(s)}\n\n✍️ Type your answer as a normal message.`);
206
+ _questions.delete(payload.qid);
207
+ return;
208
+ }
209
+ if (payload.kind === 'opt' && !s.multiSelect) {
210
+ const label = s.options[payload.idx]?.label ?? '';
211
+ await answerCb(ctx, `Selected: ${label}`);
212
+ await editQ(s, `❓ ${s.header}\n${s.question}\n\n✓ You chose: ${label}`);
213
+ injectAnswer(api, ctx, label);
214
+ _questions.delete(payload.qid);
215
+ return;
216
+ }
217
+ if (payload.kind === 'opt' && s.multiSelect) {
218
+ if (s.selected.has(payload.idx))
219
+ s.selected.delete(payload.idx);
220
+ else
221
+ s.selected.add(payload.idx);
222
+ await answerCb(ctx);
223
+ await editQ(s, bodyText(s), buildKeyboard(payload.qid, s));
224
+ return;
225
+ }
226
+ if (payload.kind === 'submit') {
227
+ const labels = [...s.selected].sort((a, b) => a - b).map((i) => s.options[i]?.label ?? '');
228
+ if (labels.length === 0) {
229
+ await answerCb(ctx, 'Select at least one option first.');
230
+ return;
231
+ }
232
+ await answerCb(ctx, `Submitted ${labels.length}`);
233
+ await editQ(s, `❓ ${s.header}\n${s.question}\n\n✓ You chose: ${labels.join(', ')}`);
234
+ injectAnswer(api, ctx, labels.join(', '));
235
+ _questions.delete(payload.qid);
236
+ return;
237
+ }
238
+ }
239
+ /** True if an inbound message text is actually an AskUserQuestion button tap.
240
+ * The gateway delivers taps on plugin-sent keyboards as before_dispatch
241
+ * messages with text = the callback_data (`ccmirror:<id>`), NOT as routed
242
+ * interactive-handler callbacks — so we intercept them in before_dispatch. */
243
+ export function isAskUserCallback(text) {
244
+ return typeof text === 'string' && text.startsWith(`${ASKUSER_NS}:`);
245
+ }
246
+ /**
247
+ * Handle a tap that arrived as a before_dispatch message (text=`ccmirror:<id>`).
248
+ * Builds a synthetic ctx (conversationId = chatId resolves the remembered
249
+ * session key) and runs the normal tap logic. Caller MUST claim the event so
250
+ * the literal callback_data never reaches the agent.
251
+ */
252
+ export async function handleTapData(text, chatId, api) {
253
+ const id = text.slice(ASKUSER_NS.length + 1);
254
+ await handleTap({ callback: { payload: id }, conversationId: chatId }, api);
255
+ }
256
+ /** Test-only — reset module state. */
257
+ export function _resetAskUserForTests() {
258
+ _questions.clear();
259
+ _seenToolUse.clear();
260
+ _cb.clear();
261
+ _chatSessionKeys.clear();
262
+ }
263
+ /** Test-only — peek pending question count. */
264
+ export function _pendingCount() {
265
+ return _questions.size;
266
+ }
267
+ //# sourceMappingURL=askuser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"askuser.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/askuser.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ import type { CardMeta } from './card-state.js';
21
21
  * "… Read · src/index.ts"
22
22
  * "✗ Edit · …error glyph at left"
23
23
  */
24
+ /**
25
+ * Tool-type emoji icon (v0.26.4 styling). Pure unicode — renders in Telegram's
26
+ * plain-text mode (the card currently sends as plain because unescaped
27
+ * MarkdownV2 specials fail the parse; emoji/dividers work regardless). Unknown
28
+ * tools get a neutral marker.
29
+ */
30
+ export declare function toolIcon(name: string): string;
24
31
  export declare function renderToolLine(tc: ToolCallRecord): string;
25
32
  /**
26
33
  * Render the thinking block (M6). Each line of the thinking text is
@@ -54,10 +54,41 @@ function toolInputSummary(tc) {
54
54
  * "… Read · src/index.ts"
55
55
  * "✗ Edit · …error glyph at left"
56
56
  */
57
+ /**
58
+ * Tool-type emoji icon (v0.26.4 styling). Pure unicode — renders in Telegram's
59
+ * plain-text mode (the card currently sends as plain because unescaped
60
+ * MarkdownV2 specials fail the parse; emoji/dividers work regardless). Unknown
61
+ * tools get a neutral marker.
62
+ */
63
+ export function toolIcon(name) {
64
+ const n = name.toLowerCase();
65
+ if (n === 'bash' || n === 'shell')
66
+ return '🔧';
67
+ if (n === 'read')
68
+ return '📖';
69
+ if (n === 'edit' || n === 'multiedit')
70
+ return '✏️';
71
+ if (n === 'write')
72
+ return '📝';
73
+ if (n === 'grep' || n === 'glob' || n === 'ls')
74
+ return '🔍';
75
+ if (n.startsWith('webfetch') || n.startsWith('websearch') || n === 'fetch')
76
+ return '🌐';
77
+ if (n === 'task' || n === 'agent')
78
+ return '🤖';
79
+ if (n === 'todowrite')
80
+ return '☑️';
81
+ if (n === 'askuserquestion')
82
+ return '❓';
83
+ if (n.startsWith('mcp__'))
84
+ return '🔌';
85
+ return '🔹';
86
+ }
57
87
  export function renderToolLine(tc) {
58
88
  const glyph = toolGlyph(tc);
89
+ const icon = toolIcon(tc.name);
59
90
  const summary = toolInputSummary(tc);
60
- return summary ? `${glyph} ${tc.name} · ${summary}` : `${glyph} ${tc.name}`;
91
+ return summary ? `${glyph} ${icon} ${tc.name} · ${summary}` : `${glyph} ${icon} ${tc.name}`;
61
92
  }
62
93
  /**
63
94
  * Render the thinking block (M6). Each line of the thinking text is
@@ -109,6 +140,10 @@ export function renderTurn(turn, meta) {
109
140
  const meters = renderMeters(meta);
110
141
  if (meters)
111
142
  lines.push(meters);
143
+ // v0.26.4 styling — divider between the status/telemetry block and the
144
+ // activity block (only when a status block was actually rendered).
145
+ if (lines.length > 0)
146
+ lines.push('━━━━━━━━━━━━');
112
147
  }
113
148
  const header = turn.state === 'done' ? '✓ Done' : '▶ Working';
114
149
  lines.push(header);
@@ -1 +1 @@
1
- {"version":3,"file":"card-renderer.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/card-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-renderer.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/card-renderer.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,22 @@
24
24
  */
25
25
  import { CallbackMap } from './callback-mapping.js';
26
26
  import { ComposeBuffer } from './compose-buffer.js';
27
+ import { type InteractiveCtx, type InjectApi } from './askuser.js';
27
28
  export interface InboundHandlerApi {
28
29
  on(event: string, handler: (...args: unknown[]) => unknown | Promise<unknown>): void;
29
30
  logger?: {
30
31
  info: (msg: string) => void;
31
32
  warn: (msg: string) => void;
32
33
  };
34
+ /** v0.26.3 M5 — forwarded from the full OpenClaw plugin api (index.ts) so
35
+ * AskUserQuestion inline-keyboard taps can be received + answered. Optional:
36
+ * absent on OpenClaw builds that don't expose it. */
37
+ registerInteractiveHandler?: (registration: {
38
+ channel: string;
39
+ namespace: string;
40
+ handler: (ctx: InteractiveCtx) => unknown;
41
+ }) => unknown;
42
+ enqueueNextTurnInjection?: InjectApi['enqueueNextTurnInjection'];
33
43
  }
34
44
  /**
35
45
  * Internal handler state — exported only for tests so they can inspect
@@ -29,7 +29,11 @@ import { ComposeBuffer } from './compose-buffer.js';
29
29
  import { TurnStateMachine } from './state-machine.js';
30
30
  import { renderTurn } from './card-renderer.js';
31
31
  import { cardState as _cardState, cardStateDebug } from './card-state.js';
32
+ import { handleTap, handleTapData, isAskUserCallback, rememberSessionKey, ASKUSER_NS, } from './askuser.js';
32
33
  const PLUGIN_TAG = '[cc-openclaw/telegram-mirror/inbound]';
34
+ // v0.26.3 M5 — register the AskUserQuestion interactive tap handler exactly
35
+ // once per process (registerInboundHandler runs on every register() call).
36
+ let _interactiveRegistered = false;
33
37
  /**
34
38
  * Parse Telegram chat id out of a session key. Session keys look like
35
39
  * "agent:main:telegram:direct:442300061" or
@@ -163,6 +167,30 @@ export function _resetSubscriptionForTests() {
163
167
  export function registerInboundHandler(api, state = createHandlerState()) {
164
168
  const logger = (api.logger ?? console);
165
169
  _states.add(state);
170
+ // v0.26.3 M5 — wire AskUserQuestion inline-keyboard taps. callback_data is
171
+ // namespaced `ccmirror:` so the gateway routes taps here (the old
172
+ // before_dispatch callback_query guards are dead — taps never reach it).
173
+ // Guarded: registered once; older OpenClaw may lack registerInteractiveHandler.
174
+ if (!_interactiveRegistered) {
175
+ if (typeof api.registerInteractiveHandler === 'function') {
176
+ try {
177
+ const injectApi = { enqueueNextTurnInjection: api.enqueueNextTurnInjection };
178
+ api.registerInteractiveHandler({
179
+ channel: 'telegram',
180
+ namespace: ASKUSER_NS,
181
+ handler: (ctx) => handleTap(ctx, injectApi),
182
+ });
183
+ _interactiveRegistered = true;
184
+ logger.info(`${PLUGIN_TAG} AskUserQuestion interactive handler armed (ns=${ASKUSER_NS}, inject=${typeof api.enqueueNextTurnInjection === 'function'}).`);
185
+ }
186
+ catch (err) {
187
+ logger.warn(`${PLUGIN_TAG} registerInteractiveHandler failed: ${err instanceof Error ? err.message : String(err)}`);
188
+ }
189
+ }
190
+ else {
191
+ logger.warn(`${PLUGIN_TAG} registerInteractiveHandler unavailable — AskUserQuestion buttons disabled.`);
192
+ }
193
+ }
166
194
  // v0.25.10 — subscribe on EVERY register() call (no module-scope short-circuit).
167
195
  // Per-event-id dedup inside each handler ensures actions fire exactly once per
168
196
  // user message, regardless of how many api bindings exist.
@@ -187,6 +215,24 @@ export function registerInboundHandler(api, state = createHandlerState()) {
187
215
  }
188
216
  // Diagnostic trace stays — useful for soak observation. Kept short.
189
217
  process.stderr.write(`[cc-openclaw/telegram-mirror/inbound] before_dispatch seen: text=${JSON.stringify(text.slice(0, 60))}\n`);
218
+ // v0.26.4 M5 — AskUserQuestion button tap. The gateway delivers taps on
219
+ // plugin-sent keyboards as before_dispatch messages (text=`ccmirror:<id>`),
220
+ // NOT as routed interactive-handler callbacks. Intercept + handle + CLAIM so
221
+ // the raw callback_data never reaches the agent as a user message.
222
+ if (isAskUserCallback(text)) {
223
+ const k = chatIdFromSessionKey(event.sessionKey);
224
+ const tapChatId = k.chatId || (event.senderId !== undefined ? String(event.senderId) : '');
225
+ try {
226
+ if (tapChatId && typeof api.enqueueNextTurnInjection === 'function') {
227
+ await handleTapData(text, tapChatId, { enqueueNextTurnInjection: api.enqueueNextTurnInjection });
228
+ }
229
+ }
230
+ catch (err) {
231
+ process.stderr.write(`${PLUGIN_TAG} askuser tap handling failed: ${err.message}\n`);
232
+ }
233
+ process.stderr.write(`${PLUGIN_TAG} AskUserQuestion tap handled via before_dispatch (chat=${tapChatId}).\n`);
234
+ return { handled: true };
235
+ }
190
236
  const parsed = parseSlash(text);
191
237
  if (!parsed)
192
238
  return undefined;
@@ -324,6 +370,10 @@ export function registerInboundHandler(api, state = createHandlerState()) {
324
370
  event.raw?.message?.text;
325
371
  if (typeof text !== 'string')
326
372
  return undefined;
373
+ // v0.26.4 M5 — never create a working card for an AskUserQuestion tap
374
+ // (handled + claimed by the dispatcher above).
375
+ if (isAskUserCallback(text))
376
+ return undefined;
327
377
  // Skip if it's a known mirror slash — those are handled by the
328
378
  // dispatcher above and shouldn't get a working card.
329
379
  const parsed = parseSlash(text);
@@ -334,6 +384,10 @@ export function registerInboundHandler(api, state = createHandlerState()) {
334
384
  if (!chatId)
335
385
  return undefined;
336
386
  const threadId = fromKey.threadId !== undefined ? fromKey.threadId : event.raw?.message?.message_thread_id;
387
+ // v0.26.4 M5 — remember the REAL agent session key for this chat so an
388
+ // AskUserQuestion tap (which arrives after the turn, with only the chatId in
389
+ // its ctx) can resolve the key enqueueNextTurnInjection needs.
390
+ rememberSessionKey(chatId, event.sessionKey);
337
391
  // Start a fresh turn for this chat. Replaces any prior turn state.
338
392
  const sm = new TurnStateMachine();
339
393
  sm.start(chatId);
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-handler.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/inbound-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-handler.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/inbound-handler.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@
19
19
  export interface PluginApi {
20
20
  on(event: string, handler: (...args: unknown[]) => unknown | Promise<unknown>): void;
21
21
  logger?: Console;
22
+ registerInteractiveHandler?: (registration: unknown) => unknown;
23
+ enqueueNextTurnInjection?: (injection: unknown) => unknown;
22
24
  }
23
25
  /**
24
26
  * Mirror channel register — idempotent via defaultRegisterGuard.
@@ -52,6 +52,11 @@ export function register(api) {
52
52
  // v0.25.1 — subscribe before_dispatch and route mirror slash commands
53
53
  // through dispatchCommand → telegram-bot-api.
54
54
  try {
55
+ // v0.26.3 M5 — forward the interactive + injection methods from the FULL
56
+ // plugin api (the narrowed object passed before omitted them, which is why
57
+ // AskUserQuestion buttons were "unavailable"). Bound + cast to the typed
58
+ // shapes registerInboundHandler expects; left undefined if absent.
59
+ const fullApi = api;
55
60
  registerInboundHandler({
56
61
  on: api.on.bind(api),
57
62
  logger: {
@@ -70,6 +75,12 @@ export function register(api) {
70
75
  catch { /* swallow */ }
71
76
  },
72
77
  },
78
+ registerInteractiveHandler: typeof fullApi.registerInteractiveHandler === 'function'
79
+ ? fullApi.registerInteractiveHandler.bind(api)
80
+ : undefined,
81
+ enqueueNextTurnInjection: typeof fullApi.enqueueNextTurnInjection === 'function'
82
+ ? fullApi.enqueueNextTurnInjection.bind(api)
83
+ : undefined,
73
84
  });
74
85
  process.stderr.write('[cc-openclaw/telegram-mirror] guard body completed (v0.25.2).\n');
75
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,yEAAyE;IACzE,uEAAuE;IACvE,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAEjG,oBAAoB,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,EAAE;QAClE,wEAAwE;QACxE,kEAAkE;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CACT,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAqD,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,iEAAiE;QACjE,qEAAqE;QACrE,sBAAsB,CAAC;YACrB,MAAM,EAAG,GAAuD,CAAC,MAAM;YACvE,MAAM,EAAE,MAAiF;SAC1F,CAAC,CAAC;QACH,sEAAsE;QACtE,8CAA8C;QAC9C,IAAI,CAAC;YACH,sBAAsB,CAAC;gBACrB,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;oBACD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;iBACF;aACF,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAAgE,GAAa,CAAC,OAAO,KAAM,GAAa,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sBAAsB,CAAC;AAYtF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,yEAAyE;IACzE,uEAAuE;IACvE,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAEjG,oBAAoB,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,EAAE;QAClE,wEAAwE;QACxE,kEAAkE;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CACT,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAqD,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,iEAAiE;QACjE,qEAAqE;QACrE,sBAAsB,CAAC;YACrB,MAAM,EAAG,GAAuD,CAAC,MAAM;YACvE,MAAM,EAAE,MAAiF;SAC1F,CAAC,CAAC;QACH,sEAAsE;QACtE,8CAA8C;QAC9C,IAAI,CAAC;YACH,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,OAAO,GAAG,GAGf,CAAC;YACF,sBAAsB,CAAC;gBACrB,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;oBACD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;iBACF;gBACD,0BAA0B,EACxB,OAAO,OAAO,CAAC,0BAA0B,KAAK,UAAU;oBACtD,CAAC,CAAE,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAqD;oBACnG,CAAC,CAAC,SAAS;gBACf,wBAAwB,EACtB,OAAO,OAAO,CAAC,wBAAwB,KAAK,UAAU;oBACpD,CAAC,CAAE,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAmD;oBAC/F,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAAgE,GAAa,CAAC,OAAO,KAAM,GAAa,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -28,6 +28,7 @@ import { cardState, cardStateDebug } from './card-state.js';
28
28
  import { renderTurn } from './card-renderer.js';
29
29
  import { editTg } from '../../lib/telegram-bot-api.js';
30
30
  import { readQuotaSnapshot } from '../../lib/status-tee-reader.js';
31
+ import { captureAskUserQuestion } from './askuser.js';
31
32
  const _lastRepaintAt = new Map();
32
33
  const REPAINT_MIN_MS = 800;
33
34
  async function repaint(chatId, force) {
@@ -115,6 +116,13 @@ export function pushToolUse(name, input, toolUseId) {
115
116
  // v0.26.2 M4 — capture the agent's todo list from TodoWrite tool calls (the
116
117
  // only one of rules/hooks/todos reachable from the plugin). Real data only.
117
118
  const todos = parseTodoWrite(name, input);
119
+ // v0.26.3 M5 — render AskUserQuestion as a Telegram inline keyboard (deduped
120
+ // by toolUseId inside captureAskUserQuestion against the dual-emission).
121
+ if (/^askuserquestion$/i.test(name)) {
122
+ for (const chatId of chats) {
123
+ void captureAskUserQuestion(chatId, cardState.get(chatId)?.threadId, input, toolUseId);
124
+ }
125
+ }
118
126
  for (const chatId of chats) {
119
127
  const card = cardState.get(chatId);
120
128
  if (!card)
@@ -226,6 +234,14 @@ export async function finalizeActiveCards() {
226
234
  card.sm.end(chatId);
227
235
  const turn = card.sm.getTurn(chatId);
228
236
  if (turn) {
237
+ // v0.26.4 dedup — drop the assistant text from the FINALIZED card. It
238
+ // streamed live during the turn (good), but the OpenClaw gateway also
239
+ // delivers the final reply as its own message; keeping it on the done
240
+ // card too made the answer appear twice (A1's duplicate-response bug).
241
+ // The plugin can't suppress the gateway reply (no suppressUserDelivery
242
+ // knob), so the card yields the final text and finalizes to a clean
243
+ // status/tools/✓ Done activity view. renderTurn itself is unchanged.
244
+ turn.assistantText = '';
229
245
  try {
230
246
  await editTg(chatId, card.messageId, renderTurn(turn, card.meta));
231
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"turn-bridge.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/turn-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-bridge.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/turn-bridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a1hvdy/cc-openclaw",
3
- "version": "0.26.2",
3
+ "version": "0.26.4",
4
4
  "description": "A1xAI's Anthropic CLI bridge plugin for OpenClaw",
5
5
  "author": "@a1cy",
6
6
  "license": "MIT",