@mastra/deployer 1.0.0-beta.10 → 1.0.0-beta.11

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 (54) hide show
  1. package/CHANGELOG.md +10 -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.js +1 -1
  6. package/dist/build/bundler.cjs +3 -3
  7. package/dist/build/bundler.js +1 -1
  8. package/dist/build/index.cjs +15 -10
  9. package/dist/build/index.d.ts +1 -0
  10. package/dist/build/index.d.ts.map +1 -1
  11. package/dist/build/index.js +4 -3
  12. package/dist/build/package-info.d.ts +9 -0
  13. package/dist/build/package-info.d.ts.map +1 -0
  14. package/dist/build/utils.d.ts +12 -4
  15. package/dist/build/utils.d.ts.map +1 -1
  16. package/dist/bundler/index.cjs +2 -2
  17. package/dist/bundler/index.d.ts.map +1 -1
  18. package/dist/bundler/index.js +1 -1
  19. package/dist/{chunk-TK2CCU7I.js → chunk-3KATYU33.js} +25 -6
  20. package/dist/chunk-3KATYU33.js.map +1 -0
  21. package/dist/{chunk-RBPCXFN7.js → chunk-5OGQ7IFB.js} +5 -5
  22. package/dist/chunk-5OGQ7IFB.js.map +1 -0
  23. package/dist/{chunk-MUWNMVNL.cjs → chunk-EHZKDGGA.cjs} +45 -25
  24. package/dist/chunk-EHZKDGGA.cjs.map +1 -0
  25. package/dist/{chunk-2OTEFUER.cjs → chunk-F2LCS2DV.cjs} +19 -24
  26. package/dist/chunk-F2LCS2DV.cjs.map +1 -0
  27. package/dist/{chunk-X5QU7B2W.js → chunk-HFP6WWM5.js} +5 -5
  28. package/dist/{chunk-X5QU7B2W.js.map → chunk-HFP6WWM5.js.map} +1 -1
  29. package/dist/{chunk-5CWPEG6R.js → chunk-NM6R77PX.js} +19 -24
  30. package/dist/chunk-NM6R77PX.js.map +1 -0
  31. package/dist/{chunk-SS22TD6R.cjs → chunk-PK3AX3KO.cjs} +13 -13
  32. package/dist/chunk-PK3AX3KO.cjs.map +1 -0
  33. package/dist/{chunk-UQZGTSBF.js → chunk-UG72ONP7.js} +4 -4
  34. package/dist/{chunk-UQZGTSBF.js.map → chunk-UG72ONP7.js.map} +1 -1
  35. package/dist/{chunk-X4TNUYQL.cjs → chunk-Z33LQHGJ.cjs} +15 -15
  36. package/dist/{chunk-X4TNUYQL.cjs.map → chunk-Z33LQHGJ.cjs.map} +1 -1
  37. package/dist/{chunk-BFQ2S5UD.cjs → chunk-ZPUTJSEC.cjs} +12 -12
  38. package/dist/{chunk-BFQ2S5UD.cjs.map → chunk-ZPUTJSEC.cjs.map} +1 -1
  39. package/dist/index.cjs +5 -5
  40. package/dist/index.js +2 -2
  41. package/dist/server/index.cjs +39 -22
  42. package/dist/server/index.cjs.map +1 -1
  43. package/dist/server/index.d.ts.map +1 -1
  44. package/dist/server/index.js +39 -22
  45. package/dist/server/index.js.map +1 -1
  46. package/dist/validator/custom-resolver.cjs +2 -2
  47. package/dist/validator/custom-resolver.js +1 -1
  48. package/package.json +5 -5
  49. package/dist/chunk-2OTEFUER.cjs.map +0 -1
  50. package/dist/chunk-5CWPEG6R.js.map +0 -1
  51. package/dist/chunk-MUWNMVNL.cjs.map +0 -1
  52. package/dist/chunk-RBPCXFN7.js.map +0 -1
  53. package/dist/chunk-SS22TD6R.cjs.map +0 -1
  54. package/dist/chunk-TK2CCU7I.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkMUWNMVNL_cjs = require('./chunk-MUWNMVNL.cjs');
