From dbd72df3a47a9c8515b567af2ece36b138da967f Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 20 Mar 2026 16:02:25 -0500 Subject: [PATCH] fix: further adjust provider.ts, ensure that the typing for language is LanguageModelV3 instead of LanuageModel union (should fix compat in llm.ts) --- packages/opencode/src/provider/provider.ts | 9 ++++++--- packages/opencode/src/session/llm.ts | 3 --- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 58994f3207..92c35a0d74 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -9,6 +9,7 @@ import { BunProc } from "../bun" import { Hash } from "../util/hash" import { Plugin } from "../plugin" import { NamedError } from "@opencode-ai/util/error" +import { type LanguageModelV3 } from "@ai-sdk/provider" import { ModelsDev } from "./models" import { Auth } from "../auth" import { Env } from "../env" @@ -104,7 +105,9 @@ export namespace Provider { }) } - type BundledSDK = Pick + type BundledSDK = { + languageModel(modelId: string): LanguageModelV3 + } const BUNDLED_PROVIDERS: Record BundledSDK> = { "@ai-sdk/amazon-bedrock": createAmazonBedrock, @@ -848,7 +851,7 @@ export namespace Provider { } const providers: Record = {} as Record - const languages = new Map>() + const languages = new Map() const modelLoaders: { [providerID: string]: CustomModelLoader } = {} @@ -1242,7 +1245,7 @@ export namespace Provider { return info } - export async function getLanguage(model: Model): Promise> { + export async function getLanguage(model: Model): Promise { const s = await state() const key = `${model.providerID}/${model.id}` if (s.models.has(key)) return s.models.get(key)! diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index daf70180e5..d00361cb69 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -1,4 +1,3 @@ -import { Installation } from "@/installation" import { Provider } from "@/provider/provider" import { Log } from "@/util/log" import { @@ -42,8 +41,6 @@ export namespace LLM { toolChoice?: "auto" | "required" | "none" } - export type StreamOutput = StreamTextResult - export async function stream(input: StreamInput) { const l = log .clone()