@a1hvdy/cc-openclaw 0.21.2 → 0.23.0

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 (70) hide show
  1. package/dist/src/channels/telegram/edit-cadence.d.ts +37 -0
  2. package/dist/src/channels/telegram/edit-cadence.js +50 -0
  3. package/dist/src/channels/telegram/edit-cadence.js.map +1 -0
  4. package/dist/src/channels/telegram/live-card.d.ts +23 -0
  5. package/dist/src/channels/telegram/live-card.js +95 -0
  6. package/dist/src/channels/telegram/live-card.js.map +1 -1
  7. package/dist/src/channels/telegram/speculative-bubble.d.ts +33 -0
  8. package/dist/src/channels/telegram/speculative-bubble.js +42 -0
  9. package/dist/src/channels/telegram/speculative-bubble.js.map +1 -0
  10. package/dist/src/channels/telegram/throttle-controller.d.ts +16 -0
  11. package/dist/src/channels/telegram/throttle-controller.js +54 -1
  12. package/dist/src/channels/telegram/throttle-controller.js.map +1 -1
  13. package/dist/src/channels/telegram/tool-tracker.d.ts +4 -1
  14. package/dist/src/channels/telegram/tool-tracker.js +18 -4
  15. package/dist/src/channels/telegram/tool-tracker.js.map +1 -1
  16. package/dist/src/command-router/cc-handler.js +32 -0
  17. package/dist/src/command-router/cc-handler.js.map +1 -1
  18. package/dist/src/command-router/launch-policy.js +14 -2
  19. package/dist/src/command-router/launch-policy.js.map +1 -1
  20. package/dist/src/index.js +57 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/lib/config-service.js +12 -0
  23. package/dist/src/lib/config-service.js.map +1 -1
  24. package/dist/src/lib/config.d.ts +36 -0
  25. package/dist/src/lib/config.js +97 -0
  26. package/dist/src/lib/config.js.map +1 -1
  27. package/dist/src/lib/http-agent.d.ts +47 -0
  28. package/dist/src/lib/http-agent.js +86 -0
  29. package/dist/src/lib/http-agent.js.map +1 -0
  30. package/dist/src/lib/markdown-to-mdv2.d.ts +53 -0
  31. package/dist/src/lib/markdown-to-mdv2.js +141 -0
  32. package/dist/src/lib/markdown-to-mdv2.js.map +1 -0
  33. package/dist/src/lib/perf/async-compact.d.ts +26 -0
  34. package/dist/src/lib/perf/async-compact.js +42 -0
  35. package/dist/src/lib/perf/async-compact.js.map +1 -0
  36. package/dist/src/lib/perf/direct-sdk.d.ts +26 -0
  37. package/dist/src/lib/perf/direct-sdk.js +58 -0
  38. package/dist/src/lib/perf/direct-sdk.js.map +1 -0
  39. package/dist/src/lib/perf/haiku-route.d.ts +19 -0
  40. package/dist/src/lib/perf/haiku-route.js +49 -0
  41. package/dist/src/lib/perf/haiku-route.js.map +1 -0
  42. package/dist/src/lib/perf/predictive-continuation.d.ts +18 -0
  43. package/dist/src/lib/perf/predictive-continuation.js +37 -0
  44. package/dist/src/lib/perf/predictive-continuation.js.map +1 -0
  45. package/dist/src/lib/perf/read-batch.d.ts +33 -0
  46. package/dist/src/lib/perf/read-batch.js +48 -0
  47. package/dist/src/lib/perf/read-batch.js.map +1 -0
  48. package/dist/src/lib/perf/resident-cli-pool.d.ts +39 -0
  49. package/dist/src/lib/perf/resident-cli-pool.js +60 -0
  50. package/dist/src/lib/perf/resident-cli-pool.js.map +1 -0
  51. package/dist/src/lib/perf/skill-list-collapse.d.ts +22 -0
  52. package/dist/src/lib/perf/skill-list-collapse.js +35 -0
  53. package/dist/src/lib/perf/skill-list-collapse.js.map +1 -0
  54. package/dist/src/lib/perf/typing-prefetch.d.ts +25 -0
  55. package/dist/src/lib/perf/typing-prefetch.js +54 -0
  56. package/dist/src/lib/perf/typing-prefetch.js.map +1 -0
  57. package/dist/src/observability/perf-telemetry.d.ts +66 -0
  58. package/dist/src/observability/perf-telemetry.js +79 -0
  59. package/dist/src/observability/perf-telemetry.js.map +1 -0
  60. package/dist/src/openai-compat/streaming-handler.js +35 -1
  61. package/dist/src/openai-compat/streaming-handler.js.map +1 -1
  62. package/dist/src/session-bootstrap/cwd-patch.js +37 -0
  63. package/dist/src/session-bootstrap/cwd-patch.js.map +1 -1
  64. package/dist/src/types/runtime-config.d.ts +36 -0
  65. package/dist/src/types/runtime-config.js +44 -0
  66. package/dist/src/types/runtime-config.js.map +1 -1
  67. package/package.json +1 -1
  68. package/dist/src/patches/sysprompt-strip.spec.d.ts +0 -33
  69. package/dist/src/patches/sysprompt-strip.spec.js +0 -53
  70. package/dist/src/patches/sysprompt-strip.spec.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ /**
2
+ * M3 (perf overhaul idea #3) — tiered edit cadence.
3
+ *
4
+ * Computes the trailing-edit delay for the live-card throttle. When the
5
+ * perf-edit-cadence flag is on, returns a 1500ms base interval with ±20%
6
+ * jitter applied; when off, returns the legacy 1200ms-exact value preserved
7
+ * bit-for-bit from `tool-tracker.ts:124` (v0.13.0 throttle).
8
+ *
9
+ * Why jitter: Telegram's per-chat editMessageText rate limit clusters 429s
10
+ * at the integer-second boundary when multiple cards in the same chat tick
11
+ * in lockstep. Spreading the trailing edit ±300ms breaks the clustering
12
+ * without going above the rate ceiling on any individual card.
13
+ *
14
+ * Tier-1 (t=0 placeholder) and tier-2 (immediate first content edit) are
15
+ * already handled by the `since >= interval` fast path in
16
+ * `throttledUpdateCard` — the very first call always finds `_lastEditAt=0`
17
+ * and fires immediately. This module's job is the tier-3 trailing edit
18
+ * pacing only.
19
+ *
20
+ * `rng` is injected for test determinism — production passes Math.random.
21
+ */
22
+ export declare const LEGACY_EDIT_INTERVAL_MS = 1200;
23
+ export declare const PERF_EDIT_INTERVAL_MS = 1500;
24
+ export declare const PERF_EDIT_JITTER_PCT = 0.2;
25
+ /**
26
+ * Compute the trailing-edit delay given the current throttle state.
27
+ * `since` is the elapsed ms since the last edit; the caller pre-decides
28
+ * whether to fire immediately (since >= interval) or schedule a trailing
29
+ * edit using this delay.
30
+ */
31
+ export declare function computeTrailingDelayMs(since: number, rng?: () => number): number;
32
+ /**
33
+ * Resolve the active interval for "is this call past the throttle window?"
34
+ * decisions. The flag flip changes both the schedule delay AND the
35
+ * immediate-fire boundary so the two stay consistent.
36
+ */
37
+ export declare function getActiveEditIntervalMs(): number;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * M3 (perf overhaul idea #3) — tiered edit cadence.
3
+ *
4
+ * Computes the trailing-edit delay for the live-card throttle. When the
5
+ * perf-edit-cadence flag is on, returns a 1500ms base interval with ±20%
6
+ * jitter applied; when off, returns the legacy 1200ms-exact value preserved
7
+ * bit-for-bit from `tool-tracker.ts:124` (v0.13.0 throttle).
8
+ *
9
+ * Why jitter: Telegram's per-chat editMessageText rate limit clusters 429s
10
+ * at the integer-second boundary when multiple cards in the same chat tick
11
+ * in lockstep. Spreading the trailing edit ±300ms breaks the clustering
12
+ * without going above the rate ceiling on any individual card.
13
+ *
14
+ * Tier-1 (t=0 placeholder) and tier-2 (immediate first content edit) are
15
+ * already handled by the `since >= interval` fast path in
16
+ * `throttledUpdateCard` — the very first call always finds `_lastEditAt=0`
17
+ * and fires immediately. This module's job is the tier-3 trailing edit
18
+ * pacing only.
19
+ *
20
+ * `rng` is injected for test determinism — production passes Math.random.
21
+ */
22
+ import { getPerfEditCadenceEnabled } from '../../lib/config.js';
23
+ export const LEGACY_EDIT_INTERVAL_MS = 1200;
24
+ export const PERF_EDIT_INTERVAL_MS = 1500;
25
+ export const PERF_EDIT_JITTER_PCT = 0.2;
26
+ /**
27
+ * Compute the trailing-edit delay given the current throttle state.
28
+ * `since` is the elapsed ms since the last edit; the caller pre-decides
29
+ * whether to fire immediately (since >= interval) or schedule a trailing
30
+ * edit using this delay.
31
+ */
32
+ export function computeTrailingDelayMs(since, rng = Math.random) {
33
+ const enabled = getPerfEditCadenceEnabled();
34
+ const interval = enabled ? PERF_EDIT_INTERVAL_MS : LEGACY_EDIT_INTERVAL_MS;
35
+ const baseDelay = interval - since;
36
+ if (!enabled)
37
+ return baseDelay;
38
+ // ±PERF_EDIT_JITTER_PCT applied as a uniform multiplier in [1-pct, 1+pct].
39
+ const jitter = 1 + (rng() * 2 - 1) * PERF_EDIT_JITTER_PCT;
40
+ return Math.max(0, Math.round(baseDelay * jitter));
41
+ }
42
+ /**
43
+ * Resolve the active interval for "is this call past the throttle window?"
44
+ * decisions. The flag flip changes both the schedule delay AND the
45
+ * immediate-fire boundary so the two stay consistent.
46
+ */
47
+ export function getActiveEditIntervalMs() {
48
+ return getPerfEditCadenceEnabled() ? PERF_EDIT_INTERVAL_MS : LEGACY_EDIT_INTERVAL_MS;
49
+ }
50
+ //# sourceMappingURL=edit-cadence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-cadence.js","sourceRoot":"","sources":["../../../../src/channels/telegram/edit-cadence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,MAAoB,IAAI,CAAC,MAAM;IAE/B,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,2EAA2E;IAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,yBAAyB,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AACvF,CAAC"}
@@ -121,6 +121,7 @@ interface SessionPipeline {
121
121
  }>): void;
