summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-01-31 01:32:46 +0000
committeropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-01-31 01:32:46 +0000
commit252b2c450d1f26adff193d5e649f37c279c1f3cd (patch)
tree86de323b7bad2433039d1c2101cb72ca21e6625c
parent0c32afbc35d404ed9853765477fd12c167e2c032 (diff)
downloadopencode-252b2c450d1f26adff193d5e649f37c279c1f3cd.tar.gz
opencode-252b2c450d1f26adff193d5e649f37c279c1f3cd.zip
chore: generate
-rw-r--r--packages/opencode/src/provider/transform.ts14
-rw-r--r--packages/opencode/test/provider/transform.test.ts28
2 files changed, 34 insertions, 8 deletions
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index be06340d6..0eee64466 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -683,13 +683,19 @@ export namespace ProviderTransform {
// Handle thinking mode for @ai-sdk/anthropic, @ai-sdk/google-vertex/anthropic (budgetTokens)
// and @ai-sdk/openai-compatible with Claude (budget_tokens)
- if (npm === "@ai-sdk/anthropic" || npm === "@ai-sdk/google-vertex/anthropic" || npm === "@ai-sdk/openai-compatible") {
+ if (
+ npm === "@ai-sdk/anthropic" ||
+ npm === "@ai-sdk/google-vertex/anthropic" ||
+ npm === "@ai-sdk/openai-compatible"
+ ) {
const thinking = options?.["thinking"]
// Support both camelCase (for @ai-sdk/anthropic) and snake_case (for openai-compatible)
const budgetTokens =
- typeof thinking?.["budgetTokens"] === "number" ? thinking["budgetTokens"] :
- typeof thinking?.["budget_tokens"] === "number" ? thinking["budget_tokens"] :
- 0
+ typeof thinking?.["budgetTokens"] === "number"
+ ? thinking["budgetTokens"]
+ : typeof thinking?.["budget_tokens"] === "number"
+ ? thinking["budget_tokens"]
+ : 0
const enabled = thinking?.["type"] === "enabled"
if (enabled && budgetTokens > 0) {
// Return text tokens so that text + thinking <= model cap, preferring 32k text when possible.
diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts
index 22d1a7070..b1e0c9a61 100644
--- a/packages/opencode/test/provider/transform.test.ts
+++ b/packages/opencode/test/provider/transform.test.ts
@@ -277,7 +277,12 @@ describe("ProviderTransform.maxOutputTokens", () => {
budget_tokens: 10000,
},
}
- const result = ProviderTransform.maxOutputTokens("@ai-sdk/openai-compatible", options, modelLimit, OUTPUT_TOKEN_MAX)
+ const result = ProviderTransform.maxOutputTokens(
+ "@ai-sdk/openai-compatible",
+ options,
+ modelLimit,
+ OUTPUT_TOKEN_MAX,
+ )
expect(result).toBe(OUTPUT_TOKEN_MAX)
})
@@ -289,7 +294,12 @@ describe("ProviderTransform.maxOutputTokens", () => {
budget_tokens: 30000,
},
}
- const result = ProviderTransform.maxOutputTokens("@ai-sdk/openai-compatible", options, modelLimit, OUTPUT_TOKEN_MAX)
+ const result = ProviderTransform.maxOutputTokens(
+ "@ai-sdk/openai-compatible",
+ options,
+ modelLimit,
+ OUTPUT_TOKEN_MAX,
+ )
expect(result).toBe(20000)
})
@@ -301,7 +311,12 @@ describe("ProviderTransform.maxOutputTokens", () => {
budget_tokens: 10000,
},
}
- const result = ProviderTransform.maxOutputTokens("@ai-sdk/openai-compatible", options, modelLimit, OUTPUT_TOKEN_MAX)
+ const result = ProviderTransform.maxOutputTokens(
+ "@ai-sdk/openai-compatible",
+ options,
+ modelLimit,
+ OUTPUT_TOKEN_MAX,
+ )
expect(result).toBe(OUTPUT_TOKEN_MAX)
})
@@ -313,7 +328,12 @@ describe("ProviderTransform.maxOutputTokens", () => {
budget_tokens: 0,
},
}
- const result = ProviderTransform.maxOutputTokens("@ai-sdk/openai-compatible", options, modelLimit, OUTPUT_TOKEN_MAX)
+ const result = ProviderTransform.maxOutputTokens(
+ "@ai-sdk/openai-compatible",
+ options,
+ modelLimit,
+ OUTPUT_TOKEN_MAX,
+ )
expect(result).toBe(OUTPUT_TOKEN_MAX)
})
})