Fix OpenAI Responses transcript after model switch

This commit is contained in:
Roshan Singh
2026-01-24 04:48:25 +00:00
committed by Peter Steinberger
parent 72020b37c3
commit 202d7af855
4 changed files with 158 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ import type { SessionManager } from "@mariozechner/pi-coding-agent";
import { registerUnhandledRejectionHandler } from "../../infra/unhandled-rejections.js";
import {
downgradeOpenAIReasoningBlocks,
isCompactionFailureError,
isGoogleModelApi,
sanitizeGoogleTurnOrdering,
@@ -292,12 +293,16 @@ export async function sanitizeSessionHistory(params: {
? sanitizeToolUseResultPairing(sanitizedThinking)
: sanitizedThinking;
const isOpenAIResponsesApi =
params.modelApi === "openai-responses" || params.modelApi === "openai-codex-responses";
const sanitizedOpenAI = isOpenAIResponsesApi ? downgradeOpenAIReasoningBlocks(repairedTools) : repairedTools;
if (!policy.applyGoogleTurnOrdering) {
return repairedTools;
return sanitizedOpenAI;
}
return applyGoogleTurnOrderingFix({
messages: repairedTools,
messages: sanitizedOpenAI,
modelApi: params.modelApi,
sessionManager: params.sessionManager,
sessionId: params.sessionId,