@excitedjs/agent-runtime-claude-code 0.6.1 → 0.7.0-alpha.g1e011989dff1
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/README.md +92 -44
- package/dist/config.d.ts +2 -2
- package/dist/control-rpc.d.ts +32 -0
- package/dist/control-rpc.d.ts.map +1 -0
- package/dist/control-rpc.js +112 -0
- package/dist/control-rpc.js.map +1 -0
- package/dist/rpc.d.ts +37 -93
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +242 -405
- package/dist/rpc.js.map +1 -1
- package/dist/runtime-activity.d.ts +33 -0
- package/dist/runtime-activity.d.ts.map +1 -0
- package/dist/runtime-activity.js +221 -0
- package/dist/runtime-activity.js.map +1 -0
- package/dist/runtime-session.d.ts +6 -2
- package/dist/runtime-session.d.ts.map +1 -1
- package/dist/runtime-session.js +20 -11
- package/dist/runtime-session.js.map +1 -1
- package/dist/runtime.d.ts +13 -15
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +53 -152
- package/dist/runtime.js.map +1 -1
- package/dist/stream.d.ts +17 -3
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +75 -11
- package/dist/stream.js.map +1 -1
- package/dist/supervisor.d.ts.map +1 -1
- package/dist/supervisor.js +35 -31
- package/dist/supervisor.js.map +1 -1
- package/dist/types.d.ts +38 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/dist/admission-classify.d.ts +0 -7
- package/dist/admission-classify.d.ts.map +0 -1
- package/dist/admission-classify.js +0 -17
- package/dist/admission-classify.js.map +0 -1
- package/dist/runtime-submissions.d.ts +0 -58
- package/dist/runtime-submissions.d.ts.map +0 -1
- package/dist/runtime-submissions.js +0 -281
- package/dist/runtime-submissions.js.map +0 -1
package/dist/runtime.js
CHANGED
|
@@ -5,9 +5,7 @@ import { claudeCodeResidentArgs } from './args.js';
|
|
|
5
5
|
import { stringifyClaudeCodeMcpConfig } from './mcp-config.js';
|
|
6
6
|
import { materializeClaudeSkillAddDir } from './skill-materializer.js';
|
|
7
7
|
import { consoleFallbackLogger } from './logger.js';
|
|
8
|
-
import {
|
|
9
|
-
import { createRuntimeSubmission, endNativeTurn, handleProtocolEvent, } from './runtime-submissions.js';
|
|
10
|
-
import { asError, classifySteerFailure } from './admission-classify.js';
|
|
8
|
+
import { endNativeTurn, handleProtocolEvent, } from './runtime-activity.js';
|
|
11
9
|
import { buildClaudeProcessEnv } from './runtime-session.js';
|
|
12
10
|
import { RuntimeStateFence } from '@excitedjs/dreamux-utils';
|
|
13
11
|
function errMessage(err) {
|
|
@@ -15,9 +13,9 @@ function errMessage(err) {
|
|
|
15
13
|
}
|
|
16
14
|
/**
|
|
17
15
|
* The Claude Code agent runtime for one dispatcher. A single resident
|
|
18
|
-
* stream-json child
|
|
19
|
-
*
|
|
20
|
-
*
|
|
16
|
+
* stream-json child accepts every input through the same native write path.
|
|
17
|
+
* Admission returns after the write is acknowledged; each request is settled
|
|
18
|
+
* by the session that consumed it, independently of later inputs.
|
|
21
19
|
*/
|
|
22
20
|
export class ClaudeCodeRuntime {
|
|
23
21
|
deps;
|
|
@@ -51,14 +49,11 @@ export class ClaudeCodeRuntime {
|
|
|
51
49
|
});
|
|
52
50
|
stopped = false;
|
|
53
51
|
pendingAdmissions = new Set();
|
|
54
|
-
queue = Promise.resolve();
|
|
55
52
|
session = null;
|
|
56
53
|
sessionStarting = null;
|
|
57
54
|
startTask = null;
|
|
58
55
|
stopTask = null;
|
|
59
56
|
generation = 0;
|
|
60
|
-
activeTurn = null;
|
|
61
|
-
queuedTurnCount = 0;
|
|
62
57
|
constructor(identity, deps) {
|
|
63
58
|
this.deps = deps;
|
|
64
59
|
const priorSessionId = identity.sessionId;
|
|
@@ -147,10 +142,8 @@ export class ClaudeCodeRuntime {
|
|
|
147
142
|
// and Core stops that runtime before revoking its generation, so an end
|
|
148
143
|
// here would close the card ahead of Core's own failed end carrying the
|
|
149
144
|
// start error.
|
|
150
|
-
if (this.session
|
|
145
|
+
if (this.session?.isAlive())
|
|
151
146
|
this.endNativeTurn('interrupted', null);
|
|
152
|
-
if (this.activeTurn !== null)
|
|
153
|
-
this.stopUnsettled(this.activeTurn);
|
|
154
147
|
return this.track(this.stopRuntime());
|
|
155
148
|
}
|
|
156
149
|
/** Single-flight the stop task, releasing the slot so a failure can retry. */
|
|
@@ -189,7 +182,6 @@ export class ClaudeCodeRuntime {
|
|
|
189
182
|
}
|
|
190
183
|
// Same quiescence as an ordinary stop, on both paths.
|
|
191
184
|
await this.drainAdmissions();
|
|
192
|
-
await this.queue;
|
|
193
185
|
this.status = 'stopped';
|
|
194
186
|
}
|
|
195
187
|
async stopRuntime() {
|
|
@@ -206,7 +198,6 @@ export class ClaudeCodeRuntime {
|
|
|
206
198
|
this.session = null;
|
|
207
199
|
}
|
|
208
200
|
await this.drainAdmissions();
|
|
209
|
-
await this.queue;
|
|
210
201
|
await this.settleStatus('stopped');
|
|
211
202
|
}
|
|
212
203
|
/**
|
|
@@ -217,49 +208,43 @@ export class ClaudeCodeRuntime {
|
|
|
217
208
|
submit(input) {
|
|
218
209
|
return this.trackAdmission(this.acceptInput(input.text));
|
|
219
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Interrupt the resident session's outstanding work.
|
|
213
|
+
*
|
|
214
|
+
* The session is only asked when one is already up: an interrupt must not
|
|
215
|
+
* wait for, or inherit the failure of, a spawn it did not initiate. A session
|
|
216
|
+
* with nothing outstanding answers false and this answers `idle`, so the
|
|
217
|
+
* caller can say no turn is running rather than claim it stopped one.
|
|
218
|
+
*/
|
|
219
|
+
async interrupt() {
|
|
220
|
+
const session = this.session;
|
|
221
|
+
if (this.stopped || session === null || !session.isAlive())
|
|
222
|
+
return { status: 'idle' };
|
|
223
|
+
return await session.interrupt('Interrupted by Dreamux user command.')
|
|
224
|
+
? { status: 'interrupted' }
|
|
225
|
+
: { status: 'idle' };
|
|
226
|
+
}
|
|
220
227
|
async acceptInput(text) {
|
|
221
228
|
if (this.stopped)
|
|
222
229
|
return { status: 'stopped' };
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
if (active !== null) {
|
|
227
|
-
active.submissions.set(commandUuid, deferred);
|
|
228
|
-
try {
|
|
229
|
-
await this.steerActiveTurn(active, text, commandUuid);
|
|
230
|
-
return { status: 'submitted', submission: deferred.submission };
|
|
231
|
-
}
|
|
232
|
-
catch (error) {
|
|
233
|
-
active.submissions.delete(commandUuid);
|
|
234
|
-
deferred.settle({ kind: 'failed', error: asError(error) });
|
|
235
|
-
return classifySteerFailure(error, this.stopped);
|
|
236
|
-
}
|
|
230
|
+
let session;
|
|
231
|
+
try {
|
|
232
|
+
session = await this.ensureSession();
|
|
237
233
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
tools: new Map(),
|
|
253
|
-
session: null,
|
|
254
|
-
sessionReady,
|
|
255
|
-
resolveSession,
|
|
256
|
-
rejectSession,
|
|
257
|
-
steerQueue: Promise.resolve(),
|
|
258
|
-
generation: this.generation,
|
|
259
|
-
};
|
|
260
|
-
this.activeTurn = turn;
|
|
261
|
-
void this.runActiveTurnOnQueue(text, turn).then(() => this.markTurnSucceeded(turn), (err) => this.markTurnFailed(turn, err));
|
|
262
|
-
return { status: 'submitted', submission: deferred.submission };
|
|
234
|
+
catch (error) {
|
|
235
|
+
if (this.stopped)
|
|
236
|
+
return { status: 'stopped' };
|
|
237
|
+
this.setStatus('degraded', error);
|
|
238
|
+
return { status: 'failed', error: error instanceof Error ? error : new Error(String(error)) };
|
|
239
|
+
}
|
|
240
|
+
if (this.stopped)
|
|
241
|
+
return { status: 'stopped' };
|
|
242
|
+
const admission = await session.submit(text);
|
|
243
|
+
if (!this.stopped && this.session === session && session.isAlive() &&
|
|
244
|
+
admission.status === 'submitted' && this.status !== 'ready') {
|
|
245
|
+
this.setStatus('ready');
|
|
246
|
+
}
|
|
247
|
+
return admission;
|
|
263
248
|
}
|
|
264
249
|
trackAdmission(admission) {
|
|
265
250
|
this.pendingAdmissions.add(admission);
|
|
@@ -273,92 +258,9 @@ export class ClaudeCodeRuntime {
|
|
|
273
258
|
await Promise.allSettled([...this.pendingAdmissions]);
|
|
274
259
|
}
|
|
275
260
|
}
|
|
276
|
-
runActiveTurnOnQueue(prompt, active) {
|
|
277
|
-
const run = this.queue.then(() => this.runActiveTurn(prompt, active));
|
|
278
|
-
this.queue = run.then(() => undefined, () => undefined);
|
|
279
|
-
return run;
|
|
280
|
-
}
|
|
281
|
-
async runActiveTurn(prompt, active) {
|
|
282
|
-
try {
|
|
283
|
-
this.assertGeneration(active.generation);
|
|
284
|
-
const session = await this.ensureSession();
|
|
285
|
-
this.assertGeneration(active.generation);
|
|
286
|
-
const outcome = session.submitTurn(prompt, {}, active.initialCommandUuid);
|
|
287
|
-
active.session = session;
|
|
288
|
-
active.resolveSession(session);
|
|
289
|
-
await outcome;
|
|
290
|
-
this.assertGeneration(active.generation);
|
|
291
|
-
this.log('info', 'claude-code turn completed');
|
|
292
|
-
}
|
|
293
|
-
finally {
|
|
294
|
-
active.session = null;
|
|
295
|
-
if (this.activeTurn === active)
|
|
296
|
-
this.activeTurn = null;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
async steerActiveTurn(active, prompt, commandUuid) {
|
|
300
|
-
this.assertGeneration(active.generation);
|
|
301
|
-
const session = active.session ?? await active.sessionReady;
|
|
302
|
-
const steer = active.steerQueue.then(() => {
|
|
303
|
-
this.assertGeneration(active.generation);
|
|
304
|
-
if (active.session !== session || this.session !== session) {
|
|
305
|
-
throw new ClaudeSteerAdmissionError('failed', 'claude-code session changed before live steer');
|
|
306
|
-
}
|
|
307
|
-
return session.steerTurn(prompt, {}, commandUuid);
|
|
308
|
-
});
|
|
309
|
-
active.steerQueue = steer.then(() => undefined, () => undefined);
|
|
310
|
-
await steer;
|
|
311
|
-
this.assertGeneration(active.generation);
|
|
312
|
-
}
|
|
313
|
-
markTurnSucceeded(turn) {
|
|
314
|
-
this.recordQueuedTurnEnd();
|
|
315
|
-
this.stopUnsettled(turn);
|
|
316
|
-
if (this.stopped)
|
|
317
|
-
return;
|
|
318
|
-
if (this.status !== 'ready')
|
|
319
|
-
this.setStatus('ready');
|
|
320
|
-
}
|
|
321
|
-
markTurnFailed(turn, err) {
|
|
322
|
-
this.recordQueuedTurnEnd();
|
|
323
|
-
this.log('error', 'claude-code turn failed', err);
|
|
324
|
-
turn.rejectSession(asError(err));
|
|
325
|
-
// The run died, which is claude's own terminal for whatever native turn it
|
|
326
|
-
// was on — reported before any settlement, and whether or not there is a
|
|
327
|
-
// submission left to settle. After stop() the teardown has already
|
|
328
|
-
// reported the interrupted end; this run died of that teardown.
|
|
329
|
-
if (!this.stopped)
|
|
330
|
-
this.endNativeTurn('failed', asError(err).message);
|
|
331
|
-
// A turn that fails after stop() was requested (the resident child is being
|
|
332
|
-
// torn down) is a `stopped` settlement; otherwise it is a genuine `failed`.
|
|
333
|
-
// Fire before the stopped early-return so an interrupted teammate turn is
|
|
334
|
-
// never lost.
|
|
335
|
-
for (const deferred of turn.submissions.values()) {
|
|
336
|
-
deferred.settle(this.stopped
|
|
337
|
-
? { kind: 'stopped' }
|
|
338
|
-
: { kind: 'failed', error: asError(err) });
|
|
339
|
-
}
|
|
340
|
-
if (this.stopped)
|
|
341
|
-
return;
|
|
342
|
-
// Surface the failure as durable runtime state rather than swallowing it.
|
|
343
|
-
this.setStatus('degraded', err);
|
|
344
|
-
}
|
|
345
|
-
stopUnsettled(turn) {
|
|
346
|
-
// Push-back only: reached from stop, the fatal fence, and a window that
|
|
347
|
-
// closed with a submission still unanswered. The display line is not
|
|
348
|
-
// consulted here; the teardown that closed the window reported its end.
|
|
349
|
-
for (const deferred of turn.submissions.values()) {
|
|
350
|
-
deferred.settle({ kind: 'stopped' });
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
261
|
endNativeTurn(status, reason) {
|
|
354
262
|
endNativeTurn(status, reason, this.deps.activitySink);
|
|
355
263
|
}
|
|
356
|
-
recordQueuedTurnStart() {
|
|
357
|
-
this.queuedTurnCount += 1;
|
|
358
|
-
}
|
|
359
|
-
recordQueuedTurnEnd() {
|
|
360
|
-
this.queuedTurnCount = Math.max(0, this.queuedTurnCount - 1);
|
|
361
|
-
}
|
|
362
264
|
/** Ensure a live resident session exists, resuming after a child exit. */
|
|
363
265
|
async ensureSession() {
|
|
364
266
|
if (this.stopped)
|
|
@@ -400,12 +302,15 @@ export class ClaudeCodeRuntime {
|
|
|
400
302
|
disableFeatures: this.deps.disableFeatures,
|
|
401
303
|
outputSchema: this.deps.outputSchema,
|
|
402
304
|
});
|
|
305
|
+
const activity = { activitySequence: 0, tools: new Map() };
|
|
403
306
|
const session = this.deps.sessionFactory({
|
|
404
307
|
bin: this.bin,
|
|
405
308
|
args,
|
|
406
309
|
cwd: this.cwd,
|
|
407
310
|
env: buildClaudeProcessEnv(this.deps.injectEnv, this.config.extra_env),
|
|
408
311
|
stderrLogPath: this.stderrLogPath,
|
|
312
|
+
sessionId: candidateSessionId,
|
|
313
|
+
outputSchemaEnabled: this.deps.outputSchema !== undefined,
|
|
409
314
|
turnTimeoutMs: this.config.turn_timeout_ms,
|
|
410
315
|
remoteControl: this.config.remote_control,
|
|
411
316
|
onRemoteControlUrl: this.config.remote_control
|
|
@@ -413,11 +318,11 @@ export class ClaudeCodeRuntime {
|
|
|
413
318
|
this.log('info', `claude-code remote control URL: ${url}`);
|
|
414
319
|
}
|
|
415
320
|
: undefined,
|
|
416
|
-
onProtocolEvent: (event) => this.onProtocolEvent(event),
|
|
321
|
+
onProtocolEvent: (event) => this.onProtocolEvent(event, activity),
|
|
417
322
|
log: (level, msg, err) => this.log(level, msg, err),
|
|
418
323
|
});
|
|
419
|
-
session.setOnExit(() => {
|
|
420
|
-
void this.onSessionExit(session);
|
|
324
|
+
session.setOnExit((error) => {
|
|
325
|
+
void this.onSessionExit(session, error);
|
|
421
326
|
});
|
|
422
327
|
// Retain termination authority before spawn.
|
|
423
328
|
this.session = session;
|
|
@@ -451,12 +356,13 @@ export class ClaudeCodeRuntime {
|
|
|
451
356
|
return session;
|
|
452
357
|
}
|
|
453
358
|
/** React to an unexpected resident-child exit: degrade and drop the session. */
|
|
454
|
-
async onSessionExit(session) {
|
|
359
|
+
async onSessionExit(session, error) {
|
|
455
360
|
if (this.session !== session)
|
|
456
361
|
return; // already replaced/stopped
|
|
457
362
|
if (this.stopped)
|
|
458
363
|
return;
|
|
459
364
|
this.log('error', 'claude-code resident child exited unexpectedly');
|
|
365
|
+
this.endNativeTurn('failed', error.message);
|
|
460
366
|
try {
|
|
461
367
|
await session.stop();
|
|
462
368
|
if (this.session === session)
|
|
@@ -467,18 +373,15 @@ export class ClaudeCodeRuntime {
|
|
|
467
373
|
return;
|
|
468
374
|
}
|
|
469
375
|
if (!this.stopped) {
|
|
470
|
-
this.setStatus('degraded',
|
|
376
|
+
this.setStatus('degraded', error);
|
|
471
377
|
}
|
|
472
378
|
}
|
|
473
|
-
onProtocolEvent(event) {
|
|
474
|
-
|
|
475
|
-
if (active === null)
|
|
379
|
+
onProtocolEvent(event, activity) {
|
|
380
|
+
if (this.stopped)
|
|
476
381
|
return;
|
|
477
|
-
handleProtocolEvent(
|
|
478
|
-
|
|
479
|
-
outputSchemaEnabled: this.deps.outputSchema !== undefined,
|
|
382
|
+
handleProtocolEvent(event, {
|
|
383
|
+
activity,
|
|
480
384
|
activitySink: this.deps.activitySink,
|
|
481
|
-
log: (level, message, error) => this.log(level, message, error),
|
|
482
385
|
});
|
|
483
386
|
}
|
|
484
387
|
assertGeneration(generation) {
|
|
@@ -499,16 +402,14 @@ export class ClaudeCodeRuntime {
|
|
|
499
402
|
async terminateForFence() {
|
|
500
403
|
this.stopped = true;
|
|
501
404
|
this.generation += 1;
|
|
502
|
-
const turn = this.activeTurn;
|
|
503
|
-
if (turn !== null)
|
|
504
|
-
this.stopUnsettled(turn);
|
|
505
405
|
const session = this.session;
|
|
506
406
|
if (session !== null) {
|
|
507
407
|
// Killing a live child interrupts whatever it was running; the end is
|
|
508
408
|
// reported for that child and not otherwise. A fence that fires while a
|
|
509
409
|
// start is still failing has no child, and the card is then closed by
|
|
510
410
|
// Core's own failed end carrying the start error.
|
|
511
|
-
|
|
411
|
+
if (session.isAlive())
|
|
412
|
+
this.endNativeTurn('interrupted', null);
|
|
512
413
|
// The reference is dropped only once this child's own stop succeeded; a
|
|
513
414
|
// failure propagates to `RuntimeStateFence.terminated()` with the
|
|
514
415
|
// termination authority intact, and leaves the status alone so a later
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
CHANGED
|
@@ -61,6 +61,15 @@ export declare function parseLine(line: string): ParsedLine;
|
|
|
61
61
|
export declare function buildUserMessage(text: string, options?: TurnSubmitOptions, commandUuid?: string): string;
|
|
62
62
|
/** Enable Claude Code Remote Control via a stream-json control request. */
|
|
63
63
|
export declare function buildRemoteControlEnable(requestId: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Interrupt the running turn, leaving commands queued behind it to run.
|
|
66
|
+
*
|
|
67
|
+
* Cancelling them is available — the CLI honours `cancel_queued` under the
|
|
68
|
+
* `interrupt_cancel_queued_v1` capability — and deliberately not used: a
|
|
69
|
+
* `/stop` ends the turn the conversation is watching, and the messages someone
|
|
70
|
+
* already sent are not that turn.
|
|
71
|
+
*/
|
|
72
|
+
export declare function buildInterruptRequest(requestId: string, reason: string): string;
|
|
64
73
|
/**
|
|
65
74
|
* Answer a `can_use_tool` control request with `allow`. A Dreamux dispatcher
|
|
66
75
|
* runs unattended, so the answer for a runtime that has no human to consult is
|
|
@@ -75,9 +84,11 @@ export declare function buildCanUseToolAllow(requestId: string, input: JsonObjec
|
|
|
75
84
|
/** Acknowledge any other control request with a bare success so the CLI proceeds. */
|
|
76
85
|
export declare function buildControlAck(requestId: string): string;
|
|
77
86
|
/**
|
|
78
|
-
* Accumulates
|
|
79
|
-
*
|
|
80
|
-
*
|
|
87
|
+
* Accumulates native-turn envelopes across a resident session. Feed each
|
|
88
|
+
* `ParsedLine`; `done` becomes true when a result arrives, and `outcome()`
|
|
89
|
+
* reads it without consuming it. Use `takeOutcome()` at a result boundary
|
|
90
|
+
* or `discard()` on cancellation to clear turn content for reuse while
|
|
91
|
+
* retaining the session identity.
|
|
81
92
|
*
|
|
82
93
|
* The final text prefers the `result.result` (the CLI's own canonical answer)
|
|
83
94
|
* and falls back to the latest `assistant` snapshot — so a turn that ends
|
|
@@ -86,6 +97,7 @@ export declare function buildControlAck(requestId: string): string;
|
|
|
86
97
|
*/
|
|
87
98
|
export declare class TurnAggregator {
|
|
88
99
|
private lastAssistantText;
|
|
100
|
+
private contextTokens;
|
|
89
101
|
private result;
|
|
90
102
|
private initSessionId;
|
|
91
103
|
/** Returns `true` once the terminal `result` has been seen. */
|
|
@@ -96,5 +108,7 @@ export declare class TurnAggregator {
|
|
|
96
108
|
outcome(): TurnOutcome | null;
|
|
97
109
|
/** Consume one native result boundary while retaining the session identity. */
|
|
98
110
|
takeOutcome(): TurnOutcome | null;
|
|
111
|
+
/** Discard accumulated native-turn content, retaining the session identity. */
|
|
112
|
+
discard(): void;
|
|
99
113
|
}
|
|
100
114
|
//# sourceMappingURL=stream.d.ts.map
|
package/dist/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAEV,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AAYpB;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAM;IAEjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAc7B,wEAAwE;IACxE,KAAK,IAAI,MAAM,GAAG,IAAI;CAKvB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CActD;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAEV,WAAW,EACX,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AAYpB;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAM;IAEjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAc7B,wEAAwE;IACxE,KAAK,IAAI,MAAM,GAAG,IAAI;CAKvB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CActD;AA8ED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAoFlD;AA2BD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,EAC/B,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAQR;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CASjF;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKzD;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,aAAa,CAAuB;IAE5C,+DAA+D;IAC/D,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,8DAA8D;IAC9D,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAE7B;IAED,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAiB9B,OAAO,IAAI,WAAW,GAAG,IAAI;IAiB7B,+EAA+E;IAC/E,WAAW,IAAI,WAAW,GAAG,IAAI;IAOjC,+EAA+E;IAC/E,OAAO,IAAI,IAAI;CAKhB"}
|
package/dist/stream.js
CHANGED
|
@@ -86,6 +86,39 @@ export function assistantText(message) {
|
|
|
86
86
|
}
|
|
87
87
|
return parts.join('');
|
|
88
88
|
}
|
|
89
|
+
function sumTokenCounts(...values) {
|
|
90
|
+
let total = 0;
|
|
91
|
+
for (const value of values) {
|
|
92
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value < 0)
|
|
93
|
+
return undefined;
|
|
94
|
+
total += value;
|
|
95
|
+
}
|
|
96
|
+
return total;
|
|
97
|
+
}
|
|
98
|
+
function parseModelUsage(value) {
|
|
99
|
+
if (!isObject(value) || Object.keys(value).length === 0)
|
|
100
|
+
return undefined;
|
|
101
|
+
let inputTokens = 0;
|
|
102
|
+
let outputTokens = 0;
|
|
103
|
+
for (const model of Object.values(value)) {
|
|
104
|
+
if (!isObject(model))
|
|
105
|
+
return undefined;
|
|
106
|
+
const input = sumTokenCounts(model['inputTokens'], model['cacheReadInputTokens'] ?? 0, model['cacheCreationInputTokens'] ?? 0);
|
|
107
|
+
const output = sumTokenCounts(model['outputTokens']);
|
|
108
|
+
if (input === undefined || output === undefined)
|
|
109
|
+
return undefined;
|
|
110
|
+
inputTokens += input;
|
|
111
|
+
outputTokens += output;
|
|
112
|
+
}
|
|
113
|
+
return { inputTokens, outputTokens };
|
|
114
|
+
}
|
|
115
|
+
function mainContextTokens(raw) {
|
|
116
|
+
const message = raw['message'];
|
|
117
|
+
if (!isObject(message) || !isObject(message['usage']))
|
|
118
|
+
return null;
|
|
119
|
+
const usage = message['usage'];
|
|
120
|
+
return sumTokenCounts(usage['input_tokens'], usage['cache_read_input_tokens'] ?? 0, usage['cache_creation_input_tokens'] ?? 0) ?? null;
|
|
121
|
+
}
|
|
89
122
|
function parseResult(o) {
|
|
90
123
|
const subtype = str(o['subtype']);
|
|
91
124
|
const errorsRaw = o['errors'];
|
|
@@ -94,11 +127,13 @@ function parseResult(o) {
|
|
|
94
127
|
: [];
|
|
95
128
|
let isError;
|
|
96
129
|
if (subtype !== null) {
|
|
97
|
-
|
|
130
|
+
// The success arm also carries API failures, with error text in `result`.
|
|
131
|
+
isError = subtype !== 'success' || o['is_error'] === true;
|
|
98
132
|
}
|
|
99
133
|
else {
|
|
100
134
|
isError = o['is_error'] === true || errors.length > 0;
|
|
101
135
|
}
|
|
136
|
+
const tokenUsage = parseModelUsage(o['modelUsage']);
|
|
102
137
|
// In --json-schema mode Claude Code surfaces the validated object in
|
|
103
138
|
// `structured_output`; prefer it over the free-form `result` text so the
|
|
104
139
|
// workflow always receives clean, schema-conformant JSON to parse.
|
|
@@ -113,14 +148,16 @@ function parseResult(o) {
|
|
|
113
148
|
return {
|
|
114
149
|
subtype,
|
|
115
150
|
isError,
|
|
151
|
+
terminalReason: str(o['terminal_reason']),
|
|
116
152
|
text,
|
|
117
153
|
sessionId: str(o['session_id']),
|
|
118
154
|
// The client-supplied `uuid` of a user message associated with this result.
|
|
119
|
-
// It is optional and
|
|
120
|
-
//
|
|
155
|
+
// It is optional and may name an internal background input; command
|
|
156
|
+
// lifecycle owns which submitted commands this result answers.
|
|
121
157
|
userMessageUuid: str(o['user_message_uuid']),
|
|
122
158
|
errors,
|
|
123
159
|
hasStructuredOutput,
|
|
160
|
+
...(tokenUsage === undefined ? {} : { tokenUsage }),
|
|
124
161
|
};
|
|
125
162
|
}
|
|
126
163
|
/**
|
|
@@ -213,8 +250,8 @@ export function parseLine(line) {
|
|
|
213
250
|
}
|
|
214
251
|
/**
|
|
215
252
|
* Parse a `command_lifecycle` envelope. The resident CLI emits it as a
|
|
216
|
-
* top-level `type`; older streams
|
|
217
|
-
*
|
|
253
|
+
* top-level `type`; older streams emit it as a `system` subtype. Both shapes
|
|
254
|
+
* carry the same `command_uuid`/`state` fields.
|
|
218
255
|
*/
|
|
219
256
|
function parseCommandLifecycle(parsed) {
|
|
220
257
|
const state = str(parsed['state']);
|
|
@@ -225,8 +262,8 @@ function parseCommandLifecycle(parsed) {
|
|
|
225
262
|
state === 'started' ||
|
|
226
263
|
state === 'completed' ||
|
|
227
264
|
state === 'cancelled' ||
|
|
228
|
-
state === 'discarded'
|
|
229
|
-
|
|
265
|
+
state === 'discarded' ||
|
|
266
|
+
state === 'refused'
|
|
230
267
|
? state
|
|
231
268
|
: null,
|
|
232
269
|
raw: parsed,
|
|
@@ -260,6 +297,21 @@ export function buildRemoteControlEnable(requestId) {
|
|
|
260
297
|
request: { subtype: 'remote_control', enabled: true },
|
|
261
298
|
});
|
|
262
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Interrupt the running turn, leaving commands queued behind it to run.
|
|
302
|
+
*
|
|
303
|
+
* Cancelling them is available — the CLI honours `cancel_queued` under the
|
|
304
|
+
* `interrupt_cancel_queued_v1` capability — and deliberately not used: a
|
|
305
|
+
* `/stop` ends the turn the conversation is watching, and the messages someone
|
|
306
|
+
* already sent are not that turn.
|
|
307
|
+
*/
|
|
308
|
+
export function buildInterruptRequest(requestId, reason) {
|
|
309
|
+
return JSON.stringify({
|
|
310
|
+
type: 'control_request',
|
|
311
|
+
request_id: requestId,
|
|
312
|
+
request: { subtype: 'interrupt', reason },
|
|
313
|
+
});
|
|
314
|
+
}
|
|
263
315
|
/**
|
|
264
316
|
* Answer a `can_use_tool` control request with `allow`. A Dreamux dispatcher
|
|
265
317
|
* runs unattended, so the answer for a runtime that has no human to consult is
|
|
@@ -289,9 +341,11 @@ export function buildControlAck(requestId) {
|
|
|
289
341
|
}
|
|
290
342
|
// ─── Turn aggregation ───────────────────────────────────────────────────────
|
|
291
343
|
/**
|
|
292
|
-
* Accumulates
|
|
293
|
-
*
|
|
294
|
-
*
|
|
344
|
+
* Accumulates native-turn envelopes across a resident session. Feed each
|
|
345
|
+
* `ParsedLine`; `done` becomes true when a result arrives, and `outcome()`
|
|
346
|
+
* reads it without consuming it. Use `takeOutcome()` at a result boundary
|
|
347
|
+
* or `discard()` on cancellation to clear turn content for reuse while
|
|
348
|
+
* retaining the session identity.
|
|
295
349
|
*
|
|
296
350
|
* The final text prefers the `result.result` (the CLI's own canonical answer)
|
|
297
351
|
* and falls back to the latest `assistant` snapshot — so a turn that ends
|
|
@@ -300,6 +354,7 @@ export function buildControlAck(requestId) {
|
|
|
300
354
|
*/
|
|
301
355
|
export class TurnAggregator {
|
|
302
356
|
lastAssistantText = '';
|
|
357
|
+
contextTokens = null;
|
|
303
358
|
result = null;
|
|
304
359
|
initSessionId = null;
|
|
305
360
|
/** Returns `true` once the terminal `result` has been seen. */
|
|
@@ -319,6 +374,8 @@ export class TurnAggregator {
|
|
|
319
374
|
case 'assistant':
|
|
320
375
|
if (line.text.length > 0)
|
|
321
376
|
this.lastAssistantText = line.text;
|
|
377
|
+
if (line.raw['parent_tool_use_id'] == null)
|
|
378
|
+
this.contextTokens = mainContextTokens(line.raw);
|
|
322
379
|
break;
|
|
323
380
|
case 'result':
|
|
324
381
|
this.result = line.outcome;
|
|
@@ -337,8 +394,10 @@ export class TurnAggregator {
|
|
|
337
394
|
text,
|
|
338
395
|
sessionId: r.sessionId ?? this.initSessionId,
|
|
339
396
|
subtype: r.subtype,
|
|
397
|
+
terminalReason: r.terminalReason,
|
|
340
398
|
errors: r.errors,
|
|
341
399
|
hasStructuredOutput: r.hasStructuredOutput,
|
|
400
|
+
...(r.tokenUsage === undefined ? {} : { tokenUsage: r.tokenUsage, contextTokens: this.contextTokens }),
|
|
342
401
|
};
|
|
343
402
|
}
|
|
344
403
|
/** Consume one native result boundary while retaining the session identity. */
|
|
@@ -346,9 +405,14 @@ export class TurnAggregator {
|
|
|
346
405
|
const outcome = this.outcome();
|
|
347
406
|
if (outcome === null)
|
|
348
407
|
return null;
|
|
408
|
+
this.discard();
|
|
409
|
+
return outcome;
|
|
410
|
+
}
|
|
411
|
+
/** Discard accumulated native-turn content, retaining the session identity. */
|
|
412
|
+
discard() {
|
|
349
413
|
this.result = null;
|
|
350
414
|
this.lastAssistantText = '';
|
|
351
|
-
|
|
415
|
+
this.contextTokens = null;
|
|
352
416
|
}
|
|
353
417
|
}
|
|
354
418
|
//# sourceMappingURL=stream.js.map
|