@vm0/cli 9.82.0 → 9.82.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.
@@ -47,7 +47,7 @@ if (DSN) {
47
47
  Sentry.init({
48
48
  dsn: DSN,
49
49
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
50
- release: "9.82.0",
50
+ release: "9.82.1",
51
51
  sendDefaultPii: false,
52
52
  tracesSampleRate: 0,
53
53
  shutdownTimeout: 500,
@@ -66,7 +66,7 @@ if (DSN) {
66
66
  }
67
67
  });
68
68
  Sentry.setContext("cli", {
69
- version: "9.82.0",
69
+ version: "9.82.1",
70
70
  command: process.argv.slice(2).join(" ")
71
71
  });
72
72
  Sentry.setContext("runtime", {
@@ -139,6 +139,27 @@ function configureGlobalProxyFromEnv() {
139
139
  }
140
140
  }
141
141
 
142
+ // src/lib/api/zero-token.ts
143
+ function decodeZeroTokenPayload(token) {
144
+ const raw = token ?? process.env.ZERO_TOKEN;
145
+ if (!raw) return void 0;
146
+ const prefix = "vm0_sandbox_";
147
+ if (!raw.startsWith(prefix)) return void 0;
148
+ const jwt = raw.slice(prefix.length);
149
+ const parts = jwt.split(".");
150
+ if (parts.length !== 3) return void 0;
151
+ try {
152
+ const payload = JSON.parse(
153
+ Buffer.from(parts[1], "base64url").toString()
154
+ );
155
+ if (payload.scope === "zero" && Array.isArray(payload.capabilities)) {
156
+ return payload;
157
+ }
158
+ } catch {
159
+ }
160
+ return void 0;
161
+ }
162
+
142
163
  // src/lib/api/config.ts
143
164
  import { homedir } from "os";
144
165
  import { join } from "path";
@@ -187,23 +208,6 @@ async function getApiUrl() {
187
208
  }
188
209
  return config.apiUrl ?? "https://www.vm0.ai";
189
210
  }
190
- function decodeZeroTokenPayload() {
191
- const token = process.env.ZERO_TOKEN;
192
- if (!token) return void 0;
193
- const prefix = "vm0_sandbox_";
194
- if (!token.startsWith(prefix)) return void 0;
195
- const jwt = token.slice(prefix.length);
196
- const parts = jwt.split(".");
197
- if (parts.length !== 3) return void 0;
198
- try {
199
- const payload = JSON.parse(
200
- Buffer.from(parts[1], "base64url").toString()
201
- );
202
- if (payload.scope === "zero") return payload;
203
- } catch {
204
- }
205
- return void 0;
206
- }
207
211
  async function getActiveOrg() {
208
212
  const zeroPayload = decodeZeroTokenPayload();
209
213
  if (zeroPayload) return zeroPayload.orgId;
@@ -1717,6 +1721,32 @@ var firefliesFirewall = {
1717
1721
  ]
1718
1722
  };
1719
1723
 
1724
+ // ../../packages/core/src/firewalls/garmin-connect.generated.ts
1725
+ var garminConnectFirewall = {
1726
+ name: "garmin-connect",
1727
+ description: "Garmin Connect API",
1728
+ placeholders: {
1729
+ GARMIN_CONNECT_TOKEN: "vm0placeholderGarminConnectToken000000000000000000000a"
1730
+ },
1731
+ apis: [
1732
+ {
1733
+ base: "https://apis.garmin.com",
1734
+ auth: {
1735
+ headers: {
1736
+ Authorization: "Bearer ${{ secrets.GARMIN_CONNECT_TOKEN }}"
1737
+ }
1738
+ },
1739
+ permissions: [
1740
+ {
1741
+ name: "unrestricted",
1742
+ description: "Allow all Garmin Connect API endpoints",
1743
+ rules: ["ANY /{path*}"]
1744
+ }
1745
+ ]
1746
+ }
1747
+ ]
1748
+ };
1749
+
1720
1750
  // ../../packages/core/src/firewalls/github.generated.ts
1721
1751
  var githubFirewall = {
1722
1752
  name: "github",
@@ -8736,14 +8766,14 @@ var xFirewall = {
8736
8766
  name: "x",
8737
8767
  description: "X (Twitter) API",
8738
8768
  placeholders: {
8739
- X_ACCESS_TOKEN: "AAAAAAAAAAAAAAAAAAAAAAVm0PlaceHolder0000000000000000000000000000000000000000000000000000000000000000000000"
8769
+ X_TOKEN: "AAAAAAAAAAAAAAAAAAAAAAVm0PlaceHolder0000000000000000000000000000000000000000000000000000000000000000000000"
8740
8770
  },
8741
8771
  apis: [
8742
8772
  {
8743
8773
  base: "https://api.x.com",
8744
8774
  auth: {
8745
8775
  headers: {
8746
- Authorization: "Bearer ${{ secrets.X_ACCESS_TOKEN }}"
8776
+ Authorization: "Bearer ${{ secrets.X_TOKEN }}"
8747
8777
  }
8748
8778
  },
8749
8779
  permissions: [
@@ -8920,6 +8950,7 @@ var builtinFirewalls = {
8920
8950
  figma: figmaFirewall,
8921
8951
  firecrawl: firecrawlFirewall,
8922
8952
  fireflies: firefliesFirewall,
8953
+ "garmin-connect": garminConnectFirewall,
8923
8954
  github: githubFirewall,
8924
8955
  gitlab: gitlabFirewall,
8925
8956
  gmail: gmailFirewall,
@@ -13181,7 +13212,7 @@ var CONNECTOR_TYPES_DEF = {
13181
13212
  // Upload media.
13182
13213
  ],
13183
13214
  environmentMapping: {
13184
- X_ACCESS_TOKEN: "$secrets.X_ACCESS_TOKEN"
13215
+ X_TOKEN: "$secrets.X_ACCESS_TOKEN"
13185
13216
  }
13186
13217
  }
13187
13218
  },
@@ -17752,12 +17783,12 @@ async function promptPassword(message) {
17752
17783
 
17753
17784
  export {
17754
17785
  configureGlobalProxyFromEnv,
17786
+ decodeZeroTokenPayload,
17755
17787
  loadConfig,
17756
17788
  saveConfig,
17757
17789
  getToken,
17758
17790
  getActiveToken,
17759
17791
  getApiUrl,
17760
- decodeZeroTokenPayload,
17761
17792
  getActiveOrg,
17762
17793
  clearConfig,
17763
17794
  extractAndGroupVariables,
@@ -17882,4 +17913,4 @@ export {
17882
17913
  promptSelect,
17883
17914
  promptPassword
17884
17915
  };
17885
- //# sourceMappingURL=chunk-RGS2GO4Q.js.map
17916
+ //# sourceMappingURL=chunk-2KN52BP2.js.map