From fec75535bab77f0972387ff4263ff45428da5b38 Mon Sep 17 00:00:00 2001 From: feelsodev Date: Tue, 17 Feb 2026 22:18:47 +0900 Subject: [PATCH] refactor: move transformModelForProvider to shared for runtime access Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- src/cli/provider-model-id-transform.ts | 21 +-------------------- src/shared/provider-model-id-transform.ts | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 src/shared/provider-model-id-transform.ts diff --git a/src/cli/provider-model-id-transform.ts b/src/cli/provider-model-id-transform.ts index 0d4b22366..e6cb06231 100644 --- a/src/cli/provider-model-id-transform.ts +++ b/src/cli/provider-model-id-transform.ts @@ -1,20 +1 @@ -export function transformModelForProvider(provider: string, model: string): string { - if (provider === "github-copilot") { - return model - .replace("claude-opus-4-6", "claude-opus-4.6") - .replace("claude-sonnet-4-6", "claude-sonnet-4.6") - .replace("claude-haiku-4-5", "claude-haiku-4.5") - .replace("claude-sonnet-4", "claude-sonnet-4") - .replace("gemini-3-pro", "gemini-3-pro-preview") - .replace("gemini-3-flash", "gemini-3-flash-preview") - } - if (provider === "google") { - if (!model.endsWith("-preview")) { - return model - .replace("gemini-3-pro", "gemini-3-pro-preview") - .replace("gemini-3-flash", "gemini-3-flash-preview") - } - return model - } - return model -} +export { transformModelForProvider } from "../shared/provider-model-id-transform" diff --git a/src/shared/provider-model-id-transform.ts b/src/shared/provider-model-id-transform.ts new file mode 100644 index 000000000..0a326f126 --- /dev/null +++ b/src/shared/provider-model-id-transform.ts @@ -0,0 +1,21 @@ +export function transformModelForProvider(provider: string, model: string): string { + if (provider === "github-copilot") { + return model + .replace("claude-opus-4-6", "claude-opus-4.6") + .replace("claude-sonnet-4-6", "claude-sonnet-4.6") + .replace("claude-sonnet-4-5", "claude-sonnet-4.5") + .replace("claude-haiku-4-5", "claude-haiku-4.5") + .replace("claude-sonnet-4", "claude-sonnet-4") + .replace("gemini-3-pro", "gemini-3-pro-preview") + .replace("gemini-3-flash", "gemini-3-flash-preview") + } + if (provider === "google") { + if (!model.endsWith("-preview")) { + return model + .replace("gemini-3-pro", "gemini-3-pro-preview") + .replace("gemini-3-flash", "gemini-3-flash-preview") + } + return model + } + return model +}