vercel 51.3.0 → 51.4.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 (52) hide show
  1. package/dist/chunks/{add-3MIOUOZC.js → add-RNQLGEYS.js} +4 -4
  2. package/dist/chunks/{chunk-JEON5XEH.js → chunk-3GDNTBCE.js} +5 -5
  3. package/dist/chunks/{chunk-NCQBQGI6.js → chunk-4DR2FV6O.js} +1 -1
  4. package/dist/chunks/{chunk-4VP55L4V.js → chunk-537JTK2U.js} +9 -24
  5. package/dist/chunks/{chunk-RRYVGOVK.js → chunk-5NTBJ33M.js} +1 -1
  6. package/dist/chunks/{chunk-4WRHMYCG.js → chunk-5VKKTHMP.js} +4 -4
  7. package/dist/chunks/{chunk-2JQVASXJ.js → chunk-6C33Y3DC.js} +3 -3
  8. package/dist/chunks/{chunk-BAUYQ7AR.js → chunk-7MF47FW3.js} +1 -1
  9. package/dist/chunks/{chunk-NE34PEHL.js → chunk-7ZDERWUW.js} +2 -2
  10. package/dist/chunks/{chunk-FNFZO3WQ.js → chunk-AUSDBXUD.js} +2 -2
  11. package/dist/chunks/{chunk-UB325PS7.js → chunk-BRQBLRFB.js} +1 -1
  12. package/dist/chunks/{chunk-RHXEHBO3.js → chunk-D2D4FJ6S.js} +2 -2
  13. package/dist/chunks/{chunk-BU3JMDDH.js → chunk-DKFFXOHJ.js} +2 -2
  14. package/dist/chunks/{chunk-OFUQPP26.js → chunk-HNU5CXW4.js} +1 -1
  15. package/dist/chunks/{chunk-4ZWTYJSP.js → chunk-HQXVCOH6.js} +1 -1
  16. package/dist/chunks/{chunk-APGVHLAW.js → chunk-L2JUC7NX.js} +1 -1
  17. package/dist/chunks/{chunk-GYBFQLYR.js → chunk-NKJC5SI4.js} +1 -1
  18. package/dist/chunks/{chunk-R2BVH5SQ.js → chunk-O7SQKNIT.js} +1 -1
  19. package/dist/chunks/{chunk-CZXW3DJH.js → chunk-P56KWLXY.js} +1 -1
  20. package/dist/chunks/{chunk-T7CL42FK.js → chunk-PBGN54ZH.js} +3 -3
  21. package/dist/chunks/{chunk-ZS5VKEZL.js → chunk-RJD5NYGF.js} +1 -1
  22. package/dist/chunks/{chunk-VMTOBGCO.js → chunk-UJ4JXXED.js} +95 -2
  23. package/dist/chunks/{compile-vercel-config-A2SLMCWK.js → compile-vercel-config-ZVY7LBE3.js} +1 -1
  24. package/dist/chunks/{delete-SEQBCYWT.js → delete-SKTJMJNP.js} +2 -2
  25. package/dist/chunks/{disable-GRM5DJGU.js → disable-AG7I6DPV.js} +2 -2
  26. package/dist/chunks/{discard-IVQWWSPI.js → discard-LUK6LBLT.js} +2 -2
  27. package/dist/chunks/{edit-YTMZBT4Y.js → edit-3BR5HP3U.js} +3 -3
  28. package/dist/chunks/{enable-SSU3MG6J.js → enable-4JNLOKSM.js} +2 -2
  29. package/dist/chunks/{export-INCDZTYW.js → export-YLZ6QSHG.js} +2 -2
  30. package/dist/chunks/{inspect-QMY2ZE6J.js → inspect-HUJLUQAV.js} +3 -3
  31. package/dist/chunks/{list-MMIBPSB3.js → list-EPU4SB3E.js} +2 -2
  32. package/dist/chunks/{list-FF4VGSZ2.js → list-RMA56KYZ.js} +3 -3
  33. package/dist/chunks/{ls-TYEDISJD.js → ls-7HHDYE6F.js} +4 -4
  34. package/dist/chunks/{publish-OJQCVDL5.js → publish-6YE4OUDI.js} +2 -2
  35. package/dist/chunks/{query-LACPOOBL.js → query-VNBKOI65.js} +2 -2
  36. package/dist/chunks/{reorder-TBFWHFQZ.js → reorder-VFM23ESC.js} +2 -2
  37. package/dist/chunks/{restore-5LUZRUME.js → restore-VX34SXVF.js} +2 -2
  38. package/dist/chunks/{rm-LDXY2G45.js → rm-5KXF2PY3.js} +4 -4
  39. package/dist/chunks/{rule-inspect-THIN6POX.js → rule-inspect-JG7AE5TI.js} +4 -4
  40. package/dist/chunks/{rules-4ZH7VTGC.js → rules-XRJBT22L.js} +6 -6
  41. package/dist/chunks/{schema-OK4OOI2N.js → schema-FUOKCZTW.js} +2 -2
  42. package/dist/chunks/{update-EXPUPEH6.js → update-4FMWTIJK.js} +4 -4
  43. package/dist/commands/build/index.js +18 -29
  44. package/dist/commands/deploy/index.js +11 -11
  45. package/dist/commands/dev/index.js +23 -22
  46. package/dist/commands/env/index.js +5 -5
  47. package/dist/commands/link/index.js +7 -7
  48. package/dist/commands/list/index.js +3 -3
  49. package/dist/commands-bulk.js +1351 -789
  50. package/dist/index.js +10 -10
  51. package/dist/version.mjs +1 -1
  52. package/package.json +20 -20
