@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.
- package/dist/activity/budget.d.ts +8 -0
- package/dist/activity/budget.d.ts.map +1 -0
- package/dist/activity/budget.js +9 -0
- package/dist/activity/budget.js.map +1 -0
- package/dist/{transcript → activity}/cursor.d.ts +2 -2
- package/dist/activity/cursor.d.ts.map +1 -0
- package/dist/{transcript → activity}/cursor.js +11 -11
- package/dist/activity/cursor.js.map +1 -0
- package/dist/activity/error.d.ts +16 -0
- package/dist/activity/error.d.ts.map +1 -0
- package/dist/activity/error.js +22 -0
- package/dist/activity/error.js.map +1 -0
- package/dist/activity/native-hash.d.ts.map +1 -0
- package/dist/activity/native-hash.js.map +1 -0
- package/dist/{transcript → activity}/opened-file.d.ts +3 -3
- package/dist/activity/opened-file.d.ts.map +1 -0
- package/dist/{transcript → activity}/opened-file.js +16 -16
- package/dist/activity/opened-file.js.map +1 -0
- package/dist/activity/parallel-tools.d.ts +6 -0
- package/dist/activity/parallel-tools.d.ts.map +1 -0
- package/dist/activity/parallel-tools.js.map +1 -0
- package/dist/activity/path.d.ts +25 -0
- package/dist/activity/path.d.ts.map +1 -0
- package/dist/{transcript → activity}/path.js +32 -32
- package/dist/activity/path.js.map +1 -0
- package/dist/activity/reader.d.ts +16 -0
- package/dist/activity/reader.d.ts.map +1 -0
- package/dist/{transcript → activity}/reader.js +120 -161
- package/dist/activity/reader.js.map +1 -0
- package/dist/activity/rewrites.d.ts.map +1 -0
- package/dist/activity/rewrites.js.map +1 -0
- package/dist/admission-classify.d.ts +7 -0
- package/dist/admission-classify.d.ts.map +1 -0
- package/dist/admission-classify.js +17 -0
- package/dist/admission-classify.js.map +1 -0
- package/dist/diagnostic.d.ts +2 -2
- package/dist/diagnostic.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-config.d.ts +1 -0
- package/dist/mcp-config.d.ts.map +1 -1
- package/dist/mcp-config.js +5 -0
- package/dist/mcp-config.js.map +1 -1
- package/dist/provider.d.ts +28 -40
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +32 -61
- package/dist/provider.js.map +1 -1
- package/dist/runtime-deps.d.ts +7 -11
- package/dist/runtime-deps.d.ts.map +1 -1
- package/dist/runtime-session.d.ts +0 -9
- package/dist/runtime-session.d.ts.map +1 -1
- package/dist/runtime-session.js +0 -14
- package/dist/runtime-session.js.map +1 -1
- package/dist/runtime-submissions.d.ts +3 -4
- package/dist/runtime-submissions.d.ts.map +1 -1
- package/dist/runtime-submissions.js +40 -8
- package/dist/runtime-submissions.js.map +1 -1
- package/dist/runtime.d.ts +67 -34
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +175 -166
- package/dist/runtime.js.map +1 -1
- package/package.json +3 -3
- package/dist/source-reservation.d.ts +0 -6
- package/dist/source-reservation.d.ts.map +0 -1
- package/dist/source-reservation.js +0 -48
- package/dist/source-reservation.js.map +0 -1
- package/dist/transcript/budget.d.ts +0 -8
- package/dist/transcript/budget.d.ts.map +0 -1
- package/dist/transcript/budget.js +0 -9
- package/dist/transcript/budget.js.map +0 -1
- package/dist/transcript/completion.d.ts +0 -8
- package/dist/transcript/completion.d.ts.map +0 -1
- package/dist/transcript/completion.js +0 -57
- package/dist/transcript/completion.js.map +0 -1
- package/dist/transcript/cursor.d.ts.map +0 -1
- package/dist/transcript/cursor.js.map +0 -1
- package/dist/transcript/error.d.ts +0 -9
- package/dist/transcript/error.d.ts.map +0 -1
- package/dist/transcript/error.js +0 -9
- package/dist/transcript/error.js.map +0 -1
- package/dist/transcript/native-hash.d.ts.map +0 -1
- package/dist/transcript/native-hash.js.map +0 -1
- package/dist/transcript/opened-file.d.ts.map +0 -1
- package/dist/transcript/opened-file.js.map +0 -1
- package/dist/transcript/parallel-tools.d.ts +0 -6
- package/dist/transcript/parallel-tools.d.ts.map +0 -1
- package/dist/transcript/parallel-tools.js.map +0 -1
- package/dist/transcript/path.d.ts +0 -25
- package/dist/transcript/path.d.ts.map +0 -1
- package/dist/transcript/path.js.map +0 -1
- package/dist/transcript/reader.d.ts +0 -7
- package/dist/transcript/reader.d.ts.map +0 -1
- package/dist/transcript/reader.js.map +0 -1
- package/dist/transcript/rewrites.d.ts.map +0 -1
- package/dist/transcript/rewrites.js.map +0 -1
- /package/dist/{transcript → activity}/native-hash.d.ts +0 -0
- /package/dist/{transcript → activity}/native-hash.js +0 -0
- /package/dist/{transcript → activity}/parallel-tools.js +0 -0
- /package/dist/{transcript → activity}/rewrites.d.ts +0 -0
- /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
|
|
15
|
-
import { buildClaudeProcessEnv
|
|
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
|
-
* `
|
|
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
|
|
63
|
-
this.dispatcherId = identity.
|
|
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 `
|
|
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 =
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
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.
|
|
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.
|
|
111
|
+
await this.settleStatus('degraded', err);
|
|
135
112
|
}
|
|
136
113
|
throw err;
|
|
137
114
|
}
|
|
138
|
-
|
|
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
|
-
|
|
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
|
|
160
|
+
await this.fence.terminated();
|
|
154
161
|
}
|
|
155
162
|
catch (error) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
222
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
305
|
+
this.setStatus('ready');
|
|
337
306
|
}
|
|
338
|
-
|
|
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
|
-
|
|
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
|
-
|
|
450
|
-
|
|
451
|
-
|
|
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
|
-
|
|
442
|
+
this.setStatus('degraded', error);
|
|
497
443
|
return;
|
|
498
444
|
}
|
|
499
445
|
if (!this.stopped) {
|
|
500
|
-
|
|
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
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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.
|
|
513
|
+
await this.publishStatus(status, err);
|
|
528
514
|
}
|
|
529
|
-
catch
|
|
530
|
-
|
|
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
|
}
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@excitedjs/agent-runtime-claude-code",
|
|
3
|
-
"version": "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.
|
|
36
|
-
"@excitedjs/dreamux-utils": "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"}
|