vercel 56.2.0 → 56.3.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 (88) hide show
  1. package/dist/chunks/{add-YQRDKWJH.js → add-CF5SQESQ.js} +11 -14
  2. package/dist/chunks/{add-T6ZTAEU2.js → add-DMRGZN3Z.js} +10 -13
  3. package/dist/chunks/{chunk-LSPZHWWP.js → chunk-22G26AIX.js} +99 -74
  4. package/dist/chunks/{chunk-HMMPJ3VD.js → chunk-2C2JJTAM.js} +6 -10
  5. package/dist/chunks/{chunk-YGSTSVXS.js → chunk-2MXGTALG.js} +1076 -3627
  6. package/dist/chunks/{chunk-5AJNUXWP.js → chunk-3PKFXNJZ.js} +2 -4
  7. package/dist/chunks/{chunk-5OT26JZN.js → chunk-3VS4DTAU.js} +4 -6
  8. package/dist/chunks/{chunk-JJWESW5Y.js → chunk-4G6QZSBL.js} +2 -4
  9. package/dist/chunks/{chunk-HR6VI6UV.js → chunk-4YOCOUDN.js} +5 -6
  10. package/dist/chunks/{chunk-GXBDQRHJ.js → chunk-4Z5LC2CI.js} +1 -1
  11. package/dist/chunks/{chunk-2RVK3DDN.js → chunk-52QYYTM5.js} +4 -0
  12. package/dist/chunks/{chunk-CMJMYVQM.js → chunk-6OMC3HOW.js} +1 -1
  13. package/dist/chunks/{chunk-SRJTYE5U.js → chunk-A6LE5VAN.js} +1 -1
  14. package/dist/chunks/{chunk-QY63UKTP.js → chunk-DMSLNAVH.js} +2 -2
  15. package/dist/chunks/{chunk-PN2GJKM5.js → chunk-DZHRFBKE.js} +2 -2
  16. package/dist/chunks/{chunk-SHT5IY3Q.js → chunk-ERPZJ4SX.js} +14 -4
  17. package/dist/chunks/{chunk-K2THP63Z.js → chunk-EYNXG3FO.js} +3 -5
  18. package/dist/chunks/{chunk-RLJA2KI7.js → chunk-FYQPTH5C.js} +2 -4
  19. package/dist/chunks/{chunk-RLXBXRU2.js → chunk-G4PG5HVE.js} +6 -10
  20. package/dist/chunks/{chunk-7PZWVZN6.js → chunk-G75NFPIT.js} +1 -1
  21. package/dist/chunks/{chunk-7C7MMT4J.js → chunk-GIL3VAUR.js} +2 -4
  22. package/dist/chunks/{chunk-EKIKD7RS.js → chunk-HUKYQKVQ.js} +9 -7
  23. package/dist/chunks/{chunk-AVLGVZJ5.js → chunk-I2IICWBW.js} +190 -29
  24. package/dist/chunks/{chunk-E3Y4SDXF.js → chunk-ICSIFPXG.js} +3 -5
  25. package/dist/chunks/{chunk-P6AK7SVK.js → chunk-KSSNLCL4.js} +360 -25
  26. package/dist/chunks/{chunk-WOA4Z45Z.js → chunk-KXKQQIUS.js} +18 -12
  27. package/dist/chunks/{chunk-HA7C7SDO.js → chunk-LHFNIZ2P.js} +2 -4
  28. package/dist/chunks/{chunk-B6SCQUDV.js → chunk-NP32PAKT.js} +2 -2
  29. package/dist/chunks/{chunk-QEEGXNFK.js → chunk-NZRWTCRM.js} +1 -1
  30. package/dist/chunks/{chunk-IDMKFYEA.js → chunk-OGG6UBXK.js} +2 -4
  31. package/dist/chunks/{chunk-XFMTSTYT.js → chunk-PRO4S2KV.js} +8 -68
  32. package/dist/chunks/{chunk-NQEAHRBI.js → chunk-Q5ADSH7D.js} +11 -16
  33. package/dist/chunks/{chunk-AEENIITE.js → chunk-QP3C5YS5.js} +8 -8
  34. package/dist/chunks/{chunk-24FCBXI4.js → chunk-R6IGDGX3.js} +1 -1
  35. package/dist/chunks/{chunk-PQK4YU22.js → chunk-SDK7R4WO.js} +1 -1
  36. package/dist/chunks/{chunk-22GUZ5KG.js → chunk-STJJ3DFO.js} +2 -4
  37. package/dist/chunks/{chunk-EHTPDXTS.js → chunk-SZXT3PDQ.js} +3 -294
  38. package/dist/chunks/{chunk-CB3I3QIT.js → chunk-UDWRZXIT.js} +193 -85
  39. package/dist/chunks/{chunk-DREO3DFB.js → chunk-VZSZBD4V.js} +16 -6
  40. package/dist/chunks/{chunk-7S3QUMIG.js → chunk-YS6EDZHB.js} +3 -5
  41. package/dist/chunks/{chunk-EI555LUJ.js → chunk-ZDCS54ZZ.js} +3 -3
  42. package/dist/chunks/{chunk-4RGSUV5C.js → chunk-ZVLPUREX.js} +2 -2
  43. package/dist/chunks/{compile-vercel-config-3AG4VKHZ.js → compile-vercel-config-RPPL7W56.js} +5 -5
  44. package/dist/chunks/{delete-JLJ753B4.js → delete-QBVZ5X6B.js} +15 -15
  45. package/dist/chunks/{disable-AXFGDOYN.js → disable-YYGXPXBI.js} +15 -14
  46. package/dist/chunks/{discard-557SDKVO.js → discard-X2MSUFGI.js} +14 -13
  47. package/dist/chunks/{edit-ITGNF7S5.js → edit-3ABZQYUU.js} +18 -19
  48. package/dist/chunks/{enable-6RMJPNW5.js → enable-HUMYCGKA.js} +15 -14
  49. package/dist/chunks/{exec-G4AUF3KG.js → exec-CNBOV577.js} +3 -3
  50. package/dist/chunks/{export-3NC3DPRR.js → export-KGHH4WAT.js} +16 -15
  51. package/dist/chunks/{image-FGP5UVA5.js → image-OO3WWKZV.js} +6 -8
  52. package/dist/chunks/{inspect-FDF5WZMM.js → inspect-5TNHHD2M.js} +11 -13
  53. package/dist/chunks/{inspect-N5DHCKLZ.js → inspect-FNUCB7Y3.js} +9 -11
  54. package/dist/chunks/{inspect-AF5J3QDV.js → inspect-KSSQEAW7.js} +12 -16
  55. package/dist/chunks/{inspect-56OMR6RC.js → inspect-Z6SSD2SR.js} +9 -11
  56. package/dist/chunks/{list-PLG2ZHBA.js → list-TXNYRVJG.js} +9 -11
  57. package/dist/chunks/{list-F2AW7L3D.js → list-X2AD3HCX.js} +11 -14
  58. package/dist/chunks/{login-LQRR64K7.js → login-SLPCZ2OF.js} +14 -17
  59. package/dist/chunks/{ls-FWPYY7GH.js → ls-2YSINRJ3.js} +11 -14
  60. package/dist/chunks/{ls-EKNQN3V4.js → ls-4QMJLQQL.js} +11 -14
  61. package/dist/chunks/{ls-HZDBJLMG.js → ls-C7MNQ4IK.js} +13 -16
  62. package/dist/chunks/{ls-E7FYH3DW.js → ls-QLTOY23G.js} +10 -13
  63. package/dist/chunks/{publish-PDGTM3M7.js → publish-GV4LLLXP.js} +14 -13
  64. package/dist/chunks/{query-MUQKKYXI.js → query-3AHRMAPA.js} +11 -13
  65. package/dist/chunks/{reorder-B76HXU6D.js → reorder-VSVOPNM4.js} +18 -17
  66. package/dist/chunks/{restore-2PYXS4NP.js → restore-FKYCF73P.js} +20 -19
  67. package/dist/chunks/{rm-GZW2IDWX.js → rm-4QCXZRC2.js} +11 -14
  68. package/dist/chunks/{rm-SD3EJRXY.js → rm-UTFG42FN.js} +9 -12
  69. package/dist/chunks/{rm-SFC67P5U.js → rm-YV5WQKQM.js} +10 -13
  70. package/dist/chunks/{rule-inspect-MSPP3V4O.js → rule-inspect-IONN4MTP.js} +10 -13
  71. package/dist/chunks/{rules-AN32QRP7.js → rules-S2KPV7HY.js} +9 -11
  72. package/dist/chunks/{schema-2GYFHMCN.js → schema-3LX3V2HE.js} +12 -13
  73. package/dist/chunks/{tags-ULDC3YLP.js → tags-CQ4FRIJ4.js} +5 -7
  74. package/dist/chunks/{types-2TPA6J4G.js → types-QKLIFDDP.js} +5 -5
  75. package/dist/chunks/{update-NE62WKTZ.js → update-U7OGHCP5.js} +10 -13
  76. package/dist/commands/build/index.js +43 -38
  77. package/dist/commands/deploy/index.js +58 -75
  78. package/dist/commands/dev/index.js +206 -163
  79. package/dist/commands/env/index.js +77 -44
  80. package/dist/commands/link/index.js +26 -29
  81. package/dist/commands/list/index.js +15 -19
  82. package/dist/commands-bulk.js +3103 -1872
  83. package/dist/index.js +30 -33
  84. package/dist/version.mjs +1 -1
  85. package/package.json +22 -23
  86. package/dist/chunks/chunk-IC4YEIGW.js +0 -101
  87. package/dist/chunks/chunk-LXF3AXHM.js +0 -158
  88. package/dist/chunks/chunk-SGL3NMOP.js +0 -86
