@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.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/** Resident Claude Code AgentRuntime using stream-json stdio. */
|
|
2
2
|
import type { ClaudeCodeRuntimeDeps } from './runtime-deps.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { AgentRuntime, AgentRuntimeIdentity, AgentRuntimeSessionRef, AgentRuntimeStartOutcome, AgentRuntimeSubmissionInput, RuntimeAdmission } from '@excitedjs/dreamux-types';
|
|
4
4
|
/**
|
|
5
5
|
* The Claude Code agent runtime for one dispatcher. A single resident
|
|
6
6
|
* stream-json child serves every turn. Turns run serially (one at a time) and
|
|
7
|
-
* `
|
|
7
|
+
* `submit` returns after the message is accepted — not after the turn
|
|
8
8
|
* completes — matching the Codex runtime's submit-then-serialize contract.
|
|
9
9
|
*/
|
|
10
10
|
export declare class ClaudeCodeRuntime implements AgentRuntime {
|
|
11
11
|
private readonly deps;
|
|
12
|
-
readonly providerRef = "builtin:claude-code";
|
|
13
12
|
private readonly dispatcherId;
|
|
14
13
|
private readonly config;
|
|
15
14
|
private readonly bin;
|
|
@@ -20,17 +19,16 @@ export declare class ClaudeCodeRuntime implements AgentRuntime {
|
|
|
20
19
|
private readonly logger;
|
|
21
20
|
private status;
|
|
22
21
|
private threadId;
|
|
23
|
-
private transcriptLocator;
|
|
24
22
|
private resumeOnNextSpawn;
|
|
25
|
-
private resumed;
|
|
23
|
+
private readonly resumed;
|
|
24
|
+
/**
|
|
25
|
+
* The provider-local fatal path for authoritative state writes. Any failure
|
|
26
|
+
* to persist — a revoked lease or a plain write failure — fences input and
|
|
27
|
+
* tears the resident child down; the runtime never continues on a state
|
|
28
|
+
* record it could not update.
|
|
29
|
+
*/
|
|
30
|
+
private readonly fence;
|
|
26
31
|
private stopped;
|
|
27
|
-
private readonly seen;
|
|
28
|
-
private readonly seenOrder;
|
|
29
|
-
private readonly seenTextInputIds;
|
|
30
|
-
private readonly seenTextInputIdOrder;
|
|
31
|
-
private readonly sourceIdDedupeWindow;
|
|
32
|
-
private readonly pendingChannelSources;
|
|
33
|
-
private readonly pendingTextSources;
|
|
34
32
|
private readonly pendingAdmissions;
|
|
35
33
|
private queue;
|
|
36
34
|
private session;
|
|
@@ -40,32 +38,35 @@ export declare class ClaudeCodeRuntime implements AgentRuntime {
|
|
|
40
38
|
private generation;
|
|
41
39
|
private activeTurn;
|
|
42
40
|
private queuedTurnCount;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
transcript_locator?: string | null;
|
|
51
|
-
} | null;
|
|
52
|
-
wasCheckpointResumed(): boolean;
|
|
53
|
-
getContext(): Promise<null>;
|
|
54
|
-
resume(): Promise<void>;
|
|
55
|
-
start(): Promise<void>;
|
|
41
|
+
constructor(identity: AgentRuntimeIdentity<AgentRuntimeSessionRef>, deps: ClaudeCodeRuntimeDeps);
|
|
42
|
+
start(): Promise<AgentRuntimeStartOutcome>;
|
|
43
|
+
/**
|
|
44
|
+
* Recovery is continuous by contract: when a prior session exists the child is
|
|
45
|
+
* always spawned with `--resume`, and a failed resume propagates out of
|
|
46
|
+
* `start` rather than silently becoming a fresh session.
|
|
47
|
+
*/
|
|
56
48
|
private startRuntime;
|
|
49
|
+
private startOutcome;
|
|
57
50
|
stop(): Promise<void>;
|
|
51
|
+
/** Single-flight the stop task, releasing the slot so a failure can retry. */
|
|
52
|
+
private track;
|
|
53
|
+
/**
|
|
54
|
+
* Converge a stop that arrived after the fence already started the fatal
|
|
55
|
+
* teardown. A teardown that succeeded left the runtime stopped; one that
|
|
56
|
+
* failed retained the resident session, so this retries against that retained
|
|
57
|
+
* authority and rejects if the retry fails too.
|
|
58
|
+
*/
|
|
59
|
+
private stopAfterFatalTeardown;
|
|
58
60
|
private stopRuntime;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Admit one already-rendered submission. The runtime holds no source ledger:
|
|
63
|
+
* the text is the complete model-facing message, and deduplication is Core's,
|
|
64
|
+
* ahead of this call.
|
|
65
|
+
*/
|
|
66
|
+
submit(input: AgentRuntimeSubmissionInput): Promise<RuntimeAdmission>;
|
|
65
67
|
private acceptInput;
|
|
66
68
|
private trackAdmission;
|
|
67
69
|
private drainAdmissions;
|
|
68
|
-
waitIdle(): Promise<void>;
|
|
69
70
|
private runActiveTurnOnQueue;
|
|
70
71
|
private runActiveTurn;
|
|
71
72
|
private steerActiveTurn;
|
|
@@ -74,15 +75,47 @@ export declare class ClaudeCodeRuntime implements AgentRuntime {
|
|
|
74
75
|
private stopUnsettled;
|
|
75
76
|
private recordQueuedTurnStart;
|
|
76
77
|
private recordQueuedTurnEnd;
|
|
77
|
-
private resolveIdleWaitersIfIdle;
|
|
78
78
|
/** Ensure a live resident session exists, resuming after a child exit. */
|
|
79
79
|
private ensureSession;
|
|
80
80
|
private createSession;
|
|
81
|
-
private resolveTranscriptPath;
|
|
82
81
|
/** React to an unexpected resident-child exit: degrade and drop the session. */
|
|
83
82
|
private onSessionExit;
|
|
84
83
|
private onProtocolEvent;
|
|
85
84
|
private assertGeneration;
|
|
85
|
+
/**
|
|
86
|
+
* The fence's native teardown. Deliberately not `stop()`: `stop()` publishes
|
|
87
|
+
* `stopping`/`stopped` through the very sink that just proved unusable, so it
|
|
88
|
+
* would only produce a second failure. This closes the resident child and
|
|
89
|
+
* settles in-flight work, and nothing else.
|
|
90
|
+
*
|
|
91
|
+
* It runs synchronously up to its first await, so `stopped` and the bumped
|
|
92
|
+
* generation fence input immediately — a submit arriving after the fatal
|
|
93
|
+
* write is already refused.
|
|
94
|
+
*/
|
|
95
|
+
private terminateForFence;
|
|
96
|
+
private publishStatus;
|
|
97
|
+
/**
|
|
98
|
+
* Persist a status the caller's own outcome does not depend on, but whose
|
|
99
|
+
* ordering does: `stop` must not resolve before its terminal write lands,
|
|
100
|
+
* because Core keeps this generation's lease valid exactly until stop
|
|
101
|
+
* settles and a detached write would race the revocation that follows.
|
|
102
|
+
*
|
|
103
|
+
* The error is not rethrown. The fence has already made it terminal, and
|
|
104
|
+
* these callers report something else — whether the child terminated, or the
|
|
105
|
+
* original start failure — which a state-write failure does not change.
|
|
106
|
+
*/
|
|
107
|
+
private settleStatus;
|
|
108
|
+
/**
|
|
109
|
+
* Record a status on the background paths (turn failure, child exit).
|
|
110
|
+
*
|
|
111
|
+
* Core's durable state is the authority; this field is only the runtime's own
|
|
112
|
+
* lifecycle guard, and it is updated first so the guard stays correct even as
|
|
113
|
+
* the fence closes. The write itself is detached: it
|
|
114
|
+
* must not surface as an unhandled rejection on the shared event loop (#85),
|
|
115
|
+
* and a failure is already terminal through the fence, so there is nothing
|
|
116
|
+
* left for this caller to do about it. The start path awaits `publishStatus`
|
|
117
|
+
* instead, because the ready state must be durable before `start` resolves.
|
|
118
|
+
*/
|
|
86
119
|
private setStatus;
|
|
87
120
|
private log;
|
|
88
121
|
}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iEAAiE;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAgBjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAS/D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EAExB,2BAA2B,EAE3B,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAMlC;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAoClD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnCvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IACH,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAK;gBAG1B,QAAQ,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EACrC,IAAI,EAAE,qBAAqB;IA4B9C,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAe1C;;;;OAIG;YACW,YAAY;IA6B1B,OAAO,CAAC,YAAY;IAMd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,8EAA8E;IAC9E,OAAO,CAAC,KAAK;IAQb;;;;;OAKG;YACW,sBAAsB;YA2BtB,WAAW;IAiBzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAIvD,WAAW;IA8CzB,OAAO,CAAC,cAAc;YAUR,eAAe;IAM7B,OAAO,CAAC,oBAAoB;YAYd,aAAa;YAwBb,eAAe;IAyB7B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,0EAA0E;YAC5D,aAAa;YAab,aAAa;IA6E3B,gFAAgF;YAClE,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;;;OASG;YACW,iBAAiB;YAiBjB,aAAa;IAY3B;;;;;;;;;OASG;YACW,YAAY;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,GAAG;CAOZ"}
|