model.test.ts 831 B

1234567891011121314151617181920212223
  1. import { describe, expect, test } from "bun:test"
  2. import { Schema } from "effect"
  3. import { ModelV2 } from "@opencode-ai/core/model"
  4. import { ProviderV2 } from "@opencode-ai/core/provider"
  5. const decode = Schema.decodeUnknownSync(ModelV2.Ref)
  6. describe("ModelV2.Ref", () => {
  7. test("accepts a model selection without a variant", () => {
  8. expect(decode({ id: "claude-sonnet", providerID: "anthropic" })).toEqual({
  9. id: ModelV2.ID.make("claude-sonnet"),
  10. providerID: ProviderV2.ID.make("anthropic"),
  11. })
  12. })
  13. test("preserves an explicit model variant", () => {
  14. expect(decode({ id: "claude-sonnet", providerID: "anthropic", variant: "high" })).toEqual({
  15. id: ModelV2.ID.make("claude-sonnet"),
  16. providerID: ProviderV2.ID.make("anthropic"),
  17. variant: ModelV2.VariantID.make("high"),
  18. })
  19. })
  20. })