@gkorepanov/ccodex 0.4.23 → 0.4.25

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 (49) hide show
  1. package/config/compatibility.json +1 -1
  2. package/dist/claude/service.d.ts +3 -1
  3. package/dist/claude/service.js +16 -5
  4. package/dist/claude/service.js.map +1 -1
  5. package/dist/claude/session/providerRuntimeFactory.js +15 -7
  6. package/dist/claude/session/providerRuntimeFactory.js.map +1 -1
  7. package/dist/claude/session/runtime.d.ts +10 -0
  8. package/dist/claude/session/runtime.js +44 -2
  9. package/dist/claude/session/runtime.js.map +1 -1
  10. package/dist/claude/session/session.js +30 -19
  11. package/dist/claude/session/session.js.map +1 -1
  12. package/dist/daemon/ownership.js +9 -1
  13. package/dist/daemon/ownership.js.map +1 -1
  14. package/dist/gateway/clientConnection.js +39 -12
  15. package/dist/gateway/clientConnection.js.map +1 -1
  16. package/dist/gateway/optimisticSideThreads.d.ts +11 -5
  17. package/dist/gateway/optimisticSideThreads.js +103 -47
  18. package/dist/gateway/optimisticSideThreads.js.map +1 -1
  19. package/dist/gateway/remoteControlController.d.ts +2 -0
  20. package/dist/gateway/remoteControlController.js +8 -0
  21. package/dist/gateway/remoteControlController.js.map +1 -1
  22. package/dist/gateway/remoteRelay.d.ts +2 -0
  23. package/dist/gateway/remoteRelay.js +32 -2
  24. package/dist/gateway/remoteRelay.js.map +1 -1
  25. package/dist/gateway/server.js +31 -1
  26. package/dist/gateway/server.js.map +1 -1
  27. package/dist/gateway/stockSideThreads.d.ts +3 -6
  28. package/dist/gateway/stockSideThreads.js +38 -43
  29. package/dist/gateway/stockSideThreads.js.map +1 -1
  30. package/dist/gateway/threadList.d.ts +17 -3
  31. package/dist/gateway/threadList.js +77 -17
  32. package/dist/gateway/threadList.js.map +1 -1
  33. package/dist/handoff/service.js +1 -0
  34. package/dist/handoff/service.js.map +1 -1
  35. package/dist/handoff/store.d.ts +21 -0
  36. package/dist/handoff/store.js +15 -0
  37. package/dist/handoff/store.js.map +1 -1
  38. package/dist/store/HybridStore.d.ts +3 -0
  39. package/dist/store/memoryStore.d.ts +5 -0
  40. package/dist/store/memoryStore.js +12 -0
  41. package/dist/store/memoryStore.js.map +1 -1
  42. package/dist/store/sqliteStore.d.ts +2 -0
  43. package/dist/store/sqliteStore.js +30 -0
  44. package/dist/store/sqliteStore.js.map +1 -1
  45. package/dist/store/threadFilter.d.ts +2 -0
  46. package/dist/store/threadFilter.js +8 -0
  47. package/dist/store/threadFilter.js.map +1 -1
  48. package/legal/THIRD_PARTY_NOTICES.md +0 -27
  49. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"providerRuntimeFactory.js","sourceRoot":"","sources":["../../../src/claude/session/providerRuntimeFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerRuntimeFactory.js","sourceRoot":"","sources":["../../../src/claude/session/providerRuntimeFactory.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { type InterruptCancellation } from "../interruptCompat.js";
3
3
  import type { ClaudeQueryFactory } from "../queryFactory.js";
4
4
  import { type ClaudeProviderFact } from "./providerFacts.js";
5
5
  export type ClaudeRuntimeFact = ClaudeProviderFact;
6
+ /** Longest stretch a buffered SDK batch may hold the event loop before socket reads get a turn. */
7
+ export declare const EVENT_LOOP_YIELD_BUDGET_MS = 20;
6
8
  export interface ClaudeRuntimeSettings {
7
9
  readonly model: string;
8
10
  readonly permissionMode: PermissionMode;
@@ -27,6 +29,7 @@ export declare class ClaudeRuntime {
27
29
  private closed;
28
30
  private closing;
29
31
  private exited;
32
+ private awaitingNext;
30
33
  private readonly capabilities;
31
34
  private readonly ownedMessageIds;
32
35
  private stderrTail;
@@ -50,5 +53,12 @@ export declare class ClaudeRuntime {
50
53
  interruptOwned(ownedMessageIds?: ReadonlySet<string>): Promise<InterruptCancellation>;
51
54
  close(): Promise<void>;
52
55
  private consume;
56
+ /**
57
+ * Resolves once every SDK message buffered before now has been submitted.
58
+ * SDK callbacks (canUseTool, hooks, elicitation) bypass the message stream;
59
+ * gating them here keeps a callback from outrunning the message that
60
+ * precedes it while the consumer yields the event loop mid-batch.
61
+ */
62
+ drained(): Promise<void>;
53
63
  private markExited;
54
64
  }
@@ -1,6 +1,9 @@
1
+ import { setImmediate as yieldToEventLoop } from "node:timers/promises";
1
2
  import { AsyncQueue } from "../asyncQueue.js";
2
3
  import { interruptAndCancelOwned } from "../interruptCompat.js";
3
4
  import { normalizeProviderMessage, } from "./providerFacts.js";
5
+ /** Longest stretch a buffered SDK batch may hold the event loop before socket reads get a turn. */
6
+ export const EVENT_LOOP_YIELD_BUDGET_MS = 20;
4
7
  export class ClaudeRuntimeStartupError extends Error {
5
8
  retryableEarlyExit;
6
9
  constructor(message, retryableEarlyExit, options) {
@@ -24,6 +27,7 @@ export class ClaudeRuntime {
24
27
  closed = false;
25
28
  closing = false;
26
29
  exited = false;
30
+ awaitingNext = false;
27
31
  capabilities = new Set();
28
32
  ownedMessageIds = new Set();
29
33
  stderrTail = "";
@@ -138,9 +142,36 @@ export class ClaudeRuntime {
138
142
  async consume() {
139
143
  let exitSubmitted = false;
140
144
  try {
141
- for await (const message of this.query) {
145
+ // A buffered SDK batch resolves through microtasks only, so the poll
146
+ // phase never runs and every stock/App socket stays unread until the
147
+ // batch drains. Hop a macrotask once a batch has held the loop for the
148
+ // budget; hopping after every message would widen the window in which
149
+ // an SDK callback (canUseTool) outruns its preceding message.
150
+ const iterator = this.query[Symbol.asyncIterator]();
151
+ let loopHeldSince = performance.now();
152
+ for (;;) {
153
+ const waitedFrom = performance.now();
154
+ this.awaitingNext = true;
155
+ const next = await iterator.next();
156
+ this.awaitingNext = false;
157
+ if (next.done)
158
+ break;
159
+ // A next() that had to wait means the loop ran other work meanwhile;
160
+ // only an instantly resolved (buffered) message accrues held time.
161
+ if (performance.now() - waitedFrom >= 1)
162
+ loopHeldSince = performance.now();
142
163
  this.providerOutputSeen = true;
143
- await this.submitFact(normalizeProviderMessage(this.runtimeGeneration, message));
164
+ try {
165
+ await this.submitFact(normalizeProviderMessage(this.runtimeGeneration, next.value));
166
+ }
167
+ catch (error) {
168
+ await iterator.return?.(undefined).catch(() => undefined);
169
+ throw error;
170
+ }
171
+ if (performance.now() - loopHeldSince >= EVENT_LOOP_YIELD_BUDGET_MS) {
172
+ await yieldToEventLoop();
173
+ loopHeldSince = performance.now();
174
+ }
144
175
  }
145
176
  this.markExited();
146
177
  exitSubmitted = true;
@@ -160,6 +191,17 @@ export class ClaudeRuntime {
160
191
  });
161
192
  }
162
193
  }
194
+ /**
195
+ * Resolves once every SDK message buffered before now has been submitted.
196
+ * SDK callbacks (canUseTool, hooks, elicitation) bypass the message stream;
197
+ * gating them here keeps a callback from outrunning the message that
198
+ * precedes it while the consumer yields the event loop mid-batch.
199
+ */
200
+ async drained() {
201
+ do
202
+ await yieldToEventLoop();
203
+ while (!this.awaitingNext && !this.exited);
204
+ }
163
205
  markExited(error) {
164
206
  this.exited = true;
165
207
  this.rejectInitializationExit(this.initializationFailure(error ?? new Error(`Claude runtime generation ${this.runtimeGeneration} exited during initialization.`)));
@@ -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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"}
@@ -673,7 +673,7 @@ export class ClaudeSession {
673
673
  runtimeGeneration: startup.runtimeGeneration,
674
674
  fact: { type: "sync" },
675
675
  source: { providerEventId: null, providerEventType: null },
676
- });
676
+ }).catch(() => undefined);
677
677
  return candidate;
678
678
  }
679
679
  catch (error) {
@@ -1217,13 +1217,23 @@ export class ClaudeSession {
1217
1217
  });
1218
1218
  }
1219
1219
  if (failure) {
1220
+ this.runtimeDependencies?.logger.error("claude.provider.projection-failed", {
1221
+ threadId: this.threadId, providerEventType: fact.providerEventType, error: failure,
1222
+ });
1220
1223
  await this.submitProviderProjection(fact.runtimeGeneration, {
1221
- type: "runtimeExited",
1224
+ type: "runtimeFailed",
1222
1225
  runtimeGeneration: fact.runtimeGeneration,
1223
1226
  message: `Claude provider projection failed: ${failure}`,
1224
1227
  codexErrorInfo: null,
1225
1228
  });
1226
1229
  runtime.beginClose();
1230
+ // Retire outside the provider consumer: close() drains that same
1231
+ // consumer, so awaiting it here would deadlock.
1232
+ void this.retireRuntime(`Claude provider projection failed: ${failure}`).catch((error) => {
1233
+ this.runtimeDependencies?.logger.error("claude.runtime.retirement-failed", {
1234
+ threadId: this.threadId, error: String(error),
1235
+ });
1236
+ });
1227
1237
  }
1228
1238
  });
1229
1239
  }
@@ -1455,7 +1465,7 @@ export class ClaudeSession {
1455
1465
  type: "runtimeLineage",
1456
1466
  action: "catalogInvalidated",
1457
1467
  runtimeGeneration,
1458
- });
1468
+ }).catch(() => undefined);
1459
1469
  }
