create-mastra 0.0.0-vector-query-tool-provider-options-20250828222356 → 0.0.0-vector-extension-schema-20250922130418

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/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
- npm create mastra@latest
10
+ npx create-mastra@latest
17
11
  ```
18
12
 
19
13
  Using yarn:
20
14
 
21
15
  ```bash
22
- yarn create mastra
16
+ yarn dlx create-mastra@latest
23
17
  ```
24
18
 
25
19
  Using pnpm:
package/dist/index.js CHANGED
@@ -12,15 +12,15 @@ import y$1, { stdout, stdin } from 'node:process';
12
12
  import * as g from 'node:readline';
13
13
  import g__default from 'node:readline';
14
14
  import { Writable } from 'node:stream';
15
- import fs from 'node:fs/promises';
15
+ import fs5 from 'node:fs/promises';
16
16
  import child_process from 'node:child_process';
17
17
  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 fsExtra2, { readJSON, ensureFile, writeJSON } from 'fs-extra/esm';
21
+ import fsExtra, { readJSON, ensureFile, writeJSON } from 'fs-extra/esm';
22
22
  import prettier from 'prettier';
23
- import fsExtra from 'fs-extra';
23
+ import fsExtra$1 from 'fs-extra';
24
24
 
25
25
  var __filename = fileURLToPath(import.meta.url);
26
26
  var __dirname = path3.dirname(__filename);
@@ -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"
@@ -1226,7 +1214,7 @@ async function cloneTemplate(options) {
1226
1214
  await updatePackageJson(projectPath, projectName);
1227
1215
  const envExamplePath = path3.join(projectPath, ".env.example");
1228
1216
  if (await fileExists(envExamplePath)) {
1229
- await fs.copyFile(envExamplePath, path3.join(projectPath, ".env"));
1217
+ await fs5.copyFile(envExamplePath, path3.join(projectPath, ".env"));
1230
1218
  }
1231
1219
  spinner5.success(`Template "${template.title}" cloned successfully to ${projectName}`);
1232
1220
  return projectPath;
@@ -1237,7 +1225,7 @@ async function cloneTemplate(options) {
1237
1225
  }
1238
1226
  async function directoryExists(dirPath) {
1239
1227
  try {
1240
- const stat = await fs.stat(dirPath);
1228
+ const stat = await fs5.stat(dirPath);
1241
1229
  return stat.isDirectory();
1242
1230
  } catch {
1243
1231
  return false;
@@ -1245,14 +1233,14 @@ async function directoryExists(dirPath) {
1245
1233
  }
1246
1234
  async function fileExists(filePath) {
1247
1235
  try {
1248
- const stat = await fs.stat(filePath);
1236
+ const stat = await fs5.stat(filePath);
1249
1237
  return stat.isFile();
1250
1238
  } catch {
1251
1239
  return false;
1252
1240
  }
1253
1241
  }
1254
1242
  async function cloneRepositoryWithoutGit(repoUrl, targetPath) {
1255
- await fs.mkdir(targetPath, { recursive: true });
1243
+ await fs5.mkdir(targetPath, { recursive: true });
1256
1244
  try {
1257
1245
  const degitRepo = repoUrl.replace("https://github.com/", "");
1258
1246
  const degitCommand = shellQuote.quote(["npx", "degit", degitRepo, targetPath]);
@@ -1267,7 +1255,7 @@ async function cloneRepositoryWithoutGit(repoUrl, targetPath) {
1267
1255
  });
1268
1256
  const gitDir = path3.join(targetPath, ".git");
1269
1257
  if (await directoryExists(gitDir)) {
1270
- await fs.rm(gitDir, { recursive: true, force: true });
1258
+ await fs5.rm(gitDir, { recursive: true, force: true });
1271
1259
  }
1272
1260
  } catch (gitError) {
1273
1261
  throw new Error(`Failed to clone repository: ${gitError instanceof Error ? gitError.message : "Unknown error"}`);
@@ -1277,10 +1265,10 @@ async function cloneRepositoryWithoutGit(repoUrl, targetPath) {
1277
1265
  async function updatePackageJson(projectPath, projectName) {
1278
1266
  const packageJsonPath = path3.join(projectPath, "package.json");
1279
1267
  try {
1280
- const packageJsonContent = await fs.readFile(packageJsonPath, "utf-8");
1268
+ const packageJsonContent = await fs5.readFile(packageJsonPath, "utf-8");
1281
1269
  const packageJson = JSON.parse(packageJsonContent);
1282
1270
  packageJson.name = projectName;
1283
- await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf-8");
1271
+ await fs5.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf-8");
1284
1272
  } catch (error) {
1285
1273
  logger.warn(`Could not update package.json: ${error instanceof Error ? error.message : "Unknown error"}`);
1286
1274
  }
@@ -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
- let runCommand = this.packageManager;
1400
- if (this.packageManager === "npm") {
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(`${runCommand} ${packageList}`, {
1404
+ return execa(`${pm} ${installCommand} ${packageList}`, {
1407
1405
  all: true,
1408
1406
  shell: true,
1409
1407
  stdio: "inherit"
@@ -1413,11 +1411,11 @@ var DepsService = class {
1413
1411
  try {
1414
1412
  const packageJsonPath = path3.join(process.cwd(), "package.json");
1415
1413
  try {
1416
- await fs.access(packageJsonPath);
1414
+ await fs5.access(packageJsonPath);
1417
1415
  } catch {
1418
1416
  return "No package.json file found in the current directory";
1419
1417
  }
1420
- const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf-8"));
1418
+ const packageJson = JSON.parse(await fs5.readFile(packageJsonPath, "utf-8"));
1421
1419
  for (const dependency of dependencies) {
1422
1420
  if (!packageJson.dependencies || !packageJson.dependencies[dependency]) {
1423
1421
  return `Please install ${dependency} before running this command (${this.packageManager} install ${dependency})`;
@@ -1432,7 +1430,7 @@ var DepsService = class {
1432
1430
  async getProjectName() {
1433
1431
  try {
1434
1432
  const packageJsonPath = path3.join(process.cwd(), "package.json");
1435
- const packageJson = await fs.readFile(packageJsonPath, "utf-8");
1433
+ const packageJson = await fs5.readFile(packageJsonPath, "utf-8");
1436
1434
  const pkg = JSON.parse(packageJson);
1437
1435
  return pkg.name;
1438
1436
  } catch (err) {
@@ -1440,12 +1438,12 @@ var DepsService = class {
1440
1438
  }
1441
1439
  }
1442
1440
  async addScriptsToPackageJson(scripts) {
1443
- const packageJson = JSON.parse(await fs.readFile("package.json", "utf-8"));
1441
+ const packageJson = JSON.parse(await fs5.readFile("package.json", "utf-8"));
1444
1442
  packageJson.scripts = {
1445
1443
  ...packageJson.scripts,
1446
1444
  ...scripts
1447
1445
  };
1448
- await fs.writeFile("package.json", JSON.stringify(packageJson, null, 2));
1446
+ await fs5.writeFile("package.json", JSON.stringify(packageJson, null, 2));
1449
1447
  }
1450
1448
  };
1451
1449
  var args = ["-y", "@mastra/mcp-docs-server"];
@@ -1598,7 +1596,7 @@ var FileEnvService = class extends EnvService {
1598
1596
  ${key}=${value}`;
