diff --git a/src/codex/catalog/parsing.ts b/src/codex/catalog/parsing.ts index a2a1c86c7c..74353197f7 100644 --- a/src/codex/catalog/parsing.ts +++ b/src/codex/catalog/parsing.ts @@ -149,6 +149,9 @@ export const JAWCODE_CATALOG_AUGMENT_PROVIDERS = new Set(["opencode-go", "deepse export const ROUTED_MODEL_COMPATIBILITY_EXCLUSIONS = new Set([ // Issue #82: Zen Go /models advertises HY3, but Console Go rejects it as outside the lite list. "opencode-go/hy3-preview", + // Issue #2330: OpenCode Go models absent from current documentation or returning terminal HTTP 400 errors. + "opencode-go/mimo-v2-omni", + "opencode-go/mimo-v2-pro", ]); export function isRoutedModelCompatibilityExcluded(slug: string): boolean { diff --git a/src/providers/registry.ts b/src/providers/registry.ts index 3fa208456f..9fda85ba63 100644 --- a/src/providers/registry.ts +++ b/src/providers/registry.ts @@ -442,7 +442,7 @@ const THINKING_TOGGLE_MAP: Record = { max: "enabled", }; const OPENCODE_GO_THINKING_TOGGLE_MODELS = [ - "mimo-v2.5", "mimo-v2.5-pro", "mimo-v2-omni", "mimo-v2-pro", "glm-5", "glm-5.1", + "mimo-v2.5", "mimo-v2.5-pro", "glm-5", "glm-5.1", ]; /** * Zhipu's domestic BigModel platform. Text families first, then the vision member: modalities are diff --git a/tests/codex-catalog.test.ts b/tests/codex-catalog.test.ts index d41daa58ad..f4e8bca863 100644 --- a/tests/codex-catalog.test.ts +++ b/tests/codex-catalog.test.ts @@ -5319,6 +5319,13 @@ describe("shouldExposeRoutedModel — Gemini image-capable exemption", () => { test("still filters compatibility-excluded slugs", () => { expect(shouldExposeRoutedModel({ provider: "opencode-go", id: "hy3-preview" })).toBe(false); + // Issue #2330: uncallable or stale OpenCode Go models + expect(shouldExposeRoutedModel({ provider: "opencode-go", id: "mimo-v2-omni" })).toBe(false); + expect(shouldExposeRoutedModel({ provider: "opencode-go", id: "mimo-v2-pro" })).toBe(false); + // Control / live models are exposed + expect(shouldExposeRoutedModel({ provider: "opencode-free", id: "deepseek-v4-flash-free" })).toBe(true); + expect(shouldExposeRoutedModel({ provider: "opencode-go", id: "grok-4.6" })).toBe(true); + expect(shouldExposeRoutedModel({ provider: "opencode-go", id: "glm-5.2" })).toBe(true); }); });