@vercel/cli-support 65.10.0 → 65.11.0-snapshot-631b89501c86

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 (260) hide show
  1. package/dist/chunks/add-4R6FUHQT.js +8 -0
  2. package/dist/chunks/add-F3H4BFJZ.js +8 -0
  3. package/dist/chunks/add-TCOJ4SIQ.js +8 -0
  4. package/dist/chunks/alerts-JGRRCQA4.js +8 -0
  5. package/dist/chunks/build-GOLTZF6S.js +7 -0
  6. package/dist/chunks/{chunk-6NUH6ZPE.js → chunk-2J35YKA2.js} +9 -9
  7. package/dist/chunks/{chunk-GQ4CQDIL.js → chunk-3KJ6HWSX.js} +1 -1
  8. package/dist/chunks/{chunk-STKZTUGE.js → chunk-3TDFSO4X.js} +1 -1
  9. package/dist/chunks/chunk-42FOKWGX.js +8 -0
  10. package/dist/chunks/{chunk-T2FCF46I.js → chunk-4DMKP6AO.js} +2 -2
  11. package/dist/chunks/chunk-4HR3I3ML.js +7 -0
  12. package/dist/chunks/{chunk-5MPZSRYG.js → chunk-4T57TXQ3.js} +1 -1
  13. package/dist/chunks/{chunk-SBEWZ65N.js → chunk-4VP57TOJ.js} +1 -1
  14. package/dist/chunks/{chunk-ZEUREQ4E.js → chunk-5B5CLOKM.js} +1 -1
  15. package/dist/chunks/chunk-5FIY443M.js +7 -0
  16. package/dist/chunks/{chunk-AUIV7YJO.js → chunk-5X635INY.js} +2 -2
  17. package/dist/chunks/{chunk-P6J22UJQ.js → chunk-6ORJPXDQ.js} +1 -1
  18. package/dist/chunks/chunk-74VQ7PQV.js +7 -0
  19. package/dist/chunks/{chunk-VU3RBRDH.js → chunk-7JMN657A.js} +1 -1
  20. package/dist/chunks/{chunk-Q46Q4Y4R.js → chunk-7LPNDK2O.js} +1 -1
  21. package/dist/chunks/{chunk-LIEWXPUC.js → chunk-7MZLV3KK.js} +1 -1
  22. package/dist/chunks/{chunk-YGYUPPAL.js → chunk-7NMC4E66.js} +1 -1
  23. package/dist/chunks/chunk-7ZJ7VUIR.js +7 -0
  24. package/dist/chunks/chunk-A3M2BHWR.js +13 -0
  25. package/dist/chunks/{chunk-US7YJ2RQ.js → chunk-AYZ52QDF.js} +1 -1
  26. package/dist/chunks/{chunk-5IZ33FNL.js → chunk-B56SRT5W.js} +1 -1
  27. package/dist/chunks/{chunk-3PKL2PTF.js → chunk-B6QVH6IG.js} +1 -1
  28. package/dist/chunks/{chunk-3QYXC4PH.js → chunk-BUFEV3T4.js} +1 -1
  29. package/dist/chunks/{chunk-ER7L7HYA.js → chunk-BVR6OIU5.js} +1 -1
  30. package/dist/chunks/{chunk-B4XGTAFO.js → chunk-BW25OFQG.js} +1 -1
  31. package/dist/chunks/{chunk-7LSH3MEB.js → chunk-C5QEQSEX.js} +1 -1
  32. package/dist/chunks/{chunk-VQSSVB6V.js → chunk-CD6ZWCKT.js} +1 -1
  33. package/dist/chunks/chunk-CFYLTZSV.js +7 -0
  34. package/dist/chunks/chunk-D3M2JG5C.js +7 -0
  35. package/dist/chunks/chunk-D7BB5BPA.js +10 -0
  36. package/dist/chunks/{chunk-RUBMVRT6.js → chunk-DR6OJB6P.js} +1 -1
  37. package/dist/chunks/chunk-DRZVM7CB.js +12 -0
  38. package/dist/chunks/{chunk-UQNBUXQA.js → chunk-EBIJ26IV.js} +1 -1
  39. package/dist/chunks/chunk-EGTJTCCW.js +7 -0
  40. package/dist/chunks/{chunk-OJWI6QJ3.js → chunk-EICEQXVS.js} +1 -1
  41. package/dist/chunks/{chunk-NAN5IE3B.js → chunk-EIMHC5UY.js} +1 -1
  42. package/dist/chunks/{chunk-CBMWPDOL.js → chunk-EVBGFSK5.js} +1 -1
  43. package/dist/chunks/{chunk-N5AN4JZL.js → chunk-EZLPMOHM.js} +1 -1
  44. package/dist/chunks/{chunk-JLNF2QTR.js → chunk-F2R7L3ZB.js} +1 -1
  45. package/dist/chunks/chunk-FHMCTV5E.js +7 -0
  46. package/dist/chunks/{chunk-DUCCC22H.js → chunk-FNH3T3CF.js} +1 -1
  47. package/dist/chunks/{chunk-RBIHS5QI.js → chunk-FOE3MWES.js} +1 -1
  48. package/dist/chunks/{chunk-KZLRIAAT.js → chunk-FVTRIRML.js} +1 -1
  49. package/dist/chunks/{chunk-PL6IOUKW.js → chunk-GL66K54F.js} +1 -1
  50. package/dist/chunks/{chunk-SXYA7JSX.js → chunk-HDISAMDF.js} +1 -1
  51. package/dist/chunks/chunk-HKU6D7DU.js +8 -0
  52. package/dist/chunks/{chunk-4WXVKR43.js → chunk-HNH3DPIZ.js} +1 -1
  53. package/dist/chunks/{chunk-U2TQFAO3.js → chunk-HYOWFNOP.js} +1 -1
  54. package/dist/chunks/{chunk-OYIDWI5Y.js → chunk-HZEKH3RO.js} +3 -3
  55. package/dist/chunks/{chunk-6RMW63GB.js → chunk-IHCYNUI2.js} +1 -1
  56. package/dist/chunks/chunk-IOTKHTZH.js +7 -0
  57. package/dist/chunks/{chunk-4VF5BZJP.js → chunk-JTAUWH5V.js} +1 -1
  58. package/dist/chunks/{chunk-S535FZTA.js → chunk-JUSNW3IF.js} +1 -1
  59. package/dist/chunks/{chunk-MKTZDEOJ.js → chunk-K4JTCVNW.js} +1 -1
  60. package/dist/chunks/{chunk-FPREO4VS.js → chunk-LALPOYIA.js} +1 -1
  61. package/dist/chunks/{chunk-YKLTNKQJ.js → chunk-MIIHBRKV.js} +1 -1
  62. package/dist/chunks/{chunk-BK3TNLWO.js → chunk-MO2G2ND2.js} +1 -1
  63. package/dist/chunks/{chunk-NLTZGQB2.js → chunk-MUKXOI2K.js} +1 -1
  64. package/dist/chunks/{chunk-PKZK23PR.js → chunk-NDMQVBTV.js} +1 -1
  65. package/dist/chunks/{chunk-DNLE3KPC.js → chunk-NSPW47RU.js} +1 -1
  66. package/dist/chunks/{chunk-K5KVSA2A.js → chunk-NT2N5UR4.js} +1 -1
  67. package/dist/chunks/{chunk-WYGOYE6C.js → chunk-NTDP6RTQ.js} +1 -1
  68. package/dist/chunks/chunk-NUSKXXZZ.js +20 -0
  69. package/dist/chunks/{chunk-Q2JNATRP.js → chunk-NZW3RIQM.js} +1 -1
  70. package/dist/chunks/chunk-Q2QVK3TH.js +7 -0
  71. package/dist/chunks/{chunk-HTPNGLPH.js → chunk-QDHTI5WK.js} +1 -1
  72. package/dist/chunks/chunk-QROI2U32.js +14 -0
  73. package/dist/chunks/chunk-RAQ6EUNL.js +7 -0
  74. package/dist/chunks/chunk-RDWLLSPU.js +7 -0
  75. package/dist/chunks/chunk-RR5SDYNN.js +8 -0
  76. package/dist/chunks/{chunk-BPRGAX62.js → chunk-SLCPSRDR.js} +1 -1
  77. package/dist/chunks/{chunk-5RYQH3XW.js → chunk-TPJV5UNE.js} +1 -1
  78. package/dist/chunks/{chunk-QXL353OB.js → chunk-TUAS3L5I.js} +1 -1
  79. package/dist/chunks/{chunk-7TR6H6NE.js → chunk-UBJVL3NJ.js} +2 -2
  80. package/dist/chunks/{chunk-6YAYCEDT.js → chunk-UCRMJMH6.js} +2 -2
  81. package/dist/chunks/{chunk-XS3MNHFR.js → chunk-UF2E5BDE.js} +1 -1
  82. package/dist/chunks/{chunk-E7WULWMX.js → chunk-UFXIPUNI.js} +1 -1
  83. package/dist/chunks/{chunk-SR7BZA6N.js → chunk-UNPK7LVC.js} +1 -1
  84. package/dist/chunks/{chunk-FXHB7TTL.js → chunk-VAZ7JG2Z.js} +1 -1
  85. package/dist/chunks/{chunk-52X4YVSG.js → chunk-VKCBEW6R.js} +1 -1
  86. package/dist/chunks/{chunk-FSJFWVUY.js → chunk-VWJXV5ZM.js} +1 -1
  87. package/dist/chunks/{chunk-VTITZEPW.js → chunk-W24TLPO5.js} +1 -1
  88. package/dist/chunks/chunk-WBSFE6IE.js +10 -0
  89. package/dist/chunks/{chunk-LE72YLCC.js → chunk-WMWB7QKG.js} +1 -1
  90. package/dist/chunks/{chunk-XFUUALZS.js → chunk-WNDR5HCU.js} +1 -1
  91. package/dist/chunks/{chunk-DQNP7OQ5.js → chunk-XH2R2EIK.js} +1 -1
  92. package/dist/chunks/{chunk-ZPJHONCZ.js → chunk-XQDHMFQY.js} +1 -1
  93. package/dist/chunks/{chunk-JA6IGJ67.js → chunk-YODQLETL.js} +1 -1
  94. package/dist/chunks/{chunk-36XHIIUT.js → chunk-Z64MQIOE.js} +1 -1
  95. package/dist/chunks/chunk-ZPBGAZC2.js +11 -0
  96. package/dist/chunks/{chunk-75DUL7VI.js → chunk-ZTHW5VNH.js} +1 -1
  97. package/dist/chunks/clear-PECHXMV5.js +8 -0
  98. package/dist/chunks/compile-vercel-config-EM3HYOQC.js +7 -0
  99. package/dist/chunks/config-DA2NZUDH.js +8 -0
  100. package/dist/chunks/config-X6O3DT7V.js +7 -0
  101. package/dist/chunks/config-validator.mjs +1 -1
  102. package/dist/chunks/{connect-git-provider-YIX5ZOU6.js → connect-git-provider-GFAJLQLU.js} +1 -1
  103. package/dist/chunks/contract-RHMWRX4W.js +10 -0
  104. package/dist/chunks/delete-5RN5VW5L.js +9 -0
  105. package/dist/chunks/delete-MT6I7R7K.js +10 -0
  106. package/dist/chunks/detect-services-HSA4JHJX.js +7 -0
  107. package/dist/chunks/disable-LXPZDQMC.js +7 -0
  108. package/dist/chunks/discard-PW65T65S.js +14 -0
  109. package/dist/chunks/edit-WFSONASO.js +8 -0
  110. package/dist/chunks/edit-YID3FOJ3.js +9 -0
  111. package/dist/chunks/enable-X2EKQCIY.js +7 -0
  112. package/dist/chunks/{export-YYQ2J5AT.js → export-25TQ3YBT.js} +1 -1
  113. package/dist/chunks/future-DQBK457G.js +7 -0
  114. package/dist/chunks/generate-cert-for-deploy-OMEACY5G.js +7 -0
  115. package/dist/chunks/image-AO2OZG4W.js +7 -0
  116. package/dist/chunks/import-builders-GSDV4K4A.js +7 -0
  117. package/dist/chunks/{inspect-AHHXHIIP.js → inspect-3W3TUJ6P.js} +1 -1
  118. package/dist/chunks/inspect-4244CRHI.js +13 -0
  119. package/dist/chunks/{inspect-SFM3NWDF.js → inspect-BRYVSQBD.js} +1 -1
  120. package/dist/chunks/inspect-C43IV7X4.js +9 -0
  121. package/dist/chunks/inspect-RP5KXOYQ.js +8 -0
  122. package/dist/chunks/{inspect-RPCDGIP3.js → inspect-TN2QY3BP.js} +1 -1
  123. package/dist/chunks/list-2SY6PZLC.js +12 -0
  124. package/dist/chunks/{list-7WWUYCE6.js → list-6W4UQBY4.js} +1 -1
  125. package/dist/chunks/{list-NXZXKKAR.js → list-WA6Q7DUN.js} +1 -1
  126. package/dist/chunks/list-WBKZGIMQ.js +8 -0
  127. package/dist/chunks/login-K6XBWOFD.js +9 -0
  128. package/dist/chunks/login-OGMXEW5N.js +7 -0
  129. package/dist/chunks/logs-R3ZERQ7M.js +7 -0
  130. package/dist/chunks/{ls-LCUOBWY2.js → ls-4WP6LHLL.js} +1 -1
  131. package/dist/chunks/{ls-ITWXAWSZ.js → ls-EVAQD3LI.js} +1 -1
  132. package/dist/chunks/{ls-5SKRXNSI.js → ls-L5LLKZBV.js} +1 -1
  133. package/dist/chunks/{ls-FOFJU2JJ.js → ls-MAJ4QZTY.js} +1 -1
  134. package/dist/chunks/ls-O5DKK3TY.js +8 -0
  135. package/dist/chunks/ls-PTHGXQLK.js +11 -0
  136. package/dist/chunks/{ls-OY5YTZGN.js → ls-UXE5RSZN.js} +1 -1
  137. package/dist/chunks/mutate-EKZWPQQJ.js +9 -0
  138. package/dist/chunks/{notifications-XAPB2F2T.js → notifications-F5S3RKZF.js} +1 -1
  139. package/dist/chunks/open-KGVG54NN.js +7 -0
  140. package/dist/chunks/{openapi-UUFKDKGC.js → openapi-7TPDTMCU.js} +1 -1
  141. package/dist/chunks/{permissions-FU5OET67.js → permissions-5K7JZOMB.js} +1 -1
  142. package/dist/chunks/{plugin-offer-E5JOW442.js → plugin-offer-JUYWL4I7.js} +1 -1
  143. package/dist/chunks/prompt-missing-credentials-DX2KJB5X.js +7 -0
  144. package/dist/chunks/publish-KIRTO2ZO.js +15 -0
  145. package/dist/chunks/pull-3CRJK7BX.js +7 -0
  146. package/dist/chunks/purchase-domain-if-available-55IXEF43.js +7 -0
  147. package/dist/chunks/push-4YG5HKSD.js +7 -0
  148. package/dist/chunks/{query-VMKIOI3W.js → query-67KQVLTR.js} +1 -1
  149. package/dist/chunks/reauthenticate-SWSBFGDU.js +7 -0
  150. package/dist/chunks/remove-SYTIFVWW.js +9 -0
  151. package/dist/chunks/reorder-TX5MXJEB.js +10 -0
  152. package/dist/chunks/reply-XVK33N5T.js +9 -0
  153. package/dist/chunks/resolve-JZ262ZF4.js +12 -0
  154. package/dist/chunks/resolve-agent-team-BG5YW55B.js +7 -0
  155. package/dist/chunks/restore-IPFL7TKT.js +16 -0
  156. package/dist/chunks/rm-2BCAZGQU.js +8 -0
  157. package/dist/chunks/rm-3CCU3CE6.js +8 -0
  158. package/dist/chunks/rm-5CQV5LYG.js +8 -0
  159. package/dist/chunks/rm-OV4OU6H2.js +8 -0
  160. package/dist/chunks/rm-WFGMOZ3G.js +8 -0
  161. package/dist/chunks/rule-inspect-RFJIIXZH.js +8 -0
  162. package/dist/chunks/{schema-AKVIKCFT.js → schema-753JMRZA.js} +1 -1
  163. package/dist/chunks/schema-SUNFQGUL.js +14 -0
  164. package/dist/chunks/select-org-MPHPWWPU.js +7 -0
  165. package/dist/chunks/set-BR6EEOPB.js +7 -0
  166. package/dist/chunks/set-I3NWZRSI.js +9 -0
  167. package/dist/chunks/setup-and-link-MRTKVOWD.js +7 -0
  168. package/dist/chunks/{skills-JG4MGVKX.js → skills-QZ4AMS2K.js} +28 -16
  169. package/dist/chunks/{tags-4Y4UBA5S.js → tags-7DIZEAVE.js} +1 -1
  170. package/dist/chunks/{types-DSN6Q6HW.js → types-NPUAHKSK.js} +1 -1
  171. package/dist/chunks/{update-R42CXSVE.js → update-7XH7HM5F.js} +1 -1
  172. package/dist/chunks/usage-3BS7JCCU.js +13 -0
  173. package/dist/chunks/{validate-config-XWZ7ZZ3G.js → validate-config-LAD7BU3B.js} +1 -1
  174. package/dist/commands/build/index.js +1 -1
  175. package/dist/commands/deploy/index.js +4 -4
  176. package/dist/commands/dev/index.js +2 -2
  177. package/dist/commands/env/index.js +1 -1
  178. package/dist/commands/link/index.js +1 -1
  179. package/dist/commands/list/index.js +1 -1
  180. package/dist/commands/project/index.js +1 -1
  181. package/dist/commands-account.js +82 -93
  182. package/dist/commands-ai.js +13 -12
  183. package/dist/commands-blob.js +1 -1
  184. package/dist/commands-core.js +56 -59
  185. package/dist/commands-deployments.js +1 -1
  186. package/dist/commands-flags.js +6 -6
  187. package/dist/commands-integrations.js +12 -18
  188. package/dist/commands-observability.js +7 -7
  189. package/dist/commands-routing.js +2 -2
  190. package/dist/help.js +1 -1
  191. package/dist/index.js +7 -7
  192. package/dist/internal-build.js +1 -1
  193. package/dist/launcher-errors.js +1 -1
  194. package/dist/package.json +25 -25
  195. package/dist/root-help-commands.mjs +1 -1
  196. package/dist/version.mjs +1 -1
  197. package/package.json +16 -16
  198. package/dist/chunks/add-4MTUAI2X.js +0 -8
  199. package/dist/chunks/add-JYLWBVVQ.js +0 -8
  200. package/dist/chunks/add-T5ERJ62Z.js +0 -8
  201. package/dist/chunks/build-OGWTTFLG.js +0 -7
  202. package/dist/chunks/chunk-3QFBVAHL.js +0 -8
  203. package/dist/chunks/chunk-5RSSGN2Q.js +0 -8
  204. package/dist/chunks/chunk-BIRSJSAO.js +0 -7
  205. package/dist/chunks/chunk-FOWAVQOH.js +0 -8
  206. package/dist/chunks/chunk-JBU72NEQ.js +0 -7
  207. package/dist/chunks/chunk-NZRBJB6T.js +0 -7
  208. package/dist/chunks/chunk-OII46FDN.js +0 -12
  209. package/dist/chunks/chunk-SNNJRKD6.js +0 -10
  210. package/dist/chunks/chunk-TILI4QBL.js +0 -11
  211. package/dist/chunks/chunk-WKIDCYKL.js +0 -10
  212. package/dist/chunks/chunk-ZCUUCYID.js +0 -13
  213. package/dist/chunks/chunk-ZIC7VWFC.js +0 -14
  214. package/dist/chunks/clear-Z5OO6URI.js +0 -8
  215. package/dist/chunks/compile-vercel-config-ZKUTSDWV.js +0 -7
  216. package/dist/chunks/config-AUTTHXQO.js +0 -8
  217. package/dist/chunks/config-RJ7PLFQD.js +0 -7
  218. package/dist/chunks/delete-QQOC63HV.js +0 -9
  219. package/dist/chunks/delete-WIGSOZR3.js +0 -10
  220. package/dist/chunks/detect-services-J4LGLAHC.js +0 -7
  221. package/dist/chunks/disable-L54VGY5A.js +0 -7
  222. package/dist/chunks/discard-Q5UPTZR2.js +0 -14
  223. package/dist/chunks/edit-FRGMYBW3.js +0 -9
  224. package/dist/chunks/edit-QEDNQ33T.js +0 -8
  225. package/dist/chunks/enable-TGQZWSBG.js +0 -7
  226. package/dist/chunks/future-RYEYLPCG.js +0 -7
  227. package/dist/chunks/generate-cert-for-deploy-Y4KDIFF2.js +0 -7
  228. package/dist/chunks/image-PDPRURMH.js +0 -7
  229. package/dist/chunks/import-builders-H54QCMQ4.js +0 -7
  230. package/dist/chunks/inspect-6IBPIBIJ.js +0 -9
  231. package/dist/chunks/inspect-Q7FYDFL7.js +0 -13
  232. package/dist/chunks/list-GSVERG4S.js +0 -12
  233. package/dist/chunks/login-HEHHQO3F.js +0 -9
  234. package/dist/chunks/login-XKLPSZNN.js +0 -7
  235. package/dist/chunks/logs-NJ46ZSNZ.js +0 -7
  236. package/dist/chunks/ls-MWGIT2YH.js +0 -8
  237. package/dist/chunks/ls-TZN53EJL.js +0 -11
  238. package/dist/chunks/mutate-ZYXVL22A.js +0 -9
  239. package/dist/chunks/open-WPRHI6ND.js +0 -7
  240. package/dist/chunks/prompt-missing-credentials-ZZVTEQQB.js +0 -7
  241. package/dist/chunks/publish-R5IV2BH2.js +0 -15
  242. package/dist/chunks/pull-CQVHIIAN.js +0 -7
  243. package/dist/chunks/purchase-domain-if-available-VMWCMYC2.js +0 -7
  244. package/dist/chunks/push-Y5CUOISM.js +0 -7
  245. package/dist/chunks/reauthenticate-5K7LBTOW.js +0 -7
  246. package/dist/chunks/reorder-W3MXHSGZ.js +0 -10
  247. package/dist/chunks/reply-YH7HRIWQ.js +0 -9
  248. package/dist/chunks/resolve-FWVMWJTG.js +0 -12
  249. package/dist/chunks/resolve-agent-team-6L7AQUA2.js +0 -7
  250. package/dist/chunks/restore-I7L3EOS4.js +0 -16
  251. package/dist/chunks/rm-AWUMNWQU.js +0 -8
  252. package/dist/chunks/rm-HVGUK55W.js +0 -8
  253. package/dist/chunks/rm-M3EMCKSN.js +0 -8
  254. package/dist/chunks/rm-RFCTWU5R.js +0 -8
  255. package/dist/chunks/rm-VREBRM5D.js +0 -8
  256. package/dist/chunks/rule-inspect-SQUCRRGA.js +0 -8
  257. package/dist/chunks/schema-S36QQNJP.js +0 -14
  258. package/dist/chunks/select-org-PRWYXAWW.js +0 -7
  259. package/dist/chunks/set-ZJAC44LV.js +0 -7
  260. package/dist/chunks/setup-and-link-VD53JFQI.js +0 -7
