model.test.ts 813 B

1234567891011121314151617181920212223
  1. import { describe, expect, test } from "bun:test"
  2. import { Schema } from "effect"
  3. import { Model } from "@opencode-ai/core/model"
  4. import { Provider } from "@opencode-ai/core/provider"
  5. const decode = Schema.decodeUnknownSync(Model.Ref)
  6. describe("Model.Ref", () => {
  7. test("accepts a model selection without a variant", () => {
  8. expect(decode({ id: "claude-sonnet", providerID: "anthropic" })).toEqual({
  9. id: Model.ID.make("claude-sonnet"),
  10. providerID: Provider.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: Model.ID.make("claude-sonnet"),
  16. providerID: Provider.ID.make("anthropic"),
  17. variant: Model.VariantID.make("high"),
  18. })
  19. })
  20. })