From dc34dc4ff329e64d29c71b9ed43cc2bb44a063af Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Fri, 31 Jul 2026 17:13:32 +0800 Subject: [PATCH] test(release): align GPT-5.6 default contracts --- extensions/openai/provider-auth.contract.test.ts | 2 ++ .../provider-catalog.contract-test-support.ts | 2 +- scripts/e2e/lib/codex-on-demand/assertions.mjs | 4 ++-- .../test-helpers/provider-auth-contract.ts | 12 +++++++++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/extensions/openai/provider-auth.contract.test.ts b/extensions/openai/provider-auth.contract.test.ts index 382748e368e2..8d68f02702dd 100644 --- a/extensions/openai/provider-auth.contract.test.ts +++ b/extensions/openai/provider-auth.contract.test.ts @@ -1,6 +1,7 @@ // Openai tests cover provider auth.contract plugin behavior. import { describeOpenAICodexProviderAuthContract } from "openclaw/plugin-sdk/provider-test-contracts"; import { vi } from "vitest"; +import { OPENAI_CODEX_DEFAULT_MODEL } from "./default-models.js"; const loginOpenAICodexOAuthMock = vi.hoisted(() => vi.fn()); @@ -9,5 +10,6 @@ vi.mock("./openai-chatgpt-oauth.runtime.js", () => ({ })); describeOpenAICodexProviderAuthContract(() => import("./index.js"), { + expectedCodexDefaultModel: OPENAI_CODEX_DEFAULT_MODEL, loginOpenAICodexOAuthMock, }); diff --git a/extensions/openai/test-support/provider-catalog.contract-test-support.ts b/extensions/openai/test-support/provider-catalog.contract-test-support.ts index 57a73140c2c7..398d4ed45333 100644 --- a/extensions/openai/test-support/provider-catalog.contract-test-support.ts +++ b/extensions/openai/test-support/provider-catalog.contract-test-support.ts @@ -118,7 +118,7 @@ export function describeOpenAIProviderCatalogContract() { const { openaiProvider } = await contractDepsPromise; expectCodexMissingAuthHint( (params) => openaiProvider.buildMissingAuthMessage?.(params.context) ?? undefined, - "openai/gpt-5.5", + "openai/gpt-5.6-sol", ); }); diff --git a/scripts/e2e/lib/codex-on-demand/assertions.mjs b/scripts/e2e/lib/codex-on-demand/assertions.mjs index a4d0c4abf9df..1a298807ea63 100644 --- a/scripts/e2e/lib/codex-on-demand/assertions.mjs +++ b/scripts/e2e/lib/codex-on-demand/assertions.mjs @@ -91,8 +91,8 @@ if (!hasHarness) { } const primaryModel = cfg.agents?.defaults?.model?.primary; -if (primaryModel !== "openai/gpt-5.5") { - throw new Error(`expected OpenAI onboarding model openai/gpt-5.5, got ${primaryModel}`); +if (primaryModel !== "openai/gpt-5.6") { + throw new Error(`expected OpenAI onboarding model openai/gpt-5.6, got ${primaryModel}`); } const providerRuntime = cfg.models?.providers?.openai?.agentRuntime?.id; if (providerRuntime && providerRuntime !== "codex") { diff --git a/src/plugin-sdk/test-helpers/provider-auth-contract.ts b/src/plugin-sdk/test-helpers/provider-auth-contract.ts index 413a37e71356..2a1b4e6d525b 100644 --- a/src/plugin-sdk/test-helpers/provider-auth-contract.ts +++ b/src/plugin-sdk/test-helpers/provider-auth-contract.ts @@ -29,6 +29,7 @@ export type ProviderAuthContractPluginLoader = () => Promise<{ }>; export type OpenAICodexProviderAuthContractOptions = { + expectedCodexDefaultModel: string; loginOpenAICodexOAuthMock: ReturnType>; }; @@ -80,6 +81,7 @@ function buildOpenAICodexOAuthResult(params: { refresh: string; expires: number; email?: string; + defaultModel: string; }) { return { profiles: [ @@ -99,12 +101,12 @@ function buildOpenAICodexOAuthResult(params: { agents: { defaults: { models: { - "openai/gpt-5.5": {}, + [params.defaultModel]: {}, }, }, }, }, - defaultModel: "openai/gpt-5.5", + defaultModel: params.defaultModel, notes: undefined, }; } @@ -146,7 +148,7 @@ export function describeOpenAICodexProviderAuthContract( const state = { authStore: { version: 1, profiles: {} } as AuthProfileStore, }; - const { loginOpenAICodexOAuthMock } = options; + const { expectedCodexDefaultModel, loginOpenAICodexOAuthMock } = options; describe("openai provider ChatGPT auth contract", () => { installSharedAuthProfileStoreHooks(state); @@ -166,6 +168,7 @@ export function describeOpenAICodexProviderAuthContract( access: params.access, refresh: "refresh-token", expires: 1_700_000_000_000, + defaultModel: expectedCodexDefaultModel, }), ); } @@ -193,6 +196,7 @@ export function describeOpenAICodexProviderAuthContract( refresh: "refresh-token", expires: 1_700_000_000_000, email: "user@example.com", + defaultModel: expectedCodexDefaultModel, }), ); }); @@ -219,6 +223,7 @@ export function describeOpenAICodexProviderAuthContract( refresh: "refresh-token", expires: 1_700_000_000_000, email: "jwt-user@example.com", + defaultModel: expectedCodexDefaultModel, }), ); }); @@ -277,6 +282,7 @@ export function describeOpenAICodexProviderAuthContract( access: "not-a-jwt-token", refresh: "refresh-token", expires: 1_700_000_000_000, + defaultModel: expectedCodexDefaultModel, }), ); });