@sentropic/llm-mesh 0.34.0 → 0.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ import type { AnthropicAdapterClient } from '../adapters.js';
2
+ import { ClaudeCodeRuntimeClient, type ClaudeCodeAccessProjection, type ClaudeCodeCliCapabilities, type ClaudeCodeCliEvent, type ClaudeCodeCliRequest, type ClaudeCodeCliRunner } from '../transport/claude-code-runtime-client.js';
3
+ export declare const CLAUDE_CODE_OAUTH_ENV_VAR = "CLAUDE_CODE_OAUTH_TOKEN";
4
+ export declare const CLAUDE_CODE_STREAM_PROTOCOL = "claude-code-stream-json-v1";
5
+ export declare const DEFAULT_CLAUDE_CODE_CLI_PATH = "claude";
6
+ export declare const DEFAULT_CLAUDE_CODE_EFFORT = "medium";
7
+ export declare const DEFAULT_CLAUDE_CODE_TIMEOUT_MS = 300000;
8
+ export declare const CLAUDE_CODE_RESULT_TIMEOUT_MS = 15000;
9
+ export interface NodeClaudeCodeCliRunnerOptions {
10
+ readonly cliPath?: string;
11
+ readonly effort?: string;
12
+ readonly systemPromptFile?: string;
13
+ readonly timeoutMs?: number;
14
+ readonly collectStderrBytes?: number;
15
+ }
16
+ export declare class NodeClaudeCodeCliRunner implements ClaudeCodeCliRunner {
17
+ private readonly cliPath;
18
+ private readonly effort;
19
+ private readonly systemPromptFile?;
20
+ private readonly timeoutMs;
21
+ private readonly stderrTailBytes;
22
+ constructor(options?: NodeClaudeCodeCliRunnerOptions);
23
+ run(input: {
24
+ access: ClaudeCodeAccessProjection;
25
+ request: ClaudeCodeCliRequest;
26
+ signal: AbortSignal;
27
+ }): AsyncIterable<ClaudeCodeCliEvent>;
28
+ private execute;
29
+ private consume;
30
+ }
31
+ export interface ClaudeSeatAnthropicClientOptions {
32
+ readonly capabilities: ClaudeCodeCliCapabilities;
33
+ readonly cliPath?: string;
34
+ readonly effort?: string;
35
+ readonly systemPromptFile?: string;
36
+ readonly timeoutMs?: number;
37
+ readonly fallback?: AnthropicAdapterClient;
38
+ readonly now?: () => number;
39
+ }
40
+ /** Host capability attestation for a locally qualified `claude` CLI. */
41
+ export interface ClaudeCodeCliProbeOptions {
42
+ readonly cliPath?: string;
43
+ readonly source: string;
44
+ readonly qualificationRef: string;
45
+ readonly timeoutMs?: number;
46
+ }
47
+ /** Probe `claude --version` and `claude --help` with a token-free env; never runs a workload. */
48
+ export declare const probeClaudeCodeCliCapabilities: (options: ClaudeCodeCliProbeOptions) => Promise<ClaudeCodeCliCapabilities>;
49
+ /**
50
+ * Factory for the consumer: builds the `clients.anthropic` runtime client
51
+ * over a dedicated Claude seat. Wire with
52
+ * `createDefaultProviderAdapters({ anthropic })`.
53
+ */
54
+ export declare const createClaudeSeatAnthropicClient: (options: ClaudeSeatAnthropicClientOptions) => ClaudeCodeRuntimeClient;
55
+ export type { ClaudeCodeAccessProjection, ClaudeCodeCliCapabilities, ClaudeCodeCliContent, ClaudeCodeCliEvent, ClaudeCodeCliRequest, ClaudeCodeCliRunner, } from '../transport/claude-code-runtime-client.js';
56
+ //# sourceMappingURL=claude-code-cli-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-cli-runner.d.ts","sourceRoot":"","sources":["../../src/node/claude-code-cli-runner.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAEL,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAC;AAIpD,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AACxE,eAAO,MAAM,4BAA4B,WAAW,CAAC;AACrD,eAAO,MAAM,0BAA0B,WAAW,CAAC;AACnD,eAAO,MAAM,8BAA8B,SAAU,CAAC;AACtD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAwBpD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA2ID,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,OAAO,GAAE,8BAAmC;IAyBxD,GAAG,CAAC,KAAK,EAAE;QACT,MAAM,EAAE,0BAA0B,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;KACxF,GAAG,aAAa,CAAC,kBAAkB,CAAC;YAMtB,OAAO;YAiFP,OAAO;CAwIvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6DD,iGAAiG;AACjG,eAAO,MAAM,8BAA8B,YAChC,yBAAyB,KACjC,QAAQ,yBAAyB,CAgCnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,YACjC,gCAAgC,KACxC,uBAaF,CAAC;AAEF,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC"}
@@ -0,0 +1,590 @@
1
+ // @sentropic/llm-mesh/node/claude-code-cli-runner.ts
2
+ //
3
+ // Concrete Node host for the Claude Code runtime client. Spawns the `claude`
4
+ // CLI headless (`-p --verbose --output-format stream-json --model --effort`,
5
+ // optional `--system-prompt-file`, plus confinement flags), feeds the
6
+ // projected prompt over stdin, and normalizes stream-json output to
7
+ // ClaudeCodeCliEvent.
8
+ //
9
+ // Secret boundary: the seat OAuth access projection travels as
10
+ // CLAUDE_CODE_OAUTH_TOKEN in the CHILD env only. It never appears on argv,
11
+ // in logs, or in thrown messages. The child env is an allowlist (PATH and a
12
+ // few locale/timezone knobs copied from the parent); every known
13
+ // authentication, endpoint, and cloud carrier is purged before the seat token
14
+ // is injected, so the CLI cannot prefer ambient key auth over the seat grant
15
+ // and ambient secrets never reach the CLI or its hook/MCP descendants.
16
+ // Confinement: the CLI runs with `--tools ""`, `--strict-mcp-config` (no
17
+ // MCP config, so no MCP servers), and `--no-session-persistence`, inside a
18
+ // fresh sandbox directory used as cwd, HOME, and CLAUDE_CONFIG_DIR; ambient
19
+ // hooks, skills, plugins, and settings never load from the sandbox. A
20
+ // non-empty tool/MCP inventory in the CLI `init` line fails the run closed
21
+ // immediately, before any further event is emitted, and a successful run
22
+ // always observed an `init` line. Requests carrying tool definitions are
23
+ // refused before spawning: the CLI host never silently drops them.
24
+ // Quota signals (5-hour session limit, rate limits, overload) surface as
25
+ // ClaudeCliQuotaError; every other host failure is a fixed-message runner
26
+ // error with no CLI output attached.
27
+ import { spawn } from 'node:child_process';
28
+ import { mkdtemp, rm } from 'node:fs/promises';
29
+ import { tmpdir } from 'node:os';
30
+ import { join } from 'node:path';
31
+ import { StringDecoder } from 'node:string_decoder';
32
+ import { ClaudeCliQuotaError, ClaudeCodeRuntimeClient, } from '../transport/claude-code-runtime-client.js';
33
+ import { appendCappedTail, diagnoseClaudeCodeQuota, extractQuotaText, parseClaudeCodeLine, renderClaudeCodeCliPrompt } from './claude-code-cli-wire.js';
34
+ export const CLAUDE_CODE_OAUTH_ENV_VAR = 'CLAUDE_CODE_OAUTH_TOKEN';
35
+ export const CLAUDE_CODE_STREAM_PROTOCOL = 'claude-code-stream-json-v1';
36
+ export const DEFAULT_CLAUDE_CODE_CLI_PATH = 'claude';
37
+ export const DEFAULT_CLAUDE_CODE_EFFORT = 'medium';
38
+ export const DEFAULT_CLAUDE_CODE_TIMEOUT_MS = 300_000;
39
+ export const CLAUDE_CODE_RESULT_TIMEOUT_MS = 15_000;
40
+ /** SIGTERM grace before the group SIGKILL escalation. */
41
+ const KILL_GRACE_MS = 2_000;
42
+ /** One NDJSON line past this fails the run instead of growing the buffer. */
43
+ const MAX_STDOUT_LINE_CHARS = 1_048_576;
44
+ /** Whole-run stdout past this fails the run instead of growing memory. */
45
+ const MAX_STDOUT_TOTAL_BYTES = 33_554_432;
46
+ /** Probe output past this fails the probe instead of growing memory. */
47
+ const MAX_PROBE_OUTPUT_BYTES = 65_536;
48
+ /** Oldest qualified CLI line: every confinement flag below was verified on 2.1.x. */
49
+ const MIN_CLAUDE_CODE_MAJOR = 2;
50
+ const MIN_CLAUDE_CODE_MINOR = 1;
51
+ const REQUIRED_CLAUDE_CODE_FLAGS = [
52
+ '--verbose',
53
+ '--output-format',
54
+ '--model',
55
+ '--effort',
56
+ '--system-prompt-file',
57
+ '--tools',
58
+ '--strict-mcp-config',
59
+ '--no-session-persistence',
60
+ ];
61
+ const STDERR_TAIL_BYTES = 8_192;
62
+ const nonEmpty = (value) => typeof value === 'string' && value.length > 0 && value.length <= 4096
63
+ && !/[\0-\x1f\x7f]/.test(value);
64
+ const validEffort = (value) => /^[A-Za-z0-9-]{1,16}$/.test(value);
65
+ const validModelId = (value) => /^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/.test(value) && value.length <= 256;
66
+ /**
67
+ * Parent env names copied into the CLI child. Everything else — ambient
68
+ * secrets, auth carriers, endpoints, cloud credentials — never crosses.
69
+ */
70
+ const CHILD_ENV_COPY = ['PATH', 'LANG', 'LC_ALL', 'TZ', 'NO_COLOR'];
71
+ /**
72
+ * Auth/endpoint/cloud carriers purged from the child env before the seat
73
+ * token is injected. The allowlist above already excludes them; this is
74
+ * belt-and-suspenders in case the allowlist ever grows.
75
+ */
76
+ const PURGED_ENV_PREFIXES = [
77
+ 'ANTHROPIC_',
78
+ 'CLAUDE_CODE_',
79
+ 'AWS_',
80
+ 'GOOGLE_',
81
+ 'GEMINI_',
82
+ 'AZURE_',
83
+ 'VERTEX_',
84
+ 'BEDROCK_',
85
+ ];
86
+ /**
87
+ * Minimal child env: allowlist copy, purge, then the sandbox dirs and — when
88
+ * a seat projection is supplied — the seat token. The probe passes no token
89
+ * and never runs a workload.
90
+ */
91
+ const buildChildEnv = (sandboxDir, accessToken) => {
92
+ const env = {};
93
+ for (const name of CHILD_ENV_COPY) {
94
+ const value = process.env[name];
95
+ if (value !== undefined)
96
+ env[name] = value;
97
+ }
98
+ if (process.platform === 'win32') {
99
+ const systemRoot = process.env['SystemRoot'];
100
+ if (systemRoot !== undefined)
101
+ env['SystemRoot'] = systemRoot;
102
+ }
103
+ for (const name of Object.keys(env)) {
104
+ if (PURGED_ENV_PREFIXES.some((prefix) => name.startsWith(prefix)))
105
+ delete env[name];
106
+ }
107
+ if (accessToken !== undefined)
108
+ env[CLAUDE_CODE_OAUTH_ENV_VAR] = accessToken;
109
+ env['CLAUDE_CONFIG_DIR'] = sandboxDir;
110
+ env['HOME'] = sandboxDir;
111
+ env['TMPDIR'] = sandboxDir;
112
+ env['TMP'] = sandboxDir;
113
+ env['TEMP'] = sandboxDir;
114
+ env['XDG_CONFIG_HOME'] = sandboxDir;
115
+ env['XDG_CACHE_HOME'] = sandboxDir;
116
+ env['XDG_DATA_HOME'] = sandboxDir;
117
+ env['XDG_STATE_HOME'] = sandboxDir;
118
+ return env;
119
+ };
120
+ const abortedError = () => {
121
+ const error = new Error('claude CLI runner aborted');
122
+ error.name = 'AbortError';
123
+ return error;
124
+ };
125
+ const runnerError = (message) => {
126
+ const error = new Error(message);
127
+ error.name = 'ClaudeCliRunnerError';
128
+ return error;
129
+ };
130
+ /**
131
+ * Signal the whole process group on POSIX (the child is spawned detached, so
132
+ * its pid is the group id) and the direct child on win32. Skipped only when
133
+ * our own stdio pipes are already closed — while they are open the group is
134
+ * necessarily alive, so there is no pid-reuse race.
135
+ */
136
+ const killTree = (child, closed, signal) => {
137
+ if (!child || closed())
138
+ return;
139
+ // POSIX: signal the detached process group first (the child is spawned
140
+ // detached, so its pid is the group id). When the group is already gone
141
+ // (ESRCH) fall back to the direct child so a non-group-leader child is
142
+ // still reaped; win32 has no process groups.
143
+ if (child.pid !== undefined && process.platform !== 'win32') {
144
+ try {
145
+ process.kill(-child.pid, signal);
146
+ return;
147
+ }
148
+ catch { /* group gone: fall through to the direct child */ }
149
+ }
150
+ try {
151
+ if (child.exitCode === null)
152
+ child.kill(signal);
153
+ }
154
+ catch { /* already gone */ }
155
+ };
156
+ const destroyPipes = (child) => {
157
+ try {
158
+ child?.stdin?.destroy();
159
+ }
160
+ catch { /* already gone */ }
161
+ try {
162
+ child?.stdout?.destroy();
163
+ }
164
+ catch { /* already gone */ }
165
+ try {
166
+ child?.stderr?.destroy();
167
+ }
168
+ catch { /* already gone */ }
169
+ };
170
+ const waitForClose = async (child, closed, timeoutMs) => {
171
+ if (closed())
172
+ return true;
173
+ return new Promise((resolve) => {
174
+ const timer = setTimeout(() => resolve(false), timeoutMs);
175
+ timer.unref?.();
176
+ child.once('close', () => { clearTimeout(timer); resolve(true); });
177
+ });
178
+ };
179
+ /**
180
+ * Hard teardown: SIGTERM the group, escalate to a group SIGKILL past the
181
+ * grace, destroy our pipe ends so a surviving grandchild holding stdout can
182
+ * neither block nor orphan the run, then await the close.
183
+ */
184
+ const shutdown = async (child, closed) => {
185
+ if (!child)
186
+ return;
187
+ killTree(child, closed, 'SIGTERM');
188
+ if (await waitForClose(child, closed, KILL_GRACE_MS))
189
+ return;
190
+ killTree(child, closed, 'SIGKILL');
191
+ destroyPipes(child);
192
+ await waitForClose(child, closed, CLAUDE_CODE_RESULT_TIMEOUT_MS);
193
+ };
194
+ export class NodeClaudeCodeCliRunner {
195
+ cliPath;
196
+ effort;
197
+ systemPromptFile;
198
+ timeoutMs;
199
+ stderrTailBytes;
200
+ constructor(options = {}) {
201
+ if (options.cliPath !== undefined && !nonEmpty(options.cliPath)) {
202
+ throw new Error('claude CLI path must be a non-empty string');
203
+ }
204
+ if (options.effort !== undefined && !validEffort(options.effort)) {
205
+ throw new Error('claude CLI effort must match [A-Za-z0-9-]{1,16}');
206
+ }
207
+ if (options.systemPromptFile !== undefined && !nonEmpty(options.systemPromptFile)) {
208
+ throw new Error('claude CLI system prompt file must be a non-empty string');
209
+ }
210
+ if (options.timeoutMs !== undefined
211
+ && (!Number.isFinite(options.timeoutMs) || options.timeoutMs <= 0)) {
212
+ throw new Error('claude CLI timeout must be a positive number of milliseconds');
213
+ }
214
+ if (options.collectStderrBytes !== undefined
215
+ && (!Number.isSafeInteger(options.collectStderrBytes) || options.collectStderrBytes < 0)) {
216
+ throw new Error('claude CLI stderr cap must be a non-negative safe integer');
217
+ }
218
+ this.cliPath = options.cliPath ?? DEFAULT_CLAUDE_CODE_CLI_PATH;
219
+ this.effort = options.effort ?? DEFAULT_CLAUDE_CODE_EFFORT;
220
+ this.systemPromptFile = options.systemPromptFile;
221
+ this.timeoutMs = options.timeoutMs ?? DEFAULT_CLAUDE_CODE_TIMEOUT_MS;
222
+ this.stderrTailBytes = options.collectStderrBytes ?? STDERR_TAIL_BYTES;
223
+ }
224
+ run(input) {
225
+ return {
226
+ [Symbol.asyncIterator]: () => this.execute(input.access, input.request, input.signal),
227
+ };
228
+ }
229
+ async *execute(access, request, signal) {
230
+ if (!nonEmpty(access.accessToken) || /[\r\n]/.test(access.accessToken)) {
231
+ throw runnerError('claude CLI runner refused an invalid access projection');
232
+ }
233
+ if (!validModelId(request.modelId))
234
+ throw runnerError('claude CLI runner refused an invalid model id');
235
+ // Tool definitions are never forwarded: the CLI runs with `--tools ""`,
236
+ // so accepting them would silently drop caller intent. Refuse instead.
237
+ if (request.tools !== undefined && request.tools.length > 0) {
238
+ throw runnerError('claude CLI runner refused a request with tool definitions');
239
+ }
240
+ // No token-bearing process exists before this point: abort and prompt
241
+ // rendering both precede the spawn.
242
+ if (signal.aborted)
243
+ throw abortedError();
244
+ const prompt = renderClaudeCodeCliPrompt(request);
245
+ if (signal.aborted)
246
+ throw abortedError();
247
+ const sandboxDir = await mkdtemp(join(tmpdir(), 'claude-seat-')).catch(() => {
248
+ throw runnerError('claude CLI runner failed to isolate the CLI workspace');
249
+ });
250
+ let child;
251
+ let closed = false;
252
+ const isClosed = () => closed;
253
+ try {
254
+ // --verbose is required with -p --output-format stream-json on the 2.1
255
+ // line; --tools "" disables every built-in (local) tool; with
256
+ // --strict-mcp-config and no --mcp-config no MCP server can load;
257
+ // --no-session-persistence keeps the seat run off disk.
258
+ const args = ['-p', '--verbose', '--output-format', 'stream-json',
259
+ '--model', request.modelId, '--effort', this.effort,
260
+ '--tools', '', '--strict-mcp-config', '--no-session-persistence',
261
+ ...(this.systemPromptFile ? ['--system-prompt-file', this.systemPromptFile] : [])];
262
+ const env = buildChildEnv(sandboxDir, access.accessToken);
263
+ try {
264
+ child = spawn(this.cliPath, args, { env: env, stdio: ['pipe', 'pipe', 'pipe'],
265
+ cwd: sandboxDir, detached: process.platform !== 'win32' });
266
+ }
267
+ catch {
268
+ throw runnerError('claude CLI runner failed to spawn the CLI');
269
+ }
270
+ child.once('close', () => { closed = true; });
271
+ // The internal stop fires on external abort and on timeout; consume
272
+ // observes it so a SIGTERM-ignoring CLI cannot hold the run open.
273
+ const stop = new AbortController();
274
+ const onAbort = () => { stop.abort(); void shutdown(child, isClosed); };
275
+ if (signal.aborted) {
276
+ onAbort();
277
+ throw abortedError();
278
+ }
279
+ signal.addEventListener('abort', onAbort, { once: true });
280
+ let timer;
281
+ let timedOut = false;
282
+ try {
283
+ timer = setTimeout(() => {
284
+ timedOut = true;
285
+ stop.abort();
286
+ void shutdown(child, isClosed);
287
+ }, this.timeoutMs);
288
+ timer.unref?.();
289
+ yield* this.consume(child, prompt, stop.signal);
290
+ if (stop.signal.aborted) {
291
+ if (signal.aborted)
292
+ throw abortedError();
293
+ if (timedOut)
294
+ throw runnerError('claude CLI runner timed out waiting for the CLI result');
295
+ throw runnerError('claude CLI runner stopped before the CLI result');
296
+ }
297
+ if (timedOut)
298
+ throw runnerError('claude CLI runner timed out waiting for the CLI result');
299
+ }
300
+ catch (error) {
301
+ if (signal.aborted)
302
+ throw abortedError();
303
+ if (timedOut)
304
+ throw runnerError('claude CLI runner timed out waiting for the CLI result');
305
+ if (error instanceof ClaudeCliQuotaError)
306
+ throw error;
307
+ if (error instanceof Error && error.name === 'ClaudeCliRunnerError')
308
+ throw error;
309
+ throw runnerError('claude CLI runner failed while reading CLI output');
310
+ }
311
+ finally {
312
+ clearTimeout(timer);
313
+ signal.removeEventListener('abort', onAbort);
314
+ await shutdown(child, isClosed);
315
+ }
316
+ }
317
+ finally {
318
+ await rm(sandboxDir, { recursive: true, force: true }).catch(() => undefined);
319
+ }
320
+ }
321
+ async *consume(child, prompt, stop) {
322
+ const stdout = child.stdout;
323
+ const stderr = child.stderr;
324
+ if (!stdout || !stderr)
325
+ throw runnerError('claude CLI runner lost the CLI pipes');
326
+ // Byte-capped tail: the pipe is always drained, but at most
327
+ // collectStderrBytes are retained (0 keeps nothing).
328
+ let stderrTail = Buffer.from('');
329
+ stderr.on('data', (chunk) => {
330
+ stderrTail = appendCappedTail(stderrTail, chunk, this.stderrTailBytes);
331
+ });
332
+ const failures = [];
333
+ child.once('error', (error) => { failures.push(error); });
334
+ const stdinError = new Promise((resolve) => {
335
+ child.stdin?.once('error', () => resolve());
336
+ child.stdin?.once('close', () => resolve());
337
+ });
338
+ const writePrompt = (async () => {
339
+ try {
340
+ if (!child.stdin)
341
+ return;
342
+ await new Promise((resolve, reject) => {
343
+ child.stdin.write(prompt, (error) => { if (error)
344
+ reject(error);
345
+ else
346
+ resolve(); });
347
+ child.stdin.end();
348
+ });
349
+ }
350
+ catch { /* the exit path below reports the failure */ }
351
+ })();
352
+ void stdinError;
353
+ const decoder = new StringDecoder('utf8');
354
+ let buffer = '';
355
+ let totalBytes = 0;
356
+ let toolCalls = 0;
357
+ let textEmitted = false;
358
+ let lastStopReason;
359
+ let sawInit = false;
360
+ let toolsInventory;
361
+ let mcpInventory;
362
+ let result;
363
+ let errorPayload;
364
+ const applyOutcome = (outcome) => {
365
+ if (outcome.type === 'system_init') {
366
+ sawInit = true;
367
+ toolsInventory = outcome.init.tools;
368
+ mcpInventory = outcome.init.mcpServers;
369
+ // Fail fast at the init line: a build ignoring `--tools ""` must be
370
+ // rejected before any further event is consumed or emitted.
371
+ if ((Array.isArray(toolsInventory) && toolsInventory.length > 0)
372
+ || (Array.isArray(mcpInventory) && mcpInventory.length > 0)) {
373
+ throw runnerError('claude CLI runner refused a non-empty CLI tool inventory');
374
+ }
375
+ return [];
376
+ }
377
+ if (outcome.type === 'text') {
378
+ textEmitted = true;
379
+ return [{ type: 'text_delta', text: outcome.text }];
380
+ }
381
+ // Local tools are disabled at the CLI, so a tool_use block can only
382
+ // describe a server-side execution. It is republished verbatim; the
383
+ // non-empty init inventory above is the fail-closed enforcement point.
384
+ if (outcome.type === 'tool_use') {
385
+ toolCalls += 1;
386
+ return [outcome.event];
387
+ }
388
+ if (outcome.type === 'stop_reason') {
389
+ lastStopReason = outcome.reason;
390
+ return [];
391
+ }
392
+ if (outcome.type === 'result') {
393
+ result = outcome.result;
394
+ return [];
395
+ }
396
+ errorPayload = outcome.payload;
397
+ return [];
398
+ };
399
+ const exitCode = new Promise((resolve) => {
400
+ child.once('exit', (code) => resolve(code));
401
+ child.once('error', () => resolve(null));
402
+ });
403
+ try {
404
+ for await (const chunk of stdout) {
405
+ if (stop.aborted)
406
+ return;
407
+ totalBytes += chunk.length;
408
+ if (totalBytes > MAX_STDOUT_TOTAL_BYTES) {
409
+ throw runnerError('claude CLI runner refused an oversized CLI output');
410
+ }
411
+ buffer += decoder.write(chunk);
412
+ if (buffer.length > MAX_STDOUT_LINE_CHARS) {
413
+ throw runnerError('claude CLI runner refused an oversized CLI output line');
414
+ }
415
+ let boundary = buffer.indexOf('\n');
416
+ while (boundary >= 0) {
417
+ const line = buffer.slice(0, boundary).trim();
418
+ buffer = buffer.slice(boundary + 1);
419
+ boundary = buffer.indexOf('\n');
420
+ if (!line)
421
+ continue;
422
+ for (const outcome of parseClaudeCodeLine(line)) {
423
+ const events = applyOutcome(outcome);
424
+ for (const event of events)
425
+ yield event;
426
+ }
427
+ }
428
+ }
429
+ // A final line without a trailing newline is still a line.
430
+ buffer += decoder.end();
431
+ if (buffer.trim().length > 0) {
432
+ for (const outcome of parseClaudeCodeLine(buffer.trim())) {
433
+ const events = applyOutcome(outcome);
434
+ for (const event of events)
435
+ yield event;
436
+ }
437
+ }
438
+ }
439
+ catch (error) {
440
+ if (error instanceof Error && error.name === 'ClaudeCliRunnerError')
441
+ throw error;
442
+ throw runnerError('claude CLI runner failed while reading CLI output');
443
+ }
444
+ await writePrompt;
445
+ const code = await exitCode;
446
+ if (errorPayload !== undefined || result === undefined) {
447
+ const structuredText = errorPayload === undefined ? undefined : extractQuotaText(errorPayload);
448
+ const structured = structuredText === undefined
449
+ ? { quota: false }
450
+ : diagnoseClaudeCodeQuota(structuredText);
451
+ const diagnosis = structured.quota
452
+ ? structured
453
+ : diagnoseClaudeCodeQuota(stderrTail.toString('utf8'));
454
+ if (diagnosis.quota)
455
+ throw new ClaudeCliQuotaError(diagnosis.retryAfterMs);
456
+ if (code !== 0) {
457
+ const spawnFailure = failures.length > 0;
458
+ throw runnerError(spawnFailure
459
+ ? 'claude CLI runner failed to run the CLI executable'
460
+ : `claude CLI runner exited with code ${String(code)}`);
461
+ }
462
+ throw runnerError('claude CLI runner ended without a CLI result');
463
+ }
464
+ // A successful run always observed the `init` line: without it the tool
465
+ // inventory gate above never ran, so the result is untrusted.
466
+ if (!sawInit)
467
+ throw runnerError('claude CLI runner ended without a CLI init line');
468
+ const finishReason = toolCalls > 0 ? 'tool_calls'
469
+ : lastStopReason === 'max_tokens' ? 'length' : result.finishReason;
470
+ if (result.resultText !== undefined && !textEmitted && result.resultText.trim().length > 0) {
471
+ yield { type: 'text_delta', text: result.resultText };
472
+ }
473
+ yield result.usage !== undefined
474
+ ? { type: 'result', finishReason, usage: result.usage }
475
+ : { type: 'result', finishReason };
476
+ }
477
+ }
478
+ /**
479
+ * Run one probe command with a token-free allowlist env inside the sandbox;
480
+ * never runs a workload. Output is byte-capped; stderr is drained.
481
+ */
482
+ const runProbeCommand = (cliPath, args, env, sandboxDir, timeoutMs) => new Promise((resolve, reject) => {
483
+ let child;
484
+ try {
485
+ // Detached like the workload spawn so the timeout below can signal the
486
+ // whole group (killTree falls back to the direct child on win32).
487
+ child = spawn(cliPath, args, { env: env, stdio: ['ignore', 'pipe', 'pipe'],
488
+ cwd: sandboxDir, detached: process.platform !== 'win32' });
489
+ }
490
+ catch {
491
+ reject(runnerError('claude CLI probe failed to spawn the CLI'));
492
+ return;
493
+ }
494
+ let closed = false;
495
+ child.once('close', () => { closed = true; });
496
+ const isClosed = () => closed;
497
+ let received = 0;
498
+ let output = Buffer.from('');
499
+ child.stdout?.on('data', (chunk) => {
500
+ received += chunk.length;
501
+ if (received <= MAX_PROBE_OUTPUT_BYTES)
502
+ output = Buffer.concat([output, chunk]);
503
+ });
504
+ child.stderr?.on('data', () => { });
505
+ const timer = setTimeout(() => {
506
+ killTree(child, isClosed, 'SIGKILL');
507
+ destroyPipes(child);
508
+ reject(runnerError('claude CLI probe timed out'));
509
+ }, timeoutMs);
510
+ timer.unref?.();
511
+ child.once('error', () => {
512
+ clearTimeout(timer);
513
+ reject(runnerError('claude CLI probe failed to run the CLI'));
514
+ });
515
+ // Resolve on `close`, not `exit`, so all stdio is drained: `exit` can fire
516
+ // while the last output bytes are still in flight. Buffer.concat keeps
517
+ // multi-byte characters split across chunks intact.
518
+ child.once('close', (code) => {
519
+ clearTimeout(timer);
520
+ if (code !== 0) {
521
+ reject(runnerError('claude CLI probe could not read the CLI'));
522
+ return;
523
+ }
524
+ if (received > MAX_PROBE_OUTPUT_BYTES) {
525
+ reject(runnerError('claude CLI probe refused an oversized CLI output'));
526
+ return;
527
+ }
528
+ resolve(output.toString('utf8'));
529
+ });
530
+ });
531
+ /** Probe `claude --version` and `claude --help` with a token-free env; never runs a workload. */
532
+ export const probeClaudeCodeCliCapabilities = (options) => {
533
+ if (!nonEmpty(options.source))
534
+ throw new Error('claude CLI probe needs a trusted source label');
535
+ if (!nonEmpty(options.qualificationRef))
536
+ throw new Error('claude CLI probe needs a qualification reference');
537
+ const cliPath = options.cliPath ?? DEFAULT_CLAUDE_CODE_CLI_PATH;
538
+ const timeoutMs = options.timeoutMs ?? CLAUDE_CODE_RESULT_TIMEOUT_MS;
539
+ return (async () => {
540
+ const sandboxDir = await mkdtemp(join(tmpdir(), 'claude-seat-probe-')).catch(() => {
541
+ throw runnerError('claude CLI probe failed to isolate the CLI workspace');
542
+ });
543
+ try {
544
+ const env = buildChildEnv(sandboxDir);
545
+ const version = await runProbeCommand(cliPath, ['--version'], env, sandboxDir, timeoutMs);
546
+ const match = /(\d+)\.(\d+)\.(\d+)/.exec(version);
547
+ const major = match === null ? NaN : Number(match[1]);
548
+ const minor = match === null ? NaN : Number(match[2]);
549
+ if (!Number.isSafeInteger(major) || !Number.isSafeInteger(minor)
550
+ || major < MIN_CLAUDE_CODE_MAJOR || (major === MIN_CLAUDE_CODE_MAJOR && minor < MIN_CLAUDE_CODE_MINOR)) {
551
+ throw runnerError('claude CLI probe requires claude 2.1 or newer');
552
+ }
553
+ const help = await runProbeCommand(cliPath, ['--help'], env, sandboxDir, timeoutMs);
554
+ const missing = REQUIRED_CLAUDE_CODE_FLAGS.filter((flag) => !help.includes(flag));
555
+ if (missing.length > 0)
556
+ throw runnerError('claude CLI probe found a CLI missing confinement flags');
557
+ // Flags alone are not enough: the probe pins the stream-json value and
558
+ // the `-p` headless switch the runner relies on.
559
+ if (!help.includes('stream-json'))
560
+ throw runnerError('claude CLI probe found a CLI without stream-json output');
561
+ if (!/(^|\s)-p(\s|,|$)/m.test(help))
562
+ throw runnerError('claude CLI probe found a CLI without headless print mode');
563
+ return { protocol: CLAUDE_CODE_STREAM_PROTOCOL, cliVersion: `${major}.${minor}.${Number(match[3])}`,
564
+ source: options.source, qualificationRef: options.qualificationRef };
565
+ }
566
+ finally {
567
+ await rm(sandboxDir, { recursive: true, force: true }).catch(() => undefined);
568
+ }
569
+ })();
570
+ };
571
+ /**
572
+ * Factory for the consumer: builds the `clients.anthropic` runtime client
573
+ * over a dedicated Claude seat. Wire with
574
+ * `createDefaultProviderAdapters({ anthropic })`.
575
+ */
576
+ export const createClaudeSeatAnthropicClient = (options) => {
577
+ const runner = new NodeClaudeCodeCliRunner({
578
+ ...(options.cliPath !== undefined ? { cliPath: options.cliPath } : {}),
579
+ ...(options.effort !== undefined ? { effort: options.effort } : {}),
580
+ ...(options.systemPromptFile !== undefined ? { systemPromptFile: options.systemPromptFile } : {}),
581
+ ...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
582
+ });
583
+ return new ClaudeCodeRuntimeClient({
584
+ runner,
585
+ capabilities: { ...options.capabilities },
586
+ ...(options.fallback !== undefined ? { fallback: options.fallback } : {}),
587
+ ...(options.now !== undefined ? { now: options.now } : {}),
588
+ });
589
+ };
590
+ //# sourceMappingURL=claude-code-cli-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-cli-runner.js","sourceRoot":"","sources":["../../src/node/claude-code-cli-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { ClaudeCodeCliEvent, ClaudeCodeCliRequest } from '../transport/claude-code-runtime-client.js';
2
+ /** Deterministic prompt rendering; pinned by unit tests with a fake CLI. */
3
+ export declare const renderClaudeCodeCliPrompt: (request: ClaudeCodeCliRequest) => string;
4
+ export interface QuotaDiagnosis {
5
+ readonly quota: boolean;
6
+ readonly retryAfterMs?: number;
7
+ }
8
+ /**
9
+ * Quota-relevant text out of a CLI error payload: CLI-owned message fields
10
+ * only (`result`, `message`, `error`, string or numeric `code`). Numeric
11
+ * telemetry beside them (token usage, costs) is never signal, so a bare
12
+ * `429` buried in `usage` cannot trip the quota circuit.
13
+ */
14
+ export declare const extractQuotaText: (payload: unknown) => string | undefined;
15
+ /**
16
+ * Append a chunk to a byte-capped stderr tail. A non-positive cap keeps
17
+ * nothing (the caller still drains the pipe, but stores no bytes).
18
+ */
19
+ export declare const appendCappedTail: (current: Buffer, chunk: Uint8Array, capBytes: number) => Buffer;
20
+ /** Match quota prose in CLI-owned text only (stderr, error payloads). */
21
+ export declare const diagnoseClaudeCodeQuota: (text: unknown) => QuotaDiagnosis;
22
+ export type ClaudeCodeLineOutcome = {
23
+ type: 'system_init';
24
+ init: {
25
+ tools?: unknown;
26
+ mcpServers?: unknown;
27
+ };
28
+ } | {
29
+ type: 'text';
30
+ text: string;
31
+ } | {
32
+ type: 'tool_use';
33
+ event: Extract<ClaudeCodeCliEvent, {
34
+ type: 'tool_use';
35
+ }>;
36
+ } | {
37
+ type: 'stop_reason';
38
+ reason: unknown;
39
+ } | {
40
+ type: 'result';
41
+ result: {
42
+ finishReason: 'stop' | 'length' | 'tool_calls';
43
+ usage?: {
44
+ inputTokens?: number;
45
+ outputTokens?: number;
46
+ };
47
+ resultText?: string;
48
+ };
49
+ } | {
50
+ type: 'error_payload';
51
+ payload: unknown;
52
+ };
53
+ /** Normalize one stream-json line; unknown and noise lines yield nothing. */
54
+ export declare const parseClaudeCodeLine: (line: string) => ClaudeCodeLineOutcome[];
55
+ //# sourceMappingURL=claude-code-cli-wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-cli-wire.d.ts","sourceRoot":"","sources":["../../src/node/claude-code-cli-wire.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,4CAA4C,CAAC;AAEpD,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,YAAa,oBAAoB,KAAG,MAezE,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAkBD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAAa,OAAO,KAAG,MAAM,GAAG,SAW5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAAa,MAAM,SAAS,UAAU,YAAY,MAAM,KAAG,MAIvF,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,SAAU,OAAO,KAAG,cAKvD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;QACzE,KAAK,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAQhD,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,qBAAqB,EAgDvE,CAAC"}
@@ -0,0 +1,144 @@
1
+ // @sentropic/llm-mesh/node/claude-code-cli-wire.ts
2
+ //
3
+ // Pure stream-json wire for the `claude` CLI host: deterministic prompt
4
+ // rendering, quota prose diagnosis, and line normalization to
5
+ // ClaudeCodeCliEvent outcomes. No process, clock, or network access —
6
+ // safe to unit-test without a CLI.
7
+ /** Deterministic prompt rendering; pinned by unit tests with a fake CLI. */
8
+ export const renderClaudeCodeCliPrompt = (request) => {
9
+ const lines = [];
10
+ for (const message of request.messages) {
11
+ for (const part of message.content) {
12
+ if (part.type === 'text') {
13
+ lines.push(`${message.role}: ${part.text}`);
14
+ }
15
+ else if (part.type === 'tool_use') {
16
+ lines.push(`${message.role} tool_use ${part.name} ${part.id}: ${JSON.stringify(part.input)}`);
17
+ }
18
+ else {
19
+ lines.push(`${message.role} tool_result ${part.tool_use_id}: ${part.content}`);
20
+ }
21
+ }
22
+ if (message.content.length === 0)
23
+ lines.push(`${message.role}:`);
24
+ }
25
+ return `${lines.join('\n')}\n`;
26
+ };
27
+ const QUOTA_PATTERN = /5-hour|usage.?limit|rate.?limit|too many requests|\b429\b|quota|overloaded/i;
28
+ const STRUCTURED_QUOTA_KEYS = ['result', 'message', 'error'];
29
+ const RETRY_AFTER_PATTERN = /(\d+)\s*(milliseconds?|seconds?|minutes?|hours?)/i;
30
+ const readRetryAfterMs = (text) => {
31
+ const match = RETRY_AFTER_PATTERN.exec(text);
32
+ if (!match)
33
+ return undefined;
34
+ const amount = Number(match[1]);
35
+ const unit = match[2].toLowerCase();
36
+ if (!Number.isSafeInteger(amount) || amount < 0)
37
+ return undefined;
38
+ const factor = unit.startsWith('millis') ? 1 : unit.startsWith('s') ? 1_000
39
+ : unit.startsWith('m') ? 60_000 : 3_600_000;
40
+ const ms = amount * factor;
41
+ return Number.isSafeInteger(ms) ? ms : undefined;
42
+ };
43
+ /**
44
+ * Quota-relevant text out of a CLI error payload: CLI-owned message fields
45
+ * only (`result`, `message`, `error`, string or numeric `code`). Numeric
46
+ * telemetry beside them (token usage, costs) is never signal, so a bare
47
+ * `429` buried in `usage` cannot trip the quota circuit.
48
+ */
49
+ export const extractQuotaText = (payload) => {
50
+ if (!isRecord(payload))
51
+ return undefined;
52
+ const parts = [];
53
+ for (const key of STRUCTURED_QUOTA_KEYS) {
54
+ const value = payload[key];
55
+ if (typeof value === 'string' && value.length > 0)
56
+ parts.push(value);
57
+ }
58
+ const code = payload['code'];
59
+ if (typeof code === 'string' && code.length > 0)
60
+ parts.push(code);
61
+ else if (typeof code === 'number' && Number.isSafeInteger(code))
62
+ parts.push(String(code));
63
+ return parts.length > 0 ? parts.join(' ') : undefined;
64
+ };
65
+ /**
66
+ * Append a chunk to a byte-capped stderr tail. A non-positive cap keeps
67
+ * nothing (the caller still drains the pipe, but stores no bytes).
68
+ */
69
+ export const appendCappedTail = (current, chunk, capBytes) => {
70
+ if (capBytes <= 0)
71
+ return Buffer.from('');
72
+ const next = Buffer.concat([current, Buffer.from(chunk)]);
73
+ return next.length <= capBytes ? next : Buffer.from(next.subarray(next.length - capBytes));
74
+ };
75
+ /** Match quota prose in CLI-owned text only (stderr, error payloads). */
76
+ export const diagnoseClaudeCodeQuota = (text) => {
77
+ if (typeof text !== 'string' || text.length === 0)
78
+ return { quota: false };
79
+ if (!QUOTA_PATTERN.test(text))
80
+ return { quota: false };
81
+ const retryAfterMs = readRetryAfterMs(text);
82
+ return retryAfterMs === undefined ? { quota: true } : { quota: true, retryAfterMs };
83
+ };
84
+ const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
85
+ const safeInt = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : undefined;
86
+ /** Normalize one stream-json line; unknown and noise lines yield nothing. */
87
+ export const parseClaudeCodeLine = (line) => {
88
+ let parsed;
89
+ try {
90
+ parsed = JSON.parse(line);
91
+ }
92
+ catch {
93
+ return [];
94
+ }
95
+ if (!isRecord(parsed) || typeof parsed.type !== 'string')
96
+ return [];
97
+ if (parsed.type === 'system' && parsed.subtype === 'init') {
98
+ const init = {};
99
+ if ('tools' in parsed)
100
+ init.tools = parsed['tools'];
101
+ if ('mcp_servers' in parsed)
102
+ init.mcpServers = parsed['mcp_servers'];
103
+ else if ('mcpServers' in parsed)
104
+ init.mcpServers = parsed['mcpServers'];
105
+ return [{ type: 'system_init', init }];
106
+ }
107
+ if (parsed.type === 'assistant') {
108
+ const message = parsed.message;
109
+ if (!isRecord(message) || !Array.isArray(message.content))
110
+ return [];
111
+ const outcomes = [];
112
+ for (const block of message.content) {
113
+ if (!isRecord(block) || typeof block.type !== 'string')
114
+ continue;
115
+ if (block.type === 'text' && typeof block.text === 'string' && block.text.length > 0) {
116
+ outcomes.push({ type: 'text', text: block.text });
117
+ }
118
+ else if (block.type === 'tool_use' && typeof block.id === 'string'
119
+ && typeof block.name === 'string' && isRecord(block.input)) {
120
+ outcomes.push({ type: 'tool_use',
121
+ event: { type: 'tool_use', id: block.id, name: block.name, input: block.input } });
122
+ }
123
+ }
124
+ if (message.stop_reason !== undefined) {
125
+ outcomes.push({ type: 'stop_reason', reason: message.stop_reason });
126
+ }
127
+ return outcomes;
128
+ }
129
+ if (parsed.type === 'result') {
130
+ if (parsed.subtype === 'success' && parsed.is_error !== true) {
131
+ const usage = isRecord(parsed.usage) ? {
132
+ ...(safeInt(parsed.usage.input_tokens) !== undefined ? { inputTokens: safeInt(parsed.usage.input_tokens) } : {}),
133
+ ...(safeInt(parsed.usage.output_tokens) !== undefined ? { outputTokens: safeInt(parsed.usage.output_tokens) } : {}),
134
+ } : undefined;
135
+ const resultText = typeof parsed.result === 'string' ? parsed.result : undefined;
136
+ return [{ type: 'result', result: { finishReason: 'stop',
137
+ ...(usage && Object.keys(usage).length ? { usage } : {}),
138
+ ...(resultText !== undefined ? { resultText } : {}) } }];
139
+ }
140
+ return [{ type: 'error_payload', payload: parsed }];
141
+ }
142
+ return [];
143
+ };
144
+ //# sourceMappingURL=claude-code-cli-wire.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-cli-wire.js","sourceRoot":"","sources":["../../src/node/claude-code-cli-wire.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,9 @@ export type { SeatCellConfigDirs, SeatCellInput, SeatCellReceipt, SeatCellReceip
20
20
  export { SEAT_RECORD_REL_PATH, eraseSeatHome, materialiseCellHome, materialiseSeatEnvelopes, } from './seat-onboarding-materialize.js';