@@ -9,10 +9,10 @@ import {
9
9
  handleRulesApiError,
10
10
  parseRulesFlagsAndScope,
11
11
  rulesCollectionPath
12
- } from "./chunk-4ZWTYJSP.js";
13
- import "./chunk-NE34PEHL.js";
12
+ } from "./chunk-HQXVCOH6.js";
13
+ import "./chunk-7ZDERWUW.js";
14
14
  import "./chunk-HTOH3MSD.js";
15
- import "./chunk-APGVHLAW.js";
15
+ import "./chunk-L2JUC7NX.js";
16
16
  import {
17
17
  validateJsonOutput
18
18
  } from "./chunk-XPKWKPWA.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  AGENT_REASON
24
24
  } from "./chunk-E3NE4SKN.js";
25
- import "./chunk-4VP55L4V.js";
25
+ import "./chunk-537JTK2U.js";
26
26
  import "./chunk-U3WLEFHU.js";
27
27
  import {
28
28
  buildCommandWithGlobalFlags,
@@ -9,7 +9,7 @@ import {
9
9
  printIndications,
10
10
  require_dist as require_dist2,
11
11
  sleep
12
- } from "./chunk-2JQVASXJ.js";
12
+ } from "./chunk-6C33Y3DC.js";
13
13
  import {
14
14
  suggestNextCommands
15
15
  } from "./chunk-LOS7HHU3.js";
@@ -19,13 +19,13 @@ import {
19
19
  } from "./chunk-N45K6NXC.js";
20
20
  import {
21
21
  getScope
22
- } from "./chunk-APGVHLAW.js";
22
+ } from "./chunk-L2JUC7NX.js";
23
23
  import {
24
24
  showPluginTipIfNeeded
25
- } from "./chunk-R2BVH5SQ.js";
25
+ } from "./chunk-O7SQKNIT.js";
26
26
  import {
27
27
  CommandTimeout
28
- } from "./chunk-VMTOBGCO.js";
28
+ } from "./chunk-UJ4JXXED.js";
29
29
  import {
30
30
  ua_default
31
31
  } from "./chunk-4PQA6H63.js";
