@vm0/cli 9.63.0 → 9.63.2

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 +175 -64
  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.63.0",
48
+ release: "9.63.2",
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.63.0",
67
+ version: "9.63.2",
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.63.0"}`));
676
+ console.log(chalk4.bold(`VM0 CLI v${"9.63.2"}`));
677
677
  console.log();
678
678
  const config = await loadConfig();
679
679
  const hasEnvToken = !!process.env.VM0_TOKEN;
@@ -2647,8 +2647,23 @@ var MODEL_PROVIDER_TYPES = {
2647
2647
  ANTHROPIC_AUTH_TOKEN: "$secret",
2648
2648
  ANTHROPIC_BASE_URL: "https://ai-gateway.vercel.sh",
2649
2649
  ANTHROPIC_API_KEY: "",
2650
- ANTHROPIC_MODEL: "anthropic/claude-sonnet-4.6"
2651
- }
2650
+ ANTHROPIC_MODEL: "$model",
2651
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "$model",
2652
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "$model",
2653
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "$model",
2654
+ CLAUDE_CODE_SUBAGENT_MODEL: "$model"
2655
+ },
2656
+ models: [
2657
+ "anthropic/claude-opus-4.6",
2658
+ "anthropic/claude-opus-4.5",
2659
+ "anthropic/claude-sonnet-4.6",
2660
+ "anthropic/claude-sonnet-4.5",
2661
+ "anthropic/claude-haiku-4.5",
2662
+ "moonshotai/kimi-k2.5",
2663
+ "minimax/minimax-m2.5",
2664
+ "zai/glm-5-turbo"
2665
+ ],
2666
+ defaultModel: "anthropic/claude-sonnet-4.6"
2652
2667
  },
