vercel 54.21.1 → 55.0.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-UMB55BRR.js → add-BQGGX36J.js} +4 -4
  2. package/dist/chunks/{add-NKDLTZ3B.js → add-YRFK663I.js} +4 -4
  3. package/dist/chunks/{chunk-GAJ2ESDD.js → chunk-2XTV2FM7.js} +100 -36
  4. package/dist/chunks/{chunk-3EMRC44D.js → chunk-5OT26JZN.js} +32 -0
  5. package/dist/chunks/{chunk-MV65GD4L.js → chunk-6CRRXESK.js} +1 -1
  6. package/dist/chunks/chunk-7PZWVZN6.js +105 -0
  7. package/dist/chunks/{chunk-MLY3KGVY.js → chunk-A5QK4X3Z.js} +4 -4
  8. package/dist/chunks/{chunk-DKE73NGN.js → chunk-AA3E7OLF.js} +29 -2
  9. package/dist/chunks/{chunk-H3KWN2KA.js → chunk-AW6V5LOC.js} +2 -2
  10. package/dist/chunks/{chunk-I3HGCZ4E.js → chunk-CMJMYVQM.js} +1 -0
  11. package/dist/chunks/{chunk-AUYY7RD3.js → chunk-D43MOSMZ.js} +388 -11
  12. package/dist/chunks/{chunk-XCL7I6W5.js → chunk-EJV2KFOF.js} +2 -2
  13. package/dist/chunks/{chunk-TRQJQXKD.js → chunk-EUARKVCA.js} +82 -19
  14. package/dist/chunks/{chunk-TLKTTWDA.js → chunk-GVZKC6PS.js} +1 -1
  15. package/dist/chunks/{chunk-4UZF3U4N.js → chunk-HA7C7SDO.js} +2 -0
  16. package/dist/chunks/{chunk-ADTCIFMD.js → chunk-HOYOJUQZ.js} +69 -16
  17. package/dist/chunks/{chunk-43I5EAPY.js → chunk-IIUE7CDZ.js} +1 -1
  18. package/dist/chunks/{chunk-RO5JIUOI.js → chunk-LHY5EFII.js} +1 -1
  19. package/dist/chunks/{chunk-2ZXLLEEZ.js → chunk-MGUQN3V3.js} +2 -2
  20. package/dist/chunks/{chunk-HMFUXSD7.js → chunk-OCEM4YAQ.js} +1 -1
  21. package/dist/chunks/{chunk-QMZO4CEP.js → chunk-OKWMOW2F.js} +351 -401
  22. package/dist/chunks/{chunk-XMJAKLQQ.js → chunk-SENGDDFO.js} +1 -1
  23. package/dist/chunks/{chunk-OVE2GAHC.js → chunk-VTA3KZUX.js} +1 -1
  24. package/dist/chunks/chunk-WGGABYO5.js +31 -0
  25. package/dist/chunks/{chunk-KNSDQCVQ.js → chunk-X36ADWA5.js} +51 -9
  26. package/dist/chunks/{chunk-I4NRKN2Z.js → chunk-XHC5YRFY.js} +448 -271
  27. package/dist/chunks/{chunk-IMTOXXTF.js → chunk-ZQEZYHPJ.js} +6 -4
  28. package/dist/chunks/{compile-vercel-config-OKONVGZI.js → compile-vercel-config-3RYUGKGU.js} +1 -1
  29. package/dist/chunks/{delete-L7TN5GNZ.js → delete-UQKVMHVV.js} +2 -2
  30. package/dist/chunks/{disable-7NVU4H2N.js → disable-GUK4VHQY.js} +2 -2
  31. package/dist/chunks/{discard-SJ2TDPS2.js → discard-DTI36R2T.js} +2 -2
  32. package/dist/chunks/{edit-SW4MF4Q3.js → edit-ED4LM54G.js} +3 -3
  33. package/dist/chunks/{enable-FOKEO6J2.js → enable-RAWDG7GZ.js} +2 -2
  34. package/dist/chunks/{exec-UKMIYIF6.js → exec-G4AUF3KG.js} +4 -90
  35. package/dist/chunks/{export-3DSHT2FD.js → export-U6OBSYVP.js} +2 -2
  36. package/dist/chunks/{image-T6I7BZSC.js → image-LIJI6QJY.js} +3 -3
  37. package/dist/chunks/{inspect-2MY25CMN.js → inspect-25D5G5FX.js} +8 -8
  38. package/dist/chunks/{inspect-EP24WN4I.js → inspect-3SEYQNWT.js} +8 -8
  39. package/dist/chunks/{inspect-RV444SBC.js → inspect-7LGTAPH3.js} +3 -3
  40. package/dist/chunks/{inspect-DJ7OGHBK.js → inspect-IQD2ULLP.js} +7 -7
  41. package/dist/chunks/{list-CCG2NVLL.js → list-2IJHE2AC.js} +3 -3
  42. package/dist/chunks/{list-OMJ7EDKA.js → list-I25HBKWF.js} +2 -2
  43. package/dist/chunks/login-N4DIZZWE.js +247 -0
  44. package/dist/chunks/{ls-5KN5FKAQ.js → ls-2VXZPNMR.js} +7 -7
  45. package/dist/chunks/{ls-VXZGEJJD.js → ls-HN3SUOPA.js} +4 -4
  46. package/dist/chunks/{ls-VCTHIVI7.js → ls-S7YPR3OS.js} +7 -7
  47. package/dist/chunks/{ls-33Z3R2KY.js → ls-TFOKQKY3.js} +7 -7
  48. package/dist/chunks/{publish-RZ2DIYRU.js → publish-ZTGB4XE2.js} +2 -2
  49. package/dist/chunks/{query-2MIBB7C5.js → query-2UK5BV4B.js} +2 -2
  50. package/dist/chunks/{reorder-FEZIPHNW.js → reorder-FM755TJK.js} +2 -2
  51. package/dist/chunks/{restore-JHH6CW2S.js → restore-NXQJMPMT.js} +2 -2
  52. package/dist/chunks/{rm-EKPVQYGH.js → rm-III6VASE.js} +4 -4
  53. package/dist/chunks/{rm-ULQHII4K.js → rm-MPC5DPOS.js} +4 -4
  54. package/dist/chunks/{rm-3KAXICHP.js → rm-XJMPAJNP.js} +3 -3
  55. package/dist/chunks/{rule-inspect-FOZOCOUO.js → rule-inspect-BJGXMAO5.js} +4 -4
  56. package/dist/chunks/{rules-RJD4S7JA.js → rules-FSNWMWJH.js} +8 -8
  57. package/dist/chunks/{schema-CDXFJU72.js → schema-NR6DGYCB.js} +2 -2
  58. package/dist/chunks/{tags-BLBAPEWV.js → tags-RVHMONZN.js} +2 -2
  59. package/dist/chunks/{update-2NW6NKG6.js → update-55OM2454.js} +4 -4
  60. package/dist/commands/build/index.js +25 -9
  61. package/dist/commands/deploy/index.js +21 -43
  62. package/dist/commands/dev/index.js +200 -57
  63. package/dist/commands/env/index.js +6 -6
  64. package/dist/commands/link/index.js +30 -13
  65. package/dist/commands/list/index.js +25 -10
  66. package/dist/commands-bulk.js +3883 -2129
  67. package/dist/index.js +12 -12
  68. package/dist/version.mjs +1 -1
  69. package/package.json +23 -23
  70. package/dist/chunks/chunk-Y4JJYHUG.js +0 -16
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  vcrCommand
9
- } from "./chunk-3EMRC44D.js";
9
+ } from "./chunk-5OT26JZN.js";
10
10
  import {
11
11
  metricsCommand
12
12
  } from "./chunk-JJWESW5Y.js";
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-IDMKFYEA.js";
25
25
  import {
26
26
  listCommand
27
- } from "./chunk-4UZF3U4N.js";
27
+ } from "./chunk-HA7C7SDO.js";
28
28
  import {
29
29
  buildCommand,
30
30
  pullCommand
31
- } from "./chunk-43I5EAPY.js";
31
+ } from "./chunk-IIUE7CDZ.js";
32
32
  import {
33
33
  envCommand
34
- } from "./chunk-I4NRKN2Z.js";
34
+ } from "./chunk-XHC5YRFY.js";
35
35
  import {
36
36
  confirmOption,
37
37
  deploymentOption,
@@ -913,12 +913,47 @@ var rulesSubcommand = {
913
913
  options: [],
914
914
  examples: []
915
915
  };
916
+ var modelsListSubcommand = {
917
+ name: "list",
918
+ aliases: ["ls"],
919
+ description: "List AI Gateway models",
920
+ arguments: [],
921
+ options: [formatOption],
922
+ examples: [
923
+ {
924
+ name: "List available models",
925
+ value: `${packageName} ai-gateway models ls`
926
+ }
927
+ ]
928
+ };
929
+ var modelsEndpointsSubcommand = {
930
+ name: "endpoints",
931
+ aliases: [],
932
+ description: "List provider endpoints for an AI Gateway model",
933
+ arguments: [{ name: "model", required: true }],
934
+ options: [formatOption],
935
+ examples: [
936
+ {
937
+ name: "List provider endpoints for a model",
938
+ value: `${packageName} ai-gateway models endpoints anthropic/claude-opus-4.8`
939
+ }
940
+ ]
941
+ };
942
+ var modelsSubcommand = {
943
+ name: "models",
944
+ aliases: [],
945
+ description: "Manage AI Gateway models",
946
+ arguments: [],
947
+ subcommands: [modelsListSubcommand, modelsEndpointsSubcommand],
948
+ options: [],
949
+ examples: []
950
+ };
916
951
  var aiGatewayCommand = {
917
952
  name: "ai-gateway",
918
953
  aliases: [],
919
954
  description: "Manage AI Gateway resources",
920
955
  arguments: [],
921
- subcommands: [apiKeysSubcommand, rulesSubcommand],
956
+ subcommands: [apiKeysSubcommand, rulesSubcommand, modelsSubcommand],
922
957
  options: [],
923
958
  examples: []
924
959
  };
@@ -4635,6 +4670,304 @@ var rolloutSubcommand = {
4635
4670
  }
4636
4671
  ]
