vercel 58.9.4 → 58.10.0

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 (82) hide show
  1. package/dist/chunks/{add-XFGCONHF.js → add-5KFK4EFH.js} +6 -6
  2. package/dist/chunks/{add-ZZTRLRJT.js → add-NMYLVDBN.js} +2 -2
  3. package/dist/chunks/{add-GCIDCWH7.js → add-W4XR5GYX.js} +2 -2
  4. package/dist/chunks/{build-VVNU4BLE.js → build-BCMSG7TU.js} +2 -2
  5. package/dist/chunks/{chunk-NCPOQOZ2.js → chunk-2J7BL7IF.js} +2 -2
  6. package/dist/chunks/{chunk-UA6KSQA7.js → chunk-2SEBBSKD.js} +1 -1
  7. package/dist/chunks/{chunk-6RVEMCWL.js → chunk-5MERQE7H.js} +1 -1
  8. package/dist/chunks/{chunk-4ZDDOMUT.js → chunk-6SXIT6Q3.js} +2 -2
  9. package/dist/chunks/{chunk-473IQJL4.js → chunk-6WWATEWK.js} +1 -1
  10. package/dist/chunks/{chunk-6WHBYHIB.js → chunk-7RUZPHW7.js} +1 -1
  11. package/dist/chunks/{chunk-5KY7ORFF.js → chunk-AZCZV4XI.js} +1 -1
  12. package/dist/chunks/{chunk-IV3BQDT2.js → chunk-BZGIBXY6.js} +1 -1
  13. package/dist/chunks/{chunk-HDKQ66NL.js → chunk-CLUCO4RD.js} +92 -2
  14. package/dist/chunks/{chunk-TPNM2IBA.js → chunk-DQDAQYQI.js} +1 -1
  15. package/dist/chunks/{chunk-PSYZGH6M.js → chunk-ELJ56NBY.js} +1 -1
  16. package/dist/chunks/{chunk-F2PRLQ37.js → chunk-H25BISPQ.js} +4 -4
  17. package/dist/chunks/{chunk-3GTCSDQR.js → chunk-IBIZT5M4.js} +1 -34
  18. package/dist/chunks/{chunk-U2HFLQVO.js → chunk-KUZCVMVA.js} +3 -4
  19. package/dist/chunks/{chunk-5OWYFCOQ.js → chunk-L6BFCLXF.js} +9 -32
  20. package/dist/chunks/{chunk-R67YCGGV.js → chunk-MAZ2BUBX.js} +2 -2
  21. package/dist/chunks/{chunk-K43NT7QG.js → chunk-MGCBTAA7.js} +1 -1
  22. package/dist/chunks/{chunk-VJCN2M7S.js → chunk-N5YCPDWG.js} +1 -1
  23. package/dist/chunks/{chunk-QLZKPGI4.js → chunk-NDOZRKTB.js} +1 -1
  24. package/dist/chunks/{chunk-ZI4J4CQ4.js → chunk-PTZ6X4P4.js} +1 -1
  25. package/dist/chunks/{chunk-4EN73Q5Q.js → chunk-TNKTZDOL.js} +1 -1
  26. package/dist/chunks/{chunk-3RVAJBTW.js → chunk-U4LWFSR4.js} +1 -1
  27. package/dist/chunks/{chunk-HXZFIIDG.js → chunk-UDHYVIJL.js} +4 -4
  28. package/dist/chunks/{clear-FEV6EGAS.js → clear-54WX3NA2.js} +2 -2
  29. package/dist/chunks/{compile-vercel-config-QSZ7JDCG.js → compile-vercel-config-LSW4TWGX.js} +1 -1
  30. package/dist/chunks/{config-3BEFAQQU.js → config-WXQTPQW7.js} +2 -2
  31. package/dist/chunks/{delete-IYAGVXU6.js → delete-HQMI44SG.js} +2 -2
  32. package/dist/chunks/{delete-QYUDDZD2.js → delete-OGP3RVWM.js} +2 -2
  33. package/dist/chunks/{disable-D4WNCZ4Z.js → disable-HC266OB7.js} +2 -2
  34. package/dist/chunks/{discard-YFBRDG2N.js → discard-3RFIPLXY.js} +2 -2
  35. package/dist/chunks/{edit-TWPSJUE4.js → edit-NXPQFWM6.js} +3 -3
  36. package/dist/chunks/{edit-3IUCXLNZ.js → edit-TZOCRGG6.js} +2 -2
  37. package/dist/chunks/{enable-XJ7JMETR.js → enable-OGFRN4CG.js} +2 -2
  38. package/dist/chunks/{export-GJ6XQQFA.js → export-AEESZFZX.js} +2 -2
  39. package/dist/chunks/{image-SXRSCUP3.js → image-EIAO7LVN.js} +3 -3
  40. package/dist/chunks/{import-builders-QITJL2IG.js → import-builders-KCQLA2YR.js} +2 -2
  41. package/dist/chunks/{inspect-FAJ7BQOB.js → inspect-EM34BOTE.js} +3 -3
  42. package/dist/chunks/{inspect-H2HA6RZQ.js → inspect-HHSDXTII.js} +2 -2
  43. package/dist/chunks/{inspect-U5SNE5AC.js → inspect-MGIECVLH.js} +2 -2
  44. package/dist/chunks/{inspect-DXYEEYSF.js → inspect-RUGPLO7A.js} +2 -2
  45. package/dist/chunks/{inspect-SMDJWUBZ.js → inspect-TTHC6L7Q.js} +2 -2
  46. package/dist/chunks/{list-YR65RN5B.js → list-A74MGEOB.js} +2 -2
  47. package/dist/chunks/{list-MTOKP2AP.js → list-EOG3TYBE.js} +1 -1
  48. package/dist/chunks/{list-FONLZ3YO.js → list-GQDUIRBU.js} +3 -3
  49. package/dist/chunks/{login-DKKJWEM5.js → login-L4EWZOGH.js} +2 -2
  50. package/dist/chunks/{ls-LS475P45.js → ls-D5ESYWG5.js} +2 -2
  51. package/dist/chunks/{ls-DI6AQCB4.js → ls-F6WCPVB7.js} +2 -2
  52. package/dist/chunks/{ls-ORTO6EFA.js → ls-OJGSWVWO.js} +2 -2
  53. package/dist/chunks/{ls-4CRKYKH7.js → ls-OWHNAGNT.js} +2 -2
  54. package/dist/chunks/{ls-XO2VXFTI.js → ls-VBFBWSWD.js} +3 -3
  55. package/dist/chunks/{open-2P4ZZTJD.js → open-FHER5QV2.js} +2 -2
  56. package/dist/chunks/{permissions-PTW7BRVE.js → permissions-JSXC7BRD.js} +4 -4
  57. package/dist/chunks/{publish-IRGV2FST.js → publish-CM6ZGWIE.js} +2 -2
  58. package/dist/chunks/{push-3OY5CP5F.js → push-5NYG7HIR.js} +2 -2
  59. package/dist/chunks/{query-DLYCIOU6.js → query-5GQLF2BR.js} +1 -1
  60. package/dist/chunks/{reorder-J2TPPT62.js → reorder-5GCNY75W.js} +2 -2
  61. package/dist/chunks/{reply-QZWESDIB.js → reply-B2XCK5XR.js} +2 -2
  62. package/dist/chunks/{resolve-HSW2EFLZ.js → resolve-YQP5C2QY.js} +2 -2
  63. package/dist/chunks/{restore-DFLBJZFM.js → restore-VHX4JV5J.js} +2 -2
  64. package/dist/chunks/{rm-FAPEWTLO.js → rm-AUUT2YIT.js} +2 -2
  65. package/dist/chunks/{rm-G5JC3V3B.js → rm-OILUGCTW.js} +2 -2
  66. package/dist/chunks/{rm-QKGA6HFJ.js → rm-QVVQDCDX.js} +3 -3
  67. package/dist/chunks/{rm-NIRLLUDU.js → rm-VDFSX3LH.js} +2 -2
  68. package/dist/chunks/{rule-inspect-LKKYOQN7.js → rule-inspect-LKTUPW4B.js} +3 -3
  69. package/dist/chunks/{rules-DNPBXPCT.js → rules-J5JM5VFQ.js} +6 -6
  70. package/dist/chunks/{schema-E4EWRSGN.js → schema-OIKSCLDU.js} +1 -1
  71. package/dist/chunks/{tags-IO73I6MR.js → tags-AMTMNRLQ.js} +2 -2
  72. package/dist/chunks/{update-CFCAOSLN.js → update-AFL3GHKB.js} +6 -6
  73. package/dist/commands/build/index.js +10 -10
  74. package/dist/commands/deploy/index.js +12 -17
  75. package/dist/commands/dev/index.js +39 -13
  76. package/dist/commands/env/index.js +4 -4
  77. package/dist/commands/link/index.js +6 -6
  78. package/dist/commands/list/index.js +2 -2
  79. package/dist/commands-bulk.js +463 -147
  80. package/dist/index.js +8 -8
  81. package/dist/version.mjs +1 -1
  82. package/package.json +19 -19
@@ -37,7 +37,7 @@ import {
37
37
  runInteractiveEditLoop,
38
38
  stripQuotes,
39
39
  validateActionFlags
40
- } from "./chunks/chunk-5KY7ORFF.js";
40
+ } from "./chunks/chunk-AZCZV4XI.js";
41
41
  import {
42
42
  getRouteVersions
43
43
  } from "./chunks/chunk-AHU7WNL2.js";
@@ -57,7 +57,7 @@ import {
57
57
  requireProjectContext,
58
58
  validateRequiredArguments,
59
59
  withGlobalFlags as withGlobalFlags2
60
- } from "./chunks/chunk-IV3BQDT2.js";
60
+ } from "./chunks/chunk-BZGIBXY6.js";
61
61
  import {
62
62
  canPrompt
63
63
  } from "./chunks/chunk-2473DUBR.js";
@@ -104,12 +104,12 @@ import {
104
104
  setAutoUpdate,
105
105
  setPinnedVersion,
106
106
  tryOpenApiFallback
107
- } from "./chunks/chunk-F2PRLQ37.js";
107
+ } from "./chunks/chunk-H25BISPQ.js";
108
108
  import "./chunks/chunk-FGDKMNEN.js";
109
109
  import {
110
110
  getUpdateCommand,
111
111
  isGlobal
112
- } from "./chunks/chunk-QLZKPGI4.js";
112
+ } from "./chunks/chunk-NDOZRKTB.js";
113
113
  import {
114
114
  Now,
115
115
  addDomain,
@@ -130,7 +130,7 @@ import {
130
130
  require_cjs,
131
131
  require_jsonlines,
132
132
  setupDomain
133
- } from "./chunks/chunk-5OWYFCOQ.js";
133
+ } from "./chunks/chunk-L6BFCLXF.js";
134
134
  import {
135
135
  require_format
136
136
  } from "./chunks/chunk-PRWJUY5U.js";
@@ -140,7 +140,7 @@ import {
140
140
  readLocalConfig,
141
141
  sleep,
142
142
  writeToConfigFile
143
- } from "./chunks/chunk-R67YCGGV.js";
143
+ } from "./chunks/chunk-MAZ2BUBX.js";
144
144
  import {
145
145
  getGlobalPathConfig
146
146
  } from "./chunks/chunk-JKQWQA2T.js";
