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

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 (136) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/arktype-aI7TBD0R-CCZH3EYK.js +8 -0
  3. package/dist/{arktype-aI7TBD0R-OEPFT4G6.js.map → arktype-aI7TBD0R-CCZH3EYK.js.map} +1 -1
  4. package/dist/{arktype-aI7TBD0R-4YXBEQBG.cjs → arktype-aI7TBD0R-XHBHUL3T.cjs} +3 -3
  5. package/dist/{arktype-aI7TBD0R-4YXBEQBG.cjs.map → arktype-aI7TBD0R-XHBHUL3T.cjs.map} +1 -1
  6. package/dist/build/analyze/bundleExternals.d.ts +4 -5
  7. package/dist/build/analyze/bundleExternals.d.ts.map +1 -1
  8. package/dist/build/analyze.cjs +2 -2
  9. package/dist/build/analyze.d.ts +3 -4
  10. package/dist/build/analyze.d.ts.map +1 -1
  11. package/dist/build/analyze.js +1 -1
  12. package/dist/build/bundler.cjs +3 -3
  13. package/dist/build/bundler.d.ts +2 -1
  14. package/dist/build/bundler.d.ts.map +1 -1
  15. package/dist/build/bundler.js +1 -1
  16. package/dist/build/index.cjs +12 -12
  17. package/dist/build/index.js +4 -4
  18. package/dist/build/plugins/node-modules-extension-resolver.d.ts +7 -0
  19. package/dist/build/plugins/node-modules-extension-resolver.d.ts.map +1 -1
  20. package/dist/build/types.d.ts +5 -0
  21. package/dist/build/types.d.ts.map +1 -1
  22. package/dist/build/utils.d.ts +6 -0
  23. package/dist/build/utils.d.ts.map +1 -1
  24. package/dist/build/watcher.d.ts.map +1 -1
  25. package/dist/bundler/index.cjs +6 -2
  26. package/dist/bundler/index.d.ts +7 -7
  27. package/dist/bundler/index.d.ts.map +1 -1
  28. package/dist/bundler/index.js +1 -1
  29. package/dist/chunk-2VG357HT.cjs +4 -0
  30. package/dist/{chunk-BTNPI4Z7.cjs.map → chunk-2VG357HT.cjs.map} +1 -1
  31. package/dist/chunk-4P2LYC33.js +14 -0
  32. package/dist/{chunk-N5TMJUIR.js.map → chunk-4P2LYC33.js.map} +1 -1
  33. package/dist/chunk-54PQDTM3.cjs +16 -0
  34. package/dist/{chunk-ID3HN3BH.cjs.map → chunk-54PQDTM3.cjs.map} +1 -1
  35. package/dist/{chunk-MMUE22EL.js → chunk-5HTKP372.js} +9 -9
  36. package/dist/{chunk-MMUE22EL.js.map → chunk-5HTKP372.js.map} +1 -1
  37. package/dist/{chunk-HFP6WWM5.js → chunk-BFA354MH.js} +6 -76
  38. package/dist/chunk-BFA354MH.js.map +1 -0
  39. package/dist/chunk-C6UFSG3V.js +249 -0
  40. package/dist/chunk-C6UFSG3V.js.map +1 -0
  41. package/dist/{chunk-TXKETRIN.cjs → chunk-DMISJICL.cjs} +9 -9
  42. package/dist/{chunk-TXKETRIN.cjs.map → chunk-DMISJICL.cjs.map} +1 -1
  43. package/dist/chunk-G6GFAPPU.js +6 -0
  44. package/dist/{chunk-Q2YGWEXY.js.map → chunk-G6GFAPPU.js.map} +1 -1
  45. package/dist/{chunk-NM6R77PX.js → chunk-HHA2Y3AS.js} +7 -3
  46. package/dist/chunk-HHA2Y3AS.js.map +1 -0
  47. package/dist/{chunk-3KATYU33.js → chunk-HNSVE6YO.js} +85 -36
  48. package/dist/chunk-HNSVE6YO.js.map +1 -0
  49. package/dist/chunk-HPGDVJAZ.js +3 -0
  50. package/dist/{chunk-FBT6QP7J.js.map → chunk-HPGDVJAZ.js.map} +1 -1
  51. package/dist/{chunk-PK3AX3KO.cjs → chunk-IVKDKRCR.cjs} +42 -31
  52. package/dist/chunk-IVKDKRCR.cjs.map +1 -0
  53. package/dist/{chunk-GD2TGMBP.cjs → chunk-JBE6KM7R.cjs} +3 -3
  54. package/dist/{chunk-GD2TGMBP.cjs.map → chunk-JBE6KM7R.cjs.map} +1 -1
  55. package/dist/{chunk-7PLNIFGZ.cjs → chunk-KE4NVPI4.cjs} +3 -3
  56. package/dist/{chunk-7PLNIFGZ.cjs.map → chunk-KE4NVPI4.cjs.map} +1 -1
  57. package/dist/chunk-PB5O2NTZ.cjs +261 -0
  58. package/dist/chunk-PB5O2NTZ.cjs.map +1 -0
  59. package/dist/{chunk-EHZKDGGA.cjs → chunk-UJXH5MNH.cjs} +102 -53
  60. package/dist/chunk-UJXH5MNH.cjs.map +1 -0
  61. package/dist/{chunk-P4L6VIHY.js → chunk-V4HCIN6G.js} +3 -3
  62. package/dist/{chunk-P4L6VIHY.js.map → chunk-V4HCIN6G.js.map} +1 -1
  63. package/dist/chunk-V5W7WIXT.cjs +123 -0
  64. package/dist/chunk-V5W7WIXT.cjs.map +1 -0
  65. package/dist/{chunk-F2LCS2DV.cjs → chunk-VA2CSOKJ.cjs} +7 -2
  66. package/dist/chunk-VA2CSOKJ.cjs.map +1 -0
  67. package/dist/{chunk-5OGQ7IFB.js → chunk-ZXT4NSIV.js} +35 -25
  68. package/dist/chunk-ZXT4NSIV.js.map +1 -0
  69. package/dist/default-u_dwuiYb-IKALPRLV.js +3 -0
  70. package/dist/{default-u_dwuiYb-65M4BHAA.js.map → default-u_dwuiYb-IKALPRLV.js.map} +1 -1
  71. package/dist/default-u_dwuiYb-ZNEZWEPC.cjs +9 -0
  72. package/dist/{default-u_dwuiYb-PWN6FHC6.cjs.map → default-u_dwuiYb-ZNEZWEPC.cjs.map} +1 -1
  73. package/dist/effect-QlVUlMFu-2KN4AWBH.cjs +17 -0
  74. package/dist/{effect-QlVUlMFu-2ADPKIDF.cjs.map → effect-QlVUlMFu-2KN4AWBH.cjs.map} +1 -1
  75. package/dist/{effect-QlVUlMFu-FD73M3OO.js → effect-QlVUlMFu-MWXQUT6S.js} +4 -4
  76. package/dist/{effect-QlVUlMFu-FD73M3OO.js.map → effect-QlVUlMFu-MWXQUT6S.js.map} +1 -1
  77. package/dist/index.cjs +5 -5
  78. package/dist/index.js +2 -2
  79. package/dist/server/index.cjs +5 -5
  80. package/dist/server/index.cjs.map +1 -1
  81. package/dist/server/index.js +3 -3
  82. package/dist/server/index.js.map +1 -1
  83. package/dist/sury-CWZTCd75-6QYFZXZY.cjs +17 -0
  84. package/dist/{sury-CWZTCd75-K3FHMZF5.cjs.map → sury-CWZTCd75-6QYFZXZY.cjs.map} +1 -1
  85. package/dist/{sury-CWZTCd75-Y2GURJ6K.js → sury-CWZTCd75-DAPFEZIA.js} +4 -4
  86. package/dist/{sury-CWZTCd75-Y2GURJ6K.js.map → sury-CWZTCd75-DAPFEZIA.js.map} +1 -1
  87. package/dist/typebox-Dei93FPO-LBLFC3RD.js +8 -0
  88. package/dist/{typebox-Dei93FPO-2WP4NOYD.js.map → typebox-Dei93FPO-LBLFC3RD.js.map} +1 -1
  89. package/dist/{typebox-Dei93FPO-WTXAW2LA.cjs → typebox-Dei93FPO-RDSW6DFA.cjs} +3 -3
  90. package/dist/{typebox-Dei93FPO-WTXAW2LA.cjs.map → typebox-Dei93FPO-RDSW6DFA.cjs.map} +1 -1
  91. package/dist/{valibot--1zFm7rT-VGFBTDTW.js → valibot--1zFm7rT-AASENK42.js} +4 -4
  92. package/dist/{valibot--1zFm7rT-VGFBTDTW.js.map → valibot--1zFm7rT-AASENK42.js.map} +1 -1
  93. package/dist/valibot--1zFm7rT-OOWNQW47.cjs +17 -0
  94. package/dist/{valibot--1zFm7rT-HMTCRBB3.cjs.map → valibot--1zFm7rT-OOWNQW47.cjs.map} +1 -1
  95. package/dist/{valibot-D_HTw1Gn-ILCWWLE4.cjs → valibot-D_HTw1Gn-PBXMZJWR.cjs} +7 -7
  96. package/dist/{valibot-D_HTw1Gn-ILCWWLE4.cjs.map → valibot-D_HTw1Gn-PBXMZJWR.cjs.map} +1 -1
  97. package/dist/{valibot-D_HTw1Gn-LLCGNU3W.js → valibot-D_HTw1Gn-PCY2UTIB.js} +5 -5
  98. package/dist/{valibot-D_HTw1Gn-LLCGNU3W.js.map → valibot-D_HTw1Gn-PCY2UTIB.js.map} +1 -1
  99. package/dist/validator/custom-resolver.cjs +2 -2
  100. package/dist/validator/custom-resolver.js +1 -1
  101. package/dist/{zod-Bwrt9trS-XCRGYQVE.js → zod-Bwrt9trS-MTR3E2QO.js} +4 -4
  102. package/dist/{zod-Bwrt9trS-XCRGYQVE.js.map → zod-Bwrt9trS-MTR3E2QO.js.map} +1 -1
  103. package/dist/{zod-Bwrt9trS-XDMWF3NW.cjs → zod-Bwrt9trS-OXQA54TZ.cjs} +6 -6
  104. package/dist/{zod-Bwrt9trS-XDMWF3NW.cjs.map → zod-Bwrt9trS-OXQA54TZ.cjs.map} +1 -1
  105. package/dist/{zod-DSgpEGAE-ZWQMF6SS.cjs → zod-DSgpEGAE-7BIIMWZW.cjs} +7 -7
  106. package/dist/{zod-DSgpEGAE-ZWQMF6SS.cjs.map → zod-DSgpEGAE-7BIIMWZW.cjs.map} +1 -1
  107. package/dist/{zod-DSgpEGAE-TKBHSSLS.js → zod-DSgpEGAE-UO7OP3J6.js} +5 -5
  108. package/dist/{zod-DSgpEGAE-TKBHSSLS.js.map → zod-DSgpEGAE-UO7OP3J6.js.map} +1 -1
  109. package/package.json +5 -6
  110. package/dist/arktype-aI7TBD0R-OEPFT4G6.js +0 -8
  111. package/dist/chunk-3KATYU33.js.map +0 -1
  112. package/dist/chunk-5OGQ7IFB.js.map +0 -1
  113. package/dist/chunk-BTNPI4Z7.cjs +0 -4
  114. package/dist/chunk-EHZKDGGA.cjs.map +0 -1
  115. package/dist/chunk-F2LCS2DV.cjs.map +0 -1
  116. package/dist/chunk-FBT6QP7J.js +0 -3
  117. package/dist/chunk-HFP6WWM5.js.map +0 -1
  118. package/dist/chunk-ID3HN3BH.cjs +0 -16
  119. package/dist/chunk-N5TMJUIR.js +0 -14
  120. package/dist/chunk-NM6R77PX.js.map +0 -1
  121. package/dist/chunk-PK3AX3KO.cjs.map +0 -1
  122. package/dist/chunk-Q2YGWEXY.js +0 -6
  123. package/dist/chunk-UG72ONP7.js +0 -147
  124. package/dist/chunk-UG72ONP7.js.map +0 -1
  125. package/dist/chunk-Z33LQHGJ.cjs +0 -196
  126. package/dist/chunk-Z33LQHGJ.cjs.map +0 -1
  127. package/dist/chunk-ZPUTJSEC.cjs +0 -157
  128. package/dist/chunk-ZPUTJSEC.cjs.map +0 -1
  129. package/dist/default-u_dwuiYb-65M4BHAA.js +0 -3
  130. package/dist/default-u_dwuiYb-PWN6FHC6.cjs +0 -9
  131. package/dist/effect-QlVUlMFu-2ADPKIDF.cjs +0 -17
  132. package/dist/server/handlers/prompt.d.ts +0 -3
  133. package/dist/server/handlers/prompt.d.ts.map +0 -1
  134. package/dist/sury-CWZTCd75-K3FHMZF5.cjs +0 -17
  135. package/dist/typebox-Dei93FPO-2WP4NOYD.js +0 -8
  136. package/dist/valibot--1zFm7rT-HMTCRBB3.cjs +0 -17
