@excitedjs/agent-runtime-claude-code 0.5.0 → 0.6.0-alpha.gfd00db650f43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/activity/budget.d.ts +8 -0
  2. package/dist/activity/budget.d.ts.map +1 -0
  3. package/dist/activity/budget.js +9 -0
  4. package/dist/activity/budget.js.map +1 -0
  5. package/dist/{transcript → activity}/cursor.d.ts +2 -2
  6. package/dist/activity/cursor.d.ts.map +1 -0
  7. package/dist/{transcript → activity}/cursor.js +11 -11
  8. package/dist/activity/cursor.js.map +1 -0
  9. package/dist/activity/error.d.ts +16 -0
  10. package/dist/activity/error.d.ts.map +1 -0
  11. package/dist/activity/error.js +22 -0
  12. package/dist/activity/error.js.map +1 -0
  13. package/dist/activity/native-hash.d.ts.map +1 -0
  14. package/dist/activity/native-hash.js.map +1 -0
  15. package/dist/{transcript → activity}/opened-file.d.ts +3 -3
  16. package/dist/activity/opened-file.d.ts.map +1 -0
  17. package/dist/{transcript → activity}/opened-file.js +16 -16
  18. package/dist/activity/opened-file.js.map +1 -0
  19. package/dist/activity/parallel-tools.d.ts +6 -0
  20. package/dist/activity/parallel-tools.d.ts.map +1 -0
  21. package/dist/activity/parallel-tools.js.map +1 -0
  22. package/dist/activity/path.d.ts +25 -0
  23. package/dist/activity/path.d.ts.map +1 -0
  24. package/dist/{transcript → activity}/path.js +32 -32
  25. package/dist/activity/path.js.map +1 -0
  26. package/dist/activity/reader.d.ts +16 -0
  27. package/dist/activity/reader.d.ts.map +1 -0
  28. package/dist/{transcript → activity}/reader.js +120 -161
  29. package/dist/activity/reader.js.map +1 -0
  30. package/dist/activity/rewrites.d.ts.map +1 -0
  31. package/dist/activity/rewrites.js.map +1 -0
  32. package/dist/admission-classify.d.ts +7 -0
  33. package/dist/admission-classify.d.ts.map +1 -0
  34. package/dist/admission-classify.js +17 -0
  35. package/dist/admission-classify.js.map +1 -0
  36. package/dist/diagnostic.d.ts +2 -2
  37. package/dist/diagnostic.d.ts.map +1 -1
  38. package/dist/index.d.ts +1 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +0 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp-config.d.ts +1 -0
  43. package/dist/mcp-config.d.ts.map +1 -1
  44. package/dist/mcp-config.js +5 -0
  45. package/dist/mcp-config.js.map +1 -1
  46. package/dist/provider.d.ts +28 -40
  47. package/dist/provider.d.ts.map +1 -1
  48. package/dist/provider.js +32 -61
  49. package/dist/provider.js.map +1 -1
  50. package/dist/runtime-deps.d.ts +7 -11
  51. package/dist/runtime-deps.d.ts.map +1 -1
  52. package/dist/runtime-session.d.ts +0 -9
  53. package/dist/runtime-session.d.ts.map +1 -1
  54. package/dist/runtime-session.js +0 -14
  55. package/dist/runtime-session.js.map +1 -1
  56. package/dist/runtime-submissions.d.ts +3 -4
  57. package/dist/runtime-submissions.d.ts.map +1 -1
  58. package/dist/runtime-submissions.js +40 -8
  59. package/dist/runtime-submissions.js.map +1 -1
  60. package/dist/runtime.d.ts +67 -34
  61. package/dist/runtime.d.ts.map +1 -1
  62. package/dist/runtime.js +175 -166
  63. package/dist/runtime.js.map +1 -1
  64. package/package.json +3 -3
  65. package/dist/source-reservation.d.ts +0 -6
  66. package/dist/source-reservation.d.ts.map +0 -1
  67. package/dist/source-reservation.js +0 -48
  68. package/dist/source-reservation.js.map +0 -1
  69. package/dist/transcript/budget.d.ts +0 -8
  70. package/dist/transcript/budget.d.ts.map +0 -1
  71. package/dist/transcript/budget.js +0 -9
  72. package/dist/transcript/budget.js.map +0 -1
  73. package/dist/transcript/completion.d.ts +0 -8
  74. package/dist/transcript/completion.d.ts.map +0 -1
  75. package/dist/transcript/completion.js +0 -57
  76. package/dist/transcript/completion.js.map +0 -1
  77. package/dist/transcript/cursor.d.ts.map +0 -1
  78. package/dist/transcript/cursor.js.map +0 -1
  79. package/dist/transcript/error.d.ts +0 -9
  80. package/dist/transcript/error.d.ts.map +0 -1
  81. package/dist/transcript/error.js +0 -9
  82. package/dist/transcript/error.js.map +0 -1
  83. package/dist/transcript/native-hash.d.ts.map +0 -1
  84. package/dist/transcript/native-hash.js.map +0 -1
  85. package/dist/transcript/opened-file.d.ts.map +0 -1
  86. package/dist/transcript/opened-file.js.map +0 -1
  87. package/dist/transcript/parallel-tools.d.ts +0 -6
  88. package/dist/transcript/parallel-tools.d.ts.map +0 -1
  89. package/dist/transcript/parallel-tools.js.map +0 -1
  90. package/dist/transcript/path.d.ts +0 -25
  91. package/dist/transcript/path.d.ts.map +0 -1
  92. package/dist/transcript/path.js.map +0 -1
  93. package/dist/transcript/reader.d.ts +0 -7
  94. package/dist/transcript/reader.d.ts.map +0 -1
  95. package/dist/transcript/reader.js.map +0 -1
  96. package/dist/transcript/rewrites.d.ts.map +0 -1
  97. package/dist/transcript/rewrites.js.map +0 -1
  98. /package/dist/{transcript → activity}/native-hash.d.ts +0 -0
  99. /package/dist/{transcript → activity}/native-hash.js +0 -0
  100. /package/dist/{transcript → activity}/parallel-tools.js +0 -0
  101. /package/dist/{transcript → activity}/rewrites.d.ts +0 -0
  102. /package/dist/{transcript → activity}/rewrites.js +0 -0
