From e280b8304e071aacb93aef23065da0c3ab209776 Mon Sep 17 00:00:00 2001 From: Aris Grout <38895855+arisgrout@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:44:19 -0700 Subject: [PATCH] fix: drop provider prefix from static-catalog model dict keys (#9178) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Validated in local merge-train (devbox-vm-06-dev002) @ combined-tip (FAST gates green: static + changed tests + vitest — only pre-existing audit.test.ts flake). Evidence: /home/diegosouzapw/dev/proxys/OmniRoute/.claude/worktrees/merge-train-20260805-213228-suite.log --- @omniroute/opencode-plugin/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/@omniroute/opencode-plugin/src/index.ts b/@omniroute/opencode-plugin/src/index.ts index dcd881ab4e..f54adb8d50 100644 --- a/@omniroute/opencode-plugin/src/index.ts +++ b/@omniroute/opencode-plugin/src/index.ts @@ -4271,7 +4271,7 @@ export function buildStaticProviderEntry( // has no corresponding provider block. So bare keys (no `/`) MUST be // prefixed with the resolved providerId. Already-prefixed keys // (e.g. `cc/claude-opus-4-7`) are left as-is to avoid double-prefixing. - models[raw.id.includes("/") ? raw.id : `${opts.providerId}/${raw.id}`] = entry; + models[raw.id] = entry; } // Combo entries → stripped LCD shape. Each combo is keyed as @@ -4466,7 +4466,7 @@ export function buildStaticProviderEntry( // (`opencode-omniroute/opencode-omniroute/`), and `parseModel()` // resolves credentials for the nonexistent provider `opencode-omniroute` // instead of `omniroute`. See #7976. - models[buildComboKey(combo, usedComboKeys, opts.omnirouteProviderId)] = entry; + models[buildComboKey(combo, usedComboKeys, opts.omnirouteProviderId).split("/").pop()!] = entry; // Make this combo's resolved entry available to parent combos // that reference it via combo-ref. Use the friendly name since