@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.
- package/dist/src/channels/telegram/injector.js +71 -0
- package/dist/src/channels/telegram/injector.js.map +1 -1
- package/dist/src/channels/telegram-mirror/card-renderer.d.ts +2 -1
- package/dist/src/channels/telegram-mirror/card-renderer.js +24 -2
- package/dist/src/channels/telegram-mirror/card-renderer.js.map +1 -1
- package/dist/src/channels/telegram-mirror/card-state.d.ts +62 -2
- package/dist/src/channels/telegram-mirror/card-state.js +37 -3
- package/dist/src/channels/telegram-mirror/card-state.js.map +1 -1
- package/dist/src/channels/telegram-mirror/inbound-handler.js +19 -38
- package/dist/src/channels/telegram-mirror/inbound-handler.js.map +1 -1
- package/dist/src/channels/telegram-mirror/status-line.d.ts +51 -0
- package/dist/src/channels/telegram-mirror/status-line.js +168 -0
- package/dist/src/channels/telegram-mirror/status-line.js.map +1 -0
- package/dist/src/channels/telegram-mirror/turn-bridge.d.ts +34 -0
- package/dist/src/channels/telegram-mirror/turn-bridge.js +119 -2
- package/dist/src/channels/telegram-mirror/turn-bridge.js.map +1 -1
- package/dist/src/engines/persistent-session.js +5 -1
- package/dist/src/engines/persistent-session.js.map +1 -1
- package/dist/src/openai-compat/non-streaming-handler.js +26 -1
- package/dist/src/openai-compat/non-streaming-handler.js.map +1 -1
- package/dist/src/openai-compat/streaming-handler.js +30 -1
- package/dist/src/openai-compat/streaming-handler.js.map +1 -1
- package/dist/src/patches/sysprompt-strip.spec.d.ts +33 -0
- package/dist/src/patches/sysprompt-strip.spec.js +53 -0
- package/dist/src/patches/sysprompt-strip.spec.js.map +1 -0
- package/mcp-tools.json +1 -1
- package/package.json +1 -1
- package/dist/src/lib/perf/resident-cli-pool.d.ts +0 -39
- package/dist/src/lib/perf/resident-cli-pool.js +0 -60
- 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":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAyCH,6EAA6E;AAE7E,MAAM,UAAU,GAAG,iCAAiC,CAAC;AACrD,MAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,6EAA6E;AAE7E,iCAAiC;AACjC,+EAA+E;AAC/E,gFAAgF;AAChF,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE1D,6EAA6E;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAkB;IACnC,IAAI,EAAE,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IAC3B,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,EAAkB;IAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,kEAAkE;IAClE,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAC7B,CAAC,CAAC,KAAK,CAAC,GAAG;oBACX,CAAC,CAAC,EAAE,CAAC;IACf,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,EAAkB;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;
|
|
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.
|
|
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
|
-
/**
|
|
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.
|
|
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
|
-
|
|
14
|
-
|
|
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
|
|
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 —
|
|
407
|
-
//
|
|
408
|
-
//
|
|
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
|
-
|
|
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;
|