vercel 50.35.0 → 50.37.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 (43) hide show
  1. package/dist/chunks/{chunk-MRILE22L.js → chunk-2T6KPRKM.js} +3 -3
  2. package/dist/chunks/{chunk-H5CHJPPZ.js → chunk-2WVX3V24.js} +1 -1
  3. package/dist/chunks/{chunk-LCHBLUU5.js → chunk-7I4RCTDA.js} +3 -3
  4. package/dist/chunks/{chunk-NQELOCER.js → chunk-AK2A272Y.js} +1 -1
  5. package/dist/chunks/{chunk-VKEKG35M.js → chunk-C5ACDCLJ.js} +2 -2
  6. package/dist/chunks/{chunk-FB7VLWYT.js → chunk-CWBKLBR2.js} +37 -2
  7. package/dist/chunks/{chunk-TLDVMWUJ.js → chunk-E7RW367E.js} +1 -1
  8. package/dist/chunks/{chunk-7YHZDJ4G.js → chunk-ELUNQCFN.js} +15 -2
  9. package/dist/chunks/{chunk-JS6JXSM3.js → chunk-HZ6LG6OH.js} +1 -1
  10. package/dist/chunks/{chunk-KN7ZKW46.js → chunk-JH6LZK7A.js} +2 -2
  11. package/dist/chunks/{chunk-CFMQN4KW.js → chunk-L2ZZW3WX.js} +1 -1
  12. package/dist/chunks/{chunk-MPC4SSYA.js → chunk-MLBLTXG6.js} +7 -4
  13. package/dist/chunks/{chunk-OTUROTQ2.js → chunk-NBIJPOHN.js} +1 -1
  14. package/dist/chunks/{chunk-QQ3CX3WN.js → chunk-P3G2KTJ2.js} +14 -5
  15. package/dist/chunks/{chunk-TX2H4WB5.js → chunk-PJHY33GP.js} +1 -1
  16. package/dist/chunks/{chunk-YPQHRLKW.js → chunk-PVBLFHPA.js} +4 -4
  17. package/dist/chunks/{chunk-XNWJLL5I.js → chunk-SW7U2OXX.js} +28 -11
  18. package/dist/chunks/{chunk-E2FTX3MJ.js → chunk-UGI6LMSC.js} +1 -1
  19. package/dist/chunks/{compile-vercel-config-4P6ITRAJ.js → compile-vercel-config-4FAUCHDT.js} +1 -1
  20. package/dist/chunks/{delete-MHRFOKQN.js → delete-OPLTWYAU.js} +2 -2
  21. package/dist/chunks/{disable-6BCLBCQ2.js → disable-GQ4F6F4L.js} +2 -2
  22. package/dist/chunks/{discard-M4LLIIB2.js → discard-2JHTJHSD.js} +2 -2
  23. package/dist/chunks/{edit-53JQSSIV.js → edit-HZYQQRFJ.js} +3 -3
  24. package/dist/chunks/{enable-BKGMRJ6N.js → enable-DKVG6AFJ.js} +2 -2
  25. package/dist/chunks/{export-T6SX6BHR.js → export-BRTWVMHU.js} +2 -2
  26. package/dist/chunks/{list-5KEEAHA2.js → list-EGK22QMH.js} +1 -1
  27. package/dist/chunks/{list-KY5N5GFY.js → list-LYZGQGG3.js} +1 -1
  28. package/dist/chunks/{publish-YBLCN75N.js → publish-5EAOWRVO.js} +2 -2
  29. package/dist/chunks/{query-IQTIXHUP.js → query-6D2W2QM6.js} +1 -1
  30. package/dist/chunks/{reorder-YRQTCSJY.js → reorder-IMQLQXLM.js} +2 -2
  31. package/dist/chunks/{restore-UDUD6TWT.js → restore-W4I65HFL.js} +2 -2
  32. package/dist/commands/build/index.js +133 -27
  33. package/dist/commands/deploy/index.js +9 -9
  34. package/dist/commands/dev/builder-worker.cjs +10 -2
  35. package/dist/commands/dev/index.js +68 -45
  36. package/dist/commands/env/index.js +5 -5
  37. package/dist/commands/link/index.js +6 -6
  38. package/dist/commands/list/index.js +2 -2
  39. package/dist/commands-bulk.js +920 -451
  40. package/dist/help.js +1 -1
  41. package/dist/index.js +9 -9
  42. package/dist/version.mjs +1 -1
  43. package/package.json +22 -22