4637
4672
  };
4673
+ var ruleConditionDescription = `Rule condition as ENTITY.ATTRIBUTE:OPERATOR:VALUE or segment:OPERATOR:SEGMENT. Repeatable; semicolon-separated conditions are also supported. ${segmentRuleOperatorDescription}`;
4674
+ var ruleOutcomeOptions = [
4675
+ {
4676
+ name: "variant",
4677
+ shorthand: "v",
4678
+ type: String,
4679
+ deprecated: false,
4680
+ description: "Variant ID or value to serve when the rule matches",
4681
+ argument: "VARIANT"
4682
+ },
4683
+ {
4684
+ name: "by",
4685
+ shorthand: null,
4686
+ type: String,
4687
+ deprecated: false,
4688
+ description: "Entity attribute used for split or rollout bucketing, in the form entity.attribute",
4689
+ argument: "ENTITY.ATTRIBUTE"
4690
+ },
4691
+ {
4692
+ name: "weight",
4693
+ shorthand: "w",
4694
+ type: [String],
4695
+ deprecated: false,
4696
+ description: "Split weight ratio as VARIANT=WEIGHT. Repeat for each variant.",
4697
+ argument: "VARIANT=WEIGHT"
4698
+ },
4699
+ {
4700
+ name: "default-variant",
4701
+ shorthand: null,
4702
+ type: String,
4703
+ deprecated: false,
4704
+ description: "Fallback variant for split or rollout outcomes when the bucketing attribute is unavailable",
4705
+ argument: "VARIANT"
4706
+ },
4707
+ {
4708
+ name: "from-variant",
4709
+ shorthand: null,
4710
+ type: String,
4711
+ deprecated: false,
4712
+ description: "Variant to roll away from for rollout outcomes",
4713
+ argument: "VARIANT"
4714
+ },
4715
+ {
4716
+ name: "to-variant",
4717
+ shorthand: null,
4718
+ type: String,
4719
+ deprecated: false,
4720
+ description: "Variant to roll towards for rollout outcomes",
4721
+ argument: "VARIANT"
4722
+ },
4723
+ {
4724
+ name: "stage",
4725
+ shorthand: "s",
4726
+ type: [String],
4727
+ deprecated: false,
4728
+ description: "Add a rollout stage as PERCENTAGE,DURATION. Can be specified multiple times.",
4729
+ argument: "PERCENTAGE,DURATION"
4730
+ },
4731
+ {
4732
+ name: "start",
4733
+ shorthand: null,
4734
+ type: String,
4735
+ deprecated: false,
4736
+ description: 'When the rollout should start: "now", a relative time like "1h", or an ISO 8601 datetime',
4737
+ argument: "TIME"
4738
+ }
4739
+ ];
4740
+ var ruleMessageOption = {
4741
+ name: "message",
4742
+ shorthand: null,
4743
+ type: String,
4744
+ deprecated: false,
4745
+ description: "Optional revision message for the update",
4746
+ argument: "TEXT"
4747
+ };
4748
+ var rulesListSubcommand3 = {
4749
+ name: "list",
4750
+ aliases: ["ls"],
4751
+ description: "List conditional rules for a feature flag environment",
4752
+ arguments: [
4753
+ {
4754
+ name: "flag",
4755
+ required: true
4756
+ }
4757
+ ],
4758
+ options: [
4759
+ {
4760
+ name: "environment",
4761
+ shorthand: "e",
4762
+ type: String,
4763
+ deprecated: false,
4764
+ description: "The environment to list rules for (production, preview, or development)",
4765
+ argument: "ENV"
4766
+ },
4767
+ {
4768
+ name: "json",
4769
+ shorthand: null,
4770
+ type: Boolean,
4771
+ deprecated: false,
4772
+ description: "Output in JSON format"
4773
+ }
4774
+ ],
4775
+ examples: [
4776
+ {
4777
+ name: "List production rules for a flag",
4778
+ value: `${packageName} flags rules ls my-feature --environment production`
4779
+ },
4780
+ {
4781
+ name: "List rules as JSON",
4782
+ value: `${packageName} flags rules ls my-feature -e production --json`
4783
+ }
4784
+ ]
4785
+ };
4786
+ var rulesAddSubcommand3 = {
4787
+ name: "add",
4788
+ aliases: [],
4789
+ description: "Add a conditional rule to a feature flag environment",
4790
+ arguments: [
4791
+ {
4792
+ name: "flag",
4793
+ required: true
4794
+ }
4795
+ ],
4796
+ options: [
4797
+ {
4798
+ name: "environment",
4799
+ shorthand: "e",
4800
+ type: String,
4801
+ deprecated: false,
4802
+ description: "The environment to add the rule to (production, preview, or development)",
4803
+ argument: "ENV"
4804
+ },
4805
+ {
4806
+ name: "condition",
4807
+ shorthand: "c",
4808
+ type: [String],
4809
+ deprecated: false,
4810
+ description: ruleConditionDescription,
4811
+ argument: "CONDITION"
4812
+ },
4813
+ ...ruleOutcomeOptions,
4814
+ {
4815
+ name: "position",
4816
+ shorthand: "p",
4817
+ type: Number,
4818
+ deprecated: false,
4819
+ description: "1-based position for the new rule (defaults to last)",
4820
+ argument: "N"
4821
+ },
4822
+ ruleMessageOption
4823
+ ],
4824
+ examples: [
4825
+ {
4826
+ name: "Add a variant rule",
4827
+ value: `${packageName} flags rules add my-feature --environment production --condition user.plan:eq:pro --variant on`
4828
+ },
4829
+ {
4830
+ name: "Add a segment rule",
4831
+ value: `${packageName} flags rules add my-feature -e production --condition segment:eq:seg_beta123 --variant on`
4832
+ },
4833
+ {
4834
+ name: "Add a split rule at the top",
4835
+ value: `${packageName} flags rules add my-feature -e production --condition user.plan:eq:pro --by user.userId --weight off=90 --weight on=10 --position 1`
4836
+ }
4837
+ ]
4838
+ };
4839
+ var rulesUpdateSubcommand = {
4840
+ name: "update",
4841
+ aliases: [],
4842
+ description: "Update a conditional rule in a feature flag environment",
4843
+ arguments: [
4844
+ {
4845
+ name: "flag",
4846
+ required: true
4847
+ },
4848
+ {
4849
+ name: "rule",
4850
+ required: true
4851
+ }
4852
+ ],
4853
+ options: [
4854
+ {
4855
+ name: "environment",
4856
+ shorthand: "e",
4857
+ type: String,
4858
+ deprecated: false,
4859
+ description: "The environment containing the rule (production, preview, or development)",
4860
+ argument: "ENV"
4861
+ },
4862
+ {
4863
+ name: "condition",
4864
+ shorthand: "c",
4865
+ type: [String],
4866
+ deprecated: false,
4867
+ description: "Replace rule conditions. " + ruleConditionDescription,
4868
+ argument: "CONDITION"
4869
+ },
4870
+ ...ruleOutcomeOptions,
4871
+ ruleMessageOption
4872
+ ],
4873
+ examples: [
4874
+ {
4875
+ name: "Replace rule conditions",
4876
+ value: `${packageName} flags rules update my-feature rule_123 --environment production --condition user.plan:eq:enterprise`
4877
+ },
4878
+ {
4879
+ name: "Update a rule outcome",
4880
+ value: `${packageName} flags rules update my-feature rule_123 -e production --variant off`
4881
+ }
4882
+ ]
4883
+ };
4884
+ var rulesRemoveSubcommand3 = {
4885
+ name: "remove",
4886
+ aliases: ["rm"],
4887
+ description: "Remove a conditional rule from a feature flag environment",
4888
+ arguments: [
4889
+ {
4890
+ name: "flag",
4891
+ required: true
4892
+ },
4893
+ {
4894
+ name: "rule",
4895
+ required: true
4896
+ }
4897
+ ],
4898
+ options: [
4899
+ {
4900
+ name: "environment",
4901
+ shorthand: "e",
4902
+ type: String,
4903
+ deprecated: false,
4904
+ description: "The environment containing the rule (production, preview, or development)",
4905
+ argument: "ENV"
4906
+ },
4907
+ ruleMessageOption
4908
+ ],
4909
+ examples: [
4910
+ {
4911
+ name: "Remove a rule",
4912
+ value: `${packageName} flags rules rm my-feature rule_123 --environment production`
4913
+ }
4914
+ ]
4915
+ };
4916
+ var rulesMoveSubcommand = {
4917
+ name: "move",
4918
+ aliases: [],
4919
+ description: "Move a conditional rule within a feature flag environment",
4920
+ arguments: [
4921
+ {
4922
+ name: "flag",
4923
+ required: true
4924
+ },
4925
+ {
4926
+ name: "rule",
4927
+ required: true
4928
+ }
4929
+ ],
4930
+ options: [
4931
+ {
4932
+ name: "environment",
4933
+ shorthand: "e",
4934
+ type: String,
4935
+ deprecated: false,
4936
+ description: "The environment containing the rule (production, preview, or development)",
4937
+ argument: "ENV"
4938
+ },
4939
+ {
4940
+ name: "position",
4941
+ shorthand: "p",
4942
+ type: Number,
4943
+ deprecated: false,
4944
+ description: "1-based destination position for the rule",
4945
+ argument: "N"
4946
+ },
4947
+ ruleMessageOption
4948
+ ],
4949
+ examples: [
4950
+ {
4951
+ name: "Move a rule to the top",
4952
+ value: `${packageName} flags rules move my-feature rule_123 --environment production --position 1`
4953
+ }
4954
+ ]
4955
+ };
4956
+ var rulesSubcommand3 = {
4957
+ name: "rules",
4958
+ aliases: [],
4959
+ description: "Manage conditional rules for feature flags",
4960
+ arguments: [],
4961
+ subcommands: [
4962
+ rulesListSubcommand3,
4963
+ rulesAddSubcommand3,
4964
+ rulesUpdateSubcommand,
4965
+ rulesRemoveSubcommand3,
4966
+ rulesMoveSubcommand
4967
+ ],
4968
+ options: [],
4969
+ examples: []
4970
+ };
4638
4971
  var removeSubcommand8 = {
4639
4972
  name: "remove",
4640
4973
  aliases: ["rm"],
@@ -5221,6 +5554,7 @@ var flagsCommand = {
5221
5554
  archiveSubcommand,
5222
5555
  disableSubcommand,
5223
5556
  enableSubcommand,
5557
+ rulesSubcommand3,
5224
5558
  segmentsSubcommand,
5225
5559
  sdkKeysSubcommand,
5226
5560
  prepareSubcommand,
@@ -5729,6 +6063,35 @@ var claimSubcommand = {
5729
6063
  }
5730
6064
  ]
5731
6065
  };