@@ -35,7 +35,7 @@ import {
35
35
  require_dist as require_dist3,
36
36
  require_lib3 as require_lib,
37
37
  require_pluralize
38
- } from "./chunk-4VP55L4V.js";
38
+ } from "./chunk-537JTK2U.js";
39
39
  import {
40
40
  require_ms,
41
41
  stamp_default
@@ -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-4VP55L4V.js";
9
+ } from "./chunk-537JTK2U.js";
10
10
  import {
11
11
  packageName
12
12
  } from "./chunk-ECRBC4HL.js";
@@ -22894,12 +22894,12 @@ var require_utils3 = __commonJS({
22894
22894
  var utils_exports = {};
22895
22895
  __export2(utils_exports, {
22896
22896
  INTERNAL_QUEUES_PREFIX: () => INTERNAL_QUEUES_PREFIX,
22897
- INTERNAL_SERVICE_PREFIX: () => INTERNAL_SERVICE_PREFIX2,
22897
+ INTERNAL_SERVICE_PREFIX: () => import_build_utils5.INTERNAL_SERVICE_PREFIX,
22898
22898
  filterFrameworksByRuntime: () => filterFrameworksByRuntime,
22899
22899
  getBuilderForRuntime: () => getBuilderForRuntime,
22900
- getInternalServiceCronPath: () => getInternalServiceCronPath2,
22901
- getInternalServiceCronPathPrefix: () => getInternalServiceCronPathPrefix2,
22902
- getInternalServiceFunctionPath: () => getInternalServiceFunctionPath2,
22900
+ getInternalServiceCronPath: () => import_build_utils5.getInternalServiceCronPath,
22901
+ getInternalServiceCronPathPrefix: () => import_build_utils5.getInternalServiceCronPathPrefix,
22902
+ getInternalServiceFunctionPath: () => import_build_utils5.getInternalServiceFunctionPath,
22903
22903
  getInternalServiceWorkerPath: () => getInternalServiceWorkerPath2,
22904
22904
  getInternalServiceWorkerPathPrefix: () => getInternalServiceWorkerPathPrefix2,
22905
22905
  hasFile: () => hasFile,
@@ -22912,6 +22912,7 @@ var require_utils3 = __commonJS({
22912
22912
  });
22913
22913
  module.exports = __toCommonJS2(utils_exports);
22914
22914
  var import_framework_helpers = __require("@vercel/build-utils/dist/framework-helpers");
22915
+ var import_build_utils5 = __require("@vercel/build-utils");
22915
22916
  var import_types = require_types3();
22916
22917
  async function hasFile(fs5, filePath) {
22917
22918
  try {
@@ -22920,29 +22921,18 @@ var require_utils3 = __commonJS({
22920
22921
  return false;
22921
22922
  }
22922
22923
  }
22923
- var INTERNAL_SERVICE_PREFIX2 = "/_svc";
22924
22924
  var INTERNAL_QUEUES_PREFIX = "/_svc/_queues";
22925
- function getInternalServiceFunctionPath2(serviceName) {
22926
- return `${INTERNAL_SERVICE_PREFIX2}/${serviceName}/index`;
22927
- }
22928
22925
  function normalizeInternalServiceEntrypoint(entrypoint) {
22929
22926
  const normalized = entrypoint.replace(/\\/g, "/").replace(/^\/+/, "").replace(/\.[^/.]+$/, "");
22930
22927
  return normalized || "index";
22931
22928
  }
22932
22929
  function getInternalServiceWorkerPathPrefix2(serviceName) {
22933
- return `${INTERNAL_SERVICE_PREFIX2}/${serviceName}/workers`;
22934
- }
22935
- function getInternalServiceCronPathPrefix2(serviceName) {
22936
- return `${INTERNAL_SERVICE_PREFIX2}/${serviceName}/crons`;
22930
+ return `${import_build_utils5.INTERNAL_SERVICE_PREFIX}/${serviceName}/workers`;
22937
22931
  }
22938
22932
  function getInternalServiceWorkerPath2(serviceName, entrypoint, handler = "worker") {
22939
22933
  const normalizedEntrypoint = normalizeInternalServiceEntrypoint(entrypoint);
22940
22934
  return `${getInternalServiceWorkerPathPrefix2(serviceName)}/${normalizedEntrypoint}/${handler}`;
22941
22935
  }
22942
- function getInternalServiceCronPath2(serviceName, entrypoint, handler = "cron") {
22943
- const normalizedEntrypoint = normalizeInternalServiceEntrypoint(entrypoint);
22944
- return `${getInternalServiceCronPathPrefix2(serviceName)}/${normalizedEntrypoint}/${handler}`;
22945
- }
22946
22936
  function getBuilderForRuntime(runtime) {
22947
22937
  const builder = import_types.RUNTIME_BUILDERS[runtime];
22948
22938
  if (!builder) {
@@ -24797,15 +24787,10 @@ var require_detect_services = __commonJS({
24797
24787
  }
24798
24788
  const cronServices = services.filter((s) => s.type === "cron");
24799
24789
  for (const service of cronServices) {
24800
- const cronEntrypoint = service.entrypoint || service.builder.src || "index";
24801
- const cronPath = (0, import_utils4.getInternalServiceCronPath)(
24802
- service.name,
24803
- cronEntrypoint,
24804
- service.handlerFunction || "cron"
24805
- );
24790
+ const cronPrefix = (0, import_utils4.getInternalServiceCronPathPrefix)(service.name);
24806
24791
  const functionPath = (0, import_utils4.getInternalServiceFunctionPath)(service.name);
24807
24792
  crons.push({
24808
- src: `^${escapeRegex(cronPath)}$`,
24793
+ src: `^${escapeRegex(cronPrefix)}/.*$`,
24809
24794
  dest: functionPath,
24810
24795
  check: true
24811
24796
  });
@@ -39130,7 +39115,7 @@ var require_package = __commonJS({
39130
39115
  "../client/package.json"(exports, module) {
39131
39116
  module.exports = {
39132
39117
  name: "@vercel/client",
39133
- version: "17.3.3",
39118
+ version: "17.3.4",
39134
39119
  main: "dist/index.js",
39135
39120
  typings: "dist/index.d.ts",
39136
39121
  homepage: "https://vercel.com",
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  formatCondition,
9
9
  formatTransform
10
- } from "./chunk-OFUQPP26.js";
10
+ } from "./chunk-HNU5CXW4.js";
11
11
  import {
12
12
  output_manager_default
13
13
  } from "./chunk-ZQKJVHXY.js";
@@ -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-UB325PS7.js";
9
+ } from "./chunk-BRQBLRFB.js";
10
10
  import {
11
11
  ensureLink
12
- } from "./chunk-FNFZO3WQ.js";
12
+ } from "./chunk-AUSDBXUD.js";
13
13
  import {
14
14
  pullCommand
15
- } from "./chunk-ZS5VKEZL.js";
15
+ } from "./chunk-RJD5NYGF.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-LDXYSGPZ.js";
@@ -22,7 +22,7 @@ import {
22
22
  envPullCommandLogic,
23
23
  humanizePath,
24
24
  parseTarget
25
- } from "./chunk-4VP55L4V.js";
25
+ } from "./chunk-537JTK2U.js";
26
26
  import {
27
27
  TelemetryClient
28
28
  } from "./chunk-U3WLEFHU.js";
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-V5P25P7F.js";
10
10
  import {
11
11
  autoInstallAgentTooling
12
- } from "./chunk-R2BVH5SQ.js";
12
+ } from "./chunk-O7SQKNIT.js";
13
13
  import {
14
14
  ua_default
15
15
  } from "./chunk-4PQA6H63.js";
16
16
  import {
17
17
  getLocalPathConfig
18
- } from "./chunk-GYBFQLYR.js";
18
+ } from "./chunk-NKJC5SI4.js";
19
19
  import {
20
20
  DEFAULT_VERCEL_CONFIG_FILENAME,
21
21
  VERCEL_CONFIG_EXTENSIONS,
@@ -41,7 +41,7 @@ import {
41
41
  useKeypress,
42
42
  usePrefix,
43
43
  useState
44
- } from "./chunk-4VP55L4V.js";
44
+ } from "./chunk-537JTK2U.js";
45
45
  import {
46
46
  require_load_json_file,
47
47
  require_write_json_file
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_end_of_stream,
9
9
  require_once
10
- } from "./chunk-4VP55L4V.js";
10
+ } from "./chunk-537JTK2U.js";
11
11
  import {
12
12
  require_signal_exit
13
13
  } from "./chunk-ZQKJVHXY.js";
@@ -9,14 +9,14 @@ import {
9
9
  } from "./chunk-HTOH3MSD.js";
10
10
  import {
11
11
  getScope
12
- } from "./chunk-APGVHLAW.js";
12
+ } from "./chunk-L2JUC7NX.js";
13
13
  import {
14
14
  AGENT_REASON
15
15
  } from "./chunk-E3NE4SKN.js";
16
16
  import {
17
17
  getLinkedProject,
18
18
  getProjectByNameOrId
19
- } from "./chunk-4VP55L4V.js";
19
+ } from "./chunk-537JTK2U.js";
20
20
  import {
21
21
  buildCommandWithGlobalFlags,
22
22
  outputAgentError
@@ -6,12 +6,12 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  setupAndLink
9
- } from "./chunk-RHXEHBO3.js";
9
+ } from "./chunk-D2D4FJ6S.js";
10
10
  import {
11
11
  getLinkedProject,
12
12
  param,
13
13
  resolveProjectCwd
14
- } from "./chunk-4VP55L4V.js";
14
+ } from "./chunk-537JTK2U.js";
15
15
  import {
16
16
  buildCommandWithYes,
17
17
  outputActionRequired
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-4VP55L4V.js";
11
+ } from "./chunk-537JTK2U.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-ZQKJVHXY.js";
@@ -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-GYBFQLYR.js";
9
+ } from "./chunk-NKJC5SI4.js";
10
10
  import {
11
11
  table
12
12
  } from "./chunk-GE6G37P4.js";
