@mastra/deployer 1.49.0-alpha.2 → 1.49.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/build/analyze/analyzeEntry.d.ts.map +1 -1
  3. package/dist/build/analyze/bundleExternals.d.ts.map +1 -1
  4. package/dist/build/analyze.cjs +2 -2
  5. package/dist/build/analyze.d.ts.map +1 -1
  6. package/dist/build/analyze.js +1 -1
  7. package/dist/build/bundler.cjs +11 -3
  8. package/dist/build/bundler.d.ts +3 -1
  9. package/dist/build/bundler.d.ts.map +1 -1
  10. package/dist/build/bundler.js +1 -1
  11. package/dist/build/fs-routing/codegen.d.ts +1 -1
  12. package/dist/build/fs-routing/codegen.d.ts.map +1 -1
  13. package/dist/build/fs-routing/discover.d.ts +7 -6
  14. package/dist/build/fs-routing/discover.d.ts.map +1 -1
  15. package/dist/build/index.cjs +23 -23
  16. package/dist/build/index.js +6 -6
  17. package/dist/build/package-info.d.ts +5 -0
  18. package/dist/build/package-info.d.ts.map +1 -1
  19. package/dist/build/types.d.ts +10 -0
  20. package/dist/build/types.d.ts.map +1 -1
  21. package/dist/build/utils.d.ts +3 -0
  22. package/dist/build/utils.d.ts.map +1 -1
  23. package/dist/build/watcher.d.ts +2 -1
  24. package/dist/build/watcher.d.ts.map +1 -1
  25. package/dist/bundler/index.cjs +3 -3
  26. package/dist/bundler/index.d.ts +3 -3
  27. package/dist/bundler/index.d.ts.map +1 -1
  28. package/dist/bundler/index.js +1 -1
  29. package/dist/{chunk-HMT7QCMZ.cjs → chunk-3GTT2N4V.cjs} +21 -47
  30. package/dist/chunk-3GTT2N4V.cjs.map +1 -0
  31. package/dist/{chunk-566UDTD4.js → chunk-4MVAT24Z.js} +140 -77
  32. package/dist/chunk-4MVAT24Z.js.map +1 -0
  33. package/dist/{chunk-WLW5IRHY.cjs → chunk-7YI2AEFO.cjs} +5 -2
  34. package/dist/chunk-7YI2AEFO.cjs.map +1 -0
  35. package/dist/{chunk-Z3DC47CH.js → chunk-ANDDGKY5.js} +5 -2
  36. package/dist/chunk-ANDDGKY5.js.map +1 -0
  37. package/dist/{chunk-CGDATNET.js → chunk-CCBU3OII.js} +3 -3
  38. package/dist/{chunk-CGDATNET.js.map → chunk-CCBU3OII.js.map} +1 -1
  39. package/dist/{chunk-2XUYQ2EJ.cjs → chunk-EU74XSTG.cjs} +43 -44
  40. package/dist/chunk-EU74XSTG.cjs.map +1 -0
  41. package/dist/{chunk-VWD7AY6H.js → chunk-FHLWDI5H.js} +332 -45
  42. package/dist/chunk-FHLWDI5H.js.map +1 -0
  43. package/dist/{chunk-IEHRALF6.cjs → chunk-IMPHNLMW.cjs} +178 -115
  44. package/dist/chunk-IMPHNLMW.cjs.map +1 -0
  45. package/dist/{chunk-6LWGRT7H.cjs → chunk-N5CQWHN3.cjs} +343 -46
  46. package/dist/chunk-N5CQWHN3.cjs.map +1 -0
  47. package/dist/{chunk-BYRFFGSN.js → chunk-ULWJZHTN.js} +12 -38
  48. package/dist/chunk-ULWJZHTN.js.map +1 -0
  49. package/dist/{chunk-VXLIM7FD.cjs → chunk-VKAFARW6.cjs} +82 -35
  50. package/dist/chunk-VKAFARW6.cjs.map +1 -0
  51. package/dist/{chunk-7RR5PJRM.cjs → chunk-VNJLLLQN.cjs} +7 -7
  52. package/dist/{chunk-7RR5PJRM.cjs.map → chunk-VNJLLLQN.cjs.map} +1 -1
  53. package/dist/{chunk-OFMQRNNY.js → chunk-YG455MPH.js} +26 -27
  54. package/dist/chunk-YG455MPH.js.map +1 -0
  55. package/dist/{chunk-5GX66TF5.js → chunk-ZL66GDLP.js} +80 -33
  56. package/dist/chunk-ZL66GDLP.js.map +1 -0
  57. package/dist/deploy/log.d.ts.map +1 -1
  58. package/dist/docs/SKILL.md +1 -1
  59. package/dist/docs/assets/SOURCE_MAP.json +8 -8
  60. package/dist/docs/references/docs-deployment-cloud-providers.md +2 -0
  61. package/dist/docs/references/docs-deployment-mastra-server.md +2 -0
  62. package/dist/docs/references/docs-deployment-monorepo.md +2 -0
  63. package/dist/docs/references/docs-deployment-overview.md +2 -0
  64. package/dist/docs/references/docs-deployment-web-framework.md +2 -0
  65. package/dist/docs/references/docs-deployment-workflow-runners.md +2 -0
  66. package/dist/docs/references/reference-deployer.md +2 -0
  67. package/dist/index.cjs +11 -11
  68. package/dist/index.js +4 -4
  69. package/dist/server/index.cjs +10 -4
  70. package/dist/server/index.cjs.map +1 -1
  71. package/dist/server/index.d.ts.map +1 -1
  72. package/dist/server/index.js +7 -1
  73. package/dist/server/index.js.map +1 -1
  74. package/dist/services/deps.d.ts +2 -0
  75. package/dist/services/deps.d.ts.map +1 -1
  76. package/dist/services/index.cjs +4 -4
  77. package/dist/services/index.js +1 -1
  78. package/dist/validator/custom-resolver.cjs +3 -3
  79. package/dist/validator/custom-resolver.js +1 -1
  80. package/package.json +8 -8
  81. package/dist/chunk-2XUYQ2EJ.cjs.map +0 -1
  82. package/dist/chunk-3JVOVZ2V.cjs +0 -269
  83. package/dist/chunk-3JVOVZ2V.cjs.map +0 -1
  84. package/dist/chunk-566UDTD4.js.map +0 -1
  85. package/dist/chunk-5GX66TF5.js.map +0 -1
  86. package/dist/chunk-6LWGRT7H.cjs.map +0 -1
  87. package/dist/chunk-BYRFFGSN.js.map +0 -1
  88. package/dist/chunk-HMT7QCMZ.cjs.map +0 -1
  89. package/dist/chunk-IEHRALF6.cjs.map +0 -1
  90. package/dist/chunk-KJ4S6COO.js +0 -258
  91. package/dist/chunk-KJ4S6COO.js.map +0 -1
  92. package/dist/chunk-OFMQRNNY.js.map +0 -1
  93. package/dist/chunk-VWD7AY6H.js.map +0 -1
  94. package/dist/chunk-VXLIM7FD.cjs.map +0 -1
  95. package/dist/chunk-WLW5IRHY.cjs.map +0 -1
  96. package/dist/chunk-Z3DC47CH.js.map +0 -1
@@ -1,15 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunkWLW5IRHY_cjs = require('./chunk-WLW5IRHY.cjs');
3
+ var chunk7YI2AEFO_cjs = require('./chunk-7YI2AEFO.cjs');
4
+ var path = require('path');
4
5
  var url = require('url');
