From bb88363a768f0cb6050c8327e4a161b527f8ace7 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Mon, 9 Mar 2026 23:03:47 -0500 Subject: [PATCH] cleanup --- packages/opencode/src/provider/provider.ts | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index ea1b7863f8..97af765372 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -117,6 +117,14 @@ export namespace Provider { options?: Record }> + const byShape = (sdk: any, model: Model) => { + const shape = model.api.shape + if (sdk.responses === undefined && sdk.chat === undefined) return sdk.languageModel(model.api.id) + if (shape === "responses") return sdk.responses(model.api.id) + if (shape === "completions") return sdk.chat(model.api.id) + return undefined + } + const CUSTOM_LOADERS: Record = { async anthropic() { return { @@ -165,10 +173,8 @@ export namespace Provider { return { autoload: false, async getModel(sdk: any, model: Model, _options?: Record) { - const shape = model.api.shape - if (sdk.responses === undefined && sdk.chat === undefined) return sdk.languageModel(model.api.id) - if (shape === "responses") return sdk.responses(model.api.id) - if (shape === "completions") return sdk.chat(model.api.id) + const m = byShape(sdk, model) + if (m) return m return shouldUseCopilotResponsesApi(model.api.id) ? sdk.responses(model.api.id) : sdk.chat(model.api.id) }, options: {}, @@ -178,10 +184,8 @@ export namespace Provider { return { autoload: false, async getModel(sdk: any, model: Model, _options?: Record) { - const shape = model.api.shape - if (sdk.responses === undefined && sdk.chat === undefined) return sdk.languageModel(model.api.id) - if (shape === "responses") return sdk.responses(model.api.id) - if (shape === "completions") return sdk.chat(model.api.id) + const m = byShape(sdk, model) + if (m) return m return shouldUseCopilotResponsesApi(model.api.id) ? sdk.responses(model.api.id) : sdk.chat(model.api.id) }, options: {}, @@ -191,9 +195,8 @@ export namespace Provider { return { autoload: false, async getModel(sdk: any, model: Model, options?: Record) { - if (sdk.responses === undefined || sdk.chat === undefined) return sdk.languageModel(model.api.id) - if (model.api.shape === "completions") return sdk.chat(model.api.id) - if (model.api.shape === "responses") return sdk.responses(model.api.id) + const m = byShape(sdk, model) + if (m) return m if (options?.["useCompletionUrls"]) return sdk.chat(model.api.id) return sdk.responses(model.api.id) }, @@ -205,9 +208,8 @@ export namespace Provider { return { autoload: false, async getModel(sdk: any, model: Model, options?: Record) { - if (sdk.responses === undefined || sdk.chat === undefined) return sdk.languageModel(model.api.id) - if (model.api.shape === "completions") return sdk.chat(model.api.id) - if (model.api.shape === "responses") return sdk.responses(model.api.id) + const m = byShape(sdk, model) + if (m) return m if (options?.["useCompletionUrls"]) return sdk.chat(model.api.id) return sdk.responses(model.api.id) },