Enable native Codex websocket responses on beta-gated models (#1658)

Integrated into release/v3.7.2
This commit is contained in:
kfiramar
2026-04-27 13:11:59 +03:00
committed by GitHub
parent 712f1ea3e9
commit eec5fa3feb
3 changed files with 4 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ export function getCodexDefaultHeaders(): Record<string, string> {
return {
Version: getCodexClientVersion(),
"Openai-Beta": "responses=experimental",
"X-Codex-Beta-Features": "responses_websockets",
"User-Agent": getCodexUserAgent(),
};
}

View File

@@ -108,6 +108,8 @@ test("CodexExecutor.buildHeaders binds workspace ids and disables SSE accept for
assert.equal(standardHeaders.Accept, "text/event-stream");
assert.equal(standardHeaders["chatgpt-account-id"], "workspace-1");
assert.equal(standardHeaders.Version, "0.125.0");
assert.equal(standardHeaders["Openai-Beta"], "responses=experimental");
assert.equal(standardHeaders["X-Codex-Beta-Features"], "responses_websockets");
assert.equal(standardHeaders["User-Agent"], "codex-cli/0.125.0 (Windows 10.0.26100; x64)");
assert.equal(compactHeaders.Accept, "application/json");
});

View File

@@ -59,6 +59,7 @@ test("T20: codex config advertises current client headers and auto-review model"
const codex = REGISTRY.codex;
assert.equal(codex.headers.Version, "0.125.0");
assert.equal(codex.headers["Openai-Beta"], "responses=experimental");
assert.equal(codex.headers["X-Codex-Beta-Features"], "responses_websockets");
assert.equal(codex.headers["User-Agent"], "codex-cli/0.125.0 (Windows 10.0.26100; x64)");
assert.ok(codex.models.some((model) => model.id === "codex-auto-review"));
});