@zakstam/codex-local-component 0.10.3 → 0.11.0

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 (89) hide show
  1. package/README.md +18 -0
  2. package/dist/client/index.d.ts +2 -2
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +2 -2
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/threads.d.ts +42 -0
  7. package/dist/client/threads.d.ts.map +1 -1
  8. package/dist/client/threads.js +21 -0
  9. package/dist/client/threads.js.map +1 -1
  10. package/dist/client/turns.d.ts +12 -0
  11. package/dist/client/turns.d.ts.map +1 -1
  12. package/dist/client/turns.js +6 -0
  13. package/dist/client/turns.js.map +1 -1
  14. package/dist/component/deletionInternal.d.ts +6 -0
  15. package/dist/component/deletionInternal.d.ts.map +1 -0
  16. package/dist/component/deletionInternal.js +615 -0
  17. package/dist/component/deletionInternal.js.map +1 -0
  18. package/dist/component/dispatch.d.ts.map +1 -1
  19. package/dist/component/dispatch.js +49 -32
  20. package/dist/component/dispatch.js.map +1 -1
  21. package/dist/component/index.d.ts +1 -0
  22. package/dist/component/index.d.ts.map +1 -1
  23. package/dist/component/index.js +1 -0
  24. package/dist/component/index.js.map +1 -1
  25. package/dist/component/ingest/applyApprovals.d.ts.map +1 -1
  26. package/dist/component/ingest/applyApprovals.js +4 -0
  27. package/dist/component/ingest/applyApprovals.js.map +1 -1
  28. package/dist/component/ingest/applyMessages.d.ts.map +1 -1
  29. package/dist/component/ingest/applyMessages.js +8 -0
  30. package/dist/component/ingest/applyMessages.js.map +1 -1
  31. package/dist/component/ingest/applyStreams.d.ts.map +1 -1
  32. package/dist/component/ingest/applyStreams.js +11 -0
  33. package/dist/component/ingest/applyStreams.js.map +1 -1
  34. package/dist/component/ingest/applyTurns.d.ts.map +1 -1
  35. package/dist/component/ingest/applyTurns.js +1 -0
  36. package/dist/component/ingest/applyTurns.js.map +1 -1
  37. package/dist/component/ingest/checkpoints.d.ts.map +1 -1
  38. package/dist/component/ingest/checkpoints.js +18 -2
  39. package/dist/component/ingest/checkpoints.js.map +1 -1
  40. package/dist/component/ingest/index.d.ts.map +1 -1
  41. package/dist/component/ingest/index.js +3 -0
  42. package/dist/component/ingest/index.js.map +1 -1
  43. package/dist/component/ingest/sessionGuard.d.ts.map +1 -1
  44. package/dist/component/ingest/sessionGuard.js +8 -7
  45. package/dist/component/ingest/sessionGuard.js.map +1 -1
  46. package/dist/component/ingest/stateCache.d.ts.map +1 -1
  47. package/dist/component/ingest/stateCache.js +1 -0
  48. package/dist/component/ingest/stateCache.js.map +1 -1
  49. package/dist/component/ingest/types.d.ts +2 -0
  50. package/dist/component/ingest/types.d.ts.map +1 -1
  51. package/dist/component/schema.d.ts +141 -16
  52. package/dist/component/schema.d.ts.map +1 -1
  53. package/dist/component/schema.js +85 -12
  54. package/dist/component/schema.js.map +1 -1
  55. package/dist/component/serverRequests.d.ts +1 -1
  56. package/dist/component/serverRequests.d.ts.map +1 -1
  57. package/dist/component/serverRequests.js +7 -2
  58. package/dist/component/serverRequests.js.map +1 -1
  59. package/dist/component/streamStats.d.ts.map +1 -1
  60. package/dist/component/streamStats.js +28 -0
  61. package/dist/component/streamStats.js.map +1 -1
  62. package/dist/component/streams.d.ts.map +1 -1
  63. package/dist/component/streams.js +7 -4
  64. package/dist/component/streams.js.map +1 -1
  65. package/dist/component/threads.d.ts +87 -0
  66. package/dist/component/threads.d.ts.map +1 -1
  67. package/dist/component/threads.js +328 -6
  68. package/dist/component/threads.js.map +1 -1
  69. package/dist/component/tokenUsage.d.ts +3 -3
  70. package/dist/component/tokenUsage.d.ts.map +1 -1
  71. package/dist/component/tokenUsage.js +16 -2
  72. package/dist/component/tokenUsage.js.map +1 -1
  73. package/dist/component/turns.d.ts +24 -0
  74. package/dist/component/turns.d.ts.map +1 -1
  75. package/dist/component/turns.js +101 -2
  76. package/dist/component/turns.js.map +1 -1
  77. package/dist/component/utils.d.ts +10 -0
  78. package/dist/component/utils.d.ts.map +1 -1
  79. package/dist/component/utils.js +20 -0
  80. package/dist/component/utils.js.map +1 -1
  81. package/dist/host/runtime.d.ts.map +1 -1
  82. package/dist/host/runtime.js +126 -5
  83. package/dist/host/runtime.js.map +1 -1
  84. package/dist/host/surfaceGenerator.js +1 -1
  85. package/dist/host/surfaceGenerator.js.map +1 -1
  86. package/docs/CLIENT_AND_REACT_HOOKS.md +9 -0
  87. package/docs/DISPATCH_MANAGED_REFERENCE_HOST.md +1 -0
  88. package/docs/OPERATIONS_AND_ERRORS.md +38 -1
  89. package/package.json +1 -1
