// Re-export from open-sse with localDb integration import { getModelAliases, getComboByName, getProviderNodes } from "@/lib/localDb"; import { parseModel, resolveModelAliasFromMap, getModelInfoCore } from "open-sse/services/model.js"; export { parseModel }; /** * Resolve model alias from localDb */ export async function resolveModelAlias(alias) { const aliases = await getModelAliases(); return resolveModelAliasFromMap(alias, aliases); } /** * Get full model info (parse or resolve) */ export async function getModelInfo(modelStr) { const parsed = parseModel(modelStr); if (!parsed.isAlias) { if (parsed.provider === parsed.providerAlias) { const providerNodes = await getProviderNodes({ type: "openai-compatible" }); const matchedNode = providerNodes.find((node) => node.prefix === parsed.providerAlias); if (matchedNode) { return { provider: matchedNode.id, model: parsed.model }; } } return { provider: parsed.provider, model: parsed.model }; } return getModelInfoCore(modelStr, getModelAliases); } /** * Check if model is a combo and get models list * @returns {Promise} Array of models or null if not a combo */ export async function getComboModels(modelStr) { // Only check if it's not in provider/model format if (modelStr.includes("/")) return null; const combo = await getComboByName(modelStr); if (combo && combo.models && combo.models.length > 0) { return combo.models; } return null; }