1460
1470
  }
1461
1471
  await this.submitProviderProjection(runtimeGeneration, {
@@ -1533,7 +1543,7 @@ export class ClaudeSession {
1533
1543
  type: "runtimeLineage",
1534
1544
  action: "catalogInvalidated",
1535
1545
  runtimeGeneration,
1536
- });
1546
+ }).catch(() => undefined);
1537
1547
  }
1538
1548
  if (result.status === "completed" && message.subtype === "success") {
1539
1549
  if (message.structured_output !== undefined) {
@@ -1585,7 +1595,7 @@ export class ClaudeSession {
1585
1595
  action: "authFailure",
1586
1596
  runtimeGeneration,
1587
1597
  reason: message.error,
1588
- });
1598
+ }).catch(() => undefined);
1589
1599
  await this.providerSystemMessage(projection, runtimeGeneration, `Claude authentication failed: ${message.error}`, "error");
1590
1600
  }
1591
1601
  else if (message.output.length > 0) {
@@ -3787,7 +3797,9 @@ export class ClaudeSession {
3787
3797
  ...record,
3788
3798
  thread: {
3789
3799
  ...record.thread,
3790
- status: { type: command.type === "runtimeFailed" ? "systemError" : "notLoaded" },
3800
+ status: { type: command.type === "runtimeFailed" ? "systemError"
3801
+ : record.thread.ephemeral && record.thread.threadSource === "user" && !record.thread.parentThreadId
3802
+ ? "idle" : "notLoaded" },
3791
3803
  updatedAt: Math.floor(Date.now() / 1_000),
3792
3804
  },
3793
3805
  };
@@ -4455,7 +4467,7 @@ export class ClaudeSession {
4455
4467
  type: "cancelInteraction",
4456
4468
  runtimeGeneration: command.runtimeGeneration,
4457
4469
  requestId: command.requestId,
4458
- });
4470
+ }).catch(() => undefined);
4459
4471
  };
