@a1hvdy/cc-openclaw 0.26.0 → 0.26.2

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 (30) hide show
  1. package/dist/src/channels/telegram/injector.js +71 -0
  2. package/dist/src/channels/telegram/injector.js.map +1 -1
  3. package/dist/src/channels/telegram-mirror/card-renderer.d.ts +2 -1
  4. package/dist/src/channels/telegram-mirror/card-renderer.js +24 -2
  5. package/dist/src/channels/telegram-mirror/card-renderer.js.map +1 -1
  6. package/dist/src/channels/telegram-mirror/card-state.d.ts +62 -2
  7. package/dist/src/channels/telegram-mirror/card-state.js +37 -3
  8. package/dist/src/channels/telegram-mirror/card-state.js.map +1 -1
  9. package/dist/src/channels/telegram-mirror/inbound-handler.js +19 -38
  10. package/dist/src/channels/telegram-mirror/inbound-handler.js.map +1 -1
  11. package/dist/src/channels/telegram-mirror/status-line.d.ts +51 -0
  12. package/dist/src/channels/telegram-mirror/status-line.js +168 -0
  13. package/dist/src/channels/telegram-mirror/status-line.js.map +1 -0
  14. package/dist/src/channels/telegram-mirror/turn-bridge.d.ts +34 -0
  15. package/dist/src/channels/telegram-mirror/turn-bridge.js +119 -2
  16. package/dist/src/channels/telegram-mirror/turn-bridge.js.map +1 -1
  17. package/dist/src/engines/persistent-session.js +5 -1
  18. package/dist/src/engines/persistent-session.js.map +1 -1
  19. package/dist/src/openai-compat/non-streaming-handler.js +26 -1
  20. package/dist/src/openai-compat/non-streaming-handler.js.map +1 -1
  21. package/dist/src/openai-compat/streaming-handler.js +30 -1
  22. package/dist/src/openai-compat/streaming-handler.js.map +1 -1
  23. package/dist/src/patches/sysprompt-strip.spec.d.ts +33 -0
  24. package/dist/src/patches/sysprompt-strip.spec.js +53 -0
  25. package/dist/src/patches/sysprompt-strip.spec.js.map +1 -0
  26. package/mcp-tools.json +1 -1
  27. package/package.json +1 -1
  28. package/dist/src/lib/perf/resident-cli-pool.d.ts +0 -39
  29. package/dist/src/lib/perf/resident-cli-pool.js +0 -60
  30. package/dist/src/lib/perf/resident-cli-pool.js.map +0 -1
@@ -30,6 +30,8 @@ export const MAX_STORE_SIZE = 100;
30
30
  const metadataStore = new Map();
31
31
  // ── Idempotency Guard ─────────────────────────────────────────────────────
32
32
  import { defaultRegisterGuard } from '../../lib/register-guard.js';
33
+ import { emitSpeculativeThinking } from './speculative-bubble.js';
34
+ import { notifyTyping } from '../../lib/perf/typing-prefetch.js';
33
35
  // ── Helpers ───────────────────────────────────────────────────────────────
34
36
  function isEnabled() {
35
37
  return process.env[ENV_FLAG] === 'true';
@@ -123,6 +125,75 @@ export function register(api) {
123
125
  // Non-claiming — let the message proceed to cc-handler or model
124
126
  return undefined;
125
127
  });
