vercel 59.0.0 → 59.1.4

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 (108) hide show
  1. package/dist/chunks/{add-SQ6ERCFZ.js → add-CUGPQYFW.js} +8 -8
  2. package/dist/chunks/{add-QZUQNL2C.js → add-PP3PJPJV.js} +5 -5
  3. package/dist/chunks/{add-3LO3UMYC.js → add-PRG4KKYH.js} +9 -11
  4. package/dist/chunks/{build-WMUKZEFH.js → build-T22GMLY6.js} +8 -8
  5. package/dist/chunks/{chunk-ELA5VN3A.js → chunk-2MF3ZAVW.js} +13 -4
  6. package/dist/chunks/{chunk-ZFTRB6AB.js → chunk-43DD2KNM.js} +1 -1
  7. package/dist/chunks/{chunk-N5DK7EMY.js → chunk-4HI7G6KG.js} +1 -1
  8. package/dist/chunks/{chunk-DQDJVHA5.js → chunk-4JKZ7SRX.js} +4 -4
  9. package/dist/chunks/{chunk-ZRWSSPW5.js → chunk-57G6HBJ4.js} +2 -2
  10. package/dist/chunks/{chunk-RWRSUGXY.js → chunk-5DVMXOFT.js} +2 -2
  11. package/dist/chunks/{chunk-SHR6DYA5.js → chunk-7NQLRE5V.js} +1 -1
  12. package/dist/chunks/{chunk-JLWQWYKO.js → chunk-BBSS3XIW.js} +2 -4
  13. package/dist/chunks/{chunk-V42UVZDX.js → chunk-BCZFZETZ.js} +5 -5
  14. package/dist/chunks/{chunk-MZ3L3SGZ.js → chunk-DAWJOQF6.js} +4 -6
  15. package/dist/chunks/{chunk-W34XLJ44.js → chunk-DEB45ND4.js} +3 -3
  16. package/dist/chunks/{chunk-SD2QZHZA.js → chunk-DOAYLTBJ.js} +5 -8
  17. package/dist/chunks/{chunk-QGQX7BYN.js → chunk-DOMLWKKZ.js} +38 -15
  18. package/dist/chunks/{chunk-TEQKKTJQ.js → chunk-F7OXZLY2.js} +2 -2
  19. package/dist/chunks/{chunk-J6LK45HT.js → chunk-GFCTRJI5.js} +16 -2
  20. package/dist/chunks/{chunk-O26N2UPI.js → chunk-GGPE5377.js} +1 -1
  21. package/dist/chunks/{chunk-4LDQIDRM.js → chunk-GMWRTZVZ.js} +9 -1
  22. package/dist/chunks/{chunk-LT5UQNTC.js → chunk-IKKUCZE7.js} +3 -3
  23. package/dist/chunks/{chunk-XIG4GH62.js → chunk-JYEO6OJS.js} +188 -102
  24. package/dist/chunks/chunk-KDYRLN6H.js +18 -0
  25. package/dist/chunks/{chunk-DMLU5KQE.js → chunk-KTLFN5FV.js} +1 -1
  26. package/dist/chunks/{chunk-L6NIIAB7.js → chunk-LNVZ3T7X.js} +6 -8
  27. package/dist/chunks/{chunk-UQVOFOP2.js → chunk-M34ZRNDQ.js} +1 -1
  28. package/dist/chunks/chunk-QCVKGY2A.js +151 -0
  29. package/dist/chunks/{chunk-S3H7ITUR.js → chunk-QD5NX7RG.js} +1 -1
  30. package/dist/chunks/{chunk-4N7XLXM2.js → chunk-QQ6PH4RY.js} +1 -0
  31. package/dist/chunks/{chunk-A5KP5HAI.js → chunk-RIB4S2IB.js} +10 -1
  32. package/dist/chunks/{chunk-ZX2FSPWV.js → chunk-SJQEGGH7.js} +4 -4
  33. package/dist/chunks/{chunk-5KI3SUJI.js → chunk-SOKQBFF7.js} +609 -73
  34. package/dist/chunks/{chunk-PSZQNYEV.js → chunk-SQGMTRZD.js} +91 -43
  35. package/dist/chunks/{chunk-TJJ562C5.js → chunk-TJLBCLEX.js} +15 -0
  36. package/dist/chunks/{chunk-WE3TFESA.js → chunk-TM3F7PLR.js} +2 -2
  37. package/dist/chunks/{chunk-KT4XXKJK.js → chunk-VAFU7DXZ.js} +195 -3
  38. package/dist/chunks/{chunk-RQ7H43CJ.js → chunk-VDJN4WKH.js} +1 -1
  39. package/dist/chunks/{chunk-3R5JGMHV.js → chunk-VE545BR3.js} +4473 -2796
  40. package/dist/chunks/{chunk-2SFMOCWR.js → chunk-VLPLCJZC.js} +0 -9
  41. package/dist/chunks/{chunk-B3JTF4CF.js → chunk-WC7IINFV.js} +10 -1
  42. package/dist/chunks/{chunk-SQAQED4U.js → chunk-XZLI27ES.js} +2 -2
  43. package/dist/chunks/{chunk-CMR5KQVR.js → chunk-ZUVJISHS.js} +3 -3
  44. package/dist/chunks/{clear-W2B4CHTP.js → clear-Z4IKUIN7.js} +5 -5
  45. package/dist/chunks/{compile-vercel-config-HTWOS7DZ.js → compile-vercel-config-PSVXFAZW.js} +3 -3
  46. package/dist/chunks/{config-EGJY4UUE.js → config-M5GMZ2X5.js} +8 -8
  47. package/dist/chunks/{constants-WEQVJSYS.js → constants-YMCRE6IG.js} +1 -1
  48. package/dist/chunks/{delete-BVMID4W2.js → delete-5GRRDJSF.js} +4 -4
  49. package/dist/chunks/{delete-6I7V5AGV.js → delete-P4XIBY7T.js} +5 -5
  50. package/dist/chunks/{disable-I54JNXJE.js → disable-NT5NYVO7.js} +4 -4
  51. package/dist/chunks/{discard-6TSJJCUQ.js → discard-TBNIEAJZ.js} +4 -4
  52. package/dist/chunks/{edit-YS2SWHFJ.js → edit-DJ6MT6HA.js} +5 -5
  53. package/dist/chunks/{edit-KCWYQ2YT.js → edit-UF3D2CCH.js} +5 -5
  54. package/dist/chunks/{enable-RYXRIGQN.js → enable-JTQBQMBO.js} +4 -4
  55. package/dist/chunks/{export-G3NYOADE.js → export-OKMRGRVM.js} +4 -4
  56. package/dist/chunks/{image-RJBLSUES.js → image-ARUJH4H5.js} +4 -4
  57. package/dist/chunks/{import-builders-M6F3F4DH.js → import-builders-3NTMZM64.js} +6 -4
  58. package/dist/chunks/{inspect-YTCVTZHY.js → inspect-5NETOGAI.js} +6 -7
  59. package/dist/chunks/{inspect-AE4YIJYS.js → inspect-CHFKZKKP.js} +5 -5
  60. package/dist/chunks/{inspect-E7TBGK7D.js → inspect-PTXIBSYW.js} +8 -8
  61. package/dist/chunks/{inspect-Z74NZZ2A.js → inspect-RI4K77NG.js} +8 -6
  62. package/dist/chunks/{inspect-7XUEVBDM.js → inspect-UXP2HDES.js} +5 -5
  63. package/dist/chunks/{list-KJNC3NOE.js → list-ADI55WKW.js} +6 -7
  64. package/dist/chunks/{list-WXS2AFQD.js → list-DYCZA2VX.js} +3 -3
  65. package/dist/chunks/{list-SGPLL4KJ.js → list-G7LGVDAJ.js} +17 -10
  66. package/dist/chunks/{login-XD3CFPBF.js → login-YCSIQG6B.js} +8 -8
  67. package/dist/chunks/{ls-5DSOTTYX.js → ls-2TKUIUK4.js} +11 -12
  68. package/dist/chunks/{ls-KE5I7BZO.js → ls-EOMIQLRH.js} +11 -12
  69. package/dist/chunks/{ls-SVSO3677.js → ls-PQFDGOJL.js} +7 -8
  70. package/dist/chunks/{ls-5A4327XJ.js → ls-RZVTIP5U.js} +11 -12
  71. package/dist/chunks/{ls-NBKSDTWX.js → ls-VIOMDUGW.js} +14 -15
  72. package/dist/chunks/{open-M2MOAE2K.js → open-JYPWOXQD.js} +5 -5
  73. package/dist/chunks/{permissions-ADPY554K.js → permissions-SGJWGEVD.js} +6 -6
  74. package/dist/chunks/{publish-OBIOOL7T.js → publish-ZUQHJAXL.js} +4 -4
  75. package/dist/chunks/{push-5237XBTO.js → push-XMVKG5A5.js} +8 -8
  76. package/dist/chunks/{query-ILL74HIA.js → query-ZLJZEGZB.js} +237 -49
  77. package/dist/chunks/{reorder-GAUAO4LW.js → reorder-NVHDWMRU.js} +4 -4
  78. package/dist/chunks/{reply-IZJHEULD.js → reply-PUUPUQ3V.js} +5 -5
  79. package/dist/chunks/{resolve-HTIT7CGL.js → resolve-5U2LJVE6.js} +5 -5
  80. package/dist/chunks/{restore-IKL74HSE.js → restore-OXIUY2UI.js} +4 -4
  81. package/dist/chunks/{rm-QAVNP5KX.js → rm-3IOCBNPE.js} +5 -5
  82. package/dist/chunks/{rm-5Y6BL47T.js → rm-BZNKJRXU.js} +5 -5
  83. package/dist/chunks/{rm-C37ZORQV.js → rm-OUI4ZB5R.js} +5 -5
  84. package/dist/chunks/{rm-XJU5SBGH.js → rm-Z2KYJ7XT.js} +8 -8
  85. package/dist/chunks/{rule-inspect-DYHWWROS.js → rule-inspect-ZBJJCDQV.js} +7 -8
  86. package/dist/chunks/{rules-M6EJ2Y6S.js → rules-HEGAXXUN.js} +8 -8
  87. package/dist/chunks/{schema-LLBDZNIC.js → schema-7GVL3BNP.js} +63 -31
  88. package/dist/chunks/{schema-ZNPIMQL5.js → schema-ZYIJYA2E.js} +2 -3
  89. package/dist/chunks/{tags-HR5RVQFA.js → tags-3SCWCMNQ.js} +3 -3
  90. package/dist/chunks/{types-UWI4HETD.js → types-AJHILHO5.js} +2 -4
  91. package/dist/chunks/{update-6A5V6HBH.js → update-YR2GCCJN.js} +7 -8
  92. package/dist/commands/build/index.js +10 -15
  93. package/dist/commands/deploy/index.js +310 -302
  94. package/dist/commands/dev/index.js +254 -181
  95. package/dist/commands/env/index.js +18 -17
  96. package/dist/commands/link/index.js +14 -20
  97. package/dist/commands/list/index.js +7 -9
  98. package/dist/commands-bulk.js +4410 -1246
  99. package/dist/help.js +1 -1
  100. package/dist/index.js +30 -22
  101. package/dist/version.mjs +1 -1
  102. package/package.json +40 -39
  103. package/dist/chunks/chunk-BGILSKZ5.js +0 -85
  104. package/dist/chunks/chunk-GFG6QDIE.js +0 -101
  105. package/dist/chunks/chunk-KBEX5MYS.js +0 -208
  106. package/dist/chunks/chunk-PBECT5BN.js +0 -107
  107. package/dist/chunks/chunk-PVCJIMVY.js +0 -1552
  108. /package/dist/{commands/dev/next-dev-websocket-shim-preload.cjs → runtime-assets/node-preloads/next-dev-websocket.cjs} +0 -0
