remote-codex 0.11.13 → 0.11.14
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/apps/supervisor-api/dist/{chunk-ZTQPMDTP.js → chunk-B3T3GIKQ.js} +51 -19
- package/apps/supervisor-api/dist/index.js +1 -1
- package/apps/supervisor-api/dist/worker-index.js +1 -1
- package/apps/supervisor-web/dist/assets/{index-Z5yu-xV3.js → index-C5VKPUvg.js} +5 -5
- package/apps/supervisor-web/dist/index.html +1 -1
- package/package.json +1 -1
- package/packages/shared/src/index.ts +1 -0
|
@@ -16492,8 +16492,11 @@ function historyItemSequence(item) {
|
|
|
16492
16492
|
function historyItemTranscriptOrder(item) {
|
|
16493
16493
|
return typeof item.transcriptOrder === "number" && Number.isFinite(item.transcriptOrder) ? item.transcriptOrder : null;
|
|
16494
16494
|
}
|
|
16495
|
-
function copyPersistedOrderingHints(item, persistedItem) {
|
|
16495
|
+
function copyPersistedOrderingHints(item, persistedItem, turnStartedAt) {
|
|
16496
16496
|
let nextItem = item;
|
|
16497
|
+
if (persistedItem.createdAt && (!nextItem.createdAt || nextItem.kind === "agentMessage" && nextItem.createdAt === turnStartedAt)) {
|
|
16498
|
+
nextItem = { ...nextItem, createdAt: persistedItem.createdAt };
|
|
16499
|
+
}
|
|
16497
16500
|
if (hasHistoryItemSequence(persistedItem)) {
|
|
16498
16501
|
const sequence = historyItemSequence(persistedItem);
|
|
16499
16502
|
if (nextItem.sequence !== sequence) {
|
|
@@ -16631,7 +16634,8 @@ function mergePersistedHistoryItemsIntoTurns(turns, persistedItemsByTurnId, defe
|
|
|
16631
16634
|
};
|
|
16632
16635
|
const sequencedItem = copyPersistedOrderingHints(
|
|
16633
16636
|
itemWithTranscriptOrder,
|
|
16634
|
-
persistedItemWithTranscriptOrder
|
|
16637
|
+
persistedItemWithTranscriptOrder,
|
|
16638
|
+
turn.startedAt
|
|
16635
16639
|
);
|
|
16636
16640
|
if (sequencedItem !== item) {
|
|
16637
16641
|
changed = true;
|
|
@@ -16812,6 +16816,11 @@ var ThreadLiveStateStore = class {
|
|
|
16812
16816
|
return this.threadTurnItemOrder.get(localThreadId) ?? /* @__PURE__ */ new Map();
|
|
16813
16817
|
}
|
|
16814
16818
|
finalTurnAgentMessageOrderingHints(localThreadId, turnId, items, options = {}) {
|
|
16819
|
+
return new Map(
|
|
16820
|
+
[...this.finalTurnAgentMessageOrderingMetadata(localThreadId, turnId, items, options)].map(([itemId, metadata]) => [itemId, metadata.sequence])
|
|
16821
|
+
);
|
|
16822
|
+
}
|
|
16823
|
+
finalTurnAgentMessageOrderingMetadata(localThreadId, turnId, items, options = {}) {
|
|
16815
16824
|
const hints = /* @__PURE__ */ new Map();
|
|
16816
16825
|
const turnOrder = this.threadTurnItemOrder.get(localThreadId)?.get(turnId);
|
|
16817
16826
|
const liveAgentMessages = [
|
|
@@ -16819,17 +16828,21 @@ var ThreadLiveStateStore = class {
|
|
|
16819
16828
|
].map((item) => ({
|
|
16820
16829
|
id: item.id,
|
|
16821
16830
|
text: normalizeAgentMessageForMatching(item.text),
|
|
16822
|
-
sequence: item.sequence
|
|
16831
|
+
sequence: item.sequence,
|
|
16832
|
+
createdAt: item.createdAt
|
|
16823
16833
|
}));
|
|
16824
16834
|
const usedLiveAgentIds = /* @__PURE__ */ new Set();
|
|
16825
16835
|
const finalAgentItems = items.filter((item) => item.kind === "agentMessage");
|
|
16826
16836
|
for (const item of finalAgentItems) {
|
|
16827
16837
|
const existingSequence = turnOrder?.get(item.id);
|
|
16828
16838
|
if (existingSequence !== void 0) {
|
|
16829
|
-
hints.set(item.id, existingSequence);
|
|
16830
16839
|
const matchingLiveAgent = liveAgentMessages.find(
|
|
16831
16840
|
(liveAgent) => liveAgent.id === item.id || liveAgent.sequence === existingSequence
|
|
16832
16841
|
);
|
|
16842
|
+
hints.set(item.id, {
|
|
16843
|
+
sequence: existingSequence,
|
|
16844
|
+
createdAt: matchingLiveAgent?.createdAt ?? null
|
|
16845
|
+
});
|
|
16833
16846
|
if (matchingLiveAgent) {
|
|
16834
16847
|
usedLiveAgentIds.add(matchingLiveAgent.id);
|
|
16835
16848
|
}
|
|
@@ -16851,12 +16864,16 @@ var ThreadLiveStateStore = class {
|
|
|
16851
16864
|
bestMatch = {
|
|
16852
16865
|
id: liveAgent.id,
|
|
16853
16866
|
sequence: liveAgent.sequence,
|
|
16867
|
+
createdAt: liveAgent.createdAt,
|
|
16854
16868
|
score
|
|
16855
16869
|
};
|
|
16856
16870
|
}
|
|
16857
16871
|
if (bestMatch) {
|
|
16858
16872
|
usedLiveAgentIds.add(bestMatch.id);
|
|
16859
|
-
hints.set(item.id,
|
|
16873
|
+
hints.set(item.id, {
|
|
16874
|
+
sequence: bestMatch.sequence,
|
|
16875
|
+
createdAt: bestMatch.createdAt
|
|
16876
|
+
});
|
|
16860
16877
|
}
|
|
16861
16878
|
}
|
|
16862
16879
|
if (options.allowUnmatchedFallback ?? true) {
|
|
@@ -16870,7 +16887,10 @@ var ThreadLiveStateStore = class {
|
|
|
16870
16887
|
if (!liveAgent) {
|
|
16871
16888
|
break;
|
|
16872
16889
|
}
|
|
16873
|
-
hints.set(item.id,
|
|
16890
|
+
hints.set(item.id, {
|
|
16891
|
+
sequence: liveAgent.sequence,
|
|
16892
|
+
createdAt: liveAgent.createdAt
|
|
16893
|
+
});
|
|
16874
16894
|
remainingLiveAgentIndex += 1;
|
|
16875
16895
|
}
|
|
16876
16896
|
}
|
|
@@ -16909,7 +16929,7 @@ var ThreadLiveStateStore = class {
|
|
|
16909
16929
|
sequence: input.sequence
|
|
16910
16930
|
} : {
|
|
16911
16931
|
id: input.itemId,
|
|
16912
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
16932
|
+
createdAt: input.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
16913
16933
|
kind: "agentMessage",
|
|
16914
16934
|
text: input.delta,
|
|
16915
16935
|
sequence: input.sequence
|
|
@@ -16948,7 +16968,8 @@ var ThreadLiveStateStore = class {
|
|
|
16948
16968
|
turnHints.set(item.id, {
|
|
16949
16969
|
id: item.id,
|
|
16950
16970
|
text: item.text,
|
|
16951
|
-
sequence
|
|
16971
|
+
sequence,
|
|
16972
|
+
createdAt: item.createdAt ?? null
|
|
16952
16973
|
});
|
|
16953
16974
|
}
|
|
16954
16975
|
reconcileLiveItems(localThreadId, turns) {
|
|
@@ -17505,8 +17526,9 @@ var ThreadRuntimeEventProjector = class {
|
|
|
17505
17526
|
if (!turnId) {
|
|
17506
17527
|
return;
|
|
17507
17528
|
}
|
|
17529
|
+
const eventTimestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
17508
17530
|
const liveItem = {
|
|
17509
|
-
...event.item,
|
|
17531
|
+
...withHistoryItemCreatedAt(event.item, eventTimestamp),
|
|
17510
17532
|
sequence: liveState.recordTurnItemOrder(record.id, turnId, event.item.id)
|
|
17511
17533
|
};
|
|
17512
17534
|
const transportLiveItem = deferHistoryItemDetailForTransport(liveItem);
|
|
@@ -17537,8 +17559,9 @@ var ThreadRuntimeEventProjector = class {
|
|
|
17537
17559
|
displayTurnId,
|
|
17538
17560
|
event.item.id
|
|
17539
17561
|
);
|
|
17562
|
+
const eventTimestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
17540
17563
|
const orderedLiveItem = {
|
|
17541
|
-
...event.item,
|
|
17564
|
+
...withHistoryItemCreatedAt(event.item, eventTimestamp),
|
|
17542
17565
|
sequence
|
|
17543
17566
|
};
|
|
17544
17567
|
const transportLiveItem = deferHistoryItemDetailForTransport(orderedLiveItem);
|
|
@@ -17590,18 +17613,21 @@ var ThreadRuntimeEventProjector = class {
|
|
|
17590
17613
|
displayTurnId,
|
|
17591
17614
|
event.itemId
|
|
17592
17615
|
);
|
|
17616
|
+
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
17593
17617
|
callbacks.appendLiveAgentMessageDelta({
|
|
17594
17618
|
localThreadId: record.id,
|
|
17595
17619
|
turnId: displayTurnId,
|
|
17596
17620
|
itemId: event.itemId,
|
|
17597
17621
|
delta: event.delta,
|
|
17598
|
-
sequence
|
|
17622
|
+
sequence,
|
|
17623
|
+
createdAt
|
|
17599
17624
|
});
|
|
17600
17625
|
callbacks.emitThreadEvent("thread.output.delta", record.id, {
|
|
17601
17626
|
turnId: displayTurnId,
|
|
17602
17627
|
itemId: event.itemId,
|
|
17603
17628
|
sequence,
|
|
17604
|
-
delta: event.delta
|
|
17629
|
+
delta: event.delta,
|
|
17630
|
+
createdAt
|
|
17605
17631
|
});
|
|
17606
17632
|
return;
|
|
17607
17633
|
}
|
|
@@ -17701,6 +17727,9 @@ var ThreadRuntimeEventProjector = class {
|
|
|
17701
17727
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
17702
17728
|
}
|
|
17703
17729
|
};
|
|
17730
|
+
function withHistoryItemCreatedAt(item, createdAt) {
|
|
17731
|
+
return item.createdAt ? item : { ...item, createdAt };
|
|
17732
|
+
}
|
|
17704
17733
|
|
|
17705
17734
|
// src/provider-request-coordinator.ts
|
|
17706
17735
|
var LOCAL_PLAN_DECISION_PREFIX = "plan-decision:";
|
|
@@ -19340,7 +19369,7 @@ var ThreadHistoryPersistenceCoordinator = class {
|
|
|
19340
19369
|
deleteThreadHistoryItemRecordsByThreadAndTurnId(this.db, localThreadId, turnId);
|
|
19341
19370
|
}
|
|
19342
19371
|
persistFinalTurnOrderingHints(localThreadId, turnId, items) {
|
|
19343
|
-
const orderingHints = this.liveState.
|
|
19372
|
+
const orderingHints = this.liveState.finalTurnAgentMessageOrderingMetadata(
|
|
19344
19373
|
localThreadId,
|
|
19345
19374
|
turnId,
|
|
19346
19375
|
items
|
|
@@ -19349,8 +19378,8 @@ var ThreadHistoryPersistenceCoordinator = class {
|
|
|
19349
19378
|
if (item.kind !== "agentMessage" || !shouldPersistRuntimeFinalHistoryItem(item)) {
|
|
19350
19379
|
continue;
|
|
19351
19380
|
}
|
|
19352
|
-
const
|
|
19353
|
-
if (
|
|
19381
|
+
const metadata = orderingHints.get(item.id);
|
|
19382
|
+
if (!metadata) {
|
|
19354
19383
|
continue;
|
|
19355
19384
|
}
|
|
19356
19385
|
upsertThreadHistoryItemRecord(this.db, {
|
|
@@ -19359,7 +19388,8 @@ var ThreadHistoryPersistenceCoordinator = class {
|
|
|
19359
19388
|
itemId: item.id,
|
|
19360
19389
|
itemJson: JSON.stringify({
|
|
19361
19390
|
...item,
|
|
19362
|
-
sequence,
|
|
19391
|
+
sequence: metadata.sequence,
|
|
19392
|
+
createdAt: item.createdAt ?? metadata.createdAt,
|
|
19363
19393
|
sourceTurnId: turnId
|
|
19364
19394
|
})
|
|
19365
19395
|
});
|
|
@@ -21313,7 +21343,8 @@ var ThreadService = class {
|
|
|
21313
21343
|
input.turnId,
|
|
21314
21344
|
input.itemId,
|
|
21315
21345
|
input.delta,
|
|
21316
|
-
input.sequence
|
|
21346
|
+
input.sequence,
|
|
21347
|
+
input.createdAt
|
|
21317
21348
|
),
|
|
21318
21349
|
clearPendingPlanDecisionRequests: (localThreadId, emitEvents) => this.clearPendingPlanDecisionRequests(localThreadId, emitEvents),
|
|
21319
21350
|
clearPendingSteersForTurn: (localThreadId, turnId) => this.auxiliaryState.clearPendingSteersForTurn(localThreadId, turnId),
|
|
@@ -22225,13 +22256,14 @@ var ThreadService = class {
|
|
|
22225
22256
|
listPendingRequests(localThreadId, options = {}) {
|
|
22226
22257
|
return this.requestCoordinator.listPendingRequests(localThreadId, options);
|
|
22227
22258
|
}
|
|
22228
|
-
appendLiveAgentMessageDelta(localThreadId, turnId, itemId, delta, sequence) {
|
|
22259
|
+
appendLiveAgentMessageDelta(localThreadId, turnId, itemId, delta, sequence, createdAt) {
|
|
22229
22260
|
this.liveState.appendLiveAgentMessageDelta({
|
|
22230
22261
|
localThreadId,
|
|
22231
22262
|
turnId,
|
|
22232
22263
|
itemId,
|
|
22233
22264
|
delta,
|
|
22234
|
-
sequence
|
|
22265
|
+
sequence,
|
|
22266
|
+
createdAt
|
|
22235
22267
|
});
|
|
22236
22268
|
}
|
|
22237
22269
|
createPendingPlanDecisionRequest(localThreadId, turnId, emitEvents) {
|