128
+ // ── v0.24.0 default-path perf hooks: M9 spec-bubble + M2 first-arrival ──
129
+ //
130
+ // Second, independent before_dispatch registration. Deliberately NOT gated
131
+ // on UX_BRIDGE_ALL_SESSIONS — this handler is responsible for perf wins
132
+ // that should fire on every non-/cc Telegram message regardless of the
133
+ // UX bridge flag. Flag-gated individually via:
134
+ // - CC_OPENCLAW_PERF_TYPING_PREFETCH (M2 first-arrival prefetch)
135
+ // - CC_OPENCLAW_PERF_SPEC_BUBBLE (M9 speculative "Thinking…" bubble)
136
+ // Slash-prefixed messages (/cc, slash skills) are skipped to avoid
137
+ // double-bubble with cc-handler's claim path.
138
+ api.on('before_dispatch', async (...args) => {
139
+ try {
140
+ const event = args[0];
141
+ const ctx = args[1];
142
+ if (event.channel !== 'telegram')
143
+ return undefined;
144
+ const content = (typeof event.content === 'string'
145
+ ? (event.content)
146
+ : '').trim();
147
+ if (content.startsWith('/'))
148
+ return undefined;
149
+ const sessionKey = ctx.sessionKey;
150
+ if (!sessionKey)
151
+ return undefined;
152
+ const { chatId, threadId } = parseConversationId(ctx.conversationId ?? '');
153
+ if (!chatId)
154
+ return undefined;
155
+ // M2 — first-arrival prefetch. The helper has its own 4s cooldown
156
+ // (typing-prefetch.ts:WARMUP_COOLDOWN_MS) so calling per-message is safe;
157
+ // duplicate calls within the cooldown are no-ops.
158
+ if (process.env.CC_OPENCLAW_PERF_TYPING_PREFETCH === '1') {
159
+ try {
160
+ notifyTyping(chatId);
161
+ }
162
+ catch {
163
+ // notifyTyping is sync + best-effort; never fail dispatch
164
+ }
165
+ }
166
+ // M9 — speculative bubble. The helper has its own getPerfSpecBubbleEnabled()
167
+ // check, so the outer env gate here is belt-and-braces. We persist the
168
+ // returned message_id under sk:${sessionKey} so a future live-card
169
+ // adoption pass (deferred to v0.25.0) can edit the same Telegram message
170
+ // in place instead of sending a fresh ack.
171
+ if (process.env.CC_OPENCLAW_PERF_SPEC_BUBBLE === '1') {
172
+ void emitSpeculativeThinking({ chatId, threadId })
173
+ .then((msgId) => {
174
+ if (msgId == null)
175
+ return;
176
+ const UX_META = Symbol.for('telegram-ux-bridge:metadata');
177
+ const store = globalThis[UX_META];
178
+ if (store instanceof Map) {
179
+ const existing = store.get(`sk:${sessionKey}`) ?? {};
180
+ store.set(`sk:${sessionKey}`, {
181
+ ...existing,
182
+ speculativeAckMessageId: msgId,
183
+ storedAt: Date.now(),
184
+ });
185
+ }
186
+ })
187
+ .catch(() => {
188
+ // best-effort; never fail dispatch on a bubble error
189
+ });
190
+ }
191
+ }
192
+ catch {
193
+ // any error in perf hooks must never claim/break dispatch
194
+ }
195
+ return undefined;
196
+ });
126
197
  // ── before_tool_call: inject metadata into claude_session_send ────────
127
198
  //
128
199
  // When Savvy (GPT) decides to delegate and calls claude_session_send,
