@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.
- package/README.md +18 -0
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/threads.d.ts +42 -0
- package/dist/client/threads.d.ts.map +1 -1
- package/dist/client/threads.js +21 -0
- package/dist/client/threads.js.map +1 -1
- package/dist/client/turns.d.ts +12 -0
- package/dist/client/turns.d.ts.map +1 -1
- package/dist/client/turns.js +6 -0
- package/dist/client/turns.js.map +1 -1
- package/dist/component/deletionInternal.d.ts +6 -0
- package/dist/component/deletionInternal.d.ts.map +1 -0
- package/dist/component/deletionInternal.js +615 -0
- package/dist/component/deletionInternal.js.map +1 -0
- package/dist/component/dispatch.d.ts.map +1 -1
- package/dist/component/dispatch.js +49 -32
- package/dist/component/dispatch.js.map +1 -1
- package/dist/component/index.d.ts +1 -0
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/index.js +1 -0
- package/dist/component/index.js.map +1 -1
- package/dist/component/ingest/applyApprovals.d.ts.map +1 -1
- package/dist/component/ingest/applyApprovals.js +4 -0
- package/dist/component/ingest/applyApprovals.js.map +1 -1
- package/dist/component/ingest/applyMessages.d.ts.map +1 -1
- package/dist/component/ingest/applyMessages.js +8 -0
- package/dist/component/ingest/applyMessages.js.map +1 -1
- package/dist/component/ingest/applyStreams.d.ts.map +1 -1
- package/dist/component/ingest/applyStreams.js +11 -0
- package/dist/component/ingest/applyStreams.js.map +1 -1
- package/dist/component/ingest/applyTurns.d.ts.map +1 -1
- package/dist/component/ingest/applyTurns.js +1 -0
- package/dist/component/ingest/applyTurns.js.map +1 -1
- package/dist/component/ingest/checkpoints.d.ts.map +1 -1
- package/dist/component/ingest/checkpoints.js +18 -2
- package/dist/component/ingest/checkpoints.js.map +1 -1
- package/dist/component/ingest/index.d.ts.map +1 -1
- package/dist/component/ingest/index.js +3 -0
- package/dist/component/ingest/index.js.map +1 -1
- package/dist/component/ingest/sessionGuard.d.ts.map +1 -1
- package/dist/component/ingest/sessionGuard.js +8 -7
- package/dist/component/ingest/sessionGuard.js.map +1 -1
- package/dist/component/ingest/stateCache.d.ts.map +1 -1
- package/dist/component/ingest/stateCache.js +1 -0
- package/dist/component/ingest/stateCache.js.map +1 -1
- package/dist/component/ingest/types.d.ts +2 -0
- package/dist/component/ingest/types.d.ts.map +1 -1
- package/dist/component/schema.d.ts +141 -16
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +85 -12
- package/dist/component/schema.js.map +1 -1
- package/dist/component/serverRequests.d.ts +1 -1
- package/dist/component/serverRequests.d.ts.map +1 -1
- package/dist/component/serverRequests.js +7 -2
- package/dist/component/serverRequests.js.map +1 -1
- package/dist/component/streamStats.d.ts.map +1 -1
- package/dist/component/streamStats.js +28 -0
- package/dist/component/streamStats.js.map +1 -1
- package/dist/component/streams.d.ts.map +1 -1
- package/dist/component/streams.js +7 -4
- package/dist/component/streams.js.map +1 -1
- package/dist/component/threads.d.ts +87 -0
- package/dist/component/threads.d.ts.map +1 -1
- package/dist/component/threads.js +328 -6
- package/dist/component/threads.js.map +1 -1
- package/dist/component/tokenUsage.d.ts +3 -3
- package/dist/component/tokenUsage.d.ts.map +1 -1
- package/dist/component/tokenUsage.js +16 -2
- package/dist/component/tokenUsage.js.map +1 -1
- package/dist/component/turns.d.ts +24 -0
- package/dist/component/turns.d.ts.map +1 -1
- package/dist/component/turns.js +101 -2
- package/dist/component/turns.js.map +1 -1
- package/dist/component/utils.d.ts +10 -0
- package/dist/component/utils.d.ts.map +1 -1
- package/dist/component/utils.js +20 -0
- package/dist/component/utils.js.map +1 -1
- package/dist/host/runtime.d.ts.map +1 -1
- package/dist/host/runtime.js +126 -5
- package/dist/host/runtime.js.map +1 -1
- package/dist/host/surfaceGenerator.js +1 -1
- package/dist/host/surfaceGenerator.js.map +1 -1
- package/docs/CLIENT_AND_REACT_HOOKS.md +9 -0
- package/docs/DISPATCH_MANAGED_REFERENCE_HOST.md +1 -0
- package/docs/OPERATIONS_AND_ERRORS.md +38 -1
- package/package.json +1 -1
package/dist/host/runtime.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
...
|
|
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);
|
package/dist/host/runtime.js.map
CHANGED
|
@@ -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
|
|
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":"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
|
|
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
|
|