vercel 51.2.0 → 51.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 (70) hide show
  1. package/dist/chunks/add-3MIOUOZC.js +180 -0
  2. package/dist/chunks/{chunk-K4IC7LFB.js → chunk-2JQVASXJ.js} +13 -8
  3. package/dist/chunks/{chunk-Q6BEDVOU.js → chunk-4PQA6H63.js} +1 -1
  4. package/dist/chunks/{chunk-IS2HEMF4.js → chunk-4RBF6ZDU.js} +4 -2
  5. package/dist/chunks/{chunk-V23RAVWV.js → chunk-4VP55L4V.js} +211 -504
  6. package/dist/chunks/{chunk-TBW2XDGN.js → chunk-4WRHMYCG.js} +6 -6
  7. package/dist/chunks/chunk-4ZWTYJSP.js +139 -0
  8. package/dist/chunks/{chunk-7IDNCLTM.js → chunk-APGVHLAW.js} +2 -2
  9. package/dist/chunks/{chunk-UZIEJEMY.js → chunk-BAUYQ7AR.js} +1 -1
  10. package/dist/chunks/{chunk-BUBUVE23.js → chunk-BJQTGP42.js} +4 -2
  11. package/dist/chunks/{chunk-WOFF2NEI.js → chunk-BU3JMDDH.js} +3 -3
  12. package/dist/chunks/chunk-CGTXAXZ4.js +484 -0
  13. package/dist/chunks/{chunk-BQUQ5F7R.js → chunk-CRZM5WM2.js} +4 -2
  14. package/dist/chunks/{chunk-RQTDTSAX.js → chunk-CZXW3DJH.js} +2 -2
  15. package/dist/chunks/chunk-DVQ4SIWF.js +183 -0
  16. package/dist/chunks/{chunk-TWZWQGBN.js → chunk-E3NE4SKN.js} +3 -0
  17. package/dist/chunks/{chunk-A4NVECX5.js → chunk-ECRBC4HL.js} +4 -581
  18. package/dist/chunks/{chunk-65IHMJX4.js → chunk-FNFZO3WQ.js} +7 -5
  19. package/dist/chunks/{chunk-L2BKVTHL.js → chunk-G6RXZLQ2.js} +2 -2
  20. package/dist/chunks/{chunk-4YZKA4FN.js → chunk-GE6G37P4.js} +1 -1
  21. package/dist/chunks/{chunk-NELCIT4M.js → chunk-GLDQ23LD.js} +1 -1
  22. package/dist/chunks/{chunk-D7SZ3DXR.js → chunk-GYBFQLYR.js} +6 -4
  23. package/dist/chunks/{chunk-ZL5SYUAG.js → chunk-JEON5XEH.js} +44 -13
  24. package/dist/chunks/{chunk-Y5YCSB6X.js → chunk-LDXYSGPZ.js} +2 -2
  25. package/dist/chunks/{chunk-U5J73OA3.js → chunk-N45K6NXC.js} +1 -1
  26. package/dist/chunks/{chunk-YKKQGGLZ.js → chunk-NCQBQGI6.js} +2 -2
  27. package/dist/chunks/chunk-NE34PEHL.js +167 -0
  28. package/dist/chunks/{chunk-A5XRYFVO.js → chunk-OFUQPP26.js} +10 -6
  29. package/dist/chunks/{chunk-NYO5XRBQ.js → chunk-R2BVH5SQ.js} +1 -1
  30. package/dist/chunks/chunk-RFMC2QXQ.js +602 -0
  31. package/dist/chunks/{chunk-XHMU7WUB.js → chunk-RHXEHBO3.js} +8 -6
  32. package/dist/chunks/{chunk-5CRSHCRD.js → chunk-RRYVGOVK.js} +1 -1
  33. package/dist/chunks/{chunk-3PEFANXY.js → chunk-T7CL42FK.js} +5 -5
  34. package/dist/chunks/{chunk-WXNT7WJO.js → chunk-TAOVG4PS.js} +49 -4
  35. package/dist/chunks/{chunk-6DIXPIXB.js → chunk-UB325PS7.js} +1 -1
  36. package/dist/chunks/{chunk-2IAZZEVQ.js → chunk-UWKTUK3W.js} +4 -2
  37. package/dist/chunks/{chunk-VE7MY76H.js → chunk-VGWGLBUC.js} +4 -2
  38. package/dist/chunks/{chunk-F2ROYUW2.js → chunk-VMTOBGCO.js} +425 -28
  39. package/dist/chunks/{chunk-XMVSCINT.js → chunk-ZS5VKEZL.js} +5 -3
  40. package/dist/chunks/{compile-vercel-config-6FEECIZK.js → compile-vercel-config-A2SLMCWK.js} +4 -2
  41. package/dist/chunks/{delete-J2N2QXMP.js → delete-SEQBCYWT.js} +8 -6
  42. package/dist/chunks/{disable-QGYXQKAM.js → disable-GRM5DJGU.js} +8 -6
  43. package/dist/chunks/{discard-ZDGJB5US.js → discard-IVQWWSPI.js} +8 -6
  44. package/dist/chunks/{edit-RJWDA5KJ.js → edit-YTMZBT4Y.js} +9 -7
  45. package/dist/chunks/{enable-L33HPTXB.js → enable-SSU3MG6J.js} +8 -6
  46. package/dist/chunks/{export-Z5C4BJ2U.js → export-INCDZTYW.js} +8 -6
  47. package/dist/chunks/inspect-QMY2ZE6J.js +353 -0
  48. package/dist/chunks/{list-HXN64DKX.js → list-FF4VGSZ2.js} +115 -85
  49. package/dist/chunks/{list-4P2TW77C.js → list-MMIBPSB3.js} +10 -7
  50. package/dist/chunks/ls-TYEDISJD.js +114 -0
  51. package/dist/chunks/{publish-TLVHQB2H.js → publish-OJQCVDL5.js} +8 -6
  52. package/dist/chunks/{query-SDKQTWN2.js → query-LACPOOBL.js} +15 -12
  53. package/dist/chunks/{reorder-UHMUFYIW.js → reorder-TBFWHFQZ.js} +8 -6
  54. package/dist/chunks/{restore-762GO6HU.js → restore-5LUZRUME.js} +8 -6
  55. package/dist/chunks/rm-LDXY2G45.js +164 -0
  56. package/dist/chunks/rule-inspect-THIN6POX.js +142 -0
  57. package/dist/chunks/rules-4ZH7VTGC.js +83 -0
  58. package/dist/chunks/{schema-WBOIQRP4.js → schema-OK4OOI2N.js} +9 -7
  59. package/dist/chunks/{types-A4EAQ6F6.js → types-QNN5CDCB.js} +6 -4
  60. package/dist/chunks/update-EXPUPEH6.js +196 -0
  61. package/dist/commands/build/index.js +28 -24
  62. package/dist/commands/deploy/index.js +172 -33
  63. package/dist/commands/dev/index.js +21 -17
  64. package/dist/commands/env/index.js +32 -27
  65. package/dist/commands/link/index.js +21 -17
  66. package/dist/commands/list/index.js +14 -11
  67. package/dist/commands-bulk.js +4566 -1816
  68. package/dist/index.js +38 -24
  69. package/dist/version.mjs +1 -1
  70. package/package.json +18 -18
