@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.
- package/index.js +175 -64
- 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.
|
|
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.
|
|
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.
|
|
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: "
|
|
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
|
-
|
|
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
|
|
8333
|
-
var cliAgentNameSchema =
|
|
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:
|
|
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 =
|
|
8358
|
-
version:
|
|
8359
|
-
agents:
|
|
8360
|
-
volumes:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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("
|
|
13533
|
-
withErrorHandler(
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
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
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
16955
|
-
title:
|
|
16956
|
-
value:
|
|
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((
|
|
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.
|
|
17318
|
-
console.log(chalk79.green(`\u2713 Already up to date (${"9.63.
|
|
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.
|
|
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.
|
|
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.
|
|
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);
|