@mastra/deployer 1.79.0-alpha.10 → 1.79.0-alpha.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 (90) hide show
  1. package/dist/{analyze-RHscSUJm.cjs → analyze-Cb5JJp7Y.cjs} +14 -10
  2. package/dist/analyze-Cb5JJp7Y.cjs.map +1 -0
  3. package/dist/{analyze-CFPQzJ-2.js → analyze-CbVhoukh.js} +14 -10
  4. package/dist/{analyze-CFPQzJ-2.js.map → analyze-CbVhoukh.js.map} +1 -1
  5. package/dist/arktype-aI7TBD0R-BP9yJr5x.cjs.map +1 -1
  6. package/dist/arktype-aI7TBD0R-cgd8o1cq.js.map +1 -1
  7. package/dist/build/analyze.cjs +1 -1
  8. package/dist/build/analyze.js +1 -2
  9. package/dist/build/bundler.cjs +1 -1
  10. package/dist/build/bundler.js +1 -2
  11. package/dist/build/index.cjs +6 -6
  12. package/dist/build/index.js +5 -5
  13. package/dist/build/plugins/tsconfig-paths.d.ts +4 -3
  14. package/dist/build/plugins/tsconfig-paths.d.ts.map +1 -1
  15. package/dist/{build-dI0V50la.cjs → build-DGwrw0dD.cjs} +45 -45
  16. package/dist/build-DGwrw0dD.cjs.map +1 -0
  17. package/dist/{build-BPErn9z9.js → build-qnakIZAs.js} +5 -5
  18. package/dist/{build-BPErn9z9.js.map → build-qnakIZAs.js.map} +1 -1
  19. package/dist/bundler/index.cjs +23 -16
  20. package/dist/bundler/index.cjs.map +1 -1
  21. package/dist/bundler/index.js +21 -14
  22. package/dist/bundler/index.js.map +1 -1
  23. package/dist/{bundler-B2N9qjjr.js → bundler-BUqyRuGu.js} +63 -67
  24. package/dist/{bundler-B2N9qjjr.js.map → bundler-BUqyRuGu.js.map} +1 -1
  25. package/dist/{bundler-DdqMsDyv.cjs → bundler-Dpd5nkcu.cjs} +64 -69
  26. package/dist/bundler-Dpd5nkcu.cjs.map +1 -0
  27. package/dist/{bundlerOptions-DoMtLtV1.cjs → bundlerOptions-DHcbcD1a.cjs} +4 -4
  28. package/dist/bundlerOptions-DHcbcD1a.cjs.map +1 -0
  29. package/dist/{bundlerOptions-BHgxhzOz.js → bundlerOptions-DMxva0Sp.js} +2 -2
  30. package/dist/{bundlerOptions-BHgxhzOz.js.map → bundlerOptions-DMxva0Sp.js.map} +1 -1
  31. package/dist/{core-DPXkjlFR.js → core-75DLMtZL.js} +17 -13
  32. package/dist/{core-DPXkjlFR.js.map → core-75DLMtZL.js.map} +1 -1
  33. package/dist/{core-DLXu5DhR.cjs → core-XnTfh3E_.cjs} +17 -13
  34. package/dist/{core-DLXu5DhR.cjs.map → core-XnTfh3E_.cjs.map} +1 -1
  35. package/dist/dist-DYm9bBZO.js.map +1 -1
  36. package/dist/dist-twPJIvYf.cjs.map +1 -1
  37. package/dist/docs/SKILL.md +1 -1
  38. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  39. package/dist/{effect-QlVUlMFu-DSdymSCI.cjs → effect-QlVUlMFu-CC0Mpf1v.cjs} +2 -2
  40. package/dist/{effect-QlVUlMFu-DSdymSCI.cjs.map → effect-QlVUlMFu-CC0Mpf1v.cjs.map} +1 -1
  41. package/dist/{effect-QlVUlMFu-BcDDX4B1.js → effect-QlVUlMFu-Cvay38Oi.js} +2 -2
  42. package/dist/{effect-QlVUlMFu-BcDDX4B1.js.map → effect-QlVUlMFu-Cvay38Oi.js.map} +1 -1
  43. package/dist/{esm-Bvuc3c9Z.js → esm-ClsnEB2d.js} +67 -69
  44. package/dist/{esm-Bvuc3c9Z.js.map → esm-ClsnEB2d.js.map} +1 -1
  45. package/dist/{esm-SvpXPPt6.cjs → esm-D74qc_jV.cjs} +67 -69
  46. package/dist/{esm-SvpXPPt6.cjs.map → esm-D74qc_jV.cjs.map} +1 -1
  47. package/dist/{index-CLddUTqr-CAnnFeRJ.js → index-CLddUTqr-86A1rnBL.js} +5 -5
  48. package/dist/{index-CLddUTqr-CAnnFeRJ.js.map → index-CLddUTqr-86A1rnBL.js.map} +1 -1
  49. package/dist/{index-CLddUTqr-BpIkA9jT.cjs → index-CLddUTqr-D0GzVJyg.cjs} +5 -5
  50. package/dist/{index-CLddUTqr-BpIkA9jT.cjs.map → index-CLddUTqr-D0GzVJyg.cjs.map} +1 -1
  51. package/dist/index.cjs +3 -3
  52. package/dist/index.js +3 -3
  53. package/dist/{rolldown-runtime-emK7D4bc.cjs → rolldown-runtime-Gi87jfEt.cjs} +2 -2
  54. package/dist/server/index.cjs +95 -80
  55. package/dist/server/index.cjs.map +1 -1
  56. package/dist/server/index.js +72 -57
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/services/index.cjs +1 -1
  59. package/dist/services/index.js +1 -2
  60. package/dist/{services-Ce_5qHk2.js → services-183Omg3U.js} +28 -25
  61. package/dist/{services-Ce_5qHk2.js.map → services-183Omg3U.js.map} +1 -1
  62. package/dist/{services-tWHmAszq.cjs → services-C1jM_6ta.cjs} +31 -27
  63. package/dist/services-C1jM_6ta.cjs.map +1 -0
  64. package/dist/{sury-CWZTCd75-eYGXWpqb.cjs → sury-CWZTCd75-TIJwZAOz.cjs} +2 -2
  65. package/dist/{sury-CWZTCd75-eYGXWpqb.cjs.map → sury-CWZTCd75-TIJwZAOz.cjs.map} +1 -1
  66. package/dist/{sury-CWZTCd75-CdrsvbNi.js → sury-CWZTCd75-r5hgAI0o.js} +2 -2
  67. package/dist/{sury-CWZTCd75-CdrsvbNi.js.map → sury-CWZTCd75-r5hgAI0o.js.map} +1 -1
  68. package/dist/typebox-Dei93FPO-B14DOQQD.cjs.map +1 -1
  69. package/dist/typebox-Dei93FPO-BCfJ-0cP.js.map +1 -1
  70. package/dist/{utils-Bsr_sEcH.cjs → utils-C-gJcJAo.cjs} +4 -4
  71. package/dist/utils-C-gJcJAo.cjs.map +1 -0
  72. package/dist/{valibot--1zFm7rT-aC9oayBT.cjs → valibot--1zFm7rT-BiQdCU9y.cjs} +2 -2
  73. package/dist/{valibot--1zFm7rT-aC9oayBT.cjs.map → valibot--1zFm7rT-BiQdCU9y.cjs.map} +1 -1
  74. package/dist/{valibot--1zFm7rT-CCFD-Qor.js → valibot--1zFm7rT-CU_2XLpq.js} +2 -2
  75. package/dist/{valibot--1zFm7rT-CCFD-Qor.js.map → valibot--1zFm7rT-CU_2XLpq.js.map} +1 -1
  76. package/dist/validator/custom-resolver.cjs +1 -1
  77. package/dist/validator/custom-resolver.cjs.map +1 -1
  78. package/dist/validator/loader.cjs.map +1 -1
  79. package/dist/validator/loader.js.map +1 -1
  80. package/dist/{zod-Bwrt9trS-D1WWVzpr.js → zod-Bwrt9trS-BurSNK0g.js} +4 -4
  81. package/dist/{zod-Bwrt9trS-D1WWVzpr.js.map → zod-Bwrt9trS-BurSNK0g.js.map} +1 -1
  82. package/dist/{zod-Bwrt9trS-OBujxXwV.cjs → zod-Bwrt9trS-Kv0hKWrV.cjs} +4 -4
  83. package/dist/{zod-Bwrt9trS-OBujxXwV.cjs.map → zod-Bwrt9trS-Kv0hKWrV.cjs.map} +1 -1
  84. package/package.json +8 -9
  85. package/dist/analyze-RHscSUJm.cjs.map +0 -1
  86. package/dist/build-dI0V50la.cjs.map +0 -1
  87. package/dist/bundler-DdqMsDyv.cjs.map +0 -1
  88. package/dist/bundlerOptions-DoMtLtV1.cjs.map +0 -1
  89. package/dist/services-tWHmAszq.cjs.map +0 -1
  90. package/dist/utils-Bsr_sEcH.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services-C1jM_6ta.cjs","names":["Writable","spawn","fsPromises","MastraError","ErrorDomain","ErrorCategory","stringify","parse","MastraBase","readJSON","writeJSON","ensureFile","__filename","fileURLToPath","__dirname","dirname","__filename","fileURLToPath","__dirname","fsExtra"],"sources":["../src/deploy/log.ts","../src/services/deps.ts","../src/services/env.ts","../src/services/fs.ts"],"sourcesContent":["import { spawn } from 'node:child_process';\nimport { Writable } from 'node:stream';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport const createPinoStream = (logger: IMastraLogger) => {\n return new Writable({\n write(chunk, _encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n console.info(line);\n // Log each line through Pino\n logger.info(line);\n }\n\n callback();\n },\n });\n};\n\n/**\n * Args are joined into a shell command (`shell: true` is required for package\n * manager shims on Windows), so only allow characters that appear in package\n * specifiers and CLI flags — never shell metacharacters (CodeQL\n * js/shell-command-constructed-from-input).\n */\nconst SAFE_SHELL_ARG = /^[\\w@%+=:,./^~-]*$/;\n\nexport function createChildProcessLogger({ logger, root }: { logger: IMastraLogger; root: string }) {\n const pinoStream = createPinoStream(logger);\n return async ({ cmd, args, env }: { cmd: string; args: string[]; env: Record<string, string> }) => {\n try {\n for (const arg of args) {\n if (!SAFE_SHELL_ARG.test(arg)) {\n throw new Error(`Refusing to pass unsafe argument to shell command: ${JSON.stringify(arg)}`);\n }\n }\n const subprocess = spawn(cmd, args, {\n cwd: root,\n shell: true,\n env,\n // No stdin for the child process — it doesn't need interactive input\n stdio: ['ignore', 'pipe', 'pipe'],\n });\n\n let stdout = '';\n let stderr = '';\n subprocess.stdout?.on('data', chunk => {\n stdout += chunk.toString();\n });\n subprocess.stderr?.on('data', chunk => {\n stderr += chunk.toString();\n });\n\n // Pipe stdout and stderr through the logging stream.\n // { end: false } prevents the first stream to close from ending pinoStream\n // while the other may still be writing.\n subprocess.stdout?.pipe(pinoStream, { end: false });\n subprocess.stderr?.pipe(pinoStream, { end: false });\n\n // Wait for the process to complete\n return new Promise((resolve, reject) => {\n subprocess.on('close', code => {\n pinoStream.end();\n if (code === 0) {\n resolve({ success: true, stdout, stderr });\n } else {\n reject(Object.assign(new Error(`Process exited with code ${code}`), { stdout, stderr }));\n }\n });\n\n subprocess.on('error', error => {\n pinoStream.end();\n logger.error('Process failed', { error });\n reject(error);\n });\n });\n } catch (error) {\n console.error(error);\n logger.error('Process failed', { error });\n pinoStream.end();\n return { success: false, error };\n }\n };\n}\n","import fs from 'node:fs';\nimport fsPromises from 'node:fs/promises';\nimport path, { dirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { MastraBase } from '@mastra/core/base';\nimport type { BundlerConfig } from '@mastra/core/bundler';\nimport { ErrorCategory, ErrorDomain, MastraError } from '@mastra/core/error';\nimport { readJSON, writeJSON, ensureFile } from 'fs-extra/esm';\nimport type { PackageJson } from 'type-fest';\nimport { parse, stringify } from 'yaml';\n\nimport { createChildProcessLogger } from '../deploy/log.js';\n\ntype PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';\n\n/** Version used to pack private workspace packages whose package.json has no `version`. */\nexport const WORKSPACE_PLACEHOLDER_VERSION = '0.0.0';\n\n// Write via temp file + rename so an interrupted write never leaves a truncated manifest.\nasync function writeManifestAtomically(manifestPath: string, contents: string, inFlight?: Set<string>) {\n const tmpPath = `${manifestPath}.${process.pid}.${Date.now()}.tmp`;\n inFlight?.add(tmpPath);\n try {\n const { mode } = await fsPromises.stat(manifestPath);\n await fsPromises.writeFile(tmpPath, contents, { mode });\n await fsPromises.chmod(tmpPath, mode);\n await fsPromises.rename(tmpPath, manifestPath);\n } catch (error) {\n await fsPromises.rm(tmpPath, { force: true });\n throw error;\n } finally {\n inFlight?.delete(tmpPath);\n }\n}\n\n/**\n * Package managers refuse to pack a manifest without a version, and pnpm/bun also\n * resolve `workspace:` ranges from the dependency's manifest. So every versionless\n * package in `dirs` gets the placeholder version for the whole of `operation`, and\n * the original manifests are restored afterwards — also on SIGINT/SIGTERM.\n */\nexport async function withPlaceholderVersions<T>(dirs: string[], operation: () => Promise<T>): Promise<T> {\n const acquired: string[] = [];\n try {\n for (const dir of new Set(dirs.map(dir => path.resolve(dir)))) {\n const manifestPath = path.join(dir, 'package.json');\n let lease = placeholderLeases.get(manifestPath);\n // A lease whose last owner is restoring it can't be joined; wait and start a fresh one.\n while (lease?.releasing) {\n await lease.releasing.catch(() => {});\n lease = placeholderLeases.get(manifestPath);\n }\n if (lease) {\n lease.refs++;\n } else {\n lease = { refs: 1, injected: false, ready: Promise.resolve() };\n lease.ready = injectPlaceholderVersion(manifestPath, lease);\n placeholderLeases.set(manifestPath, lease);\n installSignalHandlers();\n }\n acquired.push(manifestPath);\n await lease.ready;\n }\n return await operation();\n } finally {\n try {\n for (const manifestPath of acquired) {\n await releasePlaceholderVersion(manifestPath);\n }\n } finally {\n if (placeholderLeases.size === 0) {\n removeSignalHandlers();\n }\n }\n }\n}\n\ninterface PlaceholderLease {\n refs: number;\n original?: string;\n injected: boolean;\n ready: Promise<void>;\n releasing?: Promise<void>;\n}\n\n// Shared across calls so one bundle can't restore a manifest another is still packing.\nconst placeholderLeases = new Map<string, PlaceholderLease>();\nconst inFlightTmpPaths = new Set<string>();\n\nasync function injectPlaceholderVersion(manifestPath: string, lease: PlaceholderLease) {\n const original = await fsPromises.readFile(manifestPath, 'utf-8').catch(() => undefined);\n if (original === undefined) return;\n let manifest: PackageJson;\n try {\n manifest = JSON.parse(original) as PackageJson;\n } catch (error) {\n throw new Error(`Failed to parse ${manifestPath}: ${(error as Error).message}`, { cause: error });\n }\n if (manifest.version) return;\n lease.original = original;\n // Mark before writing so a signal mid-write still restores this manifest.\n lease.injected = true;\n await writeManifestAtomically(\n manifestPath,\n JSON.stringify({ ...manifest, version: WORKSPACE_PLACEHOLDER_VERSION }, null, 2) + '\\n',\n inFlightTmpPaths,\n );\n}\n\nasync function releasePlaceholderVersion(manifestPath: string) {\n const lease = placeholderLeases.get(manifestPath)!;\n if (--lease.refs > 0) return;\n lease.releasing = (async () => {\n await lease.ready.catch(() => {});\n try {\n if (lease.injected) {\n await writeManifestAtomically(manifestPath, lease.original!, inFlightTmpPaths);\n lease.injected = false;\n }\n } finally {\n placeholderLeases.delete(manifestPath);\n }\n })();\n await lease.releasing;\n}\n\nfunction restorePlaceholderVersionsSync() {\n // Removing in-flight temp files keeps them out of later tarballs and makes any\n // pending rename fail instead of overwriting the restored manifest.\n for (const tmpPath of inFlightTmpPaths) {\n fs.rmSync(tmpPath, { force: true });\n }\n inFlightTmpPaths.clear();\n for (const [manifestPath, lease] of placeholderLeases) {\n if (lease.injected) {\n fs.writeFileSync(manifestPath, lease.original!);\n lease.injected = false;\n }\n }\n}\n\nfunction onPlaceholderSignal(signal: NodeJS.Signals) {\n restorePlaceholderVersionsSync();\n removeSignalHandlers();\n process.kill(process.pid, signal);\n}\n\nfunction installSignalHandlers() {\n if (process.listeners('SIGINT').includes(onPlaceholderSignal)) return;\n process.once('SIGINT', onPlaceholderSignal);\n process.once('SIGTERM', onPlaceholderSignal);\n}\n\nfunction removeSignalHandlers() {\n process.off('SIGINT', onPlaceholderSignal);\n process.off('SIGTERM', onPlaceholderSignal);\n}\n\ninterface LockFileInfo {\n path: string;\n filename: string;\n packageManager: PackageManager;\n}\n\ninterface ArchitectureOptions {\n os?: string[];\n cpu?: string[];\n libc?: string[];\n}\n\ninterface InstallOptions extends ArchitectureOptions {\n pnpmWorkspaceSettings?: BundlerConfig['pnpmWorkspaceSettings'];\n pnpmOverrides?: Record<string, string>;\n pnpmNodeLinker?: 'hoisted';\n /** Patch key -> path relative to the output directory. */\n patchedDependencies?: Record<string, string>;\n}\n\nconst PNPM_PATCHES_DIR = 'pnpm-patches';\nconst BUN_PATCHES_DIR = 'bun-patches';\n\nconst PNPM_CONFIG_KEYS_TO_COPY = new Set([\n 'allowBuilds',\n 'onlyBuiltDependencies',\n 'ignoredBuiltDependencies',\n 'neverBuiltDependencies',\n 'minimumReleaseAge',\n 'minimumReleaseAgeExclude',\n 'trustPolicy',\n 'trustPolicyExclude',\n 'trustPolicyIgnoreAfter',\n 'supportedArchitectures',\n]);\n\n// supportedArchitectures is generated from deployer architecture targets, so it can't be set explicitly.\n// neverBuiltDependencies switches pnpm 10 into deny-list mode, which runs every build script it doesn't name.\nconst PNPM_EXPLICIT_SETTING_KEYS = new Set(\n [...PNPM_CONFIG_KEYS_TO_COPY, 'blockExoticSubdeps'].filter(\n key => key !== 'supportedArchitectures' && key !== 'neverBuiltDependencies',\n ),\n);\n\nfunction serializePnpmWorkspaceSettings(settings: BundlerConfig['pnpmWorkspaceSettings']) {\n // Untyped JS configs can pass undefined; treat it as omitted so the copied source setting survives.\n const definedSettings = Object.entries(settings ?? {}).filter(([, value]) => value !== undefined);\n return definedSettings.map(([key, value]) => {\n if (!PNPM_EXPLICIT_SETTING_KEYS.has(key)) {\n throw new MastraError({\n id: 'DEPLOYER_INVALID_PNPM_WORKSPACE_SETTING',\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n text: `pnpm workspace setting ${JSON.stringify(key)} isn't supported in bundler.pnpmWorkspaceSettings. Supported settings: ${[...PNPM_EXPLICIT_SETTING_KEYS].join(', ')}.`,\n });\n }\n const block = stringify({ [key]: value }).trimEnd();\n validatePnpmBuildApprovals(key, block);\n return block;\n });\n}\n\nfunction getTopLevelYamlKey(line: string) {\n const match = /^(?!\\s)([\\w-]+):/.exec(line);\n return match?.[1];\n}\n\nconst PNPM_IGNORED_BUILDS_ERROR = 'ERR_PNPM_IGNORED_BUILDS';\n\nexport function getPnpmIgnoredBuildPackages(output: string): string[] {\n const match = new RegExp(`\\\\[?${PNPM_IGNORED_BUILDS_ERROR}\\\\]?[^\\\\n]*Ignored build scripts:\\\\s*([^\\\\n]+)`).exec(\n output,\n );\n if (!match?.[1]) return [];\n\n return match[1]\n .split(',')\n .map(specifier => specifier.trim())\n .filter(Boolean)\n .map(specifier => {\n if (specifier.startsWith('@')) {\n const versionSeparator = specifier.indexOf('@', 1);\n return versionSeparator === -1 ? specifier : specifier.slice(0, versionSeparator);\n }\n return specifier.split('@', 1)[0]!;\n });\n}\n\nfunction validatePnpmBuildApprovals(key: string, block: string): void {\n if (key !== 'allowBuilds' && key !== 'onlyBuiltDependencies') return;\n\n let value: unknown;\n try {\n value = (parse(block) as Record<string, unknown>)[key];\n } catch (error) {\n throw new MastraError(\n {\n id: 'DEPLOYER_INVALID_PNPM_BUILD_APPROVAL_CONFIG',\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n details: { key },\n text: `Invalid pnpm ${key} configuration`,\n },\n error,\n );\n }\n\n const invalidEntries =\n key === 'allowBuilds'\n ? value && typeof value === 'object' && !Array.isArray(value)\n ? Object.entries(value).filter(\n ([dependency, approval]) => dependency.trim().length === 0 || typeof approval !== 'boolean',\n )\n : [[key, value]]\n : Array.isArray(value) &&\n value.every(dependency => typeof dependency === 'string' && dependency.trim().length > 0)\n ? []\n : [[key, value]];\n\n if (invalidEntries.length === 0) return;\n const invalidEntryNames = invalidEntries.map(([entry]) => entry).join(', ');\n\n throw new MastraError({\n id: 'DEPLOYER_INVALID_PNPM_BUILD_APPROVAL_CONFIG',\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n details: { key, invalidEntries: invalidEntryNames },\n text: `Invalid pnpm ${key} entries: ${invalidEntryNames}`,\n });\n}\n\n/**\n * Reads the `patchedDependencies` map from a pnpm workspace file. Paths are returned as declared,\n * i.e. relative to the workspace root. Returns an empty map for absent or unusable declarations.\n */\nexport function parsePnpmPatchedDependencies(source: string): Record<string, string> {\n let parsed: unknown;\n try {\n parsed = parse(source);\n } catch {\n return {};\n }\n\n const patched = (parsed as { patchedDependencies?: unknown } | null)?.patchedDependencies;\n if (!patched || typeof patched !== 'object' || Array.isArray(patched)) {\n return {};\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(patched as Record<string, unknown>)) {\n if (typeof value === 'string' && value.trim() && key.trim()) {\n result[key] = value.trim();\n }\n }\n\n return result;\n}\n\nexport function copyPnpmWorkspaceSettings(source: string, options: InstallOptions = {}) {\n const hasArchitecture = Boolean(options.os?.length || options.cpu?.length || options.libc?.length);\n const lines = source.split(/\\r?\\n/);\n const customBlocks = serializePnpmWorkspaceSettings(options.pnpmWorkspaceSettings);\n const blocks: string[] = [];\n\n for (let index = 0; index < lines.length;) {\n const key = getTopLevelYamlKey(lines[index] ?? '');\n if (!key) {\n index += 1;\n continue;\n }\n\n const start = index;\n index += 1;\n while (index < lines.length && !getTopLevelYamlKey(lines[index] ?? '')) {\n index += 1;\n }\n\n if (\n !PNPM_CONFIG_KEYS_TO_COPY.has(key) ||\n options.pnpmWorkspaceSettings?.[key] !== undefined ||\n (key === 'supportedArchitectures' && hasArchitecture)\n ) {\n continue;\n }\n\n const block = lines.slice(start, index).join('\\n').trimEnd();\n if (block) {\n validatePnpmBuildApprovals(key, block);\n blocks.push(block);\n }\n }\n\n if (hasArchitecture) {\n const architectureBlock = ['supportedArchitectures:'];\n if (options.os?.length) {\n architectureBlock.push(` os: ${JSON.stringify(options.os)}`);\n }\n if (options.cpu?.length) {\n architectureBlock.push(` cpu: ${JSON.stringify(options.cpu)}`);\n }\n if (options.libc?.length) {\n architectureBlock.push(` libc: ${JSON.stringify(options.libc)}`);\n }\n blocks.push(architectureBlock.join('\\n'));\n }\n\n if (options.pnpmOverrides && Object.keys(options.pnpmOverrides).length > 0) {\n blocks.push(\n [\n 'overrides:',\n ...Object.entries(options.pnpmOverrides).map(\n ([key, value]) => ` ${JSON.stringify(key)}: ${JSON.stringify(value)}`,\n ),\n ].join('\\n'),\n );\n }\n\n if (options.patchedDependencies && Object.keys(options.patchedDependencies).length > 0) {\n blocks.push(\n [\n 'patchedDependencies:',\n ...Object.entries(options.patchedDependencies).map(\n ([key, value]) => ` ${JSON.stringify(key)}: ${JSON.stringify(value)}`,\n ),\n ].join('\\n'),\n );\n // The bundled output only installs runtime dependencies, so patches declared for\n // dev-only or bundled-away packages are legitimately unused here.\n blocks.push('allowUnusedPatches: true');\n }\n\n if (options.pnpmNodeLinker) {\n blocks.push(`nodeLinker: ${options.pnpmNodeLinker}`);\n }\n\n return [\"packages:\\n - '.'\", ...blocks, ...customBlocks].join('\\n\\n') + '\\n';\n}\n\n// Semver characters only; versions are interpolated into a shell command.\nconst SAFE_PACKAGE_VERSION = /^[0-9A-Za-z.+-]+$/;\n\n/**\n * Yarn classic writes `# yarn lockfile v1` within the first two lines; Berry lockfiles never contain it.\n * Only the head of the file is read so large monorepo lockfiles are never loaded into memory.\n */\nasync function isYarnClassicLockfile(lockfilePath: string): Promise<boolean> {\n const handle = await fsPromises.open(lockfilePath, 'r');\n try {\n const buffer = Buffer.alloc(512);\n const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);\n return /^# yarn lockfile v1\\r?$/m.test(buffer.toString('utf-8', 0, bytesRead));\n } finally {\n await handle.close();\n }\n}\n\nexport class Deps extends MastraBase {\n private packageManager: PackageManager;\n private rootDir: string;\n private lockFile: LockFileInfo | null;\n\n constructor(rootDir = process.cwd()) {\n super({ component: 'DEPLOYER', name: 'DEPS' });\n\n this.rootDir = rootDir;\n this.lockFile = this.findLockFile(rootDir);\n this.packageManager = this.lockFile?.packageManager ?? 'npm';\n }\n\n private findLockFile(dir: string): LockFileInfo | null {\n const lockFiles: Array<{ filename: string; packageManager: PackageManager }> = [\n { filename: 'pnpm-lock.yaml', packageManager: 'pnpm' },\n { filename: 'package-lock.json', packageManager: 'npm' },\n { filename: 'yarn.lock', packageManager: 'yarn' },\n { filename: 'bun.lock', packageManager: 'bun' },\n ];\n for (const lockFile of lockFiles) {\n const lockFilePath = path.join(dir, lockFile.filename);\n if (fs.existsSync(lockFilePath)) {\n return { ...lockFile, path: lockFilePath };\n }\n }\n const parentDir = path.resolve(dir, '..');\n if (parentDir !== dir) {\n return this.findLockFile(parentDir);\n }\n return null;\n }\n\n public getWorkspaceDependencyPath({ pkgName, version }: { pkgName: string; version: string }) {\n return `file:./workspace-module/${pkgName}-${version}.tgz`;\n }\n\n public async pack({\n dir,\n destination,\n sanitizedName,\n version,\n }: {\n dir: string;\n destination: string;\n sanitizedName: string;\n version: string;\n }) {\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n let packCmd = 'pack';\n let destinationFlag = `--pack-destination ${destination}`;\n if (this.packageManager === 'yarn') {\n if (this.lockFile && (await isYarnClassicLockfile(this.lockFile.path))) {\n if (!SAFE_PACKAGE_VERSION.test(version)) {\n throw new MastraError({\n id: 'DEPLOYER_INVALID_WORKSPACE_PACKAGE_VERSION',\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n details: { dir, version: String(version) },\n text: `Invalid version ${JSON.stringify(version)} in workspace package at ${dir}`,\n });\n }\n // Yarn classic has no --out/%v; --filename takes the full output path.\n destinationFlag = `--filename ${destination}/${sanitizedName}-${version}.tgz`;\n } else {\n // %s includes an '@' at the start of packages names with an '@'\n // so we need to use our sanitizedName instead.\n destinationFlag = `--out ${destination}/${sanitizedName}-%v.tgz`;\n }\n }\n if (this.packageManager === 'bun') {\n // bun uses `pm pack` instead of `pack`\n packCmd = 'pm pack';\n // bun uses --destination instead of --pack-destination\n destinationFlag = `--destination ${destination}`;\n }\n\n return cpLogger({\n cmd: `${this.packageManager} ${packCmd} ${destinationFlag}`,\n args: [],\n env: {\n PATH: process.env.PATH!,\n },\n });\n }\n\n private findPnpmWorkspaceFile(dir: string): string | null {\n const workspaceYamlPath = path.join(dir, 'pnpm-workspace.yaml');\n if (fs.existsSync(workspaceYamlPath)) {\n return workspaceYamlPath;\n }\n\n const parentDir = path.resolve(dir, '..');\n if (parentDir !== dir) {\n return this.findPnpmWorkspaceFile(parentDir);\n }\n\n return null;\n }\n\n private async writePnpmConfig(dir: string, options: InstallOptions = {}) {\n const sourceWorkspaceYamlPath = this.findPnpmWorkspaceFile(this.rootDir);\n const sourceWorkspaceYaml = sourceWorkspaceYamlPath\n ? await fsPromises.readFile(sourceWorkspaceYamlPath, 'utf-8')\n : '';\n\n const patchedDependencies = sourceWorkspaceYamlPath\n ? await this.copyPnpmPatches(sourceWorkspaceYaml, path.dirname(sourceWorkspaceYamlPath), dir)\n : undefined;\n\n await fsPromises.writeFile(\n path.join(dir, 'pnpm-workspace.yaml'),\n copyPnpmWorkspaceSettings(sourceWorkspaceYaml, { ...options, patchedDependencies }),\n 'utf-8',\n );\n }\n\n /**\n * Resolves a declared patch path against the source workspace and verifies that, once symlinks\n * are followed, it still resolves inside the workspace. Returns the real path to copy from, or\n * `undefined` when the patch escapes the workspace or its file cannot be resolved.\n */\n private async resolvePatchSource(\n resolvedWorkspaceRoot: string,\n declaredPath: string,\n { key, label }: { key: string; label: string },\n ): Promise<string | undefined> {\n const sourcePath = path.resolve(resolvedWorkspaceRoot, declaredPath);\n if (!sourcePath.startsWith(`${resolvedWorkspaceRoot}${path.sep}`)) {\n this.logger.warn(`Skipping ${label} patch for \"${key}\": patch file is outside the workspace at ${sourcePath}`);\n return undefined;\n }\n\n // A patch path can stay lexically under the workspace while traversing a symlink whose target\n // lives outside it. copyFile follows symlinks, so compare the resolved real paths before copying.\n let realWorkspaceRoot: string;\n let realSourcePath: string;\n try {\n [realWorkspaceRoot, realSourcePath] = await Promise.all([\n fsPromises.realpath(resolvedWorkspaceRoot),\n fsPromises.realpath(sourcePath),\n ]);\n } catch {\n this.logger.warn(`Skipping ${label} patch for \"${key}\": patch file not found at ${sourcePath}`);\n return undefined;\n }\n\n if (!realSourcePath.startsWith(`${realWorkspaceRoot}${path.sep}`)) {\n this.logger.warn(\n `Skipping ${label} patch for \"${key}\": patch file is outside the workspace at ${realSourcePath}`,\n );\n return undefined;\n }\n\n return realSourcePath;\n }\n\n /**\n * Copies the patch files declared by the source workspace into the output directory and returns\n * the patch map rewritten to output-relative paths, so the patches survive the output install.\n */\n private async copyPnpmPatches(\n sourceWorkspaceYaml: string,\n sourceWorkspaceRoot: string,\n dir: string,\n ): Promise<Record<string, string>> {\n const declared = parsePnpmPatchedDependencies(sourceWorkspaceYaml);\n const rewritten: Record<string, string> = {};\n const usedFileNames = new Set<string>();\n const resolvedWorkspaceRoot = path.resolve(sourceWorkspaceRoot);\n\n for (const [key, declaredPath] of Object.entries(declared)) {\n const sourcePath = await this.resolvePatchSource(resolvedWorkspaceRoot, declaredPath, {\n key,\n label: 'pnpm',\n });\n if (!sourcePath) continue;\n\n let fileName = path.basename(sourcePath);\n if (usedFileNames.has(fileName)) {\n fileName = `${key.replace(/[^a-zA-Z0-9._-]/g, '_')}-${fileName}`;\n }\n usedFileNames.add(fileName);\n\n await fsPromises.mkdir(path.join(dir, PNPM_PATCHES_DIR), { recursive: true });\n await fsPromises.copyFile(sourcePath, path.join(dir, PNPM_PATCHES_DIR, fileName));\n rewritten[key] = `${PNPM_PATCHES_DIR}/${fileName}`;\n }\n\n return rewritten;\n }\n\n /**\n * Writes the `.yarnrc.yml` for the bundled output, recording the supported architectures so the\n * output install only resolves optional native binaries that match the deployment target.\n */\n private async writeYarnConfig(dir: string, options: ArchitectureOptions) {\n const yarnrcPath = path.join(dir, '.yarnrc.yml');\n const config = {\n supportedArchitectures: {\n cpu: options.cpu || [],\n os: options.os || [],\n libc: options.libc || [],\n },\n };\n\n await fsPromises.writeFile(\n yarnrcPath,\n `supportedArchitectures:\\n${Object.entries(config.supportedArchitectures)\n .map(([key, value]) => ` ${key}: ${JSON.stringify(value)}`)\n .join('\\n')}`,\n );\n }\n\n /**\n * Copies the source workspace's `.yarn/patches/` directory (Yarn Berry) into the output\n * directory so patches survive the output install. Yarn auto-discovers patches from this\n * directory and applies them per the lockfile references.\n */\n private async copyYarnPatches(dir: string): Promise<void> {\n const sourcePatchesDir = path.join(this.rootDir, '.yarn', 'patches');\n if (!fs.existsSync(sourcePatchesDir)) return;\n\n const outputPatchesDir = path.join(dir, '.yarn', 'patches');\n await fsPromises.cp(sourcePatchesDir, outputPatchesDir, { recursive: true, errorOnExist: false });\n }\n\n /**\n * Copies the patch files referenced by the source workspace's `patchedDependencies` in\n * package.json into the output directory and returns the map rewritten to output-relative\n * paths, so bun patches survive the output install.\n */\n private async copyBunPatches(\n declared: Record<string, string>,\n sourceRoot: string,\n dir: string,\n ): Promise<Record<string, string>> {\n const rewritten: Record<string, string> = {};\n const usedFileNames = new Set<string>();\n const resolvedRoot = path.resolve(sourceRoot);\n\n for (const [key, declaredPath] of Object.entries(declared)) {\n const sourcePath = await this.resolvePatchSource(resolvedRoot, declaredPath, {\n key,\n label: 'bun',\n });\n if (!sourcePath) continue;\n\n let fileName = path.basename(sourcePath);\n if (usedFileNames.has(fileName)) {\n fileName = `${key.replace(/[^a-zA-Z0-9._-]/g, '_')}-${fileName}`;\n }\n usedFileNames.add(fileName);\n\n await fsPromises.mkdir(path.join(dir, BUN_PATCHES_DIR), { recursive: true });\n await fsPromises.copyFile(sourcePath, path.join(dir, BUN_PATCHES_DIR, fileName));\n rewritten[key] = `${BUN_PATCHES_DIR}/${fileName}`;\n }\n\n return rewritten;\n }\n\n /**\n * Reads `patchedDependencies` from the source package.json, copies the referenced patch\n * files into the output directory, and writes the output-relative patch map into the\n * output's package.json so `bun install` preserves patches in the bundled output.\n */\n private async copyBunPatchesToOutput(dir: string): Promise<void> {\n const sourcePackageJsonPath = path.join(this.rootDir, 'package.json');\n if (!fs.existsSync(sourcePackageJsonPath)) return;\n\n const sourcePkg = await readJSON(sourcePackageJsonPath);\n const patchedDeps = sourcePkg.patchedDependencies as Record<string, string> | undefined;\n if (!patchedDeps || Object.keys(patchedDeps).length === 0) return;\n\n const rewritten = await this.copyBunPatches(patchedDeps, this.rootDir, dir);\n if (Object.keys(rewritten).length === 0) return;\n\n const outputPackageJsonPath = path.join(dir, 'package.json');\n let outputPkg: Record<string, unknown>;\n try {\n outputPkg = (await readJSON(outputPackageJsonPath)) as Record<string, unknown>;\n } catch {\n outputPkg = {};\n }\n outputPkg.patchedDependencies = rewritten;\n await writeJSON(outputPackageJsonPath, outputPkg, { spaces: 2 });\n }\n\n private getNpmArgs(options: ArchitectureOptions): string[] {\n const args: string[] = [];\n if (options.cpu) args.push(`--cpu=${options.cpu.join(',')}`);\n if (options.os) args.push(`--os=${options.os.join(',')}`);\n if (options.libc) args.push(`--libc=${options.libc.join(',')}`);\n return args;\n }\n\n /**\n * Depending on whether we want to install or add a package, this function returns the appropriate commands.\n * All package managers support both commands (e.g. npm install has an alias on \"add\")\n */\n private getPackageManagerCommand(\n pm: PackageManager,\n type: 'install' | 'add',\n { yarnClassic = false }: { yarnClassic?: boolean } = {},\n ): string {\n const cmd = type === 'install' ? 'install' : 'add';\n\n switch (pm) {\n case 'npm':\n return `${cmd} --audit=false --fund=false --loglevel=error --progress=false --update-notifier=false`;\n case 'yarn':\n return type === 'install' && !yarnClassic ? `${cmd} --no-immutable` : cmd;\n case 'pnpm':\n return type === 'install' ? `${cmd} --no-frozen-lockfile --loglevel=error` : `${cmd} --loglevel=error`;\n default:\n return cmd;\n }\n }\n\n public async install({\n dir = this.rootDir,\n architecture,\n pnpmOverrides,\n pnpmNodeLinker,\n pnpmWorkspaceSettings,\n }: {\n dir?: string;\n architecture?: ArchitectureOptions;\n pnpmOverrides?: Record<string, string>;\n pnpmNodeLinker?: 'hoisted';\n pnpmWorkspaceSettings?: BundlerConfig['pnpmWorkspaceSettings'];\n } = {}) {\n const pm = this.packageManager;\n let yarnClassic = false;\n if (this.lockFile) {\n const destination = path.join(dir, this.lockFile.filename);\n if (path.resolve(this.lockFile.path) !== path.resolve(destination)) {\n const packedBunWorkspaces =\n pm === 'bun' &&\n fs.existsSync(path.join(dir, 'package.json')) &&\n Object.values(\n ((await readJSON(path.join(dir, 'package.json'))) as { resolutions?: Record<string, string> })\n .resolutions ?? {},\n ).some(spec => spec.startsWith('file:./workspace-module/'));\n\n if (packedBunWorkspaces) {\n // Bun cannot reuse the source workspace lockfile with packed tarballs; removing its workspace entries\n // makes Bun ignore it and regenerate the lockfile anyway. Start with a clean lockfile instead.\n await fsPromises.rm(destination, { force: true });\n } else {\n await fsPromises.copyFile(this.lockFile.path, destination);\n }\n }\n\n if (pm === 'yarn') {\n yarnClassic = await isYarnClassicLockfile(destination);\n }\n }\n\n const installCommand = this.getPackageManagerCommand(pm, 'install', { yarnClassic });\n let args: string[] = [];\n\n switch (pm) {\n case 'pnpm':\n await this.writePnpmConfig(dir, { ...architecture, pnpmOverrides, pnpmNodeLinker, pnpmWorkspaceSettings });\n break;\n case 'yarn':\n // similar to --ignore-workspace but for yarn\n await ensureFile(path.join(dir, 'yarn.lock'));\n if (architecture) {\n await this.writeYarnConfig(dir, architecture);\n }\n await this.copyYarnPatches(dir);\n break;\n case 'bun':\n await this.copyBunPatchesToOutput(dir);\n break;\n case 'npm':\n if (architecture) {\n args = this.getNpmArgs(architecture);\n }\n break;\n default:\n // Do nothing\n }\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n try {\n return await cpLogger({\n cmd: `${pm} ${installCommand}`,\n args,\n env: process.env as Record<string, string>,\n });\n } catch (error) {\n if (pm !== 'pnpm') throw error;\n\n const processOutput =\n error && typeof error === 'object'\n ? `${'stdout' in error ? String(error.stdout) : ''}\\n${'stderr' in error ? String(error.stderr) : ''}`\n : '';\n const ignoredPackages = getPnpmIgnoredBuildPackages(processOutput);\n if (ignoredPackages.length === 0) throw error;\n\n throw new MastraError(\n {\n id: 'DEPLOYER_PNPM_IGNORED_BUILDS',\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n details: { packageNames: ignoredPackages.join(', ') },\n text: `pnpm blocked build scripts for: ${ignoredPackages.join(', ')}. Add these packages to allowBuilds in pnpm-workspace.yaml and retry the build.`,\n },\n error,\n );\n }\n }\n\n public async installPackages(packages: string[]) {\n const pm = this.packageManager;\n const installCommand = this.getPackageManagerCommand(pm, 'add');\n\n const env: Record<string, string> = {\n PATH: process.env.PATH!,\n };\n\n if (process.env.npm_config_registry) {\n env.npm_config_registry = process.env.npm_config_registry;\n }\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: '',\n });\n\n return cpLogger({\n cmd: `${pm} ${installCommand}`,\n args: packages,\n env,\n });\n }\n\n public async checkDependencies(dependencies: string[]): Promise<string> {\n try {\n const packageJsonPath = path.join(this.rootDir, 'package.json');\n\n try {\n await fsPromises.access(packageJsonPath);\n } catch {\n return 'No package.json file found in the current directory';\n }\n\n const packageJson = await readJSON(packageJsonPath);\n for (const dependency of dependencies) {\n if (!packageJson.dependencies || !packageJson.dependencies[dependency]) {\n return `Please install ${dependency} before running this command (${this.packageManager} install ${dependency})`;\n }\n }\n\n return 'ok';\n } catch (err) {\n console.error(err);\n return 'Could not check dependencies';\n }\n }\n\n public async getProjectName() {\n try {\n const packageJsonPath = path.join(this.rootDir, 'package.json');\n const pkg = await readJSON(packageJsonPath);\n return pkg.name;\n } catch (err) {\n throw err;\n }\n }\n\n public async getPackageVersion() {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = dirname(__filename);\n const pkgJsonPath = path.join(__dirname, '..', '..', 'package.json');\n\n const content = (await readJSON(pkgJsonPath)) as PackageJson;\n return content.version;\n }\n\n public async addScriptsToPackageJson(scripts: Record<string, string>) {\n const packageJson = await readJSON('package.json');\n packageJson.scripts = {\n ...packageJson.scripts,\n ...scripts,\n };\n await writeJSON('package.json', packageJson, { spaces: 2 });\n }\n}\n\nexport class DepsService extends Deps {}\n","import * as fs from 'node:fs';\n\nexport abstract class EnvService {\n abstract getEnvValue(key: string): Promise<string | null>;\n abstract setEnvValue(key: string, value: string): Promise<void>;\n}\n\nexport class FileEnvService extends EnvService {\n private filePath: string;\n\n constructor(filePath: string) {\n super();\n this.filePath = filePath;\n }\n\n private readFile(filePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, 'utf8', (err: NodeJS.ErrnoException | null, data: string) => {\n if (err) reject(err);\n else resolve(data);\n });\n });\n }\n\n private writeFile({ filePath, data }: { filePath: string; data: string }): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filePath, data, 'utf8', (err: NodeJS.ErrnoException | null) => {\n if (err) reject(err);\n else resolve();\n });\n });\n }\n\n private async updateEnvData({\n key,\n value,\n filePath = this.filePath,\n data,\n }: {\n key: string;\n value: string;\n filePath?: string;\n data: string;\n }): Promise<string> {\n const regex = new RegExp(`^${key}=.*$`, 'm');\n if (data.match(regex)) {\n // Use a replacement function so `$` sequences in the value (e.g. `$&`,\n // `$$`) are written literally instead of being interpreted as\n // String.prototype.replace special patterns.\n data = data.replace(regex, () => `${key}=${value}`);\n } else {\n data += `\\n${key}=${value}`;\n }\n await this.writeFile({ filePath, data });\n console.info(`${key} set to ${value} in ENV file.`);\n return data;\n }\n\n async getEnvValue(key: string): Promise<string | null> {\n try {\n const data = await this.readFile(this.filePath);\n const regex = new RegExp(`^${key}=(.*)$`, 'm');\n const match = data.match(regex);\n return match?.[1] || null;\n } catch (err) {\n console.error(`Error reading ENV value: ${err}`);\n return null;\n }\n }\n\n async setEnvValue(key: string, value: string): Promise<void> {\n try {\n const data = await this.readFile(this.filePath);\n await this.updateEnvData({ key, value, data });\n } catch (err) {\n console.error(`Error writing ENV value: ${err}`);\n }\n }\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport fsExtra from 'fs-extra/esm';\n\nimport { FileEnvService } from './env.js';\n\nexport class FileService {\n /**\n *\n * @param inputFile the file in the starter files directory to copy\n * @param outputFilePath the destination path\n * @param replaceIfExists flag to replace if it exists\n * @returns\n */\n public async copyStarterFile(inputFile: string, outputFilePath: string, replaceIfExists?: boolean) {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = path.dirname(__filename);\n const filePath = path.resolve(__dirname, '..', 'starter-files', inputFile);\n const fileString = fs.readFileSync(filePath, 'utf8');\n\n if (fs.existsSync(outputFilePath) && !replaceIfExists) {\n console.info(`${outputFilePath} already exists`);\n return false;\n }\n\n await fsExtra.outputFile(outputFilePath, fileString);\n\n return true;\n }\n\n public async setupEnvFile({ dbUrl }: { dbUrl: string }) {\n const envPath = path.join(process.cwd(), '.env.development');\n\n await fsExtra.ensureFile(envPath);\n\n const fileEnvService = new FileEnvService(envPath);\n await fileEnvService.setEnvValue('DB_URL', dbUrl);\n }\n\n public getFirstExistingFile(files: string[]): string {\n for (const f of files) {\n if (fs.existsSync(f)) {\n return f;\n }\n }\n\n throw new Error('Missing required file, checked the following paths: ' + files.join(', '));\n }\n\n /**\n * Returns every existing file from the provided array in the same order.\n * Callers supply files from the lowest to highest precedence so later dotenv\n * files override earlier values when the bundler loads them.\n */\n public getExistingFiles(files: string[]): string[] {\n return files.filter(file => fs.existsSync(file));\n }\n\n /**\n * Returns the first existing file from the provided array, or undefined if none exist\n * @param files array of file paths to check\n * @returns the first existing file path or undefined\n */\n public getFirstExistingFileOrUndefined(files: string[]): string | undefined {\n for (const f of files) {\n if (fs.existsSync(f)) {\n return f;\n }\n }\n\n return undefined;\n }\n\n public replaceValuesInFile({\n filePath,\n replacements,\n }: {\n filePath: string;\n replacements: { search: string; replace: string }[];\n }) {\n let fileContent = fs.readFileSync(filePath, 'utf8');\n replacements.forEach(({ search, replace }) => {\n fileContent = fileContent.replaceAll(search, replace);\n });\n\n fs.writeFileSync(filePath, fileContent);\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_index_CLddUTqr = require("./index-CLddUTqr-BpIkA9jT.cjs");
1
+ const require_index_CLddUTqr = require("./index-CLddUTqr-D0GzVJyg.cjs");
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js
3
3
  async function getToJsonSchemaFn() {
4
4
  try {
@@ -11,4 +11,4 @@ async function getToJsonSchemaFn() {
11
11
  //#endregion
12
12
  exports.default = getToJsonSchemaFn;
13
13
 
14
- //# sourceMappingURL=sury-CWZTCd75-eYGXWpqb.cjs.map
14
+ //# sourceMappingURL=sury-CWZTCd75-TIJwZAOz.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sury-CWZTCd75-eYGXWpqb.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJSONSchema } = await import('sury');\n return toJSONSchema;\n } catch {\n throw new MissingDependencyError(\"sury\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAIA,uBAAAA,uBAAuB,MAAM;CACzC;AACF"}
1
+ {"version":3,"file":"sury-CWZTCd75-TIJwZAOz.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJSONSchema } = await import('sury');\n return toJSONSchema;\n } catch {\n throw new MissingDependencyError(\"sury\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAIA,uBAAAA,uBAAuB,MAAM;CACzC;AACF"}
@@ -1,4 +1,4 @@
1
- import { t as MissingDependencyError } from "./index-CLddUTqr-CAnnFeRJ.js";
1
+ import { t as MissingDependencyError } from "./index-CLddUTqr-86A1rnBL.js";
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js
3
3
  async function getToJsonSchemaFn() {
4
4
  try {
@@ -11,4 +11,4 @@ async function getToJsonSchemaFn() {
11
11
  //#endregion
12
12
  export { getToJsonSchemaFn as default };
13
13
 
14
- //# sourceMappingURL=sury-CWZTCd75-CdrsvbNi.js.map
14
+ //# sourceMappingURL=sury-CWZTCd75-r5hgAI0o.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sury-CWZTCd75-CdrsvbNi.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJSONSchema } = await import('sury');\n return toJSONSchema;\n } catch {\n throw new MissingDependencyError(\"sury\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAI,uBAAuB,MAAM;CACzC;AACF"}
1
+ {"version":3,"file":"sury-CWZTCd75-r5hgAI0o.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/sury-CWZTCd75.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJSONSchema } = await import('sury');\n return toJSONSchema;\n } catch {\n throw new MissingDependencyError(\"sury\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAI,uBAAuB,MAAM;CACzC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"typebox-Dei93FPO-B14DOQQD.cjs","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/typebox-Dei93FPO.js"],"sourcesContent":["function getToJsonSchemaFn() {\n return (schema) => JSON.parse(JSON.stringify(schema.Type()));\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,oBAAoB;CAC3B,QAAQ,WAAW,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,CAAC,CAAC;AAC7D"}
1
+ {"version":3,"file":"typebox-Dei93FPO-B14DOQQD.cjs","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/typebox-Dei93FPO.js"],"sourcesContent":["function getToJsonSchemaFn() {\n return (schema) => JSON.parse(JSON.stringify(schema.Type()));\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";AAAA,SAAS,oBAAoB;CAC3B,QAAQ,WAAW,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,CAAC,CAAC;AAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"typebox-Dei93FPO-BCfJ-0cP.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/typebox-Dei93FPO.js"],"sourcesContent":["function getToJsonSchemaFn() {\n return (schema) => JSON.parse(JSON.stringify(schema.Type()));\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,oBAAoB;CAC3B,QAAQ,WAAW,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,CAAC,CAAC;AAC7D"}
1
+ {"version":3,"file":"typebox-Dei93FPO-BCfJ-0cP.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/typebox-Dei93FPO.js"],"sourcesContent":["function getToJsonSchemaFn() {\n return (schema) => JSON.parse(JSON.stringify(schema.Type()));\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";AAAA,SAAS,oBAAoB;CAC3B,QAAQ,WAAW,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,CAAC,CAAC;AAC7D"}
@@ -99,9 +99,9 @@ function getCompiledDepCachePath(rootPath, packageName) {
99
99
  * slash('C:\\Users\\user\\code\\mastra') // 'C:/Users/user/code/mastra'
100
100
  * ```
101
101
  */
102
- function slash(path$1) {
103
- if (path$1.startsWith("\\\\?\\")) return path$1;
104
- return path$1.replaceAll("\\", "/");
102
+ function slash(path) {
103
+ if (path.startsWith("\\\\?\\")) return path;
104
+ return path.replaceAll("\\", "/");
105
105
  }
106
106
  /**
107
107
  * Make a Rollup-safe name: pathless, POSIX, and without parent/absolute segments
@@ -282,4 +282,4 @@ Object.defineProperty(exports, "slash", {
282
282
  }
283
283
  });
284
284
 
285
- //# sourceMappingURL=utils-Bsr_sEcH.cjs.map
285
+ //# sourceMappingURL=utils-C-gJcJAo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-C-gJcJAo.cjs","names":["join","relative","basename","builtinModules"],"sources":["../src/build/utils.ts"],"sourcesContent":["import { execSync } from 'node:child_process';\nimport { existsSync, mkdirSync } from 'node:fs';\nimport { builtinModules } from 'node:module';\nimport { basename, join, relative } from 'node:path';\nimport type { RollupNodeResolveOptions } from '@rollup/plugin-node-resolve';\n\n/** The detected JavaScript runtime environment */\nexport type RuntimePlatform = 'node' | 'bun';\n\n/**\n * The esbuild/bundler platform setting.\n * - 'node': Assumes Node.js environment, externalizes built-in modules\n * - 'browser': Assumes browser environment, polyfills Node APIs\n * - 'neutral': Runtime-agnostic, preserves all globals as-is (used for Bun)\n */\nexport type BundlerPlatform = 'node' | 'browser' | 'neutral';\n\n/**\n * Get nodeResolve plugin options based on the target platform.\n *\n * For 'browser' platform (e.g., Cloudflare Workers), uses browser-compatible\n * export conditions so packages like the Cloudflare SDK resolve to their\n * web runtime instead of Node.js-specific code.\n *\n * For 'node' and 'neutral' (Bun) platforms, uses Node.js module resolution.\n */\nexport function getNodeResolveOptions(platform: BundlerPlatform): RollupNodeResolveOptions {\n if (platform === 'browser') {\n return {\n preferBuiltins: false,\n browser: true,\n exportConditions: ['browser', 'worker', 'default'],\n };\n }\n return {\n preferBuiltins: true,\n exportConditions: ['node'],\n };\n}\n\n/**\n * Detect the current JavaScript runtime environment.\n *\n * This is used by the bundler to determine the appropriate esbuild platform\n * setting. When running under Bun, we need to use 'neutral' platform to\n * preserve Bun-specific globals (like Bun.s3).\n */\nexport function detectRuntime(): RuntimePlatform {\n if (process.versions?.bun) {\n return 'bun';\n }\n return 'node';\n}\n\n/**\n * Whether the deployer should skip installing dependencies (and lockfile\n * generation) in the build output directory. Enabled by setting\n * MASTRA_BUILD_SKIP_INSTALL to \"true\" or \"1\". Useful for hermetic build\n * systems (e.g. Bazel) that supply node_modules externally and run in a\n * network-less sandbox where the output install would be redundant and fatal.\n */\nexport function shouldSkipInstall(): boolean {\n const value = process.env.MASTRA_BUILD_SKIP_INSTALL;\n return value === 'true' || value === '1';\n}\n\nexport function upsertMastraDir({ dir = process.cwd() }: { dir?: string }) {\n const dirPath = join(dir, '.mastra');\n\n if (!existsSync(dirPath)) {\n mkdirSync(dirPath, { recursive: true });\n execSync(`echo \".mastra\" >> .gitignore`);\n }\n}\n\nexport function isDependencyPartOfPackage(dep: string, packageName: string) {\n if (dep === packageName) {\n return true;\n }\n\n return dep.startsWith(`${packageName}/`);\n}\n\n/**\n * Get the package name from a module ID\n */\nexport function getPackageName(id: string) {\n const parts = id.split('/');\n\n if (id.startsWith('@')) {\n return parts.slice(0, 2).join('/');\n }\n\n return parts[0];\n}\n\n/**\n * Check if an import specifier uses a protocol scheme rather than a package name.\n * Examples: `cloudflare:workers`, `data:text/javascript,...`, `node:fs`.\n */\nexport function hasImportProtocol(specifier: string): boolean {\n // Avoid treating Windows absolute paths like `C:\\foo` as protocol imports.\n if (/^[A-Za-z]:[\\\\/]/.test(specifier)) {\n return false;\n }\n\n return /^[A-Za-z][A-Za-z\\d+.-]*:/.test(specifier);\n}\n\nconst DEFAULT_PROTOCOL_IMPORT_EXCLUDE_LIST = ['node:'] as const;\n\n/**\n * Check if a specifier uses a non-builtin protocol that should be preserved at\n * runtime instead of being treated as an installable dependency.\n */\nexport function isExternalProtocolImport(\n specifier: string,\n excludeList: readonly string[] = DEFAULT_PROTOCOL_IMPORT_EXCLUDE_LIST,\n): boolean {\n if (!hasImportProtocol(specifier)) {\n return false;\n }\n\n return !excludeList.some(prefix => specifier.startsWith(prefix));\n}\n\nfunction isRelativeImportSpecifier(specifier: string): boolean {\n return specifier === '.' || specifier === '..' || specifier.startsWith('./') || specifier.startsWith('../');\n}\n\nfunction isAbsolutePathSpecifier(specifier: string): boolean {\n return specifier.startsWith('/') || specifier.startsWith('\\\\\\\\') || /^[A-Za-z]:[\\\\/]/.test(specifier);\n}\n\n/**\n * During `mastra dev` we are compiling TS files to JS (inside workspaces) so that users can just their workspace packages.\n * We store these compiled files inside `node_modules/.cache` for each workspace package.\n */\nexport function getCompiledDepCachePath(rootPath: string, packageName: string) {\n return slash(join(rootPath, 'node_modules', '.cache', packageName));\n}\n\n/**\n * Convert windows backslashes to posix slashes\n *\n * @example\n * ```ts\n * slash('C:\\\\Users\\\\user\\\\code\\\\mastra') // 'C:/Users/user/code/mastra'\n * ```\n */\nexport function slash(path: string) {\n const isExtendedLengthPath = path.startsWith('\\\\\\\\?\\\\');\n\n if (isExtendedLengthPath) {\n return path;\n }\n\n return path.replaceAll('\\\\', '/');\n}\n\n/**\n * Make a Rollup-safe name: pathless, POSIX, and without parent/absolute segments\n */\nexport function rollupSafeName(name: string, rootDir: string) {\n const rel = relative(rootDir, name);\n let entry = slash(rel);\n entry = entry.replace(/^(\\.\\.\\/)+/, '');\n entry = entry.replace(/^\\/+/, '');\n entry = entry.replace(/^[A-Za-z]:\\//, '');\n if (!entry) {\n entry = slash(basename(name));\n }\n return entry;\n}\n\n/**\n * Native binding loaders and infrastructure packages that should be ignored when identifying the actual package that requires native bindings\n */\nconst NATIVE_BINDING_LOADERS = [\n 'node-gyp-build',\n 'prebuild-install',\n 'bindings',\n 'node-addon-api',\n 'node-pre-gyp',\n 'nan', // Native Abstractions for Node.js\n] as const;\n\n/**\n * Finds the first real package from node_modules that likely contains native bindings, filtering out virtual modules and native binding loader infrastructure.\n *\n * @param moduleIds - Array of module IDs from a Rollup chunk\n * @returns The module ID of the actual native package, or undefined if not found\n *\n * @example\n * const moduleIds = [\n * '\\x00/path/node_modules/bcrypt/bcrypt.js?commonjs-module',\n * '/path/node_modules/node-gyp-build/index.js',\n * '/path/node_modules/bcrypt/bcrypt.js',\n * ];\n * findNativePackageModule(moduleIds); // Returns '/path/node_modules/bcrypt/bcrypt.js'\n */\nexport function findNativePackageModule(moduleIds: string[]): string | undefined {\n return moduleIds.find(id => {\n // Skip virtual modules (Rollup plugin-generated)\n if (id.startsWith('\\x00')) {\n return false;\n }\n\n // Must be from node_modules\n if (!id.includes('/node_modules/')) {\n return false;\n }\n\n // Skip native binding loader infrastructure\n for (const loader of NATIVE_BINDING_LOADERS) {\n if (id.includes(`/${loader}/`) || id.includes(`/${loader}@`)) {\n return false;\n }\n }\n\n return true;\n });\n}\n\n/**\n * Ensures that server.studioBase is normalized:\n * - Adds leading slash if missing (e.g., 'admin' → '/admin')\n * - Removes trailing slashes (e.g., '/admin/' → '/admin')\n * - Normalizes multiple slashes to single slash (e.g., '//api' → '/api')\n * - Returns empty string for root paths ('/' or '')\n *\n * @param studioBase - The studioBase path to normalize\n * @returns Normalized studioBase path string\n * @throws Error if path contains invalid characters ('..', '?', '#')\n */\nexport function normalizeStudioBase(studioBase: string): string {\n studioBase = studioBase.trim();\n\n // Validate: no path traversal, no query params, no special chars\n if (studioBase.includes('..') || studioBase.includes('?') || studioBase.includes('#')) {\n throw new Error(`Invalid base path: \"${studioBase}\". Base path cannot contain '..', '?', or '#'`);\n }\n\n // Normalize multiple slashes to single slash\n studioBase = studioBase.replace(/\\/+/g, '/');\n\n // Handle default value cases\n if (studioBase === '/' || studioBase === '') {\n return '';\n }\n\n // Remove trailing slash\n if (studioBase.endsWith('/')) {\n studioBase = studioBase.slice(0, -1);\n }\n\n // Add leading slash if missing\n if (!studioBase.startsWith('/')) {\n studioBase = `/${studioBase}`;\n }\n\n return studioBase;\n}\n\n/**\n * Configuration values for Studio's index.html placeholder injection.\n *\n * Each value is the **exact JavaScript expression** that replaces the\n * corresponding `'%%PLACEHOLDER%%'` token (including surrounding quotes).\n *\n * For literal strings pass `\"'value'\"` (quoted).\n * For runtime expressions pass the raw JS, e.g. `\"window.location.hostname\"`.\n */\nexport interface StudioInjectionConfig {\n host: string;\n port: string;\n protocol: string;\n apiPrefix: string;\n basePath: string;\n hideCloudCta: string;\n cloudApiEndpoint: string;\n experimentalFeatures: string;\n templates: string;\n telemetryDisabled: string;\n requestContextPresets: string;\n experimentalUI: string;\n agentSignals: string;\n signalsUI: string;\n organizationId: string;\n platformProjectId: string;\n platformObservabilityEndpoint: string;\n autoDetectUrl?: string;\n devServerInstanceId?: string;\n}\n\n/**\n * Replace all `%%MASTRA_*%%` placeholders in the Studio `index.html` with the\n * supplied configuration values.\n *\n * The `<base href>` tag and the `window.MASTRA_STUDIO_BASE_PATH` assignment\n * use `basePath` as a plain string (no surrounding quotes), while all other\n * placeholders replace `'%%TOKEN%%'` (with surrounding single-quotes in the\n * source HTML) with the provided expression verbatim.\n */\nexport function injectStudioHtmlConfig(html: string, config: StudioInjectionConfig): string {\n // `String.prototype.replace`/`replaceAll` treat `$` sequences ($$, $&, $`,\n // $', $n) in the replacement string as special patterns. Config values are\n // dynamic (e.g. request context presets), so use a replacement function to\n // insert them verbatim.\n const replace = (token: string, value: string) => {\n html = html.replace(token, () => value);\n };\n\n replace(`'%%MASTRA_DEV_SERVER_INSTANCE_ID%%'`, config.devServerInstanceId ?? \"''\");\n replace(`'%%MASTRA_SERVER_HOST%%'`, config.host);\n replace(`'%%MASTRA_SERVER_PORT%%'`, config.port);\n replace(`'%%MASTRA_SERVER_PROTOCOL%%'`, config.protocol);\n replace(`'%%MASTRA_API_PREFIX%%'`, config.apiPrefix);\n replace(`'%%MASTRA_HIDE_CLOUD_CTA%%'`, config.hideCloudCta);\n replace(`'%%MASTRA_CLOUD_API_ENDPOINT%%'`, config.cloudApiEndpoint);\n replace(`'%%MASTRA_EXPERIMENTAL_FEATURES%%'`, config.experimentalFeatures);\n replace(`'%%MASTRA_TEMPLATES%%'`, config.templates);\n replace(`'%%MASTRA_TELEMETRY_DISABLED%%'`, config.telemetryDisabled);\n replace(`'%%MASTRA_REQUEST_CONTEXT_PRESETS%%'`, config.requestContextPresets);\n replace(`'%%MASTRA_EXPERIMENTAL_UI%%'`, config.experimentalUI);\n replace(`'%%MASTRA_AGENT_SIGNALS%%'`, config.agentSignals);\n replace(`'%%MASTRA_SIGNALS_UI%%'`, config.signalsUI);\n replace(`'%%MASTRA_ORGANIZATION_ID%%'`, config.organizationId);\n replace(`'%%MASTRA_PLATFORM_PROJECT_ID%%'`, config.platformProjectId);\n replace(`'%%MASTRA_PLATFORM_OBSERVABILITY_ENDPOINT%%'`, config.platformObservabilityEndpoint);\n if (config.autoDetectUrl) {\n replace(`'%%MASTRA_AUTO_DETECT_URL%%'`, config.autoDetectUrl);\n }\n html = html.replaceAll('%%MASTRA_STUDIO_BASE_PATH%%', () => config.basePath);\n\n return html;\n}\n\n/**\n * Escape a dynamic value for embedding inside a single-quoted JavaScript\n * string literal in the Studio `index.html` (e.g. `window.X = '<value>'`).\n * Without it, an env-derived value containing `'` or `</script>` breaks out\n * of the literal and corrupts (or injects into) the served page.\n */\nexport function escapeStudioHtmlValue(value: string): string {\n return value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/</g, '\\\\u003c')\n .replace(/>/g, '\\\\u003e')\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029');\n}\n\n/**\n * Check if a module is a Node.js builtin module\n * @param specifier - Module specifier\n * @returns True if it's a builtin module\n */\nexport function isBuiltinModule(specifier: string): boolean {\n return (\n builtinModules.includes(specifier) ||\n specifier.startsWith('node:') ||\n builtinModules.includes(specifier.replace(/^node:/, ''))\n );\n}\n\n/**\n * Check whether a module specifier is a bare module import rather than a path,\n * virtual module, or Node builtin.\n */\nexport function isBareModuleSpecifier(specifier: string): boolean {\n if (!specifier || specifier.startsWith('#')) {\n return false;\n }\n\n if (isRelativeImportSpecifier(specifier) || isAbsolutePathSpecifier(specifier)) {\n return false;\n }\n\n if (isBuiltinModule(specifier)) {\n return false;\n }\n\n if (isExternalProtocolImport(specifier)) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_index_CLddUTqr = require("./index-CLddUTqr-BpIkA9jT.cjs");
1
+ const require_index_CLddUTqr = require("./index-CLddUTqr-D0GzVJyg.cjs");
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js
3
3
  async function getToJsonSchemaFn() {
4
4
  try {
@@ -11,4 +11,4 @@ async function getToJsonSchemaFn() {
11
11
  //#endregion
12
12
  exports.default = getToJsonSchemaFn;
13
13
 
14
- //# sourceMappingURL=valibot--1zFm7rT-aC9oayBT.cjs.map
14
+ //# sourceMappingURL=valibot--1zFm7rT-BiQdCU9y.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot--1zFm7rT-aC9oayBT.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJsonSchema } = await import('@valibot/to-json-schema');\n return toJsonSchema;\n } catch {\n throw new MissingDependencyError(\"@valibot/to-json-schema\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QAAM,qBAAA,CAAA;EAC/B,OAAO;CACT,QAAQ;EACN,MAAM,IAAIA,uBAAAA,uBAAuB,yBAAyB;CAC5D;AACF"}
1
+ {"version":3,"file":"valibot--1zFm7rT-BiQdCU9y.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJsonSchema } = await import('@valibot/to-json-schema');\n return toJsonSchema;\n } catch {\n throw new MissingDependencyError(\"@valibot/to-json-schema\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QAAM,qBAAA,CAAA;EAC/B,OAAO;CACT,QAAQ;EACN,MAAM,IAAIA,uBAAAA,uBAAuB,yBAAyB;CAC5D;AACF"}
@@ -1,4 +1,4 @@
1
- import { t as MissingDependencyError } from "./index-CLddUTqr-CAnnFeRJ.js";
1
+ import { t as MissingDependencyError } from "./index-CLddUTqr-86A1rnBL.js";
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js
3
3
  async function getToJsonSchemaFn() {
4
4
  try {
@@ -11,4 +11,4 @@ async function getToJsonSchemaFn() {
11
11
  //#endregion
12
12
  export { getToJsonSchemaFn as default };
13
13
 
14
- //# sourceMappingURL=valibot--1zFm7rT-CCFD-Qor.js.map
14
+ //# sourceMappingURL=valibot--1zFm7rT-CU_2XLpq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valibot--1zFm7rT-CCFD-Qor.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJsonSchema } = await import('@valibot/to-json-schema');\n return toJsonSchema;\n } catch {\n throw new MissingDependencyError(\"@valibot/to-json-schema\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAI,uBAAuB,yBAAyB;CAC5D;AACF"}
1
+ {"version":3,"file":"valibot--1zFm7rT-CU_2XLpq.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/valibot--1zFm7rT.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { toJsonSchema } = await import('@valibot/to-json-schema');\n return toJsonSchema;\n } catch {\n throw new MissingDependencyError(\"@valibot/to-json-schema\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,eAAe,oBAAoB;CACjC,IAAI;EACF,MAAM,EAAE,iBAAiB,MAAM,OAAO;EACtC,OAAO;CACT,QAAQ;EACN,MAAM,IAAI,uBAAuB,yBAAyB;CAC5D;AACF"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils = require("../utils-Bsr_sEcH.cjs");
2
+ const require_utils = require("../utils-C-gJcJAo.cjs");
3
3
  let fs = require("fs");
4
4
  let fs_promises = require("fs/promises");
5
5
  let path = require("path");
@@ -1 +1 @@
1
- {"version":3,"file":"custom-resolver.cjs","names":["builtinModules","isDependencyPartOfPackage"],"sources":["../../src/validator/custom-resolver.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport type { LoadHookContext, ResolveHookContext } from 'node:module';\nimport { builtinModules } from 'node:module';\nimport { join } from 'node:path';\nimport { isDependencyPartOfPackage } from '../build/utils';\n\nconst STUB_PREFIX = 'mastra-stub:';\n\nlet _stubbedExternals: string[] | null = null;\nfunction getStubbedExternals(): string[] {\n if (_stubbedExternals === null) {\n try {\n _stubbedExternals = JSON.parse(process.env.STUBBED_EXTERNALS || '[]') as string[];\n } catch {\n _stubbedExternals = [];\n }\n }\n return _stubbedExternals;\n}\n\nconst cache = new Map<string, Record<string, string>>();\n\n/**\n * Check if a module is a Node.js builtin module\n * @param specifier - Module specifier\n * @returns True if it's a builtin module\n */\nfunction isBuiltinModule(specifier: string): boolean {\n return (\n builtinModules.includes(specifier) ||\n specifier.startsWith('node:') ||\n builtinModules.includes(specifier.replace(/^node:/, ''))\n );\n}\n\n/**\n * Check if a module specifier is a relative or absolute path\n * @param specifier - Module specifier\n * @returns True if it's a relative or absolute path\n */\nfunction isRelativePath(specifier: string): boolean {\n return (\n specifier.startsWith('./') ||\n specifier.startsWith('../') ||\n specifier.startsWith('/') ||\n /^[a-zA-Z]:\\\\/.test(specifier)\n ); // Windows absolute path\n}\n\n/**\n * Get the path to resolve any external packages from\n *\n * @param url\n * @returns\n */\nasync function getParentPath(specifier: string, url: string): Promise<string | null> {\n if (!cache.size) {\n let moduleResolveMapLocation = process.env.MODULE_MAP;\n if (!moduleResolveMapLocation) {\n moduleResolveMapLocation = join(process.cwd(), 'module-resolve-map.json');\n }\n\n let moduleResolveMap: Record<string, Record<string, string>> = {};\n if (existsSync(moduleResolveMapLocation)) {\n moduleResolveMap = JSON.parse(await readFile(moduleResolveMapLocation, 'utf-8')) as Record<\n string,\n Record<string, string>\n >;\n }\n\n for (const [id, rest] of Object.entries(moduleResolveMap)) {\n cache.set(id, rest);\n }\n }\n\n const importers = cache.get(url);\n if (!importers) {\n return null;\n }\n\n const matchedPackage = Object.keys(importers).find(external => isDependencyPartOfPackage(specifier, external));\n if (!matchedPackage) {\n return null;\n }\n const specifierParent = importers[matchedPackage]!;\n return specifierParent;\n}\n\nexport async function resolve(\n specifier: string,\n context: ResolveHookContext,\n nextResolve: (specifier: string, context: ResolveHookContext) => Promise<{ url: string }>,\n) {\n // Don't modify builtin modules\n if (isBuiltinModule(specifier)) {\n return nextResolve(specifier, context);\n }\n\n if (isRelativePath(specifier)) {\n return nextResolve(specifier, context);\n }\n\n // Stub GLOBAL_EXTERNALS packages during validation\n const stubbedExternals = getStubbedExternals();\n if (stubbedExternals.length > 0) {\n const isStubbed = stubbedExternals.some(ext => isDependencyPartOfPackage(specifier, ext));\n if (isStubbed) {\n return { url: `${STUB_PREFIX}${specifier}`, shortCircuit: true };\n }\n }\n\n if (context.parentURL) {\n const parentPath = await getParentPath(specifier, context.parentURL);\n\n if (parentPath) {\n return nextResolve(specifier, {\n ...context,\n parentURL: parentPath,\n });\n }\n }\n\n // Continue resolution with the modified path\n return nextResolve(specifier, context);\n}\n\nexport async function load(\n url: string,\n context: LoadHookContext,\n nextLoad: (url: string, context: LoadHookContext) => Promise<{ format: string; source: string }>,\n) {\n if (url.startsWith(STUB_PREFIX)) {\n return { format: 'module', source: 'export default {}', shortCircuit: true };\n }\n return nextLoad(url, context);\n}\n"],"mappings":";;;;;;;AAOA,MAAM,cAAc;AAEpB,IAAI,oBAAqC;AACzC,SAAS,sBAAgC;CACvC,IAAI,sBAAsB,MACxB,IAAI;EACF,oBAAoB,KAAK,MAAM,QAAQ,IAAI,qBAAqB,IAAI;CACtE,QAAQ;EACN,oBAAoB,CAAC;CACvB;CAEF,OAAO;AACT;AAEA,MAAM,wBAAQ,IAAI,IAAoC;;;;;;AAOtD,SAAS,gBAAgB,WAA4B;CACnD,OACEA,SAAAA,eAAe,SAAS,SAAS,KACjC,UAAU,WAAW,OAAO,KAC5BA,SAAAA,eAAe,SAAS,UAAU,QAAQ,UAAU,EAAE,CAAC;AAE3D;;;;;;AAOA,SAAS,eAAe,WAA4B;CAClD,OACE,UAAU,WAAW,IAAI,KACzB,UAAU,WAAW,KAAK,KAC1B,UAAU,WAAW,GAAG,KACxB,eAAe,KAAK,SAAS;AAEjC;;;;;;;AAQA,eAAe,cAAc,WAAmB,KAAqC;CACnF,IAAI,CAAC,MAAM,MAAM;EACf,IAAI,2BAA2B,QAAQ,IAAI;EAC3C,IAAI,CAAC,0BACH,4BAAA,GAAA,KAAA,KAAA,CAAgC,QAAQ,IAAI,GAAG,yBAAyB;EAG1E,IAAI,mBAA2D,CAAC;EAChE,KAAA,GAAA,GAAA,WAAA,CAAe,wBAAwB,GACrC,mBAAmB,KAAK,MAAM,OAAA,GAAA,YAAA,SAAA,CAAe,0BAA0B,OAAO,CAAC;EAMjF,KAAK,MAAM,CAAC,IAAI,SAAS,OAAO,QAAQ,gBAAgB,GACtD,MAAM,IAAI,IAAI,IAAI;CAEtB;CAEA,MAAM,YAAY,MAAM,IAAI,GAAG;CAC/B,IAAI,CAAC,WACH,OAAO;CAGT,MAAM,iBAAiB,OAAO,KAAK,SAAS,CAAC,CAAC,MAAK,aAAYC,cAAAA,0BAA0B,WAAW,QAAQ,CAAC;CAC7G,IAAI,CAAC,gBACH,OAAO;CAGT,OADwB,UAAU;AAEpC;AAEA,eAAsB,QACpB,WACA,SACA,aACA;CAEA,IAAI,gBAAgB,SAAS,GAC3B,OAAO,YAAY,WAAW,OAAO;CAGvC,IAAI,eAAe,SAAS,GAC1B,OAAO,YAAY,WAAW,OAAO;CAIvC,MAAM,mBAAmB,oBAAoB;CAC7C,IAAI,iBAAiB,SAAS,GACV;MAAA,iBAAiB,MAAK,QAAOA,cAAAA,0BAA0B,WAAW,GAAG,CAC3E,GACV,OAAO;GAAE,KAAK,GAAG,cAAc;GAAa,cAAc;EAAK;CAAA;CAInE,IAAI,QAAQ,WAAW;EACrB,MAAM,aAAa,MAAM,cAAc,WAAW,QAAQ,SAAS;EAEnE,IAAI,YACF,OAAO,YAAY,WAAW;GAC5B,GAAG;GACH,WAAW;EACb,CAAC;CAEL;CAGA,OAAO,YAAY,WAAW,OAAO;AACvC;AAEA,eAAsB,KACpB,KACA,SACA,UACA;CACA,IAAI,IAAI,WAAW,WAAW,GAC5B,OAAO;EAAE,QAAQ;EAAU,QAAQ;EAAqB,cAAc;CAAK;CAE7E,OAAO,SAAS,KAAK,OAAO;AAC9B"}
1
+ {"version":3,"file":"custom-resolver.cjs","names":["builtinModules","join","existsSync","readFile","isDependencyPartOfPackage"],"sources":["../../src/validator/custom-resolver.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport type { LoadHookContext, ResolveHookContext } from 'node:module';\nimport { builtinModules } from 'node:module';\nimport { join } from 'node:path';\nimport { isDependencyPartOfPackage } from '../build/utils';\n\nconst STUB_PREFIX = 'mastra-stub:';\n\nlet _stubbedExternals: string[] | null = null;\nfunction getStubbedExternals(): string[] {\n if (_stubbedExternals === null) {\n try {\n _stubbedExternals = JSON.parse(process.env.STUBBED_EXTERNALS || '[]') as string[];\n } catch {\n _stubbedExternals = [];\n }\n }\n return _stubbedExternals;\n}\n\nconst cache = new Map<string, Record<string, string>>();\n\n/**\n * Check if a module is a Node.js builtin module\n * @param specifier - Module specifier\n * @returns True if it's a builtin module\n */\nfunction isBuiltinModule(specifier: string): boolean {\n return (\n builtinModules.includes(specifier) ||\n specifier.startsWith('node:') ||\n builtinModules.includes(specifier.replace(/^node:/, ''))\n );\n}\n\n/**\n * Check if a module specifier is a relative or absolute path\n * @param specifier - Module specifier\n * @returns True if it's a relative or absolute path\n */\nfunction isRelativePath(specifier: string): boolean {\n return (\n specifier.startsWith('./') ||\n specifier.startsWith('../') ||\n specifier.startsWith('/') ||\n /^[a-zA-Z]:\\\\/.test(specifier)\n ); // Windows absolute path\n}\n\n/**\n * Get the path to resolve any external packages from\n *\n * @param url\n * @returns\n */\nasync function getParentPath(specifier: string, url: string): Promise<string | null> {\n if (!cache.size) {\n let moduleResolveMapLocation = process.env.MODULE_MAP;\n if (!moduleResolveMapLocation) {\n moduleResolveMapLocation = join(process.cwd(), 'module-resolve-map.json');\n }\n\n let moduleResolveMap: Record<string, Record<string, string>> = {};\n if (existsSync(moduleResolveMapLocation)) {\n moduleResolveMap = JSON.parse(await readFile(moduleResolveMapLocation, 'utf-8')) as Record<\n string,\n Record<string, string>\n >;\n }\n\n for (const [id, rest] of Object.entries(moduleResolveMap)) {\n cache.set(id, rest);\n }\n }\n\n const importers = cache.get(url);\n if (!importers) {\n return null;\n }\n\n const matchedPackage = Object.keys(importers).find(external => isDependencyPartOfPackage(specifier, external));\n if (!matchedPackage) {\n return null;\n }\n const specifierParent = importers[matchedPackage]!;\n return specifierParent;\n}\n\nexport async function resolve(\n specifier: string,\n context: ResolveHookContext,\n nextResolve: (specifier: string, context: ResolveHookContext) => Promise<{ url: string }>,\n) {\n // Don't modify builtin modules\n if (isBuiltinModule(specifier)) {\n return nextResolve(specifier, context);\n }\n\n if (isRelativePath(specifier)) {\n return nextResolve(specifier, context);\n }\n\n // Stub GLOBAL_EXTERNALS packages during validation\n const stubbedExternals = getStubbedExternals();\n if (stubbedExternals.length > 0) {\n const isStubbed = stubbedExternals.some(ext => isDependencyPartOfPackage(specifier, ext));\n if (isStubbed) {\n return { url: `${STUB_PREFIX}${specifier}`, shortCircuit: true };\n }\n }\n\n if (context.parentURL) {\n const parentPath = await getParentPath(specifier, context.parentURL);\n\n if (parentPath) {\n return nextResolve(specifier, {\n ...context,\n parentURL: parentPath,\n });\n }\n }\n\n // Continue resolution with the modified path\n return nextResolve(specifier, context);\n}\n\nexport async function load(\n url: string,\n context: LoadHookContext,\n nextLoad: (url: string, context: LoadHookContext) => Promise<{ format: string; source: string }>,\n) {\n if (url.startsWith(STUB_PREFIX)) {\n return { format: 'module', source: 'export default {}', shortCircuit: true };\n }\n return nextLoad(url, context);\n}\n"],"mappings":";;;;;;;AAOA,MAAM,cAAc;AAEpB,IAAI,oBAAqC;AACzC,SAAS,sBAAgC;CACvC,IAAI,sBAAsB,MACxB,IAAI;EACF,oBAAoB,KAAK,MAAM,QAAQ,IAAI,qBAAqB,IAAI;CACtE,QAAQ;EACN,oBAAoB,CAAC;CACvB;CAEF,OAAO;AACT;AAEA,MAAM,wBAAQ,IAAI,IAAoC;;;;;;AAOtD,SAAS,gBAAgB,WAA4B;CACnD,OACEA,SAAAA,eAAe,SAAS,SAAS,KACjC,UAAU,WAAW,OAAO,KAC5BA,SAAAA,eAAe,SAAS,UAAU,QAAQ,UAAU,EAAE,CAAC;AAE3D;;;;;;AAOA,SAAS,eAAe,WAA4B;CAClD,OACE,UAAU,WAAW,IAAI,KACzB,UAAU,WAAW,KAAK,KAC1B,UAAU,WAAW,GAAG,KACxB,eAAe,KAAK,SAAS;AAEjC;;;;;;;AAQA,eAAe,cAAc,WAAmB,KAAqC;CACnF,IAAI,CAAC,MAAM,MAAM;EACf,IAAI,2BAA2B,QAAQ,IAAI;EAC3C,IAAI,CAAC,0BACH,4BAAA,GAA2BC,KAAAA,KAAAA,CAAK,QAAQ,IAAI,GAAG,yBAAyB;EAG1E,IAAI,mBAA2D,CAAC;EAChE,KAAA,GAAIC,GAAAA,WAAAA,CAAW,wBAAwB,GACrC,mBAAmB,KAAK,MAAM,OAAA,GAAMC,YAAAA,SAAAA,CAAS,0BAA0B,OAAO,CAAC;EAMjF,KAAK,MAAM,CAAC,IAAI,SAAS,OAAO,QAAQ,gBAAgB,GACtD,MAAM,IAAI,IAAI,IAAI;CAEtB;CAEA,MAAM,YAAY,MAAM,IAAI,GAAG;CAC/B,IAAI,CAAC,WACH,OAAO;CAGT,MAAM,iBAAiB,OAAO,KAAK,SAAS,CAAC,CAAC,MAAK,aAAYC,cAAAA,0BAA0B,WAAW,QAAQ,CAAC;CAC7G,IAAI,CAAC,gBACH,OAAO;CAGT,OADwB,UAAU;AAEpC;AAEA,eAAsB,QACpB,WACA,SACA,aACA;CAEA,IAAI,gBAAgB,SAAS,GAC3B,OAAO,YAAY,WAAW,OAAO;CAGvC,IAAI,eAAe,SAAS,GAC1B,OAAO,YAAY,WAAW,OAAO;CAIvC,MAAM,mBAAmB,oBAAoB;CAC7C,IAAI,iBAAiB,SAAS,GACV;MAAA,iBAAiB,MAAK,QAAOA,cAAAA,0BAA0B,WAAW,GAAG,CAC3E,GACV,OAAO;GAAE,KAAK,GAAG,cAAc;GAAa,cAAc;EAAK;CAAA;CAInE,IAAI,QAAQ,WAAW;EACrB,MAAM,aAAa,MAAM,cAAc,WAAW,QAAQ,SAAS;EAEnE,IAAI,YACF,OAAO,YAAY,WAAW;GAC5B,GAAG;GACH,WAAW;EACb,CAAC;CAEL;CAGA,OAAO,YAAY,WAAW,OAAO;AACvC;AAEA,eAAsB,KACpB,KACA,SACA,UACA;CACA,IAAI,IAAI,WAAW,WAAW,GAC5B,OAAO;EAAE,QAAQ;EAAU,QAAQ;EAAqB,cAAc;CAAK;CAE7E,OAAO,SAAS,KAAK,OAAO;AAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.cjs","names":[],"sources":["../../src/validator/loader.ts"],"sourcesContent":["import { register } from 'node:module';\n\n/**\n * Main loader hook that modifies module resolution\n */\nregister('./custom-resolver.js', import.meta.url);\n"],"mappings":";;;;CAKS,mBAAA,CAAA,CAAA,SAAA,CAAA,wBAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,IAAuC"}
1
+ {"version":3,"file":"loader.cjs","names":["register"],"sources":["../../src/validator/loader.ts"],"sourcesContent":["import { register } from 'node:module';\n\n/**\n * Main loader hook that modifies module resolution\n */\nregister('./custom-resolver.js', import.meta.url);\n"],"mappings":";;;;CAKAA,G,gBAAAA,CAAAA,CAAAA,SAAAA,CAAS,wBAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,IAAuC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","names":[],"sources":["../../src/validator/loader.ts"],"sourcesContent":["import { register } from 'node:module';\n\n/**\n * Main loader hook that modifies module resolution\n */\nregister('./custom-resolver.js', import.meta.url);\n"],"mappings":";;;;;AAKA,SAAS,wBAAwB,OAAO,KAAK,GAAG"}
1
+ {"version":3,"file":"loader.js","names":[],"sources":["../../src/validator/loader.ts"],"sourcesContent":["import { register } from 'node:module';\n\n/**\n * Main loader hook that modifies module resolution\n */\nregister('./custom-resolver.js', import.meta.url);\n"],"mappings":";;;;;AAKA,SAAS,wBAAwB,YAAY,GAAG"}
@@ -1,16 +1,16 @@
1
- import { t as MissingDependencyError } from "./index-CLddUTqr-CAnnFeRJ.js";
1
+ import { t as MissingDependencyError } from "./index-CLddUTqr-86A1rnBL.js";
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js
3
3
  const zodv4Error = new MissingDependencyError("zod v4");
4
4
  async function getToJsonSchemaFn() {
5
5
  return async (schema, options) => {
6
6
  let handler;
7
7
  if ("_zod" in schema) try {
8
- handler = (await import("./core-DPXkjlFR.js")).toJSONSchema;
8
+ handler = (await import("./core-75DLMtZL.js")).toJSONSchema;
9
9
  } catch {
10
10
  throw zodv4Error;
11
11
  }
12
12
  else try {
13
- handler = (await import("./esm-Bvuc3c9Z.js")).zodToJsonSchema;
13
+ handler = (await import("./esm-ClsnEB2d.js")).zodToJsonSchema;
14
14
  } catch {
15
15
  throw new MissingDependencyError("zod-to-json-schema");
16
16
  }
@@ -20,4 +20,4 @@ async function getToJsonSchemaFn() {
20
20
  //#endregion
21
21
  export { getToJsonSchemaFn as default };
22
22
 
23
- //# sourceMappingURL=zod-Bwrt9trS-D1WWVzpr.js.map
23
+ //# sourceMappingURL=zod-Bwrt9trS-BurSNK0g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-Bwrt9trS-D1WWVzpr.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nconst zodv4Error = new MissingDependencyError(\"zod v4\");\nasync function getToJsonSchemaFn() {\n return async (schema, options) => {\n let handler;\n if (\"_zod\" in schema) {\n try {\n const mod = await import('zod/v4/core');\n handler = mod.toJSONSchema;\n } catch {\n throw zodv4Error;\n }\n } else {\n try {\n const mod = await import('zod-to-json-schema');\n handler = mod.zodToJsonSchema;\n } catch {\n throw new MissingDependencyError(\"zod-to-json-schema\");\n }\n }\n return handler(schema, options);\n };\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,MAAM,aAAa,IAAI,uBAAuB,QAAQ;AACtD,eAAe,oBAAoB;CACjC,OAAO,OAAO,QAAQ,YAAY;EAChC,IAAI;EACJ,IAAI,UAAU,QACZ,IAAI;GAEF,WAAU,MADQ,OAAO,sBAAA,CACX;EAChB,QAAQ;GACN,MAAM;EACR;OAEA,IAAI;GAEF,WAAU,MADQ,OAAO,qBAAA,CACX;EAChB,QAAQ;GACN,MAAM,IAAI,uBAAuB,oBAAoB;EACvD;EAEF,OAAO,QAAQ,QAAQ,OAAO;CAChC;AACF"}
1
+ {"version":3,"file":"zod-Bwrt9trS-BurSNK0g.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nconst zodv4Error = new MissingDependencyError(\"zod v4\");\nasync function getToJsonSchemaFn() {\n return async (schema, options) => {\n let handler;\n if (\"_zod\" in schema) {\n try {\n const mod = await import('zod/v4/core');\n handler = mod.toJSONSchema;\n } catch {\n throw zodv4Error;\n }\n } else {\n try {\n const mod = await import('zod-to-json-schema');\n handler = mod.zodToJsonSchema;\n } catch {\n throw new MissingDependencyError(\"zod-to-json-schema\");\n }\n }\n return handler(schema, options);\n };\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,MAAM,aAAa,IAAI,uBAAuB,QAAQ;AACtD,eAAe,oBAAoB;CACjC,OAAO,OAAO,QAAQ,YAAY;EAChC,IAAI;EACJ,IAAI,UAAU,QACZ,IAAI;GAEF,WAAU,MADQ,OAAO,sBAAA,CACX;EAChB,QAAQ;GACN,MAAM;EACR;OAEA,IAAI;GAEF,WAAU,MADQ,OAAO,qBAAA,CACX;EAChB,QAAQ;GACN,MAAM,IAAI,uBAAuB,oBAAoB;EACvD;EAEF,OAAO,QAAQ,QAAQ,OAAO;CAChC;AACF"}
@@ -1,16 +1,16 @@
1
- const require_index_CLddUTqr = require("./index-CLddUTqr-BpIkA9jT.cjs");
1
+ const require_index_CLddUTqr = require("./index-CLddUTqr-D0GzVJyg.cjs");
2
2
  //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js
3
3
  const zodv4Error = new require_index_CLddUTqr.MissingDependencyError("zod v4");
4
4
  async function getToJsonSchemaFn() {
5
5
  return async (schema, options) => {
6
6
  let handler;
7
7
  if ("_zod" in schema) try {
8
- handler = (await Promise.resolve().then(() => require("./core-DLXu5DhR.cjs"))).toJSONSchema;
8
+ handler = (await Promise.resolve().then(() => require("./core-XnTfh3E_.cjs"))).toJSONSchema;
9
9
  } catch {
10
10
  throw zodv4Error;
11
11
  }
12
12
  else try {
13
- handler = (await Promise.resolve().then(() => require("./esm-SvpXPPt6.cjs"))).zodToJsonSchema;
13
+ handler = (await Promise.resolve().then(() => require("./esm-D74qc_jV.cjs"))).zodToJsonSchema;
14
14
  } catch {
15
15
  throw new require_index_CLddUTqr.MissingDependencyError("zod-to-json-schema");
16
16
  }
@@ -20,4 +20,4 @@ async function getToJsonSchemaFn() {
20
20
  //#endregion
21
21
  exports.default = getToJsonSchemaFn;
22
22
 
23
- //# sourceMappingURL=zod-Bwrt9trS-OBujxXwV.cjs.map
23
+ //# sourceMappingURL=zod-Bwrt9trS-Kv0hKWrV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-Bwrt9trS-OBujxXwV.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nconst zodv4Error = new MissingDependencyError(\"zod v4\");\nasync function getToJsonSchemaFn() {\n return async (schema, options) => {\n let handler;\n if (\"_zod\" in schema) {\n try {\n const mod = await import('zod/v4/core');\n handler = mod.toJSONSchema;\n } catch {\n throw zodv4Error;\n }\n } else {\n try {\n const mod = await import('zod-to-json-schema');\n handler = mod.zodToJsonSchema;\n } catch {\n throw new MissingDependencyError(\"zod-to-json-schema\");\n }\n }\n return handler(schema, options);\n };\n}\n\nexport { getToJsonSchemaFn as default };\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,MAAM,aAAa,IAAIA,uBAAAA,uBAAuB,QAAQ;AACtD,eAAe,oBAAoB;CACjC,OAAO,OAAO,QAAQ,YAAY;EAChC,IAAI;EACJ,IAAI,UAAU,QACZ,IAAI;GAEF,WAAU,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QADQ,qBAAA,CAAA,EAAA,CACJ;EAChB,QAAQ;GACN,MAAM;EACR;OAEA,IAAI;GAEF,WAAU,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QADQ,oBAAA,CAAA,EAAA,CACJ;EAChB,QAAQ;GACN,MAAM,IAAIA,uBAAAA,uBAAuB,oBAAoB;EACvD;EAEF,OAAO,QAAQ,QAAQ,OAAO;CAChC;AACF"}
1
+ {"version":3,"file":"zod-Bwrt9trS-Kv0hKWrV.cjs","names":["MissingDependencyError"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/ac64b21b225adb3ad3012ab2f9eb19098705e52e435f5917b031a4235585ba33/node_modules/@standard-community/standard-json/dist/zod-Bwrt9trS.js"],"sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nconst zodv4Error = new MissingDependencyError(\"zod v4\");\nasync function getToJsonSchemaFn() {\n return async (schema, options) => {\n let handler;\n if (\"_zod\" in schema) {\n try {\n const mod = await import('zod/v4/core');\n handler = mod.toJSONSchema;\n } catch {\n throw zodv4Error;\n }\n } else {\n try {\n const mod = await import('zod-to-json-schema');\n handler = mod.zodToJsonSchema;\n } catch {\n throw new MissingDependencyError(\"zod-to-json-schema\");\n }\n }\n return handler(schema, options);\n };\n}\n\nexport { getToJsonSchemaFn as default };\n"],"ignoreList":[0],"mappings":";;AAGA,MAAM,aAAa,IAAIA,uBAAAA,uBAAuB,QAAQ;AACtD,eAAe,oBAAoB;CACjC,OAAO,OAAO,QAAQ,YAAY;EAChC,IAAI;EACJ,IAAI,UAAU,QACZ,IAAI;GAEF,WAAU,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QADQ,qBAAA,CAAA,EAAA,CACJ;EAChB,QAAQ;GACN,MAAM;EACR;OAEA,IAAI;GAEF,WAAU,MAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QADQ,oBAAA,CAAA,EAAA,CACJ;EAChB,QAAQ;GACN,MAAM,IAAIA,uBAAAA,uBAAuB,oBAAoB;EACvD;EAEF,OAAO,QAAQ,QAAQ,OAAO;CAChC;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/deployer",
3
- "version": "1.79.0-alpha.10",
3
+ "version": "1.79.0-alpha.11",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -101,17 +101,16 @@
101
101
  "esbuild": "^0.28.0",
102
102
  "find-up-simple": "^1.0.1",
103
103
  "fs-extra": "^11.3.5",
104
+ "get-tsconfig": "^4.14.0",
104
105
  "hono": "^4.13.7",
105
106
  "local-pkg": "^1.1.2",
106
107
  "resolve.exports": "^2.0.3",
107
108
  "rollup": "^4.61.1",
108
109
  "rollup-plugin-esbuild": "^6.2.1",
109
- "strip-json-comments": "^5.0.3",
110
110
  "tinyglobby": "^0.2.17",
111
- "typescript-paths": "^1.5.2",
112
111
  "ws": "^8.21.3",
113
112
  "yaml": "^2.9.0",
114
- "@mastra/server": "1.79.0-alpha.10"
113
+ "@mastra/server": "1.79.0-alpha.11"
115
114
  },
116
115
  "devDependencies": {
117
116
  "@hono/node-server": "^2.0.0",
@@ -131,13 +130,13 @@
131
130
  "vitest": "4.1.11",
132
131
  "zod": "^4.6.7",
133
132
  "@internal/core": "0.1.3-alpha.1",
134
- "@internal/types-builder": "0.0.119",
135
133
  "@internal/lint": "0.0.144",
134
+ "@internal/types-builder": "0.0.119",
136
135
  "@mastra/agent-browser": "0.5.4-alpha.0",
137
- "@mastra/hono": "1.7.21-alpha.10",
138
- "@mastra/core": "1.79.0-alpha.10",
139
- "@mastra/server": "1.79.0-alpha.10",
140
- "@mastra/mcp": "^2.5.0-alpha.1"
136
+ "@mastra/core": "1.79.0-alpha.11",
137
+ "@mastra/mcp": "^2.5.0-alpha.2",
138
+ "@mastra/hono": "1.7.21-alpha.11",
139
+ "@mastra/server": "1.79.0-alpha.11"
141
140
  },
142
141
  "peerDependencies": {
143
142
  "@mastra/core": ">=1.58.0-0 <2.0.0-0"