vercel 51.0.0 → 51.2.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.
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-K4IC7LFB.js";
13
13
  import {
14
14
  loginCommand
15
- } from "./chunk-CCEUMQG3.js";
15
+ } from "./chunk-F2ROYUW2.js";
16
16
  import {
17
17
  help
18
18
  } from "./chunk-Y5YCSB6X.js";
@@ -1581,6 +1581,28 @@ var removeSubcommand4 = {
1581
1581
  ],
1582
1582
  examples: []
1583
1583
  };
1584
+ var priceSubcommand = {
1585
+ name: "price",
1586
+ aliases: [],
1587
+ description: "Show registrar price quote for a domain",
1588
+ arguments: [
1589
+ {
1590
+ name: "domain",
1591
+ required: true
1592
+ }
1593
+ ],
1594
+ options: [formatOption],
1595
+ examples: [
1596
+ {
1597
+ name: "Price quote for a domain",
1598
+ value: `${packageName} domains price example.com`
1599
+ },
1600
+ {
1601
+ name: "JSON output",
1602
+ value: `${packageName} domains price example.com --format json`
1603
+ }
1604
+ ]
1605
+ };
1584
1606
  var buySubcommand = {
1585
1607
  name: "buy",
1586
1608
  aliases: [],
@@ -1648,6 +1670,7 @@ var domainsCommand = {
1648
1670
  addSubcommand5,
1649
1671
  buySubcommand,
1650
1672
  moveSubcommand,
1673
+ priceSubcommand,
1651
1674
  transferInSubcommand,
1652
1675
  removeSubcommand4
1653
1676
  ],
@@ -2183,12 +2206,152 @@ var rulesInspectSubcommand = {
2183
2206
  }
2184
2207
  ]
2185
2208
  };