21
21
  export type { CodexMcpServerSpec, CodexSeatIntent } from '../enrollment/seat-onboarding-projections.js';
22
22
  export { CODEX_TRUST_DIALOG_PROBE, projectClaudeOnboarding, projectCodexIntent, projectMuseTrust, renderCodexSeatConfig, } from '../enrollment/seat-onboarding-projections.js';
23
+ export type { ClaudeCodeCliProbeOptions, ClaudeSeatAnthropicClientOptions, NodeClaudeCodeCliRunnerOptions, } from './claude-code-cli-runner.js';
24
+ export { CLAUDE_CODE_OAUTH_ENV_VAR, CLAUDE_CODE_RESULT_TIMEOUT_MS, CLAUDE_CODE_STREAM_PROTOCOL, DEFAULT_CLAUDE_CODE_CLI_PATH, DEFAULT_CLAUDE_CODE_EFFORT, DEFAULT_CLAUDE_CODE_TIMEOUT_MS, NodeClaudeCodeCliRunner, createClaudeSeatAnthropicClient, probeClaudeCodeCliCapabilities, } from './claude-code-cli-runner.js';
25
+ export { ClaudeCliQuotaError } from '../transport/claude-code-runtime-client.js';
26
+ export type { ClaudeCodeLineOutcome, QuotaDiagnosis } from './claude-code-cli-wire.js';
27
+ export { diagnoseClaudeCodeQuota, parseClaudeCodeLine, renderClaudeCodeCliPrompt, } from './claude-code-cli-wire.js';
23
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,7 @@ export { AGY_REQUIRED_COMPLETED_STEPS, CODEX_APPROVAL_POLICY_VALUES, MUSE_TRUST_
11
11
  export { CAPTURE_SOURCES, captureSeatOnboarding } from './seat-onboarding-capture.js';
12
12
  export { SEAT_RECORD_REL_PATH, eraseSeatHome, materialiseCellHome, materialiseSeatEnvelopes, } from './seat-onboarding-materialize.js';
13
13
  export { CODEX_TRUST_DIALOG_PROBE, projectClaudeOnboarding, projectCodexIntent, projectMuseTrust, renderCodexSeatConfig, } from '../enrollment/seat-onboarding-projections.js';
14
+ export { CLAUDE_CODE_OAUTH_ENV_VAR, CLAUDE_CODE_RESULT_TIMEOUT_MS, CLAUDE_CODE_STREAM_PROTOCOL, DEFAULT_CLAUDE_CODE_CLI_PATH, DEFAULT_CLAUDE_CODE_EFFORT, DEFAULT_CLAUDE_CODE_TIMEOUT_MS, NodeClaudeCodeCliRunner, createClaudeSeatAnthropicClient, probeClaudeCodeCliCapabilities, } from './claude-code-cli-runner.js';
15
+ export { ClaudeCliQuotaError } from '../transport/claude-code-runtime-client.js';
16
+ export { diagnoseClaudeCodeQuota, parseClaudeCodeLine, renderClaudeCodeCliPrompt, } from './claude-code-cli-wire.js';
14
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElH,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAgB3E,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAiBtF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElH,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAgB3E,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAiBtF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;AAMtD,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC"}
@@ -60,6 +60,30 @@ export interface ClaudeCodeCliRunner {
60
60
  signal: AbortSignal;
61
61
  }): AsyncIterable<ClaudeCodeCliEvent>;