@@ -170,7 +170,7 @@ import {
170
170
  import {
171
171
  formatEnvironment,
172
172
  validateLsArgs
173
- } from "./chunks/chunk-4EN73Q5Q.js";
173
+ } from "./chunks/chunk-TNKTZDOL.js";
174
174
  import {
175
175
  validateJsonOutput
176
176
  } from "./chunks/chunk-KXDWXXJH.js";
@@ -376,6 +376,7 @@ import {
376
376
  publishSubcommand,
377
377
  pullSubcommand,
378
378
  purgeSubcommand,
379
+ putImageSubcommand,
379
380
  putSubcommand,
380
381
  redeployCommand,
381
382
  redirectsCommand,
@@ -486,7 +487,7 @@ import {
486
487
  webAnalyticsSubcommand,
487
488
  webhooksCommand,
488
489
  whoamiCommand
489
- } from "./chunks/chunk-HDKQ66NL.js";
490
+ } from "./chunks/chunk-CLUCO4RD.js";
490
491
  import {
491
492
  addSubcommand as addSubcommand12,
492
493
  buildSubcommand,
@@ -572,11 +573,11 @@ import {
572
573
  dump,
573
574
  load,
574
575
  main
575
- } from "./chunks/chunk-HXZFIIDG.js";
576
+ } from "./chunks/chunk-UDHYVIJL.js";
576
577
  import {
577
578
  require_semver
578
579
  } from "./chunks/chunk-IB5L4LKZ.js";
579
- import "./chunks/chunk-6RVEMCWL.js";
580
+ import "./chunks/chunk-5MERQE7H.js";
580
581
  import {
581
582
  require_execa
582
583
  } from "./chunks/chunk-R6IGDGX3.js";
@@ -591,10 +592,10 @@ import {
591
592
  } from "./chunks/chunk-VXYGCOKL.js";
592
593
  import {
593
594
  ensureLink
594
- } from "./chunks/chunk-U2HFLQVO.js";
595
- import "./chunks/chunk-4ZDDOMUT.js";
596
- import "./chunks/chunk-K43NT7QG.js";
597
- import "./chunks/chunk-UA6KSQA7.js";
595
+ } from "./chunks/chunk-KUZCVMVA.js";
596
+ import "./chunks/chunk-6SXIT6Q3.js";
597
+ import "./chunks/chunk-MGCBTAA7.js";
598
+ import "./chunks/chunk-2SEBBSKD.js";
598
599
  import {
599
600
  help
600
601
  } from "./chunks/chunk-ZX2FSPWV.js";
@@ -653,7 +654,7 @@ import {
653
654
  selectOrg,
654
655
  toHost,
655
656
  ua_default
656
- } from "./chunks/chunk-3GTCSDQR.js";
657
+ } from "./chunks/chunk-IBIZT5M4.js";
657
658
  import {
658
659
  TelemetryClient
659
660
  } from "./chunks/chunk-ECCWJHC6.js";
@@ -2155,7 +2156,7 @@ async function activity(client) {
2155
2156
  return 0;
2156
2157
  }
2157
2158
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
2158
- const listFn = (await import("./chunks/list-MTOKP2AP.js")).default;
2159
+ const listFn = (await import("./chunks/list-EOG3TYBE.js")).default;
2159
2160
  return listFn(client, telemetry2);
2160
2161
  }
2161
2162
  }
