@vm0/cli 9.37.0 → 9.37.1

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 +93 -8
  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.1",
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.1",
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.1"}`));
609
609
  console.log();
610
610
  const config = await loadConfig();
611
611
  const hasEnvToken = !!process.env.VM0_TOKEN;
@@ -3613,9 +3613,44 @@ var CONNECTOR_TYPES = {
3613
3613
  tokenUrl: "https://api.notion.com/v1/oauth/token",
3614
3614
  scopes: []
3615
3615
  }
3616
+ },
3617
+ computer: {
3618
+ label: "Computer",
3619
+ helpText: "Expose local services to remote sandboxes via authenticated ngrok tunnels",
3620
+ authMethods: {
3621
+ api: {
3622
+ label: "API",
3623
+ helpText: "Server-provisioned ngrok tunnel credentials.",
3624
+ secrets: {
3625
+ COMPUTER_CONNECTOR_AUTHTOKEN: {
3626
+ label: "ngrok Authtoken",
3627
+ required: true
3628
+ },
3629
+ COMPUTER_CONNECTOR_TOKEN: {
3630
+ label: "Bridge Token",
3631
+ required: true
3632
+ },
3633
+ COMPUTER_CONNECTOR_ENDPOINT: {
3634
+ label: "Endpoint Prefix",
3635
+ required: true
3636
+ },
3637
+ COMPUTER_CONNECTOR_DOMAIN: {
3638
+ label: "Tunnel Domain",
3639
+ required: true
3640
+ }
3641
+ }
3642
+ }
3643
+ },
3644
+ defaultAuthMethod: "api",
3645
+ environmentMapping: {
3646
+ COMPUTER_CONNECTOR_AUTHTOKEN: "$secrets.COMPUTER_CONNECTOR_AUTHTOKEN",
3647
+ COMPUTER_CONNECTOR_TOKEN: "$secrets.COMPUTER_CONNECTOR_TOKEN",
3648
+ COMPUTER_CONNECTOR_ENDPOINT: "$secrets.COMPUTER_CONNECTOR_ENDPOINT",
3649
+ COMPUTER_CONNECTOR_DOMAIN: "$secrets.COMPUTER_CONNECTOR_DOMAIN"
3650
+ }
3616
3651
  }
3617
3652
  };
3618
- var connectorTypeSchema = z23.enum(["github", "notion"]);
3653
+ var connectorTypeSchema = z23.enum(["github", "notion", "computer"]);
3619
3654
  function getConnectorEnvironmentMapping(type2) {
3620
3655
  return CONNECTOR_TYPES[type2].environmentMapping;
3621
3656
  }
@@ -3780,6 +3815,52 @@ var connectorSessionByIdContract = c19.router({
3780
3815
  summary: "Get connector session status"
3781
3816
  }
3782
3817
  });
3818
+ var computerConnectorCreateResponseSchema = z23.object({
3819
+ id: z23.string().uuid(),
3820
+ authtoken: z23.string(),
3821
+ bridgeToken: z23.string(),
3822
+ endpointPrefix: z23.string(),
3823
+ domain: z23.string()
3824
+ });
3825
+ var computerConnectorContract = c19.router({
3826
+ create: {
3827
+ method: "POST",
3828
+ path: "/api/connectors/computer",
3829
+ headers: authHeadersSchema,
3830
+ body: z23.object({}).optional(),
3831
+ responses: {
3832
+ 200: computerConnectorCreateResponseSchema,
3833
+ 400: apiErrorSchema,
3834
+ 401: apiErrorSchema,
3835
+ 409: apiErrorSchema,
3836
+ 500: apiErrorSchema
3837
+ },
3838
+ summary: "Create computer connector with ngrok tunnel credentials"
3839
+ },
3840
+ get: {
3841
+ method: "GET",
3842
+ path: "/api/connectors/computer",
3843
+ headers: authHeadersSchema,
3844
+ responses: {
3845
+ 200: connectorResponseSchema,
3846
+ 401: apiErrorSchema,
3847
+ 404: apiErrorSchema
3848
+ },
3849
+ summary: "Get computer connector status"
3850
+ },
3851
+ delete: {
3852
+ method: "DELETE",
3853
+ path: "/api/connectors/computer",
3854
+ headers: authHeadersSchema,
3855
+ responses: {
3856
+ 204: c19.noBody(),
3857
+ 401: apiErrorSchema,
3858
+ 404: apiErrorSchema,
3859
+ 500: apiErrorSchema
3860
+ },
3861
+ summary: "Delete computer connector and revoke ngrok credentials"
3862
+ }
3863
+ });
3783
3864
 
3784
3865
  // ../../packages/core/src/contracts/user-preferences.ts
3785
3866
  import { z as z24 } from "zod";
@@ -4504,6 +4585,10 @@ var FEATURE_SWITCHES = {
4504
4585
  ["platformApiKeys" /* PlatformApiKeys */]: {
4505
4586
  maintainer: "ethan@vm0.ai",
4506
4587
  enabled: false
4588
+ },
4589
+ ["computerConnector" /* ComputerConnector */]: {
4590
+ maintainer: "ethan@vm0.ai",
4591
+ enabled: false
4507
4592
  }
4508
4593
  };
4509
4594
 
@@ -6345,7 +6430,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
6345
6430
  options.autoUpdate = false;
6346
6431
  }
6347
6432
  if (options.autoUpdate !== false) {
6348
- await startSilentUpgrade("9.37.0");
6433
+ await startSilentUpgrade("9.37.1");
6349
6434
  }
6350
6435
  try {
6351
6436
  let result;
@@ -8542,7 +8627,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
8542
8627
  async (identifier, prompt, options) => {
8543
8628
  try {
8544
8629
  if (options.autoUpdate !== false) {
8545
- await startSilentUpgrade("9.37.0");
8630
+ await startSilentUpgrade("9.37.1");
8546
8631
  }
8547
8632
  const { scope, name, version } = parseIdentifier(identifier);
8548
8633
  if (scope && !options.experimentalSharedAgent) {
@@ -10118,7 +10203,7 @@ var cookAction = new Command27().name("cook").description("Quick start: prepare,
10118
10203
  ).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
10204
  async (prompt, options) => {
10120
10205
  if (options.autoUpdate !== false) {
10121
- const shouldExit = await checkAndUpgrade("9.37.0", prompt);
10206
+ const shouldExit = await checkAndUpgrade("9.37.1", prompt);
10122
10207
  if (shouldExit) {
10123
10208
  process.exit(0);
10124
10209
  }
@@ -14837,7 +14922,7 @@ var preferenceCommand = new Command77().name("preference").description("View or
14837
14922
 
14838
14923
  // src/index.ts
14839
14924
  var program = new Command78();
14840
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.37.0");
14925
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.37.1");
14841
14926
  program.addCommand(authCommand);
14842
14927
  program.addCommand(infoCommand);
14843
14928
  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.1",
4
4
  "description": "CLI application",
5
5
  "repository": {
6
6
  "type": "git",