fix: make model validation token budget configurable

This commit is contained in:
chaochaoweb3
2026-07-02 15:48:44 +08:00
parent 5bfd7b2468
commit c1e4b1c9bf
9 changed files with 106 additions and 2 deletions
+35
View File
@@ -0,0 +1,35 @@
import { describe, expect, it } from "vitest"
import {
DEFAULT_MODEL_VALIDATION_MAX_TOKENS,
MAX_MODEL_VALIDATION_MAX_TOKENS,
parseModelValidationMaxTokens,
resolveModelValidationMaxTokens,
} from "@/lib/model-validation"
describe("model validation token budget", () => {
it("defaults to a larger reasoning-friendly budget", () => {
expect(resolveModelValidationMaxTokens()).toBe(
DEFAULT_MODEL_VALIDATION_MAX_TOKENS,
)
})
it("prefers the first valid source", () => {
expect(resolveModelValidationMaxTokens(2000, 3000)).toBe(2000)
expect(resolveModelValidationMaxTokens("bad", "3000")).toBe(3000)
})
it("rejects invalid values", () => {
expect(parseModelValidationMaxTokens(0)).toBeNull()
expect(parseModelValidationMaxTokens(-1)).toBeNull()
expect(parseModelValidationMaxTokens(1.5)).toBeNull()
expect(parseModelValidationMaxTokens("abc")).toBeNull()
})
it("caps very large values", () => {
expect(
resolveModelValidationMaxTokens(
MAX_MODEL_VALIDATION_MAX_TOKENS + 1,
),
).toBe(MAX_MODEL_VALIDATION_MAX_TOKENS)
})
})