'use strict'; var chunk3T7FP546_cjs = require('../chunk-3T7FP546.cjs'); var fs = require('fs'); var promises = require('fs/promises'); var module$1 = require('module'); var path = require('path'); var STUB_PREFIX = "mastra-stub:"; var _stubbedExternals = null; function getStubbedExternals() { if (_stubbedExternals === null) { try { _stubbedExternals = JSON.parse(process.env.STUBBED_EXTERNALS || "[]"); } catch { _stubbedExternals = []; } } return _stubbedExternals; } var cache = /* @__PURE__ */ new Map(); function isBuiltinModule(specifier) { return module$1.builtinModules.includes(specifier) || specifier.startsWith("node:") || module$1.builtinModules.includes(specifier.replace(/^node:/, "")); } function isRelativePath(specifier) { return specifier.startsWith("./") || specifier.startsWith("../") || specifier.startsWith("/") || /^[a-zA-Z]:\\/.test(specifier); } async function getParentPath(specifier, url) { if (!cache.size) { let moduleResolveMapLocation = process.env.MODULE_MAP; if (!moduleResolveMapLocation) { moduleResolveMapLocation = path.join(process.cwd(), "module-resolve-map.json"); } let moduleResolveMap = {}; if (fs.existsSync(moduleResolveMapLocation)) { moduleResolveMap = JSON.parse(await promises.readFile(moduleResolveMapLocation, "utf-8")); } for (const [id, rest] of Object.entries(moduleResolveMap)) { cache.set(id, rest); } } const importers = cache.get(url); if (!importers) { return null; } const matchedPackage = Object.keys(importers).find((external) => chunk3T7FP546_cjs.isDependencyPartOfPackage(specifier, external)); if (!matchedPackage) { return null; } const specifierParent = importers[matchedPackage]; return specifierParent; } async function resolve(specifier, context, nextResolve) { if (isBuiltinModule(specifier)) { return nextResolve(specifier, context); } if (isRelativePath(specifier)) { return nextResolve(specifier, context); } const stubbedExternals = getStubbedExternals(); if (stubbedExternals.length > 0) { const isStubbed = stubbedExternals.some((ext) => chunk3T7FP546_cjs.isDependencyPartOfPackage(specifier, ext)); if (isStubbed) { return { url: `${STUB_PREFIX}${specifier}`, shortCircuit: true }; } } if (context.parentURL) { const parentPath = await getParentPath(specifier, context.parentURL); if (parentPath) { return nextResolve(specifier, { ...context, parentURL: parentPath }); } } return nextResolve(specifier, context); } async function load(url, context, nextLoad) { if (url.startsWith(STUB_PREFIX)) { return { format: "module", source: "export default {}", shortCircuit: true }; } return nextLoad(url, context); } exports.load = load; exports.resolve = resolve; //# sourceMappingURL=custom-resolver.cjs.map //# sourceMappingURL=custom-resolver.cjs.map