62
62
  }
63
+ /**
64
+ * Typed quota signal from a Claude CLI host: the 5-hour session limit, a
65
+ * rate limit, or an overloaded backend. Fixed message and numeric fields
66
+ * only — never carries CLI output, so rethrowing it cannot leak seat
67
+ * material. `AnthropicAdapter.normalizeError` maps the 429 status to a
68
+ * retryable `rate_limit`, letting the consumer quota circuit fail over.
69
+ */
70
+ export declare class ClaudeCliQuotaError extends Error {
71
+ readonly code = "claude_cli_rate_limited";
72
+ readonly status = 429;
73
+ readonly retryable = true;
74
+ readonly retryReason: "rate_limit";
75
+ readonly retryAfterMs?: number;
76
+ constructor(retryAfterMs?: number);
77
+ }
78
+ export declare const isClaudeCliQuotaError: (value: unknown) => value is ClaudeCliQuotaError;
79
+ /**
80
+ * Structural quota match for foreign runners that signal 429 with their own
81
+ * error shape. Matches status/code only; the caller must build a fresh typed
82
+ * error and never forward the original message, cause, or stack.
83
+ */
84
+ export declare const readClaudeCliQuotaSignal: (value: unknown) => {
85
+ retryAfterMs?: number;
86
+ } | undefined;
63
87
  /** Trusted host attestations, never inferred from the installed CLI version. */
