diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index d4d4b3e26..513c8524d 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -598,11 +598,14 @@ export namespace Provider { providerID: provider.id, name: model.name, family: model.family, - api: { - id: model.id, - url: provider.api!, - npm: model.provider?.npm ?? provider.npm ?? "@ai-sdk/openai-compatible", - }, + api: { + id: model.id, + url: provider.api!, + npm: iife(() => { + if (provider.id.startsWith("github-copilot")) return "@ai-sdk/github-copilot" + return model.provider?.npm ?? provider.npm ?? "@ai-sdk/openai-compatible" + }), + }, status: model.status ?? "active", headers: model.headers ?? {}, options: model.options ?? {}, @@ -908,16 +911,6 @@ export namespace Provider { continue } - if (providerID === "github-copilot" || providerID === "github-copilot-enterprise") { - provider.models = mapValues(provider.models, (model) => ({ - ...model, - api: { - ...model.api, - npm: "@ai-sdk/github-copilot", - }, - })) - } - const configProvider = config.provider?.[providerID] for (const [modelID, model] of Object.entries(provider.models)) {