vercel 54.17.1 → 54.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/chunks/{add-QQY6QOTO.js → add-ADMRKNTV.js} +4 -4
  2. package/dist/chunks/{chunk-V7JDSYIZ.js → chunk-2YIEJRSL.js} +3 -3
  3. package/dist/chunks/{chunk-DDTKG4J3.js → chunk-3ESVKDUA.js} +1 -1
  4. package/dist/chunks/{chunk-WJPWCLMH.js → chunk-52DDM5F6.js} +1 -1
  5. package/dist/chunks/{chunk-P5AZW6W6.js → chunk-64KT5RVX.js} +2 -2
  6. package/dist/chunks/{chunk-2F6JT2OC.js → chunk-7CTNFMKH.js} +1 -1
  7. package/dist/chunks/{chunk-HJ2TEW5Y.js → chunk-A6I3RGAN.js} +1 -1
  8. package/dist/chunks/{chunk-MS3WAXLU.js → chunk-AZP6TNVD.js} +1 -1
  9. package/dist/chunks/{chunk-A4B4JQVP.js → chunk-CQRLZB3Y.js} +2 -2
  10. package/dist/chunks/{chunk-MLVCDMCS.js → chunk-FR2CJ7AV.js} +4 -4
  11. package/dist/chunks/{chunk-E6FCE2XJ.js → chunk-JYTOXUQJ.js} +1 -1
  12. package/dist/chunks/{chunk-NRIXI6V5.js → chunk-KAICYGS4.js} +1 -1
  13. package/dist/chunks/{chunk-KTX4RQFM.js → chunk-LUORN5H7.js} +65 -28
  14. package/dist/chunks/{chunk-YW7AYO7N.js → chunk-NG53DNDG.js} +1 -1
  15. package/dist/chunks/{chunk-4D42VZRX.js → chunk-PEJCJXGI.js} +1 -1
  16. package/dist/chunks/{chunk-LGR4JRFA.js → chunk-RL7DANWP.js} +4 -4
  17. package/dist/chunks/{chunk-7B44AIGE.js → chunk-U7HYX4V6.js} +2 -2
  18. package/dist/chunks/{chunk-VO7PRFFG.js → chunk-UZZBWCU2.js} +69 -3
  19. package/dist/chunks/{chunk-7AQDR2RX.js → chunk-WR6JALPR.js} +1 -1
  20. package/dist/chunks/{chunk-DWA63R5L.js → chunk-ZKAWVYGP.js} +15 -8
  21. package/dist/chunks/{compile-vercel-config-D2OQCK4B.js → compile-vercel-config-7IAWGVM7.js} +1 -1
  22. package/dist/chunks/{delete-VMW7FORM.js → delete-DHYJ7ZYD.js} +2 -2
  23. package/dist/chunks/{disable-BDFZELDL.js → disable-A4D7SZ6G.js} +2 -2
  24. package/dist/chunks/{discard-WIN3BOXR.js → discard-PRE343AI.js} +2 -2
  25. package/dist/chunks/{edit-IZQX4XAG.js → edit-MWFKADR7.js} +3 -3
  26. package/dist/chunks/{enable-RFODZ2L7.js → enable-6P6TDM6D.js} +2 -2
  27. package/dist/chunks/{export-5CCLXZYT.js → export-WISO5LBX.js} +2 -2
  28. package/dist/chunks/{inspect-GEUUTDBY.js → inspect-EBIQ5XF3.js} +3 -3
  29. package/dist/chunks/{list-JIYDXQDJ.js → list-755IMC6Y.js} +3 -3
  30. package/dist/chunks/{list-H35AGNO2.js → list-OD7KO5BB.js} +2 -2
  31. package/dist/chunks/{ls-WPNFJAS6.js → ls-ZSVMQVZX.js} +4 -4
  32. package/dist/chunks/{publish-K7OPKXYC.js → publish-LMGSRL3X.js} +2 -2
  33. package/dist/chunks/{query-IIUJIRHR.js → query-WZTKABE4.js} +2 -2
  34. package/dist/chunks/{reorder-GQ7BOQA7.js → reorder-QK5QJ6TW.js} +2 -2
  35. package/dist/chunks/{restore-MODYFJSP.js → restore-VF3HDGON.js} +2 -2
  36. package/dist/chunks/{rm-A45OKS6U.js → rm-QP57BPQO.js} +4 -4
  37. package/dist/chunks/{rule-inspect-HJCERQHK.js → rule-inspect-ZZJ7SQJF.js} +4 -4
  38. package/dist/chunks/{rules-UNL3IB4P.js → rules-SUBKFNPR.js} +6 -6
  39. package/dist/chunks/{schema-EUH7PJEX.js → schema-FSQEAUMR.js} +2 -2
  40. package/dist/chunks/{update-MOM4T2RN.js → update-DDCJ2EDT.js} +4 -4
  41. package/dist/commands/build/index.js +9 -9
  42. package/dist/commands/deploy/index.js +10 -10
  43. package/dist/commands/dev/index.js +9 -9
  44. package/dist/commands/env/index.js +4 -4
  45. package/dist/commands/link/index.js +7 -7
  46. package/dist/commands/list/index.js +3 -3
  47. package/dist/commands-bulk.js +1187 -908
  48. package/dist/index.js +8 -8
  49. package/dist/version.mjs +1 -1
  50. package/package.json +14 -14
