@vm0/cli 9.37.0 → 9.37.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 +97 -10
  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.37.0",
48
+ release: "9.37.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.37.0",
67
+ version: "9.37.2",
68
68
  command: process.argv.slice(2).join(" ")
69
69
  });
70
70
  Sentry.setContext("runtime", {
@@ -605,7 +605,7 @@ async function waitForSilentUpgrade(timeout = TIMEOUT_MS) {
605
605
  // src/commands/info/index.ts
606
606
  var CONFIG_PATH = join2(homedir2(), ".vm0", "config.json");
607
607
  var infoCommand = new Command6().name("info").description("Display environment and debug information").action(async () => {
608
- console.log(chalk7.bold(`VM0 CLI v${"9.37.0"}`));
608
+ console.log(chalk7.bold(`VM0 CLI v${"9.37.2"}`));
609
609
  console.log();
610
610
  const config = await loadConfig();
611
611
  const hasEnvToken = !!process.env.VM0_TOKEN;
@@ -1070,7 +1070,8 @@ var composesVersionsContract = c2.router({
1070
1070
  var composeListItemSchema = z4.object({
1071
1071
  name: z4.string(),
1072
1072
  headVersionId: z4.string().nullable(),
1073
- updatedAt: z4.string()
1073
+ updatedAt: z4.string(),
1074
+ isOwner: z4.boolean()
1074
1075
  });
1075
1076
  var composesListContract = c2.router({
1076
1077
  /**
@@ -3413,7 +3414,8 @@ var platformLogsListContract = c17.router({
3413
3414
  method: "GET",
3414
3415
  path: "/api/platform/logs",
3415
3416
  query: listQuerySchema.extend({
3416
- search: z21.string().optional()
3417
+ search: z21.string().optional(),
3418
+ agent: z21.string().optional()
3417
3419
  }),
3418
3420
  responses: {
3419
3421
  200: platformLogsListResponseSchema,
@@ -3613,9 +3615,44 @@ var CONNECTOR_TYPES = {
3613
3615
  tokenUrl: "https://api.notion.com/v1/oauth/token",
3614
3616
  scopes: []
3615
3617
  }
3618
+ },
3619
+ computer: {
3620
+ label: "Computer",
3621
+ helpText: "Expose local services to remote sandboxes via authenticated ngrok tunnels",
3622
+ authMethods: {
3623
+ api: {
3624
+ label: "API",
3625
+ helpText: "Server-provisioned ngrok tunnel credentials.",
3626
+ secrets: {
3627
+ COMPUTER_CONNECTOR_AUTHTOKEN: {
3628
+ label: "ngrok Authtoken",
3629
+ required: true
3630
+ },
3631
+ COMPUTER_CONNECTOR_TOKEN: {
3632
+ label: "Bridge Token",
3633
+ required: true
3634
+ },
3635
+ COMPUTER_CONNECTOR_ENDPOINT: {
3636
+ label: "Endpoint Prefix",
3637
+ required: true
3638
+ },
3639
+ COMPUTER_CONNECTOR_DOMAIN: {
3640
+ label: "Tunnel Domain",
3641
+ required: true
3642
+ }
3643
+ }
3644
+ }
3645
+ },
3646
+ defaultAuthMethod: "api",
3647
+ environmentMapping: {
3648
+ COMPUTER_CONNECTOR_AUTHTOKEN: "$secrets.COMPUTER_CONNECTOR_AUTHTOKEN",
3649
+ COMPUTER_CONNECTOR_TOKEN: "$secrets.COMPUTER_CONNECTOR_TOKEN",
3650
+ COMPUTER_CONNECTOR_ENDPOINT: "$secrets.COMPUTER_CONNECTOR_ENDPOINT",
3651
+ COMPUTER_CONNECTOR_DOMAIN: "$secrets.COMPUTER_CONNECTOR_DOMAIN"
3652
+ }
3616
3653
  }
3617
3654
  };
3618
- var connectorTypeSchema = z23.enum(["github", "notion"]);
3655
+ var connectorTypeSchema = z23.enum(["github", "notion", "computer"]);
3619
3656
  function getConnectorEnvironmentMapping(type2) {
3620
3657
  return CONNECTOR_TYPES[type2].environmentMapping;
3621
3658
  }
@@ -3780,6 +3817,52 @@ var connectorSessionByIdContract = c19.router({
3780
3817
  summary: "Get connector session status"
3781
3818
  }
3782
3819
  });
3820
+ var computerConnectorCreateResponseSchema = z23.object({
3821
+ id: z23.string().uuid(),
3822
+ authtoken: z23.string(),
3823
+ bridgeToken: z23.string(),
3824
+ endpointPrefix: z23.string(),
3825
+ domain: z23.string()
3826
+ });
3827
+ var computerConnectorContract = c19.router({
3828
+ create: {
3829
+ method: "POST",
3830
+ path: "/api/connectors/computer",
3831
+ headers: authHeadersSchema,
3832
+ body: z23.object({}).optional(),
3833
+ responses: {
3834
+ 200: computerConnectorCreateResponseSchema,
3835
+ 400: apiErrorSchema,
3836
+ 401: apiErrorSchema,
3837
+ 409: apiErrorSchema,
3838
+ 500: apiErrorSchema
3839
+ },
3840
+ summary: "Create computer connector with ngrok tunnel credentials"
3841
+ },
3842
+ get: {
3843
+ method: "GET",
3844
+ path: "/api/connectors/computer",
3845
+ headers: authHeadersSchema,
3846
+ responses: {
3847
+ 200: connectorResponseSchema,
3848
+ 401: apiErrorSchema,
3849
+ 404: apiErrorSchema
3850
+ },
3851
+ summary: "Get computer connector status"
3852
+ },
3853
+ delete: {
3854
+ method: "DELETE",
3855
+ path: "/api/connectors/computer",
3856
+ headers: authHeadersSchema,
3857
+ responses: {
3858
+ 204: c19.noBody(),
3859
+ 401: apiErrorSchema,
3860
+ 404: apiErrorSchema,
3861
+ 500: apiErrorSchema
3862
+ },
3863
+ summary: "Delete computer connector and revoke ngrok credentials"
3864
+ }
3865
+ });
3783
3866
 
3784
3867
  // ../../packages/core/src/contracts/user-preferences.ts
3785
3868
  import { z as z24 } from "zod";
@@ -4504,6 +4587,10 @@ var FEATURE_SWITCHES = {
4504
4587
  ["platformApiKeys" /* PlatformApiKeys */]: {
4505
4588
  maintainer: "ethan@vm0.ai",
4506
4589
  enabled: false
4590
+ },
4591
+ ["computerConnector" /* ComputerConnector */]: {
4592
+ maintainer: "ethan@vm0.ai",
4593
+ enabled: false
4507
4594
  }
4508
4595
  };
4509
4596
 
@@ -6345,7 +6432,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
6345
6432
  options.autoUpdate = false;
6346
6433
  }
6347
6434
  if (options.autoUpdate !== false) {
6348
- await startSilentUpgrade("9.37.0");
6435
+ await startSilentUpgrade("9.37.2");
6349
6436
  }
6350
6437
  try {
6351
6438
  let result;
@@ -8542,7 +8629,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
8542
8629
  async (identifier, prompt, options) => {
8543
8630
  try {
8544
8631
  if (options.autoUpdate !== false) {
8545
- await startSilentUpgrade("9.37.0");
8632
+ await startSilentUpgrade("9.37.2");
8546
8633
  }
8547
8634
  const { scope, name, version } = parseIdentifier(identifier);
8548
8635
  if (scope && !options.experimentalSharedAgent) {
@@ -10118,7 +10205,7 @@ var cookAction = new Command27().name("cook").description("Quick start: prepare,
10118
10205
  ).option("-y, --yes", "Skip confirmation prompts").option("-v, --verbose", "Show full tool inputs and outputs").addOption(new Option5("--debug-no-mock-claude").hideHelp()).addOption(new Option5("--no-auto-update").hideHelp()).action(
10119
10206
  async (prompt, options) => {
10120
10207
  if (options.autoUpdate !== false) {
10121
- const shouldExit = await checkAndUpgrade("9.37.0", prompt);
10208
+ const shouldExit = await checkAndUpgrade("9.37.2", prompt);
10122
10209
  if (shouldExit) {
10123
10210
  process.exit(0);
10124
10211
  }
@@ -14837,7 +14924,7 @@ var preferenceCommand = new Command77().name("preference").description("View or
14837
14924
 
14838
14925
  // src/index.ts
14839
14926
  var program = new Command78();
14840
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.37.0");
14927
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.37.2");
14841
14928
  program.addCommand(authCommand);
14842
14929
  program.addCommand(infoCommand);
14843
14930
  program.addCommand(composeCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vm0/cli",
3
- "version": "9.37.0",
3
+ "version": "9.37.2",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",