6066
+ var inspectSubcommand4 = {
6067
+ name: "inspect",
6068
+ aliases: ["status"],
6069
+ description: "Show live details and status for a marketplace integration resource, fetched fresh from the provider",
6070
+ arguments: [
6071
+ {
6072
+ name: "resource",
6073
+ required: true
6074
+ }
6075
+ ],
6076
+ options: [formatOption],
6077
+ examples: [
6078
+ {
6079
+ name: "Show live details and status for a resource",
6080
+ value: [
6081
+ `${packageName} integration resource inspect <resource>`,
6082
+ `${packageName} integration resource inspect my-acme-resource`
6083
+ ]
6084
+ },
6085
+ {
6086
+ name: "Show live status for a resource (alias)",
6087
+ value: `${packageName} integration resource status my-acme-resource`
6088
+ },
6089
+ {
6090
+ name: "Output as JSON",
6091
+ value: `${packageName} integration resource inspect my-acme-resource --format=json`
6092
+ }
6093
+ ]
6094
+ };
5732
6095
  var integrationResourceCommand = {
5733
6096
  name: "integration-resource",
5734
6097
  aliases: ["ir"],
@@ -5740,7 +6103,8 @@ var integrationResourceCommand = {
5740
6103
  createThresholdSubcommand,
5741
6104
  disconnectSubcommand2,
5742
6105
  removeSubcommand9,
5743
- claimSubcommand
6106
+ claimSubcommand,
6107
+ inspectSubcommand4
5744
6108
  ],
5745
6109
  examples: []
5746
6110
  };
