37 lines · 1.2 KB · TypeScript
RawDownload
import { describe, expect, test } from "bun:test";import { inferModelVision, resolveModelVision } from "@local-studio/contracts/model-capabilities"; describe("resolveModelVision", () => {  test("gives the recipe override priority over metadata and identifiers", () => {    expect(      resolveModelVision({        identifiers: ["owner/qwen3-vl"],        recipeOverride: false,        metadata: { vision: true, modalities: ["image"] },      }),    ).toBe(false);  });   test("uses legacy explicit metadata before modalities and identifiers", () => {    expect(      resolveModelVision({        identifiers: ["owner/qwen3-vl"],        metadata: { supports_vision: "false", modalities: ["image"] },      }),    ).toBe(false);  });   test("recognizes legacy image modalities", () => {    expect(      resolveModelVision({        identifiers: ["owner/text-model"],        modalities: ["text", "image"],      }),    ).toBe(true);  });   test("falls back to identifiers when explicit signals are absent", () => {    expect(inferModelVision(["owner/llava-next"])).toBe(true);    expect(resolveModelVision({ identifiers: ["owner/text-model"] })).toBe(false);  });});