@excitedjs/agent-runtime-claude-code 0.5.0 → 0.6.0-alpha.g7bf178cf6e11
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 +26 -38
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +33 -61
- package/dist/provider.js.map +1 -1
- package/dist/runtime-deps.d.ts +8 -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 +19 -4
- package/dist/runtime-submissions.d.ts.map +1 -1
- package/dist/runtime-submissions.js +60 -8
- package/dist/runtime-submissions.js.map +1 -1
- package/dist/runtime.d.ts +67 -33
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +197 -170
- 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
|
@@ -1,38 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { hasAssistantWithoutHumanBoundary, hasCompletionEvidence, hasOpenTail, isHumanPrompt, } from './completion.js';
|
|
1
|
+
import { readBytesAt } from '@excitedjs/dreamux-utils';
|
|
3
2
|
import { claudeQueryFingerprint, decodeClaudeCursor, digest, encodeClaudeCursor, } from './cursor.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { ClaudeActivityError } from './error.js';
|
|
4
|
+
import { openClaudeRollout, validateClaudeSessionEvidence, } from './opened-file.js';
|
|
6
5
|
import { recoverParallelToolBranches } from './parallel-tools.js';
|
|
7
|
-
import {
|
|
6
|
+
import { locateClaudeHistory } from './path.js';
|
|
8
7
|
import { applyNativeRewrites } from './rewrites.js';
|
|
8
|
+
/** Native read bounds. The provider enforces these and reports truncation. */
|
|
9
9
|
const MAX_DECODED_BYTES = 8_388_608;
|
|
10
10
|
const MAX_NATIVE_RECORDS = 20_000;
|
|
11
11
|
const MAX_ELAPSED_MS = 2_000;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
/** Page-size bounds. Core validates the returned page independently. */
|
|
13
|
+
const DEFAULT_RECORD_LIMIT = 50;
|
|
14
|
+
const MAX_RECORD_LIMIT = 200;
|
|
15
|
+
/**
|
|
16
|
+
* Read the recent tail of one Claude Code session's activity.
|
|
17
|
+
*
|
|
18
|
+
* The read works against an actively growing session and against the same
|
|
19
|
+
* session after its live runtime has closed: it discovers the native history
|
|
20
|
+
* from the session id and cwd alone, and never depends on a persisted native
|
|
21
|
+
* path. Projection is flat, so records appear without waiting for a turn to
|
|
22
|
+
* complete.
|
|
23
|
+
*/
|
|
24
|
+
export async function readClaudeRecentActivity(query, context, testHooks = {}) {
|
|
25
|
+
const limit = resolveLimit(query.limit);
|
|
26
|
+
const sessionId = query.sessionId;
|
|
20
27
|
const includeTools = query.includeTools ?? true;
|
|
21
28
|
const env = effectiveEnvironment(context);
|
|
22
|
-
const located = await
|
|
23
|
-
sessionId
|
|
29
|
+
const located = await locateClaudeHistory({
|
|
30
|
+
sessionId,
|
|
24
31
|
cwd: context.cwd,
|
|
25
|
-
locator:
|
|
32
|
+
locator: null,
|
|
26
33
|
env,
|
|
27
34
|
});
|
|
28
35
|
await testHooks.afterLocate?.();
|
|
29
|
-
const opened = await
|
|
36
|
+
const opened = await openClaudeRollout(located.path, located.root);
|
|
30
37
|
if (opened.dev !== located.dev || opened.ino !== located.ino) {
|
|
31
38
|
await opened.handle.close();
|
|
32
|
-
throw new
|
|
39
|
+
throw new ClaudeActivityError('unreadable', 'Claude Code activity source changed after validation');
|
|
33
40
|
}
|
|
34
41
|
try {
|
|
35
|
-
await validateClaudeSessionEvidence(opened,
|
|
42
|
+
await validateClaudeSessionEvidence(opened, sessionId, {
|
|
36
43
|
...(testHooks.maxReadChunkBytes !== undefined
|
|
37
44
|
? { maxReadChunkBytes: testHooks.maxReadChunkBytes }
|
|
38
45
|
: {}),
|
|
@@ -47,32 +54,17 @@ export async function readClaudeTranscript(query, context, testHooks = {}) {
|
|
|
47
54
|
await verifyCursorBoundaryDigest(opened, cursor.pos, cursor.bd, testHooks.maxReadChunkBytes);
|
|
48
55
|
}
|
|
49
56
|
const window = await readWindow(opened, endOffset, testHooks.maxReadChunkBytes);
|
|
50
|
-
const parsed = parseEntries(window.bytes, window.startOffset,
|
|
57
|
+
const parsed = parseEntries(window.bytes, window.startOffset, sessionId);
|
|
51
58
|
const logical = applyNativeRewrites(parsed.entries);
|
|
52
59
|
const chain = recoverParallelToolBranches(logical, buildSelectedChain(logical));
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
hasCompletionEvidence(chain) &&
|
|
62
|
-
hasAssistantWithoutHumanBoundary(chain)) {
|
|
63
|
-
throw new ClaudeTranscriptError('scan_unsupported', 'Claude Code completed turn exceeds the bounded scan limit');
|
|
64
|
-
}
|
|
65
|
-
const budgeted = budgetTranscriptTurns(candidates.map((candidate) => candidate.turn), context.outputBudgetBytes);
|
|
66
|
-
const consumed = candidates.slice(0, budgeted.consumed);
|
|
67
|
-
const hasOlder = !openTailOnly &&
|
|
68
|
-
(consumed.at(-1)?.start ?? endOffset) > 0 &&
|
|
69
|
-
(nativeTurns.length > consumed.length || parsed.boundReached);
|
|
70
|
-
const boundary = consumed.at(-1) ??
|
|
71
|
-
(hasOlder && candidates.length === 0 ? parsed.oldestProcessed : null);
|
|
72
|
-
if (boundary !== null &&
|
|
73
|
-
cursor !== null &&
|
|
74
|
-
boundary.start >= cursor.pos) {
|
|
75
|
-
throw new ClaudeTranscriptError('scan_unsupported', 'Claude Code transcript pagination cannot make safe progress');
|
|
60
|
+
const projected = projectActivity(chain, includeTools);
|
|
61
|
+
const consumed = projected.slice(-limit);
|
|
62
|
+
const anchor = consumed.at(0) ?? null;
|
|
63
|
+
const hasOlder = (anchor?.start ?? endOffset) > 0 &&
|
|
64
|
+
(projected.length > consumed.length || parsed.boundReached);
|
|
65
|
+
const boundary = anchor ?? (hasOlder ? parsed.oldestProcessed : null);
|
|
66
|
+
if (boundary !== null && cursor !== null && boundary.start >= cursor.pos) {
|
|
67
|
+
throw new ClaudeActivityError('scan_unsupported', 'Claude Code activity pagination cannot make safe progress');
|
|
76
68
|
}
|
|
77
69
|
const nextCursor = boundary !== null && hasOlder
|
|
78
70
|
? encodeClaudeCursor({
|
|
@@ -86,21 +78,29 @@ export async function readClaudeTranscript(query, context, testHooks = {}) {
|
|
|
86
78
|
rewritePosition: rewriteEvidence.position,
|
|
87
79
|
rewriteDigest: rewriteEvidence.digest,
|
|
88
80
|
})
|
|
89
|
-
:
|
|
81
|
+
: undefined;
|
|
90
82
|
return {
|
|
91
|
-
|
|
92
|
-
nextCursor,
|
|
93
|
-
truncated:
|
|
83
|
+
records: consumed.map((entry) => entry.record),
|
|
84
|
+
...(nextCursor !== undefined ? { nextCursor } : {}),
|
|
85
|
+
truncated: parsed.boundReached && projected.length < limit,
|
|
94
86
|
};
|
|
95
87
|
}
|
|
96
88
|
finally {
|
|
97
89
|
await opened.handle.close();
|
|
98
90
|
}
|
|
99
91
|
}
|
|
92
|
+
function resolveLimit(limit) {
|
|
93
|
+
if (limit === undefined)
|
|
94
|
+
return DEFAULT_RECORD_LIMIT;
|
|
95
|
+
if (!Number.isInteger(limit) || limit < 1 || limit > MAX_RECORD_LIMIT) {
|
|
96
|
+
throw new ClaudeActivityError('invalid', `Claude Code activity limit must be an integer in 1..${MAX_RECORD_LIMIT}`);
|
|
97
|
+
}
|
|
98
|
+
return limit;
|
|
99
|
+
}
|
|
100
100
|
async function readWindow(opened, endOffset, maxReadChunkBytes) {
|
|
101
101
|
const startOffset = Math.max(0, endOffset - MAX_DECODED_BYTES);
|
|
102
102
|
const length = endOffset - startOffset;
|
|
103
|
-
const bytes = await
|
|
103
|
+
const bytes = await readBytesAt(opened.handle, startOffset, length, {
|
|
104
104
|
...(maxReadChunkBytes !== undefined
|
|
105
105
|
? { maxChunkBytes: maxReadChunkBytes }
|
|
106
106
|
: {}),
|
|
@@ -125,17 +125,17 @@ function parseEntries(bytes, baseOffset, sessionId) {
|
|
|
125
125
|
const raw = bytes.subarray(lineStart, rawEnd).toString('utf8');
|
|
126
126
|
const value = parseRecord(raw);
|
|
127
127
|
if (value === null && raw.trim() !== '') {
|
|
128
|
-
throw new
|
|
128
|
+
throw new ClaudeActivityError('invalid', 'Claude Code activity contains an unreadable record');
|
|
129
129
|
}
|
|
130
130
|
if (value !== null) {
|
|
131
131
|
const nativeSessionId = stringValue(value['sessionId']);
|
|
132
132
|
if (nativeSessionId !== null) {
|
|
133
133
|
if (sessionId !== null && nativeSessionId !== sessionId) {
|
|
134
|
-
throw new
|
|
134
|
+
throw new ClaudeActivityError('session_mismatch', 'Claude Code activity does not belong to the selected session');
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
if (isProjectableRecord(value) && nativeSessionId === null) {
|
|
138
|
-
throw new
|
|
138
|
+
throw new ClaudeActivityError('invalid', 'Claude Code activity record has no native session id');
|
|
139
139
|
}
|
|
140
140
|
entriesNewestFirst.push({
|
|
141
141
|
start: baseOffset + lineStart,
|
|
@@ -194,60 +194,35 @@ function buildSelectedChain(entries) {
|
|
|
194
194
|
}
|
|
195
195
|
return chain.reverse();
|
|
196
196
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
commitCurrentTurn(turns, current, includeTools);
|
|
210
|
-
return turns;
|
|
211
|
-
}
|
|
212
|
-
function commitCurrentTurn(turns, entries, includeTools) {
|
|
213
|
-
if (entries.length === 0 ||
|
|
214
|
-
!hasCompletionEvidence(entries)) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
const blocks = [];
|
|
197
|
+
/**
|
|
198
|
+
* Project the selected native chain into chronological neutral records.
|
|
199
|
+
*
|
|
200
|
+
* Deliberately flat: no turn grouping and no completion-marker gate, so an
|
|
201
|
+
* in-progress turn yields records immediately. Only assistant text and tool
|
|
202
|
+
* name/status cross the seam — never tool inputs, tool results, or human
|
|
203
|
+
* prompts.
|
|
204
|
+
*/
|
|
205
|
+
function projectActivity(chain, includeTools) {
|
|
206
|
+
const records = [];
|
|
218
207
|
const tools = new Map();
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
for (const entry of entries) {
|
|
222
|
-
const timestamp = timestampMs(entry.value['timestamp']);
|
|
223
|
-
startedAt ??= timestamp;
|
|
224
|
-
endedAt = timestamp ?? endedAt;
|
|
208
|
+
for (const entry of chain) {
|
|
209
|
+
const occurredAt = timestampIso(entry.value['timestamp']);
|
|
225
210
|
const type = entry.value['type'];
|
|
226
211
|
const message = recordValue(entry.value['message']);
|
|
227
212
|
const content = message?.['content'];
|
|
228
|
-
if (type === '
|
|
229
|
-
const text = visibleText(content, 'text');
|
|
230
|
-
if (text !== '') {
|
|
231
|
-
blocks.push({
|
|
232
|
-
kind: 'message',
|
|
233
|
-
role: 'user',
|
|
234
|
-
text,
|
|
235
|
-
truncated: false,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
else if (type === 'assistant') {
|
|
213
|
+
if (type === 'assistant') {
|
|
240
214
|
if (!Array.isArray(content))
|
|
241
215
|
continue;
|
|
242
216
|
const text = visibleText(content, 'text');
|
|
243
217
|
if (text !== '') {
|
|
244
|
-
|
|
245
|
-
kind: '
|
|
246
|
-
role: 'assistant',
|
|
218
|
+
records.push(positioned(entry, {
|
|
219
|
+
kind: 'assistant_message',
|
|
247
220
|
text,
|
|
248
|
-
|
|
249
|
-
});
|
|
221
|
+
...(occurredAt !== null ? { occurredAt } : {}),
|
|
222
|
+
}));
|
|
250
223
|
}
|
|
224
|
+
if (!includeTools)
|
|
225
|
+
continue;
|
|
251
226
|
for (const nativeBlock of content) {
|
|
252
227
|
const block = recordValue(nativeBlock);
|
|
253
228
|
if (block?.['type'] !== 'tool_use')
|
|
@@ -256,73 +231,67 @@ function commitCurrentTurn(turns, entries, includeTools) {
|
|
|
256
231
|
const name = stringValue(block['name']);
|
|
257
232
|
if (id === null || name === null)
|
|
258
233
|
continue;
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
index: publicIndex,
|
|
234
|
+
const record = positioned(entry, {
|
|
235
|
+
kind: 'tool',
|
|
262
236
|
name,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
status: 'error',
|
|
237
|
+
status: 'started',
|
|
238
|
+
...(occurredAt !== null ? { occurredAt } : {}),
|
|
266
239
|
});
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
kind: 'tool',
|
|
270
|
-
name,
|
|
271
|
-
input: renderTranscriptValue(block['input']),
|
|
272
|
-
output: null,
|
|
273
|
-
status: 'error',
|
|
274
|
-
inputTruncated: false,
|
|
275
|
-
outputTruncated: false,
|
|
276
|
-
});
|
|
277
|
-
}
|
|
240
|
+
tools.set(id, record);
|
|
241
|
+
records.push(record);
|
|
278
242
|
}
|
|
243
|
+
continue;
|
|
279
244
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
245
|
+
if (type !== 'user' || !Array.isArray(content) || !includeTools)
|
|
246
|
+
continue;
|
|
247
|
+
for (const nativeBlock of content) {
|
|
248
|
+
const block = recordValue(nativeBlock);
|
|
249
|
+
if (block?.['type'] !== 'tool_result')
|
|
250
|
+
continue;
|
|
251
|
+
const toolUseId = stringValue(block['tool_use_id']);
|
|
252
|
+
if (toolUseId === null)
|
|
253
|
+
continue;
|
|
254
|
+
const tool = tools.get(toolUseId);
|
|
255
|
+
// A result whose call fell outside this window has no record to settle;
|
|
256
|
+
// the call keeps its own 'started' record on the page that holds it.
|
|
257
|
+
if (tool === undefined || tool.record.kind !== 'tool')
|
|
258
|
+
continue;
|
|
259
|
+
tool.record = {
|
|
260
|
+
kind: 'tool',
|
|
261
|
+
name: tool.record.name,
|
|
262
|
+
status: block['is_error'] === true ? 'failed' : 'completed',
|
|
263
|
+
...(tool.record.occurredAt !== undefined
|
|
264
|
+
? { occurredAt: tool.record.occurredAt }
|
|
265
|
+
: {}),
|
|
266
|
+
};
|
|
301
267
|
}
|
|
302
268
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
269
|
+
return records;
|
|
270
|
+
}
|
|
271
|
+
function positioned(entry, record) {
|
|
272
|
+
return {
|
|
273
|
+
start: entry.start,
|
|
274
|
+
boundaryDigest: digest(entry.boundaryBytes),
|
|
275
|
+
record,
|
|
276
|
+
};
|
|
308
277
|
}
|
|
309
278
|
async function verifyCursorBoundaryDigest(opened, position, expected, maxReadChunkBytes) {
|
|
310
279
|
const length = Math.min(MAX_DECODED_BYTES, Math.max(0, opened.size - position));
|
|
311
|
-
const bytes = await
|
|
280
|
+
const bytes = await readBytesAt(opened.handle, position, length, {
|
|
312
281
|
...(maxReadChunkBytes !== undefined
|
|
313
282
|
? { maxChunkBytes: maxReadChunkBytes }
|
|
314
283
|
: {}),
|
|
315
284
|
});
|
|
316
285
|
const newline = bytes.indexOf(0x0a, 0);
|
|
317
286
|
if (bytes.length === 0) {
|
|
318
|
-
throw new
|
|
287
|
+
throw new ClaudeActivityError('cursor_stale', 'Claude Code activity cursor is no longer valid');
|
|
319
288
|
}
|
|
320
289
|
if (newline < 0) {
|
|
321
|
-
throw new
|
|
290
|
+
throw new ClaudeActivityError('scan_unsupported', 'Claude Code activity cursor boundary exceeds the bounded limit');
|
|
322
291
|
}
|
|
323
292
|
const boundaryBytes = bytes.subarray(0, newline + 1);
|
|
324
293
|
if (digest(boundaryBytes) !== expected) {
|
|
325
|
-
throw new
|
|
294
|
+
throw new ClaudeActivityError('cursor_stale', 'Claude Code activity cursor is no longer valid');
|
|
326
295
|
}
|
|
327
296
|
}
|
|
328
297
|
function isConversationParticipant(value) {
|
|
@@ -350,17 +319,17 @@ async function verifyRewriteEvidence(opened, cursor, maxReadChunkBytes) {
|
|
|
350
319
|
position: cursor.rp,
|
|
351
320
|
digest: cursor.rd,
|
|
352
321
|
})) {
|
|
353
|
-
throw new
|
|
322
|
+
throw new ClaudeActivityError('cursor_stale', 'Claude Code activity cursor is no longer valid');
|
|
354
323
|
}
|
|
355
324
|
if (cursor.rw > opened.size) {
|
|
356
|
-
throw new
|
|
325
|
+
throw new ClaudeActivityError('cursor_stale', 'Claude Code activity cursor is no longer valid');
|
|
357
326
|
}
|
|
358
327
|
if (cursor.rp !== null && cursor.rd !== null) {
|
|
359
328
|
await verifyCursorBoundaryDigest(opened, cursor.rp, cursor.rd, maxReadChunkBytes);
|
|
360
329
|
}
|
|
361
330
|
const appended = await scanRewriteEvidence(opened, cursor.rw, opened.size, true, maxReadChunkBytes);
|
|
362
331
|
if (appended.position !== null) {
|
|
363
|
-
throw new
|
|
332
|
+
throw new ClaudeActivityError('cursor_stale', 'Claude Code activity cursor is no longer valid');
|
|
364
333
|
}
|
|
365
334
|
return {
|
|
366
335
|
watermark: appended.watermark,
|
|
@@ -371,9 +340,9 @@ async function verifyRewriteEvidence(opened, cursor, maxReadChunkBytes) {
|
|
|
371
340
|
async function scanRewriteEvidence(opened, start, end, startsAtBoundary, maxReadChunkBytes) {
|
|
372
341
|
const length = end - start;
|
|
373
342
|
if (length > MAX_DECODED_BYTES) {
|
|
374
|
-
throw new
|
|
343
|
+
throw new ClaudeActivityError('scan_unsupported', 'Claude Code activity interval exceeds the bounded limit');
|
|
375
344
|
}
|
|
376
|
-
const data = await
|
|
345
|
+
const data = await readBytesAt(opened.handle, start, length, {
|
|
377
346
|
...(maxReadChunkBytes !== undefined
|
|
378
347
|
? { maxChunkBytes: maxReadChunkBytes }
|
|
379
348
|
: {}),
|
|
@@ -384,7 +353,7 @@ async function scanRewriteEvidence(opened, start, end, startsAtBoundary, maxRead
|
|
|
384
353
|
? 0
|
|
385
354
|
: data.indexOf(0x0a) + 1;
|
|
386
355
|
if (cursor === 0 && !startsAtBoundary && data.length > 0) {
|
|
387
|
-
throw new
|
|
356
|
+
throw new ClaudeActivityError('scan_unsupported', 'Claude Code activity cannot find a bounded record boundary');
|
|
388
357
|
}
|
|
389
358
|
while (cursor < data.length) {
|
|
390
359
|
const newline = data.indexOf(0x0a, cursor);
|
|
@@ -393,7 +362,7 @@ async function scanRewriteEvidence(opened, start, end, startsAtBoundary, maxRead
|
|
|
393
362
|
const raw = data.subarray(cursor, newline).toString('utf8');
|
|
394
363
|
const value = parseRecord(raw);
|
|
395
364
|
if (value === null && raw.trim() !== '') {
|
|
396
|
-
throw new
|
|
365
|
+
throw new ClaudeActivityError('invalid', 'Claude Code activity contains an unreadable record');
|
|
397
366
|
}
|
|
398
367
|
if (value !== null && isRewriteRecord(value)) {
|
|
399
368
|
position = start + cursor;
|
|
@@ -434,16 +403,6 @@ function visibleText(value, type) {
|
|
|
434
403
|
})
|
|
435
404
|
.join('');
|
|
436
405
|
}
|
|
437
|
-
function renderToolResult(value) {
|
|
438
|
-
if (typeof value === 'string')
|
|
439
|
-
return value;
|
|
440
|
-
if (Array.isArray(value)) {
|
|
441
|
-
const text = visibleText(value, 'text');
|
|
442
|
-
if (text !== '')
|
|
443
|
-
return text;
|
|
444
|
-
}
|
|
445
|
-
return renderTranscriptValue(value);
|
|
446
|
-
}
|
|
447
406
|
function parseRecord(raw) {
|
|
448
407
|
try {
|
|
449
408
|
return recordValue(JSON.parse(raw));
|
|
@@ -459,11 +418,11 @@ function effectiveEnvironment(context) {
|
|
|
459
418
|
...context.config.extra_env,
|
|
460
419
|
};
|
|
461
420
|
}
|
|
462
|
-
function
|
|
421
|
+
function timestampIso(value) {
|
|
463
422
|
if (typeof value !== 'string')
|
|
464
423
|
return null;
|
|
465
424
|
const parsed = Date.parse(value);
|
|
466
|
-
return Number.isNaN(parsed) ? null : parsed;
|
|
425
|
+
return Number.isNaN(parsed) ? null : new Date(parsed).toISOString();
|
|
467
426
|
}
|
|
468
427
|
function recordValue(value) {
|
|
469
428
|
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/activity/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrites.d.ts","sourceRoot":"","sources":["../../src/activity/rewrites.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,kBAAkB,EACnE,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,EAAE,CAqDV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrites.js","sourceRoot":"","sources":["../../src/activity/rewrites.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native admission classification for the Claude Code stream-json child.
|
|
3
|
+
*/
|
|
4
|
+
import type { RuntimeAdmission } from '@excitedjs/dreamux-types';
|
|
5
|
+
export declare function asError(error: unknown): Error;
|
|
6
|
+
export declare function classifySteerFailure(error: unknown, stopped: boolean): RuntimeAdmission;
|
|
7
|
+
//# sourceMappingURL=admission-classify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission-classify.d.ts","sourceRoot":"","sources":["../src/admission-classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GACf,gBAAgB,CASlB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ClaudeSteerAdmissionError } from './rpc.js';
|
|
2
|
+
export function asError(error) {
|
|
3
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
4
|
+
}
|
|
5
|
+
export function classifySteerFailure(error, stopped) {
|
|
6
|
+
if (error instanceof ClaudeSteerAdmissionError) {
|
|
7
|
+
if (error.admission === 'ambiguous') {
|
|
8
|
+
return { status: 'ambiguous', error };
|
|
9
|
+
}
|
|
10
|
+
if (!stopped)
|
|
11
|
+
return { status: 'failed', error };
|
|
12
|
+
}
|
|
13
|
+
if (stopped)
|
|
14
|
+
return { status: 'stopped' };
|
|
15
|
+
return { status: 'ambiguous', error: asError(error) };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=admission-classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission-classify.js","sourceRoot":"","sources":["../src/admission-classify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,OAAgB;IAEhB,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/diagnostic.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* only declares its bin check; the internal diagnostic is a neutral pass. Runs
|
|
7
7
|
* entirely against the neutral `@excitedjs/dreamux-types` diagnostic context.
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { AgentRuntimeDiagnosticCapability } from '@excitedjs/dreamux-types';
|
|
10
10
|
import { type DispatcherClaudeCodeConfig } from './config.js';
|
|
11
|
-
export declare const claudeCodeAgentRuntimeDiagnostic:
|
|
11
|
+
export declare const claudeCodeAgentRuntimeDiagnostic: AgentRuntimeDiagnosticCapability<DispatcherClaudeCodeConfig>;
|
|
12
12
|
//# sourceMappingURL=diagnostic.d.ts.map
|
package/dist/diagnostic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAEV,gCAAgC,EAGjC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,aAAa,CAAC;AAWrB,eAAO,MAAM,gCAAgC,EAAE,gCAAgC,CAAC,0BAA0B,CAkBvG,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* `@excitedjs/dreamux-types` `AgentRuntimeProvider` contract; never imports
|
|
5
5
|
* `@excitedjs/dreamux` core.
|
|
6
6
|
*/
|
|
7
|
-
export { default, createClaudeCodeAgentRuntimeProvider, dispatcherClaudeCodeConfig, CLAUDE_CODE_AGENT_RUNTIME_CAPABILITIES, type ClaudeCodeAgentRuntimeProviderOptions,
|
|
8
|
-
export { ClaudeCodeRuntime, } from './runtime.js';
|
|
7
|
+
export { default, createClaudeCodeAgentRuntimeProvider, dispatcherClaudeCodeConfig, CLAUDE_CODE_AGENT_RUNTIME_CAPABILITIES, type ClaudeCodeAgentRuntimeProviderOptions, } from './provider.js';
|
|
9
8
|
export type { ClaudeCodeRuntimeDeps } from './runtime-deps.js';
|
|
10
9
|
export { createDefaultClaudeCodeSession, type ClaudeCodeSession, type ClaudeCodeSessionFactory, type ClaudeCodeSessionSpec, type TurnOutcome, type TurnSubmitOptions, } from './supervisor.js';
|
|
11
10
|
export { ClaudeCodeStreamRpc, type ClaudeCodeStreamRpcOptions, } from './rpc.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,oCAAoC,EACpC,0BAA0B,EAC1B,sCAAsC,EACtC,KAAK,qCAAqC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,oCAAoC,EACpC,0BAA0B,EAC1B,sCAAsC,EACtC,KAAK,qCAAqC,GAC3C,MAAM,eAAe,CAAC;AAMvB,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,2BAA2B,GACjC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,EACvB,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* `@excitedjs/dreamux` core.
|
|
6
6
|
*/
|
|
7
7
|
export { default, createClaudeCodeAgentRuntimeProvider, dispatcherClaudeCodeConfig, CLAUDE_CODE_AGENT_RUNTIME_CAPABILITIES, } from './provider.js';
|
|
8
|
-
export { ClaudeCodeRuntime, } from './runtime.js';
|
|
9
8
|
export { createDefaultClaudeCodeSession, } from './supervisor.js';
|
|
10
9
|
export { ClaudeCodeStreamRpc, } from './rpc.js';
|
|
11
10
|
export { LineBuffer, TurnAggregator, assistantText, parseLine, buildUserMessage, buildRemoteControlEnable, buildCanUseToolAllow, buildControlAck, } from './stream.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,oCAAoC,EACpC,0BAA0B,EAC1B,sCAAsC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,oCAAoC,EACpC,0BAA0B,EAC1B,sCAAsC,GAEvC,MAAM,eAAe,CAAC;AAQvB,OAAO,EACL,8BAA8B,GAM/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,GAEpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAE7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAE1B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEL,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,EACvB,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAErE,qFAAqF;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/mcp-config.d.ts
CHANGED
package/dist/mcp-config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAClE,CAAC;CACH;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,mBAAmB,CAcrB;AAED,+DAA+D;AAC/D,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,MAAM,CAER"}
|
package/dist/mcp-config.js
CHANGED
|
@@ -11,6 +11,11 @@ export function claudeCodeMcpConfig(servers) {
|
|
|
11
11
|
mcpServers[server.name] = {
|
|
12
12
|
command: server.command,
|
|
13
13
|
args: [...server.args],
|
|
14
|
+
// Carried, never dropped: a descriptor's `env` holds what its server needs
|
|
15
|
+
// to start. It is not kept secret by being here — this document is passed
|
|
16
|
+
// inline on Claude Code's own command line — so the host does not treat
|
|
17
|
+
// `env` as a secrecy boundary.
|
|
18
|
+
...(server.env !== undefined ? { env: { ...server.env } } : {}),
|
|
14
19
|
};
|
|
15
20
|
}
|
|
16
21
|
return { mcpServers };
|
package/dist/mcp-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CACjC,OAAyC;IAEzC,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YACxB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,+BAA+B;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,4BAA4B,CAC1C,OAAyC;IAEzC,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
|