@vm0/cli 9.62.3 → 9.62.4

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 +43 -20
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -45,7 +45,7 @@ if (DSN) {
45
45
  Sentry.init({
46
46
  dsn: DSN,
47
47
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
48
- release: "9.62.3",
48
+ release: "9.62.4",
49
49
  sendDefaultPii: false,
50
50
  tracesSampleRate: 0,
51
51
  shutdownTimeout: 500,
@@ -64,7 +64,7 @@ if (DSN) {
64
64
  }
65
65
  });
66
66
  Sentry.setContext("cli", {
67
- version: "9.62.3",
67
+ version: "9.62.4",
68
68
  command: process.argv.slice(2).join(" ")
69
69
  });
70
70
  Sentry.setContext("runtime", {
@@ -673,7 +673,7 @@ function getConfigPath() {
673
673
  return join2(homedir2(), ".vm0", "config.json");
674
674
  }
675
675
  var infoCommand = new Command6().name("info").description("Display environment and debug information").action(async () => {
676
- console.log(chalk4.bold(`VM0 CLI v${"9.62.3"}`));
676
+ console.log(chalk4.bold(`VM0 CLI v${"9.62.4"}`));
677
677
  console.log();
678
678
  const config = await loadConfig();
679
679
  const hasEnvToken = !!process.env.VM0_TOKEN;
@@ -801,7 +801,7 @@ var firewallSchema = z3.object({
801
801
  ref: z3.string(),
802
802
  apis: z3.array(firewallApiSchema)
803
803
  });
804
- var experimentalFirewallSchema = z3.array(firewallSchema);
804
+ var experimentalFirewallsSchema = z3.array(firewallSchema);
805
805
  var firewallConfigSchema = z3.object({
806
806
  name: z3.string().min(1, "Firewall name is required"),
807
807
  description: z3.string().optional(),
@@ -817,10 +817,10 @@ var composeVersionQuerySchema = z4.string().min(1, "Missing version query parame
817
817
  );
818
818
  var AGENT_NAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}[a-zA-Z0-9]$/;
819
819
  var VALID_CAPABILITIES = [
820
- "storage:read",
821
- "storage:write",
822
820
  "agent:read",
823
821
  "agent:write",
822
+ "artifact:read",
823
+ "artifact:write",
824
824
  "agent-run:read",
825
825
  "agent-run:write",
826
826
  "schedule:read",
@@ -869,7 +869,7 @@ var agentDefinitionSchema = z4.object({
869
869
  * CLI input: map format { slack: { permissions: [...] | "all" } }
870
870
  * — expanded by CLI to full ExpandedFirewallConfig[] before API call.
871
871
  */
872
- experimental_firewall: z4.record(
872
+ experimental_firewalls: z4.record(
873
873
  z4.string(),
874
874
  z4.object({
875
875
  permissions: z4.union([z4.literal("all"), z4.array(z4.string()).min(1)])
@@ -928,7 +928,7 @@ var agentComposeApiContentSchema = z4.object({
928
928
  agents: z4.record(
929
929
  z4.string(),
930
930
  agentDefinitionSchema.extend({
931
- experimental_firewall: z4.array(expandedFirewallConfigSchema).optional()
931
+ experimental_firewalls: z4.array(expandedFirewallConfigSchema).optional()
932
932
  })
933
933
  ),
934
934
  volumes: z4.record(z4.string(), volumeConfigSchema).optional()
@@ -2538,6 +2538,8 @@ var MODEL_PROVIDER_TYPES = {
2538
2538
  CLAUDE_CODE_SUBAGENT_MODEL: "$model"
2539
2539
  },
2540
2540
  models: [
2541
+ "anthropic/claude-sonnet-4.6",
2542
+ "anthropic/claude-opus-4.6",
2541
2543
  "anthropic/claude-sonnet-4.5",
2542
2544
  "anthropic/claude-opus-4.5",
2543
2545
  "anthropic/claude-haiku-4.5"
@@ -2625,6 +2627,21 @@ var MODEL_PROVIDER_TYPES = {
2625
2627
  models: ["glm-5", "glm-4.7", "glm-4.5-air"],
2626
2628
  defaultModel: "glm-4.7"
2627
2629
  },
2630
+ "vercel-ai-gateway": {
2631
+ framework: "claude-code",
2632
+ secretName: "VERCEL_AI_GATEWAY_API_KEY",
2633
+ label: "Vercel AI Gateway",
2634
+ secretLabel: "API key",
2635
+ helpText: "Get your API key from the Vercel AI Gateway dashboard",
2636
+ featureFlag: "vercelAiGateway" /* VercelAiGateway */,
2637
+ environmentMapping: {
2638
+ ANTHROPIC_AUTH_TOKEN: "$secret",
2639
+ ANTHROPIC_BASE_URL: "https://ai-gateway.vercel.sh",
2640
+ ANTHROPIC_API_KEY: "",
2641
+ ANTHROPIC_MODEL: "moonshotai/kimi-k2.5",
2642
+ ANTHROPIC_CUSTOM_HEADERS: "x-ai-gateway-providers-only: moonshot"
2643
+ }
2644
+ },
2628
2645
  "azure-foundry": {
2629
2646
  framework: "claude-code",
2630
2647
  label: "Azure Foundry",
@@ -2734,6 +2751,7 @@ var modelProviderTypeSchema = z14.enum([
2734
2751
  "minimax-api-key",
2735
2752
  "deepseek-api-key",
2736
2753
  "zai-api-key",
2754
+ "vercel-ai-gateway",
2737
2755
  "azure-foundry",
2738
2756
  "aws-bedrock"
2739
2757
  ]);
@@ -3147,7 +3165,7 @@ var storedExecutionContextSchema = z16.object({
3147
3165
  // Memory storage name (for first-run when manifest.memory is null)
3148
3166
  memoryName: z16.string().optional(),
3149
3167
  // Experimental firewall for proxy-side token replacement
3150
- experimentalFirewall: experimentalFirewallSchema.optional(),
3168
+ experimentalFirewalls: experimentalFirewallsSchema.optional(),
3151
3169
  // Experimental capabilities for agent permission enforcement
3152
3170
  experimentalCapabilities: z16.array(z16.enum(VALID_CAPABILITIES)).optional()
3153
3171
  });
@@ -3181,7 +3199,7 @@ var executionContextSchema = z16.object({
3181
3199
  // Memory storage name (for first-run when manifest.memory is null)
3182
3200
  memoryName: z16.string().optional(),
3183
3201
  // Experimental firewall for proxy-side token replacement
3184
- experimentalFirewall: experimentalFirewallSchema.optional(),
3202
+ experimentalFirewalls: experimentalFirewallsSchema.optional(),
3185
3203
  // Experimental capabilities for agent permission enforcement
3186
3204
  experimentalCapabilities: z16.array(z16.enum(VALID_CAPABILITIES)).optional()
3187
3205
  });
@@ -6817,7 +6835,7 @@ async function expandFirewallConfigs(config, fetchFn) {
6817
6835
  const compose = config;
6818
6836
  if (!compose?.agents) return;
6819
6837
  for (const agent of Object.values(compose.agents)) {
6820
- const configs = agent.experimental_firewall;
6838
+ const configs = agent.experimental_firewalls;
6821
6839
  if (!configs) continue;
6822
6840
  if (Array.isArray(configs)) continue;
6823
6841
  const expanded = [];
@@ -6859,7 +6877,7 @@ async function expandFirewallConfigs(config, fetchFn) {
6859
6877
  entry.placeholders = serviceConfig.placeholders;
6860
6878
  expanded.push(entry);
6861
6879
  }
6862
- agent.experimental_firewall = expanded;
6880
+ agent.experimental_firewalls = expanded;
6863
6881
  }
6864
6882
  }
6865
6883
 
@@ -7363,6 +7381,11 @@ var FEATURE_SWITCHES = {
7363
7381
  enabled: false,
7364
7382
  enabledUserHashes: STAFF_USER_HASHES
7365
7383
  },
7384
+ ["vercelAiGateway" /* VercelAiGateway */]: {
7385
+ maintainer: "ethan@vm0.ai",
7386
+ enabled: false,
7387
+ enabledUserHashes: STAFF_USER_HASHES
7388
+ },
7366
7389
  ["zero" /* Zero */]: {
7367
7390
  maintainer: "ethan@vm0.ai",
7368
7391
  enabled: false,
@@ -9510,7 +9533,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
9510
9533
  options.autoUpdate = false;
9511
9534
  }
9512
9535
  if (options.autoUpdate !== false) {
9513
- await startSilentUpgrade("9.62.3");
9536
+ await startSilentUpgrade("9.62.4");
9514
9537
  }
9515
9538
  try {
9516
9539
  let result;
@@ -10332,7 +10355,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
10332
10355
  withErrorHandler(
10333
10356
  async (identifier, prompt, options) => {
10334
10357
  if (options.autoUpdate !== false) {
10335
- await startSilentUpgrade("9.62.3");
10358
+ await startSilentUpgrade("9.62.4");
10336
10359
  }
10337
10360
  const { org, name, version } = parseIdentifier(identifier);
10338
10361
  let composeId;
@@ -12052,7 +12075,7 @@ var cookAction = new Command35().name("cook").description("Quick start: prepare,
12052
12075
  withErrorHandler(
12053
12076
  async (prompt, options) => {
12054
12077
  if (options.autoUpdate !== false) {
12055
- const shouldExit = await checkAndUpgrade("9.62.3", prompt);
12078
+ const shouldExit = await checkAndUpgrade("9.62.4", prompt);
12056
12079
  if (shouldExit) {
12057
12080
  process.exit(0);
12058
12081
  }
@@ -17186,13 +17209,13 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17186
17209
  if (latestVersion === null) {
17187
17210
  throw new Error("Could not check for updates. Please try again later.");
17188
17211
  }
17189
- if (latestVersion === "9.62.3") {
17190
- console.log(chalk79.green(`\u2713 Already up to date (${"9.62.3"})`));
17212
+ if (latestVersion === "9.62.4") {
17213
+ console.log(chalk79.green(`\u2713 Already up to date (${"9.62.4"})`));
17191
17214
  return;
17192
17215
  }
17193
17216
  console.log(
17194
17217
  chalk79.yellow(
17195
- `Current version: ${"9.62.3"} -> Latest version: ${latestVersion}`
17218
+ `Current version: ${"9.62.4"} -> Latest version: ${latestVersion}`
17196
17219
  )
17197
17220
  );
17198
17221
  console.log();
@@ -17219,7 +17242,7 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17219
17242
  const success = await performUpgrade(packageManager);
17220
17243
  if (success) {
17221
17244
  console.log(
17222
- chalk79.green(`\u2713 Upgraded from ${"9.62.3"} to ${latestVersion}`)
17245
+ chalk79.green(`\u2713 Upgraded from ${"9.62.4"} to ${latestVersion}`)
17223
17246
  );
17224
17247
  return;
17225
17248
  }
@@ -17233,7 +17256,7 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17233
17256
 
17234
17257
  // src/index.ts
17235
17258
  var program = new Command87();
17236
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.62.3");
17259
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.62.4");
17237
17260
  program.addCommand(authCommand);
17238
17261
  program.addCommand(infoCommand);
17239
17262
  program.addCommand(composeCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/cli",
3
- "version": "9.62.3",
3
+ "version": "9.62.4",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",