2653
2668
  "azure-foundry": {
2654
2669
  framework: "claude-code",
@@ -2816,6 +2831,8 @@ var modelProviderResponseSchema = z14.object({
2816
2831
  // For multi-auth providers
2817
2832
  isDefault: z14.boolean(),
2818
2833
  selectedModel: z14.string().nullable(),
2834
+ scope: z14.enum(["org", "user"]).optional(),
2835
+ // Optional for backward compat
2819
2836
  createdAt: z14.string(),
2820
2837
  updatedAt: z14.string()
2821
2838
  });
@@ -3115,14 +3132,19 @@ var storedChatMessageSchema2 = z16.object({
3115
3132
  runId: z16.string().optional(),
3116
3133
  createdAt: z16.string()
3117
3134
  });
3135
+ var unsavedRunSchema = z16.object({
3136
+ runId: z16.string(),
3137
+ status: z16.string(),
3138
+ prompt: z16.string(),
3139
+ error: z16.string().nullable()
3140
+ });
3118
3141
  var chatThreadDetailSchema = z16.object({
3119
3142
  id: z16.string(),
3120
3143
  title: z16.string().nullable(),
3121
3144
  agentComposeId: z16.string(),
3122
3145
  chatMessages: z16.array(storedChatMessageSchema2),
3123
3146
  latestSessionId: z16.string().nullable(),
3124
- activeRunId: z16.string().nullable(),
3125
- activeRunPrompt: z16.string().nullable(),
3147
+ unsavedRuns: z16.array(unsavedRunSchema),
3126
3148
  createdAt: z16.string(),
3127
3149
  updatedAt: z16.string()
3128
3150
  });
@@ -3667,6 +3689,7 @@ var platformLogEntrySchema = z20.object({
3667
3689
  id: z20.uuid(),
3668
3690
  sessionId: z20.string().nullable(),
3669
3691
  agentName: z20.string(),
3692
+ displayName: z20.string().nullable(),
3670
3693
  orgSlug: z20.string().nullable(),
3671
3694
  framework: z20.string().nullable(),
3672
3695
  status: platformLogStatusSchema,
@@ -3686,6 +3709,7 @@ var platformLogDetailSchema = z20.object({
3686
3709
  id: z20.uuid(),
3687
3710
  sessionId: z20.string().nullable(),
3688
3711
  agentName: z20.string(),
3712
+ displayName: z20.string().nullable(),
3689
3713
  framework: z20.string().nullable(),
3690
3714
  status: platformLogStatusSchema,
3691
3715
  prompt: z20.string(),
@@ -7240,6 +7264,94 @@ var skillsResolveContract = c24.router({
7240
7264
  }
7241
7265
  });
7242
7266
 
7267
+ // ../../packages/core/src/contracts/org-model-providers.ts
7268
+ import { z as z28 } from "zod";
7269
+ var c25 = initContract();
7270
+ var orgModelProvidersMainContract = c25.router({
7271
+ list: {
7272
+ method: "GET",
7273
+ path: "/api/org/model-providers",
7274
+ headers: authHeadersSchema,
7275
+ responses: {
7276
+ 200: modelProviderListResponseSchema,
7277
+ 401: apiErrorSchema,
7278
+ 500: apiErrorSchema
7279
+ },
7280
+ summary: "List org-level model providers"
7281
+ },
7282
+ upsert: {
7283
+ method: "PUT",
7284
+ path: "/api/org/model-providers",
7285
+ headers: authHeadersSchema,
7286
+ body: upsertModelProviderRequestSchema,
7287
+ responses: {
7288
+ 200: upsertModelProviderResponseSchema,
7289
+ 201: upsertModelProviderResponseSchema,
7290
+ 400: apiErrorSchema,
7291
+ 401: apiErrorSchema,
7292
+ 403: apiErrorSchema,
7293
+ 500: apiErrorSchema
7294
+ },
7295
+ summary: "Create or update an org-level model provider (admin only)"
7296
+ }
7297
+ });
7298
+ var orgModelProvidersByTypeContract = c25.router({
7299
+ delete: {
7300
+ method: "DELETE",
7301
+ path: "/api/org/model-providers/:type",
7302
+ headers: authHeadersSchema,
7303
+ pathParams: z28.object({
7304
+ type: modelProviderTypeSchema
7305
+ }),
7306
+ responses: {
7307
+ 204: c25.noBody(),
7308
+ 401: apiErrorSchema,
7309
+ 403: apiErrorSchema,
7310
+ 404: apiErrorSchema,
7311
+ 500: apiErrorSchema
7312
+ },
7313
+ summary: "Delete an org-level model provider (admin only)"
7314
+ }
7315
+ });
7316
+ var orgModelProvidersSetDefaultContract = c25.router({
7317
+ setDefault: {
7318
+ method: "POST",
7319
+ path: "/api/org/model-providers/:type/set-default",
7320
+ headers: authHeadersSchema,
7321
+ pathParams: z28.object({
7322
+ type: modelProviderTypeSchema
7323
+ }),
7324
+ body: z28.undefined(),
7325
+ responses: {
7326
+ 200: modelProviderResponseSchema,
7327
+ 401: apiErrorSchema,
7328
+ 403: apiErrorSchema,
7329
+ 404: apiErrorSchema,
7330
+ 500: apiErrorSchema
7331
+ },
7332
+ summary: "Set org-level model provider as default (admin only)"
7333
+ }
7334
+ });
7335
+ var orgModelProvidersUpdateModelContract = c25.router({
7336
+ updateModel: {
7337
+ method: "PATCH",
7338
+ path: "/api/org/model-providers/:type/model",
7339
+ headers: authHeadersSchema,
7340
+ pathParams: z28.object({
7341
+ type: modelProviderTypeSchema
7342
+ }),
7343
+ body: updateModelRequestSchema,
7344
+ responses: {
7345
+ 200: modelProviderResponseSchema,
7346
+ 401: apiErrorSchema,
7347
+ 403: apiErrorSchema,
7348
+ 404: apiErrorSchema,
7349
+ 500: apiErrorSchema
7350
+ },
7351
+ summary: "Update model selection for org-level provider (admin only)"
7352
+ }
7353
+ });
7354
+
7243
7355
  // ../../packages/core/src/org-reference.ts
7244
7356
  function isLegacySystemTemplate(reference) {
7245
7357
  return reference.startsWith("vm0-");
@@ -7495,6 +7607,11 @@ var FEATURE_SWITCHES = {
7495
7607
  maintainer: "ethan@vm0.ai",
7496
7608
  enabled: false,
7497
7609
  enabledUserHashes: STAFF_USER_HASHES
7610
+ },
7611
+ ["dataExport" /* DataExport */]: {
7612
+ maintainer: "ethan@vm0.ai",
7613
+ enabled: false,
7614
+ enabledUserHashes: STAFF_USER_HASHES
7498
7615
  }
7499
7616
  };
7500
7617
  async function isFeatureEnabled(key, userId) {
@@ -8329,8 +8446,8 @@ async function resolveSkills(skillUrls) {
8329
8446
  }
8330
8447
 
8331
8448
  // src/lib/domain/yaml-validator.ts
8332
- import { z as z28 } from "zod";
8333
- var cliAgentNameSchema = z28.string().min(3, "Agent name must be at least 3 characters").max(64, "Agent name must be 64 characters or less").regex(
8449
+ import { z as z29 } from "zod";
8450
+ var cliAgentNameSchema = z29.string().min(3, "Agent name must be at least 3 characters").max(64, "Agent name must be 64 characters or less").regex(
8334
8451
  /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,62}[a-zA-Z0-9])?$/,
8335
8452
  "Agent name must start and end with letter or number, and contain only letters, numbers, and hyphens"
8336
8453
  );
@@ -8344,7 +8461,7 @@ var cliAgentDefinitionSchema = agentDefinitionSchema.superRefine(
8344
8461
  resolveSkillRef(skillRef);
8345
8462
  } catch (error) {
8346
8463
  ctx.addIssue({
8347
- code: z28.ZodIssueCode.custom,
8464
+ code: z29.ZodIssueCode.custom,
8348
8465
  message: error instanceof Error ? error.message : `Invalid skill reference: ${skillRef}`,
8349
8466
  path: ["skills", i]
8350
8467
  });
@@ -8354,15 +8471,15 @@ var cliAgentDefinitionSchema = agentDefinitionSchema.superRefine(
8354
8471
  }
8355
8472
  }
8356
8473
  );
8357
- var cliComposeSchema = z28.object({
8358
- version: z28.string().min(1, "Missing config.version"),
8359
- agents: z28.record(cliAgentNameSchema, cliAgentDefinitionSchema),
8360
- volumes: z28.record(z28.string(), volumeConfigSchema).optional()
8474
+ var cliComposeSchema = z29.object({
8475
+ version: z29.string().min(1, "Missing config.version"),
8476
+ agents: z29.record(cliAgentNameSchema, cliAgentDefinitionSchema),
8477
+ volumes: z29.record(z29.string(), volumeConfigSchema).optional()
8361
8478
  }).superRefine((config, ctx) => {
8362
8479
  const agentKeys = Object.keys(config.agents);
8363
8480
  if (agentKeys.length === 0) {
8364
8481
  ctx.addIssue({
8365
- code: z28.ZodIssueCode.custom,
8482
+ code: z29.ZodIssueCode.custom,
8366
8483
  message: "agents must have at least one agent defined",
8367
8484
  path: ["agents"]
8368
8485
  });
@@ -8370,7 +8487,7 @@ var cliComposeSchema = z28.object({
8370
8487
  }
8371
8488
  if (agentKeys.length > 1) {
8372
8489
  ctx.addIssue({
8373
- code: z28.ZodIssueCode.custom,
8490
+ code: z29.ZodIssueCode.custom,
8374
8491
  message: "Multiple agents not supported yet. Only one agent allowed.",
8375
8492
  path: ["agents"]
8376
8493
  });
@@ -8382,7 +8499,7 @@ var cliComposeSchema = z28.object({
8382
8499
  if (agentVolumes && agentVolumes.length > 0) {
8383
8500
  if (!config.volumes) {
8384
8501
  ctx.addIssue({
8385
- code: z28.ZodIssueCode.custom,
8502
+ code: z29.ZodIssueCode.custom,
8386
8503
  message: "Agent references volumes but no volumes section defined. Each volume must have explicit name and version.",
8387
8504
  path: ["volumes"]
8388
8505
  });
@@ -8392,7 +8509,7 @@ var cliComposeSchema = z28.object({
8392
8509
  const parts = volDeclaration.split(":");
8393
8510
  if (parts.length !== 2) {
8394
8511
  ctx.addIssue({
8395
- code: z28.ZodIssueCode.custom,
8512
+ code: z29.ZodIssueCode.custom,
8396
8513
  message: `Invalid volume declaration: ${volDeclaration}. Expected format: volume-key:/mount/path`,
8397
8514
  path: ["agents", agentName, "volumes"]
8398
8515
  });
@@ -8401,7 +8518,7 @@ var cliComposeSchema = z28.object({
8401
8518
  const volumeKey = parts[0].trim();
8402
8519
  if (!config.volumes[volumeKey]) {
8403
8520
  ctx.addIssue({
8404
- code: z28.ZodIssueCode.custom,
8521
+ code: z29.ZodIssueCode.custom,
8405
8522
  message: `Volume "${volumeKey}" is not defined in volumes section. Each volume must have explicit name and version.`,
8406
8523
  path: ["volumes", volumeKey]
8407
8524
  });
@@ -9638,7 +9755,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
9638
9755
  options.autoUpdate = false;
9639
9756
  }
9640
9757
  if (options.autoUpdate !== false) {
9641
- await startSilentUpgrade("9.63.0");
9758
+ await startSilentUpgrade("9.63.2");
9642
9759
  }
9643
9760
  try {
9644
9761
  let result;
@@ -10460,7 +10577,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
10460
10577
  withErrorHandler(
10461
10578
  async (identifier, prompt, options) => {
10462
10579
  if (options.autoUpdate !== false) {
10463
- await startSilentUpgrade("9.63.0");
10580
+ await startSilentUpgrade("9.63.2");
10464
10581
  }
10465
10582
  const { org, name, version } = parseIdentifier(identifier);
10466
10583
  let composeId;
@@ -12180,7 +12297,7 @@ var cookAction = new Command35().name("cook").description("Quick start: prepare,
12180
12297
  withErrorHandler(
12181
12298
  async (prompt, options) => {
12182
12299
  if (options.autoUpdate !== false) {
12183
- const shouldExit = await checkAndUpgrade("9.63.0", prompt);
12300
+ const shouldExit = await checkAndUpgrade("9.63.2", prompt);
12184
12301
  if (shouldExit) {
12185
12302
  process.exit(0);
12186
12303
  }
@@ -13463,7 +13580,7 @@ var statusCommand5 = new Command41().name("status").description("View current or
13463
13580
  console.log(chalk37.bold("Organization Information:"));
13464
13581
  console.log(` Slug: ${chalk37.green(org.slug)}`);
13465
13582
  } catch (error) {
13466
- if (error instanceof Error && error.message.includes("No org configured")) {
13583
+ if (error instanceof ApiRequestError && error.status === 404) {
13467
13584
  throw new Error("No organization configured", {
13468
13585
  cause: new Error("Set your organization with: vm0 org set <slug>")
13469
13586
  });
@@ -13529,30 +13646,16 @@ var listCommand5 = new Command43().name("list").description("List all accessible
13529
13646
  // src/commands/org/use.ts
13530
13647
  import { Command as Command44 } from "commander";
13531
13648
  import chalk40 from "chalk";
13532
- var useCommand = new Command44().name("use").description("Switch to a different organization").argument("[slug]", "Organization slug to switch to").option("--personal", "Switch to personal org").action(
13533
- withErrorHandler(
13534
- async (slug, options) => {
13535
- if (options.personal) {
13536
- await saveConfig({ activeOrg: void 0 });
13537
- console.log(chalk40.green("\u2713 Switched to personal org."));
13538
- return;
13539
- }
13540
- if (!slug) {
13541
- throw new Error(
13542
- "Organization slug is required. Use --personal to switch to personal org."
13543
- );
13544
- }
13545
- const orgList = await listOrgs();
13546
- const target = orgList.orgs.find((s) => s.slug === slug);
13547
- if (!target) {
13548
- throw new Error(
13549
- `Organization '${slug}' not found or not accessible.`
13550
- );
13551
- }
13552
- await saveConfig({ activeOrg: slug });
13553
- console.log(chalk40.green(`\u2713 Switched to organization: ${slug}`));
13554
- }
13555
- )
13649
+ var useCommand = new Command44().name("use").description("Switch to a different organization").argument("<slug>", "Organization slug to switch to").action(
13650
+ withErrorHandler(async (slug) => {
13651
+ const orgList = await listOrgs();
13652
+ const target = orgList.orgs.find((s) => s.slug === slug);
13653
+ if (!target) {
13654
+ throw new Error(`Organization '${slug}' not found or not accessible.`);
13655
+ }
13656
+ await saveConfig({ activeOrg: slug });
13657
+ console.log(chalk40.green(`\u2713 Switched to organization: ${slug}`));
13658
+ })
13556
13659
  );
13557
13660
 
13558
13661
  // src/commands/org/members.ts
@@ -13610,10 +13713,18 @@ import chalk44 from "chalk";
13610
13713
  var leaveCommand = new Command48().name("leave").description("Leave the current organization").action(
13611
13714
  withErrorHandler(async () => {
13612
13715
  await leaveOrg();
13613
- await saveConfig({ activeOrg: void 0 });
13614
- console.log(
13615
- chalk44.green("\u2713 Left organization. Switched to personal org.")
13616
- );
13716
+ const { orgs } = await listOrgs();
13717
+ if (orgs.length === 0) {
13718
+ await saveConfig({ activeOrg: void 0 });
13719
+ console.log(chalk44.green("\u2713 Left organization."));
13720
+ console.log(
13721
+ chalk44.yellow("No remaining organizations. Run: vm0 auth login")
13722
+ );
13723
+ return;
13724
+ }
13725
+ const nextOrg = orgs[0].slug;
13726
+ await saveConfig({ activeOrg: nextOrg });
13727
+ console.log(chalk44.green(`\u2713 Left organization. Switched to: ${nextOrg}`));
13617
13728
  })
13618
13729
  );
13619
13730
 
@@ -13788,7 +13899,7 @@ var listCommand6 = new Command52().name("list").alias("ls").description("List al
13788
13899
  );
13789
13900
  return;
13790
13901
  }
13791
- const nameWidth = Math.max(4, ...data.composes.map((c25) => c25.name.length));
13902
+ const nameWidth = Math.max(4, ...data.composes.map((c26) => c26.name.length));
13792
13903
  const header = ["NAME".padEnd(nameWidth), "VERSION", "UPDATED"].join(
13793
13904
  " "
13794
13905
  );
@@ -14392,7 +14503,7 @@ async function gatherFrequency(optionFrequency, existingFrequency) {
14392
14503
  if (!isInteractive()) {
14393
14504
  throw new Error("--frequency is required (daily|weekly|monthly|once|loop)");
14394
14505
  }
14395
- const defaultIndex = existingFrequency ? FREQUENCY_CHOICES.findIndex((c25) => c25.value === existingFrequency) : 0;
14506
+ const defaultIndex = existingFrequency ? FREQUENCY_CHOICES.findIndex((c26) => c26.value === existingFrequency) : 0;
14396
14507
  frequency = await promptSelect(
14397
14508
  "Schedule frequency",
14398
14509
  FREQUENCY_CHOICES,
@@ -14417,7 +14528,7 @@ async function gatherDay(frequency, optionDay, existingDay) {
14417
14528
  throw new Error("--day is required for weekly/monthly");
14418
14529
  }
14419
14530
  if (frequency === "weekly") {
14420
- const defaultDayIndex = existingDay !== void 0 ? DAY_OF_WEEK_CHOICES.findIndex((c25) => c25.value === existingDay) : 0;
14531
+ const defaultDayIndex = existingDay !== void 0 ? DAY_OF_WEEK_CHOICES.findIndex((c26) => c26.value === existingDay) : 0;
14421
14532
  const day2 = await promptSelect(
14422
14533
  "Day of week",
14423
14534
  DAY_OF_WEEK_CHOICES,
@@ -16419,7 +16530,7 @@ import chalk69 from "chalk";
16419
16530
  var listCommand11 = new Command78().name("list").alias("ls").description("List all connectors and their status").action(
16420
16531
  withErrorHandler(async () => {
16421
16532
  const result = await listConnectors();
16422
- const connectedMap = new Map(result.connectors.map((c25) => [c25.type, c25]));
16533
+ const connectedMap = new Map(result.connectors.map((c26) => [c26.type, c26]));
16423
16534
  const allTypesRaw = Object.keys(CONNECTOR_TYPES);
16424
16535
  const allTypes = [];
16425
16536
  for (const type2 of allTypesRaw) {
@@ -16951,16 +17062,16 @@ async function handleModelProvider(ctx) {
16951
17062
  const providerType = await step.prompt(
16952
17063
  () => promptSelect(
16953
17064
  "Select provider type:",
16954
- choices.map((c25) => ({
16955
- title: c25.label,
16956
- value: c25.type
17065
+ choices.map((c26) => ({
17066
+ title: c26.label,
17067
+ value: c26.type
16957
17068
  }))
16958
17069
  )
16959
17070
  );
16960
17071
  if (!providerType) {
16961
17072
  process.exit(0);
16962
17073
  }
16963
- const selectedChoice = choices.find((c25) => c25.type === providerType);
17074
+ const selectedChoice = choices.find((c26) => c26.type === providerType);
16964
17075
  if (selectedChoice?.helpText) {
16965
17076
  for (const line of selectedChoice.helpText.split("\n")) {
16966
17077
  step.detail(chalk75.dim(line));
@@ -17314,13 +17425,13 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17314
17425
  if (latestVersion === null) {
17315
17426
  throw new Error("Could not check for updates. Please try again later.");
17316
17427
  }
17317
- if (latestVersion === "9.63.0") {
17318
- console.log(chalk79.green(`\u2713 Already up to date (${"9.63.0"})`));
17428
+ if (latestVersion === "9.63.2") {
17429
+ console.log(chalk79.green(`\u2713 Already up to date (${"9.63.2"})`));
17319
17430
  return;
17320
17431
  }
17321
17432
  console.log(
17322
17433
  chalk79.yellow(
17323
- `Current version: ${"9.63.0"} -> Latest version: ${latestVersion}`
17434
+ `Current version: ${"9.63.2"} -> Latest version: ${latestVersion}`
17324
17435
  )
17325
17436
  );
17326
17437
  console.log();
@@ -17347,7 +17458,7 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17347
17458
  const success = await performUpgrade(packageManager);
17348
17459
  if (success) {
17349
17460
  console.log(
17350
- chalk79.green(`\u2713 Upgraded from ${"9.63.0"} to ${latestVersion}`)
17461
+ chalk79.green(`\u2713 Upgraded from ${"9.63.2"} to ${latestVersion}`)
17351
17462
  );
17352
17463
  return;
17353
17464
  }
@@ -17361,7 +17472,7 @@ var upgradeCommand = new Command86().name("upgrade").description("Upgrade vm0 CL
17361
17472
 
17362
17473
  // src/index.ts
17363
17474
  var program = new Command87();
17364
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.63.0");
17475
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.63.2");
17365
17476
  program.addCommand(authCommand);
17366
17477
  program.addCommand(infoCommand);
17367
17478
  program.addCommand(composeCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/cli",
3
- "version": "9.63.0",
3
+ "version": "9.63.2",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",