@@ -6,32 +6,32 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  vcrCommand
9
- } from "./chunk-5OT26JZN.js";
9
+ } from "./chunk-3VS4DTAU.js";
10
10
  import {
11
11
  metricsCommand
12
- } from "./chunk-JJWESW5Y.js";
12
+ } from "./chunk-4G6QZSBL.js";
13
13
  import {
14
14
  routesCommand
15
- } from "./chunk-DREO3DFB.js";
15
+ } from "./chunk-VZSZBD4V.js";
16
16
  import {
17
17
  activityCommand
18
- } from "./chunk-5AJNUXWP.js";
18
+ } from "./chunk-3PKFXNJZ.js";
19
19
  import {
20
20
  alertsCommand
21
- } from "./chunk-7S3QUMIG.js";
21
+ } from "./chunk-YS6EDZHB.js";
22
22
  import {
23
23
  devCommand
24
- } from "./chunk-IDMKFYEA.js";
24
+ } from "./chunk-OGG6UBXK.js";
25
25
  import {
26
26
  listCommand
27
- } from "./chunk-HA7C7SDO.js";
27
+ } from "./chunk-LHFNIZ2P.js";
28
28
  import {
29
29
  buildCommand,
30
30
  pullCommand
31
- } from "./chunk-K2THP63Z.js";
31
+ } from "./chunk-EYNXG3FO.js";
32
32
  import {
33
33
  envCommand
34
- } from "./chunk-YGSTSVXS.js";
34
+ } from "./chunk-2MXGTALG.js";
35
35
  import {
36
36
  confirmOption,
37
37
  deploymentOption,
@@ -40,13 +40,11 @@ import {
40
40
  jsonOption,
41
41
  limitOption,
42
42
  nextOption,
43
+ packageName,
43
44
  projectOption,
44
45
  protectionBypassOption,
45
46
  yesOption
46
- } from "./chunk-EHTPDXTS.js";
47
- import {
48
- packageName
49
- } from "./chunk-P6AK7SVK.js";
47
+ } from "./chunk-KSSNLCL4.js";
50
48
  import {
51
49
  output_manager_default
52
50
  } from "./chunk-OX7KI3LF.js";
