@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/{chunk-NM4FYPVK.js → chunk-AM6X5N5J.js} +152 -5
- package/chunk-AM6X5N5J.js.map +1 -0
- package/index.js +10 -10
- package/package.json +1 -1
- package/zero.js +30 -18
- package/zero.js.map +1 -1
- package/chunk-NM4FYPVK.js.map +0 -1
package/index.js
CHANGED
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
showNextSteps,
|
|
61
61
|
volumeConfigSchema,
|
|
62
62
|
withErrorHandler
|
|
63
|
-
} from "./chunk-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4138
|
-
console.log(chalk33.green(`\u2713 Already up to date (${"9.
|
|
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.
|
|
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.
|
|
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.
|
|
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
package/zero.js
CHANGED
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
updateZeroUserPreferences,
|
|
94
94
|
upsertZeroOrgModelProvider,
|
|
95
95
|
withErrorHandler
|
|
96
|
-
} from "./chunk-
|
|
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
|
|
3037
|
-
|
|
3038
|
-
Check
|
|
3039
|
-
Pause a schedule:
|
|
3040
|
-
Resume a schedule:
|
|
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.
|
|
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
|
|
3560
|
-
Send a Slack message? zero slack message send
|
|
3561
|
-
Set up a schedule? zero schedule setup
|
|
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
|
);
|