@@ -9,8 +9,8 @@ import {
9
9
  handleRulesApiError,
10
10
  parseRulesFlagsAndScope,
11
11
  rulesCollectionPath
12
- } from "./chunk-HJ2TEW5Y.js";
13
- import "./chunk-7B44AIGE.js";
12
+ } from "./chunk-A6I3RGAN.js";
13
+ import "./chunk-U7HYX4V6.js";
14
14
  import "./chunk-D7MGZH35.js";
15
15
  import {
16
16
  validateJsonOutput
@@ -21,8 +21,8 @@ import {
21
21
  import {
22
22
  AGENT_REASON
23
23
  } from "./chunk-QH7WYDEP.js";
24
- import "./chunk-2F6JT2OC.js";
25
- import "./chunk-KTX4RQFM.js";
24
+ import "./chunk-7CTNFMKH.js";
25
+ import "./chunk-LUORN5H7.js";
26
26
  import "./chunk-Q77ALSXR.js";
27
27
  import {
28
28
  buildCommandWithGlobalFlags,
@@ -10,10 +10,10 @@ import {
10
10
  } from "./chunk-QH7WYDEP.js";
11
11
  import {
12
12
  getLocalPathConfig
13
- } from "./chunk-MS3WAXLU.js";
13
+ } from "./chunk-AZP6TNVD.js";
14
14
  import {
15
15
  getScope
16
- } from "./chunk-2F6JT2OC.js";
16
+ } from "./chunk-7CTNFMKH.js";
17
17
  import {
18
18
  VERCEL_DIR_PROJECT,
19
19
  VERCEL_DIR_README,
@@ -48,7 +48,7 @@ import {
48
48
  selectAndParseRemoteUrl,
49
49
  selectOrg,
50
50
  writeServicesConfig
51
- } from "./chunk-KTX4RQFM.js";
51
+ } from "./chunk-LUORN5H7.js";
52
52
  import {
53
53
  buildCommandWithGlobalFlags,
54
54
  outputAgentError,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  STANDARD_ENVIRONMENTS
9
- } from "./chunk-KTX4RQFM.js";
9
+ } from "./chunk-LUORN5H7.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-QH7WYDEP.js";
11
11
  import {
12
12
  getLinkedProject
13
- } from "./chunk-KTX4RQFM.js";
13
+ } from "./chunk-LUORN5H7.js";
14
14
  import {
15
15
  buildCommandWithYes,
16
16
  outputAgentError
@@ -7,12 +7,12 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  printProjectNotFoundError,
9
9
  setupAndLink
10
- } from "./chunk-V7JDSYIZ.js";
10
+ } from "./chunk-2YIEJRSL.js";
11
11
  import {
12
12
  getLinkedProject,
13
13
  param,
14
14
  resolveProjectCwd
15
- } from "./chunk-KTX4RQFM.js";
15
+ } from "./chunk-LUORN5H7.js";
16
16
  import {
17
17
  buildCommandWithYes,
18
18
  outputActionRequired
@@ -11,7 +11,7 @@ import {
11
11
  getTeamById,
12
12
  getUser,
13
13
  getVercelDirectory
14
- } from "./chunk-KTX4RQFM.js";
14
+ } from "./chunk-LUORN5H7.js";
15
15
  import {
16
16
  TeamDeleted
17
17
  } from "./chunk-LN6B7ZI3.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  resolveAlertsScope