@@ -6,29 +6,29 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  routesCommand
9
- } from "./chunk-BQUQ5F7R.js";
9
+ } from "./chunk-CRZM5WM2.js";
10
+ import {
11
+ metricsCommand
12
+ } from "./chunk-4RBF6ZDU.js";
10
13
  import {
11
14
  devCommand
12
- } from "./chunk-BUBUVE23.js";
15
+ } from "./chunk-BJQTGP42.js";
13
16
  import {
14
17
  activityCommand
15
- } from "./chunk-2IAZZEVQ.js";
18
+ } from "./chunk-UWKTUK3W.js";
16
19
  import {
17
20
  alertsCommand
18
- } from "./chunk-WXNT7WJO.js";
19
- import {
20
- metricsCommand
21
- } from "./chunk-IS2HEMF4.js";
21
+ } from "./chunk-TAOVG4PS.js";
22
22
  import {
23
23
  listCommand
24
- } from "./chunk-VE7MY76H.js";
24
+ } from "./chunk-VGWGLBUC.js";
25
25
  import {
26
26
  buildCommand,
27
27
  pullCommand
28
- } from "./chunk-XMVSCINT.js";
28
+ } from "./chunk-ZS5VKEZL.js";
29
29
  import {
30
30
  envCommand
31
- } from "./chunk-V23RAVWV.js";
31
+ } from "./chunk-4VP55L4V.js";
32
32
  import {
33
33
  confirmOption,
34
34
  forceOption,
@@ -36,9 +36,11 @@ import {
36
36
  jsonOption,
37
37
  limitOption,
38
38
  nextOption,
39
- packageName,
40
39
  yesOption
41
- } from "./chunk-A4NVECX5.js";
40
+ } from "./chunk-RFMC2QXQ.js";
41
+ import {
42
+ packageName
43
+ } from "./chunk-ECRBC4HL.js";
42
44
  import {
43
45
  output_manager_default
44
46
  } from "./chunk-ZQKJVHXY.js";
