@vm0/cli 9.26.0 → 9.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +52 -23
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -61,7 +61,7 @@ if (DSN) {
61
61
  }
62
62
  });
63
63
  Sentry.setContext("cli", {
64
- version: "9.26.0",
64
+ version: "9.27.0",
65
65
  command: process.argv.slice(2).join(" ")
66
66
  });
67
67
  Sentry.setContext("runtime", {
@@ -72,7 +72,7 @@ if (DSN) {
72
72
  }
73
73
 
74
74
  // src/index.ts
75
- import { Command as Command75 } from "commander";
75
+ import { Command as Command76 } from "commander";
76
76
 
77
77
  // src/commands/auth/index.ts
78
78
  import { Command as Command5 } from "commander";
@@ -5922,7 +5922,7 @@ async function finalizeCompose(config, agent, variables, options) {
5922
5922
  );
5923
5923
  }
5924
5924
  if (options.autoUpdate !== false) {
5925
- await silentUpgradeAfterCommand("9.26.0");
5925
+ await silentUpgradeAfterCommand("9.27.0");
5926
5926
  }
5927
5927
  return result;
5928
5928
  }
@@ -8372,7 +8372,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
8372
8372
  }
8373
8373
  showNextSteps(result);
8374
8374
  if (options.autoUpdate !== false) {
8375
- await silentUpgradeAfterCommand("9.26.0");
8375
+ await silentUpgradeAfterCommand("9.27.0");
8376
8376
  }