@@ -6331,7 +6695,8 @@ var resourceSubcommand = {
6331
6695
  createThresholdSubcommand,
6332
6696
  disconnectSubcommand2,
6333
6697
  removeSubcommand9,
6334
- claimSubcommand
6698
+ claimSubcommand,
6699
+ inspectSubcommand4
6335
6700
  ],
6336
6701
  examples: [
6337
6702
  {
@@ -7200,7 +7565,7 @@ var checksSubcommand = {
7200
7565
  }
7201
7566
  ]
7202
7567
  };
7203
- var inspectSubcommand4 = {
7568
+ var inspectSubcommand5 = {
7204
7569
  name: "inspect",
7205
7570
  aliases: [],
7206
7571
  description: "Displays information related to a project",
@@ -7230,6 +7595,7 @@ var listSubcommand13 = {
7230
7595
  arguments: [],
7231
7596
  options: [
7232
7597
  nextOption,
7598
+ limitOption,
7233
7599
  formatOption,
7234
7600
  jsonOption,
7235
7601
  {
@@ -7700,7 +8066,7 @@ var projectCommand = {
7700
8066
  addSubcommand8,
7701
8067
  accessSummarySubcommand,
7702
8068
  checksSubcommand,
7703
- inspectSubcommand4,
8069
+ inspectSubcommand5,
7704
8070
  listSubcommand13,
7705
8071
  membersSubcommand,
7706
8072
  accessGroupsSubcommand,
@@ -8569,6 +8935,7 @@ var listSubcommand16 = {
8569
8935
  arguments: [],
8570
8936
  options: [
8571
8937
  nextOption,
8938
+ limitOption,
8572
8939
  formatOption,
8573
8940
  { name: "since", shorthand: null, type: String, deprecated: true },
8574
8941
  { name: "until", shorthand: null, type: String, deprecated: true },
@@ -8645,7 +9012,7 @@ var membersSubcommand2 = {
8645
9012
  aliases: ["member"],
8646
9013
  description: "List members for the currently scoped team",
8647
9014
  arguments: [],
8648
- options: [nextOption, formatOption],
9015
+ options: [nextOption, limitOption, formatOption],
8649
9016
  examples: [
8650
9017
  {
8651
9018
  name: "List team members",
@@ -9848,6 +10215,9 @@ export {
9848
10215
  rulesEditSubcommand,
9849
10216
  rulesRemoveSubcommand,
9850
10217
  rulesSubcommand,
10218
+ modelsListSubcommand,
10219
+ modelsEndpointsSubcommand,
10220
+ modelsSubcommand,
9851
10221
  aiGatewayCommand,
9852
10222
  setSubcommand,
9853
10223
  listSubcommand2,
@@ -9964,6 +10334,12 @@ export {
9964
10334
  setSubcommand2,
9965
10335
  splitSubcommand,
9966
10336
  rolloutSubcommand,
10337
+ rulesListSubcommand3,
10338
+ rulesAddSubcommand3,
10339
+ rulesUpdateSubcommand,
10340
+ rulesRemoveSubcommand3,
10341
+ rulesMoveSubcommand,
10342
+ rulesSubcommand3,
9967
10343
  removeSubcommand8,
9968
10344
  archiveSubcommand,
9969
10345
  disableSubcommand,
@@ -9996,6 +10372,7 @@ export {
9996
10372
  connectSubcommand2,
9997
10373
  createThresholdSubcommand,
9998
10374
  claimSubcommand,
10375
+ inspectSubcommand4,
9999
10376
  integrationResourceCommand,
10000
10377
  addSubcommand7 as addSubcommand6,
10001
10378
  acceptTermsSubcommand,
@@ -10036,7 +10413,7 @@ export {
10036
10413
  checksAddFlags,
10037
10414
  checksRemoveFlags,
10038
10415
  checksSubcommand,
10039
- inspectSubcommand4,
10416
+ inspectSubcommand5,
10040
10417
  listSubcommand13,
10041
10418
  removeSubcommand12,
10042
10419
  renameSubcommand,
@@ -7,12 +7,12 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  printProjectNotFoundError,
9
9
  setupAndLink
10
- } from "./chunk-QMZO4CEP.js";
10
+ } from "./chunk-OKWMOW2F.js";
11
11
  import {
12
12
  getLinkedProject,
13
13
  param,
14
14
  resolveProjectCwd
15
- } from "./chunk-I4NRKN2Z.js";
15
+ } from "./chunk-XHC5YRFY.js";
16
16
  import {
17
17
  buildCommandWithYes,
18
18
  outputActionRequired
@@ -8,8 +8,10 @@ import {
8
8
  highlight
9
9
  } from "./chunk-V5P25P7F.js";
10
10
  import {
11
+ PromptBackError,
12
+ PromptCanceledError,
11
13
  getLocalPathConfig
12
- } from "./chunk-DKE73NGN.js";
14
+ } from "./chunk-AA3E7OLF.js";
13
15
  import {
14
16
  DEFAULT_VERCEL_CONFIG_FILENAME,
15
17
  VERCEL_CONFIG_EXTENSIONS,
@@ -36,7 +38,7 @@ import {
36
38
  useKeypress,
37
39
  usePrefix,
38
40
  useState
39
- } from "./chunk-I4NRKN2Z.js";
41
+ } from "./chunk-XHC5YRFY.js";
40
42
  import {
41
43
  require_load_json_file
42
44
  } from "./chunk-ECCWJHC6.js";
@@ -1634,6 +1636,8 @@ var Client = class extends EventEmitter {
1634
1636
  this._argv = [];
1635
1637
  /** Track if we've already logged the token source debug message */
1636
1638
  this._loggedTokenSource = false;
1639
+ this.escapePromptCancellationDepth = 0;
1640
+ this.promptBackNavigationDepth = 0;
1637
1641
  this.reauthenticate = sharedPromise(async function(error) {
1638
1642
  const result = await reauthenticate(this, error);
1639
1643
  if (typeof result === "number") {
@@ -1672,30 +1676,89 @@ ${error.stack}`);
1672
1676
  style: { answer: import_chalk4.gray }
1673
1677
  };
1674
1678
  this.input = {
1675
- text: (opts2) => esm_default6({ theme, ...opts2 }, { input: this.stdin, output: this.stderr }),
1676
- password: (opts2) => esm_default7(
1677
- { theme, ...opts2 },
1678
- { input: this.stdin, output: this.stderr }
1679
+ text: (opts2) => this.runPrompt(
1680
+ esm_default6({ theme, ...opts2 }, { input: this.stdin, output: this.stderr })
1679
1681
  ),
1680
- checkbox: (opts2) => esm_default2(
1681
- { theme, ...opts2 },
1682
- { input: this.stdin, output: this.stderr }
1682
+ password: (opts2) => this.runPrompt(
1683
+ esm_default7(
1684
+ { theme, ...opts2 },
1685
+ { input: this.stdin, output: this.stderr }
1686
+ )
1687
+ ),
1688
+ checkbox: (opts2) => this.runPrompt(
1689
+ esm_default2(
1690
+ { theme, ...opts2 },
1691
+ { input: this.stdin, output: this.stderr }
1692
+ )
1683
1693
  ),
1684
- expand: (opts2) => esm_default5({ theme, ...opts2 }, { input: this.stdin, output: this.stderr }),
1685
- confirm: (message, default_value) => esm_default4(
1686
- { theme, message, default: default_value },
1687
- { input: this.stdin, output: this.stderr }
1694
+ expand: (opts2) => this.runPrompt(
1695
+ esm_default5({ theme, ...opts2 }, { input: this.stdin, output: this.stderr })
1696
+ ),
1697
+ confirm: (message, default_value) => this.runPrompt(
1698
+ esm_default4(
1699
+ { theme, message, default: default_value },
1700
+ { input: this.stdin, output: this.stderr }
1701
+ )
1688
1702
  ),
1689
- select: (opts2) => esm_default3(
1690
- { theme, ...opts2 },
1691
- { input: this.stdin, output: this.stderr }
1703
+ select: (opts2) => this.runPrompt(
1704
+ esm_default3(
1705
+ { theme, ...opts2 },
1706
+ { input: this.stdin, output: this.stderr }
1707
+ )
1692
1708
  ),
1693
- search: (opts2) => esm_default8(
1694
- { theme, ...opts2 },
1695
- { input: this.stdin, output: this.stderr }
1709
+ search: (opts2) => this.runPrompt(
1710
+ esm_default8(
1711
+ { theme, ...opts2 },
1712
+ { input: this.stdin, output: this.stderr }
1713
+ )
1696
1714
  )
1697
1715
  };
1698
1716
  }
1717
+ async withEscapePromptCancellation(run) {
1718
+ this.escapePromptCancellationDepth++;
1719
+ try {
1720
+ return await run();
1721
+ } finally {
1722
+ this.escapePromptCancellationDepth--;
1723
+ }
1724
+ }
1725
+ async withPromptBackNavigation(run) {
1726
+ this.promptBackNavigationDepth++;
1727
+ try {
1728
+ return await run();
1729
+ } finally {
1730
+ this.promptBackNavigationDepth--;
1731
+ }
1732
+ }
1733
+ runPrompt(prompt) {
1734
+ const escapeCancellationEnabled = this.escapePromptCancellationDepth > 0;
1735
+ const backNavigationEnabled = this.promptBackNavigationDepth > 0;
1736
+ if (!escapeCancellationEnabled && !backNavigationEnabled || !this.stdin.isTTY || !prompt.cancel) {
1737
+ return prompt;
1738
+ }
1739
+ let cancellation;
1740
+ const onKeypress = (_input, key) => {
1741
+ if (key?.name === "escape" && escapeCancellationEnabled && !cancellation) {
1742
+ cancellation = "escape";
1743
+ prompt.cancel?.();
1744
+ } else if (key?.name === "up" && backNavigationEnabled && !cancellation) {
1745
+ cancellation = "back";
1746
+ prompt.cancel?.();
1747
+ }
1748
+ };
1749
+ this.stdin.on("keypress", onKeypress);
1750
+ return prompt.catch((error) => {
1751
+ if (cancellation === "escape") {
1752
+ throw new PromptCanceledError();
1753
+ }
1754
+ if (cancellation === "back") {
1755
+ throw new PromptBackError();
1756
+ }
1757
+ throw error;
1758
+ }).finally(() => {
1759
+ this.stdin.off("keypress", onKeypress);
1760
+ });
1761
+ }
1699
1762
  get argv() {
1700
1763
  return this._argv;
1701
1764
  }
@@ -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-I4NRKN2Z.js";
9
+ } from "./chunk-XHC5YRFY.js";
10
10
  import {
11
11
  getCommandName,
12
12
  require_lib
@@ -8,6 +8,7 @@ import {
8
8
  allOption,
9
9
  confirmOption,
10
10
  formatOption,
11
+ limitOption,
11
12
  nextOption,
12
13
  yesOption
13
14
  } from "./chunk-EHTPDXTS.js";
@@ -61,6 +62,7 @@ var listCommand = {
61
62
  deprecated: false
62
63
  },
63
64
  nextOption,
65
+ limitOption,
64
66
  // this can be deprecated someday
65
67
  { name: "prod", shorthand: null, type: Boolean, deprecated: false },
66
68
  yesOption,