@excitedjs/agent-runtime-claude-code 0.7.1-beta.259 → 0.8.0-alpha.ga2008bd00cc4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -10
- package/dist/activity/cursor.d.ts +0 -1
- package/dist/activity/cursor.d.ts.map +1 -1
- package/dist/activity/cursor.js +5 -10
- package/dist/activity/cursor.js.map +1 -1
- package/dist/activity/native-hash.js +1 -3
- package/dist/activity/native-hash.js.map +1 -1
- package/dist/activity/opened-file.d.ts +1 -3
- package/dist/activity/opened-file.d.ts.map +1 -1
- package/dist/activity/opened-file.js +17 -20
- package/dist/activity/opened-file.js.map +1 -1
- package/dist/activity/parallel-tools.js.map +1 -1
- package/dist/activity/path.d.ts +8 -2
- package/dist/activity/path.d.ts.map +1 -1
- package/dist/activity/path.js +36 -36
- package/dist/activity/path.js.map +1 -1
- package/dist/activity/reader.d.ts +1 -4
- package/dist/activity/reader.d.ts.map +1 -1
- package/dist/activity/reader.js +38 -67
- package/dist/activity/reader.js.map +1 -1
- package/dist/activity/rewrites.d.ts.map +1 -1
- package/dist/activity/rewrites.js +1 -3
- package/dist/activity/rewrites.js.map +1 -1
- package/dist/args.d.ts +3 -3
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js.map +1 -1
- package/dist/config.d.ts +9 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -26
- package/dist/config.js.map +1 -1
- package/dist/control-rpc.d.ts +2 -2
- package/dist/control-rpc.d.ts.map +1 -1
- package/dist/control-rpc.js.map +1 -1
- package/dist/index.d.ts +8 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -12
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +14 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +38 -0
- package/dist/paths.js.map +1 -0
- package/dist/plugin.d.ts +16 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +11 -0
- package/dist/plugin.js.map +1 -0
- package/dist/provider.d.ts +7 -24
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +8 -31
- package/dist/provider.js.map +1 -1
- package/dist/rpc.d.ts +16 -9
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +87 -95
- package/dist/rpc.js.map +1 -1
- package/dist/runtime-activity.d.ts +0 -1
- package/dist/runtime-activity.d.ts.map +1 -1
- package/dist/runtime-activity.js +53 -55
- package/dist/runtime-activity.js.map +1 -1
- package/dist/runtime-deps.d.ts +4 -5
- package/dist/runtime-deps.d.ts.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +26 -15
- package/dist/runtime.js.map +1 -1
- package/dist/skill-materializer.d.ts.map +1 -1
- package/dist/skill-materializer.js +1 -1
- package/dist/skill-materializer.js.map +1 -1
- package/dist/stream.d.ts +2 -9
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +12 -17
- package/dist/stream.js.map +1 -1
- package/dist/supervisor.d.ts.map +1 -1
- package/dist/supervisor.js +10 -5
- package/dist/supervisor.js.map +1 -1
- package/dist/tool-display.d.ts.map +1 -1
- package/dist/tool-display.js +66 -11
- package/dist/tool-display.js.map +1 -1
- package/dist/types.d.ts +7 -17
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/activity/budget.d.ts +0 -8
- package/dist/activity/budget.d.ts.map +0 -1
- package/dist/activity/budget.js +0 -9
- package/dist/activity/budget.js.map +0 -1
- package/dist/activity/error.d.ts +0 -16
- package/dist/activity/error.d.ts.map +0 -1
- package/dist/activity/error.js +0 -22
- package/dist/activity/error.js.map +0 -1
- package/dist/logger.d.ts +0 -7
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -26
- package/dist/logger.js.map +0 -1
- package/dist/provider-ref.d.ts +0 -8
- package/dist/provider-ref.d.ts.map +0 -1
- package/dist/provider-ref.js +0 -8
- package/dist/provider-ref.js.map +0 -1
- package/dist/runtime-session.d.ts +0 -8
- package/dist/runtime-session.d.ts.map +0 -1
- package/dist/runtime-session.js +0 -36
- package/dist/runtime-session.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# @excitedjs/agent-runtime-claude-code
|
|
2
2
|
|
|
3
|
-
The built-in **Claude Code**
|
|
4
|
-
[Dreamux](https://github.com/excitedjs/dreamux)
|
|
5
|
-
|
|
3
|
+
The built-in **Claude Code** Dreamux plugin, always loaded by
|
|
4
|
+
[Dreamux](https://github.com/excitedjs/dreamux). Its default export is the
|
|
5
|
+
plugin factory: the plugin contributes the Claude Code `AgentRuntimeProvider`,
|
|
6
|
+
published behind the stable `builtin:claude-code` alias.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
The provider it contributes implements the public `AgentRuntimeProvider`
|
|
9
|
+
contract from
|
|
8
10
|
[`@excitedjs/dreamux-types`](../../dreamux-types) against a resident `claude`
|
|
9
11
|
stream-json child: process supervision, the stream-json wire protocol (line
|
|
10
12
|
framing, result aggregation, control-request replies), pending-request idle
|
|
@@ -26,11 +28,20 @@ come from `@excitedjs/dreamux-utils`.
|
|
|
26
28
|
|
|
27
29
|
## Loading
|
|
28
30
|
|
|
29
|
-
Dreamux
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
through the
|
|
31
|
+
Dreamux always loads this package's plugin, which contributes the provider
|
|
32
|
+
under `builtin:claude-code` through the neutral plugin `contribute(host)`
|
|
33
|
+
hook; core supplies host contracts through the neutral create context.
|
|
34
|
+
External callers can construct the bare provider directly, without going
|
|
35
|
+
through the plugin:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { createClaudeCodeAgentRuntimeProvider } from '@excitedjs/agent-runtime-claude-code';
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The factory accepts the neutral create context plus optional test/embedder
|
|
42
|
+
seams (`resolveBinPath`, `sessionFactory`, `generateSessionId`); the plugin
|
|
43
|
+
(this package's default export) constructs the provider on package defaults
|
|
44
|
+
with none of these set.
|
|
34
45
|
|
|
35
46
|
## Resident session and request settlement
|
|
36
47
|
|
|
@@ -101,7 +112,8 @@ the neutral `AgentRuntime` and `RuntimeSubmission` contracts are unchanged.
|
|
|
101
112
|
|
|
102
113
|
## Direct stream RPC consumers
|
|
103
114
|
|
|
104
|
-
|
|
115
|
+
`ClaudeCodeStreamRpc` (package-internal; see `./rpc.ts`, no longer part of the
|
|
116
|
+
public barrel) has the same single `submit()` path, returning
|
|
105
117
|
`Promise<RuntimeAdmission>` in place of `submitTurn()` and `steerTurn()`. Accepted
|
|
106
118
|
handles own eventual settlement; callers no longer await an aggregate window.
|
|
107
119
|
Replace `failPending(error)` with `fail(error)` for transport failure or `stop()`
|
|
@@ -10,7 +10,6 @@ interface ClaudeCursorEnvelope {
|
|
|
10
10
|
rp: number | null;
|
|
11
11
|
rd: string | null;
|
|
12
12
|
}
|
|
13
|
-
export declare function claudeQueryFingerprint(includeTools: boolean): string;
|
|
14
13
|
export declare function encodeClaudeCursor(input: {
|
|
15
14
|
fingerprint: string;
|
|
16
15
|
generation: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/activity/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/activity/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACX,MAAM,0BAA0B,CAAC;AAElC,UAAU,oBAAoB;IAC5B,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,QAAQ,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,MAAM,CAaT;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,MAAM,GAC1B,oBAAoB,CA0BtB;AA0BD,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,CAAC"}
|
package/dist/activity/cursor.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { isScanDigest, scanDigest, } from '@excitedjs/dreamux-utils';
|
|
2
|
-
import { ClaudeActivityError } from './error.js';
|
|
3
|
-
export function claudeQueryFingerprint(includeTools) {
|
|
4
|
-
return scanDigest(JSON.stringify({ include_tools: includeTools }));
|
|
5
|
-
}
|
|
1
|
+
import { ActivityError, isScanDigest, scanDigest, } from '@excitedjs/dreamux-utils';
|
|
6
2
|
export function encodeClaudeCursor(input) {
|
|
7
3
|
const envelope = {
|
|
8
4
|
v: 1,
|
|
@@ -26,13 +22,13 @@ export function decodeClaudeCursor(cursor, expectedFingerprint) {
|
|
|
26
22
|
value = JSON.parse(decoded.toString('utf8'));
|
|
27
23
|
}
|
|
28
24
|
catch (error) {
|
|
29
|
-
throw new
|
|
25
|
+
throw new ActivityError('cursor_invalid', 'Claude Code activity cursor is invalid', { cause: error });
|
|
30
26
|
}
|
|
31
27
|
if (!isEnvelope(value)) {
|
|
32
|
-
throw new
|
|
28
|
+
throw new ActivityError('cursor_invalid', 'Claude Code activity cursor is invalid');
|
|
33
29
|
}
|
|
34
30
|
if (value.fp !== expectedFingerprint) {
|
|
35
|
-
throw new
|
|
31
|
+
throw new ActivityError('cursor_query_mismatch', 'Claude Code activity cursor belongs to a different query');
|
|
36
32
|
}
|
|
37
33
|
return value;
|
|
38
34
|
}
|
|
@@ -52,8 +48,7 @@ function isEnvelope(value) {
|
|
|
52
48
|
Number.isSafeInteger(record['rw']) &&
|
|
53
49
|
record['rw'] >= 0 &&
|
|
54
50
|
(record['rp'] === null ||
|
|
55
|
-
(Number.isSafeInteger(record['rp']) &&
|
|
56
|
-
record['rp'] >= 0)) &&
|
|
51
|
+
(Number.isSafeInteger(record['rp']) && record['rp'] >= 0)) &&
|
|
57
52
|
(record['rd'] === null || isScanDigest(record['rd'])) &&
|
|
58
53
|
((record['rp'] === null && record['rd'] === null) ||
|
|
59
54
|
(record['rp'] !== null && record['rd'] !== null)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/activity/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,GACX,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/activity/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,7 @@ function wyhash(input, seed) {
|
|
|
18
18
|
const end = length - 4;
|
|
19
19
|
const quarter = (length >> 3) << 2;
|
|
20
20
|
left = (read(input, 0, 4) << 32n) | read(input, quarter, 4);
|
|
21
|
-
right =
|
|
22
|
-
(read(input, end, 4) << 32n) |
|
|
23
|
-
read(input, end - quarter, 4);
|
|
21
|
+
right = (read(input, end, 4) << 32n) | read(input, end - quarter, 4);
|
|
24
22
|
}
|
|
25
23
|
else if (length > 0) {
|
|
26
24
|
left =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-hash.js","sourceRoot":"","sources":["../../src/activity/native-hash.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AACjC,MAAM,MAAM,GAAG;IACb,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,MAAM,CAAC,KAAiB,EAAE,IAAY;IAC7C,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,IAAY,CAAC;IACjB,IAAI,KAAa,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjB,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,KAAK
|
|
1
|
+
{"version":3,"file":"native-hash.js","sourceRoot":"","sources":["../../src/activity/native-hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,5 @@ export interface ClaudeOpenedRollout {
|
|
|
7
7
|
ino: number | bigint;
|
|
8
8
|
}
|
|
9
9
|
export declare function openClaudeRollout(candidate: string, canonicalRoot: string): Promise<ClaudeOpenedRollout>;
|
|
10
|
-
export declare function validateClaudeSessionEvidence(opened: ClaudeOpenedRollout, expectedSessionId: string
|
|
11
|
-
maxReadChunkBytes?: number;
|
|
12
|
-
}): Promise<void>;
|
|
10
|
+
export declare function validateClaudeSessionEvidence(opened: ClaudeOpenedRollout, expectedSessionId: string): Promise<void>;
|
|
13
11
|
//# sourceMappingURL=opened-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opened-file.d.ts","sourceRoot":"","sources":["../../src/activity/opened-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"opened-file.d.ts","sourceRoot":"","sources":["../../src/activity/opened-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAID,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,CA4D9B;AAED,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAuCf"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { constants } from 'node:fs';
|
|
2
2
|
import { open, realpath } from 'node:fs/promises';
|
|
3
|
-
import { isPathWithin, readBytesAt, } from '@excitedjs/dreamux-utils';
|
|
4
|
-
import { ClaudeActivityError } from './error.js';
|
|
3
|
+
import { ActivityError, isPathWithin, readBytesAt, } from '@excitedjs/dreamux-utils';
|
|
5
4
|
const MAX_METADATA_BYTES = 1_048_576;
|
|
6
5
|
export async function openClaudeRollout(candidate, canonicalRoot) {
|
|
7
6
|
let handle;
|
|
@@ -17,10 +16,10 @@ export async function openClaudeRollout(candidate, canonicalRoot) {
|
|
|
17
16
|
realpath(candidate),
|
|
18
17
|
]);
|
|
19
18
|
if (!opened.isFile()) {
|
|
20
|
-
throw new
|
|
19
|
+
throw new ActivityError('invalid', 'Claude Code activity is not a regular file');
|
|
21
20
|
}
|
|
22
21
|
if (!isPathWithin(canonicalRoot, canonicalPath)) {
|
|
23
|
-
throw new
|
|
22
|
+
throw new ActivityError('locator_outside_root', 'Claude Code activity is unavailable for this session');
|
|
24
23
|
}
|
|
25
24
|
const current = await open(canonicalPath, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0)).catch((error) => {
|
|
26
25
|
throw classifyOpenError(error);
|
|
@@ -28,7 +27,7 @@ export async function openClaudeRollout(candidate, canonicalRoot) {
|
|
|
28
27
|
try {
|
|
29
28
|
const currentStat = await current.stat();
|
|
30
29
|
if (opened.dev !== currentStat.dev || opened.ino !== currentStat.ino) {
|
|
31
|
-
throw new
|
|
30
|
+
throw new ActivityError('unreadable', 'Claude Code activity changed while opening');
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
finally {
|
|
@@ -44,52 +43,50 @@ export async function openClaudeRollout(candidate, canonicalRoot) {
|
|
|
44
43
|
}
|
|
45
44
|
catch (error) {
|
|
46
45
|
await handle.close().catch(() => undefined);
|
|
47
|
-
if (error instanceof
|
|
46
|
+
if (error instanceof ActivityError)
|
|
48
47
|
throw error;
|
|
49
|
-
throw new
|
|
48
|
+
throw new ActivityError('unreadable', 'Claude Code activity is unreadable', { cause: error });
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
|
-
export async function validateClaudeSessionEvidence(opened, expectedSessionId
|
|
51
|
+
export async function validateClaudeSessionEvidence(opened, expectedSessionId) {
|
|
53
52
|
const length = Math.min(opened.size, MAX_METADATA_BYTES + 1);
|
|
54
|
-
const data = await readBytesAt(opened.handle, 0, length
|
|
55
|
-
...(options.maxReadChunkBytes !== undefined
|
|
56
|
-
? { maxChunkBytes: options.maxReadChunkBytes }
|
|
57
|
-
: {}),
|
|
58
|
-
});
|
|
53
|
+
const data = await readBytesAt(opened.handle, 0, length);
|
|
59
54
|
let cursor = 0;
|
|
60
55
|
while (cursor < data.length) {
|
|
61
56
|
const newline = data.indexOf(0x0a, cursor);
|
|
62
57
|
if (newline < 0) {
|
|
63
58
|
if (opened.size > MAX_METADATA_BYTES) {
|
|
64
|
-
throw new
|
|
59
|
+
throw new ActivityError('invalid', 'Claude Code activity metadata record is oversized');
|
|
65
60
|
}
|
|
66
61
|
break;
|
|
67
62
|
}
|
|
68
63
|
const raw = data.subarray(cursor, newline).toString('utf8');
|
|
69
64
|
const value = parseRecord(raw);
|
|
70
65
|
if (value === null && raw.trim() !== '') {
|
|
71
|
-
throw new
|
|
66
|
+
throw new ActivityError('invalid', 'Claude Code activity contains invalid native metadata');
|
|
72
67
|
}
|
|
73
68
|
const sessionId = stringValue(value?.['sessionId']);
|
|
74
69
|
if (sessionId !== null) {
|
|
75
70
|
if (sessionId !== expectedSessionId) {
|
|
76
|
-
throw new
|
|
71
|
+
throw new ActivityError('session_mismatch', 'Claude Code activity does not belong to the selected session');
|
|
77
72
|
}
|
|
78
73
|
return;
|
|
79
74
|
}
|
|
80
75
|
cursor = newline + 1;
|
|
81
76
|
}
|
|
82
|
-
throw new
|
|
77
|
+
throw new ActivityError('invalid', 'Claude Code activity has no authoritative session metadata');
|
|
83
78
|
}
|
|
84
79
|
function classifyOpenError(error) {
|
|
85
80
|
const code = error.code;
|
|
86
81
|
if (code === 'ENOENT') {
|
|
87
|
-
return new
|
|
82
|
+
return new ActivityError('not_found', 'Claude Code activity is unavailable', { cause: error });
|
|
88
83
|
}
|
|
89
84
|
if (code === 'ELOOP') {
|
|
90
|
-
return new
|
|
85
|
+
return new ActivityError('locator_outside_root', 'Claude Code activity is unavailable for this session', { cause: error });
|
|
91
86
|
}
|
|
92
|
-
return new
|
|
87
|
+
return new ActivityError('unreadable', 'Claude Code activity is unreadable', {
|
|
88
|
+
cause: error,
|
|
89
|
+
});
|
|
93
90
|
}
|
|
94
91
|
function parseRecord(value) {
|
|
95
92
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opened-file.js","sourceRoot":"","sources":["../../src/activity/opened-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"opened-file.js","sourceRoot":"","sources":["../../src/activity/opened-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-tools.js","sourceRoot":"","sources":["../../src/activity/parallel-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parallel-tools.js","sourceRoot":"","sources":["../../src/activity/parallel-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/activity/path.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { DreamuxEnvironment } from '@excitedjs/dreamux-types';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ScanBudget } from '@excitedjs/dreamux-utils';
|
|
3
|
+
/** The default bounded budget for a Claude Code activity discovery scan. */
|
|
4
|
+
export declare function createClaudeScanBudget(input?: {
|
|
5
|
+
maxEntries?: number;
|
|
6
|
+
maxElapsedMs?: number;
|
|
7
|
+
now?: () => number;
|
|
8
|
+
}): ScanBudget;
|
|
3
9
|
export interface ClaudeHistoryRoots {
|
|
4
10
|
configHome: string;
|
|
5
11
|
projects: string;
|
|
@@ -18,7 +24,7 @@ export declare function locateClaudeHistory(input: {
|
|
|
18
24
|
cwd: string;
|
|
19
25
|
locator?: string | null;
|
|
20
26
|
env?: DreamuxEnvironment;
|
|
21
|
-
budget?:
|
|
27
|
+
budget?: ScanBudget;
|
|
22
28
|
worktreePaths?: readonly string[];
|
|
23
29
|
}): Promise<ClaudeValidatedHistory>;
|
|
24
30
|
export declare function validateClaudeHistoryPath(candidate: string, sessionId: string, roots: ClaudeHistoryRoots): Promise<ClaudeValidatedHistory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/activity/path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/activity/path.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAelC,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,KAAK,GAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACf,GACL,UAAU,CAMZ;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,kBAAgC,EACrC,UAAU,SAAgB,GACzB,kBAAkB,CAkBpB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,kBAAgC,GACpC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoClC;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CA+BjC"}
|
package/dist/activity/path.js
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { opendir, realpath } from 'node:fs/promises';
|
|
3
|
-
import { dirname, isAbsolute, join, relative, resolve
|
|
3
|
+
import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
4
4
|
import { promisify } from 'node:util';
|
|
5
|
-
import { isPathWithin } from '@excitedjs/dreamux-utils';
|
|
6
|
-
import {
|
|
7
|
-
import { ClaudeActivityError } from './error.js';
|
|
5
|
+
import { ActivityError, createScanBudget, isPathWithin, } from '@excitedjs/dreamux-utils';
|
|
6
|
+
import { resolveClaudeConfigHomeDir } from '../paths.js';
|
|
8
7
|
import { claudeNativePathHash } from './native-hash.js';
|
|
9
8
|
import { openClaudeRollout, validateClaudeSessionEvidence, } from './opened-file.js';
|
|
10
9
|
const MAX_SANITIZED_LENGTH = 200;
|
|
11
10
|
const SESSION_FILENAME = /^[0-9a-f]{8}-[0-9a-f-]{27}\.jsonl$/i;
|
|
12
11
|
const execFileAsync = promisify(execFile);
|
|
12
|
+
const SCAN_BUDGET_EXCEEDED_MESSAGE = 'Claude Code activity discovery exceeded its bounded scan limit';
|
|
13
|
+
/** The default bounded budget for a Claude Code activity discovery scan. */
|
|
14
|
+
export function createClaudeScanBudget(input = {}) {
|
|
15
|
+
return createScanBudget({
|
|
16
|
+
...input,
|
|
17
|
+
limitError: () => new ActivityError('scan_unsupported', SCAN_BUDGET_EXCEEDED_MESSAGE),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
13
20
|
export function claudeHistoryRoots(env = process.env, runtimeCwd = process.cwd()) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
// resolveClaudeConfigHomeDir is pure/non-throwing (it falls back to this
|
|
22
|
+
// process's own home directory when HOME is absent); the guard here
|
|
23
|
+
// preserves this reader's own typed-error contract for that case instead.
|
|
24
|
+
if ((env['CLAUDE_CONFIG_DIR'] === undefined ||
|
|
25
|
+
env['CLAUDE_CONFIG_DIR'] === '') &&
|
|
26
|
+
(env['HOME'] === undefined || env['HOME'] === '')) {
|
|
27
|
+
throw new ActivityError('not_found', 'Claude Code config home is unavailable');
|
|
28
|
+
}
|
|
29
|
+
const configHome = resolveClaudeConfigHomeDir(env, runtimeCwd).normalize('NFC');
|
|
20
30
|
return { configHome, projects: join(configHome, 'projects') };
|
|
21
31
|
}
|
|
22
32
|
export async function deriveClaudeHistoryPath(sessionId, cwd, env = process.env) {
|
|
@@ -35,8 +45,7 @@ export async function locateClaudeHistory(input) {
|
|
|
35
45
|
return await validateClaudeHistoryPath(input.locator, input.sessionId, roots);
|
|
36
46
|
}
|
|
37
47
|
catch (error) {
|
|
38
|
-
if (!(error instanceof
|
|
39
|
-
error.detail !== 'not_found') {
|
|
48
|
+
if (!(error instanceof ActivityError) || error.detail !== 'not_found') {
|
|
40
49
|
throw error;
|
|
41
50
|
}
|
|
42
51
|
}
|
|
@@ -54,26 +63,25 @@ export async function locateClaudeHistory(input) {
|
|
|
54
63
|
return await validateClaudeHistoryPath(candidate, input.sessionId, roots);
|
|
55
64
|
}
|
|
56
65
|
catch (error) {
|
|
57
|
-
if (error instanceof
|
|
58
|
-
error.detail === 'not_found') {
|
|
66
|
+
if (error instanceof ActivityError && error.detail === 'not_found') {
|
|
59
67
|
continue;
|
|
60
68
|
}
|
|
61
69
|
throw error;
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
|
-
throw new
|
|
72
|
+
throw new ActivityError('not_found', 'Claude Code activity is unavailable');
|
|
65
73
|
}
|
|
66
74
|
export async function validateClaudeHistoryPath(candidate, sessionId, roots) {
|
|
67
75
|
if (!isAbsolute(candidate) ||
|
|
68
76
|
!SESSION_FILENAME.test(candidate.split(/[\\/]/).at(-1) ?? '') ||
|
|
69
77
|
!candidate.endsWith(`${sessionId}.jsonl`)) {
|
|
70
|
-
throw new
|
|
78
|
+
throw new ActivityError('invalid', 'Claude Code activity locator is not a native session path');
|
|
71
79
|
}
|
|
72
80
|
const canonicalProjects = await canonicalExistingRoot(roots.projects);
|
|
73
81
|
const opened = await openClaudeRollout(candidate, canonicalProjects);
|
|
74
82
|
try {
|
|
75
83
|
if (opened.size === 0) {
|
|
76
|
-
throw new
|
|
84
|
+
throw new ActivityError('not_found', 'Claude Code activity is unavailable');
|
|
77
85
|
}
|
|
78
86
|
await validateClaudeSessionEvidence(opened, sessionId);
|
|
79
87
|
return {
|
|
@@ -92,8 +100,7 @@ function sanitizePath(name) {
|
|
|
92
100
|
const sanitized = name.replace(/[^a-zA-Z0-9]/g, '-');
|
|
93
101
|
if (sanitized.length <= MAX_SANITIZED_LENGTH)
|
|
94
102
|
return sanitized;
|
|
95
|
-
return (`${sanitized.slice(0, MAX_SANITIZED_LENGTH)}-` +
|
|
96
|
-
claudeNativePathHash(name));
|
|
103
|
+
return (`${sanitized.slice(0, MAX_SANITIZED_LENGTH)}-` + claudeNativePathHash(name));
|
|
97
104
|
}
|
|
98
105
|
async function discoveryCandidates(input) {
|
|
99
106
|
const result = [];
|
|
@@ -140,7 +147,7 @@ async function readProjectDirectories(roots, budget) {
|
|
|
140
147
|
catch (error) {
|
|
141
148
|
if (error.code === 'ENOENT')
|
|
142
149
|
return [];
|
|
143
|
-
throw new
|
|
150
|
+
throw new ActivityError('unreadable', 'Claude Code activity root is unreadable', { cause: error });
|
|
144
151
|
}
|
|
145
152
|
const entries = [];
|
|
146
153
|
try {
|
|
@@ -151,11 +158,11 @@ async function readProjectDirectories(roots, budget) {
|
|
|
151
158
|
}
|
|
152
159
|
}
|
|
153
160
|
catch (error) {
|
|
154
|
-
if (error instanceof
|
|
161
|
+
if (error instanceof ActivityError)
|
|
155
162
|
throw error;
|
|
156
163
|
if (error.code === 'ENOENT')
|
|
157
164
|
return entries;
|
|
158
|
-
throw new
|
|
165
|
+
throw new ActivityError('unreadable', 'Claude Code activity root is unreadable', { cause: error });
|
|
159
166
|
}
|
|
160
167
|
return entries;
|
|
161
168
|
}
|
|
@@ -185,7 +192,7 @@ async function canonicalProspectivePath(candidate, root) {
|
|
|
185
192
|
canonicalizeProspectivePath(root),
|
|
186
193
|
]);
|
|
187
194
|
if (!isPathWithin(canonicalRoot, canonicalCandidate)) {
|
|
188
|
-
throw new
|
|
195
|
+
throw new ActivityError('locator_outside_root', 'Claude Code activity is unavailable for this session');
|
|
189
196
|
}
|
|
190
197
|
return canonicalCandidate;
|
|
191
198
|
}
|
|
@@ -197,7 +204,7 @@ async function canonicalRuntimeCwd(cwd) {
|
|
|
197
204
|
if (error.code === 'ENOENT') {
|
|
198
205
|
return resolve(cwd);
|
|
199
206
|
}
|
|
200
|
-
throw new
|
|
207
|
+
throw new ActivityError('unreadable', 'Claude Code runtime cwd is unreadable', { cause: error });
|
|
201
208
|
}
|
|
202
209
|
}
|
|
203
210
|
async function canonicalizeProspectivePath(path) {
|
|
@@ -211,12 +218,12 @@ async function canonicalizeProspectivePath(path) {
|
|
|
211
218
|
catch (error) {
|
|
212
219
|
const code = error.code;
|
|
213
220
|
if (code !== 'ENOENT') {
|
|
214
|
-
throw new
|
|
221
|
+
throw new ActivityError('unreadable', 'Claude Code activity path is unreadable', { cause: error });
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
224
|
const parent = dirname(ancestor);
|
|
218
225
|
if (parent === ancestor) {
|
|
219
|
-
throw new
|
|
226
|
+
throw new ActivityError('not_found', 'Claude Code activity root is unavailable');
|
|
220
227
|
}
|
|
221
228
|
ancestor = parent;
|
|
222
229
|
}
|
|
@@ -227,9 +234,9 @@ async function canonicalExistingRoot(root) {
|
|
|
227
234
|
}
|
|
228
235
|
catch (error) {
|
|
229
236
|
if (error.code === 'ENOENT') {
|
|
230
|
-
throw new
|
|
237
|
+
throw new ActivityError('not_found', 'Claude Code activity root is unavailable', { cause: error });
|
|
231
238
|
}
|
|
232
|
-
throw new
|
|
239
|
+
throw new ActivityError('unreadable', 'Claude Code activity root is unreadable', { cause: error });
|
|
233
240
|
}
|
|
234
241
|
}
|
|
235
242
|
function pushUnique(result, seen, value) {
|
|
@@ -240,14 +247,7 @@ function pushUnique(result, seen, value) {
|
|
|
240
247
|
}
|
|
241
248
|
function assertSessionId(sessionId) {
|
|
242
249
|
if (!/^[0-9a-f]{8}-[0-9a-f-]{27}$/i.test(sessionId)) {
|
|
243
|
-
throw new
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
function requireHome(env) {
|
|
247
|
-
const home = env['HOME'];
|
|
248
|
-
if (home === undefined || home === '') {
|
|
249
|
-
throw new ClaudeActivityError('not_found', 'Claude Code config home is unavailable');
|
|
250
|
+
throw new ActivityError('invalid', 'Claude Code session id is invalid');
|
|
250
251
|
}
|
|
251
|
-
return home;
|
|
252
252
|
}
|
|
253
253
|
//# sourceMappingURL=path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/activity/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/activity/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,5 @@ import type { DispatcherClaudeCodeConfig } from '../config.js';
|
|
|
9
9
|
* path. Projection is flat, so records appear without waiting for a turn to
|
|
10
10
|
* complete.
|
|
11
11
|
*/
|
|
12
|
-
export declare function readClaudeRecentActivity(query: AgentActivityQuery, context: AgentActivityReadContext<DispatcherClaudeCodeConfig
|
|
13
|
-
afterLocate?: () => void | Promise<void>;
|
|
14
|
-
maxReadChunkBytes?: number;
|
|
15
|
-
}): Promise<AgentActivityPage>;
|
|
12
|
+
export declare function readClaudeRecentActivity(query: AgentActivityQuery, context: AgentActivityReadContext<DispatcherClaudeCodeConfig>): Promise<AgentActivityPage>;
|
|
16
13
|
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/activity/reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EAEzB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/activity/reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EAEzB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAgD/D;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,wBAAwB,CAAC,0BAA0B,CAAC,GAC5D,OAAO,CAAC,iBAAiB,CAAC,CA0E5B"}
|