@graphteon/juricode
Version:
We are forging the future with lines of digital steel
26 lines • 1.09 kB
JavaScript
import { isNumber } from "./is-number";
import { VERIFIED_ANTHROPIC_MODELS, VERIFIED_OPENAI_MODELS, } from "./verified-models";
const splitIsActuallyVersion = (split) => split[1] && split[1][0] && isNumber(split[1][0]);
export 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_OPENAI_MODELS.includes(split[0])) {
return { provider: "openai", model: split[0], separator: "/" };
}
if (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 };
};
//# sourceMappingURL=extract-model-and-provider.js.map