@graphteon/juricode
Version:
We are forging the future with lines of digital steel
30 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractModelAndProvider = void 0;
const is_number_1 = require("./is-number");
const verified_models_1 = require("./verified-models");
const splitIsActuallyVersion = (split) => split[1] && split[1][0] && (0, is_number_1.isNumber)(split[1][0]);
const extractModelAndProvider = (model) => {
let separator = "/";
let split = model.split(separator);
if (split.length === 1) {
separator = ".";
split = model.split(separator);
if (splitIsActuallyVersion(split)) {
split = [split.join(separator)];
}
}
if (split.length === 1) {
if (verified_models_1.VERIFIED_OPENAI_MODELS.includes(split[0])) {
return { provider: "openai", model: split[0], separator: "/" };
}
if (verified_models_1.VERIFIED_ANTHROPIC_MODELS.includes(split[0])) {
return { provider: "anthropic", model: split[0], separator: "/" };
}
return { provider: "", model, separator: "" };
}
const [provider, ...modelId] = split;
return { provider, model: modelId.join(separator), separator };
};
exports.extractModelAndProvider = extractModelAndProvider;
//# sourceMappingURL=extract-model-and-provider.js.map