9
- } from "./chunk-7B44AIGE.js";
9
+ } from "./chunk-U7HYX4V6.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR,
9
9
  isVercelTomlEnabled
10
- } from "./chunk-KTX4RQFM.js";
10
+ } from "./chunk-LUORN5H7.js";
11
11
  import {
12
12
  parseArguments
13
13
  } from "./chunk-MYWLF3BZ.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-V5P25P7F.js";
10
10
  import {
11
11
  getLocalPathConfig
12
- } from "./chunk-MS3WAXLU.js";
12
+ } from "./chunk-AZP6TNVD.js";
13
13
  import {
14
14
  DEFAULT_VERCEL_CONFIG_FILENAME,
15
15
  VERCEL_CONFIG_EXTENSIONS,
@@ -36,7 +36,7 @@ import {
36
36
  useKeypress,
37
37
  usePrefix,
38
38
  useState
39
- } from "./chunk-KTX4RQFM.js";
39
+ } from "./chunk-LUORN5H7.js";
40
40
  import {
41
41
  require_load_json_file
42
42
  } from "./chunk-Q77ALSXR.js";
@@ -7,17 +7,17 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-E6FCE2XJ.js";
10
+ } from "./chunk-JYTOXUQJ.js";
11
11
  import {
12
12
  getGlobalPathConfig,
13
13
  progress,
14
14
  writeToConfigFile
15
- } from "./chunk-A4B4JQVP.js";
15
+ } from "./chunk-CQRLZB3Y.js";
16
16
  import {
17
17
  apiCommand,
18
18
  listSubcommand2 as listSubcommand,
19
19
  loginCommand
20
- } from "./chunk-VO7PRFFG.js";
20
+ } from "./chunk-UZZBWCU2.js";
21
21
  import {
22
22
  require_semver
23
23
  } from "./chunk-IB5L4LKZ.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-3NR6OYDV.js";
