vercel 59.9.1 → 59.10.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-QZ5FW7LT.js → add-IJZ2Q46B.js} +5 -5
  2. package/dist/chunks/{add-DGK2A56E.js → add-KYLIIWQV.js} +2 -2
  3. package/dist/chunks/{add-6YKY5LGR.js → add-SGSXZWCH.js} +2 -2
  4. package/dist/chunks/{build-YFUXHSMU.js → build-PKOCHFHL.js} +2 -2
  5. package/dist/chunks/{chunk-LDZFKXIR.js → chunk-4KVJ2M4J.js} +143 -5
  6. package/dist/chunks/{chunk-HK2IYHVR.js → chunk-53J6IECW.js} +32 -19
  7. package/dist/chunks/{chunk-62XYUSRS.js → chunk-5BZWQDNJ.js} +1 -1
  8. package/dist/chunks/{chunk-3E62ATUY.js → chunk-5JNGHAUT.js} +1 -1
  9. package/dist/chunks/{chunk-I7ZVTKXM.js → chunk-7TYA36S5.js} +1 -1
  10. package/dist/chunks/{chunk-QWOCOZMS.js → chunk-AXNMBJKD.js} +1 -1
  11. package/dist/chunks/{chunk-PGTGT7AU.js → chunk-FNYNYZAZ.js} +2 -2
  12. package/dist/chunks/{chunk-O26N2UPI.js → chunk-GGPE5377.js} +1 -1
  13. package/dist/chunks/{chunk-FEQJSISH.js → chunk-GRINZMFI.js} +1 -1
  14. package/dist/chunks/{chunk-XN75ARAD.js → chunk-KTCVGTRQ.js} +1 -1
  15. package/dist/chunks/{chunk-H43VTKRO.js → chunk-LCDVMLKI.js} +4 -4
  16. package/dist/chunks/{chunk-FME4CIZL.js → chunk-MHO3EJAF.js} +2 -2
  17. package/dist/chunks/{chunk-2TXLG52H.js → chunk-O6VHU65V.js} +1 -1
  18. package/dist/chunks/{chunk-LD3Q3MUI.js → chunk-OBPBFJFP.js} +5 -6
  19. package/dist/chunks/{chunk-52P3DIMH.js → chunk-QQ77K4QW.js} +1 -1
  20. package/dist/chunks/{chunk-7PMXNOZH.js → chunk-SRVP2UST.js} +1 -1
  21. package/dist/chunks/{chunk-T3MRP74K.js → chunk-UTWU4DZF.js} +1 -1
  22. package/dist/chunks/{chunk-IWNFDR3C.js → chunk-VV5XULGR.js} +107 -8
  23. package/dist/chunks/{chunk-PIFTX5CY.js → chunk-WC3XNI4B.js} +2 -2
  24. package/dist/chunks/{chunk-ZCAFRSCD.js → chunk-X6TBTUZZ.js} +1 -1
  25. package/dist/chunks/{chunk-22GK226I.js → chunk-YLNIMGMQ.js} +2 -2
  26. package/dist/chunks/{chunk-DSBOE2OV.js → chunk-Z2RKD7LL.js} +1 -1
  27. package/dist/chunks/{chunk-OHQJEOP7.js → chunk-Z44PATWW.js} +4 -4
  28. package/dist/chunks/{clear-LHNLYPZB.js → clear-J6TY2J3M.js} +2 -2
  29. package/dist/chunks/{compile-vercel-config-6KPIBWNU.js → compile-vercel-config-WVGNTJXO.js} +1 -1
  30. package/dist/chunks/{config-CNP7P3VD.js → config-3JDOCLH7.js} +4 -4
  31. package/dist/chunks/{config-UETLVP5G.js → config-5T7XV4JE.js} +2 -2
  32. package/dist/chunks/config-validator.mjs +1 -1
  33. package/dist/chunks/{constants-WEQVJSYS.js → constants-YMCRE6IG.js} +1 -1
  34. package/dist/chunks/{delete-MB7H2LWR.js → delete-EPPNTNEW.js} +2 -2
  35. package/dist/chunks/{delete-BYCZJBHH.js → delete-XQOAWEZV.js} +2 -2
  36. package/dist/chunks/{disable-OCDW6U2Q.js → disable-U5YAPWPA.js} +2 -2
  37. package/dist/chunks/{discard-DWPG5UX5.js → discard-OCUCCXKO.js} +2 -2
  38. package/dist/chunks/{edit-ATX4K4OL.js → edit-CD7EXAO3.js} +2 -2
  39. package/dist/chunks/{edit-NOZXPAV3.js → edit-PNRGHNGQ.js} +3 -3
  40. package/dist/chunks/{enable-BO5DALIP.js → enable-25RH2LVW.js} +2 -2
  41. package/dist/chunks/{export-RS6X5DZW.js → export-YSGEUXJW.js} +2 -2
  42. package/dist/chunks/{image-QCNVSQFC.js → image-4ZKCR4HL.js} +3 -3
  43. package/dist/chunks/{import-builders-H4VASUQQ.js → import-builders-FQ2LOIWC.js} +2 -2
  44. package/dist/chunks/{inspect-BOLFZZBM.js → inspect-3K2EDYL6.js} +3 -3
  45. package/dist/chunks/{inspect-LZUSSUNE.js → inspect-F5DJM5DL.js} +2 -2
  46. package/dist/chunks/{inspect-HHXFMDN2.js → inspect-K2NJD2AI.js} +2 -2
  47. package/dist/chunks/{inspect-XXHIV73A.js → inspect-WRBFJUSY.js} +2 -2
  48. package/dist/chunks/{inspect-GPLZZEW2.js → inspect-ZC4GRGTE.js} +2 -2
  49. package/dist/chunks/{list-H7ED7LCU.js → list-B7C56Z7B.js} +1 -1
  50. package/dist/chunks/{list-XDRILJOZ.js → list-PUFYWIOF.js} +3 -3
  51. package/dist/chunks/{list-THFMP23I.js → list-Z6VHQQBW.js} +2 -2
  52. package/dist/chunks/{login-6KR5DCYM.js → login-ZYUF7JZQ.js} +2 -2
  53. package/dist/chunks/{ls-5QFIXKF3.js → ls-2OUQUKPT.js} +2 -2
  54. package/dist/chunks/{ls-LXVF34KZ.js → ls-ALX26ARH.js} +2 -2
  55. package/dist/chunks/{ls-GRY6G2OR.js → ls-FNOL7XTY.js} +2 -2
  56. package/dist/chunks/{ls-5RGCKNYB.js → ls-PRY6OV4B.js} +3 -3
  57. package/dist/chunks/{ls-PKN53PLB.js → ls-SQRTT5RH.js} +2 -2
  58. package/dist/chunks/{ls-CBFHIORN.js → ls-TBBLZ766.js} +2 -2
  59. package/dist/chunks/{open-Q7GEQR5J.js → open-673AJXYY.js} +2 -2
  60. package/dist/chunks/{permissions-6SA56V2A.js → permissions-B6SFNLN4.js} +4 -4
  61. package/dist/chunks/{publish-TYGP2WTZ.js → publish-TPJHZ2PJ.js} +2 -2
  62. package/dist/chunks/{push-5KTXEM2H.js → push-3WD5IPXP.js} +2 -2
  63. package/dist/chunks/{query-DSYDUL7N.js → query-ZXOJQZ7G.js} +1 -1
  64. package/dist/chunks/{reorder-BEQAMXC3.js → reorder-SUFOQGPC.js} +2 -2
  65. package/dist/chunks/{reply-GSQ5PVE4.js → reply-YOVUA6ZF.js} +2 -2
  66. package/dist/chunks/{resolve-AG4SS62T.js → resolve-OQ7P74JY.js} +2 -2
  67. package/dist/chunks/{restore-LARYR55K.js → restore-BD5XJOE7.js} +2 -2
  68. package/dist/chunks/{rm-F5SIKHU2.js → rm-4KAI42EX.js} +2 -2
  69. package/dist/chunks/{rm-FPAFEN2E.js → rm-4UIILZLP.js} +2 -2
  70. package/dist/chunks/{rm-FG63ON57.js → rm-5TY3QJUZ.js} +2 -2
  71. package/dist/chunks/{rm-GPHZ3GID.js → rm-EKVIZG2N.js} +3 -3
  72. package/dist/chunks/{rm-ZKG56ZEW.js → rm-XAMQUW3J.js} +2 -2
  73. package/dist/chunks/{rule-inspect-JS4BK6GZ.js → rule-inspect-XZZE54SW.js} +3 -3
  74. package/dist/chunks/{rules-SMIGLNUR.js → rules-SF5FBWFF.js} +6 -6
  75. package/dist/chunks/{schema-FRSEAOYM.js → schema-3HRYA6AT.js} +1 -1
  76. package/dist/chunks/{set-E46SNNNI.js → set-T4IYLXET.js} +2 -2
  77. package/dist/chunks/{tags-CMBXR3FL.js → tags-EZKT46VN.js} +2 -2
  78. package/dist/chunks/{update-M5WXFGQ4.js → update-OE7Y2J5I.js} +5 -5
  79. package/dist/commands/build/index.js +505 -63
  80. package/dist/commands/deploy/index.js +7 -7
  81. package/dist/commands/dev/index.js +6 -6
  82. package/dist/commands/env/index.js +3 -3
  83. package/dist/commands/link/index.js +2 -2
  84. package/dist/commands/list/index.js +2 -2
  85. package/dist/commands-bulk.js +2669 -1841
  86. package/dist/index.js +9 -9
  87. package/dist/version.mjs +1 -1
  88. package/package.json +50 -50