@@ -4844,6 +4845,7 @@ async function writeConfigFile(path3, content, mode) {
4844
4845
 
4845
4846
  // src/util/ai-gateway/coding-agents/gateway.ts
4846
4847
  var GATEWAY_CODING_AGENT_BASE_URL = "https://ai-gateway.vercel.sh/coding-agent/v1";
4848
+ var GATEWAY_CURSOR_BASE_URL = "https://ai-gateway.vercel.sh/cursor/v1";
4847
4849
  var GATEWAY_CODEX_BASE_URL = "https://ai-gateway.vercel.sh/codex/v1";
4848
4850
  var GATEWAY_CLAUDE_CODE_BASE_URL = "https://ai-gateway.vercel.sh/claude-code";
4849
4851
  var GATEWAY_API_KEY_ENV = "AI_GATEWAY_API_KEY";
@@ -5081,7 +5083,6 @@ import { join as join4 } from "path";
5081
5083
  var cline = {
5082
5084
  id: "cline",
5083
5085
  displayName: "Cline",
5084
- experimental: true,
5085
5086
  async detect(home) {
5086
5087
  return pathExists(join4(home, ".cline"));
5087
5088
  },
@@ -5410,7 +5411,6 @@ import { join as join7 } from "path";
5410
5411
  var cursor = {
5411
5412
  id: "cursor",
5412
5413
  displayName: "Cursor",
5413
- experimental: true,
5414
5414
  async detect(home) {
5415
5415
  return pathExists(join7(home, ".cursor"));
5416
5416
  },
@@ -5424,7 +5424,7 @@ var cursor = {
5424
5424
  notes: [
5425
5425
  "Cursor keeps its API-key settings in the app itself, so finish the setup there:",
5426
5426
  "1. Open Cursor \u2192 Settings (Cmd+Shift+J) \u2192 Models.",
5427
- `2. Under OpenAI API Key: paste your gateway key, then enable "Override OpenAI Base URL" and set it to ${ctx.baseUrlOverride ?? GATEWAY_CODING_AGENT_BASE_URL}`,
5427
+ `2. Under OpenAI API Key: paste your gateway key, then enable "Override OpenAI Base URL" and set it to ${ctx.baseUrlOverride ?? GATEWAY_CURSOR_BASE_URL}`,
5428
5428
  '3. Copy the key from a new terminal without echoing it: printf %s "$AI_GATEWAY_API_KEY" | pbcopy',
5429
5429
  '4. Use "Add model" to add gateway model ids you want in the picker (e.g. anthropic/claude-fable-5, openai/gpt-5.6-sol).',
5430
5430
  "While the override is on, Cursor's built-in non-OpenAI models stop working \u2014 use gateway model ids for everything, or toggle the override off to go back.",
@@ -5444,7 +5444,6 @@ function asObject(value) {
5444
5444
  var hermes = {
5445
5445
  id: "hermes",
5446
5446
  displayName: "Hermes",
5447
- experimental: true,
5448
5447
  async detect(home) {
5449
5448
  return pathExists(join8(home, ".hermes"));
5450
5449
  },
@@ -5499,7 +5498,6 @@ function kiloConfigDir(home) {
5499
5498
  var kilo = {
5500
5499
  id: "kilo",
5501
5500
  displayName: "Kilo Code",
5502
- experimental: true,
5503
5501
  async detect(home) {
5504
5502
  return pathExists(kiloConfigDir(home));
5505
5503
  },
@@ -5549,7 +5547,6 @@ var STARTER_MODELS = [
5549
5547
  var openclaw = {
5550
5548
  id: "openclaw",
5551
5549
  displayName: "OpenClaw",
5552
- experimental: true,
5553
5550
  async detect(home) {
5554
5551
  return pathExists(join10(home, ".openclaw"));
5555
5552
  },
@@ -5755,6 +5752,8 @@ ${import_chalk17.default.dim(
5755
5752
  " Detected agents are pre-selected \xB7"
5756
5753
  )}${CHECKBOX_INSTRUCTIONS}`,
5757
5754
  instructions: false,
5755
+ loop: false,
5756
+ pageSize: Math.max(choices.length, 7),
5758
5757
  choices
5759
5758
  });
5760
5759
  const selected = picked.map((id) => getAgentById(id)).filter((a) => Boolean(a));
@@ -9001,17 +9000,17 @@ ${extra}` : helpOutput);
9001
9000
  switch (subcommand) {
9002
9001
  case "inspect": {
9003
9002
  telemetry2.trackCliSubcommandInspect(subcommandOriginal);
9004
- const inspectFn = (await import("./chunks/inspect-H2HA6RZQ.js")).default;
9003
+ const inspectFn = (await import("./chunks/inspect-HHSDXTII.js")).default;
9005
9004
  return inspectFn(client, rawSubcommandArgs);
9006
9005
  }
9007
9006
  case "rules": {
9008
9007
  telemetry2.trackCliSubcommandRules(args[0] ?? "ls");
9009
- const rulesFn = (await import("./chunks/rules-DNPBXPCT.js")).default;
9008
+ const rulesFn = (await import("./chunks/rules-J5JM5VFQ.js")).default;
9010
9009
  return rulesFn(client, rawSubcommandArgs);
9011
9010
  }
9012
9011
  default: {
9013
9012
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
9014
- const listFn = (await import("./chunks/list-YR65RN5B.js")).default;
9013
+ const listFn = (await import("./chunks/list-A74MGEOB.js")).default;
9015
9014
  return listFn(client, telemetry2);
9016
9015
  }
9017
9016
  }
@@ -9995,8 +9994,8 @@ var BisectTelemetryClient = class extends TelemetryClient {
9995
9994
  });
9996
9995
  }
9997
9996
  }
9998
- trackCliFlagOpen(open16) {
9999
- if (open16) {
9997
+ trackCliFlagOpen(open17) {
9998
+ if (open17) {
10000
9999
  this.trackCliFlag("open");
10001
10000
  }
10002
10001
  }
@@ -10492,10 +10491,10 @@ async function list9(client, argv, auth) {
10492
10491
  const tablePrint = table(
10493
10492
  [
10494
10493
  headers.map((header) => import_chalk34.default.dim(header)),
10495
- ...list22.blobs.map((blob9) => {
10496
- urls.push(blob9.url);
10497
- const uploadedAt = (0, import_ms5.default)(Date.now() - new Date(blob9.uploadedAt).getTime());
10498
- return [uploadedAt, String(blob9.size), blob9.pathname, blob9.url];
10494
+ ...list22.blobs.map((blob10) => {
10495
+ urls.push(blob10.url);
10496
+ const uploadedAt = (0, import_ms5.default)(Date.now() - new Date(blob10.uploadedAt).getTime());
10497
+ return [uploadedAt, String(blob10.size), blob10.pathname, blob10.url];
10499
10498
  })
10500
10499
  ],
10501
10500
  { hsep: 5 }
@@ -10715,6 +10714,12 @@ var BlobTelemetryClient = class extends TelemetryClient {
10715
10714
  value: actual
10716
10715
  });
10717
10716
  }
10717
+ trackCliSubcommandPutImage(actual) {
10718
+ this.trackCliSubcommand({
10719
+ subcommand: "put-image",
10720
+ value: actual
10721
+ });
10722
+ }
10718
10723
  trackCliSubcommandSignedToken(actual) {
10719
10724
  this.trackCliSubcommand({
10720
10725
  subcommand: "signed-token",
@@ -11005,8 +11010,231 @@ async function put2(client, argv, auth) {
11005
11010
  return 0;
11006
11011
  }
11007
11012
 
11008
- // src/commands/blob/get.ts
11013
+ // src/commands/blob/put-image.ts
11009
11014
  import * as blob3 from "@vercel/blob";
11015
+ var import_error_utils2 = __toESM(require_dist(), 1);
11016
+ import { statSync as statSync2 } from "fs";
11017
+ import { open as open4 } from "fs/promises";
11018
+
11019
+ // src/util/telemetry/commands/blob/put-image.ts
11020
+ var BlobPutImageTelemetryClient = class extends TelemetryClient {
11021
+ trackCliArgumentPathToFileOrUrl(pathToFileOrUrl) {
11022
+ if (pathToFileOrUrl) {
11023
+ this.trackCliArgument({
11024
+ arg: "pathToFileOrUrl",
11025
+ value: this.redactedValue
11026
+ });
11027
+ }
11028
+ }
11029
+ trackCliOptionAccess(value) {
11030
+ if (value) {
11031
+ this.trackCliOption({
11032
+ option: "access",
11033
+ value
11034
+ });
11035
+ }
11036
+ }
11037
+ trackCliOptionWidth(width) {
11038
+ if (width !== void 0) {
11039
+ this.trackCliOption({
11040
+ option: "width",
11041
+ value: String(width)
11042
+ });
11043
+ }
11044
+ }
11045
+ trackCliOptionQuality(quality) {
11046
+ if (quality !== void 0) {
11047
+ this.trackCliOption({
11048
+ option: "quality",
11049
+ value: String(quality)
11050
+ });
11051
+ }
11052
+ }
11053
+ trackCliOptionFormat(format3) {
11054
+ if (format3) {
11055
+ this.trackCliOption({
11056
+ option: "format",
11057
+ value: format3
11058
+ });
11059
+ }
11060
+ }
11061
+ trackCliOptionPathname(pathname) {
11062
+ if (pathname) {
11063
+ this.trackCliOption({
11064
+ option: "pathname",
11065
+ value: this.redactedValue
11066
+ });
11067
+ }
11068
+ }
11069
+ trackCliFlagAddRandomSuffix(addRandomSuffix) {
11070
+ if (addRandomSuffix) {
11071
+ this.trackCliFlag("add-random-suffix");
11072
+ }
11073
+ }
11074
+ trackCliFlagAllowOverwrite(allowOverwrite) {
11075
+ if (allowOverwrite) {
11076
+ this.trackCliFlag("allow-overwrite");
11077
+ }
11078
+ }
11079
+ trackCliOptionCacheControlMaxAge(cacheControlMaxAge) {
11080
+ if (cacheControlMaxAge) {
11081
+ this.trackCliOption({
11082
+ option: "cache-control-max-age",
11083
+ value: String(cacheControlMaxAge)
11084
+ });
11085
+ }
11086
+ }
11087
+ trackCliFlagJson(json) {
11088
+ if (json) {
11089
+ this.trackCliFlag("json");
11090
+ }
11091
+ }
11092
+ };
11093
+
11094
+ // src/commands/blob/put-image.ts
11095
+ async function putImage2(client, argv, auth) {
11096
+ const telemetryClient = new BlobPutImageTelemetryClient({
11097
+ opts: {
11098
+ store: client.telemetryEventStore
11099
+ }
11100
+ });
11101
+ const flagsSpecification = getFlagsSpecification(putImageSubcommand.options);
11102
+ let parsedArgs;
11103
+ try {
11104
+ parsedArgs = parseArguments(argv, flagsSpecification);
11105
+ } catch (err) {
11106
+ printError(err);
11107
+ return 1;
11108
+ }
11109
+ const {
11110
+ flags,
11111
+ args: [source]
11112
+ } = parsedArgs;
11113
+ const {
11114
+ "--access": accessFlag,
11115
+ "--width": width,
11116
+ "--quality": quality,
11117
+ "--format": formatFlag,
11118
+ "--pathname": pathnameFlag,
11119
+ "--add-random-suffix": addRandomSuffix,
11120
+ "--allow-overwrite": allowOverwrite,
11121
+ "--cache-control-max-age": cacheControlMaxAge,
11122
+ "--json": asJson
11123
+ } = flags;
11124
+ if (!source) {
11125
+ output_manager_default.error(
11126
+ `Missing required argument. Usage: ${getCommandName(
11127
+ "blob put-image <file-or-url> --pathname <pathname> --width <pixels> --access <public|private>"
11128
+ )}`
11129
+ );
11130
+ return 1;
11131
+ }
11132
+ const isUrl = /^https?:\/\//i.test(source);
11133
+ const access4 = parseAccessFlag(accessFlag);
11134
+ if (!access4) {
11135
+ return 1;
11136
+ }
11137
+ const optimizeImage = {
11138
+ width,
11139
+ quality,
11140
+ format: formatFlag
11141
+ };
11142
+ const format3 = optimizeImage.format;
11143
+ if (!pathnameFlag) {
11144
+ output_manager_default.error(
11145
+ "Missing required --pathname flag. Set the pathname to store the optimized image at in the Blob store."
11146
+ );
11147
+ return 1;
11148
+ }
11149
+ const pathname = pathnameFlag;
11150
+ telemetryClient.trackCliArgumentPathToFileOrUrl(source);
11151
+ telemetryClient.trackCliOptionAccess(accessFlag);
11152
+ telemetryClient.trackCliOptionWidth(width);
11153
+ telemetryClient.trackCliOptionQuality(quality);
11154
+ telemetryClient.trackCliOptionFormat(formatFlag);
11155
+ telemetryClient.trackCliOptionPathname(pathnameFlag);
11156
+ telemetryClient.trackCliFlagAddRandomSuffix(addRandomSuffix);
11157
+ telemetryClient.trackCliFlagAllowOverwrite(allowOverwrite);
11158
+ telemetryClient.trackCliOptionCacheControlMaxAge(cacheControlMaxAge);
11159
+ telemetryClient.trackCliFlagJson(asJson);
11160
+ if (!auth.success || auth.kind !== "oidc") {
11161
+ output_manager_default.error(
11162
+ `Image optimization requires OIDC credentials. Pass --oidc-token and --store-id, or set the VERCEL_OIDC_TOKEN and BLOB_STORE_ID environment variables (available in .env.local after ${getCommandName("env pull")}).`
11163
+ );
11164
+ return 1;
11165
+ }
11166
+ const commonOptions = {
11167
+ ...blobOpts(auth),
11168
+ access: access4,
11169
+ optimizeImage,
11170
+ addRandomSuffix: addRandomSuffix ?? false,
11171
+ allowOverwrite: allowOverwrite ?? false,
11172
+ cacheControlMaxAge
11173
+ };
11174
+ let result;
11175
+ try {
11176
+ output_manager_default.debug("Optimizing and uploading image");
11177
+ output_manager_default.spinner("Optimizing and uploading image");
11178
+ if (isUrl) {
11179
+ result = await blob3.putImage(pathname, new URL(source), commonOptions);
11180
+ } else {
11181
+ let putBody;
11182
+ try {
11183
+ const stats = statSync2(source);
11184
+ if (!stats.isFile()) {
11185
+ output_manager_default.stopSpinner();
11186
+ output_manager_default.error("Path to optimize is not a file");
11187
+ return 1;
11188
+ }
11189
+ const file = await open4(source, "r");
11190
+ putBody = file.createReadStream();
11191
+ } catch (err) {
11192
+ output_manager_default.stopSpinner();
11193
+ output_manager_default.debug(`Error reading file: ${err}`);
11194
+ if ((0, import_error_utils2.isErrnoException)(err)) {
11195
+ output_manager_default.error(`File doesn't exist at '${source}'`);
11196
+ return 1;
11197
+ }
11198
+ output_manager_default.error("Error while reading file");
11199
+ return 1;
11200
+ }
11201
+ result = await blob3.putImage(pathname, putBody, commonOptions);
11202
+ }
11203
+ } catch (err) {
11204
+ output_manager_default.stopSpinner();
11205
+ printError(err);
11206
+ return 1;
11207
+ }
11208
+ output_manager_default.stopSpinner();
11209
+ const storedMimeType = result.contentType.split(";")[0].trim().toLowerCase();
11210
+ if (format3 && storedMimeType !== `image/${format3}`) {
11211
+ output_manager_default.warn(
11212
+ `The image was not converted to ${format3}: it was stored unchanged as ${storedMimeType}. This usually means the optimized output would have been larger than the source image. Try a lower --quality.`
11213
+ );
11214
+ }
11215
+ if (asJson) {
11216
+ client.stdout.write(
11217
+ `${JSON.stringify(
11218
+ {
11219
+ url: result.url,
11220
+ downloadUrl: result.downloadUrl,
11221
+ pathname: result.pathname,
11222
+ contentType: result.contentType
11223
+ },
11224
+ null,
11225
+ 2
11226
+ )}
11227
+ `
11228
+ );
11229
+ } else {
11230
+ client.stdout.write(`${result.url}
11231
+ `);
11232
+ }
11233
+ return 0;
11234
+ }
11235
+
11236
+ // src/commands/blob/get.ts
11237
+ import * as blob4 from "@vercel/blob";
11010
11238
 
11011
11239
  // src/util/telemetry/commands/blob/get.ts
11012
11240
  var BlobGetTelemetryClient = class extends TelemetryClient {
@@ -11090,7 +11318,7 @@ async function get2(client, argv, auth) {
11090
11318
  if (outputPath) {
11091
11319
  output_manager_default.spinner("Downloading blob");
11092
11320
  }
11093
- const result = await blob3.get(urlOrPathname, {
11321
+ const result = await blob4.get(urlOrPathname, {
11094
11322
  ...blobOpts(auth),
11095
11323
  access: access4,
11096
11324
  ifNoneMatch
@@ -11123,7 +11351,7 @@ async function get2(client, argv, auth) {
11123
11351
  }
11124
11352
 
11125
11353
  // src/commands/blob/del.ts
11126
- import * as blob4 from "@vercel/blob";
11354
+ import * as blob5 from "@vercel/blob";
11127
11355
 
11128
11356
  // src/util/telemetry/commands/blob/del.ts
11129
11357
  var BlobDelTelemetryClient = class extends TelemetryClient {
@@ -11173,7 +11401,7 @@ async function del2(client, argv, auth) {
11173
11401
  try {
11174
11402
  output_manager_default.debug("Deleting blob");
11175
11403
  output_manager_default.spinner("Deleting blob");
11176
- await blob4.del(args, { ...blobOpts(auth), ifMatch });
11404
+ await blob5.del(args, { ...blobOpts(auth), ifMatch });
11177
11405
  } catch (err) {
11178
11406
  output_manager_default.error(`Error deleting blob: ${err}`);
11179
11407
  return 1;
@@ -11184,7 +11412,7 @@ async function del2(client, argv, auth) {
11184
11412
  }
11185
11413
 
11186
11414
  // src/commands/blob/copy.ts
11187
- import * as blob5 from "@vercel/blob";
11415
+ import * as blob6 from "@vercel/blob";
11188
11416
 
11189
11417
  // src/util/telemetry/commands/blob/copy.ts
11190
11418
  var BlobCopyTelemetryClient = class extends TelemetryClient {
@@ -11290,7 +11518,7 @@ async function copy2(client, argv, auth) {
11290
11518
  try {
11291
11519
  output_manager_default.debug("Copying blob");
11292
11520
  output_manager_default.spinner("Copying blob");
11293
- result = await blob5.copy(fromUrl, toPathname, {
11521
+ result = await blob6.copy(fromUrl, toPathname, {
11294
11522
  ...blobOpts(auth),
11295
11523
  access: access4,
11296
11524
  addRandomSuffix: addRandomSuffix ?? false,
@@ -12199,7 +12427,7 @@ function formatCount2(count2) {
12199
12427
  }
12200
12428
 
12201
12429
  // src/commands/blob/store-empty.ts
12202
- import * as blob6 from "@vercel/blob";
12430
+ import * as blob7 from "@vercel/blob";
12203
12431
 
12204
12432
  // src/util/telemetry/commands/blob/store-empty.ts
12205
12433
  var BlobEmptyStoreTelemetryClient = class extends TelemetryClient {
@@ -12252,7 +12480,7 @@ async function emptyStore(client, argv, auth) {
12252
12480
  method: "GET",
12253
12481
  accountId
12254
12482
  }),
12255
- blob6.list({ ...blobOpts(auth), limit: 1 })
12483
+ blob7.list({ ...blobOpts(auth), limit: 1 })
12256
12484
  ]
12257
12485
  );
12258
12486
  const { name } = storeResponse.store;
@@ -12292,7 +12520,7 @@ async function emptyStore(client, argv, auth) {
12292
12520
  let hasMore = true;
12293
12521
  while (hasMore) {
12294
12522
  output_manager_default.spinner(`Deleting blobs... (${totalDeleted} deleted)`);
12295
- const listResult = await blob6.list({
12523
+ const listResult = await blob7.list({
12296
12524
  ...blobOpts(auth),
12297
12525
  limit: 1e3
12298
12526
  });
@@ -12301,7 +12529,7 @@ async function emptyStore(client, argv, auth) {
12301
12529
  break;
12302
12530
  }
12303
12531
  const urls = listResult.blobs.map((b) => b.url);
12304
- await blob6.del(urls, { ...blobOpts(auth) });
12532
+ await blob7.del(urls, { ...blobOpts(auth) });
12305
12533
  totalDeleted += urls.length;
12306
12534
  }
12307
12535
  output_manager_default.stopSpinner();
@@ -12314,7 +12542,7 @@ async function emptyStore(client, argv, auth) {
12314
12542
  }
12315
12543
 
12316
12544
  // src/commands/blob/presign.ts
12317
- import * as blob7 from "@vercel/blob";
12545
+ import * as blob8 from "@vercel/blob";
12318
12546
 
12319
12547
  // src/util/blob/validity.ts
12320
12548
  var import_ms7 = __toESM(require_ms(), 1);
@@ -12501,7 +12729,7 @@ async function presign(client, argv, auth) {
12501
12729
  const signedToken2 = delegationTokenFlag && clientSigningTokenFlag ? {
12502
12730
  delegationToken: delegationTokenFlag,
12503
12731
  clientSigningToken: clientSigningTokenFlag
12504
- } : await blob7.issueSignedToken({
12732
+ } : await blob8.issueSignedToken({
12505
12733
  ...blobOpts(auth),
12506
12734
  pathname,
12507
12735
  operations: [operation],
@@ -12511,7 +12739,7 @@ async function presign(client, argv, auth) {
12511
12739
  maximumSizeInBytes
12512
12740
  } : {}
12513
12741
  });
12514
- const presigned = await blob7.presignUrl(
12742
+ const presigned = await blob8.presignUrl(
12515
12743
  {
12516
12744
  delegationToken: signedToken2.delegationToken,
12517
12745
  clientSigningToken: signedToken2.clientSigningToken
@@ -12548,7 +12776,7 @@ async function presign(client, argv, auth) {
12548
12776
  }
12549
12777
 
12550
12778
  // src/commands/blob/signed-token.ts
12551
- import * as blob8 from "@vercel/blob";
12779
+ import * as blob9 from "@vercel/blob";
12552
12780
  function formatSignedToken(result) {
12553
12781
  return `delegationToken=${result.delegationToken}
12554
12782
  clientSigningToken=${result.clientSigningToken}
@@ -12604,7 +12832,7 @@ async function signedToken(client, argv, auth) {
12604
12832
  try {
12605
12833
  output_manager_default.debug("Issuing signed token");
12606
12834
  output_manager_default.spinner("Issuing signed token");
12607
- const result = await blob8.issueSignedToken({
12835
+ const result = await blob9.issueSignedToken({
12608
12836
  ...blobOpts(auth),
12609
12837
  pathname,
12610
12838
  operations,
@@ -12630,6 +12858,7 @@ async function signedToken(client, argv, auth) {
12630
12858
  var COMMAND_CONFIG13 = {
12631
12859
  list: getCommandAliases(listSubcommand23),
12632
12860
  put: getCommandAliases(putSubcommand),
12861
+ "put-image": getCommandAliases(putImageSubcommand),
12633
12862
  get: getCommandAliases(getSubcommand3),
12634
12863
  del: getCommandAliases(delSubcommand),
12635
12864
  copy: getCommandAliases(copySubcommand),
@@ -12702,6 +12931,18 @@ async function main3(client) {
12702
12931
  return 1;
12703
12932
  }
12704
12933
  return put2(client, args, token2);
12934
+ case "put-image":
12935
+ if (needHelp) {
12936
+ telemetry2.trackCliFlagHelp("blob", subcommandOriginal);
12937
+ printHelp(putImageSubcommand);
12938
+ return 2;
12939
+ }
12940
+ telemetry2.trackCliSubcommandPutImage(subcommandOriginal);
12941
+ if (!token2.success) {
12942
+ printError(token2.error);
12943
+ return 1;
12944
+ }
12945
+ return putImage2(client, args, token2);
12705
12946
  case "get":
12706
12947
  if (needHelp) {
12707
12948
  telemetry2.trackCliFlagHelp("blob", subcommandOriginal);
@@ -12826,7 +13067,7 @@ async function createPurchase(client, item) {
12826
13067
 
12827
13068
  // src/util/buy/handle-purchase-error.ts
12828
13069
  var import_open2 = __toESM(require_open(), 1);
12829
- var import_error_utils2 = __toESM(require_dist(), 1);
13070
+ var import_error_utils3 = __toESM(require_dist(), 1);
12830
13071
 
12831
13072
  // src/util/billing-url.ts
12832
13073
  var getTeamBillingUrl = (teamSlug) => `https://vercel.com/${teamSlug}/~/settings/billing`;
@@ -12916,7 +13157,7 @@ function handlePurchaseError(err, teamSlug, opts) {
12916
13157
  output_manager_default.error(
12917
13158
  "An unexpected error occurred while completing your purchase. Please try again later."
12918
13159
  );
12919
- output_manager_default.debug(`Server response: ${(0, import_error_utils2.errorToString)(err)}`);
13160
+ output_manager_default.debug(`Server response: ${(0, import_error_utils3.errorToString)(err)}`);
12920
13161
  return 1;
12921
13162
  }
12922
13163
 
@@ -13047,7 +13288,7 @@ var import_chalk42 = __toESM(require_source(), 1);
13047
13288
  var import_chalk41 = __toESM(require_source(), 1);
13048
13289
 
13049
13290
  // src/util/buy/handle-custom-environment-purchase-error.ts
13050
- var import_error_utils3 = __toESM(require_dist(), 1);
13291
+ var import_error_utils4 = __toESM(require_dist(), 1);
13051
13292
  function handleCustomEnvironmentPurchaseError(err) {
13052
13293
  if (isAPIError(err)) {
13053
13294
  if (err.code === "upgrade_required") {
@@ -13085,7 +13326,7 @@ function handleCustomEnvironmentPurchaseError(err) {
13085
13326
  output_manager_default.error(
13086
13327
  "An error occurred while updating custom environment capacity. Please try again later."
13087
13328
  );
13088
- output_manager_default.debug(`Server response: ${(0, import_error_utils3.errorToString)(err)}`);
13329
+ output_manager_default.debug(`Server response: ${(0, import_error_utils4.errorToString)(err)}`);
13089
13330
  return 1;
13090
13331
  }
13091
13332
 
@@ -13404,7 +13645,7 @@ async function pro(client, argv) {
13404
13645
  // src/commands/domains/buy.ts
13405
13646
  var import_chalk44 = __toESM(require_source(), 1);
13406
13647
  var import_tldts3 = __toESM(require_cjs(), 1);
13407
- var import_error_utils4 = __toESM(require_dist(), 1);
13648
+ var import_error_utils5 = __toESM(require_dist(), 1);
13408
13649
 
13409
13650
  // src/util/telemetry/commands/domains/buy.ts
13410
13651
  var DomainsBuyTelemetryClient = class extends TelemetryClient {
@@ -13586,7 +13827,7 @@ async function buy(client, argv) {
13586
13827
  output_manager_default.error(
13587
13828
  "An unexpected error occurred while purchasing your domain. Please try again later."
13588
13829
  );
13589
- output_manager_default.debug(`Server response: ${(0, import_error_utils4.errorToString)(err)}`);
13830
+ output_manager_default.debug(`Server response: ${(0, import_error_utils5.errorToString)(err)}`);
13590
13831
  return 1;
13591
13832
  }
13592
13833
  output_manager_default.stopSpinner();
@@ -14377,43 +14618,43 @@ async function comments(client) {
14377
14618
  if (handleHelp(inspectSubcommand4))
14378
14619
  return 0;
14379
14620
  telemetry2.trackCliSubcommandInspect(subcommandOriginal);
14380
- return (await import("./chunks/inspect-FAJ7BQOB.js")).default(client, telemetry2);
14621
+ return (await import("./chunks/inspect-EM34BOTE.js")).default(client, telemetry2);
14381
14622
  }
14382
14623
  case "open": {
14383
14624
  if (handleHelp(openSubcommand))
14384
14625
  return 0;
14385
14626
  telemetry2.trackCliSubcommandOpen(subcommandOriginal);
14386
- return (await import("./chunks/open-2P4ZZTJD.js")).default(client, telemetry2);
14627
+ return (await import("./chunks/open-FHER5QV2.js")).default(client, telemetry2);
14387
14628
  }
14388
14629
  case "reply": {
14389
14630
  if (handleHelp(replySubcommand))
14390
14631
  return 0;
14391
14632
  telemetry2.trackCliSubcommandReply(subcommandOriginal);
14392
- return (await import("./chunks/reply-QZWESDIB.js")).default(client, telemetry2);
14633
+ return (await import("./chunks/reply-B2XCK5XR.js")).default(client, telemetry2);
14393
14634
  }
14394
14635
  case "resolve": {
14395
14636
  if (handleHelp(resolveSubcommand))
14396
14637
  return 0;
14397
14638
  telemetry2.trackCliSubcommandResolve(subcommandOriginal);
14398
- return (await import("./chunks/resolve-HSW2EFLZ.js")).default(client, telemetry2, true);
14639
+ return (await import("./chunks/resolve-YQP5C2QY.js")).default(client, telemetry2, true);
14399
14640
  }
14400
14641
  case "reopen": {
14401
14642
  if (handleHelp(reopenSubcommand))
14402
14643
  return 0;
14403
14644
  telemetry2.trackCliSubcommandReopen(subcommandOriginal);
14404
- return (await import("./chunks/resolve-HSW2EFLZ.js")).default(client, telemetry2, false);
14645
+ return (await import("./chunks/resolve-YQP5C2QY.js")).default(client, telemetry2, false);
14405
14646
  }
14406
14647
  case "edit": {
14407
14648
  if (handleHelp(editSubcommand))
14408
14649
  return 0;
14409
14650
  telemetry2.trackCliSubcommandEdit(subcommandOriginal);
14410
- return (await import("./chunks/edit-3IUCXLNZ.js")).default(client, telemetry2);
14651
+ return (await import("./chunks/edit-TZOCRGG6.js")).default(client, telemetry2);
14411
14652
  }
14412
14653
  case "delete": {
14413
14654
  if (handleHelp(deleteSubcommand))
14414
14655
  return 0;
14415
14656
  telemetry2.trackCliSubcommandDelete(subcommandOriginal);
14416
- return (await import("./chunks/delete-QYUDDZD2.js")).default(client, telemetry2);
14657
+ return (await import("./chunks/delete-OGP3RVWM.js")).default(client, telemetry2);
14417
14658
  }
14418
14659
  default: {
14419
14660
  if (needHelp) {
@@ -14429,7 +14670,7 @@ async function comments(client) {
14429
14670
  }
14430
14671
  telemetry2.trackCliSubcommandList(subcommandOriginal);
14431
14672
  const defaultInvocation = subcommandOriginal === "default";
14432
- return (await import("./chunks/list-FONLZ3YO.js")).default(
14673
+ return (await import("./chunks/list-GQDUIRBU.js")).default(
14433
14674
  client,
14434
14675
  telemetry2,
14435
14676
  defaultInvocation
@@ -14438,6 +14679,26 @@ async function comments(client) {
14438
14679
  }
14439
14680
  }
14440
14681
 
14682
+ // src/util/connex/service-telemetry-value.ts
14683
+ function serviceTelemetryValue(value) {
14684
+ const trimmed = value.trim();
14685
+ if (!trimmed) {
14686
+ return null;
14687
+ }
14688
+ const withoutScheme = trimmed.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//, "");
14689
+ const authority = withoutScheme.split(/[/?#]/, 1)[0];
14690
+ const atIndex = authority.lastIndexOf("@");
14691
+ const hostPort = atIndex === -1 ? authority : authority.slice(atIndex + 1);
14692
+ let host;
14693
+ if (hostPort.startsWith("[")) {
14694
+ const end = hostPort.indexOf("]");
14695
+ host = end === -1 ? hostPort : hostPort.slice(0, end + 1);
14696
+ } else {
14697
+ host = hostPort.split(":", 1)[0];
14698
+ }
14699
+ return host ? host.toLowerCase() : null;
14700
+ }
14701
+
14441
14702
  // src/util/connex/validate-hex.ts
14442
14703
  var HEX_COLOR_REGEX = /^#[0-9a-fA-F]{6}$/;
14443
14704
  function isValidHexColor(value) {
@@ -14526,6 +14787,50 @@ var ConnexTelemetryClient = class extends TelemetryClient {
14526
14787
  });
14527
14788
  }
14528
14789
  }
14790
+ trackCliArgumentService(v) {
14791
+ if (v) {
14792
+ const value = serviceTelemetryValue(v);
14793
+ this.trackCliArgument({
14794
+ arg: "service",
14795
+ value: value ?? this.redactedValue
14796
+ });
14797
+ }
14798
+ }
14799
+ trackCliOptionName(v) {
14800
+ if (v) {
14801
+ this.trackCliOption({
14802
+ option: "name",
14803
+ // User-authored connector name can carry team/product names, hence redact.
14804
+ value: this.redactedValue
14805
+ });
14806
+ }
14807
+ }
14808
+ trackCliOptionSubject(v) {
14809
+ if (v) {
14810
+ this.trackCliOption({
14811
+ option: "subject",
14812
+ // Closed enum. Emit raw when valid so the `user` vs `app` token split
14813
+ // is visible; redact anything else
14814
+ value: v === "user" || v === "app" ? v : this.redactedValue
14815
+ });
14816
+ }
14817
+ }
14818
+ trackCliOptionInstallationId(v) {
14819
+ if (v) {
14820
+ this.trackCliOption({
14821
+ option: "installation-id",
14822
+ value: this.redactedValue
14823
+ });
14824
+ }
14825
+ }
14826
+ trackCliOptionScopes(v) {
14827
+ if (v) {
14828
+ this.trackCliOption({
14829
+ option: "scopes",
14830
+ value: this.redactedValue
14831
+ });
14832
+ }
14833
+ }
14529
14834
  trackCliOptionIcon(v) {
14530
14835
  if (v) {
14531
14836
  this.trackCliOption({
@@ -17681,7 +17986,7 @@ async function connex(client) {
17681
17986
  );
17682
17987
  }
17683
17988
  if (!subcommand && needHelp) {
17684
- telemetry2.trackCliFlagHelp("connex");
17989
+ telemetry2.trackCliFlagHelp("connect");
17685
17990
  output_manager_default.print(
17686
17991
  help(connexCommand, {
17687
17992
  columns: client.stderr.columns
@@ -17693,7 +17998,7 @@ async function connex(client) {
17693
17998
  switch (subcommand) {
17694
17999
  case "create": {
17695
18000
  if (needHelp) {
17696
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18001
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17697
18002
  const printed = await printCreateDynamicHelp(
17698
18003
  client,
17699
18004
  findHelpServiceArg(subArgs),
@@ -17711,6 +18016,8 @@ async function connex(client) {
17711
18016
  normalizeCreateDataArgs(subArgs),
17712
18017
  createFlagsSpec
17713
18018
  );
18019
+ telemetry2.trackCliArgumentService(createParsedArgs.args[0]);
18020
+ telemetry2.trackCliOptionName(createParsedArgs.flags["--name"]);
17714
18021
  telemetry2.trackCliOptionIcon(createParsedArgs.flags["--icon"]);
17715
18022
  telemetry2.trackCliOptionBackgroundColor(
17716
18023
  createParsedArgs.flags["--background-color"]
@@ -17744,6 +18051,7 @@ async function connex(client) {
17744
18051
  telemetry2.trackCliOptionTriggerEnvironment(
17745
18052
  createParsedArgs.flags["--trigger-environment"]
17746
18053
  );
18054
+ telemetry2.trackCliOptionFormat(createParsedArgs.flags["--format"]);
17747
18055
  return await create2(
17748
18056
  client,
17749
18057
  createParsedArgs.args,
@@ -17752,7 +18060,7 @@ async function connex(client) {
17752
18060
  }
17753
18061
  case "update": {
17754
18062
  if (needHelp) {
17755
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18063
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17756
18064
  printHelp(updateSubcommand);
17757
18065
  return 0;
17758
18066
  }
@@ -17776,7 +18084,7 @@ async function connex(client) {
17776
18084
  }
17777
18085
  case "list": {
17778
18086
  if (needHelp) {
17779
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18087
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17780
18088
  printHelp(listSubcommand7);
17781
18089
  return 0;
17782
18090
  }
@@ -17796,18 +18104,26 @@ async function connex(client) {
17796
18104
  }
17797
18105
  case "token": {
17798
18106
  if (needHelp) {
17799
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18107
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17800
18108
  printHelp(tokenSubcommand);
17801
18109
  return 0;
17802
18110
  }
17803
18111
  telemetry2.trackCliSubcommandToken(subcommandOriginal);
17804
18112
  const tokenFlagsSpec = getFlagsSpecification(tokenSubcommand.options);
17805
18113
  const tokenParsedArgs = parseArguments(subArgs, tokenFlagsSpec);
18114
+ telemetry2.trackCliArgumentId(tokenParsedArgs.args[0]);
18115
+ telemetry2.trackCliOptionSubject(tokenParsedArgs.flags["--subject"]);
18116
+ telemetry2.trackCliOptionInstallationId(
18117
+ tokenParsedArgs.flags["--installation-id"]
18118
+ );
18119
+ telemetry2.trackCliOptionScopes(tokenParsedArgs.flags["--scopes"]);
18120
+ telemetry2.trackCliFlagYes(tokenParsedArgs.flags["--yes"]);
18121
+ telemetry2.trackCliOptionFormat(tokenParsedArgs.flags["--format"]);
17806
18122
  return await token(client, tokenParsedArgs.args, tokenParsedArgs.flags);
17807
18123
  }
17808
18124
  case "attach": {
17809
18125
  if (needHelp) {
17810
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18126
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17811
18127
  printHelp(attachSubcommand);
17812
18128
  return 0;
17813
18129
  }
@@ -17839,7 +18155,7 @@ async function connex(client) {
17839
18155
  }
17840
18156
  case "detach": {
17841
18157
  if (needHelp) {
17842
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18158
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17843
18159
  printHelp(detachSubcommand);
17844
18160
  return 0;
17845
18161
  }
@@ -17858,7 +18174,7 @@ async function connex(client) {
17858
18174
  }
17859
18175
  case "remove": {
17860
18176
  if (needHelp) {
17861
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18177
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17862
18178
  printHelp(removeSubcommand4);
17863
18179
  return 0;
17864
18180
  }
@@ -17879,7 +18195,7 @@ async function connex(client) {
17879
18195
  }
17880
18196
  case "revoke-tokens": {
17881
18197
  if (needHelp) {
17882
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18198
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17883
18199
  printHelp(revokeTokensSubcommand);
17884
18200
  return 0;
17885
18201
  }
@@ -17910,7 +18226,7 @@ async function connex(client) {
17910
18226
  }
17911
18227
  case "open": {
17912
18228
  if (needHelp) {
17913
- telemetry2.trackCliFlagHelp("connex", subcommandOriginal);
18229
+ telemetry2.trackCliFlagHelp("connect", subcommandOriginal);
17914
18230
  printHelp(openSubcommand2);
17915
18231
  return 0;
17916
18232
  }
@@ -17997,7 +18313,7 @@ var ContractTelemetryClient = class extends TelemetryClient {
17997
18313
  };
17998
18314
 
17999
18315
  // src/commands/contract/index.ts
18000
- var import_error_utils5 = __toESM(require_dist(), 1);
18316
+ var import_error_utils6 = __toESM(require_dist(), 1);
18001
18317
 
18002
18318
  // src/util/billing/format.ts
18003
18319
  function formatCurrency(amount) {
@@ -18049,7 +18365,7 @@ async function contract(client) {
18049
18365
  contextName = scope.contextName;
18050
18366
  teamId = scope.team?.id;
18051
18367
  } catch (err) {
18052
- if ((0, import_error_utils5.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
18368
+ if ((0, import_error_utils6.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
18053
18369
  error(err.message);
18054
18370
  return 1;
18055
18371
  }
@@ -18174,7 +18490,7 @@ async function contract(client) {
18174
18490
  var import_chalk56 = __toESM(require_source(), 1);
18175
18491
 
18176
18492
  // src/util/certs/create-cert-from-file.ts
18177
- var import_error_utils6 = __toESM(require_dist(), 1);
18493
+ var import_error_utils7 = __toESM(require_dist(), 1);
18178
18494
  import { readFileSync } from "fs";
18179
18495
  import { resolve as resolve6 } from "path";
18180
18496
  async function createCertFromFile(client, keyPath, certPath, caPath) {
@@ -18193,7 +18509,7 @@ async function createCertFromFile(client, keyPath, certPath, caPath) {
18193
18509
  });
18194
18510
  return certificate;
18195
18511
  } catch (err) {
18196
- if ((0, import_error_utils6.isErrnoException)(err) && err.code === "ENOENT") {
18512
+ if ((0, import_error_utils7.isErrnoException)(err) && err.code === "ENOENT") {
18197
18513
  return new Error(`The specified file "${err.path}" doesn't exist.`);
18198
18514
  }
18199
18515
  if (isAPIError(err) && err.status < 500) {
@@ -19648,7 +19964,7 @@ var CurlTelemetryClient = class extends TelemetryClient {
19648
19964
 
19649
19965
  // src/commands/curl/shared.ts
19650
19966
  var import_chalk66 = __toESM(require_source(), 1);
19651
- var import_error_utils7 = __toESM(require_dist(), 1);
19967
+ var import_error_utils8 = __toESM(require_dist(), 1);
19652
19968
 
19653
19969
  // src/commands/curl/bypass-token.ts
19654
19970
  var import_chalk65 = __toESM(require_source(), 1);
@@ -20178,7 +20494,7 @@ async function getDeploymentUrlAndToken(client, commandName, path3, options) {
20178
20494
  try {
20179
20495
  scope = await getScope(client);
20180
20496
  } catch (err) {
20181
- if ((0, import_error_utils7.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
20497
+ if ((0, import_error_utils8.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
20182
20498
  output_manager_default.error(err.message);
20183
20499
  return 1;
20184
20500
  }
@@ -20233,7 +20549,7 @@ async function getDeploymentUrlAndToken(client, commandName, path3, options) {
20233
20549
  autoConfirm
20234
20550
  });
20235
20551
  } catch (err) {
20236
- if ((0, import_error_utils7.isErrnoException)(err) && err.code === "NOT_AUTHORIZED") {
20552
+ if ((0, import_error_utils8.isErrnoException)(err) && err.code === "NOT_AUTHORIZED") {
20237
20553
  output_manager_default.error(err.message);
20238
20554
  return 1;
20239
20555
  }
@@ -20286,7 +20602,7 @@ async function getDeploymentUrlAndToken(client, commandName, path3, options) {
20286
20602
  }
20287
20603
 
20288
20604
  // src/commands/curl/trace.ts
20289
- var import_error_utils8 = __toESM(require_dist(), 1);
20605
+ var import_error_utils9 = __toESM(require_dist(), 1);
20290
20606
  import { spawn } from "child_process";
20291
20607
  import { tmpdir } from "os";
20292
20608
  import { join as join15 } from "path";
@@ -20531,7 +20847,7 @@ async function trace2(client, { fullUrl, link: link2, curlFlags, json, yes, tele
20531
20847
  userId = client.authConfig.userId ?? (await getUser(client)).id;
20532
20848
  } catch (err) {
20533
20849
  output_manager_default.error(
20534
- `Failed to resolve user for trace session: ${(0, import_error_utils8.errorToString)(err)}`
20850
+ `Failed to resolve user for trace session: ${(0, import_error_utils9.errorToString)(err)}`
20535
20851
  );
20536
20852
  return 1;
20537
20853
  }
@@ -22714,7 +23030,7 @@ var DomainsAddTelemetryClient = class extends TelemetryClient {
22714
23030
  };
22715
23031
 
22716
23032
  // src/commands/domains/add.ts
22717
- var import_error_utils9 = __toESM(require_dist(), 1);
23033
+ var import_error_utils10 = __toESM(require_dist(), 1);
22718
23034
  var VERCEL_DOMAINS_DASHBOARD = "https://vercel.com/dashboard/domains";
22719
23035
  function nextCommandsForDomainsAddFailure(client, domainName, projectName, err) {
22720
23036
  const next = [
@@ -22902,7 +23218,7 @@ async function add5(client, argv) {
22902
23218
  if (code2 === "not_domain_owner" || status4 === 403 && msg.includes("not authorized")) {
22903
23219
  reason = "domain_not_owned";
22904
23220
  }
22905
- let message = (0, import_error_utils9.errorToString)(error);
23221
+ let message = (0, import_error_utils10.errorToString)(error);
22906
23222
  if (reason === "domain_not_owned" || code2 === "invalid_domain" || msg.includes("not authorized to use")) {
22907
23223
  message += " domains add is for domains you already own or control via DNS. If you have not purchased the domain yet, the user must run 'domains buy' interactively (agents must not purchase) or buy in the dashboard; use 'domains transfer-in' to move an existing registration to Vercel.";
22908
23224
  }
@@ -22932,7 +23248,7 @@ async function add5(client, argv) {
22932
23248
  {
22933
23249
  status: "error",
22934
23250
  reason: "invalid_domain",
22935
- message: (0, import_error_utils9.errorToString)(addResult)
23251
+ message: (0, import_error_utils10.errorToString)(addResult)
22936
23252
  },
22937
23253
  1
22938
23254
  );
@@ -22947,7 +23263,7 @@ async function add5(client, argv) {
22947
23263
  {
22948
23264
  status: "error",
22949
23265
  reason: "domain_already_exists",
22950
- message: (0, import_error_utils9.errorToString)(addResult)
23266
+ message: (0, import_error_utils10.errorToString)(addResult)
22951
23267
  },
22952
23268
  1
22953
23269
  );
@@ -23038,7 +23354,7 @@ async function add5(client, argv) {
23038
23354
  {
23039
23355
  status: "error",
23040
23356
  reason: "domain_remove_failed",
23041
- message: (0, import_error_utils9.errorToString)(removeResponse)
23357
+ message: (0, import_error_utils10.errorToString)(removeResponse)
23042
23358
  },
23043
23359
  1
23044
23360
  );
@@ -23064,7 +23380,7 @@ async function add5(client, argv) {
23064
23380
  if (code2 === "not_domain_owner" || status4 === 403 && msg.includes("not authorized")) {
23065
23381
  reason = "domain_not_owned";
23066
23382
  }
23067
- let message = (0, import_error_utils9.errorToString)(aliasTarget);
23383
+ let message = (0, import_error_utils10.errorToString)(aliasTarget);
23068
23384
  if (reason === "domain_not_owned" || code2 === "invalid_domain" || msg.includes("not authorized to use")) {
23069
23385
  message += " domains add is for domains you already own or control via DNS. If you have not purchased the domain yet, the user must run 'domains buy' interactively (agents must not purchase) or buy in the dashboard; use 'domains transfer-in' to move an existing registration to Vercel.";
23070
23386
  }
@@ -45033,7 +45349,7 @@ async function guess(client, exampleList, name) {
45033
45349
  }
45034
45350
 
45035
45351
  // src/commands/init/index.ts
45036
- var import_error_utils10 = __toESM(require_dist(), 1);
45352
+ var import_error_utils11 = __toESM(require_dist(), 1);
45037
45353
 
45038
45354
  // src/util/telemetry/commands/init/index.ts
45039
45355
  var InitTelemetryClient = class extends TelemetryClient {
@@ -45094,7 +45410,7 @@ async function main19(client) {
45094
45410
  return await init(client, parsedArgs.flags, args, telemetry2);
45095
45411
  } catch (err) {
45096
45412
  output_manager_default.prettyError(err);
45097
- if ((0, import_error_utils10.isError)(err) && typeof err.stack === "string") {
45413
+ if ((0, import_error_utils11.isError)(err) && typeof err.stack === "string") {
45098
45414
  output_manager_default.debug(err.stack);
45099
45415
  }
45100
45416
  return 1;
@@ -45102,7 +45418,7 @@ async function main19(client) {
45102
45418
  }
45103
45419
 
45104
45420
  // src/commands/inspect/index.ts
45105
- var import_error_utils11 = __toESM(require_dist(), 1);
45421
+ var import_error_utils12 = __toESM(require_dist(), 1);
45106
45422
  var import_chalk166 = __toESM(require_source(), 1);
45107
45423
  var import_ms18 = __toESM(require_ms(), 1);
45108
45424
  var import_title3 = __toESM(require_lib2(), 1);
@@ -45524,7 +45840,7 @@ async function inspect6(client) {
45524
45840
  try {
45525
45841
  ({ contextName } = await getScope(client));
45526
45842
  } catch (err) {
45527
- if ((0, import_error_utils11.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
45843
+ if ((0, import_error_utils12.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
45528
45844
  error(err.message);
45529
45845
  return 1;
45530
45846
  }
@@ -45751,7 +46067,7 @@ function exitCode(state) {
45751
46067
  // src/commands/integration/add-auto-provision.ts
45752
46068
  var import_chalk171 = __toESM(require_source(), 1);
45753
46069
  var import_execa2 = __toESM(require_execa(), 1);
45754
- var import_error_utils12 = __toESM(require_dist(), 1);
46070
+ var import_error_utils13 = __toESM(require_dist(), 1);
45755
46071
  var import_open12 = __toESM(require_open(), 1);
45756
46072
 
45757
46073
  // src/util/integration/auto-provision-resource.ts
@@ -47442,10 +47758,10 @@ Example: vercel ${commandName} ${integration.slug}/${integration.products[0].slu
47442
47758
  "marketplace_checkout_provisioning_failed",
47443
47759
  {
47444
47760
  ...baseProps,
47445
- error_message: (0, import_error_utils12.errorToString)(error)
47761
+ error_message: (0, import_error_utils13.errorToString)(error)
47446
47762
  }
47447
47763
  );
47448
- output_manager_default.error((0, import_error_utils12.errorToString)(error));
47764
+ output_manager_default.error((0, import_error_utils13.errorToString)(error));
47449
47765
  return 1;
47450
47766
  }
47451
47767
  output_manager_default.stopSpinner();
@@ -51975,14 +52291,14 @@ async function main21(client) {
51975
52291
  }
51976
52292
 
51977
52293
  // src/commands/logout/index.ts
51978
- var import_error_utils14 = __toESM(require_dist(), 1);
52294
+ var import_error_utils15 = __toESM(require_dist(), 1);
51979
52295
 
51980
52296
  // src/util/telemetry/commands/logout/index.ts
51981
52297
  var LogoutTelemetryClient = class extends TelemetryClient {
51982
52298
  };
51983
52299
 
51984
52300
  // src/commands/logout/future.ts
51985
- var import_error_utils13 = __toESM(require_dist(), 1);
52301
+ var import_error_utils14 = __toESM(require_dist(), 1);
51986
52302
  async function logout(client) {
51987
52303
  const { authConfig } = client;
51988
52304
  if (!authConfig.token) {
@@ -52015,7 +52331,7 @@ async function logout(client) {
52015
52331
  return 0;
52016
52332
  }
52017
52333
  } catch (err) {
52018
- output_manager_default.debug((0, import_error_utils13.errorToString)(err));
52334
+ output_manager_default.debug((0, import_error_utils14.errorToString)(err));
52019
52335
  output_manager_default.error("Failed during logout");
52020
52336
  }
52021
52337
  return 1;
@@ -52079,7 +52395,7 @@ async function logout2(client) {
52079
52395
  }
52080
52396
  output_manager_default.debug("Configuration has been deleted");
52081
52397
  } catch (err) {
52082
- output_manager_default.debug((0, import_error_utils14.errorToString)(err));
52398
+ output_manager_default.debug((0, import_error_utils15.errorToString)(err));
52083
52399
  exitCode2 = 1;
52084
52400
  }
52085
52401
  if (exitCode2 === 0) {
@@ -52091,7 +52407,7 @@ async function logout2(client) {
52091
52407
  }
52092
52408
 
52093
52409
  // src/commands/logs/index.ts
52094
- var import_error_utils15 = __toESM(require_dist(), 1);
52410
+ var import_error_utils16 = __toESM(require_dist(), 1);
52095
52411
  var import_chalk191 = __toESM(require_source(), 1);
52096
52412
  var import_format26 = __toESM(require_format(), 1);
52097
52413
 
@@ -52838,7 +53154,7 @@ async function logs(client) {
52838
53154
  try {
52839
53155
  ({ contextName } = await getScope(client));
52840
53156
  } catch (err) {
52841
- if ((0, import_error_utils15.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
53157
+ if ((0, import_error_utils16.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
52842
53158
  output_manager_default.error(err.message);
52843
53159
  return 1;
52844
53160
  }
@@ -53841,7 +54157,7 @@ async function metrics(client) {
53841
54157
  return 0;
53842
54158
  }
53843
54159
  telemetry2.trackCliSubcommandSchema(subcommandOriginal);
53844
- const schemaFn = (await import("./chunks/schema-E4EWRSGN.js")).default;
54160
+ const schemaFn = (await import("./chunks/schema-OIKSCLDU.js")).default;
53845
54161
  return schemaFn(client, telemetry2);
53846
54162
  }
53847
54163
  default: {
@@ -53854,7 +54170,7 @@ async function metrics(client) {
53854
54170
  output_manager_default.print(help(metricsCommand, { columns: client.stderr.columns }));
53855
54171
  return 2;
53856
54172
  }
53857
- const queryFn = (await import("./chunks/query-DLYCIOU6.js")).default;
54173
+ const queryFn = (await import("./chunks/query-5GQLF2BR.js")).default;
53858
54174
  return queryFn(client, telemetry2);
53859
54175
  }
53860
54176
  }
@@ -58303,7 +58619,7 @@ async function main24(client) {
58303
58619
 
58304
58620
  // src/commands/promote/index.ts
58305
58621
  var import_ms27 = __toESM(require_ms(), 1);
58306
- var import_error_utils16 = __toESM(require_dist(), 1);
58622
+ var import_error_utils17 = __toESM(require_dist(), 1);
58307
58623
 
58308
58624
  // src/commands/promote/request-promote.ts
58309
58625
  var import_chalk212 = __toESM(require_source(), 1);
@@ -58748,7 +59064,7 @@ var promote_default = async (client) => {
58748
59064
  yes
58749
59065
  });
58750
59066
  } catch (err) {
58751
- if ((0, import_error_utils16.isErrnoException)(err)) {
59067
+ if ((0, import_error_utils17.isErrnoException)(err)) {
58752
59068
  if (err.code === "ERR_CANCELED") {
58753
59069
  return 0;
58754
59070
  }
@@ -58825,7 +59141,7 @@ async function getDeploymentByIdOrURL({
58825
59141
  }
58826
59142
 
58827
59143
  // src/commands/redeploy/index.ts
58828
- var import_error_utils17 = __toESM(require_dist(), 1);
59144
+ var import_error_utils18 = __toESM(require_dist(), 1);
58829
59145
 
58830
59146
  // src/util/telemetry/commands/redeploy/index.ts
58831
59147
  var RedeployTelemetryClient = class extends TelemetryClient {
@@ -59042,7 +59358,7 @@ async function redeploy(client) {
59042
59358
  );
59043
59359
  } catch (err) {
59044
59360
  output_manager_default.prettyError(err);
59045
- if ((0, import_error_utils17.isErrnoException)(err) && err.code === "ERR_INVALID_TEAM") {
59361
+ if ((0, import_error_utils18.isErrnoException)(err) && err.code === "ERR_INVALID_TEAM") {
59046
59362
  output_manager_default.error(
59047
59363
  `Use ${import_chalk214.default.bold("vc switch")} to change your current team`
59048
59364
  );
@@ -59747,7 +60063,7 @@ import { readFileSync as readFileSync4 } from "fs";
59747
60063
  import { basename as basename3 } from "path";
59748
60064
 
59749
60065
  // src/commands/redirects/validate-redirects.ts
59750
- import { statSync as statSync2 } from "fs";
60066
+ import { statSync as statSync3 } from "fs";
59751
60067
  var MAX_FILE_SIZE = 50 * 1024 * 1024;
59752
60068
  var ALLOWED_EXTENSIONS = [".csv", ".json"];
59753
60069
  var MAX_REDIRECTS = 1e6;
@@ -59757,7 +60073,7 @@ function validateUploadFile(filePath, options = {}) {
59757
60073
  const maxSize = options.maxFileSize ?? MAX_FILE_SIZE;
59758
60074
  const allowedExts = options.allowedExtensions ?? ALLOWED_EXTENSIONS;
59759
60075
  try {
59760
- const stats = statSync2(filePath);
60076
+ const stats = statSync3(filePath);
59761
60077
  if (!stats.isFile()) {
59762
60078
  return { valid: false, error: `Path "${filePath}" is not a file` };
59763
60079
  }
@@ -61360,7 +61676,7 @@ function deploymentsAndProjects(deployments, projects2, conjunction = "and") {
61360
61676
  }
61361
61677
 
61362
61678
  // src/commands/rollback/index.ts
61363
- var import_error_utils18 = __toESM(require_dist(), 1);
61679
+ var import_error_utils19 = __toESM(require_dist(), 1);
61364
61680
  var import_ms32 = __toESM(require_ms(), 1);
61365
61681
 
61366
61682
  // src/commands/rollback/request-rollback.ts
@@ -61641,7 +61957,7 @@ var rollback_default = async (client) => {
61641
61957
  timeout
61642
61958
  });
61643
61959
  } catch (err) {
61644
- if ((0, import_error_utils18.isErrnoException)(err)) {
61960
+ if ((0, import_error_utils19.isErrnoException)(err)) {
61645
61961
  if (err.code === "ERR_CANCELED") {
61646
61962
  return 0;
61647
61963
  }
@@ -64556,7 +64872,7 @@ async function main26(client) {
64556
64872
  return 2;
64557
64873
  }
64558
64874
  telemetry2.trackCliSubcommandEdit(subcommandOriginal);
64559
- return (await import("./chunks/edit-TWPSJUE4.js")).default(client, args);
64875
+ return (await import("./chunks/edit-NXPQFWM6.js")).default(client, args);
64560
64876
  case "delete":
64561
64877
  if (needHelp) {
64562
64878
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64564,7 +64880,7 @@ async function main26(client) {
64564
64880
  return 2;
64565
64881
  }
64566
64882
  telemetry2.trackCliSubcommandDelete(subcommandOriginal);
64567
- return (await import("./chunks/delete-IYAGVXU6.js")).default(client, args);
64883
+ return (await import("./chunks/delete-HQMI44SG.js")).default(client, args);
64568
64884
  case "enable":
64569
64885
  if (needHelp) {
64570
64886
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64572,7 +64888,7 @@ async function main26(client) {
64572
64888
  return 2;
64573
64889
  }
64574
64890
  telemetry2.trackCliSubcommandEnable(subcommandOriginal);
64575
- return (await import("./chunks/enable-XJ7JMETR.js")).default(client, args);
64891
+ return (await import("./chunks/enable-OGFRN4CG.js")).default(client, args);
64576
64892
  case "disable":
64577
64893
  if (needHelp) {
64578
64894
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64580,7 +64896,7 @@ async function main26(client) {
64580
64896
  return 2;
64581
64897
  }
64582
64898
  telemetry2.trackCliSubcommandDisable(subcommandOriginal);
64583
- return (await import("./chunks/disable-D4WNCZ4Z.js")).default(client, args);
64899
+ return (await import("./chunks/disable-HC266OB7.js")).default(client, args);
64584
64900
  case "reorder":
64585
64901
  if (needHelp) {
64586
64902
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64588,7 +64904,7 @@ async function main26(client) {
64588
64904
  return 2;
64589
64905
  }
64590
64906
  telemetry2.trackCliSubcommandReorder(subcommandOriginal);
64591
- return (await import("./chunks/reorder-J2TPPT62.js")).default(client, args);
64907
+ return (await import("./chunks/reorder-5GCNY75W.js")).default(client, args);
64592
64908
  case "export":
64593
64909
  if (needHelp) {
64594
64910
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64596,7 +64912,7 @@ async function main26(client) {
64596
64912
  return 2;
64597
64913
  }
64598
64914
  telemetry2.trackCliSubcommandExport(subcommandOriginal);
64599
- return (await import("./chunks/export-GJ6XQQFA.js")).default(client, args);
64915
+ return (await import("./chunks/export-AEESZFZX.js")).default(client, args);
64600
64916
  case "publish":
64601
64917
  if (needHelp) {
64602
64918
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64604,7 +64920,7 @@ async function main26(client) {
64604
64920
  return 2;
64605
64921
  }
64606
64922
  telemetry2.trackCliSubcommandPublish(subcommandOriginal);
64607
- return (await import("./chunks/publish-IRGV2FST.js")).default(client, args);
64923
+ return (await import("./chunks/publish-CM6ZGWIE.js")).default(client, args);
64608
64924
  case "restore":
64609
64925
  if (needHelp) {
64610
64926
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64612,7 +64928,7 @@ async function main26(client) {
64612
64928
  return 2;
64613
64929
  }
64614
64930
  telemetry2.trackCliSubcommandRestore(subcommandOriginal);
64615
- return (await import("./chunks/restore-DFLBJZFM.js")).default(client, args);
64931
+ return (await import("./chunks/restore-VHX4JV5J.js")).default(client, args);
64616
64932
  case "discard-staging":
64617
64933
  if (needHelp) {
64618
64934
  telemetry2.trackCliFlagHelp("routes", subcommandOriginal);
@@ -64620,7 +64936,7 @@ async function main26(client) {
64620
64936
  return 2;
64621
64937
  }
64622
64938
  telemetry2.trackCliSubcommandDiscardStaging(subcommandOriginal);
64623
- return (await import("./chunks/discard-YFBRDG2N.js")).default(client, args);
64939
+ return (await import("./chunks/discard-3RFIPLXY.js")).default(client, args);
64624
64940
  default:
64625
64941
  output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG45));
64626
64942
  output_manager_default.print(help(routesCommand, { columns: client.stderr.columns }));
@@ -65523,7 +65839,7 @@ async function inviteUserToTeam(client, teamId, email2) {
65523
65839
  }
65524
65840
 
65525
65841
  // src/commands/teams/invite.ts
65526
- var import_error_utils19 = __toESM(require_dist(), 1);
65842
+ var import_error_utils20 = __toESM(require_dist(), 1);
65527
65843
 
65528
65844
  // src/util/telemetry/commands/teams/invite.ts
65529
65845
  var TeamsInviteTelemetryClient = class extends TelemetryClient {
@@ -65707,7 +66023,7 @@ Please select a team scope using ${getCommandName(
65707
66023
  validate: validateEmail
65708
66024
  });
65709
66025
  } catch (err) {
65710
- if (!(0, import_error_utils19.isError)(err) || err.message !== "USER_ABORT") {
66026
+ if (!(0, import_error_utils20.isError)(err) || err.message !== "USER_ABORT") {
65711
66027
  throw err;
65712
66028
  }
65713
66029
  }
@@ -65737,7 +66053,7 @@ Please select a team scope using ${getCommandName(
65737
66053
  } catch (err) {
65738
66054
  output_manager_default.stopSpinner();
65739
66055
  process.stderr.write(eraseLines(emails.length + 2));
65740
- output_manager_default.error((0, import_error_utils19.errorToString)(err));
66056
+ output_manager_default.error((0, import_error_utils20.errorToString)(err));
65741
66057
  hasError = true;
65742
66058
  for (const email3 of emails) {
65743
66059
  output_manager_default.log(`${import_chalk232.default.cyan(chars_default.tick)} ${sentEmailPrefix}${email3}`);
@@ -65790,7 +66106,7 @@ async function patchTeam(client, teamId, payload) {
65790
66106
  }
65791
66107
 
65792
66108
  // src/commands/teams/add.ts
65793
- var import_error_utils20 = __toESM(require_dist(), 1);
66109
+ var import_error_utils21 = __toESM(require_dist(), 1);
65794
66110
  var validateSlug = (value) => /^[a-z]+[a-z0-9_-]*$/.test(value);
65795
66111
  var validateName = (value) => /^[ a-zA-Z0-9_-]+$/.test(value);
65796
66112
  var teamUrlPrefix = "Team URL".padEnd(14) + import_chalk233.default.gray("vercel.com/");
@@ -65824,8 +66140,8 @@ function createTeamWithTimeout(client, slug) {
65824
66140
  ]);
65825
66141
  }
65826
66142
  function formatCreateTeamError(err, slug) {
65827
- const isAbort = (0, import_error_utils20.isError)(err) && err.name === "AbortError";
65828
- const isTimeoutMsg = (0, import_error_utils20.isError)(err) && err.message === "Request timed out.";
66143
+ const isAbort = (0, import_error_utils21.isError)(err) && err.name === "AbortError";
66144
+ const isTimeoutMsg = (0, import_error_utils21.isError)(err) && err.message === "Request timed out.";
65829
66145
  if (isAbort || isTimeoutMsg) {
65830
66146
  return TIMEOUT_HINT;
65831
66147
  }
@@ -65849,11 +66165,11 @@ function formatCreateTeamError(err, slug) {
65849
66165
  const prefix = slugHint || paymentHint;
65850
66166
  return prefix ? `${prefix}${prefix.trim() ? "\n" : ""}${err.serverMessage || err.message}` : err.serverMessage || err.message;
65851
66167
  }
65852
- return (0, import_error_utils20.errorToString)(err);
66168
+ return (0, import_error_utils21.errorToString)(err);
65853
66169
  }
65854
66170
  function formatCreateTeamErrorPlain(err, slug) {
65855
- const isAbort = (0, import_error_utils20.isError)(err) && err.name === "AbortError";
65856
- const isTimeoutMsg = (0, import_error_utils20.isError)(err) && err.message === "Request timed out.";
66171
+ const isAbort = (0, import_error_utils21.isError)(err) && err.name === "AbortError";
66172
+ const isTimeoutMsg = (0, import_error_utils21.isError)(err) && err.message === "Request timed out.";
65857
66173
  if (isAbort || isTimeoutMsg) {
65858
66174
  return TIMEOUT_HINT;
65859
66175
  }
@@ -65867,7 +66183,7 @@ function formatCreateTeamErrorPlain(err, slug) {
65867
66183
  const prefix = slugHint || paymentHint;
65868
66184
  return prefix ? `${prefix}${prefix.trim() ? "\n" : ""}${err.serverMessage || err.message}` : err.serverMessage || err.message;
65869
66185
  }
65870
- return (0, import_error_utils20.errorToString)(err);
66186
+ return (0, import_error_utils21.errorToString)(err);
65871
66187
  }
65872
66188
  var VERCEL_ACCOUNT_BILLING_URL = "https://vercel.com/account/billing";
65873
66189
  function createTeamErrorReason(err) {
@@ -65880,7 +66196,7 @@ function createTeamErrorReason(err) {
65880
66196
  }
65881
66197
  if (isAPIError(err) && err.status === 429)
65882
66198
  return "rate_limited";
65883
- if ((0, import_error_utils20.isError)(err) && (err.name === "AbortError" || err.message === "Request timed out.")) {
66199
+ if ((0, import_error_utils21.isError)(err) && (err.name === "AbortError" || err.message === "Request timed out.")) {
65884
66200
  return "timeout";
65885
66201
  }
65886
66202
  return "team_creation_failed";
@@ -66027,12 +66343,12 @@ async function add12(client, argv = []) {
66027
66343
  {
66028
66344
  status: "error",
66029
66345
  reason: "team_update_failed",
66030
- message: (0, import_error_utils20.errorToString)(err)
66346
+ message: (0, import_error_utils21.errorToString)(err)
66031
66347
  },
66032
66348
  1
66033
66349
  );
66034
66350
  }
66035
- output_manager_default.error((0, import_error_utils20.errorToString)(err));
66351
+ output_manager_default.error((0, import_error_utils21.errorToString)(err));
66036
66352
  return 1;
66037
66353
  }
66038
66354
  output_manager_default.stopSpinner();
@@ -66059,7 +66375,7 @@ async function add12(client, argv = []) {
66059
66375
  default: slug
66060
66376
  });
66061
66377
  } catch (err) {
66062
- if ((0, import_error_utils20.isError)(err) && err.message === "USER_ABORT") {
66378
+ if ((0, import_error_utils21.isError)(err) && err.message === "USER_ABORT") {
66063
66379
  output_manager_default.log("Canceled");
66064
66380
  return 0;
66065
66381
  }
@@ -66090,7 +66406,7 @@ async function add12(client, argv = []) {
66090
66406
  default: name
66091
66407
  });
66092
66408
  } catch (err) {
66093
- if ((0, import_error_utils20.isError)(err) && err.message === "USER_ABORT") {
66409
+ if ((0, import_error_utils21.isError)(err) && err.message === "USER_ABORT") {
66094
66410
  output_manager_default.log("No name specified");
66095
66411
  return 2;
66096
66412
  }
@@ -67512,8 +67828,8 @@ var TracesTelemetryClient = class extends TelemetryClient {
67512
67828
  });
67513
67829
  }
67514
67830
  }
67515
- trackCliFlagOpen(open16) {
67516
- if (open16) {
67831
+ trackCliFlagOpen(open17) {
67832
+ if (open17) {
67517
67833
  this.trackCliFlag("open");
67518
67834
  }
67519
67835
  }
@@ -68781,7 +69097,7 @@ var UsageTelemetryClient = class extends TelemetryClient {
68781
69097
  };
68782
69098
 
68783
69099
  // src/commands/usage/index.ts
68784
- var import_error_utils21 = __toESM(require_dist(), 1);
69100
+ var import_error_utils22 = __toESM(require_dist(), 1);
68785
69101
 
68786
69102
  // src/util/billing/period-utils.ts
68787
69103
  import { DateTime } from "luxon";
@@ -69253,7 +69569,7 @@ async function usage(client) {
69253
69569
  contextName = scope.contextName;
69254
69570
  teamId = scope.team?.id;
69255
69571
  } catch (err) {
69256
- if ((0, import_error_utils21.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
69572
+ if ((0, import_error_utils22.isErrnoException)(err) && (err.code === "NOT_AUTHORIZED" || err.code === "TEAM_DELETED")) {
69257
69573
  error(err.message);
69258
69574
  return 1;
69259
69575
  }
@@ -69751,37 +70067,37 @@ async function vcr(client) {
69751
70067
  switch (subcommand) {
69752
70068
  case "ls":
69753
70069
  telemetry2.trackCliSubcommandLs(subcommandOriginal);
69754
- return (await import("./chunks/ls-LS475P45.js")).default(client, args, telemetry2);
70070
+ return (await import("./chunks/ls-D5ESYWG5.js")).default(client, args, telemetry2);
69755
70071
  case "inspect":
69756
70072
  telemetry2.trackCliSubcommandInspect(subcommandOriginal);
69757
- return (await import("./chunks/inspect-SMDJWUBZ.js")).default(client, args, telemetry2);
70073
+ return (await import("./chunks/inspect-TTHC6L7Q.js")).default(client, args, telemetry2);
69758
70074
  case "add":
69759
70075
  telemetry2.trackCliSubcommandAdd(subcommandOriginal);
69760
- return (await import("./chunks/add-ZZTRLRJT.js")).default(client, args, telemetry2);
70076
+ return (await import("./chunks/add-NMYLVDBN.js")).default(client, args, telemetry2);
69761
70077
  case "config":
69762
70078
  telemetry2.trackCliSubcommandConfig(subcommandOriginal);
69763
- return (await import("./chunks/config-3BEFAQQU.js")).default(client, args, telemetry2);
70079
+ return (await import("./chunks/config-WXQTPQW7.js")).default(client, args, telemetry2);
69764
70080
  case "rm":
69765
70081
  telemetry2.trackCliSubcommandRm(subcommandOriginal);
69766
- return (await import("./chunks/rm-G5JC3V3B.js")).default(client, args, telemetry2);
70082
+ return (await import("./chunks/rm-OILUGCTW.js")).default(client, args, telemetry2);
69767
70083
  case "login":
69768
70084
  telemetry2.trackCliSubcommandLogin(subcommandOriginal);
69769
- return (await import("./chunks/login-DKKJWEM5.js")).default(client, args, telemetry2);
70085
+ return (await import("./chunks/login-L4EWZOGH.js")).default(client, args, telemetry2);
69770
70086
  case "build":
69771
70087
  telemetry2.trackCliSubcommandBuild(subcommandOriginal);
69772
- return (await import("./chunks/build-VVNU4BLE.js")).default(client, telemetry2);
70088
+ return (await import("./chunks/build-BCMSG7TU.js")).default(client, telemetry2);
69773
70089
  case "push":
69774
70090
  telemetry2.trackCliSubcommandPush(subcommandOriginal);
69775
- return (await import("./chunks/push-3OY5CP5F.js")).default(client, telemetry2);
70091
+ return (await import("./chunks/push-5NYG7HIR.js")).default(client, telemetry2);
69776
70092
  case "tag":
69777
70093
  telemetry2.trackCliSubcommandTag(subcommandOriginal);
69778
- return (await import("./chunks/tags-IO73I6MR.js")).default(client, args, telemetry2);
70094
+ return (await import("./chunks/tags-AMTMNRLQ.js")).default(client, args, telemetry2);
69779
70095
  case "image":
69780
70096
  telemetry2.trackCliSubcommandImage(subcommandOriginal);
69781
- return (await import("./chunks/image-SXRSCUP3.js")).default(client, args, telemetry2);
70097
+ return (await import("./chunks/image-EIAO7LVN.js")).default(client, args, telemetry2);
69782
70098
  case "permissions":
69783
70099
  telemetry2.trackCliSubcommandPermissions(subcommandOriginal);
69784
- return (await import("./chunks/permissions-PTW7BRVE.js")).default(client, args, telemetry2);
70100
+ return (await import("./chunks/permissions-JSXC7BRD.js")).default(client, args, telemetry2);
69785
70101
  default:
69786
70102
  output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG52));
69787
70103
  output_manager_default.print(help(vcrCommand, { columns: client.stderr.columns }));