remote-codex 0.11.39 → 0.11.40
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/index.js +33 -4
- package/apps/supervisor-web/dist/assets/{index-CUhMNGXI.js → index-B-qj7e8G.js} +4 -4
- package/apps/supervisor-web/dist/index.html +1 -1
- package/package.json +1 -1
- package/packages/claude/src/runtimeAdapter.test.ts +100 -1
- package/packages/claude/src/runtimeAdapter.ts +58 -7
|
@@ -11717,6 +11717,21 @@ import { pathToFileURL } from "url";
|
|
|
11717
11717
|
import { promisify } from "util";
|
|
11718
11718
|
var execFileAsync = promisify(execFile);
|
|
11719
11719
|
var promptPhotoTokenPattern2 = /\[PHOTO\s+([^\]]+)\]/g;
|
|
11720
|
+
var activeTranscriptMatchWindowMs = 12e4;
|
|
11721
|
+
function normalizePromptForTurnReconciliation(value) {
|
|
11722
|
+
return value.replace(/\[PHOTO\s+[^\]]+\]/g, " ").replace(/\s+/g, " ").trim();
|
|
11723
|
+
}
|
|
11724
|
+
function userPromptForTurn(turn) {
|
|
11725
|
+
return turn.items.find((item) => item.kind === "userMessage")?.text ?? null;
|
|
11726
|
+
}
|
|
11727
|
+
function isRecentActiveTranscriptTurn(turn, activeStartedAt) {
|
|
11728
|
+
if (!turn.startedAt) {
|
|
11729
|
+
return true;
|
|
11730
|
+
}
|
|
11731
|
+
const transcriptStartedAt = Date.parse(turn.startedAt);
|
|
11732
|
+
const activeStartedAtMs = Date.parse(activeStartedAt);
|
|
11733
|
+
return !Number.isFinite(transcriptStartedAt) || !Number.isFinite(activeStartedAtMs) || Math.abs(transcriptStartedAt - activeStartedAtMs) <= activeTranscriptMatchWindowMs;
|
|
11734
|
+
}
|
|
11720
11735
|
function mimeTypeForImagePath(filePath) {
|
|
11721
11736
|
const extension = path10.extname(filePath).toLowerCase();
|
|
11722
11737
|
switch (extension) {
|
|
@@ -12993,9 +13008,11 @@ var ClaudeRuntimeAdapter = class extends EventEmitter5 {
|
|
|
12993
13008
|
}
|
|
12994
13009
|
const activeUserItem = userMessageHistoryItem(`${activeTurn.providerTurnId}:user`, prompt);
|
|
12995
13010
|
const activeItems = [...activeTurn.itemOrder].map((itemId) => activeTurn.items.get(itemId)).filter((item) => Boolean(item));
|
|
12996
|
-
const
|
|
12997
|
-
|
|
12998
|
-
|
|
13011
|
+
const normalizedPrompt = normalizePromptForTurnReconciliation(prompt);
|
|
13012
|
+
const transcriptTurnIndex = turns.findLastIndex((turn) => {
|
|
13013
|
+
const transcriptPrompt = userPromptForTurn(turn);
|
|
13014
|
+
return turn.status === "completed" && transcriptPrompt !== null && normalizePromptForTurnReconciliation(transcriptPrompt) === normalizedPrompt && !turn.items.some((item) => item.kind === "agentMessage") && isRecentActiveTranscriptTurn(turn, activeTurn.startedAt);
|
|
13015
|
+
});
|
|
12999
13016
|
if (transcriptTurnIndex < 0) {
|
|
13000
13017
|
return turns;
|
|
13001
13018
|
}
|
|
@@ -13006,6 +13023,11 @@ var ClaudeRuntimeAdapter = class extends EventEmitter5 {
|
|
|
13006
13023
|
aliases = /* @__PURE__ */ new Map();
|
|
13007
13024
|
this.historicalTurnIdAliases.set(providerSessionId, aliases);
|
|
13008
13025
|
}
|
|
13026
|
+
for (const [historicalTurnId, displayTurnId] of aliases) {
|
|
13027
|
+
if (displayTurnId === activeTurn.providerTurnId && historicalTurnId !== transcriptTurn.providerTurnId) {
|
|
13028
|
+
aliases.delete(historicalTurnId);
|
|
13029
|
+
}
|
|
13030
|
+
}
|
|
13009
13031
|
aliases.set(transcriptTurn.providerTurnId, activeTurn.providerTurnId);
|
|
13010
13032
|
}
|
|
13011
13033
|
return turns.map((turn, index) => {
|
|
@@ -13028,9 +13050,16 @@ var ClaudeRuntimeAdapter = class extends EventEmitter5 {
|
|
|
13028
13050
|
if (!aliases || aliases.size === 0) {
|
|
13029
13051
|
return turns;
|
|
13030
13052
|
}
|
|
13053
|
+
const rawTurnIds = new Set(turns.map((turn) => turn.providerTurnId));
|
|
13054
|
+
const usedTurnIds = /* @__PURE__ */ new Set();
|
|
13031
13055
|
return turns.map((turn) => {
|
|
13032
13056
|
const providerTurnId = aliases.get(turn.providerTurnId);
|
|
13033
|
-
|
|
13057
|
+
if (!providerTurnId || usedTurnIds.has(providerTurnId) || providerTurnId !== turn.providerTurnId && rawTurnIds.has(providerTurnId)) {
|
|
13058
|
+
usedTurnIds.add(turn.providerTurnId);
|
|
13059
|
+
return turn;
|
|
13060
|
+
}
|
|
13061
|
+
usedTurnIds.add(providerTurnId);
|
|
13062
|
+
return { ...turn, providerTurnId };
|
|
13034
13063
|
});
|
|
13035
13064
|
}
|
|
13036
13065
|
async listMcpServers() {
|