@@ -8,21 +8,21 @@ import {
8
8
  parseCustomAlertQueryBody,
9
9
  resolveCustomAlertProjectName,
10
10
  setMissingCustomAlertProjectScope
11
- } from "./chunk-PIFTX5CY.js";
11
+ } from "./chunk-WC3XNI4B.js";
12
12
  import {
13
13
  emitRulesArgParseError,
14
14
  handleRulesApiError,
15
15
  parseRulesFlagsAndScope,
16
16
  rulesCollectionPath
17
- } from "./chunk-FEQJSISH.js";
17
+ } from "./chunk-GRINZMFI.js";
18
18
  import {
19
19
  isCustomAlertRule
20
20
  } from "./chunk-26XDDLXM.js";
21
- import "./chunk-ZCAFRSCD.js";
21
+ import "./chunk-X6TBTUZZ.js";
22
22
  import "./chunk-A3NYPUKZ.js";
23
23
  import "./chunk-3T7WSWZH.js";
24
24
  import "./chunk-FGDKMNEN.js";
25
- import "./chunk-52P3DIMH.js";
25
+ import "./chunk-QQ77K4QW.js";
26
26
  import "./chunk-AINIBIP4.js";
27
27
  import "./chunk-XRWOTCDO.js";
28
28
  import {
@@ -31,7 +31,7 @@ import {
31
31
  import {
32
32
  rulesAddSubcommand
33
33
  } from "./chunk-XM3LOQIX.js";
34
- import "./chunk-OHQJEOP7.js";
34
+ import "./chunk-Z44PATWW.js";
35
35
  import "./chunk-FXD67VN5.js";
36
36
  import "./chunk-XNFHNTS2.js";
37
37
  import {
@@ -9,7 +9,7 @@ import {
9
9
  handleVcrApiError,
10
10
  resolveVcrScope,
11
11
  validateVcrJsonOutput
12
- } from "./chunk-T3MRP74K.js";
12
+ } from "./chunk-UTWU4DZF.js";
13
13
  import "./chunk-WNAKOXGK.js";
14
14
  import {
15
15
  outputError
@@ -22,7 +22,7 @@ import "./chunk-EZKW5YJ2.js";
22
22
  import "./chunk-NFU4XJIR.js";
23
23
  import "./chunk-3HZLXCVL.js";
24
24
  import "./chunk-5XECIWME.js";
25
- import "./chunk-OHQJEOP7.js";
25
+ import "./chunk-Z44PATWW.js";
26
26
  import "./chunk-FXD67VN5.js";
27
27
  import "./chunk-XNFHNTS2.js";
28
28
  import {
@@ -17,7 +17,7 @@ import {
17
17
  emitVcrArgParseError,
18
18
  resolveVcrScope,
19
19
  validateVcrJsonOutput
20
- } from "./chunk-T3MRP74K.js";
20
+ } from "./chunk-UTWU4DZF.js";
21
21
  import "./chunk-WNAKOXGK.js";
22
22
  import {
23
23
  outputError
@@ -27,7 +27,7 @@ import {
27
27
  permissionsAddSubcommand
28
28
  } from "./chunk-EZKW5YJ2.js";
29
29
  import "./chunk-5XECIWME.js";
30
- import "./chunk-OHQJEOP7.js";
30
+ import "./chunk-Z44PATWW.js";
31
31
  import "./chunk-FXD67VN5.js";
32
32
  import "./chunk-XNFHNTS2.js";
33
33
  import {
@@ -23,7 +23,7 @@ import {
23
23
  runEngine,
24
24
  splitPassthrough,
25
25
  validateVcrChoice
26
- } from "./chunk-T3MRP74K.js";
26
+ } from "./chunk-UTWU4DZF.js";
27
27
  import "./chunk-WNAKOXGK.js";
28
28
  import {
29
29
  outputError
@@ -36,7 +36,7 @@ import "./chunk-EZKW5YJ2.js";
36
36
  import "./chunk-NFU4XJIR.js";
37
37
  import "./chunk-3HZLXCVL.js";
38
38
  import "./chunk-5XECIWME.js";
39
- import "./chunk-OHQJEOP7.js";
39
+ import "./chunk-Z44PATWW.js";
40
40
  import "./chunk-FXD67VN5.js";
41
41
  import "./chunk-XNFHNTS2.js";
42
42
  import {
@@ -3102,6 +3102,57 @@ var detachSubcommand = {
3102
3102
  }
3103
3103
  ]
3104
3104
  };
3105
+ var contactsAddSubcommand = {
3106
+ name: "add",
3107
+ aliases: [],
3108
+ description: "Add a phone contact that a connector may message",
3109
+ arguments: [
3110
+ {
3111
+ name: "connector",
3112
+ required: true
3113
+ }
3114
+ ],
3115
+ options: [
3116
+ {
3117
+ name: "phone-number",
3118
+ shorthand: null,
3119
+ type: String,
3120
+ argument: "PHONE",
3121
+ deprecated: false,
3122
+ description: "Contact phone number in E.164 format (e.g. +12025551234)"
3123
+ },
3124
+ formatOption,
3125
+ jsonOption
3126
+ ],
3127
+ examples: [
3128
+ {
3129
+ name: "Add a contact by connector ID",
3130
+ value: `${packageName} connect contacts add scl_abc123 --phone-number +12025551234`
3131
+ },
3132
+ {
3133
+ name: "Add a contact by connector UID",
3134
+ value: `${packageName} connect contacts add linq/support --phone-number +12025551234`
3135
+ },
3136
+ {
3137
+ name: "Output the verification result as JSON",
3138
+ value: `${packageName} connect contacts add scl_abc123 --phone-number +12025551234 --json`
3139
+ }
3140
+ ]
3141
+ };
3142
+ var contactsSubcommand = {
3143
+ name: "contacts",
3144
+ aliases: [],
3145
+ description: "Manage phone contacts for connectors",
3146
+ arguments: [],
3147
+ options: [],
3148
+ subcommands: [contactsAddSubcommand],
3149
+ examples: [
3150
+ {
3151
+ name: "Add a contact",
3152
+ value: `${packageName} connect contacts add scl_abc123 --phone-number +12025551234`
3153
+ }
3154
+ ]
3155
+ };
3105
3156
  var connexCommand = {
3106
3157
  name: "connect",
3107
3158
  aliases: [],
@@ -3117,7 +3168,8 @@ var connexCommand = {
3117
3168
  detachSubcommand,
3118
3169
  removeSubcommand4,
3119
3170
  revokeTokensSubcommand,
3120
- openSubcommand
3171
+ openSubcommand,
3172
+ contactsSubcommand
3121
3173
  ],
3122
3174
  examples: [
3123
3175
  {
@@ -4986,6 +5038,18 @@ var firewallCommand = {
4986
5038
  ]
4987
5039
  };
4988
5040
 
5041
+ // src/util/flags/attribute-types.ts
5042
+ var TIMESTAMP_IDENTIFY_HELP = "Pass Timestamp values as epoch milliseconds in identify() / evaluation context";
5043
+ function isTimestampAttributeType(type) {
5044
+ return type === "timestamp";
5045
+ }
5046
+ function isBucketingAttribute(attribute) {
5047
+ return !isTimestampAttributeType(attribute.type);
5048
+ }
5049
+ function getFlagAttributeType(settings, kind, attribute) {
5050
+ return settings?.entities.find((entity) => entity.kind === kind)?.attributes.find((candidate) => candidate.key === attribute)?.type;
5051
+ }
5052
+
4989
5053
  // src/util/flags/comparators.ts
4990
5054
  var FLAG_CONDITION_COMPARATORS = [
4991
5055
  "eq",
@@ -5039,11 +5103,18 @@ var FLAG_CONDITION_COMPARATOR_LABELS = {
5039
5103
  lt: "is less than",
5040
5104
  lte: "is less than or equal to"
5041
5105
  };
5106
+ var TIMESTAMP_FLAG_CONDITION_COMPARATOR_LABELS = {
5107
+ gt: "is after",
5108
+ gte: "is on or after",
5109
+ lt: "is before",
5110
+ lte: "is on or before"
5111
+ };
5042
5112
  var LEGACY_FLAG_CONDITION_COMPARATOR_LABELS = {
5043
5113
  notContains: FLAG_CONDITION_COMPARATOR_LABELS["!contains"]
5044
5114
  };
5045
5115
  function formatFlagConditionComparator(comparator, options) {
5046
- const label = FLAG_CONDITION_COMPARATOR_LABELS[comparator] ?? LEGACY_FLAG_CONDITION_COMPARATOR_LABELS[comparator] ?? comparator;
5116
+ const timestampLabel = options?.attributeType === "timestamp" ? TIMESTAMP_FLAG_CONDITION_COMPARATOR_LABELS[comparator] : void 0;
5117
+ const label = timestampLabel ?? FLAG_CONDITION_COMPARATOR_LABELS[comparator] ?? LEGACY_FLAG_CONDITION_COMPARATOR_LABELS[comparator] ?? comparator;
5047
5118
  if (options?.ignoreCase) {
5048
5119
  return `${label} (case-insensitive)`;
5049
5120
  }
@@ -5066,7 +5137,7 @@ function isFlagEvaluationsGranularity(value) {
5066
5137
  }
5067
5138
 
5068
5139
  // src/commands/flags/command.ts
5069
- var segmentRuleOperatorDescription = `Valid operators: ${formatFlagConditionComparatorList()}`;
5140
+ var segmentRuleOperatorDescription = `Valid operators: ${formatFlagConditionComparatorList()}. Timestamp attributes also accept after, before, on-or-after, and on-or-before with an ISO 8601 date and time (for example 2026-04-16T09:00:00Z) or epoch milliseconds. after and before are exclusive; use on-or-after or on-or-before for inclusive boundaries. Date/times without a timezone use this machine's timezone. ${TIMESTAMP_IDENTIFY_HELP}`;
5070
5141
  var listSubcommand11 = {
5071
5142
  name: "list",
5072
5143
  aliases: ["ls"],
@@ -5582,6 +5653,58 @@ var setSubcommand2 = {
5582
5653
  }
5583
5654
  ]
5584
5655
  };
5656
+ var useTargetingSubcommand = {
5657
+ name: "use-targeting",
5658
+ aliases: [],
5659
+ description: "Enable targeting for a feature flag environment; keeps the current fallthrough unless --default-variant is set",
5660
+ arguments: [
5661
+ {
5662
+ name: "flag",
5663
+ required: true
5664
+ }
5665
+ ],
5666
+ options: [
5667
+ projectOption,
5668
+ {
5669
+ name: "environment",
5670
+ shorthand: "e",
5671
+ type: String,
5672
+ deprecated: false,
5673
+ description: "The environment to enable targeting in (production, preview, or development)",
5674
+ argument: "ENV"
5675
+ },
5676
+ {
5677
+ name: "default-variant",
5678
+ shorthand: null,
5679
+ type: String,
5680
+ deprecated: false,
5681
+ description: "Replace the fallthrough with this variant when no targeting rules match",
5682
+ argument: "VARIANT"
5683
+ },
5684
+ {
5685
+ name: "message",
5686
+ shorthand: null,
5687
+ type: String,
5688
+ deprecated: false,
5689
+ description: "Optional revision message for the update",
5690
+ argument: "TEXT"
5691
+ }
5692
+ ],
5693
+ examples: [
5694
+ {
5695
+ name: "Enable targeting and keep the current fallthrough",
5696
+ value: `${packageName} flags use-targeting my-feature --environment production`
5697
+ },
5698
+ {
5699
+ name: "Enable targeting with a static default Off",
5700
+ value: `${packageName} flags use-targeting my-feature --environment production --default-variant false`
5701
+ },
5702
+ {
5703
+ name: "Enable targeting with a string default",
5704
+ value: `${packageName} flags use-targeting welcome-message -e production --default-variant control`
5705
+ }
5706
+ ]
5707
+ };
5585
5708
  var splitSubcommand = {
5586
5709
  name: "split",
5587
5710
  aliases: [],
@@ -5904,6 +6027,10 @@ var rulesAddSubcommand3 = {
5904
6027
  name: "Add a segment rule",
5905
6028
  value: `${packageName} flags rules add my-feature -e production --condition segment:eq:seg_beta123 --variant on`
5906
6029
  },
6030
+ {
6031
+ name: "Add a rule with a timestamp condition",
6032
+ value: `${packageName} flags rules add my-feature -e production --condition user.signupAt:after:2026-04-16T09:00:00Z --variant on`
6033
+ },
5907
6034
  {
5908
6035
  name: "Add a split rule at the top",
5909
6036
  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`
@@ -6344,8 +6471,8 @@ var segmentsCreateSubcommand = {
6344
6471
  value: `${packageName} flags segments create beta-users --label "Beta users" --add include:user.id=user_123 --add include:user.id=user_456`
6345
6472
  },
6346
6473
  {
6347
- name: "Create a segment from rules",
6348
- value: `${packageName} flags segments create enterprise-users --label "Enterprise users" --add rule:user.plan:eq:enterprise`
6474
+ name: "Create a segment using a timestamp condition",
6475
+ value: `${packageName} flags segments create early-adopters --add rule:user.signupAt:before:2026-04-16T09:00:00Z`
6349
6476
  },
6350
6477
  {
6351
6478
  name: "Create a segment from full JSON data",
@@ -6433,6 +6560,10 @@ var segmentsUpdateSubcommand = {
6433
6560
  {
6434
6561
  name: "Add and remove rules",
6435
6562
  value: `${packageName} flags segments update enterprise-users --add rule:user.email:ends-with:@company.com --remove rule:user.plan:eq:pro`
6563
+ },
6564
+ {
6565
+ name: "Add a timestamp condition",
6566
+ value: `${packageName} flags segments update early-adopters --add rule:user.signupAt:before:2026-04-16T09:00:00Z`
6436
6567
  }
6437
6568
  ]
6438
6569
  };
@@ -6655,6 +6786,7 @@ var flagsCommand = {
6655
6786
  openSubcommand2,
6656
6787
  updateSubcommand3,
6657
6788
  setSubcommand2,
6789
+ useTargetingSubcommand,
6658
6790
  splitSubcommand,
6659
6791
  rolloutSubcommand,
6660
6792
  removeSubcommand8,
@@ -12389,6 +12521,8 @@ export {
12389
12521
  openSubcommand,
12390
12522
  attachSubcommand,
12391
12523
  detachSubcommand,
12524
+ contactsAddSubcommand,
12525
+ contactsSubcommand,
12392
12526
  connexCommand,
12393
12527
  contractCommand,
12394
12528
  addSubcommand3 as addSubcommand2,
@@ -12453,6 +12587,9 @@ export {
12453
12587
  systemMitigationsResumeSubcommand,
12454
12588
  systemMitigationsSubcommand,
12455
12589
  firewallCommand,
12590
+ isTimestampAttributeType,
12591
+ isBucketingAttribute,
12592
+ getFlagAttributeType,
12456
12593
  FLAG_CONDITION_LIST_COMPARATORS,
12457
12594
  FLAG_CONDITION_RHS_OPTIONAL_COMPARATORS,
12458
12595
  formatFlagConditionComparatorList,
@@ -12469,6 +12606,7 @@ export {
12469
12606
  openSubcommand2,
12470
12607
  updateSubcommand3,
12471
12608
  setSubcommand2,
12609
+ useTargetingSubcommand,
12472
12610
  splitSubcommand,
12473
12611
  rolloutSubcommand,
12474
12612
  rulesListSubcommand3,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  require_lib
9
- } from "./chunk-OHQJEOP7.js";
9
+ } from "./chunk-Z44PATWW.js";
10
10
  import {
11
11
  isNativeBinaryInstall
12
12
  } from "./chunk-XNFHNTS2.js";
@@ -139,15 +139,21 @@ async function isGlobalByPrefix(installPath) {
139
139
  return true;
140
140
  }
141
141
  }
142
+ function asPackageManager(cliType) {
143
+ if (cliType === "npm" || cliType === "pnpm" || cliType === "yarn" || cliType === "bun" || cliType === "vlt") {
144
+ return cliType;
145
+ }
146
+ return "npm";
147
+ }
142
148
  async function resolveInstall() {
143
149
  const pkg = isNativeBinaryInstall() ? nativePackageName : packageName;
144
150
  const installPath = await (0, import_fs_extra.realpath)(resolve(__dirname));
145
151
  if (await isPnpmHomeInstall(installPath)) {
146
- return { cliType: "pnpm", global: true };
152
+ return { packageManager: "pnpm", global: true, assumed: false };
147
153
  }
148
154
  const globalCliType = await detectGlobalCliType(installPath, pkg);
149
155
  if (globalCliType) {
150
- return { cliType: globalCliType, global: true };
156
+ return { packageManager: globalCliType, global: true, assumed: false };
151
157
  }
152
158
  let lockfileCliType;
153
159
  try {
@@ -161,11 +167,13 @@ async function resolveInstall() {
161
167
  } catch (_) {
162
168
  }
163
169
  if (!lockfileCliType) {
164
- return { cliType: "npm", global: true };
170
+ return { packageManager: "npm", global: true, assumed: true };
165
171
  }
172
+ const packageManager = asPackageManager(lockfileCliType);
166
173
  return {
167
- cliType: lockfileCliType,
168
- global: isGlobalByPath(installPath) || await isGlobalByPrefix(installPath)
174
+ packageManager,
175
+ global: isGlobalByPath(installPath) || await isGlobalByPrefix(installPath),
176
+ assumed: packageManager !== lockfileCliType
169
177
  };
170
178
  }
171
179
  async function isGlobal() {
@@ -180,30 +188,35 @@ async function getUpdateCommandInfo() {
180
188
  const pkgAndVersion = `${nativeInstall ? nativePackageName : packageName}@latest`;
181
189
  if (nativeInstall) {
182
190
  const segments = process.execPath.split(sep);
183
- let cliType2 = "npm";
191
+ let packageManager2 = "npm";
184
192
  if (segments.includes("pnpm") || segments.includes(".pnpm")) {
185
- cliType2 = "pnpm";
193
+ packageManager2 = "pnpm";
186
194
  } else if (segments.includes("yarn") || segments.includes(".yarn")) {
187
- cliType2 = "yarn";
195
+ packageManager2 = "yarn";
188
196
  }
189
- const install2 = cliType2 === "yarn" ? "global add" : "i -g";
190
- const force = cliType2 === "npm" ? " --force" : "";
191
- const allowBuild2 = pnpmAllowBuildFlag(cliType2, nativePackageName);
197
+ const install2 = packageManager2 === "yarn" ? "global add" : "i -g";
198
+ const force = packageManager2 === "npm" ? " --force" : "";
199
+ const allowBuild2 = pnpmAllowBuildFlag(packageManager2, nativePackageName);
192
200
  return {
193
- command: `${cliType2} ${install2} ${pkgAndVersion}${force}${allowBuild2}`,
194
- global: true
201
+ command: `${packageManager2} ${install2} ${pkgAndVersion}${force}${allowBuild2}`,
202
+ global: true,
203
+ packageManager: packageManager2,
204
+ // Native path detection only positively identifies pnpm/yarn.
205
+ assumed: packageManager2 === "npm"
195
206
  };
196
207
  }
197
- const { cliType, global } = await resolveInstall();
198
- const yarn = cliType === "yarn";
208
+ const { packageManager, global, assumed } = await resolveInstall();
209
+ const yarn = packageManager === "yarn";
199
210
  let install = yarn ? "add" : "i";
200
211
  if (global) {
201
212
  install = yarn ? "global add" : "i -g";
202
213
  }
203
- const allowBuild = global ? pnpmAllowBuildFlag(cliType, "esbuild") : "";
214
+ const allowBuild = global ? pnpmAllowBuildFlag(packageManager, "esbuild") : "";
204
215
  return {
205
- command: `${cliType} ${install} ${pkgAndVersion}${allowBuild}`,
206
- global
216
+ command: `${packageManager} ${install} ${pkgAndVersion}${allowBuild}`,
217
+ global,
218
+ packageManager,
219
+ assumed
207
220
  };
208
221
  }
209
222
  function pnpmAllowBuildFlag(cliType, pkg) {
@@ -13,7 +13,7 @@ import {
13
13
  getLinkedProject,
14
14
  getScope,
15
15
  resolveProjectContext
16
- } from "./chunk-OHQJEOP7.js";
16
+ } from "./chunk-Z44PATWW.js";
17
17
  import {
18
18
  printError
19
19
  } from "./chunk-AYLY3ZVL.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-C5HKWXRR.js";
10
10
  import {
11
11
  ALIGNED_LABEL_WIDTH
12
- } from "./chunk-OHQJEOP7.js";
12
+ } from "./chunk-Z44PATWW.js";
13
13
  import {
14
14
  require_ms
15
15
  } from "./chunk-GGP5R3FU.js";
@@ -8,7 +8,7 @@ import {
8
8
  VERCEL_DIR,
9
9
  VERCEL_DIR_PROJECT,
10
10
  require_lib
11
- } from "./chunk-OHQJEOP7.js";
11
+ } from "./chunk-Z44PATWW.js";
12
12
  import {
13
13
  require_dist
14
14
  } from "./chunk-QFAS4OVW.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  STANDARD_ENVIRONMENTS
9
- } from "./chunk-OHQJEOP7.js";
9
+ } from "./chunk-Z44PATWW.js";
10
10
  import {
11
11
  require_lib
12
12
  } from "./chunk-Q2DGFCO7.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  writeProjectSettings
9
- } from "./chunk-I7ZVTKXM.js";
9
+ } from "./chunk-7TYA36S5.js";
10
10
  import {
11
11
  autoInstallVercelPlugin
12
12
  } from "./chunk-7AEEQOD4.js";
@@ -26,7 +26,7 @@ import {
26
26
  envPullCommandLogic,
27
27
  humanizePath,
28
28
  parseTarget
29
- } from "./chunk-OHQJEOP7.js";
29
+ } from "./chunk-Z44PATWW.js";
30
30
  import {
31
31
  TelemetryClient
32
32
  } from "./chunk-XNFHNTS2.js";
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
 
8
8
  // src/util/constants.ts
9
- var SENTRY_DSN = "https://26a24e59ba954011919a524b341b6ab5@o205439.ingest.us.sentry.io/1323225";
9
+ var SENTRY_DSN = void 0;
10
10
  var BUILD_LABEL = void 0;
11
11
 
12
12
  export {
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  resolveAlertsScope
9
- } from "./chunk-ZCAFRSCD.js";
9
+ } from "./chunk-X6TBTUZZ.js";
10
10
  import {
11
11
  handleValidationError,
12
12
  outputError,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  resolveProjectContext
9
- } from "./chunk-OHQJEOP7.js";
9
+ } from "./chunk-Z44PATWW.js";
10
10
  import {
11
11
  AGENT_REASON,
12
12
  AGENT_STATUS,
@@ -9,19 +9,19 @@ import {
9
9
  } from "./chunk-PRWJUY5U.js";
10
10
  import {
11
11
  progress
12
- } from "./chunk-22GK226I.js";
12
+ } from "./chunk-YLNIMGMQ.js";
13
13
  import {
14
14
  isJSONObject,
15
15
  printIndications,
16
16
  require_dist as require_dist2,
17
17
  sleep
18
- } from "./chunk-52P3DIMH.js";
18
+ } from "./chunk-QQ77K4QW.js";
19
19
  import {
20
20
  suggestNextCommands
21
21
  } from "./chunk-7ST552E3.js";
22
22
  import {
23
23
  CommandTimeout
24
- } from "./chunk-LDZFKXIR.js";
24
+ } from "./chunk-4KVJ2M4J.js";
25
25
  import {
26
26
  stamp_default
27
27
  } from "./chunk-64IF634X.js";
@@ -35,7 +35,7 @@ import {
35
35
  require_dist as require_dist3,
36
36
  require_pluralize,
37
37
  ua_default
38
- } from "./chunk-OHQJEOP7.js";
38
+ } from "./chunk-Z44PATWW.js";
39
39
  import {
40
40
  withGlobalFlags
41
41
  } from "./chunk-NGGLYKNU.js";
@@ -7,14 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  login,
9
9
  require_ci_info
10
- } from "./chunk-22GK226I.js";
10
+ } from "./chunk-YLNIMGMQ.js";
11
11
  import {
12
12
  getGlobalPathConfig
13
13
  } from "./chunk-AINIBIP4.js";
14
14
  import {
15
15
  humanizePath,
16
16
  param
17
- } from "./chunk-OHQJEOP7.js";
17
+ } from "./chunk-Z44PATWW.js";
18
18
  import {
19
19
  printError
20
20
  } from "./chunk-AYLY3ZVL.js";
@@ -18,7 +18,7 @@ import {
18
18
  require_lib,
19
19
  require_minimatch,
20
20
  require_pluralize
21
- } from "./chunk-OHQJEOP7.js";
21
+ } from "./chunk-Z44PATWW.js";
22
22
  import {
23
23
  isNativeBinaryInstall
24
24
  } from "./chunk-XNFHNTS2.js";
@@ -7,14 +7,14 @@ const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  getUpdateCommandInfo,
9
9
  isGlobal
10
- } from "./chunk-HK2IYHVR.js";
10
+ } from "./chunk-53J6IECW.js";
11
11
  import {
12
12
  progress,
13
13
  require_ci_info
14
- } from "./chunk-22GK226I.js";
14
+ } from "./chunk-YLNIMGMQ.js";
15
15
  import {
16
16
  writeToConfigFile
17
- } from "./chunk-52P3DIMH.js";
17
+ } from "./chunk-QQ77K4QW.js";
18
18
  import {
19
19
  getGlobalPathConfig
20
20
  } from "./chunk-AINIBIP4.js";
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  apiCommand,
26
26
  listSubcommand4 as listSubcommand
27
- } from "./chunk-LDZFKXIR.js";
27
+ } from "./chunk-4KVJ2M4J.js";
28
28
  import {
29
29
  require_semver
30
30
  } from "./chunk-IB5L4LKZ.js";
@@ -36,7 +36,7 @@ import {
36
36
  require_mkdirp,
37
37
  require_pump,
38
38
  require_tar_stream
39
- } from "./chunk-OHQJEOP7.js";
39
+ } from "./chunk-Z44PATWW.js";
40
40
  import {
41
41
  TelemetryClient,
42
42
  getInstallRoot,
@@ -3475,7 +3475,6 @@ export {
3475
3475
  installAndLinkPrBinary,
3476
3476
  listInstalledVersions,
3477
3477
  getLinkedVersion,
3478
- isLinkedToPrBuild,
3479
3478
  setPinnedVersion,
3480
3479
  getPinnedVersion,
3481
3480
  getPrBuildSha,
@@ -37,7 +37,7 @@ import {
37
37
  useKeypress,
38
38
  usePrefix,
39
39
  useState
40
- } from "./chunk-OHQJEOP7.js";
40
+ } from "./chunk-Z44PATWW.js";
41
41
  import {
42
42
  require_load_json_file
43
43
  } from "./chunk-XNFHNTS2.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  detectExplicitScope,
15
15
  resolveProjectContext
16
- } from "./chunk-OHQJEOP7.js";
16
+ } from "./chunk-Z44PATWW.js";
17
17
  import {
18
18
  AGENT_REASON,
19
19
  AGENT_STATUS,
@@ -20,7 +20,7 @@ import {
20
20
  getLinkedProject,
21
21
  getProjectByNameOrId,
22
22
  getScope
23
- } from "./chunk-OHQJEOP7.js";
23
+ } from "./chunk-Z44PATWW.js";
24
24
  import {
25
25
  AGENT_REASON,
26
26
  buildCommandWithGlobalFlags,