5
- var localPkg = require('local-pkg');
6
+ var rollupPlugin = require('@optimize-lodash/rollup-plugin');
7
+ var alias = require('@rollup/plugin-alias');
8
+ var commonjs = require('@rollup/plugin-commonjs');
9
+ var json = require('@rollup/plugin-json');
10
+ var nodeResolve = require('@rollup/plugin-node-resolve');
11
+ var rollup = require('rollup');
6
12
  var originalEsbuild = require('rollup-plugin-esbuild');
13
+ var originalEsmShim = require('@rollup/plugin-esm-shim');
14
+ var promises = require('fs/promises');
15
+ var esm = require('fs-extra/esm');
16
+ var localPkg = require('local-pkg');
7
17
  var babel = require('@babel/core');
8
18
  var fs = require('fs');
9
- var path = require('path');
10
19
  var stripJsonComments = require('strip-json-comments');
11
20
  var typescriptPaths = require('typescript-paths');
12
- var originalEsmShim = require('@rollup/plugin-esm-shim');
13
21
 
14
22
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
23
 
@@ -31,13 +39,107 @@ function _interopNamespace(e) {
31
39
  return Object.freeze(n);
32
40
  }
33
41
 
42
+ var path__default = /*#__PURE__*/_interopDefault(path);
43
+ var alias__default = /*#__PURE__*/_interopDefault(alias);
44
+ var commonjs__default = /*#__PURE__*/_interopDefault(commonjs);
45
+ var json__default = /*#__PURE__*/_interopDefault(json);
46
+ var nodeResolve__default = /*#__PURE__*/_interopDefault(nodeResolve);
34
47
  var originalEsbuild__default = /*#__PURE__*/_interopDefault(originalEsbuild);
48
+ var originalEsmShim__default = /*#__PURE__*/_interopDefault(originalEsmShim);
35
49
  var babel__namespace = /*#__PURE__*/_interopNamespace(babel);
36
50
  var fs__default = /*#__PURE__*/_interopDefault(fs);
37
- var path__default = /*#__PURE__*/_interopDefault(path);
38
51
  var stripJsonComments__default = /*#__PURE__*/_interopDefault(stripJsonComments);
39
- var originalEsmShim__default = /*#__PURE__*/_interopDefault(originalEsmShim);
40
52
 