package/dist/runtime.js CHANGED
@@ -1,30 +1,27 @@
1
1
  /** Resident Claude Code AgentRuntime using stream-json stdio. */
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { join } from 'node:path';
4
- import { BUILTIN_CLAUDE_CODE_PROVIDER_REF } from './provider-ref.js';
5
4
  import { claudeCodeResidentArgs } from './args.js';
6
5
  import { stringifyClaudeCodeMcpConfig } from './mcp-config.js';
7
6
  import { skillAdapterKey } from './skill-adapter.js';
8
7
  import { materializeClaudeSkillAddDir } from './skill-materializer.js';
9
- import { DEFAULT_MESSAGE_ID_DEDUPE_WINDOW, renderChannelInput, unsupportedFeatureError, } from '@excitedjs/dreamux-utils';
10
- import { CLAUDE_CODE_AGENT_RUNTIME_CAPABILITIES } from './provider.js';
11
8
  import { consoleFallbackLogger } from './logger.js';
12
9
  import { ClaudeSteerAdmissionError } from './rpc.js';
13
10
  import { createRuntimeSubmission, handleProtocolEvent, } from './runtime-submissions.js';
14
- import { asError, classifySteerFailure, reserveSource, } from './source-reservation.js';
15
- import { buildClaudeProcessEnv, resolveRuntimeTranscriptPath, } from './runtime-session.js';
11
+ import { asError, classifySteerFailure } from './admission-classify.js';
12
+ import { buildClaudeProcessEnv } from './runtime-session.js';
13
+ import { RuntimeStateFence } from '@excitedjs/dreamux-utils';
16
14
  function errMessage(err) {
17
15
  return err instanceof Error ? err.message : String(err);
18
16
  }
19
17
  /**
20
18
  * The Claude Code agent runtime for one dispatcher. A single resident
21
19
  * stream-json child serves every turn. Turns run serially (one at a time) and
22
- * `channelInput` returns after the message is accepted — not after the turn
20
+ * `submit` returns after the message is accepted — not after the turn
23
21
  * completes — matching the Codex runtime's submit-then-serialize contract.
24
22
  */