@@ -1 +1 @@
1
- {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../../src/channels/telegram/injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../../src/channels/telegram/injector.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * Tests live at tests/channels/telegram-mirror/m2-render-pipeline.test.ts.
15
15
  */
16
16
  import type { Turn, ToolCallRecord } from './state-machine.js';
17
+ import type { CardMeta } from './card-state.js';
17
18
  /**
18
19
  * Format one tool-call line for inclusion in the rendered card body.
19
20
  * "✓ Bash · ls -la"
@@ -50,7 +51,7 @@ export declare function renderThinkingBlock(thinkingText: string): string;
50
51
  * Lines with no content (e.g. empty tool list, empty assistant text) are
51
52
  * omitted entirely so the rendered body never has trailing whitespace.
52
53
  */
53
- export declare function renderTurn(turn: Turn): string;
54
+ export declare function renderTurn(turn: Turn, meta?: CardMeta): string;
54
55
  /**
55
56
  * A render action — abstraction the dispatch layer (added in a later
56
57
  * milestone) consumes. M2 doesn't dispatch; it just builds the action so
@@ -13,6 +13,7 @@
13
13
  *
14
14
  * Tests live at tests/channels/telegram-mirror/m2-render-pipeline.test.ts.
15
15
  */
16
+ import { renderStatusLine, renderMeters, renderTodos } from './status-line.js';
16
17
  /**
17
18
  * Glyph picked per tool-call status. Mirrors terminal "running / done /
18
19
  * errored" iconography that A1 already reads in the live Claude Code TUI.
@@ -93,14 +94,35 @@ export function renderThinkingBlock(thinkingText) {
93
94
  * Lines with no content (e.g. empty tool list, empty assistant text) are
94
95
  * omitted entirely so the rendered body never has trailing whitespace.
95
96
  */
96
- export function renderTurn(turn) {
97
+ export function renderTurn(turn, meta) {
98
+ const lines = [];
99
+ // v0.26.2 M1 — CC-CLI-style status line at the top (model · CC ver · ⏱ · 🔧 ·
100
+ // bypass). Gated on `meta` presence so legacy no-meta callers (and the initial
101
+ // pre-model inbound card) render exactly as before — no regression. Once the
102
+ // handler calls setCardMeta(), the status line appears on the next repaint.
103
+ if (meta) {
104
+ const status = renderStatusLine(turn, meta);
105
+ if (status)
106
+ lines.push(status);
107
+ // v0.26.2 M2 — meter row (context % + quota % + reset). Same no-fake-data
108
+ // gating: omitted unless real values are present.
109
+ const meters = renderMeters(meta);
110
+ if (meters)
111
+ lines.push(meters);
112
+ }
97
113
  const header = turn.state === 'done' ? '✓ Done' : '▶ Working';
98
- const lines = [header];
114
+ lines.push(header);
99
115
  if (turn.toolCalls.length > 0) {
100
116
  for (const tc of turn.toolCalls) {
101
117
  lines.push(renderToolLine(tc));
102
118
  }
103
119
  }
120
+ // v0.26.2 M4 — todo checklist (real data from the agent's TodoWrite calls).
121
+ const todoBlock = renderTodos(meta);
122
+ if (todoBlock) {
123
+ lines.push('');
124
+ lines.push(todoBlock);
125
+ }
104
126
  // Defensive default — Turn.thinkingText is required by the interface, but
105
127
  // some test helpers and pre-M6 fixtures construct Turn-shaped objects
106
128
  // without setting it. Treat absent / undefined as empty.
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * src/channels/telegram-mirror/card-state.ts — v0.26.0.
2
+ * src/channels/telegram-mirror/card-state.ts — v0.26.1.
3
3
  *
4
4
  * Module-scope shared state for the active Telegram mirror cards. Extracted
5
5
  * from inbound-handler.ts so the openai-compat handlers (which see the real
@@ -9,8 +9,55 @@
9
9
  * Single source of truth: one Map<chatId, CardEntry>. Both inbound-handler
10
10
  * (writer on before_dispatch / reply_dispatch) and turn-bridge (writer from
11
11
  * streaming + non-streaming handlers) read+write here.
12
+ *
13
+ * ── v0.26.1 live-mirror fix: globalThis singleton ──────────────────────────
14
+ * A plain `new Map()` at module scope is only a singleton if every importer
15
+ * shares the same module INSTANCE. That assumption breaks here: the inbound
16
+ * handler is loaded via the plugin's register() graph, but the openai-compat
17
+ * handlers are loaded via cwd-patch's EAGER `await import(<abs path>)` of the
18
+ * embedded server (session-bootstrap/cwd-patch.ts:906/336). When the same
19
+ * file is reached through two different load roots, Node can hold TWO module
20
+ * instances → two different Maps. The card the inbound handler registers
21
+ * (so the user sees "▶ Working" and later "✓ Done") then lives in instance A,
22
+ * while turn-bridge's pushToolUse/pushAssistantText run against instance B's
23
+ * empty Map → every push silently no-ops. That is the exact "card frame
24
+ * renders, body never fills" symptom that survived v0.25.7/0.25.9/0.26.0.
25
+ *
26
+ * Fix: anchor the Map on globalThis under a Symbol.for() key so ALL instances
27
+ * resolve to ONE Map regardless of how the module was loaded. This mirrors
28
+ * the codebase's existing cross-instance pattern (cwd-patch's
29
+ * `Symbol.for('telegram-ux-bridge:metadata')` UX_META store). Harmless if the
30
+ * single-instance assumption already held — it's the same one Map either way.
12
31
  */
13
32
  import type { TurnStateMachine } from './state-machine.js';
33
+ /**
34
+ * Per-card status metadata for the CC-CLI-style status line (v0.26.2). Every
35
+ * field is OPTIONAL and rendered only when genuinely available (no-fake-data
36
+ * rule). The inbound handler creates the card with empty meta; the openai-compat
37
+ * handlers fill it in via turn-bridge.setCardMeta() once the model turn starts
38
+ * (model, bypass) and completes (contextPercent). Quota is read at render time.
39
+ */
40
+ export interface CardMeta {
41
+ /** Resolved model id, e.g. "claude-opus-4-7" (handler `model` param). */
42
+ model?: string;
43
+ /** True when the session runs permissionMode 'bypassPermissions'. */
44
+ bypassPermissions?: boolean;
45
+ /** Context-window usage % from getStatus().stats.contextPercent (M2). */
46
+ contextPercent?: number;
47
+ /** Plan/quota usage % (status-tee maxPercent) — set at render time (M2). */
48
+ quotaPercent?: number;
49
+ /** Quota window reset, Unix epoch seconds (status-tee resetsAt) (M2). */
50
+ quotaResetsAt?: number;
51
+ /**
52
+ * Latest todo list captured from the agent's TodoWrite tool call (M4). Real
53
+ * data — the only one of rules/hooks/todos reachable from the plugin (rules &
54
+ * hooks live in the subprocess and are not exposed). Empty/absent → omitted.
55
+ */
56
+ todos?: Array<{
57
+ content: string;
58
+ status: string;
59
+ }>;
60
+ }
14
61
  export interface CardEntry {
15
62
  /** Telegram message_id of the editable card. */
16
63
  messageId: number;
@@ -18,6 +65,19 @@ export interface CardEntry {
18
65
  sm: TurnStateMachine;
19
66
  /** Telegram message_thread_id when the chat is a forum/group topic. */
20
67
  threadId?: number;
68
+ /** CC-CLI status-line metadata (v0.26.2). Filled progressively per turn. */
69
+ meta?: CardMeta;
21
70
  }
22
- /** chatId → active card. Cleared when reply_dispatch finalizes the turn. */
71
+ /**
72
+ * chatId → active card. Cleared at model-turn end by
73
+ * turn-bridge.finalizeActiveCards(). Process-global singleton (see header) so
74
+ * the inbound handler and the openai-compat handlers share ONE Map even across
75
+ * module-instance splits.
76
+ */
23
77
  export declare const cardState: Map<string, CardEntry>;
78
+ /**
79
+ * Compact card-state summary for the turn-bridge push logs and the
80
+ * openai-compat handler entry log — the permanent live-mirror success-gate
81
+ * signal (cards>0 during a turn means events are reaching the active card).
82
+ */
83
+ export declare function cardStateDebug(): string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * src/channels/telegram-mirror/card-state.ts — v0.26.0.
2
+ * src/channels/telegram-mirror/card-state.ts — v0.26.1.
3
3
  *
4
4
  * Module-scope shared state for the active Telegram mirror cards. Extracted
5
5
  * from inbound-handler.ts so the openai-compat handlers (which see the real
@@ -9,7 +9,41 @@
9
9
  * Single source of truth: one Map<chatId, CardEntry>. Both inbound-handler
10
10
  * (writer on before_dispatch / reply_dispatch) and turn-bridge (writer from
11
11
  * streaming + non-streaming handlers) read+write here.
12
+ *
13
+ * ── v0.26.1 live-mirror fix: globalThis singleton ──────────────────────────
14
+ * A plain `new Map()` at module scope is only a singleton if every importer
15
+ * shares the same module INSTANCE. That assumption breaks here: the inbound
16
+ * handler is loaded via the plugin's register() graph, but the openai-compat
17
+ * handlers are loaded via cwd-patch's EAGER `await import(<abs path>)` of the
18
+ * embedded server (session-bootstrap/cwd-patch.ts:906/336). When the same
19
+ * file is reached through two different load roots, Node can hold TWO module
20
+ * instances → two different Maps. The card the inbound handler registers
21
+ * (so the user sees "▶ Working" and later "✓ Done") then lives in instance A,
22
+ * while turn-bridge's pushToolUse/pushAssistantText run against instance B's
23
+ * empty Map → every push silently no-ops. That is the exact "card frame
24
+ * renders, body never fills" symptom that survived v0.25.7/0.25.9/0.26.0.
25
+ *
26
+ * Fix: anchor the Map on globalThis under a Symbol.for() key so ALL instances
27
+ * resolve to ONE Map regardless of how the module was loaded. This mirrors
28
+ * the codebase's existing cross-instance pattern (cwd-patch's
29
+ * `Symbol.for('telegram-ux-bridge:metadata')` UX_META store). Harmless if the
30
+ * single-instance assumption already held — it's the same one Map either way.
31
+ */
32
+ const CARD_STATE_KEY = Symbol.for('cc-openclaw:telegram-mirror:card-state');
33
+ const _g = globalThis;
34
+ /**
35
+ * chatId → active card. Cleared at model-turn end by
36
+ * turn-bridge.finalizeActiveCards(). Process-global singleton (see header) so
37
+ * the inbound handler and the openai-compat handlers share ONE Map even across
38
+ * module-instance splits.
39
+ */
40
+ export const cardState = _g[CARD_STATE_KEY] ?? (_g[CARD_STATE_KEY] = new Map());
41
+ /**
42
+ * Compact card-state summary for the turn-bridge push logs and the
43
+ * openai-compat handler entry log — the permanent live-mirror success-gate
44
+ * signal (cards>0 during a turn means events are reaching the active card).
12
45
  */
13
- /** chatId active card. Cleared when reply_dispatch finalizes the turn. */
14
- export const cardState = new Map();
46
+ export function cardStateDebug() {
47
+ return `cards=${cardState.size}`;
48
+ }
15
49
  //# sourceMappingURL=card-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-state.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/card-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC"}
1
+ {"version":3,"file":"card-state.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/card-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAyCH,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAC5E,MAAM,EAAE,GAAG,UAA2E,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,EAAqB,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,SAAS,SAAS,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC"}
@@ -28,7 +28,7 @@ import { CallbackMap } from './callback-mapping.js';
28
28
  import { ComposeBuffer } from './compose-buffer.js';
29
29
  import { TurnStateMachine } from './state-machine.js';
30
30
  import { renderTurn } from './card-renderer.js';
31
- import { cardState as _cardState } from './card-state.js';
31
+ import { cardState as _cardState, cardStateDebug } from './card-state.js';
32
32
  const PLUGIN_TAG = '[cc-openclaw/telegram-mirror/inbound]';
33
33
  /**
34
34
  * Parse Telegram chat id out of a session key. Session keys look like
@@ -342,7 +342,7 @@ export function registerInboundHandler(api, state = createHandlerState()) {
342
342
  const msgId = res?.result?.message_id;
343
343
  if (typeof msgId === 'number') {
344
344
  _cardState.set(chatId, { messageId: msgId, sm, threadId });
345
- process.stderr.write(`[cc-openclaw/telegram-mirror/turn] working card sent: chat=${chatId} msg=${msgId} text=${JSON.stringify(text.slice(0, 60))}\n`);
345
+ process.stderr.write(`[cc-openclaw/telegram-mirror/turn] working card sent: pid=${process.pid} ${cardStateDebug()} chat=${chatId} msg=${msgId} text=${JSON.stringify(text.slice(0, 60))}\n`);
346
346
  }
347
347
  }
348
348
  catch (err) {
@@ -403,43 +403,24 @@ export function registerInboundHandler(api, state = createHandlerState()) {
403
403
  dumpShapeOnce('before_agent_finalize', event);
404
404
  return undefined;
405
405
  });
406
- // reply_dispatch — finalize the working card by editing it to "✓ Done".
407
- // Event shape (verified 2026-05-19 production capture): nested under
408
- // `event.ctx.SessionKey` / `event.ctx.SenderId`, NOT top-level.
406
+ // reply_dispatch — v0.26.1: this handler NO LONGER finalizes/deletes the card.
407
+ //
408
+ // Root-cause finding (2026-05-20 production capture): `reply_dispatch` fires at
409
+ // reply-lifecycle START — it fired in the SAME second the working card was
410
+ // created, ~9s BEFORE the model turn's handler even started. The old code
411
+ // deleted the card here, so by the time the model emitted tool/text events
412
+ // every turn-bridge push landed on an empty cardState map (size=0). That was
413
+ // the real "card frame renders (▶ Working → ✓ Done) but body never fills" bug
414
+ // that survived v0.25.7 / v0.25.9 / v0.26.0.
415
+ //
416
+ // Card finalization (flip to "✓ Done" + delete) now happens at the TRUE end of
417
+ // the model turn in turn-bridge.finalizeActiveCards(), invoked from the
418
+ // openai-compat streaming/non-streaming handlers — the only place that knows
419
+ // when the model call actually completes. The card survives the whole turn, so
420
+ // the live tool/text pushes accumulate and render. We keep the subscription
421
+ // solely to dump the event shape once for diagnostics; it mutates no state.
409
422
  api.on('reply_dispatch', async (...args) => {
410
- const event = args[0];
411
- dumpShapeOnce('reply_dispatch', event);
412
- const ev = event;
413
- const ctx = ev?.ctx ?? undefined;
414
- const evId = _eventId({
415
- sessionKey: (ev?.sessionKey ?? ctx?.['SessionKey']),
416
- timestamp: (ev?.timestamp ?? ctx?.['Timestamp']),
417
- content: `reply:${String((ctx?.['MessageSid'] ?? ev?.messageId ?? ''))}`,
418
- });
419
- if (_seenOrMark('reply', evId))
420
- return undefined;
421
- const sessionKey = ev?.sessionKey ?? ctx?.['SessionKey'];
422
- const fromKey = chatIdFromSessionKey(sessionKey);
423
- const senderId = ev?.senderId ?? ctx?.['SenderId'];
424
- const chatId = fromKey.chatId || (senderId !== undefined ? String(senderId) : undefined);
425
- // If no chatId in event, finalize ALL active cards (best-effort).
426
- const targets = chatId ? [chatId] : Array.from(_cardState.keys());
427
- for (const target of targets) {
428
- const card = _cardState.get(target);
429
- if (!card)
430
- continue;
431
- card.sm.end(target);
432
- try {
433
- await editTg(target, card.messageId, renderTurn(card.sm.getTurn(target)));
434
- }
435
- catch (err) {
436
- const m = err.message;
437
- if (!/message is not modified/i.test(m)) {
438
- process.stderr.write(`[cc-openclaw/telegram-mirror/turn] finalize edit failed: ${m}\n`);
439
- }
440
- }
441
- _cardState.delete(target);
442
- }
423
+ dumpShapeOnce('reply_dispatch', args[0]);
443
424
  return undefined;
444
425
  });
445
426
  process.stderr.write(`${PLUGIN_TAG} turn-render pipeline armed (before_tool_call, after_tool_call, before_agent_finalize, reply_dispatch).\n`);
@@ -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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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * src/channels/telegram-mirror/status-line.ts — v0.26.2 M1.
3
+ *
4
+ * Builds the Claude-Code-CLI-style status line that sits at the top of the
5
+ * Telegram live-mirror card, e.g.:
6
+ *
7
+ * [Opus 4.7] · CC 2.1.145 · ⏱ 2h13m · 🔧 3 · bypass
8
+ *
9
+ * STRICT no-fake-data rule (per the v0.26.2 brief): every segment is rendered
10
+ * ONLY when its value is genuinely available. Missing model / version / etc.
11
+ * are simply omitted — never stubbed. Telegram has no ANSI color, so the CLI
12
+ * look is approximated with `·` separators, glyphs, and (in later milestones)
13
+ * unicode meter bars — plain text that survives the MarkdownV2→plain fallback.
14
+ */
15
+ import type { Turn } from './state-machine.js';
16
+ import type { CardMeta } from './card-state.js';
17
+ export declare function getCcVersion(): string | null;
18
+ /** Test-only — reset the cached version. */
19
+ export declare function _resetCcVersionForTests(): void;
20
+ export declare function shortModel(model: string | undefined): string | undefined;
21
+ /** Compact elapsed formatter: 2h13m / 13m / 42s. */
22
+ export declare function fmtElapsed(ms: number): string;
23
+ /**
24
+ * Render the status line for a turn. Returns `undefined` when NOTHING is
25
+ * available to show (so callers omit the line entirely). Segments, in order:
26
+ * [model] · CC <ver> · ⏱ <elapsed> · 🔧 <toolCount> · bypass
27
+ * Every segment is conditional on real data.
28
+ */
29
+ export declare function renderStatusLine(turn: Turn, meta: CardMeta | undefined, now?: number): string | undefined;
30
+ /** Unicode meter, e.g. meterBar(71) → "▓▓▓▓▓▓░░ 71%" (8 cells). */
31
+ export declare function meterBar(pct: number, cells?: number): string;
32
+ /** Quota reset formatter: within 24h → local clock (e.g. "4:20p"); else "in Nd". */
33
+ export declare function fmtReset(epochSec: number, now?: number): string;
34
+ /**
35
+ * Second status row — the meter bars: context-window % and plan-usage/quota %
36
+ * + reset. Each segment renders only when its value is genuinely present
37
+ * (no-fake-data). Returns undefined when nothing is available.
38
+ * ctx ▓▓▓▓▓▓░░ 71% · use ▓▓▓░ 34% · resets 4:20p
39
+ */
40
+ export declare function renderMeters(meta: CardMeta | undefined, now?: number): string | undefined;
41
+ /**
42
+ * Render the agent's todo list (M4) as a compact checklist with a done/total
43
+ * header, e.g.:
44
+ * todos 1/3
45
+ * ☑ wire bridge
46
+ * ▶ render status line
47
+ * ☐ ship release
48
+ * Returns undefined when there are no todos (no-fake-data). Capped at TODO_MAX
49
+ * rows with a "+N more" overflow line so the card stays readable.
50
+ */
51
+ export declare function renderTodos(meta: CardMeta | undefined): string | undefined;