@mastra/deployer 0.0.1-alpha.0

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 (79) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +44 -0
  3. package/dist/build/bundle.d.ts +8 -0
  4. package/dist/build/bundle.d.ts.map +1 -0
  5. package/dist/build/deps.d.ts +21 -0
  6. package/dist/build/deps.d.ts.map +1 -0
  7. package/dist/build/env.d.ts +14 -0
  8. package/dist/build/env.d.ts.map +1 -0
  9. package/dist/build/fs.d.ts +22 -0
  10. package/dist/build/fs.d.ts.map +1 -0
  11. package/dist/build/index.d.ts +6 -0
  12. package/dist/build/index.d.ts.map +1 -0
  13. package/dist/build/utils.d.ts +2 -0
  14. package/dist/build/utils.d.ts.map +1 -0
  15. package/dist/deploy/base.d.ts +36 -0
  16. package/dist/deploy/base.d.ts.map +1 -0
  17. package/dist/deploy/index.d.ts +2 -0
  18. package/dist/deploy/index.d.ts.map +1 -0
  19. package/dist/deployer.cjs.development.js +2872 -0
  20. package/dist/deployer.cjs.development.js.map +1 -0
  21. package/dist/deployer.cjs.production.min.js +2 -0
  22. package/dist/deployer.cjs.production.min.js.map +1 -0
  23. package/dist/deployer.esm.js +2840 -0
  24. package/dist/deployer.esm.js.map +1 -0
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +8 -0
  28. package/dist/server/handlers/agents.d.ts +6 -0
  29. package/dist/server/handlers/agents.d.ts.map +1 -0
  30. package/dist/server/handlers/client.d.ts +7 -0
  31. package/dist/server/handlers/client.d.ts.map +1 -0
  32. package/dist/server/handlers/error.d.ts +7 -0
  33. package/dist/server/handlers/error.d.ts.map +1 -0
  34. package/dist/server/handlers/logs.d.ts +4 -0
  35. package/dist/server/handlers/logs.d.ts.map +1 -0
  36. package/dist/server/handlers/memory.d.ts +17 -0
  37. package/dist/server/handlers/memory.d.ts.map +1 -0
  38. package/dist/server/handlers/root.d.ts +3 -0
  39. package/dist/server/handlers/root.d.ts.map +1 -0
  40. package/dist/server/handlers/syncs.d.ts +3 -0
  41. package/dist/server/handlers/syncs.d.ts.map +1 -0
  42. package/dist/server/handlers/tools.d.ts +8 -0
  43. package/dist/server/handlers/tools.d.ts.map +1 -0
  44. package/dist/server/handlers/utils.d.ts +2 -0
  45. package/dist/server/handlers/utils.d.ts.map +1 -0
  46. package/dist/server/handlers/workflows.d.ts +11 -0
  47. package/dist/server/handlers/workflows.d.ts.map +1 -0
  48. package/dist/server/index.d.ts +21 -0
  49. package/dist/server/index.d.ts.map +1 -0
  50. package/dist/server/index.js +8964 -0
  51. package/dist/server/types.d.ts +5 -0
  52. package/dist/server/types.d.ts.map +1 -0
  53. package/dist/server/welcome.d.ts +2 -0
  54. package/dist/server/welcome.d.ts.map +1 -0
  55. package/package.json +61 -0
  56. package/src/build/bundle.ts +224 -0
  57. package/src/build/deps.ts +128 -0
  58. package/src/build/env.ts +76 -0
  59. package/src/build/fs.ts +66 -0
  60. package/src/build/index.ts +5 -0
  61. package/src/build/utils.ts +12 -0
  62. package/src/deploy/base.ts +171 -0
  63. package/src/deploy/index.ts +1 -0
  64. package/src/index.ts +3 -0
  65. package/src/server/handlers/agents.ts +121 -0
  66. package/src/server/handlers/client.ts +36 -0
  67. package/src/server/handlers/error.ts +29 -0
  68. package/src/server/handlers/logs.ts +24 -0
  69. package/src/server/handlers/memory.ts +208 -0
  70. package/src/server/handlers/root.ts +6 -0
  71. package/src/server/handlers/syncs.ts +19 -0
  72. package/src/server/handlers/tools.ts +156 -0
  73. package/src/server/handlers/utils.ts +15 -0
  74. package/src/server/handlers/workflows.ts +60 -0
  75. package/src/server/index.ts +185 -0
  76. package/src/server/types.ts +4 -0
  77. package/src/server/welcome.ts +105 -0
  78. package/tsconfig.json +10 -0
  79. package/vitest.config.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.cjs.production.min.js","sources":["../src/build/env.ts","../src/build/fs.ts","../src/build/utils.ts","../src/build/bundle.ts","../src/build/deps.ts","../src/deploy/base.ts","../src/server/handlers/error.ts","../src/server/handlers/utils.ts","../src/server/handlers/agents.ts","../src/server/handlers/client.ts","../src/server/handlers/logs.ts","../src/server/handlers/memory.ts","../src/server/handlers/root.ts","../src/server/handlers/syncs.ts","../src/server/handlers/tools.ts","../src/server/handlers/workflows.ts","../src/server/index.ts","../src/server/welcome.ts"],"sourcesContent":["import * as fs from '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 data = data.replace(regex, `${key}=${value}`);\n } else {\n data += `\\n${key}=${value}`;\n }\n await this.writeFile({ filePath, data });\n console.log(`${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 'fs';\nimport path from 'path';\nimport { fileURLToPath } from '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.log(`${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 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","import { execSync } from 'child_process';\nimport { existsSync, mkdirSync } from 'fs';\nimport { join } from 'path';\n\nexport function upsertMastraDir() {\n const dirPath = join(process.cwd(), '.mastra');\n\n if (!existsSync(dirPath)) {\n mkdirSync(dirPath, { recursive: true });\n execSync(`echo \".mastra\" >> .gitignore`);\n }\n}\n","import { Workflow, Step } from '@mastra/core';\nimport * as esbuild from 'esbuild';\nimport { type BuildOptions } from 'esbuild';\nimport { writeFileSync } from 'fs';\nimport { join } from 'path';\nimport { z } from 'zod';\n\nimport { FileService } from './fs.js';\nimport { upsertMastraDir } from './utils.js';\n\nconst buildWorkflow = new Workflow({\n name: 'Build',\n triggerSchema: z.object({\n buildName: z.string(),\n entry: z.string(),\n outfile: z.string().optional(),\n useBanner: z.boolean().optional(),\n devMode: z.boolean().optional(),\n }),\n});\n\nbuildWorkflow.__setLogger(null as any);\n\nconst ensureDir = new Step({\n id: 'Ensure Directory',\n execute: async () => {\n // Ensure .mastra directory exists\n upsertMastraDir();\n },\n});\n\nconst bundleStep = new Step({\n id: 'Bundle',\n execute: async ({ context }) => {\n const devMode = context.machineContext?.triggerData.devMode;\n const buildName = context.machineContext?.triggerData.buildName;\n const useBanner = context.machineContext?.triggerData.useBanner;\n\n const entry = context.machineContext?.triggerData.entry;\n\n const outfile = context.machineContext?.triggerData.outfile;\n\n const fileService = new FileService();\n const entryPoint = fileService.getFirstExistingFile([entry]);\n const outfilePath = outfile || join(process.cwd(), '.mastra', 'mastra.mjs');\n\n const plugins: any[] = [];\n\n let missingMastraDependency = false;\n\n const externalIfMissingPlugin = {\n name: 'external-if-missing',\n setup(build: any) {\n build.onResolve(\n { filter: /^.*$/ },\n // @ts-ignore\n (args: any) => {\n if (!args.importer.endsWith('.mastra/index.mjs')) return;\n try {\n const resolvedPath = import.meta.resolve(args.path);\n if (!resolvedPath || resolvedPath.includes('_npx/')) {\n missingMastraDependency = true;\n return { path: args.path, external: true };\n }\n } catch (e) {\n missingMastraDependency = true;\n return { path: args.path, external: true };\n }\n },\n );\n },\n };\n\n if (devMode) {\n plugins.push(externalIfMissingPlugin);\n }\n\n const esbuildConfig: BuildOptions = {\n entryPoints: [entryPoint],\n bundle: true,\n platform: 'node',\n format: 'esm',\n outfile: outfilePath,\n target: 'node20',\n sourcemap: true,\n logLevel: 'silent',\n minify: false,\n metafile: true,\n mainFields: ['module', 'main'],\n conditions: ['import', 'node'],\n logOverride: {\n 'commonjs-variable-in-esm': 'silent',\n },\n external: [\n 'execa',\n // Mark node built-ins as external\n 'assert',\n 'buffer',\n 'child_process',\n 'cluster',\n 'constants',\n 'crypto',\n 'dgram',\n 'dns',\n 'events',\n 'fs',\n 'http',\n 'http2',\n 'https',\n 'module',\n 'net',\n 'os',\n 'path',\n 'punycode',\n 'querystring',\n 'readline',\n 'repl',\n 'stream',\n 'string_decoder',\n 'sys',\n 'timers',\n 'tls',\n 'tty',\n 'url',\n 'util',\n 'v8',\n 'vm',\n 'wasi',\n 'worker_threads',\n 'zlib',\n 'chromium-bidi/lib/cjs/bidiMapper/BidiMapper',\n 'chromium-bidi/lib/cjs/cdp/CdpConnection',\n\n // Your packages\n '@mastra/core',\n '@mastra/memory',\n '@mastra/engine',\n '@mastra/rag',\n '@mastra/evals',\n '@mastra/mcp',\n '@mastra/tts',\n '@mastra/firecrawl',\n '@mastra/github',\n '@mastra/stabilityai',\n '@mastra/deployer',\n '@mastra/deployer-cloudflare',\n '@mastra/deployer-netlify',\n '@mastra/deployer-vercel',\n ],\n plugins,\n };\n\n if (useBanner) {\n esbuildConfig.banner = {\n js: `\n import { createRequire } from \"node:module\"; \n const require = createRequire(import.meta.url || 'file:///');\n `,\n };\n }\n\n const result = await esbuild.build(esbuildConfig);\n\n if (devMode && missingMastraDependency) {\n console.error(\n `Missing Mastra dependency. Please install the mastra package in your project or globally using npm i -g mastra`,\n );\n process.exit(1);\n }\n\n // Log build results\n console.log(`[${buildName}]: build completed successfully`);\n\n return result;\n },\n});\n\nconst analyzeStep = new Step({\n id: 'Analyze',\n execute: async ({ context }) => {\n if (context?.machineContext?.stepResults?.Bundle?.status !== 'success') {\n throw new Error('Bundle step failed');\n }\n writeFileSync(\n join(process.cwd(), '.mastra', 'metafile.json'),\n JSON.stringify(context.machineContext?.stepResults.Bundle.payload.metafile, null, 2),\n );\n const res = await esbuild.analyzeMetafile(context.machineContext?.stepResults.Bundle.payload.metafile);\n return res;\n },\n});\n\nbuildWorkflow.step(ensureDir).then(bundleStep).then(analyzeStep).commit();\n\nexport async function bundle(\n entry: string,\n {\n useBanner = true,\n buildName = 'Build',\n outfile,\n devMode,\n }: { devMode?: boolean; outfile?: string; entryFile?: string; buildName?: string; useBanner?: boolean } = {},\n) {\n const { start } = buildWorkflow.createRun();\n\n try {\n await start({\n triggerData: {\n buildName,\n entry,\n useBanner,\n outfile,\n devMode,\n },\n });\n\n // console.log(JSON.stringify(result, null, 2));\n\n // return result;\n } catch (error) {\n console.error('Failed to build:', error);\n process.exit(1);\n }\n}\n","import { execa } from 'execa';\nimport fs from 'fs';\nimport path, { dirname } from 'path';\nimport { PackageJson } from 'type-fest';\nimport { fileURLToPath } from 'url';\n\nimport fsExtra from 'fs-extra/esm';\nimport fsPromises from 'fs/promises';\n\nexport class Deps {\n private packageManager: string;\n\n constructor() {\n this.packageManager = this.getPackageManager();\n }\n\n private findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(path.join(dir, file))) {\n return file;\n }\n }\n const parentDir = path.resolve(dir, '..');\n if (parentDir !== dir) {\n return this.findLockFile(parentDir);\n }\n return null;\n }\n\n private getPackageManager(): string {\n const lockFile = this.findLockFile(process.cwd());\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n return 'pnpm';\n case 'package-lock.json':\n return 'npm';\n case 'yarn.lock':\n return 'yarn';\n default:\n return 'npm';\n }\n }\n\n public async install(packages: string[] = []) {\n let runCommand = this.packageManager;\n if (this.packageManager === 'npm') {\n runCommand = `${this.packageManager} i`;\n } else {\n runCommand = `${this.packageManager} ${packages?.length > 0 ? `add` : `install`}`;\n }\n\n return execa(`${runCommand}`, packages, {\n all: true,\n shell: true,\n stdio: 'inherit',\n });\n }\n\n public async installPackages(packages: string[]) {\n let runCommand = this.packageManager;\n if (this.packageManager === 'npm') {\n runCommand = `${this.packageManager} i`;\n } else {\n runCommand = `${this.packageManager} add`;\n }\n\n const packageList = packages.join(' ');\n return execa(`${runCommand} ${packageList}`, {\n all: true,\n shell: true,\n stdio: 'inherit',\n });\n }\n\n public async checkDependencies(dependencies: string[]): Promise<string> {\n try {\n const packageJsonPath = path.join(process.cwd(), '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 = JSON.parse(await fsPromises.readFile(packageJsonPath, 'utf-8'));\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(process.cwd(), 'package.json');\n const packageJson = await fsPromises.readFile(packageJsonPath, 'utf-8');\n const pkg = JSON.parse(packageJson);\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 fsExtra.readJSON(pkgJsonPath)) as PackageJson;\n return content.version;\n }\n\n public async addScriptsToPackageJson(scripts: Record<string, string>) {\n const packageJson = JSON.parse(await fsPromises.readFile('package.json', 'utf-8'));\n packageJson.scripts = {\n ...packageJson.scripts,\n ...scripts,\n };\n await fsPromises.writeFile('package.json', JSON.stringify(packageJson, null, 2));\n }\n}\n","import { Mastra } from '@mastra/core';\nimport { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport path, { join } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { bundle } from '../build/bundle.js';\nimport { Deps } from '../build/deps.js';\nimport { upsertMastraDir } from '../build/utils.js';\n\nexport class Deployer {\n deps: Deps = new Deps();\n dotMastraPath: string;\n name: string = '';\n type: 'Deploy' | 'Dev';\n\n log = (message: string) => {\n console.log(`[Mastra ${this.type}] - ${message}`);\n };\n\n constructor({ dir, type }: { dir: string; type: 'Deploy' | 'Dev' }) {\n this.dotMastraPath = join(dir, '.mastra');\n this.type = type;\n }\n\n getMastraPath() {\n return this.dotMastraPath;\n }\n\n async getMastra() {\n return (await import(join(this.dotMastraPath, 'mastra.mjs'))) as { mastra: Mastra };\n }\n\n async writePackageJson() {\n this.log('Writing package.json');\n let projectPkg: any = {\n dependencies: {},\n };\n\n try {\n projectPkg = JSON.parse(readFileSync(join(this.dotMastraPath, '..', 'package.json'), 'utf-8'));\n } catch (_e) {\n // no-op\n }\n\n const mastraDeps = Object.entries(projectPkg.dependencies)\n .filter(([name]) => name.startsWith('@mastra') && !name.startsWith('@mastra/deployer'))\n .reduce((acc: any, [name, version]) => {\n if (version === 'workspace:*') {\n acc[name] = 'latest';\n } else {\n acc[name] = version;\n }\n\n return acc;\n }, {});\n\n const pkgPath = join(this.dotMastraPath, 'package.json');\n\n if (this.type === 'Dev' && existsSync(pkgPath)) {\n return;\n }\n\n writeFileSync(\n pkgPath,\n JSON.stringify(\n {\n name: 'server',\n version: '1.0.0',\n description: '',\n type: 'module',\n main: 'index.mjs',\n scripts: {\n start: 'node ./index.mjs',\n },\n author: '',\n license: 'ISC',\n dependencies: {\n ...mastraDeps,\n hono: '4.6.17',\n execa: 'latest',\n '@hono/node-server': '^1.13.7',\n superjson: '^2.2.2',\n 'zod-to-json-schema': '^3.24.1',\n },\n },\n null,\n 2,\n ),\n );\n }\n\n async install() {\n this.log('Ensuring your dependencies up to date...');\n await this.deps.install();\n }\n\n protected getEnvFiles(): string[] {\n const envFiles = ['.env', '.env.development', '.env.local']\n .map(file => join(process.cwd(), file))\n .filter(file => existsSync(file));\n return envFiles;\n }\n\n getEnvVars() {\n // Get all env vars\n const envFiles = this.getEnvFiles();\n const envVars: Record<string, string> = {};\n\n for (const file of envFiles) {\n const vars = this.parseEnvFile(file);\n for (const envVar of vars) {\n const [key, value] = envVar.split('=');\n if (key && value) {\n envVars[key] = value;\n }\n }\n }\n\n return envVars;\n }\n\n protected parseEnvFile(filePath: string): string[] {\n const content = readFileSync(filePath, 'utf-8');\n return content\n .split('\\n')\n .map(line => line.trim())\n .filter(line => line && !line.startsWith('#'))\n .filter(line => line.includes('=')); // Only include valid KEY=value pairs\n }\n\n async build({ dir, useBanner = true }: { dir: string; useBanner?: boolean }) {\n if (!existsSync(this.dotMastraPath)) {\n mkdirSync(this.dotMastraPath);\n }\n\n await bundle(dir, { useBanner, outfile: join(this.dotMastraPath, 'mastra.mjs') });\n }\n\n async buildServer({ playground = false }: { playground?: boolean } = { playground: false }) {\n upsertMastraDir();\n\n const templatePath = join(this.dotMastraPath, 'hono.mjs');\n\n writeFileSync(\n templatePath,\n `\n import { createHonoServer } from './server.mjs';\n import { mastra } from './mastra.mjs';\n\n export const app = await createHonoServer(mastra, { playground: ${playground} });\n `,\n );\n }\n\n async writeServerFile() {\n const fileServerPath = await import.meta.resolve('@mastra/deployer/server');\n const serverPath = fileURLToPath(fileServerPath);\n copyFileSync(serverPath, join(this.dotMastraPath, 'server.mjs'));\n }\n\n async prepare({ dir, playground, useBanner = true }: { useBanner?: boolean; dir?: string; playground?: boolean }) {\n this.log('Preparing .mastra directory');\n upsertMastraDir();\n const dirPath = dir || path.join(process.cwd(), 'src/mastra');\n this.writePackageJson();\n this.writeServerFile();\n await this.install();\n await this.build({ dir: dirPath, useBanner });\n await this.buildServer({ playground });\n }\n}\n","import { Context } from 'hono';\n\nimport { HTTPException } from 'hono/http-exception';\nimport { ContentfulStatusCode } from 'hono/utils/http-status';\n\nimport { ApiError } from '../types';\n\n// Helper to handle errors consistently\nexport function handleError(error: unknown, defaultMessage: string) {\n console.error(defaultMessage, error);\n const apiError = error as ApiError;\n throw new HTTPException((apiError.status || 500) as ContentfulStatusCode, {\n message: apiError.message || defaultMessage,\n });\n}\n\n// Error handlers\nexport function notFoundHandler() {\n throw new HTTPException(404, { message: 'Not Found' });\n}\n\nexport function errorHandler(err: Error, c: Context) {\n if (err instanceof HTTPException) {\n return c.json({ error: err.message }, err.status);\n }\n\n console.error(err);\n return c.json({ error: 'Internal Server Error' }, 500);\n}\n","import { HTTPException } from 'hono/http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `${key} is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: JSON.stringify(errorResponse) });\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Agent handlers\nexport async function getAgentsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agents = mastra.getAgents();\n\n const serializedAgents = Object.entries(agents).reduce<any>((acc, [_id, _agent]) => {\n const agent = _agent as any;\n const serializedAgentTools = Object.entries(agent?.tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n acc[_id] = {\n ...agent,\n tools: serializedAgentTools,\n };\n return acc;\n }, {});\n\n return c.json(serializedAgents);\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nexport async function getAgentByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const serializedAgentTools = Object.entries(agent?.tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n return c.json({\n ...agent,\n tools: serializedAgentTools,\n });\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function generateHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, threadId, resourceid, output } = await c.req.json();\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const result = await agent.generate(messages, { threadId, resourceid, output });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, threadId, resourceid, output } = await c.req.json();\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const streamResult = await agent.stream(messages, { threadId, resourceid, output });\n return new Response(streamResult.toDataStream(), {\n headers: {\n 'Content-Type': 'text/x-unknown',\n 'content-encoding': 'identity',\n 'transfer-encoding': 'chunked',\n },\n });\n } catch (error) {\n return handleError(error, 'Error streaming from agent');\n }\n}\n","import { Context } from 'hono';\n\nconst clients = new Set<ReadableStreamDefaultController>();\n\nexport function handleClientsRefresh(c: Context) {\n const stream = new ReadableStream({\n start(controller) {\n clients.add(controller);\n controller.enqueue('data: connected\\n\\n');\n\n c.req.raw.signal.addEventListener('abort', () => {\n clients.delete(controller);\n });\n },\n });\n\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream',\n 'Cache-Control': 'no-cache',\n Connection: 'keep-alive',\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function handleTriggerClientsRefresh(c: Context) {\n clients.forEach(controller => {\n try {\n controller.enqueue('data: refresh\\n\\n');\n } catch {\n clients.delete(controller);\n }\n });\n return c.json({ success: true, clients: clients.size });\n}\n","import { Context } from 'hono';\n\nimport { handleError } from './error';\n\nexport async function getLogsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const logs = await mastra.getLogs();\n return c.json(logs);\n } catch (error) {\n return handleError(error, 'Error getting logs');\n }\n}\n\nexport async function getLogsByRunIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const runId = c.req.param('runId');\n const logs = await mastra.getLogsByRunId(runId);\n return c.json(logs);\n } catch (error) {\n return handleError(error, 'Error getting logs by run ID');\n }\n}\n","import { Context } from 'hono';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Memory handlers\nexport async function getMemoryStatusHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n\n if (!memory) {\n return c.json({ result: false });\n }\n\n return c.json({ result: true });\n } catch (error) {\n return handleError(error, 'Error getting memory status');\n }\n}\n\nexport async function getThreadsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { resourceid } = c.req.query();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const threads = await memory.getThreadsByResourceId({ resourceid });\n return c.json(threads);\n } catch (error) {\n return handleError(error, 'Error getting threads');\n }\n}\n\nexport async function getThreadByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n return c.json(thread);\n } catch (error) {\n return handleError(error, 'Error getting thread');\n }\n}\n\nexport async function saveMessagesHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { messages } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ messages });\n\n if (!Array.isArray(messages)) {\n throw new HTTPException(400, { message: 'Messages should be an array' });\n }\n\n const processedMessages = messages.map(message => ({\n ...message,\n id: memory.generateId(),\n createdAt: message.createdAt ? new Date(message.createdAt) : new Date(),\n }));\n\n const result = await memory.saveMessages({ messages: processedMessages });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error saving messages');\n }\n}\n\nexport async function getContextWindowHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { startDate, endDate, format } = c.req.query();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const result = await memory.getContextWindow({ threadId, startDate, endDate, format });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting context window from memory');\n }\n}\n\nexport async function createThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { title, metadata, resourceid, threadId } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ resourceid });\n\n const result = await memory.createThread({ resourceid, title, metadata, threadId });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error saving thread to memory');\n }\n}\n\nexport async function updateThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { title, metadata, resourceid } = await c.req.json();\n const updatedAt = new Date();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const updatedThread = {\n ...thread,\n title: title || thread.title,\n metadata: metadata || thread.metadata,\n resourceid: resourceid || thread.resourceid,\n createdAt: thread.createdat,\n updatedAt,\n };\n\n const result = await memory.saveThread({ thread: updatedThread });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error updating thread');\n }\n}\n\nexport async function deleteThreadHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n await memory.deleteThread(threadId);\n return c.json({ result: 'Thread deleted' });\n } catch (error) {\n return handleError(error, 'Error deleting thread');\n }\n}\n\nexport async function getMessagesHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n\n if (!memory) {\n return c.json({ error: 'Memory is not initialized' }, 400);\n }\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n return c.json({ error: 'Thread not found' }, 404);\n }\n\n const result = await memory.getMessages({ threadId });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting messages');\n }\n}\n","import { Context } from 'hono';\n\n// Root handler\nexport async function rootHandler(c: Context) {\n return c.text('Hello to the Mastra API!');\n}\n","import { Context } from 'hono';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\nexport async function executeSyncHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const syncId = c.req.param('syncId');\n const { runId, params: syncParams } = await c.req.json();\n\n validateBody({ params: syncParams });\n\n const result = await mastra.sync(syncId, syncParams, runId);\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing sync');\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { HTTPException } from 'hono/http-exception';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// Tool handlers\nexport async function getToolsHandler(c: Context) {\n try {\n const tools = c.get('tools');\n\n if (!tools) {\n return c.json({});\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return c.json(serializedTools);\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler(c: Context) {\n try {\n const tools = c.get('tools');\n const toolId = c.req.param('toolId');\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return c.json(serializedTool);\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport async function getToolResultHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const threadId = c.req.param('threadId');\n const { toolName, toolArgs } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ toolName, toolArgs });\n\n const thread = await memory.getThreadById({ threadId });\n if (!thread) {\n throw new HTTPException(404, { message: 'Thread not found' });\n }\n\n const result = await memory.getToolResult({ threadId, toolName, toolArgs });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error getting tool result');\n }\n}\n\nexport async function validateToolCallArgsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const memory = mastra.memory;\n const { hashedArgs } = await c.req.json();\n\n if (!memory) {\n throw new HTTPException(400, { message: 'Memory is not initialized' });\n }\n\n validateBody({ hashedArgs });\n\n const result = await memory.validateToolCallArgs({ hashedArgs });\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error validating tool call args');\n }\n}\n\nexport function executeToolHandler(tools: Record<string, any>) {\n return async (c: Context) => {\n try {\n const toolId = decodeURIComponent(c.req.param('toolId'));\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n return c.json({ error: 'Tool not found' }, 404);\n }\n\n const { input } = await c.req.json();\n const mastra = c.get('mastra');\n const result = await tool.execute({\n context: {\n ...input,\n },\n mastra,\n runId: mastra.runId,\n });\n\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function executeAgentToolHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const agentId = c.req.param('agentId');\n const toolId = c.req.param('toolId');\n const agent = mastra.getAgent(agentId);\n const tool = Object.values(agent?.tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const body = await c.req.json();\n const result = await tool.execute({\n context: {\n ...body,\n },\n mastra,\n runId: agentId,\n });\n\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n","import { Context } from 'hono';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nimport { handleError } from './error';\n\nexport async function getWorkflowsHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflows = mastra.getWorkflows({ serialized: true });\n return c.json(workflows);\n } catch (error) {\n return handleError(error, 'Error getting workflows');\n }\n}\n\nexport async function getWorkflowByIdHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflowId = c.req.param('workflowId');\n const workflow = mastra.getWorkflow(workflowId);\n\n const triggerSchema = workflow.triggerSchema;\n const stepGraph = workflow.stepGraph;\n const stepSubscriberGraph = workflow.stepSubscriberGraph;\n const serializedSteps = Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n ..._step,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n return c.json({\n name: workflow.name,\n triggerSchema: triggerSchema ? stringify(zodToJsonSchema(triggerSchema)) : undefined,\n steps: serializedSteps,\n stepGraph,\n stepSubscriberGraph,\n });\n } catch (error) {\n return handleError(error, 'Error getting workflow');\n }\n}\n\nexport async function executeWorkflowHandler(c: Context) {\n try {\n const mastra = c.get('mastra');\n const workflowId = c.req.param('workflowId');\n const workflow = mastra.getWorkflow(workflowId);\n const body = await c.req.json();\n\n const result = await workflow.execute(body);\n return c.json(result);\n } catch (error) {\n return handleError(error, 'Error executing workflow');\n }\n}\n","import { serve } from '@hono/node-server';\nimport { serveStatic } from '@hono/node-server/serve-static';\nimport { type Mastra } from '@mastra/core';\nimport { Hono } from 'hono';\nimport { join } from 'path';\nimport { pathToFileURL } from 'url';\n\nimport { readFile } from 'fs/promises';\nimport { cors } from 'hono/cors';\n\nimport { generateHandler, getAgentByIdHandler, getAgentsHandler, streamGenerateHandler } from './handlers/agents.js';\nimport { handleClientsRefresh } from './handlers/client.js';\nimport { handleTriggerClientsRefresh } from './handlers/client.js';\nimport { getLogsByRunIdHandler, getLogsHandler } from './handlers/logs';\nimport {\n createThreadHandler,\n deleteThreadHandler,\n getContextWindowHandler,\n getMemoryStatusHandler,\n getMessagesHandler,\n getThreadByIdHandler,\n getThreadsHandler,\n saveMessagesHandler,\n updateThreadHandler,\n} from './handlers/memory';\nimport { rootHandler } from './handlers/root.js';\nimport { executeSyncHandler } from './handlers/syncs.js';\nimport {\n executeAgentToolHandler,\n executeToolHandler,\n getToolByIdHandler,\n getToolResultHandler,\n getToolsHandler,\n validateToolCallArgsHandler,\n} from './handlers/tools';\nimport { executeWorkflowHandler, getWorkflowByIdHandler, getWorkflowsHandler } from './handlers/workflows';\nimport { html } from './welcome.js';\n\ntype Bindings = {};\n\ntype Variables = {\n mastra: Mastra;\n clients: Set<{ controller: ReadableStreamDefaultController }>;\n tools: Record<string, any>;\n};\n\nexport async function createHonoServer(mastra: Mastra, options: { playground?: boolean } = {}) {\n // Create typed Hono app\n const app = new Hono<{ Bindings: Bindings; Variables: Variables }>();\n\n // Initialize tools\n const mastraToolsPaths = process.env.MASTRA_TOOLS_PATH;\n const toolImports = mastraToolsPaths\n ? await Promise.all(\n mastraToolsPaths.split(',').map(async toolPath => {\n return import(pathToFileURL(toolPath).href);\n }),\n )\n : [];\n\n const tools = toolImports.reduce((acc, toolModule) => {\n Object.entries(toolModule).forEach(([key, tool]) => {\n acc[key] = tool;\n });\n return acc;\n }, {});\n\n // Middleware\n app.use('*', cors());\n\n // Add Mastra to context\n app.use('*', async (c, next) => {\n c.set('mastra', mastra);\n c.set('tools', tools);\n await next();\n });\n\n // API routes\n app.get('/api', rootHandler);\n\n // Agent routes\n app.get('/api/agents', getAgentsHandler);\n app.get('/api/agents/:agentId', getAgentByIdHandler);\n app.post('/api/agents/:agentId/generate', generateHandler);\n app.post('/api/agents/:agentId/stream', streamGenerateHandler);\n app.post('/api/agents/:agentId/tools/:toolId/execute', executeAgentToolHandler);\n\n // Memory routes\n app.get('/api/memory/status', getMemoryStatusHandler);\n app.get('/api/memory/threads', getThreadsHandler);\n app.get('/api/memory/threads/:threadId', getThreadByIdHandler);\n app.get('/api/memory/threads/:threadId/messages', getMessagesHandler);\n app.get('/api/memory/threads/:threadId/context-window', getContextWindowHandler);\n app.post('/api/memory/threads', createThreadHandler);\n app.patch('/api/memory/threads/:threadId', updateThreadHandler);\n app.delete('/api/memory/threads/:threadId', deleteThreadHandler);\n app.post('/api/memory/save-messages', saveMessagesHandler);\n app.post('/api/memory/threads/:threadId/tool-result', getToolResultHandler);\n app.post('/api/memory/validate-tool-call-args', validateToolCallArgsHandler);\n\n // Workflow routes\n app.get('/api/workflows', getWorkflowsHandler);\n app.get('/api/workflows/:workflowId', getWorkflowByIdHandler);\n app.post('/api/workflows/:workflowId/execute', executeWorkflowHandler);\n\n // Sync routes\n app.post('/api/syncs/:syncId/execute', executeSyncHandler);\n\n // Log routes\n app.get('/api/logs', getLogsHandler);\n app.get('/api/logs/:runId', getLogsByRunIdHandler);\n\n // Tool routes\n app.get('/api/tools', getToolsHandler);\n app.get('/api/tools/:toolId', getToolByIdHandler);\n app.post('/api/tools/:toolId/execute', executeToolHandler(tools));\n\n // SSE endpoint for refresh notifications\n app.get('/refresh-events', handleClientsRefresh);\n\n // Trigger refresh for all clients\n app.post('/__refresh', handleTriggerClientsRefresh);\n\n if (options?.playground) {\n // Playground routes - these should come after API routes\n // Serve assets with specific MIME types\n app.use('/assets/*', async (c, next) => {\n const path = c.req.path;\n if (path.endsWith('.js')) {\n c.header('Content-Type', 'application/javascript');\n } else if (path.endsWith('.css')) {\n c.header('Content-Type', 'text/css');\n }\n await next();\n });\n\n // Serve assets from playground directory\n app.use(\n '/assets/*',\n serveStatic({\n root: './playground/assets',\n }),\n );\n\n // Serve static files from playground directory\n app.use(\n '*',\n serveStatic({\n root: './playground',\n }),\n );\n }\n\n // Catch-all route to serve index.html for any non-API routes\n app.get('*', async (c, next) => {\n // Skip if it's an API route\n if (c.req.path.startsWith('/api/')) {\n return await next();\n }\n if (options?.playground) {\n // For all other routes, serve index.html\n const indexHtml = await readFile(join(process.cwd(), './playground/index.html'), 'utf-8');\n return c.newResponse(indexHtml, 200, { 'Content-Type': 'text/html' });\n }\n\n return c.newResponse(html, 200, { 'Content-Type': 'text/html' });\n });\n\n return app;\n}\n\nexport async function createNodeServer(mastra: Mastra, options: { playground?: boolean } = {}) {\n const app = await createHonoServer(mastra, options);\n return serve(\n {\n fetch: app.fetch,\n port: Number(process.env.PORT) || 4111,\n },\n () => {\n console.log(`🦄 Server running on port ${process.env.PORT || 4111}/api`);\n console.log(`📚 Open API documentation available at http://localhost:${process.env.PORT || 4111}/openapi.json`);\n console.log(`👨‍💻 Playground available at http://localhost:${process.env.PORT || 4111}/`);\n },\n );\n}\n","export const html = `\n<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Welcome to Mastra</title>\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/inter-ui/3.19.3/inter.min.css\" />\n <style>\n body {\n margin: 0;\n padding: 0;\n background-color: #0d0d0d;\n color: #ffffff;\n font-family:\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n system-ui,\n sans-serif;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n }\n\n main {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n }\n\n h1 {\n font-size: 4rem;\n font-weight: 600;\n margin: 0 0 1rem 0;\n background: linear-gradient(to right, #fff, #ccc);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n line-height: 1.2;\n }\n\n .subtitle {\n color: #9ca3af;\n font-size: 1.25rem;\n max-width: 600px;\n margin: 0 auto 3rem auto;\n line-height: 1.6;\n }\n\n .docs-link {\n background-color: #1a1a1a;\n padding: 1rem 2rem;\n border-radius: 0.5rem;\n display: flex;\n align-items: center;\n gap: 1rem;\n font-family: monospace;\n font-size: 1rem;\n color: #ffffff;\n text-decoration: none;\n transition: background-color 0.2s;\n }\n\n .docs-link:hover {\n background-color: #252525;\n }\n\n .arrow-icon {\n transition: transform 0.2s;\n }\n\n .docs-link:hover .arrow-icon {\n transform: translateX(4px);\n }\n </style>\n </head>\n <body>\n <main>\n <h1>Welcome to Mastra</h1>\n <p class=\"subtitle\">\n From the team that brought you Gatsby: prototype and productionize AI features with a modern JS/TS stack.\n </p>\n\n <a href=\"https://mastra.ai/docs\" class=\"docs-link\">\n Browse the docs\n <svg\n class=\"arrow-icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M5 12h14M12 5l7 7-7 7\" />\n </svg>\n </a>\n </main>\n </body>\n</html>\n`;\n"],"names":["EnvService","FileEnvService","_EnvService","filePath","_this","call","this","_proto","prototype","readFile","Promise","resolve","reject","fs","err","data","writeFile","_ref","updateEnvData","_updateEnvData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","key","value","_ref2$filePath","regex","wrap","_context","prev","next","RegExp","match","replace","console","log","abrupt","stop","_x","apply","arguments","getEnvValue","_getEnvValue","_callee2","_context2","sent","t0","error","_x2","setEnvValue","_setEnvValue","_callee3","_context3","_x3","_x4","FileService","copyStarterFile","_copyStarterFile","inputFile","outputFilePath","replaceIfExists","__filename","__dirname","fileString","fileURLToPath","import","path","dirname","readFileSync","existsSync","fsExtra","outputFile","setupEnvFile","_setupEnvFile","dbUrl","envPath","fileEnvService","join","process","cwd","ensureFile","getFirstExistingFile","files","_step","_iterator","_createForOfIteratorHelperLoose","done","f","Error","replaceValuesInFile","replacements","fileContent","forEach","_ref3","replaceAll","search","writeFileSync","upsertMastraDir","dirPath","mkdirSync","recursive","execSync","buildWorkflow","Workflow","name","triggerSchema","z","object","buildName","string","entry","outfile","optional","useBanner","devMode","__setLogger","ensureDir","Step","id","execute","_execute","bundleStep","_execute2","_context$machineConte","_context$machineConte2","_context$machineConte3","_context$machineConte4","_context$machineConte5","context","fileService","entryPoint","outfilePath","plugins","missingMastraDependency","externalIfMissingPlugin","esbuildConfig","result","machineContext","triggerData","setup","build","onResolve","filter","args","importer","endsWith","resolvedPath","includes","external","e","push","entryPoints","bundle","platform","format","target","sourcemap","logLevel","minify","metafile","mainFields","conditions","logOverride","banner","js","esbuild","exit","analyzeStep","_execute3","_context$machineConte6","_context$machineConte7","_context$machineConte8","stepResults","Bundle","status","JSON","stringify","payload","analyzeMetafile","_bundle","_callee4","_temp","_ref3$useBanner","_ref3$buildName","_buildWorkflow$create","start","_context4","createRun","step","then","commit","Deps","packageManager","getPackageManager","findLockFile","dir","_i","_lockFiles","length","file","parentDir","install","_install","packages","runCommand","_packages","execa","all","shell","stdio","installPackages","_installPackages","packageList","checkDependencies","_checkDependencies","dependencies","packageJsonPath","packageJson","dependency","fsPromises","access","t1","t2","parse","t3","getProjectName","_getProjectName","pkg","getPackageVersion","_getPackageVersion","_callee5","pkgJsonPath","_context5","readJSON","content","version","addScriptsToPackageJson","_addScriptsToPackageJson","_callee6","scripts","_context6","_extends","Deployer","type","deps","dotMastraPath","message","getMastraPath","getMastra","_getMastra","writePackageJson","_writePackageJson","projectPkg","mastraDeps","pkgPath","_e","Object","entries","startsWith","reduce","acc","description","main","author","license","hono","superjson","getEnvFiles","map","getEnvVars","envVars","_step2","_iterator2","parseEnvFile","_envVar$split","split","line","trim","_build","_ref4","_ref4$useBanner","buildServer","_buildServer","_ref5$playground","playground","templatePath","writeServerFile","_writeServerFile","serverPath","copyFileSync","prepare","_prepare","_callee7","_ref6","_ref6$useBanner","_context7","handleError","defaultMessage","HTTPException","validateBody","body","errorResponse","keys","getAgentsHandler","_getAgentsHandler","c","mastra","agents","serializedAgents","get","getAgents","_id","agent","serializedAgentTools","tools","_tool","inputSchema","zodToJsonSchema","undefined","outputSchema","json","getAgentByIdHandler","_getAgentByIdHandler","agentId","req","param","getAgent","generateHandler","_generateHandler","_yield$c$req$json","messages","threadId","resourceid","output","Array","isArray","generate","streamGenerateHandler","_streamGenerateHandler","_yield$c$req$json2","stream","Response","toDataStream","headers","clients","Set","handleClientsRefresh","ReadableStream","controller","add","enqueue","raw","signal","addEventListener","Connection","handleTriggerClientsRefresh","_unused","success","size","getLogsHandler","_getLogsHandler","getLogs","getLogsByRunIdHandler","_getLogsByRunIdHandler","runId","getLogsByRunId","getMemoryStatusHandler","_getMemoryStatusHandler","memory","getThreadsHandler","_getThreadsHandler","_c$req$query","query","getThreadsByResourceId","getThreadByIdHandler","_getThreadByIdHandler","thread","getThreadById","saveMessagesHandler","_saveMessagesHandler","processedMessages","generateId","createdAt","Date","saveMessages","getContextWindowHandler","_x5","_getContextWindowHandler","_c$req$query2","startDate","endDate","getContextWindow","createThreadHandler","_x6","_createThreadHandler","title","metadata","createThread","updateThreadHandler","_x7","_updateThreadHandler","_yield$c$req$json3","updatedAt","updatedThread","createdat","saveThread","deleteThreadHandler","_x8","_deleteThreadHandler","_callee8","_context8","deleteThread","getMessagesHandler","_x9","_getMessagesHandler","_callee9","_context9","getMessages","rootHandler","_rootHandler","text","executeSyncHandler","_executeSyncHandler","syncId","syncParams","params","sync","getToolsHandler","_getToolsHandler","serializedTools","tool","getToolByIdHandler","_getToolByIdHandler","toolId","serializedTool","values","find","getToolResultHandler","_getToolResultHandler","toolName","toolArgs","getToolResult","validateToolCallArgsHandler","_validateToolCallArgsHandler","hashedArgs","validateToolCallArgs","executeToolHandler","input","decodeURIComponent","executeAgentToolHandler","_executeAgentToolHandler","getWorkflowsHandler","_getWorkflowsHandler","workflows","getWorkflows","serialized","getWorkflowByIdHandler","_getWorkflowByIdHandler","workflowId","workflow","stepGraph","stepSubscriberGraph","serializedSteps","getWorkflow","steps","executeWorkflowHandler","_executeWorkflowHandler","createHonoServer","_createHonoServer","options","app","Hono","mastraToolsPaths","env","MASTRA_TOOLS_PATH","toolPath","pathToFileURL","href","toolModule","use","cors","set","post","patch","_options","header","serveStatic","root","_ref5","_options2","newResponse","_x10","_x11","_createNodeServer","serve","fetch","port","Number","PORT"],"mappings":"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"}