@vercel/cli-support 65.11.0 → 65.12.0-snapshot-801db9d533c3

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 (369) hide show
  1. package/README.md +8 -120
  2. package/dist/chunks/add-BDJYCIBT.js +8 -0
  3. package/dist/chunks/add-LZR4CD7O.js +8 -0
  4. package/dist/chunks/add-MR6YZTRQ.js +8 -0
  5. package/dist/chunks/{alerts-JGRRCQA4.js → alerts-VOYMO6NJ.js} +1 -1
  6. package/dist/chunks/build-H2U56DYB.js +7 -0
  7. package/dist/chunks/{chunk-UF2E5BDE.js → chunk-23PO6JK6.js} +1 -1
  8. package/dist/chunks/{chunk-PUKYAALC.js → chunk-24SIHFEW.js} +1 -1
  9. package/dist/chunks/{chunk-EBIJ26IV.js → chunk-2C6TLXE5.js} +1 -1
  10. package/dist/chunks/{chunk-QROI2U32.js → chunk-2CQJKBKV.js} +2 -4
  11. package/dist/chunks/{chunk-7MZLV3KK.js → chunk-2CZL3GJU.js} +1 -1
  12. package/dist/chunks/{chunk-XH2R2EIK.js → chunk-2EV53VB5.js} +1 -1
  13. package/dist/chunks/{chunk-5B5CLOKM.js → chunk-2FNOYPRB.js} +1 -1
  14. package/dist/chunks/{chunk-4E6BGQWR.js → chunk-2LOA3LC6.js} +1 -1
  15. package/dist/chunks/{chunk-M3Z6NSC2.js → chunk-2V6UURUN.js} +1 -1
  16. package/dist/chunks/{chunk-B6QVH6IG.js → chunk-32EEQITR.js} +1 -1
  17. package/dist/chunks/{chunk-4VP57TOJ.js → chunk-33OMDQTW.js} +1 -1
  18. package/dist/chunks/{chunk-CFYLTZSV.js → chunk-3AGRCSWN.js} +1 -1
  19. package/dist/chunks/{chunk-42J2KCDF.js → chunk-3EFPSM6M.js} +1 -1
  20. package/dist/chunks/{chunk-DQASZDQT.js → chunk-3SNWIYU7.js} +1 -1
  21. package/dist/chunks/{chunk-EVBGFSK5.js → chunk-42Y46TZ3.js} +1 -1
  22. package/dist/chunks/{chunk-KV3QXTRZ.js → chunk-4OO6TXBM.js} +1 -1
  23. package/dist/chunks/{chunk-UUDE44NV.js → chunk-54FY6GJ5.js} +1 -1
  24. package/dist/chunks/{chunk-RIJ45N7C.js → chunk-5HQEYPDO.js} +1 -1
  25. package/dist/chunks/chunk-5KL6UFII.js +7 -0
  26. package/dist/chunks/{chunk-ECFLIVEE.js → chunk-5L566FZB.js} +1 -1
  27. package/dist/chunks/{chunk-NZW3RIQM.js → chunk-5MFGTXWC.js} +1 -1
  28. package/dist/chunks/{chunk-4ELZOAQH.js → chunk-5TMHRECT.js} +1 -1
  29. package/dist/chunks/{chunk-74VQ7PQV.js → chunk-5YLKPSZI.js} +1 -1
  30. package/dist/chunks/chunk-66TKNVRG.js +60 -0
  31. package/dist/chunks/{chunk-RDWLLSPU.js → chunk-6737KAJP.js} +1 -1
  32. package/dist/chunks/{chunk-V5TOMLK4.js → chunk-6Q2XEYCJ.js} +1 -1
  33. package/dist/chunks/{chunk-7VGBGUX7.js → chunk-6S6UZV3V.js} +1 -1
  34. package/dist/chunks/{chunk-EZLPMOHM.js → chunk-6WTGR7UP.js} +1 -1
  35. package/dist/chunks/chunk-7BDQUBSO.js +7 -0
  36. package/dist/chunks/chunk-7M6EHM5B.js +7 -0
  37. package/dist/chunks/{chunk-42FOKWGX.js → chunk-7PGDJTAH.js} +1 -1
  38. package/dist/chunks/{chunk-BZIC36KP.js → chunk-7TVNKTN2.js} +1 -1
  39. package/dist/chunks/{chunk-IIGNDMLO.js → chunk-ABSFPYM4.js} +1 -1
  40. package/dist/chunks/{chunk-MBXLL2HF.js → chunk-AGLOVMPC.js} +3 -3
  41. package/dist/chunks/{chunk-B56SRT5W.js → chunk-AIZIVXNX.js} +1 -1
  42. package/dist/chunks/{chunk-WBSFE6IE.js → chunk-AQBK55BT.js} +1 -1
  43. package/dist/chunks/chunk-AW33SRYY.js +7 -0
  44. package/dist/chunks/{chunk-UNPK7LVC.js → chunk-B3IBBNIR.js} +1 -1
  45. package/dist/chunks/{chunk-VRH7LWOC.js → chunk-B4KA3ZH2.js} +1 -1
  46. package/dist/chunks/{chunk-2J35YKA2.js → chunk-BC74BRVP.js} +12 -12
  47. package/dist/chunks/{chunk-PFZCGMJ7.js → chunk-BH5OASEJ.js} +1 -1
  48. package/dist/chunks/chunk-BIGJEDOA.js +11 -0
  49. package/dist/chunks/chunk-BOJDM3O7.js +7 -0
  50. package/dist/chunks/{chunk-375JVQYK.js → chunk-CJZE7647.js} +1 -1
  51. package/dist/chunks/{chunk-YZKARZ2B.js → chunk-CKJZSRAC.js} +1 -1
  52. package/dist/chunks/{chunk-TUAS3L5I.js → chunk-D5JRYYTT.js} +1 -1
  53. package/dist/chunks/{chunk-SF4E3AQ3.js → chunk-E3WP42P2.js} +1 -1
  54. package/dist/chunks/{chunk-6UMVJ7RL.js → chunk-E7CEQ2PO.js} +1 -1
  55. package/dist/chunks/chunk-E7IFYSQT.js +12 -0
  56. package/dist/chunks/chunk-EDO66J3L.js +7 -0
  57. package/dist/chunks/{chunk-C5QEQSEX.js → chunk-EIFBF3JQ.js} +1 -1
  58. package/dist/chunks/chunk-EM3U6PRB.js +7 -0
  59. package/dist/chunks/{chunk-AMPJ6RWT.js → chunk-EZVNGJN5.js} +1 -1
  60. package/dist/chunks/{chunk-ZPBGAZC2.js → chunk-F6KURUPQ.js} +1 -1
  61. package/dist/chunks/{chunk-5DXC4TE2.js → chunk-F7L5SXJM.js} +1 -1
  62. package/dist/chunks/{chunk-ZTHW5VNH.js → chunk-FFS3QJCU.js} +2 -2
  63. package/dist/chunks/{chunk-FNH3T3CF.js → chunk-FGZXIHGN.js} +1 -1
  64. package/dist/chunks/chunk-FXOKM2RM.js +7 -0
  65. package/dist/chunks/{chunk-NUSKXXZZ.js → chunk-FZLCDLWD.js} +1 -1
  66. package/dist/chunks/{chunk-CD6ZWCKT.js → chunk-G63MSB6N.js} +1 -1
  67. package/dist/chunks/{chunk-HNH3DPIZ.js → chunk-GAILIG45.js} +1 -1
  68. package/dist/chunks/{chunk-FVVOHGQE.js → chunk-GHNHUSVK.js} +1 -1
  69. package/dist/chunks/{chunk-4DMKP6AO.js → chunk-GOI2VVI7.js} +2 -2
  70. package/dist/chunks/chunk-GORL5DZC.js +11 -0
  71. package/dist/chunks/{chunk-WMWB7QKG.js → chunk-GP3KGUCK.js} +1 -1
  72. package/dist/chunks/{chunk-GL66K54F.js → chunk-GPDERS2D.js} +1 -1
  73. package/dist/chunks/{chunk-CU3LNJZV.js → chunk-GUSOYIW6.js} +1 -1
  74. package/dist/chunks/{chunk-AO6AMYBF.js → chunk-GY44CQXK.js} +1 -1
  75. package/dist/chunks/chunk-H64GR57G.js +7 -0
  76. package/dist/chunks/{chunk-VKCBEW6R.js → chunk-HBWRIR42.js} +1 -1
  77. package/dist/chunks/{chunk-4U6ACPA4.js → chunk-HR66URIC.js} +1 -1
  78. package/dist/chunks/chunk-HRGJO4HK.js +7 -0
  79. package/dist/chunks/chunk-HU5NUOWH.js +7 -0
  80. package/dist/chunks/{chunk-4KM733OB.js → chunk-HVJN2SSK.js} +1 -1
  81. package/dist/chunks/chunk-HXLOBW75.js +10 -0
  82. package/dist/chunks/{chunk-4T57TXQ3.js → chunk-IBBLLUXD.js} +1 -1
  83. package/dist/chunks/{chunk-MO2G2ND2.js → chunk-IJBRT2AD.js} +1 -1
  84. package/dist/chunks/{chunk-NT2N5UR4.js → chunk-IRIFXCZW.js} +1 -1
  85. package/dist/chunks/{chunk-ECGY67NB.js → chunk-J7RNU6AO.js} +1 -1
  86. package/dist/chunks/{chunk-SDYCW5JM.js → chunk-JONZUKWX.js} +1 -1
  87. package/dist/chunks/{chunk-P24YBQ6H.js → chunk-JVGENO2R.js} +1 -1
  88. package/dist/chunks/{chunk-PKNEWN4W.js → chunk-K46QQRUN.js} +1 -1
  89. package/dist/chunks/{chunk-BJXLR2RE.js → chunk-KKYNEEM7.js} +1 -1
  90. package/dist/chunks/{chunk-3TDFSO4X.js → chunk-KPSINH7T.js} +1 -1
  91. package/dist/chunks/chunk-KR4DMT3I.js +7 -0
  92. package/dist/chunks/{chunk-RCUDI7OF.js → chunk-M32HBBPK.js} +1 -1
  93. package/dist/chunks/{chunk-ZQXXESKG.js → chunk-MAA5GRIM.js} +1 -1
  94. package/dist/chunks/chunk-MCYG7CCE.js +7 -0
  95. package/dist/chunks/{chunk-VAZ7JG2Z.js → chunk-MNZYFYYH.js} +1 -1
  96. package/dist/chunks/{chunk-HDISAMDF.js → chunk-MQJ4MINN.js} +1 -1
  97. package/dist/chunks/{chunk-ITQPDXXA.js → chunk-MTZYPCZ7.js} +1 -1
  98. package/dist/chunks/{chunk-NE6PKR2J.js → chunk-MWWMY5R6.js} +1 -1
  99. package/dist/chunks/{chunk-UBJVL3NJ.js → chunk-MWXL6HYB.js} +3 -3
  100. package/dist/chunks/{chunk-UFXIPUNI.js → chunk-MXALPSIX.js} +1 -1
  101. package/dist/chunks/{chunk-7JMN657A.js → chunk-NBTFAXL4.js} +1 -1
  102. package/dist/chunks/{chunk-HYOWFNOP.js → chunk-NIZW6D6D.js} +1 -1
  103. package/dist/chunks/{chunk-KBVYN635.js → chunk-NREH4VSU.js} +1 -1
  104. package/dist/chunks/{chunk-TPJV5UNE.js → chunk-NTYBDY24.js} +1 -1
  105. package/dist/chunks/{chunk-NDMQVBTV.js → chunk-NYJTWSSD.js} +1 -1
  106. package/dist/chunks/{chunk-7ZJ7VUIR.js → chunk-O3DAPRJ3.js} +1 -1
  107. package/dist/chunks/chunk-O7TFWXLZ.js +13 -0
  108. package/dist/chunks/{chunk-K7ARJYAG.js → chunk-OFOZ5DBA.js} +1 -1
  109. package/dist/chunks/{chunk-FYE7ILRR.js → chunk-OFZUWHZW.js} +1 -1
  110. package/dist/chunks/{chunk-RI6DJAFI.js → chunk-OHEM2CSW.js} +1 -1
  111. package/dist/chunks/{chunk-6ORJPXDQ.js → chunk-OHK3Y5NS.js} +1 -1
  112. package/dist/chunks/{chunk-IHTWZEQW.js → chunk-OKKG2FUS.js} +1 -1
  113. package/dist/chunks/{chunk-7NMC4E66.js → chunk-OR3ZEVBW.js} +1 -1
  114. package/dist/chunks/{chunk-QDHTI5WK.js → chunk-POR6KNXT.js} +1 -1
  115. package/dist/chunks/{chunk-JUSNW3IF.js → chunk-PSFHYOLD.js} +1 -1
  116. package/dist/chunks/{chunk-TZE4CS4K.js → chunk-QBHTNUM5.js} +1 -1
  117. package/dist/chunks/chunk-QJDWNTYH.js +7 -0
  118. package/dist/chunks/{chunk-YUHKH4TK.js → chunk-QKOLFLLP.js} +1 -1
  119. package/dist/chunks/chunk-REJLEESP.js +10 -0
  120. package/dist/chunks/{chunk-EIMHC5UY.js → chunk-ROKZIMRO.js} +1 -1
  121. package/dist/chunks/{chunk-DR6OJB6P.js → chunk-RPIBJRIT.js} +1 -1
  122. package/dist/chunks/chunk-SEHERY6U.js +7 -0
  123. package/dist/chunks/{chunk-RR5SDYNN.js → chunk-SHMHL6W7.js} +1 -1
  124. package/dist/chunks/{chunk-5FIY443M.js → chunk-SMETSNPH.js} +1 -1
  125. package/dist/chunks/{chunk-NMIZSQDN.js → chunk-SP6E7PHW.js} +1 -1
  126. package/dist/chunks/chunk-SQBDW5FO.js +10 -0
  127. package/dist/chunks/chunk-SWFG73OS.js +8 -0
  128. package/dist/chunks/{chunk-CHIYT3V4.js → chunk-TA7KTIDV.js} +1 -1
  129. package/dist/chunks/{chunk-W24TLPO5.js → chunk-TJBVFVXK.js} +1 -1
  130. package/dist/chunks/{chunk-JTAUWH5V.js → chunk-TJUZVODP.js} +1 -1
  131. package/dist/chunks/{chunk-VWJXV5ZM.js → chunk-TKVUWTBK.js} +1 -1
  132. package/dist/chunks/chunk-U7ZEFVSQ.js +8 -0
  133. package/dist/chunks/{chunk-WTFD4MDT.js → chunk-UZQJQXGJ.js} +1 -1
  134. package/dist/chunks/{chunk-UIMJNASP.js → chunk-V7G4VDZI.js} +1 -1
  135. package/dist/chunks/{chunk-WNDR5HCU.js → chunk-VCJIB3FB.js} +1 -1
  136. package/dist/chunks/{chunk-EGTJTCCW.js → chunk-VFBELAGX.js} +1 -1
  137. package/dist/chunks/{chunk-AYZ52QDF.js → chunk-VM6X5BTK.js} +1 -1
  138. package/dist/chunks/{chunk-HZEKH3RO.js → chunk-VVTMF2AY.js} +1 -1
  139. package/dist/chunks/{chunk-N65H4JMJ.js → chunk-W25UARQV.js} +1 -1
  140. package/dist/chunks/chunk-WLMW7K7F.js +7 -0
  141. package/dist/chunks/{chunk-IHCYNUI2.js → chunk-XJYDISH3.js} +1 -1
  142. package/dist/chunks/chunk-XSQZ35V6.js +7 -0
  143. package/dist/chunks/{chunk-YODQLETL.js → chunk-XVDUP67R.js} +1 -1
  144. package/dist/chunks/{chunk-SLCPSRDR.js → chunk-Y2FVJ7YO.js} +1 -1
  145. package/dist/chunks/chunk-Y2SQC4GV.js +10 -0
  146. package/dist/chunks/{chunk-FVTRIRML.js → chunk-Y5S2OEJH.js} +1 -1
  147. package/dist/chunks/{chunk-EJN55YDV.js → chunk-YANOBY2G.js} +1 -1
  148. package/dist/chunks/{chunk-2RXUQ72I.js → chunk-YIOMTAUF.js} +1 -1
  149. package/dist/chunks/{chunk-BW25OFQG.js → chunk-YLCIOXSX.js} +1 -1
  150. package/dist/chunks/{chunk-GZLYNPNU.js → chunk-YNCWSPPJ.js} +1 -1
  151. package/dist/chunks/chunk-YQQ3A3YC.js +13 -0
  152. package/dist/chunks/{chunk-UI2H2EIM.js → chunk-YTRKHRL3.js} +1 -1
  153. package/dist/chunks/{chunk-MIIHBRKV.js → chunk-Z2K2JR7F.js} +1 -1
  154. package/dist/chunks/{chunk-F7AVGV4Y.js → chunk-Z73UJVGD.js} +1 -1
  155. package/dist/chunks/{chunk-6Y2ZL5XJ.js → chunk-ZKNEIE44.js} +2 -2
  156. package/dist/chunks/chunk-ZXEWWSTH.js +10 -0
  157. package/dist/chunks/chunk-ZZLCRSES.js +11 -0
  158. package/dist/chunks/clear-7QUM5KH7.js +8 -0
  159. package/dist/chunks/{cli-embedded-Y74S252S.js → cli-embedded-ABHGJLYX.js} +1 -1
  160. package/dist/chunks/compile-vercel-config-RDISBTDC.js +7 -0
  161. package/dist/chunks/config-2YNYR6YI.js +7 -0
  162. package/dist/chunks/config-4AOTKKGI.js +8 -0
  163. package/dist/chunks/config-validator.mjs +1 -1
  164. package/dist/chunks/{connect-git-provider-GFAJLQLU.js → connect-git-provider-BMUUC7ND.js} +1 -1
  165. package/dist/chunks/contract-3VSUIBEY.js +10 -0
  166. package/dist/chunks/delete-EJNR4UYC.js +10 -0
  167. package/dist/chunks/delete-OYOBFPEG.js +9 -0
  168. package/dist/chunks/describe-ORIEHT3R.js +25 -0
  169. package/dist/chunks/detect-projects-AKK2XI76.js +7 -0
  170. package/dist/chunks/detect-services-3LYPKUVL.js +7 -0
  171. package/dist/chunks/disable-U6JU546S.js +7 -0
  172. package/dist/chunks/discard-6SHAFQ2H.js +14 -0
  173. package/dist/chunks/edit-YMWKFN3H.js +8 -0
  174. package/dist/chunks/edit-YTTKJFTG.js +9 -0
  175. package/dist/chunks/enable-A6KBPFXJ.js +7 -0
  176. package/dist/chunks/{esm-4ZHGYTUV.js → esm-CF5UHWPM.js} +1 -1
  177. package/dist/chunks/{esm-LNIAU767.js → esm-EYOXGOVF.js} +1 -1
  178. package/dist/chunks/{esm-IBY43SSX.js → esm-FSME24KA.js} +1 -1
  179. package/dist/chunks/{esm-7FVTQHRH.js → esm-IUATPKKB.js} +1 -1
  180. package/dist/chunks/{esm-GTSUYLKG.js → esm-L6OKDFWP.js} +1 -1
  181. package/dist/chunks/{esm-TEM4KPXZ.js → esm-ORQC2ZSA.js} +1 -1
  182. package/dist/chunks/{esm-TLAM7FSK.js → esm-PYIZNQIK.js} +1 -1
  183. package/dist/chunks/{exec-H3X7U4P3.js → exec-RQ257MTR.js} +1 -1
  184. package/dist/chunks/{export-25TQ3YBT.js → export-MMU6VVFK.js} +1 -1
  185. package/dist/chunks/future-ANILGGFQ.js +7 -0
  186. package/dist/chunks/generate-cert-for-deploy-LKKZUKWF.js +7 -0
  187. package/dist/chunks/image-OWWKVBTU.js +7 -0
  188. package/dist/chunks/import-builders-VENL23EH.js +7 -0
  189. package/dist/chunks/{inspect-3W3TUJ6P.js → inspect-BPIJT4OX.js} +1 -1
  190. package/dist/chunks/inspect-GDZJZGHW.js +13 -0
  191. package/dist/chunks/{inspect-TN2QY3BP.js → inspect-H7JGEVL7.js} +1 -1
  192. package/dist/chunks/inspect-I6LQLOBG.js +8 -0
  193. package/dist/chunks/{inspect-BRYVSQBD.js → inspect-IGFAKTAX.js} +1 -1
  194. package/dist/chunks/inspect-U6V4UQXC.js +9 -0
  195. package/dist/chunks/list-763XVNFH.js +8 -0
  196. package/dist/chunks/{list-WA6Q7DUN.js → list-OX2N4JK7.js} +1 -1
  197. package/dist/chunks/list-WHZXMZJ5.js +12 -0
  198. package/dist/chunks/{list-6W4UQBY4.js → list-XLPMNNI7.js} +1 -1
  199. package/dist/chunks/login-2PGWWOKB.js +7 -0
  200. package/dist/chunks/login-T63WJL4S.js +9 -0
  201. package/dist/chunks/logs-S2KJGEIG.js +7 -0
  202. package/dist/chunks/ls-5HXYPIFR.js +11 -0
  203. package/dist/chunks/ls-M4GJOBZP.js +8 -0
  204. package/dist/chunks/ls-N56BWH2L.js +8 -0
  205. package/dist/chunks/{ls-L5LLKZBV.js → ls-O5B3LY4D.js} +1 -1
  206. package/dist/chunks/{ls-MAJ4QZTY.js → ls-PNGTHVUK.js} +1 -1
  207. package/dist/chunks/{ls-UXE5RSZN.js → ls-Q7FAOSVD.js} +1 -1
  208. package/dist/chunks/{ls-4WP6LHLL.js → ls-R4UDBWS3.js} +1 -1
  209. package/dist/chunks/migrate-experimental-services-HWJXO4AJ.js +7 -0
  210. package/dist/chunks/mutate-FM6BLE46.js +9 -0
  211. package/dist/chunks/{native-self-update-DEVBYOH2.js → native-self-update-7LL6RPJW.js} +1 -1
  212. package/dist/chunks/notifications-ZSZN35BQ.js +7 -0
  213. package/dist/chunks/open-4RXUUYQP.js +7 -0
  214. package/dist/chunks/openapi-457MABMI.js +7 -0
  215. package/dist/chunks/permissions-UJRTMOT7.js +7 -0
  216. package/dist/chunks/{plugin-offer-JUYWL4I7.js → plugin-offer-KJCRPUU5.js} +1 -1
  217. package/dist/chunks/prompt-missing-credentials-B5DGQFI7.js +7 -0
  218. package/dist/chunks/publish-I3APOD3N.js +15 -0
  219. package/dist/chunks/pull-2YUNTVPQ.js +7 -0
  220. package/dist/chunks/purchase-domain-if-available-3YOXUXII.js +7 -0
  221. package/dist/chunks/push-4QQJQRGZ.js +7 -0
  222. package/dist/chunks/query-2JO6HH5N.js +12 -0
  223. package/dist/chunks/reauthenticate-COYQMMAG.js +7 -0
  224. package/dist/chunks/remove-PWS5EJ7F.js +9 -0
  225. package/dist/chunks/reorder-COZQX64R.js +10 -0
  226. package/dist/chunks/reply-XDYZNHW2.js +9 -0
  227. package/dist/chunks/resolve-6KUFCZRX.js +12 -0
  228. package/dist/chunks/resolve-agent-team-NOT235ZN.js +7 -0
  229. package/dist/chunks/{resolve-deployment-framework-preset-AXXYBFCL.js → resolve-deployment-framework-preset-4TKUU6AH.js} +1 -1
  230. package/dist/chunks/restore-GSSD4ZWH.js +16 -0
  231. package/dist/chunks/rm-AUNVZPJ5.js +8 -0
  232. package/dist/chunks/rm-EIMUYBJT.js +8 -0
  233. package/dist/chunks/rm-EJH37HYN.js +8 -0
  234. package/dist/chunks/rm-O5NMCBC3.js +8 -0
  235. package/dist/chunks/rm-PHTOXG4E.js +8 -0
  236. package/dist/chunks/{routes-BP54NO3Z.js → routes-NEZJKMR5.js} +1 -1
  237. package/dist/chunks/rule-inspect-7HNYKQ6X.js +8 -0
  238. package/dist/chunks/{schema-753JMRZA.js → schema-5P7HROXE.js} +1 -1
  239. package/dist/chunks/schema-MZM5MN5V.js +14 -0
  240. package/dist/chunks/select-org-3BZWQD6R.js +7 -0
  241. package/dist/chunks/set-2RH74ZC3.js +7 -0
  242. package/dist/chunks/set-Q2EJ3V44.js +9 -0
  243. package/dist/chunks/setup-and-link-BT5TNY4J.js +7 -0
  244. package/dist/chunks/{skills-QZ4AMS2K.js → skills-DUOUHPBY.js} +1 -1
  245. package/dist/chunks/{statuspage-KHTMA4WL.js → statuspage-K5SC7KAQ.js} +1 -1
  246. package/dist/chunks/{detect-projects-K7SVMH5T.js → table-W6LOHWWF.js} +1 -1
  247. package/dist/chunks/tags-QOJEEMKS.js +7 -0
  248. package/dist/chunks/{types-NPUAHKSK.js → types-7L6HBXAU.js} +1 -1
  249. package/dist/chunks/{update-7XH7HM5F.js → update-HS6QFTQK.js} +1 -1
  250. package/dist/chunks/usage-3N6IA5SX.js +13 -0
  251. package/dist/chunks/validate-config-YLL6RPCP.js +7 -0
  252. package/dist/commands/build/index.js +1 -1
  253. package/dist/commands/deploy/index.js +19 -37
  254. package/dist/commands/dev/index.js +4 -4
  255. package/dist/commands/env/index.js +1 -1
  256. package/dist/commands/link/index.js +1 -1
  257. package/dist/commands/list/index.js +1 -1
  258. package/dist/commands/project/index.js +1 -1
  259. package/dist/commands-account.js +3 -3
  260. package/dist/commands-ai.js +6 -6
  261. package/dist/commands-blob.js +1 -1
  262. package/dist/commands-core.js +20 -20
  263. package/dist/commands-deployments.js +5 -5
  264. package/dist/commands-flags.js +1 -1
  265. package/dist/commands-integrations.js +1 -1
  266. package/dist/commands-observability.js +15 -8
  267. package/dist/commands-routing.js +5 -4
  268. package/dist/help.js +1 -1
  269. package/dist/index.js +5 -5
  270. package/dist/internal-build.js +1 -1
  271. package/dist/package.json +45 -245
  272. package/dist/vc.js +47 -695
  273. package/dist/version.mjs +1 -1
  274. package/package.json +51 -196
  275. package/dist/chunks/add-4R6FUHQT.js +0 -8
  276. package/dist/chunks/add-F3H4BFJZ.js +0 -8
  277. package/dist/chunks/add-TCOJ4SIQ.js +0 -8
  278. package/dist/chunks/build-GOLTZF6S.js +0 -7
  279. package/dist/chunks/chunk-3KJ6HWSX.js +0 -7
  280. package/dist/chunks/chunk-5X635INY.js +0 -11
  281. package/dist/chunks/chunk-7LPNDK2O.js +0 -7
  282. package/dist/chunks/chunk-A3M2BHWR.js +0 -13
  283. package/dist/chunks/chunk-BUFEV3T4.js +0 -11
  284. package/dist/chunks/chunk-BVR6OIU5.js +0 -7
  285. package/dist/chunks/chunk-D7BB5BPA.js +0 -10
  286. package/dist/chunks/chunk-DBT6PGEH.js +0 -7
  287. package/dist/chunks/chunk-DRZVM7CB.js +0 -12
  288. package/dist/chunks/chunk-EICEQXVS.js +0 -7
  289. package/dist/chunks/chunk-F2R7L3ZB.js +0 -7
  290. package/dist/chunks/chunk-FHMCTV5E.js +0 -7
  291. package/dist/chunks/chunk-FOE3MWES.js +0 -7
  292. package/dist/chunks/chunk-HKU6D7DU.js +0 -8
  293. package/dist/chunks/chunk-IOTKHTZH.js +0 -7
  294. package/dist/chunks/chunk-K4JTCVNW.js +0 -13
  295. package/dist/chunks/chunk-LALPOYIA.js +0 -8
  296. package/dist/chunks/chunk-M3R7F2N4.js +0 -7
  297. package/dist/chunks/chunk-MUKXOI2K.js +0 -8
  298. package/dist/chunks/chunk-NIS66BFX.js +0 -63
  299. package/dist/chunks/chunk-NSPW47RU.js +0 -7
  300. package/dist/chunks/chunk-NTDP6RTQ.js +0 -11
  301. package/dist/chunks/chunk-Q2QVK3TH.js +0 -7
  302. package/dist/chunks/chunk-RM3ZDRYE.js +0 -7
  303. package/dist/chunks/chunk-UCRMJMH6.js +0 -10
  304. package/dist/chunks/chunk-XQDHMFQY.js +0 -7
  305. package/dist/chunks/chunk-XRIM4BUF.js +0 -7
  306. package/dist/chunks/chunk-Z64MQIOE.js +0 -10
  307. package/dist/chunks/chunk-ZS2WS4AM.js +0 -7
  308. package/dist/chunks/clear-PECHXMV5.js +0 -8
  309. package/dist/chunks/compile-vercel-config-EM3HYOQC.js +0 -7
  310. package/dist/chunks/config-DA2NZUDH.js +0 -8
  311. package/dist/chunks/config-X6O3DT7V.js +0 -7
  312. package/dist/chunks/contract-RHMWRX4W.js +0 -10
  313. package/dist/chunks/delete-5RN5VW5L.js +0 -9
  314. package/dist/chunks/delete-MT6I7R7K.js +0 -10
  315. package/dist/chunks/detect-services-HSA4JHJX.js +0 -7
  316. package/dist/chunks/disable-LXPZDQMC.js +0 -7
  317. package/dist/chunks/discard-PW65T65S.js +0 -14
  318. package/dist/chunks/edit-WFSONASO.js +0 -8
  319. package/dist/chunks/edit-YID3FOJ3.js +0 -9
  320. package/dist/chunks/enable-X2EKQCIY.js +0 -7
  321. package/dist/chunks/future-DQBK457G.js +0 -7
  322. package/dist/chunks/generate-cert-for-deploy-OMEACY5G.js +0 -7
  323. package/dist/chunks/image-AO2OZG4W.js +0 -7
  324. package/dist/chunks/import-builders-GSDV4K4A.js +0 -7
  325. package/dist/chunks/inspect-4244CRHI.js +0 -13
  326. package/dist/chunks/inspect-C43IV7X4.js +0 -9
  327. package/dist/chunks/inspect-RP5KXOYQ.js +0 -8
  328. package/dist/chunks/list-2SY6PZLC.js +0 -12
  329. package/dist/chunks/list-WBKZGIMQ.js +0 -8
  330. package/dist/chunks/login-K6XBWOFD.js +0 -9
  331. package/dist/chunks/login-OGMXEW5N.js +0 -7
  332. package/dist/chunks/logs-R3ZERQ7M.js +0 -7
  333. package/dist/chunks/ls-EVAQD3LI.js +0 -8
  334. package/dist/chunks/ls-O5DKK3TY.js +0 -8
  335. package/dist/chunks/ls-PTHGXQLK.js +0 -11
  336. package/dist/chunks/mutate-EKZWPQQJ.js +0 -9
  337. package/dist/chunks/notifications-F5S3RKZF.js +0 -7
  338. package/dist/chunks/open-KGVG54NN.js +0 -7
  339. package/dist/chunks/openapi-7TPDTMCU.js +0 -7
  340. package/dist/chunks/permissions-5K7JZOMB.js +0 -7
  341. package/dist/chunks/prompt-missing-credentials-DX2KJB5X.js +0 -7
  342. package/dist/chunks/publish-KIRTO2ZO.js +0 -15
  343. package/dist/chunks/pull-3CRJK7BX.js +0 -7
  344. package/dist/chunks/purchase-domain-if-available-55IXEF43.js +0 -7
  345. package/dist/chunks/push-4YG5HKSD.js +0 -7
  346. package/dist/chunks/query-67KQVLTR.js +0 -12
  347. package/dist/chunks/reauthenticate-SWSBFGDU.js +0 -7
  348. package/dist/chunks/remove-SYTIFVWW.js +0 -9
  349. package/dist/chunks/reorder-TX5MXJEB.js +0 -10
  350. package/dist/chunks/reply-XVK33N5T.js +0 -9
  351. package/dist/chunks/resolve-JZ262ZF4.js +0 -12
  352. package/dist/chunks/resolve-agent-team-BG5YW55B.js +0 -7
  353. package/dist/chunks/restore-IPFL7TKT.js +0 -16
  354. package/dist/chunks/rm-2BCAZGQU.js +0 -8
  355. package/dist/chunks/rm-3CCU3CE6.js +0 -8
  356. package/dist/chunks/rm-5CQV5LYG.js +0 -8
  357. package/dist/chunks/rm-OV4OU6H2.js +0 -8
  358. package/dist/chunks/rm-WFGMOZ3G.js +0 -8
  359. package/dist/chunks/rule-inspect-RFJIIXZH.js +0 -8
  360. package/dist/chunks/schema-SUNFQGUL.js +0 -14
  361. package/dist/chunks/select-org-MPHPWWPU.js +0 -7
  362. package/dist/chunks/set-BR6EEOPB.js +0 -7
  363. package/dist/chunks/set-I3NWZRSI.js +0 -9
  364. package/dist/chunks/setup-and-link-MRTKVOWD.js +0 -7
  365. package/dist/chunks/tags-7DIZEAVE.js +0 -7
  366. package/dist/chunks/usage-3BS7JCCU.js +0 -13
  367. package/dist/chunks/validate-config-LAD7BU3B.js +0 -7
  368. package/dist/launcher-errors.js +0 -11
  369. package/dist/native-download.js +0 -8
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
- import{createCertForCns,extractDomain,isWildcardAlias,setupDomain}from"./chunks/chunk-B6QVH6IG.js";import"./chunks/chunk-EGTJTCCW.js";import{joinWords}from"./chunks/chunk-4VFYJU37.js";import{api,tryOpenApiFallback}from"./chunks/chunk-HYOWFNOP.js";import"./chunks/chunk-GHAY4PSD.js";import{buy,deleteCertById,getDomains,getProjectDomain,getTeamMemberByIdentifier,isDomainExternal,removeAliasById,teamMemberLabel}from"./chunks/chunk-A3M2BHWR.js";import{require_cjs}from"./chunks/chunk-EZLPMOHM.js";import"./chunks/chunk-FHMCTV5E.js";import{list_item_default}from"./chunks/chunk-BTI5TG6Q.js";import{requireApproval}from"./chunks/chunk-DRZVM7CB.js";import{canPromptForCharge}from"./chunks/chunk-NUSKXXZZ.js";import{getWebhook}from"./chunks/chunk-RAQ6EUNL.js";import"./chunks/chunk-IOTKHTZH.js";import{require_execa}from"./chunks/chunk-RCUDI7OF.js";import"./chunks/chunk-GD7AV7BO.js";import{collectList,decodeListCursor,sliceList}from"./chunks/chunk-ECGY67NB.js";import{ellipsis}from"./chunks/chunk-AKOYIH3A.js";import{external_exports}from"./chunks/chunk-2AMO2VMV.js";import{getTeamBillingUrl}from"./chunks/chunk-XR6QY7RR.js";import{getAliases}from"./chunks/chunk-CD6ZWCKT.js";import{INVALID_NEXT_MESSAGE,InvalidNextError,getPaginationOpts,parseNumericCursor}from"./chunks/chunk-C6GY2G73.js";import{getCommandFlags}from"./chunks/chunk-XGTKHQTT.js";import{checkExistsAndConnect,disconnectGitProvider,list,parseRepoUrl,printRemoteUrls,selectAndParseRemoteUrl}from"./chunks/chunk-WNDR5HCU.js";import"./chunks/chunk-4ELZOAQH.js";import"./chunks/chunk-JUAHDOL6.js";import"./chunks/chunk-UI2H2EIM.js";import"./chunks/chunk-UUDE44NV.js";import{box}from"./chunks/chunk-LM3YPF3K.js";import{did_you_mean_default}from"./chunks/chunk-DWZBL4NK.js";import{OpenApiCache,resolveOpenApiTagForTeamsCli}from"./chunks/chunk-NT2N5UR4.js";import{email}from"./chunks/chunk-6IDNVZZR.js";import{isValidName}from"./chunks/chunk-PADL3C6Z.js";import{validateLsArgs}from"./chunks/chunk-42J2KCDF.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import"./chunks/chunk-PFD7LETF.js";import{writeJsonError}from"./chunks/chunk-UFXIPUNI.js";import"./chunks/chunk-TOTTVS5P.js";import{formatTable}from"./chunks/chunk-2RXUQ72I.js";import{parseTimeFlag}from"./chunks/chunk-D3M2JG5C.js";import{DEFAULT_LIST_LIMIT,MAX_LIST_LIMIT,getNextPageCommand,parseListLimit,printNextPageCommand,printNextPageHint}from"./chunks/chunk-TZE4CS4K.js";import{getProtectionForDeploymentAlias,getProtectionForProductionDomain,readEnabledProtection}from"./chunks/chunk-UIMJNASP.js";import{canPrompt}from"./chunks/chunk-IQ7FPAI4.js";import"./chunks/chunk-VT6RIZJH.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import"./chunks/chunk-Q7D7RGXM.js";import{ensureLink}from"./chunks/chunk-UCRMJMH6.js";import{getDeployment,toHost}from"./chunks/chunk-7JMN657A.js";import{mapCertError}from"./chunks/chunk-JTAUWH5V.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import"./chunks/chunk-JUSNW3IF.js";import{table}from"./chunks/chunk-375JVQYK.js";import{getRenamedOption,renameOptionInArgs,reportRenamedOptionError,withWarnings}from"./chunks/chunk-3KJ6HWSX.js";import{getSubcommand as getSubcommand3}from"./chunks/chunk-ETV3C2CV.js";import{printUnknownCommand}from"./chunks/chunk-D7BB5BPA.js";import{getTeams}from"./chunks/chunk-SLCPSRDR.js";import{CREDIT_TYPE_LABELS,INVOICE_STATUSES,SUPPORTED_ADDON_NAMES,SUPPORTED_CREDIT_TYPES,addSubcommand10 as addSubcommand4,addSubcommand11 as addSubcommand5,addSubcommand2 as addSubcommand,addSubcommand4 as addSubcommand2,addSubcommand5 as addSubcommand3,addonSubcommand,agentRunsCommand,aliasCommand,backupsSubcommand,billingCommand,bisectCommand,buyCommand,certsCommand,connectSubcommand,createSubcommand10 as createSubcommand2,createSubcommand7 as createSubcommand,creditsSubcommand,disconnectSubcommand,dnsCommand,domainSubcommand,getCommandAliases,getSubcommand,getSubcommand5 as getSubcommand2,gitCommand,globalConfigCommand,importSubcommand,initCommand,inspectSubcommand,inspectSubcommand12 as inspectSubcommand4,inspectSubcommand6 as inspectSubcommand3,inviteSubcommand,invoicesDownloadSubcommand,invoicesInspectSubcommand,invoicesListSubcommand,invoicesSubcommand,invoicesUpcomingSubcommand,isCustomEnvironmentAddonAlias,issueSubcommand,itemsSubcommand,listSubcommand,listSubcommand11 as listSubcommand5,listSubcommand15 as listSubcommand6,listSubcommand18 as listSubcommand7,listSubcommand24 as listSubcommand8,listSubcommand25 as listSubcommand9,listSubcommand28 as listSubcommand10,listSubcommand3 as listSubcommand2,listSubcommand5 as listSubcommand4,membersInviteSubcommand,membersRemoveSubcommand,membersSubcommand2 as membersSubcommand,organizationsCommand,proSubcommand,projectsSubcommand,removeSubcommand15 as removeSubcommand6,removeSubcommand16 as removeSubcommand7,removeSubcommand2 as removeSubcommand,removeSubcommand4 as removeSubcommand3,removeSubcommand7 as removeSubcommand4,removeSubcommand9 as removeSubcommand5,requestSubcommand,setSubcommand,ssoSubcommand,switchSubcommand,teamsAddSubcommand,teamsCommand,teamsCreateSubcommand,teamsListSubcommand,teamsSubcommand,tokensCommand,tokensSubcommand,traceSubcommand,updateSubcommand2 as updateSubcommand,updateSubcommand6 as updateSubcommand2,updateSubcommand9 as updateSubcommand3,webhooksCommand}from"./chunks/chunk-QROI2U32.js";import"./chunks/chunk-M3Z6NSC2.js";import"./chunks/chunk-ECFLIVEE.js";import{usageCommand}from"./chunks/chunk-RDWLLSPU.js";import{contractCommand}from"./chunks/chunk-7ZJ7VUIR.js";import"./chunks/chunk-WTFD4MDT.js";import"./chunks/chunk-IHTWZEQW.js";import{DEPRECATED_BUDGET_ACTIONS,alertsSubcommand,budgetCommand,inspectSubcommand as inspectSubcommand2,listSubcommand as listSubcommand3,removeSubcommand as removeSubcommand2,setSubcommand as setSubcommand2}from"./chunks/chunk-74VQ7PQV.js";import"./chunks/chunk-SNGM6NSO.js";import"./chunks/chunk-P24YBQ6H.js";import"./chunks/chunk-NMIZSQDN.js";import"./chunks/chunk-K7ARJYAG.js";import"./chunks/chunk-V5TOMLK4.js";import"./chunks/chunk-M3R7F2N4.js";import"./chunks/chunk-4E6BGQWR.js";import"./chunks/chunk-6UMVJ7RL.js";import"./chunks/chunk-IIGNDMLO.js";import"./chunks/chunk-N65H4JMJ.js";import"./chunks/chunk-EJN55YDV.js";import"./chunks/chunk-5DXC4TE2.js";import"./chunks/chunk-4U6ACPA4.js";import"./chunks/chunk-7VGBGUX7.js";import"./chunks/chunk-CU3LNJZV.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-BZIC36KP.js";import{printError}from"./chunks/chunk-NDMQVBTV.js";import{help,remoteText}from"./chunks/chunk-HZEKH3RO.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import{getContextName,getScope}from"./chunks/chunk-NSPW47RU.js";import{TelemetryClient}from"./chunks/chunk-MBXLL2HF.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{buildCommandWithGlobalFlags,buildCommandWithYes,exitWithNonInteractiveError,getErrorRecovery,openUrlInBrowserCommand,outputActionRequired,outputAgentError,shouldEmitNonInteractiveCommandError,withGlobalFlags}from"./chunks/chunk-5X635INY.js";import"./chunks/chunk-FYE7ILRR.js";import{getGitConfigPath,getLinkFromDir,getLinkedProject,getUser,getVercelDirectory,humanizePath,parseGitConfig,pluckRemoteUrls,writeToConfigFile}from"./chunks/chunk-2J35YKA2.js";import{require_pluralize}from"./chunks/chunk-4HR3I3ML.js";import{formatAlignedLabel,printAlignedLabel}from"./chunks/chunk-PKNEWN4W.js";import"./chunks/chunk-ITQPDXXA.js";import"./chunks/chunk-GL66K54F.js";import"./chunks/chunk-4NTBYNFR.js";import{isArgumentError,parseArguments,takeCommand}from"./chunks/chunk-AYZ52QDF.js";import{getTeamByIdOrSlug}from"./chunks/chunk-2VBFQZ72.js";import{validateJsonOutput,wantsMachineReadableOutput,warnDeprecatedOption,warnDeprecatedSubcommand}from"./chunks/chunk-SDYCW5JM.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-ZS2WS4AM.js";import"./chunks/chunk-4SAVH3H7.js";import{AliasInUse,CertConfigurationError,CertError,CertMissing,CertNotFound,CertOrderNotFound,CertsPermissionDenied,DNSConflictingRecord,DNSInvalidPort,DNSInvalidType,DNSPermissionDenied,DeploymentFailedAliasImpossible,DeploymentNotFound,DeploymentNotReady,DeploymentPermissionDenied,DomainAlreadyExists,DomainChargeOutcomeUnknown,DomainNotAvailable,DomainNotFound,DomainOrderPending,DomainPaymentError,DomainPermissionDenied,DomainPriceChanged,DomainPurchaseInProgress,DomainPurchasePending,DomainPurchaseRefundFailed,DomainPurchaseRefunded,InvalidAlias,InvalidAliasInConfig,InvalidDeploymentId,InvalidDomain,NoAliasInConfig,NowError,SourceNotFound,TLDNotSupportedViaCLI,TooManyRequests,UnexpectedDomainPurchaseError,UnsupportedTLD,UserAborted,isAPIError}from"./chunks/chunk-4DMKP6AO.js";import{cmd,getCommandName,getCommandNamePlain,packageName,require_lib}from"./chunks/chunk-VRH7LWOC.js";import"./chunks/chunk-DBT6PGEH.js";import{emoji,eraseLines,link_default,output_manager_default,prependEmoji}from"./chunks/chunk-GZLYNPNU.js";import"./chunks/chunk-BLUPZPAS.js";import"./chunks/chunk-5MDNVAE6.js";import"./chunks/chunk-OCR5CRTH.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import"./chunks/chunk-PUKYAALC.js";import{formatOption,getFlagsSpecification,getGlobalFlagsFromArgs,getSameSubcommandSuggestionFlags,jsonOption,normalizeFlagName,quoteArg,stripSensitiveAuthArgs}from"./chunks/chunk-AMPJ6RWT.js";import{chars_default}from"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import{require_tar_fs}from"./chunks/chunk-KRPY5FHJ.js";import"./chunks/chunk-D6REP5QQ.js";import"./chunks/chunk-FBYA6LLM.js";import{fetch,toNodeReadable}from"./chunks/chunk-MY4MONOH.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{AGENT_ACTION,AGENT_REASON,AGENT_STATUS,getExitCodeForReason}from"./chunks/chunk-Q2QVK3TH.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var AgentRunsTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandTrace(actual){this.trackCliSubcommand({subcommand:"trace",value:actual})}trackCliSubcommandProjects(actual){this.trackCliSubcommand({subcommand:"projects",value:actual})}};var import_chalk2=__toESM(require_source(),1);var AGENT_RUNS_API_BASE="https://vercel.com/api/observability/agent-runs",DEFAULT_TRACE_MAX_FIELD_LENGTH=8e3,MAX_TRACE_FIELD_LENGTH=5e4;function getAgentRunsApiBase(){return process.env.VERCEL_AGENT_RUNS_API_URL||AGENT_RUNS_API_BASE}function resolveAgentRunsWindow(since,until){if(!since)return;let from=parseTimeFlag(since),to=until?parseTimeFlag(until):new Date;return{from:Math.floor(from.getTime()/1e3),to:Math.floor(to.getTime()/1e3)}}function buildAgentRunsUrl(query){let url=new URL(getAgentRunsApiBase());url.searchParams.set("teamSlug",query.teamId),query.view==="team"?url.searchParams.set("view","team"):query.projectId&&url.searchParams.set("project",query.projectId),url.searchParams.set("environment",query.environment||"production");let window=query.window??resolveAgentRunsWindow(query.since,query.until);return window&&(url.searchParams.set("from",String(window.from)),url.searchParams.set("to",String(window.to))),typeof query.page=="number"&&url.searchParams.set("page",String(Math.max(1,Math.floor(query.page)))),typeof query.pageSize=="number"&&url.searchParams.set("pageSize",String(Math.max(1,Math.floor(query.pageSize)))),query.search&&url.searchParams.set("search",query.search),query.cursor&&url.searchParams.set("cursor",query.cursor),query.runId&&url.searchParams.set("runId",query.runId),query.trace&&url.searchParams.set("trace","1"),query.traceStreamId&&url.searchParams.set("traceStreamId",query.traceStreamId),query.traceAfterCursor&&url.searchParams.set("traceAfterCursor",query.traceAfterCursor),typeof query.traceBeforeChunk=="number"&&url.searchParams.set("traceBeforeChunk",String(query.traceBeforeChunk)),url.href}async function fetchAgentRuns(client,query){return client.fetch(buildAgentRunsUrl(query),{useCurrentTeam:!1})}var MISSING_PROJECT_SCOPE_MESSAGE="No linked project found. Run `vercel link`, pass --cwd to a linked dir, or use --scope <team> and --project <name>.",MISSING_TEAM_SCOPE_MESSAGE="No team scope found. Run `vercel link`, pass --cwd to a linked dir, or use --scope <team>.";async function resolveAgentRunsScope(client,{scopeFlag,projectFlag,requireProject}){let flagScope=scopeFlag?.trim()||void 0,flagProject=projectFlag?.trim()||void 0;if(flagScope&&(flagProject||!requireProject))return{ok:!0,teamId:flagScope,projectId:flagProject,contextName:flagProject?`${flagScope}/${flagProject}`:flagScope};let linkedProject=await getLinkedProject(client);if(linkedProject.status==="error")return{ok:!1,exitCode:linkedProject.exitCode};if(linkedProject.status==="linked"){let{org,project}=linkedProject;if(flagScope&&flagScope!==org.id&&flagScope!==org.slug)return{ok:!1,exitCode:invalidArguments(client,`\`--scope ${flagScope}\` doesn't match the linked project's team. Pass \`--project <name>\` to query a project in that team.`)};let teamName=flagScope??org.slug,projectName=requireProject?flagProject??project.name:flagProject;return{ok:!0,teamId:flagScope??org.id,projectId:requireProject?flagProject??project.id:flagProject,contextName:projectName?`${teamName}/${projectName}`:teamName}}let message=requireProject?MISSING_PROJECT_SCOPE_MESSAGE:MISSING_TEAM_SCOPE_MESSAGE;return outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.NOT_LINKED,message}),output_manager_default.error(message),{ok:!1,exitCode:1}}function normalizeApiErrorText(message){return message.replace(/\s*\(\d{3}\)\s*$/,"").trim()}function handleAgentRunsApiError(client,err){if(isAPIError(err)){let reason=err.status===403?"forbidden":err.status===401?"not_authorized":err.status===404?AGENT_REASON.NOT_FOUND:err.status===429?"rate_limited":AGENT_REASON.API_ERROR;outputAgentError(client,{status:AGENT_STATUS.ERROR,reason,message:normalizeApiErrorText(err.serverMessage||err.message)})}else outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:"unexpected_error",message:err instanceof Error?err.message:String(err)});printError(err)}function invalidArguments(client,message){return outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.INVALID_ARGUMENTS,message}),output_manager_default.error(message),2}function normalizeTraceMaxFieldLength(value){return typeof value!="number"||!Number.isFinite(value)?DEFAULT_TRACE_MAX_FIELD_LENGTH:Math.min(Math.max(Math.floor(value),0),MAX_TRACE_FIELD_LENGTH)}function truncateLargeStrings(value,maxLength){return maxLength===0?value:typeof value=="string"?value.length<=maxLength?value:`${value.slice(0,maxLength)}... [truncated ${value.length-maxLength} chars]`:Array.isArray(value)?value.map(item=>truncateLargeStrings(item,maxLength)):value&&typeof value=="object"?Object.fromEntries(Object.entries(value).map(([key,entry])=>[key,truncateLargeStrings(entry,maxLength)])):value}import{createHash}from"node:crypto";var import_chalk=__toESM(require_source(),1),import_ms=__toESM(require_ms(),1),import_title=__toESM(require_lib(),1);function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function quoteCommandArgument(value,placeholder){return/[\x00-\x1F\x7F]/.test(value)?placeholder:/^[A-Za-z0-9_./:=@%+,-]+$/.test(value)?value:`'${value.replaceAll("'",`'"'"'`)}'`}function asArray(value){return Array.isArray(value)?value.filter(isRecord):[]}function readString(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="string"&&value.length>0)return value}}function readNumber(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="number"&&Number.isFinite(value))return value}}function readRecord(record,...keys){if(record)for(let key of keys){let value=record[key];if(isRecord(value))return value}}function readTimestampMs(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="number"&&Number.isFinite(value))return value;if(typeof value=="string"&&value.length>0){let parsed=Date.parse(value);if(!Number.isNaN(parsed))return parsed}}}var PLACEHOLDER="-";function runId(run){return readString(run,"id","runId")??PLACEHOLDER}function formatRunStatus(run){let status=readString(run,"status","state");if(!status)return PLACEHOLDER;let label=(0,import_title.default)(status.replace(/[_-]+/g," ")),CIRCLE="\u25CF ";switch(status.toLowerCase()){case"completed":case"succeeded":case"success":case"ready":return import_chalk.default.green(CIRCLE)+label;case"error":case"errored":case"failed":case"timed out":case"timed_out":return import_chalk.default.red(CIRCLE)+label;case"running":case"in progress":case"in_progress":case"pending":case"queued":case"started":return import_chalk.default.yellow(CIRCLE)+label;case"canceled":case"cancelled":return import_chalk.default.gray(label);default:return label}}function runModel(run){return readString(run,"model")??PLACEHOLDER}function runTrigger(run){return readString(run,"trigger")??readString(readRecord(run,"trigger"),"label","type","name")??PLACEHOLDER}function runTitle(run){return readString(run,"title","name")}function runStartedAtMs(run){return readTimestampMs(run,"createdAt","startedAt","startTime")}function runDurationMs(run){let explicit=readNumber(run,"durationMs","duration");if(explicit!==void 0)return explicit;let start=readTimestampMs(run,"startedAt","createdAt","startTime"),end=readTimestampMs(run,"endedAt","completedAt","endTime");if(start!==void 0&&end!==void 0&&end>=start)return end-start}function runTotalTokens(run){let usage=readRecord(run,"usage")??run,total=readNumber(usage,"totalTokens","total");if(total!==void 0)return total;let input=readNumber(usage,"inputTokens","promptTokens","input"),output=readNumber(usage,"outputTokens","completionTokens","output");if(input!==void 0||output!==void 0)return(input??0)+(output??0)}function formatAge(timestampMs){if(timestampMs===void 0)return PLACEHOLDER;let delta=Date.now()-timestampMs;return delta<1e3?"just now":`${(0,import_ms.default)(delta)} ago`}function formatTimestamp(timestampMs){return timestampMs===void 0?PLACEHOLDER:new Date(timestampMs).toISOString()}function formatDurationMs(value){return value===void 0?PLACEHOLDER:value<1e3?`${Math.round(value)}ms`:value<6e4?`${(value/1e3).toFixed(1)}s`:(0,import_ms.default)(Math.round(value))}function formatCount(value){return value===void 0?PLACEHOLDER:value<1e4?String(value):value<1e6?`${(value/1e3).toFixed(1)}k`:`${(value/1e6).toFixed(1)}m`}var MAX_TOKEN_LENGTH=8192,MAX_SOURCE_OFFSET=1e4,OTEL_CURSOR_PATTERN=/^[A-Za-z0-9_-]{1,4096}$/,SOURCE_CURSOR_PATTERN=/^[0-9a-z]+\.[0-9a-z]+(\.[0-9a-z]+\.[0-9a-z]+(\.[A-Za-z0-9_-]{1,4096})?)?$/,FILTERS_LENGTH=22;function isSourceOffset(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>=0&&value<=MAX_SOURCE_OFFSET}function isEpoch(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>0}function isWindow(value){if(!isRecord(value))return!1;let{from,to}=value;return isEpoch(from)&&isEpoch(to)&&from<to}function encodeAgentRunsSourceCursor(offsets){if(!offsets)return;let{otel,workflow,otelCursor}=offsets;if(!isSourceOffset(otel)||!isSourceOffset(workflow))return;let parts=[otel.toString(36),workflow.toString(36)],range=offsets.otelRange;if(range!==void 0){if(!isWindow(range))return;parts.push(range.from.toString(36),range.to.toString(36))}if(otelCursor!==void 0){if(range===void 0||typeof otelCursor!="string"||!OTEL_CURSOR_PATTERN.test(otelCursor))return;parts.push(otelCursor)}return parts.join(".")}function getAgentRunsListFilters({teamId,projectId,environment,search}){return createHash("sha256").update(JSON.stringify([teamId,projectId??null,environment||"production",search||null])).digest("base64url").slice(0,FILTERS_LENGTH)}function encodeAgentRunsListContinuation(continuation){return Buffer.from(JSON.stringify(continuation),"utf8").toString("base64url")}function parseAgentRunsListContinuation(value){if(value.length===0||value.length>MAX_TOKEN_LENGTH||!/^[A-Za-z0-9_-]+$/.test(value))return;let decoded;try{decoded=JSON.parse(Buffer.from(value,"base64url").toString("utf8"))}catch{return}if(!(!isRecord(decoded)||decoded.version!==1||typeof decoded.cursor!="string"||!SOURCE_CURSOR_PATTERN.test(decoded.cursor)||typeof decoded.page!="number"||!Number.isSafeInteger(decoded.page)||decoded.page<2||typeof decoded.filters!="string"||decoded.filters.length!==FILTERS_LENGTH||!isWindow(decoded.window)))return{version:1,cursor:decoded.cursor,page:decoded.page,window:{from:decoded.window.from,to:decoded.window.to},filters:decoded.filters}}var AgentRunsQueryTelemetryClient=class extends TelemetryClient{trackCliOptionEnvironment(value){value&&this.trackCliOption({option:"environment",value:["production","preview"].includes(value)?value:this.redactedValue})}trackCliOptionSince(value){value&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(value){value&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliOptionProject(value){value&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliFlagJson(value){value&&this.trackCliFlag("json")}};var AgentRunsListTelemetryClient=class extends AgentRunsQueryTelemetryClient{trackCliOptionQuery(value){value&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionSearch(value){value&&this.trackCliOption({option:"search",value:this.redactedValue})}trackCliOptionNext(value){value!==void 0&&this.trackCliOption({option:"next",value:/^\d+$/.test(value)?value:this.redactedValue})}trackCliOptionPage(value){typeof value=="number"&&this.trackCliOption({option:"page",value:String(value)})}trackCliOptionLimit(value){typeof value=="number"&&this.trackCliOption({option:"limit",value:String(value)})}};var DEFAULT_LIST_WINDOW_SECONDS=12*60*60;function getDefaultListWindow(){let to=Math.floor(Date.now()/1e3);return{from:to-DEFAULT_LIST_WINDOW_SECONDS,to}}function buildListPageCommand({argv,window,next}){let args=argv.slice(2),delimiter=args.indexOf("--"),own=delimiter===-1?args:args.slice(0,delimiter),passthrough=delimiter===-1?[]:args.slice(delimiter),kept=argv.slice(0,2);for(let i=0;i<own.length;i++){let arg=own[i],name=normalizeFlagName(arg);if(name==="--since"||name==="--until"){arg.includes("=")||i++;continue}kept.push(arg)}return window&&kept.push("--since",new Date(window.from*1e3).toISOString(),"--until",new Date(window.to*1e3).toISOString()),getNextPageCommand([...kept,...passthrough],next,["--page"])}function printNextPage(command){output_manager_default.print(`
7
+ import{createCertForCns,extractDomain,isWildcardAlias,setupDomain}from"./chunks/chunk-32EEQITR.js";import"./chunks/chunk-VFBELAGX.js";import{joinWords}from"./chunks/chunk-4VFYJU37.js";import{api,tryOpenApiFallback}from"./chunks/chunk-NIZW6D6D.js";import"./chunks/chunk-GHAY4PSD.js";import{requireApproval}from"./chunks/chunk-E7IFYSQT.js";import{collectList,decodeListCursor,sliceList}from"./chunks/chunk-J7RNU6AO.js";import{checkExistsAndConnect,disconnectGitProvider,list,parseRepoUrl,printRemoteUrls,selectAndParseRemoteUrl}from"./chunks/chunk-VCJIB3FB.js";import"./chunks/chunk-5TMHRECT.js";import"./chunks/chunk-JUAHDOL6.js";import"./chunks/chunk-YTRKHRL3.js";import"./chunks/chunk-54FY6GJ5.js";import{getTeamBillingUrl}from"./chunks/chunk-XR6QY7RR.js";import{ellipsis}from"./chunks/chunk-AKOYIH3A.js";import{box}from"./chunks/chunk-LM3YPF3K.js";import{did_you_mean_default}from"./chunks/chunk-DWZBL4NK.js";import{OpenApiCache,resolveOpenApiTagForTeamsCli}from"./chunks/chunk-IRIFXCZW.js";import{email}from"./chunks/chunk-6IDNVZZR.js";import{parseTimeFlag}from"./chunks/chunk-D3M2JG5C.js";import{getProtectionForDeploymentAlias,getProtectionForProductionDomain,readEnabledProtection}from"./chunks/chunk-V7G4VDZI.js";import"./chunks/chunk-VT6RIZJH.js";import"./chunks/chunk-TOTTVS5P.js";import{isValidName}from"./chunks/chunk-PADL3C6Z.js";import{require_tar_fs}from"./chunks/chunk-KRPY5FHJ.js";import{buy,deleteCertById,getDomains,getProjectDomain,getTeamMemberByIdentifier,isDomainExternal,removeAliasById,teamMemberLabel}from"./chunks/chunk-O7TFWXLZ.js";import{require_cjs}from"./chunks/chunk-6WTGR7UP.js";import"./chunks/chunk-H64GR57G.js";import{canPromptForCharge}from"./chunks/chunk-FZLCDLWD.js";import{getWebhook}from"./chunks/chunk-RAQ6EUNL.js";import"./chunks/chunk-EDO66J3L.js";import{external_exports}from"./chunks/chunk-2AMO2VMV.js";import{getAliases}from"./chunks/chunk-G63MSB6N.js";import{require_execa}from"./chunks/chunk-M32HBBPK.js";import{INVALID_NEXT_MESSAGE,InvalidNextError,getPaginationOpts,parseNumericCursor}from"./chunks/chunk-C6GY2G73.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import{writeJsonError}from"./chunks/chunk-MXALPSIX.js";import{formatTable}from"./chunks/chunk-YIOMTAUF.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import"./chunks/chunk-Q7D7RGXM.js";import{printUnknownCommand}from"./chunks/chunk-SQBDW5FO.js";import{list_item_default}from"./chunks/chunk-BTI5TG6Q.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import{ensureLink}from"./chunks/chunk-ZXEWWSTH.js";import"./chunks/chunk-PSFHYOLD.js";import{getDeployment,toHost}from"./chunks/chunk-NBTFAXL4.js";import{mapCertError}from"./chunks/chunk-TJUZVODP.js";import"./chunks/chunk-GD7AV7BO.js";import{getCommandFlags}from"./chunks/chunk-XGTKHQTT.js";import"./chunks/chunk-PFD7LETF.js";import{canPrompt}from"./chunks/chunk-IQ7FPAI4.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import{getRenamedOption,renameOptionInArgs,reportRenamedOptionError,withWarnings}from"./chunks/chunk-WLMW7K7F.js";import{getSubcommand as getSubcommand3}from"./chunks/chunk-ETV3C2CV.js";import{DEFAULT_LIST_LIMIT,MAX_LIST_LIMIT,getNextPageCommand,parseListLimit,printNextPageCommand,printNextPageHint}from"./chunks/chunk-QBHTNUM5.js";import{validateLsArgs}from"./chunks/chunk-3EFPSM6M.js";import{table}from"./chunks/chunk-CJZE7647.js";import{getTeams}from"./chunks/chunk-Y2FVJ7YO.js";import{CREDIT_TYPE_LABELS,INVOICE_STATUSES,SUPPORTED_ADDON_NAMES,SUPPORTED_CREDIT_TYPES,addSubcommand10 as addSubcommand4,addSubcommand11 as addSubcommand5,addSubcommand2 as addSubcommand,addSubcommand4 as addSubcommand2,addSubcommand5 as addSubcommand3,addonSubcommand,agentRunsCommand,aliasCommand,backupsSubcommand,billingCommand,bisectCommand,buyCommand,certsCommand,connectSubcommand,createSubcommand10 as createSubcommand2,createSubcommand7 as createSubcommand,creditsSubcommand,disconnectSubcommand,dnsCommand,domainSubcommand,getCommandAliases,getSubcommand,getSubcommand5 as getSubcommand2,gitCommand,globalConfigCommand,importSubcommand,initCommand,inspectSubcommand,inspectSubcommand12 as inspectSubcommand4,inspectSubcommand6 as inspectSubcommand3,inviteSubcommand,invoicesDownloadSubcommand,invoicesInspectSubcommand,invoicesListSubcommand,invoicesSubcommand,invoicesUpcomingSubcommand,isCustomEnvironmentAddonAlias,issueSubcommand,itemsSubcommand,listSubcommand,listSubcommand11 as listSubcommand5,listSubcommand15 as listSubcommand6,listSubcommand18 as listSubcommand7,listSubcommand24 as listSubcommand8,listSubcommand25 as listSubcommand9,listSubcommand28 as listSubcommand10,listSubcommand3 as listSubcommand2,listSubcommand5 as listSubcommand4,membersInviteSubcommand,membersRemoveSubcommand,membersSubcommand2 as membersSubcommand,organizationsCommand,proSubcommand,projectsSubcommand,removeSubcommand15 as removeSubcommand6,removeSubcommand16 as removeSubcommand7,removeSubcommand2 as removeSubcommand,removeSubcommand4 as removeSubcommand3,removeSubcommand7 as removeSubcommand4,removeSubcommand9 as removeSubcommand5,requestSubcommand,setSubcommand,ssoSubcommand,switchSubcommand,teamsAddSubcommand,teamsCommand,teamsCreateSubcommand,teamsListSubcommand,teamsSubcommand,tokensCommand,tokensSubcommand,traceSubcommand,updateSubcommand2 as updateSubcommand,updateSubcommand6 as updateSubcommand2,updateSubcommand9 as updateSubcommand3,webhooksCommand}from"./chunks/chunk-2CQJKBKV.js";import"./chunks/chunk-2V6UURUN.js";import"./chunks/chunk-OKKG2FUS.js";import"./chunks/chunk-5L566FZB.js";import{usageCommand}from"./chunks/chunk-6737KAJP.js";import{contractCommand}from"./chunks/chunk-O3DAPRJ3.js";import"./chunks/chunk-UZQJQXGJ.js";import{DEPRECATED_BUDGET_ACTIONS,alertsSubcommand,budgetCommand,inspectSubcommand as inspectSubcommand2,listSubcommand as listSubcommand3,removeSubcommand as removeSubcommand2,setSubcommand as setSubcommand2}from"./chunks/chunk-5YLKPSZI.js";import"./chunks/chunk-SNGM6NSO.js";import"./chunks/chunk-JVGENO2R.js";import"./chunks/chunk-SP6E7PHW.js";import"./chunks/chunk-OFOZ5DBA.js";import"./chunks/chunk-6Q2XEYCJ.js";import"./chunks/chunk-SEHERY6U.js";import"./chunks/chunk-2LOA3LC6.js";import"./chunks/chunk-E7CEQ2PO.js";import"./chunks/chunk-W25UARQV.js";import"./chunks/chunk-7BDQUBSO.js";import"./chunks/chunk-ABSFPYM4.js";import"./chunks/chunk-YANOBY2G.js";import"./chunks/chunk-F7L5SXJM.js";import"./chunks/chunk-6S6UZV3V.js";import"./chunks/chunk-GUSOYIW6.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7TVNKTN2.js";import"./chunks/chunk-HR66URIC.js";import{printError}from"./chunks/chunk-NYJTWSSD.js";import{help,remoteText}from"./chunks/chunk-VVTMF2AY.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import{getContextName,getScope}from"./chunks/chunk-XSQZ35V6.js";import{TelemetryClient}from"./chunks/chunk-AGLOVMPC.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{AGENT_ACTION,AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,buildCommandWithYes,exitWithNonInteractiveError,getErrorRecovery,getExitCodeForReason,openUrlInBrowserCommand,outputActionRequired,outputAgentError,shouldEmitNonInteractiveCommandError,withGlobalFlags}from"./chunks/chunk-GORL5DZC.js";import"./chunks/chunk-OFZUWHZW.js";import{getGitConfigPath,getLinkFromDir,getLinkedProject,getUser,getVercelDirectory,humanizePath,parseGitConfig,pluckRemoteUrls,writeToConfigFile}from"./chunks/chunk-BC74BRVP.js";import{require_pluralize}from"./chunks/chunk-4HR3I3ML.js";import{formatAlignedLabel,printAlignedLabel}from"./chunks/chunk-K46QQRUN.js";import"./chunks/chunk-MTZYPCZ7.js";import"./chunks/chunk-GPDERS2D.js";import"./chunks/chunk-4NTBYNFR.js";import{isArgumentError,parseArguments,takeCommand}from"./chunks/chunk-VM6X5BTK.js";import{getTeamByIdOrSlug}from"./chunks/chunk-2VBFQZ72.js";import{validateJsonOutput,wantsMachineReadableOutput,warnDeprecatedOption,warnDeprecatedSubcommand}from"./chunks/chunk-JONZUKWX.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-D6REP5QQ.js";import"./chunks/chunk-FBYA6LLM.js";import{fetch,toNodeReadable}from"./chunks/chunk-MY4MONOH.js";import"./chunks/chunk-4SAVH3H7.js";import{AliasInUse,CertConfigurationError,CertError,CertMissing,CertNotFound,CertOrderNotFound,CertsPermissionDenied,DNSConflictingRecord,DNSInvalidPort,DNSInvalidType,DNSPermissionDenied,DeploymentFailedAliasImpossible,DeploymentNotFound,DeploymentNotReady,DeploymentPermissionDenied,DomainAlreadyExists,DomainChargeOutcomeUnknown,DomainNotAvailable,DomainNotFound,DomainOrderPending,DomainPaymentAuthenticationRequired,DomainPaymentError,DomainPermissionDenied,DomainPriceChanged,DomainPurchaseInProgress,DomainPurchasePending,DomainPurchaseRefundFailed,DomainPurchaseRefunded,InvalidAlias,InvalidAliasInConfig,InvalidDeploymentId,InvalidDomain,NoAliasInConfig,NowError,SourceNotFound,TLDNotSupportedViaCLI,TooManyRequests,UnexpectedDomainPurchaseError,UnsupportedTLD,UserAborted,isAPIError}from"./chunks/chunk-GOI2VVI7.js";import{cmd,getCommandName,getCommandNamePlain,packageName,require_lib}from"./chunks/chunk-B4KA3ZH2.js";import"./chunks/chunk-BOJDM3O7.js";import{emoji,eraseLines,link_default,output_manager_default,prependEmoji}from"./chunks/chunk-YNCWSPPJ.js";import"./chunks/chunk-BLUPZPAS.js";import"./chunks/chunk-AW33SRYY.js";import"./chunks/chunk-5MDNVAE6.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{require_dist}from"./chunks/chunk-MCYG7CCE.js";import"./chunks/chunk-YHPPP3SF.js";import"./chunks/chunk-24SIHFEW.js";import{formatOption,getFlagsSpecification,getGlobalFlagsFromArgs,getSameSubcommandSuggestionFlags,jsonOption,normalizeFlagName,quoteArg,stripSensitiveAuthArgs}from"./chunks/chunk-EZVNGJN5.js";import{chars_default}from"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-BULSRTQE.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var AgentRunsTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandTrace(actual){this.trackCliSubcommand({subcommand:"trace",value:actual})}trackCliSubcommandProjects(actual){this.trackCliSubcommand({subcommand:"projects",value:actual})}};var import_chalk2=__toESM(require_source(),1);var AGENT_RUNS_API_BASE="https://vercel.com/api/observability/agent-runs",DEFAULT_TRACE_MAX_FIELD_LENGTH=8e3,MAX_TRACE_FIELD_LENGTH=5e4;function getAgentRunsApiBase(){return process.env.VERCEL_AGENT_RUNS_API_URL||AGENT_RUNS_API_BASE}function resolveAgentRunsWindow(since,until){if(!since)return;let from=parseTimeFlag(since),to=until?parseTimeFlag(until):new Date;return{from:Math.floor(from.getTime()/1e3),to:Math.floor(to.getTime()/1e3)}}function buildAgentRunsUrl(query){let url=new URL(getAgentRunsApiBase());url.searchParams.set("teamSlug",query.teamId),query.view==="team"?url.searchParams.set("view","team"):query.projectId&&url.searchParams.set("project",query.projectId),url.searchParams.set("environment",query.environment||"production");let window=query.window??resolveAgentRunsWindow(query.since,query.until);return window&&(url.searchParams.set("from",String(window.from)),url.searchParams.set("to",String(window.to))),typeof query.page=="number"&&url.searchParams.set("page",String(Math.max(1,Math.floor(query.page)))),typeof query.pageSize=="number"&&url.searchParams.set("pageSize",String(Math.max(1,Math.floor(query.pageSize)))),query.search&&url.searchParams.set("search",query.search),query.cursor&&url.searchParams.set("cursor",query.cursor),query.runId&&url.searchParams.set("runId",query.runId),query.trace&&url.searchParams.set("trace","1"),query.traceStreamId&&url.searchParams.set("traceStreamId",query.traceStreamId),query.traceAfterCursor&&url.searchParams.set("traceAfterCursor",query.traceAfterCursor),typeof query.traceBeforeChunk=="number"&&url.searchParams.set("traceBeforeChunk",String(query.traceBeforeChunk)),url.href}async function fetchAgentRuns(client,query){return client.fetch(buildAgentRunsUrl(query),{useCurrentTeam:!1})}var MISSING_PROJECT_SCOPE_MESSAGE="No linked project found. Run `vercel link`, pass --cwd to a linked dir, or use --scope <team> and --project <name>.",MISSING_TEAM_SCOPE_MESSAGE="No team scope found. Run `vercel link`, pass --cwd to a linked dir, or use --scope <team>.";async function resolveAgentRunsScope(client,{scopeFlag,projectFlag,requireProject}){let flagScope=scopeFlag?.trim()||void 0,flagProject=projectFlag?.trim()||void 0;if(flagScope&&(flagProject||!requireProject))return{ok:!0,teamId:flagScope,projectId:flagProject,contextName:flagProject?`${flagScope}/${flagProject}`:flagScope};let linkedProject=await getLinkedProject(client);if(linkedProject.status==="error")return{ok:!1,exitCode:linkedProject.exitCode};if(linkedProject.status==="linked"){let{org,project}=linkedProject;if(flagScope&&flagScope!==org.id&&flagScope!==org.slug)return{ok:!1,exitCode:invalidArguments(client,`\`--scope ${flagScope}\` doesn't match the linked project's team. Pass \`--project <name>\` to query a project in that team.`)};let teamName=flagScope??org.slug,projectName=requireProject?flagProject??project.name:flagProject;return{ok:!0,teamId:flagScope??org.id,projectId:requireProject?flagProject??project.id:flagProject,contextName:projectName?`${teamName}/${projectName}`:teamName}}let message=requireProject?MISSING_PROJECT_SCOPE_MESSAGE:MISSING_TEAM_SCOPE_MESSAGE;return outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.NOT_LINKED,message}),output_manager_default.error(message),{ok:!1,exitCode:1}}function normalizeApiErrorText(message){return message.replace(/\s*\(\d{3}\)\s*$/,"").trim()}function handleAgentRunsApiError(client,err){if(isAPIError(err)){let reason=err.status===403?"forbidden":err.status===401?"not_authorized":err.status===404?AGENT_REASON.NOT_FOUND:err.status===429?"rate_limited":AGENT_REASON.API_ERROR;outputAgentError(client,{status:AGENT_STATUS.ERROR,reason,message:normalizeApiErrorText(err.serverMessage||err.message)})}else outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:"unexpected_error",message:err instanceof Error?err.message:String(err)});printError(err)}function invalidArguments(client,message){return outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.INVALID_ARGUMENTS,message}),output_manager_default.error(message),2}function normalizeTraceMaxFieldLength(value){return typeof value!="number"||!Number.isFinite(value)?DEFAULT_TRACE_MAX_FIELD_LENGTH:Math.min(Math.max(Math.floor(value),0),MAX_TRACE_FIELD_LENGTH)}function truncateLargeStrings(value,maxLength){return maxLength===0?value:typeof value=="string"?value.length<=maxLength?value:`${value.slice(0,maxLength)}... [truncated ${value.length-maxLength} chars]`:Array.isArray(value)?value.map(item=>truncateLargeStrings(item,maxLength)):value&&typeof value=="object"?Object.fromEntries(Object.entries(value).map(([key,entry])=>[key,truncateLargeStrings(entry,maxLength)])):value}import{createHash}from"node:crypto";var import_chalk=__toESM(require_source(),1),import_ms=__toESM(require_ms(),1),import_title=__toESM(require_lib(),1);function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function quoteCommandArgument(value,placeholder){return/[\x00-\x1F\x7F]/.test(value)?placeholder:/^[A-Za-z0-9_./:=@%+,-]+$/.test(value)?value:`'${value.replaceAll("'",`'"'"'`)}'`}function asArray(value){return Array.isArray(value)?value.filter(isRecord):[]}function readString(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="string"&&value.length>0)return value}}function readNumber(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="number"&&Number.isFinite(value))return value}}function readRecord(record,...keys){if(record)for(let key of keys){let value=record[key];if(isRecord(value))return value}}function readTimestampMs(record,...keys){if(record)for(let key of keys){let value=record[key];if(typeof value=="number"&&Number.isFinite(value))return value;if(typeof value=="string"&&value.length>0){let parsed=Date.parse(value);if(!Number.isNaN(parsed))return parsed}}}var PLACEHOLDER="-";function runId(run){return readString(run,"id","runId")??PLACEHOLDER}function formatRunStatus(run){let status=readString(run,"status","state");if(!status)return PLACEHOLDER;let label=(0,import_title.default)(status.replace(/[_-]+/g," ")),CIRCLE="\u25CF ";switch(status.toLowerCase()){case"completed":case"succeeded":case"success":case"ready":return import_chalk.default.green(CIRCLE)+label;case"error":case"errored":case"failed":case"timed out":case"timed_out":return import_chalk.default.red(CIRCLE)+label;case"running":case"in progress":case"in_progress":case"pending":case"queued":case"started":return import_chalk.default.yellow(CIRCLE)+label;case"canceled":case"cancelled":return import_chalk.default.gray(label);default:return label}}function runModel(run){return readString(run,"model")??PLACEHOLDER}function runTrigger(run){return readString(run,"trigger")??readString(readRecord(run,"trigger"),"label","type","name")??PLACEHOLDER}function runTitle(run){return readString(run,"title","name")}function runStartedAtMs(run){return readTimestampMs(run,"createdAt","startedAt","startTime")}function runDurationMs(run){let explicit=readNumber(run,"durationMs","duration");if(explicit!==void 0)return explicit;let start=readTimestampMs(run,"startedAt","createdAt","startTime"),end=readTimestampMs(run,"endedAt","completedAt","endTime");if(start!==void 0&&end!==void 0&&end>=start)return end-start}function runTotalTokens(run){let usage=readRecord(run,"usage")??run,total=readNumber(usage,"totalTokens","total");if(total!==void 0)return total;let input=readNumber(usage,"inputTokens","promptTokens","input"),output=readNumber(usage,"outputTokens","completionTokens","output");if(input!==void 0||output!==void 0)return(input??0)+(output??0)}function formatAge(timestampMs){if(timestampMs===void 0)return PLACEHOLDER;let delta=Date.now()-timestampMs;return delta<1e3?"just now":`${(0,import_ms.default)(delta)} ago`}function formatTimestamp(timestampMs){return timestampMs===void 0?PLACEHOLDER:new Date(timestampMs).toISOString()}function formatDurationMs(value){return value===void 0?PLACEHOLDER:value<1e3?`${Math.round(value)}ms`:value<6e4?`${(value/1e3).toFixed(1)}s`:(0,import_ms.default)(Math.round(value))}function formatCount(value){return value===void 0?PLACEHOLDER:value<1e4?String(value):value<1e6?`${(value/1e3).toFixed(1)}k`:`${(value/1e6).toFixed(1)}m`}var MAX_TOKEN_LENGTH=8192,MAX_SOURCE_OFFSET=1e4,OTEL_CURSOR_PATTERN=/^[A-Za-z0-9_-]{1,4096}$/,SOURCE_CURSOR_PATTERN=/^[0-9a-z]+\.[0-9a-z]+(\.[0-9a-z]+\.[0-9a-z]+(\.[A-Za-z0-9_-]{1,4096})?)?$/,FILTERS_LENGTH=22;function isSourceOffset(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>=0&&value<=MAX_SOURCE_OFFSET}function isEpoch(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>0}function isWindow(value){if(!isRecord(value))return!1;let{from,to}=value;return isEpoch(from)&&isEpoch(to)&&from<to}function encodeAgentRunsSourceCursor(offsets){if(!offsets)return;let{otel,workflow,otelCursor}=offsets;if(!isSourceOffset(otel)||!isSourceOffset(workflow))return;let parts=[otel.toString(36),workflow.toString(36)],range=offsets.otelRange;if(range!==void 0){if(!isWindow(range))return;parts.push(range.from.toString(36),range.to.toString(36))}if(otelCursor!==void 0){if(range===void 0||typeof otelCursor!="string"||!OTEL_CURSOR_PATTERN.test(otelCursor))return;parts.push(otelCursor)}return parts.join(".")}function getAgentRunsListFilters({teamId,projectId,environment,search}){return createHash("sha256").update(JSON.stringify([teamId,projectId??null,environment||"production",search||null])).digest("base64url").slice(0,FILTERS_LENGTH)}function encodeAgentRunsListContinuation(continuation){return Buffer.from(JSON.stringify(continuation),"utf8").toString("base64url")}function parseAgentRunsListContinuation(value){if(value.length===0||value.length>MAX_TOKEN_LENGTH||!/^[A-Za-z0-9_-]+$/.test(value))return;let decoded;try{decoded=JSON.parse(Buffer.from(value,"base64url").toString("utf8"))}catch{return}if(!(!isRecord(decoded)||decoded.version!==1||typeof decoded.cursor!="string"||!SOURCE_CURSOR_PATTERN.test(decoded.cursor)||typeof decoded.page!="number"||!Number.isSafeInteger(decoded.page)||decoded.page<2||typeof decoded.filters!="string"||decoded.filters.length!==FILTERS_LENGTH||!isWindow(decoded.window)))return{version:1,cursor:decoded.cursor,page:decoded.page,window:{from:decoded.window.from,to:decoded.window.to},filters:decoded.filters}}var AgentRunsQueryTelemetryClient=class extends TelemetryClient{trackCliOptionEnvironment(value){value&&this.trackCliOption({option:"environment",value:["production","preview"].includes(value)?value:this.redactedValue})}trackCliOptionSince(value){value&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(value){value&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliOptionProject(value){value&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliFlagJson(value){value&&this.trackCliFlag("json")}};var AgentRunsListTelemetryClient=class extends AgentRunsQueryTelemetryClient{trackCliOptionQuery(value){value&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionSearch(value){value&&this.trackCliOption({option:"search",value:this.redactedValue})}trackCliOptionNext(value){value!==void 0&&this.trackCliOption({option:"next",value:/^\d+$/.test(value)?value:this.redactedValue})}trackCliOptionPage(value){typeof value=="number"&&this.trackCliOption({option:"page",value:String(value)})}trackCliOptionLimit(value){typeof value=="number"&&this.trackCliOption({option:"limit",value:String(value)})}};var DEFAULT_LIST_WINDOW_SECONDS=12*60*60;function getDefaultListWindow(){let to=Math.floor(Date.now()/1e3);return{from:to-DEFAULT_LIST_WINDOW_SECONDS,to}}function buildListPageCommand({argv,window,next}){let args=argv.slice(2),delimiter=args.indexOf("--"),own=delimiter===-1?args:args.slice(0,delimiter),passthrough=delimiter===-1?[]:args.slice(delimiter),kept=argv.slice(0,2);for(let i=0;i<own.length;i++){let arg=own[i],name=normalizeFlagName(arg);if(name==="--since"||name==="--until"){arg.includes("=")||i++;continue}kept.push(arg)}return window&&kept.push("--since",new Date(window.from*1e3).toISOString(),"--until",new Date(window.to*1e3).toISOString()),getNextPageCommand([...kept,...passthrough],next,["--page"])}function printNextPage(command){output_manager_default.print(`
8
8
  `),printNextPageCommand(command)}async function list2(client){let telemetry=new AgentRunsListTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(listSubcommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return printError(err),2}let{"--project":projectFlag,"--environment":environment,"--since":since,"--until":until,"--query":queryFlag,"--search":searchFlag,"--next":next,"--page":legacyPage,"--limit":limit,"--json":json,"--scope":scopeFlag}=parsedArgs.flags;legacyPage!==void 0&&warnDeprecatedOption(client.argv,"--page","--next"),telemetry.trackCliOptionProject(projectFlag),telemetry.trackCliOptionEnvironment(environment),telemetry.trackCliOptionSince(since),telemetry.trackCliOptionUntil(until),telemetry.trackCliOptionQuery(queryFlag),telemetry.trackCliOptionSearch(searchFlag),telemetry.trackCliOptionNext(next),telemetry.trackCliOptionPage(legacyPage),telemetry.trackCliOptionLimit(limit),telemetry.trackCliFlagJson(json);let query=getRenamedOption(parsedArgs.flags,"--query","--search",{json});if("error"in query)return reportRenamedOptionError(client,query.error,{json});let search=query.value;if(until&&!since)return invalidArguments(client,"`--until` requires `--since`.");if(next!==void 0&&legacyPage!==void 0)return invalidArguments(client,"`--next` and `--page` cannot be used together.");let legacyNext=next!==void 0&&/^\d+$/.test(next)?Number(next):void 0,continuation;if(next!==void 0&&legacyNext===void 0&&(continuation=parseAgentRunsListContinuation(next),!continuation))return invalidArguments(client,"Invalid or expired `--next` cursor. Omit `--next` to start from the first page.");let page=continuation?.page??legacyNext??legacyPage,requestedWindow;try{requestedWindow=resolveAgentRunsWindow(since,until)}catch(err){return handleAgentRunsApiError(client,err),1}let window=requestedWindow??getDefaultListWindow();if(continuation){if(requestedWindow&&(requestedWindow.from!==continuation.window.from||requestedWindow.to!==continuation.window.to))return invalidArguments(client,"`--since` and `--until` must match the time range of the `--next` cursor. Omit them to continue the same list.");window=continuation.window}let scope=await resolveAgentRunsScope(client,{scopeFlag,projectFlag,requireProject:!0});if(!scope.ok)return scope.exitCode;let filters=getAgentRunsListFilters({teamId:scope.teamId,projectId:scope.projectId,environment,search});if(continuation&&continuation.filters!==filters)return invalidArguments(client,"The `--next` cursor belongs to a different list. Use the same scope, project, environment, and search, or omit `--next` to start from the first page.");let fetchStamp=stamp_default();output_manager_default.spinner(`Fetching Agent Runs in ${import_chalk2.default.bold(scope.contextName)}\u2026`);let data;try{data=await fetchAgentRuns(client,{teamId:scope.teamId,projectId:scope.projectId,environment,window,page,pageSize:limit,search,cursor:continuation?.cursor})}catch(err){return output_manager_default.stopSpinner(),handleAgentRunsApiError(client,err),1}output_manager_default.stopSpinner();let pageInfo=readRecord(data,"pageInfo"),cursorPaged=typeof pageInfo?.hasMore=="boolean"||pageInfo?.nextOffsets!==void 0;if(cursorPaged&&!continuation&&(page??1)>1)return invalidArguments(client,"Page numbers cannot continue this Agent Runs list. Use the `--next` cursor from the previous page (`pagination.next` with `--json`).");let nextToken=null;if(cursorPaged&&pageInfo?.hasMore===!0){let nextOffsets=readRecord(pageInfo,"nextOffsets"),cursor=encodeAgentRunsSourceCursor(nextOffsets);cursor&&(nextToken=encodeAgentRunsListContinuation({version:1,cursor,page:(page??1)+1,window,filters}))}if(json){let payload=cursorPaged?{...data,pagination:{next:nextToken}}:data;return client.stdout.write(`${JSON.stringify(withWarnings(payload,[query.warning]),null,2)}
9
9
  `),0}let pageCommand={argv:renameOptionInArgs(client.argv,"--search","--query")},runList=asArray(data.runs);if(runList.length===0)return nextToken?(output_manager_default.log("No Agent Runs on this page."),printNextPage(buildListPageCommand({...pageCommand,next:nextToken}))):search||since?output_manager_default.log("No Agent Runs match the current filters."):output_manager_default.log("No Agent Runs found."),0;output_manager_default.log(`Agent Runs under ${import_chalk2.default.bold(scope.contextName)} ${fetchStamp()}`);let rows=[["Run ID","Status","Trigger","Model","Tokens","Duration","Age"].map(header=>import_chalk2.default.bold(import_chalk2.default.cyan(header))),...runList.map(run=>[import_chalk2.default.bold(runId(run)),formatRunStatus(run),runTrigger(run),runModel(run),formatCount(runTotalTokens(run)),import_chalk2.default.gray(formatDurationMs(runDurationMs(run))),import_chalk2.default.gray(formatAge(runStartedAtMs(run)))])];client.stdout.write(`
10
10
  ${table(rows,{hsep:3}).replace(/^/gm," ")}
@@ -48,7 +48,7 @@ ${table(rows,{hsep:3}).replace(/^/gm," ")}
48
48
  `)),1}return error}var AliasSetTelemetryClient=class extends TelemetryClient{trackCliFlagDebug(flag){flag&&this.trackCliFlag("debug")}trackCliOptionLocalConfig(localConfig){localConfig&&this.trackCliOption({option:"local-config",value:this.redactedValue})}trackCliArgumentDeployment(idOrUrl){idOrUrl&&this.trackCliArgument({arg:"id-or-url",value:this.redactedValue})}trackCliArgumentAlias(customDomain){customDomain&&this.trackCliArgument({arg:"custom-domain",value:this.redactedValue})}};async function set(client,argv){let parsedArguments,flagsSpecification=getFlagsSpecification(listSubcommand2.options);try{parsedArguments=parseArguments(argv,flagsSpecification)}catch(err){return printError(err),2}let{args,flags:opts}=parsedArguments,setStamp=stamp_default(),{localConfig}=client,telemetryClient=new AliasSetTelemetryClient({opts:{store:client.telemetryEventStore}});telemetryClient.trackCliFlagDebug(opts["--debug"]),telemetryClient.trackCliOptionLocalConfig(opts["--local-config"]);let{contextName,user}=await getScope(client);if(args.length>2)return output_manager_default.error(`${getCommandName("alias <deployment> <target>")} accepts at most two arguments`),1;if(args.length>=1&&!isValidName(args[0]))return output_manager_default.error(`The provided argument "${args[0]}" is not a valid ID or URL`),2;if(args.length>=2&&!isValidName(args[1]))return output_manager_default.error(`The provided argument "${args[1]}" is not a valid domain`),2;if(args.length===0)return output_manager_default.error(`To ship to production, optionally configure your domains (${link_default("https://vercel.link/domain-configuration")}) and run ${getCommandName("--prod")}.`),1;if(args.length===1){let[aliasTarget2]=args;telemetryClient.trackCliArgumentAlias(aliasTarget2);let deployment=handleCertError(await getDeploymentForAlias(client,opts["--local-config"],user,contextName,localConfig));if(deployment===1)return deployment;if(deployment instanceof Error)return output_manager_default.error(deployment.message),1;if(!deployment)return output_manager_default.error("Couldn't find a deployment to alias. Please provide one as an argument."),1;let targets=getTargetsForAlias(args,localConfig);if(targets instanceof Error)return output_manager_default.prettyError(targets),1;for(let target of targets){output_manager_default.log(`Assigning alias ${target} to deployment ${deployment.url}`);let record2=await assignAlias(client,deployment.id,target,contextName),handleResult2=handleSetupDomainError(handleCreateAliasError(record2));if(handleResult2===1)return 1;output_manager_default.success(`${import_chalk10.default.bold(`${isWildcardAlias(target)?"":"https://"}${handleResult2.alias}`)} now points to https://${deployment.url} ${setStamp()}`),isWildcardAlias(target)||await warnIfDeploymentOnlyAlias(client,deployment,target)}return 0}let[idOrUrl,aliasTarget]=args;telemetryClient.trackCliArgumentDeployment(idOrUrl),telemetryClient.trackCliArgumentAlias(aliasTarget),output_manager_default.log(`Assigning alias ${aliasTarget} to ${idOrUrl}`);let isWildcard=isWildcardAlias(aliasTarget),idOrUrlForRequest=idOrUrl.includes(".")?toHost(idOrUrl):idOrUrl,aliasHost=toHost(aliasTarget),deploymentLookup=!isWildcard&&aliasHost.includes(".")?getDeployment(client,contextName,idOrUrlForRequest).catch(err=>(output_manager_default.debug(`Could not load deployment ${idOrUrlForRequest}: ${err}`),null)):null,record=await assignAlias(client,idOrUrlForRequest,aliasTarget,contextName),handleResult=handleSetupDomainError(handleCreateAliasError(record));if(handleResult===1)return 1;let prefix=isWildcard?"":"https://";return output_manager_default.success(`${import_chalk10.default.bold(`${prefix}${handleResult.alias}`)} now points to ${idOrUrl} ${setStamp()}`),deploymentLookup&&await warnIfDeploymentOnlyAlias(client,await deploymentLookup,aliasHost),0}function handleSetupDomainError(error){return error instanceof DomainPermissionDenied?(output_manager_default.error(`You don't have permissions over domain ${import_chalk10.default.underline(error.meta.domain)} under ${import_chalk10.default.bold(error.meta.context)}.`),1):error instanceof UserAborted?(output_manager_default.error("User canceled."),1):error instanceof DomainNotFound?(output_manager_default.error("You should buy the domain before aliasing."),1):error instanceof UnsupportedTLD?(output_manager_default.error(`The TLD for domain name ${error.meta.domain} is not supported.`),1):error instanceof InvalidDomain?(output_manager_default.error(`The domain ${error.meta.domain} used for the alias is not valid.`),1):error instanceof DomainNotAvailable?(output_manager_default.error(`The domain ${error.meta.domain} is not available to be purchased.`),1):error instanceof UnexpectedDomainPurchaseError?(output_manager_default.error("There was an unexpected error while purchasing the domain."),1):error instanceof DomainAlreadyExists?(output_manager_default.error(`The domain ${error.meta.domain} exists for a different account.`),1):error instanceof DomainPurchasePending?(output_manager_default.error(`The domain ${error.meta.domain} is processing and will be available once the order is completed.`),output_manager_default.print(` An email will be sent upon completion so you can alias to your new domain.
49
49
  `),1):error instanceof SourceNotFound?(output_manager_default.error("You can't purchase the domain you're aliasing to since you have no valid payment method."),output_manager_default.print(` Please add a valid payment method and retry.
50
50
  `),1):error instanceof DomainPaymentError?(output_manager_default.error("You can't purchase the domain you're aliasing to since your card was declined."),output_manager_default.print(` Please add a valid payment method and retry.
51
- `),1):error instanceof TLDNotSupportedViaCLI?(output_manager_default.error(`The TLD for domain name ${error.meta.domain} is not supported via the CLI. Use the REST API or the dashboard to purchase.`),1):error instanceof DomainPurchaseRefundFailed||error instanceof DomainPurchaseRefunded||error instanceof DomainChargeOutcomeUnknown||error instanceof DomainOrderPending||error instanceof DomainPurchaseInProgress||error instanceof DomainPriceChanged?(output_manager_default.error(error.message),1):error}function handleCreateAliasError(errorOrResult){let error=handleCertError(errorOrResult);return error===1?error:error instanceof AliasInUse?(output_manager_default.error(`The alias ${import_chalk10.default.dim(error.meta.alias)} is a deployment URL or it's in use by a different team.`),1):error instanceof DeploymentNotFound?(output_manager_default.error(`Failed to find ID or URL ${import_chalk10.default.dim(error.meta.id)} under ${import_chalk10.default.bold(error.meta.context)}`),1):error instanceof InvalidAlias?(output_manager_default.error("Invalid alias. Please confirm that the alias you provided is a valid hostname. Note: For `vercel.app`, only sub and sub-sub domains are supported."),1):error instanceof DeploymentPermissionDenied?(output_manager_default.error(`No permission to access ID or URL ${import_chalk10.default.dim(error.meta.id)} under ${import_chalk10.default.bold(error.meta.context)}`),1):error instanceof CertMissing?(output_manager_default.error(`There is no certificate for the domain ${error.meta.domain} and it could not be created.`),output_manager_default.log(`Please generate a new certificate manually with ${getCommandName(`certs issue ${error.meta.domain}`)}`),1):error instanceof InvalidDomain?(output_manager_default.error(`The domain ${error.meta.domain} used for the alias is not valid.`),1):error instanceof DomainPermissionDenied||error instanceof DeploymentFailedAliasImpossible||error instanceof InvalidDeploymentId?(output_manager_default.error(error.message),1):error instanceof DeploymentNotReady?(output_manager_default.error(error.message),1):error}function getTargetsForAlias(args,{alias:alias2}={}){return args.length?[args[args.length-1]].map(target=>target.indexOf(".")!==-1?toHost(target):target).filter(x=>!!x&&typeof x=="string"):alias2?typeof alias2!="string"&&!Array.isArray(alias2)?new InvalidAliasInConfig(alias2):typeof alias2=="string"?[alias2]:alias2:new NoAliasInConfig}var AliasTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandSet(actual){this.trackCliSubcommand({subcommand:"set",value:actual})}trackCliSubcommandRemove(actual){this.trackCliSubcommand({subcommand:"rm",value:actual})}};var COMMAND_CONFIG2={ls:getCommandAliases(listSubcommand2),rm:getCommandAliases(removeSubcommand),set:getCommandAliases(setSubcommand)};async function alias(client){let telemetry=new AliasTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArguments,flagsSpecification=getFlagsSpecification(aliasCommand.options);try{parsedArguments=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}parsedArguments.args[0]==="ln"&&warnDeprecatedSubcommand(client,"ln","alias");let{subcommand,args,subcommandOriginal}=getSubcommand3(parsedArguments.args.slice(1),COMMAND_CONFIG2),needHelp=parsedArguments.flags["--help"];if(!subcommand&&needHelp)return telemetry.trackCliFlagHelp("alias"),output_manager_default.print(help(aliasCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:aliasCommand,columns:client.stderr.columns}))}switch(subcommand){case"ls":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(listSubcommand2),0):(telemetry.trackCliSubcommandList(subcommandOriginal),ls(client,args));case"rm":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(removeSubcommand),0):(telemetry.trackCliSubcommandRemove(subcommandOriginal),rm(client,args));case"set":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(setSubcommand),0):(telemetry.trackCliSubcommandSet(subcommandOriginal),set(client,args));default:return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(setSubcommand),0):(telemetry.trackCliSubcommandSet(subcommandOriginal),set(client,args))}}var BillingTelemetryClient=class extends TelemetryClient{constructor(){super(...arguments);this.sub=subcommand=>value=>this.trackSubcommand(subcommand,value);this.option=option=>value=>this.trackRedactedCliOption(option,value);this.flag=flag=>value=>{value&&this.trackCliFlag(flag)};this.trackCliSubcommandUsage=this.sub("usage");this.trackCliSubcommandContract=this.sub("contract");this.trackCliSubcommandBudgets=this.sub("budgets");this.trackCliSubcommandInvoices=this.sub("invoices");this.trackCliSubcommandList=this.sub("list");this.trackCliSubcommandInspect=this.sub("inspect");this.trackCliSubcommandUpcoming=this.sub("upcoming");this.trackCliSubcommandDownload=this.sub("download");this.trackCliOptionNext=this.option("next");this.trackCliOptionOutput=this.option("output");this.trackCliFlagJson=this.flag("json")}trackSubcommand(subcommand,value){this.trackCliSubcommand({subcommand,value})}trackCliArgumentInvoice(value){this.trackCliArgument({arg:"invoice",value:value&&this.redactedValue})}trackCliOptionStatus(value){this.trackRedactedCliOption("status",value?.join(","))}trackCliOptionLimit(value){value!==void 0&&this.trackCliOption({option:"limit",value:String(value)})}trackOptions(flags){this.trackCliOptionStatus(flags["--status"]),this.trackCliOptionLimit(flags["--limit"]),this.trackCliOptionNext(flags["--next"]),this.trackCliOptionOutput(flags["--output"]),this.trackCliFlagJson(flags["--json"])}};var import_chalk11=__toESM(require_source(),1),import_error_utils=__toESM(require_dist(),1);var INVOICE_ID_PATTERN=/^inv_[A-Za-z0-9_-]+$/;function isJsonOutput(client){return wantsMachineReadableOutput("billing",client.argv)}function invoicesCommand(client,command){return withGlobalFlags(client,`billing invoices ${command}`)}function parse3(client,argv,options,usage){let parsed;try{let spec=getFlagsSpecification(options);parsed=parseArguments(argv,spec)}catch(err){return reportError(client,err,2)}let telemetry=new BillingTelemetryClient({opts:{store:client.telemetryEventStore}});return telemetry.trackOptions(parsed.flags),{...parsed,asJson:isJsonOutput(client),telemetry}}function invoiceIdArg(client,args,usage){let[invoiceId]=args;return invoiceId?args.length>1||!INVOICE_ID_PATTERN.test(invoiceId)?usageError(client,"Expected one invoice ID that starts with inv_, from vercel billing invoices list.",usage):invoiceId:failure(client,AGENT_REASON.MISSING_ARGUMENTS,"An invoice ID is required.",{command:"list",when:"Find the invoice ID"},2)}async function resolveOwner(client){try{let{contextName,team}=await getScope(client);return{contextName,teamId:team?.id}}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return reportError(client,err);throw err}}function ownerQuery(teamId){let query=new URLSearchParams;return teamId&&query.set("teamId",teamId),query}function fetchInvoicesPage(client,teamId,opts){let query=ownerQuery(teamId);for(let status of opts.statuses)query.append("status",status);return query.set("limit",String(opts.limit)),opts.cursor&&query.set("cursor",opts.cursor),client.fetch(`/v1/invoices?${query}`,{useCurrentTeam:!1})}function fetchInvoice(client,teamId,invoiceId){return client.fetch(`/v1/invoices/${encodeURIComponent(invoiceId)}?${ownerQuery(teamId)}`,{useCurrentTeam:!1})}function fetchUpcomingInvoices(client,teamId){return client.fetch(`/v1/invoices/upcoming?${ownerQuery(teamId)}`,{useCurrentTeam:!1})}function toInvoiceJson({pdfDownloadUrl:_pdfDownloadUrl,hostedUrl:_hostedUrl,...invoice}){return invoice}function reportUpcomingInvoiceError(client,err){if(isAPIError(err)){if(err.status===401)return failure(client,AGENT_REASON.LOGIN_REQUIRED,"Can't show upcoming invoices. Your login is missing or expired.",{command:"upcoming",when:"Log in with vercel login, then retry"});if(err.status===404&&err.code==="no_active_subscriptions")return failure(client,AGENT_REASON.NOT_FOUND,"Can't show upcoming invoices. This team has no active paid subscription.",{command:"list",when:"List past invoices"});if(err.status===403||err.status===404)return failure(client,AGENT_REASON.PERMISSION_DENIED,"Can't show upcoming invoices. Your account doesn't have access to them.",{command:"upcoming --scope <TEAM>",when:"Ask a team owner for access, or choose another team"});if(err.status===429)return failure(client,AGENT_REASON.RATE_LIMITED,"Too many requests to the Vercel API.",{command:"upcoming",when:getErrorRecovery(err,client).hint??"Wait before retrying"})}return reportError(client,err)}function formatInvoiceStatus(invoice){return Number(invoice.postPaymentCreditAmount)>0?"Refunded":(invoice.status==="open"||invoice.status==="uncollectible")&&invoice.dueDate!==null&&Date.now()>Date.parse(invoice.dueDate)?"Overdue":`${invoice.status.charAt(0).toUpperCase()}${invoice.status.slice(1)}`}function formatAmount(amount,currency){let value=Number(amount);return currency.toLowerCase()!=="usd"?`${value.toFixed(2)} ${currency.toUpperCase()}`:`${value<0?"-":""}$${Math.abs(value).toFixed(2)}`}function formatDate2(date){return date?new Date(date).toISOString().slice(0,10):"-"}function formatTable2(headers,rows){return table([headers.map(header=>import_chalk11.default.dim(header)),...rows],{hsep:3}).split(`
51
+ `),1):error instanceof TLDNotSupportedViaCLI?(output_manager_default.error(`The TLD for domain name ${error.meta.domain} is not supported via the CLI. Use the REST API or the dashboard to purchase.`),1):error instanceof DomainPurchaseRefundFailed||error instanceof DomainPurchaseRefunded||error instanceof DomainPaymentAuthenticationRequired||error instanceof DomainChargeOutcomeUnknown||error instanceof DomainOrderPending||error instanceof DomainPurchaseInProgress||error instanceof DomainPriceChanged?(output_manager_default.error(error.message),1):error}function handleCreateAliasError(errorOrResult){let error=handleCertError(errorOrResult);return error===1?error:error instanceof AliasInUse?(output_manager_default.error(`The alias ${import_chalk10.default.dim(error.meta.alias)} is a deployment URL or it's in use by a different team.`),1):error instanceof DeploymentNotFound?(output_manager_default.error(`Failed to find ID or URL ${import_chalk10.default.dim(error.meta.id)} under ${import_chalk10.default.bold(error.meta.context)}`),1):error instanceof InvalidAlias?(output_manager_default.error("Invalid alias. Please confirm that the alias you provided is a valid hostname. Note: For `vercel.app`, only sub and sub-sub domains are supported."),1):error instanceof DeploymentPermissionDenied?(output_manager_default.error(`No permission to access ID or URL ${import_chalk10.default.dim(error.meta.id)} under ${import_chalk10.default.bold(error.meta.context)}`),1):error instanceof CertMissing?(output_manager_default.error(`There is no certificate for the domain ${error.meta.domain} and it could not be created.`),output_manager_default.log(`Please generate a new certificate manually with ${getCommandName(`certs issue ${error.meta.domain}`)}`),1):error instanceof InvalidDomain?(output_manager_default.error(`The domain ${error.meta.domain} used for the alias is not valid.`),1):error instanceof DomainPermissionDenied||error instanceof DeploymentFailedAliasImpossible||error instanceof InvalidDeploymentId?(output_manager_default.error(error.message),1):error instanceof DeploymentNotReady?(output_manager_default.error(error.message),1):error}function getTargetsForAlias(args,{alias:alias2}={}){return args.length?[args[args.length-1]].map(target=>target.indexOf(".")!==-1?toHost(target):target).filter(x=>!!x&&typeof x=="string"):alias2?typeof alias2!="string"&&!Array.isArray(alias2)?new InvalidAliasInConfig(alias2):typeof alias2=="string"?[alias2]:alias2:new NoAliasInConfig}var AliasTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandSet(actual){this.trackCliSubcommand({subcommand:"set",value:actual})}trackCliSubcommandRemove(actual){this.trackCliSubcommand({subcommand:"rm",value:actual})}};var COMMAND_CONFIG2={ls:getCommandAliases(listSubcommand2),rm:getCommandAliases(removeSubcommand),set:getCommandAliases(setSubcommand)};async function alias(client){let telemetry=new AliasTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArguments,flagsSpecification=getFlagsSpecification(aliasCommand.options);try{parsedArguments=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}parsedArguments.args[0]==="ln"&&warnDeprecatedSubcommand(client,"ln","alias");let{subcommand,args,subcommandOriginal}=getSubcommand3(parsedArguments.args.slice(1),COMMAND_CONFIG2),needHelp=parsedArguments.flags["--help"];if(!subcommand&&needHelp)return telemetry.trackCliFlagHelp("alias"),output_manager_default.print(help(aliasCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:aliasCommand,columns:client.stderr.columns}))}switch(subcommand){case"ls":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(listSubcommand2),0):(telemetry.trackCliSubcommandList(subcommandOriginal),ls(client,args));case"rm":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(removeSubcommand),0):(telemetry.trackCliSubcommandRemove(subcommandOriginal),rm(client,args));case"set":return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(setSubcommand),0):(telemetry.trackCliSubcommandSet(subcommandOriginal),set(client,args));default:return needHelp?(telemetry.trackCliFlagHelp("alias",subcommandOriginal),printHelp(setSubcommand),0):(telemetry.trackCliSubcommandSet(subcommandOriginal),set(client,args))}}var BillingTelemetryClient=class extends TelemetryClient{constructor(){super(...arguments);this.sub=subcommand=>value=>this.trackSubcommand(subcommand,value);this.option=option=>value=>this.trackRedactedCliOption(option,value);this.flag=flag=>value=>{value&&this.trackCliFlag(flag)};this.trackCliSubcommandUsage=this.sub("usage");this.trackCliSubcommandContract=this.sub("contract");this.trackCliSubcommandBudgets=this.sub("budgets");this.trackCliSubcommandInvoices=this.sub("invoices");this.trackCliSubcommandList=this.sub("list");this.trackCliSubcommandInspect=this.sub("inspect");this.trackCliSubcommandUpcoming=this.sub("upcoming");this.trackCliSubcommandDownload=this.sub("download");this.trackCliOptionNext=this.option("next");this.trackCliOptionOutput=this.option("output");this.trackCliFlagJson=this.flag("json")}trackSubcommand(subcommand,value){this.trackCliSubcommand({subcommand,value})}trackCliArgumentInvoice(value){this.trackCliArgument({arg:"invoice",value:value&&this.redactedValue})}trackCliOptionStatus(value){this.trackRedactedCliOption("status",value?.join(","))}trackCliOptionLimit(value){value!==void 0&&this.trackCliOption({option:"limit",value:String(value)})}trackOptions(flags){this.trackCliOptionStatus(flags["--status"]),this.trackCliOptionLimit(flags["--limit"]),this.trackCliOptionNext(flags["--next"]),this.trackCliOptionOutput(flags["--output"]),this.trackCliFlagJson(flags["--json"])}};var import_chalk11=__toESM(require_source(),1),import_error_utils=__toESM(require_dist(),1);var INVOICE_ID_PATTERN=/^inv_[A-Za-z0-9_-]+$/;function isJsonOutput(client){return wantsMachineReadableOutput("billing",client.argv)}function invoicesCommand(client,command){return withGlobalFlags(client,`billing invoices ${command}`)}function parse3(client,argv,options,usage){let parsed;try{let spec=getFlagsSpecification(options);parsed=parseArguments(argv,spec)}catch(err){return reportError(client,err,2)}let telemetry=new BillingTelemetryClient({opts:{store:client.telemetryEventStore}});return telemetry.trackOptions(parsed.flags),{...parsed,asJson:isJsonOutput(client),telemetry}}function invoiceIdArg(client,args,usage){let[invoiceId]=args;return invoiceId?args.length>1||!INVOICE_ID_PATTERN.test(invoiceId)?usageError(client,"Expected one invoice ID that starts with inv_, from vercel billing invoices list.",usage):invoiceId:failure(client,AGENT_REASON.MISSING_ARGUMENTS,"An invoice ID is required.",{command:"list",when:"Find the invoice ID"},2)}async function resolveOwner(client){try{let{contextName,team}=await getScope(client);return{contextName,teamId:team?.id}}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return reportError(client,err);throw err}}function ownerQuery(teamId){let query=new URLSearchParams;return teamId&&query.set("teamId",teamId),query}function fetchInvoicesPage(client,teamId,opts){let query=ownerQuery(teamId);for(let status of opts.statuses)query.append("status",status);return query.set("limit",String(opts.limit)),opts.cursor&&query.set("cursor",opts.cursor),client.fetch(`/v1/invoices?${query}`,{useCurrentTeam:!1})}function fetchInvoice(client,teamId,invoiceId){return client.fetch(`/v1/invoices/${encodeURIComponent(invoiceId)}?${ownerQuery(teamId)}`,{useCurrentTeam:!1})}function fetchUpcomingInvoices(client,teamId){return client.fetch(`/v1/invoices/upcoming?${ownerQuery(teamId)}`,{useCurrentTeam:!1})}function toInvoiceJson({pdfDownloadUrl:_pdfDownloadUrl,hostedUrl:_hostedUrl,...invoice}){return invoice}function reportUpcomingInvoiceError(client,err){if(isAPIError(err)){if(err.status===401)return failure(client,AGENT_REASON.LOGIN_REQUIRED,"Can't show upcoming invoices. Your login is missing or expired.",{command:"upcoming",when:"Log in with vercel login, then retry"});if(err.status===404&&err.code==="no_active_subscriptions")return failure(client,AGENT_REASON.NOT_FOUND,"Can't show upcoming invoices. This team has no active paid subscription.",{command:"list",when:"List past invoices"});if(err.status===403||err.status===404)return failure(client,AGENT_REASON.PERMISSION_DENIED,"Can't show upcoming invoices. Your account doesn't have access to them.",{command:"upcoming --scope <TEAM>",when:"Ask a team owner for access, or choose another team"});if(err.status===429)return failure(client,AGENT_REASON.RATE_LIMITED,"Too many requests to the Vercel API.",{command:"upcoming",when:getErrorRecovery(err,client).hint??"Wait before retrying"})}return reportError(client,err)}function formatInvoiceStatus(invoice){return Number(invoice.postPaymentCreditAmount)>0?"Refunded":(invoice.status==="open"||invoice.status==="uncollectible")&&invoice.dueDate!==null&&Date.now()>Date.parse(invoice.dueDate)?"Overdue":`${invoice.status.charAt(0).toUpperCase()}${invoice.status.slice(1)}`}function formatAmount(amount,currency){let value=Number(amount);return currency.toLowerCase()!=="usd"?`${value.toFixed(2)} ${currency.toUpperCase()}`:`${value<0?"-":""}$${Math.abs(value).toFixed(2)}`}function formatDate2(date){return date?new Date(date).toISOString().slice(0,10):"-"}function formatTable2(headers,rows){return table([headers.map(header=>import_chalk11.default.dim(header)),...rows],{hsep:3}).split(`
52
52
  `).map(line=>` ${line}`.trimEnd()).join(`
53
53
  `)}function failure(client,reason,message,next,exitCode=1){let command=invoicesCommand(client,next.command);return output_manager_default.stopSpinner(),isJsonOutput(client)?writeJsonError(client,{status:AGENT_STATUS.ERROR,reason,message,next:[{...next,command}]},exitCode):(output_manager_default.fatal(message),output_manager_default.print(`
54
54
  ${next.when}:
@@ -84,7 +84,7 @@ ${formatTable2(headers,rows)}
84
84
  ${cmd(invoicesCommand(client,"upcoming --json"))}
85
85
 
86
86
  `)}}}return output_manager_default.print(` Amounts are estimates and may change until the end of the billing period.
87
- `),0}var INVOICES=[[invoicesListSubcommand,list3],[invoicesInspectSubcommand,inspect2],[invoicesUpcomingSubcommand,upcoming],[invoicesDownloadSubcommand,download]],budgetAction=load=>async(client,argv)=>(await load()).default(client,argv),BUDGETS=[[listSubcommand3,budgetAction(()=>import("./chunks/list-WBKZGIMQ.js"))],[inspectSubcommand2,budgetAction(()=>import("./chunks/inspect-RP5KXOYQ.js"))],[setSubcommand2,budgetAction(()=>import("./chunks/set-I3NWZRSI.js"))],[removeSubcommand2,budgetAction(()=>import("./chunks/remove-SYTIFVWW.js"))],[alertsSubcommand,budgetAction(()=>import("./chunks/alerts-JGRRCQA4.js"))]],ROOT=[[invoicesSubcommand,(client,argv)=>route(client,argv,INVOICES,["billing","invoices"])],[usageCommand,async(client,argv)=>(await import("./chunks/usage-3BS7JCCU.js")).default(client,argv)],[contractCommand,async(client,argv)=>(await import("./chunks/contract-RHMWRX4W.js")).default(client,argv)],[budgetCommand,(client,argv)=>route(client,argv,BUDGETS,["billing","budgets"],DEPRECATED_BUDGET_ACTIONS)]],routingFlags=getFlagsSpecification(allOptions(billingCommand));function allOptions(command){return[...command.options,...(command.subcommands??[]).flatMap(allOptions)]}async function billing(client){try{let group=takeCommand(client.argv.slice(2),routingFlags);return await route(client,group.args,ROOT,["billing"])}catch(err){return reportError(client,err,isArgumentError(err)?2:1)}}async function route(client,argv,routes,path3,deprecated={}){let config=Object.fromEntries(routes.map(([command2])=>[command2.name,getCommandAliases(command2)])),selected=takeCommand(argv,routingFlags),{subcommand,subcommandOriginal}=getSubcommand3(selected.command?[selected.command]:[],config);if(!subcommand&&selected.command&&!selected.command.startsWith("-")){let message=`Unknown command ${selected.command} for ${getCommandNamePlain(path3.join(" "))}.`;if(isJsonOutput(client)){let command2=withGlobalFlags(client,`${path3.join(" ")} --help`);return writeJsonError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.UNKNOWN_COMMAND,message,next:[{command:command2,when:"See all commands"}]},2)}return printUnknownCommand(client,selected.command,path3),2}let[command,run]=routes.find(([command2])=>command2.name===subcommand)??routes[0];subcommand&&parseArguments(selected.args,getFlagsSpecification(allOptions(command))),new BillingTelemetryClient({opts:{store:client.telemetryEventStore}}).trackSubcommand(command.name,subcommandOriginal);let replacement=deprecated[subcommandOriginal];return replacement&&warnDeprecatedSubcommand(client,[...path3,subcommandOriginal].join(" "),[...path3,replacement].join(" ")),run(client,subcommand?selected.args:argv)}var import_open=__toESM(require_open(),1),import_execa=__toESM(require_execa(),1),import_pluralize=__toESM(require_pluralize(),1),import_chalk12=__toESM(require_source(),1);import{resolve as resolve2}from"path";import{URLSearchParams as URLSearchParams2,parse as parse4}from"url";function hasScheme(url){return url.startsWith("http://")||url.startsWith("https://")}function normalizeURL(url){return hasScheme(url)?url:`https://${url}`}var BisectTelemetryClient=class extends TelemetryClient{trackCliOptionGood(good){good&&this.trackCliOption({option:"good",value:this.redactedValue})}trackCliOptionBad(bad){bad&&this.trackCliOption({option:"bad",value:this.redactedValue})}trackCliOptionPath(path3){path3&&this.trackCliOption({option:"path",value:this.redactedValue})}trackCliOptionRun(run){run&&this.trackCliOption({option:"run",value:this.redactedValue})}trackCliFlagOpen(open4){open4&&this.trackCliFlag("open")}};async function bisect(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(bisectCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}let telemetry=new BisectTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("bisect"),output_manager_default.print(help(bisectCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry.trackCliOptionGood(parsedArgs.flags["--good"]),telemetry.trackCliOptionBad(parsedArgs.flags["--bad"]),telemetry.trackCliOptionPath(parsedArgs.flags["--path"]),telemetry.trackCliOptionRun(parsedArgs.flags["--run"]),telemetry.trackCliFlagOpen(parsedArgs.flags["--open"]);let scope=await getScope(client),{contextName}=scope,bad=parsedArgs.flags["--bad"]||await client.input.text({message:"Specify a URL where the bug occurs:",validate:val=>val?!0:"A URL must be provided"}),good=parsedArgs.flags["--good"]||await client.input.text({message:"Specify a URL where the bug does not occur:",validate:val=>val?!0:"A URL must be provided"}),subpath=parsedArgs.flags["--path"]||"",run=parsedArgs.flags["--run"]||"",openEnabled=parsedArgs.flags["--open"]||!1;run&&(run=resolve2(run)),bad=normalizeURL(bad);let parsed=parse4(bad);if(!parsed.hostname)return output_manager_default.error("Invalid input: no hostname provided"),1;if(bad=parsed.hostname,typeof parsed.path=="string"&&parsed.path!=="/"&&(subpath&&subpath!==parsed.path?output_manager_default.note(`Ignoring subpath ${import_chalk12.default.bold(parsed.path)} in favor of \`--path\` argument ${import_chalk12.default.bold(subpath)}`):subpath=parsed.path),good=normalizeURL(good),parsed=parse4(good),!parsed.hostname)return output_manager_default.error("Invalid input: no hostname provided"),1;good=parsed.hostname,typeof parsed.path=="string"&&parsed.path!=="/"&&subpath&&subpath!==parsed.path&&output_manager_default.note(`Ignoring subpath ${import_chalk12.default.bold(parsed.path)} which does not match ${import_chalk12.default.bold(subpath)}`),subpath||(subpath=await client.input.text({message:"Specify the URL subpath where the bug occurs:",validate:val=>val?!0:"A subpath must be provided"})),output_manager_default.spinner("Retrieving deployments\u2026");let badDeployment=await getDeployment(client,contextName,bad).catch(err=>err);if(badDeployment){if(badDeployment instanceof Error)return badDeployment.message+=` when requesting bad deployment "${normalizeURL(bad)}"`,output_manager_default.prettyError(badDeployment),1;bad=badDeployment.url}else return output_manager_default.error(`Failed to retrieve ${import_chalk12.default.bold("bad")} Deployment: ${bad}`),1;let goodDeployment=await getDeployment(client,contextName,good).catch(err=>err);if(goodDeployment){if(goodDeployment instanceof Error)return goodDeployment.message+=` when requesting good deployment "${normalizeURL(good)}"`,output_manager_default.prettyError(goodDeployment),1;good=goodDeployment.url}else return output_manager_default.error(`Failed to retrieve ${import_chalk12.default.bold("good")} Deployment: ${good}`),1;let{projectId}=badDeployment;if(projectId!==goodDeployment.projectId)return output_manager_default.error("Good and Bad deployments must be from the same Project"),1;if(badDeployment.url===goodDeployment.url)return output_manager_default.error("Good and Bad deployments must be different"),1;if(badDeployment.createdAt<goodDeployment.createdAt)return output_manager_default.error("Good deployment must be older than the Bad deployment"),1;if(badDeployment.target!==goodDeployment.target)return output_manager_default.error(`Bad deployment target "${badDeployment.target||"preview"}" does not match good deployment target "${goodDeployment.target||"preview"}"`),1;let deployments=[],query=new URLSearchParams2;query.set("projectId",projectId),badDeployment.target&&query.set("target",badDeployment.target),query.set("state","READY"),query.set("until",String(badDeployment.createdAt+1));for await(let chunk of client.fetchPaginated(`/v6/deployments?${query}`,{accountId:badDeployment.ownerId})){let newDeployments=chunk.deployments,hasGood=!1;for(let i=0;i<newDeployments.length;i++)if(newDeployments[i].url===good){newDeployments=newDeployments.slice(0,i),hasGood=!0;break}if(deployments=deployments.concat(newDeployments),hasGood)break}if(!deployments.length)return output_manager_default.error("Cannot bisect because this project does not have any deployments"),1;let lastBad=deployments.shift();for(;deployments.length>0;){output_manager_default.print(`
87
+ `),0}var INVOICES=[[invoicesListSubcommand,list3],[invoicesInspectSubcommand,inspect2],[invoicesUpcomingSubcommand,upcoming],[invoicesDownloadSubcommand,download]],budgetAction=load=>async(client,argv)=>(await load()).default(client,argv),BUDGETS=[[listSubcommand3,budgetAction(()=>import("./chunks/list-763XVNFH.js"))],[inspectSubcommand2,budgetAction(()=>import("./chunks/inspect-I6LQLOBG.js"))],[setSubcommand2,budgetAction(()=>import("./chunks/set-Q2EJ3V44.js"))],[removeSubcommand2,budgetAction(()=>import("./chunks/remove-PWS5EJ7F.js"))],[alertsSubcommand,budgetAction(()=>import("./chunks/alerts-VOYMO6NJ.js"))]],ROOT=[[invoicesSubcommand,(client,argv)=>route(client,argv,INVOICES,["billing","invoices"])],[usageCommand,async(client,argv)=>(await import("./chunks/usage-3N6IA5SX.js")).default(client,argv)],[contractCommand,async(client,argv)=>(await import("./chunks/contract-3VSUIBEY.js")).default(client,argv)],[budgetCommand,(client,argv)=>route(client,argv,BUDGETS,["billing","budgets"],DEPRECATED_BUDGET_ACTIONS)]],routingFlags=getFlagsSpecification(allOptions(billingCommand));function allOptions(command){return[...command.options,...(command.subcommands??[]).flatMap(allOptions)]}async function billing(client){try{let group=takeCommand(client.argv.slice(2),routingFlags);return await route(client,group.args,ROOT,["billing"])}catch(err){return reportError(client,err,isArgumentError(err)?2:1)}}async function route(client,argv,routes,path3,deprecated={}){let config=Object.fromEntries(routes.map(([command2])=>[command2.name,getCommandAliases(command2)])),selected=takeCommand(argv,routingFlags),{subcommand,subcommandOriginal}=getSubcommand3(selected.command?[selected.command]:[],config);if(!subcommand&&selected.command&&!selected.command.startsWith("-")){let message=`Unknown command ${selected.command} for ${getCommandNamePlain(path3.join(" "))}.`;if(isJsonOutput(client)){let command2=withGlobalFlags(client,`${path3.join(" ")} --help`);return writeJsonError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.UNKNOWN_COMMAND,message,next:[{command:command2,when:"See all commands"}]},2)}return printUnknownCommand(client,selected.command,path3),2}let[command,run]=routes.find(([command2])=>command2.name===subcommand)??routes[0];subcommand&&parseArguments(selected.args,getFlagsSpecification(allOptions(command))),new BillingTelemetryClient({opts:{store:client.telemetryEventStore}}).trackSubcommand(command.name,subcommandOriginal);let replacement=deprecated[subcommandOriginal];return replacement&&warnDeprecatedSubcommand(client,[...path3,subcommandOriginal].join(" "),[...path3,replacement].join(" ")),run(client,subcommand?selected.args:argv)}var import_open=__toESM(require_open(),1),import_execa=__toESM(require_execa(),1),import_pluralize=__toESM(require_pluralize(),1),import_chalk12=__toESM(require_source(),1);import{resolve as resolve2}from"path";import{URLSearchParams as URLSearchParams2,parse as parse4}from"url";function hasScheme(url){return url.startsWith("http://")||url.startsWith("https://")}function normalizeURL(url){return hasScheme(url)?url:`https://${url}`}var BisectTelemetryClient=class extends TelemetryClient{trackCliOptionGood(good){good&&this.trackCliOption({option:"good",value:this.redactedValue})}trackCliOptionBad(bad){bad&&this.trackCliOption({option:"bad",value:this.redactedValue})}trackCliOptionPath(path3){path3&&this.trackCliOption({option:"path",value:this.redactedValue})}trackCliOptionRun(run){run&&this.trackCliOption({option:"run",value:this.redactedValue})}trackCliFlagOpen(open4){open4&&this.trackCliFlag("open")}};async function bisect(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(bisectCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}let telemetry=new BisectTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry.trackCliFlagHelp("bisect"),output_manager_default.print(help(bisectCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry.trackCliOptionGood(parsedArgs.flags["--good"]),telemetry.trackCliOptionBad(parsedArgs.flags["--bad"]),telemetry.trackCliOptionPath(parsedArgs.flags["--path"]),telemetry.trackCliOptionRun(parsedArgs.flags["--run"]),telemetry.trackCliFlagOpen(parsedArgs.flags["--open"]);let scope=await getScope(client),{contextName}=scope,bad=parsedArgs.flags["--bad"]||await client.input.text({message:"Specify a URL where the bug occurs:",validate:val=>val?!0:"A URL must be provided"}),good=parsedArgs.flags["--good"]||await client.input.text({message:"Specify a URL where the bug does not occur:",validate:val=>val?!0:"A URL must be provided"}),subpath=parsedArgs.flags["--path"]||"",run=parsedArgs.flags["--run"]||"",openEnabled=parsedArgs.flags["--open"]||!1;run&&(run=resolve2(run)),bad=normalizeURL(bad);let parsed=parse4(bad);if(!parsed.hostname)return output_manager_default.error("Invalid input: no hostname provided"),1;if(bad=parsed.hostname,typeof parsed.path=="string"&&parsed.path!=="/"&&(subpath&&subpath!==parsed.path?output_manager_default.note(`Ignoring subpath ${import_chalk12.default.bold(parsed.path)} in favor of \`--path\` argument ${import_chalk12.default.bold(subpath)}`):subpath=parsed.path),good=normalizeURL(good),parsed=parse4(good),!parsed.hostname)return output_manager_default.error("Invalid input: no hostname provided"),1;good=parsed.hostname,typeof parsed.path=="string"&&parsed.path!=="/"&&subpath&&subpath!==parsed.path&&output_manager_default.note(`Ignoring subpath ${import_chalk12.default.bold(parsed.path)} which does not match ${import_chalk12.default.bold(subpath)}`),subpath||(subpath=await client.input.text({message:"Specify the URL subpath where the bug occurs:",validate:val=>val?!0:"A subpath must be provided"})),output_manager_default.spinner("Retrieving deployments\u2026");let badDeployment=await getDeployment(client,contextName,bad).catch(err=>err);if(badDeployment){if(badDeployment instanceof Error)return badDeployment.message+=` when requesting bad deployment "${normalizeURL(bad)}"`,output_manager_default.prettyError(badDeployment),1;bad=badDeployment.url}else return output_manager_default.error(`Failed to retrieve ${import_chalk12.default.bold("bad")} Deployment: ${bad}`),1;let goodDeployment=await getDeployment(client,contextName,good).catch(err=>err);if(goodDeployment){if(goodDeployment instanceof Error)return goodDeployment.message+=` when requesting good deployment "${normalizeURL(good)}"`,output_manager_default.prettyError(goodDeployment),1;good=goodDeployment.url}else return output_manager_default.error(`Failed to retrieve ${import_chalk12.default.bold("good")} Deployment: ${good}`),1;let{projectId}=badDeployment;if(projectId!==goodDeployment.projectId)return output_manager_default.error("Good and Bad deployments must be from the same Project"),1;if(badDeployment.url===goodDeployment.url)return output_manager_default.error("Good and Bad deployments must be different"),1;if(badDeployment.createdAt<goodDeployment.createdAt)return output_manager_default.error("Good deployment must be older than the Bad deployment"),1;if(badDeployment.target!==goodDeployment.target)return output_manager_default.error(`Bad deployment target "${badDeployment.target||"preview"}" does not match good deployment target "${goodDeployment.target||"preview"}"`),1;let deployments=[],query=new URLSearchParams2;query.set("projectId",projectId),badDeployment.target&&query.set("target",badDeployment.target),query.set("state","READY"),query.set("until",String(badDeployment.createdAt+1));for await(let chunk of client.fetchPaginated(`/v6/deployments?${query}`,{accountId:badDeployment.ownerId})){let newDeployments=chunk.deployments,hasGood=!1;for(let i=0;i<newDeployments.length;i++)if(newDeployments[i].url===good){newDeployments=newDeployments.slice(0,i),hasGood=!0;break}if(deployments=deployments.concat(newDeployments),hasGood)break}if(!deployments.length)return output_manager_default.error("Cannot bisect because this project does not have any deployments"),1;let lastBad=deployments.shift();for(;deployments.length>0;){output_manager_default.print(`
88
88
  `);let middleIndex=Math.floor(deployments.length/2),deployment=deployments[middleIndex],rem=(0,import_pluralize.default)("deployment",deployments.length,!0),steps=Math.floor(Math.log2(deployments.length)),pSteps=(0,import_pluralize.default)("step",steps,!0);output_manager_default.log(import_chalk12.default.magenta(`${import_chalk12.default.bold("Bisecting:")} ${rem} left to test after this (roughly ${pSteps})`),import_chalk12.default.magenta);let testUrl=`https://${deployment.url}${subpath}`;output_manager_default.log(`${import_chalk12.default.bold("Deployment URL:")} ${link_default(testUrl)}`),output_manager_default.log(`${import_chalk12.default.bold("Date:")} ${formatDate(deployment.createdAt)}`);let commit2=getCommit(deployment);if(commit2){let shortSha=commit2.sha.substring(0,7),firstLine=commit2.message?.split(`
89
89
  `)[0];output_manager_default.log(`${import_chalk12.default.bold("Commit:")} [${shortSha}] ${firstLine}`)}let action;if(run){let proc=await(0,import_execa.default)(run,[testUrl],{stdio:"inherit",reject:!1,env:{...process.env,HOST:deployment.url,URL:testUrl}});if(proc instanceof Error&&typeof proc.exitCode!="number")return output_manager_default.prettyError(proc),1;let{exitCode}=proc,color;exitCode===0?(color=import_chalk12.default.green,action="good"):exitCode===125?(action="skip",color=import_chalk12.default.grey):(action="bad",color=import_chalk12.default.red),output_manager_default.log(`Run script returned exit code ${import_chalk12.default.bold(String(exitCode))}: ${color(action)}`)}else openEnabled&&await(0,import_open.default)(testUrl),action=await client.input.expand({message:"Select an action:",choices:[{key:"g",name:"Good",value:"good"},{key:"b",name:"Bad",value:"bad"},{key:"s",name:"Skip",value:"skip"}]});action==="good"?deployments=deployments.slice(0,middleIndex):action==="bad"?(lastBad=deployment,deployments=deployments.slice(middleIndex+1)):action==="skip"&&deployments.splice(middleIndex,1)}output_manager_default.print(`
90
90
  `);let result=[import_chalk12.default.bold(`The first bad deployment is: ${link_default(`https://${lastBad.url}`)}`),"",` ${import_chalk12.default.bold("Date:")} ${formatDate(lastBad.createdAt)}`],commit=getCommit(lastBad);if(commit){let shortSha=commit.sha.substring(0,7),firstLine=commit.message?.split(`