1599
1597
  }
1600
1598
  await this.writeFile({ filePath, data });
1601
- console.log(`${key} set to ${value} in ENV file.`);
1599
+ console.info(`${key} set to ${value} in ENV file.`);
1602
1600
  return data;
1603
1601
  }
1604
1602
  async getEnvValue(key) {
@@ -1635,15 +1633,15 @@ var FileService = class {
1635
1633
  const filePath = path3.resolve(__dirname, "starter-files", inputFile);
1636
1634
  const fileString = fs4__default__default.readFileSync(filePath, "utf8");
1637
1635
  if (fs4__default__default.existsSync(outputFilePath) && !replaceIfExists) {
1638
- console.log(`${outputFilePath} already exists`);
1636
+ console.info(`${outputFilePath} already exists`);
1639
1637
  return false;
1640
1638
  }
1641
- await fsExtra2.outputFile(outputFilePath, fileString);
1639
+ await fsExtra.outputFile(outputFilePath, fileString);
1642
1640
  return true;
1643
1641
  }
1644
1642
  async setupEnvFile({ dbUrl }) {
1645
1643
  const envPath = path3.join(process.cwd(), ".env.development");
1646
- await fsExtra2.ensureFile(envPath);
1644
+ await fsExtra.ensureFile(envPath);
1647
1645
  const fileEnvService = new FileEnvService(envPath);
1648
1646
  await fileEnvService.setEnvValue("DB_URL", dbUrl);
1649
1647
  }
@@ -1687,6 +1685,8 @@ var getAISDKPackage = (llmProvider) => {
1687
1685
  return "@ai-sdk/google";
1688
1686
  case "cerebras":
1689
1687
  return "@ai-sdk/cerebras";
1688
+ case "mistral":
1689
+ return "@ai-sdk/mistral";
1690
1690
  default:
1691
1691
  return "@ai-sdk/openai";
1692
1692
  }
@@ -1709,6 +1709,9 @@ var getProviderImportAndModelItem = (llmProvider) => {
1709
1709
  } else if (llmProvider === "cerebras") {
1710
1710
  providerImport = `import { cerebras } from '${getAISDKPackage(llmProvider)}';`;
1711
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')`;
1712
1715
  }
1713
1716
  return { providerImport, modelItem };
1714
1717
  };