@@ -9,7 +9,7 @@ import {
9
9
  printIndications,
10
10
  require_dist as require_dist2,
11
11
  sleep
12
- } from "./chunk-VKEKG35M.js";
12
+ } from "./chunk-C5ACDCLJ.js";
13
13
  import {
14
14
  suggestNextCommands
15
15
  } from "./chunk-XR53KVJD.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-QIZEWDZG.js";
23
23
  import {
24
24
  CommandTimeout
25
- } from "./chunk-FB7VLWYT.js";
25
+ } from "./chunk-CWBKLBR2.js";
26
26
  import {
27
27
  ua_default
28
28
  } from "./chunk-5ZVJYXLU.js";
@@ -31,7 +31,7 @@ import {
31
31
  param,
32
32
  require_dist as require_dist3,
33
33
  require_lib3 as require_lib
34
- } from "./chunk-XNWJLL5I.js";
34
+ } from "./chunk-SW7U2OXX.js";
35
35
  import {
36
36
  stamp_default
37
37
  } from "./chunk-SOTR4CXR.js";
@@ -12,7 +12,7 @@ import {
12
12
  buildCommandWithYes,
13
13
  getLinkedProject,
14
14
  outputAgentError
15
- } from "./chunk-XNWJLL5I.js";
15
+ } from "./chunk-SW7U2OXX.js";
16
16
  import {
17
17
  getCommandName,
18
18
  getCommandNamePlain,
@@ -6,13 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommand
9
- } from "./chunk-E2FTX3MJ.js";
9
+ } from "./chunk-UGI6LMSC.js";
10
10
  import {
11
11
  login
12
- } from "./chunk-VKEKG35M.js";
12
+ } from "./chunk-C5ACDCLJ.js";
13
13
  import {
14
14
  loginCommand
15
- } from "./chunk-FB7VLWYT.js";
15
+ } from "./chunk-CWBKLBR2.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-O5OD4JWH.js";
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-XNWJLL5I.js";
11
+ } from "./chunk-SW7U2OXX.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-FDJURQMQ.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-5ZVJYXLU.js";
13
13
  import {
14
14
  getLocalPathConfig
15
- } from "./chunk-TX2H4WB5.js";
15
+ } from "./chunk-PJHY33GP.js";
16
16
  import {
17
17
  DEFAULT_VERCEL_CONFIG_FILENAME,
18
18
  VERCEL_CONFIG_EXTENSIONS,
@@ -37,7 +37,7 @@ import {
37
37
  useKeypress,
38
38
  usePrefix,
39
39
  useState
40
- } from "./chunk-XNWJLL5I.js";
40
+ } from "./chunk-SW7U2OXX.js";
41
41
  import {
42
42
  getUser
43
43
  } from "./chunk-AY4LBM3J.js";
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  buildCommand,
27
27
  pullCommand
28
- } from "./chunk-OTUROTQ2.js";
28
+ } from "./chunk-NBIJPOHN.js";
29
29
  import {
30
30
  envCommand
31
- } from "./chunk-XNWJLL5I.js";
31
+ } from "./chunk-SW7U2OXX.js";
32
32
  import {
33
33
  confirmOption,
34
34
  forceOption,
@@ -3441,6 +3441,39 @@ var pullSubcommand = {
3441
3441
  }
3442
3442
  ]
