fix(stats): normalize model casing

This commit is contained in:
Dax Raad
2026-08-23 10:33:11 -04:00
parent e3bd6e0947
commit 9d466cd849
2 changed files with 2 additions and 1 deletions
@@ -4,6 +4,7 @@ import { modelAuthor, normalizeInferenceModel, statModel, statProvider } from ".
describe("inference stat normalization", () => {
test("normalizes model suffixes used by router/provider variants", () => {
expect(normalizeInferenceModel("GPT-5-Free")).toBe("gpt-5")
expect(normalizeInferenceModel("deepseek-v4-flash-free")).toBe("deepseek-v4-flash")
expect(normalizeInferenceModel("deepseek-v4-flash:global")).toBe("deepseek-v4-flash")
expect(normalizeInferenceModel("mimo-v2.5-free")).toBe("mimo-v2.5")
@@ -23,7 +23,7 @@ export const RETIRED_STAT_MODELS = ["big-pickle", ...Object.keys(MODEL_NAME_ALIA
export const RETIRED_STAT_PROVIDERS = ["opencode"]
export function normalizeInferenceModel(value: string | undefined) {
return (value || "unknown").replace(/(-free|:free|:global)+$/, "") || "unknown"
return (value || "unknown").toLowerCase().replace(/(-free|:free|:global)+$/, "") || "unknown"
}
export function modelAuthor(value: string | undefined) {