@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.
- package/dist/src/channels/telegram/edit-cadence.d.ts +37 -0
- package/dist/src/channels/telegram/edit-cadence.js +50 -0
- package/dist/src/channels/telegram/edit-cadence.js.map +1 -0
- package/dist/src/channels/telegram/live-card.d.ts +23 -0
- package/dist/src/channels/telegram/live-card.js +95 -0
- package/dist/src/channels/telegram/live-card.js.map +1 -1
- package/dist/src/channels/telegram/speculative-bubble.d.ts +33 -0
- package/dist/src/channels/telegram/speculative-bubble.js +42 -0
- package/dist/src/channels/telegram/speculative-bubble.js.map +1 -0
- package/dist/src/channels/telegram/throttle-controller.d.ts +16 -0
- package/dist/src/channels/telegram/throttle-controller.js +54 -1
- package/dist/src/channels/telegram/throttle-controller.js.map +1 -1
- package/dist/src/channels/telegram/tool-tracker.d.ts +4 -1
- package/dist/src/channels/telegram/tool-tracker.js +18 -4
- package/dist/src/channels/telegram/tool-tracker.js.map +1 -1
- package/dist/src/command-router/cc-handler.js +32 -0
- package/dist/src/command-router/cc-handler.js.map +1 -1
- package/dist/src/command-router/launch-policy.js +14 -2
- package/dist/src/command-router/launch-policy.js.map +1 -1
- package/dist/src/index.js +57 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/config-service.js +12 -0
- package/dist/src/lib/config-service.js.map +1 -1
- package/dist/src/lib/config.d.ts +36 -0
- package/dist/src/lib/config.js +97 -0
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/http-agent.d.ts +47 -0
- package/dist/src/lib/http-agent.js +86 -0
- package/dist/src/lib/http-agent.js.map +1 -0
- package/dist/src/lib/markdown-to-mdv2.d.ts +53 -0
- package/dist/src/lib/markdown-to-mdv2.js +141 -0
- package/dist/src/lib/markdown-to-mdv2.js.map +1 -0
- package/dist/src/lib/perf/async-compact.d.ts +26 -0
- package/dist/src/lib/perf/async-compact.js +42 -0
- package/dist/src/lib/perf/async-compact.js.map +1 -0
- package/dist/src/lib/perf/direct-sdk.d.ts +26 -0
- package/dist/src/lib/perf/direct-sdk.js +58 -0
- package/dist/src/lib/perf/direct-sdk.js.map +1 -0
- package/dist/src/lib/perf/haiku-route.d.ts +19 -0
- package/dist/src/lib/perf/haiku-route.js +49 -0
- package/dist/src/lib/perf/haiku-route.js.map +1 -0
- package/dist/src/lib/perf/predictive-continuation.d.ts +18 -0
- package/dist/src/lib/perf/predictive-continuation.js +37 -0
- package/dist/src/lib/perf/predictive-continuation.js.map +1 -0
- package/dist/src/lib/perf/read-batch.d.ts +33 -0
- package/dist/src/lib/perf/read-batch.js +48 -0
- package/dist/src/lib/perf/read-batch.js.map +1 -0
- package/dist/src/lib/perf/resident-cli-pool.d.ts +39 -0
- package/dist/src/lib/perf/resident-cli-pool.js +60 -0
- package/dist/src/lib/perf/resident-cli-pool.js.map +1 -0
- package/dist/src/lib/perf/skill-list-collapse.d.ts +22 -0
- package/dist/src/lib/perf/skill-list-collapse.js +35 -0
- package/dist/src/lib/perf/skill-list-collapse.js.map +1 -0
- package/dist/src/lib/perf/typing-prefetch.d.ts +25 -0
- package/dist/src/lib/perf/typing-prefetch.js +54 -0
- package/dist/src/lib/perf/typing-prefetch.js.map +1 -0
- package/dist/src/observability/perf-telemetry.d.ts +66 -0
- package/dist/src/observability/perf-telemetry.js +79 -0
- package/dist/src/observability/perf-telemetry.js.map +1 -0
- package/dist/src/openai-compat/streaming-handler.js +35 -1
- package/dist/src/openai-compat/streaming-handler.js.map +1 -1
- package/dist/src/session-bootstrap/cwd-patch.js +37 -0
- package/dist/src/session-bootstrap/cwd-patch.js.map +1 -1
- package/dist/src/types/runtime-config.d.ts +36 -0
- package/dist/src/types/runtime-config.js +44 -0
- package/dist/src/types/runtime-config.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/patches/sysprompt-strip.spec.d.ts +0 -33
- package/dist/src/patches/sysprompt-strip.spec.js +0 -53
- package/dist/src/patches/sysprompt-strip.spec.js.map +0 -1
package/dist/src/lib/config.js
CHANGED
|
@@ -95,6 +95,103 @@ export function isSyspromptDumpEnabled() {
|
|
|
95
95
|
return cfg.config.syspromptDump;
|
|
96
96
|
return process.env.OPENCLAW_SYSPROMPT_DUMP === '1';
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* M8 (perf overhaul idea #8). Default ON; only the falsey set (0/false/off,
|
|
100
|
+
* preserved bit-for-bit from `FALSEY()` in config-service.ts) opts out.
|
|
101
|
+
* Live gateway path goes through ConfigService; tests can flip the env var
|
|
102
|
+
* mid-process and have it take effect immediately.
|
|
103
|
+
*/
|
|
104
|
+
export function getPerfCacheTelemetryEnabled() {
|
|
105
|
+
const cfg = getConfigService();
|
|
106
|
+
if (cfg)
|
|
107
|
+
return cfg.config.perfCacheTelemetryEnabled;
|
|
108
|
+
const raw = (process.env.CC_OPENCLAW_PERF_CACHE_TELEMETRY ?? '').toLowerCase();
|
|
109
|
+
return !(raw === '0' || raw === 'false' || raw === 'off');
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* M5 (perf overhaul idea #5). Default OFF; opt-in via
|
|
113
|
+
* CC_OPENCLAW_PERF_KEEPALIVE=1. Flips to default-ON after baseline data
|
|
114
|
+
* confirms the perf win (plan: "default ON for safe ideas once measured-good").
|
|
115
|
+
*/
|
|
116
|
+
export function getPerfKeepaliveEnabled() {
|
|
117
|
+
const cfg = getConfigService();
|
|
118
|
+
if (cfg)
|
|
119
|
+
return cfg.config.perfKeepaliveEnabled;
|
|
120
|
+
return process.env.CC_OPENCLAW_PERF_KEEPALIVE === '1';
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* M3 (perf overhaul idea #3) — tiered edit cadence. Default OFF; opt-in via
|
|
124
|
+
* CC_OPENCLAW_PERF_EDIT_CADENCE=1.
|
|
125
|
+
*/
|
|
126
|
+
export function getPerfEditCadenceEnabled() {
|
|
127
|
+
const cfg = getConfigService();
|
|
128
|
+
if (cfg)
|
|
129
|
+
return cfg.config.perfEditCadenceEnabled;
|
|
130
|
+
return process.env.CC_OPENCLAW_PERF_EDIT_CADENCE === '1';
|
|
131
|
+
}
|
|
132
|
+
/** M9 (perf overhaul idea #9) — speculative thinking bubble. Default OFF. */
|
|
133
|
+
export function getPerfSpecBubbleEnabled() {
|
|
134
|
+
const cfg = getConfigService();
|
|
135
|
+
if (cfg)
|
|
136
|
+
return cfg.config.perfSpecBubbleEnabled;
|
|
137
|
+
return process.env.CC_OPENCLAW_PERF_SPEC_BUBBLE === '1';
|
|
138
|
+
}
|
|
139
|
+
/** M4 — skill-list-on-demand. Default OFF. */
|
|
140
|
+
export function getPerfSkillOnDemandEnabled() {
|
|
141
|
+
const cfg = getConfigService();
|
|
142
|
+
if (cfg)
|
|
143
|
+
return cfg.config.perfSkillOnDemandEnabled;
|
|
144
|
+
return process.env.CC_OPENCLAW_PERF_SKILL_ONDEMAND === '1';
|
|
145
|
+
}
|
|
146
|
+
/** M11 — predictive continuation. Default OFF. */
|
|
147
|
+
export function getPerfPredictiveContinueEnabled() {
|
|
148
|
+
const cfg = getConfigService();
|
|
149
|
+
if (cfg)
|
|
150
|
+
return cfg.config.perfPredictiveContinueEnabled;
|
|
151
|
+
return process.env.CC_OPENCLAW_PERF_PREDICTIVE_CONTINUE === '1';
|
|
152
|
+
}
|
|
153
|
+
/** M2 — typing-prefetch subprocess warmup. Default OFF. */
|
|
154
|
+
export function getPerfTypingPrefetchEnabled() {
|
|
155
|
+
const cfg = getConfigService();
|
|
156
|
+
if (cfg)
|
|
157
|
+
return cfg.config.perfTypingPrefetchEnabled;
|
|
158
|
+
return process.env.CC_OPENCLAW_PERF_TYPING_PREFETCH === '1';
|
|
159
|
+
}
|
|
160
|
+
/** M10 — Haiku cheap-route. Default OFF. */
|
|
161
|
+
export function getPerfHaikuRouteEnabled() {
|
|
162
|
+
const cfg = getConfigService();
|
|
163
|
+
if (cfg)
|
|
164
|
+
return cfg.config.perfHaikuRouteEnabled;
|
|
165
|
+
return process.env.CC_OPENCLAW_PERF_HAIKU_ROUTE === '1';
|
|
166
|
+
}
|
|
167
|
+
/** M6 — async lossless compaction. Default OFF (medium risk). */
|
|
168
|
+
export function getPerfAsyncCompactEnabled() {
|
|
169
|
+
const cfg = getConfigService();
|
|
170
|
+
if (cfg)
|
|
171
|
+
return cfg.config.perfAsyncCompactEnabled;
|
|
172
|
+
return process.env.CC_OPENCLAW_PERF_ASYNC_COMPACT === '1';
|
|
173
|
+
}
|
|
174
|
+
/** M7 — Read([paths]) batching. Default OFF (medium risk). */
|
|
175
|
+
export function getPerfReadBatchEnabled() {
|
|
176
|
+
const cfg = getConfigService();
|
|
177
|
+
if (cfg)
|
|
178
|
+
return cfg.config.perfReadBatchEnabled;
|
|
179
|
+
return process.env.CC_OPENCLAW_PERF_READ_BATCH === '1';
|
|
180
|
+
}
|
|
181
|
+
/** M1 — resident CLI pool. Default OFF (medium risk). */
|
|
182
|
+
export function getPerfResidentCliEnabled() {
|
|
183
|
+
const cfg = getConfigService();
|
|
184
|
+
if (cfg)
|
|
185
|
+
return cfg.config.perfResidentCliEnabled;
|
|
186
|
+
return process.env.CC_OPENCLAW_PERF_RESIDENT_CLI === '1';
|
|
187
|
+
}
|
|
188
|
+
/** M12 — direct claude-code SDK in-process. Default OFF (HIGH RISK, hard-gated). */
|
|
189
|
+
export function getPerfDirectSdkEnabled() {
|
|
190
|
+
const cfg = getConfigService();
|
|
191
|
+
if (cfg)
|
|
192
|
+
return cfg.config.perfDirectSdkEnabled;
|
|
193
|
+
return process.env.CC_OPENCLAW_PERF_DIRECT_SDK === '1';
|
|
194
|
+
}
|
|
98
195
|
// ── SessionManager bootstrap caps (cwd-patch eager-init) ─────────────────
|
|
99
196
|
// Defaults preserved from cwd-patch.ts:844-845.
|
|
100
197
|
export function getMaxConcurrentSessions() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M5 (perf overhaul idea #5) — undici keepAlive agent pool.
|
|
3
|
+
*
|
|
4
|
+
* Sets undici's global dispatcher to a keepAlive Agent so every Node 18+
|
|
5
|
+
* `fetch()` call in cc-openclaw reuses TCP+TLS sockets per upstream origin.
|
|
6
|
+
* For the Riyadh→US-East corridor (150-200ms RTT), eliminating one TLS 1.3
|
|
7
|
+
* handshake saves roughly 1 TCP + 2 TLS round trips = 450-600ms tail latency
|
|
8
|
+
* per reuse. Undici's `Agent` already pools per-origin internally; we just
|
|
9
|
+
* tune `connections` (concurrent sockets) and `keepAliveTimeout` (idle hold).
|
|
10
|
+
*
|
|
11
|
+
* Flag: CC_OPENCLAW_PERF_KEEPALIVE (default OFF until M8 baseline confirms
|
|
12
|
+
* the win — per plan, "default ON for safe ideas... once measured-good").
|
|
13
|
+
*
|
|
14
|
+
* Install is idempotent — second invocation in the same process is a no-op
|
|
15
|
+
* so importing from multiple bootstrap entry points is safe. The previous
|
|
16
|
+
* dispatcher is closed gracefully to avoid socket leaks during reinstall.
|
|
17
|
+
*
|
|
18
|
+
* Test hook: pass a custom factory to `installPerfKeepaliveAgent({ factory })`
|
|
19
|
+
* so the test suite can verify install+settings without binding real sockets.
|
|
20
|
+
*/
|
|
21
|
+
export interface KeepaliveOptions {
|
|
22
|
+
/** Max idle time a kept-alive socket stays open. Default 60s. */
|
|
23
|
+
keepAliveTimeout?: number;
|
|
24
|
+
/** Hard ceiling on idle socket age. Default 120s. */
|
|
25
|
+
keepAliveMaxTimeout?: number;
|
|
26
|
+
/** Concurrent sockets per origin. Default 8 — enough for cc-openclaw's
|
|
27
|
+
* fan-out to Anthropic + OpenAI fallback without saturating either. */
|
|
28
|
+
connections?: number;
|
|
29
|
+
}
|
|
30
|
+
interface InstallSnapshot {
|
|
31
|
+
installed: boolean;
|
|
32
|
+
options: Required<KeepaliveOptions>;
|
|
33
|
+
installedAt: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Install the keepAlive agent as undici's global dispatcher. Idempotent —
|
|
37
|
+
* subsequent calls in the same process return the existing snapshot without
|
|
38
|
+
* reinstalling. Returns null when the flag is off (no-op, no snapshot).
|
|
39
|
+
*
|
|
40
|
+
* `factory` exists for tests; production code never passes it.
|
|
41
|
+
*/
|
|
42
|
+
export declare function installPerfKeepaliveAgent(opts?: KeepaliveOptions, factory?: (resolved: Required<KeepaliveOptions>) => unknown): InstallSnapshot | null;
|
|
43
|
+
/** Inspect current install state — used by /health + diagnostics. */
|
|
44
|
+
export declare function getPerfKeepaliveSnapshot(): InstallSnapshot | null;
|
|
45
|
+
/** Test hook — clear the install snapshot so the next call reinstalls. */
|
|
46
|
+
export declare function _resetPerfKeepaliveForTests(): void;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M5 (perf overhaul idea #5) — undici keepAlive agent pool.
|
|
3
|
+
*
|
|
4
|
+
* Sets undici's global dispatcher to a keepAlive Agent so every Node 18+
|
|
5
|
+
* `fetch()` call in cc-openclaw reuses TCP+TLS sockets per upstream origin.
|
|
6
|
+
* For the Riyadh→US-East corridor (150-200ms RTT), eliminating one TLS 1.3
|
|
7
|
+
* handshake saves roughly 1 TCP + 2 TLS round trips = 450-600ms tail latency
|
|
8
|
+
* per reuse. Undici's `Agent` already pools per-origin internally; we just
|
|
9
|
+
* tune `connections` (concurrent sockets) and `keepAliveTimeout` (idle hold).
|
|
10
|
+
*
|
|
11
|
+
* Flag: CC_OPENCLAW_PERF_KEEPALIVE (default OFF until M8 baseline confirms
|
|
12
|
+
* the win — per plan, "default ON for safe ideas... once measured-good").
|
|
13
|
+
*
|
|
14
|
+
* Install is idempotent — second invocation in the same process is a no-op
|
|
15
|
+
* so importing from multiple bootstrap entry points is safe. The previous
|
|
16
|
+
* dispatcher is closed gracefully to avoid socket leaks during reinstall.
|
|
17
|
+
*
|
|
18
|
+
* Test hook: pass a custom factory to `installPerfKeepaliveAgent({ factory })`
|
|
19
|
+
* so the test suite can verify install+settings without binding real sockets.
|
|
20
|
+
*/
|
|
21
|
+
// undici is lazy-loaded inside installPerfKeepaliveAgent to keep the
|
|
22
|
+
// cold-start import budget at zero when the flag is off (which is the
|
|
23
|
+
// default). Eager `import from 'undici'` here pushed the plugin-entry
|
|
24
|
+
// import time over the 2000ms cold-start budget enforced by
|
|
25
|
+
// tests/perf/cold-start.test.ts.
|
|
26
|
+
import { createRequire } from 'node:module';
|
|
27
|
+
import { getPerfKeepaliveEnabled, isLogLevelDebug } from './config.js';
|
|
28
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
29
|
+
let snapshot = null;
|
|
30
|
+
const DEFAULTS = {
|
|
31
|
+
keepAliveTimeout: 60_000,
|
|
32
|
+
keepAliveMaxTimeout: 120_000,
|
|
33
|
+
connections: 8,
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Install the keepAlive agent as undici's global dispatcher. Idempotent —
|
|
37
|
+
* subsequent calls in the same process return the existing snapshot without
|
|
38
|
+
* reinstalling. Returns null when the flag is off (no-op, no snapshot).
|
|
39
|
+
*
|
|
40
|
+
* `factory` exists for tests; production code never passes it.
|
|
41
|
+
*/
|
|
42
|
+
export function installPerfKeepaliveAgent(opts = {}, factory) {
|
|
43
|
+
if (!getPerfKeepaliveEnabled())
|
|
44
|
+
return null;
|
|
45
|
+
if (snapshot)
|
|
46
|
+
return snapshot;
|
|
47
|
+
const resolved = {
|
|
48
|
+
keepAliveTimeout: opts.keepAliveTimeout ?? DEFAULTS.keepAliveTimeout,
|
|
49
|
+
keepAliveMaxTimeout: opts.keepAliveMaxTimeout ?? DEFAULTS.keepAliveMaxTimeout,
|
|
50
|
+
connections: opts.connections ?? DEFAULTS.connections,
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
// Lazy-load undici only when actually installing. Cost is amortized
|
|
54
|
+
// across the rest of the process lifetime (Node caches require()).
|
|
55
|
+
const undici = requireFromHere('undici');
|
|
56
|
+
const prev = undici.getGlobalDispatcher();
|
|
57
|
+
// Default factory uses the just-loaded undici.Agent. Tests inject
|
|
58
|
+
// their own factory to avoid binding real sockets.
|
|
59
|
+
const realFactory = factory ?? ((r) => new undici.Agent(r));
|
|
60
|
+
const next = realFactory(resolved);
|
|
61
|
+
undici.setGlobalDispatcher(next);
|
|
62
|
+
// Close the previous dispatcher to release pooled sockets, but never
|
|
63
|
+
// throw — install must not break the gateway boot path on this branch.
|
|
64
|
+
if (prev && typeof prev.close === 'function') {
|
|
65
|
+
void prev.close().catch(() => { });
|
|
66
|
+
}
|
|
67
|
+
snapshot = { installed: true, options: resolved, installedAt: new Date().toISOString() };
|
|
68
|
+
return snapshot;
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
if (isLogLevelDebug()) {
|
|
72
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
73
|
+
process.stderr.write(`[http-agent] install failed: ${msg}\n`);
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Inspect current install state — used by /health + diagnostics. */
|
|
79
|
+
export function getPerfKeepaliveSnapshot() {
|
|
80
|
+
return snapshot;
|
|
81
|
+
}
|
|
82
|
+
/** Test hook — clear the install snapshot so the next call reinstalls. */
|
|
83
|
+
export function _resetPerfKeepaliveForTests() {
|
|
84
|
+
snapshot = null;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=http-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-agent.js","sourceRoot":"","sources":["../../../src/lib/http-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAC5D,iCAAiC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAkBvD,IAAI,QAAQ,GAA2B,IAAI,CAAC;AAE5C,MAAM,QAAQ,GAA+B;IAC3C,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,OAAO;IAC5B,WAAW,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyB,EAAE,EAC3B,OAA2D;IAE3D,IAAI,CAAC,uBAAuB,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,QAAQ,GAA+B;QAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;QACpE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB;QAC7E,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;KACtD,CAAC;IAEF,IAAI,CAAC;QACH,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAItC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC1C,kEAAkE;QAClE,mDAAmD;QACnD,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC,CAA6B,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,mBAAmB,CAAC,IAAa,CAAC,CAAC;QAC1C,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,IAAI,IAAI,OAAQ,IAA2C,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACrF,KAAM,IAA0C,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,eAAe,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,wBAAwB;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,2BAA2B;IACzC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* markdown-to-mdv2 — v0.20.2 Slice 6 "rich render" converter.
|
|
3
|
+
*
|
|
4
|
+
* Converts a subset of CommonMark Markdown to Telegram MarkdownV2 with
|
|
5
|
+
* STRUCTURE PRESERVED — `**bold**` becomes `*bold*` (Telegram bold), not
|
|
6
|
+
* `\*\*bold\*\*` (literal asterisks). Companion to markdown-v2.ts whose
|
|
7
|
+
* escapeMarkdownV2 escapes EVERYTHING including syntax markers.
|
|
8
|
+
*
|
|
9
|
+
* Why both: markdown-v2.ts is the safe fallback for content where loss of
|
|
10
|
+
* formatting is acceptable but loss of punctuation isn't (v0.20.1 fix).
|
|
11
|
+
* This module is the rich path — gated by CC_OPENCLAW_RICH_RENDER=1, off
|
|
12
|
+
* by default in v0.20.2 so the chat-bubble path can opt in without
|
|
13
|
+
* regressing the v0.20.1 guarantee for un-opted callers.
|
|
14
|
+
*
|
|
15
|
+
* Supported source syntax → Telegram MarkdownV2 output:
|
|
16
|
+
* `**bold**` → `*bold*`
|
|
17
|
+
* `*italic*` → `_italic_` (single-asterisk italic)
|
|
18
|
+
* `_italic_` → `_italic_`
|
|
19
|
+
* `` `inline code` `` → `` `inline code` `` (content backslash-escaped)
|
|
20
|
+
* ` ```lang\n…\n``` ` → ` ```lang\n…\n``` ` (preserved verbatim)
|
|
21
|
+
* `# Header` / `## H2` / `### H3` … `###### H6` → `*Header*`
|
|
22
|
+
* `[label](url)` → `[label](url)` (label escaped, url paren-escaped)
|
|
23
|
+
* All other content → backslash-escaped per MarkdownV2 spec
|
|
24
|
+
*
|
|
25
|
+
* Out of scope (intentional v0 limits — keeps the converter <150 LOC and
|
|
26
|
+
* easy to reason about; expand in v0.20.3+ if A1 hits the gap):
|
|
27
|
+
* - Nested formatting (`**bold _italic_**`) — inner is escaped as plain text
|
|
28
|
+
* - Block quotes (`> quote`) — emitted as escaped text
|
|
29
|
+
* - Lists (`- item`, `1. item`) — markers escaped, content escaped (no list semantics in Telegram MarkdownV2 anyway)
|
|
30
|
+
* - Tables — markdown tables don't render in Telegram regardless
|
|
31
|
+
* - HTML tags — content-escaped
|
|
32
|
+
*
|
|
33
|
+
* Algorithm (placeholder substitution, NUL-sentinel keyed):
|
|
34
|
+
* 1. Extract code fences → placeholders (highest priority — content inside is verbatim)
|
|
35
|
+
* 2. Extract inline code → placeholders (same priority — content escape rules differ)
|
|
36
|
+
* 3. Extract bold (`**…**`) → placeholders with body text-escaped
|
|
37
|
+
* 4. Extract italic (`*…*` and `_…_`) → placeholders
|
|
38
|
+
* 5. Extract headers (`#…`) at line start → placeholders
|
|
39
|
+
* 6. Extract links (`[label](url)`) → placeholders
|
|
40
|
+
* 7. Escape remaining body as plain text (every MarkdownV2 special char)
|
|
41
|
+
* 8. Restore placeholders verbatim
|
|
42
|
+
*
|
|
43
|
+
* NUL (0x00) sentinels chosen because:
|
|
44
|
+
* - NUL is not in the MarkdownV2 special-char set (won't be escaped in step 7)
|
|
45
|
+
* - Digits in the index suffix are also not in the special-char set
|
|
46
|
+
* - "CODE"/"BOLD"/etc letters are not in the special-char set
|
|
47
|
+
* So placeholders survive the bulk-escape step intact.
|
|
48
|
+
*/
|
|
49
|
+
/**
|
|
50
|
+
* Convert standard CommonMark Markdown to Telegram MarkdownV2 with structural
|
|
51
|
+
* syntax preserved. Returns '' for null/undefined.
|
|
52
|
+
*/
|
|
53
|
+
export declare function markdownToMdv2(input: string | null | undefined): string;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* markdown-to-mdv2 — v0.20.2 Slice 6 "rich render" converter.
|
|
3
|
+
*
|
|
4
|
+
* Converts a subset of CommonMark Markdown to Telegram MarkdownV2 with
|
|
5
|
+
* STRUCTURE PRESERVED — `**bold**` becomes `*bold*` (Telegram bold), not
|
|
6
|
+
* `\*\*bold\*\*` (literal asterisks). Companion to markdown-v2.ts whose
|
|
7
|
+
* escapeMarkdownV2 escapes EVERYTHING including syntax markers.
|
|
8
|
+
*
|
|
9
|
+
* Why both: markdown-v2.ts is the safe fallback for content where loss of
|
|
10
|
+
* formatting is acceptable but loss of punctuation isn't (v0.20.1 fix).
|
|
11
|
+
* This module is the rich path — gated by CC_OPENCLAW_RICH_RENDER=1, off
|
|
12
|
+
* by default in v0.20.2 so the chat-bubble path can opt in without
|
|
13
|
+
* regressing the v0.20.1 guarantee for un-opted callers.
|
|
14
|
+
*
|
|
15
|
+
* Supported source syntax → Telegram MarkdownV2 output:
|
|
16
|
+
* `**bold**` → `*bold*`
|
|
17
|
+
* `*italic*` → `_italic_` (single-asterisk italic)
|
|
18
|
+
* `_italic_` → `_italic_`
|
|
19
|
+
* `` `inline code` `` → `` `inline code` `` (content backslash-escaped)
|
|
20
|
+
* ` ```lang\n…\n``` ` → ` ```lang\n…\n``` ` (preserved verbatim)
|
|
21
|
+
* `# Header` / `## H2` / `### H3` … `###### H6` → `*Header*`
|
|
22
|
+
* `[label](url)` → `[label](url)` (label escaped, url paren-escaped)
|
|
23
|
+
* All other content → backslash-escaped per MarkdownV2 spec
|
|
24
|
+
*
|
|
25
|
+
* Out of scope (intentional v0 limits — keeps the converter <150 LOC and
|
|
26
|
+
* easy to reason about; expand in v0.20.3+ if A1 hits the gap):
|
|
27
|
+
* - Nested formatting (`**bold _italic_**`) — inner is escaped as plain text
|
|
28
|
+
* - Block quotes (`> quote`) — emitted as escaped text
|
|
29
|
+
* - Lists (`- item`, `1. item`) — markers escaped, content escaped (no list semantics in Telegram MarkdownV2 anyway)
|
|
30
|
+
* - Tables — markdown tables don't render in Telegram regardless
|
|
31
|
+
* - HTML tags — content-escaped
|
|
32
|
+
*
|
|
33
|
+
* Algorithm (placeholder substitution, NUL-sentinel keyed):
|
|
34
|
+
* 1. Extract code fences → placeholders (highest priority — content inside is verbatim)
|
|
35
|
+
* 2. Extract inline code → placeholders (same priority — content escape rules differ)
|
|
36
|
+
* 3. Extract bold (`**…**`) → placeholders with body text-escaped
|
|
37
|
+
* 4. Extract italic (`*…*` and `_…_`) → placeholders
|
|
38
|
+
* 5. Extract headers (`#…`) at line start → placeholders
|
|
39
|
+
* 6. Extract links (`[label](url)`) → placeholders
|
|
40
|
+
* 7. Escape remaining body as plain text (every MarkdownV2 special char)
|
|
41
|
+
* 8. Restore placeholders verbatim
|
|
42
|
+
*
|
|
43
|
+
* NUL (0x00) sentinels chosen because:
|
|
44
|
+
* - NUL is not in the MarkdownV2 special-char set (won't be escaped in step 7)
|
|
45
|
+
* - Digits in the index suffix are also not in the special-char set
|
|
46
|
+
* - "CODE"/"BOLD"/etc letters are not in the special-char set
|
|
47
|
+
* So placeholders survive the bulk-escape step intact.
|
|
48
|
+
*/
|
|
49
|
+
/** MarkdownV2 special characters (Telegram Bot API spec). Outside code spans
|
|
50
|
+
* / pre blocks, these MUST be backslash-escaped when intended as content. */
|
|
51
|
+
const MDV2_TEXT_SPECIAL = /[_*[\]()~`>#+\-=|{}.!\\]/g;
|
|
52
|
+
/** Inside code spans (`` `x` ``), Telegram requires escaping backtick and
|
|
53
|
+
* backslash only. Other chars (including `.`, `*`, etc.) render literally. */
|
|
54
|
+
const MDV2_CODE_SPECIAL = /[`\\]/g;
|
|
55
|
+
function escapeText(s) {
|
|
56
|
+
return s.replace(MDV2_TEXT_SPECIAL, '\\$&');
|
|
57
|
+
}
|
|
58
|
+
function escapeCodeContent(s) {
|
|
59
|
+
return s.replace(MDV2_CODE_SPECIAL, '\\$&');
|
|
60
|
+
}
|
|
61
|
+
/** Escape URL inside `[label](url)` — Telegram requires `\` and `)` escaped. */
|
|
62
|
+
function escapeUrl(s) {
|
|
63
|
+
return s.replace(/[)\\]/g, '\\$&');
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert standard CommonMark Markdown to Telegram MarkdownV2 with structural
|
|
67
|
+
* syntax preserved. Returns '' for null/undefined.
|
|
68
|
+
*/
|
|
69
|
+
export function markdownToMdv2(input) {
|
|
70
|
+
if (input == null)
|
|
71
|
+
return '';
|
|
72
|
+
let text = String(input);
|
|
73
|
+
// Step 1 — extract code fences (triple-backtick blocks). Body verbatim
|
|
74
|
+
// except backticks and backslashes are escaped per Telegram spec.
|
|
75
|
+
const codeBlocks = [];
|
|
76
|
+
text = text.replace(/```([a-zA-Z0-9_+\-]*)\n?([\s\S]*?)```/g, (_m, lang, body) => {
|
|
77
|
+
const idx = codeBlocks.length;
|
|
78
|
+
const langStr = lang || '';
|
|
79
|
+
const escapedBody = escapeCodeContent(body);
|
|
80
|
+
codeBlocks.push('```' + langStr + '\n' + escapedBody + '```');
|
|
81
|
+
return `\x00CODEBLOCK${idx}\x00`;
|
|
82
|
+
});
|
|
83
|
+
// Step 2 — extract inline code (single-backtick spans). Same escape rules
|
|
84
|
+
// as code block content (only backtick + backslash).
|
|
85
|
+
const inlineCodes = [];
|
|
86
|
+
text = text.replace(/`([^`\n]+)`/g, (_m, body) => {
|
|
87
|
+
const idx = inlineCodes.length;
|
|
88
|
+
inlineCodes.push('`' + escapeCodeContent(body) + '`');
|
|
89
|
+
return `\x00INLINECODE${idx}\x00`;
|
|
90
|
+
});
|
|
91
|
+
// Step 3 — extract bold (`**…**`). Inner body is escaped as plain text;
|
|
92
|
+
// nested formatting markers in the body become literal characters (v0 limit).
|
|
93
|
+
const bolds = [];
|
|
94
|
+
text = text.replace(/\*\*([^*\n]+)\*\*/g, (_m, body) => {
|
|
95
|
+
const idx = bolds.length;
|
|
96
|
+
bolds.push('*' + escapeText(body) + '*');
|
|
97
|
+
return `\x00BOLD${idx}\x00`;
|
|
98
|
+
});
|
|
99
|
+
// Step 4a — extract italic via single asterisk (`*…*`). Telegram uses `_`
|
|
100
|
+
// for italic, so converting * → _ is the structural transform here.
|
|
101
|
+
const italics = [];
|
|
102
|
+
text = text.replace(/(?<![\w*])\*([^*\n]+)\*(?!\w)/g, (_m, body) => {
|
|
103
|
+
const idx = italics.length;
|
|
104
|
+
italics.push('_' + escapeText(body) + '_');
|
|
105
|
+
return `\x00ITALIC${idx}\x00`;
|
|
106
|
+
});
|
|
107
|
+
// Step 4b — extract italic via single underscore (`_…_`). Telegram syntax
|
|
108
|
+
// matches CommonMark for this case.
|
|
109
|
+
text = text.replace(/(?<![\w_])_([^_\n]+)_(?!\w)/g, (_m, body) => {
|
|
110
|
+
const idx = italics.length;
|
|
111
|
+
italics.push('_' + escapeText(body) + '_');
|
|
112
|
+
return `\x00ITALIC${idx}\x00`;
|
|
113
|
+
});
|
|
114
|
+
// Step 5 — extract ATX headers (`# H1` … `###### H6`) at line start.
|
|
115
|
+
// Telegram has no header syntax; we promote header text to bold.
|
|
116
|
+
const headers = [];
|
|
117
|
+
text = text.replace(/^(#{1,6})\s+(.+?)\s*#*\s*$/gm, (_m, _hashes, body) => {
|
|
118
|
+
const idx = headers.length;
|
|
119
|
+
headers.push('*' + escapeText(body) + '*');
|
|
120
|
+
return `\x00HEADER${idx}\x00`;
|
|
121
|
+
});
|
|
122
|
+
// Step 6 — extract links (`[label](url)`).
|
|
123
|
+
const links = [];
|
|
124
|
+
text = text.replace(/\[([^\]\n]+)\]\(([^)\s]+)\)/g, (_m, label, url) => {
|
|
125
|
+
const idx = links.length;
|
|
126
|
+
links.push('[' + escapeText(label) + '](' + escapeUrl(url) + ')');
|
|
127
|
+
return `\x00LINK${idx}\x00`;
|
|
128
|
+
});
|
|
129
|
+
// Step 7 — escape all remaining content. Placeholder sentinels survive
|
|
130
|
+
// because NUL and digits and capital letters are not in MDV2_TEXT_SPECIAL.
|
|
131
|
+
text = escapeText(text);
|
|
132
|
+
// Step 8 — restore placeholders verbatim.
|
|
133
|
+
text = text.replace(/\x00CODEBLOCK(\d+)\x00/g, (_m, idx) => codeBlocks[Number(idx)]);
|
|
134
|
+
text = text.replace(/\x00INLINECODE(\d+)\x00/g, (_m, idx) => inlineCodes[Number(idx)]);
|
|
135
|
+
text = text.replace(/\x00BOLD(\d+)\x00/g, (_m, idx) => bolds[Number(idx)]);
|
|
136
|
+
text = text.replace(/\x00ITALIC(\d+)\x00/g, (_m, idx) => italics[Number(idx)]);
|
|
137
|
+
text = text.replace(/\x00HEADER(\d+)\x00/g, (_m, idx) => headers[Number(idx)]);
|
|
138
|
+
text = text.replace(/\x00LINK(\d+)\x00/g, (_m, idx) => links[Number(idx)]);
|
|
139
|
+
return text;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=markdown-to-mdv2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-to-mdv2.js","sourceRoot":"","sources":["../../../src/lib/markdown-to-mdv2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M6 (perf overhaul idea #6) — async-lossless-compaction scheduler.
|
|
3
|
+
*
|
|
4
|
+
* Lossless-claw's DAG summarization currently runs on the hot path (turn N
|
|
5
|
+
* blocks while compaction completes). This scheduler defers the work to a
|
|
6
|
+
* setImmediate callback so turn N returns immediately; the summary lands
|
|
7
|
+
* before turn N+1 reads it (or N+1 skips the stale summary if compaction
|
|
8
|
+
* hasn't finished — that branch is the cost of the speedup).
|
|
9
|
+
*
|
|
10
|
+
* Flag: CC_OPENCLAW_PERF_ASYNC_COMPACT (default OFF, medium risk —
|
|
11
|
+
* compaction freshness can drift if N+1 fires before N's compaction lands).
|
|
12
|
+
*
|
|
13
|
+
* Per-session serialization: only one async compaction in flight per
|
|
14
|
+
* sessionKey at a time. Subsequent calls during in-flight work are dropped
|
|
15
|
+
* (the in-flight one will pick up the latest state at execution time).
|
|
16
|
+
*/
|
|
17
|
+
export interface AsyncCompactResult {
|
|
18
|
+
scheduled: boolean;
|
|
19
|
+
reason: 'flag_off' | 'in_flight' | 'scheduled';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Schedule `compactFn` to run after the current turn returns. Returns
|
|
23
|
+
* synchronously; the caller never awaits compaction completion.
|
|
24
|
+
*/
|
|
25
|
+
export declare function scheduleAsyncCompaction(sessionKey: string, compactFn: () => Promise<void> | void): AsyncCompactResult;
|
|
26
|
+
export declare function _resetAsyncCompactForTests(): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M6 (perf overhaul idea #6) — async-lossless-compaction scheduler.
|
|
3
|
+
*
|
|
4
|
+
* Lossless-claw's DAG summarization currently runs on the hot path (turn N
|
|
5
|
+
* blocks while compaction completes). This scheduler defers the work to a
|
|
6
|
+
* setImmediate callback so turn N returns immediately; the summary lands
|
|
7
|
+
* before turn N+1 reads it (or N+1 skips the stale summary if compaction
|
|
8
|
+
* hasn't finished — that branch is the cost of the speedup).
|
|
9
|
+
*
|
|
10
|
+
* Flag: CC_OPENCLAW_PERF_ASYNC_COMPACT (default OFF, medium risk —
|
|
11
|
+
* compaction freshness can drift if N+1 fires before N's compaction lands).
|
|
12
|
+
*
|
|
13
|
+
* Per-session serialization: only one async compaction in flight per
|
|
14
|
+
* sessionKey at a time. Subsequent calls during in-flight work are dropped
|
|
15
|
+
* (the in-flight one will pick up the latest state at execution time).
|
|
16
|
+
*/
|
|
17
|
+
import { getPerfAsyncCompactEnabled } from '../config.js';
|
|
18
|
+
const inFlight = new Set();
|
|
19
|
+
/**
|
|
20
|
+
* Schedule `compactFn` to run after the current turn returns. Returns
|
|
21
|
+
* synchronously; the caller never awaits compaction completion.
|
|
22
|
+
*/
|
|
23
|
+
export function scheduleAsyncCompaction(sessionKey, compactFn) {
|
|
24
|
+
if (!getPerfAsyncCompactEnabled())
|
|
25
|
+
return { scheduled: false, reason: 'flag_off' };
|
|
26
|
+
if (!sessionKey || !compactFn)
|
|
27
|
+
return { scheduled: false, reason: 'flag_off' };
|
|
28
|
+
if (inFlight.has(sessionKey))
|
|
29
|
+
return { scheduled: false, reason: 'in_flight' };
|
|
30
|
+
inFlight.add(sessionKey);
|
|
31
|
+
setImmediate(() => {
|
|
32
|
+
void Promise.resolve()
|
|
33
|
+
.then(() => compactFn())
|
|
34
|
+
.catch(() => { })
|
|
35
|
+
.finally(() => inFlight.delete(sessionKey));
|
|
36
|
+
});
|
|
37
|
+
return { scheduled: true, reason: 'scheduled' };
|
|
38
|
+
}
|
|
39
|
+
export function _resetAsyncCompactForTests() {
|
|
40
|
+
inFlight.clear();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=async-compact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-compact.js","sourceRoot":"","sources":["../../../../src/lib/perf/async-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAOnC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,SAAqC;IAErC,IAAI,CAAC,0BAA0B,EAAE;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnF,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/E,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,YAAY,CAAC,GAAG,EAAE;QAChB,KAAK,OAAO,CAAC,OAAO,EAAE;aACnB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;aACvB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aACf,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M12 (perf overhaul idea #12) — direct claude-code SDK in-process.
|
|
3
|
+
*
|
|
4
|
+
* Bypasses the `claude` CLI subprocess entirely by calling the
|
|
5
|
+
* `@anthropic-ai/claude-code` SDK in the cc-openclaw Node process.
|
|
6
|
+
* Eliminates all subprocess overhead (Node bootstrap, bundle parse, auth
|
|
7
|
+
* handshake) at the cost of losing CLI session/checkpoint features and
|
|
8
|
+
* recoupling to upstream SDK API churn.
|
|
9
|
+
*
|
|
10
|
+
* Flag: CC_OPENCLAW_PERF_DIRECT_SDK (default OFF, HIGH RISK — ships LAST
|
|
11
|
+
* with the resident-CLI pool as the fallback).
|
|
12
|
+
*
|
|
13
|
+
* Probes the SDK availability without bringing it as a hard dependency:
|
|
14
|
+
* dynamic require with a swallowed ENOENT. The actual invocation is
|
|
15
|
+
* delegated to the registered handler — session-manager owns the call
|
|
16
|
+
* details (model, prompt, options) and decides whether the SDK supports
|
|
17
|
+
* the requested feature set for this turn.
|
|
18
|
+
*/
|
|
19
|
+
export interface DirectSdkAvailability {
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
available: boolean;
|
|
22
|
+
reason: 'flag_off' | 'sdk_missing' | 'sdk_loaded' | 'probe_error';
|
|
23
|
+
version: string | null;
|
|
24
|
+
}
|
|
25
|
+
export declare function probeDirectSdkAvailability(): DirectSdkAvailability;
|
|
26
|
+
export declare function _resetDirectSdkProbeForTests(): void;
|