@@ -36,7 +36,7 @@ import {
36
36
  selectAndParseRemoteUrl,
37
37
  selectOrg,
38
38
  writeServicesConfig
39
- } from "./chunk-4VP55L4V.js";
39
+ } from "./chunk-537JTK2U.js";
40
40
  import {
41
41
  printError
42
42
  } from "./chunk-RFMC2QXQ.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-IB5L4LKZ.js";
10
10
  import {
11
11
  require_execa
12
- } from "./chunk-BAUYQ7AR.js";
12
+ } from "./chunk-7MF47FW3.js";
13
13
  import {
14
14
  VERCEL_DIR,
15
15
  readJSONFile,
@@ -18,7 +18,7 @@ import {
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-4VP55L4V.js";
21
+ } from "./chunk-537JTK2U.js";
22
22
  import {
23
23
  CantParseJSONFile,
24
24
  cmd,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-E3NE4SKN.js";
11
11
  import {
12
12
  getLinkedProject
13
- } from "./chunk-4VP55L4V.js";
13
+ } from "./chunk-537JTK2U.js";
14
14
  import {
15
15
  buildCommandWithYes,
16
16
  outputAgentError
@@ -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-NE34PEHL.js";
9
+ } from "./chunk-7ZDERWUW.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
@@ -11,7 +11,7 @@ import {
11
11
  getTeamById,
12
12
  getUser,
13
13
  getVercelDirectory
14
- } from "./chunk-4VP55L4V.js";
14
+ } from "./chunk-537JTK2U.js";
15
15
  import {
16
16
  TeamDeleted
17
17
  } from "./chunk-ECRBC4HL.js";