@@ -1,13 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{canPrompt}from"./chunk-IQ7FPAI4.js";import{scopeFlagPassed}from"./chunk-DNLE3KPC.js";import{outputActionRequired,outputAgentError}from"./chunk-AUIV7YJO.js";import{output_manager_default}from"./chunk-GZLYNPNU.js";import{require_build_utils}from"./chunk-5MDNVAE6.js";import{AGENT_ACTION,AGENT_REASON,AGENT_STATUS,getExitCodeForReason}from"./chunk-JBU72NEQ.js";import{__toESM}from"./chunk-BZENIQ7N.js";async function getWebhook(client,webhookId){return await client.fetch(`/v1/webhooks/${encodeURIComponent(webhookId)}`)}var TEAM_BUDGET={scope:"team"},BUDGET_THRESHOLD_PERCENTS=[50,75,100],PAUSE_AT_PERCENT=100;function buildThresholds({pause,webhookUrl}){return BUDGET_THRESHOLD_PERCENTS.map(percent=>({percent,sendNotifications:!0,triggerWebhook:!!webhookUrl,pauseUsage:percent===PAUSE_AT_PERCENT?!!pause:!1}))}function thresholdsForSet({existing,pause,pauseSpecified,webhookUrl,webhookSpecified}){if(!existing?.length)return buildThresholds({pause,webhookUrl});let next=existing.map(threshold=>({...threshold}));if(pauseSpecified&&(next=applyPauseToThresholds(next,pause)),webhookSpecified){let triggerWebhook=!!webhookUrl;next=next.map(threshold=>({...threshold,triggerWebhook}))}return next}function hasPauseThreshold(thresholds){return thresholds.some(threshold=>threshold.percent===PAUSE_AT_PERCENT)}function pausePercentsOutside100(thresholds){return thresholds.filter(threshold=>threshold.pauseUsage&&threshold.percent!==PAUSE_AT_PERCENT).map(threshold=>threshold.percent)}function applyPauseToThresholds(thresholds,pause){return pause?thresholds.map(threshold=>({...threshold,pauseUsage:threshold.percent===PAUSE_AT_PERCENT})):thresholds.map(threshold=>({...threshold,pauseUsage:!1}))}function budgetAmountDollars(budget){let n=Number(budget.amount);return Number.isFinite(n)?n:0}function spendDollars(spend){return spend?.currentSpend==null?null:spend.currentSpend/100}function percentUsed(spent,amount){return spent!==null&&amount>0?Math.round(spent/amount*100):null}function spendPayload(spent,amount){return{currentSpend:spent,percentUsed:amount===null?null:percentUsed(spent,amount),unit:"usd"}}var NO_RETRY={retries:0};function budgetPauses(budget){return budget.thresholds.some(t=>t.pauseUsage)}function budgetStatePayload(state){return{id:state.id,teamId:state.teamId,scope:state.scope,scopeId:state.scopeId,amount:state.amount,amountUnit:state.amountUnit,status:state.status,pause:state.pause,webhookId:state.webhookId,webhookUrl:state.webhookUrl,webhookStatus:state.webhookStatus,thresholds:state.thresholds}}function setSavedReceipt({team,reloaded,webhookSecret,amount,scope}){let secret=webhookSecret?{webhookSecret}:{};return reloaded?{ok:!0,saved:!0,reloaded:!0,teamSlug:team.slug,...budgetStatePayload(reloaded),...secret}:{ok:!0,saved:!0,reloaded:!1,teamId:team.id,teamSlug:team.slug,scope,amount,amountUnit:"usd",...secret}}function removeReceipt({team,alreadyAbsent,disabled,scope}){return{ok:!0,alreadyAbsent,disabled,teamId:team.id,teamSlug:team.slug,scope}}function selectorQuery(selector){return new URLSearchParams({scope:selector.scope}).toString()}function matchesSelector(budget,selector){return(budget.scope??selector.scope)===selector.scope}function resolvedBudgetScope(budget,selector=TEAM_BUDGET){return budget.scope??selector.scope}async function toBudgetState(client,budget,selector=TEAM_BUDGET){let webhook=await resolveBudgetWebhook(client,budget);return{id:budget.id,teamId:budget.ownerId,scope:resolvedBudgetScope(budget,selector),scopeId:budget.scopeId??null,amount:budgetAmountDollars(budget),amountUnit:"usd",status:budget.status,pause:budgetPauses(budget),webhookId:webhook.webhookId,webhookUrl:webhook.webhookUrl,webhookStatus:webhook.webhookStatus,thresholds:budget.thresholds.map(threshold=>({...threshold}))}}async function resolveBudgetWebhook(client,budget){if(!budget.webhookId)return{webhookId:null,webhookUrl:null,webhookStatus:"absent"};try{let webhook=await getWebhook(client,budget.webhookId);return{webhookId:budget.webhookId,webhookUrl:webhook.url,webhookStatus:"resolved"}}catch{return{webhookId:budget.webhookId,webhookUrl:null,webhookStatus:"unavailable"}}}function formatUsdWhole(dollars){return`$${dollars.toLocaleString("en-US",{maximumFractionDigits:0})}`}function formatUsd(dollars){return`$${dollars.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}async function listBudgets(client,selector){let{data}=await client.fetch(selector?`/v1/budgets?${selectorQuery(selector)}`:"/v1/budgets",{method:"GET"});return data??[]}async function findBudget(client,selector=TEAM_BUDGET){let budgets=(await listBudgets(client,selector)).filter(budget=>matchesSelector(budget,selector));return budgets.find(b=>b.status==="active")??budgets[0]}async function setBudget(client,input){let selector={scope:input.scope};return client.fetch("/v1/budgets",{method:"POST",retry:{retries:0},body:{amount:input.amount,thresholds:input.thresholds,scope:selector.scope,...input.webhookUrl?{webhookUrl:input.webhookUrl}:{}}})}async function removeBudget(client,budgetId){await client.fetch(`/v1/budgets/${encodeURIComponent(budgetId)}`,{method:"DELETE"})}async function getTeamSpend(client,teamId,selector=TEAM_BUDGET,{retry}={}){let params=new URLSearchParams;selector.scope!=="team"&&params.set("scope",selector.scope);let qs=params.toString(),{data}=await client.fetch(`/teams/${encodeURIComponent(teamId)}/spend${qs?`?${qs}`:""}`,{method:"GET",...retry?{retry}:{}});return data??{currentSpend:null,avgSpend:null}}async function listBudgetAlerts(client,selector=TEAM_BUDGET,query={},{retry}={}){let params=new URLSearchParams(selectorQuery(selector));for(let[key,value]of Object.entries(query))value!==void 0&&params.set(key,String(value));let page=await client.fetch(`/v1/budgets/alerts?${params}`,{method:"GET",...retry?{retry}:{}});return{data:page.data??[],nextCursor:page.nextCursor}}var import_build_utils=__toESM(require_build_utils(),1);var AMOUNT_PATTERN=/^\d+(\.\d{1,2})?$/,REASON_BY_CODE={UNSUPPORTED_TLD:AGENT_REASON.TLD_NOT_SUPPORTED,UNSUPPORTED_TLD_VIA_CLI:AGENT_REASON.TLD_NOT_SUPPORTED,INVALID_DOMAIN:AGENT_REASON.INVALID_DOMAIN,DOMAIN_NOT_AVAILABLE:AGENT_REASON.DOMAIN_NOT_AVAILABLE,DOMAIN_PAYMENT_ERROR:AGENT_REASON.PAYMENT_FAILED};function chargeFailureReason(err){let code=err.code;return typeof code=="string"&&REASON_BY_CODE[code]||AGENT_REASON.API_ERROR}function parseAmount(raw){if(raw===void 0)return;let value=raw.trim();return!AMOUNT_PATTERN.test(value)||Number(value)<=0?new Error(`Invalid --amount "${raw}". Use the price in USD, such as 20.00.`):Number(value)}function amountMatchesPrice(amount,price){return Math.round(amount*100)===Math.round(price*100)}function formatAmountArg(price){return price.toFixed(2)}function formatTerm(years){return`${years} ${years===1?"year":"years"}`}function canPromptForCharge(client,json){return canPrompt(client)&&!process.env.CI&&!json}function chargeFlagWithValue(argv,flags){for(let arg of argv){if(arg==="--")break;let name=arg.split("=")[0];if(arg.includes("=")&&flags.includes(name))return`${name} doesn't take a value. Pass it on its own, or leave it out${name==="--auto-renew"?" and pass --no-auto-renew":""}.`}}function chargeTeamStatus(client,teamId){let orgId=(0,import_build_utils.getPlatformEnv)("ORG_ID");return orgId&&orgId!==teamId?"conflict":scopeFlagPassed(client.argv)||orgId===teamId?"named":"unnamed"}function printChargeRecovery(headline,instruction,command){output_manager_default.fatal(`${headline}
8
-
9
- ${instruction}:
10
- ${command}`)}function writeChargeAction(client,json,payload){outputActionRequired(client,payload,1),json&&client.stdout.write(`${JSON.stringify(payload,null,2)}
11
- `)}function reportUsageError(client,reason,message){let exitCode=getExitCodeForReason(reason);return outputAgentError(client,{status:"error",reason,message},exitCode),output_manager_default.error(message),exitCode}function reportChargeFailure(client,json,payload,opts={}){let document={status:"error",...payload,...opts.apiMessage&&{data:{...payload.data,apiMessage:opts.apiMessage}}};outputAgentError(client,document,1),json&&client.stdout.write(`${JSON.stringify(document,null,2)}
12
- `);let headline=opts.apiMessage?`${payload.message}
13
- ${opts.apiMessage}`:payload.message;return opts.recovery?printChargeRecovery(headline,opts.recovery.instruction,opts.recovery.command):output_manager_default.fatal(headline),1}function reportUnknownOutcome(client,json,opts){let done=opts.verb==="buy"?"was bought":"was renewed",action=opts.verb==="buy"?"purchase":"renewal";return reportChargeFailure(client,json,{reason:AGENT_REASON.UNKNOWN_OUTCOME,message:`Can't confirm whether ${opts.domain} ${done}. Check the domain before running ${opts.verb} again, or you may be charged twice.`,next:[{command:opts.inspectCommand,when:`Check whether the ${action} went through before retrying`}]},{recovery:{instruction:`Check whether the ${action} went through`,command:opts.inspectCommand}})}function refuseUnnamedTeam(client,json,opts){let{verb,domain,team}=opts,status=chargeTeamStatus(client,team.id);if(status==="named")return;if(status==="conflict")return reportChargeFailure(client,json,{reason:AGENT_REASON.CONFLICT,message:`Can't ${verb} ${domain}. VERCEL_ORG_ID names a different team than ${team.slug}, the team this run would charge. Nothing was charged.`,userActionRequired:!0,hint:"Set VERCEL_ORG_ID to the team to charge, or unset it and pass --scope with that team.",data:{domain,team:team.slug}});let message=`Can't ${verb} ${domain} without naming the team to charge in non-interactive mode. It would charge ${team.slug}. Nothing was charged.`;return writeChargeAction(client,json,{status:AGENT_STATUS.ACTION_REQUIRED,reason:AGENT_REASON.MISSING_SCOPE,action:AGENT_ACTION.CONFIRMATION_REQUIRED,message,userActionRequired:!0,data:{domain,team:team.slug},missing:["--scope"],next:[{command:opts.nextCommand,when:`Only after a human approves charging ${team.slug}`}]}),printChargeRecovery(message,"Once a person approves the team to charge, run",opts.nextCommand),1}function reportPriceChanged(client,opts){let{verb,domain,amount,price,nextCommand}=opts;return reportChargeFailure(client,opts.json,{reason:AGENT_REASON.PRICE_CHANGED,message:price===void 0?`Can't ${verb} ${domain}. Its price changed from ${formatUsd(amount)}. Nothing was charged.`:`Can't ${verb} ${domain}. Its price is ${formatUsd(price)}, not ${formatUsd(amount)}. Nothing was charged.`,userActionRequired:!0,data:price===void 0?{domain}:{domain,amount:price,currency:"USD"},next:[{command:nextCommand,when:price===void 0?"Get the current price, then ask a human to approve it":`Only after a human approves the price of ${formatUsd(price)}`}]},{recovery:{instruction:price===void 0?"Get the current price":"Once a person approves the price, run",command:nextCommand}})}export{getWebhook,TEAM_BUDGET,thresholdsForSet,hasPauseThreshold,pausePercentsOutside100,budgetAmountDollars,spendDollars,percentUsed,spendPayload,NO_RETRY,budgetPauses,budgetStatePayload,setSavedReceipt,removeReceipt,toBudgetState,formatUsdWhole,formatUsd,listBudgets,findBudget,setBudget,removeBudget,getTeamSpend,listBudgetAlerts,chargeFailureReason,parseAmount,amountMatchesPrice,formatAmountArg,formatTerm,canPromptForCharge,chargeFlagWithValue,printChargeRecovery,writeChargeAction,reportUsageError,reportChargeFailure,reportUnknownOutcome,refuseUnnamedTeam,reportPriceChanged};