2209
+ var rulesAddSubcommand = {
2210
+ name: "add",
2211
+ aliases: [],
2212
+ description: "Create a new custom firewall rule using AI, an interactive builder, JSON, or command-line flags",
2213
+ arguments: [{ name: "name", required: false }],
2214
+ options: [
2215
+ {
2216
+ name: "ai",
2217
+ shorthand: null,
2218
+ type: String,
2219
+ deprecated: false,
2220
+ description: "Generate rule from natural language (AI-powered)"
2221
+ },
2222
+ {
2223
+ name: "json",
2224
+ shorthand: null,
2225
+ type: String,
2226
+ deprecated: false,
2227
+ description: "Create rule from JSON payload"
2228
+ },
2229
+ {
2230
+ name: "condition",
2231
+ shorthand: null,
2232
+ type: [String],
2233
+ deprecated: false,
2234
+ description: `Condition as JSON (repeatable). Multiple conditions are AND'd together. Fields: type (required), op (required), value, key (for header/cookie/query), neg (boolean). Example: '{"type":"path","op":"pre","value":"/api"}'.`
2235
+ },
2236
+ {
2237
+ name: "or",
2238
+ shorthand: null,
2239
+ type: Boolean,
2240
+ deprecated: false,
2241
+ description: "Start a new OR group. Conditions before --or are AND'd, conditions after form a separate group. Example: --condition A --condition B --or --condition C matches (A AND B) OR C."
2242
+ },
2243
+ {
2244
+ name: "action",
2245
+ shorthand: null,
2246
+ type: String,
2247
+ deprecated: false,
2248
+ description: "Action: deny, challenge, log, bypass, rate_limit, redirect"
2249
+ },
2250
+ {
2251
+ name: "duration",
2252
+ shorthand: null,
2253
+ type: String,
2254
+ deprecated: false,
2255
+ description: "Action duration: 1m, 5m, 15m, 30m, 1h"
2256
+ },
2257
+ {
2258
+ name: "description",
2259
+ shorthand: null,
2260
+ type: String,
2261
+ deprecated: false,
2262
+ description: "Rule description (max 256 chars)"
2263
+ },
2264
+ {
2265
+ name: "inactive",
2266
+ shorthand: null,
2267
+ type: Boolean,
2268
+ deprecated: false,
2269
+ description: "Create as inactive (default: active)"
2270
+ },
2271
+ {
2272
+ name: "rate-limit-algo",
2273
+ shorthand: null,
2274
+ type: String,
2275
+ deprecated: false,
2276
+ description: "Rate limit algorithm: fixed_window, token_bucket (default: fixed_window)"
2277
+ },
2278
+ {
2279
+ name: "rate-limit-window",
2280
+ shorthand: null,
2281
+ type: Number,
2282
+ deprecated: false,
2283
+ description: "Rate limit window in seconds (required for rate_limit)"
2284
+ },
2285
+ {
2286
+ name: "rate-limit-requests",
2287
+ shorthand: null,
2288
+ type: Number,
2289
+ deprecated: false,
2290
+ description: "Rate limit max requests per window (required for rate_limit)"
2291
+ },
2292
+ {
2293
+ name: "rate-limit-keys",
2294
+ shorthand: null,
2295
+ type: [String],
2296
+ deprecated: false,
2297
+ description: "Rate limit keys (repeatable): ip, ja4, header:name (default: ip)"
2298
+ },
2299
+ {
2300
+ name: "rate-limit-action",
2301
+ shorthand: null,
2302
+ type: String,
2303
+ deprecated: false,
2304
+ description: "Action when rate limit is exceeded: log, deny, challenge, rate_limit (default: rate_limit)"
2305
+ },
2306
+ {
2307
+ name: "redirect-url",
2308
+ shorthand: null,
2309
+ type: String,
2310
+ deprecated: false,
2311
+ description: "Redirect URL or path"
2312
+ },
2313
+ {
2314
+ name: "redirect-permanent",
2315
+ shorthand: null,
2316
+ type: Boolean,
2317
+ deprecated: false,
2318
+ description: "Permanent redirect (301). Default: temporary (307)"
2319
+ },
2320
+ yesOption
2321
+ ],
2322
+ examples: [
2323
+ {
2324
+ name: "Interactive mode",
2325
+ value: `${packageName} firewall rules add`
2326
+ },
2327
+ {
2328
+ name: "Create with AI",
2329
+ value: `${packageName} firewall rules add --ai "Rate limit /api to 100 requests per minute by IP"`
2330
+ },
2331
+ {
2332
+ name: "Create from JSON",
2333
+ value: `${packageName} firewall rules add --json '{"name":"Block bots","active":true,"conditionGroup":[{"conditions":[{"type":"user_agent","op":"sub","value":"crawler"}]}],"action":{"mitigate":{"action":"deny"}}}'`
2334
+ },
2335
+ {
2336
+ name: "Create with flags",
2337
+ value: `${packageName} firewall rules add "Block bots" --condition '{"type":"user_agent","op":"sub","value":"crawler"}' --action deny --yes`
2338
+ },
2339
+ {
2340
+ name: "Create with OR groups",
2341
+ value: `${packageName} firewall rules add "Block suspicious" --condition '{"type":"user_agent","op":"sub","value":"crawler"}' --or --condition '{"type":"ip_address","op":"eq","value":"1.2.3.4"}' --action deny --yes`
2342
+ }
2343
+ ]
2344
+ };
2186
2345
  var rulesSubcommand = {
2187
2346
  name: "rules",
2188
2347
  aliases: [],
2189
2348
  description: "Manage custom firewall rules that control how traffic is handled based on conditions",
2190
2349
  arguments: [],
2191
- subcommands: [rulesListSubcommand, rulesInspectSubcommand],
2350
+ subcommands: [
2351
+ rulesListSubcommand,
2352
+ rulesInspectSubcommand,
2353
+ rulesAddSubcommand
2354
+ ],
2192
2355
  options: [],
2193
2356
  examples: [
2194
2357
  {
@@ -2198,6 +2361,10 @@ var rulesSubcommand = {
2198
2361
  {
2199
2362
  name: "Inspect a rule",
2200
2363
  value: `${packageName} firewall rules inspect "Block bots"`
2364
+ },
2365
+ {
2366
+ name: "Create with AI",
2367
+ value: `${packageName} firewall rules add --ai "Rate limit /api to 100 requests per minute by IP"`
2201
2368
  }
2202
2369
  ]
2203
2370
  };
@@ -6304,6 +6471,14 @@ var accessOption = {
6304
6471
  argument: "String",
6305
6472
  choices: ["public", "private"]
6306
6473
  };
6474
+ var environmentOption = {
6475
+ name: "environment",
6476
+ shorthand: "e",
6477
+ type: [String],
6478
+ deprecated: false,
6479
+ argument: "ENV",
6480
+ description: "Environment to connect (can be repeated: production, preview, development). Defaults to all when --yes is used."
6481
+ };
6307
6482
  var listSubcommand15 = {
6308
6483
  name: "list",
6309
6484
  aliases: ["ls"],
@@ -6510,7 +6685,9 @@ var addStoreSubcommand = {
6510
6685
  deprecated: false,
6511
6686
  description: 'Region to create the Blob store in (default: "iad1"). See https://vercel.com/docs/edge-network/regions#region-list for all available regions',
6512
6687
  argument: "STRING"
6513
- }
6688
+ },
6689
+ yesOption,
6690
+ environmentOption
6514
6691
  ],
6515
6692
  examples: [
6516
6693
  {
@@ -6537,7 +6714,7 @@ var removeStoreSubcommand = {
6537
6714
  required: false
6538
6715
  }
6539
6716
  ],
6540
- options: [],
6717
+ options: [yesOption],
6541
6718
  examples: []
6542
6719
  };
6543
6720
  var getStoreSubcommand = {
@@ -6572,20 +6749,22 @@ var createStoreSubcommand = {
6572
6749
  deprecated: false,
6573
6750
  description: 'Region to create the Blob store in (default: "iad1"). See https://vercel.com/docs/edge-network/regions#region-list for all available regions',
6574
6751
  argument: "STRING"
6575
- }
6752
+ },
6753
+ yesOption,
6754
+ environmentOption
6576
6755
  ],