3443
3443
  };
3444
+ var inspectGroupSubcommand = {
3445
+ name: "inspect-group",
3446
+ aliases: [],
3447
+ description: "Inspect a microfrontends group and return project metadata used for setup automation",
3448
+ arguments: [],
3449
+ options: [
3450
+ {
3451
+ name: "group",
3452
+ shorthand: null,
3453
+ type: String,
3454
+ deprecated: false,
3455
+ description: "Name or ID of the microfrontends group to inspect"
3456
+ },
3457
+ {
3458
+ name: "config-file-name",
3459
+ shorthand: null,
3460
+ type: String,
3461
+ deprecated: false,
3462
+ description: "Custom microfrontends config file path/name relative to the default app root (must end with .json or .jsonc)"
3463
+ },
3464
+ formatOption
3465
+ ],
3466
+ examples: [
3467
+ {
3468
+ name: "Inspect a microfrontends group interactively",
3469
+ value: `${packageName} microfrontends inspect-group`
3470
+ },
3471
+ {
3472
+ name: "Inspect a microfrontends group as JSON",
3473
+ value: `${packageName} mf inspect-group --group="My Group" --format=json`
3474
+ }
3475
+ ]
3476
+ };
3444
3477
  var microfrontendsCommand = {
3445
3478
  name: "microfrontends",
3446
3479
  aliases: ["mf"],
@@ -3451,6 +3484,7 @@ var microfrontendsCommand = {
3451
3484
  addToGroupSubcommand,
3452
3485
  removeFromGroupSubcommand,
3453
3486
  deleteGroupSubcommand,
3487
+ inspectGroupSubcommand,
3454
3488
  pullSubcommand
3455
3489
  ],
3456
3490
  options: [],
@@ -5294,6 +5328,7 @@ export {
5294
5328
  removeFromGroupSubcommand,
5295
5329
  deleteGroupSubcommand,
5296
5330
  pullSubcommand,
5331
+ inspectGroupSubcommand,
5297
5332
  microfrontendsCommand,
5298
5333
  openCommand,
5299
5334
  addSubcommand7,
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_end_of_stream,
9
9
  require_once
10
- } from "./chunk-XNWJLL5I.js";
10
+ } from "./chunk-SW7U2OXX.js";
11
11
  import {
12
12
  require_signal_exit
13
13
  } from "./chunk-FDJURQMQ.js";