27
27
  import {
28
28
  login
29
- } from "./chunk-KTX4RQFM.js";
29
+ } from "./chunk-LUORN5H7.js";
30
30
  import {
31
31
  TelemetryClient,
32
32
  isNativeBinaryInstall
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_lib
9
- } from "./chunk-KTX4RQFM.js";
9
+ } from "./chunk-LUORN5H7.js";
10
10
  import {
11
11
  isNativeBinaryInstall
12
12
  } from "./chunk-Q77ALSXR.js";
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-KTX4RQFM.js";
11
+ } from "./chunk-LUORN5H7.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-Z5SBJH6L.js";
@@ -21125,7 +21125,7 @@ var require_superstatic = __commonJS({
21125
21125
  if (typeof r.destination === "string") {
21126
21126
  route = { src, dest: interpolate(r.destination), check: true };
21127
21127
  } else {
21128
- const destination = { ...r.destination };
21128
+ const destination = { ...r.destination, type: "service" };
21129
21129
  if (typeof destination.path === "string") {
21130
21130
  destination.path = interpolate(destination.path);
21131
21131
  }
@@ -21788,13 +21788,13 @@ var require_schemas = __commonJS({
21788
21788
  pattern: "^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$"
21789
21789
  };
21790
21790
  var serviceDestinationSchema = {
21791
- description: "A service-targeted destination that delegates routing into a named service from `services`.",
21791
+ description: "A service-targeted destination that delegates routing into a named service from `services`. Identified by the presence of `service`.",
21792
21792
  type: "object",
21793
21793
  additionalProperties: false,
21794
- required: ["type", "service"],
21794
+ required: ["service"],
21795
21795
  properties: {
21796
21796
  type: {
21797
- description: "Discriminator. Must be `service`.",
21797
+ description: "Optional explicit format marker. The destination shape is identified by the `service` property, so `type` is no longer required. When present it must be `service`.",
21798
21798
  type: "string",
21799
21799
  enum: ["service"]
21800
21800
  },
@@ -22618,6 +22618,8 @@ var require_dist5 = __commonJS({
22618
22618
  if (typeof route.destination === "string") {
22619
22619
  route.dest = route.destination;
22620
22620
  delete route.destination;
22621
+ } else if (typeof route.destination.service === "string") {
22622
+ route.destination = { ...route.destination, type: "service" };
22621
22623
  }
22622
22624
  }
22623
22625
  if (route.statusCode !== void 0) {
@@ -37310,9 +37312,17 @@ var require_hashes = __commonJS({
37310
37312
  var import_crypto = __require("crypto");
37311
37313
  var import_fs_extra9 = __toESM2(require_lib6());
37312
37314
  var import_async_sema = require_lib7();
37315
+ var MAX_BUFFER_FILE_SIZE = 2 ** 31 - 1;
37313
37316
  function hash(buf) {
37314
37317
  return (0, import_crypto.createHash)("sha1").update(Uint8Array.from(buf)).digest("hex");
37315
37318
  }
37319
+ async function hashFile(path) {
37320
+ const digest = (0, import_crypto.createHash)("sha1");
37321
+ for await (const chunk of import_fs_extra9.default.createReadStream(path)) {
37322
+ digest.update(Uint8Array.from(chunk));
37323
+ }
37324
+ return digest.digest("hex");
37325
+ }
37316
37326
  var mapToObject = (map) => {
37317
37327
  const obj = {};
37318
37328
  for (const [key, value] of map) {
@@ -37330,16 +37340,23 @@ var require_hashes = __commonJS({
37330
37340
  const stat2 = await import_fs_extra9.default.lstat(name);
37331
37341
  const mode = stat2.mode;
37332
37342
  let data;
37343
+ let size;
37333
37344
  const isDirectory2 = stat2.isDirectory();
37334
37345
  let h;
37335
37346
  if (!isDirectory2) {
37336
37347
  if (stat2.isSymbolicLink()) {
37337
37348
  const link = await import_fs_extra9.default.readlink(name);
37338
37349
  data = Buffer.from(link, "utf8");
37350
+ size = data.length;
37351
+ h = hash(data);
37352
+ } else if (stat2.size > MAX_BUFFER_FILE_SIZE) {
37353
+ size = stat2.size;
37354
+ h = await hashFile(name);
37339
37355
  } else {
37340
37356
  data = await import_fs_extra9.default.readFile(name);
37357
+ size = data.length;
37358
+ h = hash(data);
37341
37359
  }
37342
- h = hash(data);
37343
37360
  }
37344
37361
  const entry = map.get(h);
37345
37362
  if (entry) {
@@ -37347,7 +37364,7 @@ var require_hashes = __commonJS({
37347
37364
  names.add(name);
37348
37365
  entry.names = [...names];
37349
37366
  } else {
37350
- map.set(h, { names: [name], data, mode });
37367
+ map.set(h, { names: [name], data, mode, size });
37351
37368
  }
37352
37369
  semaphore.release();
37353
37370
  })
@@ -37780,7 +37797,7 @@ var require_package = __commonJS({
37780
37797
  "../client/package.json"(exports, module) {
37781
37798
  module.exports = {
37782
37799
  name: "@vercel/client",
37783
- version: "17.6.1",
37800
+ version: "17.6.2",
37784
37801
  main: "dist/index.js",
37785
37802
  typings: "dist/index.d.ts",
37786
37803
  homepage: "https://vercel.com",
@@ -45998,7 +46015,7 @@ ${clearRelative(ignoreFile)}`);
45998
46015
  }
45999
46016
  preparedFiles.push({
46000
46017
  file: isWin ? fileName.replace(/\\/g, "/") : fileName,
46001
- size: file.data?.byteLength || file.data?.length,
46018
+ size: file.data?.byteLength ?? file.size,
46002
46019
  mode: file.mode,
46003
46020
  sha: sha || void 0
46004
46021
  });
@@ -46787,6 +46804,7 @@ var require_upload = __commonJS({
46787
46804
  module.exports = __toCommonJS2(upload_exports);
46788
46805
  var import_http = __toESM2(__require("http"));
46789
46806
  var import_https = __toESM2(__require("https"));
46807
+ var import_fs4 = __require("fs");
46790
46808
  var import_stream = __require("stream");
46791
46809
  var import_node_events = __require("events");
46792
46810
  var import_async_retry = __toESM2(require_lib8());
@@ -46889,27 +46907,46 @@ var require_upload = __commonJS({
46889
46907
  semaphore.release();
46890
46908
  return bail(new Error("Upload aborted"));
46891
46909
  }
46892
- const { data } = file;
46893
- if (typeof data === "undefined") {
46894
- return;
46895
- }
46910
+ const { data, size, names } = file;
46896
46911
  uploadProgress.bytesUploaded = 0;
46897
- const body = new import_stream.Readable();
46898
- const originalRead = body.read.bind(body);
46899
- body.read = function(...args) {
46900
- const chunk = originalRead(...args);
46901
- if (chunk) {
46902
- uploadProgress.bytesUploaded += chunk.length;
46903
- uploadProgress.emit("progress");
46912
+ let body;
46913
+ let contentLength;
46914
+ if (typeof data !== "undefined") {
46915
+ contentLength = data.length;
46916
+ const buffered = new import_stream.Readable();
46917
+ const originalRead = buffered.read.bind(buffered);
46918
+ buffered.read = function(...args) {
46919
+ const chunk = originalRead(...args);
46920
+ if (chunk) {
46921
+ uploadProgress.bytesUploaded += chunk.length;
46922
+ uploadProgress.emit("progress");
46923
+ }
46924
+ return chunk;
46925
+ };
46926
+ const chunkSize = 16384;
46927
+ for (let i = 0; i < data.length; i += chunkSize) {
46928
+ const chunk = data.slice(i, i + chunkSize);
46929
+ buffered.push(chunk);
46904
46930
  }
46905
- return chunk;
46906
- };
46907
- const chunkSize = 16384;
46908
- for (let i = 0; i < data.length; i += chunkSize) {
46909
- const chunk = data.slice(i, i + chunkSize);
46910
- body.push(chunk);
46931
+ buffered.push(null);
46932
+ body = buffered;
46933
+ } else if (typeof size === "number") {
46934
+ contentLength = size;
46935
+ const fileStream = (0, import_fs4.createReadStream)(names[0]);
46936
+ const counter = new import_stream.Transform({
46937
+ transform(chunk, _encoding, callback) {
46938
+ uploadProgress.bytesUploaded += chunk.length;
46939
+ uploadProgress.emit("progress");
46940
+ callback(null, chunk);
46941
+ }
46942
+ });
46943
+ fileStream.on("error", (err2) => counter.destroy(err2));
46944
+ counter.on("close", () => fileStream.destroy());
46945
+ body = fileStream.pipe(counter);
46946
+ } else {
46947
+ semaphore.release();
46948
+ return;
46911
46949
  }
46912
- body.push(null);
46913
46950
  let err;
46914
46951
  let result;
46915
46952
  const abortController = new AbortController();
@@ -46923,9 +46960,9 @@ var require_upload = __commonJS({
46923
46960
  method: "POST",
46924
46961
  headers: {
46925
46962
  "Content-Type": "application/octet-stream",
46926
- "Content-Length": data.length,
46963
+ "Content-Length": contentLength,
46927
46964
  "x-now-digest": sha,
46928
- "x-now-size": data.length
46965
+ "x-now-size": contentLength
46929
46966
  },
46930
46967
  body,
46931
46968
  teamId: options.teamId,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getEnvTargetPlaceholder
9
- } from "./chunk-KTX4RQFM.js";
9
+ } from "./chunk-LUORN5H7.js";
10
10
  import {
11
11
  projectOption,
12
12
  yesOption
@@ -8,7 +8,7 @@ import {
8
8
  formatCondition,
9
9
  formatTransform,
10
10
  isTargetTransform
11
- } from "./chunk-WJPWCLMH.js";
11
+ } from "./chunk-52DDM5F6.js";
12
12
  import {
13
13
  output_manager_default
14
14
  } from "./chunk-Z5SBJH6L.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  writeProjectSettings
9
- } from "./chunk-NRIXI6V5.js";
9
+ } from "./chunk-KAICYGS4.js";
10
10
  import {
11
11
  autoInstallVercelPlugin
12
12
  } from "./chunk-BRQ6PX3U.js";
@@ -15,10 +15,10 @@ import {
15
15
  } from "./chunk-64IF634X.js";
16
16
  import {
17
17
  ensureLink
18
- } from "./chunk-P5AZW6W6.js";
18
+ } from "./chunk-64KT5RVX.js";
19
19
  import {
20
20
  pullCommand
21
- } from "./chunk-YW7AYO7N.js";
21
+ } from "./chunk-NG53DNDG.js";
22
22
  import {
23
23
  help
24
24
  } from "./chunk-3NR6OYDV.js";
@@ -28,7 +28,7 @@ import {
28
28
  envPullCommandLogic,
29
29
  humanizePath,
30
30
  parseTarget
31
- } from "./chunk-KTX4RQFM.js";
31
+ } from "./chunk-LUORN5H7.js";
32
32
  import {
33
33
  TelemetryClient
34
34
  } from "./chunk-Q77ALSXR.js";
@@ -12,11 +12,11 @@ import {
12
12
  } from "./chunk-QH7WYDEP.js";
13
13
  import {
14
14
  getScope
15
- } from "./chunk-2F6JT2OC.js";
15
+ } from "./chunk-7CTNFMKH.js";
16
16
  import {
17
17
  getLinkedProject,
18
18
  getProjectByNameOrId
19
- } from "./chunk-KTX4RQFM.js";
19
+ } from "./chunk-LUORN5H7.js";
20
20
  import {
21
21
  buildCommandWithGlobalFlags,
22
22
  outputAgentError
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  buildCommand,
27
27
  pullCommand
28
- } from "./chunk-YW7AYO7N.js";
28
+ } from "./chunk-NG53DNDG.js";
29
29
  import {
30
30
  envCommand
31
- } from "./chunk-KTX4RQFM.js";
31
+ } from "./chunk-LUORN5H7.js";
32
32
  import {
33
33
  confirmOption,
34
34
  deploymentOption,
@@ -2939,6 +2939,70 @@ var tokensSubcommand = {
2939
2939
  ],
2940
2940
  examples: []
2941
2941
  };
2942
+ var backupsSubcommand = {
2943
+ name: "backups",
2944
+ aliases: [],
2945
+ description: "List, inspect, or restore Edge Config backups",
2946
+ arguments: [
2947
+ {
2948
+ name: "id-or-slug",
2949
+ required: true
2950
+ }
2951
+ ],
2952
+ options: [
2953
+ formatOption,
2954
+ {
2955
+ ...yesOption,
2956
+ description: "Skip the confirmation prompt when restoring"
2957
+ },
2958
+ {
2959
+ name: "backup-version",
2960
+ shorthand: null,
2961
+ type: String,
2962
+ argument: "VERSION_ID",
2963
+ deprecated: false,
2964
+ description: "Fetch a single backup by version id"
2965
+ },
2966
+ {
2967
+ name: "restore",
2968
+ shorthand: null,
2969
+ type: String,
2970
+ argument: "VERSION_ID",
2971
+ deprecated: false,
2972
+ description: "Restore items from the backup version id. Requires confirmation because it updates live Edge Config items"
2973
+ },
2974
+ {
2975
+ name: "limit",
2976
+ shorthand: null,
2977
+ type: Number,
2978
+ argument: "NUMBER",
2979
+ deprecated: false,
2980
+ description: "Maximum number of backups to list (0-50)"
2981
+ },
2982
+ {
2983
+ name: "next",
2984
+ shorthand: null,
2985
+ type: String,
2986
+ argument: "CURSOR",
2987
+ deprecated: false,
2988
+ description: "Pagination cursor from a previous backup list response"
2989
+ }
2990
+ ],
2991
+ examples: [
2992
+ {
2993
+ name: "List backups for an Edge Config",
2994
+ value: `${packageName} edge-config backups my-store`
2995
+ },
2996
+ {
2997
+ name: "Inspect a backup as JSON",
2998
+ value: `${packageName} edge-config backups my-store --backup-version <version-id> --format json`
2999
+ },
3000
+ {
3001
+ name: "Restore a backup",
3002
+ value: `${packageName} edge-config backups my-store --restore <version-id> --yes`
3003
+ }
3004
+ ]
3005
+ };
2942
3006
  var edgeConfigCommand = {
2943
3007
  name: "edge-config",
2944
3008
  aliases: [],
@@ -2951,7 +3015,8 @@ var edgeConfigCommand = {
2951
3015
  updateSubcommand2,
2952
3016
  removeSubcommand7,
2953
3017
  itemsSubcommand,
2954
- tokensSubcommand
3018
+ tokensSubcommand,
3019
+ backupsSubcommand
2955
3020
  ],
2956
3021
  options: [],
2957
3022
  examples: [
@@ -9491,6 +9556,7 @@ export {
9491
9556
  removeSubcommand7,
9492
9557
  itemsSubcommand,
9493
9558
  tokensSubcommand,
9559
+ backupsSubcommand,
9494
9560
  edgeConfigCommand,
9495
9561
  overviewSubcommand,
9496
9562
  diffSubcommand,
@@ -18,7 +18,7 @@ import {
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-KTX4RQFM.js";
21
+ } from "./chunk-LUORN5H7.js";
22
22
  import {
23
23
  CantParseJSONFile,
24
24
  cmd,
@@ -10,7 +10,7 @@ import {
10
10
  progress,
11
11
  require_dist as require_dist2,
12
12
  sleep
13
- } from "./chunk-A4B4JQVP.js";
13
+ } from "./chunk-CQRLZB3Y.js";
14
14
  import {
15
15
  suggestNextCommands
16
16
  } from "./chunk-LKBI43XK.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-TCF6MGBY.js";
21
21
  import {
22
22
  CommandTimeout
23
- } from "./chunk-VO7PRFFG.js";
23
+ } from "./chunk-UZZBWCU2.js";
24
24
  import {
25
25
  showPluginTipIfNeeded
26
26
  } from "./chunk-BRQ6PX3U.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-64IF634X.js";
30
30
  import {
31
31
  getScope
32
- } from "./chunk-2F6JT2OC.js";
32
+ } from "./chunk-7CTNFMKH.js";
33
33
  import {
34
34
  getProjectByNameOrId,
35
35
  param,
@@ -37,7 +37,7 @@ import {
37
37
  require_dist as require_dist3,
38
38
  require_pluralize,
39
39
  ua_default
40
- } from "./chunk-KTX4RQFM.js";
40
+ } from "./chunk-LUORN5H7.js";
41
41
  import {
42
42
  require_lib
43
43
  } from "./chunk-N2T234LO.js";
@@ -2018,7 +2018,10 @@ async function processDeployment({
2018
2018
  if (event.type === "file-count") {
2019
2019
  const { total, missing, uploads } = event.payload;
2020
2020
  output_manager_default.debug(`Total files ${total.size}, ${missing.length} changed`);
2021
- const missingSize = missing.map((sha) => total.get(sha).data.length).reduce((a, b) => a + b, 0);
2021
+ const missingSize = missing.map((sha) => {
2022
+ const file = total.get(sha);
2023
+ return file?.data?.length ?? file?.size ?? 0;
2024
+ }).reduce((a, b) => a + b, 0);
2022
2025
  const totalSizeHuman = import_bytes.default.format(missingSize, { decimalPlaces: 1 });
2023
2026
  let nextStep = 0;
2024
2027
  const stepSize = now._client.stderr.isTTY ? 0 : 0.25;
@@ -2050,9 +2053,10 @@ async function processDeployment({
2050
2053
  updateProgress();
2051
2054
  }
2052
2055
  if (event.type === "file-uploaded") {
2056
+ const { file } = event.payload;
2053
2057
  output_manager_default.debug(
2054
- `Uploaded: ${event.payload.file.names.join(" ")} (${(0, import_bytes.default)(
2055
- event.payload.file.data.length
2058
+ `Uploaded: ${file.names.join(" ")} (${(0, import_bytes.default)(
2059
+ file.data?.length ?? file.size ?? 0
2056
2060
  )})`
2057
2061
  );
2058
2062
  }
@@ -2204,7 +2208,10 @@ function handleErrorSolvableWithArchive(error) {
2204
2208
  if ((0, import_error_utils.isErrorLike)(error)) {
2205
2209
  const isUploadRateLimit = "errorName" in error && typeof error.errorName === "string" && error.errorName.startsWith("api-upload-");
2206
2210
  const isTooManyFilesLimit = "code" in error && error.code === "too_many_files";
2207
- if (isUploadRateLimit || isTooManyFilesLimit) {
2211
+ const isEntityTooLarge = /entity too large|payload too large/i.test(
2212
+ error.message
2213
+ );
2214
+ if (isUploadRateLimit || isTooManyFilesLimit || isEntityTooLarge) {
2208
2215
  return new UploadErrorMissingArchive(
2209
2216
  `${error.message}
2210
2217
  ${archiveSuggestionText}`
@@ -11,7 +11,7 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-KTX4RQFM.js";
14
+ } from "./chunk-LUORN5H7.js";
15
15
  import "./chunk-Q77ALSXR.js";
16
16
  import "./chunk-NHGCQRK5.js";
17
17
  import "./chunk-N2T234LO.js";
@@ -15,7 +15,7 @@ import {
15
15
  parseSubcommandArgs,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-WJPWCLMH.js";
18
+ } from "./chunk-52DDM5F6.js";
19
19
  import {
20
20
  deleteSubcommand
21
21
  } from "./chunk-IB56QKCM.js";
@@ -27,7 +27,7 @@ import {
27
27
  AGENT_REASON,
28
28
  AGENT_STATUS
29
29
  } from "./chunk-QH7WYDEP.js";
30
- import "./chunk-KTX4RQFM.js";
30
+ import "./chunk-LUORN5H7.js";
31
31
  import "./chunk-Q77ALSXR.js";
32
32
  import {
33
33
  outputAgentError
@@ -17,7 +17,7 @@ import {
17
17
  parseSubcommandArgs,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-WJPWCLMH.js";
20
+ } from "./chunk-52DDM5F6.js";
21
21
  import {
22
22
  disableSubcommand
23
23
  } from "./chunk-IB56QKCM.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-64IF634X.js";
27
27
  import "./chunk-VXYGCOKL.js";
28
28
  import "./chunk-QH7WYDEP.js";
29
- import "./chunk-KTX4RQFM.js";
29
+ import "./chunk-LUORN5H7.js";
30
30
  import "./chunk-Q77ALSXR.js";
31
31
  import {
32
32
  outputAgentError