vercel 59.13.1 → 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-A3NYPUKZ.js → chunk-BRK4OB4B.js} +1 -11
  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-O26N2UPI.js → chunk-CZSOZKHX.js} +1 -9
  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-WEQVJSYS.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-QR7QPUFN.js +7 -0
  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/{pkg-56KRLZ5K.js → chunk-T3GQAMBJ.js} +1 -7
  140. package/dist/chunks/chunk-T52FMXWC.js +7 -0
  141. package/dist/chunks/{chunk-2473DUBR.js → chunk-TG2RCYTH.js} +1 -9
  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/{update-route-version-E3V47KNI.js → chunk-XD2LZRBS.js} +1 -7
  159. package/dist/chunks/{chunk-64IF634X.js → chunk-XFVGX5HG.js} +1 -12
  160. package/dist/chunks/chunk-XHOGOH6N.js +7 -0
  161. package/dist/chunks/chunk-XPXOV5UO.js +7 -0
  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 -4918
  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 +1204 -86657
  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 +48 -49
  273. package/dist/chunks/add-7OX6PBFD.js +0 -145
  274. package/dist/chunks/add-7RYUFBZ3.js +0 -221
  275. package/dist/chunks/add-FX5WWUXU.js +0 -196
  276. package/dist/chunks/build-Q3TR46K4.js +0 -251
  277. package/dist/chunks/chunk-26CU4Q3C.js +0 -598
  278. package/dist/chunks/chunk-2GXA4NGG.js +0 -163
  279. package/dist/chunks/chunk-2HSQ7YUK.js +0 -93
  280. package/dist/chunks/chunk-2JIX6UMI.js +0 -4626
  281. package/dist/chunks/chunk-2QFYCMKN.js +0 -3495
  282. package/dist/chunks/chunk-332LMJLZ.js +0 -16014
  283. package/dist/chunks/chunk-3FIEWWMM.js +0 -59
  284. package/dist/chunks/chunk-3HZLXCVL.js +0 -137
  285. package/dist/chunks/chunk-3VM7HWF6.js +0 -104
  286. package/dist/chunks/chunk-3ZE5CFVM.js +0 -346
  287. package/dist/chunks/chunk-4IALDGB7.js +0 -22
  288. package/dist/chunks/chunk-4KD5BYHB.js +0 -127
  289. package/dist/chunks/chunk-4TUMNBEE.js +0 -231
  290. package/dist/chunks/chunk-57RHXXXG.js +0 -150
  291. package/dist/chunks/chunk-5AJPMLDV.js +0 -28
  292. package/dist/chunks/chunk-5JDX6XOS.js +0 -1536
  293. package/dist/chunks/chunk-5NF5HOBJ.js +0 -1854
  294. package/dist/chunks/chunk-5ORMFNXL.js +0 -13413
  295. package/dist/chunks/chunk-66LPM47Z.js +0 -137
  296. package/dist/chunks/chunk-6E6KPBXY.js +0 -43
  297. package/dist/chunks/chunk-76CB3CF2.js +0 -522
  298. package/dist/chunks/chunk-7F5RNOTP.js +0 -14059
  299. package/dist/chunks/chunk-7MRDIPJY.js +0 -107
  300. package/dist/chunks/chunk-7NRNFV77.js +0 -875
  301. package/dist/chunks/chunk-7Q45OKWR.js +0 -149
  302. package/dist/chunks/chunk-AHU7WNL2.js +0 -24
  303. package/dist/chunks/chunk-AINIBIP4.js +0 -39
  304. package/dist/chunks/chunk-AKLTIZCU.js +0 -46
  305. package/dist/chunks/chunk-B5XLQKHI.js +0 -849
  306. package/dist/chunks/chunk-BEQV3X2L.js +0 -86
  307. package/dist/chunks/chunk-CJV7J7B5.js +0 -314
  308. package/dist/chunks/chunk-CV5YC2EN.js +0 -867
  309. package/dist/chunks/chunk-DQ23J2KG.js +0 -305
  310. package/dist/chunks/chunk-E336ZXPP.js +0 -43
  311. package/dist/chunks/chunk-EDMW7SBH.js +0 -246
  312. package/dist/chunks/chunk-EEV2LKFC.js +0 -58
  313. package/dist/chunks/chunk-EFYMIIER.js +0 -40
  314. package/dist/chunks/chunk-EIBH6FCR.js +0 -253
  315. package/dist/chunks/chunk-EKPSCRJZ.js +0 -26
  316. package/dist/chunks/chunk-EOZFDJSY.js +0 -18
  317. package/dist/chunks/chunk-EZKW5YJ2.js +0 -177
  318. package/dist/chunks/chunk-F4S6Q4OY.js +0 -79
  319. package/dist/chunks/chunk-FGDKMNEN.js +0 -21
  320. package/dist/chunks/chunk-FRVG4OW3.js +0 -7438
  321. package/dist/chunks/chunk-G5FBSUL4.js +0 -822
  322. package/dist/chunks/chunk-GDOUDU6O.js +0 -74
  323. package/dist/chunks/chunk-GGP5R3FU.js +0 -129
  324. package/dist/chunks/chunk-GQRG7VFK.js +0 -257
  325. package/dist/chunks/chunk-GVNCVKCI.js +0 -68
  326. package/dist/chunks/chunk-GY5I4AYD.js +0 -122
  327. package/dist/chunks/chunk-GZLPFESR.js +0 -48
  328. package/dist/chunks/chunk-HB4UKFDO.js +0 -1295
  329. package/dist/chunks/chunk-HD4DR3DA.js +0 -818
  330. package/dist/chunks/chunk-HKHXKSXQ.js +0 -152
  331. package/dist/chunks/chunk-HM24ZWQL.js +0 -174
  332. package/dist/chunks/chunk-HRXRELD3.js +0 -338
  333. package/dist/chunks/chunk-IB5L4LKZ.js +0 -1082
  334. package/dist/chunks/chunk-IIMSID24.js +0 -104
  335. package/dist/chunks/chunk-IK6PC2JA.js +0 -1288
  336. package/dist/chunks/chunk-IUC3TR3S.js +0 -92
  337. package/dist/chunks/chunk-JIK2FUMT.js +0 -1892
  338. package/dist/chunks/chunk-JSD4EZL3.js +0 -34
  339. package/dist/chunks/chunk-K3RED3VO.js +0 -566
  340. package/dist/chunks/chunk-KFWQ3EFH.js +0 -151
  341. package/dist/chunks/chunk-KU2WCB6G.js +0 -1708
  342. package/dist/chunks/chunk-KW7BS25T.js +0 -466
  343. package/dist/chunks/chunk-KXDWXXJH.js +0 -70
  344. package/dist/chunks/chunk-KXTXGYG7.js +0 -577
  345. package/dist/chunks/chunk-L4H3DP65.js +0 -417
  346. package/dist/chunks/chunk-LE5V7G2U.js +0 -559
  347. package/dist/chunks/chunk-LVCCV2YJ.js +0 -324
  348. package/dist/chunks/chunk-MUGF3SGQ.js +0 -49
  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-NSGRICJ2.js +0 -506
  353. package/dist/chunks/chunk-NW34PW6V.js +0 -1772
  354. package/dist/chunks/chunk-OAMU5QO6.js +0 -18
  355. package/dist/chunks/chunk-P3SKP5WM.js +0 -27
  356. package/dist/chunks/chunk-P4QNYOFB.js +0 -96
  357. package/dist/chunks/chunk-P7VSBDR4.js +0 -827
  358. package/dist/chunks/chunk-PEC3CQSK.js +0 -90
  359. package/dist/chunks/chunk-PMSMUMUO.js +0 -30
  360. package/dist/chunks/chunk-PNGVSHR3.js +0 -40
  361. package/dist/chunks/chunk-POOO7W47.js +0 -916
  362. package/dist/chunks/chunk-PRWJUY5U.js +0 -848
  363. package/dist/chunks/chunk-Q2DGFCO7.js +0 -579
  364. package/dist/chunks/chunk-QRFRS2JH.js +0 -242
  365. package/dist/chunks/chunk-QSJ6Q5QP.js +0 -255
  366. package/dist/chunks/chunk-RBIFXFZX.js +0 -52
  367. package/dist/chunks/chunk-RN6V5ODW.js +0 -114
  368. package/dist/chunks/chunk-RVBZ64EQ.js +0 -52
  369. package/dist/chunks/chunk-S3HYE6ZE.js +0 -61
  370. package/dist/chunks/chunk-S7KYDPEM.js +0 -1564
  371. package/dist/chunks/chunk-SLPSPYVR.js +0 -334
  372. package/dist/chunks/chunk-SPRQ4IBQ.js +0 -11441
  373. package/dist/chunks/chunk-T3NB7VQG.js +0 -2399
  374. package/dist/chunks/chunk-TLPHZ7M4.js +0 -81
  375. package/dist/chunks/chunk-TO7QZGYK.js +0 -105
  376. package/dist/chunks/chunk-TOXZAP5I.js +0 -90
  377. package/dist/chunks/chunk-TZ2YI2VH.js +0 -87
  378. package/dist/chunks/chunk-U4ZLWJQD.js +0 -2914
  379. package/dist/chunks/chunk-UG2WOB5L.js +0 -150
  380. package/dist/chunks/chunk-UXKNSAP2.js +0 -233
  381. package/dist/chunks/chunk-V4RMJKQP.js +0 -36
  382. package/dist/chunks/chunk-VGIMO3ZK.js +0 -17
  383. package/dist/chunks/chunk-VP5Y3SZG.js +0 -106
  384. package/dist/chunks/chunk-VUS2JQB2.js +0 -121
  385. package/dist/chunks/chunk-VXYGCOKL.js +0 -28
  386. package/dist/chunks/chunk-WGGABYO5.js +0 -31
  387. package/dist/chunks/chunk-XDGOOW3K.js +0 -60
  388. package/dist/chunks/chunk-XEVKGAVI.js +0 -2099
  389. package/dist/chunks/chunk-XFF5TGRA.js +0 -303
  390. package/dist/chunks/chunk-XNIZGCN5.js +0 -58
  391. package/dist/chunks/chunk-XPJLPUKO.js +0 -117
  392. package/dist/chunks/chunk-XUAWTW4W.js +0 -467
  393. package/dist/chunks/chunk-YPQSDAEW.js +0 -29
  394. package/dist/chunks/chunk-YS76T533.js +0 -270
  395. package/dist/chunks/chunk-Z6YZMXVN.js +0 -233
  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-GIAFWC5X.js +0 -141
  400. package/dist/chunks/compile-vercel-config-QJGEQKK4.js +0 -33
  401. package/dist/chunks/config-AOA2HS4R.js +0 -168
  402. package/dist/chunks/config-HYBSW733.js +0 -127
  403. package/dist/chunks/delete-BBFI75A2.js +0 -226
  404. package/dist/chunks/delete-DJ7RI2NX.js +0 -159
  405. package/dist/chunks/detect-projects-ODNU4PK2.js +0 -18
  406. package/dist/chunks/detect-services-Q2DVXVMH.js +0 -40
  407. package/dist/chunks/disable-P7X2V5LS.js +0 -198
  408. package/dist/chunks/discard-JNQBH4XU.js +0 -145
  409. package/dist/chunks/edit-AXQEMBQC.js +0 -162
  410. package/dist/chunks/edit-BO3GXEKA.js +0 -647
  411. package/dist/chunks/enable-NC4BN7EQ.js +0 -204
  412. package/dist/chunks/exec-4IPHZ55G.js +0 -1291
  413. package/dist/chunks/export-HQ42UNYD.js +0 -177
  414. package/dist/chunks/fetch-proxy-R3JZNXBZ.js +0 -99
  415. package/dist/chunks/image-UM4FQYOA.js +0 -75
  416. package/dist/chunks/import-builders-F6SWNCHK.js +0 -39
  417. package/dist/chunks/inspect-EXEA57MP.js +0 -145
  418. package/dist/chunks/inspect-H3M3XJNB.js +0 -596
  419. package/dist/chunks/inspect-MTNQOLNM.js +0 -175
  420. package/dist/chunks/inspect-PYFF2K4X.js +0 -171
  421. package/dist/chunks/inspect-XF324IQ2.js +0 -216
  422. package/dist/chunks/list-4JHZJUBS.js +0 -426
  423. package/dist/chunks/list-YEN54SGY.js +0 -387
  424. package/dist/chunks/list-ZKD2O4D2.js +0 -404
  425. package/dist/chunks/login-56KGZQI2.js +0 -233
  426. package/dist/chunks/ls-ELYVF6EU.js +0 -223
  427. package/dist/chunks/ls-HZEMZY2R.js +0 -188
  428. package/dist/chunks/ls-IJW74NG3.js +0 -175
  429. package/dist/chunks/ls-OAGYLILX.js +0 -210
  430. package/dist/chunks/ls-QNTHMTIH.js +0 -183
  431. package/dist/chunks/ls-WW5UFH5B.js +0 -204
  432. package/dist/chunks/open-D2E5TEKN.js +0 -116
  433. package/dist/chunks/permissions-CFUXWXSK.js +0 -99
  434. package/dist/chunks/publish-BP4IUYNM.js +0 -155
  435. package/dist/chunks/pull-DL72B6RW.js +0 -45
  436. package/dist/chunks/push-6YCS4YQW.js +0 -191
  437. package/dist/chunks/query-7N3YB4LE.js +0 -725
  438. package/dist/chunks/reorder-YJN36TPT.js +0 -412
  439. package/dist/chunks/reply-3U3O7LNG.js +0 -176
  440. package/dist/chunks/resolve-TT75WCWT.js +0 -237
  441. package/dist/chunks/resolve-deployment-framework-preset-NPE6RLV3.js +0 -36
  442. package/dist/chunks/restore-6UF6W23A.js +0 -252
  443. package/dist/chunks/rm-3QIDFPVA.js +0 -162
  444. package/dist/chunks/rm-6MJ7ZPXQ.js +0 -148
  445. package/dist/chunks/rm-JZRS2NBH.js +0 -147
  446. package/dist/chunks/rm-KI4W2HYP.js +0 -322
  447. package/dist/chunks/rm-QCQXVB54.js +0 -195
  448. package/dist/chunks/routes-QVMBXOSX.js +0 -24
  449. package/dist/chunks/rule-inspect-PX73J52Q.js +0 -123
  450. package/dist/chunks/rules-Q334NBUC.js +0 -89
  451. package/dist/chunks/schema-GRTOHAZO.js +0 -381
  452. package/dist/chunks/schema-YV3XYL3A.js +0 -237
  453. package/dist/chunks/set-J3AQKL6V.js +0 -250
  454. package/dist/chunks/setup-and-link-R5N7WJ46.js +0 -65
  455. package/dist/chunks/stamp-AA7R3MZS.js +0 -16
  456. package/dist/chunks/tags-2VLJ4VIH.js +0 -69
  457. package/dist/chunks/types-4GAJ7XQQ.js +0 -116
  458. package/dist/chunks/update-VMS45VF2.js +0 -224
  459. package/dist/chunks/vlt-builder-importer-USCFHWPL.js +0 -322