@@ -52,24 +52,37 @@ var help = () => `
52
52
 
53
53
  ${import_chalk.default.dim("Advanced")}
54
54
 
55
+ activity List user activity events
56
+ agent [init] Generate AGENTS.md with Vercel best practices
57
+ alerts List alerts for a project or team
55
58
  alias [cmd] Manages your domain aliases
56
59
  api [endpoint] Make authenticated HTTP requests to the Vercel API [beta]
57
60
  bisect Use binary search to find the deployment that introduced a bug
61
+ blob [cmd] Manages your Blob stores and files
62
+ buy [cmd] Purchase Vercel products for your team
58
63
  certs [cmd] Manages your SSL certificates
64
+ contract Show contract information for billing periods
65
+ cron | crons [cmd] Manage cron jobs for a project [beta]
59
66
  curl [path] cURL requests to your linked project's deployment [beta]
60
67
  dns [name] Manages your DNS records
61
68
  domains [name] Manages your domain names
69
+ httpstat path Visualize HTTP timing statistics for deployments
62
70
  logs [url] Displays the logs for a deployment${metricsLine}
71
+ mcp Set up MCP agents and configuration
63
72
  microfrontends Manages your microfrontends
64
73
  projects Manages your Projects
65
74
  redirects [cmd] Manages redirects for your current Project
66
75
  rm | remove [id] Removes a deployment
67
76
  routes [cmd] Manages routing rules for your current Project
77
+ rr | rolling-release [cmd] Manage rolling releases for gradual traffic shifting
78
+ skills [query] Discover agent skills relevant to your project
79
+ target [cmd] Manage custom environments for your Project
68
80
  teams Manages your teams
81
+ telemetry [cmd] Enable or disable telemetry collection
69
82
  upgrade Upgrade the Vercel CLI to the latest version
70
- whoami Shows the username of the currently logged in user
71
- blob [cmd] Manages your Blob stores and files
83
+ usage Show billing usage for the current billing period
72
84
  webhooks [cmd] Manages webhooks [beta]
85
+ whoami Shows the username of the currently logged in user
73
86
 
74
87
  ${import_chalk.default.dim("Global Options:")}
75
88
 
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  formatCondition,
9
9
  formatTransform
10
- } from "./chunk-H5CHJPPZ.js";
10
+ } from "./chunk-2WVX3V24.js";
11
11
  import {
12
12
  output_manager_default
13
13
  } from "./chunk-FDJURQMQ.js";
@@ -6,14 +6,14 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  setupAndLink
9
- } from "./chunk-MPC4SSYA.js";
9
+ } from "./chunk-MLBLTXG6.js";
10
10
  import {
11
11
  buildCommandWithYes,
12
12
  getLinkedProject,
13
13
  outputActionRequired,
14
14
  param,
15
15
  resolveProjectCwd
16
- } from "./chunk-XNWJLL5I.js";
16
+ } from "./chunk-SW7U2OXX.js";
17
17
  import {
18
18
  getCommandName,
19
19
  getCommandNamePlain
@@ -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-XNWJLL5I.js";
9
+ } from "./chunk-SW7U2OXX.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getLocalPathConfig
9
- } from "./chunk-TX2H4WB5.js";
9
+ } from "./chunk-PJHY33GP.js";
10
10
  import {
11
11
  VERCEL_DIR_PROJECT,
12
12
  VERCEL_DIR_README,
@@ -31,7 +31,7 @@ import {
31
31
  selectAndParseRemoteUrl,
32
32
  selectOrg,
33
33
  writeServicesConfig
34
- } from "./chunk-XNWJLL5I.js";
34
+ } from "./chunk-SW7U2OXX.js";
35
35
  import {
36
36
  table
37
37
  } from "./chunk-CTY6ZEQZ.js";
@@ -140,6 +140,7 @@ async function readConfig(dir) {
140
140
 
141
141
  // src/util/input/display-services.ts
142
142
  var import_frameworks = __toESM(require_frameworks(), 1);
143
+ import { getWorkerTopics } from "@vercel/build-utils";
143
144
  var chalk2 = require_source();
144
145
  var frameworksBySlug = new Map(import_frameworks.frameworkList.map((f) => [f.slug, f]));
145
146
  var frameworkColors = {
@@ -213,8 +214,10 @@ function getServiceTarget(service) {
213
214
  switch (service.type) {
214
215
  case "cron":
215
216
  return `schedule: ${service.schedule ?? "none"}`;
216
- case "worker":
217
- return `topic: ${service.topic ?? "none"}`;
217
+ case "worker": {
218
+ const topics = getWorkerTopics(service);
219
+ return `topics: ${topics.join(", ")}`;
220
+ }
218
221
  default:
219
222
  return service.routePrefix ? formatRoutePrefix(service.routePrefix) : "no route";
220
223
  }
@@ -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-XNWJLL5I.js";
9
+ } from "./chunk-SW7U2OXX.js";
10
10
  import {
11
11
  packageName,
12
12
  yesOption
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-IB5L4LKZ.js";
10
10
  import {
11
11
  require_execa
12
- } from "./chunk-TLDVMWUJ.js";
12
+ } from "./chunk-E7RW367E.js";
13
13
  import {
14
14
  VERCEL_DIR,
15
15
  readJSONFile,
@@ -17,7 +17,7 @@ import {
17
17
  require_dist3,
18
18
  require_lib,
19
19
  require_minimatch
20
- } from "./chunk-XNWJLL5I.js";
20
+ } from "./chunk-SW7U2OXX.js";
21
21
  import {
22
22
  require_pluralize
23
23
  } from "./chunk-AY4LBM3J.js";
@@ -11343,12 +11343,21 @@ async function writeBuildResult(args) {
11343
11343
  service,
11344
11344
  stripServiceRoutePrefix = false
11345
11345
  } = args;
11346
- const version2 = builder.version;
11346
+ let version2;
11347
+ let actualResult;
11348
+ if (builder.version === -1) {
11349
+ const vx = buildResult;
11350
+ version2 = vx.resultVersion;
11351
+ actualResult = vx.result;
11352
+ } else {
11353
+ version2 = builder.version;
11354
+ actualResult = buildResult;
11355
+ }
11347
11356
  if (typeof version2 !== "number" || version2 === 2) {
11348
11357
  return writeBuildResultV2({
11349
11358
  repoRootPath,
11350
11359
  outputDir,
11351
- buildResult,
11360
+ buildResult: actualResult,
11352
11361
  build: build2,
11353
11362
  vercelConfig,
11354
11363
  standalone,
@@ -11360,7 +11369,7 @@ async function writeBuildResult(args) {
11360
11369
  return writeBuildResultV3({
11361
11370
  repoRootPath,
11362
11371
  outputDir,
11363
- buildResult,
11372
+ buildResult: actualResult,
11364
11373
  build: build2,
11365
11374
  vercelConfig,
11366
11375
  standalone,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR
9
- } from "./chunk-XNWJLL5I.js";
9
+ } from "./chunk-SW7U2OXX.js";
10
10
  import {
11
11
  ConflictingConfigFiles,
12
12
  InvalidLocalConfig,
@@ -6,13 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  writeProjectSettings
9
- } from "./chunk-NQELOCER.js";
9
+ } from "./chunk-AK2A272Y.js";
10
10
  import {
11
11
  ensureLink
12
- } from "./chunk-KN7ZKW46.js";
12
+ } from "./chunk-JH6LZK7A.js";
13
13
  import {
14
14
  pullCommand
15
- } from "./chunk-OTUROTQ2.js";
15
+ } from "./chunk-NBIJPOHN.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-O5OD4JWH.js";
@@ -22,7 +22,7 @@ import {
22
22
  envPullCommandLogic,
23
23
  humanizePath,
24
24
  parseTarget
25
- } from "./chunk-XNWJLL5I.js";
25
+ } from "./chunk-SW7U2OXX.js";
26
26
  import {
27
27
  TelemetryClient
28
28
  } from "./chunk-MXPZBZ2X.js";
@@ -24606,7 +24606,7 @@ var require_schemas = __commonJS({
24606
24606
  required: ["source", "destination"],
24607
24607
  properties: {
24608
24608
  source: {
24609
- description: "A pattern that matches each incoming pathname (excluding querystring).",
24609
+ description: "A pattern that matches each incoming pathname (excluding querystring) or a full URL including domain.",
24610
24610
  type: "string",
24611
24611
  maxLength: 4096
24612
24612
  },
@@ -25636,12 +25636,13 @@ var require_resolve2 = __commonJS({
25636
25636
  });
25637
25637
  module2.exports = __toCommonJS2(resolve_exports);
25638
25638
  var import_path12 = __require("path");
25639
+ var import_build_utils5 = __require("@vercel/build-utils");
25639
25640
  var import_types = require_types3();
25640
25641
  var import_utils4 = require_utils3();
25641
25642
  var import_frameworks2 = require_frameworks();
25642
25643
  var import_detect_framework = require_detect_framework();
25643
25644
  var import_routing_utils2 = require_dist5();
25644
- var import_build_utils5 = __require("@vercel/build-utils");
25645
+ var import_build_utils22 = __require("@vercel/build-utils");
25645
25646
  var frameworksBySlug = new Map(import_frameworks2.frameworkList.map((f) => [f.slug, f]));
25646
25647
  var PYTHON_MODULE_ATTR_RE = /^([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*):([A-Za-z_][\w]*)$/;
25647
25648
  function parsePyModuleAttrEntrypoint(entrypoint) {
@@ -25655,6 +25656,7 @@ var require_resolve2 = __commonJS({
25655
25656
  }
25656
25657
  var SERVICE_NAME_REGEX = /^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$/;
25657
25658
  var DNS_LABEL_RE = /^(?!-)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;
25659
+ var ENV_PREFIX_RE = /^[A-Z][A-Z0-9_]*_$/;
25658
25660
  function normalizeServiceEntrypoint(entrypoint) {
25659
25661
  const normalized = import_path12.posix.normalize(entrypoint);
25660
25662
  return normalized === "" ? "." : normalized;
@@ -25829,6 +25831,15 @@ var require_resolve2 = __commonJS({
25829
25831
  serviceName: name
25830
25832
  };
25831
25833
  }
25834
+ if (config.envPrefix !== void 0) {
25835
+ if (!ENV_PREFIX_RE.test(config.envPrefix)) {
25836
+ return {
25837
+ code: "INVALID_ENV_PREFIX",
25838
+ message: `Service "${name}" has invalid envPrefix "${config.envPrefix}". Must start with an uppercase letter, contain only uppercase letters, digits, and underscores, and end with "_" (e.g., "MY_SERVICE_").`,
25839
+ serviceName: name
25840
+ };
25841
+ }
25842
+ }
25832
25843
  if (config.runtime && !(config.runtime in import_types.RUNTIME_BUILDERS)) {
25833
25844
  return {
25834
25845
  code: "INVALID_RUNTIME",
@@ -25942,7 +25953,7 @@ var require_resolve2 = __commonJS({
25942
25953
  }
25943
25954
  }
25944
25955
  }
25945
- const topic = type === "worker" ? config.topic || "default" : config.topic;
25956
+ const topics = type === "worker" ? (0, import_build_utils5.getWorkerTopics)(config) : config.topics;
25946
25957
  const consumer = type === "worker" ? config.consumer || "default" : config.consumer;
25947
25958
  let builderUse;
25948
25959
  let builderSrc;
@@ -25951,7 +25962,7 @@ var require_resolve2 = __commonJS({
25951
25962
  builderUse = config.builder;
25952
25963
  builderSrc = resolvedEntrypointFile || frameworkDefinition?.useRuntime?.src || "package.json";
25953
25964
  } else if (config.framework) {
25954
- if (type === "web" && (0, import_build_utils5.isNodeBackendFramework)(config.framework)) {
25965
+ if (type === "web" && (0, import_build_utils22.isNodeBackendFramework)(config.framework)) {
25955
25966
  builderUse = "@vercel/backends";
25956
25967
  } else {
25957
25968
  builderUse = frameworkDefinition?.useRuntime?.use || "@vercel/static-build";
@@ -26025,8 +26036,9 @@ var require_resolve2 = __commonJS({
26025
26036
  installCommand: config.installCommand,
26026
26037
  schedule: config.schedule,
26027
26038
  handlerFunction: moduleAttrParsed?.attrName,
26028
- topic,
26029
- consumer
26039
+ topics,
26040
+ consumer,
26041
+ envPrefix: config.envPrefix
26030
26042
  };
26031
26043
  }
26032
26044
  async function resolveAllConfiguredServices(services, fs5, routePrefixSource = "configured") {
@@ -40948,7 +40960,7 @@ var require_package = __commonJS({
40948
40960
  "../client/package.json"(exports2, module2) {
40949
40961
  module2.exports = {
40950
40962
  name: "@vercel/client",
40951
- version: "17.2.61",
40963
+ version: "17.2.63",
40952
40964
  main: "dist/index.js",
40953
40965
  typings: "dist/index.d.ts",
40954
40966
  homepage: "https://vercel.com",
@@ -58118,10 +58130,14 @@ var serviceConfigSchema = {
58118
58130
  maxLength: 256
58119
58131
  },
58120
58132
  // Worker-specific
58121
- topic: {
58122
- type: "string",
58123
- minLength: 1,
58124
- maxLength: 256
58133
+ topics: {
58134
+ type: "array",
58135
+ items: {
58136
+ type: "string",
58137
+ minLength: 1,
58138
+ maxLength: 256
58139
+ },
58140
+ minItems: 1
58125
58141
  },
58126
58142
  consumer: {
58127
58143
  type: "string",
@@ -58992,6 +59008,7 @@ export {
58992
59008
  require_tar_fs,
58993
59009
  require_dist7 as require_dist,
58994
59010
  require_fast_deep_equal,
59011
+ require_ajv,
58995
59012
  getProjectByNameOrId,
58996
59013
  require_slugify,
58997
59014
  createGitMeta,
@@ -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-XNWJLL5I.js";
9
+ } from "./chunk-SW7U2OXX.js";
10
10
  import {
11
11
  packageName
12
12
  } from "./chunk-N7ABINT7.js";
@@ -11,7 +11,7 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-XNWJLL5I.js";
14
+ } from "./chunk-SW7U2OXX.js";
15
15
  import "./chunk-MXPZBZ2X.js";
16
16
  import "./chunk-SOTR4CXR.js";
17
17
  import "./chunk-AY4LBM3J.js";
@@ -15,7 +15,7 @@ import {
15
15
  parseSubcommandArgs,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-H5CHJPPZ.js";
18
+ } from "./chunk-2WVX3V24.js";
19
19
  import {
20
20
  deleteSubcommand
21
21
  } from "./chunk-SV3GZCMS.js";
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-V7AUULPM.js";
26
26
  import {
27
27
  outputAgentError
28
- } from "./chunk-XNWJLL5I.js";
28
+ } from "./chunk-SW7U2OXX.js";
29
29
  import "./chunk-MXPZBZ2X.js";
30
30
  import {
31
31
  stamp_default
@@ -17,14 +17,14 @@ import {
17
17
  parseSubcommandArgs,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-H5CHJPPZ.js";
20
+ } from "./chunk-2WVX3V24.js";
21
21
  import {
22
22
  disableSubcommand
23
23
  } from "./chunk-SV3GZCMS.js";
24
24
  import "./chunk-V7AUULPM.js";
25
25
  import {
26
26
  outputAgentError
27
- } from "./chunk-XNWJLL5I.js";
27
+ } from "./chunk-SW7U2OXX.js";
28
28
  import "./chunk-MXPZBZ2X.js";
29
29
  import {
30
30
  stamp_default
@@ -17,14 +17,14 @@ import {
17
17
  parseSubcommandArgs,
18
18
  printDiffSummary,
19
19
  withGlobalFlags
20
- } from "./chunk-H5CHJPPZ.js";
20
+ } from "./chunk-2WVX3V24.js";
21
21
  import {
22
22
  discardSubcommand
23
23
  } from "./chunk-SV3GZCMS.js";
24
24
  import "./chunk-V7AUULPM.js";
25
25
  import {
26
26
  outputAgentError
27
- } from "./chunk-XNWJLL5I.js";
27
+ } from "./chunk-SW7U2OXX.js";
28
28
  import "./chunk-MXPZBZ2X.js";
29
29
  import {
30
30
  stamp_default
@@ -19,7 +19,7 @@ import {
19
19
  printRouteConfig,
20
20
  routingRuleToCurrentRoute,
21
21
  runInteractiveEditLoop
22
- } from "./chunk-JS6JXSM3.js";
22
+ } from "./chunk-HZ6LG6OH.js";
23
23
  import {
24
24
  getRouteVersions
25
25
  } from "./chunk-AHU7WNL2.js";
@@ -31,14 +31,14 @@ import {
31
31
  resolveRoute,
32
32
  shellQuoteRouteIdentifierForSuggestion,
33
33
  withGlobalFlags
34
- } from "./chunk-H5CHJPPZ.js";
34
+ } from "./chunk-2WVX3V24.js";
35
35
  import {
36
36
  editSubcommand
37
37
  } from "./chunk-SV3GZCMS.js";
38
38
  import "./chunk-V7AUULPM.js";
39
39
  import {
40
40
  outputAgentError
41
- } from "./chunk-XNWJLL5I.js";
41
+ } from "./chunk-SW7U2OXX.js";
42
42
  import "./chunk-MXPZBZ2X.js";
43
43
  import {
44
44
  stamp_default
@@ -17,14 +17,14 @@ import {
17
17
  parseSubcommandArgs,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-H5CHJPPZ.js";
20
+ } from "./chunk-2WVX3V24.js";
21
21
  import {
22
22
  enableSubcommand
23
23
  } from "./chunk-SV3GZCMS.js";
24
24
  import "./chunk-V7AUULPM.js";
25
25
  import {
26
26
  outputAgentError
27
- } from "./chunk-XNWJLL5I.js";
27
+ } from "./chunk-SW7U2OXX.js";
28
28
  import "./chunk-MXPZBZ2X.js";
29
29
  import {
30
30
  stamp_default
@@ -9,14 +9,14 @@ import {
9
9
  getRoutes,
10
10
  parseSubcommandArgs,
11
11
  withGlobalFlags
12
- } from "./chunk-H5CHJPPZ.js";
12
+ } from "./chunk-2WVX3V24.js";
13
13
  import {
14
14
  exportSubcommand
15
15
  } from "./chunk-SV3GZCMS.js";
16
16
  import "./chunk-V7AUULPM.js";
17
17
  import {
18
18
  outputAgentError
19
- } from "./chunk-XNWJLL5I.js";
19
+ } from "./chunk-SW7U2OXX.js";
20
20
  import "./chunk-MXPZBZ2X.js";
21
21
  import "./chunk-SOTR4CXR.js";
22
22
  import "./chunk-AY4LBM3J.js";
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  getLinkedProject,
27
27
  getProjectByNameOrId
28
- } from "./chunk-XNWJLL5I.js";
28
+ } from "./chunk-SW7U2OXX.js";
29
29
  import "./chunk-MXPZBZ2X.js";
30
30
  import "./chunk-SOTR4CXR.js";
31
31
  import {
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  getLinkedProject,
30
30
  getProjectByNameOrId
31
- } from "./chunk-XNWJLL5I.js";
31
+ } from "./chunk-SW7U2OXX.js";
32
32
  import "./chunk-MXPZBZ2X.js";
33
33
  import "./chunk-SOTR4CXR.js";
34
34
  import "./chunk-AY4LBM3J.js";
@@ -17,14 +17,14 @@ import {
17
17
  parseSubcommandArgs,
18
18
  printDiffSummary,
19
19
  withGlobalFlags
20
- } from "./chunk-H5CHJPPZ.js";
20
+ } from "./chunk-2WVX3V24.js";
21
21
  import {
22
22
  publishSubcommand
23
23
  } from "./chunk-SV3GZCMS.js";
24
24
  import "./chunk-V7AUULPM.js";
25
25
  import {
26
26
  outputAgentError
27
- } from "./chunk-XNWJLL5I.js";
27
+ } from "./chunk-SW7U2OXX.js";
28
28
  import "./chunk-MXPZBZ2X.js";
29
29
  import {
30
30
  stamp_default