@mastra/core
Version:
62 lines (61 loc) • 1.99 kB
JavaScript
const require_error = require("./error-B-e62x-A.cjs");
//#region src/llm/model/capability-file.ts
function getCapabilityFileName(provider) {
return `${encodeURIComponent(provider)}.json`;
}
//#endregion
//#region src/llm/model/gateways/gateway-helpers.ts
function getGatewayId(gateway) {
return gateway.getId?.() ?? gateway.id;
}
function shouldEnableGateway(gateway) {
return gateway.shouldEnable?.() ?? true;
}
/**
* Find the gateway that handles a specific model ID based on gateway ID
* Gateway ID is used as the prefix (e.g., "netlify" for netlify gateway)
* Exception: models.dev is a provider registry and doesn't use a prefix
*/
function findGatewayForModel(gatewayId, gateways) {
const prefixedGateway = gateways.find((g) => {
const id = getGatewayId(g);
return id !== "models.dev" && (id === gatewayId || gatewayId.startsWith(`${id}/`));
});
if (prefixedGateway) return prefixedGateway;
const claimingGateway = gateways.find((g) => getGatewayId(g) !== "models.dev" && g.handlesModel?.(gatewayId) === true);
if (claimingGateway) return claimingGateway;
const modelsDevGateway = gateways.find((g) => getGatewayId(g) === "models.dev");
if (modelsDevGateway) return modelsDevGateway;
throw new require_error.MastraError({
id: "MODEL_ROUTER_NO_GATEWAY_FOUND",
category: "USER",
domain: "MODEL_ROUTER",
text: `No Mastra model router gateway found for model id ${gatewayId}`
});
}
//#endregion
Object.defineProperty(exports, "findGatewayForModel", {
enumerable: true,
get: function() {
return findGatewayForModel;
}
});
Object.defineProperty(exports, "getCapabilityFileName", {
enumerable: true,
get: function() {
return getCapabilityFileName;
}
});
Object.defineProperty(exports, "getGatewayId", {
enumerable: true,
get: function() {
return getGatewayId;
}
});
Object.defineProperty(exports, "shouldEnableGateway", {
enumerable: true,
get: function() {
return shouldEnableGateway;
}
});
//# sourceMappingURL=gateway-helpers-CdK-tcyA.cjs.map