@@ -1,34 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import {
8
- getCommandName
9
- } from "./chunk-Q2DGFCO7.js";
10
- import {
11
- output_manager_default
12
- } from "./chunk-2JIX6UMI.js";
13
- import {
14
- require_source
15
- } from "./chunk-S7KYDPEM.js";
16
- import {
17
- __toESM
18
- } from "./chunk-TZ2YI2VH.js";
19
-
20
- // src/util/validate-ls-args.ts
21
- var import_chalk = __toESM(require_source(), 1);
22
- function validateLsArgs(options) {
23
- const { commandName, args, maxArgs = 0, exitCode = 1, usageString } = options;
24
- if (args.length > maxArgs) {
25
- const usage = usageString || getCommandName(commandName);
26
- output_manager_default.error(`Invalid number of arguments. Usage: ${import_chalk.default.cyan(usage)}`);
27
- return exitCode;
28
- }
29
- return 0;
30
- }
31
-
32
- export {
33
- validateLsArgs
34
- };
@@ -1,566 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import {
8
- output_manager_default
9
- } from "./chunk-2JIX6UMI.js";
10
-
11
- // src/util/agent/auto-install-agentic.ts
12
- import { readFile, writeFile } from "fs/promises";
13
- import { access } from "fs/promises";
14
- import { dirname, join, resolve } from "path";
15
- import { homedir } from "os";
16
- import { spawn } from "child_process";
17
- import { KNOWN_AGENTS } from "@vercel/detect-agent";
18
- import { z } from "zod";
19
- var PREFS_FILE = "agent-preferences.json";
20
- var CLAUDE_LEGACY_PLUGIN_ID = "vercel-plugin@vercel";
21
- var CLAUDE_OFFICIAL_PLUGIN_ID = "vercel@claude-plugins-official";
22
- var VERCEL_PLUGIN_VERSION_URL = "https://raw.githubusercontent.com/vercel/vercel-plugin/main/.claude-plugin/plugin.json";
23
- var AGENT_TO_TARGET = {
24
- [KNOWN_AGENTS.CLAUDE]: "claude-code",
25
- [KNOWN_AGENTS.COWORK]: "claude-code"
26
- };
27
- function getPluginTargetForAgent(agentName) {
28
- if (!agentName) {
29
- return void 0;
30
- }
31
- if (agentName === KNOWN_AGENTS.CLAUDE || agentName.startsWith("claude-code") || agentName === KNOWN_AGENTS.COWORK) {
32
- return "claude-code";
33
- }
34
- return AGENT_TO_TARGET[agentName];
35
- }
36
- var promptedAtSchema = z.codec(
37
- z.union([z.iso.date(), z.iso.datetime()]),
38
- z.date(),
39
- {
40
- decode: (value) => new Date(value),
41
- encode: (value) => value.toISOString()
42
- }
43
- );
44
- var agentPreferencesSchema = z.object({
45
- pluginDeclined: z.boolean().optional(),
46
- pluginAutoUpdate: z.boolean().optional(),
47
- lastPromptedAt: promptedAtSchema.optional(),
48
- lastPluginAutoUpdateAttemptedAt: promptedAtSchema.optional(),
49
- lastPluginAutoUpdateAttemptedKey: z.string().optional()
50
- });
51
- async function fileExists(filePath) {
52
- try {
53
- await access(filePath);
54
- return true;
55
- } catch {
56
- return false;
57
- }
58
- }
59
- async function readPrefs(client) {
60
- return await client.maybeReadConfig(PREFS_FILE, agentPreferencesSchema) ?? {};
61
- }
62
- async function writePrefs(client, prefs) {
63
- try {
64
- await client.writeConfig(PREFS_FILE, agentPreferencesSchema, prefs);
65
- } catch {
66
- }
67
- }
68
- function encodeClaudeProjectDir(projectPath) {
69
- return projectPath.replace(/[^A-Za-z0-9]/g, "-");
70
- }
71
- async function projectHasUsedClaudeCode(cwd) {
72
- const home = homedir();
73
- const projectsDir = join(home, ".claude", "projects");
74
- let dir = resolve(cwd);
75
- while (dir !== home) {
76
- if (await fileExists(join(projectsDir, encodeClaudeProjectDir(dir)))) {
77
- return true;
78
- }
79
- const parent = dirname(dir);
80
- if (parent === dir) {
81
- break;
82
- }
83
- dir = parent;
84
- }
85
- return false;
86
- }
87
- async function getPluginTargets(agentName, cwd) {
88
- const targetForAgent = getPluginTargetForAgent(agentName);
89
- if (targetForAgent) {
90
- return [targetForAgent];
91
- }
92
- if (agentName) {
93
- return [];
94
- }
95
- if (cwd && await projectHasUsedClaudeCode(cwd)) {
96
- return ["claude-code"];
97
- }
98
- return [];
99
- }
100
- async function readClaudeInstalledPluginsFromRegistry() {
101
- try {
102
- const raw = await readFile(
103
- getClaudeInstalledPluginsRegistryPath(),
104
- "utf-8"
105
- );
106
- const data = JSON.parse(raw);
107
- const plugins = data?.plugins ?? {};
108
- const entries = [];
109
- for (const [id, installs] of Object.entries(plugins)) {
110
- if (!Array.isArray(installs))
111
- continue;
112
- for (const install of installs) {
113
- if (!install || typeof install !== "object")
114
- continue;
115
- entries.push({
116
- id,
117
- ...install,
118
- enabled: true
119
- });
120
- }
121
- }
122
- return entries;
123
- } catch {
124
- return [];
125
- }
126
- }
127
- function getClaudeInstalledPluginsRegistryPath() {
128
- return join(homedir(), ".claude", "plugins", "installed_plugins.json");
129
- }
130
- async function markStaleClaudePluginInstalls(plugins) {
131
- return Promise.all(
132
- plugins.map(async (plugin) => {
133
- if (plugin.installPath && !await fileExists(plugin.installPath)) {
134
- return { ...plugin, stale: true };
135
- }
136
- return plugin;
137
- })
138
- );
139
- }
140
- async function removeClaudePluginFromRegistry(pluginId) {
141
- try {
142
- const registryPath = getClaudeInstalledPluginsRegistryPath();
143
- const raw = await readFile(registryPath, "utf-8");
144
- const data = JSON.parse(raw);
145
- if (!data.plugins || !(pluginId in data.plugins)) {
146
- return false;
147
- }
148
- delete data.plugins[pluginId];
149
- await writeFile(
150
- registryPath,
151
- `${JSON.stringify(data, null, 2)}
152
- `,
153
- "utf-8"
154
- );
155
- return true;
156
- } catch (err) {
157
- output_manager_default.debug(`Failed to remove Claude plugin registry entry: ${err}`);
158
- return false;
159
- }
160
- }
161
- async function isPluginInstalledForTarget(target) {
162
- if (target === "claude-code") {
163
- const status = await getClaudePluginStatus();
164
- return status.state === "official-only";
165
- }
166
- return false;
167
- }
168
- async function confirm(client, message) {
169
- if (client.nonInteractive || !client.stdin.isTTY) {
170
- return false;
171
- }
172
- return client.input.confirm(message, true);
173
- }
174
- function isSameDay(left, right) {
175
- return left.getFullYear() === right.getFullYear() && left.getMonth() === right.getMonth() && left.getDate() === right.getDate();
176
- }
177
- function wasPromptedToday(prefs) {
178
- return prefs.lastPromptedAt ? isSameDay(prefs.lastPromptedAt, /* @__PURE__ */ new Date()) : false;
179
- }
180
- function wasPluginAutoUpdateAttemptedToday(prefs, attemptKey) {
181
- return prefs.lastPluginAutoUpdateAttemptedKey === attemptKey && !!prefs.lastPluginAutoUpdateAttemptedAt && isSameDay(prefs.lastPluginAutoUpdateAttemptedAt, /* @__PURE__ */ new Date());
182
- }
183
- async function markPromptedToday(client, prefs) {
184
- prefs.lastPromptedAt = /* @__PURE__ */ new Date();
185
- await writePrefs(client, prefs);
186
- }
187
- function markPluginAutoUpdateAttempted(prefs, attemptKey) {
188
- if (!attemptKey)
189
- return;
190
- prefs.lastPluginAutoUpdateAttemptedAt = /* @__PURE__ */ new Date();
191
- prefs.lastPluginAutoUpdateAttemptedKey = attemptKey;
192
- }
193
- async function runCommand(command, args) {
194
- return await new Promise((resolve2) => {
195
- const child = spawn(command, args, { stdio: "pipe" });
196
- let stdout = "";
197
- let stderr = "";
198
- child.stdout.on("data", (chunk) => {
199
- stdout += chunk.toString();
200
- });
201
- child.stderr.on("data", (chunk) => {
202
- stderr += chunk.toString();
203
- });
204
- child.on("close", (code) => {
205
- resolve2({ exitCode: code ?? 1, stdout, stderr });
206
- });
207
- child.on("error", (err) => {
208
- resolve2({ exitCode: 1, stdout, stderr: `${stderr}${String(err)}` });
209
- });
210
- });
211
- }
212
- async function getClaudeInstalledPlugins() {
213
- const result = await runCommand("claude", ["plugins", "list", "--json"]);
214
- if (result.exitCode === 0) {
215
- try {
216
- const parsed = JSON.parse(result.stdout);
217
- if (Array.isArray(parsed)) {
218
- return markStaleClaudePluginInstalls(parsed);
219
- }
220
- } catch (err) {
221
- output_manager_default.debug(`Failed to parse Claude plugin list JSON: ${err}`);
222
- }
223
- } else if (result.stderr.trim().length > 0) {
224
- output_manager_default.debug(
225
- `Failed to run 'claude plugins list --json': ${result.stderr}`
226
- );
227
- }
228
- return markStaleClaudePluginInstalls(
229
- await readClaudeInstalledPluginsFromRegistry()
230
- );
231
- }
232
- async function fetchLatestVercelPluginVersion() {
233
- try {
234
- const response = await fetch(VERCEL_PLUGIN_VERSION_URL);
235
- if (!response.ok) {
236
- output_manager_default.debug(
237
- `Failed to fetch latest Vercel plugin version: ${response.status}`
238
- );
239
- return void 0;
240
- }
241
- const manifest = await response.json();
242
- return typeof manifest.version === "string" ? manifest.version : void 0;
243
- } catch (err) {
244
- output_manager_default.debug(`Failed to fetch latest Vercel plugin version: ${err}`);
245
- return void 0;
246
- }
247
- }
248
- function comparePluginVersions(a, b) {
249
- if (!a && !b)
250
- return 0;
251
- if (!a)
252
- return -1;
253
- if (!b)
254
- return 1;
255
- const parse = (value) => value.split(".").map((part) => Number.parseInt(part, 10) || 0);
256
- const left = parse(a);
257
- const right = parse(b);
258
- const maxLength = Math.max(left.length, right.length);
259
- for (let i = 0; i < maxLength; i++) {
260
- const l = left[i] ?? 0;
261
- const r = right[i] ?? 0;
262
- if (l > r)
263
- return 1;
264
- if (l < r)
265
- return -1;
266
- }
267
- return 0;
268
- }
269
- function buildClaudePluginStatus(installedPlugins, latestVersion) {
270
- const legacy = installedPlugins.find(
271
- (plugin) => plugin.id === CLAUDE_LEGACY_PLUGIN_ID
272
- );
273
- const official = installedPlugins.find(
274
- (plugin) => plugin.id === CLAUDE_OFFICIAL_PLUGIN_ID
275
- );
276
- let state = "none";
277
- if (legacy && official)
278
- state = "both";
279
- else if (legacy)
280
- state = "legacy-only";
281
- else if (official)
282
- state = "official-only";
283
- return {
284
- state,
285
- legacy,
286
- official,
287
- latestVersion
288
- };
289
- }
290
- function buildClaudePluginMigrationPlan(status) {
291
- const plan = {
292
- installOfficial: false,
293
- updateOfficial: false,
294
- removeLegacy: false,
295
- removeLegacyMarketplace: false
296
- };
297
- switch (status.state) {
298
- case "none":
299
- plan.installOfficial = true;
300
- break;
301
- case "legacy-only":
302
- plan.installOfficial = true;
303
- plan.removeLegacy = true;
304
- plan.removeLegacyMarketplace = true;
305
- break;
306
- case "both":
307
- plan.removeLegacy = true;
308
- plan.removeLegacyMarketplace = true;
309
- break;
310
- case "official-only":
311
- break;
312
- }
313
- if (status.official?.version && status.latestVersion && comparePluginVersions(status.official.version, status.latestVersion) < 0) {
314
- plan.updateOfficial = true;
315
- }
316
- return plan;
317
- }
318
- function hasClaudeMigrationActions(plan) {
319
- return plan.installOfficial || plan.updateOfficial || plan.removeLegacy || plan.removeLegacyMarketplace;
320
- }
321
- function getClaudeAutoUpdateAttemptKey(status, plan) {
322
- return [
323
- status.state,
324
- status.legacy?.version ?? "none",
325
- status.official?.version ?? "none",
326
- status.latestVersion ?? "unknown",
327
- plan.installOfficial ? "install" : "",
328
- plan.updateOfficial ? "update" : "",
329
- plan.removeLegacy ? "remove-legacy" : "",
330
- plan.removeLegacyMarketplace ? "remove-marketplace" : ""
331
- ].join(":");
332
- }
333
- function buildClaudePromptCopy(status, plan) {
334
- if (plan.installOfficial && status.state === "none") {
335
- return {
336
- message: "Vercel Plugin for Claude Code is not installed.",
337
- confirm: "Would you like to install it now?"
338
- };
339
- }
340
- if (plan.installOfficial && status.state === "legacy-only") {
341
- return {
342
- message: "Update available for Vercel Plugin for Claude Code (legacy -> official).",
343
- confirm: "Would you like to update now?"
344
- };
345
- }
346
- if (status.state === "both" && plan.removeLegacy) {
347
- return {
348
- message: "Vercel Plugin for Claude Code has a legacy install to clean up.",
349
- confirm: "Would you like to update now?"
350
- };
351
- }
352
- if (plan.updateOfficial) {
353
- const fromVersion = status.official?.version;
354
- const toVersion = status.latestVersion;
355
- const versionRange = fromVersion && toVersion ? ` (v${fromVersion} -> v${toVersion})` : "";
356
- return {
357
- message: `Update available for Vercel Plugin for Claude Code${versionRange}.`,
358
- confirm: "Would you like to update now?"
359
- };
360
- }
361
- return {
362
- message: "The Vercel plugin needs attention in Claude Code before your agent harness is fully up to date.",
363
- confirm: "Apply the Vercel plugin changes for Claude Code?"
364
- };
365
- }
366
- async function runClaudeCommand(spinnerMessage, successMessage, failureMessage, args, options) {
367
- output_manager_default.spinner(spinnerMessage);
368
- const result = await runCommand("claude", args);
369
- output_manager_default.stopSpinner();
370
- if (result.exitCode === 0) {
371
- if (!options?.quietSuccess) {
372
- output_manager_default.success(successMessage);
373
- }
374
- return true;
375
- }
376
- output_manager_default.warn(failureMessage);
377
- output_manager_default.debug(
378
- `Claude command failed: claude ${args.join(" ")}
379
- ${result.stderr || result.stdout}`
380
- );
381
- return false;
382
- }
383
- async function removeStaleLegacyClaudePlugin(removeMarketplace) {
384
- output_manager_default.spinner("Removing the stale legacy Vercel Claude plugin...");
385
- const removedRegistryEntry = await removeClaudePluginFromRegistry(
386
- CLAUDE_LEGACY_PLUGIN_ID
387
- );
388
- output_manager_default.stopSpinner();
389
- if (!removedRegistryEntry) {
390
- output_manager_default.warn(
391
- "Could not remove the stale legacy Vercel Claude plugin registry entry."
392
- );
393
- return false;
394
- }
395
- output_manager_default.success("Removed the stale legacy Vercel Claude plugin");
396
- if (removeMarketplace) {
397
- const removedMarketplace = await runClaudeCommand(
398
- "Removing the legacy Vercel marketplace...",
399
- "Removed the legacy Vercel marketplace",
400
- "Removed the stale legacy Vercel plugin, but could not remove the legacy marketplace.",
401
- ["plugins", "marketplace", "remove", "vercel"],
402
- { quietSuccess: true }
403
- );
404
- if (!removedMarketplace) {
405
- output_manager_default.log("Cleanup command: claude plugins marketplace remove vercel");
406
- }
407
- }
408
- return true;
409
- }
410
- async function runClaudeMigration(plan) {
411
- let removedStaleLegacy = false;
412
- if (plan.removeLegacy) {
413
- const statusBeforeInstall = await getClaudePluginStatus();
414
- if (statusBeforeInstall.legacy?.stale) {
415
- removedStaleLegacy = await removeStaleLegacyClaudePlugin(
416
- plan.removeLegacyMarketplace
417
- );
418
- }
419
- }
420
- if (plan.installOfficial) {
421
- const installed = await runClaudeCommand(
422
- "Installing the official Vercel Claude plugin...",
423
- "Updated the Vercel plugin",
424
- "Failed to install the official Vercel Claude plugin.",
425
- ["plugins", "install", CLAUDE_OFFICIAL_PLUGIN_ID]
426
- );
427
- if (!installed) {
428
- return;
429
- }
430
- } else if (plan.updateOfficial) {
431
- await runClaudeCommand(
432
- "Updating the official Vercel Claude plugin...",
433
- "Updated the Vercel plugin",
434
- "Failed to update the official Vercel Claude plugin.",
435
- ["plugins", "update", CLAUDE_OFFICIAL_PLUGIN_ID]
436
- );
437
- }
438
- const statusAfterInstall = await getClaudePluginStatus();
439
- if (!statusAfterInstall.official) {
440
- output_manager_default.warn(
441
- "Skipping Claude cleanup because the official Vercel plugin is not installed."
442
- );
443
- return;
444
- }
445
- if (plan.removeLegacy && statusAfterInstall.legacy) {
446
- const removedLegacy = await runClaudeCommand(
447
- "Removing the legacy Vercel Claude plugin...",
448
- "Removed the legacy Vercel Claude plugin",
449
- "Installed the official Vercel Claude plugin, but could not remove the legacy install.",
450
- ["plugins", "uninstall", CLAUDE_LEGACY_PLUGIN_ID],
451
- { quietSuccess: true }
452
- );
453
- if (!removedLegacy) {
454
- output_manager_default.log(
455
- `Cleanup command: claude plugins uninstall ${CLAUDE_LEGACY_PLUGIN_ID}`
456
- );
457
- return;
458
- }
459
- }
460
- if (plan.removeLegacyMarketplace && !removedStaleLegacy) {
461
- const finalStatus = await getClaudePluginStatus();
462
- if (!finalStatus.legacy) {
463
- const removedMarketplace = await runClaudeCommand(
464
- "Removing the legacy Vercel marketplace...",
465
- "Removed the legacy Vercel marketplace",
466
- "Removed the legacy Vercel plugin, but could not remove the legacy marketplace.",
467
- ["plugins", "marketplace", "remove", "vercel"],
468
- { quietSuccess: true }
469
- );
470
- if (!removedMarketplace) {
471
- output_manager_default.log("Cleanup command: claude plugins marketplace remove vercel");
472
- }
473
- }
474
- }
475
- }
476
- async function getClaudePluginStatus() {
477
- const [installedPlugins, latestVersion] = await Promise.all([
478
- getClaudeInstalledPlugins(),
479
- fetchLatestVercelPluginVersion()
480
- ]);
481
- return buildClaudePluginStatus(installedPlugins, latestVersion);
482
- }
483
- async function applyPluginActions(targets, claudePlan) {
484
- for (const target of targets) {
485
- if (target === "claude-code" && claudePlan) {
486
- await runClaudeMigration(claudePlan);
487
- } else {
488
- output_manager_default.debug(`Skipping unsupported plugin target: ${target}`);
489
- }
490
- }
491
- }
492
- async function autoInstallVercelPlugin(client, options) {
493
- try {
494
- const prefs = await readPrefs(client);
495
- const applyMode = options?.mode === "apply";
496
- if (!prefs.pluginDeclined || prefs.pluginAutoUpdate || applyMode) {
497
- const targets = await getPluginTargets(client.agentName, client.cwd);
498
- const uninstalledTargets = [];
499
- const claudeStatus = targets.includes("claude-code") ? await getClaudePluginStatus() : void 0;
500
- const claudePlan = claudeStatus ? buildClaudePluginMigrationPlan(claudeStatus) : void 0;
501
- const claudeAutoUpdateAttemptKey = claudeStatus && claudePlan ? getClaudeAutoUpdateAttemptKey(claudeStatus, claudePlan) : void 0;
502
- for (const target of targets) {
503
- if (target === "claude-code") {
504
- if (claudePlan && hasClaudeMigrationActions(claudePlan)) {
505
- uninstalledTargets.push(target);
506
- }
507
- continue;
508
- }
509
- if (!await isPluginInstalledForTarget(target)) {
510
- uninstalledTargets.push(target);
511
- }
512
- }
513
- if (uninstalledTargets.length > 0) {
514
- if (prefs.pluginAutoUpdate) {
515
- if (claudeAutoUpdateAttemptKey && wasPluginAutoUpdateAttemptedToday(prefs, claudeAutoUpdateAttemptKey)) {
516
- return;
517
- }
518
- prefs.pluginDeclined = false;
519
- markPluginAutoUpdateAttempted(prefs, claudeAutoUpdateAttemptKey);
520
- await writePrefs(client, prefs);
521
- await applyPluginActions(uninstalledTargets, claudePlan);
522
- return;
523
- }
524
- if (!applyMode && wasPromptedToday(prefs)) {
525
- return;
526
- }
527
- if (applyMode) {
528
- prefs.pluginDeclined = false;
529
- prefs.pluginAutoUpdate = true;
530
- await writePrefs(client, prefs);
531
- await applyPluginActions(uninstalledTargets, claudePlan);
532
- return;
533
- }
534
- const promptMessages = [];
535
- let confirmMessage = "Install the Vercel plugin?";
536
- if (uninstalledTargets.includes("claude-code") && claudeStatus && claudePlan) {
537
- const claudePrompt = buildClaudePromptCopy(claudeStatus, claudePlan);
538
- promptMessages.push(claudePrompt.message);
539
- confirmMessage = claudePrompt.confirm;
540
- }
541
- const promptMessage = promptMessages.join(" ").trim();
542
- if (promptMessage) {
543
- output_manager_default.log(promptMessage);
544
- }
545
- const accepted = await confirm(client, confirmMessage);
546
- await markPromptedToday(client, prefs);
547
- if (accepted) {
548
- prefs.pluginDeclined = false;
549
- prefs.pluginAutoUpdate = true;
550
- await writePrefs(client, prefs);
551
- await applyPluginActions(uninstalledTargets, claudePlan);
552
- } else {
553
- prefs.pluginDeclined = true;
554
- prefs.pluginAutoUpdate = false;
555
- await writePrefs(client, prefs);
556
- }
557
- }
558
- }
559
- } catch (err) {
560
- output_manager_default.debug(`Auto-install agent tooling failed: ${err}`);
561
- }
562
- }
563
-
564
- export {
565
- autoInstallVercelPlugin
566
- };