@@ -1,7 +1,7 @@
1
- import { createBundler, getInputOptions } from './chunk-UG72ONP7.js';
2
- import { analyzeBundle, getWorkspaceInformation, getBundlerOptions, getPackageRootPath } from './chunk-3KATYU33.js';
1
+ import { createBundler, getInputOptions } from './chunk-C6UFSG3V.js';
2
+ import { getBundlerOptions, analyzeBundle, getWorkspaceInformation, getPackageRootPath } from './chunk-HNSVE6YO.js';
3
3
  import { DepsService, FileService } from './chunk-DPDWM7HQ.js';
4
- import { slash } from './chunk-NM6R77PX.js';
4
+ import { slash } from './chunk-HHA2Y3AS.js';
5
5
  import { existsSync } from 'fs';
6
6
  import { writeFile, stat } from 'fs/promises';
7
7
  import { join, dirname, posix } from 'path';
@@ -12,6 +12,7 @@ import * as pkg from 'empathic/package';
12
12
  import fsExtra, { emptyDir, ensureDir, copy, readJSON } from 'fs-extra/esm';
13
13
  import { glob } from 'tinyglobby';
14
14
 
15
+ var IS_DEFAULT = Symbol("IS_DEFAULT");
15
16
  var Bundler = class extends MastraBundler {
16
17
  analyzeOutputDir = ".build";
17
18
  outputDir = "output";
@@ -65,17 +66,29 @@ var Bundler = class extends MastraBundler {
65
66
  createBundler(inputOptions, outputOptions) {
66
67
  return createBundler(inputOptions, outputOptions);
67
68
  }
68
- async analyze(entry, mastraFile, outputDirectory, { enableEsmShim = true } = {}) {
69
+ async getUserBundlerOptions(mastraEntryFile, outputDirectory) {
70
+ const defaultBundlerOptions = {
71
+ externals: [],
72
+ sourcemap: false,
73
+ transpilePackages: [],
74
+ [IS_DEFAULT]: true
75
+ };
76
+ try {
77
+ const bundlerOptions = await getBundlerOptions(mastraEntryFile, outputDirectory);
78
+ return bundlerOptions ?? defaultBundlerOptions;
79
+ } catch (error) {
80
+ this.logger.debug("Failed to get bundler options, sourcemap will be disabled", { error });
81
+ }
82
+ return defaultBundlerOptions;
83
+ }
84
+ async analyze(entry, mastraFile, outputDirectory) {
69
85
  return await analyzeBundle(
70
86
  [].concat(entry),
71
87
  mastraFile,
72
88
  {
73
89
  outputDir: join(outputDirectory, this.analyzeOutputDir),
74
90
  projectRoot: outputDirectory,
75
- platform: "node",
76
- bundlerOptions: {
77
- enableEsmShim
78
- }
91
+ platform: "node"
79
92
  },
80
93
  this.logger
81
94
  );
@@ -107,7 +120,7 @@ var Bundler = class extends MastraBundler {
107
120
  return;
108
121
  }
109
122
  }
110
- async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths, { enableSourcemap = false, enableEsmShim = true } = {}) {
123
+ async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths, { enableSourcemap, enableEsmShim, externals }) {
111
124
  const { workspaceRoot } = await getWorkspaceInformation({ mastraEntryFile });
112
125
  const closestPkgJson = pkg.up({ cwd: dirname(mastraEntryFile) });
113
126
  const projectRoot = closestPkgJson ? dirname(closestPkgJson) : process.cwd();
@@ -118,7 +131,7 @@ var Bundler = class extends MastraBundler {
118
131
  {
119
132
  "process.env.NODE_ENV": JSON.stringify("production")
120
133
  },
121
- { sourcemap: enableSourcemap, workspaceRoot, projectRoot, enableEsmShim }
134
+ { sourcemap: enableSourcemap, workspaceRoot, projectRoot, enableEsmShim, externalsPreset: externals === true }
122
135
  );
123
136
  const isVirtual = serverFile.includes("\n") || existsSync(serverFile);
124
137
  const toolsInputOptions = await this.listToolsInputOptions(toolsPaths);
@@ -183,13 +196,12 @@ var Bundler = class extends MastraBundler {
183
196
  enableEsmShim = true
184
197
  }, toolsPaths = [], bundleLocation = join(outputDirectory, this.outputDir)) {
185
198
  const analyzeDir = join(outputDirectory, this.analyzeOutputDir);
186
- let sourcemap = false;
187
- try {
188
- const bundlerOptions = await getBundlerOptions(mastraEntryFile, analyzeDir);
189
- sourcemap = !!bundlerOptions?.sourcemap;
190
- } catch (error) {
191
- this.logger.debug("Failed to get bundler options, sourcemap will be disabled", { error });
192
- }
199
+ const bundlerOptions = await this.getUserBundlerOptions(mastraEntryFile, outputDirectory);
200
+ const internalBundlerOptions = {
201
+ enableSourcemap: !!bundlerOptions.sourcemap,
202
+ externals: bundlerOptions.externals ?? [],
203
+ enableEsmShim
204
+ };
193
205
  let analyzedBundleInfo;
194
206
  try {
195
207
  const resolvedToolsPaths = await this.listToolsInputOptions(toolsPaths);
@@ -200,9 +212,7 @@ var Bundler = class extends MastraBundler {
200
212
  outputDir: analyzeDir,
201
213
  projectRoot,
202
214
  platform: "node",
203
- bundlerOptions: {
204
- enableEsmShim
205
- }
215
+ bundlerOptions: internalBundlerOptions
206
216
  },
207
217
  this.logger
208
218
  );
@@ -242,7 +252,7 @@ var Bundler = class extends MastraBundler {
242
252
  mastraEntryFile,
243
253
  analyzedBundleInfo,
244
254
  toolsPaths,
245
- { enableSourcemap: sourcemap, enableEsmShim }
255
+ internalBundlerOptions
246
256
  );
247
257
  const bundler = await this.createBundler(
248
258
  {
@@ -263,7 +273,7 @@ var Bundler = class extends MastraBundler {
263
273
  manualChunks: {
264
274
  mastra: ["#mastra"]
265
275
  },
266
- sourcemap
276
+ sourcemap: internalBundlerOptions.enableSourcemap
267
277
  }
268
278
  );
269
279
  await bundler.write();
@@ -312,6 +322,6 @@ export const tools = [${toolsExports.join(", ")}]`
312
322
  }
313
323
  };
314
324
 
315
- export { Bundler };
316
- //# sourceMappingURL=chunk-5OGQ7IFB.js.map
317
- //# sourceMappingURL=chunk-5OGQ7IFB.js.map
325
+ export { Bundler, IS_DEFAULT };
326
+ //# sourceMappingURL=chunk-ZXT4NSIV.js.map
327
+ //# sourceMappingURL=chunk-ZXT4NSIV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bundler/index.ts"],"names":["pkg"],"mappings":"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","file":"chunk-ZXT4NSIV.js","sourcesContent":["import { existsSync } from 'node:fs';\nimport { stat, writeFile } from 'node:fs/promises';\nimport { dirname, join, posix } from 'node:path';\nimport { MastraBundler } from '@mastra/core/bundler';\nimport { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';\nimport type { Config } from '@mastra/core/mastra';\nimport virtual from '@rollup/plugin-virtual';\nimport * as pkg from 'empathic/package';\nimport fsExtra, { copy, ensureDir, readJSON, emptyDir } from 'fs-extra/esm';\nimport type { InputOptions, OutputOptions } from 'rollup';\nimport { glob } from 'tinyglobby';\nimport { analyzeBundle } from '../build/analyze';\nimport { createBundler as createBundlerUtil, getInputOptions } from '../build/bundler';\nimport { getBundlerOptions } from '../build/bundlerOptions';\nimport { getPackageRootPath } from '../build/package-info';\nimport type { BundlerOptions } from '../build/types';\nimport { slash } from '../build/utils';\nimport { DepsService } from '../services/deps';\nimport { FileService } from '../services/fs';\nimport { getWorkspaceInformation } from './workspaceDependencies';\n\nexport type { BundlerOptions } from '../build/types';\n\nexport const IS_DEFAULT = Symbol('IS_DEFAULT');\n\nexport abstract class Bundler extends MastraBundler {\n protected analyzeOutputDir = '.build';\n protected outputDir = 'output';\n\n constructor(name: string, component: 'BUNDLER' | 'DEPLOYER' = 'BUNDLER') {\n super({ name, component });\n }\n\n async prepare(outputDirectory: string): Promise<void> {\n // Clean up the output directory first\n await emptyDir(outputDirectory);\n\n await ensureDir(join(outputDirectory, this.analyzeOutputDir));\n await ensureDir(join(outputDirectory, this.outputDir));\n }\n\n async writePackageJson(\n outputDirectory: string,\n dependencies: Map<string, string>,\n resolutions?: Record<string, string>,\n ) {\n this.logger.debug(`Writing project's package.json`);\n\n await ensureDir(outputDirectory);\n const pkgPath = join(outputDirectory, 'package.json');\n\n const dependenciesMap = new Map();\n for (const [key, value] of dependencies.entries()) {\n if (key.startsWith('@')) {\n // Handle scoped packages (e.g. @org/package)\n const pkgChunks = key.split('/');\n dependenciesMap.set(`${pkgChunks[0]}/${pkgChunks[1]}`, value);\n } else {\n // For non-scoped packages, take only the first part before any slash\n const pkgName = key.split('/')[0] || key;\n dependenciesMap.set(pkgName, value);\n }\n }\n\n await writeFile(\n pkgPath,\n JSON.stringify(\n {\n name: 'server',\n version: '1.0.0',\n description: '',\n type: 'module',\n main: 'index.mjs',\n scripts: {\n start: 'node ./index.mjs',\n },\n author: 'Mastra',\n license: 'ISC',\n dependencies: Object.fromEntries(dependenciesMap.entries()),\n ...(Object.keys(resolutions ?? {}).length > 0 && { resolutions }),\n pnpm: {\n neverBuiltDependencies: [],\n },\n },\n null,\n 2,\n ),\n );\n }\n\n protected createBundler(inputOptions: InputOptions, outputOptions: Partial<OutputOptions> & { dir: string }) {\n return createBundlerUtil(inputOptions, outputOptions);\n }\n\n protected async getUserBundlerOptions(\n mastraEntryFile: string,\n outputDirectory: string,\n ): Promise<NonNullable<Config['bundler']>> {\n const defaultBundlerOptions: Config['bundler'] = {\n externals: [],\n sourcemap: false,\n transpilePackages: [],\n [IS_DEFAULT]: true,\n } as const;\n\n try {\n const bundlerOptions = await getBundlerOptions(mastraEntryFile, outputDirectory);\n\n return bundlerOptions ?? defaultBundlerOptions;\n } catch (error) {\n this.logger.debug('Failed to get bundler options, sourcemap will be disabled', { error });\n }\n\n return defaultBundlerOptions;\n }\n\n protected async analyze(entry: string | string[], mastraFile: string, outputDirectory: string) {\n return await analyzeBundle(\n ([] as string[]).concat(entry),\n mastraFile,\n {\n outputDir: join(outputDirectory, this.analyzeOutputDir),\n projectRoot: outputDirectory,\n platform: 'node',\n },\n this.logger,\n );\n }\n\n protected async installDependencies(outputDirectory: string, rootDir = process.cwd()) {\n const deps = new DepsService(rootDir);\n deps.__setLogger(this.logger);\n\n await deps.install({ dir: join(outputDirectory, this.outputDir) });\n }\n\n protected async copyPublic(mastraDir: string, outputDirectory: string) {\n const publicDir = join(mastraDir, 'public');\n\n try {\n await stat(publicDir);\n } catch {\n return;\n }\n\n await copy(publicDir, join(outputDirectory, this.outputDir));\n }\n\n protected async copyDOTNPMRC({\n rootDir = process.cwd(),\n outputDirectory,\n }: {\n rootDir?: string;\n outputDirectory: string;\n }) {\n const sourceDotNpmRcPath = join(rootDir, '.npmrc');\n const targetDotNpmRcPath = join(outputDirectory, this.outputDir, '.npmrc');\n\n try {\n await stat(sourceDotNpmRcPath);\n await copy(sourceDotNpmRcPath, targetDotNpmRcPath);\n } catch {\n return;\n }\n }\n\n protected async getBundlerOptions(\n serverFile: string,\n mastraEntryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n toolsPaths: (string | string[])[],\n { enableSourcemap, enableEsmShim, externals }: BundlerOptions,\n ) {\n const { workspaceRoot } = await getWorkspaceInformation({ mastraEntryFile });\n const closestPkgJson = pkg.up({ cwd: dirname(mastraEntryFile) });\n const projectRoot = closestPkgJson ? dirname(closestPkgJson) : process.cwd();\n\n const inputOptions: InputOptions = await getInputOptions(\n mastraEntryFile,\n analyzedBundleInfo,\n 'node',\n {\n 'process.env.NODE_ENV': JSON.stringify('production'),\n },\n { sourcemap: enableSourcemap, workspaceRoot, projectRoot, enableEsmShim, externalsPreset: externals === true },\n );\n const isVirtual = serverFile.includes('\\n') || existsSync(serverFile);\n\n const toolsInputOptions = await this.listToolsInputOptions(toolsPaths);\n\n if (isVirtual) {\n inputOptions.input = { index: '#entry', ...toolsInputOptions };\n\n if (Array.isArray(inputOptions.plugins)) {\n inputOptions.plugins.unshift(virtual({ '#entry': serverFile }));\n } else {\n inputOptions.plugins = [virtual({ '#entry': serverFile })];\n }\n } else {\n inputOptions.input = { index: serverFile, ...toolsInputOptions };\n }\n\n return inputOptions;\n }\n\n getAllToolPaths(mastraDir: string, toolsPaths: (string | string[])[] = []): (string | string[])[] {\n // Normalize Windows paths to forward slashes for consistent handling\n const normalizedMastraDir = slash(mastraDir);\n\n // Prepare default tools paths with glob patterns\n const defaultToolsPath = posix.join(normalizedMastraDir, 'tools/**/*.{js,ts}');\n const defaultToolsIgnorePaths = [\n `!${posix.join(normalizedMastraDir, 'tools/**/*.{test,spec}.{js,ts}')}`,\n `!${posix.join(normalizedMastraDir, 'tools/**/__tests__/**')}`,\n ];\n\n // Combine default path with ignore patterns\n const defaultPaths = [defaultToolsPath, ...defaultToolsIgnorePaths];\n\n // If no tools paths provided, use only the default paths\n if (toolsPaths.length === 0) {\n return [defaultPaths];\n }\n\n // If tools paths are provided, add the default paths to ensure standard tools are always included\n return [...toolsPaths, defaultPaths];\n }\n\n async listToolsInputOptions(toolsPaths: (string | string[])[]) {\n const inputs: Record<string, string> = {};\n\n for (const toolPath of toolsPaths) {\n const expandedPaths = await glob(toolPath, {\n absolute: true,\n expandDirectories: false,\n });\n\n for (const path of expandedPaths) {\n if (await fsExtra.pathExists(path)) {\n const fileService = new FileService();\n const entryFile = fileService.getFirstExistingFile([\n join(path, 'index.ts'),\n join(path, 'index.js'),\n path, // if path itself is a file\n ]);\n\n // if it doesn't exist or is a dir skip it. using a dir as a tool will crash the process\n if (!entryFile || (await stat(entryFile)).isDirectory()) {\n this.logger.warn(`No entry file found in ${path}, skipping...`);\n continue;\n }\n\n const uniqueToolID = crypto.randomUUID();\n // Normalize Windows paths to forward slashes for consistent handling\n const normalizedEntryFile = entryFile.replaceAll('\\\\', '/');\n inputs[`tools/${uniqueToolID}`] = normalizedEntryFile;\n } else {\n this.logger.warn(`Tool path ${path} does not exist, skipping...`);\n }\n }\n }\n\n return inputs;\n }\n\n protected async _bundle(\n serverFile: string,\n mastraEntryFile: string,\n {\n projectRoot,\n outputDirectory,\n enableEsmShim = true,\n }: {\n projectRoot: string;\n outputDirectory: string;\n enableEsmShim?: boolean;\n },\n toolsPaths: (string | string[])[] = [],\n bundleLocation: string = join(outputDirectory, this.outputDir),\n ): Promise<void> {\n const analyzeDir = join(outputDirectory, this.analyzeOutputDir);\n\n const bundlerOptions = await this.getUserBundlerOptions(mastraEntryFile, outputDirectory);\n const internalBundlerOptions: BundlerOptions = {\n enableSourcemap: !!bundlerOptions.sourcemap,\n externals: bundlerOptions.externals ?? [],\n enableEsmShim,\n };\n\n let analyzedBundleInfo;\n try {\n const resolvedToolsPaths = await this.listToolsInputOptions(toolsPaths);\n analyzedBundleInfo = await analyzeBundle(\n [serverFile, ...Object.values(resolvedToolsPaths)],\n mastraEntryFile,\n {\n outputDir: analyzeDir,\n projectRoot,\n platform: 'node',\n bundlerOptions: internalBundlerOptions,\n },\n this.logger,\n );\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n\n if (error instanceof MastraError) {\n throw error;\n }\n\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_ANALYZE_FAILED',\n text: `Failed to analyze Mastra application: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n const dependenciesToInstall = new Map<string, string>();\n for (const dep of analyzedBundleInfo.externalDependencies) {\n try {\n if (analyzedBundleInfo.workspaceMap.has(dep)) {\n continue;\n }\n\n const rootPath = await getPackageRootPath(dep);\n const pkg = await readJSON(`${rootPath}/package.json`);\n\n dependenciesToInstall.set(dep, pkg.version || 'latest');\n } catch {\n dependenciesToInstall.set(dep, 'latest');\n }\n }\n\n try {\n await this.writePackageJson(join(outputDirectory, this.outputDir), dependenciesToInstall);\n\n this.logger.info('Bundling Mastra application');\n\n const inputOptions: InputOptions = await this.getBundlerOptions(\n serverFile,\n mastraEntryFile,\n analyzedBundleInfo,\n toolsPaths,\n internalBundlerOptions,\n );\n\n const bundler = await this.createBundler(\n {\n ...inputOptions,\n logLevel: inputOptions.logLevel === 'silent' ? 'warn' : inputOptions.logLevel,\n onwarn: warning => {\n if (warning.code === 'CIRCULAR_DEPENDENCY') {\n if (warning.ids?.[0]?.includes('node_modules')) {\n return;\n }\n\n this.logger.warn(`Circular dependency found:\n\\t${warning.message.replace('Circular dependency: ', '')}`);\n }\n },\n },\n {\n dir: bundleLocation,\n manualChunks: {\n mastra: ['#mastra'],\n },\n sourcemap: internalBundlerOptions.enableSourcemap,\n },\n );\n\n await bundler.write();\n const toolImports: string[] = [];\n const toolsExports: string[] = [];\n Array.from(Object.keys(inputOptions.input || {}))\n .filter(key => key.startsWith('tools/'))\n .forEach((key, index) => {\n const toolExport = `tool${index}`;\n toolImports.push(`import * as ${toolExport} from './${key}.mjs';`);\n toolsExports.push(toolExport);\n });\n\n await writeFile(\n join(bundleLocation, 'tools.mjs'),\n `${toolImports.join('\\n')}\n\nexport const tools = [${toolsExports.join(', ')}]`,\n );\n this.logger.info('Bundling Mastra done');\n\n this.logger.info('Copying public files');\n await this.copyPublic(dirname(mastraEntryFile), outputDirectory);\n this.logger.info('Done copying public files');\n\n this.logger.info('Copying .npmrc file');\n await this.copyDOTNPMRC({ outputDirectory, rootDir: projectRoot });\n\n this.logger.info('Done copying .npmrc file');\n\n this.logger.info('Installing dependencies');\n await this.installDependencies(outputDirectory, projectRoot);\n\n this.logger.info('Done installing dependencies');\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_BUNDLE_STAGE_FAILED',\n text: `Failed during bundler bundle stage: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n }\n\n async lint(_entryFile: string, _outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void> {\n const toolsInputOptions = await this.listToolsInputOptions(toolsPaths);\n const toolsLength = Object.keys(toolsInputOptions).length;\n if (toolsLength > 0) {\n this.logger.info(`Found ${toolsLength} ${toolsLength === 1 ? 'tool' : 'tools'}`);\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { getToOpenAPISchemaFn as default } from './chunk-4P2LYC33.js';
2
+ //# sourceMappingURL=default-u_dwuiYb-IKALPRLV.js.map
3
+ //# sourceMappingURL=default-u_dwuiYb-IKALPRLV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"default-u_dwuiYb-65M4BHAA.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"default-u_dwuiYb-IKALPRLV.js"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var chunk54PQDTM3_cjs = require('./chunk-54PQDTM3.cjs');
4
+
5
+
6
+
7
+ module.exports = chunk54PQDTM3_cjs.getToOpenAPISchemaFn;
8
+ //# sourceMappingURL=default-u_dwuiYb-ZNEZWEPC.cjs.map
9
+ //# sourceMappingURL=default-u_dwuiYb-ZNEZWEPC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"default-u_dwuiYb-PWN6FHC6.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"default-u_dwuiYb-ZNEZWEPC.cjs"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var chunkDMISJICL_cjs = require('./chunk-DMISJICL.cjs');
4
+
5
+ // ../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.1.0_@types+json-schema@_d6df1f0b22bbb764c4c0abc17f6c5d32/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js
6
+ async function getToJsonSchemaFn() {
7
+ try {
8
+ const { JSONSchema } = await import('effect');
9
+ return (schema) => JSONSchema.make(schema);
10
+ } catch {
11
+ throw new chunkDMISJICL_cjs.MissingDependencyError("effect");
12
+ }
13
+ }
14
+
15
+ module.exports = getToJsonSchemaFn;
16
+ //# sourceMappingURL=effect-QlVUlMFu-2KN4AWBH.cjs.map
17
+ //# sourceMappingURL=effect-QlVUlMFu-2KN4AWBH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.0.0_@types+json-schema@_cc75f961c3fd8a0d9697490b1d116cd2/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js"],"names":["MissingDependencyError"],"mappings":";;;;;AAGA,eAAe,iBAAA,GAAoB;AACjC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAM,OAAO,QAAQ,CAAA;AAC5C,IAAA,OAAO,CAAC,MAAA,KAAW,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAIA,yCAAuB,QAAQ,CAAA;AAAA,EAC3C;AACF","file":"effect-QlVUlMFu-2ADPKIDF.cjs","sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { JSONSchema } = await import('effect');\n return (schema) => JSONSchema.make(schema);\n } catch {\n throw new MissingDependencyError(\"effect\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.1.0_@types+json-schema@_d6df1f0b22bbb764c4c0abc17f6c5d32/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js"],"names":["MissingDependencyError"],"mappings":";;;;;AAGA,eAAe,iBAAA,GAAoB;AACjC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAM,OAAO,QAAQ,CAAA;AAC5C,IAAA,OAAO,CAAC,MAAA,KAAW,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAIA,yCAAuB,QAAQ,CAAA;AAAA,EAC3C;AACF","file":"effect-QlVUlMFu-2KN4AWBH.cjs","sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { JSONSchema } = await import('effect');\n return (schema) => JSONSchema.make(schema);\n } catch {\n throw new MissingDependencyError(\"effect\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"]}
@@ -1,6 +1,6 @@
1
- import { MissingDependencyError } from './chunk-MMUE22EL.js';
1
+ import { MissingDependencyError } from './chunk-5HTKP372.js';
2
2
 
3
- // ../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.0.0_@types+json-schema@_cc75f961c3fd8a0d9697490b1d116cd2/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js
3
+ // ../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.1.0_@types+json-schema@_d6df1f0b22bbb764c4c0abc17f6c5d32/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js
4
4
  async function getToJsonSchemaFn() {
5
5
  try {
6
6
  const { JSONSchema } = await import('effect');
@@ -11,5 +11,5 @@ async function getToJsonSchemaFn() {
11
11
  }
12
12
 
13
13
  export { getToJsonSchemaFn as default };
14
- //# sourceMappingURL=effect-QlVUlMFu-FD73M3OO.js.map
15
- //# sourceMappingURL=effect-QlVUlMFu-FD73M3OO.js.map
14
+ //# sourceMappingURL=effect-QlVUlMFu-MWXQUT6S.js.map
15
+ //# sourceMappingURL=effect-QlVUlMFu-MWXQUT6S.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.0.0_@types+json-schema@_cc75f961c3fd8a0d9697490b1d116cd2/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js"],"names":[],"mappings":";;;AAGA,eAAe,iBAAA,GAAoB;AACjC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAM,OAAO,QAAQ,CAAA;AAC5C,IAAA,OAAO,CAAC,MAAA,KAAW,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAI,uBAAuB,QAAQ,CAAA;AAAA,EAC3C;AACF","file":"effect-QlVUlMFu-FD73M3OO.js","sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { JSONSchema } = await import('effect');\n return (schema) => JSONSchema.make(schema);\n } catch {\n throw new MissingDependencyError(\"effect\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@standard-community+standard-json@0.3.5_@standard-schema+spec@1.1.0_@types+json-schema@_d6df1f0b22bbb764c4c0abc17f6c5d32/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js"],"names":[],"mappings":";;;AAGA,eAAe,iBAAA,GAAoB;AACjC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAM,OAAO,QAAQ,CAAA;AAC5C,IAAA,OAAO,CAAC,MAAA,KAAW,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAI,uBAAuB,QAAQ,CAAA;AAAA,EAC3C;AACF","file":"effect-QlVUlMFu-MWXQUT6S.js","sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { JSONSchema } = await import('effect');\n return (schema) => JSONSchema.make(schema);\n } catch {\n throw new MissingDependencyError(\"effect\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"]}
package/dist/index.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkPK3AX3KO_cjs = require('./chunk-PK3AX3KO.cjs');
4
- var chunkEHZKDGGA_cjs = require('./chunk-EHZKDGGA.cjs');
3
+ var chunkIVKDKRCR_cjs = require('./chunk-IVKDKRCR.cjs');
4
+ var chunkUJXH5MNH_cjs = require('./chunk-UJXH5MNH.cjs');
5
5
  var chunkJVBCN3RH_cjs = require('./chunk-JVBCN3RH.cjs');
6
6
 
7
7
  // src/deploy/base.ts
8
- var Deployer = class extends chunkPK3AX3KO_cjs.Bundler {
8
+ var Deployer = class extends chunkIVKDKRCR_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 chunkPK3AX3KO_cjs.Bundler {
25
25
 
26
26
  // src/build/babel/remove-all-options-deployer.ts
27
27
  function removeAllOptionsExceptDeployer(result, logger) {
28
- return chunkEHZKDGGA_cjs.removeAllOptionsFromMastraExcept(result, "deployer", logger);
28
+ return chunkUJXH5MNH_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 chunkEHZKDGGA_cjs.extractMastraOption(
33
+ const result = await chunkUJXH5MNH_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-5OGQ7IFB.js';
2
- import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-3KATYU33.js';
1
+ import { Bundler } from './chunk-ZXT4NSIV.js';
2
+ import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-HNSVE6YO.js';
3
3
  import { DepsService, FileService } from './chunk-DPDWM7HQ.js';
4
4
  export { Deps, FileService, createChildProcessLogger, createPinoStream } from './chunk-DPDWM7HQ.js';
5
5
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkF2LCS2DV_cjs = require('../chunk-F2LCS2DV.cjs');
3
+ var chunkVA2CSOKJ_cjs = require('../chunk-VA2CSOKJ.cjs');
4
4
  var promises = require('fs/promises');
5
5
  var https = require('https');
6
6
  var posix = require('path/posix');
@@ -3205,7 +3205,7 @@ var MastraServer = class extends serverAdapter.MastraServer {
3205
3205
  }
3206
3206
  };
3207
3207
 
3208
- // ../../node_modules/.pnpm/hono-openapi@1.1.1_@hono+standard-validator@0.2.0_@standard-schema+spec@1.0.0_hono@4.10_104989a2a6e05db2703d6e18fdeb5196/node_modules/hono-openapi/dist/index.js
3208
+ // ../../node_modules/.pnpm/hono-openapi@1.1.1_@hono+standard-validator@0.2.0_@standard-schema+spec@1.1.0_hono@4.10_3f8cc66f50ae3bf55270617c233327e4/node_modules/hono-openapi/dist/index.js
3209
3209
  var uniqueSymbol = Symbol("openapi");
3210
3210
  function describeRoute(spec) {
3211
3211
  const middleware2 = async (_c, next) => {
@@ -3543,7 +3543,7 @@ async function createHonoServer(mastra, options = {
3543
3543
  );
3544
3544
  }
3545
3545
  const serverOptions = mastra.getServer();
3546
- const studioBasePath = chunkF2LCS2DV_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3546
+ const studioBasePath = chunkVA2CSOKJ_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3547
3547
  if (options?.playground) {
3548
3548
  app.get(
3549
3549
  `${studioBasePath}/refresh-events`,
@@ -3655,9 +3655,9 @@ async function createNodeServer(mastra, options = { tools: {} }) {
3655
3655
  },
3656
3656
  () => {
3657
3657
  const logger2 = mastra.getLogger();
3658
- logger2.info(` Mastra API running on port ${protocol}://${host}:${port}/api`);
3658
+ logger2.info(` Mastra API running on ${protocol}://${host}:${port}/api`);
3659
3659
  if (options?.playground) {
3660
- const studioBasePath = chunkF2LCS2DV_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3660
+ const studioBasePath = chunkVA2CSOKJ_cjs.normalizeStudioBase(serverOptions?.studioBase ?? "/");
3661
3661
  const studioUrl = `${protocol}://${host}:${port}${studioBasePath}`;
3662
3662
  logger2.info(`\u{1F468}\u200D\u{1F4BB} Studio available at ${studioUrl}`);
3663
3663
  }