Files
openclaw/src/gateway/server-model-catalog.ts
2026-03-30 00:17:23 +01:00

22 lines
778 B
TypeScript

import {
loadModelCatalog,
type ModelCatalogEntry,
resetModelCatalogCacheForTest,
} from "../agents/model-catalog.js";
import { getRuntimeConfig } from "../config/config.js";
export type GatewayModelChoice = ModelCatalogEntry;
// Test-only escape hatch: model catalog is cached at module scope for the
// process lifetime, which is fine for the real gateway daemon, but makes
// isolated unit tests harder. Keep this intentionally obscure.
export function __resetModelCatalogCacheForTest() {
resetModelCatalogCacheForTest();
}
export async function loadGatewayModelCatalog(params?: {
getConfig?: () => ReturnType<typeof getRuntimeConfig>;
}): Promise<GatewayModelChoice[]> {
return await loadModelCatalog({ config: (params?.getConfig ?? getRuntimeConfig)() });
}