UNPKG

manifest

Version:

Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard

129 lines 4.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GOOGLE_VARIANT_RE = void 0; exports.stripGoogleVariant = stripGoogleVariant; exports.stripProviderPrefix = stripProviderPrefix; exports.stripDateSuffix = stripDateSuffix; exports.buildAliasMap = buildAliasMap; exports.normalizeDots = normalizeDots; exports.resolveModelName = resolveModelName; const anthropic_model_id_1 = require("../common/utils/anthropic-model-id"); const providers_1 = require("../common/constants/providers"); const KNOWN_ALIASES = [ ['claude-opus-4', 'claude-opus-4-6'], ['claude-sonnet-4.5', 'claude-sonnet-4-5-20250929'], ['claude-sonnet-4-5', 'claude-sonnet-4-5-20250929'], ['claude-opus-4-5', 'claude-opus-4-5-20251101'], ['claude-opus-4-1', 'claude-opus-4-1-20250805'], ['claude-sonnet-4-0', 'claude-sonnet-4-20250514'], ['claude-opus-4-0', 'claude-opus-4-20250514'], ['claude-sonnet-4', 'claude-sonnet-4-20250514'], ['claude-haiku-4.5', 'claude-haiku-4-5-20251001'], ['claude-haiku-4-5', 'claude-haiku-4-5-20251001'], ['deepseek-v3', 'deepseek-chat'], ['deepseek-chat-v3-0324', 'deepseek-chat'], ['deepseek-r1', 'deepseek-reasoner'], ['MiniMax-M2.5', 'minimax-m2.5'], ['MiniMax-M2.5-highspeed', 'minimax-m2.5-highspeed'], ['MiniMax-M2.1', 'minimax-m2.1'], ['MiniMax-M2.1-highspeed', 'minimax-m2.1-highspeed'], ['MiniMax-M2', 'minimax-m2'], ['MiniMax-M1', 'minimax-m1'], ['mistral-large', 'mistral-large-latest'], ['codestral', 'codestral-latest'], ]; const EXTRA_INGEST_PREFIXES = ['accounts/fireworks/models/', 'amazon/', 'fireworks/', 'together/']; const PROVIDER_PREFIXES = [ ...EXTRA_INGEST_PREFIXES, ...[...providers_1.OPENROUTER_PREFIX_TO_PROVIDER.keys()].map((p) => `${p}/`), ]; const DATE_SUFFIX_RE = /-\d{4}-?\d{2}-?\d{2}$/; const VERSION_SUFFIX_RE = /-\d{3}$/; exports.GOOGLE_VARIANT_RE = /-(?:preview(?:-\d{2,4}){1,3}|exp-\d{4}|latest)$/; function stripGoogleVariant(name) { return name.replace(exports.GOOGLE_VARIANT_RE, ''); } function stripProviderPrefix(name) { for (const prefix of PROVIDER_PREFIXES) { if (name.startsWith(prefix)) { return name.slice(prefix.length); } } return name; } function stripDateSuffix(name) { return name.replace(DATE_SUFFIX_RE, ''); } function buildAliasMap(canonicalNames) { const map = new Map(); for (const name of canonicalNames) { map.set(name, name); for (const variant of (0, anthropic_model_id_1.buildAnthropicShortModelIdVariants)(name)) { if (!map.has(variant)) { map.set(variant, name); } } const bare = stripProviderPrefix(name); if (bare !== name && !map.has(bare)) { map.set(bare, name); } const bareNoVersion = bare.replace(VERSION_SUFFIX_RE, ''); if (bareNoVersion !== bare && !map.has(bareNoVersion)) { map.set(bareNoVersion, name); } const bareNoVariant = stripGoogleVariant(bare); if (bareNoVariant !== bare && !map.has(bareNoVariant)) { map.set(bareNoVariant, name); } for (const variant of (0, anthropic_model_id_1.buildAnthropicShortModelIdVariants)(bare)) { if (!map.has(variant)) { map.set(variant, name); } } } for (const [alias, canonical] of KNOWN_ALIASES) { if (map.has(alias)) continue; const resolved = map.get(canonical) ?? canonical; map.set(alias, resolved); } return map; } function normalizeDots(name) { return name.replace(/\./g, '-'); } function resolveModelName(name, aliasMap) { const exact = aliasMap.get(name); if (exact) return exact; const stripped = stripProviderPrefix(name); const fromStripped = aliasMap.get(stripped); if (fromStripped) return fromStripped; const noDate = stripDateSuffix(stripped); if (noDate !== stripped) { const fromNoDate = aliasMap.get(noDate); if (fromNoDate) return fromNoDate; } const noVariant = stripGoogleVariant(stripped); if (noVariant !== stripped) { const fromNoVariant = aliasMap.get(noVariant); if (fromNoVariant) return fromNoVariant; } const dotNorm = normalizeDots(stripped); if (dotNorm !== stripped) { const fromDotNorm = aliasMap.get(dotNorm); if (fromDotNorm) return fromDotNorm; const dotNormNoDate = stripDateSuffix(dotNorm); if (dotNormNoDate !== dotNorm) { const fromDotNormNoDate = aliasMap.get(dotNormNoDate); if (fromDotNormNoDate) return fromDotNormNoDate; } } return undefined; } //# sourceMappingURL=model-name-normalizer.js.map