mastra 1.10.2 → 1.10.3-alpha.1
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.
- package/CHANGELOG.md +18 -0
- package/dist/analytics/index.js +1 -1
- package/dist/{chunk-L2DOSXSV.js → chunk-DYM7FOVR.js} +4 -4
- package/dist/chunk-DYM7FOVR.js.map +1 -0
- package/dist/{chunk-5FWKBO5J.js → chunk-LA3AAJUE.js} +3 -2
- package/dist/chunk-LA3AAJUE.js.map +1 -0
- package/dist/commands/api/route-metadata.generated.d.ts +0 -24
- package/dist/commands/api/route-metadata.generated.d.ts.map +1 -1
- package/dist/commands/create/create.js +2 -2
- package/dist/commands/init/utils.d.ts.map +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +4 -4
- package/dist/index.js +4 -35
- package/dist/index.js.map +1 -1
- package/dist/studio/assets/{index-bIaQ1BjM.js → index-7qw2x02O.js} +1 -1
- package/dist/studio/assets/{index-DLI82x7R.js → index-B2h9WBzm.js} +1 -1
- package/dist/studio/assets/{index-CijjHZdS.js → index-BC-Vxsu7.js} +1 -1
- package/dist/studio/assets/{index-BYrnsGh-.js → index-BwNTMYn9.js} +1 -1
- package/dist/studio/assets/{index-_sb47CMc.js → index-C2NVFlfb.js} +1 -1
- package/dist/studio/assets/{index-CwBP10EK.js → index-CBhuT24k.js} +1 -1
- package/dist/studio/assets/{index-CcJCtBqK.js → index-CTPSbbOa.js} +1 -1
- package/dist/studio/assets/{index-DzLmfm1G.js → index-CWSogxIs.js} +1 -1
- package/dist/studio/assets/{index-0ydn11gV.js → index-CrrO4t0o.js} +1 -1
- package/dist/studio/assets/{index-CoywoYi4.js → index-D326XhMG.js} +1 -1
- package/dist/studio/assets/{index-CFuk9xvk.js → index-DNXPTFcn.js} +1 -1
- package/dist/studio/assets/{index-Z6aFoPVf.js → index-DT-FhyvH.js} +1 -1
- package/dist/studio/assets/{index-BHV9HJx0.js → index-Dn-m5cSj.js} +1 -1
- package/dist/studio/assets/{index-BR7jFckl.js → index-DxFpiVc5.js} +1 -1
- package/dist/studio/assets/{index-ZkHQDERQ.js → index-FeBMvz1q.js} +1 -1
- package/dist/studio/assets/{index-WOm6z6SM.js → index-HEIQsvZY.js} +1 -1
- package/dist/studio/assets/{index-FDBEY6kQ.js → index-V_0yajGu.js} +1 -1
- package/dist/studio/assets/{index-DXMeaHNF.js → index-jDjmkqfS.js} +1 -1
- package/dist/studio/assets/{mastra-AFZJL7U6-B4h6h2gB.js → mastra-2V4EFSGC-5NhO88B2.js} +253 -253
- package/dist/studio/assets/{registry-generator-74I3CDJ7-BBmGmkg8.js → registry-generator-74I3CDJ7-C7Vv_hU1.js} +1 -1
- package/dist/studio/assets/style-i6TPwM7d.css +1 -0
- package/dist/studio/index.html +2 -2
- package/package.json +5 -5
- package/dist/chunk-5FWKBO5J.js.map +0 -1
- package/dist/chunk-L2DOSXSV.js.map +0 -1
- package/dist/studio/assets/style-BbkUwHgU.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# mastra
|
|
2
2
|
|
|
3
|
+
## 1.10.3-alpha.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Improved generated AGENTS.md guidance to prefer package scripts over global Mastra commands. ([#17095](https://github.com/mastra-ai/mastra/pull/17095))
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`49f8abc`](https://github.com/mastra-ai/mastra/commit/49f8abce8258e4f2f87bd326acfbdb641264a47c)]:
|
|
10
|
+
- @mastra/core@1.37.2-alpha.1
|
|
11
|
+
- @mastra/deployer@1.37.2-alpha.1
|
|
12
|
+
|
|
13
|
+
## 1.10.3-alpha.0
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`07c3de7`](https://github.com/mastra-ai/mastra/commit/07c3de7f7bc418beccaea3b5e6b7f7cdda79d492)]:
|
|
18
|
+
- @mastra/core@1.37.2-alpha.0
|
|
19
|
+
- @mastra/deployer@1.37.2-alpha.0
|
|
20
|
+
|
|
3
21
|
## 1.10.2
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/analytics/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { PosthogAnalytics, getAnalytics, setAnalytics } from '../chunk-
|
|
1
|
+
export { PosthogAnalytics, getAnalytics, setAnalytics } from '../chunk-LA3AAJUE.js';
|
|
2
2
|
import '../chunk-EXG3XKBK.js';
|
|
3
3
|
import '../chunk-L2SGSIJI.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMastraDir, writeIndexFile, createComponentsDir, writeAPIKey, writeCodeSample, DepsService, getAPIKey, installMastraDocsMCPServer, writeAgentsMarkdown, writeClaudeMarkdown, gitInit, readPackageName, writeObservabilityEnv, getAnalytics, getPackageManager, LLM_PROVIDERS, isGitInitialized, interactivePrompt, getPackageManagerAddCommand, getModelIdentifier } from './chunk-
|
|
1
|
+
import { createMastraDir, writeIndexFile, createComponentsDir, writeAPIKey, writeCodeSample, DepsService, getAPIKey, installMastraDocsMCPServer, writeAgentsMarkdown, writeClaudeMarkdown, gitInit, readPackageName, writeObservabilityEnv, getAnalytics, getPackageManager, LLM_PROVIDERS, isGitInitialized, interactivePrompt, getPackageManagerAddCommand, getModelIdentifier } from './chunk-LA3AAJUE.js';
|
|
2
2
|
import { fetchOrgs } from './chunk-4Z57PBTZ.js';
|
|
3
3
|
import { getCurrentOrgId, setCurrentOrgId, getToken } from './chunk-EXG3XKBK.js';
|
|
4
4
|
import { MASTRA_PLATFORM_API_URL, platformFetch, authHeaders } from './chunk-L2SGSIJI.js';
|
|
@@ -17,7 +17,7 @@ import { execa } from 'execa';
|
|
|
17
17
|
// package.json
|
|
18
18
|
var package_default = {
|
|
19
19
|
name: "mastra",
|
|
20
|
-
version: "1.10.
|
|
20
|
+
version: "1.10.3-alpha.1",
|
|
21
21
|
license: "Apache-2.0",
|
|
22
22
|
description: "cli for mastra",
|
|
23
23
|
type: "module",
|
|
@@ -1321,5 +1321,5 @@ async function createFromTemplate(args) {
|
|
|
1321
1321
|
}
|
|
1322
1322
|
|
|
1323
1323
|
export { create, createLogger, init, listOrgsAction, logger, package_default, resolveCurrentOrg, switchOrgAction };
|
|
1324
|
-
//# sourceMappingURL=chunk-
|
|
1325
|
-
//# sourceMappingURL=chunk-
|
|
1324
|
+
//# sourceMappingURL=chunk-DYM7FOVR.js.map
|
|
1325
|
+
//# sourceMappingURL=chunk-DYM7FOVR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/utils/logger.ts","../src/utils/clone-template.ts","../src/utils/template-utils.ts","../src/commands/auth/orgs.ts","../src/commands/init/observability-provision.ts","../src/commands/init/skills-install.ts","../src/commands/init/init.ts","../src/commands/create/utils.ts","../src/commands/create/create.ts"],"names":["spinner","p","p2","p3","p4","result","exec","util","child_process","path","fs","p5","color","s","fsSync"],"mappings":"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","file":"chunk-DYM7FOVR.js","sourcesContent":["{\n \"name\": \"mastra\",\n \"version\": \"1.10.3-alpha.1\",\n \"license\": \"Apache-2.0\",\n \"description\": \"cli for mastra\",\n \"type\": \"module\",\n \"main\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"bin\": {\n \"mastra\": \"./dist/index.js\"\n },\n \"exports\": {\n \".\": \"./dist/index.js\",\n \"./package.json\": \"./package.json\",\n \"./telemetry-loader\": \"./dist/commands/dev/telemetry-loader.js\",\n \"./dist/*\": [\n \"./dist/*\",\n \"./dist/*.js\"\n ]\n },\n \"files\": [\n \"dist\",\n \"CHANGELOG.md\"\n ],\n \"scripts\": {\n \"generate:api-manifest\": \"pnpm --filter @mastra/server generate:api-cli-route-metadata\",\n \"build:lib\": \"tsup --silent --config tsup.config.ts\",\n \"prepack\": \"pnpx tsx ../../scripts/generate-package-docs.ts\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest watch\",\n \"clean\": \"rm -rf dist && rm -rf node_modules\",\n \"typecheck\": \"tsc --noEmit --incremental\",\n \"lint\": \"eslint .\"\n },\n \"keywords\": [\n \"mastra\",\n \"cli\",\n \"ai\",\n \"llm\",\n \"llms\",\n \"agent\",\n \"agents\",\n \"dev\",\n \"development\",\n \"deploy\",\n \"deployment\",\n \"build\",\n \"workflow\",\n \"typescript\",\n \"command-line\",\n \"devtools\"\n ],\n \"dependencies\": {\n \"@babel/parser\": \"^7.29.3\",\n \"@babel/types\": \"^7.29.0\",\n \"@clack/prompts\": \"^1.1.0\",\n \"@expo/devcert\": \"^1.2.1\",\n \"@mastra/deployer\": \"workspace:^\",\n \"@mastra/loggers\": \"workspace:^\",\n \"archiver\": \"^7.0.1\",\n \"commander\": \"^14.0.3\",\n \"dotenv\": \"^17.3.1\",\n \"execa\": \"^9.6.1\",\n \"fs-extra\": \"^11.3.4\",\n \"get-port\": \"^7.1.0\",\n \"local-pkg\": \"^1.1.2\",\n \"openapi-fetch\": \"^0.17.0\",\n \"picocolors\": \"^1.1.1\",\n \"posthog-node\": \"^5.30.6\",\n \"semver\": \"^7.7.4\",\n \"serve\": \"^14.2.6\",\n \"serve-handler\": \"^6.1.7\",\n \"shell-quote\": \"^1.8.3\",\n \"strip-json-comments\": \"^5.0.3\",\n \"tinyglobby\": \"^0.2.16\",\n \"yocto-spinner\": \"^1.1.0\"\n },\n \"devDependencies\": {\n \"@commander-js/extra-typings\": \"^14.0.0\",\n \"@internal/lint\": \"workspace:*\",\n \"@internal/playground\": \"workspace:*\",\n \"@internal/types-builder\": \"workspace:*\",\n \"@mastra/core\": \"workspace:*\",\n \"@types/archiver\": \"^7.0.0\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/node\": \"22.19.15\",\n \"@types/semver\": \"^7.7.1\",\n \"@types/serve-handler\": \"^6.1.4\",\n \"@types/shell-quote\": \"^1.7.5\",\n \"@vitest/coverage-v8\": \"catalog:\",\n \"@vitest/ui\": \"catalog:\",\n \"eslint\": \"^10.2.1\",\n \"memfs\": \"^4.56.11\",\n \"rollup\": \"^4.59.0\",\n \"tsup\": \"^8.5.1\",\n \"type-fest\": \"^5.4.4\",\n \"typescript\": \"catalog:\",\n \"vitest\": \"catalog:\",\n \"zod\": \"catalog:\"\n },\n \"peerDependencies\": {\n \"@mastra/core\": \">=1.34.0-0 <2.0.0-0\"\n },\n \"homepage\": \"https://mastra.ai\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/mastra-ai/mastra.git\",\n \"directory\": \"packages/cli\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/mastra-ai/mastra/issues\"\n },\n \"engines\": {\n \"node\": \">=22.13.0\"\n }\n}\n","import { PinoLogger } from '@mastra/loggers';\n\nexport const logger = createLogger(false);\n\nexport function createLogger(debug: boolean = false) {\n return new PinoLogger({\n name: 'Mastra CLI',\n level: debug ? 'debug' : 'info',\n });\n}\n","import child_process from 'node:child_process';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport util from 'node:util';\nimport shellQuote from 'shell-quote';\nimport yoctoSpinner from 'yocto-spinner';\n\nimport type { LLMProvider } from '../commands/init/utils';\nimport { getModelIdentifier } from '../commands/init/utils';\nimport { getPackageManager } from '../commands/utils';\n\nimport { logger } from './logger';\nimport type { Template } from './template-utils';\n\nconst exec = util.promisify(child_process.exec);\n\nexport interface CloneTemplateOptions {\n template: Template;\n projectName: string;\n targetDir?: string;\n branch?: string;\n llmProvider?: LLMProvider;\n}\n\nexport async function cloneTemplate(options: CloneTemplateOptions): Promise<string> {\n const { template, projectName, targetDir, branch, llmProvider } = options;\n const projectPath = targetDir ? path.resolve(targetDir, projectName) : path.resolve(projectName);\n\n const spinner = yoctoSpinner({ text: `Cloning template \"${template.title}\"...` }).start();\n\n try {\n // Check if directory already exists\n if (await directoryExists(projectPath)) {\n spinner.error(`Directory ${projectName} already exists`);\n throw new Error(`Directory ${projectName} already exists`);\n }\n\n // Clone the repository without git history\n await cloneRepositoryWithoutGit(template.githubUrl, projectPath, branch);\n\n // Update package.json with new project name\n await updatePackageJson(projectPath, projectName);\n\n // Copy .env.example to .env if it exists, and update MODEL if llmProvider is specified\n const envExamplePath = path.join(projectPath, '.env.example');\n if (await fileExists(envExamplePath)) {\n const envPath = path.join(projectPath, '.env');\n await fs.copyFile(envExamplePath, envPath);\n\n // Update MODEL in .env if llmProvider is specified\n if (llmProvider) {\n await updateEnvFile(envPath, llmProvider);\n }\n }\n\n spinner.success(`Template \"${template.title}\" cloned successfully to ${projectName}`);\n return projectPath;\n } catch (error) {\n spinner.error(`Failed to clone template: ${error instanceof Error ? error.message : 'Unknown error'}`);\n throw error;\n }\n}\n\nasync function directoryExists(dirPath: string): Promise<boolean> {\n try {\n const stat = await fs.stat(dirPath);\n return stat.isDirectory();\n } catch {\n return false;\n }\n}\n\nasync function fileExists(filePath: string): Promise<boolean> {\n try {\n const stat = await fs.stat(filePath);\n return stat.isFile();\n } catch {\n return false;\n }\n}\n\nasync function cloneRepositoryWithoutGit(repoUrl: string, targetPath: string, branch?: string): Promise<void> {\n // Create target directory\n await fs.mkdir(targetPath, { recursive: true });\n\n try {\n // First try using degit if available (similar to Next.js)\n const degitRepo = repoUrl.replace('https://github.com/', '');\n // If branch is specified, append it to the degit repo (format: owner/repo#branch)\n const degitRepoWithBranch = branch ? `${degitRepo}#${branch}` : degitRepo;\n const degitCommand = shellQuote.quote(['npx', 'degit', degitRepoWithBranch, targetPath]);\n await exec(degitCommand, {\n cwd: process.cwd(),\n });\n } catch {\n // Fallback to git clone + remove .git\n try {\n const gitArgs = ['git', 'clone'];\n // Add branch flag if specified\n if (branch) {\n gitArgs.push('--branch', branch);\n }\n gitArgs.push(repoUrl, targetPath);\n\n const gitCommand = shellQuote.quote(gitArgs);\n await exec(gitCommand, {\n cwd: process.cwd(),\n });\n\n // Remove .git directory\n const gitDir = path.join(targetPath, '.git');\n if (await directoryExists(gitDir)) {\n await fs.rm(gitDir, { recursive: true, force: true });\n }\n } catch (gitError) {\n throw new Error(`Failed to clone repository: ${gitError instanceof Error ? gitError.message : 'Unknown error'}`);\n }\n }\n}\n\nasync function updatePackageJson(projectPath: string, projectName: string): Promise<void> {\n const packageJsonPath = path.join(projectPath, 'package.json');\n\n try {\n const packageJsonContent = await fs.readFile(packageJsonPath, 'utf-8');\n const packageJson = JSON.parse(packageJsonContent);\n\n // Update the name field\n packageJson.name = projectName;\n\n // Write back the updated package.json\n await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf-8');\n } catch (error) {\n // It's okay if package.json doesn't exist or can't be updated\n logger.warn('Could not update package.json', { error: error instanceof Error ? error.message : 'Unknown error' });\n }\n}\n\nasync function updateEnvFile(envPath: string, llmProvider: LLMProvider): Promise<void> {\n try {\n const envContent = await fs.readFile(envPath, 'utf-8');\n const modelString = getModelIdentifier(llmProvider);\n\n if (!modelString) {\n logger.warn('Could not get model identifier for provider', { provider: llmProvider });\n return;\n }\n\n // Remove quotes from modelString (it comes as 'provider/model')\n const modelValue = modelString.replace(/'/g, '');\n\n // Replace the MODEL line with the selected provider's model\n const updatedContent = envContent.replace(/^MODEL=.*/m, `MODEL=${modelValue}`);\n\n await fs.writeFile(envPath, updatedContent, 'utf-8');\n logger.info('Updated MODEL in .env', { model: modelValue });\n } catch (error) {\n // It's okay if .env can't be updated\n logger.warn('Could not update .env file', { error: error instanceof Error ? error.message : 'Unknown error' });\n }\n}\n\nexport async function installDependencies(projectPath: string, packageManager?: string): Promise<void> {\n const spinner = yoctoSpinner({ text: 'Installing dependencies...' }).start();\n\n try {\n // Use provided package manager or detect from environment/globally\n const pm = packageManager || getPackageManager();\n\n const installCommand = shellQuote.quote([pm, 'install']);\n\n await exec(installCommand, {\n cwd: projectPath,\n });\n\n spinner.success('Dependencies installed successfully');\n } catch (error) {\n spinner.error(`Failed to install dependencies: ${error instanceof Error ? error.message : 'Unknown error'}`);\n throw error;\n }\n}\n","import * as p from '@clack/prompts';\n\nexport interface Template {\n githubUrl: string;\n title: string;\n slug: string;\n agents: string[];\n mcp: string[];\n tools: string[];\n networks: string[];\n workflows: string[];\n}\n\nconst TEMPLATES_API_URL = process.env.MASTRA_TEMPLATES_API_URL || 'https://mastra.ai/api/templates.json';\n\nexport async function loadTemplates(): Promise<Template[]> {\n try {\n const response = await fetch(TEMPLATES_API_URL);\n if (!response.ok) {\n throw new Error(`Failed to fetch templates: ${response.statusText}`);\n }\n const templates = (await response.json()) as Template[];\n return templates;\n } catch (error) {\n console.error('Error loading templates:', error);\n throw new Error('Failed to load templates. Please check your internet connection and try again.');\n }\n}\n\nfunction pluralize(count: number, singular: string, plural?: string): string {\n return count === 1 ? singular : plural || `${singular}s`;\n}\n\nexport async function selectTemplate(templates: Template[]): Promise<Template | null> {\n const choices = templates.map(template => {\n const parts = [];\n if (template.agents?.length) {\n parts.push(`${template.agents.length} ${pluralize(template.agents.length, 'agent')}`);\n }\n if (template.tools?.length) {\n parts.push(`${template.tools.length} ${pluralize(template.tools.length, 'tool')}`);\n }\n if (template.workflows?.length) {\n parts.push(`${template.workflows.length} ${pluralize(template.workflows.length, 'workflow')}`);\n }\n if (template.mcp?.length) {\n parts.push(`${template.mcp.length} ${pluralize(template.mcp.length, 'MCP server')}`);\n }\n if (template.networks?.length) {\n parts.push(`${template.networks.length} ${pluralize(template.networks.length, 'agent network')}`);\n }\n\n return {\n value: template,\n label: template.title,\n hint: parts.join(', ') || 'Template components',\n };\n });\n\n const selected = await p.select({\n message: 'Select a template:',\n options: choices,\n });\n\n if (p.isCancel(selected)) {\n return null;\n }\n\n return selected as Template;\n}\n\nexport function findTemplateByName(templates: Template[], templateName: string): Template | null {\n // First try to find by exact slug match\n let template = templates.find(t => t.slug === templateName);\n if (template) return template;\n\n // Then try to find by slug without \"template-\" prefix\n const slugWithPrefix = `template-${templateName}`;\n template = templates.find(t => t.slug === slugWithPrefix);\n if (template) return template;\n\n // Finally try case-insensitive name match\n template = templates.find(t => t.title.toLowerCase() === templateName.toLowerCase());\n if (template) return template;\n\n return null;\n}\n\nexport function getDefaultProjectName(template: Template): string {\n // Remove \"template-\" prefix from slug if it exists\n return template.slug.replace(/^template-/, '');\n}\n","import * as p from '@clack/prompts';\nimport { fetchOrgs } from './api.js';\nimport { getToken, getCurrentOrgId, setCurrentOrgId } from './credentials.js';\n\nexport interface ResolveCurrentOrgOptions {\n /**\n * If true and the user belongs to multiple orgs, always show the picker\n * (with the persisted current org pre-selected) instead of silently\n * reusing the persisted choice. Useful for \"create a new project\"-style\n * flows where the user should consciously choose the target org.\n *\n * Ignored if MASTRA_ORG_ID is set or the user only belongs to one org.\n */\n forcePrompt?: boolean;\n}\n\n/**\n * Resolve the current org, auto-selecting if only one exists.\n * If multiple orgs exist and none is currently set, prompts the user.\n * Pass `{ forcePrompt: true }` to always prompt when there's more than one\n * org, even if a current org is persisted.\n */\nexport async function resolveCurrentOrg(\n token: string,\n opts: ResolveCurrentOrgOptions = {},\n): Promise<{ orgId: string; orgName: string }> {\n const orgs = await fetchOrgs(token);\n\n if (orgs.length === 0) {\n throw new Error('No organizations found.');\n }\n\n if (orgs.length === 1) {\n return { orgId: orgs[0]!.id, orgName: orgs[0]!.name };\n }\n\n // MASTRA_ORG_ID always wins; never prompt in headless/CI mode.\n const envOrgId = process.env.MASTRA_ORG_ID;\n if (envOrgId) {\n const match = orgs.find(o => o.id === envOrgId);\n if (match) return { orgId: match.id, orgName: match.name };\n }\n\n const currentOrgId = await getCurrentOrgId();\n\n if (!opts.forcePrompt && currentOrgId) {\n const match = orgs.find(o => o.id === currentOrgId);\n if (match) return { orgId: match.id, orgName: match.name };\n }\n\n const selected = await p.select({\n message: 'Select an organization',\n initialValue: currentOrgId ?? undefined,\n options: orgs.map(o => ({\n value: o.id,\n label: `${o.name}${o.id === currentOrgId ? ' (current)' : ''}`,\n hint: o.id,\n })),\n });\n\n if (p.isCancel(selected)) {\n p.cancel('Cancelled.');\n process.exit(0);\n }\n\n const org = orgs.find(o => o.id === selected)!;\n\n // Persist the choice so subsequent CLI commands stay in the same org.\n if (org.id !== currentOrgId) {\n await setCurrentOrgId(org.id);\n }\n\n return { orgId: org.id, orgName: org.name };\n}\n\nexport async function listOrgsAction() {\n const token = await getToken();\n const currentOrgId = await getCurrentOrgId();\n const orgs = await fetchOrgs(token);\n\n if (orgs.length === 0) {\n console.info('\\nNo organizations found.\\n');\n return;\n }\n\n console.info('\\nOrganizations:\\n');\n for (const org of orgs) {\n const marker = org.id === currentOrgId ? ' (current)' : '';\n const role = org.role ? ` [${org.role}]` : '';\n console.info(` ${org.name}${role}${marker}`);\n console.info(` ID: ${org.id}`);\n }\n console.info('');\n}\n\nexport async function switchOrgAction() {\n if (process.env.MASTRA_API_TOKEN) {\n console.error('\\nCannot switch org when using MASTRA_API_TOKEN. Unset it and log in with: mastra auth login\\n');\n process.exit(1);\n }\n if (process.env.MASTRA_ORG_ID) {\n console.error('\\nCannot switch org when MASTRA_ORG_ID is set. Unset it to use persistent org selection.\\n');\n process.exit(1);\n }\n\n const token = await getToken();\n const currentOrgId = await getCurrentOrgId();\n const orgs = await fetchOrgs(token);\n\n if (orgs.length === 0) {\n console.info('\\nNo organizations found.\\n');\n return;\n }\n\n if (orgs.length === 1) {\n console.info(`\\nYou only have one organization: ${orgs[0]!.name}\\n`);\n return;\n }\n\n const selected = await p.select({\n message: 'Switch to organization',\n options: orgs.map(o => ({\n value: o.id,\n label: `${o.name}${o.id === currentOrgId ? ' (current)' : ''}`,\n })),\n });\n\n if (p.isCancel(selected)) {\n p.cancel('Cancelled.');\n process.exit(0);\n }\n\n await setCurrentOrgId(selected as string);\n const org = orgs.find(o => o.id === selected)!;\n console.info(`\\nSwitched to ${org.name} (${org.id})\\n`);\n}\n","import * as p from '@clack/prompts';\nimport { authHeaders, MASTRA_PLATFORM_API_URL, platformFetch } from '../auth/client.js';\nimport { getToken } from '../auth/credentials.js';\nimport { resolveCurrentOrg } from '../auth/orgs.js';\n\ninterface ObservabilityProject {\n id: string;\n slug: string;\n name: string;\n organizationId: string;\n}\n\ninterface CreateTokenResponse {\n token: { id: string; name: string };\n secret: string;\n}\n\nexport interface ObservabilityProvisionResult {\n /** WorkOS organization API key (sk_*) used as MASTRA_PLATFORM_ACCESS_TOKEN. */\n token: string;\n /** Platform project id (UUID) used as MASTRA_PROJECT_ID. */\n projectId: string;\n /** Platform project slug. */\n projectSlug: string;\n /** Platform project name. */\n projectName: string;\n /** Organization display name for messaging. */\n orgName: string;\n /**\n * Spans endpoint override. Only set when the platform URL is non-default\n * (e.g., local dev or staging). When omitted, the MastraPlatformExporter\n * falls back to its built-in `https://observability.mastra.ai` default.\n */\n tracesEndpoint?: string;\n}\n\nconst DEFAULT_PLATFORM_API_URL = 'https://platform.mastra.ai';\n\n/**\n * Walk the user through enabling Mastra Observability for a freshly-scaffolded\n * project: log in (via the existing browser flow) if needed, pick or create a\n * platform project, mint a fresh org-scoped ingest token, and return what the\n * caller needs to write to `.env`.\n *\n * Defaults the project name to `defaultProjectName` (typically the package\n * name from `package.json`) when creating a new project.\n */\nexport async function provisionObservabilityProject({\n defaultProjectName,\n observabilityProject,\n mode = 'pick',\n token: providedToken,\n}: {\n defaultProjectName?: string;\n /**\n * If supplied, skip the interactive picker. Matches an existing project by\n * name or slug; if no match, creates a new project with this name. Lets the\n * `create` / `init` commands run fully non-interactively.\n */\n observabilityProject?: string;\n /**\n * `'create'` (used by `create-mastra`) always provisions a new platform\n * project named after the local one — no picker, no extra name prompt.\n * `'pick'` (used by `mastra init` in an existing project) lets the user\n * attach to an existing project or create a new one.\n */\n mode?: 'create' | 'pick';\n /** Platform auth token already acquired during the observability opt-in prompt. */\n token?: string;\n} = {}): Promise<ObservabilityProvisionResult> {\n const token = providedToken ?? (await getToken());\n const { orgId, orgName } =\n mode === 'create' ? await resolveCurrentOrg(token) : await resolveCurrentOrg(token, { forcePrompt: true });\n\n let project: ObservabilityProject;\n if (observabilityProject) {\n const projects = await listProjects(token, orgId);\n const match = projects.find(proj => proj.name === observabilityProject || proj.slug === observabilityProject);\n if (match) {\n project = match;\n } else {\n project = await createProjectByName({ token, orgId, name: observabilityProject });\n }\n } else if (mode === 'create') {\n // Fresh scaffold: reuse the local project name; no picker, no re-prompt.\n if (!defaultProjectName) {\n throw new Error('defaultProjectName is required when mode is \"create\"');\n }\n project = await createProjectByName({ token, orgId, name: defaultProjectName });\n } else {\n const projects = await listProjects(token, orgId);\n if (projects.length === 0) {\n project = await createProject({ token, orgId, defaultName: defaultProjectName, orgName });\n } else {\n const choice = await p.select({\n message: `Select a project (in ${orgName})`,\n options: [\n ...projects.map(proj => ({ value: proj.id, label: proj.name, hint: proj.slug })),\n { value: '__new__', label: '+ Create new project' },\n ],\n });\n\n if (p.isCancel(choice)) {\n throw new Error('Cancelled');\n }\n\n if (choice === '__new__') {\n project = await createProject({ token, orgId, defaultName: defaultProjectName, orgName });\n } else {\n project = projects.find(proj => proj.id === choice)!;\n }\n }\n }\n\n const secret = await mintOrgToken({\n token,\n orgId,\n keyName: `mastra observability – ${project.name}`,\n });\n\n const result: ObservabilityProvisionResult = {\n token: secret,\n projectId: project.id,\n projectSlug: project.slug,\n projectName: project.name,\n orgName,\n };\n\n // Only emit a traces endpoint override when the user is pointed at a\n // non-default platform (local dev / staging). For prod, omit it so the\n // MastraPlatformExporter uses its built-in https://observability.mastra.ai default.\n if (MASTRA_PLATFORM_API_URL !== DEFAULT_PLATFORM_API_URL) {\n result.tracesEndpoint = deriveTracesEndpoint(MASTRA_PLATFORM_API_URL, project.id);\n }\n\n return result;\n}\n\nasync function listProjects(token: string, orgId: string): Promise<ObservabilityProject[]> {\n const res = await platformFetch(`${MASTRA_PLATFORM_API_URL}/v1/studio/projects`, {\n headers: authHeaders(token, orgId),\n });\n if (!res.ok) {\n throw new Error(`Failed to list projects (${res.status})`);\n }\n const body = (await res.json()) as { projects: ObservabilityProject[] };\n return body.projects;\n}\n\nasync function createProject({\n token,\n orgId,\n defaultName,\n orgName,\n}: {\n token: string;\n orgId: string;\n defaultName?: string;\n orgName: string;\n}): Promise<ObservabilityProject> {\n const name = await p.text({\n message: `New project name (in ${orgName})`,\n placeholder: defaultName ?? 'my-mastra-app',\n defaultValue: defaultName,\n validate: v => (!v || v.trim().length === 0 ? 'Name is required' : undefined),\n });\n\n if (p.isCancel(name)) {\n throw new Error('Cancelled');\n }\n\n return createProjectByName({ token, orgId, name: name as string });\n}\n\nasync function createProjectByName({\n token,\n orgId,\n name,\n}: {\n token: string;\n orgId: string;\n name: string;\n}): Promise<ObservabilityProject> {\n // Create as observability-only: no Studio or Server runtime attached. The first\n // `mastra studio deploy` / `mastra server deploy` flips the matching flag\n // on the platform side.\n const res = await platformFetch(`${MASTRA_PLATFORM_API_URL}/v1/studio/projects`, {\n method: 'POST',\n headers: { ...authHeaders(token, orgId), 'Content-Type': 'application/json' },\n body: JSON.stringify({ name, studioEnabled: false, serverEnabled: false }),\n });\n if (!res.ok) {\n throw new Error(`Failed to create project (${res.status})`);\n }\n const body = (await res.json()) as { project: ObservabilityProject };\n return body.project;\n}\n\nasync function mintOrgToken({\n token,\n orgId,\n keyName,\n}: {\n token: string;\n orgId: string;\n keyName: string;\n}): Promise<string> {\n const res = await platformFetch(`${MASTRA_PLATFORM_API_URL}/v1/auth/tokens`, {\n method: 'POST',\n headers: { ...authHeaders(token, orgId), 'Content-Type': 'application/json' },\n body: JSON.stringify({ name: keyName }),\n });\n if (!res.ok) {\n throw new Error(`Failed to create access token (${res.status})`);\n }\n const body = (await res.json()) as CreateTokenResponse;\n return body.secret;\n}\n\n/**\n * Derive a per-project spans endpoint matching the mobs-collector route\n * `POST /projects/:projectId/ai/spans/publish`. Only used when a non-default\n * platform URL is in play; production usage relies on the\n * MastraPlatformExporter's own default base.\n */\nfunction deriveTracesEndpoint(platformUrl: string, projectId: string): string {\n // Strip a trailing /v1 (or any other path) — we want the host root.\n const url = new URL(platformUrl);\n return `${url.origin}/projects/${projectId}/ai/spans/publish`;\n}\n","import { execa } from 'execa';\n\nexport async function installMastraSkills({\n directory,\n agents,\n}: {\n directory: string;\n agents: string[];\n}): Promise<{ success: boolean; error?: string; agents: string[] }> {\n try {\n // Build args: --agent takes space-separated agent names\n const args = ['skills', 'add', 'mastra-ai/skills', '--agent', ...agents, '-y'];\n\n await execa('npx', args, {\n cwd: directory,\n stdio: 'pipe', // Hide verbose output\n });\n\n return { success: true, agents };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n agents,\n };\n }\n}\n","import * as p from '@clack/prompts';\nimport color from 'picocolors';\n\nimport { DepsService } from '../../services/service.deps';\n\nimport { gitInit } from '../utils';\nimport { installMastraDocsMCPServer } from './mcp-docs-server-install';\nimport type { Editor } from './mcp-docs-server-install';\nimport { provisionObservabilityProject } from './observability-provision';\nimport { installMastraSkills } from './skills-install';\nimport {\n createComponentsDir,\n createMastraDir,\n getAPIKey,\n readPackageName,\n writeAgentsMarkdown,\n writeAPIKey,\n writeClaudeMarkdown,\n writeCodeSample,\n writeIndexFile,\n writeObservabilityEnv,\n} from './utils';\nimport type { Component, LLMProvider } from './utils';\n\nconst s = p.spinner();\n\nexport const init = async ({\n directory = 'src/',\n components,\n llmProvider = 'openai',\n llmApiKey,\n addExample = false,\n skills,\n mcpServer,\n versionTag,\n initGit = false,\n observability,\n observabilityProject,\n observabilityMode = 'pick',\n observabilityToken,\n}: {\n directory?: string;\n components: Component[];\n llmProvider?: LLMProvider;\n llmApiKey?: string;\n addExample?: boolean;\n skills?: string[];\n mcpServer?: Editor;\n versionTag?: string;\n initGit?: boolean;\n observability?: boolean;\n observabilityProject?: string;\n observabilityToken?: string;\n /**\n * `'create'` skips the picker and always provisions a new platform project\n * named after the local one (used by `create-mastra`). `'pick'` shows the\n * existing-or-new picker (used by `mastra init`).\n */\n observabilityMode?: 'create' | 'pick';\n}) => {\n s.start('Initializing Mastra');\n const packageVersionTag = versionTag ? `@${versionTag}` : '';\n\n try {\n const result = await createMastraDir(directory);\n\n if (!result.ok) {\n s.stop(color.inverse(' Mastra already initialized '));\n return { success: false };\n }\n\n const dirPath = result.dirPath;\n\n await Promise.all([\n writeIndexFile({\n dirPath,\n addExample,\n addWorkflow: components.includes('workflows'),\n addAgent: components.includes('agents'),\n addScorers: components.includes('scorers'),\n }),\n ...components.map(component => createComponentsDir(dirPath, component)),\n writeAPIKey({ provider: llmProvider, apiKey: llmApiKey }),\n ]);\n\n if (addExample) {\n await Promise.all([\n ...components.map(component =>\n writeCodeSample(dirPath, component as Component, llmProvider, components as Component[]),\n ),\n ]);\n\n const depService = new DepsService();\n\n const needsLibsql = (await depService.checkDependencies(['@mastra/libsql'])) !== `ok`;\n if (needsLibsql) {\n await depService.installPackages([`@mastra/libsql${packageVersionTag}`]);\n }\n const needsDuckDB = (await depService.checkDependencies(['@mastra/duckdb'])) !== `ok`;\n if (needsDuckDB) {\n await depService.installPackages([`@mastra/duckdb${packageVersionTag}`]);\n }\n const needsMemory =\n components.includes(`agents`) && (await depService.checkDependencies(['@mastra/memory'])) !== `ok`;\n if (needsMemory) {\n await depService.installPackages([`@mastra/memory${packageVersionTag}`]);\n }\n\n const needsLoggers = (await depService.checkDependencies(['@mastra/loggers'])) !== `ok`;\n if (needsLoggers) {\n await depService.installPackages([`@mastra/loggers${packageVersionTag}`]);\n }\n\n const needsObservability = (await depService.checkDependencies(['@mastra/observability'])) !== `ok`;\n if (needsObservability) {\n await depService.installPackages([`@mastra/observability${packageVersionTag}`]);\n }\n\n const needsEvals =\n components.includes(`scorers`) && (await depService.checkDependencies(['@mastra/evals'])) !== `ok`;\n if (needsEvals) {\n await depService.installPackages([`@mastra/evals${packageVersionTag}`]);\n }\n }\n\n const key = await getAPIKey(llmProvider || 'openai');\n\n s.stop('Mastra initialized');\n\n // Install skills if selected\n if (skills && skills.length > 0) {\n try {\n s.start('Installing Mastra agent skills');\n const skillsResult = await installMastraSkills({\n directory: process.cwd(),\n agents: skills,\n });\n if (skillsResult.success) {\n // Format agent names nicely\n const agentNames = skillsResult.agents\n .map(agent => {\n // Convert kebab-case to Title Case\n return agent\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n })\n .join(', ');\n s.stop(`Mastra agent skills installed (in ${agentNames})`);\n } else {\n s.stop('Skills installation failed');\n console.warn(color.yellow(`\\nWarning: ${skillsResult.error}`));\n }\n } catch (error) {\n s.stop('Skills installation failed');\n console.warn(color.yellow(`\\nWarning: ${error instanceof Error ? error.message : 'Unknown error'}`));\n }\n }\n\n // Install MCP if an editor was selected\n if (mcpServer) {\n await installMastraDocsMCPServer({\n editor: mcpServer,\n directory: process.cwd(),\n versionTag,\n });\n }\n\n // Write AGENTS.md and CLAUDE.md if skills or MCP were configured\n if ((skills && skills.length > 0) || mcpServer) {\n try {\n // Always write AGENTS.md\n await writeAgentsMarkdown({ skills, mcpServer });\n\n // Write CLAUDE.md only if claude-code is in skills list\n const shouldWriteClaudeMd = skills?.includes('claude-code');\n if (shouldWriteClaudeMd) {\n await writeClaudeMarkdown();\n }\n } catch (error) {\n // Don't fail initialization if markdown files fail to write\n console.warn(\n color.yellow(\n `\\nWarning: Failed to create agent guide files: ${error instanceof Error ? error.message : 'Unknown error'}`,\n ),\n );\n }\n }\n\n if (initGit) {\n s.start('Initializing git repository');\n try {\n await gitInit({ cwd: process.cwd() });\n s.stop('Git repository initialized');\n } catch {\n s.stop();\n }\n }\n\n if (observability) {\n try {\n const defaultProjectName = await readPackageName();\n const result = await provisionObservabilityProject({\n defaultProjectName,\n observabilityProject,\n mode: observabilityMode,\n token: observabilityToken,\n });\n await writeObservabilityEnv({\n token: result.token,\n projectId: result.projectId,\n endpoint: result.tracesEndpoint,\n });\n p.note(\n `${color.green('Mastra Observability enabled.')}\n\n Project: ${color.cyan(result.projectName)} (${result.orgName})\n Wrote ${color.cyan('MASTRA_PLATFORM_ACCESS_TOKEN')} and ${color.cyan('MASTRA_PROJECT_ID')} to ${color.cyan('.env')}.`,\n );\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n try {\n await writeObservabilityEnv();\n } catch {}\n p.note(\n `${color.yellow('Could not connect this project to Mastra Observability automatically:')} ${message}\n\n Empty ${color.cyan('MASTRA_PLATFORM_ACCESS_TOKEN')} and ${color.cyan('MASTRA_PROJECT_ID')} placeholders were added to your ${color.cyan('.env')} file.\n\n 1. Visit ${color.cyan('https://projects.mastra.ai')} to create a project and an access token.\n 2. Paste the token into ${color.cyan('MASTRA_PLATFORM_ACCESS_TOKEN')} and the project id into ${color.cyan('MASTRA_PROJECT_ID')}.`,\n );\n }\n }\n\n if (!llmApiKey) {\n p.note(`\n ${color.green('Mastra initialized successfully!')}\n\n Rename ${color.cyan('.env.example')} to ${color.cyan('.env')}\n and add your ${color.cyan(key)}\n `);\n } else {\n p.note(`\n ${color.green('Mastra initialized successfully!')}\n `);\n }\n return { success: true };\n } catch (err) {\n s.stop(color.inverse('An error occurred while initializing Mastra'));\n console.error(err);\n return { success: false };\n }\n};\n","import child_process from 'node:child_process';\nimport fsSync from 'node:fs';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport util from 'node:util';\nimport * as p from '@clack/prompts';\nimport color from 'picocolors';\n\nimport { DepsService } from '../../services/service.deps.js';\nimport { getPackageManagerAddCommand } from '../../utils/package-manager.js';\nimport type { PackageManager } from '../../utils/package-manager.js';\nimport { interactivePrompt } from '../init/utils.js';\nimport type { LLMProvider } from '../init/utils.js';\nimport { getPackageManager, isGitInitialized } from '../utils.js';\n\nconst exec = util.promisify(child_process.exec);\n\nconst execWithTimeout = async (command: string, timeoutMs?: number) => {\n try {\n const promise = exec(command, { killSignal: 'SIGTERM' });\n\n if (!timeoutMs) {\n return await promise;\n }\n\n let timeoutId: NodeJS.Timeout;\n const timeout = new Promise((_, reject) => {\n timeoutId = setTimeout(() => reject(new Error('Command timed out')), timeoutMs);\n });\n\n try {\n const result = await Promise.race([promise, timeout]);\n clearTimeout(timeoutId!);\n return result;\n } catch (error) {\n clearTimeout(timeoutId!);\n if (error instanceof Error && error.message === 'Command timed out') {\n throw new Error('Something went wrong during installation, please try again.');\n }\n throw error;\n }\n } catch (error: unknown) {\n throw error;\n }\n};\n\nasync function getInitCommand(pm: PackageManager): Promise<string> {\n switch (pm) {\n case 'npm':\n return 'npm init -y';\n case 'pnpm':\n return 'pnpm init';\n case 'yarn':\n return 'yarn init -y';\n case 'bun':\n return 'bun init -y';\n default:\n return 'npm init -y';\n }\n}\n\nasync function initializePackageJson(pm: PackageManager): Promise<void> {\n // Run the init command\n const initCommand = await getInitCommand(pm);\n await exec(initCommand);\n\n // Read and update package.json directly (more reliable than pkg set)\n const packageJsonPath = path.join(process.cwd(), 'package.json');\n const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));\n\n packageJson.type = 'module';\n packageJson.engines = {\n ...packageJson.engines,\n node: '>=22.13.0',\n };\n\n await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));\n}\n\nconst writeReadmeFile = async ({ dirPath, projectName }: { dirPath: string; projectName: string }) => {\n const packageManager = getPackageManager();\n const readmePath = path.join(dirPath, 'README.md');\n\n const content = `# ${projectName}\n\nWelcome to your new [Mastra](https://mastra.ai/) project! We're excited to see what you'll build.\n\n## Getting Started\n\nStart the development server:\n\n\\`\\`\\`shell\n${packageManager} run dev\n\\`\\`\\`\n\nOpen [http://localhost:4111](http://localhost:4111) in your browser to access [Mastra Studio](https://mastra.ai/docs/studio/overview). It provides an interactive UI for building and testing your agents, along with a REST API that exposes your Mastra application as a local service. This lets you start building without worrying about integration right away.\n\nYou can start editing files inside the \\`src/mastra\\` directory. The development server will automatically reload whenever you make changes.\n\n## Learn more\n\nTo learn more about Mastra, visit our [documentation](https://mastra.ai/docs/). Your bootstrapped project includes example code for [agents](https://mastra.ai/docs/agents/overview), [tools](https://mastra.ai/docs/agents/using-tools), [workflows](https://mastra.ai/docs/workflows/overview), [scorers](https://mastra.ai/docs/evals/overview), and [observability](https://mastra.ai/docs/observability/overview).\n\nIf you're new to AI agents, check out our [course](https://mastra.ai/learn) and [YouTube videos](https://youtube.com/@mastra-ai). You can also join our [Discord](https://discord.gg/BTYqqHKUrf) community to get help and share your projects.\n\n## Deploy to the Mastra platform\n\nThe [Mastra platform](https://projects.mastra.ai) provides two products for deploying and managing AI applications built with the Mastra framework:\n\n- **Studio**: A hosted visual environment for testing agents, running workflows, and inspecting traces\n- **Server**: A production deployment target that runs your Mastra application as an API server\n\nLearn more in the [Mastra platform documentation](https://mastra.ai/docs/mastra-platform/overview).`;\n\n await fs.writeFile(readmePath, content);\n};\n\nasync function installMastraDependencies(\n pm: PackageManager,\n dependencies: string[],\n versionTag: string,\n isDev: boolean,\n timeout?: number,\n) {\n let installCommand = getPackageManagerAddCommand(pm);\n\n if (isDev) {\n /**\n * All our package managers support -D for devDependencies. We can't use --save-dev across the board because yarn and bun don't alias it.\n * npm: -D, --save-dev. pnpm: -D, --save-dev. yarn: -D, --dev. bun: -D, --dev\n */\n installCommand = `${installCommand} -D`;\n }\n\n const dependenciesWithVersion = dependencies.map(dependency => `${dependency}${versionTag}`).join(' ');\n\n try {\n await execWithTimeout(`${pm} ${installCommand} ${dependenciesWithVersion}`, timeout);\n } catch (err) {\n if (versionTag === '@latest') {\n throw new Error(\n `Failed to install ${dependenciesWithVersion}: ${err instanceof Error ? err.message : 'Unknown error'}`,\n );\n }\n\n const latestDependencies = dependencies.map(dependency => `${dependency}@latest`).join(' ');\n try {\n await execWithTimeout(`${pm} ${installCommand} ${latestDependencies}`, timeout);\n } catch (fallbackErr) {\n throw new Error(\n `Failed to install ${dependencies.join(', ')} (tried ${versionTag} and @latest): ${fallbackErr instanceof Error ? fallbackErr.message : 'Unknown error'}`,\n );\n }\n }\n}\n\nexport const createMastraProject = async ({\n projectName: name,\n createVersionTag,\n timeout,\n llmProvider,\n llmApiKey,\n skills,\n mcpServer,\n observability,\n needsInteractive,\n onObservabilitySelected,\n}: {\n projectName?: string;\n createVersionTag?: string;\n timeout?: number;\n llmProvider?: LLMProvider;\n llmApiKey?: string;\n skills?: string[];\n mcpServer?: string;\n observability?: boolean;\n needsInteractive?: boolean;\n onObservabilitySelected?: (event: {\n command?: 'create' | 'init';\n enabled: boolean;\n answer: 'yes' | 'no';\n selection_method: 'interactive';\n }) => void;\n}) => {\n p.intro(color.inverse(' Mastra Create '));\n\n const projectName =\n name ??\n (await p.text({\n message: 'What do you want to name your project?',\n placeholder: 'my-mastra-app',\n validate: value => {\n if (!value || value.length === 0) return 'Project name cannot be empty';\n if (fsSync.existsSync(value)) {\n return `A directory named \"${value}\" already exists. Please choose a different name.`;\n }\n },\n }));\n\n if (p.isCancel(projectName)) {\n p.cancel('Operation cancelled');\n process.exit(0);\n }\n\n let result: Awaited<ReturnType<typeof interactivePrompt>> | undefined = undefined;\n\n if (needsInteractive) {\n const skipGitInit = await isGitInitialized({ cwd: process.cwd() });\n\n result = await interactivePrompt({\n options: { command: 'create', showBanner: false, onObservabilitySelected },\n skip: {\n llmProvider: llmProvider !== undefined,\n llmApiKey: llmApiKey !== undefined,\n skills: skills !== undefined && skills.length > 0,\n mcpServer: mcpServer !== undefined,\n observability: observability !== undefined,\n directory: true,\n gitInit: skipGitInit,\n },\n });\n }\n const s = p.spinner();\n const originalCwd = process.cwd();\n let projectPath: string | null = null;\n\n try {\n s.start('Creating project');\n try {\n await fs.mkdir(projectName);\n projectPath = path.resolve(originalCwd, projectName);\n } catch (error) {\n if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {\n s.stop(`A directory named \"${projectName}\" already exists. Please choose a different name.`);\n process.exit(1);\n }\n throw new Error(\n `Failed to create project directory: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n\n process.chdir(projectName);\n const pm = getPackageManager();\n const installCommand = getPackageManagerAddCommand(pm);\n\n s.message('Initializing project structure');\n try {\n await initializePackageJson(pm);\n const depsService = new DepsService();\n await depsService.addScriptsToPackageJson({\n dev: 'mastra dev',\n build: 'mastra build',\n start: 'mastra start',\n });\n await writeReadmeFile({ dirPath: process.cwd(), projectName });\n } catch (error) {\n throw new Error(\n `Failed to initialize project structure: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n\n s.stop('Project structure created');\n\n s.start(`Installing ${pm} dependencies`);\n try {\n await exec(`${pm} ${installCommand} zod@^4`);\n await exec(`${pm} ${installCommand} -D typescript @types/node`);\n await exec(`echo '{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ES2022\",\n \"moduleResolution\": \"bundler\",\n \"esModuleInterop\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"noEmit\": true,\n \"outDir\": \"dist\"\n },\n \"include\": [\n \"src/**/*\"\n ]\n}' > tsconfig.json`);\n } catch (error) {\n throw new Error(\n `Failed to install basic dependencies: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n\n s.stop(`${pm} dependencies installed`);\n\n s.start('Installing Mastra CLI');\n const versionTag = createVersionTag ? `@${createVersionTag}` : '@latest';\n\n try {\n await installMastraDependencies(pm, ['mastra'], versionTag, true, timeout);\n } catch (error) {\n throw new Error(`Failed to install Mastra CLI: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n s.stop('Mastra CLI installed');\n\n s.start('Installing Mastra dependencies');\n try {\n await installMastraDependencies(\n pm,\n ['@mastra/core', '@mastra/libsql', '@mastra/memory'],\n versionTag,\n false,\n timeout,\n );\n } catch (error) {\n throw new Error(\n `Failed to install Mastra dependencies: ${error instanceof Error ? error.message : 'Unknown error'}`,\n );\n }\n s.stop('Mastra dependencies installed');\n\n s.start('Adding .gitignore');\n try {\n await exec(`echo output.txt >> .gitignore`);\n await exec(`echo node_modules >> .gitignore`);\n await exec(`echo dist >> .gitignore`);\n await exec(`echo .mastra >> .gitignore`);\n await exec(`echo .env.development >> .gitignore`);\n await exec(`echo .env >> .gitignore`);\n await exec(`echo *.db >> .gitignore`);\n await exec(`echo *.db-* >> .gitignore`);\n await exec(`echo .netlify >> .gitignore`);\n await exec(`echo .vercel >> .gitignore`);\n } catch (error) {\n throw new Error(`Failed to create .gitignore: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n s.stop('.gitignore added');\n\n p.outro('Project created successfully');\n console.info('');\n\n return { projectName, result };\n } catch (error) {\n s.stop();\n\n const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';\n p.cancel(`Project creation failed: ${errorMessage}`);\n\n // Clean up: remove the created directory on failure\n if (projectPath && fsSync.existsSync(projectPath)) {\n try {\n // Change back to original directory before cleanup\n process.chdir(originalCwd);\n await fs.rm(projectPath, { recursive: true, force: true });\n } catch (cleanupError) {\n // Log but don't throw - we want to exit with the original error\n console.error(\n `Warning: Failed to clean up project directory: ${cleanupError instanceof Error ? cleanupError.message : 'Unknown error'}`,\n );\n }\n }\n\n process.exit(1);\n }\n};\n","import fsSync from 'node:fs';\nimport fs from 'node:fs/promises';\nimport * as p from '@clack/prompts';\nimport color from 'picocolors';\nimport pkgJson from '../../../package.json';\nimport type { PosthogAnalytics } from '../../analytics/index';\nimport { getAnalytics } from '../../analytics/index';\nimport { cloneTemplate, installDependencies } from '../../utils/clone-template';\nimport { loadTemplates, selectTemplate, findTemplateByName, getDefaultProjectName } from '../../utils/template-utils';\nimport type { Template } from '../../utils/template-utils';\nimport { init } from '../init/init';\nimport type { Editor } from '../init/mcp-docs-server-install';\nimport type { Component, LLMProvider } from '../init/utils';\nimport { LLM_PROVIDERS } from '../init/utils';\nimport { getPackageManager, gitInit } from '../utils.js';\n\nimport { createMastraProject } from './utils';\n\nconst version = pkgJson.version;\n\nexport const create = async (args: {\n projectName?: string;\n components?: Component[];\n llmProvider?: LLMProvider;\n addExample?: boolean;\n llmApiKey?: string;\n createVersionTag?: string;\n timeout?: number;\n directory?: string;\n mcpServer?: Editor;\n skills?: string[];\n template?: string | boolean;\n analytics?: PosthogAnalytics;\n observability?: boolean;\n observabilityProject?: string;\n}) => {\n if (args.template !== undefined) {\n await createFromTemplate({\n projectName: args.projectName,\n template: args.template,\n timeout: args.timeout,\n injectedAnalytics: args.analytics,\n llmProvider: args.llmProvider,\n });\n return;\n }\n\n /**\n * We need to explicitly check for undefined instead of using the falsy (!) check because the user might have passed args that are explicitly set to false (in this case, no example code) and we need to distinguish between those and the case where the args were not passed at all.\n */\n const needsInteractive =\n args.components === undefined || args.llmProvider === undefined || args.addExample === undefined;\n\n const directory = args.directory || 'src/';\n\n const { projectName, result } = await createMastraProject({\n projectName: args?.projectName,\n createVersionTag: args?.createVersionTag,\n timeout: args?.timeout,\n llmProvider: args?.llmProvider,\n llmApiKey: args?.llmApiKey,\n skills: args?.skills,\n mcpServer: args?.mcpServer,\n observability: args?.observability,\n needsInteractive,\n onObservabilitySelected: event => getAnalytics()?.trackEvent('cli_observability_selected', event),\n });\n\n if (needsInteractive && result) {\n // Track model provider selection from interactive prompt\n const analytics = getAnalytics();\n if (analytics && result?.llmProvider) {\n analytics.trackEvent('cli_model_provider_selected', {\n provider: result.llmProvider,\n selection_method: 'interactive',\n });\n }\n\n const interactiveComponents: Component[] = ['agents', 'tools', 'workflows', 'scorers'];\n\n if (analytics) {\n analytics.trackEvent('cli_components_selected', {\n components: interactiveComponents,\n selection_method: 'interactive',\n });\n }\n\n await init({\n ...result,\n llmApiKey: result?.llmApiKey as string | undefined,\n components: interactiveComponents,\n addExample: true,\n skills: result?.skills || args.skills,\n mcpServer: result?.mcpServer || args.mcpServer,\n versionTag: args.createVersionTag,\n observability: args.observability ?? result?.observability,\n observabilityProject: args.observabilityProject,\n observabilityMode: 'create',\n observabilityToken: result?.observabilityToken,\n });\n postCreate({ projectName });\n return;\n }\n\n const { components = [], llmProvider = 'openai', addExample = false, llmApiKey } = args;\n\n // Track model provider selection from CLI args\n const cliAnalytics = getAnalytics();\n if (cliAnalytics) {\n cliAnalytics.trackEvent('cli_model_provider_selected', {\n provider: llmProvider,\n selection_method: 'cli_args',\n });\n\n cliAnalytics.trackEvent('cli_components_selected', {\n components,\n has_agents: components.includes('agents'),\n has_tools: components.includes('tools'),\n has_workflows: components.includes('workflows'),\n has_scorers: components.includes('scorers'),\n selection_method: 'cli_args',\n });\n }\n\n await init({\n directory,\n components,\n llmProvider,\n addExample,\n llmApiKey,\n skills: args.skills,\n mcpServer: args.mcpServer,\n versionTag: args.createVersionTag,\n observability: args.observability,\n observabilityProject: args.observabilityProject,\n observabilityMode: 'create',\n });\n\n postCreate({ projectName });\n};\n\nconst postCreate = ({ projectName }: { projectName: string }) => {\n const packageManager = getPackageManager();\n p.outro(`\n ${color.green('To start your project:')}\n\n ${color.cyan('cd')} ${projectName}\n ${color.cyan(`${packageManager} run dev`)}\n `);\n};\n\nfunction isGitHubUrl(url: string): boolean {\n try {\n const parsedUrl = new URL(url);\n return parsedUrl.hostname === 'github.com' && parsedUrl.pathname.split('/').length >= 3;\n } catch {\n return false;\n }\n}\n\nasync function validateGitHubProject(githubUrl: string): Promise<{ isValid: boolean; errors: string[] }> {\n const errors: string[] = [];\n\n try {\n // Extract owner and repo from GitHub URL\n const urlParts = new URL(githubUrl).pathname.split('/').filter(Boolean);\n const owner = urlParts[0];\n const repo = urlParts[1]?.replace('.git', ''); // Remove .git if present\n\n if (!owner || !repo) {\n throw new Error('Invalid GitHub URL format');\n }\n\n // Try to fetch from main branch first, fallback to master\n const branches = ['main', 'master'];\n let packageJsonContent: string | null = null;\n let indexContent: string | null = null;\n\n for (const branch of branches) {\n try {\n // Fetch package.json\n const packageJsonUrl = `https://raw.githubusercontent.com/${owner}/${repo}/${branch}/package.json`;\n const packageJsonResponse = await fetch(packageJsonUrl);\n\n if (packageJsonResponse.ok) {\n packageJsonContent = await packageJsonResponse.text();\n\n // If package.json found, try to fetch index.ts from same branch\n const indexUrl = `https://raw.githubusercontent.com/${owner}/${repo}/${branch}/src/mastra/index.ts`;\n const indexResponse = await fetch(indexUrl);\n\n if (indexResponse.ok) {\n indexContent = await indexResponse.text();\n }\n\n break; // Found files, no need to check other branches\n }\n } catch {\n // Continue to next branch\n }\n }\n\n if (!packageJsonContent) {\n errors.push('Could not fetch package.json from repository');\n return { isValid: false, errors };\n }\n\n // Check for @mastra/core dependency\n try {\n const packageJson = JSON.parse(packageJsonContent);\n const hasMastraCore =\n packageJson.dependencies?.['@mastra/core'] ||\n packageJson.devDependencies?.['@mastra/core'] ||\n packageJson.peerDependencies?.['@mastra/core'];\n\n if (!hasMastraCore) {\n errors.push('Missing @mastra/core dependency in package.json');\n }\n } catch {\n errors.push('Invalid package.json format');\n }\n\n // Check for src/mastra/index.ts\n if (!indexContent) {\n errors.push('Missing src/mastra/index.ts file');\n } else {\n // Check if it exports a Mastra instance\n const hasMastraExport =\n indexContent.includes('export') && (indexContent.includes('new Mastra') || indexContent.includes('Mastra('));\n\n if (!hasMastraExport) {\n errors.push('src/mastra/index.ts does not export a Mastra instance');\n }\n }\n\n return { isValid: errors.length === 0, errors };\n } catch (error) {\n errors.push(`Failed to validate GitHub repository: ${error instanceof Error ? error.message : 'Unknown error'}`);\n return { isValid: false, errors };\n }\n}\n\nasync function createFromGitHubUrl(url: string): Promise<Template> {\n // Extract owner and repo from GitHub URL\n const urlParts = new URL(url).pathname.split('/').filter(Boolean);\n const owner = urlParts[0] || 'unknown';\n const repo = urlParts[1] || 'unknown';\n\n // Create a temporary Template object for GitHub URLs\n return {\n githubUrl: url,\n title: `${owner}/${repo}`,\n slug: repo,\n agents: [],\n mcp: [],\n tools: [],\n networks: [],\n workflows: [],\n };\n}\n\nasync function createFromTemplate(args: {\n projectName?: string;\n template?: string | boolean;\n timeout?: number;\n injectedAnalytics?: PosthogAnalytics;\n llmProvider?: LLMProvider;\n}) {\n let selectedTemplate: Template | undefined;\n\n if (args.template === true) {\n // Interactive template selection\n const templates = await loadTemplates();\n const selected = await selectTemplate(templates);\n if (!selected) {\n p.log.info('No template selected. Exiting.');\n return;\n }\n selectedTemplate = selected;\n } else if (args.template && typeof args.template === 'string') {\n // Check if it's a GitHub URL\n if (isGitHubUrl(args.template)) {\n // Validate GitHub project before cloning\n const spinner = p.spinner();\n spinner.start('Validating GitHub repository...');\n\n const validation = await validateGitHubProject(args.template);\n\n if (!validation.isValid) {\n spinner.stop('Validation failed');\n p.log.error('This does not appear to be a valid Mastra project:');\n validation.errors.forEach(error => p.log.error(` - ${error}`));\n throw new Error('Invalid Mastra project');\n }\n\n spinner.stop('Valid Mastra project ✓');\n selectedTemplate = await createFromGitHubUrl(args.template);\n } else {\n // Template name provided, find it from the list\n const templates = await loadTemplates();\n const found = findTemplateByName(templates, args.template);\n if (!found) {\n p.log.error(`Template \"${args.template}\" not found. Available templates:`);\n templates.forEach((t: Template) => p.log.info(` - ${t.title} (use: ${t.slug.replace('template-', '')})`));\n throw new Error(`Template \"${args.template}\" not found`);\n }\n selectedTemplate = found;\n }\n }\n\n if (!selectedTemplate) {\n throw new Error('No template selected');\n }\n\n // Get project name\n let projectName = args.projectName;\n if (!projectName) {\n const defaultName = getDefaultProjectName(selectedTemplate);\n const response = await p.text({\n message: 'What is your project name?',\n defaultValue: defaultName,\n placeholder: defaultName,\n });\n\n if (p.isCancel(response)) {\n p.log.info('Project creation cancelled.');\n return;\n }\n\n projectName = response as string;\n }\n\n // Get LLM provider if not specified\n let llmProvider = args.llmProvider;\n if (!llmProvider) {\n const providerResponse = await p.select({\n message: 'Select a default provider:',\n options: LLM_PROVIDERS,\n });\n\n if (p.isCancel(providerResponse)) {\n p.log.info('Project creation cancelled.');\n return;\n }\n\n llmProvider = providerResponse as LLMProvider;\n }\n\n // Handle git initialization for templates\n let initGit = false;\n const gitConfirmResult = await p.confirm({\n message: 'Initialize a new git repository?',\n initialValue: true,\n });\n\n if (!p.isCancel(gitConfirmResult)) {\n initGit = gitConfirmResult;\n }\n\n let projectPath: string | null = null;\n\n try {\n // Track template usage\n const analytics = args.injectedAnalytics || getAnalytics();\n if (analytics) {\n analytics.trackEvent('cli_template_used', {\n template_slug: selectedTemplate.slug,\n template_title: selectedTemplate.title,\n });\n\n // Track model provider selection\n if (llmProvider) {\n analytics.trackEvent('cli_model_provider_selected', {\n provider: llmProvider,\n selection_method: args.llmProvider ? 'cli_args' : 'interactive',\n });\n }\n }\n\n const isBeta = version?.includes('beta') ?? false;\n const isMastraTemplate = selectedTemplate.githubUrl.includes('github.com/mastra-ai/');\n const branch = isBeta && isMastraTemplate ? 'beta' : undefined;\n\n // Clone the template\n projectPath = await cloneTemplate({\n template: selectedTemplate,\n projectName,\n branch,\n llmProvider,\n });\n\n // Install dependencies\n await installDependencies(projectPath);\n\n if (initGit) {\n const s = p.spinner();\n try {\n s.start('Initializing git repository');\n\n await gitInit({ cwd: projectPath });\n\n s.stop('Git repository initialized');\n } catch {\n s.stop();\n }\n }\n\n p.note(`\n ${color.green('Mastra template installed!')}\n\n Add the necessary environment\n variables in your ${color.cyan('.env')} file\n `);\n\n // Show completion message\n postCreate({ projectName });\n } catch (error) {\n // Clean up: remove the created directory on failure\n if (projectPath) {\n try {\n if (fsSync.existsSync(projectPath)) {\n await fs.rm(projectPath, { recursive: true, force: true });\n }\n } catch (cleanupError) {\n // Log but don't throw - we want to exit with the original error\n console.error(\n `Warning: Failed to clean up project directory: ${cleanupError instanceof Error ? cleanupError.message : 'Unknown error'}`,\n );\n }\n }\n p.log.error(`Failed to create project from template: ${error instanceof Error ? error.message : 'Unknown error'}`);\n throw error;\n }\n}\n"]}
|
|
@@ -1265,6 +1265,7 @@ Top-level files define how your Mastra project is configured, built, and connect
|
|
|
1265
1265
|
- Load the \`mastra\` skill before any Mastra-related work
|
|
1266
1266
|
- Register new agents, tools, workflows, and scorers in \`src/mastra/index.ts\`
|
|
1267
1267
|
- Use schemas for tool inputs and outputs
|
|
1268
|
+
- Use package scripts such as \`npm run dev\` instead of running \`mastra dev\` directly, so the local project dependency is used instead of any global install
|
|
1268
1269
|
- Run \`npm run build\` to verify changes compile
|
|
1269
1270
|
|
|
1270
1271
|
### Never do
|
|
@@ -1601,5 +1602,5 @@ var PosthogAnalytics = class {
|
|
|
1601
1602
|
};
|
|
1602
1603
|
|
|
1603
1604
|
export { COMPONENTS, DepsService, FileService, LLMProvider, LLM_PROVIDERS, PosthogAnalytics, checkAndInstallCoreDeps, checkForPkgJson, createComponentsDir, createMastraDir, getAPIKey, getAnalytics, getModelIdentifier, getPackageManager, getPackageManagerAddCommand, getVersionTag, gitInit, installMastraDocsMCPServer, interactivePrompt, isGitInitialized, parseComponents, parseLlmProvider, parseMcp, parseSkills, readPackageName, setAnalytics, shouldSkipDotenvLoading, writeAPIKey, writeAgentsMarkdown, writeClaudeMarkdown, writeCodeSample, writeIndexFile, writeObservabilityEnv };
|
|
1604
|
-
//# sourceMappingURL=chunk-
|
|
1605
|
-
//# sourceMappingURL=chunk-
|
|
1605
|
+
//# sourceMappingURL=chunk-LA3AAJUE.js.map
|
|
1606
|
+
//# sourceMappingURL=chunk-LA3AAJUE.js.map
|