8377
8377
  } catch (error) {
8378
8378
  handleRunError(error, identifier);
@@ -9874,7 +9874,7 @@ var cookAction = new Command27().name("cook").description("Quick start: prepare,
9874
9874
  ).option("-y, --yes", "Skip confirmation prompts").option("-v, --verbose", "Show full tool inputs and outputs").addOption(new Option5("--debug-no-mock-claude").hideHelp()).addOption(new Option5("--no-auto-update").hideHelp()).action(
9875
9875
  async (prompt, options) => {
9876
9876
  if (options.autoUpdate !== false) {
9877
- const shouldExit = await checkAndUpgrade("9.26.0", prompt);
9877
+ const shouldExit = await checkAndUpgrade("9.27.0", prompt);
9878
9878
  if (shouldExit) {
9879
9879
  process.exit(0);
9880
9880
  }
@@ -14083,12 +14083,40 @@ var setupClaudeCommand = new Command72().name("setup-claude").description("Insta
14083
14083
  );
14084
14084
  });
14085
14085
 
14086
+ // src/commands/dashboard/index.ts
14087
+ import { Command as Command73 } from "commander";
14088
+ import chalk71 from "chalk";
14089
+ var dashboardCommand = new Command73().name("dashboard").description("Quick reference for common query commands").action(() => {
14090
+ console.log();
14091
+ console.log(chalk71.bold("VM0 Dashboard"));
14092
+ console.log();
14093
+ console.log(chalk71.bold("Agents"));
14094
+ console.log(chalk71.dim(" List agents: ") + "vm0 agent list");
14095
+ console.log();
14096
+ console.log(chalk71.bold("Runs"));
14097
+ console.log(chalk71.dim(" Recent runs: ") + "vm0 run list");
14098
+ console.log(chalk71.dim(" View run logs: ") + "vm0 logs <run-id>");
14099
+ console.log();
14100
+ console.log(chalk71.bold("Schedules"));
14101
+ console.log(chalk71.dim(" List schedules: ") + "vm0 schedule list");
14102
+ console.log();
14103
+ console.log(chalk71.bold("Account"));
14104
+ console.log(chalk71.dim(" Usage stats: ") + "vm0 usage");
14105
+ console.log(chalk71.dim(" List secrets: ") + "vm0 secret list");
14106
+ console.log(chalk71.dim(" List variables: ") + "vm0 variable list");
14107
+ console.log();
14108
+ console.log(
14109
+ chalk71.dim("Not logged in? Run: ") + chalk71.cyan("vm0 auth login")
14110
+ );
14111
+ console.log();
14112
+ });
14113
+
14086
14114
  // src/commands/dev-tool/index.ts
14087
- import { Command as Command74 } from "commander";
14115
+ import { Command as Command75 } from "commander";
14088
14116
 
14089
14117
  // src/commands/dev-tool/compose.ts
14090
- import { Command as Command73 } from "commander";
14091
- import chalk71 from "chalk";
14118
+ import { Command as Command74 } from "commander";
14119
+ import chalk72 from "chalk";
14092
14120
  import { initClient as initClient13 } from "@ts-rest/core";
14093
14121
  function sleep2(ms) {
14094
14122
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -14140,7 +14168,7 @@ async function pollUntilComplete(jobId, intervalMs, timeoutMs, jsonMode) {
14140
14168
  const job = await getComposeJobStatus(jobId);
14141
14169
  if (!jsonMode) {
14142
14170
  console.log(
14143
- chalk71.dim(`[${timestamp()}] Polling... status=${job.status}`)
14171
+ chalk72.dim(`[${timestamp()}] Polling... status=${job.status}`)
14144
14172
  );
14145
14173
  }
14146
14174
  if (job.status === "completed" || job.status === "failed") {
@@ -14150,7 +14178,7 @@ async function pollUntilComplete(jobId, intervalMs, timeoutMs, jsonMode) {
14150
14178
  }
14151
14179
  throw new Error(`Timeout after ${timeoutMs / 1e3} seconds`);
14152
14180
  }
14153
- var composeCommand2 = new Command73().name("compose").description("Test server-side GitHub compose API").argument("<github-url>", "GitHub URL to compose from").option("--overwrite", "Overwrite existing compose", false).option(
14181
+ var composeCommand2 = new Command74().name("compose").description("Test server-side GitHub compose API").argument("<github-url>", "GitHub URL to compose from").option("--overwrite", "Overwrite existing compose", false).option(
14154
14182
  "--interval <seconds>",
14155
14183
  "Polling interval in seconds",
14156
14184
  (v) => parseInt(v, 10),
@@ -14173,7 +14201,7 @@ var composeCommand2 = new Command73().name("compose").description("Test server-s
14173
14201
  options.overwrite
14174
14202
  );
14175
14203
  if (!options.json) {
14176
- console.log(`Job ID: ${chalk71.cyan(jobId)}`);
14204
+ console.log(`Job ID: ${chalk72.cyan(jobId)}`);
14177
14205
  console.log();
14178
14206
  }
14179
14207
  if (initialStatus === "completed" || initialStatus === "failed") {
@@ -14207,7 +14235,7 @@ var composeCommand2 = new Command73().name("compose").description("Test server-s
14207
14235
  );
14208
14236
  } else {
14209
14237
  console.error(
14210
- chalk71.red(
14238
+ chalk72.red(
14211
14239
  `\u2717 ${error instanceof Error ? error.message : String(error)}`
14212
14240
  )
14213
14241
  );
@@ -14218,21 +14246,21 @@ var composeCommand2 = new Command73().name("compose").description("Test server-s
14218
14246
  );
14219
14247
  function displayResult(job) {
14220
14248
  if (job.status === "completed" && job.result) {
14221
- console.log(chalk71.green("\u2713 Compose completed!"));
14222
- console.log(` Compose ID: ${chalk71.cyan(job.result.composeId)}`);
14223
- console.log(` Name: ${chalk71.cyan(job.result.composeName)}`);
14224
- console.log(` Version: ${chalk71.cyan(job.result.versionId.slice(0, 8))}`);
14249
+ console.log(chalk72.green("\u2713 Compose completed!"));
14250
+ console.log(` Compose ID: ${chalk72.cyan(job.result.composeId)}`);
14251
+ console.log(` Name: ${chalk72.cyan(job.result.composeName)}`);
14252
+ console.log(` Version: ${chalk72.cyan(job.result.versionId.slice(0, 8))}`);
14225
14253
  if (job.result.warnings.length > 0) {
14226
14254
  console.log();
14227
- console.log(chalk71.yellow(" Warnings:"));
14255
+ console.log(chalk72.yellow(" Warnings:"));
14228
14256
  for (const warning of job.result.warnings) {
14229
- console.log(chalk71.yellow(` - ${warning}`));
14257
+ console.log(chalk72.yellow(` - ${warning}`));
14230
14258
  }
14231
14259
  }
14232
14260
  } else if (job.status === "failed") {
14233
- console.error(chalk71.red("\u2717 Compose failed"));
14261
+ console.error(chalk72.red("\u2717 Compose failed"));
14234
14262
  if (job.error) {
14235
- console.error(` Error: ${chalk71.red(job.error)}`);
14263
+ console.error(` Error: ${chalk72.red(job.error)}`);
14236
14264
  }
14237
14265
  } else {
14238
14266
  console.log(`Status: ${job.status}`);
@@ -14240,11 +14268,11 @@ function displayResult(job) {
14240
14268
  }
14241
14269
 
14242
14270
  // src/commands/dev-tool/index.ts
14243
- var devToolCommand = new Command74().name("dev-tool").description("Developer tools for testing and debugging").addCommand(composeCommand2);
14271
+ var devToolCommand = new Command75().name("dev-tool").description("Developer tools for testing and debugging").addCommand(composeCommand2);
14244
14272
 
14245
14273
  // src/index.ts
14246
- var program = new Command75();
14247
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.26.0");
14274
+ var program = new Command76();
14275
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.27.0");
14248
14276
  program.addCommand(authCommand);
14249
14277
  program.addCommand(infoCommand);
14250
14278
  program.addCommand(composeCommand);
@@ -14264,6 +14292,7 @@ program.addCommand(modelProviderCommand);
14264
14292
  program.addCommand(connectorCommand);
14265
14293
  program.addCommand(onboardCommand);
14266
14294
  program.addCommand(setupClaudeCommand);
14295
+ program.addCommand(dashboardCommand);
14267
14296
  program.addCommand(devToolCommand, { hidden: true });
14268
14297
  if (process.argv[1]?.endsWith("index.js") || process.argv[1]?.endsWith("index.ts") || process.argv[1]?.endsWith("vm0")) {
14269
14298
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/cli",
3
- "version": "9.26.0",
3
+ "version": "9.27.0",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",