fix(reasoning): preserve effort through Codex translations

Carry Claude reasoning_effort/reasoning into OpenAI Chat, map into
OpenAI Responses reasoning.effort, and keep request-level effort
(incl. xhigh) across tool-result turns instead of collapsing to high.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ntdung6868
2026-06-26 12:06:35 +07:00
committed by decolua
co-authored by Cursor
parent 940a35e009
commit 3a866fe18d
6 changed files with 36 additions and 5 deletions
@@ -0,0 +1,17 @@
import { describe, it, expect } from "vitest";
import { normalizeThinkingConfig } from "../../open-sse/services/provider.js";
describe("normalizeThinkingConfig", () => {
it("keeps openai reasoning_effort on non-user turns", () => {
const body = {
messages: [{ role: "assistant", content: "ok" }],
reasoning_effort: "xhigh",
thinking: { type: "enabled" },
};
normalizeThinkingConfig(body);
expect(body.reasoning_effort).toBe("xhigh");
expect(body.thinking).toBeUndefined();
});
});