@@ -7,7 +7,7 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  VERCEL_DIR,
9
9
  isVercelTomlEnabled
10
- } from "./chunk-4VP55L4V.js";
10
+ } from "./chunk-537JTK2U.js";
11
11
  import {
12
12
  getArgs
13
13
  } from "./chunk-RFMC2QXQ.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  global_path_default
9
- } from "./chunk-4VP55L4V.js";
9
+ } from "./chunk-537JTK2U.js";
10
10
  import {
11
11
  output_manager_default
12
12
  } from "./chunk-ZQKJVHXY.js";
@@ -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-4VP55L4V.js";
9
+ } from "./chunk-537JTK2U.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -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-NCQBQGI6.js";
9
+ } from "./chunk-4DR2FV6O.js";
10
10
  import {
11
11
  login
12
- } from "./chunk-2JQVASXJ.js";
12
+ } from "./chunk-6C33Y3DC.js";
13
13
  import {
14
14
  loginCommand
15
- } from "./chunk-VMTOBGCO.js";
15
+ } from "./chunk-UJ4JXXED.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-LDXYSGPZ.js";
@@ -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-4VP55L4V.js";
9
+ } from "./chunk-537JTK2U.js";
10
10
  import {
11
11
  yesOption
12
12
  } from "./chunk-RFMC2QXQ.js";
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  buildCommand,
27
27
  pullCommand
