@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.
Files changed (44) hide show
  1. package/config/compatibility.json +1 -1
  2. package/dist/claude/environment.d.ts +1 -0
  3. package/dist/claude/environment.js +6 -0
  4. package/dist/claude/environment.js.map +1 -0
  5. package/dist/claude/modelCatalog.js +2 -1
  6. package/dist/claude/modelCatalog.js.map +1 -1
  7. package/dist/claude/service.d.ts +2 -1
  8. package/dist/claude/service.js +27 -5
  9. package/dist/claude/service.js.map +1 -1
  10. package/dist/claude/session/providerRuntime.d.ts +1 -1
  11. package/dist/claude/session/providerRuntime.js +1 -1
  12. package/dist/claude/session/providerRuntime.js.map +1 -1
  13. package/dist/claude/session/providerRuntimeFactory.d.ts +1 -0
  14. package/dist/claude/session/providerRuntimeFactory.js +6 -3
  15. package/dist/claude/session/providerRuntimeFactory.js.map +1 -1
  16. package/dist/claude/session/runtime.d.ts +8 -0
  17. package/dist/claude/session/runtime.js +33 -5
  18. package/dist/claude/session/runtime.js.map +1 -1
  19. package/dist/claude/session/scopeState.d.ts +9 -4
  20. package/dist/claude/session/scopeState.js +6 -2
  21. package/dist/claude/session/scopeState.js.map +1 -1
  22. package/dist/claude/session/session.d.ts +8 -0
  23. package/dist/claude/session/session.js +262 -59
  24. package/dist/claude/session/session.js.map +1 -1
  25. package/dist/claude/session/shellRunner.js +2 -1
  26. package/dist/claude/session/shellRunner.js.map +1 -1
  27. package/dist/claude/toolMapper.js +8 -3
  28. package/dist/claude/toolMapper.js.map +1 -1
  29. package/dist/config/config.d.ts +1 -0
  30. package/dist/config/config.js +4 -1
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/gateway/clientConnection.js +26 -26
  33. package/dist/gateway/clientConnection.js.map +1 -1
  34. package/dist/gateway/subscriptions.d.ts +1 -0
  35. package/dist/gateway/subscriptions.js +4 -0
  36. package/dist/gateway/subscriptions.js.map +1 -1
  37. package/dist/handoff/service.js +27 -11
  38. package/dist/handoff/service.js.map +1 -1
  39. package/dist/handoff/store.d.ts +1 -0
  40. package/dist/handoff/store.js +6 -0
  41. package/dist/handoff/store.js.map +1 -1
  42. package/examples/config.toml +1 -0
  43. package/legal/THIRD_PARTY_NOTICES.md +1 -28
  44. 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: { ...options, abortController: this.abort },
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 instanceof 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":"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"}
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
- readonly itemId: string;
27
- readonly providerId: string;
28
- readonly turnId: string;
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, lastClaudeMessageUuid: null, lastCompletedTurnId: null,
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":"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"}
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;