@@ -138,7 +140,21 @@ var initSubcommand = {
138
140
  },
139
141
  formatOption,
140
142
  jsonOption,
141
- confirmOption
143
+ confirmOption,
144
+ {
145
+ name: "functions-beta",
146
+ shorthand: null,
147
+ type: Boolean,
148
+ deprecated: false
149
+ // No description — keeps it hidden from --help output
150
+ },
151
+ {
152
+ name: "no-functions-beta",
153
+ shorthand: null,
154
+ type: Boolean,
155
+ deprecated: false
156
+ // No description — keeps it hidden from --help output
157
+ }
142
158
  ],
143
159
  examples: [
144
160
  {
@@ -327,7 +343,21 @@ var deployCommand = {
327
343
  },
328
344
  formatOption,
329
345
  jsonOption,
330
- confirmOption
346
+ confirmOption,
347
+ {
348
+ name: "functions-beta",
349
+ shorthand: null,
350
+ type: Boolean,
351
+ deprecated: false
352
+ // No description — keeps it hidden from --help output
353
+ },
354
+ {
355
+ name: "no-functions-beta",
356
+ shorthand: null,
357
+ type: Boolean,
358
+ deprecated: false
359
+ // No description — keeps it hidden from --help output
360
+ }
331
361
  ],
332
362
  examples: [
333
363
  {
@@ -465,6 +495,75 @@ var agentCommand = {
465
495
  ]
466
496
  };
467
497
 
498
+ // src/commands/ai-gateway/command.ts
499
+ var createSubcommand = {
500
+ name: "create",
501
+ aliases: [],
502
+ description: "Create a new AI Gateway API key",
503
+ arguments: [],
504
+ options: [
505
+ {
506
+ name: "name",
507
+ shorthand: null,
508
+ type: String,
509
+ argument: "NAME",
510
+ deprecated: false,
511
+ description: "Human-readable name for the API key"
512
+ },
513
+ {
514
+ name: "budget",
515
+ shorthand: null,
516
+ type: Number,
517
+ argument: "AMOUNT",
518
+ deprecated: false,
519
+ description: "Quota budget amount in dollars (minimum 1)"
520
+ },
521
+ {
522
+ name: "refresh-period",
523
+ shorthand: null,
524
+ type: String,
525
+ argument: "PERIOD",
526
+ deprecated: false,
527
+ description: "Quota refresh cadence: daily, weekly, monthly, or none (default: none)"
528
+ },
529
+ {
530
+ name: "include-byok",
531
+ shorthand: null,
532
+ type: Boolean,
533
+ deprecated: false,
534
+ description: "Include BYOK usage in quota (default: false)"
535
+ }
536
+ ],
537
+ examples: [
538
+ {
539
+ name: "Create an API key with defaults",
540
+ value: `${packageName} ai-gateway api-keys create`
541
+ },
542
+ {
543
+ name: "Create an API key with a budget",
544
+ value: `${packageName} ai-gateway api-keys create --name my-key --budget 500 --refresh-period monthly`
545
+ }
546
+ ]
547
+ };
548
+ var apiKeysSubcommand = {
549
+ name: "api-keys",
550
+ aliases: [],
551
+ description: "Manage AI Gateway API keys",
552
+ arguments: [],
553
+ subcommands: [createSubcommand],
554
+ options: [],
555
+ examples: []
556
+ };
557
+ var aiGatewayCommand = {
558
+ name: "ai-gateway",
559
+ aliases: [],
560
+ description: "Manage AI Gateway resources",
561
+ arguments: [],
562
+ subcommands: [apiKeysSubcommand],
563
+ options: [],
564
+ examples: []
565
+ };
566
+
468
567
  // src/commands/alias/command.ts
469
568
  var setSubcommand = {
470
569
  name: "set",
@@ -2262,11 +2361,11 @@ var rulesAddSubcommand = {
2262
2361
  description: "Rule description (max 256 chars)"
2263
2362
  },
2264
2363
  {
2265
- name: "inactive",
2364
+ name: "disabled",
2266
2365
  shorthand: null,
2267
2366
  type: Boolean,
2268
2367
  deprecated: false,
2269
- description: "Create as inactive (default: active)"
2368
+ description: "Create as disabled (default: enabled)"
2270
2369
  },
2271
2370
  {
2272
2371
  name: "rate-limit-algo",
@@ -2280,14 +2379,14 @@ var rulesAddSubcommand = {
2280
2379
  shorthand: null,
2281
2380
  type: Number,
2282
2381
  deprecated: false,
2283
- description: "Rate limit window in seconds (required for rate_limit)"
2382
+ description: "Rate limit window in seconds, 10-3600 (required for rate_limit)"
2284
2383
  },
2285
2384
  {
2286
2385
  name: "rate-limit-requests",
2287
2386
  shorthand: null,
2288
2387
  type: Number,
2289
2388
  deprecated: false,
2290
- description: "Rate limit max requests per window (required for rate_limit)"
2389
+ description: "Rate limit max requests per window, 1-10000000 (required for rate_limit)"
2291
2390
  },
2292
2391
  {
2293
2392
  name: "rate-limit-keys",
@@ -2342,6 +2441,235 @@ var rulesAddSubcommand = {
2342
2441
  }
2343
2442
  ]
2344
2443
  };
2444
+ var rulesEditSubcommand = {
2445
+ name: "edit",
2446
+ aliases: [],
2447
+ description: "Edit an existing custom firewall rule using AI, an interactive editor, JSON, or command-line flags",
2448
+ arguments: [{ name: "name-or-id", required: true }],
2449
+ options: [
2450
+ {
2451
+ name: "ai",
2452
+ shorthand: null,
2453
+ type: String,
2454
+ deprecated: false,
2455
+ description: "Describe changes using natural language (AI-powered)"
2456
+ },
2457
+ {
2458
+ name: "json",
2459
+ shorthand: null,
2460
+ type: String,
2461
+ deprecated: false,
2462
+ description: "Replace rule with JSON payload"
2463
+ },
2464
+ {
2465
+ name: "condition",
2466
+ shorthand: null,
2467
+ type: [String],
2468
+ deprecated: false,
2469
+ description: `Replace conditions as JSON (repeatable). Example: '{"type":"path","op":"pre","value":"/api"}'. Fields: type, op, value, key (for header/cookie/query), neg (boolean). Use --or between conditions for OR groups.`
2470
+ },
2471
+ {
2472
+ name: "or",
2473
+ shorthand: null,
2474
+ type: Boolean,
2475
+ deprecated: false,
2476
+ description: "Start a new OR condition group"
2477
+ },
2478
+ {
2479
+ name: "name",
2480
+ shorthand: null,
2481
+ type: String,
2482
+ deprecated: false,
2483
+ description: "Rename the rule"
2484
+ },
2485
+ {
2486
+ name: "action",
2487
+ shorthand: null,
2488
+ type: String,
2489
+ deprecated: false,
2490
+ description: "Change action: deny, challenge, log, bypass, rate_limit, redirect"
2491
+ },
2492
+ {
2493
+ name: "duration",
2494
+ shorthand: null,
2495
+ type: String,
2496
+ deprecated: false,
2497
+ description: "Change action duration: 1m, 5m, 15m, 30m, 1h"
2498
+ },
2499
+ {
2500
+ name: "description",
2501
+ shorthand: null,
2502
+ type: String,
2503
+ deprecated: false,
2504
+ description: 'Change description (use "" to clear)'
2505
+ },
2506
+ {
2507
+ name: "enabled",
2508
+ shorthand: null,
2509
+ type: Boolean,
2510
+ deprecated: false,
2511
+ description: "Set rule to enabled"
2512
+ },
2513
+ {
2514
+ name: "disabled",
2515
+ shorthand: null,
2516
+ type: Boolean,
2517
+ deprecated: false,
2518
+ description: "Set rule to disabled"
2519
+ },
2520
+ {
2521
+ name: "rate-limit-algo",
2522
+ shorthand: null,
2523
+ type: String,
2524
+ deprecated: false,
2525
+ description: "Rate limit algorithm: fixed_window, token_bucket"
2526
+ },
2527
+ {
2528
+ name: "rate-limit-window",
2529
+ shorthand: null,
2530
+ type: Number,
2531
+ deprecated: false,
2532
+ description: "Rate limit window in seconds (10-3600)"
2533
+ },
2534
+ {
2535
+ name: "rate-limit-requests",
2536
+ shorthand: null,
2537
+ type: Number,
2538
+ deprecated: false,
2539
+ description: "Rate limit max requests per window (1-10000000)"
2540
+ },
2541
+ {
2542
+ name: "rate-limit-keys",
2543
+ shorthand: null,
2544
+ type: [String],
2545
+ deprecated: false,
2546
+ description: "Rate limit keys (repeatable): ip, ja4, header:name"
2547
+ },
2548
+ {
2549
+ name: "rate-limit-action",
2550
+ shorthand: null,
2551
+ type: String,
2552
+ deprecated: false,
2553
+ description: "Action when rate limit is exceeded: log, deny, challenge, rate_limit (default: rate_limit)"
2554
+ },
2555
+ {
2556
+ name: "redirect-url",
2557
+ shorthand: null,
2558
+ type: String,
2559
+ deprecated: false,
2560
+ description: "Redirect URL or path"
2561
+ },
2562
+ {
2563
+ name: "redirect-permanent",
2564
+ shorthand: null,
2565
+ type: Boolean,
2566
+ deprecated: false,
2567
+ description: "Permanent redirect (301). Default: temporary (307)"
2568
+ },
2569
+ yesOption
2570
+ ],
2571
+ examples: [
2572
+ {
2573
+ name: "Interactive mode",
2574
+ value: `${packageName} firewall rules edit "My Rule"`
2575
+ },
2576
+ {
2577
+ name: "Edit with AI",
2578
+ value: `${packageName} firewall rules edit "My Rule" --ai "Change action to challenge"`
2579
+ },
2580
+ {
2581
+ name: "Change action via flags",
2582
+ value: `${packageName} firewall rules edit "My Rule" --action challenge --duration 5m --yes`
2583
+ },
2584
+ {
2585
+ name: "Replace conditions",
2586
+ value: `${packageName} firewall rules edit "My Rule" --condition '{"type":"path","op":"pre","value":"/new"}' --yes`
2587
+ },
2588
+ {
2589
+ name: "Rename a rule",
2590
+ value: `${packageName} firewall rules edit "My Rule" --name "New Name" --yes`
2591
+ }
2592
+ ]
2593
+ };
2594
+ var rulesEnableSubcommand = {
2595
+ name: "enable",
2596
+ aliases: [],
2597
+ description: "Enable a disabled custom firewall rule",
2598
+ arguments: [{ name: "name-or-id", required: true }],
2599
+ options: [yesOption],
2600
+ examples: [
2601
+ {
2602
+ name: "Enable a rule",
2603
+ value: `${packageName} firewall rules enable "My Rule"`
2604
+ }
2605
+ ]
2606
+ };
2607
+ var rulesDisableSubcommand = {
2608
+ name: "disable",
2609
+ aliases: [],
2610
+ description: "Disable a custom firewall rule without removing it",
2611
+ arguments: [{ name: "name-or-id", required: true }],
2612
+ options: [yesOption],
2613
+ examples: [
2614
+ {
2615
+ name: "Disable a rule",
2616
+ value: `${packageName} firewall rules disable "My Rule"`
2617
+ }
2618
+ ]
2619
+ };
2620
+ var rulesRemoveSubcommand = {
2621
+ name: "remove",
2622
+ aliases: ["rm", "delete"],
2623
+ description: "Remove a custom firewall rule",
2624
+ arguments: [{ name: "name-or-id", required: true }],
2625
+ options: [yesOption],
2626
+ examples: [
2627
+ {
2628
+ name: "Remove a rule",
2629
+ value: `${packageName} firewall rules remove "My Rule" --yes`
2630
+ }
2631
+ ]
2632
+ };
2633
+ var rulesReorderSubcommand = {
2634
+ name: "reorder",
2635
+ aliases: ["move"],
2636
+ description: "Change the priority order of a custom firewall rule",
2637
+ arguments: [{ name: "name-or-id", required: true }],
2638
+ options: [
2639
+ {
2640
+ name: "position",
2641
+ shorthand: null,
2642
+ type: Number,
2643
+ deprecated: false,
2644
+ description: "Target position (1-based)"
2645
+ },
2646
+ {
2647
+ name: "first",
2648
+ shorthand: null,
2649
+ type: Boolean,
2650
+ deprecated: false,
2651
+ description: "Move to first position"
2652
+ },
2653
+ {
2654
+ name: "last",
2655
+ shorthand: null,
2656
+ type: Boolean,
2657
+ deprecated: false,
2658
+ description: "Move to last position"
2659
+ },
2660
+ yesOption
2661
+ ],
2662
+ examples: [
2663
+ {
2664
+ name: "Move to first position",
2665
+ value: `${packageName} firewall rules reorder "My Rule" --first --yes`
2666
+ },
2667
+ {
2668
+ name: "Move to position 3",
2669
+ value: `${packageName} firewall rules reorder "My Rule" --position 3 --yes`
2670
+ }
2671
+ ]
2672
+ };
2345
2673
  var rulesSubcommand = {
2346
2674
  name: "rules",
2347
2675
  aliases: [],
@@ -2350,7 +2678,12 @@ var rulesSubcommand = {
2350
2678
  subcommands: [
2351
2679
  rulesListSubcommand,
2352
2680
  rulesInspectSubcommand,
2353
- rulesAddSubcommand
2681
+ rulesAddSubcommand,
2682
+ rulesEditSubcommand,
2683
+ rulesEnableSubcommand,
2684
+ rulesDisableSubcommand,
2685
+ rulesRemoveSubcommand,
2686
+ rulesReorderSubcommand
2354
2687
  ],
2355
2688
  options: [],
2356
2689
  examples: [
@@ -2365,6 +2698,10 @@ var rulesSubcommand = {
2365
2698
  {
2366
2699
  name: "Create with AI",
2367
2700
  value: `${packageName} firewall rules add --ai "Rate limit /api to 100 requests per minute by IP"`
2701
+ },
2702
+ {
2703
+ name: "Edit with AI",
2704
+ value: `${packageName} firewall rules edit "My Rule" --ai "Change action to challenge"`
2368
2705
  }
2369
2706
  ]
2370
2707
  };
@@ -2559,7 +2896,7 @@ var inspectSubcommand2 = {
2559
2896
  }
2560
2897
  ]
2561
2898
  };
2562
- var createSubcommand = {
2899
+ var createSubcommand2 = {
2563
2900
  name: "create",
2564
2901
  aliases: ["add"],
2565
2902
  description: "Create a new feature flag",
@@ -2575,7 +2912,7 @@ var createSubcommand = {
2575
2912
  shorthand: "k",
2576
2913
  type: String,
2577
2914
  deprecated: false,
2578
- description: "The type of the flag value (boolean, string, or number)",
2915
+ description: "The type of the flag value (boolean, string, number, or json)",
2579
2916
  argument: "KIND"
2580
2917
  },
2581
2918
  {
@@ -2591,7 +2928,7 @@ var createSubcommand = {
2591
2928
  shorthand: "v",
2592
2929
  type: [String],
2593
2930
  deprecated: false,
2594
- description: "Variant definition as VALUE[=LABEL] (can be repeated for string and number flags)",
2931
+ description: "Variant definition as VALUE[=LABEL] (can be repeated for string, number, and json flags)",
2595
2932
  argument: "VALUE[=LABEL]"
2596
2933
  }
2597
2934
  ],
@@ -2607,6 +2944,10 @@ var createSubcommand = {
2607
2944
  {
2608
2945
  name: "Create a string feature flag with explicit variants",
2609
2946
  value: `${packageName} flags add my-feature --kind string --variant control="Welcome back" --variant treatment="New onboarding"`
2947
+ },
2948
+ {
2949
+ name: "Create a JSON feature flag with explicit variants",
2950
+ value: `${packageName} flags add layout-config --kind json --variant '{"theme":"light"}'=Light --variant '{"theme":"dark","sidebar":true}'=Dark`
2610
2951
  }
2611
2952
  ]
2612
2953
  };
@@ -3056,7 +3397,7 @@ var flagsCommand = {
3056
3397
  subcommands: [
3057
3398
  listSubcommand8,
3058
3399
  inspectSubcommand2,
3059
- createSubcommand,
3400
+ createSubcommand2,
3060
3401
  openSubcommand,
3061
3402
  updateSubcommand2,
3062
3403
  setSubcommand2,
@@ -4907,6 +5248,28 @@ var removeSubcommand10 = {
4907
5248
  options: [],
4908
5249
  examples: []
4909
5250
  };
5251
+ var renameSubcommand = {
5252
+ name: "rename",
5253
+ aliases: [],
5254
+ description: "Rename a project",
5255
+ arguments: [
5256
+ {
5257
+ name: "name",
5258
+ required: true
5259
+ },
5260
+ {
5261
+ name: "new-name",
5262
+ required: true
5263
+ }
5264
+ ],
5265
+ options: [],
5266
+ examples: [
5267
+ {
5268
+ name: "Rename a project",
5269
+ value: `${packageName} project rename my-project my-renamed-project`
5270
+ }
5271
+ ]
5272
+ };
4910
5273
  var tokenSubcommand = {
4911
5274
  name: "token",
4912
5275
  aliases: [],
@@ -5228,6 +5591,7 @@ var projectCommand = {
5228
5591
  protectionSubcommand,
5229
5592
  webAnalyticsSubcommand,
5230
5593
  speedInsightsSubcommand,
5594
+ renameSubcommand,
5231
5595
  removeSubcommand10,
5232
5596
  tokenSubcommand
5233
5597
  ],
@@ -6814,9 +7178,32 @@ var listStoresSubcommand = {
6814
7178
  type: Boolean,
6815
7179
  deprecated: false,
6816
7180
  description: "List all blob stores for the team, not just the ones connected to the current project"
7181
+ },
7182
+ {
7183
+ name: "json",
7184
+ shorthand: null,
7185
+ type: Boolean,
7186
+ deprecated: false,
7187
+ description: "Output results as JSON"
7188
+ },
7189
+ {
7190
+ name: "no-projects",
7191
+ shorthand: null,
7192
+ type: Boolean,
7193
+ deprecated: false,
7194
+ description: "Hide the Projects column (table output only)"
6817
7195
  }
6818
7196
  ],
6819
- examples: []
7197
+ examples: [
7198
+ {
7199
+ name: "List blob stores for the linked project",
7200
+ value: "vercel blob list-stores"
7201
+ },
7202
+ {
7203
+ name: "List all team blob stores as JSON",
7204
+ value: "vercel blob list-stores --all --json"
7205
+ }
7206
+ ]
6820
7207
  };
6821
7208
  var blobCommand = {
6822
7209
  name: "blob",
@@ -6876,7 +7263,7 @@ var getSubcommand3 = {
6876
7263
  options: [formatOption],
6877
7264
  examples: []
6878
7265
  };
6879
- var createSubcommand2 = {
7266
+ var createSubcommand3 = {
6880
7267
  name: "create",
6881
7268
  aliases: ["add"],
6882
7269
  description: "Create a new webhook",
@@ -6937,7 +7324,7 @@ var webhooksCommand = {
6937
7324
  subcommands: [
6938
7325
  listSubcommand16,
6939
7326
  getSubcommand3,
6940
- createSubcommand2,
7327
+ createSubcommand3,
6941
7328
  removeSubcommand13
6942
7329
  ],
6943
7330
  options: [],
@@ -6947,6 +7334,7 @@ var webhooksCommand = {
6947
7334
  // src/commands/index.ts
6948
7335
  var commandsStructs = [
6949
7336
  agentCommand,
7337
+ aiGatewayCommand,
6950
7338
  alertsCommand,
6951
7339
  aliasCommand,
6952
7340
  activityCommand,
@@ -7033,6 +7421,9 @@ var commandNames = Array.from(commands.keys());
7033
7421
 
7034
7422
  export {
7035
7423
  agentCommand,
7424
+ createSubcommand,
7425
+ apiKeysSubcommand,
7426
+ aiGatewayCommand,
7036
7427
  setSubcommand,
7037
7428
  listSubcommand,
7038
7429
  removeSubcommand,
@@ -7106,6 +7497,11 @@ export {
7106
7497
  rulesListSubcommand,
7107
7498
  rulesInspectSubcommand,
7108
7499
  rulesAddSubcommand,
7500
+ rulesEditSubcommand,
7501
+ rulesEnableSubcommand,
7502
+ rulesDisableSubcommand,
7503
+ rulesRemoveSubcommand,
7504
+ rulesReorderSubcommand,
7109
7505
  rulesSubcommand,
7110
7506
  attackModeEnableSubcommand,
7111
7507
  attackModeDisableSubcommand,
@@ -7116,7 +7512,7 @@ export {
7116
7512
  firewallCommand,
7117
7513
  listSubcommand8,
7118
7514
  inspectSubcommand2,
7119
- createSubcommand,
7515
+ createSubcommand2,
7120
7516
  openSubcommand,
7121
7517
  updateSubcommand2,
7122
7518
  setSubcommand2,
@@ -7185,6 +7581,7 @@ export {
7185
7581
  inspectSubcommand3,
7186
7582
  listSubcommand10,
7187
7583
  removeSubcommand10,
7584
+ renameSubcommand,
7188
7585
  tokenSubcommand,
7189
7586
  accessSummarySubcommand,
7190
7587
  membersSubcommand,
@@ -7253,7 +7650,7 @@ export {
7253
7650
  blobCommand,
7254
7651
  listSubcommand16,
7255
7652
  getSubcommand3,
7256
- createSubcommand2,
7653
+ createSubcommand3,
7257
7654
  removeSubcommand13,
7258
7655
  webhooksCommand,
7259
7656
  getCommandAliases,
@@ -6,11 +6,13 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getEnvTargetPlaceholder
9
- } from "./chunk-V23RAVWV.js";
9
+ } from "./chunk-4VP55L4V.js";
10
10
  import {
11
- packageName,
12
11
  yesOption
13
- } from "./chunk-A4NVECX5.js";
12
+ } from "./chunk-RFMC2QXQ.js";
13
+ import {
14
+ packageName
15
+ } from "./chunk-ECRBC4HL.js";
14
16
 
15
17
  // src/commands/build/command.ts
16
18
  var buildCommand = {
@@ -11,10 +11,12 @@ import {
11
11
  findSourceVercelConfigFile,
12
12
  getVercelConfigPath,
13
13
  normalizeConfig
14
- } from "./chunk-V23RAVWV.js";
14
+ } from "./chunk-4VP55L4V.js";
15
15
  import "./chunk-U3WLEFHU.js";
16
+ import "./chunk-CGTXAXZ4.js";
16
17
  import "./chunk-CO5D46AG.js";
17
- import "./chunk-A4NVECX5.js";
18
+ import "./chunk-RFMC2QXQ.js";
19
+ import "./chunk-ECRBC4HL.js";
18
20
  import "./chunk-ZQKJVHXY.js";
19
21
  import "./chunk-S7KYDPEM.js";
20
22
  import "./chunk-TZ2YI2VH.js";
@@ -15,24 +15,26 @@ import {
15
15
  parseSubcommandArgs,
16
16
  resolveRoutes,
17
17
  withGlobalFlags
18
- } from "./chunk-A5XRYFVO.js";
18
+ } from "./chunk-OFUQPP26.js";
19
19
  import {
20
20
  deleteSubcommand
21
- } from "./chunk-BQUQ5F7R.js";
21
+ } from "./chunk-CRZM5WM2.js";
22
22
  import {
23
23
  AGENT_REASON,
24
24
  AGENT_STATUS
25
- } from "./chunk-TWZWQGBN.js";
25
+ } from "./chunk-E3NE4SKN.js";
26
+ import "./chunk-4VP55L4V.js";
27
+ import "./chunk-U3WLEFHU.js";
26
28
  import {
27
29
  outputAgentError
28
- } from "./chunk-V23RAVWV.js";
29
- import "./chunk-U3WLEFHU.js";
30
+ } from "./chunk-CGTXAXZ4.js";
30
31
  import {
31
32
  stamp_default
32
33
  } from "./chunk-CO5D46AG.js";
34
+ import "./chunk-RFMC2QXQ.js";
33
35
  import {
34
36
  getCommandName
35
- } from "./chunk-A4NVECX5.js";
37
+ } from "./chunk-ECRBC4HL.js";
36
38
  import {
37
39
  output_manager_default
38
40
  } from "./chunk-ZQKJVHXY.js";