@gkorepanov/ccodex 0.4.2 → 0.4.4
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/config/compatibility.json +1 -1
- package/dist/claude/environment.d.ts +1 -0
- package/dist/claude/environment.js +6 -0
- package/dist/claude/environment.js.map +1 -0
- package/dist/claude/modelCatalog.js +2 -1
- package/dist/claude/modelCatalog.js.map +1 -1
- package/dist/claude/service.d.ts +2 -1
- package/dist/claude/service.js +27 -5
- package/dist/claude/service.js.map +1 -1
- package/dist/claude/session/providerRuntime.d.ts +1 -1
- package/dist/claude/session/providerRuntime.js +1 -1
- package/dist/claude/session/providerRuntime.js.map +1 -1
- package/dist/claude/session/providerRuntimeFactory.d.ts +1 -0
- package/dist/claude/session/providerRuntimeFactory.js +6 -3
- package/dist/claude/session/providerRuntimeFactory.js.map +1 -1
- package/dist/claude/session/runtime.d.ts +8 -0
- package/dist/claude/session/runtime.js +33 -5
- package/dist/claude/session/runtime.js.map +1 -1
- package/dist/claude/session/scopeState.d.ts +9 -4
- package/dist/claude/session/scopeState.js +6 -2
- package/dist/claude/session/scopeState.js.map +1 -1
- package/dist/claude/session/session.d.ts +8 -0
- package/dist/claude/session/session.js +262 -59
- package/dist/claude/session/session.js.map +1 -1
- package/dist/claude/session/shellRunner.js +2 -1
- package/dist/claude/session/shellRunner.js.map +1 -1
- package/dist/claude/toolMapper.js +8 -3
- package/dist/claude/toolMapper.js.map +1 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/config.js +4 -1
- package/dist/config/config.js.map +1 -1
- package/dist/gateway/clientConnection.js +26 -26
- package/dist/gateway/clientConnection.js.map +1 -1
- package/dist/gateway/subscriptions.d.ts +1 -0
- package/dist/gateway/subscriptions.js +4 -0
- package/dist/gateway/subscriptions.js.map +1 -1
- package/dist/handoff/service.js +27 -11
- package/dist/handoff/service.js.map +1 -1
- package/dist/handoff/store.d.ts +1 -0
- package/dist/handoff/store.js +6 -0
- package/dist/handoff/store.js.map +1 -1
- package/examples/config.toml +1 -0
- package/legal/THIRD_PARTY_NOTICES.md +1 -28
- package/package.json +4 -4
|
@@ -10,6 +10,11 @@ export interface ClaudeRuntimeSettings {
|
|
|
10
10
|
readonly fastMode: boolean;
|
|
11
11
|
readonly thinkingDisplay: "summarized" | "omitted" | null;
|
|
12
12
|
}
|
|
13
|
+
export declare class ClaudeRuntimeStartupError extends Error {
|
|
14
|
+
readonly retryableEarlyExit: boolean;
|
|
15
|
+
constructor(message: string, retryableEarlyExit: boolean, options?: ErrorOptions);
|
|
16
|
+
}
|
|
17
|
+
export declare function isRetryableClaudeRuntimeStartupError(error: unknown): boolean;
|
|
13
18
|
export declare class ClaudeRuntime {
|
|
14
19
|
private readonly runtimeGeneration;
|
|
15
20
|
private readonly submitFact;
|
|
@@ -24,9 +29,12 @@ export declare class ClaudeRuntime {
|
|
|
24
29
|
private exited;
|
|
25
30
|
private readonly capabilities;
|
|
26
31
|
private readonly ownedMessageIds;
|
|
32
|
+
private stderrTail;
|
|
33
|
+
private providerOutputSeen;
|
|
27
34
|
constructor(runtimeGeneration: number, options: Options, queryFactory: ClaudeQueryFactory, submitFact: (fact: ClaudeRuntimeFact) => Promise<void>);
|
|
28
35
|
get pendingInputCount(): number;
|
|
29
36
|
initializationResult(): ReturnType<Query["initializationResult"]>;
|
|
37
|
+
initializationFailure(error: unknown): ClaudeRuntimeStartupError;
|
|
30
38
|
start(): void;
|
|
31
39
|
get hasExited(): boolean;
|
|
32
40
|
beginClose(): boolean;
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { AsyncQueue } from "../asyncQueue.js";
|
|
2
2
|
import { interruptAndCancelOwned } from "../interruptCompat.js";
|
|
3
3
|
import { normalizeProviderMessage, } from "./providerFacts.js";
|
|
4
|
+
export class ClaudeRuntimeStartupError extends Error {
|
|
5
|
+
retryableEarlyExit;
|
|
6
|
+
constructor(message, retryableEarlyExit, options) {
|
|
7
|
+
super(message, options);
|
|
8
|
+
this.retryableEarlyExit = retryableEarlyExit;
|
|
9
|
+
this.name = "ClaudeRuntimeStartupError";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function isRetryableClaudeRuntimeStartupError(error) {
|
|
13
|
+
return error instanceof ClaudeRuntimeStartupError && error.retryableEarlyExit;
|
|
14
|
+
}
|
|
4
15
|
export class ClaudeRuntime {
|
|
5
16
|
runtimeGeneration;
|
|
6
17
|
submitFact;
|
|
@@ -15,6 +26,8 @@ export class ClaudeRuntime {
|
|
|
15
26
|
exited = false;
|
|
16
27
|
capabilities = new Set();
|
|
17
28
|
ownedMessageIds = new Set();
|
|
29
|
+
stderrTail = "";
|
|
30
|
+
providerOutputSeen = false;
|
|
18
31
|
constructor(runtimeGeneration, options, queryFactory, submitFact) {
|
|
19
32
|
this.runtimeGeneration = runtimeGeneration;
|
|
20
33
|
this.submitFact = submitFact;
|
|
@@ -29,9 +42,17 @@ export class ClaudeRuntime {
|
|
|
29
42
|
pendingInputs: this.input.pendingCount,
|
|
30
43
|
});
|
|
31
44
|
});
|
|
45
|
+
const stderr = options.stderr;
|
|
32
46
|
this.query = queryFactory({
|
|
33
47
|
prompt: this.input,
|
|
34
|
-
options: {
|
|
48
|
+
options: {
|
|
49
|
+
...options,
|
|
50
|
+
abortController: this.abort,
|
|
51
|
+
stderr: (line) => {
|
|
52
|
+
this.stderrTail = `${this.stderrTail}${line}`.slice(-8_192);
|
|
53
|
+
stderr?.(line);
|
|
54
|
+
},
|
|
55
|
+
},
|
|
35
56
|
});
|
|
36
57
|
}
|
|
37
58
|
get pendingInputCount() {
|
|
@@ -41,7 +62,15 @@ export class ClaudeRuntime {
|
|
|
41
62
|
return Promise.race([
|
|
42
63
|
this.query.initializationResult(),
|
|
43
64
|
this.initializationExit,
|
|
44
|
-
]);
|
|
65
|
+
]).catch((error) => Promise.reject(this.initializationFailure(error)));
|
|
66
|
+
}
|
|
67
|
+
initializationFailure(error) {
|
|
68
|
+
if (error instanceof ClaudeRuntimeStartupError)
|
|
69
|
+
return error;
|
|
70
|
+
const cause = error instanceof Error ? error : new Error(String(error));
|
|
71
|
+
const stderr = this.stderrTail.trim();
|
|
72
|
+
const message = stderr ? `${cause.message}\nClaude stderr: ${stderr}` : cause.message;
|
|
73
|
+
return new ClaudeRuntimeStartupError(message, !this.providerOutputSeen && /Query closed before response received|exited during initialization|became unavailable during initialization/iu.test(cause.message), { cause });
|
|
45
74
|
}
|
|
46
75
|
start() {
|
|
47
76
|
if (this.consumer)
|
|
@@ -110,6 +139,7 @@ export class ClaudeRuntime {
|
|
|
110
139
|
let exitSubmitted = false;
|
|
111
140
|
try {
|
|
112
141
|
for await (const message of this.query) {
|
|
142
|
+
this.providerOutputSeen = true;
|
|
113
143
|
await this.submitFact(normalizeProviderMessage(this.runtimeGeneration, message));
|
|
114
144
|
}
|
|
115
145
|
this.markExited();
|
|
@@ -132,9 +162,7 @@ export class ClaudeRuntime {
|
|
|
132
162
|
}
|
|
133
163
|
markExited(error) {
|
|
134
164
|
this.exited = true;
|
|
135
|
-
this.rejectInitializationExit(error
|
|
136
|
-
? error
|
|
137
|
-
: new Error(`Claude runtime generation ${this.runtimeGeneration} exited during initialization.`));
|
|
165
|
+
this.rejectInitializationExit(this.initializationFailure(error ?? new Error(`Claude runtime generation ${this.runtimeGeneration} exited during initialization.`)));
|
|
138
166
|
}
|
|
139
167
|
}
|
|
140
168
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/claude/session/runtime.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAA8B,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EACL,wBAAwB,GAEzB,MAAM,oBAAoB,CAAC;AAY5B,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/claude/session/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,10 @@ export interface SessionTool extends ActiveTool {
|
|
|
23
23
|
export interface ScopeTask {
|
|
24
24
|
readonly taskId: string;
|
|
25
25
|
readonly ownerThreadId: string;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
readonly
|
|
26
|
+
itemId: string;
|
|
27
|
+
providerId: string;
|
|
28
|
+
readonly providerIds: Set<string>;
|
|
29
|
+
turnId: string;
|
|
29
30
|
childThreadId: string | undefined;
|
|
30
31
|
outputFile: string | undefined;
|
|
31
32
|
terminal: boolean;
|
|
@@ -38,6 +39,7 @@ export interface ScopeTask {
|
|
|
38
39
|
stopped: boolean;
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
export declare function taskUsesProvider(task: ScopeTask, providerId: string): boolean;
|
|
41
43
|
export declare function newMainStreamState(ownerThreadId: string, turnId: string, record: ClaudeThreadRecord, review?: string): MainStreamState;
|
|
42
44
|
export declare function toolAt(state: MainStreamState, index: number): SessionTool | undefined;
|
|
43
45
|
export declare function streamItem(turn: Turn, state: MainStreamState, index: number): ThreadItem | undefined;
|
|
@@ -54,7 +56,10 @@ export declare function scopeProjection(turn: Turn, values?: {
|
|
|
54
56
|
}): MainStreamProjection;
|
|
55
57
|
export declare function newChildScope(parent: ClaudeThreadRecord, parentThreadId: string, fact: Extract<MainStreamFact, {
|
|
56
58
|
kind: "taskStart";
|
|
57
|
-
}
|
|
59
|
+
}>, model?: {
|
|
60
|
+
readonly modelPickerId: string;
|
|
61
|
+
readonly claudeModelValue: string;
|
|
62
|
+
}): {
|
|
58
63
|
record: ClaudeThreadRecord;
|
|
59
64
|
turn: Turn;
|
|
60
65
|
item: ThreadItem;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { v7 as uuidv7 } from "uuid";
|
|
2
|
+
export function taskUsesProvider(task, providerId) {
|
|
3
|
+
return task.providerIds.has(providerId);
|
|
4
|
+
}
|
|
2
5
|
export function newMainStreamState(ownerThreadId, turnId, record, review) {
|
|
3
6
|
return {
|
|
4
7
|
ownerThreadId,
|
|
@@ -36,7 +39,7 @@ export function scopeProjection(turn, values = {}) {
|
|
|
36
39
|
terminal: values.terminal ?? false, terminals: values.terminals ?? [],
|
|
37
40
|
};
|
|
38
41
|
}
|
|
39
|
-
export function newChildScope(parent, parentThreadId, fact) {
|
|
42
|
+
export function newChildScope(parent, parentThreadId, fact, model) {
|
|
40
43
|
const childThreadId = uuidv7();
|
|
41
44
|
const createdAt = Math.floor(Date.now() / 1_000);
|
|
42
45
|
const subAgent = typeof parent.thread.source === "object" && "subAgent" in parent.thread.source
|
|
@@ -55,7 +58,8 @@ export function newChildScope(parent, parentThreadId, fact) {
|
|
|
55
58
|
agentRole: null, name: null, turns: [],
|
|
56
59
|
};
|
|
57
60
|
const record = {
|
|
58
|
-
...parent, thread,
|
|
61
|
+
...parent, ...model, thread, resolvedModel: model ? null : parent.resolvedModel,
|
|
62
|
+
lastClaudeMessageUuid: null, lastCompletedTurnId: null,
|
|
59
63
|
tokenUsageTotal: {
|
|
60
64
|
totalTokens: 0, inputTokens: 0, cachedInputTokens: 0, outputTokens: 0, reasoningOutputTokens: 0,
|
|
61
65
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeState.js","sourceRoot":"","sources":["../../../src/claude/session/scopeState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"scopeState.js","sourceRoot":"","sources":["../../../src/claude/session/scopeState.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,11 @@ export interface ClaudeSessionRuntimeDependencies {
|
|
|
23
23
|
readonly invalidateModelCatalog: () => void;
|
|
24
24
|
readonly isClosing: () => boolean;
|
|
25
25
|
readonly persistUserSideSessions: boolean;
|
|
26
|
+
readonly interactiveQuestions?: boolean;
|
|
27
|
+
readonly resolveChildModel?: (model: string) => {
|
|
28
|
+
readonly modelPickerId: string;
|
|
29
|
+
readonly claudeModelValue: string;
|
|
30
|
+
} | undefined;
|
|
26
31
|
}
|
|
27
32
|
export interface PreparedRuntimeTurn {
|
|
28
33
|
readonly messageUuid: string;
|
|
@@ -93,6 +98,7 @@ export declare class ClaudeSession implements ClaudeSessionHandle<ClaudeSessionC
|
|
|
93
98
|
private beginRuntimeReplacement;
|
|
94
99
|
get isLoaded(): boolean;
|
|
95
100
|
ensureRuntime(reinitialize?: boolean): Promise<void>;
|
|
101
|
+
ensureEphemeralRuntime(): Promise<void>;
|
|
96
102
|
materializeRuntime(): Promise<void>;
|
|
97
103
|
prepareRuntimeTurn(params: TurnStartParams, readOnly?: boolean): Promise<PreparedRuntimeTurn>;
|
|
98
104
|
interruptRuntime(expectedTurnId?: string): Promise<void>;
|
|
@@ -266,10 +272,12 @@ export declare class ClaudeSession implements ClaudeSessionHandle<ClaudeSessionC
|
|
|
266
272
|
private cancelRuntimeInjections;
|
|
267
273
|
private hasOutputDrains;
|
|
268
274
|
private projectTaskFact;
|
|
275
|
+
private projectDetachedTaskFact;
|
|
269
276
|
private updateTool;
|
|
270
277
|
private beginTool;
|
|
271
278
|
private completeTool;
|
|
272
279
|
private createChildScope;
|
|
280
|
+
private resumeChildScope;
|
|
273
281
|
private finishChildScope;
|
|
274
282
|
private reconcileAssistant;
|
|
275
283
|
private ensureStreamItem;
|