vercel 59.14.0 → 59.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/chunks/add-7XFD2OHW.js +8 -0
  2. package/dist/chunks/add-HZC7AUBY.js +8 -0
  3. package/dist/chunks/add-PYUNJZ6K.js +8 -0
  4. package/dist/chunks/build-EFKQ6BND.js +7 -0
  5. package/dist/chunks/chunk-2B2MN3U5.js +8 -0
  6. package/dist/chunks/chunk-2H77IRPI.js +9 -0
  7. package/dist/chunks/chunk-2I64AYHG.js +7 -0
  8. package/dist/chunks/chunk-2PPXY24N.js +20 -0
  9. package/dist/chunks/chunk-2S6PE6GB.js +7 -0
  10. package/dist/chunks/{chunk-PIMIVJYK.js → chunk-3FMJYJUR.js} +7 -32
  11. package/dist/chunks/chunk-3IAQUNQH.js +7 -0
  12. package/dist/chunks/chunk-3QHJYVCY.js +7 -0
  13. package/dist/chunks/chunk-3QT7VOE3.js +7 -0
  14. package/dist/chunks/chunk-3TXEXPUW.js +7 -0
  15. package/dist/chunks/chunk-4MZK6JT6.js +7 -0
  16. package/dist/chunks/chunk-4NE5IQ25.js +7 -0
  17. package/dist/chunks/chunk-4PNSSS3L.js +7 -0
  18. package/dist/chunks/chunk-4QX77CP7.js +7 -0
  19. package/dist/chunks/chunk-57GHYR4Y.js +25 -0
  20. package/dist/chunks/chunk-5QQNYN4N.js +7 -0
  21. package/dist/chunks/chunk-5XJNPXQK.js +7 -0
  22. package/dist/chunks/chunk-6L236MNA.js +7 -0
  23. package/dist/chunks/chunk-6PFC3KWQ.js +7 -0
  24. package/dist/chunks/chunk-6QKS6QK7.js +7 -0
  25. package/dist/chunks/chunk-6RIQPTJA.js +8 -0
  26. package/dist/chunks/chunk-6TAQ6OWD.js +13 -0
  27. package/dist/chunks/chunk-6YAADRQB.js +9 -0
  28. package/dist/chunks/chunk-75CPY75D.js +15 -0
  29. package/dist/chunks/chunk-7HL2RPUO.js +7 -0
  30. package/dist/chunks/chunk-7PNYOSDU.js +9 -0
  31. package/dist/chunks/chunk-7R5FEXZ5.js +7 -0
  32. package/dist/chunks/chunk-7RMCBXBB.js +62 -0
  33. package/dist/chunks/chunk-7RR7MIMT.js +7 -0
  34. package/dist/chunks/chunk-7T6TL3GQ.js +7 -0
  35. package/dist/chunks/chunk-ADUYPK2G.js +13 -0
  36. package/dist/chunks/chunk-AFPOIDM5.js +7 -0
  37. package/dist/chunks/chunk-AM46JVVN.js +7 -0
  38. package/dist/chunks/chunk-AVSPFBLM.js +7 -0
  39. package/dist/chunks/chunk-B4ATVYZW.js +7 -0
  40. package/dist/chunks/chunk-BATE73HA.js +9 -0
  41. package/dist/chunks/{chunk-64IF634X.js → chunk-BRK4OB4B.js} +1 -12
  42. package/dist/chunks/chunk-BVH2AEFE.js +7 -0
  43. package/dist/chunks/chunk-CN2QZO4U.js +7 -0
  44. package/dist/chunks/chunk-COQGD2EI.js +8 -0
  45. package/dist/chunks/chunk-CUAIEGNE.js +7 -0
  46. package/dist/chunks/chunk-CVKB54WW.js +7 -0
  47. package/dist/chunks/{chunk-A3NYPUKZ.js → chunk-CZSOZKHX.js} +1 -11
  48. package/dist/chunks/chunk-D4MW3RDW.js +7 -0
  49. package/dist/chunks/chunk-DFVNL5ML.js +7 -0
  50. package/dist/chunks/chunk-EE3FVJLV.js +16 -0
  51. package/dist/chunks/chunk-EGMJRU5P.js +28 -0
  52. package/dist/chunks/chunk-ENBTTYJR.js +7 -0
  53. package/dist/chunks/chunk-ENS6KX2F.js +7 -0
  54. package/dist/chunks/chunk-EOBD4ZEG.js +8 -0
  55. package/dist/chunks/chunk-EOCTK4EA.js +7 -0
  56. package/dist/chunks/chunk-EQ52F4LH.js +7 -0
  57. package/dist/chunks/chunk-ETV3C2CV.js +7 -0
  58. package/dist/chunks/chunk-EVZRQGNK.js +7 -0
  59. package/dist/chunks/chunk-F2ZWW2IO.js +8 -0
  60. package/dist/chunks/chunk-FAW6NBLQ.js +7 -0
  61. package/dist/chunks/chunk-FI772UVH.js +7 -0
  62. package/dist/chunks/chunk-FKCOBJFH.js +7 -0
  63. package/dist/chunks/chunk-FVGESGJI.js +45 -0
  64. package/dist/chunks/chunk-G5FC5ZCO.js +9 -0
  65. package/dist/chunks/chunk-G6CTAHKY.js +39 -0
  66. package/dist/chunks/chunk-G7Y77DFH.js +7 -0
  67. package/dist/chunks/chunk-GHAY4PSD.js +7 -0
  68. package/dist/chunks/chunk-GHM7V3GG.js +7 -0
  69. package/dist/chunks/chunk-GRNTLNC7.js +7 -0
  70. package/dist/chunks/chunk-GTRGQIY2.js +10 -0
  71. package/dist/chunks/chunk-GU6VIFR5.js +7 -0
  72. package/dist/chunks/{constants-YMCRE6IG.js → chunk-GZNDA6SV.js} +2 -9
  73. package/dist/chunks/chunk-HBFPLBTX.js +10 -0
  74. package/dist/chunks/chunk-HEGJZJO7.js +7 -0
  75. package/dist/chunks/chunk-HSJ6AHWG.js +12 -0
  76. package/dist/chunks/chunk-HTC6KO2B.js +7 -0
  77. package/dist/chunks/chunk-HVUHCRZB.js +18 -0
  78. package/dist/chunks/chunk-HZZ5L472.js +7 -0
  79. package/dist/chunks/chunk-IVSSTHB6.js +7 -0
  80. package/dist/chunks/chunk-IVWPQYIH.js +7 -0
  81. package/dist/chunks/chunk-J3U3L45Y.js +7 -0
  82. package/dist/chunks/chunk-JAJW3P42.js +7 -0
  83. package/dist/chunks/chunk-JEIMW3CO.js +7 -0
  84. package/dist/chunks/chunk-JIYY3B4C.js +7 -0
  85. package/dist/chunks/chunk-JKTQV2QJ.js +7 -0
  86. package/dist/chunks/chunk-JTVVBRW7.js +7 -0
  87. package/dist/chunks/chunk-JYAUUIR4.js +7 -0
  88. package/dist/chunks/chunk-JZRMH5UA.js +7 -0
  89. package/dist/chunks/chunk-K2RAW5DI.js +10 -0
  90. package/dist/chunks/chunk-K3KJZLBD.js +7 -0
  91. package/dist/chunks/chunk-KK4AJES5.js +36 -0
  92. package/dist/chunks/chunk-KKS7XWEX.js +7 -0
  93. package/dist/chunks/chunk-KNEWCUWF.js +14 -0
  94. package/dist/chunks/chunk-KO733OJG.js +9 -0
  95. package/dist/chunks/chunk-L243RUIR.js +19 -0
  96. package/dist/chunks/chunk-L3JDEHCQ.js +7 -0
  97. package/dist/chunks/chunk-LDM3SQAU.js +13 -0
  98. package/dist/chunks/chunk-LNPMDXBJ.js +7 -0
  99. package/dist/chunks/chunk-M2W3HKV3.js +23 -0
  100. package/dist/chunks/chunk-M2XARQBF.js +9 -0
  101. package/dist/chunks/chunk-M5AV545M.js +7 -0
  102. package/dist/chunks/chunk-MAVRGZQP.js +7 -0
  103. package/dist/chunks/chunk-MBL6TXEJ.js +7 -0
  104. package/dist/chunks/chunk-MEAY2K5Z.js +11 -0
  105. package/dist/chunks/chunk-MY4MONOH.js +7 -0
  106. package/dist/chunks/chunk-N3N5UHIL.js +7 -0
  107. package/dist/chunks/chunk-N3ZZ7FHQ.js +7 -0
  108. package/dist/chunks/chunk-N6CNMMSZ.js +7 -0
  109. package/dist/chunks/chunk-NBVY237X.js +7 -0
  110. package/dist/chunks/chunk-NGNOUPWS.js +25 -0
  111. package/dist/chunks/chunk-NHTF332K.js +7 -0
  112. package/dist/chunks/chunk-NNP5NITU.js +15 -0
  113. package/dist/chunks/chunk-NS4FH2TY.js +11 -0
  114. package/dist/chunks/chunk-NUGLE4QY.js +11 -0
  115. package/dist/chunks/chunk-NWFHHUKZ.js +7 -0
  116. package/dist/chunks/chunk-O7G3CZ42.js +7 -0
  117. package/dist/chunks/chunk-OD6RZ3XZ.js +8 -0
  118. package/dist/chunks/chunk-OHDEHZLX.js +7 -0
  119. package/dist/chunks/chunk-OK3S6KFX.js +16 -0
  120. package/dist/chunks/chunk-OKZDOANA.js +23 -0
  121. package/dist/chunks/chunk-OSCCYU74.js +7 -0
  122. package/dist/chunks/chunk-OUHPDA7Q.js +7 -0
  123. package/dist/chunks/chunk-P2O5DOYE.js +7 -0
  124. package/dist/chunks/chunk-PHW54NU5.js +13 -0
  125. package/dist/chunks/chunk-PPCFQQSU.js +7 -0
  126. package/dist/chunks/chunk-QGIGNMII.js +8 -0
  127. package/dist/chunks/chunk-QGIQK47P.js +7 -0
  128. package/dist/chunks/chunk-QHJLRTVY.js +7 -0
  129. package/dist/chunks/{chunk-2473DUBR.js → chunk-QR7QPUFN.js} +1 -9
  130. package/dist/chunks/chunk-QTKJC2O5.js +7 -0
  131. package/dist/chunks/chunk-R2TGGVCT.js +19 -0
  132. package/dist/chunks/chunk-RAIBQIKB.js +7 -0
  133. package/dist/chunks/chunk-RCTYVKM5.js +16 -0
  134. package/dist/chunks/chunk-RKAUVPOQ.js +86 -0
  135. package/dist/chunks/chunk-S5CEIACD.js +7 -0
  136. package/dist/chunks/chunk-SGWVKRSR.js +8 -0
  137. package/dist/chunks/chunk-SOJCELXH.js +7 -0
  138. package/dist/chunks/chunk-SXUEGVWB.js +7 -0
  139. package/dist/chunks/{chunk-GGPE5377.js → chunk-T3GQAMBJ.js} +1 -9
  140. package/dist/chunks/chunk-T52FMXWC.js +7 -0
  141. package/dist/chunks/chunk-TG2RCYTH.js +7 -0
  142. package/dist/chunks/chunk-TJCIHDPZ.js +9 -0
  143. package/dist/chunks/chunk-TKBXN4H3.js +9 -0
  144. package/dist/chunks/chunk-TRTEXGVN.js +7 -0
  145. package/dist/chunks/chunk-TXELFFNK.js +15 -0
  146. package/dist/chunks/chunk-U56NHYAH.js +7 -0
  147. package/dist/chunks/chunk-U7KCDTCH.js +12 -0
  148. package/dist/chunks/chunk-UETTIYUQ.js +8 -0
  149. package/dist/chunks/chunk-UGMZQZJE.js +24 -0
  150. package/dist/chunks/chunk-ULLWCOYC.js +7 -0
  151. package/dist/chunks/chunk-UXTHEQVJ.js +21 -0
  152. package/dist/chunks/chunk-VLZ47RWM.js +44 -0
  153. package/dist/chunks/chunk-WKZ6JSGZ.js +7 -0
  154. package/dist/chunks/chunk-WPS6JZF6.js +7 -0
  155. package/dist/chunks/chunk-WRILLB46.js +7 -0
  156. package/dist/chunks/chunk-WUZD4KBL.js +7 -0
  157. package/dist/chunks/chunk-XCJDGQO7.js +7 -0
  158. package/dist/chunks/{pkg-56KRLZ5K.js → chunk-XD2LZRBS.js} +1 -7
  159. package/dist/chunks/chunk-XFVGX5HG.js +7 -0
  160. package/dist/chunks/chunk-XHOGOH6N.js +7 -0
  161. package/dist/chunks/{update-route-version-E3V47KNI.js → chunk-XPXOV5UO.js} +1 -7
  162. package/dist/chunks/chunk-XQ73QIQ3.js +7 -0
  163. package/dist/chunks/chunk-XSVBYDYI.js +8 -0
  164. package/dist/chunks/chunk-YKZLKOOD.js +12 -0
  165. package/dist/chunks/chunk-YMVDWVMO.js +7 -0
  166. package/dist/chunks/chunk-YPTLSODC.js +7 -0
  167. package/dist/chunks/chunk-YV6CTDHR.js +7 -0
  168. package/dist/chunks/chunk-Z6Y55QJW.js +23 -0
  169. package/dist/chunks/chunk-ZDX75YNZ.js +7 -0
  170. package/dist/chunks/chunk-ZIPVX7LD.js +7 -0
  171. package/dist/chunks/chunk-ZKYS7EAB.js +7 -0
  172. package/dist/chunks/chunk-ZT6KDLLY.js +20 -0
  173. package/dist/chunks/chunk-ZXE4XYIV.js +7 -0
  174. package/dist/chunks/chunk-ZZQRMRWD.js +20 -0
  175. package/dist/chunks/cjs-GOQHXIHX.js +54 -0
  176. package/dist/chunks/clear-5NQAVWIF.js +8 -0
  177. package/dist/chunks/compile-vercel-config-6J2XUFRK.js +7 -0
  178. package/dist/chunks/config-CKYRXZXL.js +7 -0
  179. package/dist/chunks/config-VNUY4RJ4.js +8 -0
  180. package/dist/chunks/connect-git-provider-GIU5WZ52.js +7 -0
  181. package/dist/chunks/constants-G4UYVLOF.js +7 -0
  182. package/dist/chunks/create-project-SRQGD4JY.js +7 -0
  183. package/dist/chunks/delete-GTXXCSKQ.js +10 -0
  184. package/dist/chunks/delete-HRJEO4MI.js +9 -0
  185. package/dist/chunks/detect-projects-2GNCZ4CS.js +7 -0
  186. package/dist/chunks/detect-services-GHILEGNU.js +7 -0
  187. package/dist/chunks/disable-RWCRVG5O.js +7 -0
  188. package/dist/chunks/discard-SHFIYCJU.js +14 -0
  189. package/dist/chunks/edit-DMO3NSO2.js +9 -0
  190. package/dist/chunks/edit-EVQI2RSS.js +8 -0
  191. package/dist/chunks/enable-AWDU6STD.js +7 -0
  192. package/dist/chunks/esm-7HVUFWMN.js +7 -0
  193. package/dist/chunks/esm-BZBEM7YA.js +7 -0
  194. package/dist/chunks/esm-CXICLFA3.js +9 -0
  195. package/dist/chunks/esm-HDEHVK7I.js +9 -0
  196. package/dist/chunks/esm-NQRLKALI.js +20 -0
  197. package/dist/chunks/esm-SZZI53W7.js +7 -0
  198. package/dist/chunks/esm-WGJFGCLK.js +7 -0
  199. package/dist/chunks/exec-4AISDHUV.js +16372 -0
  200. package/dist/chunks/export-IQKTA4RS.js +19 -0
  201. package/dist/chunks/fetch-proxy-AEAWC6MD.js +7 -0
  202. package/dist/chunks/future-E2FHKPJN.js +7 -0
  203. package/dist/chunks/generate-cert-for-deploy-VKOWC4PZ.js +7 -0
  204. package/dist/chunks/image-LDFYNOCA.js +7 -0
  205. package/dist/chunks/import-builders-P7CXSX2D.js +7 -0
  206. package/dist/chunks/inspect-3N47ODIH.js +15 -0
  207. package/dist/chunks/inspect-53SGDDAH.js +20 -0
  208. package/dist/chunks/inspect-5INZDUQS.js +19 -0
  209. package/dist/chunks/inspect-WMT2M335.js +9 -0
  210. package/dist/chunks/inspect-Y6BUCOUV.js +13 -0
  211. package/dist/chunks/list-BIAPHKFM.js +11 -0
  212. package/dist/chunks/list-DMOCRRSE.js +16 -0
  213. package/dist/chunks/list-K5J7OULR.js +10 -0
  214. package/dist/chunks/login-DEAEVUHM.js +7 -0
  215. package/dist/chunks/login-SRVNHI4Y.js +9 -0
  216. package/dist/chunks/logs-GK7CJBYY.js +7 -0
  217. package/dist/chunks/ls-7ZX6DCJW.js +12 -0
  218. package/dist/chunks/ls-AJWN5ZR4.js +12 -0
  219. package/dist/chunks/ls-BFJWCRLZ.js +12 -0
  220. package/dist/chunks/ls-KGIE6HCO.js +12 -0
  221. package/dist/chunks/ls-UVKTHBTE.js +8 -0
  222. package/dist/chunks/ls-WEG45IOC.js +8 -0
  223. package/dist/chunks/native-self-update-KOJVRMHR.js +7 -0
  224. package/dist/chunks/open-OEWPI5G6.js +7 -0
  225. package/dist/chunks/openapi-MO5HYMHR.js +7 -0
  226. package/dist/chunks/permissions-EPQBQFE3.js +7 -0
  227. package/dist/chunks/pkg-YFU67U7I.js +7 -0
  228. package/dist/chunks/prompt-missing-credentials-IUHLYSQU.js +7 -0
  229. package/dist/chunks/publish-JG7MEPWT.js +15 -0
  230. package/dist/chunks/pull-MRKXG6TO.js +7 -0
  231. package/dist/chunks/purchase-domain-if-available-O5ARXEZ5.js +7 -0
  232. package/dist/chunks/push-XOXJDFYO.js +7 -0
  233. package/dist/chunks/query-AL7C6WV2.js +12 -0
  234. package/dist/chunks/reauthenticate-SH4XR7NH.js +7 -0
  235. package/dist/chunks/reorder-5DMRFDBY.js +10 -0
  236. package/dist/chunks/reply-WSRNZWFD.js +9 -0
  237. package/dist/chunks/repo-info-to-url-SK3VX6UL.js +7 -0
  238. package/dist/chunks/resolve-YJUXQVOZ.js +12 -0
  239. package/dist/chunks/resolve-deployment-framework-preset-XF3NJIDS.js +7 -0
  240. package/dist/chunks/restore-QT3DBGKU.js +16 -0
  241. package/dist/chunks/rm-MHPIUEZ5.js +8 -0
  242. package/dist/chunks/rm-MVZFU6RG.js +8 -0
  243. package/dist/chunks/rm-PXR4J2US.js +8 -0
  244. package/dist/chunks/rm-WB2AIP3N.js +8 -0
  245. package/dist/chunks/rm-XRP6MRUT.js +8 -0
  246. package/dist/chunks/routes-5DERZV5M.js +7 -0
  247. package/dist/chunks/rule-inspect-TT3DRGCS.js +8 -0
  248. package/dist/chunks/rules-B5GW4KJH.js +7 -0
  249. package/dist/chunks/schema-JY5QTZOG.js +14 -0
  250. package/dist/chunks/schema-KCNKVFT3.js +44 -0
  251. package/dist/chunks/select-org-KSCYSESV.js +7 -0
  252. package/dist/chunks/set-7BANEWEL.js +7 -0
  253. package/dist/chunks/setup-and-link-ZAV3EFGC.js +7 -0
  254. package/dist/chunks/slugify-O5DBATYT.js +7 -0
  255. package/dist/chunks/stamp-OX4YO3KY.js +7 -0
  256. package/dist/chunks/tags-VZR66NUC.js +7 -0
  257. package/dist/chunks/types-LRXQEDYI.js +14 -0
  258. package/dist/chunks/update-RBFNNSWE.js +8 -0
  259. package/dist/chunks/update-route-version-XZAFPQJC.js +7 -0
  260. package/dist/chunks/utils-B5ZTMQKY.js +58 -0
  261. package/dist/chunks/vlt-builder-importer-YVCYYRVV.js +11 -0
  262. package/dist/commands/build/index.js +24 -4925
  263. package/dist/commands/deploy/index.js +43 -2875
  264. package/dist/commands/dev/index.js +56 -23857
  265. package/dist/commands/env/index.js +26 -3411
  266. package/dist/commands/link/index.js +4 -284
  267. package/dist/commands/list/index.js +6 -566
  268. package/dist/commands-bulk.js +1187 -87691
  269. package/dist/help.js +1 -8
  270. package/dist/index.js +19 -2591
  271. package/dist/version.mjs +1 -1
  272. package/package.json +50 -51
  273. package/dist/chunks/add-EQZRT4XL.js +0 -221
  274. package/dist/chunks/add-KMDROZC3.js +0 -196
  275. package/dist/chunks/add-QPJ3XMBV.js +0 -145
  276. package/dist/chunks/build-W4HPTAOB.js +0 -251
  277. package/dist/chunks/chunk-26CU4Q3C.js +0 -598
  278. package/dist/chunks/chunk-2HSQ7YUK.js +0 -93
  279. package/dist/chunks/chunk-2JIX6UMI.js +0 -4626
  280. package/dist/chunks/chunk-2LCFOK66.js +0 -1536
  281. package/dist/chunks/chunk-332LMJLZ.js +0 -16014
  282. package/dist/chunks/chunk-3HZLXCVL.js +0 -137
  283. package/dist/chunks/chunk-3VM7HWF6.js +0 -104
  284. package/dist/chunks/chunk-3ZE5CFVM.js +0 -346
  285. package/dist/chunks/chunk-4IALDGB7.js +0 -22
  286. package/dist/chunks/chunk-4KD5BYHB.js +0 -127
  287. package/dist/chunks/chunk-4TUMNBEE.js +0 -231
  288. package/dist/chunks/chunk-4WG2MYCI.js +0 -163
  289. package/dist/chunks/chunk-57RHXXXG.js +0 -150
  290. package/dist/chunks/chunk-5AJPMLDV.js +0 -28
  291. package/dist/chunks/chunk-5EIV6LPQ.js +0 -305
  292. package/dist/chunks/chunk-5NF5HOBJ.js +0 -1854
  293. package/dist/chunks/chunk-653QRQAD.js +0 -417
  294. package/dist/chunks/chunk-67CRVWDF.js +0 -81
  295. package/dist/chunks/chunk-6E6KPBXY.js +0 -43
  296. package/dist/chunks/chunk-75VENWDN.js +0 -1892
  297. package/dist/chunks/chunk-7MRDIPJY.js +0 -107
  298. package/dist/chunks/chunk-7NRNFV77.js +0 -875
  299. package/dist/chunks/chunk-7Q45OKWR.js +0 -149
  300. package/dist/chunks/chunk-AHU7WNL2.js +0 -24
  301. package/dist/chunks/chunk-AINIBIP4.js +0 -39
  302. package/dist/chunks/chunk-AJ5HUOWB.js +0 -14059
  303. package/dist/chunks/chunk-AKLTIZCU.js +0 -46
  304. package/dist/chunks/chunk-AQ6P3IGG.js +0 -49
  305. package/dist/chunks/chunk-B5NH7SLK.js +0 -324
  306. package/dist/chunks/chunk-B5XLQKHI.js +0 -849
  307. package/dist/chunks/chunk-BEQV3X2L.js +0 -86
  308. package/dist/chunks/chunk-CAHP7UGE.js +0 -79
  309. package/dist/chunks/chunk-CFDDM4TX.js +0 -13618
  310. package/dist/chunks/chunk-CJV7J7B5.js +0 -314
  311. package/dist/chunks/chunk-CV5YC2EN.js +0 -867
  312. package/dist/chunks/chunk-CXFY6A6W.js +0 -255
  313. package/dist/chunks/chunk-D5SMZXVO.js +0 -233
  314. package/dist/chunks/chunk-E336ZXPP.js +0 -43
  315. package/dist/chunks/chunk-EDMW7SBH.js +0 -246
  316. package/dist/chunks/chunk-EFYMIIER.js +0 -40
  317. package/dist/chunks/chunk-EKPSCRJZ.js +0 -26
  318. package/dist/chunks/chunk-EOZFDJSY.js +0 -18
  319. package/dist/chunks/chunk-EWBCSDTM.js +0 -1708
  320. package/dist/chunks/chunk-EZKW5YJ2.js +0 -177
  321. package/dist/chunks/chunk-F2QLCXCF.js +0 -2399
  322. package/dist/chunks/chunk-FGDKMNEN.js +0 -21
  323. package/dist/chunks/chunk-FRVG4OW3.js +0 -7438
  324. package/dist/chunks/chunk-FVF4UHDM.js +0 -1288
  325. package/dist/chunks/chunk-G5FBSUL4.js +0 -822
  326. package/dist/chunks/chunk-GDOUDU6O.js +0 -74
  327. package/dist/chunks/chunk-GGP5R3FU.js +0 -129
  328. package/dist/chunks/chunk-GVNCVKCI.js +0 -68
  329. package/dist/chunks/chunk-GY5I4AYD.js +0 -122
  330. package/dist/chunks/chunk-GZLPFESR.js +0 -48
  331. package/dist/chunks/chunk-HB4UKFDO.js +0 -1295
  332. package/dist/chunks/chunk-HD4DR3DA.js +0 -818
  333. package/dist/chunks/chunk-HKHXKSXQ.js +0 -152
  334. package/dist/chunks/chunk-HM24ZWQL.js +0 -174
  335. package/dist/chunks/chunk-HRXRELD3.js +0 -338
  336. package/dist/chunks/chunk-IB5L4LKZ.js +0 -1082
  337. package/dist/chunks/chunk-IIMSID24.js +0 -104
  338. package/dist/chunks/chunk-J7JKZM4T.js +0 -58
  339. package/dist/chunks/chunk-JC2O346E.js +0 -137
  340. package/dist/chunks/chunk-JSD4EZL3.js +0 -34
  341. package/dist/chunks/chunk-JZXJZX7O.js +0 -257
  342. package/dist/chunks/chunk-K3RED3VO.js +0 -566
  343. package/dist/chunks/chunk-KFWQ3EFH.js +0 -151
  344. package/dist/chunks/chunk-KW7BS25T.js +0 -466
  345. package/dist/chunks/chunk-KXDWXXJH.js +0 -70
  346. package/dist/chunks/chunk-LERVNZTD.js +0 -90
  347. package/dist/chunks/chunk-LYAAQDNS.js +0 -242
  348. package/dist/chunks/chunk-M5I6INNF.js +0 -61
  349. package/dist/chunks/chunk-N6HP5BLI.js +0 -18190
  350. package/dist/chunks/chunk-ND5CF2H3.js +0 -53
  351. package/dist/chunks/chunk-NFU4XJIR.js +0 -120
  352. package/dist/chunks/chunk-NW34PW6V.js +0 -1772
  353. package/dist/chunks/chunk-OAMU5QO6.js +0 -18
  354. package/dist/chunks/chunk-OCIZ6ZYA.js +0 -253
  355. package/dist/chunks/chunk-ORQZKIIB.js +0 -2914
  356. package/dist/chunks/chunk-P3SKP5WM.js +0 -27
  357. package/dist/chunks/chunk-P4QNYOFB.js +0 -96
  358. package/dist/chunks/chunk-P7VSBDR4.js +0 -827
  359. package/dist/chunks/chunk-PEC3CQSK.js +0 -90
  360. package/dist/chunks/chunk-PMSMUMUO.js +0 -30
  361. package/dist/chunks/chunk-PNGVSHR3.js +0 -40
  362. package/dist/chunks/chunk-POOO7W47.js +0 -916
  363. package/dist/chunks/chunk-PRWJUY5U.js +0 -848
  364. package/dist/chunks/chunk-Q2DGFCO7.js +0 -579
  365. package/dist/chunks/chunk-RBF2NPUP.js +0 -577
  366. package/dist/chunks/chunk-RBIFXFZX.js +0 -52
  367. package/dist/chunks/chunk-RDTRWLWB.js +0 -11441
  368. package/dist/chunks/chunk-RN6V5ODW.js +0 -114
  369. package/dist/chunks/chunk-RNSMTWA6.js +0 -122
  370. package/dist/chunks/chunk-RTJASENB.js +0 -59
  371. package/dist/chunks/chunk-RVBZ64EQ.js +0 -52
  372. package/dist/chunks/chunk-S7KYDPEM.js +0 -1564
  373. package/dist/chunks/chunk-SLPSPYVR.js +0 -334
  374. package/dist/chunks/chunk-SM3F3PYJ.js +0 -522
  375. package/dist/chunks/chunk-TO7QZGYK.js +0 -105
  376. package/dist/chunks/chunk-TSBUHSN7.js +0 -3495
  377. package/dist/chunks/chunk-TSFWMUCY.js +0 -506
  378. package/dist/chunks/chunk-TZ2YI2VH.js +0 -87
  379. package/dist/chunks/chunk-UG2WOB5L.js +0 -150
  380. package/dist/chunks/chunk-UNKHOYMF.js +0 -559
  381. package/dist/chunks/chunk-UOVWUSLG.js +0 -2099
  382. package/dist/chunks/chunk-V4RMJKQP.js +0 -36
  383. package/dist/chunks/chunk-VGIMO3ZK.js +0 -17
  384. package/dist/chunks/chunk-VGKSIKCC.js +0 -92
  385. package/dist/chunks/chunk-VP5Y3SZG.js +0 -106
  386. package/dist/chunks/chunk-VXYGCOKL.js +0 -28
  387. package/dist/chunks/chunk-W7FGI2GZ.js +0 -233
  388. package/dist/chunks/chunk-WGGABYO5.js +0 -31
  389. package/dist/chunks/chunk-XDGOOW3K.js +0 -60
  390. package/dist/chunks/chunk-XFF5TGRA.js +0 -303
  391. package/dist/chunks/chunk-XNIZGCN5.js +0 -58
  392. package/dist/chunks/chunk-XPJLPUKO.js +0 -117
  393. package/dist/chunks/chunk-XUAWTW4W.js +0 -467
  394. package/dist/chunks/chunk-YPQSDAEW.js +0 -29
  395. package/dist/chunks/chunk-YS76T533.js +0 -270
  396. package/dist/chunks/chunk-ZDU2NODC.js +0 -104
  397. package/dist/chunks/chunk-ZW6HETRE.js +0 -97
  398. package/dist/chunks/cjs-DV4RM7XU.js +0 -20743
  399. package/dist/chunks/clear-4IACMLFU.js +0 -141
  400. package/dist/chunks/compile-vercel-config-PQQ3OCLV.js +0 -33
  401. package/dist/chunks/config-BQQKMQBP.js +0 -168
  402. package/dist/chunks/config-OCPNHXQL.js +0 -127
  403. package/dist/chunks/delete-HRKIYPCO.js +0 -159
  404. package/dist/chunks/delete-P2UL3KTU.js +0 -226
  405. package/dist/chunks/detect-projects-ODNU4PK2.js +0 -18
  406. package/dist/chunks/detect-services-U7QGT7VO.js +0 -40
  407. package/dist/chunks/disable-3NYMICQ3.js +0 -198
  408. package/dist/chunks/discard-RNVEJUK3.js +0 -145
  409. package/dist/chunks/edit-63S2RQHR.js +0 -162
  410. package/dist/chunks/edit-CTENFZ7H.js +0 -647
  411. package/dist/chunks/enable-WILWXAHV.js +0 -204
  412. package/dist/chunks/exec-4IPHZ55G.js +0 -1291
  413. package/dist/chunks/export-YHGV3EPK.js +0 -177
  414. package/dist/chunks/fetch-proxy-R3JZNXBZ.js +0 -99
  415. package/dist/chunks/image-MWKS2YMB.js +0 -75
  416. package/dist/chunks/import-builders-H55X5VYD.js +0 -39
  417. package/dist/chunks/inspect-JTJMK6TO.js +0 -596
  418. package/dist/chunks/inspect-KBIPLMGR.js +0 -216
  419. package/dist/chunks/inspect-OP26FDBY.js +0 -171
  420. package/dist/chunks/inspect-SW4UMWTB.js +0 -175
  421. package/dist/chunks/inspect-WPLZPVBO.js +0 -145
  422. package/dist/chunks/list-HE7DWAWH.js +0 -387
  423. package/dist/chunks/list-OUG7WCT7.js +0 -404
  424. package/dist/chunks/list-QUSEURJZ.js +0 -426
  425. package/dist/chunks/login-MIIQJVF3.js +0 -233
  426. package/dist/chunks/ls-24N3DUK4.js +0 -183
  427. package/dist/chunks/ls-3Y7KEFKT.js +0 -175
  428. package/dist/chunks/ls-75F5HIJ5.js +0 -188
  429. package/dist/chunks/ls-REN6X2X5.js +0 -204
  430. package/dist/chunks/ls-W4STUDXK.js +0 -223
  431. package/dist/chunks/ls-Z4CTSD6C.js +0 -210
  432. package/dist/chunks/open-ARMCLPBK.js +0 -116
  433. package/dist/chunks/permissions-JKI67F62.js +0 -99
  434. package/dist/chunks/publish-SMSQ7OX2.js +0 -155
  435. package/dist/chunks/pull-4QZJZELD.js +0 -45
  436. package/dist/chunks/push-T6IYQY2J.js +0 -191
  437. package/dist/chunks/query-CP3JK5LW.js +0 -725
  438. package/dist/chunks/reorder-RAWKFGLV.js +0 -412
  439. package/dist/chunks/reply-235UHUD4.js +0 -176
  440. package/dist/chunks/resolve-5KCLN7QV.js +0 -237
  441. package/dist/chunks/resolve-deployment-framework-preset-NPE6RLV3.js +0 -36
  442. package/dist/chunks/restore-D24WAUAN.js +0 -252
  443. package/dist/chunks/rm-DBQDXSOC.js +0 -162
  444. package/dist/chunks/rm-G5INO77R.js +0 -148
  445. package/dist/chunks/rm-NLKSEKZ5.js +0 -195
  446. package/dist/chunks/rm-QV76CJA4.js +0 -322
  447. package/dist/chunks/rm-TZ4PDDUK.js +0 -147
  448. package/dist/chunks/routes-QVMBXOSX.js +0 -24
  449. package/dist/chunks/rule-inspect-76MC7I2D.js +0 -123
  450. package/dist/chunks/rules-IDUXVTPG.js +0 -89
  451. package/dist/chunks/schema-AV6BHGKY.js +0 -237
  452. package/dist/chunks/schema-QJVQTNB4.js +0 -381
  453. package/dist/chunks/set-L5NFQSCF.js +0 -250
  454. package/dist/chunks/setup-and-link-USSVDKCM.js +0 -65
  455. package/dist/chunks/stamp-AA7R3MZS.js +0 -16
  456. package/dist/chunks/tags-2NLUU4EC.js +0 -69
  457. package/dist/chunks/types-4GAJ7XQQ.js +0 -116
  458. package/dist/chunks/update-WGLBB65M.js +0 -224
  459. package/dist/chunks/vlt-builder-importer-USCFHWPL.js +0 -322