28
- } from "./chunk-ZS5VKEZL.js";
28
+ } from "./chunk-RJD5NYGF.js";
29
29
  import {
30
30
  envCommand
31
- } from "./chunk-4VP55L4V.js";
31
+ } from "./chunk-537JTK2U.js";
32
32
  import {
33
33
  confirmOption,
34
34
  forceOption,
@@ -3083,6 +3083,97 @@ var setSubcommand2 = {
3083
3083
  }
3084
3084
  ]
3085
3085
  };
3086
+ var rolloutSubcommand = {
3087
+ name: "rollout",
3088
+ aliases: [],
3089
+ description: "Configure a progressive rollout for a feature flag in an environment",
3090
+ arguments: [
3091
+ {
3092
+ name: "flag",
3093
+ required: true
3094
+ }
3095
+ ],
3096
+ options: [
3097
+ {
3098
+ name: "environment",
3099
+ shorthand: "e",
3100
+ type: String,
3101
+ deprecated: false,
3102
+ description: "The environment to configure (production, preview, or development)",
3103
+ argument: "ENV"
3104
+ },
3105
+ {
3106
+ name: "from-variant",
3107
+ shorthand: null,
3108
+ type: String,
3109
+ deprecated: false,
3110
+ description: "The variant to roll away from (defaults to false for boolean flags)",
3111
+ argument: "VARIANT"
3112
+ },
3113
+ {
3114
+ name: "to-variant",
3115
+ shorthand: null,
3116
+ type: String,
3117
+ deprecated: false,
3118
+ description: "The variant to roll towards (defaults to true for boolean flags)",
3119
+ argument: "VARIANT"
3120
+ },
3121
+ {
3122
+ name: "default-variant",
3123
+ shorthand: null,
3124
+ type: String,
3125
+ deprecated: false,
3126
+ description: "The fallback variant to serve when the rollout attribute is unavailable",
3127
+ argument: "VARIANT"
3128
+ },
3129
+ {
3130
+ name: "by",
3131
+ shorthand: null,
3132
+ type: String,
3133
+ deprecated: false,
3134
+ description: "Entity attribute used for bucketing, in the form entity.attribute",
3135
+ argument: "ENTITY.ATTRIBUTE"
3136
+ },
3137
+ {
3138
+ name: "stage",
3139
+ shorthand: "s",
3140
+ type: [String],
3141
+ deprecated: false,
3142
+ description: 'Add a rollout stage as PERCENTAGE,DURATION (e.g. "5,6h"). Can be specified multiple times. 100% is implied at the end.',
3143
+ argument: "PERCENTAGE,DURATION"
3144
+ },
3145
+ {
3146
+ name: "start",
3147
+ shorthand: null,
3148
+ type: String,
3149
+ deprecated: false,
3150
+ description: 'When the rollout should start: "now", a future relative time like "1h", or an ISO 8601 datetime',
3151
+ argument: "TIME"
3152
+ },
3153
+ {
3154
+ name: "message",
3155
+ shorthand: null,
3156
+ type: String,
3157
+ deprecated: false,
3158
+ description: "Optional revision message for the update",
3159
+ argument: "TEXT"
3160
+ }
3161
+ ],
3162
+ examples: [
3163
+ {
3164
+ name: "Start a progressive boolean rollout in production",
3165
+ value: `${packageName} flags rollout redesigned-checkout --environment production --by user.userId --stage 5,6h --stage 10,6h --stage 25,12h --stage 50,1d`
3166
+ },
3167
+ {
3168
+ name: "Schedule a string-flag rollout for later",
3169
+ value: `${packageName} flags rollout welcome-message -e production --by user.userId --from-variant control --to-variant treatment --default-variant control --stage 10,2h --stage 50,12h --start 2026-04-16T09:00:00Z`
3170
+ },
3171
+ {
3172
+ name: "Update only the rollout schedule while keeping current variants",
3173
+ value: `${packageName} flags rollout redesigned-checkout -e production --stage 5,30m --stage 25,2h --stage 50,8h`
3174
+ }
3175
+ ]
3176
+ };
3086
3177
  var removeSubcommand6 = {
3087
3178
  name: "remove",
3088
3179
  aliases: ["rm"],
@@ -3401,6 +3492,7 @@ var flagsCommand = {
3401
3492
  openSubcommand,
3402
3493
  updateSubcommand2,
3403
3494
  setSubcommand2,
3495
+ rolloutSubcommand,
3404
3496
  removeSubcommand6,
3405
3497
  archiveSubcommand,
3406
3498
  disableSubcommand,
@@ -7516,6 +7608,7 @@ export {
7516
7608
  openSubcommand,
7517
7609
  updateSubcommand2,
7518
7610
  setSubcommand2,
7611
+ rolloutSubcommand,
7519
7612
  removeSubcommand6,
7520
7613
  archiveSubcommand,
7521
7614
  disableSubcommand,
@@ -11,7 +11,7 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-4VP55L4V.js";
14
+ } from "./chunk-537JTK2U.js";
15
15
  import "./chunk-U3WLEFHU.js";
16
16
  import "./chunk-CGTXAXZ4.js";
17
17
  import "./chunk-CO5D46AG.js";
@@ -15,7 +15,7 @@ import {
15
15
  parseSubcommandArgs,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-OFUQPP26.js";
18
+ } from "./chunk-HNU5CXW4.js";
19
19
  import {
20
20
  deleteSubcommand
21
21
  } from "./chunk-CRZM5WM2.js";
@@ -23,7 +23,7 @@ import {
23
23
  AGENT_REASON,
24
24
  AGENT_STATUS
25
25
  } from "./chunk-E3NE4SKN.js";
26
- import "./chunk-4VP55L4V.js";
26
+ import "./chunk-537JTK2U.js";
27
27
  import "./chunk-U3WLEFHU.js";
28
28
  import {
29
29
  outputAgentError
@@ -17,12 +17,12 @@ import {
17
17
  parseSubcommandArgs,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-OFUQPP26.js";
20
+ } from "./chunk-HNU5CXW4.js";
21
21
  import {
22
22
  disableSubcommand
23
23
  } from "./chunk-CRZM5WM2.js";
24
24
  import "./chunk-E3NE4SKN.js";
25
- import "./chunk-4VP55L4V.js";
25
+ import "./chunk-537JTK2U.js";
26
26
  import "./chunk-U3WLEFHU.js";
27
27
  import {
28
28
  outputAgentError
@@ -17,12 +17,12 @@ import {
17
17
  parseSubcommandArgs,
18
18
  printDiffSummary,
19
19
  withGlobalFlags
20
- } from "./chunk-OFUQPP26.js";
20
+ } from "./chunk-HNU5CXW4.js";
21
21
  import {
22
22
  discardSubcommand
23
23
  } from "./chunk-CRZM5WM2.js";
24
24
  import "./chunk-E3NE4SKN.js";
25
- import "./chunk-4VP55L4V.js";
25
+ import "./chunk-537JTK2U.js";
26
26
  import "./chunk-U3WLEFHU.js";
27
27
  import {
28
28
  outputAgentError
@@ -19,7 +19,7 @@ import {
19
19
  printRouteConfig,
20
20
  routingRuleToCurrentRoute,
21
21
  runInteractiveEditLoop
22
- } from "./chunk-RRYVGOVK.js";
22
+ } from "./chunk-5NTBJ33M.js";
23
23
  import {
24
24
  getRouteVersions
25
25
  } from "./chunk-AHU7WNL2.js";
@@ -31,12 +31,12 @@ import {
31
31
  resolveRoute,
32
32
  shellQuoteRouteIdentifierForSuggestion,
33
33
  withGlobalFlags
34
- } from "./chunk-OFUQPP26.js";
34
+ } from "./chunk-HNU5CXW4.js";
35
35
  import {
36
36
  editSubcommand
37
37
  } from "./chunk-CRZM5WM2.js";
38
38
  import "./chunk-E3NE4SKN.js";
39
- import "./chunk-4VP55L4V.js";
39
+ import "./chunk-537JTK2U.js";
40
40
  import "./chunk-U3WLEFHU.js";
41
41
  import {
42
42
  outputAgentError
@@ -17,12 +17,12 @@ import {
17
17
  parseSubcommandArgs,
18
18
  resolveRoute,
19
19
  withGlobalFlags
20
- } from "./chunk-OFUQPP26.js";
20
+ } from "./chunk-HNU5CXW4.js";
21
21
  import {
22
22
  enableSubcommand
23
23
  } from "./chunk-CRZM5WM2.js";
24
24
  import "./chunk-E3NE4SKN.js";
25
- import "./chunk-4VP55L4V.js";
25
+ import "./chunk-537JTK2U.js";
26
26
  import "./chunk-U3WLEFHU.js";
27
27
  import {
28
28
  outputAgentError
@@ -9,12 +9,12 @@ import {
9
9
  getRoutes,
10
10
  parseSubcommandArgs,
11
11
  withGlobalFlags
12
- } from "./chunk-OFUQPP26.js";
12
+ } from "./chunk-HNU5CXW4.js";
13
13
  import {
14
14
  exportSubcommand
15
15
  } from "./chunk-CRZM5WM2.js";
16
16
  import "./chunk-E3NE4SKN.js";
17
- import "./chunk-4VP55L4V.js";
17
+ import "./chunk-537JTK2U.js";
18
18
  import "./chunk-U3WLEFHU.js";
19
19
  import {
20
20
  outputAgentError
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  emitAlertsScopeError
9
- } from "./chunk-NE34PEHL.js";
9
+ } from "./chunk-7ZDERWUW.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-HTOH3MSD.js";
15
15
  import {
16
16
  getScope
17
- } from "./chunk-APGVHLAW.js";
17
+ } from "./chunk-L2JUC7NX.js";
18
18
  import {
19
19
  validateJsonOutput
20
20
  } from "./chunk-XPKWKPWA.js";
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  getLinkedProject,
30
30
  getProjectByNameOrId
31
- } from "./chunk-4VP55L4V.js";
31
+ } from "./chunk-537JTK2U.js";
32
32
  import "./chunk-U3WLEFHU.js";
33
33
  import {
34
34
  buildCommandWithGlobalFlags,