fix(types): validate Vision Bridge combo names (#9565)

Merge-train validated (tip 6ce4effef8). Vitest failures confirmed as base-red (#9679).
This commit is contained in:
backryun
2026-08-08 08:54:08 +09:00
committed by GitHub
parent c4f37ab01b
commit e62516364c
2 changed files with 16 additions and 2 deletions

View File

@@ -6,7 +6,8 @@
import test from "node:test";
import assert from "node:assert/strict";
const { VisionBridgeGuardrail } = await import("../../../src/lib/guardrails/visionBridge.ts");
const { VisionBridgeGuardrail, resolveVisionComboName } =
await import("../../../src/lib/guardrails/visionBridge.ts");
const { resetGuardrailsForTests } = await import("../../../src/lib/guardrails/registry.ts");
const { getResolvedModelCapabilities } = await import("../../../src/lib/modelCapabilities.ts");
import type { GuardrailContext } from "../../../src/lib/guardrails/base.ts";
@@ -95,6 +96,14 @@ test("VisionBridgeGuardrail can be disabled via constructor", () => {
assert.strictEqual(guardrail.enabled, false);
});
test("resolveVisionComboName accepts only non-empty string mapping names", () => {
assert.equal(resolveVisionComboName({ comboName: "vision-fallback" }), "vision-fallback");
assert.equal(resolveVisionComboName({ name: "legacy-fallback" }), "legacy-fallback");
assert.equal(resolveVisionComboName({ comboName: { nested: true } }), null);
assert.equal(resolveVisionComboName({ comboName: 42 }), null);
assert.equal(resolveVisionComboName({ comboName: "" }), null);
});
// ── VB-S05: Vision Bridge disabled via settings ────────────────────────────
test("VB-S05: passthroughs when visionBridgeEnabled is false", async () => {