4
- var chunk2OTEFUER_cjs = require('./chunk-2OTEFUER.cjs');
3
+ var chunkEHZKDGGA_cjs = require('./chunk-EHZKDGGA.cjs');
4
+ var chunkF2LCS2DV_cjs = require('./chunk-F2LCS2DV.cjs');
5
5
  var alias = require('@rollup/plugin-alias');
6
6
  var commonjs = require('@rollup/plugin-commonjs');
7
7
  var json = require('@rollup/plugin-json');
@@ -34,14 +34,14 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
34
34
  });
35
35
  const externalsCopy = new Set(analyzedBundleInfo.externalDependencies);
36
36
  const externals = Array.from(externalsCopy);
37
- const normalizedEntryFile = chunk2OTEFUER_cjs.slash(entryFile);
37
+ const normalizedEntryFile = chunkF2LCS2DV_cjs.slash(entryFile);
38
38
  return {
39
39
  logLevel: process.env.MASTRA_BUNDLER_DEBUG === "true" ? "debug" : "silent",
40
40
  treeshake: "smallest",
41
41
  preserveSymlinks: true,
42
42
  external: externals,
43
43
  plugins: [
44
- chunkMUWNMVNL_cjs.subpathExternalsResolver(externals),
44
+ chunkEHZKDGGA_cjs.subpathExternalsResolver(externals),
45
45
  {
46
46
  name: "alias-optimized-deps",
47
47
  resolveId(id) {
@@ -66,7 +66,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
66
66
  entries: [
67
67
  {
68
68
  find: /^\#server$/,
69
- replacement: chunk2OTEFUER_cjs.slash(url.fileURLToPath(undefined("@mastra/deployer/server")))
69
+ replacement: chunkF2LCS2DV_cjs.slash(url.fileURLToPath(undefined("@mastra/deployer/server")))
70
70
  },
71
71
  {
72
72
  find: /^\@mastra\/server\/(.*)/,
@@ -82,7 +82,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
82
82
  { find: /^\#mastra$/, replacement: normalizedEntryFile }
83
83
  ]
84
84
  }),
85
- chunkMUWNMVNL_cjs.tsConfigPaths(),
85
+ chunkEHZKDGGA_cjs.tsConfigPaths(),
86
86
  {
87
87
  name: "tools-rewriter",
88
88
  resolveId(id) {
@@ -94,7 +94,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
94
94
  }
95
95
  }
96
96
  },
97
- chunkMUWNMVNL_cjs.esbuild({
97
+ chunkEHZKDGGA_cjs.esbuild({
98
98
  platform,
99
99
  define: env
100
100
  }),
@@ -108,7 +108,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
108
108
  return externals.includes(id);
109
109
  }
110
110
  }),
111
- enableEsmShim ? chunkMUWNMVNL_cjs.esmShim() : void 0,
111
+ enableEsmShim ? chunkEHZKDGGA_cjs.esmShim() : void 0,
112
112
  nodeResolvePlugin,
113
113
  // for debugging
114
114
  // {
@@ -125,9 +125,9 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
125
125
  // },
126
126
  // },
127
127
  json__default.default(),
128
- chunkMUWNMVNL_cjs.removeDeployer(entryFile, { sourcemap }),
128
+ chunkEHZKDGGA_cjs.removeDeployer(entryFile, { sourcemap }),
129
129
  // treeshake unused imports
130
- chunkMUWNMVNL_cjs.esbuild({
130
+ chunkEHZKDGGA_cjs.esbuild({
131
131
  include: entryFile,
132
132
  platform
133
133
  })
@@ -153,5 +153,5 @@ async function createBundler(inputOptions, outputOptions) {
153
153
 
154
154
  exports.createBundler = createBundler;
155
155
  exports.getInputOptions = getInputOptions;
156
- //# sourceMappingURL=chunk-BFQ2S5UD.cjs.map
157
- //# sourceMappingURL=chunk-BFQ2S5UD.cjs.map
156
+ //# sourceMappingURL=chunk-ZPUTJSEC.cjs.map
157
+ //# sourceMappingURL=chunk-ZPUTJSEC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/build/bundler.ts"],"names":["nodeResolve","slash","subpathExternalsResolver","join","pathToFileURL","alias","fileURLToPath","tsConfigPaths","esbuild","optimizeLodashImports","commonjs","esmShim","json","removeDeployer","rollup"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,eAAsB,eAAA,CACpB,SAAA,EACA,kBAAA,EACA,QAAA,EACA,GAAA,GAA8B,EAAE,sBAAA,EAAwB,IAAA,CAAK,SAAA,CAAU,YAAY,CAAA,EAAE,EACrF;AAAA,EACE,SAAA,GAAY,KAAA;AAAA,EACZ,KAAA,GAAQ,KAAA;AAAA,EACR,WAAA;AAAA,EACA,aAAA,GAAgB,MAAA;AAAA,EAChB,aAAA,GAAgB;AAClB,CAAA,EAOuB;AACvB,EAAA,IAAI,iBAAA,GACF,QAAA,KAAa,MAAA,GACTA,4BAAA,CAAY;AAAA,IACV,cAAA,EAAgB,IAAA;AAAA,IAChB,gBAAA,EAAkB,CAAC,MAAM;AAAA,GAC1B,IACDA,4BAAA,CAAY;AAAA,IACV,cAAA,EAAgB,KAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACV,CAAA;AAEP,EAAA,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAY,kBAAA,CAAmB,oBAAoB,CAAA;AAE7E,EAAA,MAAM,SAAA,GAAY,KAAA,CAAM,IAAA,CAAK,aAAa,CAAA;AAE1C,EAAA,MAAM,mBAAA,GAAsBC,wBAAM,SAAS,CAAA;AAC3C,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,oBAAA,KAAyB,SAAS,OAAA,GAAU,QAAA;AAAA,IAClE,SAAA,EAAW,UAAA;AAAA,IACX,gBAAA,EAAkB,IAAA;AAAA,IAClB,QAAA,EAAU,SAAA;AAAA,IACV,OAAA,EAAS;AAAA,MACPC,2CAAyB,SAAS,CAAA;AAAA,MAClC;AAAA,QACE,IAAA,EAAM,sBAAA;AAAA,QACN,UAAU,EAAA,EAAY;AACpB,UAAA,IAAI,CAAC,kBAAA,CAAmB,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA,EAAG;AAC5C,YAAA,OAAO,IAAA;AAAA,UACT;AAEA,UAAA,MAAM,QAAA,GAAW,kBAAA,CAAmB,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA;AACvD,UAAA,MAAM,YAAA,GAAeC,SAAA,CAAK,aAAA,IAAiB,WAAA,EAAa,QAAQ,CAAA;AAGhE,UAAA,IAAI,KAAA,EAAO;AACT,YAAA,OAAO;AAAA,cACL,IAAI,OAAA,CAAQ,QAAA,KAAa,UAAUC,iBAAA,CAAc,YAAY,EAAE,IAAA,GAAO,YAAA;AAAA,cACtE,QAAA,EAAU;AAAA,aACZ;AAAA,UACF;AAGA,UAAA,OAAO;AAAA,YACL,EAAA,EAAI,YAAA;AAAA,YACJ,QAAA,EAAU;AAAA,WACZ;AAAA,QACF;AAAA,OACF;AAAA,MACAC,sBAAA,CAAM;AAAA,QACJ,OAAA,EAAS;AAAA,UACP;AAAA,YACE,IAAA,EAAM,YAAA;AAAA,YACN,aAAaJ,uBAAA,CAAMK,iBAAA,CAAc,SAAY,CAAQ,yBAAyB,CAAC,CAAC;AAAA,WAClF;AAAA,UACA;AAAA,YACE,IAAA,EAAM,yBAAA;AAAA,YACN,WAAA,EAAa,CAAA,iBAAA,CAAA;AAAA,YACb,gBAAgB,CAAA,EAAA,KAAM;AACpB,cAAA,IAAI,EAAA,CAAG,UAAA,CAAW,gBAAgB,CAAA,EAAG;AACnC,gBAAA,OAAO;AAAA,kBACL,EAAA,EAAIA,iBAAA,CAAc,SAAY,CAAQ,EAAE,CAAC;AAAA,iBAC3C;AAAA,cACF;AAAA,YACF;AAAA,WACF;AAAA,UACA,EAAE,IAAA,EAAM,YAAA,EAAc,WAAA,EAAa,mBAAA;AAAoB;AACzD,OACD,CAAA;AAAA,MACDC,+BAAA,EAAc;AAAA,MACd;AAAA,QACE,IAAA,EAAM,gBAAA;AAAA,QACN,UAAU,EAAA,EAAY;AACpB,UAAA,IAAI,OAAO,QAAA,EAAU;AACnB,YAAA,OAAO;AAAA,cACL,EAAA,EAAI,aAAA;AAAA,cACJ,QAAA,EAAU;AAAA,aACZ;AAAA,UACF;AAAA,QACF;AAAA,OACF;AAAA,MACAC,yBAAA,CAAQ;AAAA,QACN,QAAA;AAAA,QACA,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,MACDC,kCAAA,CAAsB;AAAA,QACpB,OAAA,EAAS;AAAA,OACV,CAAA;AAAA,MACDC,yBAAA,CAAS;AAAA,QACP,UAAA,EAAY,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,QACzB,uBAAA,EAAyB,IAAA;AAAA,QACzB,aAAa,EAAA,EAAI;AACf,UAAA,OAAO,SAAA,CAAU,SAAS,EAAE,CAAA;AAAA,QAC9B;AAAA,OACD,CAAA;AAAA,MACD,aAAA,GAAgBC,2BAAQ,GAAI,MAAA;AAAA,MAC5B,iBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAeAC,qBAAA,EAAK;AAAA,MACLC,gCAAA,CAAe,SAAA,EAAW,EAAE,SAAA,EAAW,CAAA;AAAA;AAAA,MAEvCL,yBAAA,CAAQ;AAAA,QACN,OAAA,EAAS,SAAA;AAAA,QACT;AAAA,OACD;AAAA,KACH,CAAE,OAAO,OAAO;AAAA,GAClB;AACF;AAEA,eAAsB,aAAA,CACpB,cACA,aAAA,EACA;AACA,EAAA,MAAM,OAAA,GAAU,MAAMM,aAAA,CAAO,YAAY,CAAA;AAEzC,EAAA,OAAO;AAAA,IACL,OAAO,MAAM;AACX,MAAA,OAAO,QAAQ,KAAA,CAAM;AAAA,QACnB,GAAG,aAAA;AAAA,QACH,MAAA,EAAQ,KAAA;AAAA,QACR,cAAA,EAAgB,YAAA;AAAA,QAChB,cAAA,EAAgB;AAAA,OACjB,CAAA;AAAA,IACH,CAAA;AAAA,IACA,OAAO,MAAM;AACX,MAAA,OAAO,QAAQ,KAAA,EAAM;AAAA,IACvB;AAAA,GACF;AACF","file":"chunk-BFQ2S5UD.cjs","sourcesContent":["import 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 { esmShim } from './plugins/esm-shim';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions, type Plugin } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport { analyzeBundle } from './analyze';\nimport { removeDeployer } from './plugins/remove-deployer';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { join } from 'node:path';\nimport { slash } from './utils';\nimport { subpathExternalsResolver } from './plugins/subpath-externals-resolver';\n\nexport async function getInputOptions(\n entryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n platform: 'node' | 'browser',\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 }: {\n sourcemap?: boolean;\n isDev?: boolean;\n workspaceRoot?: string;\n projectRoot: string;\n enableEsmShim?: boolean;\n },\n): Promise<InputOptions> {\n let nodeResolvePlugin =\n platform === 'node'\n ? nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node'],\n })\n : nodeResolve({\n preferBuiltins: false,\n browser: true,\n });\n\n const externalsCopy = new Set<string>(analyzedBundleInfo.externalDependencies);\n\n const externals = Array.from(externalsCopy);\n\n const normalizedEntryFile = slash(entryFile);\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\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 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 tsConfigPaths(),\n {\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 } satisfies Plugin,\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports({\n include: '**/*.{js,ts,mjs,cjs}',\n }),\n commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n nodeResolvePlugin,\n // for debugging\n // {\n // name: 'logger',\n // //@ts-ignore\n // resolveId(id, ...args) {\n // console.log({ id, args });\n // },\n // // @ts-ignore\n // transform(code, id) {\n // if (code.includes('class Duplexify ')) {\n // console.log({ duplex: id });\n // }\n // },\n // },\n json(),\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
+ {"version":3,"sources":["../src/build/bundler.ts"],"names":["nodeResolve","slash","subpathExternalsResolver","join","pathToFileURL","alias","fileURLToPath","tsConfigPaths","esbuild","optimizeLodashImports","commonjs","esmShim","json","removeDeployer","rollup"],"mappings":"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","file":"chunk-ZPUTJSEC.cjs","sourcesContent":["import 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 { esmShim } from './plugins/esm-shim';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions, type Plugin } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport { analyzeBundle } from './analyze';\nimport { removeDeployer } from './plugins/remove-deployer';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { join } from 'node:path';\nimport { slash } from './utils';\nimport { subpathExternalsResolver } from './plugins/subpath-externals-resolver';\n\nexport async function getInputOptions(\n entryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n platform: 'node' | 'browser',\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 }: {\n sourcemap?: boolean;\n isDev?: boolean;\n workspaceRoot?: string;\n projectRoot: string;\n enableEsmShim?: boolean;\n },\n): Promise<InputOptions> {\n let nodeResolvePlugin =\n platform === 'node'\n ? nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node'],\n })\n : nodeResolve({\n preferBuiltins: false,\n browser: true,\n });\n\n const externalsCopy = new Set<string>(analyzedBundleInfo.externalDependencies);\n\n const externals = Array.from(externalsCopy);\n\n const normalizedEntryFile = slash(entryFile);\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\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 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 tsConfigPaths(),\n {\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 } satisfies Plugin,\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports({\n include: '**/*.{js,ts,mjs,cjs}',\n }),\n commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n nodeResolvePlugin,\n // for debugging\n // {\n // name: 'logger',\n // //@ts-ignore\n // resolveId(id, ...args) {\n // console.log({ id, args });\n // },\n // // @ts-ignore\n // transform(code, id) {\n // if (code.includes('class Duplexify ')) {\n // console.log({ duplex: id });\n // }\n // },\n // },\n json(),\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"]}
package/dist/index.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkSS22TD6R_cjs = require('./chunk-SS22TD6R.cjs');
4
- var chunkMUWNMVNL_cjs = require('./chunk-MUWNMVNL.cjs');
3
+ var chunkPK3AX3KO_cjs = require('./chunk-PK3AX3KO.cjs');
4
+ var chunkEHZKDGGA_cjs = require('./chunk-EHZKDGGA.cjs');
5
5
  var chunkJVBCN3RH_cjs = require('./chunk-JVBCN3RH.cjs');
6
6
 
7
7
  // src/deploy/base.ts
8
- var Deployer = class extends chunkSS22TD6R_cjs.Bundler {
8
+ var Deployer = class extends chunkPK3AX3KO_cjs.Bundler {
9
9
  deps = new chunkJVBCN3RH_cjs.DepsService();
10
10
  constructor(args) {
11
11
  super(args.name, "DEPLOYER");
@@ -25,12 +25,12 @@ var Deployer = class extends chunkSS22TD6R_cjs.Bundler {
25
25
 
26
26
  // src/build/babel/remove-all-options-deployer.ts
27
27
  function removeAllOptionsExceptDeployer(result, logger) {
28
- return chunkMUWNMVNL_cjs.removeAllOptionsFromMastraExcept(result, "deployer", logger);
28
+ return chunkEHZKDGGA_cjs.removeAllOptionsFromMastraExcept(result, "deployer", logger);
29
29
  }
30
30
 
31
31
  // src/build/deployer.ts
32
32
  async function getDeployer(entryFile, outputDir, logger) {
33
- const result = await chunkMUWNMVNL_cjs.extractMastraOption(
33
+ const result = await chunkEHZKDGGA_cjs.extractMastraOption(
34
34
  "deployer",
35
35
  entryFile,
36
36
  removeAllOptionsExceptDeployer,
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { Bundler } from './chunk-RBPCXFN7.js';
2
- import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-TK2CCU7I.js';
1
+ import { Bundler } from './chunk-5OGQ7IFB.js';
2
+ import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-3KATYU33.js';
3
3
  import { DepsService, FileService } from './chunk-DPDWM7HQ.js';
4
4
  export { Deps, FileService, createChildProcessLogger, createPinoStream } from './chunk-DPDWM7HQ.js';
5
5
 
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkF2LCS2DV_cjs = require('../chunk-F2LCS2DV.cjs');
3
4
  var promises = require('fs/promises');
4
5
  var https = require('https');
5
6
  var posix = require('path/posix');
@@ -3541,23 +3542,25 @@ async function createHonoServer(mastra, options = {
3541
3542
  restartAllActiveWorkflowRunsHandler
3542
3543
  );
3543
3544
  }
3545
+ const serverOptions = mastra.getServer();
3546
+ const studioBasePath = chunkF2LCS2DV_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3544
3547
  if (options?.playground) {
3545
3548
  app.get(
3546
- "/refresh-events",
3549
+ `${studioBasePath}/refresh-events`,
3547
3550
  describeRoute({
3548
3551
  hide: true
3549
3552
  }),
3550
3553
  handleClientsRefresh
3551
3554
  );
3552
3555
  app.post(
3553
- "/__refresh",
3556
+ `${studioBasePath}/__refresh`,
3554
3557
  describeRoute({
3555
3558
  hide: true
3556
3559
  }),
3557
3560
  handleTriggerClientsRefresh
3558
3561
  );
3559
3562
  app.get(
3560
- "/__hot-reload-status",
3563
+ `${studioBasePath}/__hot-reload-status`,
3561
3564
  describeRoute({
3562
3565
  hide: true
3563
3566
  }),
@@ -3568,48 +3571,61 @@ async function createHonoServer(mastra, options = {
3568
3571
  });
3569
3572
  }
3570
3573
  );
3571
- app.use("/assets/*", async (c, next) => {
3572
- const path = c.req.path;
3573
- if (path.endsWith(".js")) {
3574
- c.header("Content-Type", "application/javascript");
3575
- } else if (path.endsWith(".css")) {
3576
- c.header("Content-Type", "text/css");
3577
- }
3578
- await next();
3579
- });
3580
3574
  app.use(
3581
- "/assets/*",
3575
+ `${studioBasePath}/assets/*`,
3582
3576
  serveStatic({
3583
- root: "./playground/assets"
3577
+ root: "./playground/assets",
3578
+ rewriteRequestPath: (path) => {
3579
+ let rewritten = path;
3580
+ if (studioBasePath && rewritten.startsWith(studioBasePath)) {
3581
+ rewritten = rewritten.slice(studioBasePath.length);
3582
+ }
3583
+ if (rewritten.startsWith("/assets")) {
3584
+ rewritten = rewritten.slice("/assets".length);
3585
+ }
3586
+ return rewritten;
3587
+ }
3584
3588
  })
3585
3589
  );
3586
3590
  }
3587
3591
  app.get("*", async (c, next) => {
3588
- if (c.req.path.startsWith("/api/") || c.req.path.startsWith("/swagger-ui") || c.req.path.startsWith("/openapi.json")) {
3592
+ const requestPath = c.req.path;
3593
+ if (requestPath.startsWith("/api/") || requestPath.startsWith("/swagger-ui") || requestPath.startsWith("/openapi.json")) {
3589
3594
  return await next();
3590
3595
  }
3591
- const path = c.req.path;
3592
- if (path.includes(".") && !path.endsWith(".html")) {
3596
+ if (requestPath.includes(".") && !requestPath.endsWith(".html")) {
3593
3597
  return await next();
3594
3598
  }
3595
- if (options?.playground) {
3599
+ const isPlaygroundRoute = studioBasePath === "" || requestPath === studioBasePath || requestPath.startsWith(`${studioBasePath}/`);
3600
+ if (options?.playground && isPlaygroundRoute) {
3596
3601
  let indexHtml = await promises.readFile(posix.join(process.cwd(), "./playground/index.html"), "utf-8");
3597
- const serverOptions = mastra.getServer();
3598
3602
  const port = serverOptions?.port ?? (Number(process.env.PORT) || 4111);
3599
3603
  const hideCloudCta = process.env.MASTRA_HIDE_CLOUD_CTA === "true";
3600
3604
  const host = serverOptions?.host ?? "localhost";
3605
+ const key = serverOptions?.https?.key ?? (process.env.MASTRA_HTTPS_KEY ? Buffer.from(process.env.MASTRA_HTTPS_KEY, "base64") : void 0);
3606
+ const cert = serverOptions?.https?.cert ?? (process.env.MASTRA_HTTPS_CERT ? Buffer.from(process.env.MASTRA_HTTPS_CERT, "base64") : void 0);
3607
+ const protocol = key && cert ? "https" : "http";
3601
3608
  indexHtml = indexHtml.replace(`'%%MASTRA_SERVER_HOST%%'`, `'${host}'`);
3602
3609
  indexHtml = indexHtml.replace(`'%%MASTRA_SERVER_PORT%%'`, `'${port}'`);
3603
3610
  indexHtml = indexHtml.replace(`'%%MASTRA_HIDE_CLOUD_CTA%%'`, `'${hideCloudCta}'`);
3611
+ indexHtml = indexHtml.replace(`'%%MASTRA_SERVER_PROTOCOL%%'`, `'${protocol}'`);
3612
+ indexHtml = indexHtml.replaceAll("%%MASTRA_STUDIO_BASE_PATH%%", studioBasePath);
3604
3613
  return c.newResponse(indexHtml, 200, { "Content-Type": "text/html" });
3605
3614
  }
3606
3615
  return c.newResponse(html2, 200, { "Content-Type": "text/html" });
3607
3616
  });
3608
3617
  if (options?.playground) {
3618
+ const playgroundPath = studioBasePath ? `${studioBasePath}/*` : "*";
3609
3619
  app.use(
3610
- "*",
3620
+ playgroundPath,
3611
3621
  serveStatic({
3612
- root: "./playground"
3622
+ root: "./playground",
3623
+ rewriteRequestPath: (path) => {
3624
+ if (studioBasePath && path.startsWith(studioBasePath)) {
3625
+ return path.slice(studioBasePath.length);
3626
+ }
3627
+ return path;
3628
+ }
3613
3629
  })
3614
3630
  );
3615
3631
  }
@@ -3641,7 +3657,8 @@ async function createNodeServer(mastra, options = { tools: {} }) {
3641
3657
  const logger2 = mastra.getLogger();
3642
3658
  logger2.info(` Mastra API running on port ${protocol}://${host}:${port}/api`);
3643
3659
  if (options?.playground) {
3644
- const studioUrl = `${protocol}://${host}:${port}`;
3660
+ const studioBasePath = chunkF2LCS2DV_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3661
+ const studioUrl = `${protocol}://${host}:${port}${studioBasePath}`;
3645
3662
  logger2.info(`\u{1F468}\u200D\u{1F4BB} Studio available at ${studioUrl}`);
3646
3663
  }
3647
3664
  if (process.send) {