@@ -2,12 +2,19 @@ import { buildAccountLoginCancelRequest, buildAccountLoginStartRequest, buildAcc
2
2
  import { CodexLocalBridge } from "../local-adapter/bridge.js";
3
3
  import { normalizeInboundDeltas } from "./normalizeInboundDeltas.js";
4
4
  import { terminalStatusForPayload } from "../protocol/events.js";
5
+ const PENDING_SERVER_REQUEST_RETRY_DELAY_MS = 150;
6
+ const PENDING_SERVER_REQUEST_RETRY_TTL_MS = 5_000;
7
+ const PENDING_SERVER_REQUEST_MAX_RETRIES = 20;
5
8
  function shouldDropRejectedIngestBatch(errors) {
6
9
  if (errors.length === 0) {
7
10
  return false;
8
11
  }
9
12
  return errors.every((error) => error.code === "OUT_OF_ORDER");
10
13
  }
14
+ function isTurnNotFoundPersistenceError(error) {
15
+ const message = error instanceof Error ? error.message : String(error);
16
+ return message.includes("Turn not found:");
17
+ }
11
18
  export class CodexHostRuntimeError extends Error {
12
19
  code;
13
20
  constructor(code, message) {
@@ -176,6 +183,8 @@ export function createCodexHostRuntime(args) {
176
183
  let flushTail = Promise.resolve();
177
184
  let ingestFlushMs = 250;
178
185
  const pendingServerRequests = new Map();
186
+ const pendingServerRequestRetries = new Map();
187
+ let pendingServerRequestRetryTimer = null;
179
188
  const pendingAuthTokensRefreshRequests = new Map();
180
189
  const enqueuedByKind = new Map();
181
190
  const skippedByKind = new Map();
@@ -267,10 +276,97 @@ export function createCodexHostRuntime(args) {
267
276
  runtimeBridge.send(message);
268
277
  });
269
278
  };
279
+ const clearPendingServerRequestRetryTimer = () => {
280
+ if (pendingServerRequestRetryTimer) {
281
+ clearTimeout(pendingServerRequestRetryTimer);
282
+ pendingServerRequestRetryTimer = null;
283
+ }
284
+ };
285
+ const schedulePendingServerRequestRetry = () => {
286
+ if (pendingServerRequestRetries.size === 0 || pendingServerRequestRetryTimer) {
287
+ return;
288
+ }
289
+ pendingServerRequestRetryTimer = setTimeout(() => {
290
+ pendingServerRequestRetryTimer = null;
291
+ void flushPendingServerRequestRetries();
292
+ }, PENDING_SERVER_REQUEST_RETRY_DELAY_MS);
293
+ };
294
+ const enqueuePendingServerRequestRetry = (request, error) => {
295
+ const key = toRequestKey(request.requestId);
296
+ const existing = pendingServerRequestRetries.get(key);
297
+ const reason = error instanceof Error ? error.message : String(error);
298
+ if (existing) {
299
+ pendingServerRequestRetries.set(key, {
300
+ request,
301
+ attempts: existing.attempts + 1,
302
+ firstQueuedAt: existing.firstQueuedAt,
303
+ lastError: reason,
304
+ });
305
+ }
306
+ else {
307
+ pendingServerRequestRetries.set(key, {
308
+ request,
309
+ attempts: 1,
310
+ firstQueuedAt: Date.now(),
311
+ lastError: reason,
312
+ });
313
+ }
314
+ schedulePendingServerRequestRetry();
315
+ };
316
+ const flushPendingServerRequestRetries = async () => {
317
+ if (!actor || pendingServerRequestRetries.size === 0) {
318
+ return;
319
+ }
320
+ const nowMs = Date.now();
321
+ for (const [key, entry] of pendingServerRequestRetries.entries()) {
322
+ if (entry.attempts >= PENDING_SERVER_REQUEST_MAX_RETRIES ||
323
+ nowMs - entry.firstQueuedAt >= PENDING_SERVER_REQUEST_RETRY_TTL_MS) {
324
+ pendingServerRequestRetries.delete(key);
325
+ args.handlers?.onProtocolError?.({
326
+ message: `Dropped pending server request after retry budget exhausted: requestId=${String(entry.request.requestId)} ` +
327
+ `turnId=${entry.request.turnId} reason=${entry.lastError}`,
328
+ line: entry.request.payloadJson,
329
+ });
330
+ continue;
331
+ }
332
+ try {
333
+ await args.persistence.upsertPendingServerRequest({ actor, request: entry.request });
334
+ pendingServerRequestRetries.delete(key);
335
+ }
336
+ catch (error) {
337
+ if (isTurnNotFoundPersistenceError(error)) {
338
+ pendingServerRequestRetries.set(key, {
339
+ ...entry,
340
+ attempts: entry.attempts + 1,
341
+ lastError: error instanceof Error ? error.message : String(error),
342
+ });
343
+ continue;
344
+ }
345
+ pendingServerRequestRetries.delete(key);
346
+ args.handlers?.onProtocolError?.({
347
+ message: `Failed to persist pending server request: ${error instanceof Error ? error.message : String(error)}`,
348
+ line: entry.request.payloadJson,
349
+ });
350
+ }
351
+ }
352
+ if (pendingServerRequestRetries.size > 0) {
353
+ schedulePendingServerRequestRetry();
354
+ }
355
+ };
270
356
  const registerPendingServerRequest = async (request) => {
271
357
  pendingServerRequests.set(toRequestKey(request.requestId), request);
272
358
  if (actor) {
273
- await args.persistence.upsertPendingServerRequest({ actor, request });
359
+ try {
360
+ await args.persistence.upsertPendingServerRequest({ actor, request });
361
+ }
362
+ catch (error) {
363
+ if (isTurnNotFoundPersistenceError(error)) {
364
+ enqueuePendingServerRequestRetry(request, error);
365
+ }
366
+ else {
367
+ throw error;
368
+ }
369
+ }
274
370
  }
275
371
  emitState();
276
372
  };
@@ -281,6 +377,7 @@ export function createCodexHostRuntime(args) {
281
377
  return;
282
378
  }
283
379
  pendingServerRequests.delete(key);
380
+ pendingServerRequestRetries.delete(key);
284
381
  if (actor) {
285
382
  await args.persistence.resolvePendingServerRequest({
286
383
  actor,
@@ -517,6 +614,7 @@ export function createCodexHostRuntime(args) {
517
614
  throw new Error(`ingestSafe rejected: ${result.errors.map((err) => err.code).join(",")}`);
518
615
  }
519
616
  }
617
+ await flushPendingServerRequestRetries();
520
618
  });
521
619
  flushTail = next.catch((error) => {
522
620
  const reason = error instanceof Error ? error.message : String(error);
@@ -535,6 +633,21 @@ export function createCodexHostRuntime(args) {
535
633
  }
536
634
  return turnId;
537
635
  };
636
+ const toCanonicalPendingServerRequest = (args) => {
637
+ const runtimeTurnId = args.event.turnId ?? args.request.turnId;
638
+ const persistedTurnId = resolvePersistedTurnId(runtimeTurnId) ?? args.request.turnId;
639
+ return {
640
+ ...args.request,
641
+ threadId: args.persistedThreadId,
642
+ turnId: persistedTurnId,
643
+ payloadJson: rewritePayloadTurnId({
644
+ kind: args.event.kind,
645
+ payloadJson: args.request.payloadJson,
646
+ persistedTurnId,
647
+ ...(runtimeTurnId ? { runtimeTurnId } : {}),
648
+ }),
649
+ };
650
+ };
538
651
  const rewritePayloadTurnId = (args) => {
539
652
  const { kind, payloadJson, runtimeTurnId, persistedTurnId } = args;
540
653
  if (!runtimeTurnId || runtimeTurnId === persistedTurnId) {
@@ -544,7 +657,8 @@ export function createCodexHostRuntime(args) {
544
657
  try {
545
658
  parsed = JSON.parse(payloadJson);
546
659
  }
547
- catch {
660
+ catch (error) {
661
+ void error;
548
662
  return payloadJson;
549
663
  }
550
664
  const message = asObject(parsed);
@@ -785,9 +899,13 @@ export function createCodexHostRuntime(args) {
785
899
  if (pendingServerRequest) {
786
900
  const persistedThreadId = threadId;
787
901
  if (persistedThreadId) {
902
+ const canonicalPendingServerRequest = toCanonicalPendingServerRequest({
903
+ request: pendingServerRequest,
904
+ event,
905
+ persistedThreadId,
906
+ });
788
907
  await registerPendingServerRequest({
789
- ...pendingServerRequest,
790
- threadId: persistedThreadId,
908
+ ...canonicalPendingServerRequest,
791
909
  });
792
910
  }
793
911
  }
@@ -805,7 +923,7 @@ export function createCodexHostRuntime(args) {
805
923
  const envelope = asObject(parsed);
806
924
  const payload = envelope ? asObject(envelope.params) ?? envelope : null;
807
925
  const tokenUsage = payload ? asObject(payload.tokenUsage) : null;
808
- const resolvedTurnId = event.turnId ?? turnId;
926
+ const resolvedTurnId = resolvePersistedTurnId(event.turnId) ?? turnId;
809
927
  if (tokenUsage && resolvedTurnId) {
810
928
  const total = asObject(tokenUsage.total);
811
929
  const last = asObject(tokenUsage.last);
@@ -853,6 +971,7 @@ export function createCodexHostRuntime(args) {
853
971
  const forceFlush = event.kind === "turn/completed" ||
854
972
  event.kind === "error";
855
973
  await enqueueIngestDelta(delta, forceFlush);
974
+ await flushPendingServerRequestRetries();
856
975
  if (event.turnId && (event.kind === "turn/completed" || event.kind === "error")) {
857
976
  dispatchByTurnId.delete(event.turnId);
858
977
  }
@@ -999,6 +1118,7 @@ export function createCodexHostRuntime(args) {
999
1118
  };
1000
1119
  const stop = async () => {
1001
1120
  clearFlushTimer();
1121
+ clearPendingServerRequestRetryTimer();
1002
1122
  await flushQueue();
1003
1123
  for (const [, pending] of pendingRequests) {
1004
1124
  pending.reject?.(new Error("Bridge stopped before request completed."));
@@ -1023,6 +1143,7 @@ export function createCodexHostRuntime(args) {
1023
1143
  startupCwd = undefined;
1024
1144
  pendingRequests.clear();
1025
1145
  pendingServerRequests.clear();
1146
+ pendingServerRequestRetries.clear();
1026
1147
  pendingAuthTokensRefreshRequests.clear();
1027
1148
  resetIngestMetrics();
1028
1149
  emitState(null);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/host/runtime.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,6 @@ export function renderHostPresetMatrixMarkdown() {
51
51
  return `<!-- AUTO-GENERATED by packages/codex-local-component/scripts/generate-host-surfaces.mjs -->\n\n# Host Preset Matrix\n\nCanonical source for host preset surfaces.\n\n## Presets\n\n${tableHeader}\n${tableRows}\n\n## Deterministic query surface\n\nAll focused preset builders include:\n\n${renderBulletList(commonQueries)}\n\nAdditional query endpoints:\n\n- Dispatch-managed only: ${quotedList(dispatchOnlyQueries)}\n- Runtime-owned only: ${quotedList(runtimeOnlyQueries)}\n\n## Deterministic mutation surface\n\nAll focused preset builders include:\n\n${renderBulletList(commonMutations)}\n\nDispatch-managed additionally includes:\n\n${renderBulletList(dispatchOnlyMutations)}\n\n## Wiring preflight\n\nCall \`validateHostWiring\` after deploy/startup to fail fast on component mount drift.\n\nExample:\n\n\`\`\`ts\nawait ctx.runQuery(api.chat.validateHostWiring, {\n actor,\n});\n\`\`\`\n\nResponse shape:\n\n- \`ok: boolean\`\n- \`checks: Array<{ name: string; ok: boolean; error?: string }>\`\n\nIf \`ok\` is false, one or more required \`components.codexLocal.*\` paths are not reachable in the current deployment.\n`;
52
52
  }
53
53
  export function renderHostWiringSmokeScript(options) {
54
- return `import assert from "node:assert/strict";\nimport { ConvexHttpClient } from "convex/browser";\nimport { api } from "../convex/_generated/api.js";\nimport { resolveConvexUrl } from "${options.resolverImportPath}";\n\nasync function main() {\n const convexUrl = resolveConvexUrl({\n includeConvexDirEnv: ${options.includeConvexDirEnv ? "true" : "false"},\n prioritizeVite: ${options.prioritizeVite ? "true" : "false"},\n });\n assert.ok(convexUrl, "Missing Convex URL. Run \`pnpm run dev:convex:once\` first.");\n\n const convex = new ConvexHttpClient(convexUrl);\n const actor = {\n ...(process.env.ACTOR_USER_ID ? { userId: process.env.ACTOR_USER_ID } : {}),\n };\n const validation = await convex.query(api.chat.validateHostWiring, { actor });\n assert.equal(validation.ok, true, \`validateHostWiring failed: \${JSON.stringify(validation.checks)}\`);\n console.log("${options.label} wiring smoke passed");\n}\n\nmain().catch((error) => {\n const reason = error instanceof Error ? error.message : String(error);\n console.error("${options.label} wiring smoke failed: " + reason);\n process.exit(1);\n});\n`;
54
+ return `import assert from "node:assert/strict";\nimport { ConvexHttpClient } from "convex/browser";\nimport { api } from "../convex/_generated/api.js";\nimport { resolveConvexUrl } from "${options.resolverImportPath}";\n\nasync function main() {\n const convexUrl = resolveConvexUrl({\n includeConvexDirEnv: ${options.includeConvexDirEnv ? "true" : "false"},\n prioritizeVite: ${options.prioritizeVite ? "true" : "false"},\n });\n assert.ok(convexUrl, "Missing Convex URL. Run \`pnpm run dev:convex:once\` first.");\n\n const convex = new ConvexHttpClient(convexUrl);\n const fallbackUserId = "${options.label}-wiring-check-user";\n const actor = {\n userId: process.env.ACTOR_USER_ID?.trim() || fallbackUserId,\n };\n const validation = await convex.query(api.chat.validateHostWiring, { actor });\n assert.equal(validation.ok, true, \`validateHostWiring failed: \${JSON.stringify(validation.checks)}\`);\n console.log("${options.label} wiring smoke passed");\n}\n\nmain().catch((error) => {\n const reason = error instanceof Error ? error.message : String(error);\n console.error("${options.label} wiring smoke failed: " + reason);\n process.exit(1);\n});\n`;
55
55
  }
56
56
  //# sourceMappingURL=surfaceGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surfaceGenerator.js","sourceRoot":"","sources":["../../src/host/surfaceGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,iBAAiB,GAAG;IACxB,eAAe,EAAE,gCAAgC;IACjD,YAAY,EAAE,6BAA6B;CACnC,CAAC;AAaX,SAAS,UAAU,CAAC,KAAwB;IAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA6B,EAAE,IAAuB;IAC/E,MAAM,OAAO,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,GAAG,MAAM,OAAO,SAAS,MAAM,IAAI,GAAG,IAAI,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAwB,EAAE,MAAyB;IAC3E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB,EAAE,MAAyB;IAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAwB;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAyC;IAC/E,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO,yVAAyV,aAAa,2PAA2P,aAAa,2DAA2D,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5xB,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,iNAAiN,CAAC;AAC3N,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,4IAA4I,CAAC;AACtJ,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC;IAEnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAE7E,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAErF,MAAM,WAAW,GAAG;QAClB,0EAA0E;QAC1E,iCAAiC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvD,OAAO,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,UAAU,UAAU,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,YAAY,IAAI,CACnI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,uLAAuL,WAAW,KAAK,SAAS,iFAAiF,gBAAgB,CAAC,aAAa,CAAC,+DAA+D,UAAU,CAAC,mBAAmB,CAAC,2BAA2B,UAAU,CAAC,kBAAkB,CAAC,oFAAoF,gBAAgB,CAAC,eAAe,CAAC,kDAAkD,gBAAgB,CAAC,qBAAqB,CAAC,+bAA+b,CAAC;AAC9mC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAqC;IAC/E,OAAO,uLAAuL,OAAO,CAAC,kBAAkB,mGAAmG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BAA0B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kdAAkd,OAAO,CAAC,KAAK,uJAAuJ,OAAO,CAAC,KAAK,+DAA+D,CAAC;AACjnC,CAAC"}
1
+ {"version":3,"file":"surfaceGenerator.js","sourceRoot":"","sources":["../../src/host/surfaceGenerator.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,19 @@ Common helpers used by consumers:
35
35
  - `replayStreams`
36
36
  - `resumeStreamReplay`
37
37
  - `createThread`
38
+ - `deleteThreadCascade`
39
+ - `scheduleThreadDeleteCascade`
40
+ - `purgeActorCodexData`
41
+ - `schedulePurgeActorCodexData`
42
+ - `cancelScheduledDeletion`
43
+ - `forceRunScheduledDeletion`
44
+ - `getDeletionJobStatus`
38
45
  - `resolveThread`
39
46
  - `resumeThread`
40
47
  - `getThreadState`
41
48
  - `listThreads`
49
+ - `deleteTurnCascade`
50
+ - `scheduleTurnDeleteCascade`
42
51
 
43
52
  ## React Hooks
44
53
 
@@ -27,6 +27,7 @@ In this mode:
27
27
 
28
28
  - `runtime.sendTurn(...)` is invalid (`E_RUNTIME_DISPATCH_MODE_CONFLICT`).
29
29
  - Turns execute through `runtime.startClaimedTurn(...)`.
30
+ - `markTurnDispatchStarted` is claim-token guarded; invalid/missing token is a no-op, so hosts should confirm transition with `getDispatchObservability` / `getTurnDispatchState`.
30
31
 
31
32
  ## Expected Host Surface
32
33
 
@@ -14,6 +14,10 @@ This is an operations/runbook companion to `../LLMS.md`.
14
14
  - `E_RUNTIME_INGEST_FLUSH_FAILED`: queued ingest flush failed and was surfaced explicitly.
15
15
 
16
16
  Terminal turn artifacts are reconciled through one internal mutation path; avoid app-side/manual split finalization of turns, messages, and streams.
17
+ Relationship integrity is reference-first: parent/child tables store Convex `v.id(...)` references (`threadRef`, `turnRef`, `streamRef`) alongside external ids.
18
+ Treat these refs as canonical for integrity checks and internal joins; string ids remain protocol-facing identifiers.
19
+ Runtime side-channel persistence (`pending server requests`, `token usage`) canonicalizes runtime turn ids to persisted turn ids before writes.
20
+ If a side-channel write races ahead of turn persistence, runtime retries briefly with a bounded retry budget instead of surfacing a fatal protocol error.
17
21
  Legacy `codex/event/*` turn binding accepts explicit `msg.turn_id`/`msg.turnId` only; never derive turn identity from envelope `params.id`.
18
22
  During ingest normalization, payload-derived turn id is authoritative over incoming envelope `turnId`.
19
23
  If a legacy event arrives without canonical payload turn id, ingest fails closed with `E_SYNC_TURN_ID_REQUIRED_FOR_CODEX_EVENT` (safe code: `TURN_ID_REQUIRED_FOR_CODEX_EVENT`).
@@ -36,6 +40,8 @@ Set `CODEX_BRIDGE_RAW_LOG=all|turns` to print raw `codex app-server` stdout line
36
40
  - `E_SYNC_DUP_EVENT_IN_BATCH`
37
41
 
38
42
  Use `sync.ingestSafe` in host wrappers so recoverable conditions return structured status instead of hard-failing the loop.
43
+ `sync.ensureSession` is forward-only and session-safe: when the session already exists for the same actor but a different thread, it rebinds the session to the requested thread and returns `status: "active"` instead of throwing.
44
+ `dispatch.markTurnStarted` treats invalid/missing `claimToken` as a no-op and leaves dispatch state unchanged.
39
45
 
40
46
  Public classifier utilities are available for consistent host/app fallback handling:
41
47
 
@@ -70,7 +76,38 @@ Follow `nextCheckpoints` and persist with `sync.upsertCheckpoint`.
70
76
  2. Start runtime with `dispatchManaged: false`.
71
77
  3. Ensure one active turn at a time (`turnInFlight` guard).
72
78
  4. On protocol errors, restart bridge runtime and rebind session.
73
- 5. On stale/missing session errors, call `sync.ensureSession` then continue ingest.
79
+ 5. On stale/missing/mismatched session errors, call `sync.ensureSession` then continue ingest.
80
+
81
+ ## Deletion Job Runbook
82
+
83
+ Cascade delete APIs are async and job-driven:
84
+
85
+ - `threads.deleteCascade` -> delete one thread subtree
86
+ - `threads.scheduleDeleteCascade` -> schedule one thread subtree delete
87
+ - `turns.deleteCascade` -> delete one turn subtree
88
+ - `turns.scheduleDeleteCascade` -> schedule one turn subtree delete
89
+ - `threads.purgeActorData` -> delete all Codex data in the actor scope
90
+ - `threads.schedulePurgeActorData` -> schedule actor-scope purge
91
+ - `threads.cancelScheduledDeletion` -> cancel scheduled deletion before execution
92
+ - `threads.forceRunScheduledDeletion` -> execute a scheduled deletion immediately
93
+
94
+ Each mutation returns `{ deletionJobId }`.
95
+ Poll `threads.getDeletionJobStatus` until terminal status:
96
+
97
+ - `queued`
98
+ - `scheduled`
99
+ - `running`
100
+ - `completed`
101
+ - `failed`
102
+ - `cancelled`
103
+
104
+ `failed` jobs surface:
105
+
106
+ - `errorCode` (`E_DELETE_JOB_FAILED`)
107
+ - `errorMessage`
108
+
109
+ The delete worker is idempotent and paged; repeated calls create independent jobs.
110
+ Cascade is the default delete behavior for parent scopes (thread and turn targets).
74
111
 
75
112
  ## Pending Request Runbook
76
113
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakstam/codex-local-component",
3
- "version": "0.10.3",
3
+ "version": "0.11.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",