4460
4472
  if (command.signal?.aborted)
4461
4473
  queueMicrotask(cancel);
@@ -5370,26 +5382,21 @@ export class ClaudeSession {
5370
5382
  }
5371
5383
  else if (fact.type === "taskNotification" && active) {
5372
5384
  active.notifications += 1;
5373
- if (active.request && !active.request.started)
5374
- active.request.covers = active.notifications;
5375
5385
  if (active.result && (!active.commandObserved || active.commandCompleted))
5376
5386
  this.scheduleContinuation(true);
5377
5387
  }
5378
5388
  else if (fact.type === "request" && active) {
5379
- if (!fact.messageStarted && active.request?.started
5380
- && active.notifications > active.request.covers) {
5381
- active.request = { covers: active.notifications, started: false };
5382
- this.cancelContinuation();
5383
- }
5384
- else if (!active.request && (this.hasNotifications() || active.result)) {
5385
- active.request = { covers: active.notifications, started: false };
5389
+ if (!fact.messageStarted || !active.request) {
5390
+ active.request = { covers: active.notifications, beforeFirstToken: active.notifications, started: false };
5386
5391
  this.cancelContinuation();
5387
5392
  }
5388
5393
  if (fact.messageStarted) {
5389
5394
  if (active.result && (this.hasNotifications() || active.goals > 0))
5390
5395
  delete active.result;
5391
- if (active.request)
5396
+ if (active.request && !active.request.started) {
5397
+ active.request.beforeFirstToken = active.notifications;
5392
5398
  active.request.started = true;
5399
+ }
5393
5400
  active.goalInFlight = active.goals > 0;
5394
5401
  this.cancelContinuation();
5395
5402
  }
@@ -5413,7 +5420,11 @@ export class ClaudeSession {
5413
5420
  active.goalInFlight = false;
5414
5421
  }
5415
5422
  if (active.request) {
5416
- active.acknowledged = Math.max(active.acknowledged, active.request.covers);
5423
+ // A human request cannot consume notifications that arrive while it is
5424
+ // already in flight. A task-notification request may announce its own
5425
+ // notification after requesting, but before its first streamed token.
5426
+ const covers = fact.origin === "task-notification" ? active.request.beforeFirstToken : active.request.covers;
5427
+ active.acknowledged = Math.max(active.acknowledged, covers);
5417
5428
  delete active.request;
5418
5429
  }
5419
5430
  else if (fact.origin === "task-notification")
@@ -5805,7 +5816,7 @@ export class ClaudeSession {
5805
5816
  const generation = this.lifecycle.notifications;
5806
5817
  this.continuationTimer = setTimeout(() => {
5807
5818
  void this.submit({ type: "lifecycle", runtimeGeneration: this.runtimeGeneration,
5808
- fact: { type: "timer", generation }, source: nullSource });
5819
+ fact: { type: "timer", generation }, source: nullSource }).catch(() => undefined);
5809
5820
  }, 5_000);
5810
5821
  this.continuationTimer.unref();
5811
5822
  }