@vm0/cli 9.88.0 → 9.89.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.
package/index.js CHANGED
@@ -60,7 +60,7 @@ import {
60
60
  showNextSteps,
61
61
  volumeConfigSchema,
62
62
  withErrorHandler
63
- } from "./chunk-NM4FYPVK.js";
63
+ } from "./chunk-AM6X5N5J.js";
64
64
 
65
65
  // src/index.ts
66
66
  import { Command as Command44 } from "commander";
@@ -445,7 +445,7 @@ function getConfigPath() {
445
445
  return join(homedir(), ".vm0", "config.json");
446
446
  }
447
447
  var infoCommand = new Command6().name("info").description("Display environment and debug information").action(async () => {
448
- console.log(chalk3.bold(`VM0 CLI v${"9.88.0"}`));
448
+ console.log(chalk3.bold(`VM0 CLI v${"9.89.0"}`));
449
449
  console.log();
450
450
  const config = await loadConfig();
451
451
  const hasEnvToken = !!process.env.VM0_TOKEN;
@@ -1548,7 +1548,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
1548
1548
  options.autoUpdate = false;
1549
1549
  }
1550
1550
  if (options.autoUpdate !== false) {
1551
- await startSilentUpgrade("9.88.0");
1551
+ await startSilentUpgrade("9.89.0");
1552
1552
  }
1553
1553
  try {
1554
1554
  let result;
@@ -1625,7 +1625,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
1625
1625
  withErrorHandler(
1626
1626
  async (identifier, prompt, options) => {
1627
1627
  if (options.autoUpdate !== false) {
1628
- await startSilentUpgrade("9.88.0");
1628
+ await startSilentUpgrade("9.89.0");
1629
1629
  }
1630
1630
  const { org, name, version } = parseIdentifier(identifier);
1631
1631
  let composeId;
@@ -3394,7 +3394,7 @@ var cookAction = new Command35().name("cook").description("Quick start: prepare,
3394
3394
  withErrorHandler(
3395
3395
  async (prompt, options) => {
3396
3396
  if (options.autoUpdate !== false) {
3397
- const shouldExit = await checkAndUpgrade("9.88.0", prompt);
3397
+ const shouldExit = await checkAndUpgrade("9.89.0", prompt);
3398
3398
  if (shouldExit) {
3399
3399
  process.exit(0);
3400
3400
  }
@@ -4134,13 +4134,13 @@ var upgradeCommand = new Command42().name("upgrade").description("Upgrade vm0 CL
4134
4134
  if (latestVersion === null) {
4135
4135
  throw new Error("Could not check for updates. Please try again later.");
4136
4136
  }
4137
- if (latestVersion === "9.88.0") {
4138
- console.log(chalk33.green(`\u2713 Already up to date (${"9.88.0"})`));
4137
+ if (latestVersion === "9.89.0") {
4138
+ console.log(chalk33.green(`\u2713 Already up to date (${"9.89.0"})`));
4139
4139
  return;
4140
4140
  }
4141
4141
  console.log(
4142
4142
  chalk33.yellow(
4143
- `Current version: ${"9.88.0"} -> Latest version: ${latestVersion}`
4143
+ `Current version: ${"9.89.0"} -> Latest version: ${latestVersion}`
4144
4144
  )
4145
4145
  );
4146
4146
  console.log();
@@ -4167,7 +4167,7 @@ var upgradeCommand = new Command42().name("upgrade").description("Upgrade vm0 CL
4167
4167
  const success = await performUpgrade(packageManager);
4168
4168
  if (success) {
4169
4169
  console.log(
4170
- chalk33.green(`\u2713 Upgraded from ${"9.88.0"} to ${latestVersion}`)
4170
+ chalk33.green(`\u2713 Upgraded from ${"9.89.0"} to ${latestVersion}`)
4171
4171
  );
4172
4172
  return;
4173
4173
  }
@@ -4235,7 +4235,7 @@ var whoamiCommand = new Command43().name("whoami").description("Show current ide
4235
4235
 
4236
4236
  // src/index.ts
4237
4237
  var program = new Command44();
4238
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.88.0");
4238
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.89.0");
4239
4239
  program.addCommand(authCommand);
4240
4240
  program.addCommand(infoCommand);
4241
4241
  program.addCommand(composeCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/cli",
3
- "version": "9.88.0",
3
+ "version": "9.89.0",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",
package/zero.js CHANGED
@@ -93,7 +93,7 @@ import {
93
93
  updateZeroUserPreferences,
94
94
  upsertZeroOrgModelProvider,
95
95
  withErrorHandler
96
- } from "./chunk-NM4FYPVK.js";
96
+ } from "./chunk-AM6X5N5J.js";
97
97
 
98
98
  // src/zero.ts
99
99
  import { Command as Command61 } from "commander";
@@ -1073,6 +1073,9 @@ import chalk21 from "chalk";
1073
1073
  var createCommand = new Command24().name("create").description("Create a new zero agent").option(
1074
1074
  "--connectors <items>",
1075
1075
  "Comma-separated connector types to enable for this agent (e.g. github,linear)"
1076
+ ).option(
1077
+ "--skills <items>",
1078
+ "Comma-separated custom skill names to attach (e.g. my-skill,other-skill)"
1076
1079
  ).option("--display-name <name>", "Agent display name").option("--description <text>", "Agent description").option(
1077
1080
  "--sound <tone>",
1078
1081
  "Agent tone: professional, friendly, direct, supportive"
@@ -1082,14 +1085,17 @@ var createCommand = new Command24().name("create").description("Create a new zer
1082
1085
  Examples:
1083
1086
  Minimal: zero agent create --display-name "My Agent"
1084
1087
  With connectors: zero agent create --connectors github,linear --display-name "My Agent"
1088
+ With skills: zero agent create --skills my-skill,other-skill --display-name "My Agent"
1085
1089
  With instructions: zero agent create --connectors github --instructions-file ./instructions.md`
1086
1090
  ).action(
1087
1091
  withErrorHandler(
1088
1092
  async (options) => {
1093
+ const customSkills = options.skills ? options.skills.split(",").map((s) => s.trim()) : void 0;
1089
1094
  const agent = await createZeroAgent({
1090
1095
  displayName: options.displayName,
1091
1096
  description: options.description,
1092
- sound: options.sound
1097
+ sound: options.sound,
1098
+ customSkills
1093
1099
  });
1094
1100
  if (options.connectors) {
1095
1101
  const connectors = options.connectors.split(",").map((s) => s.trim());
@@ -1104,6 +1110,9 @@ Examples:
1104
1110
  if (options.connectors) {
1105
1111
  console.log(` Connectors: ${options.connectors}`);
1106
1112
  }
1113
+ if (customSkills?.length) {
1114
+ console.log(` Skills: ${customSkills.join(", ")}`);
1115
+ }
1107
1116
  if (agent.displayName) {
1108
1117
  console.log(` Display Name: ${agent.displayName}`);
1109
1118
  }
@@ -1118,12 +1127,16 @@ import chalk22 from "chalk";
1118
1127
  var editCommand = new Command25().name("edit").description("Edit a zero agent").argument("<agent-id>", "Agent ID").option("--display-name <name>", "New display name").option("--description <text>", "New description").option(
1119
1128
  "--sound <tone>",
1120
1129
  "New tone: professional, friendly, direct, supportive"
1130
+ ).option(
1131
+ "--skills <items>",
1132
+ "Comma-separated custom skill names to attach (replaces existing)"
1121
1133
  ).option("--instructions-file <path>", "Path to new instructions file").addHelpText(
1122
1134
  "after",
1123
1135
  `
1124
1136
  Examples:
1125
1137
  Update description: zero agent edit <agent-id> --description "new role"
1126
1138
  Update tone: zero agent edit <agent-id> --sound friendly
1139
+ Update skills: zero agent edit <agent-id> --skills my-skill,other-skill
1127
1140
  Update instructions: zero agent edit <agent-id> --instructions-file ./instructions.md
1128
1141
  Update yourself: zero agent edit $ZERO_AGENT_ID --description "new role"
1129
1142
 
@@ -1133,18 +1146,20 @@ Notes:
1133
1146
  ).action(
1134
1147
  withErrorHandler(
1135
1148
  async (agentId, options) => {
1136
- const hasAgentUpdate = options.displayName !== void 0 || options.description !== void 0 || options.sound !== void 0;
1149
+ const hasAgentUpdate = options.displayName !== void 0 || options.description !== void 0 || options.sound !== void 0 || options.skills !== void 0;
1137
1150
  if (!hasAgentUpdate && !options.instructionsFile) {
1138
1151
  throw new Error(
1139
- "At least one option is required (--display-name, --description, --sound, --instructions-file)"
1152
+ "At least one option is required (--display-name, --description, --sound, --skills, --instructions-file)"
1140
1153
  );
1141
1154
  }
1142
1155
  if (hasAgentUpdate) {
1143
1156
  const current = await getZeroAgent(agentId);
1157
+ const customSkills = options.skills ? options.skills.split(",").map((s) => s.trim()) : void 0;
1144
1158
  await updateZeroAgent(agentId, {
1145
1159
  displayName: options.displayName !== void 0 ? options.displayName : current.displayName ?? void 0,
1146
1160
  description: options.description !== void 0 ? options.description : current.description ?? void 0,
1147
- sound: options.sound !== void 0 ? options.sound : current.sound ?? void 0
1161
+ sound: options.sound !== void 0 ? options.sound : current.sound ?? void 0,
1162
+ customSkills
1148
1163
  });
1149
1164
  }
1150
1165
  if (options.instructionsFile) {
@@ -3033,15 +3048,12 @@ var zeroScheduleCommand = new Command46().name("schedule").description("Create o
3033
3048
  "after",
3034
3049
  `
3035
3050
  Examples:
3036
- Create a daily schedule: zero schedule setup <agent-id> -f daily -t 09:00 -p "run report"
3037
- Create a loop schedule: zero schedule setup <agent-id> -f loop -i 300 -p "poll for updates"
3038
- Check all schedules: zero schedule list
3039
- Pause a schedule: zero schedule disable <agent-id>
3040
- Resume a schedule: zero schedule enable <agent-id>
3041
-
3042
- Notes:
3043
- - setup is idempotent \u2014 re-running it with the same agent updates the existing schedule
3044
- - Schedules are created disabled by default; use --enable or enable separately`
3051
+ Create a schedule: zero schedule setup --help
3052
+ Check all schedules: zero schedule list
3053
+ Check schedule status: zero schedule status <agent-id>
3054
+ Pause a schedule: zero schedule disable <agent-id>
3055
+ Resume a schedule: zero schedule enable <agent-id>
3056
+ Delete a schedule: zero schedule delete <agent-id>`
3045
3057
  );
3046
3058
 
3047
3059
  // src/commands/zero/secret/index.ts
@@ -3551,14 +3563,14 @@ function registerZeroCommands(prog, commands) {
3551
3563
  var program = new Command61();
3552
3564
  program.name("zero").description(
3553
3565
  "Zero CLI \u2014 interact with the zero platform from inside the sandbox"
3554
- ).version("9.88.0").addHelpText(
3566
+ ).version("9.89.0").addHelpText(
3555
3567
  "after",
3556
3568
  `
3557
3569
  Examples:
3558
3570
  Missing a token? zero doctor missing-token <TOKEN_NAME>
3559
- Delegate to teammate? zero run <agent-id> "your task"
3560
- Send a Slack message? zero slack message send -c <channel> -t "text"
3561
- Set up a schedule? zero schedule setup <agent-id>
3571
+ Delegate to teammate? zero run --help
3572
+ Send a Slack message? zero slack message send --help
3573
+ Set up a schedule? zero schedule setup --help
3562
3574
  Update yourself? zero agent --help
3563
3575
  Check your identity? zero whoami`
3564
3576
  );