64
88
  export interface ClaudeCodeCliCapabilities {
65
89
  readonly protocol: 'claude-code-stream-json-v1';
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-runtime-client.d.ts","sourceRoot":"","sources":["../../src/transport/claude-code-runtime-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-runtime-client.d.ts","sourceRoot":"","sources":["../../src/transport/claude-code-runtime-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,qFAAqF;AACrF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;KACtE,EAAE,CAAC;IACJ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAC;CAC1G;AAED,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/D,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,GAAG,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,0BAA0B,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAC;QAC7E,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,MAAM,OAAO;IACtB,QAAQ,CAAC,SAAS,QAAQ;IAC1B,QAAQ,CAAC,WAAW,eAAyB;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBACnB,YAAY,CAAC,EAAE,MAAM;CAKlC;AAED,eAAO,MAAM,qBAAqB,UAAW,OAAO,iCACd,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAerF,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AA8HD,qBAAa,uBAAwB,YAAW,sBAAsB;IAExD,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBAC5B,OAAO,EAAE,8BAA8B;IAIpE,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,gBAAgB;IAWlB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC;YAe9E,MAAM;IAiFf,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAmBtG"}
@@ -1,14 +1,70 @@
1
1
  import { getSecretAuthMaterial } from '../auth.js';
2
+ /**
3
+ * Typed quota signal from a Claude CLI host: the 5-hour session limit, a
4
+ * rate limit, or an overloaded backend. Fixed message and numeric fields
5
+ * only — never carries CLI output, so rethrowing it cannot leak seat
6
+ * material. `AnthropicAdapter.normalizeError` maps the 429 status to a
7
+ * retryable `rate_limit`, letting the consumer quota circuit fail over.
8
+ */
9
+ export class ClaudeCliQuotaError extends Error {
10
+ code = 'claude_cli_rate_limited';
11
+ status = 429;
12
+ retryable = true;
13
+ retryReason = 'rate_limit';
14
+ retryAfterMs;
15
+ constructor(retryAfterMs) {
16
+ super('Claude CLI quota exhausted');
17
+ this.name = 'ClaudeCliQuotaError';
18
+ if (retryAfterMs !== undefined)
19
+ this.retryAfterMs = retryAfterMs;
20
+ }
21
+ }
22
+ export const isClaudeCliQuotaError = (value) => value instanceof ClaudeCliQuotaError;
23
+ /**
24
+ * Structural quota match for foreign runners that signal 429 with their own
25
+ * error shape. Matches status/code only; the caller must build a fresh typed
26
+ * error and never forward the original message, cause, or stack.
27
+ */
28
+ export const readClaudeCliQuotaSignal = (value) => {
29
+ if (isClaudeCliQuotaError(value)) {
30
+ return value.retryAfterMs !== undefined ? { retryAfterMs: value.retryAfterMs } : {};
31
+ }
32
+ if (!value || typeof value !== 'object')
33
+ return undefined;
34
+ const record = value;
35
+ const status = record.status ?? record.statusCode;
36
+ const code = record.code ?? record.type;
37
+ const quotaCode = typeof code === 'string'
38
+ && /rate.?limit|too.?many.?requests|quota|usage.?limit|overload/i.test(code);
39
+ if (status !== 429 && !quotaCode)
40
+ return undefined;
41
+ const retryAfterMs = record.retryAfterMs;
42
+ return typeof retryAfterMs === 'number' && Number.isFinite(retryAfterMs) && retryAfterMs >= 0
43
+ ? { retryAfterMs }
44
+ : {};
45
+ };
2
46
  class ClaudeCodeFailure extends Error {
3
47
  code;
4
- constructor(code) {
5
- super(`Claude CLI ${code === 'aborted' ? 'request aborted' : `${code} unavailable`}`);
48
+ status;
49
+ retryable;
50
+ retryReason;
51
+ retryAfterMs;
52
+ constructor(code, quota) {
53
+ super(`Claude CLI ${code === 'aborted' ? 'request aborted'
54
+ : code === 'rate_limited' ? 'quota exhausted' : `${code} unavailable`}`);
6
55
  this.code = `claude_cli_${code}`;
7
56
  if (code === 'aborted')
8
57
  this.name = 'AbortError';
58
+ if (code === 'rate_limited') {
59
+ this.status = 429;
60
+ this.retryable = true;
61
+ this.retryReason = 'rate_limit';
62
+ if (quota?.retryAfterMs !== undefined)
63
+ this.retryAfterMs = quota.retryAfterMs;
64
+ }
9
65
  }
10
66
  }
11
- const failure = (code) => new ClaudeCodeFailure(code);
67
+ const failure = (code, quota) => new ClaudeCodeFailure(code, quota);
12
68
  const textValue = (value) => typeof value === 'string' && value.trim().length > 0 && !value.includes('\0');
13
69
  const jsonCopy = (value, canonical = false) => {
14
70
  if (value === null || typeof value === 'string' || typeof value === 'boolean'
@@ -264,6 +320,13 @@ export class ClaudeCodeRuntimeClient {
264
320
  throw failure('aborted');
265
321
  if (error instanceof ClaudeCodeFailure)
266
322
  throw error;
323
+ // A quota signal crosses the runner seam as a FRESH typed failure with
324
+ // numeric fields only; the original message, cause, and stack never
325
+ // cross, preserving the secret boundary while the consumer quota
326
+ // circuit still sees the retryable 429.
327
+ const quota = readClaudeCliQuotaSignal(error);
328
+ if (quota)
329
+ throw failure('rate_limited', quota);
267
330
  throw failure('runner');
268
331
  }
269
332
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-runtime-client.js","sourceRoot":"","sources":["../../src/transport/claude-code-runtime-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-runtime-client.js","sourceRoot":"","sources":["../../src/transport/claude-code-runtime-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/llm-mesh",
3
- "version": "0.34.0",
3
+ "version": "0.34.1",
4
4
  "description": "Provider-agnostic LLM access runtime SDK for Sentropic.",
5
5
  "type": "module",
6
6
  "license": "MIT",