diff --git a/bun.lock b/bun.lock index 84b406039..1652adb3e 100644 --- a/bun.lock +++ b/bun.lock @@ -241,7 +241,7 @@ "@opencode-ai/script": "workspace:*", "@opencode-ai/sdk": "workspace:*", "@opencode-ai/util": "workspace:*", - "@openrouter/ai-sdk-provider": "1.2.8", + "@openrouter/ai-sdk-provider": "1.5.2", "@opentui/core": "0.1.60", "@opentui/solid": "0.1.60", "@parcel/watcher": "2.5.1", @@ -1141,7 +1141,7 @@ "@opencode-ai/web": ["@opencode-ai/web@workspace:packages/web"], - "@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@1.2.8", "", { "dependencies": { "@openrouter/sdk": "^0.1.8" }, "peerDependencies": { "ai": "^5.0.0", "zod": "^3.24.1 || ^v4" } }, "sha512-pQT8AzZBKg9f4bkt4doF486ZlhK0XjKkevrLkiqYgfh1Jplovieu28nK4Y+xy3sF18/mxjqh9/2y6jh01qzLrA=="], + "@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@1.5.2", "", { "dependencies": { "@openrouter/sdk": "^0.1.27" }, "peerDependencies": { "@toon-format/toon": "^2.0.0", "ai": "^5.0.0", "zod": "^3.24.1 || ^v4" }, "optionalPeers": ["@toon-format/toon"] }, "sha512-3Th0vmJ9pjnwcPc2H1f59Mb0LFvwaREZAScfOQIpUxAHjZ7ZawVKDP27qgsteZPmMYqccNMy4r4Y3kgUnNcKAg=="], "@openrouter/sdk": ["@openrouter/sdk@0.1.27", "", { "dependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-RH//L10bSmc81q25zAZudiI4kNkLgxF2E+WU42vghp3N6TEvZ6F0jK7uT3tOxkEn91gzmMw9YVmDENy7SJsajQ=="], diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 302d8fc9f..ae6df98c1 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -70,7 +70,7 @@ "@opencode-ai/script": "workspace:*", "@opencode-ai/sdk": "workspace:*", "@opencode-ai/util": "workspace:*", - "@openrouter/ai-sdk-provider": "1.2.8", + "@openrouter/ai-sdk-provider": "1.5.2", "@opentui/core": "0.1.60", "@opentui/solid": "0.1.60", "@parcel/watcher": "2.5.1", diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 891025cde..78a05e104 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -223,10 +223,10 @@ export namespace ProviderTransform { result["promptCacheKey"] = sessionID } - if ( - model.providerID === "google" || - (model.providerID.startsWith("opencode") && model.api.id.includes("gemini-3")) - ) { + if (model.api.npm === "@openrouter/ai-sdk-provider" && model.api.id.includes("gemini-3")) { + result["reasoning"] = { effort: "high" } + } + if (model.api.npm === "@ai-sdk/google" || model.api.npm === "@ai-sdk/google-vertex") { result["thinkingConfig"] = { includeThoughts: true, }