@@ -0,0 +1,19 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{getRoutes,parseSubcommandArgs,requireProjectContext,withGlobalFlags}from"./chunk-EE3FVJLV.js";import{exportSubcommand}from"./chunk-3QHJYVCY.js";import"./chunk-ENS6KX2F.js";import"./chunk-LDM3SQAU.js";import"./chunk-ENBTTYJR.js";import{outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";function cleanRoute(route){let cleaned={};for(let[key,value]of Object.entries(route))value!==void 0&&(key==="middlewarePath"||key==="middlewareRawSrc"||key==="middleware"||key==="check"||key==="important"||(cleaned[key]=value));return cleaned}function routesToVercelJson(rules){let config={routes:rules.filter(r=>r.enabled!==!1).map(r=>cleanRoute(r.route))};return JSON.stringify(config,null,2)}function routesToVercelTs(rules){let routeEntries=rules.filter(r=>r.enabled!==!1).map(r=>{let cleaned=cleanRoute(r.route),indented=JSON.stringify(cleaned,null,2).split(`
8
+ `).map((line,i)=>i===0?line:` ${line}`).join(`
9
+ `);return r.description?` // ${r.description.replace(/\n/g," ")}
10
+ ${indented}`:` ${indented}`});return`import type { VercelConfig } from '@vercel/config/v1';
11
+
12
+ export const config: VercelConfig = {
13
+ routes: [${routeEntries.length>0?`
14
+ ${routeEntries.join(`,
15
+ `)},
16
+ `:""}],
17
+ };
18
+ `}async function exportRoutes(client,argv){let parsed=await parseSubcommandArgs(argv,exportSubcommand,client);if(typeof parsed=="number")return parsed;let link=await requireProjectContext(client,"routes",parsed.flags["--project"]);if(typeof link=="number")return link;let{project,org}=link,teamId=org.type==="team"?org.id:void 0,{args,flags}=parsed,rawFormat=flags["--output"]||"json",format=rawFormat.toLowerCase().replace(/^\./,""),nameOrId=args[0],validFormats=["json","ts"];if(!validFormats.includes(format)){let msg=`Invalid output format: "${rawFormat}". Valid formats: ${validFormats.join(", ")}. Usage: ${withGlobalFlags(client,"routes export --output json")}`;return client.nonInteractive&&(outputAgentError(client,{status:"error",reason:"invalid_arguments",message:msg,next:[{command:withGlobalFlags(client,"routes export --output json")}]}),process.exit(1)),output_manager_default.error(msg),1}output_manager_default.spinner("Fetching routes");try{let{routes}=await getRoutes(client,project.id,{teamId});if(routes.length===0)return output_manager_default.log(`No routes found. Create one with ${withGlobalFlags(client,"routes add")}.`),0;let routesToExport=routes;if(nameOrId){let query=nameOrId.toLowerCase();if(routesToExport=routes.filter(r=>r.name.toLowerCase()===query||r.name.toLowerCase().includes(query)||r.id===nameOrId),routesToExport.length===0){let msg=`No route found matching "${nameOrId}". Run ${withGlobalFlags(client,"routes list")} to see all routes.`;return client.nonInteractive&&(outputAgentError(client,{status:"error",reason:"not_found",message:msg,next:[{command:withGlobalFlags(client,"routes list")}]}),process.exit(1)),output_manager_default.error(msg),1}}let result;switch(format){case"ts":result=routesToVercelTs(routesToExport);break;default:result=routesToVercelJson(routesToExport);break}return output_manager_default.stopSpinner(),client.stdout.write(result.trimEnd()+`
19
+ `),0}catch(e){let msg=e.message||"Failed to export routes";return client.nonInteractive&&(outputAgentError(client,{status:"error",reason:"api_error",message:msg,next:[{command:withGlobalFlags(client,"routes export")}]}),process.exit(1)),output_manager_default.error(msg),1}}export{exportRoutes as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import"./chunk-6L236MNA.js";import{Agent,ProxyAgent}from"undici";var DEFAULT_PORTS={"http:":80,"https:":443};function getEnv(name){return process.env[name.toLowerCase()]||process.env[name.toUpperCase()]}function normalizeProxyUrl(value){let proxyUrl=value.includes("://")?value:`http://${value}`,protocol=new URL(proxyUrl).protocol;if(protocol!=="http:"&&protocol!=="https:")throw new TypeError(`Unsupported proxy protocol: ${protocol}`);return proxyUrl}var EnvProxyDispatcher=class{constructor(options={}){this.noProxyValue="";this.noProxyEntries=[];let createProxyAgent=options.createProxyAgent||(url=>new ProxyAgent(url)),allProxy=getEnv("all_proxy"),httpProxy=getEnv("http_proxy")||allProxy,httpsProxy=getEnv("https_proxy")||httpProxy||allProxy;this.directAgent=options.directAgent||new Agent,this.httpAgent=httpProxy?createProxyAgent(normalizeProxyUrl(httpProxy)):this.directAgent,this.httpsAgent=httpsProxy?createProxyAgent(normalizeProxyUrl(httpsProxy)):this.httpAgent,this.parseNoProxy()}dispatch(options,handler){let url=new URL(String(options.origin));return this.getAgent(url).dispatch(options,handler)}async close(){await Promise.all([...this.agents()].map(agent=>agent.close()))}async destroy(error){await Promise.all([...this.agents()].map(agent=>agent.destroy(error||null)))}agents(){return new Set([this.directAgent,this.httpAgent,this.httpsAgent])}getAgent(url){this.noProxyValue!==(getEnv("no_proxy")||"")&&this.parseNoProxy();let hostname=url.hostname.toLowerCase(),port=Number.parseInt(url.port,10)||DEFAULT_PORTS[url.protocol];return this.shouldProxy(hostname,port)?url.protocol==="https:"?this.httpsAgent:this.httpAgent:this.directAgent}shouldProxy(hostname,port){if(this.noProxyEntries.length===0)return!0;if(this.noProxyValue==="*")return!1;for(let entry of this.noProxyEntries)if(!(entry.port&&entry.port!==port)){if(!entry.hostname.startsWith(".")&&!entry.hostname.startsWith("*")){if(hostname===entry.hostname)return!1}else if(hostname.endsWith(entry.hostname.replace(/^\*/,"")))return!1}return!0}parseNoProxy(){this.noProxyValue=getEnv("no_proxy")||"",this.noProxyEntries=this.noProxyValue.toLowerCase().split(/[,\s]/).filter(Boolean).map(value=>{let parsed=value.match(/^(.+):(\d+)$/);return{hostname:parsed?parsed[1]:value,port:parsed?Number.parseInt(parsed[2],10):0}})}};export{EnvProxyDispatcher};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{login,performDeviceCodeFlow}from"./chunk-L243RUIR.js";import"./chunk-ULLWCOYC.js";import"./chunk-CN2QZO4U.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-PPCFQQSU.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";export{login,performDeviceCodeFlow};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{createCertForCns,require_cjs,setupDomain}from"./chunk-MAVRGZQP.js";import"./chunk-3IAQUNQH.js";import"./chunk-TRTEXGVN.js";import"./chunk-T3GQAMBJ.js";import"./chunk-XPXOV5UO.js";import"./chunk-JZRMH5UA.js";import"./chunk-QTKJC2O5.js";import"./chunk-SXUEGVWB.js";import"./chunk-JYAUUIR4.js";import"./chunk-5QQNYN4N.js";import"./chunk-5XJNPXQK.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{InvalidDomain,NowError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_tldts=__toESM(require_cjs(),1);async function generateCertForDeploy(client,contextName,deployURL){let parsedDomain=(0,import_tldts.parse)(deployURL),{domain}=parsedDomain;if(!domain)return new InvalidDomain(deployURL);output_manager_default.spinner(`Setting custom suffix domain ${domain}`);let result=await setupDomain(client,domain,contextName);if(output_manager_default.stopSpinner(),result instanceof NowError)return result;output_manager_default.spinner(`Generating a wildcard certificate for ${domain}`);let cert=await createCertForCns(client,[domain,`*.${domain}`],contextName);if(output_manager_default.stopSpinner(),cert instanceof NowError)return cert}export{generateCertForDeploy as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{getInvalidSubcommand}from"./chunk-TG2RCYTH.js";import{getSubcommand}from"./chunk-ETV3C2CV.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-JAJW3P42.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";var IMAGE_CONFIG={ls:["ls","list"],inspect:["inspect","get"],rm:["rm","remove","delete"]};async function image(client,argv,telemetry){let{subcommand,args}=getSubcommand(argv,IMAGE_CONFIG);if(subcommand==null){let message=argv.length===0?getInvalidSubcommand(IMAGE_CONFIG):`Unknown "vcr image" subcommand "${argv[0]}".`;return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr image --help"),when:"Show valid image subcommands"}]},1),output_manager_default.error(`${message} Run \`vercel vcr image --help\`.`),1}switch(subcommand){case"ls":return(await import("./ls-AJWN5ZR4.js")).default(client,args,telemetry);case"inspect":return(await import("./inspect-53SGDDAH.js")).default(client,args,telemetry);case"rm":return(await import("./rm-XRP6MRUT.js")).default(client,args,telemetry);default:return output_manager_default.error(`Unhandled image subcommand: ${subcommand}`),1}}export{image as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{importBuilders,import_import_builders}from"./chunk-EOBD4ZEG.js";import"./chunk-7RMCBXBB.js";import"./chunk-KKS7XWEX.js";import"./chunk-JIYY3B4C.js";import"./chunk-K2RAW5DI.js";import"./chunk-L3JDEHCQ.js";import"./chunk-KNEWCUWF.js";import"./chunk-QR7QPUFN.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-KK4AJES5.js";import"./chunk-N6CNMMSZ.js";import"./chunk-7T6TL3GQ.js";import"./chunk-BRK4OB4B.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";var export_formatResolvedBuilders=import_import_builders.formatResolvedBuilders;var export_getBuildersDir=import_import_builders.getBuildersDir;export{export_formatResolvedBuilders as formatResolvedBuilders,export_getBuildersDir as getBuildersDir,importBuilders};
@@ -0,0 +1,15 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoryPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatRelativeTime,handleVcrApiError,requireVcrRepository,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{inspectSubcommand}from"./chunk-3QT7VOE3.js";import"./chunk-O7G3CZ42.js";import"./chunk-N3N5UHIL.js";import"./chunk-YMVDWVMO.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printRepository(repository){output_manager_default.print(`
8
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Name")} ${repository.name}
9
+ `),output_manager_default.print(` ${import_chalk.default.cyan("ID")} ${repository.id}
10
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Project ID")} ${repository.projectId}
11
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Created")} ${formatRelativeTime(repository.createdAt)}
12
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Updated")} ${formatRelativeTime(repository.updatedAt)}
13
+ `),output_manager_default.print(`
14
+ `)}async function inspect(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(inspectSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr inspect <repository> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],project=parsedArgs.flags["--project"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingRepository=requireVcrRepository(client,repository,fr.jsonOutput,"vcr inspect <repository>");if(typeof missingRepository=="number")return missingRepository;let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryPath(scope,repository);output_manager_default.spinner("Fetching repository...");try{let result=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify(result.repository,null,2)}
15
+ `):(output_manager_default.log(`${import_chalk.default.bold("Repository")} ${import_chalk.default.cyan(repository)}`),printRepository(result.repository)),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{inspect as default};
@@ -0,0 +1,20 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{imagePath,repositoryPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatBytes,formatImageReference,formatImageStatus,formatRelativeTime,handleVcrApiError,requireVcrRepositoryAndImageId,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{imageInspectSubcommand}from"./chunk-N3N5UHIL.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printImage(image,scope,repository){output_manager_default.print(`
8
+ `),output_manager_default.print(` ${import_chalk.default.cyan("ID")} ${image.id}
9
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Digest")} ${image.manifestDigest}
10
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Image")} ${formatImageReference(scope.teamSlug,scope.projectName,repository.name,image.manifestDigest)}
11
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Type")} ${image.kind}
12
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Arch")} ${image.arch??"-"}
13
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Platform")} ${image.platform??"-"}
14
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Size")} ${formatBytes(image.sizeInBytes)}
15
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Status")} ${formatImageStatus(image.status)}
16
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Created")} ${formatRelativeTime(image.createdAt)}
17
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Tags")} ${image.tags?.length?image.tags.join(", "):"-"}
18
+ `),output_manager_default.print(`
19
+ `)}async function inspect(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(imageInspectSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr image inspect <repository> <imageId> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],imageId=parsedArgs.args[1],project=parsedArgs.flags["--project"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingArgs=requireVcrRepositoryAndImageId(client,repository,imageId,fr.jsonOutput,"vcr image inspect <repository> <imageId>");if(typeof missingArgs=="number")return missingArgs;let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=imagePath(scope,repository,imageId);output_manager_default.spinner("Fetching image...");try{if(fr.jsonOutput){let result=await client.fetch(path);client.stdout.write(`${JSON.stringify(result.image,null,2)}
20
+ `)}else{let[imageResult,repositoryResult]=await Promise.all([client.fetch(path),client.fetch(repositoryPath(scope,repository))]);output_manager_default.log(`${import_chalk.default.bold("Image")} ${import_chalk.default.cyan(imageId)}`),printImage(imageResult.image,scope,repositoryResult.repository)}return 0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{inspect as default};
@@ -0,0 +1,19 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoryPath,repositoryTagPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatBytes,formatImageStatus,formatRelativeTime,formatTagReference,handleVcrApiError,requireVcrRepositoryAndTag,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{tagsInspectSubcommand}from"./chunk-O7G3CZ42.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printTag(tag,scope,repository){output_manager_default.print(`
8
+ `),output_manager_default.print(` ${import_chalk.default.cyan("ID")} ${tag.imageId}
9
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Digest")} ${tag.manifestDigest}
10
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Image")} ${formatTagReference(scope.teamSlug,scope.projectName,repository.name,tag.tag)}
11
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Type")} ${tag.kind}
12
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Arch")} ${tag.arch??"-"}
13
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Platform")} ${tag.platform??"-"}
14
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Size")} ${formatBytes(tag.sizeInBytes)}
15
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Status")} ${formatImageStatus(tag.status)}
16
+ `),output_manager_default.print(` ${import_chalk.default.cyan("Created")} ${formatRelativeTime(tag.createdAt)}
17
+ `),output_manager_default.print(`
18
+ `)}async function inspect(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(tagsInspectSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr tag inspect <repository> <tag> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],tag=parsedArgs.args[1],project=parsedArgs.flags["--project"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingArgs=requireVcrRepositoryAndTag(client,repository,tag,fr.jsonOutput,"vcr tag inspect <repository> <tag>");if(typeof missingArgs=="number")return missingArgs;let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryTagPath(scope,repository,tag);output_manager_default.spinner("Fetching tag...");try{if(fr.jsonOutput){let result=await client.fetch(path);client.stdout.write(`${JSON.stringify(result.tag,null,2)}
19
+ `)}else{let[tagResult,repositoryResult]=await Promise.all([client.fetch(path),client.fetch(repositoryPath(scope,repository))]);output_manager_default.log(`${import_chalk.default.bold("Tag")} ${import_chalk.default.cyan(tag)}`),printTag(tagResult.tag,scope,repositoryResult.repository)}return 0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{inspect as default};
@@ -0,0 +1,9 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{parseThreadArg}from"./chunk-2S6PE6GB.js";import{actorLabel,displayPath,renderThreadDetail,threadAge,truncate}from"./chunk-ZZQRMRWD.js";import{getThread,handleCommentsParseError,inferBranch,listMessages,listThreads,resolveCommentsScope,threadNotFoundMessage,toApiErrorParts}from"./chunk-XHOGOH6N.js";import{canPrompt}from"./chunk-XD2LZRBS.js";import{outputError}from"./chunk-6RIQPTJA.js";import"./chunk-ZDX75YNZ.js";import"./chunk-MBL6TXEJ.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{inspectSubcommand}from"./chunk-NBVY237X.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENS6KX2F.js";import"./chunk-LDM3SQAU.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";async function pickThread(client,jsonOutput){if(!canPrompt(client)||jsonOutput)return outputError(client,jsonOutput,"MISSING_THREAD","Pass a thread ID or URL: `vercel comments inspect <thread>`.");let scope=await resolveCommentsScope(client,{requireProject:!0,jsonOutput});if(typeof scope=="number")return scope;let focus=scope.linked?inferBranch(client.cwd):void 0;output_manager_default.spinner("Fetching comments\u2026");let response;try{response=await listThreads(client,scope.teamId,{projectId:scope.projectId,status:"unresolved",branch:focus?[focus.value]:void 0,limit:20})}finally{output_manager_default.stopSpinner()}return response.threads.length===0?outputError(client,jsonOutput,"NO_COMMENTS",`No unresolved comments${focus?` on ${focus.value}`:""} to pick from.`):client.input.select({message:"Select a comment",choices:response.threads.map(thread=>({name:`${threadAge(thread)} ${actorLabel(thread.messages[0]?.author)} ${displayPath(thread)} \u201C${truncate(thread.messages[0]?.text??"",48)}\u201D`,value:thread.id}))})}async function fetchAllMessages(client,teamId,thread){if(thread.messageCount<=thread.messages.length)return thread.messages;let all=[],cursor;do{let page=await listMessages(client,teamId,thread.id,{limit:100,cursor});all.push(...page.messages),cursor=page.pagination?.nextCursor}while(cursor&&all.length<thread.messageCount);return all}async function inspect(client,telemetry){let parsedArgs,flagsSpecification=getFlagsSpecification(inspectSubcommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return handleCommentsParseError(err,"inspect")}let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let jsonOutput=formatResult.jsonOutput,showContext=!!parsedArgs.flags["--context"];telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry.trackCliFlagContext(parsedArgs.flags["--context"]),telemetry.trackCliOptionProject(parsedArgs.flags["--project"]);let threadInput=parsedArgs.args[2];telemetry.trackCliArgumentThread(threadInput);let threadId,urlTeamSlug;if(threadInput){let parsed=parseThreadArg(threadInput);if(!parsed)return outputError(client,jsonOutput,"INVALID_THREAD",`Could not extract a thread ID from "${threadInput}". Pass the thread ID or its vercel.com URL.`);threadId=parsed.id,urlTeamSlug=parsed.teamSlug}else{let picked=await pickThread(client,jsonOutput);if(typeof picked=="number")return picked;threadId=picked}let scope=await resolveCommentsScope(client,{project:parsedArgs.flags["--project"],requireProject:!1,jsonOutput,urlTeamSlug});if(typeof scope=="number")return scope;jsonOutput||output_manager_default.spinner("Fetching comment\u2026");let thread,messages;try{thread=await getThread(client,scope.teamId,threadId),messages=await fetchAllMessages(client,scope.teamId,thread)}catch(err){if(isAPIError(err)){let{code,message}=toApiErrorParts(err);return outputError(client,jsonOutput,code,err.status===404?threadNotFoundMessage(threadId,scope):message)}throw err}finally{output_manager_default.stopSpinner()}return jsonOutput?(client.stdout.write(`${JSON.stringify({...thread,messages},null,2)}
8
+ `),0):(output_manager_default.print(`${renderThreadDetail(thread,messages,{showContext})}
9
+ `),0)}export{inspect as default};
@@ -0,0 +1,13 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{formatTriggerOperator,getGroupStartedAt,getGroupTitle,getGroupType,humanizeReference,normalizeTimestamp,renderAlertTable}from"./chunk-7PNYOSDU.js";import{resolveAlertsScope}from"./chunk-AFPOIDM5.js";import{formatGranularity}from"./chunk-IVSSTHB6.js";import{formatDate}from"./chunk-6PFC3KWQ.js";import"./chunk-GZNDA6SV.js";import"./chunk-WRILLB46.js";import{outputError}from"./chunk-6RIQPTJA.js";import"./chunk-GHAY4PSD.js";import{truncateEnd,truncateMiddle}from"./chunk-MBL6TXEJ.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{inspectSubcommand}from"./chunk-7R5FEXZ5.js";import"./chunk-FKCOBJFH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import{packageName}from"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);var aggregationLabels={sum:"Sum",avg:"Average",min:"Min",max:"Max",p50:"P50",p75:"P75",p90:"P90",p95:"P95",p99:"P99",stddev:"Std Dev",unique:"Unique",persecond:"Per Second",percent:"Percent"},formatCustomAlertRatioBelowFivePercent=new Intl.NumberFormat("en-US",{maximumFractionDigits:2,minimumFractionDigits:2,style:"percent"}),formatCustomAlertRatioThresholdValue=new Intl.NumberFormat("en-US",{maximumFractionDigits:4,minimumFractionDigits:0,style:"percent"});function getGroupStatus(group){if(group.status)return group.status;let alerts=group.alerts??[];return alerts.some(alert=>alert.status==="active")?"active":alerts.length>0?"resolved":"-"}function humanizeLabel(value){return humanizeReference(value,{case:"title"})}function formatAlertFieldValue(value,maxLength=64){if(value==null)return;let displayValue=typeof value=="number"?formatNumber(value):String(value);if(displayValue)return truncateMiddle(displayValue,maxLength)}function formatNumber(value){let absValue=Math.abs(value),sign=value<0?"-":"";for(let[threshold,suffix]of[[1e9,"B"],[1e6,"M"],[1e3,"k"]])if(absValue>=threshold)return`${sign}${(absValue/threshold).toFixed(1).replace(/\.0$/,"")}${suffix}`;return Number.isInteger(value)?String(value):value.toFixed(2).replace(/\.?0+$/,"")}function parseFormattedNumber(value){let trimmed=value.trim();if(!trimmed)return;let number=Number(trimmed.replace(/,/g,""));return Number.isFinite(number)?number:void 0}function formatRatio(value){if(value.trim().endsWith("%"))return value;let number=parseFormattedNumber(value);if(number===void 0)return value;let percent=number*100;return percent>=5?`${Math.floor(percent)}%`:formatCustomAlertRatioBelowFivePercent.format(number)}function formatRatioThreshold(value){if(value.trim().endsWith("%"))return value;let number=parseFormattedNumber(value);return number===void 0?value:formatCustomAlertRatioThresholdValue.format(number)}function getAlertSonarQuery(alert){return alert.sonarQuery??alert.data?.sonarQuery}function getCustomAlertBaselineTitle(alert){let granularity=getAlertSonarQuery(alert)?.granularity;return(granularity&&("hours"in granularity||"days"in granularity)?"7-day baseline":"24-hour baseline").replace(/\b[a-z]/g,character=>character.toUpperCase())}function appendUnit(value,unit){return!unit||unit==="score"?value:unit==="ratio"?formatRatio(value):unit==="%"?value.endsWith("%")?value:`${value}%`:value.toLowerCase().includes(unit.toLowerCase())?value:`${value} ${unit}`}function formatThreshold(alert){let data=alert.data,formatted=alert.formattedValues?.formattedThreshold??(data?.triggerThreshold===void 0?void 0:formatNumber(data.triggerThreshold));if(!formatted)return;let operator=formatTriggerOperator(data?.triggerOperator),threshold=data?.triggerType==="anomaly"?`${formatted} z-score`:alert.unit==="ratio"?formatRatioThreshold(formatted):appendUnit(formatted,alert.unit);return[operator,threshold].filter(Boolean).join(" ")}function getRuleIds(alert){let ids=new Set,dataRuleId=alert.data?.ruleId;dataRuleId&&ids.add(dataRuleId);for(let ruleId of alert.rules??[])ruleId&&ids.add(ruleId);return[...ids]}function getAlertResolvedAt(alert){return normalizeTimestamp(alert.recordedResolvedAt??alert.resolvedAt)}function getSignalRows(alert){let rows=[],formattedValues=alert.formattedValues??{},observed=formattedValues.formattedCount,baseline=formattedValues.formattedAvg,change=[formattedValues.changeDirection,formattedValues.changeAmount].filter(Boolean).join(" "),zscore=alert.data?.zscore,threshold=formatThreshold(alert),minThreshold=alert.data?.minThreshold,isRatioFormulaAlert=!!getCustomAlertFormula(alert);return alert.eventLabel&&rows.push(["Event",alert.eventLabel]),alert.measureLabel&&rows.push(["Measure",alert.measureLabel]),observed&&rows.push(["Observed Value",appendUnit(observed,alert.unit)]),baseline&&rows.push([alert.type==="custom_alert"&&alert.data?.triggerType==="anomaly"?getCustomAlertBaselineTitle(alert):"Baseline",appendUnit(baseline,alert.unit)]),change&&rows.push(["Change",change]),zscore!==void 0&&rows.push(["Observed Deviation",`${formatNumber(zscore)} z-score`]),threshold&&rows.push(["Threshold",threshold]),minThreshold!==void 0&&!isRatioFormulaAlert&&rows.push(["Minimum",alert.unit==="ratio"?formatNumber(minThreshold):appendUnit(formatNumber(minThreshold),alert.unit)]),formattedValues.errorRate&&rows.push(["Error Rate",formattedValues.errorRate]),formattedValues.avgErrorRate&&rows.push(["Baseline Error Rate",formattedValues.avgErrorRate]),rows.push(...getFieldRows(alert)),rows}function getFieldRows(alert){let fields=alert.data?.fields;if(!fields)return[];let groupBy=getAlertSonarQuery(alert)?.groupBy??[];return[...groupBy,...Object.keys(fields).filter(key=>!groupBy.includes(key))].flatMap(key=>{let value=fields[key],displayValue=formatAlertFieldValue(value);return displayValue?[[humanizeLabel(key),displayValue]]:[]})}function formatAggregation(value){return value?aggregationLabels[value]??humanizeLabel(value):void 0}function formatQueryReference(value){return value?humanizeLabel(value):void 0}function formatRollupDetail(rollup,fallbackMeasure){if(!rollup)return;let aggregation=formatAggregation(rollup.aggregation),measure=fallbackMeasure??formatQueryReference(rollup.measure);return[aggregation,measure].filter(Boolean).join(" ")||void 0}function getPrimaryRollup(rollups){return Object.values(rollups??{})[0]}function getCustomAlertFormula(alert){let formula=alert.data?.formula;if(formula?.operator==="divide"&&formula.left&&formula.right)return{operator:formula.operator,left:formula.left,right:formula.right}}function getQueryRows(alert){if(alert.type!=="custom_alert")return[];let query=getAlertSonarQuery(alert);if(!query)return[];let formula=getCustomAlertFormula(alert),rows=[],addRow=(label,value)=>{value&&rows.push([label,truncateMiddle(value,120)])};if(addRow("Event",alert.eventLabel??formatQueryReference(query.event)),formula)addRow("Numerator",formatRollupDetail(query.rollups?.[formula.left])),addRow("Denominator",formatRollupDetail(query.rollups?.[formula.right]));else{let primaryRollup=getPrimaryRollup(query.rollups);addRow("Measure",alert.measureLabel??formatQueryReference(primaryRollup?.measure)),addRow("Aggregation",formatAggregation(primaryRollup?.aggregation))}addRow("Granularity",formatGranularity(query.granularity));let groupBy=query.groupBy?.filter(Boolean)??[];if(groupBy.length>0&&addRow("Group by",groupBy.map(humanizeLabel).join(", ")),formula&&typeof alert.data?.minThreshold=="number"&&addRow("Minimum Numerator",formatNumber(alert.data.minThreshold)),addRow("Filter by",query.filter?.trim()),formula)for(let[label,rollupName]of[["Numerator filter",formula.left],["Denominator filter",formula.right]])addRow(label,query.rollups?.[rollupName]?.filter?.trim());return rows}function getDetailRows(alert){let data=alert.data;if(!data)return[];let rows=[],addRow=(label,value)=>{let displayValue=formatAlertFieldValue(value);displayValue&&rows.push([label,displayValue])};return addRow("Route",data.route),addRow("Status Group",data.statusGroup),addRow("Deployment ID",data.deploymentId),rows}function renderAlertSections(alert){let lines=[],signalRows=getSignalRows(alert);signalRows.length>0&&(lines.push(import_chalk.default.cyan("Signals")),lines.push(renderAlertTable(signalRows,3)));let queryRows=getQueryRows(alert);return queryRows.length>0&&(lines.push(import_chalk.default.cyan("Query")),lines.push(renderAlertTable(queryRows,3))),lines.join(`
8
+ `)}function renderAlert(alert,index,totalAlerts){let title=alert.title||`Alert ${index+1}`,ruleIds=getRuleIds(alert),resolvedAt=getAlertResolvedAt(alert),sections=renderAlertSections(alert),summaryRows=[["Alert id",alert.id||"-"],["Type",alert.type||"-"],["Status",alert.status||"-"],["Started At",formatDate(normalizeTimestamp(alert.recordedStartedAt??alert.startedAt))],...resolvedAt!==void 0?[["Resolved At",formatDate(resolvedAt)]]:[],...ruleIds.length>0?[["Rule id",ruleIds.map(id=>truncateMiddle(id,48)).join(", ")]]:[],...getDetailRows(alert)];return[import_chalk.default.bold(totalAlerts>1?`Alert ${index+1}: ${title}`:title),renderAlertTable(summaryRows,3),...sections?[sections]:[]].join(`
9
+ `)}function printAlertGroup(group,groupId){let alerts=group.alerts??[],singleAlert=alerts.length===1?alerts[0]:void 0,singleAlertRuleIds=singleAlert?getRuleIds(singleAlert):[],singleAlertResolvedAt=singleAlert?getAlertResolvedAt(singleAlert):void 0,summaryRows=[["Title",truncateEnd(getGroupTitle(group),80)],["Group id",group.id||groupId],["Type",getGroupType(group)],["Status",getGroupStatus(group)],["Started At",formatDate(getGroupStartedAt(group))],...singleAlertResolvedAt!==void 0?[["Resolved At",formatDate(singleAlertResolvedAt)]]:[],["Alerts",String(alerts.length)],...singleAlert?.id?[["Alert id",singleAlert.id]]:[],...singleAlertRuleIds.length>0?[["Rule id",singleAlertRuleIds.map(id=>truncateMiddle(id,48)).join(", ")]]:[],...singleAlert?getDetailRows(singleAlert):[]],renderedAlerts=alerts.length>0?alerts.length===1?renderAlertSections(alerts[0]):alerts.map((alert,index)=>renderAlert(alert,index,alerts.length)).join(`
10
+
11
+ `):"No alerts in this group.";output_manager_default.print(["",`${import_chalk.default.bold("Alert group")} ${import_chalk.default.cyan(group.id||groupId)}`,renderAlertTable(summaryRows,3),"",renderedAlerts,""].join(`
12
+ `))}async function inspect(client,argv){let parsedArgs,spec=getFlagsSpecification(inspectSubcommand.options);try{parsedArgs=parseArguments(argv,spec)}catch(e){let msg=e instanceof Error?e.message:String(e),projectFlagMissingArg=msg.includes("--project")&&msg.includes("requires argument");return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:projectFlagMissingArg?"`--project` requires a project name or id (for example `--project my-app`).":msg,next:projectFlagMissingArg?[{command:buildCommandWithGlobalFlags(client.argv,"alerts inspect <groupId> --project <name-or-id>"),when:"Re-run with placeholders replaced"}]:[{command:buildCommandWithGlobalFlags(client.argv,"alerts inspect --help"),when:"See valid `alerts inspect` usage"}]},1),printError(e),1}let groupId=parsedArgs.args[0],fr=validateJsonOutput(parsedArgs.flags);if(!fr.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:fr.error},1),output_manager_default.error(fr.error),1;if(!groupId)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing group id. Example: ${packageName} alerts inspect <groupId>`,next:[{command:buildCommandWithGlobalFlags(client.argv,"alerts inspect <groupId>"),when:"Replace <groupId> with a group id from `vercel alerts`"}]},1),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS","Usage: `vercel alerts inspect <groupId>`");let scope=await resolveAlertsScope(client,{project:parsedArgs.flags["--project"],all:parsedArgs.flags["--all"],jsonOutput:fr.jsonOutput,command:`alerts inspect ${groupId}`});if(typeof scope=="number")return scope;let query=new URLSearchParams({teamId:scope.teamId});scope.projectId&&query.set("projectId",scope.projectId);let path=`/alerts/v3/groups/${encodeURIComponent(groupId)}?${query.toString()}`;output_manager_default.spinner("Fetching alert group...");try{let group=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify({group},null,2)}
13
+ `):printAlertGroup(group,groupId),0}catch(err){if(isAPIError(err)){let msg=err.serverMessage||`API error (${err.status}).`,reason=err.status===401?"not_authorized":err.status===403?"forbidden":err.status===404?AGENT_REASON.NOT_FOUND:err.status===429?"rate_limited":AGENT_REASON.API_ERROR;return outputAgentError(client,{status:"error",reason,message:msg,...err.status===401||err.status===403?{hint:"Confirm team scope; use --scope <team-slug> if the group belongs to another team.",next:[{command:buildCommandWithGlobalFlags(client.argv,"whoami"),when:"See current user and team"},{command:buildCommandWithGlobalFlags(client.argv,`alerts inspect ${groupId}`),when:"Retry after fixing scope or permissions"}]}:{}},1),outputError(client,fr.jsonOutput,err.code||"API_ERROR",msg)}throw err}finally{output_manager_default.stopSpinner()}}export{inspect as default};
@@ -0,0 +1,11 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{renderThreadRow}from"./chunk-ZZQRMRWD.js";import{handleCommentsParseError,inferBranch,listThreads,resolveCommentsScope}from"./chunk-XHOGOH6N.js";import{handleValidationError,outputError,validateIntegerRangeWithDefault}from"./chunk-6RIQPTJA.js";import"./chunk-ZDX75YNZ.js";import"./chunk-MBL6TXEJ.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{listSubcommand}from"./chunk-NBVY237X.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENS6KX2F.js";import"./chunk-LDM3SQAU.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import{getScope}from"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification,stripSensitiveAuthArgs}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import{getCommandName}from"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function validateStatus(value){let status=value??"unresolved";if(["unresolved","resolved","all"].includes(status))return status}async function resolveAuthors(client,authors,jsonOutput){if(!authors||authors.length===0)return;if(!authors.includes("me"))return authors;let{user}=await getScope(client);return user?authors.map(author=>author==="me"?user.id:author):outputError(client,jsonOutput,"USER_REQUIRED","Can't resolve `--author me` when authenticated as an app. Use an author ID with `--author`, or authenticate with a user token.")}function statusWord(status){return status==="all"?"":` ${status}`}function printActiveFilters(flags){let parts=[];flags["--author"]?.length&&parts.push(`--author ${flags["--author"].join(", ")} (takes a user ID or \`me\` \u2014 usernames match nothing)`);let pagePaths=flags["--page-path"]??flags["--page"];pagePaths?.length&&parts.push(`--page-path ${pagePaths.join(", ")}`),flags["--search"]&&parts.push(`--search ${flags["--search"]}`),flags["--content-id"]?.length&&parts.push(`--content-id ${flags["--content-id"].join(", ")}`),parts.length>0&&output_manager_default.log(`Filters: ${parts.join(" \xB7 ")}`)}function countLine(count,status){return`${count}${statusWord(status)} comment${count===1?"":"s"}`}var SCOPE_FLAG_NAMES=new Set(["--scope","-S","--project","-p","--team","-T"]);function argvFlagTokens(client){return stripSensitiveAuthArgs(client.argv.slice(3))}function scopeFlagsSuffix(client){let tokens=argvFlagTokens(client),out=[];for(let i=0;i<tokens.length;i++){let token=tokens[i],name=token.split("=")[0];SCOPE_FLAG_NAMES.has(name)&&(out.push(token),!token.includes("=")&&i+1<tokens.length&&out.push(tokens[++i]))}return out.length>0?` ${out.join(" ")}`:""}function nextPageFlagsSuffix(client){let tokens=argvFlagTokens(client),out=[];for(let i=0;i<tokens.length;i++){let token=tokens[i];if(!token.startsWith("-"))continue;let name=token.split("=")[0];if(name==="--next"||name==="-N"){!token.includes("=")&&i+1<tokens.length&&i++;continue}out.push(name==="--page"?token.replace(/^--page(?==|$)/,"--page-path"):token),!token.includes("=")&&i+1<tokens.length&&!tokens[i+1].startsWith("-")&&out.push(tokens[++i])}return out.length>0?` ${out.join(" ")}`:""}function shellSafe(value){return/^[A-Za-z0-9._/-]+$/.test(value)?value:`'${value.replace(/'/g,"'\\''")}'`}async function printEmptyState(client,scope,focus,params,status,flags){let probe;try{probe=await listThreads(client,scope.teamId,{...params,branch:void 0,cursor:void 0,limit:20})}catch{output_manager_default.log(`No${statusWord(status)} comments on ${focus.value}.`);return}let branches=new Map;for(let thread of probe.threads){let branch=thread.branch??"(no branch)";branches.set(branch,(branches.get(branch)??0)+1)}if(branches.size===0){output_manager_default.log(`No${statusWord(status)} comments in ${scope.projectName??"this project"} on any branch.`),printActiveFilters(flags);return}output_manager_default.log(`No${statusWord(status)} comments on ${focus.value}.`);let suffix=probe.pagination.nextCursor?"+":"",scopeSuffix=scopeFlagsSuffix(client);if(branches.size===1){let[branch,count]=[...branches.entries()][0];output_manager_default.log(`${count}${suffix}${statusWord(status)} on ${import_chalk.default.bold(branch)} \u2014 run ${getCommandName(`comments --branch ${shellSafe(branch)}${scopeSuffix}`)}`);return}let total=[...branches.values()].reduce((a,b)=>a+b,0);output_manager_default.log(`${total}${suffix}${statusWord(status)} on other branches \u2014 run ${getCommandName(`comments --all-branches${scopeSuffix}`)}`)}async function list(client,telemetry,defaultInvocation){let parsedArgs,flagsSpecification=getFlagsSpecification(listSubcommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return handleCommentsParseError(err,"list")}let flags=parsedArgs.flags,pagePaths=flags["--page-path"]??flags["--page"],expectedPositionals=defaultInvocation?1:2;if(parsedArgs.args.length>expectedPositionals)return output_manager_default.error(`Unknown ${defaultInvocation?"subcommand":"argument"} "${parsedArgs.args[expectedPositionals]}". Run \`vercel comments --help\` for usage.`),1;let formatResult=validateJsonOutput(flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let jsonOutput=formatResult.jsonOutput;telemetry.trackCliOptionProject(flags["--project"]),telemetry.trackCliOptionBranch(flags["--branch"]),telemetry.trackCliFlagAllBranches(flags["--all-branches"]),telemetry.trackCliOptionStatus(flags["--status"]),telemetry.trackCliOptionPagePath(flags["--page-path"]),telemetry.trackCliOptionPage(flags["--page"]),telemetry.trackCliOptionAuthor(flags["--author"]),telemetry.trackCliOptionContentId(flags["--content-id"]),telemetry.trackCliOptionSearch(flags["--search"]),telemetry.trackCliOptionLimit(flags["--limit"]),telemetry.trackCliOptionNext(flags["--next"]),telemetry.trackCliOptionFormat(flags["--format"]);let status=validateStatus(flags["--status"]);if(!status)return outputError(client,jsonOutput,"INVALID_STATUS",`Invalid --status "${flags["--status"]}". Valid values: unresolved, resolved, all.`);let limitResult=validateIntegerRangeWithDefault(flags["--limit"],{flag:"--limit",min:1,max:100,defaultValue:20});if(!limitResult.valid)return handleValidationError(limitResult,jsonOutput,client);if(flags["--branch"]&&flags["--all-branches"])return outputError(client,jsonOutput,"MUTUAL_EXCLUSIVITY","Cannot specify both --branch and --all-branches.");let scope=await resolveCommentsScope(client,{project:flags["--project"],requireProject:!0,jsonOutput});if(typeof scope=="number")return scope;let focus,branchFilter;if(flags["--branch"]&&flags["--branch"].length>0)branchFilter=flags["--branch"],focus={value:branchFilter.join(", "),source:"flag"};else if(!flags["--all-branches"]&&scope.linked){let inferred=inferBranch(client.cwd);inferred&&(focus=inferred,branchFilter=[inferred.value])}let authors=await resolveAuthors(client,flags["--author"],jsonOutput);if(typeof authors=="number")return authors;let params={projectId:scope.projectId,branch:branchFilter,status:status==="all"?void 0:status,page:pagePaths,author:authors,contentId:flags["--content-id"],search:flags["--search"],limit:limitResult.value,cursor:flags["--next"]};jsonOutput||output_manager_default.spinner("Fetching comments\u2026");let response;try{response=await listThreads(client,scope.teamId,params)}catch(err){if(isAPIError(err))return outputError(client,jsonOutput,err.code||"API_ERROR",err.serverMessage||`API error (${err.status}).`);throw err}finally{output_manager_default.stopSpinner()}let threads=response.threads??[],nextCursor=response.pagination?.nextCursor??null;if(jsonOutput){let envelope={scope:{teamId:scope.teamId,...scope.teamSlug&&{teamSlug:scope.teamSlug},...scope.projectId&&{projectId:scope.projectId},...scope.projectName&&{projectName:scope.projectName},...focus&&focus.source!=="flag"&&{inferredBranch:focus.value}},filters:{...status!=="all"&&{status},...focus&&{branch:{value:focus.value,source:focus.source}}},pagination:{nextCursor},threads};return client.stdout.write(`${JSON.stringify(envelope,null,2)}
8
+ `),0}let branchLabel=focus?focus.value:"all branches";if(output_manager_default.log(`Comments in ${import_chalk.default.bold(scope.projectName??scope.projectId??"")} \xB7 ${branchLabel}`),threads.length===0)return focus?await printEmptyState(client,scope,focus,params,status,flags):(output_manager_default.log(`No${statusWord(status)} comments in ${scope.projectName??"this project"}.`),printActiveFilters(flags)),0;output_manager_default.print(`
9
+ `);for(let thread of threads)output_manager_default.print(`${renderThreadRow(thread,{showBranch:!focus})}
10
+
11
+ `);return output_manager_default.log(countLine(threads.length,status)),output_manager_default.log(`To read a thread, run ${getCommandName(`comments inspect <id>${scopeFlagsSuffix(client)}`)}`),nextCursor&&output_manager_default.log(`To display the next page, run ${getCommandName(`comments${nextPageFlagsSuffix(client)} --next ${nextCursor}`)}`),0}export{list as default};
@@ -0,0 +1,16 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{getGroupStartedAt,getGroupTitle,getGroupType,normalizeTimestamp,renderAlertTable}from"./chunk-7PNYOSDU.js";import{resolveAlertsScope}from"./chunk-AFPOIDM5.js";import{formatDate}from"./chunk-6PFC3KWQ.js";import"./chunk-GZNDA6SV.js";import"./chunk-WRILLB46.js";import{handleValidationError,normalizeRepeatableStringFilters,outputError,validateAllProjectMutualExclusivity,validateOptionalIntegerRange,validateTimeBound,validateTimeOrder}from"./chunk-6RIQPTJA.js";import"./chunk-GHAY4PSD.js";import{truncateEnd}from"./chunk-MBL6TXEJ.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{alertsCommand}from"./chunk-7R5FEXZ5.js";import"./chunk-FKCOBJFH.js";import{require_ms}from"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{buildCommandWithGlobalFlags,outputAgentError,shouldEmitNonInteractiveCommandError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_ms=__toESM(require_ms(),1),import_chalk=__toESM(require_source(),1);function handleApiError(err,jsonOutput,client){let message=err.status===401||err.status===403?"You do not have access to alerts in this scope. Pass --token <TOKEN> and --scope <team-slug> with Alerts read access.":err.status>=500?`The alerts endpoint failed on the server (${err.status}). Re-run with --debug and share the x-vercel-id from the failed request.`:err.serverMessage||`API error (${err.status}).`,reason=err.status===401?"not_authorized":err.status===403?"forbidden":err.status===404?AGENT_REASON.NOT_FOUND:err.status===429?"rate_limited":AGENT_REASON.API_ERROR;return outputAgentError(client,{status:"error",reason,message,...err.status===401||err.status===403?{hint:"Confirm team scope; use --scope <team-slug> if alerts belong to another team.",next:[{command:buildCommandWithGlobalFlags(client.argv,"whoami"),when:"See current user and team"},{command:buildCommandWithGlobalFlags(client.argv,"alerts"),when:"Retry listing alerts after fixing scope or permissions"}]}:{}},1),outputError(client,jsonOutput,err.code||"API_ERROR",message)}function getDefaultRange(){let to=new Date;return{from:new Date(to.getTime()-24*60*60*1e3).toISOString(),to:to.toISOString()}}function getStartedAt(group){return formatDate(getGroupStartedAt(group))}function getGroupResolvedAt(group){let resolvedTimes=(group.alerts??[]).map(alert=>normalizeTimestamp(alert.recordedResolvedAt??alert.resolvedAt)).filter(time=>time!==void 0);if(resolvedTimes.length>0)return Math.max(...resolvedTimes)}function getStatus(group){let normalizedStatus=(group.status||"").toLowerCase();if(normalizedStatus==="active")return"active";if(normalizedStatus==="resolved"){let startedAt=getGroupStartedAt(group),resolvedAt=getGroupResolvedAt(group);return startedAt&&resolvedAt&&resolvedAt>=startedAt?`resolved after ${(0,import_ms.default)(resolvedAt-startedAt)}`:"resolved"}return group.status||"-"}function getResolvedAt(group){return(group.status||"").toLowerCase()==="active"?"active":formatDate(getGroupResolvedAt(group))}function getAlertsCount(group){return String(group.alerts?.length??0)}function validationFailureForAgents(client,result,jsonOutput){return shouldEmitNonInteractiveCommandError(client)&&outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:result.message,next:[{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See valid `alerts` list flags and examples"}]},1),handleValidationError(result,jsonOutput,client)}function printGroups(groups){if(groups.length===0){output_manager_default.log("No alerts found.");return}let rows=[["Title","Group id","Started At","Type","Status","Alerts"].map(h=>import_chalk.default.cyan(h)),...groups.map(group=>{let row=[import_chalk.default.bold(truncateEnd(getGroupTitle(group),80)),import_chalk.default.dim(group.id||"-"),getStartedAt(group),getGroupType(group)];return row.push(getStatus(group),getAlertsCount(group)),row})];output_manager_default.print(`
8
+ ${renderAlertTable(rows,3)}
9
+ `)}function printAiSections(groups){if(groups.length===0){output_manager_default.log("No alerts found.");return}let rendered=groups.map(group=>{let title=getGroupTitle(group),summary=group.ai?.currentSummary||"N/A",findings=group.ai?.keyFindings?.filter(Boolean)??[],findingsOutput=findings.length>0?findings.map(finding=>` - ${finding}`).join(`
10
+ `):" - N/A";return[import_chalk.default.bold(title),` ${import_chalk.default.cyan("Resolved At:")} ${getResolvedAt(group)}`,` ${import_chalk.default.cyan("Summary:")} ${summary}`,` ${import_chalk.default.cyan("Key Findings:")}`,findingsOutput].join(`
11
+ `)}).join(`
12
+
13
+ `);output_manager_default.print(`
14
+ ${rendered}
15
+ `)}function trackTelemetry(flags,types,telemetry){telemetry.trackCliOptionType(types.length>0?types:void 0),telemetry.trackCliOptionSince(flags["--since"]),telemetry.trackCliOptionUntil(flags["--until"]),telemetry.trackCliOptionProject(flags["--project"]),telemetry.trackCliFlagAll(flags["--all"]),telemetry.trackCliFlagAi(flags["--ai"]),telemetry.trackCliOptionLimit(flags["--limit"]),telemetry.trackCliOptionFormat(flags["--format"])}function parseFlags(client){let flagsSpecification=getFlagsSpecification(alertsCommand.options);try{return parseArguments(client.argv.slice(2),flagsSpecification).flags}catch(err){let msg=err instanceof Error?err.message:String(err),projectFlagMissingArg=msg.includes("--project")&&msg.includes("requires argument");return shouldEmitNonInteractiveCommandError(client)&&outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:projectFlagMissingArg?"`--project` requires a project name or id (for example `--project my-app`).":msg,next:projectFlagMissingArg?[{command:buildCommandWithGlobalFlags(client.argv,"alerts --project <name-or-id>"),when:"Re-run with a project name or id (replace placeholder)"},{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See all `alerts` flags and examples"}]:[{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See valid flags and examples"}]},1),printError(err),1}}function resolveValidatedInputs(flags,client,jsonOutput){let types=normalizeRepeatableStringFilters(flags["--type"]),limitResult=validateOptionalIntegerRange(flags["--limit"],{flag:"--limit",min:1,max:100});if(!limitResult.valid)return validationFailureForAgents(client,limitResult,jsonOutput);let mutualResult=validateAllProjectMutualExclusivity(flags["--all"],flags["--project"]);if(!mutualResult.valid)return validationFailureForAgents(client,mutualResult,jsonOutput);let sinceResult=validateTimeBound(flags["--since"]);if(!sinceResult.valid)return validationFailureForAgents(client,sinceResult,jsonOutput);let untilResult=validateTimeBound(flags["--until"]);if(!untilResult.valid)return validationFailureForAgents(client,untilResult,jsonOutput);let timeOrderResult=validateTimeOrder(sinceResult.value,untilResult.value);return timeOrderResult.valid?{limit:limitResult.value,types,since:sinceResult.value,until:untilResult.value}:validationFailureForAgents(client,timeOrderResult,jsonOutput)}function buildAlertsQuery(scope,inputs){let query=new URLSearchParams({teamId:scope.teamId});scope.projectId&&query.set("projectId",scope.projectId),inputs.limit&&query.set("limit",String(inputs.limit));for(let type of inputs.types)query.append("types",type);if(inputs.since&&query.set("from",inputs.since.toISOString()),inputs.until&&query.set("to",inputs.until.toISOString()),!inputs.since&&!inputs.until){let defaultRange=getDefaultRange();query.set("from",defaultRange.from),query.set("to",defaultRange.to)}return query}async function list(client,telemetry){let flags=parseFlags(client);if(typeof flags=="number")return flags;let formatResult=validateJsonOutput(flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let jsonOutput=formatResult.jsonOutput,types=normalizeRepeatableStringFilters(flags["--type"]);trackTelemetry(flags,types,telemetry);let validatedInputs=resolveValidatedInputs(flags,client,jsonOutput);if(typeof validatedInputs=="number")return validatedInputs;let scope=await resolveAlertsScope(client,{project:flags["--project"],all:flags["--all"],jsonOutput});if(typeof scope=="number")return scope;let requestPath=`/alerts/v3/groups?${buildAlertsQuery(scope,validatedInputs).toString()}`;output_manager_default.debug(`Fetching alerts from ${requestPath}`),output_manager_default.spinner("Fetching alerts...");try{let groups=await client.fetch(requestPath);return jsonOutput?client.stdout.write(`${JSON.stringify({groups},null,2)}
16
+ `):flags["--ai"]?printAiSections(groups):printGroups(groups),0}catch(err){if(isAPIError(err))return handleApiError(err,jsonOutput,client);output_manager_default.debug(err);let message=`Failed to fetch alerts: ${err.message||String(err)}`;return outputError(client,jsonOutput,"UNEXPECTED_ERROR",message)}finally{output_manager_default.stopSpinner()}}export{list as default};
@@ -0,0 +1,10 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{handleValidationError,normalizeRepeatableStringFilters,outputError,validateAllProjectMutualExclusivity,validateIntegerRangeWithDefault,validateTimeBound,validateTimeOrder}from"./chunk-6RIQPTJA.js";import{getCommandFlags}from"./chunk-OUHPDA7Q.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{activityCommand}from"./chunk-EQ52F4LH.js";import"./chunk-QTKJC2O5.js";import{getScope}from"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import{getLinkedProject,getProjectByNameOrId}from"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{ProjectNotFound,isAPIError}from"./chunk-R2TGGVCT.js";import{getCommandName}from"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function validateNext(next){if(next===void 0)return{valid:!0,value:void 0};if(Number.isNaN(next))return{valid:!1,code:"INVALID_NEXT",message:"Please provide a number for flag `--next`."};let date=new Date(next);return Number.isNaN(date.getTime())?{valid:!1,code:"INVALID_NEXT",message:"Please provide a valid unix timestamp in milliseconds for `--next`."}:{valid:!0,value:date}}function handleApiError(err,jsonOutput,client){return err.status===403?outputError(client,jsonOutput,"FORBIDDEN","You do not have permission to list activity events. Required permissions: Event: List or OwnEvent: List."):outputError(client,jsonOutput,err.code||"API_ERROR",err.serverMessage||`API error (${err.status}).`)}function formatActor(event){let principal=event.principal;return principal?principal.type==="system"?"system":principal.username?principal.username:principal.name?principal.name:principal.slug?principal.slug:principal.email?principal.email:event.principalId||"-":event.principalId||"-"}function formatTimestamp(createdAt){if(!Number.isFinite(createdAt)||createdAt<=0)return"-";let date=new Date(createdAt);return Number.isNaN(date.getTime())?"-":date.toISOString()}function formatEventText(text){return text.replace(/\s+/g," ").trim()}function printExpandedEvents(events){let lines=[""];events.forEach(event=>{lines.push(`${import_chalk.default.gray("-")} ${formatEventText(event.text)}`),lines.push(` ${import_chalk.default.cyan("Type".padEnd(14))}${event.type??"-"}`),lines.push(` ${import_chalk.default.cyan("Actor".padEnd(14))}${formatActor(event)}`),lines.push(` ${import_chalk.default.cyan("Timestamp".padEnd(14))}${formatTimestamp(event.createdAt)}`),lines.push(` ${import_chalk.default.cyan("ID".padEnd(14))}${event.id}`),lines.push("")}),output_manager_default.print(`${lines.join(`
8
+ `)}
9
+ `)}function trackTelemetry(flags,types,telemetry){telemetry.trackCliOptionType(types.length>0?types:void 0),telemetry.trackCliOptionSince(flags["--since"]),telemetry.trackCliOptionUntil(flags["--until"]),telemetry.trackCliOptionProject(flags["--project"]),telemetry.trackCliFlagAll(flags["--all"]),telemetry.trackCliOptionLimit(flags["--limit"]),telemetry.trackCliOptionNext(flags["--next"]),telemetry.trackCliOptionFormat(flags["--format"])}function parseFlags(client){let flagsSpecification=getFlagsSpecification(activityCommand.options);try{return parseArguments(client.argv.slice(2),flagsSpecification).flags}catch(err){return printError(err),1}}function resolveValidatedInputs(flags,jsonOutput,client,normalizedTypes){let limitResult=validateIntegerRangeWithDefault(flags["--limit"],{flag:"--limit",min:1,max:100,defaultValue:20});if(!limitResult.valid)return handleValidationError(limitResult,jsonOutput,client);let mutualResult=validateAllProjectMutualExclusivity(flags["--all"],flags["--project"]);if(!mutualResult.valid)return handleValidationError(mutualResult,jsonOutput,client);let sinceResult=validateTimeBound(flags["--since"]);if(!sinceResult.valid)return handleValidationError(sinceResult,jsonOutput,client);let nextResult=validateNext(flags["--next"]);if(!nextResult.valid)return handleValidationError(nextResult,jsonOutput,client);let until=nextResult.value;if(!until){let untilResult=validateTimeBound(flags["--until"]);if(!untilResult.valid)return handleValidationError(untilResult,jsonOutput,client);until=untilResult.value}let since=sinceResult.value,timeOrderResult=validateTimeOrder(since,until);return timeOrderResult.valid?{limit:limitResult.value,types:normalizedTypes,since,until}:handleValidationError(timeOrderResult,jsonOutput,client)}async function resolveScope(client,opts){if(opts.all||opts.project){let{team}=await getScope(client);if(!team)return outputError(client,opts.jsonOutput,"NO_TEAM","No team context found. Run `vercel switch` to select a team, or use `vercel link` in a project directory.");if(opts.all)return{teamId:team.id,teamSlug:team.slug};let projectResult;try{projectResult=await getProjectByNameOrId(client,opts.project,team.id)}catch(err){if(isAPIError(err))return outputError(client,opts.jsonOutput,err.code||"API_ERROR",err.serverMessage||(err.status===403?`You do not have permission to access project "${opts.project}" in team "${team.slug}".`:`API error (${err.status}).`));throw err}return projectResult instanceof ProjectNotFound?outputError(client,opts.jsonOutput,"PROJECT_NOT_FOUND",`Project "${opts.project}" was not found in team "${team.slug}".`):{teamId:team.id,teamSlug:team.slug,projectIds:[projectResult.id],projectName:projectResult.name}}let linkedProject=await getLinkedProject(client);if(linkedProject.status==="error")return linkedProject.exitCode;if(linkedProject.status==="not_linked")return outputError(client,opts.jsonOutput,"NOT_LINKED","No linked project found. Run `vercel link` to link a project, or use --project <name> or --all.");let isTeamProject=linkedProject.org.type==="team";return{projectIds:[linkedProject.project.id],projectName:linkedProject.project.name,teamId:isTeamProject?linkedProject.org.id:void 0,teamSlug:isTeamProject?linkedProject.org.slug:void 0}}function buildEventsQuery(params){let query=new URLSearchParams({limit:String(params.limit+1)});return params.types.length>0&&query.set("types",params.types.join(",")),params.since&&query.set("since",params.since.toISOString()),params.until&&query.set("until",params.until.toISOString()),params.scope.projectIds&&params.scope.projectIds.length>0&&query.set("projectIds",params.scope.projectIds.join(",")),params.scope.teamId&&query.set("teamId",params.scope.teamId),params.scope.teamSlug&&query.set("slug",params.scope.teamSlug),params.jsonOutput&&query.set("withPayload","true"),query}function paginateEvents(allEvents,limit){let events=allEvents.slice(0,limit),hasMore=allEvents.length>limit,lastVisibleEvent=events[events.length-1],next=hasMore&&typeof lastVisibleEvent?.createdAt=="number"?lastVisibleEvent.createdAt-1:null;return{events,next}}function printScopeHeader(scope){!scope.projectName&&scope.teamSlug?output_manager_default.log(`Showing all activity for team ${import_chalk.default.bold(scope.teamSlug)}`):scope.projectName&&scope.teamSlug?output_manager_default.log(`Showing activity for project ${import_chalk.default.bold(scope.projectName)} in team ${import_chalk.default.bold(scope.teamSlug)}`):scope.projectName&&output_manager_default.log(`Showing activity for project ${import_chalk.default.bold(scope.projectName)}`)}function printNextPageHint(flags,next){let commandFlags=getCommandFlags(flags,["--next"]);output_manager_default.log(`To display the next page, run ${getCommandName(`activity${commandFlags} --next ${next}`)}`)}async function list(client,telemetry){let flags=parseFlags(client);if(typeof flags=="number")return flags;let formatResult=validateJsonOutput(flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let jsonOutput=formatResult.jsonOutput,normalizedTypes=normalizeRepeatableStringFilters(flags["--type"]);trackTelemetry(flags,normalizedTypes,telemetry);let validatedInputs=resolveValidatedInputs(flags,jsonOutput,client,normalizedTypes);if(typeof validatedInputs=="number")return validatedInputs;let scope=await resolveScope(client,{project:flags["--project"],all:flags["--all"],jsonOutput});if(typeof scope=="number")return scope;let query=buildEventsQuery({limit:validatedInputs.limit,types:validatedInputs.types,since:validatedInputs.since,until:validatedInputs.until,scope,jsonOutput});output_manager_default.spinner("Fetching activity...");try{let response=await client.fetch(`/v3/events?${query.toString()}`,{useCurrentTeam:!1}),allEvents=Array.isArray(response.events)?response.events:[],{events,next}=paginateEvents(allEvents,validatedInputs.limit);if(jsonOutput){let jsonResponse={...(scope.teamSlug||scope.projectName)&&{scope:{...scope.teamSlug&&{teamSlug:scope.teamSlug},...scope.projectName&&{projectName:scope.projectName},...scope.projectIds&&{projectIds:scope.projectIds}}},events,pagination:{next}};return client.stdout.write(`${JSON.stringify(jsonResponse,null,2)}
10
+ `),0}return printScopeHeader(scope),events.length===0?(output_manager_default.log("No activity events found."),0):(printExpandedEvents(events),next!==null&&printNextPageHint(flags,next),0)}catch(err){if(isAPIError(err))return handleApiError(err,jsonOutput,client);throw err}finally{output_manager_default.stopSpinner()}}export{list as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{login}from"./chunk-QGIGNMII.js";import"./chunk-JKTQV2QJ.js";import"./chunk-L243RUIR.js";import"./chunk-ULLWCOYC.js";import"./chunk-CN2QZO4U.js";import"./chunk-2B2MN3U5.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import"./chunk-57GHYR4Y.js";import"./chunk-RCTYVKM5.js";import"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-7T6TL3GQ.js";import"./chunk-BRK4OB4B.js";import"./chunk-F2ZWW2IO.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import"./chunk-JAJW3P42.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";export{login as default};
@@ -0,0 +1,9 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{AUTH_FAILURE,CREDENTIAL_STORE_CONFLICT,VCR_ENGINES,VCR_LOGIN_USERNAME,emitVcrArgParseError,engineLogin,engineLogout,handleVcrApiError,isEngineInstalled,resolveRegistry,resolveVcrScope,stderrTail,validateVcrChoice,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import{outputError}from"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{loginSubcommand}from"./chunk-3QT7VOE3.js";import"./chunk-O7G3CZ42.js";import"./chunk-N3N5UHIL.js";import"./chunk-YMVDWVMO.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";var LOGIN_VALID_HOURS=12;async function login(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(loginSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr login <engine> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let engineArg=parsedArgs.args[0],project=parsedArgs.flags["--project"];if(telemetry.trackCliArgumentEngine(engineArg),telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),!engineArg){let message=`Missing engine. Choose one of: ${VCR_ENGINES.join(", ")}.`;return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr login docker"),when:"Replace docker with the container tool you use"}]},1),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS",message)}let choiceError=validateVcrChoice(client,"engine",engineArg,VCR_ENGINES,fr.jsonOutput);if(typeof choiceError=="number")return choiceError;let engine=engineArg;if(!isEngineInstalled(engine)){let message=`\`${engine}\` is not installed or not on your PATH. Install it and try again.`;return outputAgentError(client,{status:"error",reason:"engine_not_found",message},1),outputError(client,fr.jsonOutput,"ENGINE_NOT_FOUND",message)}let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let registry=resolveRegistry();output_manager_default.spinner(`Authenticating ${engine} with ${registry}...`);try{let{token}=await client.fetch(`/projects/${scope.projectId}/token`,{method:"POST",accountId:scope.teamId,body:JSON.stringify({source:"vercel-cli"}),headers:{"Content-Type":"application/json"}}),result=await engineLogin(engine,registry,token);if(result.exitCode!==0&&CREDENTIAL_STORE_CONFLICT.test(result.stderr)&&(output_manager_default.debug(`Stale ${registry} credential in the ${engine} credential store; running \`${engine} logout\` and retrying`),await engineLogout(engine,registry),result=await engineLogin(engine,registry,token)),result.exitCode!==0){let message=AUTH_FAILURE.test(result.stderr)?`Authentication to ${registry} as "${VCR_LOGIN_USERNAME}" was rejected. The OIDC token may be expired or lack access to this project.`:`\`${engine} login\` failed (exit code ${result.exitCode}).${stderrTail(result.stderr)?`
8
+ ${stderrTail(result.stderr)}`:""}`;return outputAgentError(client,{status:"error",reason:AUTH_FAILURE.test(result.stderr)?"not_authorized":"command_failed",message,next:[{command:buildCommandWithGlobalFlags(client.argv,"whoami"),when:"See current user and team"}]},1),outputError(client,fr.jsonOutput,AUTH_FAILURE.test(result.stderr)?"NOT_AUTHORIZED":"COMMAND_FAILED",message)}return fr.jsonOutput?client.stdout.write(`${JSON.stringify({status:"success",engine,registry,username:VCR_LOGIN_USERNAME,validForHours:LOGIN_VALID_HOURS},null,2)}
9
+ `):(output_manager_default.success(`Logged in to ${registry} as ${VCR_LOGIN_USERNAME} (${engine}).`),output_manager_default.log(`Credentials are valid for ~${LOGIN_VALID_HOURS} hours. Re-run \`${buildCommandWithGlobalFlags(client.argv,`vcr login ${engine}`)}\` to refresh.`)),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{login as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{collectBuildLogs,displayBuildLogs,displayBuildLogsUntilFinalError,displayRuntimeLogs,parseLogLines}from"./chunk-HVUHCRZB.js";import"./chunk-WRILLB46.js";import"./chunk-M2XARQBF.js";import"./chunk-TRTEXGVN.js";import"./chunk-MEAY2K5Z.js";import"./chunk-QTKJC2O5.js";import"./chunk-G7Y77DFH.js";import"./chunk-JYAUUIR4.js";import"./chunk-5QQNYN4N.js";import"./chunk-5XJNPXQK.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";export{collectBuildLogs,displayBuildLogs,displayBuildLogsUntilFinalError,displayRuntimeLogs,parseLogLines};
@@ -0,0 +1,12 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoriesPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatRelativeTime,handleVcrApiError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import{outputError,validateOptionalIntegerRange}from"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{listSubcommand}from"./chunk-3QT7VOE3.js";import"./chunk-O7G3CZ42.js";import"./chunk-N3N5UHIL.js";import"./chunk-YMVDWVMO.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{table}from"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printRepositories(list){if(list.repositories.length===0){output_manager_default.log("No repositories found.");return}let rows=[["Name","ID","Created"].map(h=>import_chalk.default.cyan(h)),...list.repositories.map(repo=>[import_chalk.default.bold(repo.name),import_chalk.default.dim(repo.id),formatRelativeTime(repo.createdAt)])],tableOutput=table(rows,{hsep:3}).split(`
8
+ `).map(line=>line.trimEnd()).join(`
9
+ `).replace(/^/gm," ");output_manager_default.print(`
10
+ ${tableOutput}
11
+ `),list.nextCursor&&output_manager_default.log(`More results available. Re-run with \`--next ${list.nextCursor}\`.`)}async function ls(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(listSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr ls --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let project=parsedArgs.flags["--project"],cursor=parsedArgs.flags["--next"]??parsedArgs.flags["--cursor"],limitFlag=parsedArgs.flags["--limit"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionLimit(limitFlag),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionCursor(parsedArgs.flags["--cursor"]),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let limitResult=validateOptionalIntegerRange(limitFlag,{flag:"--limit",min:1,max:100});if(!limitResult.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:limitResult.message},1),outputError(client,fr.jsonOutput,limitResult.code,limitResult.message);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoriesPath(scope,{limit:limitResult.value,cursor});output_manager_default.spinner("Fetching repositories...");try{let list=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify(list,null,2)}
12
+ `):printRepositories(list),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{ls as default};
@@ -0,0 +1,12 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoryImagesPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatBytes,formatDigest,formatImageStatus,formatRelativeTime,handleVcrApiError,requireVcrRepository,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import{outputError,validateOptionalIntegerRange}from"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{imageLsSubcommand}from"./chunk-N3N5UHIL.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{table}from"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function formatType(kind){return kind==="index"?"Index":"Image"}function printImages(list){if(list.images.length===0){output_manager_default.log("No images found.");return}let rows=[["Image ID","Digest","Tags","Type","Status","Arch","Size","Created"].map(h=>import_chalk.default.cyan(h)),...list.images.map(image=>[import_chalk.default.bold(image.id),import_chalk.default.dim(formatDigest(image.manifestDigest)),image.tags.length>0?image.tags.join(", "):import_chalk.default.dim("<none>"),formatType(image.kind),formatImageStatus(image.status),image.arch??"-",formatBytes(image.sizeInBytes),formatRelativeTime(image.createdAt)])],tableOutput=table(rows,{hsep:3}).split(`
8
+ `).map(line=>line.trimEnd()).join(`
9
+ `).replace(/^/gm," ");output_manager_default.print(`
10
+ ${tableOutput}
11
+ `),list.nextCursor&&output_manager_default.log(`More results available. Re-run with \`--next ${list.nextCursor}\`.`)}async function ls(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(imageLsSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr image ls <repository> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],project=parsedArgs.flags["--project"],cursor=parsedArgs.flags["--next"]??parsedArgs.flags["--cursor"],limitFlag=parsedArgs.flags["--limit"],untagged=parsedArgs.flags["--untagged"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionLimit(limitFlag),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionCursor(parsedArgs.flags["--cursor"]),telemetry.trackCliFlagUntagged(untagged),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingRepository=requireVcrRepository(client,repository,fr.jsonOutput,"vcr image ls <repository>");if(typeof missingRepository=="number")return missingRepository;let limitResult=validateOptionalIntegerRange(limitFlag,{flag:"--limit",min:1,max:100});if(!limitResult.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:limitResult.message},1),outputError(client,fr.jsonOutput,limitResult.code,limitResult.message);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryImagesPath(scope,repository,{limit:limitResult.value,cursor,untagged});output_manager_default.spinner("Fetching images...");try{let list=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify(list,null,2)}
12
+ `):printImages(list),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{ls as default};
@@ -0,0 +1,12 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoryTagsPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatBytes,formatDigest,formatRelativeTime,handleVcrApiError,requireVcrRepository,resolveVcrScope,validateVcrChoice,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import{outputError,validateOptionalIntegerRange}from"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{TAGS_SORT_BY_CHOICES,TAGS_SORT_ORDER_CHOICES,tagsLsSubcommand}from"./chunk-O7G3CZ42.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{table}from"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printTags(list){if(list.tags.length===0){output_manager_default.log("No tags found.");return}let rows=[["Tag","Image ID","Digest","Arch","Size","Created"].map(h=>import_chalk.default.cyan(h)),...list.tags.map(tag=>[import_chalk.default.bold(tag.tag),import_chalk.default.dim(tag.imageId),import_chalk.default.dim(formatDigest(tag.manifestDigest)),tag.arch??"-",formatBytes(tag.sizeInBytes),formatRelativeTime(tag.createdAt)])],tableOutput=table(rows,{hsep:3}).split(`
8
+ `).map(line=>line.trimEnd()).join(`
9
+ `).replace(/^/gm," ");output_manager_default.print(`
10
+ ${tableOutput}
11
+ `),list.nextCursor&&output_manager_default.log(`More results available. Re-run with \`--next ${list.nextCursor}\`.`)}async function ls(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(tagsLsSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr tag ls <repository> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],project=parsedArgs.flags["--project"],cursor=parsedArgs.flags["--next"]??parsedArgs.flags["--cursor"],limitFlag=parsedArgs.flags["--limit"],sortBy=parsedArgs.flags["--sort-by"],sortOrder=parsedArgs.flags["--sort-order"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionLimit(limitFlag),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionCursor(parsedArgs.flags["--cursor"]),telemetry.trackCliOptionSortBy(sortBy),telemetry.trackCliOptionSortOrder(sortOrder),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingRepository=requireVcrRepository(client,repository,fr.jsonOutput,"vcr tag ls <repository>");if(typeof missingRepository=="number")return missingRepository;let limitResult=validateOptionalIntegerRange(limitFlag,{flag:"--limit",min:1,max:100});if(!limitResult.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:limitResult.message},1),outputError(client,fr.jsonOutput,limitResult.code,limitResult.message);let sortByError=validateVcrChoice(client,"--sort-by",sortBy,TAGS_SORT_BY_CHOICES,fr.jsonOutput);if(typeof sortByError=="number")return sortByError;let sortOrderError=validateVcrChoice(client,"--sort-order",sortOrder,TAGS_SORT_ORDER_CHOICES,fr.jsonOutput);if(typeof sortOrderError=="number")return sortOrderError;let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryTagsPath(scope,repository,{limit:limitResult.value,cursor,sortBy,sortOrder});output_manager_default.spinner("Fetching tags...");try{let list=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify(list,null,2)}
12
+ `):printTags(list),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{ls as default};
@@ -0,0 +1,12 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{repositoryPermissionsPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,formatRelativeTime,handleVcrApiError,requireVcrRepository,resolveVcrScope,validateVcrJsonOutput}from"./chunk-GTRGQIY2.js";import{outputError,validateOptionalIntegerRange}from"./chunk-6RIQPTJA.js";import"./chunk-D4MW3RDW.js";import{permissionsLsSubcommand}from"./chunk-YMVDWVMO.js";import"./chunk-HBFPLBTX.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import{table}from"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import{outputAgentError}from"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);function printPermissions(list){if(list.permissions.length===0){output_manager_default.log("This repository has not been shared with any teams.");return}let rows=[["Team","Added"].map(h=>import_chalk.default.cyan(h)),...list.permissions.map(permission=>[import_chalk.default.bold(permission.teamSlug),formatRelativeTime(permission.createdAt)])],tableOutput=table(rows,{hsep:3}).split(`
8
+ `).map(line=>line.trimEnd()).join(`
9
+ `).replace(/^/gm," ");output_manager_default.print(`
10
+ ${tableOutput}
11
+ `),list.nextCursor&&output_manager_default.log(`More results available. Re-run with \`--next ${list.nextCursor}\`.`)}async function ls(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(permissionsLsSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr permissions <repository> ls --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],project=parsedArgs.flags["--project"],cursor=parsedArgs.flags["--next"]??parsedArgs.flags["--cursor"],limitFlag=parsedArgs.flags["--limit"];telemetry.trackCliOptionProject(project),telemetry.trackCliOptionLimit(limitFlag),telemetry.trackCliOptionNext(parsedArgs.flags["--next"]),telemetry.trackCliOptionCursor(parsedArgs.flags["--cursor"]),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]);let missingRepository=requireVcrRepository(client,repository,fr.jsonOutput,"vcr permissions <repository> ls");if(typeof missingRepository=="number")return missingRepository;let limitResult=validateOptionalIntegerRange(limitFlag,{flag:"--limit",min:1,max:100});if(!limitResult.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:limitResult.message},1),outputError(client,fr.jsonOutput,limitResult.code,limitResult.message);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryPermissionsPath(scope,repository,{limit:limitResult.value??100,cursor});output_manager_default.spinner("Fetching repository permissions...");try{let list=await client.fetch(path);return fr.jsonOutput?client.stdout.write(`${JSON.stringify(list,null,2)}
12
+ `):printPermissions(list),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput);throw err}finally{output_manager_default.stopSpinner()}}export{ls as default};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{RULE_LIMIT,formatPath,formatRate,handleTracingApiError,readProjectTracing,resolveConfigScope,subcommandArguments,writeConfigJson}from"./chunk-KO733OJG.js";import"./chunk-CUAIEGNE.js";import{formatTable}from"./chunk-NUGLE4QY.js";import{validateLsArgs}from"./chunk-3TXEXPUW.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import{lsSubcommand}from"./chunk-IVWPQYIH.js";import"./chunk-ENS6KX2F.js";import"./chunk-LDM3SQAU.js";import"./chunk-ENBTTYJR.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{TelemetryClient}from"./chunk-57GHYR4Y.js";import"./chunk-RCTYVKM5.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-7T6TL3GQ.js";import"./chunk-BRK4OB4B.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import"./chunk-R2TGGVCT.js";import{getCommandName,getCommandNamePlain}from"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import{require_source}from"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);var TracesConfigLsTelemetryClient=class extends TelemetryClient{trackCliFlagJson(json){json&&this.trackCliFlag("json")}};var SET_HINT="traces config set <environment> <rate> [requestPath]";function ruleCountLabel(count){return`${count} of ${RULE_LIMIT} rules`}function printTable(projectName,rows){output_manager_default.log(`Trace sampling rules for ${import_chalk.default.bold(projectName)} (${ruleCountLabel(rows.length)})`),output_manager_default.print(`${formatTable(["environment","path","rate"],["l","l","l"],[{rows:rows.map(row=>[row.environment,formatPath(row.requestPath),formatRate(row.sampleRate)])}])}
8
+ `)}async function ls(client){let telemetry=new TracesConfigLsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(lsSubcommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return printError(err),1}let{flags}=parsedArgs;telemetry.trackCliOptionFormat(flags["--format"]),telemetry.trackCliFlagJson(flags["--json"]),telemetry.trackCliOptionProject(flags["--project"]);let argsResult=validateLsArgs({commandName:"traces config ls",args:subcommandArguments(parsedArgs.args),maxArgs:0,exitCode:2});if(argsResult!==0)return argsResult;let formatResult=validateJsonOutput(flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),1;let asJson=formatResult.jsonOutput||client.nonInteractive,scope=await resolveConfigScope(client,{project:flags["--project"]});if("exitCode"in scope)return scope.exitCode;asJson||output_manager_default.spinner("Fetching trace sampling rules\u2026");let project,entries;try{({project,entries}=await readProjectTracing({client,...scope}))}catch(err){return output_manager_default.stopSpinner(),handleTracingApiError(client,err)}output_manager_default.stopSpinner();let rows=entries.filter(entry=>entry.rule.destination==="internal").map(entry=>entry.row),message=rows.length===0?`No trace sampling rules for ${project.name}.`:`Listed ${ruleCountLabel(rows.length)}.`;return asJson?(writeConfigJson(client,{project,bare:rows,envelope:{rules:rows},message,next:[{command:getCommandNamePlain(SET_HINT),when:"Add or replace a sampling rule"}]}),0):rows.length===0?(output_manager_default.log(`No trace sampling rules for ${import_chalk.default.bold(project.name)}.`),output_manager_default.dim(`Add one with ${getCommandName(SET_HINT)}`),0):(printTable(project.name,rows),0)}export{ls as default};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{printRules}from"./chunk-G6CTAHKY.js";import{emitRulesArgParseError,handleRulesApiError,outputRulesError,parseRulesFlagsAndScope,rulesCollectionPath}from"./chunk-TKBXN4H3.js";import"./chunk-7PNYOSDU.js";import"./chunk-AFPOIDM5.js";import"./chunk-6PFC3KWQ.js";import"./chunk-GZNDA6SV.js";import"./chunk-WRILLB46.js";import{normalizeRepeatableStringFilters}from"./chunk-6RIQPTJA.js";import"./chunk-GHAY4PSD.js";import"./chunk-2PPXY24N.js";import"./chunk-TRTEXGVN.js";import"./chunk-T3GQAMBJ.js";import"./chunk-J3U3L45Y.js";import"./chunk-ZIPVX7LD.js";import"./chunk-NHTF332K.js";import"./chunk-MBL6TXEJ.js";import{validateJsonOutput}from"./chunk-D4MW3RDW.js";import"./chunk-P2O5DOYE.js";import{rulesLsSubcommand}from"./chunk-FKCOBJFH.js";import"./chunk-GHM7V3GG.js";import"./chunk-QR7QPUFN.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENBTTYJR.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import"./chunk-RCTYVKM5.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-BRK4OB4B.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import"./chunk-OSCCYU74.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";var BUILT_IN_ALERT_TYPES=["usage_anomaly","error_anomaly","botId_anomaly","firewallSystemRule_anomaly","firewallCustomRule_anomaly","testAlert_anomaly","buildTime_anomaly"];var BUILT_IN_ALERT_TYPE_SET=new Set(BUILT_IN_ALERT_TYPES);function parseRuleTypeFilter(client,values,jsonOutput){let types=normalizeRepeatableStringFilters(values);if(types.length===0)return;let invalidType=types.find(type=>type!=="built-in"&&type!=="custom"&&type!=="custom_alert"&&!BUILT_IN_ALERT_TYPE_SET.has(type));if(invalidType)return outputRulesError(client,jsonOutput,"INVALID_RULE_TYPE",`Invalid rule type "${invalidType}". Expected built-in, custom, or a supported built-in trigger type.`);let includeCustom=types.includes("custom")||types.includes("custom_alert"),includeAllBuiltIn=types.includes("built-in"),builtInAlertTypes=new Set(types.filter(type=>BUILT_IN_ALERT_TYPE_SET.has(type))),includeBuiltIn=includeAllBuiltIn||builtInAlertTypes.size>0;return{apiType:includeCustom===includeBuiltIn?void 0:includeCustom?"custom":"built-in",matches(rule){return rule.type==="custom"?includeCustom:includeAllBuiltIn?!0:includeBuiltIn?rule.triggers.mode==="all"?!0:rule.triggers.items.some(trigger=>builtInAlertTypes.has(trigger.type)):!1}}}async function ls(client,argv){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(rulesLsSubcommand.options))}catch(error){return emitRulesArgParseError(client,error,"alerts rules ls --project <name-or-id>"),printError(error),1}let flags=parsedArgs.flags,format=validateJsonOutput(flags);if(!format.valid)return outputRulesError(client,!1,"INVALID_ARGUMENTS",format.error);let typeFilter=parseRuleTypeFilter(client,flags["--type"],format.jsonOutput);if(typeof typeFilter=="number")return typeFilter;let scope=await parseRulesFlagsAndScope(client,{"--project":flags["--project"],"--all":flags["--all"]},format.jsonOutput,"alerts rules ls");if(typeof scope=="number")return scope;output_manager_default.spinner("Fetching alert rules\u2026");try{let rules=[],cursor;do{let page=await client.fetch(rulesCollectionPath(scope.teamId,{limit:100,cursor,projectId:scope.projectId,type:typeFilter?.apiType}));rules.push(...page.rules),cursor=page.pagination.next??void 0}while(cursor);let filteredRules=typeFilter?rules.filter(typeFilter.matches):rules;return format.jsonOutput?client.stdout.write(`${JSON.stringify({rules:filteredRules},null,2)}
8
+ `):filteredRules.length===0?output_manager_default.log("No alert rules found for this scope"):printRules(filteredRules),0}catch(error){if(isAPIError(error))return handleRulesApiError(client,error,format.jsonOutput);throw error}finally{output_manager_default.stopSpinner()}}export{ls as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{CURL_INSTALL_COMMAND,clearPinnedVersion,executeNativeSelfUpdate,getLinkedVersion,getPinnedVersion,getPrBinaryBaseUrl,getPrBuildSha,installAndLinkPrBinary,installAndLinkVersion,isCurlInstall,isLinkedToPrBuild,listAvailableVersions,listInstalledVersions,missingPrPlatformMessage,parsePrTarget,setPinnedVersion}from"./chunk-YKZLKOOD.js";import"./chunk-KKS7XWEX.js";import"./chunk-NNP5NITU.js";import"./chunk-L3JDEHCQ.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-MY4MONOH.js";import{getInstallRoot}from"./chunk-7T6TL3GQ.js";import"./chunk-BRK4OB4B.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";export{CURL_INSTALL_COMMAND,clearPinnedVersion,executeNativeSelfUpdate,getInstallRoot,getLinkedVersion,getPinnedVersion,getPrBinaryBaseUrl,getPrBuildSha,installAndLinkPrBinary,installAndLinkVersion,isCurlInstall,isLinkedToPrBuild,listAvailableVersions,listInstalledVersions,missingPrPlatformMessage,parsePrTarget,setPinnedVersion};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{parseThreadArg}from"./chunk-2S6PE6GB.js";import{getThread,handleCommentsParseError,resolveCommentsScope,threadNotFoundMessage,toApiErrorParts}from"./chunk-XHOGOH6N.js";import{outputError}from"./chunk-6RIQPTJA.js";import{openSubcommand}from"./chunk-NBVY237X.js";import"./chunk-QTKJC2O5.js";import"./chunk-ENS6KX2F.js";import{require_open}from"./chunk-ULLWCOYC.js";import"./chunk-LDM3SQAU.js";import"./chunk-ENBTTYJR.js";import"./chunk-NS4FH2TY.js";import"./chunk-5QQNYN4N.js";import{parseArguments}from"./chunk-HTC6KO2B.js";import"./chunk-5XJNPXQK.js";import"./chunk-LNPMDXBJ.js";import"./chunk-MY4MONOH.js";import"./chunk-VLZ47RWM.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-XSVBYDYI.js";import"./chunk-EVZRQGNK.js";import{isAPIError}from"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import{output_manager_default}from"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_open=__toESM(require_open(),1);async function openThread(client,telemetry){let parsedArgs,flagsSpecification=getFlagsSpecification(openSubcommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return handleCommentsParseError(err,"open")}let threadInput=parsedArgs.args[2];if(telemetry.trackCliArgumentThread(threadInput),!threadInput)return output_manager_default.error("Pass a thread ID or URL: `vercel comments open <thread>`."),1;let threadRef=parseThreadArg(threadInput);if(!threadRef)return output_manager_default.error(`Could not extract a thread ID from "${threadInput}". Pass the thread ID or its vercel.com URL.`),1;let threadId=threadRef.id;telemetry.trackCliOptionProject(parsedArgs.flags["--project"]);let scope=await resolveCommentsScope(client,{project:parsedArgs.flags["--project"],requireProject:!1,jsonOutput:!1,urlTeamSlug:threadRef.teamSlug});if(typeof scope=="number")return scope;let webUrl;try{webUrl=(await getThread(client,scope.teamId,threadId)).webUrl}catch(err){if(isAPIError(err)){let{code,message}=toApiErrorParts(err);return outputError(client,!1,code,err.status===404?threadNotFoundMessage(threadId,scope):message)}throw err}return webUrl?(output_manager_default.log(`Opening ${webUrl}`),await(0,import_open.default)(webUrl),0):(output_manager_default.error(`The API returned no web URL for ${threadId}.`),1)}export{openThread as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{createOpenApiCache,fetchSpecUrl,foldNamingStyle,formatAsCard,formatAsDataTable,inferCliSubcommandAliases,operationIdToKebabCase,resolveEndpointByTagAndOperationId,tryOpenApiFallback}from"./chunk-EGMJRU5P.js";import{humanReadableColumnLabel,humanizeIdentifier}from"./chunk-GHAY4PSD.js";import{CACHE_FILE,CACHE_TTL_MS,FETCH_TIMEOUT_MS,MAX_OPENAPI_SPEC_BYTES,OPENAPI_URL,OpenApiCache,SSO_API_URL,VERCEL_CLI_ROOT_DISPLAY_KEY,assertAllowedSpecUrl,matchesCliApiTag,readSpecResponse,resolveOpenApiTagForProjectsCli}from"./chunk-RAIBQIKB.js";import"./chunk-ZIPVX7LD.js";import"./chunk-D4MW3RDW.js";import"./chunk-CVKB54WW.js";import"./chunk-QTKJC2O5.js";import"./chunk-2B2MN3U5.js";import"./chunk-6TAQ6OWD.js";import"./chunk-WPS6JZF6.js";import"./chunk-57GHYR4Y.js";import"./chunk-RCTYVKM5.js";import"./chunk-HTC6KO2B.js";import"./chunk-LNPMDXBJ.js";import"./chunk-7T6TL3GQ.js";import"./chunk-BRK4OB4B.js";import"./chunk-F2ZWW2IO.js";import"./chunk-OSCCYU74.js";import"./chunk-JAJW3P42.js";import"./chunk-R2TGGVCT.js";import"./chunk-FI772UVH.js";import"./chunk-XFVGX5HG.js";import"./chunk-Z6Y55QJW.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";export{CACHE_FILE,CACHE_TTL_MS,FETCH_TIMEOUT_MS,MAX_OPENAPI_SPEC_BYTES,OPENAPI_URL,OpenApiCache,SSO_API_URL,VERCEL_CLI_ROOT_DISPLAY_KEY,assertAllowedSpecUrl,createOpenApiCache,fetchSpecUrl,foldNamingStyle,formatAsCard,formatAsDataTable,humanReadableColumnLabel,humanizeIdentifier,inferCliSubcommandAliases,matchesCliApiTag,operationIdToKebabCase,readSpecResponse,resolveEndpointByTagAndOperationId,resolveOpenApiTagForProjectsCli,tryOpenApiFallback};