diff options
| author | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-01-31 01:32:46 +0000 |
|---|---|---|
| committer | opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> | 2026-01-31 01:32:46 +0000 |
| commit | 252b2c450d1f26adff193d5e649f37c279c1f3cd (patch) | |
| tree | 86de323b7bad2433039d1c2101cb72ca21e6625c | |
| parent | 0c32afbc35d404ed9853765477fd12c167e2c032 (diff) | |
| download | opencode-252b2c450d1f26adff193d5e649f37c279c1f3cd.tar.gz opencode-252b2c450d1f26adff193d5e649f37c279c1f3cd.zip | |
chore: generate
| -rw-r--r-- | packages/opencode/src/provider/transform.ts | 14 | ||||
| -rw-r--r-- | packages/opencode/test/provider/transform.test.ts | 28 |
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) }) }) |
