type AliasMap = Record; export function getDefaultModelAliasBase(modelId: string): string { const trimmed = modelId.trim(); if (!trimmed) return ""; const segments = trimmed .split("/") .map((segment) => segment.trim()) .filter(Boolean); return segments[segments.length - 1] || trimmed; } export function resolveManagedModelAlias({ modelId, fullModel, providerDisplayAlias, existingAliases, }: { modelId: string; fullModel: string; providerDisplayAlias: string; existingAliases: AliasMap; }): string | null { const baseAlias = getDefaultModelAliasBase(modelId); if (!baseAlias) return null; for (const [alias, value] of Object.entries(existingAliases)) { if (value === fullModel) return alias; } const displayAlias = providerDisplayAlias.trim(); const candidates: string[] = []; const seen = new Set(); const pushCandidate = (candidate: string) => { const trimmed = candidate.trim(); if (!trimmed || seen.has(trimmed)) return; seen.add(trimmed); candidates.push(trimmed); }; pushCandidate(baseAlias); if (displayAlias) { pushCandidate(`${displayAlias}-${baseAlias}`); } for (const candidate of candidates) { if (!(candidate in existingAliases) || existingAliases[candidate] === fullModel) { return candidate; } } for (let suffix = 2; suffix <= 5000; suffix += 1) { if (displayAlias) { const prefixed = `${displayAlias}-${baseAlias}-${suffix}`; if (!(prefixed in existingAliases) || existingAliases[prefixed] === fullModel) { return prefixed; } } const fallback = `${baseAlias}-${suffix}`; if (!(fallback in existingAliases) || existingAliases[fallback] === fullModel) { return fallback; } } return null; }