





















@@ -103,9 +103,6 @@ const OPENAI_CODEX_GPT_54_MINI_TEMPLATE_MODEL_IDS = [
103103 ...OPENAI_CODEX_GPT_54_TEMPLATE_MODEL_IDS,
104104] as const;
105105const OPENAI_CODEX_GPT_53_MODEL_ID = "gpt-5.3-codex";
106-const OPENAI_CODEX_GPT_53_SPARK_MODEL_ID = "gpt-5.3-codex-spark";
107-const OPENAI_CODEX_GPT_53_SPARK_CONTEXT_TOKENS = 128_000;
108-const OPENAI_CODEX_GPT_53_SPARK_MAX_TOKENS = 128_000;
109106const OPENAI_CODEX_TEMPLATE_MODEL_IDS = ["gpt-5.2-codex"] as const;
110107const OPENAI_CODEX_XHIGH_MODEL_IDS = [
111108OPENAI_CODEX_GPT_55_MODEL_ID,
@@ -114,7 +111,6 @@ const OPENAI_CODEX_XHIGH_MODEL_IDS = [
114111OPENAI_CODEX_GPT_54_PRO_MODEL_ID,
115112OPENAI_CODEX_GPT_54_MINI_MODEL_ID,
116113OPENAI_CODEX_GPT_53_MODEL_ID,
117-OPENAI_CODEX_GPT_53_SPARK_MODEL_ID,
118114"gpt-5.2-codex",
119115"gpt-5.1-codex",
120116] as const;
@@ -127,7 +123,6 @@ const OPENAI_CODEX_MODERN_MODEL_IDS = [
127123"gpt-5.2",
128124"gpt-5.2-codex",
129125OPENAI_CODEX_GPT_53_MODEL_ID,
130-OPENAI_CODEX_GPT_53_SPARK_MODEL_ID,
131126] as const;
132127133128function isLegacyCodexCompatBaseUrl(baseUrl?: string): boolean {
@@ -236,18 +231,6 @@ function resolveCodexForwardCompatModel(ctx: ProviderResolveDynamicModelContext)
236231maxTokens: OPENAI_CODEX_GPT_54_MAX_TOKENS,
237232cost: OPENAI_CODEX_GPT_54_MINI_COST,
238233};
239-} else if (lower === OPENAI_CODEX_GPT_53_SPARK_MODEL_ID) {
240-templateIds = [OPENAI_CODEX_GPT_53_MODEL_ID, ...OPENAI_CODEX_TEMPLATE_MODEL_IDS];
241-patch = {
242-api: "openai-codex-responses",
243-provider: PROVIDER_ID,
244-baseUrl: OPENAI_CODEX_BASE_URL,
245-reasoning: true,
246-input: ["text"],
247-cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
248-contextWindow: OPENAI_CODEX_GPT_53_SPARK_CONTEXT_TOKENS,
249-maxTokens: OPENAI_CODEX_GPT_53_SPARK_MAX_TOKENS,
250-};
251234} else if (lower === OPENAI_CODEX_GPT_53_MODEL_ID) {
252235templateIds = OPENAI_CODEX_TEMPLATE_MODEL_IDS;
253236} else {
@@ -485,6 +468,15 @@ export function buildOpenAICodexProviderPlugin(): ProviderPlugin {
485468],
486469}),
487470isModernModelRef: ({ modelId }) => matchesExactOrPrefix(modelId, OPENAI_CODEX_MODERN_MODEL_IDS),
471+suppressBuiltInModel: ({ provider, modelId }) =>
472+normalizeProviderId(provider) === PROVIDER_ID &&
473+normalizeLowercaseStringOrEmpty(modelId) === "gpt-5.3-codex-spark"
474+ ? {
475+suppress: true,
476+errorMessage:
477+"gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5.",
478+}
479+ : undefined,
488480preferRuntimeResolvedModel: (ctx) => {
489481if (normalizeProviderId(ctx.provider) !== PROVIDER_ID) {
490482return false;
@@ -530,11 +522,6 @@ export function buildOpenAICodexProviderPlugin(): ProviderPlugin {
530522providerId: PROVIDER_ID,
531523templateIds: OPENAI_CODEX_GPT_54_MINI_TEMPLATE_MODEL_IDS,
532524});
533-const sparkTemplate = findCatalogTemplate({
534-entries: ctx.entries,
535-providerId: PROVIDER_ID,
536-templateIds: [OPENAI_CODEX_GPT_53_MODEL_ID, ...OPENAI_CODEX_TEMPLATE_MODEL_IDS],
537-});
538525return [
539526buildOpenAISyntheticCatalogEntry(gpt55Template, {
540527id: OPENAI_CODEX_GPT_55_MODEL_ID,
@@ -575,12 +562,6 @@ export function buildOpenAICodexProviderPlugin(): ProviderPlugin {
575562contextWindow: OPENAI_CODEX_GPT_54_MINI_CONTEXT_TOKENS,
576563cost: OPENAI_CODEX_GPT_54_MINI_COST,
577564}),
578-buildOpenAISyntheticCatalogEntry(sparkTemplate, {
579-id: OPENAI_CODEX_GPT_53_SPARK_MODEL_ID,
580-reasoning: true,
581-input: ["text"],
582-contextWindow: OPENAI_CODEX_GPT_53_SPARK_CONTEXT_TOKENS,
583-}),
584565].filter((entry): entry is NonNullable<typeof entry> => entry !== undefined);
585566},
586567};
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。