122
122
  setCostUsd?(usd: number): void;
123
123
  setCacheBreakdown?(read: number, write: number): void;
124
+ appendAssistantTextDelta?(delta: string): void;
124
125
  cycleVerbosity(): string;
125
126
  _handleStall(idleMs: number): void;
126
127
  _handleStallRecovery(): void;
@@ -147,6 +148,28 @@ export declare function wrapOnThinking(options: {
147
148
  }, pipeline: {
148
149
  setThinkingPreview?: (text: string) => void;
149
150
  }): void;
151
+ export declare function wrapOnText(options: {
152
+ callbacks?: {
153
+ onText?: (text: string) => void;
154
+ };
155
+ }, pipeline: {
156
+ appendAssistantTextDelta?: (delta: string) => void;
157
+ }): void;
158
+ /** v0.22.0 M5 — testable getter for the layout-mode resolution.
159
+ * Returns the active layout: 'chrome_only' | 'dual_bubble'. Reads the
160
+ * env at call time (NOT cached) so test harnesses can flip the env and
161
+ * observe the change. The hot-path uses DUAL_BUBBLE_LAYOUT_ENABLED for
162
+ * one-time resolution; this getter is for tests + diagnostics. */
163
+ export declare function resolveLiveCardLayout(): 'chrome_only' | 'dual_bubble';
164
+ /** v0.22.0 M5 — emit bubble #2 if the layout flag is set and the renderer
165
+ * is available. Fail-open: env unset / `chrome_only` / renderer missing
166
+ * all silently no-op, preserving zero-regression for the default path.
167
+ * Callers wire this AFTER updateCard within the same tick so the queue's
168
+ * shared _cardChain enforces the bubble-ordering invariant. */
169
+ export declare function maybeEmitDualBubble(state: unknown, queue: {
170
+ updateTerminalBubble?: (body: string) => void;
171
+ cardMessageId?: number | null;
172
+ }): void;
150
173
  export { telegramApi, sendTg, editTg } from './card-renderer.js';
