/** * List here only the model IDs your endpoint exposes. * Add/remove freely – nothing else in the codebase cares. */ export type ModelID = string; let modelsCache: string[] | null = null; export async function getModels(): Promise { if (modelsCache) { return modelsCache; } try { const response = await fetch("/static-proxy?url=https%3A%2F%2Frouter.huggingface.co%2Fv1%2Fmodels"); const data = await response.json(); const modelIds = data.data .filter((model: any) => model.id !== "THUDM/GLM-4.1V-9B-Thinking") .slice(0, 5) .map((model: any) => model.id); modelsCache = modelIds; return modelIds; } catch (e) { console.error(e); return []; } } export async function getDefaultModel(): Promise { const models = await getModels(); return models[0] ?? ""; }