@zakstam/codex-local-component 0.1.3 → 0.2.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 +30 -44
- package/dist/app-server/client.d.ts +23 -0
- package/dist/app-server/client.d.ts.map +1 -0
- package/dist/app-server/client.js +33 -0
- package/dist/app-server/client.js.map +1 -0
- package/dist/app-server/index.d.ts +2 -0
- package/dist/app-server/index.d.ts.map +1 -0
- package/dist/app-server/index.js +2 -0
- package/dist/app-server/index.js.map +1 -0
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/sync.d.ts +4 -4
- package/dist/client/sync.d.ts.map +1 -1
- package/dist/client/sync.js +4 -4
- package/dist/client/sync.js.map +1 -1
- package/dist/client/types.d.ts +3 -3
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +60 -6
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/approvals.d.ts.map +1 -1
- package/dist/component/approvals.js +33 -12
- package/dist/component/approvals.js.map +1 -1
- package/dist/component/messages.d.ts.map +1 -1
- package/dist/component/messages.js +12 -3
- package/dist/component/messages.js.map +1 -1
- package/dist/component/pagination.d.ts +5 -0
- package/dist/component/pagination.d.ts.map +1 -0
- package/dist/component/pagination.js +30 -0
- package/dist/component/pagination.js.map +1 -0
- package/dist/component/schema.d.ts +34 -6
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +22 -3
- package/dist/component/schema.js.map +1 -1
- package/dist/component/sync.d.ts +49 -5
- package/dist/component/sync.d.ts.map +1 -1
- package/dist/component/sync.js +44 -11
- package/dist/component/sync.js.map +1 -1
- package/dist/component/syncIngest.d.ts +31 -4
- package/dist/component/syncIngest.d.ts.map +1 -1
- package/dist/component/syncIngest.js +234 -148
- package/dist/component/syncIngest.js.map +1 -1
- package/dist/component/syncReplay.d.ts +28 -7
- package/dist/component/syncReplay.d.ts.map +1 -1
- package/dist/component/syncReplay.js +122 -60
- package/dist/component/syncReplay.js.map +1 -1
- package/dist/component/threads.d.ts.map +1 -1
- package/dist/component/threads.js +12 -4
- package/dist/component/threads.js.map +1 -1
- package/dist/react/types.d.ts +10 -0
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/useCodexStreamOverlay.d.ts.map +1 -1
- package/dist/react/useCodexStreamOverlay.js +46 -8
- package/dist/react/useCodexStreamOverlay.js.map +1 -1
- package/package.json +6 -1
|
@@ -19,11 +19,13 @@ function syntheticTurnStatusForEvent(kind, payloadJson) {
|
|
|
19
19
|
}
|
|
20
20
|
return "queued";
|
|
21
21
|
}
|
|
22
|
-
export async function
|
|
22
|
+
export async function ingestHandler(ctx, args) {
|
|
23
23
|
await requireThreadForActor(ctx, args.actor, args.threadId);
|
|
24
24
|
const runtime = resolveRuntimeOptions(args.runtime);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const deltas = [...args.streamDeltas, ...args.lifecycleEvents];
|
|
26
|
+
deltas.sort((a, b) => a.createdAt - b.createdAt);
|
|
27
|
+
if (deltas.length === 0) {
|
|
28
|
+
syncError("E_SYNC_EMPTY_BATCH", "ingest received an empty delta batch");
|
|
27
29
|
}
|
|
28
30
|
const session = await ctx.db
|
|
29
31
|
.query("codex_sessions")
|
|
@@ -41,14 +43,6 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
41
43
|
if (session.userId !== args.actor.userId) {
|
|
42
44
|
authzError("E_AUTH_SESSION_FORBIDDEN", `User ${args.actor.userId} is not allowed to access session ${args.sessionId}`);
|
|
43
45
|
}
|
|
44
|
-
const checkpoint = await ctx.db
|
|
45
|
-
.query("codex_sync_checkpoints")
|
|
46
|
-
.withIndex("tenantId_threadId_deviceId", (q) => q
|
|
47
|
-
.eq("tenantId", args.actor.tenantId)
|
|
48
|
-
.eq("threadId", args.threadId)
|
|
49
|
-
.eq("deviceId", args.actor.deviceId))
|
|
50
|
-
.first();
|
|
51
|
-
let expectedCursor = checkpoint?.ackedCursor ?? 0;
|
|
52
46
|
let lastPersistedCursor = session.lastEventCursor;
|
|
53
47
|
let persistedAnyEvent = false;
|
|
54
48
|
const inBatchEventIds = new Set();
|
|
@@ -62,6 +56,13 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
62
56
|
const streamById = new Map();
|
|
63
57
|
const approvalByKey = new Map();
|
|
64
58
|
const persistedStatsByStreamId = new Map();
|
|
59
|
+
const streamCheckpointCursorByStreamId = new Map();
|
|
60
|
+
let ingestStatus = "ok";
|
|
61
|
+
const streamStats = await ctx.db
|
|
62
|
+
.query("codex_stream_stats")
|
|
63
|
+
.withIndex("tenantId_threadId", (q) => q.eq("tenantId", args.actor.tenantId).eq("threadId", args.threadId))
|
|
64
|
+
.take(500);
|
|
65
|
+
const expectedCursorByStreamId = new Map(streamStats.map((stat) => [String(stat.streamId), Number(stat.latestCursor)]));
|
|
65
66
|
const nextOrderForTurn = async (turnId) => {
|
|
66
67
|
const cached = messageOrderCacheByTurn.get(turnId);
|
|
67
68
|
if (cached !== undefined) {
|
|
@@ -154,14 +155,15 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
154
155
|
const setStreamRecord = (streamId, value) => {
|
|
155
156
|
streamById.set(streamId, value);
|
|
156
157
|
};
|
|
157
|
-
for (const delta of
|
|
158
|
-
|
|
158
|
+
for (const delta of deltas) {
|
|
159
|
+
const turnId = delta.turnId;
|
|
160
|
+
if (turnId && !knownTurnIds.has(turnId)) {
|
|
159
161
|
const existingTurn = await ctx.db
|
|
160
162
|
.query("codex_turns")
|
|
161
163
|
.withIndex("tenantId_threadId_turnId", (q) => q
|
|
162
164
|
.eq("tenantId", args.actor.tenantId)
|
|
163
165
|
.eq("threadId", args.threadId)
|
|
164
|
-
.eq("turnId",
|
|
166
|
+
.eq("turnId", turnId))
|
|
165
167
|
.first();
|
|
166
168
|
if (!existingTurn) {
|
|
167
169
|
const syntheticStatus = syntheticTurnStatusForEvent(delta.kind, delta.payloadJson);
|
|
@@ -169,9 +171,9 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
169
171
|
tenantId: args.actor.tenantId,
|
|
170
172
|
userId: args.actor.userId,
|
|
171
173
|
threadId: args.threadId,
|
|
172
|
-
turnId
|
|
174
|
+
turnId,
|
|
173
175
|
status: syntheticStatus,
|
|
174
|
-
idempotencyKey: `sync:${args.threadId}:${
|
|
176
|
+
idempotencyKey: `sync:${args.threadId}:${turnId}`,
|
|
175
177
|
startedAt: now(),
|
|
176
178
|
...(syntheticStatus === "completed" ||
|
|
177
179
|
syntheticStatus === "interrupted" ||
|
|
@@ -181,130 +183,153 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
181
183
|
});
|
|
182
184
|
}
|
|
183
185
|
else if (existingTurn.userId !== args.actor.userId) {
|
|
184
|
-
authzError("E_AUTH_TURN_FORBIDDEN", `User ${args.actor.userId} is not allowed to access turn ${
|
|
186
|
+
authzError("E_AUTH_TURN_FORBIDDEN", `User ${args.actor.userId} is not allowed to access turn ${turnId}`);
|
|
185
187
|
}
|
|
186
|
-
knownTurnIds.add(
|
|
188
|
+
knownTurnIds.add(turnId);
|
|
187
189
|
}
|
|
188
|
-
if (delta.kind === "turn/started") {
|
|
189
|
-
startedTurns.add(
|
|
190
|
+
if (turnId && delta.kind === "turn/started") {
|
|
191
|
+
startedTurns.add(turnId);
|
|
190
192
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
const approvalRequest = parseApprovalRequest(delta.kind, delta.payloadJson);
|
|
197
|
-
if (approvalRequest) {
|
|
198
|
-
pendingApprovals.set(`${delta.turnId}:${approvalRequest.itemId}`, approvalRequest);
|
|
199
|
-
}
|
|
200
|
-
const approvalResolution = parseApprovalResolution(delta.kind, delta.payloadJson);
|
|
201
|
-
if (approvalResolution) {
|
|
202
|
-
resolvedApprovals.set(`${delta.turnId}:${approvalResolution.itemId}`, approvalResolution);
|
|
203
|
-
}
|
|
204
|
-
const durableMessage = parseDurableMessageEvent(delta.kind, delta.payloadJson);
|
|
205
|
-
if (durableMessage) {
|
|
206
|
-
const existing = await getMessageRecord(delta.turnId, durableMessage.messageId);
|
|
207
|
-
if (!existing) {
|
|
208
|
-
const nextOrder = await nextOrderForTurn(delta.turnId);
|
|
209
|
-
const newId = await ctx.db.insert("codex_messages", {
|
|
210
|
-
tenantId: args.actor.tenantId,
|
|
211
|
-
userId: args.actor.userId,
|
|
212
|
-
threadId: args.threadId,
|
|
213
|
-
turnId: delta.turnId,
|
|
214
|
-
messageId: durableMessage.messageId,
|
|
215
|
-
role: durableMessage.role,
|
|
216
|
-
status: durableMessage.status,
|
|
217
|
-
text: durableMessage.text,
|
|
218
|
-
sourceItemType: durableMessage.sourceItemType,
|
|
219
|
-
orderInTurn: nextOrder,
|
|
220
|
-
payloadJson: durableMessage.payloadJson,
|
|
221
|
-
...(durableMessage.status === "failed" ? { error: "item failed" } : {}),
|
|
222
|
-
createdAt: delta.createdAt,
|
|
223
|
-
updatedAt: now(),
|
|
224
|
-
...(durableMessage.status !== "streaming" ? { completedAt: now() } : {}),
|
|
225
|
-
});
|
|
226
|
-
setMessageRecord(delta.turnId, durableMessage.messageId, {
|
|
227
|
-
_id: newId,
|
|
228
|
-
status: durableMessage.status,
|
|
229
|
-
text: durableMessage.text,
|
|
230
|
-
});
|
|
193
|
+
if (turnId) {
|
|
194
|
+
const terminal = terminalStatusForEvent(delta.kind, delta.payloadJson);
|
|
195
|
+
if (terminal) {
|
|
196
|
+
const current = terminalTurns.get(turnId);
|
|
197
|
+
terminalTurns.set(turnId, pickHigherPriorityTerminalStatus(current, terminal));
|
|
231
198
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
199
|
+
const approvalRequest = parseApprovalRequest(delta.kind, delta.payloadJson);
|
|
200
|
+
if (approvalRequest) {
|
|
201
|
+
pendingApprovals.set(`${turnId}:${approvalRequest.itemId}`, approvalRequest);
|
|
202
|
+
}
|
|
203
|
+
const approvalResolution = parseApprovalResolution(delta.kind, delta.payloadJson);
|
|
204
|
+
if (approvalResolution) {
|
|
205
|
+
resolvedApprovals.set(`${turnId}:${approvalResolution.itemId}`, approvalResolution);
|
|
206
|
+
}
|
|
207
|
+
const durableMessage = parseDurableMessageEvent(delta.kind, delta.payloadJson);
|
|
208
|
+
if (durableMessage) {
|
|
209
|
+
const existing = await getMessageRecord(turnId, durableMessage.messageId);
|
|
210
|
+
if (!existing) {
|
|
211
|
+
const nextOrder = await nextOrderForTurn(turnId);
|
|
212
|
+
const newId = await ctx.db.insert("codex_messages", {
|
|
213
|
+
tenantId: args.actor.tenantId,
|
|
214
|
+
userId: args.actor.userId,
|
|
215
|
+
threadId: args.threadId,
|
|
216
|
+
turnId,
|
|
217
|
+
messageId: durableMessage.messageId,
|
|
218
|
+
role: durableMessage.role,
|
|
219
|
+
status: durableMessage.status,
|
|
220
|
+
text: durableMessage.text,
|
|
221
|
+
sourceItemType: durableMessage.sourceItemType,
|
|
222
|
+
orderInTurn: nextOrder,
|
|
223
|
+
payloadJson: durableMessage.payloadJson,
|
|
224
|
+
...(durableMessage.status === "failed" ? { error: "item failed" } : {}),
|
|
225
|
+
createdAt: delta.createdAt,
|
|
226
|
+
updatedAt: now(),
|
|
227
|
+
...(durableMessage.status !== "streaming" ? { completedAt: now() } : {}),
|
|
228
|
+
});
|
|
229
|
+
setMessageRecord(turnId, durableMessage.messageId, {
|
|
230
|
+
_id: newId,
|
|
231
|
+
status: durableMessage.status,
|
|
232
|
+
text: durableMessage.text,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const nextStatus = (() => {
|
|
237
|
+
if (existing.status === "failed") {
|
|
238
|
+
return "failed";
|
|
239
|
+
}
|
|
240
|
+
if (existing.status === "interrupted" && durableMessage.status !== "failed") {
|
|
241
|
+
return "interrupted";
|
|
242
|
+
}
|
|
243
|
+
if (durableMessage.status === "streaming") {
|
|
244
|
+
return existing.status;
|
|
245
|
+
}
|
|
246
|
+
return durableMessage.status;
|
|
247
|
+
})();
|
|
248
|
+
await ctx.db.patch(existing._id, {
|
|
249
|
+
role: durableMessage.role,
|
|
250
|
+
status: nextStatus,
|
|
251
|
+
text: durableMessage.text,
|
|
252
|
+
sourceItemType: durableMessage.sourceItemType,
|
|
253
|
+
payloadJson: durableMessage.payloadJson,
|
|
254
|
+
...(nextStatus === "failed" ? { error: "item failed" } : {}),
|
|
255
|
+
updatedAt: now(),
|
|
256
|
+
...(nextStatus !== "streaming" ? { completedAt: now() } : {}),
|
|
257
|
+
});
|
|
258
|
+
setMessageRecord(turnId, durableMessage.messageId, {
|
|
259
|
+
...existing,
|
|
260
|
+
status: nextStatus,
|
|
261
|
+
text: durableMessage.text,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const durableDelta = parseDurableMessageDeltaEvent(delta.kind, delta.payloadJson);
|
|
266
|
+
if (durableDelta) {
|
|
267
|
+
const existing = await getMessageRecord(turnId, durableDelta.messageId);
|
|
268
|
+
if (!existing) {
|
|
269
|
+
const nextOrder = await nextOrderForTurn(turnId);
|
|
270
|
+
const messageId = await ctx.db.insert("codex_messages", {
|
|
271
|
+
tenantId: args.actor.tenantId,
|
|
272
|
+
userId: args.actor.userId,
|
|
273
|
+
threadId: args.threadId,
|
|
274
|
+
turnId,
|
|
275
|
+
messageId: durableDelta.messageId,
|
|
276
|
+
role: "assistant",
|
|
277
|
+
status: "streaming",
|
|
278
|
+
text: durableDelta.delta,
|
|
279
|
+
sourceItemType: "agentMessage",
|
|
280
|
+
orderInTurn: nextOrder,
|
|
281
|
+
payloadJson: JSON.stringify({
|
|
282
|
+
type: "agentMessage",
|
|
283
|
+
id: durableDelta.messageId,
|
|
284
|
+
text: durableDelta.delta,
|
|
285
|
+
}),
|
|
286
|
+
createdAt: delta.createdAt,
|
|
287
|
+
updatedAt: now(),
|
|
288
|
+
});
|
|
289
|
+
setMessageRecord(turnId, durableDelta.messageId, {
|
|
290
|
+
_id: messageId,
|
|
291
|
+
status: "streaming",
|
|
292
|
+
text: durableDelta.delta,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
else if (existing.status === "streaming") {
|
|
296
|
+
const nextText = `${existing.text}${durableDelta.delta}`;
|
|
297
|
+
await ctx.db.patch(existing._id, {
|
|
298
|
+
text: nextText,
|
|
299
|
+
payloadJson: JSON.stringify({
|
|
300
|
+
type: "agentMessage",
|
|
301
|
+
id: durableDelta.messageId,
|
|
302
|
+
text: nextText,
|
|
303
|
+
}),
|
|
304
|
+
updatedAt: now(),
|
|
305
|
+
});
|
|
306
|
+
setMessageRecord(turnId, durableDelta.messageId, {
|
|
307
|
+
...existing,
|
|
308
|
+
text: nextText,
|
|
309
|
+
});
|
|
310
|
+
}
|
|
260
311
|
}
|
|
261
312
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
313
|
+
if (delta.type === "lifecycle_event") {
|
|
314
|
+
const existingLifecycle = await ctx.db
|
|
315
|
+
.query("codex_lifecycle_events")
|
|
316
|
+
.withIndex("tenantId_threadId_eventId", (q) => q
|
|
317
|
+
.eq("tenantId", args.actor.tenantId)
|
|
318
|
+
.eq("threadId", args.threadId)
|
|
319
|
+
.eq("eventId", delta.eventId))
|
|
320
|
+
.first();
|
|
321
|
+
if (!existingLifecycle) {
|
|
322
|
+
await ctx.db.insert("codex_lifecycle_events", {
|
|
268
323
|
tenantId: args.actor.tenantId,
|
|
269
|
-
userId: args.actor.userId,
|
|
270
324
|
threadId: args.threadId,
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
status: "streaming",
|
|
275
|
-
text: durableDelta.delta,
|
|
276
|
-
sourceItemType: "agentMessage",
|
|
277
|
-
orderInTurn: nextOrder,
|
|
278
|
-
payloadJson: JSON.stringify({
|
|
279
|
-
type: "agentMessage",
|
|
280
|
-
id: durableDelta.messageId,
|
|
281
|
-
text: durableDelta.delta,
|
|
282
|
-
}),
|
|
325
|
+
eventId: delta.eventId,
|
|
326
|
+
kind: delta.kind,
|
|
327
|
+
payloadJson: delta.payloadJson,
|
|
283
328
|
createdAt: delta.createdAt,
|
|
284
|
-
|
|
285
|
-
});
|
|
286
|
-
setMessageRecord(delta.turnId, durableDelta.messageId, {
|
|
287
|
-
_id: messageId,
|
|
288
|
-
status: "streaming",
|
|
289
|
-
text: durableDelta.delta,
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
else if (existing.status === "streaming") {
|
|
293
|
-
const nextText = `${existing.text}${durableDelta.delta}`;
|
|
294
|
-
await ctx.db.patch(existing._id, {
|
|
295
|
-
text: nextText,
|
|
296
|
-
payloadJson: JSON.stringify({
|
|
297
|
-
type: "agentMessage",
|
|
298
|
-
id: durableDelta.messageId,
|
|
299
|
-
text: nextText,
|
|
300
|
-
}),
|
|
301
|
-
updatedAt: now(),
|
|
302
|
-
});
|
|
303
|
-
setMessageRecord(delta.turnId, durableDelta.messageId, {
|
|
304
|
-
...existing,
|
|
305
|
-
text: nextText,
|
|
329
|
+
...(delta.turnId ? { turnId: delta.turnId } : {}),
|
|
306
330
|
});
|
|
307
331
|
}
|
|
332
|
+
continue;
|
|
308
333
|
}
|
|
309
334
|
const stream = await getStreamRecord(delta.streamId);
|
|
310
335
|
if (!stream) {
|
|
@@ -332,11 +357,24 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
332
357
|
if (delta.cursorStart >= delta.cursorEnd) {
|
|
333
358
|
syncError("E_SYNC_INVALID_CURSOR_RANGE", `Invalid cursor range start=${delta.cursorStart} end=${delta.cursorEnd} for eventId=${delta.eventId}`);
|
|
334
359
|
}
|
|
335
|
-
|
|
336
|
-
|
|
360
|
+
const streamExpectedCursor = expectedCursorByStreamId.get(delta.streamId) ?? 0;
|
|
361
|
+
const existingStreamEvent = await ctx.db
|
|
362
|
+
.query("codex_stream_deltas_ttl")
|
|
363
|
+
.withIndex("tenantId_streamId_eventId", (q) => q
|
|
364
|
+
.eq("tenantId", args.actor.tenantId)
|
|
365
|
+
.eq("streamId", delta.streamId)
|
|
366
|
+
.eq("eventId", delta.eventId))
|
|
367
|
+
.first();
|
|
368
|
+
if (existingStreamEvent) {
|
|
369
|
+
expectedCursorByStreamId.set(delta.streamId, Math.max(streamExpectedCursor, Number(existingStreamEvent.cursorEnd)));
|
|
370
|
+
streamCheckpointCursorByStreamId.set(delta.streamId, Math.max(streamCheckpointCursorByStreamId.get(delta.streamId) ?? 0, Number(existingStreamEvent.cursorEnd)));
|
|
371
|
+
continue;
|
|
372
|
+
}
|
|
373
|
+
if (delta.cursorStart < streamExpectedCursor) {
|
|
374
|
+
syncError("E_SYNC_OUT_OF_ORDER", `Expected cursorStart>=${streamExpectedCursor} for streamId=${delta.streamId} but got ${delta.cursorStart} for eventId=${delta.eventId}`);
|
|
337
375
|
}
|
|
338
|
-
if (delta.cursorStart >
|
|
339
|
-
|
|
376
|
+
if (delta.cursorStart > streamExpectedCursor) {
|
|
377
|
+
ingestStatus = "partial";
|
|
340
378
|
}
|
|
341
379
|
if (inBatchEventIds.has(delta.eventId)) {
|
|
342
380
|
syncError("E_SYNC_DUP_EVENT_IN_BATCH", `Duplicate eventId in request batch: ${delta.eventId}`);
|
|
@@ -373,7 +411,8 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
373
411
|
lastPersistedCursor = delta.cursorEnd;
|
|
374
412
|
persistedAnyEvent = true;
|
|
375
413
|
}
|
|
376
|
-
|
|
414
|
+
streamCheckpointCursorByStreamId.set(delta.streamId, Math.max(streamCheckpointCursorByStreamId.get(delta.streamId) ?? 0, delta.cursorEnd));
|
|
415
|
+
expectedCursorByStreamId.set(delta.streamId, delta.cursorEnd);
|
|
377
416
|
}
|
|
378
417
|
for (const turnId of startedTurns) {
|
|
379
418
|
const turn = await requireTurnForActor(ctx, args.actor, args.threadId, turnId);
|
|
@@ -450,7 +489,10 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
450
489
|
});
|
|
451
490
|
}
|
|
452
491
|
const terminalByStream = new Map();
|
|
453
|
-
for (const delta of
|
|
492
|
+
for (const delta of deltas) {
|
|
493
|
+
if (delta.type !== "stream_delta") {
|
|
494
|
+
continue;
|
|
495
|
+
}
|
|
454
496
|
const terminal = terminalStatusForEvent(delta.kind, delta.payloadJson);
|
|
455
497
|
if (!terminal) {
|
|
456
498
|
continue;
|
|
@@ -522,7 +564,6 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
522
564
|
latestCursor: stats.latestCursor,
|
|
523
565
|
});
|
|
524
566
|
}
|
|
525
|
-
const ackCursor = expectedCursor;
|
|
526
567
|
const sessionPatch = { status: "active" };
|
|
527
568
|
const nextLastEventCursor = Math.max(session.lastEventCursor, lastPersistedCursor);
|
|
528
569
|
if (nextLastEventCursor !== session.lastEventCursor) {
|
|
@@ -533,20 +574,32 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
533
574
|
sessionPatch.lastHeartbeatAt = nowMs;
|
|
534
575
|
}
|
|
535
576
|
await ctx.db.patch(session._id, sessionPatch);
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
577
|
+
const streamCheckpointRows = await ctx.db
|
|
578
|
+
.query("codex_stream_checkpoints")
|
|
579
|
+
.withIndex("tenantId_threadId_deviceId_streamId", (q) => q
|
|
580
|
+
.eq("tenantId", args.actor.tenantId)
|
|
581
|
+
.eq("threadId", args.threadId)
|
|
582
|
+
.eq("deviceId", args.actor.deviceId))
|
|
583
|
+
.take(2000);
|
|
584
|
+
const existingCheckpointByStreamId = new Map(streamCheckpointRows.map((row) => [row.streamId, row]));
|
|
585
|
+
for (const [streamId, cursor] of streamCheckpointCursorByStreamId) {
|
|
586
|
+
const existing = existingCheckpointByStreamId.get(streamId);
|
|
587
|
+
if (existing) {
|
|
588
|
+
if (cursor > Number(existing.ackedCursor)) {
|
|
589
|
+
await ctx.db.patch(existing._id, {
|
|
590
|
+
ackedCursor: cursor,
|
|
591
|
+
updatedAt: now(),
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
continue;
|
|
543
595
|
}
|
|
544
|
-
await ctx.db.insert("
|
|
596
|
+
await ctx.db.insert("codex_stream_checkpoints", {
|
|
545
597
|
tenantId: args.actor.tenantId,
|
|
546
|
-
|
|
547
|
-
turnId: lastDelta.turnId,
|
|
598
|
+
userId: args.actor.userId,
|
|
548
599
|
deviceId: args.actor.deviceId,
|
|
549
|
-
|
|
600
|
+
threadId: args.threadId,
|
|
601
|
+
streamId,
|
|
602
|
+
ackedCursor: cursor,
|
|
550
603
|
updatedAt: now(),
|
|
551
604
|
});
|
|
552
605
|
}
|
|
@@ -562,7 +615,40 @@ export async function pushEventsHandler(ctx, args) {
|
|
|
562
615
|
batchSize: 1000,
|
|
563
616
|
});
|
|
564
617
|
}
|
|
565
|
-
|
|
618
|
+
const ackedStreams = Array.from(streamCheckpointCursorByStreamId.entries())
|
|
619
|
+
.map(([streamId, ackCursorEnd]) => ({ streamId, ackCursorEnd }))
|
|
620
|
+
.sort((a, b) => a.streamId.localeCompare(b.streamId));
|
|
621
|
+
return { ackedStreams, ingestStatus };
|
|
622
|
+
}
|
|
623
|
+
export async function upsertCheckpointHandler(ctx, args) {
|
|
624
|
+
await requireThreadForActor(ctx, args.actor, args.threadId);
|
|
625
|
+
const existing = await ctx.db
|
|
626
|
+
.query("codex_stream_checkpoints")
|
|
627
|
+
.withIndex("tenantId_threadId_deviceId_streamId", (q) => q
|
|
628
|
+
.eq("tenantId", args.actor.tenantId)
|
|
629
|
+
.eq("threadId", args.threadId)
|
|
630
|
+
.eq("deviceId", args.actor.deviceId)
|
|
631
|
+
.eq("streamId", args.streamId))
|
|
632
|
+
.first();
|
|
633
|
+
if (existing) {
|
|
634
|
+
if (args.cursor > Number(existing.ackedCursor)) {
|
|
635
|
+
await ctx.db.patch(existing._id, {
|
|
636
|
+
ackedCursor: args.cursor,
|
|
637
|
+
updatedAt: now(),
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
return { ok: true };
|
|
641
|
+
}
|
|
642
|
+
await ctx.db.insert("codex_stream_checkpoints", {
|
|
643
|
+
tenantId: args.actor.tenantId,
|
|
644
|
+
userId: args.actor.userId,
|
|
645
|
+
deviceId: args.actor.deviceId,
|
|
646
|
+
threadId: args.threadId,
|
|
647
|
+
streamId: args.streamId,
|
|
648
|
+
ackedCursor: Math.max(0, Math.floor(args.cursor)),
|
|
649
|
+
updatedAt: now(),
|
|
650
|
+
});
|
|
651
|
+
return { ok: true };
|
|
566
652
|
}
|
|
567
653
|
export async function heartbeatHandler(ctx, args) {
|
|
568
654
|
await requireThreadForActor(ctx, args.actor, args.threadId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncIngest.js","sourceRoot":"","sources":["../../src/component/syncIngest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"syncIngest.js","sourceRoot":"","sources":["../../src/component/syncIngest.ts"],"names":[],"mappings":"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"}
|