151
174
  export { TelegramMessageQueue } from './throttle-controller.js';
152
175
  export { bridgeEvent } from './card-renderer.js';
@@ -82,6 +82,90 @@ export function wrapOnThinking(options, pipeline) {
82
82
  }
83
83
  };
84
84
  }
85
+ // ── v0.22.0 M1 helper — lifts v0.20.2 D2 deviation (settle-only refresh).
86
+ // Wraps options.callbacks.onText so per-delta assistant text reaches the
87
+ // pipeline's appendAssistantTextDelta sink (workspace forwards to
88
+ // savvy-card-state.setAssistantText(text,'streaming') — buffered in
89
+ // _pendingAssistantText until messageStop). Preserves any pre-existing
90
+ // onText consumer (SSE forwarder, streaming-handler) — same discipline as
91
+ // wrapOnThinking. Failure-open: if pipeline.appendAssistantTextDelta is
92
+ // absent (older workspace), this is a silent no-op aside from delegating
93
+ // to the original onText. Exported for unit tests.
94
+ export function wrapOnText(options, pipeline) {
95
+ if (!options.callbacks)
96
+ options.callbacks = {};
97
+ const originalOnText = options.callbacks.onText;
98
+ options.callbacks.onText = (text) => {
99
+ if (text && typeof pipeline.appendAssistantTextDelta === 'function') {
100
+ try {
101
+ pipeline.appendAssistantTextDelta(text);
102
+ }
103
+ catch { /* ignore */ }
104
+ }
105
+ if (originalOnText) {
106
+ try {
107
+ originalOnText(text);
108
+ }
109
+ catch { /* ignore */ }
110
+ }
111
+ };
112
+ }
113
+ // ── v0.22.0 M5 — dual-bubble layout-mode env gate ────────────────────────
114
+ //
115
+ // CC_OPENCLAW_LIVE_CARD_LAYOUT controls whether bubble #2 (terminal mirror)
116
+ // is emitted alongside the chrome card. Default `chrome_only` preserves
117
+ // exact v0.20.2 behavior with zero regression. Set to `dual_bubble` to
118
+ // enable the terminal mirror — a fenced code-block second message that
119
+ // streams tool-event log lines + rolling assistant text tail.
120
+ //
121
+ // Read once at module load (not per call) so the value is stable across
122
+ // the session — matches the discipline used by RICH_RENDER_ENABLED.
123
+ const DUAL_BUBBLE_LAYOUT_ENABLED = (process.env.CC_OPENCLAW_LIVE_CARD_LAYOUT || 'chrome_only').toLowerCase() === 'dual_bubble';
124
+ /** v0.22.0 M5 — testable getter for the layout-mode resolution.
125
+ * Returns the active layout: 'chrome_only' | 'dual_bubble'. Reads the
126
+ * env at call time (NOT cached) so test harnesses can flip the env and
127
+ * observe the change. The hot-path uses DUAL_BUBBLE_LAYOUT_ENABLED for
128
+ * one-time resolution; this getter is for tests + diagnostics. */
129
+ export function resolveLiveCardLayout() {
130
+ return (process.env.CC_OPENCLAW_LIVE_CARD_LAYOUT || 'chrome_only').toLowerCase() === 'dual_bubble'
131
+ ? 'dual_bubble'
132
+ : 'chrome_only';
133
+ }
134
+ let _terminalRenderer = null;
135
+ let _terminalRendererLoaded = false;
136
+ function _loadTerminalRenderer() {
137
+ if (_terminalRendererLoaded)
138
+ return _terminalRenderer;
139
+ _terminalRendererLoaded = true;
140
+ try {
141
+ const mod = __require('/home/a1xai/.openclaw/workspace/lib/telegram-ux/telegram-renderer.js');
142
+ if (typeof mod._renderTerminalBubble === 'function') {
143
+ _terminalRenderer = mod._renderTerminalBubble;
144
+ }
145
+ }
146
+ catch { /* fail open — bubble #2 stays off if workspace lacks renderer */ }
147
+ return _terminalRenderer;
148
+ }
149
+ /** v0.22.0 M5 — emit bubble #2 if the layout flag is set and the renderer
150
+ * is available. Fail-open: env unset / `chrome_only` / renderer missing
151
+ * all silently no-op, preserving zero-regression for the default path.
152
+ * Callers wire this AFTER updateCard within the same tick so the queue's
153
+ * shared _cardChain enforces the bubble-ordering invariant. */
154
+ export function maybeEmitDualBubble(state, queue) {
155
+ if (!DUAL_BUBBLE_LAYOUT_ENABLED)
156
+ return;
157
+ if (!queue || typeof queue.updateTerminalBubble !== 'function')
158
+ return;
159
+ const renderer = _loadTerminalRenderer();
160
+ if (!renderer)
161
+ return;
162
+ try {
163
+ const body = renderer(state, {});
164
+ if (body && body.trim())
165
+ queue.updateTerminalBubble(body);
166
+ }
167
+ catch { /* ignore — bubble #2 must never break bubble #1 */ }
168
+ }
85
169
  // ── Telegram Bot API — re-exported from card-renderer.ts for caller compat ─