53
+ function esbuild(options = {}) {
54
+ return originalEsbuild__default.default({
55
+ target: "node20",
56
+ platform: "node",
57
+ minify: false,
58
+ ...options
59
+ });
60
+ }
61
+ var FilenameDeclarationRegex = /(?:const|let|var)\s+__filename/;
62
+ var DirnameDeclarationRegex = /(?:const|let|var)\s+__dirname/;
63
+ function esmShim() {
64
+ const original = originalEsmShim__default.default();
65
+ return {
66
+ name: "esm-shim",
67
+ renderChunk(code, chunk, opts, meta) {
68
+ const hasFilename = code.includes("__filename");
69
+ const hasDirname = code.includes("__dirname");
70
+ const userDeclaredFilename = hasFilename && FilenameDeclarationRegex.test(code);
71
+ const userDeclaredDirname = hasDirname && DirnameDeclarationRegex.test(code);
72
+ if (userDeclaredFilename || userDeclaredDirname) {
73
+ return null;
74
+ }
75
+ if (typeof original.renderChunk === "function") {
76
+ return original.renderChunk.call(this, code, chunk, opts, meta);
77
+ }
78
+ return null;
79
+ }
80
+ };
81
+ }
82
+
83
+ // src/build/plugins/local-storage-detector.ts
84
+ var LOCAL_HOST_PATTERNS = [
85
+ {
86
+ pattern: /\bfile:\.{1,2}\/[^\s'"`]+\.(?:db|sqlite)\b/gi,
87
+ hint: "LibSQL/SQLite file path relative to the build host"
88
+ },
89
+ {
90
+ pattern: /\b(?:postgres(?:ql)?|mysql|mongodb|redis|libsql):\/\/[^/\s'"`]*localhost\b/gi,
91
+ hint: "localhost in a connection string"
92
+ },
93
+ {
94
+ pattern: /\b(?:postgres(?:ql)?|mysql|mongodb|redis|libsql):\/\/[^/\s'"`]*127\.0\.0\.1\b/g,
95
+ hint: "127.0.0.1 in a connection string"
96
+ }
97
+ ];
98
+ var MASTRA_SHIM_PATH = /[\\/]\.mastra[\\/]\.build[\\/]@mastra__/;
99
+ function localStorageDetector() {
100
+ const userModuleMatches = /* @__PURE__ */ new Map();
101
+ return {
102
+ name: "mastra-local-storage-detector",
103
+ transform(_code, id) {
104
+ if (id.includes("node_modules")) return null;
105
+ if (MASTRA_SHIM_PATH.test(id)) return null;
106
+ const matches = [];
107
+ for (const { pattern, hint } of LOCAL_HOST_PATTERNS) {
108
+ const re = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
109
+ for (const m of _code.matchAll(re)) {
110
+ matches.push({ value: m[0], hint });
111
+ }
112
+ }
113
+ if (matches.length > 0) {
114
+ userModuleMatches.set(id, matches);
115
+ }
116
+ return null;
117
+ },
118
+ generateBundle(_, bundle) {
119
+ const detections = [];
120
+ const seen = /* @__PURE__ */ new Set();
121
+ for (const chunk of Object.values(bundle)) {
122
+ if (chunk.type !== "chunk") continue;
123
+ for (const [moduleId, moduleInfo] of Object.entries(chunk.modules)) {
124
+ if (moduleInfo.renderedLength === 0) continue;
125
+ const matches = userModuleMatches.get(moduleId);
126
+ if (!matches) continue;
127
+ for (const { value, hint } of matches) {
128
+ const key = `${hint}::${value}`;
129
+ if (seen.has(key)) continue;
130
+ seen.add(key);
131
+ detections.push({ value, hint, module: moduleId });
132
+ }
133
+ }
134
+ }
135
+ this.emitFile({
136
+ type: "asset",
137
+ fileName: "preflight-local-paths.json",
138
+ source: JSON.stringify(detections)
139
+ });
140
+ }
141
+ };
142
+ }
41
143
  async function getPackageRootPath(packageName, parentPath) {
42
144
  let rootPath;
43
145
  try {
@@ -57,13 +159,86 @@ async function getPackageRootPath(packageName, parentPath) {
57
159
  }
58
160
  return rootPath;
59
161
  }
60
- function esbuild(options = {}) {
61
- return originalEsbuild__default.default({
62
- target: "node20",
63
- platform: "node",
64
- minify: false,
65
- ...options
66
- });
162
+ async function readPackageMetadata(rootPath, requestedPackageName) {
163
+ try {
164
+ const pkgJson = await esm.readJSON(`${rootPath}/package.json`);
165
+ const version = pkgJson.version;
166
+ const actualPackageName = pkgJson.name;
167
+ const packageSpec = version && actualPackageName && requestedPackageName && requestedPackageName !== actualPackageName ? `npm:${actualPackageName}@${version}` : void 0;
168
+ return { rootPath, version, packageSpec };
169
+ } catch {
170
+ return { rootPath };
171
+ }
172
+ }
173
+ async function getPackageMetadata(packageName, parentPath) {
174
+ const requestedPackageName = chunk7YI2AEFO_cjs.getPackageName(packageName);
175
+ const packageNames = [...new Set([packageName, requestedPackageName].filter(Boolean))];
176
+ let firstRootPath = null;
177
+ for (const name of packageNames) {
178
+ const rootPath = await getPackageRootPath(name, parentPath);
179
+ firstRootPath ??= rootPath;
180
+ if (!rootPath) {
181
+ continue;
182
+ }
183
+ const metadata = await readPackageMetadata(rootPath, requestedPackageName ?? null);
184
+ if (metadata.version || metadata.packageSpec) {
185
+ return metadata;
186
+ }
187
+ }
188
+ return { rootPath: firstRootPath };
189
+ }
190
+
191
+ // src/build/plugins/node-modules-extension-resolver.ts
192
+ async function getPackageJSON(pkgName, importer) {
193
+ const pkgRoot = await getPackageRootPath(pkgName, importer);
194
+ if (!pkgRoot) {
195
+ throw new Error(`Package ${pkgName} not found`);
196
+ }
197
+ const pkgJSON = JSON.parse(await promises.readFile(path.join(pkgRoot, "package.json"), "utf-8"));
198
+ return pkgJSON;
199
+ }
200
+ function nodeModulesExtensionResolver() {
201
+ const nodeResolvePlugin = nodeResolve__default.default();
202
+ return {
203
+ name: "node-modules-extension-resolver",
204
+ async resolveId(id, importer, options) {
205
+ if (!importer || !chunk7YI2AEFO_cjs.isBareModuleSpecifier(id) || chunk7YI2AEFO_cjs.isExternalProtocolImport(id) || path.isAbsolute(id)) {
206
+ return null;
207
+ }
208
+ const parts = id.split("/");
209
+ const isScoped = id.startsWith("@");
210
+ if (isScoped && parts.length === 2 || !isScoped && parts.length === 1) {
211
+ return null;
212
+ }
213
+ const pkgName = chunk7YI2AEFO_cjs.getPackageName(id);
214
+ if (!pkgName) {
215
+ return null;
216
+ }
217
+ try {
218
+ const packageJSON = await getPackageJSON(pkgName, importer);
219
+ if (!!packageJSON.exports) {
220
+ return null;
221
+ }
222
+ const packageRoot = await getPackageRootPath(pkgName, importer);
223
+ const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);
224
+ if (!nodeResolved?.id) {
225
+ return null;
226
+ }
227
+ let filePath = nodeResolved.id;
228
+ if (nodeResolved.resolvedBy === "commonjs--resolver") {
229
+ filePath = filePath.substring(1).split("?")[0];
230
+ }
231
+ const resolvedImportPath = filePath.replace(packageRoot, pkgName);
232
+ return {
233
+ id: resolvedImportPath,
234
+ external: true
235
+ };
236
+ } catch (err) {
237
+ console.error(err);
238
+ return null;
239
+ }
240
+ }
241
+ };
67
242
  }
68
243
 
69
244
  // src/build/plugins/protocol-external-resolver.ts
@@ -71,7 +246,7 @@ function protocolExternalResolver({ exclude = ["node:"] } = {}) {
71
246
  return {
72
247
  name: "protocol-external-resolver",
73
248
  resolveId(id) {
74
- if (!chunkWLW5IRHY_cjs.isExternalProtocolImport(id, exclude)) {
249
+ if (!chunk7YI2AEFO_cjs.isExternalProtocolImport(id, exclude)) {
75
250
  return null;
76
251
  }
77
252
  return {
@@ -176,6 +351,25 @@ function removeDeployer2(mastraEntry, options) {
176
351
  }
177
352
  };
178
353
  }
354
+
355
+ // src/build/plugins/subpath-externals-resolver.ts
356
+ function subpathExternalsResolver(externals) {
357
+ return {
358
+ name: "subpath-externals-resolver",
359
+ resolveId(id) {
360
+ if (id.startsWith(".") || id.startsWith("/")) {
361
+ return null;
362
+ }
363
+ const isPartOfExternals = externals.some((external) => chunk7YI2AEFO_cjs.isDependencyPartOfPackage(id, external));
364
+ if (isPartOfExternals) {
365
+ return {
366
+ id,
367
+ external: true
368
+ };
369
+ }
370
+ }
371
+ };
372
+ }
179
373
  var PLUGIN_NAME = "tsconfig-paths";
180
374
  var JS_IMPORT_SOURCE_EXTENSIONS = [".ts", ".tsx", ".js", ".jsx"];
181
375
  function hasPaths(tsConfigPath) {
@@ -334,53 +528,156 @@ function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve } = {}) {
334
528
  }
335
529
  };
336
530
  }
337
- var FilenameDeclarationRegex = /(?:const|let|var)\s+__filename/;
338
- var DirnameDeclarationRegex = /(?:const|let|var)\s+__dirname/;
339
- function esmShim() {
340
- const original = originalEsmShim__default.default();
341
- return {
342
- name: "esm-shim",
343
- renderChunk(code, chunk, opts, meta) {
344
- const hasFilename = code.includes("__filename");
345
- const hasDirname = code.includes("__dirname");
346
- const userDeclaredFilename = hasFilename && FilenameDeclarationRegex.test(code);
347
- const userDeclaredDirname = hasDirname && DirnameDeclarationRegex.test(code);
348
- if (userDeclaredFilename || userDeclaredDirname) {
349
- return null;
350
- }
351
- if (typeof original.renderChunk === "function") {
352
- return original.renderChunk.call(this, code, chunk, opts, meta);
353
- }
354
- return null;
355
- }
356
- };
357
- }
358
531
 
359
- // src/build/plugins/subpath-externals-resolver.ts
360
- function subpathExternalsResolver(externals) {
532
+ // src/build/bundler.ts
533
+ function mastraInternalAliasPlugin(entryFile) {
534
+ const normalizedEntryFile = chunk7YI2AEFO_cjs.slash(entryFile);
535
+ return alias__default.default({
536
+ entries: [
537
+ {
538
+ find: /^\#server$/,
539
+ replacement: chunk7YI2AEFO_cjs.slash(url.fileURLToPath(undefined("@mastra/deployer/server")))
540
+ },
541
+ {
542
+ find: /^\@mastra\/server\/(.*)/,
543
+ replacement: `@mastra/server/$1`,
544
+ customResolver: (id) => {
545
+ if (id.startsWith("@mastra/server")) {
546
+ return {
547
+ id: url.fileURLToPath(undefined(id))
548
+ };
549
+ }
550
+ }
551
+ },
552
+ { find: /^\#mastra$/, replacement: normalizedEntryFile }
553
+ ]
554
+ });
555
+ }
556
+ function mastraToolsAliasPlugin() {
361
557
  return {
362
- name: "subpath-externals-resolver",
558
+ name: "tools-rewriter",
363
559
  resolveId(id) {
364
- if (id.startsWith(".") || id.startsWith("/")) {
365
- return null;
366
- }
367
- const isPartOfExternals = externals.some((external) => chunkWLW5IRHY_cjs.isDependencyPartOfPackage(id, external));
368
- if (isPartOfExternals) {
560
+ if (id === "#tools") {
369
561
  return {
370
- id,
562
+ id: "./tools.mjs",
371
563
  external: true
372
564
  };
373
565
  }
374
566
  }
375
567
  };
376
568
  }
569
+ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = { "process.env.NODE_ENV": JSON.stringify("production") }, {
570
+ sourcemap = false,
571
+ isDev = false,
572
+ projectRoot,
573
+ workspaceRoot = void 0,
574
+ enableEsmShim = true,
575
+ externalsPreset = false
576
+ }) {
577
+ const nodeResolvePlugin = nodeResolve__default.default(chunk7YI2AEFO_cjs.getNodeResolveOptions(platform));
578
+ const externalsCopy = new Set(analyzedBundleInfo.externalDependencies.keys());
579
+ const externals = externalsPreset ? [] : Array.from(externalsCopy);
580
+ return {
581
+ logLevel: process.env.MASTRA_BUNDLER_DEBUG === "true" ? "debug" : "silent",
582
+ treeshake: "smallest",
583
+ preserveSymlinks: true,
584
+ external: externals,
585
+ plugins: [
586
+ protocolExternalResolver(),
587
+ subpathExternalsResolver(externals),
588
+ {
589
+ name: "alias-optimized-deps",
590
+ resolveId(id) {
591
+ if (!analyzedBundleInfo.dependencies.has(id)) {
592
+ return null;
593
+ }
594
+ const filename = analyzedBundleInfo.dependencies.get(id);
595
+ const absolutePath = path.join(workspaceRoot || projectRoot, filename);
596
+ if (isDev) {
597
+ return {
598
+ id: process.platform === "win32" ? url.pathToFileURL(absolutePath).href : absolutePath,
599
+ external: true
600
+ };
601
+ }
602
+ return {
603
+ id: absolutePath,
604
+ external: false
605
+ };
606
+ }
607
+ },
608
+ mastraInternalAliasPlugin(entryFile),
609
+ tsConfigPaths(),
610
+ mastraToolsAliasPlugin(),
611
+ esbuild({
612
+ platform,
613
+ define: env
614
+ }),
615
+ rollupPlugin.optimizeLodashImports({
616
+ include: "**/*.{js,ts,mjs,cjs}"
617
+ }),
618
+ externalsPreset ? null : commonjs__default.default({
619
+ extensions: [".js", ".ts"],
620
+ transformMixedEsModules: true,
621
+ esmExternals(id) {
622
+ return externals.includes(id);
623
+ }
624
+ }),
625
+ enableEsmShim ? esmShim() : void 0,
626
+ externalsPreset ? nodeModulesExtensionResolver() : nodeResolvePlugin,
627
+ // for debugging
628
+ // {
629
+ // name: 'logger',
630
+ // //@ts-expect-error
631
+ // resolveId(id, ...args) {
632
+ // console.log({ id, args });
633
+ // },
634
+ // // @ts-expect-error
635
+ // transform(code, id) {
636
+ // if (code.includes('class Duplexify ')) {
637
+ // console.log({ duplex: id });
638
+ // }
639
+ // },
640
+ // },
641
+ json__default.default(),
642
+ localStorageDetector(),
643
+ removeDeployer2(entryFile, { sourcemap }),
644
+ // treeshake unused imports
645
+ esbuild({
646
+ include: entryFile,
647
+ platform
648
+ })
649
+ ].filter(Boolean)
650
+ };
651
+ }
652
+ async function createBundler(inputOptions, outputOptions) {
653
+ const bundler = await rollup.rollup(inputOptions);
654
+ return {
655
+ write: () => {
656
+ return bundler.write({
657
+ ...outputOptions,
658
+ format: "esm",
659
+ entryFileNames: "[name].mjs",
660
+ chunkFileNames: "[name].mjs"
661
+ });
662
+ },
663
+ close: () => {
664
+ return bundler.close();
665
+ }
666
+ };
667
+ }
377
668
 
669
+ exports.createBundler = createBundler;
378
670
  exports.esbuild = esbuild;
379
671
  exports.esmShim = esmShim;
672
+ exports.getInputOptions = getInputOptions;
673
+ exports.getPackageMetadata = getPackageMetadata;
380
674
  exports.getPackageRootPath = getPackageRootPath;
675
+ exports.mastraInternalAliasPlugin = mastraInternalAliasPlugin;
676
+ exports.mastraToolsAliasPlugin = mastraToolsAliasPlugin;
677
+ exports.nodeModulesExtensionResolver = nodeModulesExtensionResolver;
381
678
  exports.protocolExternalResolver = protocolExternalResolver;
382
679
  exports.removeDeployer = removeDeployer2;
383
680
  exports.subpathExternalsResolver = subpathExternalsResolver;
384
681
  exports.tsConfigPaths = tsConfigPaths;
385
- //# sourceMappingURL=chunk-6LWGRT7H.cjs.map
386
- //# sourceMappingURL=chunk-6LWGRT7H.cjs.map
682
+ //# sourceMappingURL=chunk-N5CQWHN3.cjs.map
683
+ //# sourceMappingURL=chunk-N5CQWHN3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build/plugins/esbuild.ts","../src/build/plugins/esm-shim.ts","../src/build/plugins/local-storage-detector.ts","../src/build/package-info.ts","../src/build/plugins/node-modules-extension-resolver.ts","../src/build/plugins/protocol-external-resolver.ts","../src/build/babel/remove-deployer.ts","../src/build/plugins/remove-deployer.ts","../src/build/plugins/subpath-externals-resolver.ts","../src/build/plugins/tsconfig-paths.ts","../src/build/bundler.ts"],"names":["originalEsbuild","originalEsmShim","pathToFileURL","getPackageInfo","readJSON","getPackageName","readFile","join","nodeResolve","isBareModuleSpecifier","isExternalProtocolImport","isAbsolute","babel","path","removeDeployer","babel2","isDependencyPartOfPackage","fs","stripJsonComments","tsConfigPath","createHandler","normalize","resolved","slash","alias","fileURLToPath","getNodeResolveOptions","optimizeLodashImports","commonjs","json","rollup"],"mappings":"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","file":"chunk-N5CQWHN3.cjs","sourcesContent":["import originalEsbuild from 'rollup-plugin-esbuild';\n\nexport function esbuild(options: Parameters<typeof originalEsbuild>[0] = {}) {\n return originalEsbuild({\n target: 'node20',\n platform: 'node',\n minify: false,\n ...options,\n });\n}\n","import originalEsmShim from '@rollup/plugin-esm-shim';\nimport type { Plugin } from 'rollup';\n\n// Regex to detect DECLARATIONS of __filename, __dirname\n// Using non-capturing group (?:) for slightly better performance\nconst FilenameDeclarationRegex = /(?:const|let|var)\\s+__filename/;\nconst DirnameDeclarationRegex = /(?:const|let|var)\\s+__dirname/;\n\n/**\n * Custom ESM shim plugin wrapper that respects user-declared __filename/__dirname variables.\n *\n * The original @rollup/plugin-esm-shim would inject shims even when users had already declared\n * their own __filename/__dirname, causing \"Identifier '__filename' has already been declared\" errors.\n *\n * This wrapper checks if the user has already declared these variables and skips the shim injection\n * if so. If either variable is declared, we skip the shim entirely since the original plugin injects\n * both together and we assume users who declare one will also handle the other if needed.\n */\nexport function esmShim(): Plugin {\n const original = originalEsmShim();\n\n return {\n name: 'esm-shim',\n renderChunk(code, chunk, opts, meta) {\n // Fast path: use includes() first to avoid regex if identifiers aren't present\n const hasFilename = code.includes('__filename');\n const hasDirname = code.includes('__dirname');\n\n // If user declared either __filename or __dirname, skip shim injection entirely\n // since the original plugin injects both together\n const userDeclaredFilename = hasFilename && FilenameDeclarationRegex.test(code);\n const userDeclaredDirname = hasDirname && DirnameDeclarationRegex.test(code);\n\n if (userDeclaredFilename || userDeclaredDirname) {\n return null;\n }\n\n // Otherwise, delegate to the original plugin\n if (typeof original.renderChunk === 'function') {\n return original.renderChunk.call(this, code, chunk, opts, meta);\n }\n\n return null;\n },\n };\n}\n\nexport default esmShim;\n","import type { Plugin } from 'rollup';\n\n/**\n * Connection-string-shaped patterns that resolve to the build host and will\n * never work inside the deploy container.\n */\nconst LOCAL_HOST_PATTERNS: Array<{ pattern: RegExp; hint: string }> = [\n {\n pattern: /\\bfile:\\.{1,2}\\/[^\\s'\"`]+\\.(?:db|sqlite)\\b/gi,\n hint: 'LibSQL/SQLite file path relative to the build host',\n },\n {\n pattern: /\\b(?:postgres(?:ql)?|mysql|mongodb|redis|libsql):\\/\\/[^/\\s'\"`]*localhost\\b/gi,\n hint: 'localhost in a connection string',\n },\n {\n pattern: /\\b(?:postgres(?:ql)?|mysql|mongodb|redis|libsql):\\/\\/[^/\\s'\"`]*127\\.0\\.0\\.1\\b/g,\n hint: '127.0.0.1 in a connection string',\n },\n];\n\nexport interface LocalStorageDetection {\n value: string;\n hint: string;\n module: string;\n}\n\n/**\n * Matches the deployer's own intermediate dependency shims emitted under\n * `.mastra/.build/` (e.g. `@mastra__core.mjs`, `@mastra__core__mastra.mjs`).\n * These pre-bundled chunks preserve JSDoc examples from the original library\n * source (e.g. `LibSQLStore({ url: 'file:./data.db' })`) which would otherwise\n * trip the host-local detector even though they're not user code.\n */\nconst MASTRA_SHIM_PATH = /[\\\\/]\\.mastra[\\\\/]\\.build[\\\\/]@mastra__/;\n\n/**\n * Rollup plugin that detects host-local storage URLs (e.g. `file:./mastra.db`,\n * `postgres://localhost`) in **user source modules** during bundling.\n *\n * Only modules outside `node_modules` (and the deployer's own\n * `.mastra/.build/@mastra__*` shim files) are inspected, so library code\n * (like Agent Builder prompt templates or JSDoc examples in `@mastra/core`)\n * is naturally excluded. Tree-shaken modules are excluded via\n * `generateBundle` — only modules that actually contribute rendered code to\n * the output are reported.\n *\n * Detected paths are emitted as `preflight-local-paths.json` in the output\n * directory for the CLI preflight check to consume.\n */\nexport function localStorageDetector(): Plugin {\n const userModuleMatches = new Map<string, Array<{ value: string; hint: string }>>();\n\n return {\n name: 'mastra-local-storage-detector',\n\n transform(_code, id) {\n if (id.includes('node_modules')) return null;\n if (MASTRA_SHIM_PATH.test(id)) return null;\n\n const matches: Array<{ value: string; hint: string }> = [];\n for (const { pattern, hint } of LOCAL_HOST_PATTERNS) {\n const re = new RegExp(pattern.source, pattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g');\n for (const m of _code.matchAll(re)) {\n matches.push({ value: m[0], hint });\n }\n }\n\n if (matches.length > 0) {\n userModuleMatches.set(id, matches);\n }\n\n return null;\n },\n\n generateBundle(_, bundle) {\n const detections: LocalStorageDetection[] = [];\n const seen = new Set<string>();\n\n for (const chunk of Object.values(bundle)) {\n if (chunk.type !== 'chunk') continue;\n\n for (const [moduleId, moduleInfo] of Object.entries(chunk.modules)) {\n if (moduleInfo.renderedLength === 0) continue;\n\n const matches = userModuleMatches.get(moduleId);\n if (!matches) continue;\n\n for (const { value, hint } of matches) {\n const key = `${hint}::${value}`;\n if (seen.has(key)) continue;\n seen.add(key);\n\n detections.push({ value, hint, module: moduleId });\n }\n }\n }\n\n this.emitFile({\n type: 'asset',\n fileName: 'preflight-local-paths.json',\n source: JSON.stringify(detections),\n });\n },\n };\n}\n","/**\n * Note: This function depends on local-pkg and should only be used at build-time.\n * It is in a separate file to avoid including local-pkg in runtime code.\n */\n\nimport { pathToFileURL } from 'node:url';\nimport { readJSON } from 'fs-extra/esm';\nimport { getPackageInfo } from 'local-pkg';\nimport { getPackageName } from './utils';\n\n/**\n * Get package root path\n */\nexport async function getPackageRootPath(packageName: string, parentPath?: string): Promise<string | null> {\n let rootPath: string | null;\n\n try {\n let options: { paths?: string[] } | undefined = undefined;\n if (parentPath) {\n if (!parentPath.startsWith('file://')) {\n parentPath = pathToFileURL(parentPath).href;\n }\n\n options = {\n paths: [parentPath],\n };\n }\n\n const pkg = await getPackageInfo(packageName, options);\n rootPath = pkg?.rootPath ?? null;\n } catch {\n rootPath = null;\n }\n\n return rootPath;\n}\n\nasync function readPackageMetadata(\n rootPath: string,\n requestedPackageName: string | null,\n): Promise<{ rootPath: string; version?: string; packageSpec?: string }> {\n try {\n const pkgJson = await readJSON(`${rootPath}/package.json`);\n const version = pkgJson.version;\n const actualPackageName = pkgJson.name;\n const packageSpec =\n version && actualPackageName && requestedPackageName && requestedPackageName !== actualPackageName\n ? `npm:${actualPackageName}@${version}`\n : undefined;\n\n return { rootPath, version, packageSpec };\n } catch {\n return { rootPath };\n }\n}\n\nexport async function getPackageMetadata(\n packageName: string,\n parentPath?: string,\n): Promise<{ rootPath: string | null; version?: string; packageSpec?: string }> {\n const requestedPackageName = getPackageName(packageName);\n const packageNames = [...new Set([packageName, requestedPackageName].filter(Boolean) as string[])];\n let firstRootPath: string | null = null;\n\n for (const name of packageNames) {\n const rootPath = await getPackageRootPath(name, parentPath);\n firstRootPath ??= rootPath;\n if (!rootPath) {\n continue;\n }\n\n const metadata = await readPackageMetadata(rootPath, requestedPackageName ?? null);\n if (metadata.version || metadata.packageSpec) {\n return metadata;\n }\n }\n\n return { rootPath: firstRootPath };\n}\n","import { readFile } from 'node:fs/promises';\nimport { join, isAbsolute } from 'node:path';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport type { Plugin } from 'rollup';\nimport type { PackageJson } from 'type-fest';\nimport { getPackageRootPath } from '../package-info';\nimport { getPackageName, isExternalProtocolImport, isBareModuleSpecifier } from '../utils';\n\n/**\n * Check if a package has an exports field in its package.json.\n * Results are cached to avoid repeated filesystem reads.\n */\nasync function getPackageJSON(pkgName: string, importer: string): Promise<PackageJson> {\n const pkgRoot = await getPackageRootPath(pkgName, importer);\n if (!pkgRoot) {\n throw new Error(`Package ${pkgName} not found`);\n }\n\n const pkgJSON = JSON.parse(await readFile(join(pkgRoot, 'package.json'), 'utf-8')) as PackageJson;\n return pkgJSON;\n}\n\n/**\n * Rollup plugin that resolves module extensions for external dependencies.\n *\n * This plugin handles ESM compatibility for external imports when node-resolve is not used:\n * - Packages WITH exports field (e.g., hono, date-fns): Keep imports as-is or strip redundant extensions\n * - Packages WITHOUT exports field (e.g., lodash): Add .js extension for direct file imports\n */\nexport function nodeModulesExtensionResolver(): Plugin {\n // Create a single instance of node-resolve to reuse\n const nodeResolvePlugin = nodeResolve();\n\n return {\n name: 'node-modules-extension-resolver',\n async resolveId(id, importer, options) {\n // Only bare package imports are relevant here.\n if (!importer || !isBareModuleSpecifier(id) || isExternalProtocolImport(id) || isAbsolute(id)) {\n return null;\n }\n\n // Skip direct package imports (e.g., 'lodash', '@mastra/core')\n const parts = id.split('/');\n const isScoped = id.startsWith('@');\n if ((isScoped && parts.length === 2) || (!isScoped && parts.length === 1)) {\n return null;\n }\n\n const pkgName = getPackageName(id);\n if (!pkgName) {\n return null;\n }\n\n try {\n const packageJSON = await getPackageJSON(pkgName, importer);\n // if it has exports, node should be able to rsolve it, if not the exports map is wrong.\n if (!!packageJSON.exports) {\n return null;\n }\n\n const packageRoot = await getPackageRootPath(pkgName, importer);\n // @ts-expect-error - handle is part of resolveId signature\n const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);\n // if we cannot resolve it, it's not a valid import so we let node handle it\n if (!nodeResolved?.id) {\n return null;\n }\n\n let filePath = nodeResolved.id;\n if (nodeResolved.resolvedBy === 'commonjs--resolver') {\n filePath = filePath.substring(1).split('?')[0];\n }\n\n const resolvedImportPath = filePath.replace(packageRoot, pkgName);\n\n return {\n id: resolvedImportPath,\n external: true,\n };\n } catch (err) {\n console.error(err);\n return null;\n }\n },\n };\n}\n","import type { Plugin } from 'rollup';\nimport { isExternalProtocolImport } from '../utils';\n\nexport function protocolExternalResolver({ exclude = ['node:'] }: { exclude?: readonly string[] } = {}): Plugin {\n return {\n name: 'protocol-external-resolver',\n resolveId(id) {\n if (!isExternalProtocolImport(id, exclude)) {\n return null;\n }\n\n return {\n id,\n external: true,\n };\n },\n } satisfies Plugin;\n}\n","import babel from '@babel/core';\n\nexport function removeDeployer() {\n const t = babel.types;\n\n // Helper to remove deployer property from an object and clean up its binding\n function removeDeployerFromObject(\n objectExpr: babel.types.ObjectExpression,\n scope: { getBinding: (name: string) => { path?: babel.NodePath } | undefined },\n ): babel.types.ObjectProperty | undefined {\n const deployerProp = objectExpr.properties.find(\n prop => t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name === 'deployer',\n ) as babel.types.ObjectProperty | undefined;\n\n if (deployerProp) {\n objectExpr.properties = objectExpr.properties.filter(prop => prop !== deployerProp);\n\n // Clean up the deployer binding if it's a reference\n if (t.isIdentifier(deployerProp.value)) {\n const deployerBinding = scope.getBinding(deployerProp.value.name);\n if (deployerBinding) {\n deployerBinding.path?.parentPath?.remove();\n }\n }\n }\n\n return deployerProp;\n }\n\n return {\n name: 'remove-deployer',\n visitor: {\n NewExpression(path, state) {\n // is a variable declaration\n const varDeclaratorPath = path.findParent(path => t.isVariableDeclarator(path.node));\n if (!varDeclaratorPath) {\n return;\n }\n\n const parentNode = path.parentPath.node;\n // check if it's a const of mastra\n if (!t.isVariableDeclarator(parentNode) || !t.isIdentifier(parentNode.id) || parentNode.id.name !== 'mastra') {\n return;\n }\n\n if (!state.hasReplaced) {\n state.hasReplaced = true;\n const newMastraObj = t.cloneNode(path.node);\n if (t.isObjectExpression(newMastraObj.arguments[0]) && newMastraObj.arguments[0].properties?.length) {\n const objectArg = newMastraObj.arguments[0];\n let foundDeployer = false;\n\n // First, check for direct deployer property\n const directDeployer = removeDeployerFromObject(objectArg, state.file.scope);\n if (directDeployer) {\n foundDeployer = true;\n }\n\n // Then, check spread elements for deployer properties\n for (const prop of objectArg.properties) {\n if (t.isSpreadElement(prop) && t.isIdentifier(prop.argument)) {\n const spreadBinding = state.file.scope.getBinding(prop.argument.name);\n if (spreadBinding?.path && t.isVariableDeclarator(spreadBinding.path.node)) {\n const init = spreadBinding.path.node.init;\n if (t.isObjectExpression(init)) {\n const spreadDeployer = removeDeployerFromObject(init, state.file.scope);\n if (spreadDeployer) {\n foundDeployer = true;\n }\n }\n }\n }\n }\n\n if (foundDeployer) {\n path.replaceWith(newMastraObj);\n }\n }\n }\n },\n },\n } as babel.PluginObj;\n}\n","import * as babel from '@babel/core';\nimport type { Plugin } from 'rollup';\n\nimport { removeDeployer as removeDeployerBabelPlugin } from '../babel/remove-deployer';\n\nexport function removeDeployer(mastraEntry: string, options?: { sourcemap?: boolean }): Plugin {\n return {\n name: 'remove-deployer',\n transform(code, id) {\n if (id !== mastraEntry) {\n return;\n }\n\n return new Promise((resolve, reject) => {\n babel.transform(\n code,\n {\n babelrc: false,\n configFile: false,\n filename: id,\n plugins: [removeDeployerBabelPlugin],\n sourceMaps: options?.sourcemap,\n },\n (err, result) => {\n if (err) {\n return reject(err);\n }\n\n resolve({\n code: result!.code!,\n map: result!.map!,\n });\n },\n );\n });\n },\n } satisfies Plugin;\n}\n","import type { Plugin } from 'rollup';\nimport { isDependencyPartOfPackage } from '../utils';\n\nexport function subpathExternalsResolver(externals: string[]): Plugin {\n return {\n name: 'subpath-externals-resolver',\n resolveId(id) {\n if (id.startsWith('.') || id.startsWith('/')) {\n return null;\n }\n\n const isPartOfExternals = externals.some(external => isDependencyPartOfPackage(id, external));\n if (isPartOfExternals) {\n return {\n id,\n external: true,\n };\n }\n },\n } satisfies Plugin;\n}\n","import fs from 'node:fs';\nimport path, { normalize } from 'node:path';\nimport type { Plugin } from 'rollup';\nimport stripJsonComments from 'strip-json-comments';\nimport type { RegisterOptions } from 'typescript-paths';\nimport { createHandler } from 'typescript-paths';\n\nconst PLUGIN_NAME = 'tsconfig-paths';\nconst JS_IMPORT_SOURCE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx'];\n\nexport type PluginOptions = Omit<RegisterOptions, 'loggerID'> & { localResolve?: boolean };\n\n/**\n * Check if a tsconfig file has path mappings configured.\n * Exported for testing purposes.\n *\n * @param tsConfigPath - Path to the tsconfig.json file\n * @returns true if the tsconfig has paths configured or extends another config, false otherwise\n */\nexport function hasPaths(tsConfigPath: string): boolean {\n try {\n const content = fs.readFileSync(tsConfigPath, 'utf8');\n const config = JSON.parse(stripJsonComments(content));\n return !!(\n (config.compilerOptions?.paths && Object.keys(config.compilerOptions.paths).length > 0) ||\n (typeof config.extends === 'string' && config.extends.length > 0) ||\n (Array.isArray(config.extends) && config.extends.length > 0)\n );\n } catch {\n return false;\n }\n}\n\nexport function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve }: PluginOptions = {}): Plugin {\n const handlerCache = new Map<string, ReturnType<typeof createHandler>>();\n\n function resolveJsImportToSourceFile(moduleName: string): string {\n if (fs.existsSync(moduleName)) {\n return moduleName;\n }\n\n const parsed = path.parse(moduleName);\n if (parsed.ext !== '.js') {\n return moduleName;\n }\n\n for (const extension of JS_IMPORT_SOURCE_EXTENSIONS) {\n const candidate = path.join(parsed.dir, `${parsed.name}${extension}`);\n if (fs.existsSync(candidate)) {\n return candidate;\n }\n }\n\n return moduleName;\n }\n\n // Find tsconfig.json file starting from a directory and walking up\n function findTsConfigForFile(filePath: string): string | null {\n let currentDir = path.dirname(filePath);\n const root = path.parse(currentDir).root;\n\n while (currentDir !== root) {\n const tsConfigPath = path.join(currentDir, 'tsconfig.json');\n\n if (fs.existsSync(tsConfigPath)) {\n // Check if this tsconfig has path mappings\n if (hasPaths(tsConfigPath)) {\n return tsConfigPath;\n }\n }\n\n // Also check for tsconfig.base.json (common in NX)\n const tsConfigBasePath = path.join(currentDir, 'tsconfig.base.json');\n if (fs.existsSync(tsConfigBasePath)) {\n if (hasPaths(tsConfigBasePath)) {\n return tsConfigBasePath;\n }\n }\n\n currentDir = path.dirname(currentDir);\n }\n\n return null;\n }\n\n // Get or create handler for a specific tsconfig file\n function getHandlerForFile(filePath: string): ReturnType<typeof createHandler> | null {\n // If a specific tsConfigPath was provided, use it\n if (tsConfigPath && typeof tsConfigPath === 'string') {\n if (!handlerCache.has(tsConfigPath)) {\n handlerCache.set(\n tsConfigPath,\n createHandler({\n log: () => {},\n tsConfigPath,\n respectCoreModule,\n falllback: moduleName => fs.existsSync(moduleName),\n }),\n );\n }\n return handlerCache.get(tsConfigPath)!;\n }\n\n // Find appropriate tsconfig for this file\n const configPath = findTsConfigForFile(filePath);\n if (!configPath) {\n return null;\n }\n\n // Cache handlers to avoid recreation\n if (!handlerCache.has(configPath)) {\n handlerCache.set(\n configPath,\n createHandler({\n log: () => {},\n tsConfigPath: configPath,\n respectCoreModule,\n falllback: moduleName => fs.existsSync(moduleName),\n }),\n );\n }\n\n return handlerCache.get(configPath)!;\n }\n\n // Simple alias resolution using dynamic handler\n function resolveAlias(request: string, importer: string): string | null | undefined {\n // Get the appropriate handler for this file\n const dynamicHandler = getHandlerForFile(importer);\n if (!dynamicHandler) {\n return null;\n }\n\n const resolved = dynamicHandler(request, normalize(importer));\n return resolved;\n }\n\n return {\n name: PLUGIN_NAME,\n resolveId: {\n order: 'pre',\n async handler(request, importer, options) {\n if (!importer || request.startsWith('\\0') || importer.charCodeAt(0) === 0) {\n return null;\n }\n\n // Convert relative paths to absolute to ensure proper tsconfig path resolution\n // This allows path aliases to work regardless of how the importer path is provided\n if (!path.isAbsolute(importer)) {\n importer = path.resolve(process.cwd(), importer);\n }\n\n const moduleName = resolveAlias(request, importer);\n // No tsconfig alias found, so we need to resolve it normally\n if (!moduleName) {\n const resolved = await this.resolve(request, importer, { skipSelf: true, ...options });\n if (!resolved) {\n return null;\n }\n\n // If localResolve is true, we need to check if the importer has been resolved by the tsconfig-paths plugin\n // if so, we need to resolve the request from the importer instead of the root and mark it as external\n if (localResolve) {\n const importerInfo = this.getModuleInfo(importer);\n const importerPluginMeta = importerInfo?.meta?.[PLUGIN_NAME];\n\n if (!request.startsWith('./') && !request.startsWith('../') && importerPluginMeta?.resolved) {\n return {\n ...resolved,\n external: !request.startsWith('hono/') && request !== 'hono',\n };\n }\n }\n\n return {\n ...resolved,\n meta: {\n ...(resolved.meta || {}),\n },\n };\n }\n\n const resolvedModuleName = resolveJsImportToSourceFile(moduleName);\n\n // When a module does not have an extension, we need to resolve it to a file\n if (!path.extname(resolvedModuleName)) {\n const resolved = await this.resolve(resolvedModuleName, importer, { skipSelf: true, ...options });\n\n if (!resolved) {\n return null;\n }\n\n return {\n ...resolved,\n meta: {\n ...resolved.meta,\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n }\n\n // Always pass through bundler's resolution to ensure proper path normalization\n const resolved = await this.resolve(resolvedModuleName, importer, { skipSelf: true, ...options });\n\n if (!resolved) {\n return null;\n }\n\n return {\n ...resolved,\n meta: {\n ...resolved.meta,\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n },\n },\n } satisfies Plugin;\n}\n","import { join } from 'node:path';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport alias from '@rollup/plugin-alias';\nimport commonjs from '@rollup/plugin-commonjs';\nimport json from '@rollup/plugin-json';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport { rollup } from 'rollup';\nimport type { InputOptions, OutputOptions, Plugin } from 'rollup';\nimport type { analyzeBundle } from './analyze';\nimport { esbuild } from './plugins/esbuild';\nimport { esmShim } from './plugins/esm-shim';\nimport { localStorageDetector } from './plugins/local-storage-detector';\nimport { nodeModulesExtensionResolver } from './plugins/node-modules-extension-resolver';\nimport { protocolExternalResolver } from './plugins/protocol-external-resolver';\nimport { removeDeployer } from './plugins/remove-deployer';\nimport { subpathExternalsResolver } from './plugins/subpath-externals-resolver';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { getNodeResolveOptions, slash } from './utils';\nimport type { BundlerPlatform } from './utils';\n\nexport function mastraInternalAliasPlugin(entryFile: string): Plugin {\n const normalizedEntryFile = slash(entryFile);\n\n return alias({\n entries: [\n {\n find: /^\\#server$/,\n replacement: slash(fileURLToPath(import.meta.resolve('@mastra/deployer/server'))),\n },\n {\n find: /^\\@mastra\\/server\\/(.*)/,\n replacement: `@mastra/server/$1`,\n customResolver: id => {\n if (id.startsWith('@mastra/server')) {\n return {\n id: fileURLToPath(import.meta.resolve(id)),\n };\n }\n },\n },\n { find: /^\\#mastra$/, replacement: normalizedEntryFile },\n ],\n });\n}\n\nexport function mastraToolsAliasPlugin(): Plugin {\n return {\n name: 'tools-rewriter',\n resolveId(id: string) {\n if (id === '#tools') {\n return {\n id: './tools.mjs',\n external: true,\n };\n }\n },\n };\n}\n\nexport async function getInputOptions(\n entryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n platform: BundlerPlatform,\n env: Record<string, string> = { 'process.env.NODE_ENV': JSON.stringify('production') },\n {\n sourcemap = false,\n isDev = false,\n projectRoot,\n workspaceRoot = undefined,\n enableEsmShim = true,\n externalsPreset = false,\n }: {\n sourcemap?: boolean;\n isDev?: boolean;\n workspaceRoot?: string;\n projectRoot: string;\n enableEsmShim?: boolean;\n externalsPreset?: boolean;\n },\n): Promise<InputOptions> {\n const nodeResolvePlugin = nodeResolve(getNodeResolveOptions(platform));\n\n const externalsCopy = new Set<string>(analyzedBundleInfo.externalDependencies.keys());\n const externals = externalsPreset ? [] : Array.from(externalsCopy);\n\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\n protocolExternalResolver(),\n subpathExternalsResolver(externals),\n {\n name: 'alias-optimized-deps',\n resolveId(id: string) {\n if (!analyzedBundleInfo.dependencies.has(id)) {\n return null;\n }\n\n const filename = analyzedBundleInfo.dependencies.get(id)!;\n const absolutePath = join(workspaceRoot || projectRoot, filename);\n\n // During `mastra dev` we want to keep deps as external\n if (isDev) {\n return {\n id: process.platform === 'win32' ? pathToFileURL(absolutePath).href : absolutePath,\n external: true,\n };\n }\n\n // For production builds return the absolute path as-is so Rollup can handle itself\n return {\n id: absolutePath,\n external: false,\n };\n },\n } satisfies Plugin,\n mastraInternalAliasPlugin(entryFile),\n tsConfigPaths(),\n mastraToolsAliasPlugin(),\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports({\n include: '**/*.{js,ts,mjs,cjs}',\n }),\n externalsPreset\n ? null\n : commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n externalsPreset ? nodeModulesExtensionResolver() : nodeResolvePlugin,\n // for debugging\n // {\n // name: 'logger',\n // //@ts-expect-error\n // resolveId(id, ...args) {\n // console.log({ id, args });\n // },\n // // @ts-expect-error\n // transform(code, id) {\n // if (code.includes('class Duplexify ')) {\n // console.log({ duplex: id });\n // }\n // },\n // },\n json(),\n localStorageDetector(),\n removeDeployer(entryFile, { sourcemap }),\n // treeshake unused imports\n esbuild({\n include: entryFile,\n platform,\n }),\n ].filter(Boolean),\n } satisfies InputOptions;\n}\n\nexport async function createBundler(\n inputOptions: InputOptions,\n outputOptions: Partial<OutputOptions> & { dir: string },\n) {\n const bundler = await rollup(inputOptions);\n\n return {\n write: () => {\n return bundler.write({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].mjs',\n chunkFileNames: '[name].mjs',\n });\n },\n close: () => {\n return bundler.close();\n },\n };\n}\n"]}
@@ -1,9 +1,8 @@
1
- import { getBundlerOptions } from './chunk-CGDATNET.js';
2
- import { analyzeBundle, getWorkspaceInformation } from './chunk-566UDTD4.js';
3
- import { createBundler, getInputOptions } from './chunk-KJ4S6COO.js';
4
- import { getPackageRootPath } from './chunk-VWD7AY6H.js';
5
- import { DepsService, FileService } from './chunk-5GX66TF5.js';
6
- import { slash, isBareModuleSpecifier } from './chunk-Z3DC47CH.js';
1
+ import { getBundlerOptions } from './chunk-CCBU3OII.js';
2
+ import { analyzeBundle, getWorkspaceInformation } from './chunk-4MVAT24Z.js';
3
+ import { createBundler, getInputOptions } from './chunk-FHLWDI5H.js';
4
+ import { DepsService, FileService } from './chunk-ZL66GDLP.js';
5
+ import { slash, isBareModuleSpecifier } from './chunk-ANDDGKY5.js';
7
6
  import { execSync } from 'child_process';
8
7
  import { existsSync } from 'fs';
9
8
  import { writeFile, rm, stat } from 'fs/promises';
@@ -12,7 +11,7 @@ import { MastraBundler } from '@mastra/core/bundler';
12
11
  import { MastraError, ErrorCategory, ErrorDomain } from '@mastra/core/error';
13
12
  import virtual from '@rollup/plugin-virtual';
14
13
  import * as pkg from 'empathic/package';
15
- import fsExtra, { emptyDir, ensureDir, copy, readJSON } from 'fs-extra/esm';
14
+ import fsExtra, { emptyDir, ensureDir, copy } from 'fs-extra/esm';
16
15
  import { glob } from 'tinyglobby';
17
16
 
18
17
  var IS_DEFAULT = /* @__PURE__ */ Symbol("IS_DEFAULT");
@@ -34,12 +33,13 @@ var Bundler = class extends MastraBundler {
34
33
  const pkgPath = join(outputDirectory, "package.json");
35
34
  const dependenciesMap = /* @__PURE__ */ new Map();
36
35
  for (const [key, value] of dependencies.entries()) {
36
+ const dependencyValue = typeof value === "string" ? value : value.packageSpec ?? value.version ?? "latest";
37
37
  if (key.startsWith("@")) {
38
38
  const pkgChunks = key.split("/");
39
- dependenciesMap.set(`${pkgChunks[0]}/${pkgChunks[1]}`, value);
39
+ dependenciesMap.set(`${pkgChunks[0]}/${pkgChunks[1]}`, dependencyValue);
40
40
  } else {
41
41
  const pkgName = key.split("/")[0] || key;
42
- dependenciesMap.set(pkgName, value);
42
+ dependenciesMap.set(pkgName, dependencyValue);
43
43
  }
44
44
  }
45
45
  await writeFile(
@@ -61,10 +61,6 @@ var Bundler = class extends MastraBundler {
61
61
  2
62
62
  )
63
63
  );
64
- await writeFile(
65
- join(outputDirectory, "pnpm-workspace.yaml"),
66
- "packages:\n - '.'\nallowBuilds:\n bcrypt: true\n esbuild: true\n sharp: true\n protobufjs: true\n workerd: true\n bufferutil: true\n utf-8-validate: true\n"
67
- );
68
64
  }
69
65
  createBundler(inputOptions, outputOptions) {
70
66
  return createBundler(inputOptions, outputOptions);
@@ -272,29 +268,7 @@ var Bundler = class extends MastraBundler {
272
268
  if (analyzedBundleInfo.workspaceMap.has(dep) || !isBareModuleSpecifier(dep)) {
273
269
  continue;
274
270
  }
275
- let version = depInfo.version;
276
- let actualPackageName;
277
- try {
278
- let rootPath = await getPackageRootPath(dep, projectRoot);
279
- if (!rootPath) {
280
- rootPath = await getPackageRootPath(dep, import.meta.dirname);
281
- }
282
- if (rootPath) {
283
- const pkg2 = await readJSON(`${rootPath}/package.json`);
284
- actualPackageName = pkg2.name;
285
- if (!version) {
286
- version = pkg2.version;
287
- }
288
- }
289
- } catch {
290
- }
291
- version = version || "latest";
292
- const isAlias = actualPackageName && dep !== actualPackageName;
293
- if (isAlias) {
294
- dependenciesToInstall.set(dep, `npm:${actualPackageName}@${version}`);
295
- } else {
296
- dependenciesToInstall.set(dep, version);
297
- }
271
+ dependenciesToInstall.set(dep, depInfo);
298
272
  }
299
273
  try {
300
274
  await this.writePackageJson(join(outputDirectory, this.outputDir), dependenciesToInstall);
@@ -379,5 +353,5 @@ export const tools = [${toolsExports.join(", ")}]`
379
353
  };
380
354
 
381
355
  export { Bundler, IS_DEFAULT };
382
- //# sourceMappingURL=chunk-BYRFFGSN.js.map
383
- //# sourceMappingURL=chunk-BYRFFGSN.js.map
356
+ //# sourceMappingURL=chunk-ULWJZHTN.js.map
357
+ //# sourceMappingURL=chunk-ULWJZHTN.js.map