create-mastra 0.0.0-memory-system-message-error-20250813233316 → 0.0.0-message-file-url-handling-fix-20250904234524
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 +1631 -0
- package/README.md +2 -8
- package/dist/index.js +49 -42
- package/dist/index.js.map +1 -1
- package/package.json +13 -5
- package/dist/starter-files/tools.d.ts +0 -79
- package/dist/starter-files/tools.d.ts.map +0 -1
- package/dist/templates/dev.entry.d.ts +0 -2
- package/dist/templates/dev.entry.d.ts.map +0 -1
- package/dist/templates/scorers/answer-relevancy-scorer.d.ts +0 -2
- package/dist/templates/scorers/answer-relevancy-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/bias-detection-scorer.d.ts +0 -2
- package/dist/templates/scorers/bias-detection-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/completeness-scorer.d.ts +0 -2
- package/dist/templates/scorers/completeness-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/content-similarity-scorer.d.ts +0 -2
- package/dist/templates/scorers/content-similarity-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/faithfulness-scorer.d.ts +0 -2
- package/dist/templates/scorers/faithfulness-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/hallucination-scorer.d.ts +0 -2
- package/dist/templates/scorers/hallucination-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/keyword-coverage-scorer.d.ts +0 -2
- package/dist/templates/scorers/keyword-coverage-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/textual-difference-scorer.d.ts +0 -2
- package/dist/templates/scorers/textual-difference-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/tone-consistency-scorer.d.ts +0 -2
- package/dist/templates/scorers/tone-consistency-scorer.d.ts.map +0 -1
- package/dist/templates/scorers/toxicity-detection-scorer.d.ts +0 -2
- package/dist/templates/scorers/toxicity-detection-scorer.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -4,22 +4,16 @@ The easiest way to get started with Mastra is by using `create-mastra`. This CLI
|
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
|
-
Using npx:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npx create-mastra@latest
|
|
11
|
-
```
|
|
12
|
-
|
|
13
7
|
Using npm:
|
|
14
8
|
|
|
15
9
|
```bash
|
|
16
|
-
|
|
10
|
+
npx create-mastra@latest
|
|
17
11
|
```
|
|
18
12
|
|
|
19
13
|
Using yarn:
|
|
20
14
|
|
|
21
15
|
```bash
|
|
22
|
-
yarn create
|
|
16
|
+
yarn dlx create-mastra@latest
|
|
23
17
|
```
|
|
24
18
|
|
|
25
19
|
Using pnpm:
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import tty from 'node:tty';
|
|
|
18
18
|
import pino from 'pino';
|
|
19
19
|
import pretty from 'pino-pretty';
|
|
20
20
|
import { execa } from 'execa';
|
|
21
|
-
import
|
|
21
|
+
import fsExtra2, { readJSON, ensureFile, writeJSON } from 'fs-extra/esm';
|
|
22
22
|
import prettier from 'prettier';
|
|
23
23
|
import fsExtra from 'fs-extra';
|
|
24
24
|
|
|
@@ -1196,18 +1196,6 @@ function getPackageManager() {
|
|
|
1196
1196
|
}
|
|
1197
1197
|
return "npm";
|
|
1198
1198
|
}
|
|
1199
|
-
function getPackageManagerInstallCommand(pm) {
|
|
1200
|
-
switch (pm) {
|
|
1201
|
-
case "npm":
|
|
1202
|
-
return "install";
|
|
1203
|
-
case "yarn":
|
|
1204
|
-
return "add";
|
|
1205
|
-
case "pnpm":
|
|
1206
|
-
return "add";
|
|
1207
|
-
default:
|
|
1208
|
-
return "install";
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
1199
|
var logger = new PinoLogger({
|
|
1212
1200
|
name: "Mastra CLI",
|
|
1213
1201
|
level: "info"
|
|
@@ -1362,6 +1350,20 @@ function findTemplateByName(templates, templateName) {
|
|
|
1362
1350
|
function getDefaultProjectName(template) {
|
|
1363
1351
|
return template.slug.replace(/^template-/, "");
|
|
1364
1352
|
}
|
|
1353
|
+
function getPackageManagerAddCommand(pm) {
|
|
1354
|
+
switch (pm) {
|
|
1355
|
+
case "npm":
|
|
1356
|
+
return "install --audit=false --fund=false --loglevel=error --progress=false --update-notifier=false";
|
|
1357
|
+
case "yarn":
|
|
1358
|
+
return "add";
|
|
1359
|
+
case "pnpm":
|
|
1360
|
+
return "add --loglevel=error";
|
|
1361
|
+
case "bun":
|
|
1362
|
+
return "add";
|
|
1363
|
+
default:
|
|
1364
|
+
return "add";
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1365
1367
|
var DepsService = class {
|
|
1366
1368
|
packageManager;
|
|
1367
1369
|
constructor() {
|
|
@@ -1396,14 +1398,10 @@ var DepsService = class {
|
|
|
1396
1398
|
}
|
|
1397
1399
|
}
|
|
1398
1400
|
async installPackages(packages) {
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
runCommand = `${this.packageManager} i`;
|
|
1402
|
-
} else {
|
|
1403
|
-
runCommand = `${this.packageManager} add`;
|
|
1404
|
-
}
|
|
1401
|
+
const pm = this.packageManager;
|
|
1402
|
+
const installCommand = getPackageManagerAddCommand(pm);
|
|
1405
1403
|
const packageList = packages.join(" ");
|
|
1406
|
-
return execa(`${
|
|
1404
|
+
return execa(`${pm} ${installCommand} ${packageList}`, {
|
|
1407
1405
|
all: true,
|
|
1408
1406
|
shell: true,
|
|
1409
1407
|
stdio: "inherit"
|
|
@@ -1439,13 +1437,6 @@ var DepsService = class {
|
|
|
1439
1437
|
throw err;
|
|
1440
1438
|
}
|
|
1441
1439
|
}
|
|
1442
|
-
async getPackageVersion() {
|
|
1443
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
1444
|
-
const __dirname = dirname(__filename);
|
|
1445
|
-
const pkgJsonPath = path3.join(__dirname, "..", "package.json");
|
|
1446
|
-
const content = await fsExtra3.readJSON(pkgJsonPath);
|
|
1447
|
-
return content.version;
|
|
1448
|
-
}
|
|
1449
1440
|
async addScriptsToPackageJson(scripts) {
|
|
1450
1441
|
const packageJson = JSON.parse(await fs.readFile("package.json", "utf-8"));
|
|
1451
1442
|
packageJson.scripts = {
|
|
@@ -1645,12 +1636,12 @@ var FileService = class {
|
|
|
1645
1636
|
console.log(`${outputFilePath} already exists`);
|
|
1646
1637
|
return false;
|
|
1647
1638
|
}
|
|
1648
|
-
await
|
|
1639
|
+
await fsExtra2.outputFile(outputFilePath, fileString);
|
|
1649
1640
|
return true;
|
|
1650
1641
|
}
|
|
1651
1642
|
async setupEnvFile({ dbUrl }) {
|
|
1652
1643
|
const envPath = path3.join(process.cwd(), ".env.development");
|
|
1653
|
-
await
|
|
1644
|
+
await fsExtra2.ensureFile(envPath);
|
|
1654
1645
|
const fileEnvService = new FileEnvService(envPath);
|
|
1655
1646
|
await fileEnvService.setEnvValue("DB_URL", dbUrl);
|
|
1656
1647
|
}
|
|
@@ -1694,6 +1685,8 @@ var getAISDKPackage = (llmProvider) => {
|
|
|
1694
1685
|
return "@ai-sdk/google";
|
|
1695
1686
|
case "cerebras":
|
|
1696
1687
|
return "@ai-sdk/cerebras";
|
|
1688
|
+
case "mistral":
|
|
1689
|
+
return "@ai-sdk/mistral";
|
|
1697
1690
|
default:
|
|
1698
1691
|
return "@ai-sdk/openai";
|
|
1699
1692
|
}
|
|
@@ -1716,6 +1709,9 @@ var getProviderImportAndModelItem = (llmProvider) => {
|
|
|
1716
1709
|
} else if (llmProvider === "cerebras") {
|
|
1717
1710
|
providerImport = `import { cerebras } from '${getAISDKPackage(llmProvider)}';`;
|
|
1718
1711
|
modelItem = `cerebras('llama-3.3-70b')`;
|
|
1712
|
+
} else if (llmProvider === "mistral") {
|
|
1713
|
+
providerImport = `import { mistral } from '${getAISDKPackage(llmProvider)}';`;
|
|
1714
|
+
modelItem = `mistral('mistral-medium-2508')`;
|
|
1719
1715
|
}
|
|
1720
1716
|
return { providerImport, modelItem };
|
|
1721
1717
|
};
|
|
@@ -1972,7 +1968,7 @@ async function writeCodeSampleForComponents(llmprovider, component, destPath, im
|
|
|
1972
1968
|
}
|
|
1973
1969
|
var createComponentsDir = async (dirPath, component) => {
|
|
1974
1970
|
const componentPath = dirPath + `/${component}`;
|
|
1975
|
-
await
|
|
1971
|
+
await fsExtra2.ensureDir(componentPath);
|
|
1976
1972
|
};
|
|
1977
1973
|
var writeIndexFile = async ({
|
|
1978
1974
|
dirPath,
|
|
@@ -2041,6 +2037,9 @@ var getAPIKey = async (provider) => {
|
|
|
2041
2037
|
case "cerebras":
|
|
2042
2038
|
key = "CEREBRAS_API_KEY";
|
|
2043
2039
|
return key;
|
|
2040
|
+
case "mistral":
|
|
2041
|
+
key = "MISTRAL_API_KEY";
|
|
2042
|
+
return key;
|
|
2044
2043
|
default:
|
|
2045
2044
|
return key;
|
|
2046
2045
|
}
|
|
@@ -2061,7 +2060,7 @@ var createMastraDir = async (directory) => {
|
|
|
2061
2060
|
await fs.access(dirPath);
|
|
2062
2061
|
return { ok: false };
|
|
2063
2062
|
} catch {
|
|
2064
|
-
await
|
|
2063
|
+
await fsExtra2.ensureDir(dirPath);
|
|
2065
2064
|
return { ok: true, dirPath };
|
|
2066
2065
|
}
|
|
2067
2066
|
};
|
|
@@ -2089,7 +2088,8 @@ var interactivePrompt = async () => {
|
|
|
2089
2088
|
{ value: "anthropic", label: "Anthropic" },
|
|
2090
2089
|
{ value: "groq", label: "Groq" },
|
|
2091
2090
|
{ value: "google", label: "Google" },
|
|
2092
|
-
{ value: "cerebras", label: "Cerebras" }
|
|
2091
|
+
{ value: "cerebras", label: "Cerebras" },
|
|
2092
|
+
{ value: "mistral", label: "Mistral" }
|
|
2093
2093
|
]
|
|
2094
2094
|
}),
|
|
2095
2095
|
llmApiKey: async ({ results: { llmProvider } }) => {
|
|
@@ -2247,7 +2247,7 @@ var init = async ({
|
|
|
2247
2247
|
const aiSdkPackageVersion = getAISDKPackageVersion(llmProvider);
|
|
2248
2248
|
const depsService = new DepsService();
|
|
2249
2249
|
const pm = depsService.packageManager;
|
|
2250
|
-
const installCommand =
|
|
2250
|
+
const installCommand = getPackageManagerAddCommand(pm);
|
|
2251
2251
|
await exec3(`${pm} ${installCommand} ${aiSdkPackage}@${aiSdkPackageVersion}`);
|
|
2252
2252
|
if (configureEditorWithDocsMCP) {
|
|
2253
2253
|
await installMastraDocsMCPServer({
|
|
@@ -2302,9 +2302,9 @@ var execWithTimeout = async (command, timeoutMs) => {
|
|
|
2302
2302
|
}
|
|
2303
2303
|
};
|
|
2304
2304
|
async function installMastraDependency(pm, dependency, versionTag, isDev, timeout) {
|
|
2305
|
-
let installCommand =
|
|
2305
|
+
let installCommand = getPackageManagerAddCommand(pm);
|
|
2306
2306
|
if (isDev) {
|
|
2307
|
-
installCommand = `${installCommand}
|
|
2307
|
+
installCommand = `${installCommand} -D`;
|
|
2308
2308
|
}
|
|
2309
2309
|
try {
|
|
2310
2310
|
await execWithTimeout(`${pm} ${installCommand} ${dependency}${versionTag}`, timeout);
|
|
@@ -2354,7 +2354,7 @@ var createMastraProject = async ({
|
|
|
2354
2354
|
}
|
|
2355
2355
|
process.chdir(projectName);
|
|
2356
2356
|
const pm = getPackageManager();
|
|
2357
|
-
const installCommand =
|
|
2357
|
+
const installCommand = getPackageManagerAddCommand(pm);
|
|
2358
2358
|
s2.message("Initializing project structure");
|
|
2359
2359
|
try {
|
|
2360
2360
|
await exec4(`npm init -y`);
|
|
@@ -2443,7 +2443,7 @@ var createMastraProject = async ({
|
|
|
2443
2443
|
};
|
|
2444
2444
|
var create = async (args2) => {
|
|
2445
2445
|
if (args2.template !== void 0) {
|
|
2446
|
-
await createFromTemplate(args2);
|
|
2446
|
+
await createFromTemplate({ ...args2, injectedAnalytics: args2.analytics });
|
|
2447
2447
|
return;
|
|
2448
2448
|
}
|
|
2449
2449
|
const { projectName } = await createMastraProject({
|
|
@@ -2613,8 +2613,13 @@ async function createFromTemplate(args2) {
|
|
|
2613
2613
|
projectName = response;
|
|
2614
2614
|
}
|
|
2615
2615
|
try {
|
|
2616
|
-
const analytics = getAnalytics();
|
|
2617
|
-
if (analytics)
|
|
2616
|
+
const analytics = args2.injectedAnalytics || getAnalytics();
|
|
2617
|
+
if (analytics) {
|
|
2618
|
+
analytics.trackEvent("cli_template_used", {
|
|
2619
|
+
template_slug: selectedTemplate.slug,
|
|
2620
|
+
template_title: selectedTemplate.title
|
|
2621
|
+
});
|
|
2622
|
+
}
|
|
2618
2623
|
const projectPath = await cloneTemplate({
|
|
2619
2624
|
template: selectedTemplate,
|
|
2620
2625
|
projectName
|
|
@@ -2623,7 +2628,7 @@ async function createFromTemplate(args2) {
|
|
|
2623
2628
|
Me(`
|
|
2624
2629
|
${color2.green("Mastra template installed!")}
|
|
2625
2630
|
|
|
2626
|
-
Add the necessary environment
|
|
2631
|
+
Add the necessary environment
|
|
2627
2632
|
variables in your ${color2.cyan(".env")} file
|
|
2628
2633
|
`);
|
|
2629
2634
|
postCreate({ projectName });
|
|
@@ -2689,7 +2694,8 @@ program.name("create-mastra").description("Create a new Mastra project").argumen
|
|
|
2689
2694
|
timeout,
|
|
2690
2695
|
mcpServer: args.mcp,
|
|
2691
2696
|
directory: "src/",
|
|
2692
|
-
template: args.template
|
|
2697
|
+
template: args.template,
|
|
2698
|
+
analytics
|
|
2693
2699
|
});
|
|
2694
2700
|
return;
|
|
2695
2701
|
}
|
|
@@ -2703,7 +2709,8 @@ program.name("create-mastra").description("Create a new Mastra project").argumen
|
|
|
2703
2709
|
projectName,
|
|
2704
2710
|
directory: args.dir,
|
|
2705
2711
|
mcpServer: args.mcp,
|
|
2706
|
-
template: args.template
|
|
2712
|
+
template: args.template,
|
|
2713
|
+
analytics
|
|
2707
2714
|
});
|
|
2708
2715
|
});
|
|
2709
2716
|
program.parse(process.argv);
|