6577
6756
  examples: [
6578
6757
  {
6579
6758
  name: 'Create a blob store (uses default region "iad1")',
6580
- value: "vercel blob create-store my-store"
6759
+ value: "vercel blob create-store my-store --access private"
6581
6760
  },
6582
6761
  {
6583
6762
  name: "Create a blob store in a specific region",
6584
- value: "vercel blob create-store my-store --region cdg1"
6763
+ value: "vercel blob create-store my-store --access private --region cdg1"
6585
6764
  },
6586
6765
  {
6587
- name: "Create a private blob store",
6588
- value: "vercel blob create-store my-private-store --access private"
6766
+ name: "Create and connect to project in CI",
6767
+ value: "vercel blob create-store my-store --access private --yes --environment production --environment preview"
6589
6768
  }
6590
6769
  ]
6591
6770
  };
@@ -6599,7 +6778,7 @@ var deleteStoreSubcommand = {
6599
6778
  required: false
6600
6779
  }
6601
6780
  ],
6602
- options: [],
6781
+ options: [yesOption],
6603
6782
  examples: []
6604
6783
  };
6605
6784
  var emptyStoreSubcommand = {
@@ -6628,7 +6807,15 @@ var listStoresSubcommand = {
6628
6807
  aliases: ["ls-stores"],
6629
6808
  description: "List all Blob stores",
6630
6809
  arguments: [],
6631
- options: [],
6810
+ options: [
6811
+ {
6812
+ name: "all",
6813
+ shorthand: "a",
6814
+ type: Boolean,
6815
+ deprecated: false,
6816
+ description: "List all blob stores for the team, not just the ones connected to the current project"
6817
+ }
6818
+ ],
6632
6819
  examples: []
6633
6820
  };
6634
6821
  var blobCommand = {
@@ -6891,6 +7078,7 @@ export {
6891
7078
  inspectSubcommand,
6892
7079
  addSubcommand5 as addSubcommand4,
6893
7080
  removeSubcommand4,
7081
+ priceSubcommand,
6894
7082
  buySubcommand,
6895
7083
  moveSubcommand,
6896
7084
  transferInSubcommand,
@@ -6917,6 +7105,7 @@ export {
6917
7105
  ipBlocksSubcommand,
6918
7106
  rulesListSubcommand,
6919
7107
  rulesInspectSubcommand,
7108
+ rulesAddSubcommand,
6920
7109
  rulesSubcommand,
6921
7110
  attackModeEnableSubcommand,
6922
7111
  attackModeDisableSubcommand,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-NYO5XRBQ.js";
26
26
  import {
27
27
  CommandTimeout
28
- } from "./chunk-CCEUMQG3.js";
28
+ } from "./chunk-F2ROYUW2.js";
29
29
  import {
30
30
  ua_default
31
31
  } from "./chunk-Q6BEDVOU.js";
@@ -13,7 +13,7 @@ import {
13
13
  purchaseDomainIfAvailable,
14
14
  require_cjs,
15
15
  setupDomain
16
- } from "../../chunks/chunk-UV6I5R3Q.js";
16
+ } from "../../chunks/chunk-ZL5SYUAG.js";
17
17
  import {
18
18
  readLocalConfig
19
19
  } from "../../chunks/chunk-K4IC7LFB.js";
@@ -42,7 +42,7 @@ import {
42
42
  deprecatedArchiveSplitTgz,
43
43
  getCommandAliases,
44
44
  initSubcommand
45
- } from "../../chunks/chunk-CCEUMQG3.js";
45
+ } from "../../chunks/chunk-F2ROYUW2.js";
46
46
  import "../../chunks/chunk-BQUQ5F7R.js";
47
47
  import "../../chunks/chunk-BUBUVE23.js";
48
48
  import "../../chunks/chunk-2IAZZEVQ.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "../../chunks/chunk-YPQSDAEW.js";
29
29
  import {
30
30
  getCommandAliases
31
- } from "../../chunks/chunk-CCEUMQG3.js";
31
+ } from "../../chunks/chunk-F2ROYUW2.js";
32
32
  import "../../chunks/chunk-BQUQ5F7R.js";
33
33
  import "../../chunks/chunk-BUBUVE23.js";
34
34
  import "../../chunks/chunk-2IAZZEVQ.js";
@@ -14,7 +14,7 @@ import {
14
14
  addSubcommand7 as addSubcommand,
15
15
  getCommandAliases,
16
16
  linkCommand
17
- } from "../../chunks/chunk-CCEUMQG3.js";
17
+ } from "../../chunks/chunk-F2ROYUW2.js";
18
18
  import "../../chunks/chunk-BQUQ5F7R.js";
19
19
  import "../../chunks/chunk-BUBUVE23.js";
20
20
  import "../../chunks/chunk-2IAZZEVQ.js";