25
23
  export class ClaudeCodeRuntime {
26
24
  deps;
27
- providerRef = BUILTIN_CLAUDE_CODE_PROVIDER_REF;
28
25
  dispatcherId;
29
26
  config;
30
27
  bin;
@@ -35,17 +32,19 @@ export class ClaudeCodeRuntime {
35
32
  logger;
36
33
  status = 'declared';
37
34
  threadId;
38
- transcriptLocator;
39
35
  resumeOnNextSpawn;
40
36
  resumed;
37
+ /**
38
+ * The provider-local fatal path for authoritative state writes. Any failure
39
+ * to persist — a revoked lease or a plain write failure — fences input and
40
+ * tears the resident child down; the runtime never continues on a state
41
+ * record it could not update.
42
+ */
43
+ fence = new RuntimeStateFence({
44
+ terminate: () => this.terminateForFence(),
45
+ log: (level, message, error) => this.log(level, message, error),
46
+ });
41
47
  stopped = false;
42
- seen = new Set();
43
- seenOrder = [];
44
- seenTextInputIds = new Set();
45
- seenTextInputIdOrder = [];
46
- sourceIdDedupeWindow;
47
- pendingChannelSources = new Map();
48
- pendingTextSources = new Map();
49
48
  pendingAdmissions = new Set();
50
49
  queue = Promise.resolve();
51
50
  session = null;
@@ -55,12 +54,10 @@ export class ClaudeCodeRuntime {
55
54
  generation = 0;
56
55
  activeTurn = null;
57
56
  queuedTurnCount = 0;
58
- idlePromise = null;
59
- idleResolve = null;
60
57
  constructor(identity, deps) {
61
58
  this.deps = deps;
62
- const checkpoint = identity.checkpoint ?? null;
63
- this.dispatcherId = identity.runtime_id;
59
+ const session = identity.session ?? null;
60
+ this.dispatcherId = identity.runtimeId;
64
61
  this.config = deps.config;
65
62
  this.bin = deps.resolveBinPath(this.config.bin);
66
63
  this.cwd = deps.cwd;
@@ -68,38 +65,13 @@ export class ClaudeCodeRuntime {
68
65
  this.mcpConfigJson = stringifyClaudeCodeMcpConfig(deps.mcpServers);
69
66
  // Compose the resident stream-json child's stderr log under the neutral
70
67
  // central logs root (B2): core no longer names a per-runtime log file. The
71
- // host supplies a unique, filesystem-safe `runtime_id`.
68
+ // host supplies a unique, filesystem-safe `runtimeId`.
72
69
  this.stderrLogPath = join(deps.paths.logsDir(), 'claude-code', `${this.dispatcherId}.stderr.log`);
73
- this.threadId = checkpoint?.id ?? null;
74
- this.transcriptLocator = checkpoint?.transcript_locator ?? null;
75
- this.resumeOnNextSpawn = checkpoint !== null;
76
- this.resumed = identity.checkpoint !== null;
77
- this.sourceIdDedupeWindow = Math.max(0, deps.sourceIdDedupeWindow ?? DEFAULT_MESSAGE_ID_DEDUPE_WINDOW);
70
+ this.threadId = session?.id ?? null;
71
+ this.resumeOnNextSpawn = session !== null;
72
+ this.resumed = session !== null;
78
73
  this.logger = deps.logger ?? consoleFallbackLogger(this.dispatcherId);
79
74
  }
80
- getStatus() {
81
- return this.status;
82
- }
83
- getCapabilities() {
84
- return CLAUDE_CODE_AGENT_RUNTIME_CAPABILITIES;
85
- }
86
- getCheckpoint() {
87
- return this.threadId === null
88
- ? null
89
- : {
90
- id: this.threadId,
91
- transcript_locator: this.transcriptLocator,
92
- };
93
- }
94
- wasCheckpointResumed() {
95
- return this.resumed;
96
- }
97
- async getContext() {
98
- return null;
99
- }
100
- async resume() {
101
- await this.start();
102
- }
103
75
  start() {
104
76
  if (this.stopped) {
105
77
  return Promise.reject(new Error('claude-code runtime is stopped'));
@@ -107,7 +79,7 @@ export class ClaudeCodeRuntime {
107
79
  if (this.startTask !== null)
108
80
  return this.startTask;
109
81
  if (this.status === 'ready')
110
- return Promise.resolve();
82
+ return Promise.resolve(this.startOutcome());
111
83
  const generation = this.generation;
112
84
  const task = this.startRuntime(generation);
113
85
  this.startTask = task;
@@ -117,9 +89,14 @@ export class ClaudeCodeRuntime {
117
89
  }).catch(() => undefined);
118
90
  return task;
119
91
  }
92
+ /**
93
+ * Recovery is continuous by contract: when a prior session exists the child is
94
+ * always spawned with `--resume`, and a failed resume propagates out of
95
+ * `start` rather than silently becoming a fresh session.
96
+ */
120
97
  async startRuntime(generation) {
121
98
  this.assertGeneration(generation);
122
- await this.setStatus('starting');
99
+ await this.publishStatus('starting');
123
100
  try {
124
101
  await materializeClaudeSkillAddDir(this.skillAddDirRoot, this.deps.skillSources ?? []);
125
102
  this.assertGeneration(generation);
@@ -131,38 +108,81 @@ export class ClaudeCodeRuntime {
131
108
  }
132
109
  catch (err) {
133
110
  if (!this.stopped && generation === this.generation) {
134
- await this.setStatus('degraded', err);
111
+ await this.settleStatus('degraded', err);
135
112
  }
136
113
  throw err;
137
114
  }
138
- await this.setStatus('ready');
115
+ // The ready state must be durable before start resolves, so this publish is
116
+ // awaited un-swallowed unlike the best-effort background status writes.
117
+ await this.publishStatus('ready');
139
118
  this.assertGeneration(generation);
119
+ return this.startOutcome();
120
+ }
121
+ startOutcome() {
122
+ return Object.freeze({
123
+ continuity: this.resumed ? 'resumed' : 'fresh',
124
+ });
140
125
  }
141
126
  async stop() {
142
- if (this.status === 'stopped')
143
- return;
144
127
  if (this.stopTask !== null)
145
128
  return this.stopTask;
129
+ // A fenced runtime is already being torn down by the fence. Join that
130
+ // teardown instead of publishing a terminal state through the sink that
131
+ // just failed, and never report a stop the fence could not prove.
132
+ if (this.fence.isFenced)
133
+ return this.track(this.stopAfterFatalTeardown());
134
+ if (this.status === 'stopped')
135
+ return;
146
136
  this.stopped = true;
147
137
  this.generation += 1;
148
138
  if (this.activeTurn !== null)
149
139
  this.stopUnsettled(this.activeTurn);
150
- const task = this.stopRuntime();
140
+ return this.track(this.stopRuntime());
141
+ }
142
+ /** Single-flight the stop task, releasing the slot so a failure can retry. */
143
+ track(task) {
151
144
  this.stopTask = task;
145
+ void task.catch(() => {
146
+ if (this.stopTask === task)
147
+ this.stopTask = null;
148
+ });
149
+ return task;
150
+ }
151
+ /**
152
+ * Converge a stop that arrived after the fence already started the fatal
153
+ * teardown. A teardown that succeeded left the runtime stopped; one that
154
+ * failed retained the resident session, so this retries against that retained
155
+ * authority and rejects if the retry fails too.
156
+ */
157
+ async stopAfterFatalTeardown() {
158
+ let fatal = null;
152
159
  try {
153
- await task;
160
+ await this.fence.terminated();
154
161
  }
155
162
  catch (error) {
156
- if (this.stopTask === task)
157
- this.stopTask = null;
158
- throw error;
163
+ fatal = error;
164
+ }
165
+ if (fatal !== null) {
166
+ this.log('warn', 'retrying claude-code teardown after a fatal state write left it unproven', fatal);
167
+ const session = this.session;
168
+ if (session !== null) {
169
+ // Rejects out of `stop()`: the child was not proved dead, and the
170
+ // session reference stays so a further retry still has authority.
171
+ await session.stop();
172
+ if (this.session === session)
173
+ this.session = null;
174
+ }
159
175
  }
176
+ // Same quiescence as an ordinary stop, on both paths.
177
+ await this.drainAdmissions();
178
+ await this.queue;
179
+ this.status = 'stopped';
160
180
  }
161
181
  async stopRuntime() {
162
182
  const sessionAtStop = this.session;
163
183
  const sessionStop = sessionAtStop?.stop() ?? null;
164
184
  void sessionStop?.catch(() => undefined);
165
- await this.setStatus('stopping');
185
+ await this.settleStatus('stopping');
166
186
  const session = this.session;
167
187
  if (session !== null) {
168
188
  await (session === sessionAtStop && sessionStop !== null
@@ -173,55 +193,17 @@ export class ClaudeCodeRuntime {
173
193
  }
174
194
  await this.drainAdmissions();
175
195
  await this.queue;
176
- this.resolveIdleWaitersIfIdle();
177
- await this.setStatus('stopped');
178
- }
179
- completionInput(input) {
180
- return this.trackAdmission(this.completionInputImpl(input));
181
- }
182
- async completionInputImpl(input) {
183
- if (this.stopped)
184
- return { status: 'stopped' };
185
- if (input.outputSchema !== undefined) {
186
- // `--json-schema` is fixed at spawn time. A per-turn schema matching the
187
- // spawn-time one is a no-op; a different one fails loud.
188
- const spawnSchema = this.deps.outputSchema;
189
- const matchesSpawn = spawnSchema !== undefined &&
190
- JSON.stringify(spawnSchema) === JSON.stringify(input.outputSchema);
191
- if (!matchesSpawn) {
192
- const error = unsupportedFeatureError('outputSchema', spawnSchema === undefined
193
- ? 'claude-code runtime does not support per-turn outputSchema on the resident session'
194
- : 'claude-code runtime cannot change the output schema mid-session');
195
- return { status: 'failed', error };
196
- }
197
- }
198
- return reserveSource(input.sourceId, this.seenTextInputIds, this.seenTextInputIdOrder, this.pendingTextSources, this.sourceIdDedupeWindow, () => this.acceptTextInput(input));
199
- }
200
- async acceptTextInput(input) {
201
- return this.acceptInput(input.text, { isSynthetic: false });
202
- }
203
- channelInput(input) {
204
- return this.trackAdmission(this.channelInputImpl(input));
205
- }
206
- async channelInputImpl(input) {
207
- if (this.stopped)
208
- return { status: 'stopped' };
209
- // This runtime owns wrapping the channel input into its delivery shape: a
210
- // structured channel turn becomes the native `<channel source="…">` block;
211
- // a plain turn passes through unchanged.
212
- let text;
213
- try {
214
- text = renderChannelInput(input);
215
- }
216
- catch (error) {
217
- return { status: 'failed', error: asError(error) };
218
- }
219
- return reserveSource(input.sourceId, this.seen, this.seenOrder, this.pendingChannelSources, this.sourceIdDedupeWindow, () => this.acceptChannelInput(text));
196
+ await this.settleStatus('stopped');
220
197
  }
221
- async acceptChannelInput(text) {
222
- return this.acceptInput(text);
198
+ /**
199
+ * Admit one already-rendered submission. The runtime holds no source ledger:
200
+ * the text is the complete model-facing message, and deduplication is Core's,
201
+ * ahead of this call.
202
+ */
203
+ submit(input) {
204
+ return this.trackAdmission(this.acceptInput(input.text));
223
205
  }
224
- async acceptInput(text, submitOptions) {
206
+ async acceptInput(text) {
225
207
  if (this.stopped)
226
208
  return { status: 'stopped' };
227
209
  const commandUuid = randomUUID();
@@ -260,7 +242,6 @@ export class ClaudeCodeRuntime {
260
242
  rejectSession,
261
243
  steerQueue: Promise.resolve(),
262
244
  generation: this.generation,
263
- ...(submitOptions !== undefined ? { submitOptions } : {}),
264
245
  };
265
246
  this.activeTurn = turn;
266
247
  void this.runActiveTurnOnQueue(text, turn).then(() => this.markTurnSucceeded(turn), (err) => this.markTurnFailed(turn, err));
@@ -278,18 +259,6 @@ export class ClaudeCodeRuntime {
278
259
  await Promise.allSettled([...this.pendingAdmissions]);
279
260
  }
280
261
  }
281
- waitIdle() {
282
- if (this.queuedTurnCount === 0)
283
- return Promise.resolve();
284
- // All concurrent waiters share one promise for the current busy period; it
285
- // is replaced with a fresh one the next time a turn is queued.
286
- if (this.idlePromise === null) {
287
- this.idlePromise = new Promise((resolve) => {
288
- this.idleResolve = resolve;
289
- });
290
- }
291
- return this.idlePromise;
292
- }
293
262
  runActiveTurnOnQueue(prompt, active) {
294
263
  const run = this.queue.then(() => this.runActiveTurn(prompt, active));
295
264
  this.queue = run.then(() => undefined, () => undefined);
@@ -300,7 +269,7 @@ export class ClaudeCodeRuntime {
300
269
  this.assertGeneration(active.generation);
301
270
  const session = await this.ensureSession();
302
271
  this.assertGeneration(active.generation);
303
- const outcome = session.submitTurn(prompt, active.submitOptions, active.initialCommandUuid);
272
+ const outcome = session.submitTurn(prompt, {}, active.initialCommandUuid);
304
273
  active.session = session;
305
274
  active.resolveSession(session);
306
275
  await outcome;
@@ -327,15 +296,15 @@ export class ClaudeCodeRuntime {
327
296
  await steer;
328
297
  this.assertGeneration(active.generation);
329
298
  }
330
- async markTurnSucceeded(turn) {
299
+ markTurnSucceeded(turn) {
331
300
  this.recordQueuedTurnEnd();
332
301
  this.stopUnsettled(turn);
333
302
  if (this.stopped)
334
303
  return;
335
304
  if (this.status !== 'ready')
336
- await this.setStatus('ready');
305
+ this.setStatus('ready');
337
306
  }
338
- async markTurnFailed(turn, err) {
307
+ markTurnFailed(turn, err) {
339
308
  this.recordQueuedTurnEnd();
340
309
  this.log('error', 'claude-code turn failed', err);
341
310
  turn.rejectSession(asError(err));
@@ -351,7 +320,7 @@ export class ClaudeCodeRuntime {
351
320
  if (this.stopped)
352
321
  return;
353
322
  // Surface the failure as durable runtime state rather than swallowing it.
354
- await this.setStatus('degraded', err);
323
+ this.setStatus('degraded', err);
355
324
  }
356
325
  stopUnsettled(turn) {
357
326
  for (const deferred of turn.submissions.values()) {
@@ -363,15 +332,6 @@ export class ClaudeCodeRuntime {
363
332
  }
364
333
  recordQueuedTurnEnd() {
365
334
  this.queuedTurnCount = Math.max(0, this.queuedTurnCount - 1);
366
- this.resolveIdleWaitersIfIdle();
367
- }
368
- resolveIdleWaitersIfIdle() {
369
- if (this.queuedTurnCount !== 0)
370
- return;
371
- const resolve = this.idleResolve;
372
- this.idlePromise = null;
373
- this.idleResolve = null;
374
- resolve?.();
375
335
  }
376
336
  /** Ensure a live resident session exists, resuming after a child exit. */
377
337
  async ensureSession() {
@@ -403,11 +363,6 @@ export class ClaudeCodeRuntime {
403
363
  const candidateSessionId = resuming
404
364
  ? this.threadId
405
365
  : (this.deps.generateSessionId?.() ?? randomUUID());
406
- const candidatePath = await this.resolveTranscriptPath({
407
- sessionId: candidateSessionId,
408
- locator: resuming ? this.transcriptLocator : null,
409
- resume: resuming,
410
- });
411
366
  const args = claudeCodeResidentArgs({
412
367
  config: this.config,
413
368
  mcpConfigJson: this.mcpConfigJson,
@@ -446,13 +401,14 @@ export class ClaudeCodeRuntime {
446
401
  this.assertGeneration(generation);
447
402
  await session.start();
448
403
  this.assertGeneration(generation);
449
- await this.deps.state.setCheckpoint({
450
- id: candidateSessionId,
451
- transcript_locator: candidatePath,
452
- });
404
+ // Publish resolves only after the durable write, so awaiting it here is
405
+ // what makes the session durable before start resolves.
406
+ await this.fence.publish(() => this.deps.state.publish({
407
+ kind: 'session',
408
+ session: { id: candidateSessionId },
409
+ }));
453
410
  this.assertGeneration(generation);
454
411
  this.threadId = candidateSessionId;
455
- this.transcriptLocator = candidatePath;
456
412
  this.resumeOnNextSpawn = true;
457
413
  }
458
414
  catch (error) {
@@ -470,16 +426,6 @@ export class ClaudeCodeRuntime {
470
426
  }
471
427
  return session;
472
428
  }
473
- resolveTranscriptPath(input) {
474
- return resolveRuntimeTranscriptPath({
475
- sessionId: input.sessionId,
476
- cwd: this.cwd,
477
- locator: input.locator,
478
- env: buildClaudeProcessEnv(this.deps.injectEnv, this.config.extra_env),
479
- resume: input.resume,
480
- override: this.deps.resolveTranscriptPath,
481
- });
482
- }
483
429
  /** React to an unexpected resident-child exit: degrade and drop the session. */
484
430
  async onSessionExit(session) {
485
431
  if (this.session !== session)
@@ -493,11 +439,11 @@ export class ClaudeCodeRuntime {
493
439
  this.session = null;
494
440
  }
495
441
  catch (error) {
496
- await this.setStatus('degraded', error);
442
+ this.setStatus('degraded', error);
497
443
  return;
498
444
  }
499
445
  if (!this.stopped) {
500
- await this.setStatus('degraded', new Error('claude resident child exited'));
446
+ this.setStatus('degraded', new Error('claude resident child exited'));
501
447
  }
502
448
  }
503
449
  onProtocolEvent(event) {
@@ -512,24 +458,87 @@ export class ClaudeCodeRuntime {
512
458
  });
513
459
  }
514
460
  assertGeneration(generation) {
515
- if (this.stopped || generation !== this.generation) {
461
+ if (this.stopped || this.fence.isFenced || generation !== this.generation) {
516
462
  throw new Error('claude-code runtime is stopped');
517
463
  }
518
464
  }
519
- async setStatus(status, err) {
520
- // The in-memory status is authoritative (getStatus reads it). Persisting it is
521
- // best-effort recovery state (#98): a write failure (e.g. the host state dir is
522
- // momentarily unavailable) must not crash the runtime or surface as an
523
- // unhandled rejection on the shared event loop (#85) — especially from the
524
- // fire-and-forget turn-failure / child-exit paths. Log and continue.
465
+ /**
466
+ * The fence's native teardown. Deliberately not `stop()`: `stop()` publishes
467
+ * `stopping`/`stopped` through the very sink that just proved unusable, so it
468
+ * would only produce a second failure. This closes the resident child and
469
+ * settles in-flight work, and nothing else.
470
+ *
471
+ * It runs synchronously up to its first await, so `stopped` and the bumped
472
+ * generation fence input immediately — a submit arriving after the fatal
473
+ * write is already refused.
474
+ */
475
+ async terminateForFence() {
476
+ this.stopped = true;
477
+ this.generation += 1;
478
+ const turn = this.activeTurn;
479
+ if (turn !== null)
480
+ this.stopUnsettled(turn);
481
+ const session = this.session;
482
+ if (session !== null) {
483
+ // The reference is dropped only once this child's own stop succeeded; a
484
+ // failure propagates to `RuntimeStateFence.terminated()` with the
485
+ // termination authority intact, and leaves the status alone so a later
486
+ // `stop()` cannot read 'stopped' off a child never proved dead.
487
+ await session.stop();
488
+ if (this.session === session)
489
+ this.session = null;
490
+ }
491
+ this.status = 'stopped';
492
+ }
493
+ async publishStatus(status, err) {
525
494
  this.status = status;
495
+ await this.fence.publish(() => this.deps.state.publish({
496
+ kind: 'status',
497
+ status,
498
+ ...(err !== undefined ? { lastError: errMessage(err) } : {}),
499
+ }));
500
+ }
501
+ /**
502
+ * Persist a status the caller's own outcome does not depend on, but whose
503
+ * ordering does: `stop` must not resolve before its terminal write lands,
504
+ * because Core keeps this generation's lease valid exactly until stop
505
+ * settles and a detached write would race the revocation that follows.
506
+ *
507
+ * The error is not rethrown. The fence has already made it terminal, and
508
+ * these callers report something else — whether the child terminated, or the
509
+ * original start failure — which a state-write failure does not change.
510
+ */
511
+ async settleStatus(status, err) {
526
512
  try {
527
- await this.deps.state.setStatus(status, err !== undefined ? { last_error: errMessage(err) } : {});
513
+ await this.publishStatus(status, err);
528
514
  }
529
- catch (persistErr) {
530
- this.log('warn', 'failed to persist runtime status', persistErr);
515
+ catch {
516
+ // Already logged and acted on by the fence.
531
517
  }
532
518
  }
519
+ /**
520
+ * Record a status on the background paths (turn failure, child exit).
521
+ *
522
+ * Core's durable state is the authority; this field is only the runtime's own
523
+ * lifecycle guard, and it is updated first so the guard stays correct even as
524
+ * the fence closes. The write itself is detached: it
525
+ * must not surface as an unhandled rejection on the shared event loop (#85),
526
+ * and a failure is already terminal through the fence, so there is nothing
527
+ * left for this caller to do about it. The start path awaits `publishStatus`
528
+ * instead, because the ready state must be durable before `start` resolves.
529
+ */
530
+ setStatus(status, err) {
531
+ // A fenced runtime is terminal: its status is owned by the teardown, and a
532
+ // late background transition must not reopen it.
533
+ if (this.fence.isFenced)
534
+ return;
535
+ this.status = status;
536
+ this.fence.publishDetached(() => this.deps.state.publish({
537
+ kind: 'status',
538
+ status,
539
+ ...(err !== undefined ? { lastError: errMessage(err) } : {}),
540
+ }));
541
+ }
533
542
  log(level, msg, err) {
534
543
  this.logger[level](err !== undefined ? { err } : {}, msg);
535
544
  }
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excitedjs/agent-runtime-claude-code",
3
- "version": "0.5.0",
3
+ "version": "0.6.0-alpha.gfd00db650f43",
4
4
  "description": "Built-in Claude Code Agent Runtime provider for Dreamux (alias builtin:claude-code). Implements the @excitedjs/dreamux-types AgentRuntimeProvider contract against a resident `claude` stream-json child; depends on @excitedjs/dreamux-types only, never on @excitedjs/dreamux core (issue excitedjs/dreamux#209).",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,8 +32,8 @@
32
32
  "LICENSE"
33
33
  ],
34
34
  "dependencies": {
35
- "@excitedjs/dreamux-types": "0.8.0",
36
- "@excitedjs/dreamux-utils": "0.4.0"
35
+ "@excitedjs/dreamux-types": "0.9.0-alpha.gfd00db650f43",
36
+ "@excitedjs/dreamux-utils": "0.5.0-alpha.gfd00db650f43"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^22.10.0",
@@ -1,6 +0,0 @@
1
- import type { RuntimeAdmission } from '@excitedjs/dreamux-types';
2
- export declare function asError(error: unknown): Error;
3
- /** Reserve one provider-private source until its native admission is known. */
4
- export declare function reserveSource(key: string | undefined, committed: Set<string>, committedOrder: string[], pending: Map<string, Promise<RuntimeAdmission>>, committedLimit: number, operation: () => Promise<RuntimeAdmission>): Promise<RuntimeAdmission>;
5
- export declare function classifySteerFailure(error: unknown, stopped: boolean): RuntimeAdmission;
6
- //# sourceMappingURL=source-reservation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-reservation.d.ts","sourceRoot":"","sources":["../src/source-reservation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAC/C,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GACzC,OAAO,CAAC,gBAAgB,CAAC,CAwB3B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GACf,gBAAgB,CASlB"}