manifest
Version:
Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard
36 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeAnthropicShortModelId = normalizeAnthropicShortModelId;
exports.buildAnthropicShortModelIdVariants = buildAnthropicShortModelIdVariants;
const ANTHROPIC_PREFIX = 'anthropic/';
const SHORT_ANTHROPIC_MODEL_RE = /^claude-(opus|sonnet|haiku)-/i;
const DOTTED_MINOR_RE = /-(\d+)\.(\d{1,2})(?=$|-\d{8}$)/g;
const DASHED_MINOR_RE = /-(\d+)-(\d{1,2})(?=$|-\d{8}$)/g;
function splitAnthropicPrefix(model) {
if (model.startsWith(ANTHROPIC_PREFIX)) {
return {
prefix: ANTHROPIC_PREFIX,
bare: model.slice(ANTHROPIC_PREFIX.length),
};
}
return { prefix: '', bare: model };
}
function supportsShortAnthropicMinorVersion(model) {
return SHORT_ANTHROPIC_MODEL_RE.test(model);
}
function normalizeAnthropicShortModelId(model) {
const { prefix, bare } = splitAnthropicPrefix(model);
if (!supportsShortAnthropicMinorVersion(bare))
return model;
return `${prefix}${bare.replace(DOTTED_MINOR_RE, '-$1-$2')}`;
}
function buildAnthropicShortModelIdVariants(model) {
const normalized = normalizeAnthropicShortModelId(model);
const { prefix, bare } = splitAnthropicPrefix(normalized);
if (!supportsShortAnthropicMinorVersion(bare))
return [model];
const variants = new Set([model, normalized]);
variants.add(`${prefix}${bare.replace(DASHED_MINOR_RE, '-$1.$2')}`);
return [...variants];
}
//# sourceMappingURL=anthropic-model-id.js.map