Skip to content

Commit 0f24e0f

Browse files
committed
Repair canonical OpenAI stale Codex sessions
1 parent afa04d6 commit 0f24e0f

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

src/commands/doctor/shared/codex-route-warnings.test.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3879,6 +3879,35 @@ describe("collectCodexRouteWarnings", () => {
38793879
expect(store.main.agentRuntimeOverride).toBeUndefined();
38803880
});
38813881

3882+
it("repairs legacy Codex model refs under canonical OpenAI session providers", () => {
3883+
const store: Record<string, SessionEntry> = {
3884+
main: {
3885+
sessionId: "s1",
3886+
updatedAt: 1,
3887+
modelProvider: "openai",
3888+
model: "openai-codex/gpt-5.5",
3889+
providerOverride: "openai",
3890+
modelOverride: "openai-codex/gpt-5.4",
3891+
agentHarnessId: "codex",
3892+
agentRuntimeOverride: "codex",
3893+
},
3894+
};
3895+
3896+
const result = repairCodexSessionStoreRoutes({
3897+
store,
3898+
now: 123,
3899+
});
3900+
3901+
expect(result).toEqual({ changed: true, sessionKeys: ["main"] });
3902+
expect(store.main.updatedAt).toBe(123);
3903+
expect(store.main.modelProvider).toBe("openai");
3904+
expect(store.main.model).toBe("gpt-5.5");
3905+
expect(store.main.providerOverride).toBe("openai");
3906+
expect(store.main.modelOverride).toBe("gpt-5.4");
3907+
expect(store.main.agentHarnessId).toBeUndefined();
3908+
expect(store.main.agentRuntimeOverride).toBeUndefined();
3909+
});
3910+
38823911
it("repairs Telegram direct session routes while preserving canonical OpenAI auth pins", () => {
38833912
const store: Record<string, SessionEntry> = {
38843913
"agent:main:telegram:default:direct:5550100999": {

src/commands/doctor/shared/codex-route-warnings.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2899,7 +2899,8 @@ function rewriteSessionModelPair(params: {
28992899
return true;
29002900
}
29012901
if (model && isOpenAICodexModelRef(model)) {
2902-
const canonicalModel = toCanonicalOpenAIModelRef(model);
2902+
const canonicalModel =
2903+
provider === "openai" ? toOpenAIModelId(model) : toCanonicalOpenAIModelRef(model);
29032904
if (canonicalModel) {
29042905
params.entry[params.modelKey] = canonicalModel;
29052906
changed = true;

0 commit comments

Comments
 (0)