fix(types): accept synced catalog model rows

This commit is contained in:
backryun
2026-08-09 00:40:46 +09:00
committed by diegosouzapw
parent aae408f585
commit 35f5a00a67
2 changed files with 11 additions and 10 deletions

View File

@@ -13,7 +13,6 @@
export interface SyncedModelRow {
id?: unknown;
[key: string]: unknown;
}
/**

View File

@@ -5,6 +5,7 @@ import {
buildSyncedModelIdsByCanonicalProvider,
shouldSuppressStaticModelBySyncedCoverage,
} from "../../src/app/api/v1/models/catalogSyncedCoverage.ts";
import type { SyncedAvailableModel } from "../../src/lib/db/models/synced.ts";
test("static model covered by synced list IS suppressed (current behavior kept)", () => {
assert.equal(
@@ -51,16 +52,17 @@ test("no synced models -> nothing suppressed", () => {
});
test("buildSyncedModelIdsByCanonicalProvider groups synced ids by canonical provider", () => {
const syncedModels: Record<string, SyncedAvailableModel[]> = {
"command-code": [
{ id: "gpt-5.6-luna", name: "Luna", source: "imported" },
{ id: "moonshotai/Kimi-K3", name: "Kimi K3", source: "imported" },
{ id: "", name: "Invalid", source: "imported" },
],
deepseek: [{ id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", source: "imported" }],
};
const byCanonical = buildSyncedModelIdsByCanonicalProvider(
{
"command-code": [
{ id: "gpt-5.6-luna" },
{ id: "moonshotai/Kimi-K3" },
{ id: "" }, // empty id ignored
],
deepseek: [{ id: "deepseek-v4-flash" }],
},
(aliasOrId, fallback) => aliasOrId === "cmd" ? "command-code" : (fallback || aliasOrId),
syncedModels,
(aliasOrId, fallback) => (aliasOrId === "cmd" ? "command-code" : fallback || aliasOrId),
{},
{ "command-code": "cmd" }
);