86
170
  export { telegramApi, sendTg, editTg } from './card-renderer.js';
87
171
  // ── Per-session Telegram message queue ────────────────────────────────────
@@ -258,6 +342,11 @@ export async function applyPatch() {
258
342
  onCardUpdate: (text, state) => {
259
343
  const markup = buttonHandler ? buttonHandler.buildButtons(state, name) : undefined;
260
344
  queue.updateCard(text, markup);
345
+ // v0.22.0 M5 — emit bubble #2 (terminal mirror) in lockstep when
346
+ // CC_OPENCLAW_LIVE_CARD_LAYOUT=dual_bubble. No-op when env unset
347
+ // / 'chrome_only' / renderer module didn't load — preserves the
348
+ // v0.20.2 zero-regression default-path contract.
349
+ maybeEmitDualBubble(state, queue);
261
350
  },
262
351
  onNewMessage: (text) => {
263
352
  // 2026-05-07: For cc-* sessions, cc-handler delivers the answer directly
@@ -481,6 +570,12 @@ export async function applyPatch() {
481
570
  // existing options.onThinking (e.g. streaming-handler's SSE forwarder)
482
571
  // so both consumers fire — the SSE thinking-surface must not regress.
483
572
  wrapOnThinking(options, pipeline);
573
+ // v0.22.0 M1 — bridge engine text_delta stream into the per-delta
574
+ // pipeline sink (workspace appendAssistantTextDelta → savvy-card-state
575
+ // setAssistantText(text,'streaming')). Lifts the v0.20.2 D2 deviation
576
+ // (settle-only refresh) so bubble #2 (terminal mirror, M3) can stream.
577
+ // Preserves any pre-existing options.callbacks.onText consumer.
578
+ wrapOnText(options, pipeline);
484
579
  const originalOnEvent = options.onEvent;
485
580
  const toolUseInputSize = new Map();
486
581
  options.onEvent = (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"live-card.js","sourceRoot":"","sources":["../../../../src/channels/telegram/live-card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-card.js","sourceRoot":"","sources":["../../../../src/channels/telegram/live-card.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * M9 (perf overhaul idea #9) — speculative "Thinking…" bubble.
3
+ *
4
+ * Fires a Telegram sendMessage at t≈50ms after the user submits, BEFORE the
5
+ * model returns first token. Pure perception fix — the model still does the
6
+ * full turn; this just shortens the user-visible "did the bot get my message?"
7
+ * window from ~400-800ms (subprocess bootstrap + first-byte) to ~50ms (one
8
+ * RTT to Telegram).
9
+ *
10
+ * Pairs with M3 as the tier-1 placeholder. The returned message_id can be
11
+ * handed to TelegramMessageQueue's `existingCardMessageId` so the live card
12
+ * edits the same Telegram message in-place — zero double-bubble.
13
+ *
14
+ * Flag: CC_OPENCLAW_PERF_SPEC_BUBBLE (default OFF; opt-in via =1).
15
+ *
16
+ * Integration: callers (cc-handler, gateway message_in hook) invoke this
17
+ * at the earliest non-blocking opportunity. Fire-and-forget is fine — the
18
+ * downstream live-card path checks `ackMessageId` and adopts it; if the
19
+ * speculative bubble hasn't landed yet, the live card sends a fresh ack.
20
+ */
21
+ export interface SpeculativeBubbleOptions {
22
+ chatId: string;
23
+ threadId?: string | undefined;
24
+ /** Text to emit. Defaults to a one-cell braille spinner + "Thinking…". */
25
+ text?: string;
26
+ /** Reply-to message id (the user's submitted message). Optional. */
27
+ replyToMessageId?: number | null;
28
+ }
29
+ /**
30
+ * Emit the speculative bubble. Returns the new message_id on success, null
31
+ * if the flag is off, the chatId is missing, or the send failed. Never throws.
32
+ */
33
+ export declare function emitSpeculativeThinking(opts: SpeculativeBubbleOptions): Promise<number | null>;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * M9 (perf overhaul idea #9) — speculative "Thinking…" bubble.
3
+ *
4
+ * Fires a Telegram sendMessage at t≈50ms after the user submits, BEFORE the
5
+ * model returns first token. Pure perception fix — the model still does the
6
+ * full turn; this just shortens the user-visible "did the bot get my message?"
7
+ * window from ~400-800ms (subprocess bootstrap + first-byte) to ~50ms (one
8
+ * RTT to Telegram).
9
+ *
10
+ * Pairs with M3 as the tier-1 placeholder. The returned message_id can be
11
+ * handed to TelegramMessageQueue's `existingCardMessageId` so the live card
12
+ * edits the same Telegram message in-place — zero double-bubble.
13
+ *
14
+ * Flag: CC_OPENCLAW_PERF_SPEC_BUBBLE (default OFF; opt-in via =1).
15
+ *
16
+ * Integration: callers (cc-handler, gateway message_in hook) invoke this
17
+ * at the earliest non-blocking opportunity. Fire-and-forget is fine — the
18
+ * downstream live-card path checks `ackMessageId` and adopts it; if the
19
+ * speculative bubble hasn't landed yet, the live card sends a fresh ack.
20
+ */
21
+ import { getPerfSpecBubbleEnabled } from '../../lib/config.js';
22
+ import { sendTg } from './card-renderer.js';
23
+ const DEFAULT_TEXT = '⠋ Thinking…';
24
+ /**
25
+ * Emit the speculative bubble. Returns the new message_id on success, null
26
+ * if the flag is off, the chatId is missing, or the send failed. Never throws.
27
+ */
28
+ export async function emitSpeculativeThinking(opts) {
29
+ if (!getPerfSpecBubbleEnabled())
30
+ return null;
31
+ if (!opts.chatId)
32
+ return null;
33
+ const text = opts.text || DEFAULT_TEXT;
34
+ try {
35
+ const res = (await sendTg(opts.chatId, text, opts.threadId, undefined, opts.replyToMessageId ?? null));
36
+ return res?.message_id ?? null;
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ }
42
+ //# sourceMappingURL=speculative-bubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculative-bubble.js","sourceRoot":"","sources":["../../../../src/channels/telegram/speculative-bubble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,YAAY,GAAG,aAAa,CAAC;AAWnC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAA8B;IAE9B,IAAI,CAAC,wBAAwB,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,SAAS,EACT,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAC9B,CAAmC,CAAC;QACrC,OAAO,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -29,6 +29,7 @@ export declare class TelegramMessageQueue {
29
29
  chatId: string;
30
30
  threadId: string | undefined;
31
31
  cardMessageId: number | null;
32
+ terminalMessageId: number | null;
32
33
  _replyToMessageId: number | null;
33
34
  /**
34
35
  * Sticky flag — set true the first time `sendMessage()` is called for this
@@ -64,6 +65,21 @@ export declare class TelegramMessageQueue {
64
65
  sendMessage(text: string, opts?: {
65
66
  escape?: boolean;
66
67
  }): void;
68
+ /** v0.22.0 M4 — send or edit the terminal-mirror bubble (#2 of dual-bubble).
69
+ *
70
+ * Chains on the SAME _cardChain as updateCard() so the two bubbles edit
71
+ * in lockstep: each terminal-bubble operation runs after the most recent
72
+ * chrome-bubble operation has resolved. Ordering invariant — bubble #2
73
+ * cannot arrive before bubble #1 — is enforced by the cardMessageId
74
+ * precondition: the terminal-send is a no-op until the chrome bubble
75
+ * has been dispatched at least once. Callers wire this by always calling
76
+ * updateCard() before updateTerminalBubble() within a turn.
77
+ *
78
+ * Empty body is a no-op (so M3's `return ''` when state is empty doesn't
79
+ * produce a wasteful empty-message send). When body is non-empty and
80
+ * terminalMessageId is null, first send creates the bubble; subsequent
81
+ * calls editTg the same message in-place. */
82
+ updateTerminalBubble(body: string): void;
67
83
  }
68
84
  export interface InputFingerprint {
69
85
  size: number;
@@ -21,6 +21,14 @@ import { createHash } from 'node:crypto';
21
21
  import { sendTg, editTg } from './card-renderer.js';
22
22
  import { _logger } from './logger.js';
23
23
  import { escapeMarkdownV2 } from '../../lib/markdown-v2.js';
24
+ import { markdownToMdv2 } from '../../lib/markdown-to-mdv2.js';
25
+ // v0.20.2 — gate for the rich-render structural converter. When `1`, raw
26
+ // assistant text (opts.escape=true callers) routes through markdownToMdv2
27
+ // so bold/italic/code/headers/links render in Telegram instead of showing
28
+ // as literal escape sequences. Default `0` preserves exact v0.20.1 behavior
29
+ // (full escape, no formatting). Read once at module load to match the
30
+ // runtime env semantics other v0.20.x flags use.
31
+ const RICH_RENDER_ENABLED = process.env.CC_OPENCLAW_RICH_RENDER === '1';
24
32
  const PLUGIN_TAG = '[cc-openclaw/telegram/throttle-controller]';
25
33
  // ── Shared cross-handler dedup ───────────────────────────────────────────
26
34
  //
@@ -64,6 +72,11 @@ export class TelegramMessageQueue {
64
72
  chatId;
65
73
  threadId;
66
74
  cardMessageId;
75
+ // v0.22.0 M4 — paired secondary message ID for bubble #2 (terminal
76
+ // mirror) of the dual-bubble layout. Null until the first non-empty
77
+ // terminal-bubble update has been sent. Once set, subsequent updates
78
+ // edit the same Telegram message in-place.
79
+ terminalMessageId;
67
80
  _replyToMessageId;
68
81
  /**
69
82
  * Sticky flag — set true the first time `sendMessage()` is called for this
@@ -81,6 +94,7 @@ export class TelegramMessageQueue {
81
94
  this.threadId = threadId;
82
95
  this._replyToMessageId = replyToMessageId || null;
83
96
  this.cardMessageId = existingCardMessageId || null;
97
+ this.terminalMessageId = null;
84
98
  this.messageSent = false;
85
99
  this._cardChain = Promise.resolve();
86
100
  this._msgChain = Promise.resolve();
@@ -119,11 +133,50 @@ export class TelegramMessageQueue {
119
133
  */
120
134
  sendMessage(text, opts) {
121
135
  this.messageSent = true;
122
- const payload = opts?.escape ? escapeMarkdownV2(text) : text;
136
+ // v0.20.2: opts.escape callers (raw assistant text) optionally route
137
+ // through the structural converter when CC_OPENCLAW_RICH_RENDER=1.
138
+ // Default behavior (flag unset/0) is the v0.20.1 flat-escape — every
139
+ // MarkdownV2 special char is backslash-escaped, formatting markers
140
+ // become literal but content punctuation is preserved.
141
+ const payload = opts?.escape
142
+ ? (RICH_RENDER_ENABLED ? markdownToMdv2(text) : escapeMarkdownV2(text))
143
+ : text;
123
144
  this._msgChain = this._msgChain.then(async () => {
124
145
  await sendTg(this.chatId, payload, this.threadId);
125
146
  }).catch(e => _logger.error(`${PLUGIN_TAG} message send error: ${e.message}`));
126
147
  }
148
+ /** v0.22.0 M4 — send or edit the terminal-mirror bubble (#2 of dual-bubble).
149
+ *
150
+ * Chains on the SAME _cardChain as updateCard() so the two bubbles edit
151
+ * in lockstep: each terminal-bubble operation runs after the most recent
152
+ * chrome-bubble operation has resolved. Ordering invariant — bubble #2
153
+ * cannot arrive before bubble #1 — is enforced by the cardMessageId
154
+ * precondition: the terminal-send is a no-op until the chrome bubble
155
+ * has been dispatched at least once. Callers wire this by always calling
156
+ * updateCard() before updateTerminalBubble() within a turn.
157
+ *
158
+ * Empty body is a no-op (so M3's `return ''` when state is empty doesn't
159
+ * produce a wasteful empty-message send). When body is non-empty and
160
+ * terminalMessageId is null, first send creates the bubble; subsequent
161
+ * calls editTg the same message in-place. */
162
+ updateTerminalBubble(body) {
163
+ if (!body || !body.trim())
164
+ return;
165
+ this._cardChain = this._cardChain.then(async () => {
166
+ // Ordering guard — refuse to emit bubble #2 before bubble #1 lands.
167
+ if (!this.cardMessageId)
168
+ return;
169
+ if (this.terminalMessageId) {
170
+ await editTg(this.chatId, this.terminalMessageId, body);
171
+ }
172
+ else {
173
+ const res = await sendTg(this.chatId, body, this.threadId, undefined, null);
174
+ if (res.ok && res.result?.message_id) {
175
+ this.terminalMessageId = res.result.message_id;
176
+ }
177
+ }
178
+ }).catch(e => _logger.error(`${PLUGIN_TAG} terminal bubble error: ${e.message}`));
179
+ }
127
180
  }
128
181
  export function _inputFingerprint(input) {
129
182
  if (!input || typeof input !== 'object')
@@ -1 +1 @@
1
- {"version":3,"file":"throttle-controller.js","sourceRoot":"","sources":["../../../../src/channels/telegram/throttle-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"throttle-controller.js","sourceRoot":"","sources":["../../../../src/channels/telegram/throttle-controller.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,9 @@ export declare let SavvyCardStateCtor: (new (sk: string, opts: {
100
100
  model?: string | null;
101
101
  }) => SavvyCardStateInstance) | null;
102
102
  export declare let renderSavvyCard: RenderSavvyCardFn | null;
103
+ export type RenderTerminalBubbleFn = (state: unknown, opts?: unknown) => string;
104
+ export declare let renderTerminalBubble: RenderTerminalBubbleFn | null;
105
+ export declare function setRenderTerminalBubble(v: RenderTerminalBubbleFn | null): void;
103
106
  export declare let verbosityCtrl: {
104
107
  getLevel(chatKey: string): string;
105
108
  cycleLevel(chatKey: string): string;
@@ -128,7 +131,7 @@ export declare function loadLastSession(chatId: string): {
128
131
  export { extractResultPreview } from './result-preview.js';
129
132
  /** Build Savvy buttons with current verbosity level injected. */
130
133
  export declare function savvyButtons(state: SavvyCardState, sessionKey: string, chatIdOrOpts: unknown): unknown;
131
- /** Throttle Savvy card edits — max 1 edit per 2s to avoid Telegram 429s */
134
+ /** Throttle Savvy card edits — interval + jitter resolved via edit-cadence.ts */
132
135
  export declare function throttledUpdateCard(entry: SavvyCardEntry, text: string, markup: unknown): void;
133
136
  /**
134
137
  * Resolve chatId/threadId for a sessionKey from the globalThis metadata store.