summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/package.json6
-rw-r--r--packages/opencode/src/provider/transform.ts30
2 files changed, 33 insertions, 3 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index ef4535ca9..82d562bb0 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -51,12 +51,12 @@
"@actions/core": "1.11.1",
"@actions/github": "6.0.1",
"@agentclientprotocol/sdk": "0.14.1",
- "@ai-sdk/amazon-bedrock": "3.0.74",
- "@ai-sdk/anthropic": "2.0.58",
+ "@ai-sdk/amazon-bedrock": "3.0.79",
+ "@ai-sdk/anthropic": "2.0.62",
"@ai-sdk/azure": "2.0.91",
"@ai-sdk/cerebras": "1.0.36",
"@ai-sdk/cohere": "2.0.22",
- "@ai-sdk/deepinfra": "1.0.33",
+ "@ai-sdk/deepinfra": "1.0.36",
"@ai-sdk/gateway": "2.0.30",
"@ai-sdk/google": "2.0.52",
"@ai-sdk/google-vertex": "3.0.98",
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index 876a26fce..8091f731f 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -458,6 +458,22 @@ export namespace ProviderTransform {
// https://v5.ai-sdk.dev/providers/ai-sdk-providers/anthropic
case "@ai-sdk/google-vertex/anthropic":
// https://v5.ai-sdk.dev/providers/ai-sdk-providers/google-vertex#anthropic-provider
+
+ if (model.api.id.includes("opus-4-6") || model.api.id.includes("opus-4.6")) {
+ const efforts = ["low", "medium", "high", "max"]
+ return Object.fromEntries(
+ efforts.map((effort) => [
+ effort,
+ {
+ thinking: {
+ type: "adaptive",
+ },
+ effort,
+ },
+ ]),
+ )
+ }
+
return {
high: {
thinking: {
@@ -475,6 +491,20 @@ export namespace ProviderTransform {
case "@ai-sdk/amazon-bedrock":
// https://v5.ai-sdk.dev/providers/ai-sdk-providers/amazon-bedrock
+ if (model.api.id.includes("opus-4-6") || model.api.id.includes("opus-4.6")) {
+ const efforts = ["low", "medium", "high", "max"]
+ return Object.fromEntries(
+ efforts.map((effort) => [
+ effort,
+ {
+ reasoningConfig: {
+ type: "adaptive",
+ maxReasoningEffort: effort,
+ },
+ },
+ ]),
+ )
+ }
// For Anthropic models on Bedrock, use reasoningConfig with budgetTokens
if (model.api.id.includes("anthropic")) {
return {