@@ -3416,6 +3414,7 @@ var overviewSubcommand = {
3416
3414
  description: "Show a summary of your project's firewall configuration, including active rules, IP blocks, bypasses, and any unpublished draft changes",
3417
3415
  arguments: [],
3418
3416
  options: [
3417
+ projectOption,
3419
3418
  {
3420
3419
  name: "json",
3421
3420
  shorthand: null,
@@ -3437,6 +3436,7 @@ var diffSubcommand = {
3437
3436
  description: "Show draft changes that have been made but are not yet published to production",
3438
3437
  arguments: [],
3439
3438
  options: [
3439
+ projectOption,
3440
3440
  {
3441
3441
  name: "json",
3442
3442
  shorthand: null,
@@ -3457,7 +3457,7 @@ var publishSubcommand = {
3457
3457
  aliases: [],
3458
3458
  description: "Publish all draft firewall changes to production, making them live immediately",
3459
3459
  arguments: [],
3460
- options: [yesOption],
3460
+ options: [projectOption, yesOption],
3461
3461
  examples: [
3462
3462
  {
3463
3463
  name: "Publish draft changes",
@@ -3474,7 +3474,7 @@ var discardSubcommand = {
3474
3474
  aliases: [],
3475
3475
  description: "Permanently discard all unpublished draft changes, reverting to the current production configuration",
3476
3476
  arguments: [],
3477
- options: [yesOption],
3477
+ options: [projectOption, yesOption],
3478
3478
  examples: [
3479
3479
  {
3480
3480
  name: "Discard draft changes",
@@ -3492,6 +3492,7 @@ var systemBypassListSubcommand = {
3492
3492
  description: "List all system bypass rules that allow specific IPs to skip firewall checks",
3493
3493
  arguments: [],
3494
3494
  options: [
3495
+ projectOption,
3495
3496
  {
3496
3497
  name: "json",
3497
3498
  shorthand: null,
@@ -3513,6 +3514,7 @@ var systemBypassAddSubcommand = {
3513
3514
  description: "Add a system bypass rule to allow a specific IP address to skip firewall checks. Takes effect immediately (no publish required)",
3514
3515
  arguments: [{ name: "ip", required: true }],
3515
3516
  options: [
3517
+ projectOption,
3516
3518
  {
3517
3519
  name: "domain",
3518
3520
  shorthand: null,
@@ -3546,6 +3548,7 @@ var systemBypassRemoveSubcommand = {
3546
3548
  description: "Remove a system bypass rule so the IP is no longer exempt from firewall checks. Takes effect immediately (no publish required)",
3547
3549
  arguments: [{ name: "ip", required: true }],
3548
3550
  options: [
3551
+ projectOption,
3549
3552
  {
3550
3553
  name: "domain",
3551
3554
  shorthand: null,
@@ -3594,6 +3597,7 @@ var ipBlocksListSubcommand = {
3594
3597
  description: "List all IP blocking rules, including any unpublished draft changes",
3595
3598
  arguments: [],
3596
3599
  options: [
3600
+ projectOption,
3597
3601
  {
3598
3602
  name: "json",
3599
3603
  shorthand: null,
@@ -3615,6 +3619,7 @@ var ipBlocksBlockSubcommand = {
3615
3619
  description: "Block an IP address or CIDR range from accessing your project. Stages a draft change \u2014 run `publish` to make it live",
3616
3620
  arguments: [{ name: "ip", required: true }],
3617
3621
  options: [
3622
+ projectOption,
3618
3623
  {
3619
3624
  name: "hostname",
3620
3625
  shorthand: null,
@@ -3652,6 +3657,7 @@ var ipBlocksUnblockSubcommand = {
3652
3657
  description: "Remove an IP blocking rule to allow the address to access your project again. Stages a draft change \u2014 run `publish` to make it live",
3653
3658
  arguments: [{ name: "id-or-ip", required: true }],
3654
3659
  options: [
3660
+ projectOption,
3655
3661
  {
3656
3662
  name: "hostname",
3657
3663
  shorthand: null,
@@ -3708,6 +3714,7 @@ var rulesListSubcommand2 = {
3708
3714
  description: "List all custom firewall rules, including any unpublished draft changes",
3709
3715
  arguments: [],
3710
3716
  options: [
3717
+ projectOption,
3711
3718
  {
3712
3719
  name: "expand",
3713
3720
  shorthand: "e",
@@ -3740,6 +3747,7 @@ var rulesInspectSubcommand = {
3740
3747
  description: "Show the full configuration of a custom firewall rule, including conditions, action, and rate limit settings",
3741
3748
  arguments: [{ name: "name-or-id", required: true }],
3742
3749
  options: [
3750
+ projectOption,
3743
3751
  {
3744
3752
  name: "json",
3745
3753
  shorthand: null,
@@ -3765,6 +3773,7 @@ var rulesAddSubcommand2 = {
3765
3773
  description: "Create a new custom firewall rule using AI, an interactive builder, JSON, or command-line flags. Stages a draft change \u2014 run `publish` to make it live",
3766
3774
  arguments: [{ name: "name", required: false }],
3767
3775
  options: [
3776
+ projectOption,
3768
3777
  {
3769
3778
  name: "ai",
3770
3779
  shorthand: null,
@@ -3901,6 +3910,7 @@ var rulesEditSubcommand2 = {
3901
3910
  description: "Edit an existing custom firewall rule using AI, an interactive editor, JSON, or command-line flags. Stages a draft change \u2014 run `publish` to make it live",
3902
3911
  arguments: [{ name: "name-or-id", required: true }],
3903
3912
  options: [
3913
+ projectOption,
3904
3914
  {
3905
3915
  name: "ai",
3906
3916
  shorthand: null,
@@ -4050,7 +4060,7 @@ var rulesEnableSubcommand = {
4050
4060
  aliases: [],
4051
4061
  description: "Enable a disabled custom firewall rule. Stages a draft change \u2014 run `publish` to make it live",
4052
4062
  arguments: [{ name: "name-or-id", required: true }],
4053
- options: [yesOption],
4063
+ options: [projectOption, yesOption],
4054
4064
  examples: [
4055
4065
  {
4056
4066
  name: "Enable a rule",
@@ -4063,7 +4073,7 @@ var rulesDisableSubcommand = {
4063
4073
  aliases: [],
4064
4074
  description: "Disable a custom firewall rule without removing it. Stages a draft change \u2014 run `publish` to make it live",
4065
4075
  arguments: [{ name: "name-or-id", required: true }],
4066
- options: [yesOption],
4076
+ options: [projectOption, yesOption],
4067
4077
  examples: [
4068
4078
  {
4069
4079
  name: "Disable a rule",
@@ -4076,7 +4086,7 @@ var rulesRemoveSubcommand2 = {
4076
4086
  aliases: ["rm", "delete"],
4077
4087
  description: "Remove a custom firewall rule. Stages a draft change \u2014 run `publish` to make it live",
4078
4088
  arguments: [{ name: "name-or-id", required: true }],
4079
- options: [yesOption],
4089
+ options: [projectOption, yesOption],
4080
4090
  examples: [
4081
4091
  {
4082
4092
  name: "Remove a rule",
@@ -4090,6 +4100,7 @@ var rulesReorderSubcommand = {
4090
4100
  description: "Change the priority order of a custom firewall rule. Stages a draft change \u2014 run `publish` to make it live",
4091
4101
  arguments: [{ name: "name-or-id", required: true }],
4092
4102
  options: [
4103
+ projectOption,
4093
4104
  {
4094
4105
  name: "position",
4095
4106
  shorthand: null,
@@ -4165,6 +4176,7 @@ var attackModeEnableSubcommand = {
4165
4176
  description: "Enable attack mode \u2014 all visitors will be shown a verification challenge before accessing your site. Takes effect immediately (no publish required)",
4166
4177
  arguments: [],
4167
4178
  options: [
4179
+ projectOption,
4168
4180
  {
4169
4181
  name: "duration",
4170
4182
  shorthand: null,
@@ -4190,7 +4202,7 @@ var attackModeDisableSubcommand = {
4190
4202
  aliases: [],
4191
4203
  description: "Disable attack mode \u2014 visitors will no longer be challenged. Takes effect immediately (no publish required)",
4192
4204
  arguments: [],
4193
- options: [yesOption],
4205
+ options: [projectOption, yesOption],
4194
4206
  examples: [
4195
4207
  {
4196
4208
  name: "Disable attack mode",
@@ -4221,7 +4233,7 @@ var systemMitigationsPauseSubcommand = {
4221
4233
  aliases: [],
4222
4234
  description: "Pause automatic DDoS protection and system-level traffic filtering for 24 hours. Takes effect immediately (no publish required)",
4223
4235
  arguments: [],
4224
- options: [yesOption],
4236
+ options: [projectOption, yesOption],
4225
4237
  examples: [
4226
4238
  {
4227
4239
  name: "Pause system mitigations",
@@ -4234,7 +4246,7 @@ var systemMitigationsResumeSubcommand = {
4234
4246
  aliases: [],
4235
4247
  description: "Resume automatic DDoS protection and system-level traffic filtering. Takes effect immediately (no publish required)",
4236
4248
  arguments: [],
4237
- options: [yesOption],
4249
+ options: [projectOption, yesOption],
4238
4250
  examples: [
4239
4251
  {
4240
4252
  name: "Resume system mitigations",
@@ -4467,6 +4479,131 @@ var inspectSubcommand3 = {
4467
4479
  }
4468
4480
  ]
4469
4481
  };
4482
+ var versionsListSubcommand = {
4483
+ name: "list",
4484
+ aliases: ["ls"],
4485
+ default: true,
4486
+ description: "List version history for a feature flag",
4487
+ arguments: [
4488
+ {
4489
+ name: "flag",
4490
+ required: true
4491
+ }
4492
+ ],
4493
+ options: [
4494
+ projectOption,
4495
+ {
4496
+ name: "environment",
4497
+ shorthand: "e",
4498
+ type: String,
4499
+ deprecated: false,
4500
+ description: "Filter versions by changed environment",
4501
+ argument: "ENV"
4502
+ },
4503
+ {
4504
+ name: "limit",
4505
+ shorthand: null,
4506
+ type: Number,
4507
+ deprecated: false,
4508
+ description: "Return at most NUMBER versions (1-100)",
4509
+ argument: "NUMBER"
4510
+ },
4511
+ {
4512
+ name: "cursor",
4513
+ shorthand: null,
4514
+ type: String,
4515
+ deprecated: false,
4516
+ description: "Pagination cursor from a previous versions response",
4517
+ argument: "CURSOR"
4518
+ },
4519
+ {
4520
+ name: "json",
4521
+ shorthand: null,
4522
+ type: Boolean,
4523
+ deprecated: false,
4524
+ description: "Output in JSON format"
4525
+ }
4526
+ ],
4527
+ examples: [
4528
+ {
4529
+ name: "List version history for a feature flag",
4530
+ value: `${packageName} flags versions my-feature-flag`
4531
+ },
4532
+ {
4533
+ name: "List version history using the explicit list subcommand",
4534
+ value: `${packageName} flags versions list my-feature-flag`
4535
+ },
4536
+ {
4537
+ name: "List production version history",
4538
+ value: `${packageName} flags versions my-feature-flag --environment production`
4539
+ },
4540
+ {
4541
+ name: "List the next page of version history",
4542
+ value: `${packageName} flags versions my-feature-flag --limit 10 --cursor <cursor>`
4543
+ },
4544
+ {
4545
+ name: "List version history as JSON",
4546
+ value: `${packageName} flags versions my-feature-flag --json`
4547
+ }
4548
+ ]
4549
+ };
4550
+ var versionsDiffSubcommand = {
4551
+ name: "diff",
4552
+ aliases: [],
4553
+ description: "Show changes introduced by a feature flag version",
4554
+ arguments: [
4555
+ {
4556
+ name: "flag",
4557
+ required: true
4558
+ }
4559
+ ],
4560
+ options: [
4561
+ projectOption,
4562
+ {
4563
+ name: "revision",
4564
+ shorthand: null,
4565
+ type: Number,
4566
+ deprecated: false,
4567
+ description: "Revision number to compare with the previous revision",
4568
+ argument: "NUMBER"
4569
+ },
4570
+ {
4571
+ name: "json",
4572
+ shorthand: null,
4573
+ type: Boolean,
4574
+ deprecated: false,
4575
+ description: "Output the diff in JSON format"
4576
+ }
4577
+ ],
4578
+ examples: [
4579
+ {
4580
+ name: "Show what changed in a revision",
4581
+ value: `${packageName} flags versions diff my-feature-flag --revision 4`
4582
+ },
4583
+ {
4584
+ name: "Show the revision diff as JSON",
4585
+ value: `${packageName} flags versions diff my-feature-flag --revision 4 --json`
4586
+ }
4587
+ ]
4588
+ };
4589
+ var versionsSubcommand = {
4590
+ name: "versions",
4591
+ aliases: [],
4592
+ description: "List and compare version history for a feature flag",
4593
+ arguments: [],
4594
+ subcommands: [versionsListSubcommand, versionsDiffSubcommand],
4595
+ options: [],
4596
+ examples: [
4597
+ {
4598
+ name: "List version history for a feature flag",
4599
+ value: `${packageName} flags versions my-feature-flag`
4600
+ },
4601
+ {
4602
+ name: "Show what changed in a revision",
4603
+ value: `${packageName} flags versions diff my-feature-flag --revision 4`
4604
+ }
4605
+ ]
4606
+ };
4470
4607
  var createSubcommand4 = {
4471
4608
  name: "create",
4472
4609
  aliases: ["add"],
@@ -4903,6 +5040,7 @@ var rulesListSubcommand3 = {
4903
5040
  }
4904
5041
  ],
4905
5042
  options: [
5043
+ projectOption,
4906
5044
  {
4907
5045
  name: "environment",
4908
5046
  shorthand: "e",
@@ -4941,6 +5079,7 @@ var rulesAddSubcommand3 = {
4941
5079
  }
4942
5080
  ],
4943
5081
  options: [
5082
+ projectOption,
4944
5083
  {
4945
5084
  name: "environment",
4946
5085
  shorthand: "e",
@@ -4998,6 +5137,7 @@ var rulesUpdateSubcommand = {
4998
5137
  }
4999
5138
  ],
5000
5139
  options: [
5140
+ projectOption,
5001
5141
  {
5002
5142
  name: "environment",
5003
5143
  shorthand: "e",
@@ -5043,6 +5183,7 @@ var rulesRemoveSubcommand3 = {
5043
5183
  }
5044
5184
  ],
5045
5185
  options: [
5186
+ projectOption,
5046
5187
  {
5047
5188
  name: "environment",
5048
5189
  shorthand: "e",
@@ -5075,6 +5216,7 @@ var rulesMoveSubcommand = {
5075
5216
  }
5076
5217
  ],
5077
5218
  options: [
5219
+ projectOption,
5078
5220
  {
5079
5221
  name: "environment",
5080
5222
  shorthand: "e",
@@ -5691,6 +5833,7 @@ var flagsCommand = {
5691
5833
  subcommands: [
5692
5834
  listSubcommand11,
5693
5835
  inspectSubcommand3,
5836
+ versionsSubcommand,
5694
5837
  createSubcommand4,
5695
5838
  openSubcommand2,
5696
5839
  updateSubcommand3,
@@ -5722,7 +5865,7 @@ var connectSubcommand = {
5722
5865
  required: false
5723
5866
  }
5724
5867
  ],
5725
- options: [yesOption, confirmOption],
5868
+ options: [projectOption, yesOption, confirmOption],
5726
5869
  examples: [
5727
5870
  {
5728
5871
  name: "Connect your Vercel Project to your Git repository defined in your local `.git` config",
@@ -5739,7 +5882,7 @@ var disconnectSubcommand = {
5739
5882
  aliases: [],
5740
5883
  description: "Disconnect the Git repository from your Vercel Project",
5741
5884
  arguments: [],
5742
- options: [yesOption, confirmOption],
5885
+ options: [projectOption, yesOption, confirmOption],
5743
5886
  examples: [
5744
5887
  {
5745
5888
  name: "Disconnect the Git repository",
@@ -6981,7 +7124,7 @@ var CommandTimeout = "5 minutes";
6981
7124
  var logsCommand = {
6982
7125
  name: "logs",
6983
7126
  aliases: ["log"],
6984
- description: "Display request logs for a project.\n\nSource types: \u03BB = serverless, \u03B5 = edge/middleware, \u25C7 = static/external",
7127
+ description: "Display request logs for a project.\n\nWith --follow, stream live runtime logs from a deployment. When no deployment is specified, resolves in order: latest deployment on the current git branch, then your latest deployment, then the latest production deployment. Use --environment production to always stream the latest production deployment.\n\nSource types: \u03BB = serverless, \u03B5 = edge/middleware, \u25C7 = static/external",
6985
7128
  arguments: [
6986
7129
  {
6987
7130
  name: "url|deploymentId",
@@ -7002,7 +7145,7 @@ var logsCommand = {
7002
7145
  shorthand: null,
7003
7146
  type: String,
7004
7147
  deprecated: false,
7005
- description: "Filter by environment: production or preview"
7148
+ description: "Filter by environment: production or preview. With --follow, selects which environment to stream (production always streams the latest production deployment)"
7006
7149
  },
7007
7150
  {
7008
7151
  name: "level",
@@ -7058,7 +7201,7 @@ var logsCommand = {
7058
7201
  shorthand: "f",
7059
7202
  type: Boolean,
7060
7203
  deprecated: false,
7061
- description: "Stream live runtime logs for a deployment"
7204
+ description: "Stream live runtime logs. Without a deployment, follows the latest deployment on the current git branch, then your latest deployment, then the latest production deployment"
7062
7205
  },
7063
7206
  {
7064
7207
  name: "no-follow",
@@ -7093,7 +7236,7 @@ var logsCommand = {
7093
7236
  shorthand: "x",
7094
7237
  type: Boolean,
7095
7238
  deprecated: false,
7096
- description: "Show full log message below each request line"
7239
+ description: "Show full log message below each request line (default when output is not a TTY)"
7097
7240
  },
7098
7241
  {
7099
7242
  name: "branch",
@@ -7111,6 +7254,14 @@ var logsCommand = {
7111
7254
  }
7112
7255
  ],
7113
7256
  examples: [
7257
+ {
7258
+ name: "Stream live logs for your most recent deployment",
7259
+ value: `${packageName} logs --follow`
7260
+ },
7261
+ {
7262
+ name: "Stream live logs for the latest production deployment",
7263
+ value: `${packageName} logs --follow --environment production`
7264
+ },
7114
7265
  {
7115
7266
  name: "Stream live logs for a deployment URL",
7116
7267
  value: `${packageName} logs https://my-app-xxxxx.vercel.app --follow`
@@ -7120,7 +7271,7 @@ var logsCommand = {
7120
7271
  value: `${packageName} logs dpl_xxxxx --follow`
7121
7272
  },
7122
7273
  {
7123
- name: "Stream logs for the latest production deployment of a project",
7274
+ name: "Stream logs for a specific project",
7124
7275
  value: `${packageName} logs --project my-app --follow`
7125
7276
  },
7126
7277
  {
@@ -8183,6 +8334,7 @@ var listSubcommand14 = {
8183
8334
  description: "List all redirects for the current project. These redirects apply to all deployments and environments. There may also be redirects defined in a deployment that are not listed here.",
8184
8335
  arguments: [],
8185
8336
  options: [
8337
+ projectOption,
8186
8338
  {
8187
8339
  name: "search",
8188
8340
  description: "Search for redirects by source or destination",
@@ -8247,7 +8399,7 @@ var listVersionsSubcommand = {
8247
8399
  aliases: ["ls-versions"],
8248
8400
  description: "List all versions of redirects",
8249
8401
  arguments: [],
8250
- options: [],
8402
+ options: [projectOption],
8251
8403
  examples: [
8252
8404
  {
8253
8405
  name: "List all redirect versions",
@@ -8270,6 +8422,7 @@ var addSubcommand9 = {
8270
8422
  }
8271
8423
  ],
8272
8424
  options: [
8425
+ projectOption,
8273
8426
  {
8274
8427
  name: "status",
8275
8428
  description: "HTTP status code (301, 302, 307, or 308)",
@@ -8335,6 +8488,7 @@ var uploadSubcommand = {
8335
8488
  }
8336
8489
  ],
8337
8490
  options: [
8491
+ projectOption,
8338
8492
  {
8339
8493
  ...yesOption,
8340
8494
  description: "Skip confirmation prompt"
@@ -8377,6 +8531,7 @@ var removeSubcommand12 = {
8377
8531
  }
8378
8532
  ],
8379
8533
  options: [
8534
+ projectOption,
8380
8535
  {
8381
8536
  ...yesOption,
8382
8537
  description: "Skip the confirmation prompt when removing a redirect"
@@ -8400,6 +8555,7 @@ var promoteSubcommand = {
8400
8555
  }
8401
8556
  ],
8402
8557
  options: [
8558
+ projectOption,
8403
8559
  {
8404
8560
  ...yesOption,
8405
8561
  description: "Skip the confirmation prompt when promoting"
@@ -8423,6 +8579,7 @@ var restoreSubcommand = {
8423
8579
  }
8424
8580
  ],
8425
8581
  options: [
8582
+ projectOption,
8426
8583
  {
8427
8584
  ...yesOption,
8428
8585
  description: "Skip the confirmation prompt when restoring"
@@ -8838,6 +8995,7 @@ var listSubcommand15 = {
8838
8995
  arguments: [],
8839
8996
  options: [
8840
8997
  formatOption,
8998
+ projectOption,
8841
8999
  {
8842
9000
  ...yesOption,
8843
9001
  description: "Skip confirmation when linking is required (e.g. in non-interactive mode)"
@@ -10316,6 +10474,9 @@ export {
10316
10474
  formatFlagConditionComparator,
10317
10475
  listSubcommand11,
10318
10476
  inspectSubcommand3,
10477
+ versionsListSubcommand,
10478
+ versionsDiffSubcommand,
10479
+ versionsSubcommand,
10319
10480
  createSubcommand4,
10320
10481
  openSubcommand2,
10321
10482
  updateSubcommand3,
@@ -6,19 +6,17 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  resolveAlertsScope
9
- } from "./chunk-HMMPJ3VD.js";
9
+ } from "./chunk-2C2JJTAM.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
13
13
  validateAllProjectMutualExclusivity
14
14
  } from "./chunk-BUZRVER7.js";
15
15
  import {
16
- AGENT_REASON
17
- } from "./chunk-IC4YEIGW.js";
18
- import {
16
+ AGENT_REASON,
19
17
  buildCommandWithGlobalFlags,
20
18
  outputAgentError
21
- } from "./chunk-CB3I3QIT.js";
19
+ } from "./chunk-UDWRZXIT.js";
22
20
 
23
21
  // src/commands/alerts/rules/parse-scope.ts
24
22
  async function parseRulesFlagsAndScope(client, flags, jsonOutput) {