Buckets:
| import { describe, expect, test } from "bun:test" | |
| import { ModelRequest } from "@opencode-ai/core/model-request" | |
| describe("ModelRequest", () => { | |
| test("partitions AI SDK model and models.dev mode options", () => { | |
| expect( | |
| ModelRequest.normalizeAiSdkOptions("@ai-sdk/openai", { | |
| maxOutputTokens: 4096, | |
| temperature: 0.2, | |
| reasoningEffort: "high", | |
| serviceTier: "priority", | |
| custom_extension: { enabled: true }, | |
| }), | |
| ).toEqual({ | |
| generation: { maxTokens: 4096, temperature: 0.2 }, | |
| options: { reasoningEffort: "high", serviceTier: "priority" }, | |
| body: { custom_extension: { enabled: true } }, | |
| }) | |
| }) | |
| test("keeps unknown-provider options as compatibility fields", () => { | |
| expect(ModelRequest.normalizeAiSdkOptions(undefined, { temperature: 0.2, reasoningEffort: "high" })).toEqual({ | |
| generation: { temperature: 0.2 }, | |
| options: {}, | |
| body: { reasoningEffort: "high" }, | |
| }) | |
| }) | |
| test("does not consult inherited package-name properties", () => { | |
| expect(ModelRequest.normalizeAiSdkOptions("__proto__", { reasoningEffort: "high" })).toEqual({ | |
| generation: {}, | |
| options: {}, | |
| body: { reasoningEffort: "high" }, | |
| }) | |
| }) | |
| test("normalizes models.dev wire aliases owned by native protocols", () => { | |
| expect(ModelRequest.normalizeAiSdkOptions("@ai-sdk/openai", { service_tier: "priority" })).toEqual({ | |
| generation: {}, | |
| options: { serviceTier: "priority" }, | |
| body: {}, | |
| }) | |
| }) | |
| }) | |
Xet Storage Details
- Size:
- 1.52 kB
- Xet hash:
- adeec30ce85d94ee98d855122386e2dd73dfb7a8e011afee5c8516a34c23a7f6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.