146 lines · 4.2 KB · TypeScript
RawDownload
import { assert, it } from "@effect/vitest"; import { applyPreferredCodexDefaultModel, mapCodexModelCapabilities } from "./CodexProvider.ts"; it("maps current Codex model capability fields", () => {  const capabilities = mapCodexModelCapabilities({    additionalSpeedTiers: [],    defaultReasoningEffort: "super-high",    description: "Test model",    displayName: "GPT Test",    hidden: false,    id: "gpt-test",    isDefault: true,    model: "gpt-test",    defaultServiceTier: "flex",    serviceTiers: [      {        id: "priority",        name: "Fast",        description: "Lower latency responses.",      },      {        id: "flex",        name: "Flex",        description: "Lower-cost asynchronous routing.",      },    ],    supportedReasoningEfforts: [      {        description: "Maximum reasoning",        reasoningEffort: "super-high",      },    ],  });   assert.deepStrictEqual(capabilities.optionDescriptors, [    {      id: "reasoningEffort",      label: "Reasoning",      type: "select",      options: [{ id: "super-high", label: "super-high", isDefault: true }],      currentValue: "super-high",    },    {      id: "serviceTier",      label: "Service Tier",      type: "select",      options: [        { id: "default", label: "Standard" },        {          id: "priority",          label: "Fast",          description: "Lower latency responses.",        },        {          id: "flex",          label: "Flex",          description: "Lower-cost asynchronous routing.",          isDefault: true,        },      ],      currentValue: "flex",    },  ]);}); it("uses standard routing when the catalog has no default service tier", () => {  const capabilities = mapCodexModelCapabilities({    additionalSpeedTiers: ["fast"],    defaultReasoningEffort: "medium",    defaultServiceTier: null,    description: "Test model",    displayName: "GPT Test",    hidden: false,    id: "gpt-test",    isDefault: true,    model: "gpt-test",    serviceTiers: [      {        id: "priority",        name: "Fast",        description: "1.5x speed, increased usage",      },    ],    supportedReasoningEfforts: [],  });   assert.deepStrictEqual(capabilities.optionDescriptors, [    {      id: "serviceTier",      label: "Service Tier",      type: "select",      options: [        { id: "default", label: "Standard", isDefault: true },        {          id: "priority",          label: "Fast",          description: "1.5x speed, increased usage",        },      ],      currentValue: "default",    },  ]);}); it("marks the most preferred available model as default", () => {  const models = applyPreferredCodexDefaultModel([    { slug: "gpt-5.6-terra", name: "GPT-5.6-Terra", isCustom: false, capabilities: null },    { slug: "gpt-5.4", name: "GPT-5.4", isCustom: false, isDefault: true, capabilities: null },  ]);   assert.deepStrictEqual(    models.map((model) => ({ slug: model.slug, isDefault: model.isDefault })),    [      { slug: "gpt-5.6-terra", isDefault: true },      { slug: "gpt-5.4", isDefault: undefined },    ],  );}); it("prefers sol over terra when both are available", () => {  const models = applyPreferredCodexDefaultModel([    { slug: "gpt-5.6-terra", name: "GPT-5.6-Terra", isCustom: false, capabilities: null },    { slug: "gpt-5.6-sol", name: "GPT-5.6-Sol", isCustom: false, capabilities: null },  ]);   assert.deepStrictEqual(models.find((model) => model.isDefault)?.slug, "gpt-5.6-sol");}); it("keeps Codex's own default when no preferred model is available", () => {  const models = applyPreferredCodexDefaultModel([    { slug: "gpt-5.5", name: "GPT-5.5", isCustom: false, capabilities: null },    { slug: "gpt-5.4", name: "GPT-5.4", isCustom: false, isDefault: true, capabilities: null },  ]);   assert.deepStrictEqual(models.find((model) => model.isDefault)?.slug, "gpt-5.4");}); it("ignores custom models that shadow a preferred slug", () => {  const models = applyPreferredCodexDefaultModel([    { slug: "gpt-5.6-sol", name: "gpt-5.6-sol", isCustom: true, capabilities: null },    { slug: "gpt-5.4", name: "GPT-5.4", isCustom: false, isDefault: true, capabilities: null },  ]);   assert.deepStrictEqual(models.find((model) => model.isDefault)?.slug, "gpt-5.4");});