@@ -1751,8 +1754,8 @@ export const weatherAgent = new Agent({
1751
1754
  parser: "typescript",
1752
1755
  singleQuote: true
1753
1756
  });
1754
- await fs.writeFile(destPath, "");
1755
- await fs.writeFile(destPath, formattedContent);
1757
+ await fs5.writeFile(destPath, "");
1758
+ await fs5.writeFile(destPath, formattedContent);
1756
1759
  }
1757
1760
  async function writeWorkflowSample(destPath) {
1758
1761
  const content = `import { createStep, createWorkflow } from '@mastra/core/workflows';
@@ -1945,7 +1948,7 @@ export { weatherWorkflow };`;
1945
1948
  semi: true,
1946
1949
  singleQuote: true
1947
1950
  });
1948
- await fs.writeFile(destPath, formattedContent);
1951
+ await fs5.writeFile(destPath, formattedContent);
1949
1952
  }
1950
1953
  async function writeToolSample(destPath) {
1951
1954
  const fileService = new FileService();
@@ -1965,7 +1968,7 @@ async function writeCodeSampleForComponents(llmprovider, component, destPath, im
1965
1968
  }
1966
1969
  var createComponentsDir = async (dirPath, component) => {
1967
1970
  const componentPath = dirPath + `/${component}`;
1968
- await fsExtra2.ensureDir(componentPath);
1971
+ await fsExtra.ensureDir(componentPath);
1969
1972
  };
1970
1973
  var writeIndexFile = async ({
1971
1974
  dirPath,
@@ -1976,13 +1979,13 @@ var writeIndexFile = async ({
1976
1979
  const indexPath = dirPath + "/index.ts";
1977
1980
  const destPath = path3.join(indexPath);
1978
1981
  try {
1979
- await fs.writeFile(destPath, "");
1982
+ await fs5.writeFile(destPath, "");
1980
1983
  const filteredExports = [
1981
1984
  addWorkflow ? `workflows: { weatherWorkflow },` : "",
1982
1985
  addAgent ? `agents: { weatherAgent },` : ""
1983
1986
  ].filter(Boolean);
1984
1987
  if (!addExample) {
1985
- await fs.writeFile(
1988
+ await fs5.writeFile(
1986
1989
  destPath,
1987
1990
  `
1988
1991
  import { Mastra } from '@mastra/core';
@@ -1992,7 +1995,7 @@ export const mastra = new Mastra()
1992
1995
  );
1993
1996
  return;
1994
1997
  }
1995
- await fs.writeFile(
1998
+ await fs5.writeFile(
1996
1999
  destPath,
1997
2000
  `
1998
2001
  import { Mastra } from '@mastra/core/mastra';
@@ -2034,6 +2037,9 @@ var getAPIKey = async (provider) => {
2034
2037
  case "cerebras":
2035
2038
  key = "CEREBRAS_API_KEY";
2036
2039
  return key;
2040
+ case "mistral":
2041
+ key = "MISTRAL_API_KEY";
2042
+ return key;
2037
2043
  default:
2038
2044
  return key;
2039
2045
  }
@@ -2051,10 +2057,10 @@ var createMastraDir = async (directory) => {
2051
2057
  let dir = directory.trim().split("/").filter((item) => item !== "");
2052
2058
  const dirPath = path3.join(process.cwd(), ...dir, "mastra");
2053
2059
  try {
2054
- await fs.access(dirPath);
2060
+ await fs5.access(dirPath);
2055
2061
  return { ok: false };
2056
2062
  } catch {
2057
- await fsExtra2.ensureDir(dirPath);
2063
+ await fsExtra.ensureDir(dirPath);
2058
2064
  return { ok: true, dirPath };
2059
2065
  }
2060
2066
  };
@@ -2082,7 +2088,8 @@ var interactivePrompt = async () => {
2082
2088
  { value: "anthropic", label: "Anthropic" },
2083
2089
  { value: "groq", label: "Groq" },
2084
2090
  { value: "google", label: "Google" },
2085
- { value: "cerebras", label: "Cerebras" }
2091
+ { value: "cerebras", label: "Cerebras" },
2092
+ { value: "mistral", label: "Mistral" }
2086
2093
  ]
2087
2094
  }),
2088
2095
  llmApiKey: async ({ results: { llmProvider } }) => {
@@ -2240,7 +2247,7 @@ var init = async ({
2240
2247
  const aiSdkPackageVersion = getAISDKPackageVersion(llmProvider);
2241
2248
  const depsService = new DepsService();
2242
2249
  const pm = depsService.packageManager;
2243
- const installCommand = getPackageManagerInstallCommand(pm);
2250
+ const installCommand = getPackageManagerAddCommand(pm);
2244
2251
  await exec3(`${pm} ${installCommand} ${aiSdkPackage}@${aiSdkPackageVersion}`);
2245
2252
  if (configureEditorWithDocsMCP) {
2246
2253
  await installMastraDocsMCPServer({
@@ -2295,9 +2302,9 @@ var execWithTimeout = async (command, timeoutMs) => {
2295
2302
  }
2296
2303
  };
2297
2304
  async function installMastraDependency(pm, dependency, versionTag, isDev, timeout) {
2298
- let installCommand = getPackageManagerInstallCommand(pm);
2305
+ let installCommand = getPackageManagerAddCommand(pm);
2299
2306
  if (isDev) {
2300
- installCommand = `${installCommand} --save-dev`;
2307
+ installCommand = `${installCommand} -D`;
2301
2308
  }
2302
2309
  try {
2303
2310
  await execWithTimeout(`${pm} ${installCommand} ${dependency}${versionTag}`, timeout);
@@ -2335,7 +2342,7 @@ var createMastraProject = async ({
2335
2342
  try {
2336
2343
  s2.start("Creating project");
2337
2344
  try {
2338
- await fs.mkdir(projectName);
2345
+ await fs5.mkdir(projectName);
2339
2346
  } catch (error) {
2340
2347
  if (error instanceof Error && "code" in error && error.code === "EEXIST") {
2341
2348
  s2.stop(`A directory named "${projectName}" already exists. Please choose a different name.`);
@@ -2347,7 +2354,7 @@ var createMastraProject = async ({
2347
2354
  }
2348
2355
  process.chdir(projectName);
2349
2356
  const pm = getPackageManager();
2350
- const installCommand = getPackageManagerInstallCommand(pm);
2357
+ const installCommand = getPackageManagerAddCommand(pm);
2351
2358
  s2.message("Initializing project structure");
2352
2359
  try {
2353
2360
  await exec4(`npm init -y`);
@@ -2425,7 +2432,7 @@ var createMastraProject = async ({
2425
2432
  }
2426
2433
  s2.stop(".gitignore added");
2427
2434
  Se("Project created successfully");
2428
- console.log("");
2435
+ console.info("");
2429
2436
  return { projectName };
2430
2437
  } catch (error) {
2431
2438
  s2.stop();
@@ -2635,13 +2642,13 @@ async function getPackageVersion() {
2635
2642
  const __filename = fileURLToPath(import.meta.url);
2636
2643
  const __dirname = dirname(__filename);
2637
2644
  const pkgJsonPath = path3.join(__dirname, "..", "package.json");
2638
- const content = await fsExtra.readJSON(pkgJsonPath);
2645
+ const content = await fsExtra$1.readJSON(pkgJsonPath);
2639
2646
  return content.version;
2640
2647
  }
2641
2648
  async function getCreateVersionTag() {
2642
2649
  try {
2643
2650
  const pkgPath = fileURLToPath(import.meta.resolve("create-mastra/package.json"));
2644
- const json = await fsExtra.readJSON(pkgPath);
2651
+ const json = await fsExtra$1.readJSON(pkgPath);
2645
2652
  const { stdout } = await execa("npm", ["dist-tag", "create-mastra"]);
2646
2653
  const tagLine = stdout.split("\n").find((distLine) => distLine.endsWith(`: ${json.version}`));
2647
2654
  const tag = tagLine ? tagLine.split(":")[0].trim() : "latest";
@@ -2665,7 +2672,7 @@ program.version(`${version}`, "-v, --version").description(`create-mastra ${vers
2665
2672
  analytics.trackCommand({
2666
2673
  command: "version"
2667
2674
  });
2668
- console.log(`create-mastra ${version}`);
2675
+ console.info(`create-mastra ${version}`);
2669
2676
  } catch {
2670
2677
  }
2671
2678
  });