@@ -18,7 +18,10 @@ import {
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-3R5JGMHV.js";
21
+ } from "./chunk-VE545BR3.js";
22
+ import {
23
+ isNativeBinaryInstall
24
+ } from "./chunk-ECCWJHC6.js";
22
25
  import {
23
26
  CantParseJSONFile,
24
27
  cmd,
@@ -627,7 +630,7 @@ var require_npa = __commonJS({
627
630
  "../../node_modules/.pnpm/npm-package-arg@6.1.0/node_modules/npm-package-arg/npa.js"(exports, module) {
628
631
  "use strict";
629
632
  module.exports = npa2;
630
- module.exports.resolve = resolve;
633
+ module.exports.resolve = resolve2;
631
634
  module.exports.Result = Result;
632
635
  var url;
633
636
  var HostedGit;
@@ -670,10 +673,10 @@ var require_npa = __commonJS({
670
673
  spec = arg;
671
674
  }
672
675
  }
673
- return resolve(name, spec, where, arg);
676
+ return resolve2(name, spec, where, arg);
674
677
  }
675
678
  var isFilespec = isWindows ? /^(?:[.]|~[/]|[/\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/;
676
- function resolve(name, spec, where, arg) {
679
+ function resolve2(name, spec, where, arg) {
677
680
  const res = new Result({
678
681
  raw: arg,
679
682
  name,
@@ -775,7 +778,7 @@ var require_npa = __commonJS({
775
778
  path = __require("path");
776
779
  return path.resolve(where, spec);
777
780
  }
778
- function isAbsolute(dir) {
781
+ function isAbsolute2(dir) {
779
782
  if (dir[0] === "/")
780
783
  return true;
781
784
  if (/^[A-Za-z]:/.test(dir))
@@ -795,7 +798,7 @@ var require_npa = __commonJS({
795
798
  res.saveSpec = "file:" + spec;
796
799
  } else {
797
800
  res.fetchSpec = resolvePath(where, spec);
798
- if (isAbsolute(spec)) {
801
+ if (isAbsolute2(spec)) {
799
802
  res.saveSpec = "file:" + spec;
800
803
  } else {
801
804
  if (!path)
@@ -903,7 +906,7 @@ var import_npm_package_arg = __toESM(require_npa(), 1);
903
906
  var import_semver2 = __toESM(require_semver(), 1);
904
907
  var import_fs_extra2 = __toESM(require_lib(), 1);
905
908
  var import_fs_detectors = __toESM(require_dist2(), 1);
906
- import { dirname, join as join2 } from "path";
909
+ import { dirname, isAbsolute, join as join2, resolve } from "path";
907
910
  import { createRequire } from "module";
908
911
 
909
912
  // src/util/build/static-builder.ts
@@ -1009,16 +1012,13 @@ async function untracedInstallBuilders(buildersDir, buildersToAdd) {
1009
1012
  );
1010
1013
  const buildUtilsVersion = pkg_default.dependencies?.["@vercel/build-utils"];
1011
1014
  const buildUtilsSpec = buildUtilsVersion && (0, import_semver.validRange)(buildUtilsVersion) ? `@vercel/build-utils@${buildUtilsVersion}` : "@vercel/build-utils";
1015
+ const installArgs = ["install", buildUtilsSpec, ...buildersToAdd];
1012
1016
  try {
1013
- const { stderr } = await (0, import_execa.default)(
1014
- "npm",
1015
- ["install", buildUtilsSpec, ...buildersToAdd],
1016
- {
1017
- cwd: buildersDir,
1018
- stdio: "pipe",
1019
- reject: true
1020
- }
1021
- );
1017
+ const { stderr } = await (0, import_execa.default)("npm", installArgs, {
1018
+ cwd: buildersDir,
1019
+ stdio: "pipe",
1020
+ reject: true
1021
+ });
1022
1022
  stderr.split("/\r?\n/").filter((line) => line.includes("npm WARN deprecated")).forEach((line) => {
1023
1023
  output_manager_default.warn(line);
1024
1024
  });
@@ -1032,7 +1032,8 @@ async function untracedInstallBuilders(buildersDir, buildersToAdd) {
1032
1032
  const notFound = /GET (.*) - Not found/.exec(message);
1033
1033
  if (notFound) {
1034
1034
  const url = new URL(notFound[1]);
1035
- const packageName = decodeURIComponent(url.pathname.slice(1));
1035
+ const packagePath = decodeURIComponent(url.pathname);
1036
+ const packageName = /(@[^/]+\/[^/]+)$/.exec(packagePath)?.[1] ?? packagePath.split("/").filter(Boolean).at(-1) ?? packagePath;
1036
1037
  message = `The package ${code(
1037
1038
  packageName
1038
1039
  )} is not published on the npm registry`;
@@ -1071,8 +1072,40 @@ async function untracedInstallBuilders(buildersDir, buildersToAdd) {
1071
1072
  return resolvedSpecs;
1072
1073
  }
1073
1074
  async function installBuilders(buildersDir, buildersToAdd, span, installReasons, pinnedSpecs) {
1075
+ const install = async () => {
1076
+ try {
1077
+ return await untracedInstallBuilders(buildersDir, buildersToAdd);
1078
+ } catch (err) {
1079
+ if (!pinnedSpecs?.size) {
1080
+ throw err;
1081
+ }
1082
+ const fallbackSpecs = new Set(
1083
+ Array.from(buildersToAdd, (spec) => {
1084
+ for (const [originalSpec, pinnedSpec] of pinnedSpecs) {
1085
+ if (pinnedSpec === spec) {
1086
+ return originalSpec;
1087
+ }
1088
+ }
1089
+ return spec;
1090
+ })
1091
+ );
1092
+ output_manager_default.warn(
1093
+ "Could not install the Builder versions pinned by this Vercel CLI release. Retrying with versions allowed by your npm settings."
1094
+ );
1095
+ const resolvedSpecs = await untracedInstallBuilders(
1096
+ buildersDir,
1097
+ fallbackSpecs
1098
+ );
1099
+ for (const originalSpec of pinnedSpecs.keys()) {
1100
+ if (fallbackSpecs.has(originalSpec)) {
1101
+ resolvedSpecs.set(originalSpec, originalSpec);
1102
+ }
1103
+ }
1104
+ return resolvedSpecs;
1105
+ }
1106
+ };
1074
1107
  if (!span) {
1075
- return untracedInstallBuilders(buildersDir, buildersToAdd);
1108
+ return install();
1076
1109
  }
1077
1110
  const attributes = {
1078
1111
  packages: Array.from(buildersToAdd).join(",")
@@ -1087,7 +1120,7 @@ async function installBuilders(buildersDir, buildersToAdd, span, installReasons,
1087
1120
  const installSpan = span.child("vc.installBuilders", attributes);
1088
1121
  return installSpan.trace(async (s) => {
1089
1122
  try {
1090
- return await untracedInstallBuilders(buildersDir, buildersToAdd);
1123
+ return await install();
1091
1124
  } catch (err) {
1092
1125
  s.setAttributes({
1093
1126
  error: (0, import_error_utils.isError)(err) ? err.message : String(err)
@@ -1115,18 +1148,6 @@ function getBuilderPins() {
1115
1148
  function isBareSpec(parsed) {
1116
1149
  return parsed.type === "tag" && parsed.rawSpec === "";
1117
1150
  }
1118
- function previewPackSuffix() {
1119
- const version2 = pkg_default.version;
1120
- if (typeof version2 !== "string") {
1121
- return void 0;
1122
- }
1123
- const idx = version2.lastIndexOf("-");
1124
- if (idx === -1) {
1125
- return void 0;
1126
- }
1127
- const suffix = version2.slice(idx + 1);
1128
- return suffix.length > 0 ? suffix : void 0;
1129
- }
1130
1151
  function formatResolvedBuilders(builders) {
1131
1152
  return Array.from(
1132
1153
  builders.values(),
@@ -1150,8 +1171,15 @@ function pinBuilderSpecs(specs) {
1150
1171
  }
1151
1172
  return pinnedSpecs;
1152
1173
  }
1174
+ function getBuildersDir(cwd) {
1175
+ const override = process.env.VERCEL_BUILDERS_DIR;
1176
+ if (override) {
1177
+ return isAbsolute(override) ? override : resolve(cwd, override);
1178
+ }
1179
+ return join2(cwd, VERCEL_DIR, "builders");
1180
+ }
1153
1181
  async function importBuilders(builderSpecs, cwd, span) {
1154
- const buildersDir = join2(cwd, VERCEL_DIR, "builders");
1182
+ const buildersDir = getBuildersDir(cwd);
1155
1183
  let importResult = await resolveBuilders(buildersDir, builderSpecs);
1156
1184
  if ("buildersToAdd" in importResult) {
1157
1185
  const { buildersToAdd, installReasons } = importResult;
@@ -1163,10 +1191,14 @@ async function importBuilders(builderSpecs, cwd, span) {
1163
1191
  installReasons,
1164
1192
  pinnedSpecs
1165
1193
  );
1194
+ const allowedPinDriftSpecs = new Set(
1195
+ Array.from(pinnedSpecs.keys()).filter((spec) => installResult.has(spec))
1196
+ );
1166
1197
  importResult = await resolveBuilders(
1167
1198
  buildersDir,
1168
1199
  builderSpecs,
1169
- installResult
1200
+ installResult,
1201
+ allowedPinDriftSpecs
1170
1202
  );
1171
1203
  if ("buildersToAdd" in importResult) {
1172
1204
  const { buildersToAdd: failed, installReasons: reasons } = importResult;
@@ -1201,7 +1233,7 @@ function missingModuleId(err) {
1201
1233
  }
1202
1234
  return id.replace(/[,=]/g, "_").slice(0, 100);
1203
1235
  }
1204
- async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs) {
1236
+ async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs, allowedPinDriftSpecs) {
1205
1237
  const builders = /* @__PURE__ */ new Map();
1206
1238
  const buildersToAdd = /* @__PURE__ */ new Set();
1207
1239
  const installReasons = /* @__PURE__ */ new Map();
@@ -1238,6 +1270,11 @@ async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs) {
1238
1270
  if (error.code !== "ENOENT") {
1239
1271
  throw error;
1240
1272
  }
1273
+ if (isNativeBinaryInstall()) {
1274
+ buildersToAdd.add(spec);
1275
+ installReasons.set(spec, "not-installed");
1276
+ continue;
1277
+ }
1241
1278
  pkgPath = require_.resolve(`${name}/package.json`, {
1242
1279
  paths: [__dirname]
1243
1280
  });
@@ -1252,7 +1289,7 @@ async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs) {
1252
1289
  );
1253
1290
  }
1254
1291
  const peerVersion = getBuilderPins().get(name);
1255
- if (isBareSpec(parsed) && peerVersion && (0, import_semver2.valid)(peerVersion) && builderPkg.version !== peerVersion) {
1292
+ if (isBareSpec(parsed) && peerVersion && (0, import_semver2.valid)(peerVersion) && builderPkg.version !== peerVersion && !allowedPinDriftSpecs?.has(spec)) {
1256
1293
  output_manager_default.debug(
1257
1294
  `Resolved "${name}@${builderPkg.version}" does not match pin "${peerVersion}"`
1258
1295
  );
@@ -1260,14 +1297,24 @@ async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs) {
1260
1297
  installReasons.set(spec, "pin-version-mismatch");
1261
1298
  continue;
1262
1299
  }
1263
- const packSuffix = previewPackSuffix();
1264
- if (isBareSpec(parsed) && peerVersion && isRemoteBuilderPin(peerVersion) && packSuffix && !builderPkg.version.endsWith(`-${packSuffix}`)) {
1265
- output_manager_default.debug(
1266
- `Resolved "${name}@${builderPkg.version}" does not carry preview pack suffix "-${packSuffix}"`
1267
- );
1268
- buildersToAdd.add(spec);
1269
- installReasons.set(spec, "preview-pack-mismatch");
1270
- continue;
1300
+ if (isBareSpec(parsed) && peerVersion && isRemoteBuilderPin(peerVersion) && pkgPath.startsWith(buildersDir)) {
1301
+ let installedSpec;
1302
+ try {
1303
+ const buildersPkg = await (0, import_fs_extra2.readJSON)(join2(buildersDir, "package.json"));
1304
+ installedSpec = buildersPkg.dependencies?.[name];
1305
+ } catch (error) {
1306
+ if (!(0, import_error_utils2.isErrnoException)(error) || error.code !== "ENOENT") {
1307
+ throw error;
1308
+ }
1309
+ }
1310
+ if (installedSpec !== peerVersion) {
1311
+ output_manager_default.debug(
1312
+ `Installed source for "${name}@${builderPkg.version}" is "${installedSpec ?? "unknown"}", not pin "${peerVersion}"`
1313
+ );
1314
+ buildersToAdd.add(spec);
1315
+ installReasons.set(spec, "preview-pack-mismatch");
1316
+ continue;
1317
+ }
1271
1318
  }
1272
1319
  if (parsed.type === "version" && parsed.rawSpec !== builderPkg.version) {
1273
1320
  output_manager_default.debug(
@@ -1333,5 +1380,6 @@ async function resolveBuilders(buildersDir, builderSpecs, resolvedSpecs) {
1333
1380
  export {
1334
1381
  require_npa,
1335
1382
  formatResolvedBuilders,
1383
+ getBuildersDir,
1336
1384
  importBuilders
1337
1385
  };
@@ -623,6 +623,21 @@ var AGENT_REASON = {
623
623
  * not `confirmation_required` — re-running with --yes would loop forever.
624
624
  */
625
625
  REQUIRES_CONSENT: "requires_consent",
626
+ // KMS
627
+ MISSING_ISSUER_ID: "missing_issuer_id",
628
+ MISSING_KEY: "missing_key",
629
+ MISSING_KEY_ID: "missing_key_id",
630
+ MISSING_PROJECT: "missing_project",
631
+ ISSUER_NOT_FOUND: "issuer_not_found",
632
+ /** The issuer is provisioned by another Vercel service and is read-only here. */
633
+ ISSUER_MANAGED: "issuer_managed",
634
+ /** Keys for an imported issuer must be imported too, so `add-key` cannot serve it. */
635
+ ISSUER_REQUIRES_IMPORTED_KEY: "issuer_requires_imported_key",
636
+ /** Vercel generates the keys for this issuer, so `import-key` cannot serve it. */
637
+ ISSUER_REQUIRES_GENERATED_KEY: "issuer_requires_generated_key",
638
+ /** Immediate revocation only applies to a key already scheduled for revocation. */
639
+ KEY_NOT_REVOKING: "key_not_revoking",
640
+ NO_CHANGES_REQUESTED: "no_changes_requested",
626
641
  // Redirects
627
642
  REDIRECT_NOT_FOUND: "redirect_not_found",
628
643
  VERSION_NOT_FOUND: "version_not_found",
@@ -20,12 +20,12 @@ import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId,
22
22
  getScope
23
- } from "./chunk-3R5JGMHV.js";
23
+ } from "./chunk-VE545BR3.js";
24
24
  import {
25
25
  AGENT_REASON,
26
26
  buildCommandWithGlobalFlags,
27
27
  outputAgentError
28
- } from "./chunk-TJJ562C5.js";
28
+ } from "./chunk-TJLBCLEX.js";
29
29
  import {
30
30
  require_ms
31
31
  } from "./chunk-GGP5R3FU.js";
@@ -5,8 +5,16 @@ const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
- require_string_width
9
- } from "./chunk-KBEX5MYS.js";
8
+ getCommandName,
9
+ parseRetryAfterHeaderAsMillis,
10
+ require_bytes
11
+ } from "./chunk-SOFC4MLS.js";
12
+ import {
13
+ output_manager_default
14
+ } from "./chunk-OX7KI3LF.js";
15
+ import {
16
+ require_source
17
+ } from "./chunk-S7KYDPEM.js";
10
18
  import {
11
19
  __commonJS,
12
20
  __require,
@@ -40,6 +48,109 @@ var require_debug = __commonJS({
40
48
  }
41
49
  });
42
50
 
51
+ // ../../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js
52
+ var require_ansi_regex = __commonJS({
53
+ "../../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js"(exports, module) {
54
+ "use strict";
55
+ module.exports = ({ onlyFirst = false } = {}) => {
56
+ const pattern = [
57
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
58
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
59
+ ].join("|");
60
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
61
+ };
62
+ }
63
+ });
64
+
65
+ // ../../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js
66
+ var require_strip_ansi = __commonJS({
67
+ "../../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js"(exports, module) {
68
+ "use strict";
69
+ var ansiRegex = require_ansi_regex();
70
+ module.exports = (string) => typeof string === "string" ? string.replace(ansiRegex(), "") : string;
71
+ }
72
+ });
73
+
74
+ // ../../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js
75
+ var require_is_fullwidth_code_point = __commonJS({
76
+ "../../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js"(exports, module) {
77
+ "use strict";
78
+ var isFullwidthCodePoint = (codePoint) => {
79
+ if (Number.isNaN(codePoint)) {
80
+ return false;
81
+ }
82
+ if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
83
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
84
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
85
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
86
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
87
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
88
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
89
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
90
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
91
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
92
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
93
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
94
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
95
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
96
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
97
+ 131072 <= codePoint && codePoint <= 262141)) {
98
+ return true;
99
+ }
100
+ return false;
101
+ };
102
+ module.exports = isFullwidthCodePoint;
103
+ module.exports.default = isFullwidthCodePoint;
104
+ }
105
+ });
106
+
107
+ // ../../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js
108
+ var require_emoji_regex = __commonJS({
109
+ "../../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js"(exports, module) {
110
+ "use strict";
111
+ module.exports = function() {
112
+ return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
113
+ };
114
+ }
115
+ });
116
+
117
+ // ../../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js
118
+ var require_string_width = __commonJS({
119
+ "../../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js"(exports, module) {
120
+ "use strict";
121
+ var stripAnsi = require_strip_ansi();
122
+ var isFullwidthCodePoint = require_is_fullwidth_code_point();
123
+ var emojiRegex = require_emoji_regex();
124
+ var stringWidth = (string) => {
125
+ if (typeof string !== "string" || string.length === 0) {
126
+ return 0;
127
+ }
128
+ string = stripAnsi(string);
129
+ if (string.length === 0) {
130
+ return 0;
131
+ }
132
+ string = string.replace(emojiRegex(), " ");
133
+ let width = 0;
134
+ for (let i = 0; i < string.length; i++) {
135
+ const code = string.codePointAt(i);
136
+ if (code <= 31 || code >= 127 && code <= 159) {
137
+ continue;
138
+ }
139
+ if (code >= 768 && code <= 879) {
140
+ continue;
141
+ }
142
+ if (code > 65535) {
143
+ i++;
144
+ }
145
+ width += isFullwidthCodePoint(code) ? 2 : 1;
146
+ }
147
+ return width;
148
+ };
149
+ module.exports = stringWidth;
150
+ module.exports.default = stringWidth;
151
+ }
152
+ });
153
+
43
154
  // ../../node_modules/.pnpm/cli-table3@0.6.3/node_modules/cli-table3/src/utils.js
44
155
  var require_utils = __commonJS({
45
156
  "../../node_modules/.pnpm/cli-table3@0.6.3/node_modules/cli-table3/src/utils.js"(exports, module) {
@@ -1765,8 +1876,89 @@ function table(rows, opts) {
1765
1876
  return table2.toString();
1766
1877
  }
1767
1878
 
1879
+ // src/util/output/error.ts
1880
+ var import_chalk = __toESM(require_source(), 1);
1881
+
1882
+ // src/util/error.ts
1883
+ var import_bytes = __toESM(require_bytes(), 1);
1884
+ async function responseError(res, fallbackMessage = null, parsedBody = {}) {
1885
+ let message = "";
1886
+ let bodyError;
1887
+ if (res.status >= 400 && res.status < 500) {
1888
+ let body;
1889
+ try {
1890
+ body = await res.json();
1891
+ } catch (_err) {
1892
+ body = parsedBody;
1893
+ }
1894
+ bodyError = body.error || body.err || {};
1895
+ message = bodyError.message;
1896
+ }
1897
+ if (!message) {
1898
+ message = fallbackMessage === null ? "Response Error" : fallbackMessage;
1899
+ }
1900
+ const err = new Error(`${message} (${res.status})`);
1901
+ err.status = res.status;
1902
+ err.serverMessage = message;
1903
+ if (bodyError) {
1904
+ for (const field of Object.keys(bodyError)) {
1905
+ if (field !== "message") {
1906
+ err[field] = bodyError[field];
1907
+ }
1908
+ }
1909
+ }
1910
+ if (res.status === 429 || res.status === 503) {
1911
+ const parsed = parseRetryAfterHeaderAsMillis(
1912
+ res.headers.get("Retry-After")
1913
+ );
1914
+ err.retryAfterMs = parsed ?? (res.status === 429 ? 0 : void 0);
1915
+ }
1916
+ return err;
1917
+ }
1918
+ function toEnumerableError(err) {
1919
+ const enumerable = {};
1920
+ enumerable.name = err.name;
1921
+ for (const key of Object.getOwnPropertyNames(err)) {
1922
+ enumerable[key] = err[key];
1923
+ }
1924
+ return enumerable;
1925
+ }
1926
+ function printError(error2) {
1927
+ if (typeof error2 === "string") {
1928
+ error2 = new Error(error2);
1929
+ }
1930
+ const apiError = error2;
1931
+ const { message, stack, status, code, sizeLimit } = apiError;
1932
+ output_manager_default.debug(`handling error: ${stack}`);
1933
+ if (message === "User force closed the prompt with 0 null") {
1934
+ return;
1935
+ }
1936
+ if (status === 403) {
1937
+ output_manager_default.error(
1938
+ message || `Authentication error. Run ${getCommandName("login")} to log-in again.`
1939
+ );
1940
+ } else if (status === 429) {
1941
+ output_manager_default.error(message);
1942
+ } else if (code === "size_limit_exceeded") {
1943
+ output_manager_default.error(`File size limit exceeded (${(0, import_bytes.default)(sizeLimit)})`);
1944
+ } else if (message) {
1945
+ output_manager_default.prettyError(apiError);
1946
+ } else if (status === 500) {
1947
+ output_manager_default.error("Unexpected server error. Please retry.");
1948
+ } else if (code === "USER_ABORT") {
1949
+ output_manager_default.log("Canceled");
1950
+ } else {
1951
+ output_manager_default.error(`Unexpected error. Please try again later. (${message})`);
1952
+ }
1953
+ }
1954
+
1768
1955
  export {
1956
+ require_strip_ansi,
1957
+ require_string_width,
1769
1958
  require_cli_table3,
1770
1959
  noBorderChars,
1771
- table
1960
+ table,
1961
+ responseError,
1962
+ toEnumerableError,
1963
+ printError
1772
1964
  };
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_strip_ansi
9
- } from "./chunk-KBEX5MYS.js";
9
+ } from "./chunk-VAFU7DXZ.js";
10
10
  import {
11
11
  __toESM
12
12
  } from "./chunk-TZ2YI2VH.js";