@vercel/cli-support 65.8.0 → 65.9.0-snapshot-c4002eb2617b

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 (310) hide show
  1. package/dist/chunks/add-EHNDQSPH.js +8 -0
  2. package/dist/chunks/add-QINN2GTA.js +8 -0
  3. package/dist/chunks/add-SEQOVWYP.js +8 -0
  4. package/dist/chunks/build-ATYGR3HB.js +7 -0
  5. package/dist/chunks/{chunk-O7IYJGOR.js → chunk-25B5SV4V.js} +1 -1
  6. package/dist/chunks/chunk-2CSCY66I.js +11 -0
  7. package/dist/chunks/{chunk-FQVSBXRY.js → chunk-2H4DUZJZ.js} +1 -1
  8. package/dist/chunks/{chunk-44XDCARR.js → chunk-2RXUQ72I.js} +1 -1
  9. package/dist/chunks/{chunk-EZL4AJXH.js → chunk-32AS5X7G.js} +1 -1
  10. package/dist/chunks/chunk-32NXYHYC.js +10 -0
  11. package/dist/chunks/{chunk-OTJNOMRV.js → chunk-375JVQYK.js} +1 -1
  12. package/dist/chunks/chunk-3H7HEK63.js +10 -0
  13. package/dist/chunks/{chunk-CJLRNGWY.js → chunk-3QECUY4S.js} +1 -1
  14. package/dist/chunks/{chunk-GKUHMS3A.js → chunk-3Y3FZLFN.js} +1 -1
  15. package/dist/chunks/{chunk-BLFPDEXE.js → chunk-46XT5J5W.js} +1 -1
  16. package/dist/chunks/{chunk-IECNFRTK.js → chunk-4BZ3DNGM.js} +1 -1
  17. package/dist/chunks/chunk-4CQKN5TW.js +10 -0
  18. package/dist/chunks/{chunk-FNOCIKAU.js → chunk-4HIRAB5V.js} +1 -1
  19. package/dist/chunks/{chunk-4UIMSZZB.js → chunk-4KM733OB.js} +1 -1
  20. package/dist/chunks/chunk-4ND2DRU5.js +15 -0
  21. package/dist/chunks/{chunk-6KCYUYUM.js → chunk-4VF5BZJP.js} +1 -1
  22. package/dist/chunks/{chunk-XUJA3RZD.js → chunk-4XFUHNFR.js} +1 -1
  23. package/dist/chunks/chunk-4Z3APEBF.js +7 -0
  24. package/dist/chunks/chunk-5CVEW3HD.js +12 -0
  25. package/dist/chunks/{chunk-LFOWP74R.js → chunk-5DXC4TE2.js} +1 -1
  26. package/dist/chunks/{chunk-KARAZGCO.js → chunk-5KKRDN5F.js} +1 -1
  27. package/dist/chunks/{constants-JAB7MRSK.js → chunk-5MDNVAE6.js} +1 -1
  28. package/dist/chunks/{chunk-HA2ICIB5.js → chunk-5TI3ZXW3.js} +1 -1
  29. package/dist/chunks/{chunk-PY5A73YH.js → chunk-5WFOL3XX.js} +1 -1
  30. package/dist/chunks/{chunk-IHNEF3BG.js → chunk-5XPWRDZN.js} +1 -1
  31. package/dist/chunks/chunk-5ZEROVK5.js +7 -0
  32. package/dist/chunks/{chunk-3LQ2ADXO.js → chunk-64UCX5JM.js} +1 -1
  33. package/dist/chunks/{chunk-A67TLHES.js → chunk-7FAO6DXJ.js} +1 -1
  34. package/dist/chunks/{chunk-AQA4JVKA.js → chunk-7JNBF5SB.js} +1 -1
  35. package/dist/chunks/{chunk-A6F3EE2O.js → chunk-7ULVGK67.js} +1 -1
  36. package/dist/chunks/{chunk-MCP63EVQ.js → chunk-7WY7ASKE.js} +1 -1
  37. package/dist/chunks/{chunk-LD42X7ZH.js → chunk-AX3V7N44.js} +1 -1
  38. package/dist/chunks/{chunk-753RQ6WV.js → chunk-BEAH4TA2.js} +1 -1
  39. package/dist/chunks/chunk-BRETAWE7.js +10 -0
  40. package/dist/chunks/{chunk-T2SRGJPU.js → chunk-BT5C6MCY.js} +1 -1
  41. package/dist/chunks/{chunk-H4DE2OFO.js → chunk-BV2JBHT5.js} +1 -1
  42. package/dist/chunks/{chunk-D3GYYGSS.js → chunk-BWS3ZOHJ.js} +1 -1
  43. package/dist/chunks/{chunk-QZEZCUUZ.js → chunk-CBA2KGXG.js} +13 -13
  44. package/dist/chunks/chunk-CBVVVYUP.js +10 -0
  45. package/dist/chunks/{chunk-KIMIK4SG.js → chunk-CGTD4QFC.js} +1 -1
  46. package/dist/chunks/{chunk-QR7PY5JS.js → chunk-CH5325V5.js} +1 -1
  47. package/dist/chunks/{chunk-5MHRCRIN.js → chunk-CMHL66LK.js} +1 -1
  48. package/dist/chunks/{chunk-WRC5CTUD.js → chunk-D4TD2KWH.js} +1 -1
  49. package/dist/chunks/{chunk-XBOGVOV5.js → chunk-D4ZEJM3T.js} +1 -1
  50. package/dist/chunks/{chunk-5O7CRJE5.js → chunk-D6REP5QQ.js} +1 -1
  51. package/dist/chunks/chunk-DASHFOKO.js +8 -0
  52. package/dist/chunks/{chunk-63DO6KMD.js → chunk-DL5B5I2H.js} +3 -3
  53. package/dist/chunks/{chunk-M4TIOVOP.js → chunk-DUPAU76G.js} +1 -1
  54. package/dist/chunks/{chunk-APNR444T.js → chunk-E7DYXF6G.js} +1 -1
  55. package/dist/chunks/{chunk-GP5MFCGO.js → chunk-ECQKK4JU.js} +1 -1
  56. package/dist/chunks/{chunk-JULKMXVP.js → chunk-EEFLZK52.js} +1 -1
  57. package/dist/chunks/{chunk-GP2FXUFE.js → chunk-EJ2RWXUL.js} +1 -1
  58. package/dist/chunks/{chunk-U3J7VS56.js → chunk-FBYA6LLM.js} +1 -1
  59. package/dist/chunks/{chunk-SOCGBVML.js → chunk-FVVOHGQE.js} +1 -1
  60. package/dist/chunks/{chunk-QLW5DCM4.js → chunk-FWTBSC7Z.js} +1 -1
  61. package/dist/chunks/{chunk-2OET5FWH.js → chunk-G2BNLRPU.js} +1 -1
  62. package/dist/chunks/{chunk-DBV6AB6T.js → chunk-G3LWP5CH.js} +1 -1
  63. package/dist/chunks/{chunk-YIOT5B5Z.js → chunk-G6HUSV7F.js} +1 -1
  64. package/dist/chunks/{chunk-7V2PXIVW.js → chunk-GCPPL24C.js} +1 -1
  65. package/dist/chunks/{chunk-3AXMZRAB.js → chunk-GCXUSXB4.js} +1 -1
  66. package/dist/chunks/{chunk-GZWYJT4C.js → chunk-GHEGWXH2.js} +1 -1
  67. package/dist/chunks/{chunk-YKNHA3RN.js → chunk-GIFIOAOW.js} +1 -1
  68. package/dist/chunks/{chunk-JRBPVMQO.js → chunk-GJCVOEC2.js} +1 -1
  69. package/dist/chunks/{chunk-ELQBQ2O5.js → chunk-GN5IAG3M.js} +1 -1
  70. package/dist/chunks/{chunk-HTFQFHPR.js → chunk-H34SGIVS.js} +1 -1
  71. package/dist/chunks/chunk-IDP63TCP.js +10 -0
  72. package/dist/chunks/{pkg-EDJQLCNP.js → chunk-ITQPDXXA.js} +1 -1
  73. package/dist/chunks/{chunk-XK3W6Q5I.js → chunk-IZ4GFKGR.js} +1 -1
  74. package/dist/chunks/{chunk-62FZFXPJ.js → chunk-JB6T3XEF.js} +1 -1
  75. package/dist/chunks/{chunk-TSKFDJ77.js → chunk-JJ2JHAGW.js} +1 -1
  76. package/dist/chunks/{chunk-V5A4EBV3.js → chunk-JOXGYP5S.js} +1 -1
  77. package/dist/chunks/{chunk-3DDEBTCC.js → chunk-JYWHC7YX.js} +1 -1
  78. package/dist/chunks/{chunk-YTZPQVGF.js → chunk-K3VUXKMV.js} +1 -1
  79. package/dist/chunks/{chunk-2QSNFVB6.js → chunk-K5YO4UD7.js} +1 -1
  80. package/dist/chunks/{chunk-TCEEQLD4.js → chunk-KHG6CZLZ.js} +1 -1
  81. package/dist/chunks/{chunk-KL6HNOFN.js → chunk-KOLCO2RH.js} +1 -1
  82. package/dist/chunks/{chunk-WZ2R4Z7N.js → chunk-KRPY5FHJ.js} +1 -1
  83. package/dist/chunks/{chunk-7E6UJXLR.js → chunk-KV2DYFUG.js} +1 -1
  84. package/dist/chunks/{chunk-3KSTUMR6.js → chunk-M73W4XNR.js} +1 -1
  85. package/dist/chunks/{chunk-EKB2DYCQ.js → chunk-MCJ5OFNP.js} +1 -1
  86. package/dist/chunks/{chunk-LOEU4R4Z.js → chunk-MOW3KNCP.js} +1 -1
  87. package/dist/chunks/chunk-MY4MONOH.js +7 -0
  88. package/dist/chunks/{chunk-SBBD2Q5A.js → chunk-NAU6URTI.js} +1 -1
  89. package/dist/chunks/{chunk-B3ETPBO4.js → chunk-NEUQZYBL.js} +2 -2
  90. package/dist/chunks/chunk-NFASCUXE.js +8 -0
  91. package/dist/chunks/{chunk-3P4Y46MS.js → chunk-NIS66BFX.js} +2 -2
  92. package/dist/chunks/chunk-NTUDWWSL.js +14 -0
  93. package/dist/chunks/{chunk-AEOG4E5G.js → chunk-O4CQRV2G.js} +1 -1
  94. package/dist/chunks/{chunk-4MP4HVBG.js → chunk-O7NJQXN6.js} +1 -1
  95. package/dist/chunks/{chunk-5GOQ3FBV.js → chunk-OVWDOWRV.js} +1 -1
  96. package/dist/chunks/{chunk-7EJ3BZ67.js → chunk-PLJKMCXU.js} +1 -1
  97. package/dist/chunks/{chunk-P2HBUDGR.js → chunk-Q4WEODW3.js} +1 -1
  98. package/dist/chunks/{chunk-KUNFE2M6.js → chunk-QANIGEPP.js} +1 -1
  99. package/dist/chunks/{chunk-T3S63EA3.js → chunk-QBOY2CXL.js} +1 -1
  100. package/dist/chunks/{chunk-37DIJCWK.js → chunk-QQA2OMXJ.js} +1 -1
  101. package/dist/chunks/{chunk-HNOZM6D4.js → chunk-QYNJCJYZ.js} +1 -1
  102. package/dist/chunks/{chunk-K2R3QPOC.js → chunk-R5ZLTWKB.js} +1 -1
  103. package/dist/chunks/chunk-RBIHS5QI.js +7 -0
  104. package/dist/chunks/{chunk-QTCS2HDX.js → chunk-RCFJTXSB.js} +1 -1
  105. package/dist/chunks/{chunk-T34C75TI.js → chunk-RCUDI7OF.js} +1 -1
  106. package/dist/chunks/{chunk-KDRCBWRY.js → chunk-RTJOQK2R.js} +1 -1
  107. package/dist/chunks/{chunk-FXEMEIST.js → chunk-T2FCF46I.js} +1 -1
  108. package/dist/chunks/{chunk-IHRM7L23.js → chunk-T5TOBY4D.js} +1 -1
  109. package/dist/chunks/{chunk-YRK2BCTJ.js → chunk-TD7AL545.js} +1 -1
  110. package/dist/chunks/{chunk-MDWYXLDB.js → chunk-TGQSMRQZ.js} +3 -3
  111. package/dist/chunks/{chunk-6V67VZJD.js → chunk-TMXIVQ45.js} +1 -1
  112. package/dist/chunks/{chunk-J52UJYOK.js → chunk-TRZDIAX3.js} +1 -1
  113. package/dist/chunks/{chunk-7BML2OR6.js → chunk-U6KJOCXX.js} +1 -1
  114. package/dist/chunks/{chunk-Y55DGB3L.js → chunk-UIJYRI3G.js} +1 -1
  115. package/dist/chunks/{chunk-NAXFG37F.js → chunk-UNASHUWQ.js} +1 -1
  116. package/dist/chunks/{chunk-3RXEJWYM.js → chunk-UZTDRGCW.js} +1 -1
  117. package/dist/chunks/{chunk-BHJLCFQ4.js → chunk-VMMSNGPS.js} +1 -1
  118. package/dist/chunks/{chunk-F76MNMH3.js → chunk-VR5ROBAO.js} +1 -1
  119. package/dist/chunks/{chunk-JESNVRVR.js → chunk-VRH7LWOC.js} +1 -1
  120. package/dist/chunks/{chunk-QIPUFI6P.js → chunk-VU3RBRDH.js} +1 -1
  121. package/dist/chunks/{chunk-ZRJKGAUT.js → chunk-W634OFUG.js} +3 -3
  122. package/dist/chunks/{chunk-SKLRHAGH.js → chunk-WFCGAYP5.js} +1 -1
  123. package/dist/chunks/{chunk-C4XT3PG4.js → chunk-WKYFWE37.js} +1 -1
  124. package/dist/chunks/{chunk-G7X2TVUO.js → chunk-WQQTVQZK.js} +1 -1
  125. package/dist/chunks/{chunk-YHFZIUXF.js → chunk-XBWISZCG.js} +1 -1
  126. package/dist/chunks/{chunk-RIAOB3RF.js → chunk-XOBLL6JP.js} +1 -1
  127. package/dist/chunks/chunk-XRIM4BUF.js +7 -0
  128. package/dist/chunks/{chunk-ZBJ44DRL.js → chunk-Y3ZO6WB7.js} +1 -1
  129. package/dist/chunks/chunk-Y5YXAXK3.js +13 -0
  130. package/dist/chunks/{chunk-YEPB52XE.js → chunk-Y6WXTTZS.js} +1 -1
  131. package/dist/chunks/{chunk-OV7G6RIQ.js → chunk-Y7YULJK7.js} +1 -1
  132. package/dist/chunks/{chunk-UAUVCOGS.js → chunk-YJQW3DDY.js} +1 -1
  133. package/dist/chunks/chunk-YYMLVSE2.js +12 -0
  134. package/dist/chunks/{chunk-45UDRX4C.js → chunk-ZBZPCKTW.js} +1 -1
  135. package/dist/chunks/{chunk-2B7U6BB5.js → chunk-ZGKJLJ47.js} +1 -1
  136. package/dist/chunks/chunk-ZS2WS4AM.js +7 -0
  137. package/dist/chunks/clear-BJBNWJJB.js +8 -0
  138. package/dist/chunks/compile-vercel-config-QH77NQ4B.js +7 -0
  139. package/dist/chunks/config-354DFLQE.js +8 -0
  140. package/dist/chunks/config-AXK2BGCA.js +7 -0
  141. package/dist/chunks/connect-git-provider-AWEOEEOO.js +7 -0
  142. package/dist/chunks/delete-GO7DLOJ3.js +9 -0
  143. package/dist/chunks/delete-IYWVEDBG.js +10 -0
  144. package/dist/chunks/{detect-projects-A4H2ZEAP.js → detect-projects-K7SVMH5T.js} +1 -1
  145. package/dist/chunks/detect-services-5P7KCKFK.js +7 -0
  146. package/dist/chunks/disable-LGVOQE3T.js +7 -0
  147. package/dist/chunks/discard-27X77XQE.js +14 -0
  148. package/dist/chunks/edit-2XY4JHTX.js +8 -0
  149. package/dist/chunks/edit-IECKJW64.js +9 -0
  150. package/dist/chunks/enable-AFDKCU3L.js +7 -0
  151. package/dist/chunks/{exec-7LB36K52.js → exec-UV73J2ZB.js} +1 -1
  152. package/dist/chunks/{export-AI2O22W5.js → export-K7JNA5NA.js} +1 -1
  153. package/dist/chunks/future-FFWMSADT.js +7 -0
  154. package/dist/chunks/generate-cert-for-deploy-SY44OYEY.js +7 -0
  155. package/dist/chunks/image-D54UXO4P.js +7 -0
  156. package/dist/chunks/import-builders-4DYFWAOD.js +7 -0
  157. package/dist/chunks/{inspect-OM5S5YQ2.js → inspect-3DLXFK6E.js} +1 -1
  158. package/dist/chunks/{inspect-4A67JORH.js → inspect-A2LKZQMT.js} +1 -1
  159. package/dist/chunks/{inspect-3NMNI7GY.js → inspect-H2EHB6IO.js} +1 -1
  160. package/dist/chunks/inspect-HCBQIEZG.js +13 -0
  161. package/dist/chunks/inspect-XRCF2YRP.js +9 -0
  162. package/dist/chunks/{list-TUJ7HCQK.js → list-AB25WHGO.js} +1 -1
  163. package/dist/chunks/list-CU66L4ZB.js +12 -0
  164. package/dist/chunks/{list-NEV4FBTY.js → list-HUCI73LP.js} +1 -1
  165. package/dist/chunks/login-5GIPMHCM.js +9 -0
  166. package/dist/chunks/login-XD3H356W.js +7 -0
  167. package/dist/chunks/logs-MCYUVB2U.js +7 -0
  168. package/dist/chunks/ls-46HG3NM2.js +8 -0
  169. package/dist/chunks/{ls-COOTTCRW.js → ls-DZTI7O7V.js} +1 -1
  170. package/dist/chunks/ls-FVI4QA2G.js +11 -0
  171. package/dist/chunks/{ls-OVM2DZYL.js → ls-GFWMSKJI.js} +1 -1
  172. package/dist/chunks/{ls-UY3KCDSF.js → ls-GVHHJ6PD.js} +1 -1
  173. package/dist/chunks/{ls-CVO4MCX5.js → ls-IMQKQEA5.js} +1 -1
  174. package/dist/chunks/ls-SNGWJI57.js +8 -0
  175. package/dist/chunks/mutate-AATP3ZZW.js +9 -0
  176. package/dist/chunks/native-self-update-75UJCHGZ.js +7 -0
  177. package/dist/chunks/notifications-X76ITPCJ.js +7 -0
  178. package/dist/chunks/open-FVOQGEWM.js +7 -0
  179. package/dist/chunks/openapi-KYC6JIXI.js +7 -0
  180. package/dist/chunks/permissions-N6JJSYGS.js +7 -0
  181. package/dist/chunks/{plugin-offer-4YTKDZGS.js → plugin-offer-UXUZ3PRE.js} +1 -1
  182. package/dist/chunks/prompt-missing-credentials-7UX2S26W.js +7 -0
  183. package/dist/chunks/publish-BG3UKM2Q.js +15 -0
  184. package/dist/chunks/pull-3NAMWMU6.js +7 -0
  185. package/dist/chunks/purchase-domain-if-available-7UQPSITN.js +7 -0
  186. package/dist/chunks/push-TZAIOAX5.js +7 -0
  187. package/dist/chunks/{query-NIMDIFLO.js → query-R7M64JYQ.js} +1 -1
  188. package/dist/chunks/reauthenticate-TOILE7L6.js +7 -0
  189. package/dist/chunks/reorder-V47PIQFO.js +10 -0
  190. package/dist/chunks/reply-5QZVOLHI.js +9 -0
  191. package/dist/chunks/resolve-7VONHDWK.js +12 -0
  192. package/dist/chunks/resolve-agent-team-DHPOJEQE.js +7 -0
  193. package/dist/chunks/restore-JLME37UW.js +16 -0
  194. package/dist/chunks/rm-2GT4SSDQ.js +8 -0
  195. package/dist/chunks/rm-4EPE3LBT.js +8 -0
  196. package/dist/chunks/rm-5B7XAOK3.js +8 -0
  197. package/dist/chunks/rm-JY3ACRPF.js +8 -0
  198. package/dist/chunks/rm-V2A5HTIT.js +8 -0
  199. package/dist/chunks/routes-S75L7Z7A.js +7 -0
  200. package/dist/chunks/rule-inspect-VPH5ZZ23.js +8 -0
  201. package/dist/chunks/schema-DYNINJQ7.js +14 -0
  202. package/dist/chunks/{schema-44U7GOQE.js → schema-I73FHHZS.js} +1 -1
  203. package/dist/chunks/select-org-DUL7FO5S.js +7 -0
  204. package/dist/chunks/set-YZA622KE.js +7 -0
  205. package/dist/chunks/setup-and-link-ZDP5OPLK.js +7 -0
  206. package/dist/chunks/{skills-XOH4Q7KK.js → skills-DZYJV7BE.js} +3 -3
  207. package/dist/chunks/statuspage-45LJ2XYT.js +7 -0
  208. package/dist/chunks/tags-DYVP7Q2S.js +7 -0
  209. package/dist/chunks/{types-6W3KAE2A.js → types-YA6BOCRV.js} +1 -1
  210. package/dist/chunks/{update-YLFMSPQF.js → update-T3W6JMTU.js} +1 -1
  211. package/dist/chunks/validate-config-XWZ7ZZ3G.js +7 -0
  212. package/dist/commands/build/index.js +1 -6
  213. package/dist/commands/deploy/index.js +14 -14
  214. package/dist/commands/dev/index.js +3 -3
  215. package/dist/commands/env/index.js +1 -1
  216. package/dist/commands/link/index.js +1 -1
  217. package/dist/commands/list/index.js +1 -1
  218. package/dist/commands/project/index.js +1 -1
  219. package/dist/commands-account.js +112 -91
  220. package/dist/commands-ai.js +2 -2
  221. package/dist/commands-blob.js +1 -1
  222. package/dist/commands-core.js +62 -44
  223. package/dist/commands-deployments.js +9 -6
  224. package/dist/commands-flags.js +4 -3
  225. package/dist/commands-integrations.js +98 -74
  226. package/dist/commands-observability.js +5 -5
  227. package/dist/commands-routing.js +154 -162
  228. package/dist/help.js +1 -1
  229. package/dist/index.js +5 -5
  230. package/dist/internal-build.js +1 -1
  231. package/dist/native-download.js +1 -1
  232. package/dist/package.json +57 -58
  233. package/dist/root-help-commands.mjs +1 -1
  234. package/dist/version.mjs +1 -1
  235. package/package.json +50 -51
  236. package/dist/chunks/add-3MWFJH54.js +0 -8
  237. package/dist/chunks/add-CJWCA3MM.js +0 -8
  238. package/dist/chunks/add-GLCVYEEN.js +0 -8
  239. package/dist/chunks/build-6RK6VECG.js +0 -7
  240. package/dist/chunks/chunk-2PYFJXKS.js +0 -14
  241. package/dist/chunks/chunk-5SMV2PPI.js +0 -10
  242. package/dist/chunks/chunk-7A5WO5KA.js +0 -8
  243. package/dist/chunks/chunk-CJHVHB2F.js +0 -8
  244. package/dist/chunks/chunk-EGPVNTKP.js +0 -7
  245. package/dist/chunks/chunk-GJB72ITS.js +0 -12
  246. package/dist/chunks/chunk-H3SJJO6S.js +0 -10
  247. package/dist/chunks/chunk-INH6RXBH.js +0 -9
  248. package/dist/chunks/chunk-IU6PHFPQ.js +0 -7
  249. package/dist/chunks/chunk-KAUKCHQF.js +0 -10
  250. package/dist/chunks/chunk-NDWGYZRT.js +0 -10
  251. package/dist/chunks/chunk-OLAG7Y3P.js +0 -10
  252. package/dist/chunks/chunk-TK2ILW2O.js +0 -21
  253. package/dist/chunks/chunk-WKZ6JSGZ.js +0 -7
  254. package/dist/chunks/chunk-X65XZSWS.js +0 -10
  255. package/dist/chunks/cjs-2SMN43VH.js +0 -54
  256. package/dist/chunks/clear-375VKVXY.js +0 -8
  257. package/dist/chunks/compile-vercel-config-LNRUSKTH.js +0 -7
  258. package/dist/chunks/config-GOYBATSI.js +0 -8
  259. package/dist/chunks/config-VAW454ZH.js +0 -7
  260. package/dist/chunks/connect-git-provider-7KRYVDFS.js +0 -7
  261. package/dist/chunks/delete-3SN6XFOW.js +0 -10
  262. package/dist/chunks/delete-W6BZHLGP.js +0 -9
  263. package/dist/chunks/detect-services-6L57MV5F.js +0 -7
  264. package/dist/chunks/disable-UUV5MYYH.js +0 -7
  265. package/dist/chunks/discard-Y6ZITZ2P.js +0 -14
  266. package/dist/chunks/edit-CVMUITFG.js +0 -9
  267. package/dist/chunks/edit-LLRI57RF.js +0 -8
  268. package/dist/chunks/enable-TFA6XWAA.js +0 -7
  269. package/dist/chunks/future-EZEU2CBY.js +0 -7
  270. package/dist/chunks/generate-cert-for-deploy-QP5BUOJL.js +0 -7
  271. package/dist/chunks/image-YLUF7SHR.js +0 -7
  272. package/dist/chunks/import-builders-ANLKHIYK.js +0 -7
  273. package/dist/chunks/inspect-3TRAN3SP.js +0 -9
  274. package/dist/chunks/inspect-VEUY4QJ2.js +0 -13
  275. package/dist/chunks/list-DJKKVFUL.js +0 -12
  276. package/dist/chunks/login-4HCFKDKL.js +0 -7
  277. package/dist/chunks/login-EPBJQDEK.js +0 -9
  278. package/dist/chunks/logs-Q7XXVFR3.js +0 -7
  279. package/dist/chunks/ls-3TKRCF4T.js +0 -8
  280. package/dist/chunks/ls-LS5J5ERG.js +0 -11
  281. package/dist/chunks/ls-OQQTUQFN.js +0 -8
  282. package/dist/chunks/mutate-I6QWCURL.js +0 -9
  283. package/dist/chunks/notifications-UKC5Z6AH.js +0 -7
  284. package/dist/chunks/open-CYATUDTT.js +0 -7
  285. package/dist/chunks/openapi-B7WSK7AU.js +0 -7
  286. package/dist/chunks/permissions-4ZYPHPOZ.js +0 -7
  287. package/dist/chunks/prompt-missing-credentials-4OKJMYW5.js +0 -7
  288. package/dist/chunks/publish-N6E7VTRK.js +0 -15
  289. package/dist/chunks/pull-LPIT3XUR.js +0 -7
  290. package/dist/chunks/purchase-domain-if-available-IS6UDPJT.js +0 -7
  291. package/dist/chunks/push-ETLU6OCC.js +0 -7
  292. package/dist/chunks/reauthenticate-TESIUM6U.js +0 -7
  293. package/dist/chunks/reorder-PQU2BQEE.js +0 -10
  294. package/dist/chunks/reply-RKDDYV5I.js +0 -9
  295. package/dist/chunks/resolve-ZF7BFXIW.js +0 -12
  296. package/dist/chunks/resolve-agent-team-QSIJ665W.js +0 -7
  297. package/dist/chunks/restore-U5A3BEFQ.js +0 -16
  298. package/dist/chunks/rm-7H5O3T7G.js +0 -8
  299. package/dist/chunks/rm-EPPMQEAV.js +0 -8
  300. package/dist/chunks/rm-FNMW2FPM.js +0 -8
  301. package/dist/chunks/rm-OZIA3DFM.js +0 -8
  302. package/dist/chunks/rm-W3VOR2ED.js +0 -8
  303. package/dist/chunks/routes-BLE5XZJE.js +0 -7
  304. package/dist/chunks/rule-inspect-YAVRRGAP.js +0 -8
  305. package/dist/chunks/schema-6SAZ7T2S.js +0 -14
  306. package/dist/chunks/select-org-L5FJVL5Q.js +0 -7
  307. package/dist/chunks/set-3NQXDGJV.js +0 -7
  308. package/dist/chunks/setup-and-link-H36NRP3A.js +0 -7
  309. package/dist/chunks/tags-CRG27GFL.js +0 -7
  310. /package/dist/chunks/{chunk-OO572JUC.js → chunk-DBT6PGEH.js} +0 -0
@@ -4,33 +4,33 @@ import { dirname as __dirname_ } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
- import{printAlignedLabel}from"./chunk-3LQ2ADXO.js";import{getGlobalPathConfig}from"./chunk-MCP63EVQ.js";import{require_graceful_fs,require_load_json_file}from"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-KIMIK4SG.js";import{getTeamByIdOrSlug}from"./chunk-F53OKXYI.js";import{require_lib}from"./chunk-LUX4PBJL.js";import{require_ms}from"./chunk-MXTC4ZAQ.js";import{require_minimatch}from"./chunk-OCR5CRTH.js";import{require_cli_config}from"./chunk-4SAVH3H7.js";import{APIError,ConflictingConfigFiles,DeprecatedNowJson,InvalidLocalConfig,InvalidToken,MissingUser,NowError,ProjectNotFound,code,isAPIError}from"./chunk-FXEMEIST.js";import{cmd,packageName}from"./chunk-JESNVRVR.js";import{emoji,link_default,output_manager_default,prependEmoji,require_build_utils}from"./chunk-ZRJKGAUT.js";import{require_dist}from"./chunk-RM3ZDRYE.js";import{pkg_default}from"./chunk-OO572JUC.js";import{require_source}from"./chunk-NB2WLB3J.js";import{require_chownr,require_mkdirp,require_pump,require_tar_stream}from"./chunk-5O7CRJE5.js";import{fetch as fetch2}from"./chunk-U3J7VS56.js";import{__commonJS,__require,__toESM}from"./chunk-BZENIQ7N.js";var require_universalify=__commonJS({"../../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js"(exports){"use strict";exports.fromCallback=function(fn){return Object.defineProperty(function(...args){if(typeof args[args.length-1]=="function")fn.apply(this,args);else return new Promise((resolve6,reject)=>{args.push((err,res)=>err!=null?reject(err):resolve6(res)),fn.apply(this,args)})},"name",{value:fn.name})};exports.fromPromise=function(fn){return Object.defineProperty(function(...args){let cb=args[args.length-1];if(typeof cb!="function")return fn.apply(this,args);args.pop(),fn.apply(this,args).then(r=>cb(null,r),cb)},"name",{value:fn.name})}}});var require_fs=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/fs/index.js"(exports){"use strict";var u=require_universalify().fromCallback,fs4=require_graceful_fs(),api=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(key=>typeof fs4[key]=="function");Object.assign(exports,fs4);api.forEach(method=>{exports[method]=u(fs4[method])});exports.realpath.native=u(fs4.realpath.native);exports.exists=function(filename,callback){return typeof callback=="function"?fs4.exists(filename,callback):new Promise(resolve6=>fs4.exists(filename,resolve6))};exports.read=function(fd,buffer,offset,length,position,callback){return typeof callback=="function"?fs4.read(fd,buffer,offset,length,position,callback):new Promise((resolve6,reject)=>{fs4.read(fd,buffer,offset,length,position,(err,bytesRead,buffer2)=>{if(err)return reject(err);resolve6({bytesRead,buffer:buffer2})})})};exports.write=function(fd,buffer,...args){return typeof args[args.length-1]=="function"?fs4.write(fd,buffer,...args):new Promise((resolve6,reject)=>{fs4.write(fd,buffer,...args,(err,bytesWritten,buffer2)=>{if(err)return reject(err);resolve6({bytesWritten,buffer:buffer2})})})};typeof fs4.writev=="function"&&(exports.writev=function(fd,buffers,...args){return typeof args[args.length-1]=="function"?fs4.writev(fd,buffers,...args):new Promise((resolve6,reject)=>{fs4.writev(fd,buffers,...args,(err,bytesWritten,buffers2)=>{if(err)return reject(err);resolve6({bytesWritten,buffers:buffers2})})})})}});var require_utils=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/utils.js"(exports,module){"use strict";var path2=__require("path");module.exports.checkPath=function(pth){if(process.platform==="win32"&&/[<>:"|?*]/.test(pth.replace(path2.parse(pth).root,""))){let error=new Error(`Path contains invalid characters: ${pth}`);throw error.code="EINVAL",error}}}});var require_make_dir=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports,module){"use strict";var fs4=require_fs(),{checkPath}=require_utils(),getMode=options=>{let defaults={mode:511};return typeof options=="number"?options:{...defaults,...options}.mode};module.exports.makeDir=async(dir,options)=>(checkPath(dir),fs4.mkdir(dir,{mode:getMode(options),recursive:!0}));module.exports.makeDirSync=(dir,options)=>(checkPath(dir),fs4.mkdirSync(dir,{mode:getMode(options),recursive:!0}))}});var require_mkdirs=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/index.js"(exports,module){"use strict";var u=require_universalify().fromPromise,{makeDir:_makeDir,makeDirSync}=require_make_dir(),makeDir=u(_makeDir);module.exports={mkdirs:makeDir,mkdirsSync:makeDirSync,mkdirp:makeDir,mkdirpSync:makeDirSync,ensureDir:makeDir,ensureDirSync:makeDirSync}}});var require_utimes=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/util/utimes.js"(exports,module){"use strict";var fs4=require_graceful_fs();function utimesMillis(path2,atime,mtime,callback){fs4.open(path2,"r+",(err,fd)=>{if(err)return callback(err);fs4.futimes(fd,atime,mtime,futimesErr=>{fs4.close(fd,closeErr=>{callback&&callback(futimesErr||closeErr)})})})}function utimesMillisSync(path2,atime,mtime){let fd=fs4.openSync(path2,"r+");return fs4.futimesSync(fd,atime,mtime),fs4.closeSync(fd)}module.exports={utimesMillis,utimesMillisSync}}});var require_stat=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/util/stat.js"(exports,module){"use strict";var fs4=require_fs(),path2=__require("path"),util=__require("util");function getStats(src,dest,opts){let statFunc=opts.dereference?file=>fs4.stat(file,{bigint:!0}):file=>fs4.lstat(file,{bigint:!0});return Promise.all([statFunc(src),statFunc(dest).catch(err=>{if(err.code==="ENOENT")return null;throw err})]).then(([srcStat,destStat])=>({srcStat,destStat}))}function getStatsSync(src,dest,opts){let destStat,statFunc=opts.dereference?file=>fs4.statSync(file,{bigint:!0}):file=>fs4.lstatSync(file,{bigint:!0}),srcStat=statFunc(src);try{destStat=statFunc(dest)}catch(err){if(err.code==="ENOENT")return{srcStat,destStat:null};throw err}return{srcStat,destStat}}function checkPaths(src,dest,funcName,opts,cb){util.callbackify(getStats)(src,dest,opts,(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;if(destStat){if(areIdentical(srcStat,destStat)){let srcBaseName=path2.basename(src),destBaseName=path2.basename(dest);return funcName==="move"&&srcBaseName!==destBaseName&&srcBaseName.toLowerCase()===destBaseName.toLowerCase()?cb(null,{srcStat,destStat,isChangingCase:!0}):cb(new Error("Source and destination must not be the same."))}if(srcStat.isDirectory()&&!destStat.isDirectory())return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`));if(!srcStat.isDirectory()&&destStat.isDirectory())return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`))}return srcStat.isDirectory()&&isSrcSubdir(src,dest)?cb(new Error(errMsg(src,dest,funcName))):cb(null,{srcStat,destStat})})}function checkPathsSync(src,dest,funcName,opts){let{srcStat,destStat}=getStatsSync(src,dest,opts);if(destStat){if(areIdentical(srcStat,destStat)){let srcBaseName=path2.basename(src),destBaseName=path2.basename(dest);if(funcName==="move"&&srcBaseName!==destBaseName&&srcBaseName.toLowerCase()===destBaseName.toLowerCase())return{srcStat,destStat,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(srcStat.isDirectory()&&!destStat.isDirectory())throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);if(!srcStat.isDirectory()&&destStat.isDirectory())throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)}if(srcStat.isDirectory()&&isSrcSubdir(src,dest))throw new Error(errMsg(src,dest,funcName));return{srcStat,destStat}}function checkParentPaths(src,srcStat,dest,funcName,cb){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return cb();fs4.stat(destParent,{bigint:!0},(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):areIdentical(srcStat,destStat)?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb))}function checkParentPathsSync(src,srcStat,dest,funcName){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return;let destStat;try{destStat=fs4.statSync(destParent,{bigint:!0})}catch(err){if(err.code==="ENOENT")return;throw err}if(areIdentical(srcStat,destStat))throw new Error(errMsg(src,dest,funcName));return checkParentPathsSync(src,srcStat,destParent,funcName)}function areIdentical(srcStat,destStat){return destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev}function isSrcSubdir(src,dest){let srcArr=path2.resolve(src).split(path2.sep).filter(i=>i),destArr=path2.resolve(dest).split(path2.sep).filter(i=>i);return srcArr.reduce((acc,cur,i)=>acc&&destArr[i]===cur,!0)}function errMsg(src,dest,funcName){return`Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`}module.exports={checkPaths,checkPathsSync,checkParentPaths,checkParentPathsSync,isSrcSubdir,areIdentical}}});var require_copy_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),mkdirsSync=require_mkdirs().mkdirsSync,utimesMillisSync=require_utimes().utimesMillisSync,stat2=require_stat();function copySync(src,dest,opts){typeof opts=="function"&&(opts={filter:opts}),opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
7
+ import{printAlignedLabel}from"./chunk-64UCX5JM.js";import{ua_default}from"./chunk-ITQPDXXA.js";import{getGlobalPathConfig}from"./chunk-7WY7ASKE.js";import{require_graceful_fs,require_load_json_file}from"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-CGTD4QFC.js";import{getTeamByIdOrSlug}from"./chunk-F53OKXYI.js";import{require_lib}from"./chunk-LUX4PBJL.js";import{require_ms}from"./chunk-MXTC4ZAQ.js";import{require_cli_config}from"./chunk-4SAVH3H7.js";import{APIError,ConflictingConfigFiles,DeprecatedNowJson,InvalidLocalConfig,InvalidToken,MissingUser,NowError,ProjectNotFound,code,isAPIError}from"./chunk-T2FCF46I.js";import{cmd,packageName}from"./chunk-VRH7LWOC.js";import{pkg_default}from"./chunk-DBT6PGEH.js";import{emoji,link_default,output_manager_default,prependEmoji}from"./chunk-W634OFUG.js";import{require_types}from"./chunk-ZS2WS4AM.js";import{require_build_utils}from"./chunk-5MDNVAE6.js";import{require_minimatch}from"./chunk-OCR5CRTH.js";import{require_dist}from"./chunk-RM3ZDRYE.js";import{require_source}from"./chunk-NB2WLB3J.js";import{require_chownr,require_mkdirp,require_pump,require_tar_stream}from"./chunk-D6REP5QQ.js";import{fetch as fetch2}from"./chunk-MY4MONOH.js";import{__commonJS,__require,__toESM}from"./chunk-BZENIQ7N.js";var require_universalify=__commonJS({"../../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js"(exports){"use strict";exports.fromCallback=function(fn){return Object.defineProperty(function(...args){if(typeof args[args.length-1]=="function")fn.apply(this,args);else return new Promise((resolve6,reject)=>{args.push((err,res)=>err!=null?reject(err):resolve6(res)),fn.apply(this,args)})},"name",{value:fn.name})};exports.fromPromise=function(fn){return Object.defineProperty(function(...args){let cb=args[args.length-1];if(typeof cb!="function")return fn.apply(this,args);args.pop(),fn.apply(this,args).then(r=>cb(null,r),cb)},"name",{value:fn.name})}}});var require_fs=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/fs/index.js"(exports){"use strict";var u=require_universalify().fromCallback,fs4=require_graceful_fs(),api=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(key=>typeof fs4[key]=="function");Object.assign(exports,fs4);api.forEach(method=>{exports[method]=u(fs4[method])});exports.realpath.native=u(fs4.realpath.native);exports.exists=function(filename,callback){return typeof callback=="function"?fs4.exists(filename,callback):new Promise(resolve6=>fs4.exists(filename,resolve6))};exports.read=function(fd,buffer,offset,length,position,callback){return typeof callback=="function"?fs4.read(fd,buffer,offset,length,position,callback):new Promise((resolve6,reject)=>{fs4.read(fd,buffer,offset,length,position,(err,bytesRead,buffer2)=>{if(err)return reject(err);resolve6({bytesRead,buffer:buffer2})})})};exports.write=function(fd,buffer,...args){return typeof args[args.length-1]=="function"?fs4.write(fd,buffer,...args):new Promise((resolve6,reject)=>{fs4.write(fd,buffer,...args,(err,bytesWritten,buffer2)=>{if(err)return reject(err);resolve6({bytesWritten,buffer:buffer2})})})};typeof fs4.writev=="function"&&(exports.writev=function(fd,buffers,...args){return typeof args[args.length-1]=="function"?fs4.writev(fd,buffers,...args):new Promise((resolve6,reject)=>{fs4.writev(fd,buffers,...args,(err,bytesWritten,buffers2)=>{if(err)return reject(err);resolve6({bytesWritten,buffers:buffers2})})})})}});var require_utils=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/utils.js"(exports,module){"use strict";var path2=__require("path");module.exports.checkPath=function(pth){if(process.platform==="win32"&&/[<>:"|?*]/.test(pth.replace(path2.parse(pth).root,""))){let error=new Error(`Path contains invalid characters: ${pth}`);throw error.code="EINVAL",error}}}});var require_make_dir=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports,module){"use strict";var fs4=require_fs(),{checkPath}=require_utils(),getMode=options=>{let defaults={mode:511};return typeof options=="number"?options:{...defaults,...options}.mode};module.exports.makeDir=async(dir,options)=>(checkPath(dir),fs4.mkdir(dir,{mode:getMode(options),recursive:!0}));module.exports.makeDirSync=(dir,options)=>(checkPath(dir),fs4.mkdirSync(dir,{mode:getMode(options),recursive:!0}))}});var require_mkdirs=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/mkdirs/index.js"(exports,module){"use strict";var u=require_universalify().fromPromise,{makeDir:_makeDir,makeDirSync}=require_make_dir(),makeDir=u(_makeDir);module.exports={mkdirs:makeDir,mkdirsSync:makeDirSync,mkdirp:makeDir,mkdirpSync:makeDirSync,ensureDir:makeDir,ensureDirSync:makeDirSync}}});var require_utimes=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/util/utimes.js"(exports,module){"use strict";var fs4=require_graceful_fs();function utimesMillis(path2,atime,mtime,callback){fs4.open(path2,"r+",(err,fd)=>{if(err)return callback(err);fs4.futimes(fd,atime,mtime,futimesErr=>{fs4.close(fd,closeErr=>{callback&&callback(futimesErr||closeErr)})})})}function utimesMillisSync(path2,atime,mtime){let fd=fs4.openSync(path2,"r+");return fs4.futimesSync(fd,atime,mtime),fs4.closeSync(fd)}module.exports={utimesMillis,utimesMillisSync}}});var require_stat=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/util/stat.js"(exports,module){"use strict";var fs4=require_fs(),path2=__require("path"),util=__require("util");function getStats(src,dest,opts){let statFunc=opts.dereference?file=>fs4.stat(file,{bigint:!0}):file=>fs4.lstat(file,{bigint:!0});return Promise.all([statFunc(src),statFunc(dest).catch(err=>{if(err.code==="ENOENT")return null;throw err})]).then(([srcStat,destStat])=>({srcStat,destStat}))}function getStatsSync(src,dest,opts){let destStat,statFunc=opts.dereference?file=>fs4.statSync(file,{bigint:!0}):file=>fs4.lstatSync(file,{bigint:!0}),srcStat=statFunc(src);try{destStat=statFunc(dest)}catch(err){if(err.code==="ENOENT")return{srcStat,destStat:null};throw err}return{srcStat,destStat}}function checkPaths(src,dest,funcName,opts,cb){util.callbackify(getStats)(src,dest,opts,(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;if(destStat){if(areIdentical(srcStat,destStat)){let srcBaseName=path2.basename(src),destBaseName=path2.basename(dest);return funcName==="move"&&srcBaseName!==destBaseName&&srcBaseName.toLowerCase()===destBaseName.toLowerCase()?cb(null,{srcStat,destStat,isChangingCase:!0}):cb(new Error("Source and destination must not be the same."))}if(srcStat.isDirectory()&&!destStat.isDirectory())return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`));if(!srcStat.isDirectory()&&destStat.isDirectory())return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`))}return srcStat.isDirectory()&&isSrcSubdir(src,dest)?cb(new Error(errMsg(src,dest,funcName))):cb(null,{srcStat,destStat})})}function checkPathsSync(src,dest,funcName,opts){let{srcStat,destStat}=getStatsSync(src,dest,opts);if(destStat){if(areIdentical(srcStat,destStat)){let srcBaseName=path2.basename(src),destBaseName=path2.basename(dest);if(funcName==="move"&&srcBaseName!==destBaseName&&srcBaseName.toLowerCase()===destBaseName.toLowerCase())return{srcStat,destStat,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(srcStat.isDirectory()&&!destStat.isDirectory())throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);if(!srcStat.isDirectory()&&destStat.isDirectory())throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)}if(srcStat.isDirectory()&&isSrcSubdir(src,dest))throw new Error(errMsg(src,dest,funcName));return{srcStat,destStat}}function checkParentPaths(src,srcStat,dest,funcName,cb){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return cb();fs4.stat(destParent,{bigint:!0},(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):areIdentical(srcStat,destStat)?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb))}function checkParentPathsSync(src,srcStat,dest,funcName){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return;let destStat;try{destStat=fs4.statSync(destParent,{bigint:!0})}catch(err){if(err.code==="ENOENT")return;throw err}if(areIdentical(srcStat,destStat))throw new Error(errMsg(src,dest,funcName));return checkParentPathsSync(src,srcStat,destParent,funcName)}function areIdentical(srcStat,destStat){return destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev}function isSrcSubdir(src,dest){let srcArr=path2.resolve(src).split(path2.sep).filter(i=>i),destArr=path2.resolve(dest).split(path2.sep).filter(i=>i);return srcArr.reduce((acc,cur,i)=>acc&&destArr[i]===cur,!0)}function errMsg(src,dest,funcName){return`Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`}module.exports={checkPaths,checkPathsSync,checkParentPaths,checkParentPathsSync,isSrcSubdir,areIdentical}}});var require_copy_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),mkdirsSync=require_mkdirs().mkdirsSync,utimesMillisSync=require_utimes().utimesMillisSync,stat2=require_stat();function copySync(src,dest,opts){typeof opts=="function"&&(opts={filter:opts}),opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
8
8
 
9
9
  see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat,destStat}=stat2.checkPathsSync(src,dest,"copy",opts);return stat2.checkParentPathsSync(src,srcStat,dest,"copy"),handleFilterAndCopy(destStat,src,dest,opts)}function handleFilterAndCopy(destStat,src,dest,opts){if(opts.filter&&!opts.filter(src,dest))return;let destParent=path2.dirname(dest);return fs4.existsSync(destParent)||mkdirsSync(destParent),getStats(destStat,src,dest,opts)}function startCopy(destStat,src,dest,opts){if(!(opts.filter&&!opts.filter(src,dest)))return getStats(destStat,src,dest,opts)}function getStats(destStat,src,dest,opts){let srcStat=(opts.dereference?fs4.statSync:fs4.lstatSync)(src);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts);if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts);if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts);throw srcStat.isSocket()?new Error(`Cannot copy a socket file: ${src}`):srcStat.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${src}`):new Error(`Unknown file: ${src}`)}function onFile(srcStat,destStat,src,dest,opts){return destStat?mayCopyFile(srcStat,src,dest,opts):copyFile(srcStat,src,dest,opts)}function mayCopyFile(srcStat,src,dest,opts){if(opts.overwrite)return fs4.unlinkSync(dest),copyFile(srcStat,src,dest,opts);if(opts.errorOnExist)throw new Error(`'${dest}' already exists`)}function copyFile(srcStat,src,dest,opts){return fs4.copyFileSync(src,dest),opts.preserveTimestamps&&handleTimestamps(srcStat.mode,src,dest),setDestMode(dest,srcStat.mode)}function handleTimestamps(srcMode,src,dest){return fileIsNotWritable(srcMode)&&makeFileWritable(dest,srcMode),setDestTimestamps(src,dest)}function fileIsNotWritable(srcMode){return(srcMode&128)===0}function makeFileWritable(dest,srcMode){return setDestMode(dest,srcMode|128)}function setDestMode(dest,srcMode){return fs4.chmodSync(dest,srcMode)}function setDestTimestamps(src,dest){let updatedSrcStat=fs4.statSync(src);return utimesMillisSync(dest,updatedSrcStat.atime,updatedSrcStat.mtime)}function onDir(srcStat,destStat,src,dest,opts){return destStat?copyDir(src,dest,opts):mkDirAndCopy(srcStat.mode,src,dest,opts)}function mkDirAndCopy(srcMode,src,dest,opts){return fs4.mkdirSync(dest),copyDir(src,dest,opts),setDestMode(dest,srcMode)}function copyDir(src,dest,opts){fs4.readdirSync(src).forEach(item=>copyDirItem(item,src,dest,opts))}function copyDirItem(item,src,dest,opts){let srcItem=path2.join(src,item),destItem=path2.join(dest,item),{destStat}=stat2.checkPathsSync(srcItem,destItem,"copy",opts);return startCopy(destStat,srcItem,destItem,opts)}function onLink(destStat,src,dest,opts){let resolvedSrc=fs4.readlinkSync(src);if(opts.dereference&&(resolvedSrc=path2.resolve(process.cwd(),resolvedSrc)),destStat){let resolvedDest;try{resolvedDest=fs4.readlinkSync(dest)}catch(err){if(err.code==="EINVAL"||err.code==="UNKNOWN")return fs4.symlinkSync(resolvedSrc,dest);throw err}if(opts.dereference&&(resolvedDest=path2.resolve(process.cwd(),resolvedDest)),stat2.isSrcSubdir(resolvedSrc,resolvedDest))throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);if(fs4.statSync(dest).isDirectory()&&stat2.isSrcSubdir(resolvedDest,resolvedSrc))throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);return copyLink(resolvedSrc,dest)}else return fs4.symlinkSync(resolvedSrc,dest)}function copyLink(resolvedSrc,dest){return fs4.unlinkSync(dest),fs4.symlinkSync(resolvedSrc,dest)}module.exports=copySync}});var require_copy_sync2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/copy-sync/index.js"(exports,module){"use strict";module.exports={copySync:require_copy_sync()}}});var require_path_exists=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/path-exists/index.js"(exports,module){"use strict";var u=require_universalify().fromPromise,fs4=require_fs();function pathExists2(path2){return fs4.access(path2).then(()=>!0).catch(()=>!1)}module.exports={pathExists:u(pathExists2),pathExistsSync:fs4.existsSync}}});var require_copy=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/copy/copy.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),mkdirs=require_mkdirs().mkdirs,pathExists2=require_path_exists().pathExists,utimesMillis=require_utimes().utimesMillis,stat2=require_stat();function copy(src,dest,opts,cb){typeof opts=="function"&&!cb?(cb=opts,opts={}):typeof opts=="function"&&(opts={filter:opts}),cb=cb||function(){},opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
10
10
 
11
11
  see https://github.com/jprichardson/node-fs-extra/issues/269`),stat2.checkPaths(src,dest,"copy",opts,(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;stat2.checkParentPaths(src,srcStat,dest,"copy",err2=>err2?cb(err2):opts.filter?handleFilter(checkParentDir,destStat,src,dest,opts,cb):checkParentDir(destStat,src,dest,opts,cb))})}function checkParentDir(destStat,src,dest,opts,cb){let destParent=path2.dirname(dest);pathExists2(destParent,(err,dirExists)=>{if(err)return cb(err);if(dirExists)return getStats(destStat,src,dest,opts,cb);mkdirs(destParent,err2=>err2?cb(err2):getStats(destStat,src,dest,opts,cb))})}function handleFilter(onInclude,destStat,src,dest,opts,cb){Promise.resolve(opts.filter(src,dest)).then(include=>include?onInclude(destStat,src,dest,opts,cb):cb(),error=>cb(error))}function startCopy(destStat,src,dest,opts,cb){return opts.filter?handleFilter(getStats,destStat,src,dest,opts,cb):getStats(destStat,src,dest,opts,cb)}function getStats(destStat,src,dest,opts,cb){(opts.dereference?fs4.stat:fs4.lstat)(src,(err,srcStat)=>err?cb(err):srcStat.isDirectory()?onDir(srcStat,destStat,src,dest,opts,cb):srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice()?onFile(srcStat,destStat,src,dest,opts,cb):srcStat.isSymbolicLink()?onLink(destStat,src,dest,opts,cb):srcStat.isSocket()?cb(new Error(`Cannot copy a socket file: ${src}`)):srcStat.isFIFO()?cb(new Error(`Cannot copy a FIFO pipe: ${src}`)):cb(new Error(`Unknown file: ${src}`)))}function onFile(srcStat,destStat,src,dest,opts,cb){return destStat?mayCopyFile(srcStat,src,dest,opts,cb):copyFile(srcStat,src,dest,opts,cb)}function mayCopyFile(srcStat,src,dest,opts,cb){if(opts.overwrite)fs4.unlink(dest,err=>err?cb(err):copyFile(srcStat,src,dest,opts,cb));else return opts.errorOnExist?cb(new Error(`'${dest}' already exists`)):cb()}function copyFile(srcStat,src,dest,opts,cb){fs4.copyFile(src,dest,err=>err?cb(err):opts.preserveTimestamps?handleTimestampsAndMode(srcStat.mode,src,dest,cb):setDestMode(dest,srcStat.mode,cb))}function handleTimestampsAndMode(srcMode,src,dest,cb){return fileIsNotWritable(srcMode)?makeFileWritable(dest,srcMode,err=>err?cb(err):setDestTimestampsAndMode(srcMode,src,dest,cb)):setDestTimestampsAndMode(srcMode,src,dest,cb)}function fileIsNotWritable(srcMode){return(srcMode&128)===0}function makeFileWritable(dest,srcMode,cb){return setDestMode(dest,srcMode|128,cb)}function setDestTimestampsAndMode(srcMode,src,dest,cb){setDestTimestamps(src,dest,err=>err?cb(err):setDestMode(dest,srcMode,cb))}function setDestMode(dest,srcMode,cb){return fs4.chmod(dest,srcMode,cb)}function setDestTimestamps(src,dest,cb){fs4.stat(src,(err,updatedSrcStat)=>err?cb(err):utimesMillis(dest,updatedSrcStat.atime,updatedSrcStat.mtime,cb))}function onDir(srcStat,destStat,src,dest,opts,cb){return destStat?copyDir(src,dest,opts,cb):mkDirAndCopy(srcStat.mode,src,dest,opts,cb)}function mkDirAndCopy(srcMode,src,dest,opts,cb){fs4.mkdir(dest,err=>{if(err)return cb(err);copyDir(src,dest,opts,err2=>err2?cb(err2):setDestMode(dest,srcMode,cb))})}function copyDir(src,dest,opts,cb){fs4.readdir(src,(err,items)=>err?cb(err):copyDirItems(items,src,dest,opts,cb))}function copyDirItems(items,src,dest,opts,cb){let item=items.pop();return item?copyDirItem(items,item,src,dest,opts,cb):cb()}function copyDirItem(items,item,src,dest,opts,cb){let srcItem=path2.join(src,item),destItem=path2.join(dest,item);stat2.checkPaths(srcItem,destItem,"copy",opts,(err,stats)=>{if(err)return cb(err);let{destStat}=stats;startCopy(destStat,srcItem,destItem,opts,err2=>err2?cb(err2):copyDirItems(items,src,dest,opts,cb))})}function onLink(destStat,src,dest,opts,cb){fs4.readlink(src,(err,resolvedSrc)=>{if(err)return cb(err);if(opts.dereference&&(resolvedSrc=path2.resolve(process.cwd(),resolvedSrc)),destStat)fs4.readlink(dest,(err2,resolvedDest)=>err2?err2.code==="EINVAL"||err2.code==="UNKNOWN"?fs4.symlink(resolvedSrc,dest,cb):cb(err2):(opts.dereference&&(resolvedDest=path2.resolve(process.cwd(),resolvedDest)),stat2.isSrcSubdir(resolvedSrc,resolvedDest)?cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)):destStat.isDirectory()&&stat2.isSrcSubdir(resolvedDest,resolvedSrc)?cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)):copyLink(resolvedSrc,dest,cb)));else return fs4.symlink(resolvedSrc,dest,cb)})}function copyLink(resolvedSrc,dest,cb){fs4.unlink(dest,err=>err?cb(err):fs4.symlink(resolvedSrc,dest,cb))}module.exports=copy}});var require_copy2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/copy/index.js"(exports,module){"use strict";var u=require_universalify().fromCallback;module.exports={copy:u(require_copy())}}});var require_rimraf=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/remove/rimraf.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),assert=__require("assert"),isWindows=process.platform==="win32";function defaults(options){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(m=>{options[m]=options[m]||fs4[m],m=m+"Sync",options[m]=options[m]||fs4[m]}),options.maxBusyTries=options.maxBusyTries||3}function rimraf(p,options,cb){let busyTries=0;typeof options=="function"&&(cb=options,options={}),assert(p,"rimraf: missing path"),assert.strictEqual(typeof p,"string","rimraf: path should be a string"),assert.strictEqual(typeof cb,"function","rimraf: callback function required"),assert(options,"rimraf: invalid options argument provided"),assert.strictEqual(typeof options,"object","rimraf: options should be object"),defaults(options),rimraf_(p,options,function CB(er){if(er){if((er.code==="EBUSY"||er.code==="ENOTEMPTY"||er.code==="EPERM")&&busyTries<options.maxBusyTries){busyTries++;let time=busyTries*100;return setTimeout(()=>rimraf_(p,options,CB),time)}er.code==="ENOENT"&&(er=null)}cb(er)})}function rimraf_(p,options,cb){assert(p),assert(options),assert(typeof cb=="function"),options.lstat(p,(er,st)=>{if(er&&er.code==="ENOENT")return cb(null);if(er&&er.code==="EPERM"&&isWindows)return fixWinEPERM(p,options,er,cb);if(st&&st.isDirectory())return rmdir(p,options,er,cb);options.unlink(p,er2=>{if(er2){if(er2.code==="ENOENT")return cb(null);if(er2.code==="EPERM")return isWindows?fixWinEPERM(p,options,er2,cb):rmdir(p,options,er2,cb);if(er2.code==="EISDIR")return rmdir(p,options,er2,cb)}return cb(er2)})})}function fixWinEPERM(p,options,er,cb){assert(p),assert(options),assert(typeof cb=="function"),options.chmod(p,438,er2=>{er2?cb(er2.code==="ENOENT"?null:er):options.stat(p,(er3,stats)=>{er3?cb(er3.code==="ENOENT"?null:er):stats.isDirectory()?rmdir(p,options,er,cb):options.unlink(p,cb)})})}function fixWinEPERMSync(p,options,er){let stats;assert(p),assert(options);try{options.chmodSync(p,438)}catch(er2){if(er2.code==="ENOENT")return;throw er}try{stats=options.statSync(p)}catch(er3){if(er3.code==="ENOENT")return;throw er}stats.isDirectory()?rmdirSync(p,options,er):options.unlinkSync(p)}function rmdir(p,options,originalEr,cb){assert(p),assert(options),assert(typeof cb=="function"),options.rmdir(p,er=>{er&&(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM")?rmkids(p,options,cb):er&&er.code==="ENOTDIR"?cb(originalEr):cb(er)})}function rmkids(p,options,cb){assert(p),assert(options),assert(typeof cb=="function"),options.readdir(p,(er,files)=>{if(er)return cb(er);let n=files.length,errState;if(n===0)return options.rmdir(p,cb);files.forEach(f=>{rimraf(path2.join(p,f),options,er2=>{if(!errState){if(er2)return cb(errState=er2);--n===0&&options.rmdir(p,cb)}})})})}function rimrafSync(p,options){let st;options=options||{},defaults(options),assert(p,"rimraf: missing path"),assert.strictEqual(typeof p,"string","rimraf: path should be a string"),assert(options,"rimraf: missing options"),assert.strictEqual(typeof options,"object","rimraf: options should be object");try{st=options.lstatSync(p)}catch(er){if(er.code==="ENOENT")return;er.code==="EPERM"&&isWindows&&fixWinEPERMSync(p,options,er)}try{st&&st.isDirectory()?rmdirSync(p,options,null):options.unlinkSync(p)}catch(er){if(er.code==="ENOENT")return;if(er.code==="EPERM")return isWindows?fixWinEPERMSync(p,options,er):rmdirSync(p,options,er);if(er.code!=="EISDIR")throw er;rmdirSync(p,options,er)}}function rmdirSync(p,options,originalEr){assert(p),assert(options);try{options.rmdirSync(p)}catch(er){if(er.code==="ENOTDIR")throw originalEr;if(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM")rmkidsSync(p,options);else if(er.code!=="ENOENT")throw er}}function rmkidsSync(p,options){if(assert(p),assert(options),options.readdirSync(p).forEach(f=>rimrafSync(path2.join(p,f),options)),isWindows){let startTime=Date.now();do try{return options.rmdirSync(p,options)}catch{}while(Date.now()-startTime<500)}else return options.rmdirSync(p,options)}module.exports=rimraf;rimraf.sync=rimrafSync}});var require_remove=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/remove/index.js"(exports,module){"use strict";var fs4=require_graceful_fs(),u=require_universalify().fromCallback,rimraf=require_rimraf();function remove(path2,callback){if(fs4.rm)return fs4.rm(path2,{recursive:!0,force:!0},callback);rimraf(path2,callback)}function removeSync(path2){if(fs4.rmSync)return fs4.rmSync(path2,{recursive:!0,force:!0});rimraf.sync(path2)}module.exports={remove:u(remove),removeSync}}});var require_empty=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/empty/index.js"(exports,module){"use strict";var u=require_universalify().fromPromise,fs4=require_fs(),path2=__require("path"),mkdir=require_mkdirs(),remove=require_remove(),emptyDir=u(async function(dir){let items;try{items=await fs4.readdir(dir)}catch{return mkdir.mkdirs(dir)}return Promise.all(items.map(item=>remove.remove(path2.join(dir,item))))});function emptyDirSync(dir){let items;try{items=fs4.readdirSync(dir)}catch{return mkdir.mkdirsSync(dir)}items.forEach(item=>{item=path2.join(dir,item),remove.removeSync(item)})}module.exports={emptyDirSync,emptydirSync:emptyDirSync,emptyDir,emptydir:emptyDir}}});var require_file=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/file.js"(exports,module){"use strict";var u=require_universalify().fromCallback,path2=__require("path"),fs4=require_graceful_fs(),mkdir=require_mkdirs();function createFile(file,callback){function makeFile(){fs4.writeFile(file,"",err=>{if(err)return callback(err);callback()})}fs4.stat(file,(err,stats)=>{if(!err&&stats.isFile())return callback();let dir=path2.dirname(file);fs4.stat(dir,(err2,stats2)=>{if(err2)return err2.code==="ENOENT"?mkdir.mkdirs(dir,err3=>{if(err3)return callback(err3);makeFile()}):callback(err2);stats2.isDirectory()?makeFile():fs4.readdir(dir,err3=>{if(err3)return callback(err3)})})})}function createFileSync(file){let stats;try{stats=fs4.statSync(file)}catch{}if(stats&&stats.isFile())return;let dir=path2.dirname(file);try{fs4.statSync(dir).isDirectory()||fs4.readdirSync(dir)}catch(err){if(err&&err.code==="ENOENT")mkdir.mkdirsSync(dir);else throw err}fs4.writeFileSync(file,"")}module.exports={createFile:u(createFile),createFileSync}}});var require_link=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/link.js"(exports,module){"use strict";var u=require_universalify().fromCallback,path2=__require("path"),fs4=require_graceful_fs(),mkdir=require_mkdirs(),pathExists2=require_path_exists().pathExists,{areIdentical}=require_stat();function createLink(srcpath,dstpath,callback){function makeLink(srcpath2,dstpath2){fs4.link(srcpath2,dstpath2,err=>{if(err)return callback(err);callback(null)})}fs4.lstat(dstpath,(_,dstStat)=>{fs4.lstat(srcpath,(err,srcStat)=>{if(err)return err.message=err.message.replace("lstat","ensureLink"),callback(err);if(dstStat&&areIdentical(srcStat,dstStat))return callback(null);let dir=path2.dirname(dstpath);pathExists2(dir,(err2,dirExists)=>{if(err2)return callback(err2);if(dirExists)return makeLink(srcpath,dstpath);mkdir.mkdirs(dir,err3=>{if(err3)return callback(err3);makeLink(srcpath,dstpath)})})})})}function createLinkSync(srcpath,dstpath){let dstStat;try{dstStat=fs4.lstatSync(dstpath)}catch{}try{let srcStat=fs4.lstatSync(srcpath);if(dstStat&&areIdentical(srcStat,dstStat))return}catch(err){throw err.message=err.message.replace("lstat","ensureLink"),err}let dir=path2.dirname(dstpath);return fs4.existsSync(dir)||mkdir.mkdirsSync(dir),fs4.linkSync(srcpath,dstpath)}module.exports={createLink:u(createLink),createLinkSync}}});var require_symlink_paths=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports,module){"use strict";var path2=__require("path"),fs4=require_graceful_fs(),pathExists2=require_path_exists().pathExists;function symlinkPaths(srcpath,dstpath,callback){if(path2.isAbsolute(srcpath))return fs4.lstat(srcpath,err=>err?(err.message=err.message.replace("lstat","ensureSymlink"),callback(err)):callback(null,{toCwd:srcpath,toDst:srcpath}));{let dstdir=path2.dirname(dstpath),relativeToDst=path2.join(dstdir,srcpath);return pathExists2(relativeToDst,(err,exists)=>err?callback(err):exists?callback(null,{toCwd:relativeToDst,toDst:srcpath}):fs4.lstat(srcpath,err2=>err2?(err2.message=err2.message.replace("lstat","ensureSymlink"),callback(err2)):callback(null,{toCwd:srcpath,toDst:path2.relative(dstdir,srcpath)})))}}function symlinkPathsSync(srcpath,dstpath){let exists;if(path2.isAbsolute(srcpath)){if(exists=fs4.existsSync(srcpath),!exists)throw new Error("absolute srcpath does not exist");return{toCwd:srcpath,toDst:srcpath}}else{let dstdir=path2.dirname(dstpath),relativeToDst=path2.join(dstdir,srcpath);if(exists=fs4.existsSync(relativeToDst),exists)return{toCwd:relativeToDst,toDst:srcpath};if(exists=fs4.existsSync(srcpath),!exists)throw new Error("relative srcpath does not exist");return{toCwd:srcpath,toDst:path2.relative(dstdir,srcpath)}}}module.exports={symlinkPaths,symlinkPathsSync}}});var require_symlink_type=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports,module){"use strict";var fs4=require_graceful_fs();function symlinkType(srcpath,type,callback){if(callback=typeof type=="function"?type:callback,type=typeof type=="function"?!1:type,type)return callback(null,type);fs4.lstat(srcpath,(err,stats)=>{if(err)return callback(null,"file");type=stats&&stats.isDirectory()?"dir":"file",callback(null,type)})}function symlinkTypeSync(srcpath,type){let stats;if(type)return type;try{stats=fs4.lstatSync(srcpath)}catch{return"file"}return stats&&stats.isDirectory()?"dir":"file"}module.exports={symlinkType,symlinkTypeSync}}});var require_symlink=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/symlink.js"(exports,module){"use strict";var u=require_universalify().fromCallback,path2=__require("path"),fs4=require_fs(),_mkdirs=require_mkdirs(),mkdirs=_mkdirs.mkdirs,mkdirsSync=_mkdirs.mkdirsSync,_symlinkPaths=require_symlink_paths(),symlinkPaths=_symlinkPaths.symlinkPaths,symlinkPathsSync=_symlinkPaths.symlinkPathsSync,_symlinkType=require_symlink_type(),symlinkType=_symlinkType.symlinkType,symlinkTypeSync=_symlinkType.symlinkTypeSync,pathExists2=require_path_exists().pathExists,{areIdentical}=require_stat();function createSymlink(srcpath,dstpath,type,callback){callback=typeof type=="function"?type:callback,type=typeof type=="function"?!1:type,fs4.lstat(dstpath,(err,stats)=>{!err&&stats.isSymbolicLink()?Promise.all([fs4.stat(srcpath),fs4.stat(dstpath)]).then(([srcStat,dstStat])=>{if(areIdentical(srcStat,dstStat))return callback(null);_createSymlink(srcpath,dstpath,type,callback)}):_createSymlink(srcpath,dstpath,type,callback)})}function _createSymlink(srcpath,dstpath,type,callback){symlinkPaths(srcpath,dstpath,(err,relative3)=>{if(err)return callback(err);srcpath=relative3.toDst,symlinkType(relative3.toCwd,type,(err2,type2)=>{if(err2)return callback(err2);let dir=path2.dirname(dstpath);pathExists2(dir,(err3,dirExists)=>{if(err3)return callback(err3);if(dirExists)return fs4.symlink(srcpath,dstpath,type2,callback);mkdirs(dir,err4=>{if(err4)return callback(err4);fs4.symlink(srcpath,dstpath,type2,callback)})})})})}function createSymlinkSync(srcpath,dstpath,type){let stats;try{stats=fs4.lstatSync(dstpath)}catch{}if(stats&&stats.isSymbolicLink()){let srcStat=fs4.statSync(srcpath),dstStat=fs4.statSync(dstpath);if(areIdentical(srcStat,dstStat))return}let relative3=symlinkPathsSync(srcpath,dstpath);srcpath=relative3.toDst,type=symlinkTypeSync(relative3.toCwd,type);let dir=path2.dirname(dstpath);return fs4.existsSync(dir)||mkdirsSync(dir),fs4.symlinkSync(srcpath,dstpath,type)}module.exports={createSymlink:u(createSymlink),createSymlinkSync}}});var require_ensure=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/ensure/index.js"(exports,module){"use strict";var file=require_file(),link=require_link(),symlink=require_symlink();module.exports={createFile:file.createFile,createFileSync:file.createFileSync,ensureFile:file.createFile,ensureFileSync:file.createFileSync,createLink:link.createLink,createLinkSync:link.createLinkSync,ensureLink:link.createLink,ensureLinkSync:link.createLinkSync,createSymlink:symlink.createSymlink,createSymlinkSync:symlink.createSymlinkSync,ensureSymlink:symlink.createSymlink,ensureSymlinkSync:symlink.createSymlinkSync}}});var require_utils2=__commonJS({"../../node_modules/.pnpm/jsonfile@6.2.1/node_modules/jsonfile/utils.js"(exports,module){function stringify(obj,{EOL=`
12
12
  `,finalEOL=!0,replacer=null,spaces}={}){let EOF=finalEOL?EOL:"",str=JSON.stringify(obj,replacer,spaces);if(str===void 0)throw new TypeError(`Converting ${typeof obj} value to JSON is not supported`);return str.replace(/\n/g,EOL)+EOF}function stripBom(content){return Buffer.isBuffer(content)&&(content=content.toString("utf8")),content.replace(/^\uFEFF/,"")}module.exports={stringify,stripBom}}});var require_jsonfile=__commonJS({"../../node_modules/.pnpm/jsonfile@6.2.1/node_modules/jsonfile/index.js"(exports,module){var _fs;try{_fs=require_graceful_fs()}catch{_fs=__require("fs")}var universalify=require_universalify(),{stringify,stripBom}=require_utils2();async function _readFile(file,options={}){typeof options=="string"&&(options={encoding:options});let fs4=options.fs||_fs,shouldThrow="throws"in options?options.throws:!0,data=await universalify.fromCallback(fs4.readFile)(file,options);data=stripBom(data);let obj;try{obj=JSON.parse(data,options?options.reviver:null)}catch(err){if(shouldThrow)throw err.message=`${file}: ${err.message}`,err;return null}return obj}var readFile3=universalify.fromPromise(_readFile);function readFileSync(file,options={}){typeof options=="string"&&(options={encoding:options});let fs4=options.fs||_fs,shouldThrow="throws"in options?options.throws:!0;try{let content=fs4.readFileSync(file,options);return content=stripBom(content),JSON.parse(content,options.reviver)}catch(err){if(shouldThrow)throw err.message=`${file}: ${err.message}`,err;return null}}async function _writeFile(file,obj,options={}){let fs4=options.fs||_fs,str=stringify(obj,options);await universalify.fromCallback(fs4.writeFile)(file,str,options)}var writeFile3=universalify.fromPromise(_writeFile);function writeFileSync(file,obj,options={}){let fs4=options.fs||_fs,str=stringify(obj,options);return fs4.writeFileSync(file,str,options)}module.exports={readFile:readFile3,readFileSync,writeFile:writeFile3,writeFileSync}}});var require_jsonfile2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/jsonfile.js"(exports,module){"use strict";var jsonFile=require_jsonfile();module.exports={readJson:jsonFile.readFile,readJsonSync:jsonFile.readFileSync,writeJson:jsonFile.writeFile,writeJsonSync:jsonFile.writeFileSync}}});var require_output=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/output/index.js"(exports,module){"use strict";var u=require_universalify().fromCallback,fs4=require_graceful_fs(),path2=__require("path"),mkdir=require_mkdirs(),pathExists2=require_path_exists().pathExists;function outputFile(file,data,encoding,callback){typeof encoding=="function"&&(callback=encoding,encoding="utf8");let dir=path2.dirname(file);pathExists2(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return fs4.writeFile(file,data,encoding,callback);mkdir.mkdirs(dir,err2=>{if(err2)return callback(err2);fs4.writeFile(file,data,encoding,callback)})})}function outputFileSync(file,...args){let dir=path2.dirname(file);if(fs4.existsSync(dir))return fs4.writeFileSync(file,...args);mkdir.mkdirsSync(dir),fs4.writeFileSync(file,...args)}module.exports={outputFile:u(outputFile),outputFileSync}}});var require_output_json=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/output-json.js"(exports,module){"use strict";var{stringify}=require_utils2(),{outputFile}=require_output();async function outputJson(file,data,options={}){let str=stringify(data,options);await outputFile(file,str,options)}module.exports=outputJson}});var require_output_json_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/output-json-sync.js"(exports,module){"use strict";var{stringify}=require_utils2(),{outputFileSync}=require_output();function outputJsonSync(file,data,options){let str=stringify(data,options);outputFileSync(file,str,options)}module.exports=outputJsonSync}});var require_json=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/json/index.js"(exports,module){"use strict";var u=require_universalify().fromPromise,jsonFile=require_jsonfile2();jsonFile.outputJson=u(require_output_json());jsonFile.outputJsonSync=require_output_json_sync();jsonFile.outputJSON=jsonFile.outputJson;jsonFile.outputJSONSync=jsonFile.outputJsonSync;jsonFile.writeJSON=jsonFile.writeJson;jsonFile.writeJSONSync=jsonFile.writeJsonSync;jsonFile.readJSON=jsonFile.readJson;jsonFile.readJSONSync=jsonFile.readJsonSync;module.exports=jsonFile}});var require_move_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/move-sync/move-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),copySync=require_copy_sync2().copySync,removeSync=require_remove().removeSync,mkdirpSync=require_mkdirs().mkdirpSync,stat2=require_stat();function moveSync(src,dest,opts){opts=opts||{};let overwrite=opts.overwrite||opts.clobber||!1,{srcStat,isChangingCase=!1}=stat2.checkPathsSync(src,dest,"move",opts);return stat2.checkParentPathsSync(src,srcStat,dest,"move"),isParentRoot(dest)||mkdirpSync(path2.dirname(dest)),doRename(src,dest,overwrite,isChangingCase)}function isParentRoot(dest){let parent=path2.dirname(dest);return path2.parse(parent).root===parent}function doRename(src,dest,overwrite,isChangingCase){if(isChangingCase)return rename(src,dest,overwrite);if(overwrite)return removeSync(dest),rename(src,dest,overwrite);if(fs4.existsSync(dest))throw new Error("dest already exists.");return rename(src,dest,overwrite)}function rename(src,dest,overwrite){try{fs4.renameSync(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;return moveAcrossDevice(src,dest,overwrite)}}function moveAcrossDevice(src,dest,overwrite){return copySync(src,dest,{overwrite,errorOnExist:!0}),removeSync(src)}module.exports=moveSync}});var require_move_sync2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/move-sync/index.js"(exports,module){"use strict";module.exports={moveSync:require_move_sync()}}});var require_move=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/move/move.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),copy=require_copy2().copy,remove=require_remove().remove,mkdirp=require_mkdirs().mkdirp,pathExists2=require_path_exists().pathExists,stat2=require_stat();function move(src,dest,opts,cb){typeof opts=="function"&&(cb=opts,opts={});let overwrite=opts.overwrite||opts.clobber||!1;stat2.checkPaths(src,dest,"move",opts,(err,stats)=>{if(err)return cb(err);let{srcStat,isChangingCase=!1}=stats;stat2.checkParentPaths(src,srcStat,dest,"move",err2=>{if(err2)return cb(err2);if(isParentRoot(dest))return doRename(src,dest,overwrite,isChangingCase,cb);mkdirp(path2.dirname(dest),err3=>err3?cb(err3):doRename(src,dest,overwrite,isChangingCase,cb))})})}function isParentRoot(dest){let parent=path2.dirname(dest);return path2.parse(parent).root===parent}function doRename(src,dest,overwrite,isChangingCase,cb){if(isChangingCase)return rename(src,dest,overwrite,cb);if(overwrite)return remove(dest,err=>err?cb(err):rename(src,dest,overwrite,cb));pathExists2(dest,(err,destExists)=>err?cb(err):destExists?cb(new Error("dest already exists.")):rename(src,dest,overwrite,cb))}function rename(src,dest,overwrite,cb){fs4.rename(src,dest,err=>err?err.code!=="EXDEV"?cb(err):moveAcrossDevice(src,dest,overwrite,cb):cb())}function moveAcrossDevice(src,dest,overwrite,cb){copy(src,dest,{overwrite,errorOnExist:!0},err=>err?cb(err):remove(src,cb))}module.exports=move}});var require_move2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/move/index.js"(exports,module){"use strict";var u=require_universalify().fromCallback;module.exports={move:u(require_move())}}});var require_lib2=__commonJS({"../../node_modules/.pnpm/fs-extra@10.0.0/node_modules/fs-extra/lib/index.js"(exports,module){"use strict";module.exports={...require_fs(),...require_copy_sync2(),...require_copy2(),...require_empty(),...require_ensure(),...require_json(),...require_mkdirs(),...require_move_sync2(),...require_move2(),...require_output(),...require_path_exists(),...require_remove()}}});var require_pluralize=__commonJS({"../../node_modules/.pnpm/pluralize@7.0.0/node_modules/pluralize/pluralize.js"(exports,module){(function(root,pluralize2){typeof __require=="function"&&typeof exports=="object"&&typeof module=="object"?module.exports=pluralize2():typeof define=="function"&&define.amd?define(function(){return pluralize2()}):root.pluralize=pluralize2()})(exports,function(){var pluralRules=[],singularRules=[],uncountables={},irregularPlurals={},irregularSingles={};function sanitizeRule(rule){return typeof rule=="string"?new RegExp("^"+rule+"$","i"):rule}function restoreCase(word,token){return word===token?token:word===word.toUpperCase()?token.toUpperCase():word[0]===word[0].toUpperCase()?token.charAt(0).toUpperCase()+token.substr(1).toLowerCase():token.toLowerCase()}function interpolate(str,args){return str.replace(/\$(\d{1,2})/g,function(match,index){return args[index]||""})}function replace(word,rule){return word.replace(rule[0],function(match,index){var result=interpolate(rule[1],arguments);return restoreCase(match===""?word[index-1]:match,result)})}function sanitizeWord(token,word,rules){if(!token.length||uncountables.hasOwnProperty(token))return word;for(var len=rules.length;len--;){var rule=rules[len];if(rule[0].test(word))return replace(word,rule)}return word}function replaceWord(replaceMap,keepMap,rules){return function(word){var token=word.toLowerCase();return keepMap.hasOwnProperty(token)?restoreCase(word,token):replaceMap.hasOwnProperty(token)?restoreCase(word,replaceMap[token]):sanitizeWord(token,word,rules)}}function checkWord(replaceMap,keepMap,rules,bool){return function(word){var token=word.toLowerCase();return keepMap.hasOwnProperty(token)?!0:replaceMap.hasOwnProperty(token)?!1:sanitizeWord(token,token,rules)===token}}function pluralize2(word,count,inclusive){var pluralized=count===1?pluralize2.singular(word):pluralize2.plural(word);return(inclusive?count+" ":"")+pluralized}return pluralize2.plural=replaceWord(irregularSingles,irregularPlurals,pluralRules),pluralize2.isPlural=checkWord(irregularSingles,irregularPlurals,pluralRules),pluralize2.singular=replaceWord(irregularPlurals,irregularSingles,singularRules),pluralize2.isSingular=checkWord(irregularPlurals,irregularSingles,singularRules),pluralize2.addPluralRule=function(rule,replacement){pluralRules.push([sanitizeRule(rule),replacement])},pluralize2.addSingularRule=function(rule,replacement){singularRules.push([sanitizeRule(rule),replacement])},pluralize2.addUncountableRule=function(word){if(typeof word=="string"){uncountables[word.toLowerCase()]=!0;return}pluralize2.addPluralRule(word,"$0"),pluralize2.addSingularRule(word,"$0")},pluralize2.addIrregularRule=function(single,plural){plural=plural.toLowerCase(),single=single.toLowerCase(),irregularSingles[single]=plural,irregularPlurals[plural]=single},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["whiskey","whiskies"]].forEach(function(rule){return pluralize2.addIrregularRule(rule[0],rule[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|tlas|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/(m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(rule){return pluralize2.addPluralRule(rule[0],rule[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/(m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,"$1"],[/(analy|ba|diagno|parenthe|progno|synop|the|empha|cri)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(rule){return pluralize2.addSingularRule(rule[0],rule[1])}),["adulthood","advice","agenda","aid","alcohol","ammo","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","flounder","fun","gallows","garbage","graffiti","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","manga","news","pike","plankton","pliers","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","species","staff","swine","tennis","traffic","transporation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(pluralize2.addUncountableRule),pluralize2})}});var require_ini=__commonJS({"../../node_modules/.pnpm/ini@3.0.0/node_modules/ini/lib/ini.js"(exports,module){var{hasOwnProperty}=Object.prototype,eol=typeof process<"u"&&process.platform==="win32"?`\r
13
13
  `:`
14
- `,encode=(obj,opt)=>{let children=[],out="";typeof opt=="string"?opt={section:opt,whitespace:!1}:(opt=opt||Object.create(null),opt.whitespace=opt.whitespace===!0);let separator=opt.whitespace?" = ":"=";for(let k of Object.keys(obj)){let val=obj[k];if(val&&Array.isArray(val))for(let item of val)out+=safe(k+"[]")+separator+safe(item)+eol;else val&&typeof val=="object"?children.push(k):out+=safe(k)+separator+safe(val)+eol}opt.section&&out.length&&(out="["+safe(opt.section)+"]"+eol+out);for(let k of children){let nk=dotSplit(k).join("\\."),section=(opt.section?opt.section+".":"")+nk,{whitespace}=opt,child=encode(obj[k],{section,whitespace});out.length&&child.length&&(out+=eol),out+=child}return out},dotSplit=str=>str.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(part=>part.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")),decode=str=>{let out=Object.create(null),p=out,section=null,re=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,lines=str.split(/[\r\n]+/g);for(let line of lines){if(!line||line.match(/^\s*[;#]/))continue;let match=line.match(re);if(!match)continue;if(match[1]!==void 0){if(section=unsafe(match[1]),section==="__proto__"){p=Object.create(null);continue}p=out[section]=out[section]||Object.create(null);continue}let keyRaw=unsafe(match[2]),isArray=keyRaw.length>2&&keyRaw.slice(-2)==="[]",key=isArray?keyRaw.slice(0,-2):keyRaw;if(key==="__proto__")continue;let valueRaw=match[3]?unsafe(match[4]):!0,value=valueRaw==="true"||valueRaw==="false"||valueRaw==="null"?JSON.parse(valueRaw):valueRaw;isArray&&(hasOwnProperty.call(p,key)?Array.isArray(p[key])||(p[key]=[p[key]]):p[key]=[]),Array.isArray(p[key])?p[key].push(value):p[key]=value}let remove=[];for(let k of Object.keys(out)){if(!hasOwnProperty.call(out,k)||typeof out[k]!="object"||Array.isArray(out[k]))continue;let parts=dotSplit(k);p=out;let l=parts.pop(),nl=l.replace(/\\\./g,".");for(let part of parts)part!=="__proto__"&&((!hasOwnProperty.call(p,part)||typeof p[part]!="object")&&(p[part]=Object.create(null)),p=p[part]);p===out&&nl===l||(p[nl]=out[k],remove.push(k))}for(let del of remove)delete out[del];return out},isQuoted=val=>val.startsWith('"')&&val.endsWith('"')||val.startsWith("'")&&val.endsWith("'"),safe=val=>typeof val!="string"||val.match(/[=\r\n]/)||val.match(/^\[/)||val.length>1&&isQuoted(val)||val!==val.trim()?JSON.stringify(val):val.split(";").join("\\;").split("#").join("\\#"),unsafe=(val,doUnesc)=>{if(val=(val||"").trim(),isQuoted(val)){val.charAt(0)==="'"&&(val=val.slice(1,-1));try{val=JSON.parse(val)}catch{}}else{let esc=!1,unesc="";for(let i=0,l=val.length;i<l;i++){let c=val.charAt(i);if(esc)"\\;#".indexOf(c)!==-1?unesc+=c:unesc+="\\"+c,esc=!1;else{if(";#".indexOf(c)!==-1)break;c==="\\"?esc=!0:unesc+=c}}return esc&&(unesc+="\\"),unesc.trim()}return val};module.exports={parse:decode,decode,stringify:encode,encode,safe,unsafe}}});var require_retry_operation=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/lib/retry_operation.js"(exports,module){function RetryOperation(timeouts,options){typeof options=="boolean"&&(options={forever:options}),this._timeouts=timeouts,this._options=options||{},this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}module.exports=RetryOperation;RetryOperation.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};RetryOperation.prototype.retry=function(err){if(this._timeout&&clearTimeout(this._timeout),!err)return!1;this._errors.push(err);var timeout=this._timeouts.shift();if(timeout===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),timeout=this._timeouts.shift();else return!1;var self=this,timer=setTimeout(function(){self._attempts++,self._operationTimeoutCb&&(self._timeout=setTimeout(function(){self._operationTimeoutCb(self._attempts)},self._operationTimeout),this._options.unref&&self._timeout.unref()),self._fn(self._attempts)},timeout);return this._options.unref&&timer.unref(),!0};RetryOperation.prototype.attempt=function(fn,timeoutOps){this._fn=fn,timeoutOps&&(timeoutOps.timeout&&(this._operationTimeout=timeoutOps.timeout),timeoutOps.cb&&(this._operationTimeoutCb=timeoutOps.cb));var self=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){self._operationTimeoutCb()},self._operationTimeout)),this._fn(this._attempts)};RetryOperation.prototype.try=function(fn){console.log("Using RetryOperation.try() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=function(fn){console.log("Using RetryOperation.start() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0)return null;for(var counts={},mainError=null,mainErrorCount=0,i=0;i<this._errors.length;i++){var error=this._errors[i],message=error.message,count=(counts[message]||0)+1;counts[message]=count,count>=mainErrorCount&&(mainError=error,mainErrorCount=count)}return mainError}}});var require_retry=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/lib/retry.js"(exports){var RetryOperation=require_retry_operation();exports.operation=function(options){var timeouts=exports.timeouts(options);return new RetryOperation(timeouts,{forever:options&&options.forever,unref:options&&options.unref})};exports.timeouts=function(options){if(options instanceof Array)return[].concat(options);var opts={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var key in options)opts[key]=options[key];if(opts.minTimeout>opts.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var timeouts=[],i=0;i<opts.retries;i++)timeouts.push(this.createTimeout(i,opts));return options&&options.forever&&!timeouts.length&&timeouts.push(this.createTimeout(i,opts)),timeouts.sort(function(a,b){return a-b}),timeouts};exports.createTimeout=function(attempt,opts){var random=opts.randomize?Math.random()+1:1,timeout=Math.round(random*opts.minTimeout*Math.pow(opts.factor,attempt));return timeout=Math.min(timeout,opts.maxTimeout),timeout};exports.wrap=function(obj,options,methods){if(options instanceof Array&&(methods=options,options=null),!methods){methods=[];for(var key in obj)typeof obj[key]=="function"&&methods.push(key)}for(var i=0;i<methods.length;i++){var method=methods[i],original=obj[method];obj[method]=function(){var op=exports.operation(options),args=Array.prototype.slice.call(arguments),callback=args.pop();args.push(function(err){op.retry(err)||(err&&(arguments[0]=op.mainError()),callback.apply(this,arguments))}),op.attempt(function(){original.apply(obj,args)})},obj[method].options=options}}}});var require_retry2=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/index.js"(exports,module){module.exports=require_retry()}});var require_dist2=__commonJS({"../../node_modules/.pnpm/async-retry@1.1.3/node_modules/async-retry/dist/index.js"(exports,module){"use strict";var retrier=require_retry2();module.exports=function(fn,opts){return opts=opts||{},new Promise(function(resolve6,reject){var op=retrier.operation(opts),bail=function(err){return reject(err||new Error("Aborted"))},onError=function(err){if(err.bail)return bail(err);op.retry(err)?opts.onRetry&&opts.onRetry(err):reject(op.mainError())};op.attempt(function(num){var val=void 0;try{val=fn(bail,num)}catch(err){return onError(err)}Promise.resolve(val).then(resolve6,onError)})})}}});var require_types=__commonJS({"../client/dist/types.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),types_exports={};__export(types_exports,{VALID_ARCHIVE_FORMATS:()=>VALID_ARCHIVE_FORMATS,fileNameSymbol:()=>fileNameSymbol2});module.exports=__toCommonJS(types_exports);var VALID_ARCHIVE_FORMATS=["tgz"],fileNameSymbol2=Symbol("fileName")}});var require_universalify2=__commonJS({"../../node_modules/.pnpm/universalify@0.1.2/node_modules/universalify/index.js"(exports){"use strict";exports.fromCallback=function(fn){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")fn.apply(this,arguments);else return new Promise((resolve6,reject)=>{arguments[arguments.length]=(err,res)=>{if(err)return reject(err);resolve6(res)},arguments.length++,fn.apply(this,arguments)})},"name",{value:fn.name})};exports.fromPromise=function(fn){return Object.defineProperty(function(){let cb=arguments[arguments.length-1];if(typeof cb!="function")return fn.apply(this,arguments);fn.apply(this,arguments).then(r=>cb(null,r),cb)},"name",{value:fn.name})}}});var require_fs2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/fs/index.js"(exports){"use strict";var u=require_universalify2().fromCallback,fs4=require_graceful_fs(),api=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","lchmod","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(key=>typeof fs4[key]=="function");Object.keys(fs4).forEach(key=>{key!=="promises"&&(exports[key]=fs4[key])});api.forEach(method=>{exports[method]=u(fs4[method])});exports.exists=function(filename,callback){return typeof callback=="function"?fs4.exists(filename,callback):new Promise(resolve6=>fs4.exists(filename,resolve6))};exports.read=function(fd,buffer,offset,length,position,callback){return typeof callback=="function"?fs4.read(fd,buffer,offset,length,position,callback):new Promise((resolve6,reject)=>{fs4.read(fd,buffer,offset,length,position,(err,bytesRead,buffer2)=>{if(err)return reject(err);resolve6({bytesRead,buffer:buffer2})})})};exports.write=function(fd,buffer,...args){return typeof args[args.length-1]=="function"?fs4.write(fd,buffer,...args):new Promise((resolve6,reject)=>{fs4.write(fd,buffer,...args,(err,bytesWritten,buffer2)=>{if(err)return reject(err);resolve6({bytesWritten,buffer:buffer2})})})}}});var require_win32=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/win32.js"(exports,module){"use strict";var path2=__require("path");function getRootPath(p){return p=path2.normalize(path2.resolve(p)).split(path2.sep),p.length>0?p[0]:null}var INVALID_PATH_CHARS=/[<>:"|?*]/;function invalidWin32Path(p){let rp=getRootPath(p);return p=p.replace(rp,""),INVALID_PATH_CHARS.test(p)}module.exports={getRootPath,invalidWin32Path}}});var require_mkdirs2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/mkdirs.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),invalidWin32Path=require_win32().invalidWin32Path,o777=parseInt("0777",8);function mkdirs(p,opts,callback,made){if(typeof opts=="function"?(callback=opts,opts={}):(!opts||typeof opts!="object")&&(opts={mode:opts}),process.platform==="win32"&&invalidWin32Path(p)){let errInval=new Error(p+" contains invalid WIN32 path characters.");return errInval.code="EINVAL",callback(errInval)}let mode=opts.mode,xfs=opts.fs||fs4;mode===void 0&&(mode=o777&~process.umask()),made||(made=null),callback=callback||function(){},p=path2.resolve(p),xfs.mkdir(p,mode,er=>{if(!er)return made=made||p,callback(null,made);switch(er.code){case"ENOENT":if(path2.dirname(p)===p)return callback(er);mkdirs(path2.dirname(p),opts,(er2,made2)=>{er2?callback(er2,made2):mkdirs(p,opts,callback,made2)});break;default:xfs.stat(p,(er2,stat2)=>{er2||!stat2.isDirectory()?callback(er,made):callback(null,made)});break}})}module.exports=mkdirs}});var require_mkdirs_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),invalidWin32Path=require_win32().invalidWin32Path,o777=parseInt("0777",8);function mkdirsSync(p,opts,made){(!opts||typeof opts!="object")&&(opts={mode:opts});let mode=opts.mode,xfs=opts.fs||fs4;if(process.platform==="win32"&&invalidWin32Path(p)){let errInval=new Error(p+" contains invalid WIN32 path characters.");throw errInval.code="EINVAL",errInval}mode===void 0&&(mode=o777&~process.umask()),made||(made=null),p=path2.resolve(p);try{xfs.mkdirSync(p,mode),made=made||p}catch(err0){if(err0.code==="ENOENT"){if(path2.dirname(p)===p)throw err0;made=mkdirsSync(path2.dirname(p),opts,made),mkdirsSync(p,opts,made)}else{let stat2;try{stat2=xfs.statSync(p)}catch{throw err0}if(!stat2.isDirectory())throw err0}}return made}module.exports=mkdirsSync}});var require_mkdirs3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,mkdirs=u(require_mkdirs2()),mkdirsSync=require_mkdirs_sync();module.exports={mkdirs,mkdirsSync,mkdirp:mkdirs,mkdirpSync:mkdirsSync,ensureDir:mkdirs,ensureDirSync:mkdirsSync}}});var require_utimes2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/utimes.js"(exports,module){"use strict";var fs4=require_graceful_fs(),os3=__require("os"),path2=__require("path");function hasMillisResSync(){let tmpfile=path2.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));tmpfile=path2.join(os3.tmpdir(),tmpfile);let d=new Date(1435410243862);fs4.writeFileSync(tmpfile,"https://github.com/jprichardson/node-fs-extra/pull/141");let fd=fs4.openSync(tmpfile,"r+");return fs4.futimesSync(fd,d,d),fs4.closeSync(fd),fs4.statSync(tmpfile).mtime>1435410243e3}function hasMillisRes(callback){let tmpfile=path2.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));tmpfile=path2.join(os3.tmpdir(),tmpfile);let d=new Date(1435410243862);fs4.writeFile(tmpfile,"https://github.com/jprichardson/node-fs-extra/pull/141",err=>{if(err)return callback(err);fs4.open(tmpfile,"r+",(err2,fd)=>{if(err2)return callback(err2);fs4.futimes(fd,d,d,err3=>{if(err3)return callback(err3);fs4.close(fd,err4=>{if(err4)return callback(err4);fs4.stat(tmpfile,(err5,stats)=>{if(err5)return callback(err5);callback(null,stats.mtime>1435410243e3)})})})})})}function timeRemoveMillis(timestamp){if(typeof timestamp=="number")return Math.floor(timestamp/1e3)*1e3;if(timestamp instanceof Date)return new Date(Math.floor(timestamp.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function utimesMillis(path3,atime,mtime,callback){fs4.open(path3,"r+",(err,fd)=>{if(err)return callback(err);fs4.futimes(fd,atime,mtime,futimesErr=>{fs4.close(fd,closeErr=>{callback&&callback(futimesErr||closeErr)})})})}function utimesMillisSync(path3,atime,mtime){let fd=fs4.openSync(path3,"r+");return fs4.futimesSync(fd,atime,mtime),fs4.closeSync(fd)}module.exports={hasMillisRes,hasMillisResSync,timeRemoveMillis,utimesMillis,utimesMillisSync}}});var require_stat2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/stat.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),NODE_VERSION_MAJOR_WITH_BIGINT=10,NODE_VERSION_MINOR_WITH_BIGINT=5,NODE_VERSION_PATCH_WITH_BIGINT=0,nodeVersion=process.versions.node.split("."),nodeVersionMajor=Number.parseInt(nodeVersion[0],10),nodeVersionMinor=Number.parseInt(nodeVersion[1],10),nodeVersionPatch=Number.parseInt(nodeVersion[2],10);function nodeSupportsBigInt(){if(nodeVersionMajor>NODE_VERSION_MAJOR_WITH_BIGINT)return!0;if(nodeVersionMajor===NODE_VERSION_MAJOR_WITH_BIGINT){if(nodeVersionMinor>NODE_VERSION_MINOR_WITH_BIGINT)return!0;if(nodeVersionMinor===NODE_VERSION_MINOR_WITH_BIGINT&&nodeVersionPatch>=NODE_VERSION_PATCH_WITH_BIGINT)return!0}return!1}function getStats(src,dest,cb){nodeSupportsBigInt()?fs4.stat(src,{bigint:!0},(err,srcStat)=>{if(err)return cb(err);fs4.stat(dest,{bigint:!0},(err2,destStat)=>err2?err2.code==="ENOENT"?cb(null,{srcStat,destStat:null}):cb(err2):cb(null,{srcStat,destStat}))}):fs4.stat(src,(err,srcStat)=>{if(err)return cb(err);fs4.stat(dest,(err2,destStat)=>err2?err2.code==="ENOENT"?cb(null,{srcStat,destStat:null}):cb(err2):cb(null,{srcStat,destStat}))})}function getStatsSync(src,dest){let srcStat,destStat;nodeSupportsBigInt()?srcStat=fs4.statSync(src,{bigint:!0}):srcStat=fs4.statSync(src);try{nodeSupportsBigInt()?destStat=fs4.statSync(dest,{bigint:!0}):destStat=fs4.statSync(dest)}catch(err){if(err.code==="ENOENT")return{srcStat,destStat:null};throw err}return{srcStat,destStat}}function checkPaths(src,dest,funcName,cb){getStats(src,dest,(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;return destStat&&destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error("Source and destination must not be the same.")):srcStat.isDirectory()&&isSrcSubdir(src,dest)?cb(new Error(errMsg(src,dest,funcName))):cb(null,{srcStat,destStat})})}function checkPathsSync(src,dest,funcName){let{srcStat,destStat}=getStatsSync(src,dest);if(destStat&&destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev)throw new Error("Source and destination must not be the same.");if(srcStat.isDirectory()&&isSrcSubdir(src,dest))throw new Error(errMsg(src,dest,funcName));return{srcStat,destStat}}function checkParentPaths(src,srcStat,dest,funcName,cb){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return cb();nodeSupportsBigInt()?fs4.stat(destParent,{bigint:!0},(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb)):fs4.stat(destParent,(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb))}function checkParentPathsSync(src,srcStat,dest,funcName){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return;let destStat;try{nodeSupportsBigInt()?destStat=fs4.statSync(destParent,{bigint:!0}):destStat=fs4.statSync(destParent)}catch(err){if(err.code==="ENOENT")return;throw err}if(destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev)throw new Error(errMsg(src,dest,funcName));return checkParentPathsSync(src,srcStat,destParent,funcName)}function isSrcSubdir(src,dest){let srcArr=path2.resolve(src).split(path2.sep).filter(i=>i),destArr=path2.resolve(dest).split(path2.sep).filter(i=>i);return srcArr.reduce((acc,cur,i)=>acc&&destArr[i]===cur,!0)}function errMsg(src,dest,funcName){return`Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`}module.exports={checkPaths,checkPathsSync,checkParentPaths,checkParentPathsSync,isSrcSubdir}}});var require_buffer=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/buffer.js"(exports,module){"use strict";module.exports=function(size){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(size)}catch{return new Buffer(size)}return new Buffer(size)}}});var require_copy_sync3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),mkdirpSync=require_mkdirs3().mkdirsSync,utimesSync=require_utimes2().utimesMillisSync,stat2=require_stat2();function copySync(src,dest,opts){typeof opts=="function"&&(opts={filter:opts}),opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
14
+ `,encode=(obj,opt)=>{let children=[],out="";typeof opt=="string"?opt={section:opt,whitespace:!1}:(opt=opt||Object.create(null),opt.whitespace=opt.whitespace===!0);let separator=opt.whitespace?" = ":"=";for(let k of Object.keys(obj)){let val=obj[k];if(val&&Array.isArray(val))for(let item of val)out+=safe(k+"[]")+separator+safe(item)+eol;else val&&typeof val=="object"?children.push(k):out+=safe(k)+separator+safe(val)+eol}opt.section&&out.length&&(out="["+safe(opt.section)+"]"+eol+out);for(let k of children){let nk=dotSplit(k).join("\\."),section=(opt.section?opt.section+".":"")+nk,{whitespace}=opt,child=encode(obj[k],{section,whitespace});out.length&&child.length&&(out+=eol),out+=child}return out},dotSplit=str=>str.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(part=>part.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")),decode=str=>{let out=Object.create(null),p=out,section=null,re=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,lines=str.split(/[\r\n]+/g);for(let line of lines){if(!line||line.match(/^\s*[;#]/))continue;let match=line.match(re);if(!match)continue;if(match[1]!==void 0){if(section=unsafe(match[1]),section==="__proto__"){p=Object.create(null);continue}p=out[section]=out[section]||Object.create(null);continue}let keyRaw=unsafe(match[2]),isArray=keyRaw.length>2&&keyRaw.slice(-2)==="[]",key=isArray?keyRaw.slice(0,-2):keyRaw;if(key==="__proto__")continue;let valueRaw=match[3]?unsafe(match[4]):!0,value=valueRaw==="true"||valueRaw==="false"||valueRaw==="null"?JSON.parse(valueRaw):valueRaw;isArray&&(hasOwnProperty.call(p,key)?Array.isArray(p[key])||(p[key]=[p[key]]):p[key]=[]),Array.isArray(p[key])?p[key].push(value):p[key]=value}let remove=[];for(let k of Object.keys(out)){if(!hasOwnProperty.call(out,k)||typeof out[k]!="object"||Array.isArray(out[k]))continue;let parts=dotSplit(k);p=out;let l=parts.pop(),nl=l.replace(/\\\./g,".");for(let part of parts)part!=="__proto__"&&((!hasOwnProperty.call(p,part)||typeof p[part]!="object")&&(p[part]=Object.create(null)),p=p[part]);p===out&&nl===l||(p[nl]=out[k],remove.push(k))}for(let del of remove)delete out[del];return out},isQuoted=val=>val.startsWith('"')&&val.endsWith('"')||val.startsWith("'")&&val.endsWith("'"),safe=val=>typeof val!="string"||val.match(/[=\r\n]/)||val.match(/^\[/)||val.length>1&&isQuoted(val)||val!==val.trim()?JSON.stringify(val):val.split(";").join("\\;").split("#").join("\\#"),unsafe=(val,doUnesc)=>{if(val=(val||"").trim(),isQuoted(val)){val.charAt(0)==="'"&&(val=val.slice(1,-1));try{val=JSON.parse(val)}catch{}}else{let esc=!1,unesc="";for(let i=0,l=val.length;i<l;i++){let c=val.charAt(i);if(esc)"\\;#".indexOf(c)!==-1?unesc+=c:unesc+="\\"+c,esc=!1;else{if(";#".indexOf(c)!==-1)break;c==="\\"?esc=!0:unesc+=c}}return esc&&(unesc+="\\"),unesc.trim()}return val};module.exports={parse:decode,decode,stringify:encode,encode,safe,unsafe}}});var require_retry_operation=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/lib/retry_operation.js"(exports,module){function RetryOperation(timeouts,options){typeof options=="boolean"&&(options={forever:options}),this._timeouts=timeouts,this._options=options||{},this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}module.exports=RetryOperation;RetryOperation.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};RetryOperation.prototype.retry=function(err){if(this._timeout&&clearTimeout(this._timeout),!err)return!1;this._errors.push(err);var timeout=this._timeouts.shift();if(timeout===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),timeout=this._timeouts.shift();else return!1;var self=this,timer=setTimeout(function(){self._attempts++,self._operationTimeoutCb&&(self._timeout=setTimeout(function(){self._operationTimeoutCb(self._attempts)},self._operationTimeout),this._options.unref&&self._timeout.unref()),self._fn(self._attempts)},timeout);return this._options.unref&&timer.unref(),!0};RetryOperation.prototype.attempt=function(fn,timeoutOps){this._fn=fn,timeoutOps&&(timeoutOps.timeout&&(this._operationTimeout=timeoutOps.timeout),timeoutOps.cb&&(this._operationTimeoutCb=timeoutOps.cb));var self=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){self._operationTimeoutCb()},self._operationTimeout)),this._fn(this._attempts)};RetryOperation.prototype.try=function(fn){console.log("Using RetryOperation.try() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=function(fn){console.log("Using RetryOperation.start() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0)return null;for(var counts={},mainError=null,mainErrorCount=0,i=0;i<this._errors.length;i++){var error=this._errors[i],message=error.message,count=(counts[message]||0)+1;counts[message]=count,count>=mainErrorCount&&(mainError=error,mainErrorCount=count)}return mainError}}});var require_retry=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/lib/retry.js"(exports){var RetryOperation=require_retry_operation();exports.operation=function(options){var timeouts=exports.timeouts(options);return new RetryOperation(timeouts,{forever:options&&options.forever,unref:options&&options.unref})};exports.timeouts=function(options){if(options instanceof Array)return[].concat(options);var opts={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var key in options)opts[key]=options[key];if(opts.minTimeout>opts.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var timeouts=[],i=0;i<opts.retries;i++)timeouts.push(this.createTimeout(i,opts));return options&&options.forever&&!timeouts.length&&timeouts.push(this.createTimeout(i,opts)),timeouts.sort(function(a,b){return a-b}),timeouts};exports.createTimeout=function(attempt,opts){var random=opts.randomize?Math.random()+1:1,timeout=Math.round(random*opts.minTimeout*Math.pow(opts.factor,attempt));return timeout=Math.min(timeout,opts.maxTimeout),timeout};exports.wrap=function(obj,options,methods){if(options instanceof Array&&(methods=options,options=null),!methods){methods=[];for(var key in obj)typeof obj[key]=="function"&&methods.push(key)}for(var i=0;i<methods.length;i++){var method=methods[i],original=obj[method];obj[method]=function(){var op=exports.operation(options),args=Array.prototype.slice.call(arguments),callback=args.pop();args.push(function(err){op.retry(err)||(err&&(arguments[0]=op.mainError()),callback.apply(this,arguments))}),op.attempt(function(){original.apply(obj,args)})},obj[method].options=options}}}});var require_retry2=__commonJS({"../../node_modules/.pnpm/retry@0.10.1/node_modules/retry/index.js"(exports,module){module.exports=require_retry()}});var require_dist2=__commonJS({"../../node_modules/.pnpm/async-retry@1.1.3/node_modules/async-retry/dist/index.js"(exports,module){"use strict";var retrier=require_retry2();module.exports=function(fn,opts){return opts=opts||{},new Promise(function(resolve6,reject){var op=retrier.operation(opts),bail=function(err){return reject(err||new Error("Aborted"))},onError=function(err){if(err.bail)return bail(err);op.retry(err)?opts.onRetry&&opts.onRetry(err):reject(op.mainError())};op.attempt(function(num){var val=void 0;try{val=fn(bail,num)}catch(err){return onError(err)}Promise.resolve(val).then(resolve6,onError)})})}}});var require_universalify2=__commonJS({"../../node_modules/.pnpm/universalify@0.1.2/node_modules/universalify/index.js"(exports){"use strict";exports.fromCallback=function(fn){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")fn.apply(this,arguments);else return new Promise((resolve6,reject)=>{arguments[arguments.length]=(err,res)=>{if(err)return reject(err);resolve6(res)},arguments.length++,fn.apply(this,arguments)})},"name",{value:fn.name})};exports.fromPromise=function(fn){return Object.defineProperty(function(){let cb=arguments[arguments.length-1];if(typeof cb!="function")return fn.apply(this,arguments);fn.apply(this,arguments).then(r=>cb(null,r),cb)},"name",{value:fn.name})}}});var require_fs2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/fs/index.js"(exports){"use strict";var u=require_universalify2().fromCallback,fs4=require_graceful_fs(),api=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","lchmod","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(key=>typeof fs4[key]=="function");Object.keys(fs4).forEach(key=>{key!=="promises"&&(exports[key]=fs4[key])});api.forEach(method=>{exports[method]=u(fs4[method])});exports.exists=function(filename,callback){return typeof callback=="function"?fs4.exists(filename,callback):new Promise(resolve6=>fs4.exists(filename,resolve6))};exports.read=function(fd,buffer,offset,length,position,callback){return typeof callback=="function"?fs4.read(fd,buffer,offset,length,position,callback):new Promise((resolve6,reject)=>{fs4.read(fd,buffer,offset,length,position,(err,bytesRead,buffer2)=>{if(err)return reject(err);resolve6({bytesRead,buffer:buffer2})})})};exports.write=function(fd,buffer,...args){return typeof args[args.length-1]=="function"?fs4.write(fd,buffer,...args):new Promise((resolve6,reject)=>{fs4.write(fd,buffer,...args,(err,bytesWritten,buffer2)=>{if(err)return reject(err);resolve6({bytesWritten,buffer:buffer2})})})}}});var require_win32=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/win32.js"(exports,module){"use strict";var path2=__require("path");function getRootPath(p){return p=path2.normalize(path2.resolve(p)).split(path2.sep),p.length>0?p[0]:null}var INVALID_PATH_CHARS=/[<>:"|?*]/;function invalidWin32Path(p){let rp=getRootPath(p);return p=p.replace(rp,""),INVALID_PATH_CHARS.test(p)}module.exports={getRootPath,invalidWin32Path}}});var require_mkdirs2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/mkdirs.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),invalidWin32Path=require_win32().invalidWin32Path,o777=parseInt("0777",8);function mkdirs(p,opts,callback,made){if(typeof opts=="function"?(callback=opts,opts={}):(!opts||typeof opts!="object")&&(opts={mode:opts}),process.platform==="win32"&&invalidWin32Path(p)){let errInval=new Error(p+" contains invalid WIN32 path characters.");return errInval.code="EINVAL",callback(errInval)}let mode=opts.mode,xfs=opts.fs||fs4;mode===void 0&&(mode=o777&~process.umask()),made||(made=null),callback=callback||function(){},p=path2.resolve(p),xfs.mkdir(p,mode,er=>{if(!er)return made=made||p,callback(null,made);switch(er.code){case"ENOENT":if(path2.dirname(p)===p)return callback(er);mkdirs(path2.dirname(p),opts,(er2,made2)=>{er2?callback(er2,made2):mkdirs(p,opts,callback,made2)});break;default:xfs.stat(p,(er2,stat2)=>{er2||!stat2.isDirectory()?callback(er,made):callback(null,made)});break}})}module.exports=mkdirs}});var require_mkdirs_sync=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),invalidWin32Path=require_win32().invalidWin32Path,o777=parseInt("0777",8);function mkdirsSync(p,opts,made){(!opts||typeof opts!="object")&&(opts={mode:opts});let mode=opts.mode,xfs=opts.fs||fs4;if(process.platform==="win32"&&invalidWin32Path(p)){let errInval=new Error(p+" contains invalid WIN32 path characters.");throw errInval.code="EINVAL",errInval}mode===void 0&&(mode=o777&~process.umask()),made||(made=null),p=path2.resolve(p);try{xfs.mkdirSync(p,mode),made=made||p}catch(err0){if(err0.code==="ENOENT"){if(path2.dirname(p)===p)throw err0;made=mkdirsSync(path2.dirname(p),opts,made),mkdirsSync(p,opts,made)}else{let stat2;try{stat2=xfs.statSync(p)}catch{throw err0}if(!stat2.isDirectory())throw err0}}return made}module.exports=mkdirsSync}});var require_mkdirs3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/mkdirs/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,mkdirs=u(require_mkdirs2()),mkdirsSync=require_mkdirs_sync();module.exports={mkdirs,mkdirsSync,mkdirp:mkdirs,mkdirpSync:mkdirsSync,ensureDir:mkdirs,ensureDirSync:mkdirsSync}}});var require_utimes2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/utimes.js"(exports,module){"use strict";var fs4=require_graceful_fs(),os2=__require("os"),path2=__require("path");function hasMillisResSync(){let tmpfile=path2.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));tmpfile=path2.join(os2.tmpdir(),tmpfile);let d=new Date(1435410243862);fs4.writeFileSync(tmpfile,"https://github.com/jprichardson/node-fs-extra/pull/141");let fd=fs4.openSync(tmpfile,"r+");return fs4.futimesSync(fd,d,d),fs4.closeSync(fd),fs4.statSync(tmpfile).mtime>1435410243e3}function hasMillisRes(callback){let tmpfile=path2.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));tmpfile=path2.join(os2.tmpdir(),tmpfile);let d=new Date(1435410243862);fs4.writeFile(tmpfile,"https://github.com/jprichardson/node-fs-extra/pull/141",err=>{if(err)return callback(err);fs4.open(tmpfile,"r+",(err2,fd)=>{if(err2)return callback(err2);fs4.futimes(fd,d,d,err3=>{if(err3)return callback(err3);fs4.close(fd,err4=>{if(err4)return callback(err4);fs4.stat(tmpfile,(err5,stats)=>{if(err5)return callback(err5);callback(null,stats.mtime>1435410243e3)})})})})})}function timeRemoveMillis(timestamp){if(typeof timestamp=="number")return Math.floor(timestamp/1e3)*1e3;if(timestamp instanceof Date)return new Date(Math.floor(timestamp.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function utimesMillis(path3,atime,mtime,callback){fs4.open(path3,"r+",(err,fd)=>{if(err)return callback(err);fs4.futimes(fd,atime,mtime,futimesErr=>{fs4.close(fd,closeErr=>{callback&&callback(futimesErr||closeErr)})})})}function utimesMillisSync(path3,atime,mtime){let fd=fs4.openSync(path3,"r+");return fs4.futimesSync(fd,atime,mtime),fs4.closeSync(fd)}module.exports={hasMillisRes,hasMillisResSync,timeRemoveMillis,utimesMillis,utimesMillisSync}}});var require_stat2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/stat.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),NODE_VERSION_MAJOR_WITH_BIGINT=10,NODE_VERSION_MINOR_WITH_BIGINT=5,NODE_VERSION_PATCH_WITH_BIGINT=0,nodeVersion=process.versions.node.split("."),nodeVersionMajor=Number.parseInt(nodeVersion[0],10),nodeVersionMinor=Number.parseInt(nodeVersion[1],10),nodeVersionPatch=Number.parseInt(nodeVersion[2],10);function nodeSupportsBigInt(){if(nodeVersionMajor>NODE_VERSION_MAJOR_WITH_BIGINT)return!0;if(nodeVersionMajor===NODE_VERSION_MAJOR_WITH_BIGINT){if(nodeVersionMinor>NODE_VERSION_MINOR_WITH_BIGINT)return!0;if(nodeVersionMinor===NODE_VERSION_MINOR_WITH_BIGINT&&nodeVersionPatch>=NODE_VERSION_PATCH_WITH_BIGINT)return!0}return!1}function getStats(src,dest,cb){nodeSupportsBigInt()?fs4.stat(src,{bigint:!0},(err,srcStat)=>{if(err)return cb(err);fs4.stat(dest,{bigint:!0},(err2,destStat)=>err2?err2.code==="ENOENT"?cb(null,{srcStat,destStat:null}):cb(err2):cb(null,{srcStat,destStat}))}):fs4.stat(src,(err,srcStat)=>{if(err)return cb(err);fs4.stat(dest,(err2,destStat)=>err2?err2.code==="ENOENT"?cb(null,{srcStat,destStat:null}):cb(err2):cb(null,{srcStat,destStat}))})}function getStatsSync(src,dest){let srcStat,destStat;nodeSupportsBigInt()?srcStat=fs4.statSync(src,{bigint:!0}):srcStat=fs4.statSync(src);try{nodeSupportsBigInt()?destStat=fs4.statSync(dest,{bigint:!0}):destStat=fs4.statSync(dest)}catch(err){if(err.code==="ENOENT")return{srcStat,destStat:null};throw err}return{srcStat,destStat}}function checkPaths(src,dest,funcName,cb){getStats(src,dest,(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;return destStat&&destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error("Source and destination must not be the same.")):srcStat.isDirectory()&&isSrcSubdir(src,dest)?cb(new Error(errMsg(src,dest,funcName))):cb(null,{srcStat,destStat})})}function checkPathsSync(src,dest,funcName){let{srcStat,destStat}=getStatsSync(src,dest);if(destStat&&destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev)throw new Error("Source and destination must not be the same.");if(srcStat.isDirectory()&&isSrcSubdir(src,dest))throw new Error(errMsg(src,dest,funcName));return{srcStat,destStat}}function checkParentPaths(src,srcStat,dest,funcName,cb){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return cb();nodeSupportsBigInt()?fs4.stat(destParent,{bigint:!0},(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb)):fs4.stat(destParent,(err,destStat)=>err?err.code==="ENOENT"?cb():cb(err):destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev?cb(new Error(errMsg(src,dest,funcName))):checkParentPaths(src,srcStat,destParent,funcName,cb))}function checkParentPathsSync(src,srcStat,dest,funcName){let srcParent=path2.resolve(path2.dirname(src)),destParent=path2.resolve(path2.dirname(dest));if(destParent===srcParent||destParent===path2.parse(destParent).root)return;let destStat;try{nodeSupportsBigInt()?destStat=fs4.statSync(destParent,{bigint:!0}):destStat=fs4.statSync(destParent)}catch(err){if(err.code==="ENOENT")return;throw err}if(destStat.ino&&destStat.dev&&destStat.ino===srcStat.ino&&destStat.dev===srcStat.dev)throw new Error(errMsg(src,dest,funcName));return checkParentPathsSync(src,srcStat,destParent,funcName)}function isSrcSubdir(src,dest){let srcArr=path2.resolve(src).split(path2.sep).filter(i=>i),destArr=path2.resolve(dest).split(path2.sep).filter(i=>i);return srcArr.reduce((acc,cur,i)=>acc&&destArr[i]===cur,!0)}function errMsg(src,dest,funcName){return`Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`}module.exports={checkPaths,checkPathsSync,checkParentPaths,checkParentPathsSync,isSrcSubdir}}});var require_buffer=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/util/buffer.js"(exports,module){"use strict";module.exports=function(size){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(size)}catch{return new Buffer(size)}return new Buffer(size)}}});var require_copy_sync3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),mkdirpSync=require_mkdirs3().mkdirsSync,utimesSync=require_utimes2().utimesMillisSync,stat2=require_stat2();function copySync(src,dest,opts){typeof opts=="function"&&(opts={filter:opts}),opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
15
15
 
16
16
  see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat,destStat}=stat2.checkPathsSync(src,dest,"copy");return stat2.checkParentPathsSync(src,srcStat,dest,"copy"),handleFilterAndCopy(destStat,src,dest,opts)}function handleFilterAndCopy(destStat,src,dest,opts){if(opts.filter&&!opts.filter(src,dest))return;let destParent=path2.dirname(dest);return fs4.existsSync(destParent)||mkdirpSync(destParent),startCopy(destStat,src,dest,opts)}function startCopy(destStat,src,dest,opts){if(!(opts.filter&&!opts.filter(src,dest)))return getStats(destStat,src,dest,opts)}function getStats(destStat,src,dest,opts){let srcStat=(opts.dereference?fs4.statSync:fs4.lstatSync)(src);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts);if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts);if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts)}function onFile(srcStat,destStat,src,dest,opts){return destStat?mayCopyFile(srcStat,src,dest,opts):copyFile(srcStat,src,dest,opts)}function mayCopyFile(srcStat,src,dest,opts){if(opts.overwrite)return fs4.unlinkSync(dest),copyFile(srcStat,src,dest,opts);if(opts.errorOnExist)throw new Error(`'${dest}' already exists`)}function copyFile(srcStat,src,dest,opts){return typeof fs4.copyFileSync=="function"?(fs4.copyFileSync(src,dest),fs4.chmodSync(dest,srcStat.mode),opts.preserveTimestamps?utimesSync(dest,srcStat.atime,srcStat.mtime):void 0):copyFileFallback(srcStat,src,dest,opts)}function copyFileFallback(srcStat,src,dest,opts){let _buff=require_buffer()(65536),fdr=fs4.openSync(src,"r"),fdw=fs4.openSync(dest,"w",srcStat.mode),pos=0;for(;pos<srcStat.size;){let bytesRead=fs4.readSync(fdr,_buff,0,65536,pos);fs4.writeSync(fdw,_buff,0,bytesRead),pos+=bytesRead}opts.preserveTimestamps&&fs4.futimesSync(fdw,srcStat.atime,srcStat.mtime),fs4.closeSync(fdr),fs4.closeSync(fdw)}function onDir(srcStat,destStat,src,dest,opts){if(!destStat)return mkDirAndCopy(srcStat,src,dest,opts);if(destStat&&!destStat.isDirectory())throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);return copyDir(src,dest,opts)}function mkDirAndCopy(srcStat,src,dest,opts){return fs4.mkdirSync(dest),copyDir(src,dest,opts),fs4.chmodSync(dest,srcStat.mode)}function copyDir(src,dest,opts){fs4.readdirSync(src).forEach(item=>copyDirItem(item,src,dest,opts))}function copyDirItem(item,src,dest,opts){let srcItem=path2.join(src,item),destItem=path2.join(dest,item),{destStat}=stat2.checkPathsSync(srcItem,destItem,"copy");return startCopy(destStat,srcItem,destItem,opts)}function onLink(destStat,src,dest,opts){let resolvedSrc=fs4.readlinkSync(src);if(opts.dereference&&(resolvedSrc=path2.resolve(process.cwd(),resolvedSrc)),destStat){let resolvedDest;try{resolvedDest=fs4.readlinkSync(dest)}catch(err){if(err.code==="EINVAL"||err.code==="UNKNOWN")return fs4.symlinkSync(resolvedSrc,dest);throw err}if(opts.dereference&&(resolvedDest=path2.resolve(process.cwd(),resolvedDest)),stat2.isSrcSubdir(resolvedSrc,resolvedDest))throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);if(fs4.statSync(dest).isDirectory()&&stat2.isSrcSubdir(resolvedDest,resolvedSrc))throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);return copyLink(resolvedSrc,dest)}else return fs4.symlinkSync(resolvedSrc,dest)}function copyLink(resolvedSrc,dest){return fs4.unlinkSync(dest),fs4.symlinkSync(resolvedSrc,dest)}module.exports=copySync}});var require_copy_sync4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/copy-sync/index.js"(exports,module){"use strict";module.exports={copySync:require_copy_sync3()}}});var require_path_exists2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/path-exists/index.js"(exports,module){"use strict";var u=require_universalify2().fromPromise,fs4=require_fs2();function pathExists2(path2){return fs4.access(path2).then(()=>!0).catch(()=>!1)}module.exports={pathExists:u(pathExists2),pathExistsSync:fs4.existsSync}}});var require_copy3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/copy/copy.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),mkdirp=require_mkdirs3().mkdirs,pathExists2=require_path_exists2().pathExists,utimes=require_utimes2().utimesMillis,stat2=require_stat2();function copy(src,dest,opts,cb){typeof opts=="function"&&!cb?(cb=opts,opts={}):typeof opts=="function"&&(opts={filter:opts}),cb=cb||function(){},opts=opts||{},opts.clobber="clobber"in opts?!!opts.clobber:!0,opts.overwrite="overwrite"in opts?!!opts.overwrite:opts.clobber,opts.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
17
17
 
18
18
  see https://github.com/jprichardson/node-fs-extra/issues/269`),stat2.checkPaths(src,dest,"copy",(err,stats)=>{if(err)return cb(err);let{srcStat,destStat}=stats;stat2.checkParentPaths(src,srcStat,dest,"copy",err2=>err2?cb(err2):opts.filter?handleFilter(checkParentDir,destStat,src,dest,opts,cb):checkParentDir(destStat,src,dest,opts,cb))})}function checkParentDir(destStat,src,dest,opts,cb){let destParent=path2.dirname(dest);pathExists2(destParent,(err,dirExists)=>{if(err)return cb(err);if(dirExists)return startCopy(destStat,src,dest,opts,cb);mkdirp(destParent,err2=>err2?cb(err2):startCopy(destStat,src,dest,opts,cb))})}function handleFilter(onInclude,destStat,src,dest,opts,cb){Promise.resolve(opts.filter(src,dest)).then(include=>include?onInclude(destStat,src,dest,opts,cb):cb(),error=>cb(error))}function startCopy(destStat,src,dest,opts,cb){return opts.filter?handleFilter(getStats,destStat,src,dest,opts,cb):getStats(destStat,src,dest,opts,cb)}function getStats(destStat,src,dest,opts,cb){(opts.dereference?fs4.stat:fs4.lstat)(src,(err,srcStat)=>{if(err)return cb(err);if(srcStat.isDirectory())return onDir(srcStat,destStat,src,dest,opts,cb);if(srcStat.isFile()||srcStat.isCharacterDevice()||srcStat.isBlockDevice())return onFile(srcStat,destStat,src,dest,opts,cb);if(srcStat.isSymbolicLink())return onLink(destStat,src,dest,opts,cb)})}function onFile(srcStat,destStat,src,dest,opts,cb){return destStat?mayCopyFile(srcStat,src,dest,opts,cb):copyFile(srcStat,src,dest,opts,cb)}function mayCopyFile(srcStat,src,dest,opts,cb){if(opts.overwrite)fs4.unlink(dest,err=>err?cb(err):copyFile(srcStat,src,dest,opts,cb));else return opts.errorOnExist?cb(new Error(`'${dest}' already exists`)):cb()}function copyFile(srcStat,src,dest,opts,cb){return typeof fs4.copyFile=="function"?fs4.copyFile(src,dest,err=>err?cb(err):setDestModeAndTimestamps(srcStat,dest,opts,cb)):copyFileFallback(srcStat,src,dest,opts,cb)}function copyFileFallback(srcStat,src,dest,opts,cb){let rs=fs4.createReadStream(src);rs.on("error",err=>cb(err)).once("open",()=>{let ws=fs4.createWriteStream(dest,{mode:srcStat.mode});ws.on("error",err=>cb(err)).on("open",()=>rs.pipe(ws)).once("close",()=>setDestModeAndTimestamps(srcStat,dest,opts,cb))})}function setDestModeAndTimestamps(srcStat,dest,opts,cb){fs4.chmod(dest,srcStat.mode,err=>err?cb(err):opts.preserveTimestamps?utimes(dest,srcStat.atime,srcStat.mtime,cb):cb())}function onDir(srcStat,destStat,src,dest,opts,cb){return destStat?destStat&&!destStat.isDirectory()?cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)):copyDir(src,dest,opts,cb):mkDirAndCopy(srcStat,src,dest,opts,cb)}function mkDirAndCopy(srcStat,src,dest,opts,cb){fs4.mkdir(dest,err=>{if(err)return cb(err);copyDir(src,dest,opts,err2=>err2?cb(err2):fs4.chmod(dest,srcStat.mode,cb))})}function copyDir(src,dest,opts,cb){fs4.readdir(src,(err,items)=>err?cb(err):copyDirItems(items,src,dest,opts,cb))}function copyDirItems(items,src,dest,opts,cb){let item=items.pop();return item?copyDirItem(items,item,src,dest,opts,cb):cb()}function copyDirItem(items,item,src,dest,opts,cb){let srcItem=path2.join(src,item),destItem=path2.join(dest,item);stat2.checkPaths(srcItem,destItem,"copy",(err,stats)=>{if(err)return cb(err);let{destStat}=stats;startCopy(destStat,srcItem,destItem,opts,err2=>err2?cb(err2):copyDirItems(items,src,dest,opts,cb))})}function onLink(destStat,src,dest,opts,cb){fs4.readlink(src,(err,resolvedSrc)=>{if(err)return cb(err);if(opts.dereference&&(resolvedSrc=path2.resolve(process.cwd(),resolvedSrc)),destStat)fs4.readlink(dest,(err2,resolvedDest)=>err2?err2.code==="EINVAL"||err2.code==="UNKNOWN"?fs4.symlink(resolvedSrc,dest,cb):cb(err2):(opts.dereference&&(resolvedDest=path2.resolve(process.cwd(),resolvedDest)),stat2.isSrcSubdir(resolvedSrc,resolvedDest)?cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)):destStat.isDirectory()&&stat2.isSrcSubdir(resolvedDest,resolvedSrc)?cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)):copyLink(resolvedSrc,dest,cb)));else return fs4.symlink(resolvedSrc,dest,cb)})}function copyLink(resolvedSrc,dest,cb){fs4.unlink(dest,err=>err?cb(err):fs4.symlink(resolvedSrc,dest,cb))}module.exports=copy}});var require_copy4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/copy/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback;module.exports={copy:u(require_copy3())}}});var require_rimraf2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/remove/rimraf.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),assert=__require("assert"),isWindows=process.platform==="win32";function defaults(options){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(m=>{options[m]=options[m]||fs4[m],m=m+"Sync",options[m]=options[m]||fs4[m]}),options.maxBusyTries=options.maxBusyTries||3}function rimraf(p,options,cb){let busyTries=0;typeof options=="function"&&(cb=options,options={}),assert(p,"rimraf: missing path"),assert.strictEqual(typeof p,"string","rimraf: path should be a string"),assert.strictEqual(typeof cb,"function","rimraf: callback function required"),assert(options,"rimraf: invalid options argument provided"),assert.strictEqual(typeof options,"object","rimraf: options should be object"),defaults(options),rimraf_(p,options,function CB(er){if(er){if((er.code==="EBUSY"||er.code==="ENOTEMPTY"||er.code==="EPERM")&&busyTries<options.maxBusyTries){busyTries++;let time=busyTries*100;return setTimeout(()=>rimraf_(p,options,CB),time)}er.code==="ENOENT"&&(er=null)}cb(er)})}function rimraf_(p,options,cb){assert(p),assert(options),assert(typeof cb=="function"),options.lstat(p,(er,st)=>{if(er&&er.code==="ENOENT")return cb(null);if(er&&er.code==="EPERM"&&isWindows)return fixWinEPERM(p,options,er,cb);if(st&&st.isDirectory())return rmdir(p,options,er,cb);options.unlink(p,er2=>{if(er2){if(er2.code==="ENOENT")return cb(null);if(er2.code==="EPERM")return isWindows?fixWinEPERM(p,options,er2,cb):rmdir(p,options,er2,cb);if(er2.code==="EISDIR")return rmdir(p,options,er2,cb)}return cb(er2)})})}function fixWinEPERM(p,options,er,cb){assert(p),assert(options),assert(typeof cb=="function"),er&&assert(er instanceof Error),options.chmod(p,438,er2=>{er2?cb(er2.code==="ENOENT"?null:er):options.stat(p,(er3,stats)=>{er3?cb(er3.code==="ENOENT"?null:er):stats.isDirectory()?rmdir(p,options,er,cb):options.unlink(p,cb)})})}function fixWinEPERMSync(p,options,er){let stats;assert(p),assert(options),er&&assert(er instanceof Error);try{options.chmodSync(p,438)}catch(er2){if(er2.code==="ENOENT")return;throw er}try{stats=options.statSync(p)}catch(er3){if(er3.code==="ENOENT")return;throw er}stats.isDirectory()?rmdirSync(p,options,er):options.unlinkSync(p)}function rmdir(p,options,originalEr,cb){assert(p),assert(options),originalEr&&assert(originalEr instanceof Error),assert(typeof cb=="function"),options.rmdir(p,er=>{er&&(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM")?rmkids(p,options,cb):er&&er.code==="ENOTDIR"?cb(originalEr):cb(er)})}function rmkids(p,options,cb){assert(p),assert(options),assert(typeof cb=="function"),options.readdir(p,(er,files)=>{if(er)return cb(er);let n=files.length,errState;if(n===0)return options.rmdir(p,cb);files.forEach(f=>{rimraf(path2.join(p,f),options,er2=>{if(!errState){if(er2)return cb(errState=er2);--n===0&&options.rmdir(p,cb)}})})})}function rimrafSync(p,options){let st;options=options||{},defaults(options),assert(p,"rimraf: missing path"),assert.strictEqual(typeof p,"string","rimraf: path should be a string"),assert(options,"rimraf: missing options"),assert.strictEqual(typeof options,"object","rimraf: options should be object");try{st=options.lstatSync(p)}catch(er){if(er.code==="ENOENT")return;er.code==="EPERM"&&isWindows&&fixWinEPERMSync(p,options,er)}try{st&&st.isDirectory()?rmdirSync(p,options,null):options.unlinkSync(p)}catch(er){if(er.code==="ENOENT")return;if(er.code==="EPERM")return isWindows?fixWinEPERMSync(p,options,er):rmdirSync(p,options,er);if(er.code!=="EISDIR")throw er;rmdirSync(p,options,er)}}function rmdirSync(p,options,originalEr){assert(p),assert(options),originalEr&&assert(originalEr instanceof Error);try{options.rmdirSync(p)}catch(er){if(er.code==="ENOTDIR")throw originalEr;if(er.code==="ENOTEMPTY"||er.code==="EEXIST"||er.code==="EPERM")rmkidsSync(p,options);else if(er.code!=="ENOENT")throw er}}function rmkidsSync(p,options){if(assert(p),assert(options),options.readdirSync(p).forEach(f=>rimrafSync(path2.join(p,f),options)),isWindows){let startTime=Date.now();do try{return options.rmdirSync(p,options)}catch{}while(Date.now()-startTime<500)}else return options.rmdirSync(p,options)}module.exports=rimraf;rimraf.sync=rimrafSync}});var require_remove2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/remove/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,rimraf=require_rimraf2();module.exports={remove:u(rimraf),removeSync:rimraf.sync}}});var require_empty2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/empty/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,fs4=__require("fs"),path2=__require("path"),mkdir=require_mkdirs3(),remove=require_remove2(),emptyDir=u(function(dir,callback){callback=callback||function(){},fs4.readdir(dir,(err,items)=>{if(err)return mkdir.mkdirs(dir,callback);items=items.map(item=>path2.join(dir,item)),deleteItem();function deleteItem(){let item=items.pop();if(!item)return callback();remove.remove(item,err2=>{if(err2)return callback(err2);deleteItem()})}})});function emptyDirSync(dir){let items;try{items=fs4.readdirSync(dir)}catch{return mkdir.mkdirsSync(dir)}items.forEach(item=>{item=path2.join(dir,item),remove.removeSync(item)})}module.exports={emptyDirSync,emptydirSync:emptyDirSync,emptyDir,emptydir:emptyDir}}});var require_file2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/file.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,path2=__require("path"),fs4=require_graceful_fs(),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists;function createFile(file,callback){function makeFile(){fs4.writeFile(file,"",err=>{if(err)return callback(err);callback()})}fs4.stat(file,(err,stats)=>{if(!err&&stats.isFile())return callback();let dir=path2.dirname(file);pathExists2(dir,(err2,dirExists)=>{if(err2)return callback(err2);if(dirExists)return makeFile();mkdir.mkdirs(dir,err3=>{if(err3)return callback(err3);makeFile()})})})}function createFileSync(file){let stats;try{stats=fs4.statSync(file)}catch{}if(stats&&stats.isFile())return;let dir=path2.dirname(file);fs4.existsSync(dir)||mkdir.mkdirsSync(dir),fs4.writeFileSync(file,"")}module.exports={createFile:u(createFile),createFileSync}}});var require_link2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/link.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,path2=__require("path"),fs4=require_graceful_fs(),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists;function createLink(srcpath,dstpath,callback){function makeLink(srcpath2,dstpath2){fs4.link(srcpath2,dstpath2,err=>{if(err)return callback(err);callback(null)})}pathExists2(dstpath,(err,destinationExists)=>{if(err)return callback(err);if(destinationExists)return callback(null);fs4.lstat(srcpath,err2=>{if(err2)return err2.message=err2.message.replace("lstat","ensureLink"),callback(err2);let dir=path2.dirname(dstpath);pathExists2(dir,(err3,dirExists)=>{if(err3)return callback(err3);if(dirExists)return makeLink(srcpath,dstpath);mkdir.mkdirs(dir,err4=>{if(err4)return callback(err4);makeLink(srcpath,dstpath)})})})})}function createLinkSync(srcpath,dstpath){if(fs4.existsSync(dstpath))return;try{fs4.lstatSync(srcpath)}catch(err){throw err.message=err.message.replace("lstat","ensureLink"),err}let dir=path2.dirname(dstpath);return fs4.existsSync(dir)||mkdir.mkdirsSync(dir),fs4.linkSync(srcpath,dstpath)}module.exports={createLink:u(createLink),createLinkSync}}});var require_symlink_paths2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports,module){"use strict";var path2=__require("path"),fs4=require_graceful_fs(),pathExists2=require_path_exists2().pathExists;function symlinkPaths(srcpath,dstpath,callback){if(path2.isAbsolute(srcpath))return fs4.lstat(srcpath,err=>err?(err.message=err.message.replace("lstat","ensureSymlink"),callback(err)):callback(null,{toCwd:srcpath,toDst:srcpath}));{let dstdir=path2.dirname(dstpath),relativeToDst=path2.join(dstdir,srcpath);return pathExists2(relativeToDst,(err,exists)=>err?callback(err):exists?callback(null,{toCwd:relativeToDst,toDst:srcpath}):fs4.lstat(srcpath,err2=>err2?(err2.message=err2.message.replace("lstat","ensureSymlink"),callback(err2)):callback(null,{toCwd:srcpath,toDst:path2.relative(dstdir,srcpath)})))}}function symlinkPathsSync(srcpath,dstpath){let exists;if(path2.isAbsolute(srcpath)){if(exists=fs4.existsSync(srcpath),!exists)throw new Error("absolute srcpath does not exist");return{toCwd:srcpath,toDst:srcpath}}else{let dstdir=path2.dirname(dstpath),relativeToDst=path2.join(dstdir,srcpath);if(exists=fs4.existsSync(relativeToDst),exists)return{toCwd:relativeToDst,toDst:srcpath};if(exists=fs4.existsSync(srcpath),!exists)throw new Error("relative srcpath does not exist");return{toCwd:srcpath,toDst:path2.relative(dstdir,srcpath)}}}module.exports={symlinkPaths,symlinkPathsSync}}});var require_symlink_type2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports,module){"use strict";var fs4=require_graceful_fs();function symlinkType(srcpath,type,callback){if(callback=typeof type=="function"?type:callback,type=typeof type=="function"?!1:type,type)return callback(null,type);fs4.lstat(srcpath,(err,stats)=>{if(err)return callback(null,"file");type=stats&&stats.isDirectory()?"dir":"file",callback(null,type)})}function symlinkTypeSync(srcpath,type){let stats;if(type)return type;try{stats=fs4.lstatSync(srcpath)}catch{return"file"}return stats&&stats.isDirectory()?"dir":"file"}module.exports={symlinkType,symlinkTypeSync}}});var require_symlink2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/symlink.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,path2=__require("path"),fs4=require_graceful_fs(),_mkdirs=require_mkdirs3(),mkdirs=_mkdirs.mkdirs,mkdirsSync=_mkdirs.mkdirsSync,_symlinkPaths=require_symlink_paths2(),symlinkPaths=_symlinkPaths.symlinkPaths,symlinkPathsSync=_symlinkPaths.symlinkPathsSync,_symlinkType=require_symlink_type2(),symlinkType=_symlinkType.symlinkType,symlinkTypeSync=_symlinkType.symlinkTypeSync,pathExists2=require_path_exists2().pathExists;function createSymlink(srcpath,dstpath,type,callback){callback=typeof type=="function"?type:callback,type=typeof type=="function"?!1:type,pathExists2(dstpath,(err,destinationExists)=>{if(err)return callback(err);if(destinationExists)return callback(null);symlinkPaths(srcpath,dstpath,(err2,relative3)=>{if(err2)return callback(err2);srcpath=relative3.toDst,symlinkType(relative3.toCwd,type,(err3,type2)=>{if(err3)return callback(err3);let dir=path2.dirname(dstpath);pathExists2(dir,(err4,dirExists)=>{if(err4)return callback(err4);if(dirExists)return fs4.symlink(srcpath,dstpath,type2,callback);mkdirs(dir,err5=>{if(err5)return callback(err5);fs4.symlink(srcpath,dstpath,type2,callback)})})})})})}function createSymlinkSync(srcpath,dstpath,type){if(fs4.existsSync(dstpath))return;let relative3=symlinkPathsSync(srcpath,dstpath);srcpath=relative3.toDst,type=symlinkTypeSync(relative3.toCwd,type);let dir=path2.dirname(dstpath);return fs4.existsSync(dir)||mkdirsSync(dir),fs4.symlinkSync(srcpath,dstpath,type)}module.exports={createSymlink:u(createSymlink),createSymlinkSync}}});var require_ensure2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/ensure/index.js"(exports,module){"use strict";var file=require_file2(),link=require_link2(),symlink=require_symlink2();module.exports={createFile:file.createFile,createFileSync:file.createFileSync,ensureFile:file.createFile,ensureFileSync:file.createFileSync,createLink:link.createLink,createLinkSync:link.createLinkSync,ensureLink:link.createLink,ensureLinkSync:link.createLinkSync,createSymlink:symlink.createSymlink,createSymlinkSync:symlink.createSymlinkSync,ensureSymlink:symlink.createSymlink,ensureSymlinkSync:symlink.createSymlinkSync}}});var require_jsonfile3=__commonJS({"../../node_modules/.pnpm/jsonfile@4.0.0/node_modules/jsonfile/index.js"(exports,module){var _fs;try{_fs=require_graceful_fs()}catch{_fs=__require("fs")}function readFile3(file,options,callback){callback==null&&(callback=options,options={}),typeof options=="string"&&(options={encoding:options}),options=options||{};var fs4=options.fs||_fs,shouldThrow=!0;"throws"in options&&(shouldThrow=options.throws),fs4.readFile(file,options,function(err,data){if(err)return callback(err);data=stripBom(data);var obj;try{obj=JSON.parse(data,options?options.reviver:null)}catch(err2){return shouldThrow?(err2.message=file+": "+err2.message,callback(err2)):callback(null,null)}callback(null,obj)})}function readFileSync(file,options){options=options||{},typeof options=="string"&&(options={encoding:options});var fs4=options.fs||_fs,shouldThrow=!0;"throws"in options&&(shouldThrow=options.throws);try{var content=fs4.readFileSync(file,options);return content=stripBom(content),JSON.parse(content,options.reviver)}catch(err){if(shouldThrow)throw err.message=file+": "+err.message,err;return null}}function stringify(obj,options){var spaces,EOL=`
19
- `;typeof options=="object"&&options!==null&&(options.spaces&&(spaces=options.spaces),options.EOL&&(EOL=options.EOL));var str=JSON.stringify(obj,options?options.replacer:null,spaces);return str.replace(/\n/g,EOL)+EOL}function writeFile3(file,obj,options,callback){callback==null&&(callback=options,options={}),options=options||{};var fs4=options.fs||_fs,str="";try{str=stringify(obj,options)}catch(err){callback&&callback(err,null);return}fs4.writeFile(file,str,options,callback)}function writeFileSync(file,obj,options){options=options||{};var fs4=options.fs||_fs,str=stringify(obj,options);return fs4.writeFileSync(file,str,options)}function stripBom(content){return Buffer.isBuffer(content)&&(content=content.toString("utf8")),content=content.replace(/^\uFEFF/,""),content}var jsonfile={readFile:readFile3,readFileSync,writeFile:writeFile3,writeFileSync};module.exports=jsonfile}});var require_jsonfile4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/jsonfile.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,jsonFile=require_jsonfile3();module.exports={readJson:u(jsonFile.readFile),readJsonSync:jsonFile.readFileSync,writeJson:u(jsonFile.writeFile),writeJsonSync:jsonFile.writeFileSync}}});var require_output_json2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/output-json.js"(exports,module){"use strict";var path2=__require("path"),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists,jsonFile=require_jsonfile4();function outputJson(file,data,options,callback){typeof options=="function"&&(callback=options,options={});let dir=path2.dirname(file);pathExists2(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return jsonFile.writeJson(file,data,options,callback);mkdir.mkdirs(dir,err2=>{if(err2)return callback(err2);jsonFile.writeJson(file,data,options,callback)})})}module.exports=outputJson}});var require_output_json_sync2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/output-json-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),mkdir=require_mkdirs3(),jsonFile=require_jsonfile4();function outputJsonSync(file,data,options){let dir=path2.dirname(file);fs4.existsSync(dir)||mkdir.mkdirsSync(dir),jsonFile.writeJsonSync(file,data,options)}module.exports=outputJsonSync}});var require_json2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,jsonFile=require_jsonfile4();jsonFile.outputJson=u(require_output_json2());jsonFile.outputJsonSync=require_output_json_sync2();jsonFile.outputJSON=jsonFile.outputJson;jsonFile.outputJSONSync=jsonFile.outputJsonSync;jsonFile.writeJSON=jsonFile.writeJson;jsonFile.writeJSONSync=jsonFile.writeJsonSync;jsonFile.readJSON=jsonFile.readJson;jsonFile.readJSONSync=jsonFile.readJsonSync;module.exports=jsonFile}});var require_move_sync3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move-sync/move-sync.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),copySync=require_copy_sync4().copySync,removeSync=require_remove2().removeSync,mkdirpSync=require_mkdirs3().mkdirpSync,stat2=require_stat2();function moveSync(src,dest,opts){opts=opts||{};let overwrite=opts.overwrite||opts.clobber||!1,{srcStat}=stat2.checkPathsSync(src,dest,"move");return stat2.checkParentPathsSync(src,srcStat,dest,"move"),mkdirpSync(path2.dirname(dest)),doRename(src,dest,overwrite)}function doRename(src,dest,overwrite){if(overwrite)return removeSync(dest),rename(src,dest,overwrite);if(fs4.existsSync(dest))throw new Error("dest already exists.");return rename(src,dest,overwrite)}function rename(src,dest,overwrite){try{fs4.renameSync(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;return moveAcrossDevice(src,dest,overwrite)}}function moveAcrossDevice(src,dest,overwrite){return copySync(src,dest,{overwrite,errorOnExist:!0}),removeSync(src)}module.exports=moveSync}});var require_move_sync4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move-sync/index.js"(exports,module){"use strict";module.exports={moveSync:require_move_sync3()}}});var require_move3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move/move.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),copy=require_copy4().copy,remove=require_remove2().remove,mkdirp=require_mkdirs3().mkdirp,pathExists2=require_path_exists2().pathExists,stat2=require_stat2();function move(src,dest,opts,cb){typeof opts=="function"&&(cb=opts,opts={});let overwrite=opts.overwrite||opts.clobber||!1;stat2.checkPaths(src,dest,"move",(err,stats)=>{if(err)return cb(err);let{srcStat}=stats;stat2.checkParentPaths(src,srcStat,dest,"move",err2=>{if(err2)return cb(err2);mkdirp(path2.dirname(dest),err3=>err3?cb(err3):doRename(src,dest,overwrite,cb))})})}function doRename(src,dest,overwrite,cb){if(overwrite)return remove(dest,err=>err?cb(err):rename(src,dest,overwrite,cb));pathExists2(dest,(err,destExists)=>err?cb(err):destExists?cb(new Error("dest already exists.")):rename(src,dest,overwrite,cb))}function rename(src,dest,overwrite,cb){fs4.rename(src,dest,err=>err?err.code!=="EXDEV"?cb(err):moveAcrossDevice(src,dest,overwrite,cb):cb())}function moveAcrossDevice(src,dest,overwrite,cb){copy(src,dest,{overwrite,errorOnExist:!0},err=>err?cb(err):remove(src,cb))}module.exports=move}});var require_move4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback;module.exports={move:u(require_move3())}}});var require_output2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/output/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,fs4=require_graceful_fs(),path2=__require("path"),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists;function outputFile(file,data,encoding,callback){typeof encoding=="function"&&(callback=encoding,encoding="utf8");let dir=path2.dirname(file);pathExists2(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return fs4.writeFile(file,data,encoding,callback);mkdir.mkdirs(dir,err2=>{if(err2)return callback(err2);fs4.writeFile(file,data,encoding,callback)})})}function outputFileSync(file,...args){let dir=path2.dirname(file);if(fs4.existsSync(dir))return fs4.writeFileSync(file,...args);mkdir.mkdirsSync(dir),fs4.writeFileSync(file,...args)}module.exports={outputFile:u(outputFile),outputFileSync}}});var require_lib3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/index.js"(exports,module){"use strict";module.exports=Object.assign({},require_fs2(),require_copy_sync4(),require_copy4(),require_empty2(),require_ensure2(),require_json2(),require_mkdirs3(),require_move_sync4(),require_move4(),require_output2(),require_path_exists2(),require_remove2());var fs4=__require("fs");Object.getOwnPropertyDescriptor(fs4,"promises")&&Object.defineProperty(module.exports,"promises",{get(){return fs4.promises}})}});var require_lib4=__commonJS({"../../node_modules/.pnpm/async-sema@3.0.0/node_modules/async-sema/lib/index.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var events_1=__importDefault(__require("events"));function arrayMove(src,srcIndex,dst,dstIndex,len){for(let j=0;j<len;++j)dst[j+dstIndex]=src[j+srcIndex],src[j+srcIndex]=void 0}function pow2AtLeast(n){return n=n>>>0,n=n-1,n=n|n>>1,n=n|n>>2,n=n|n>>4,n=n|n>>8,n=n|n>>16,n+1}function getCapacity(capacity){return pow2AtLeast(Math.min(Math.max(16,capacity),1073741824))}var Deque=class{constructor(capacity){this._capacity=getCapacity(capacity),this._length=0,this._front=0,this.arr=[]}push(item){let length=this._length;this.checkCapacity(length+1);let i=this._front+length&this._capacity-1;return this.arr[i]=item,this._length=length+1,length+1}pop(){let length=this._length;if(length===0)return;let i=this._front+length-1&this._capacity-1,ret=this.arr[i];return this.arr[i]=void 0,this._length=length-1,ret}shift(){let length=this._length;if(length===0)return;let front=this._front,ret=this.arr[front];return this.arr[front]=void 0,this._front=front+1&this._capacity-1,this._length=length-1,ret}get length(){return this._length}checkCapacity(size){this._capacity<size&&this.resizeTo(getCapacity(this._capacity*1.5+16))}resizeTo(capacity){let oldCapacity=this._capacity;this._capacity=capacity;let front=this._front,length=this._length;if(front+length>oldCapacity){let moveItemsCount=front+length&oldCapacity-1;arrayMove(this.arr,0,this.arr,oldCapacity,moveItemsCount)}}},ReleaseEmitter=class extends events_1.default{};function isFn(x){return typeof x=="function"}function defaultInit(){return"1"}var Sema=class{constructor(nr,{initFn=defaultInit,pauseFn,resumeFn,capacity=10}={}){if(isFn(pauseFn)!==isFn(resumeFn))throw new Error("pauseFn and resumeFn must be both set for pausing");this.nrTokens=nr,this.free=new Deque(nr),this.waiting=new Deque(capacity),this.releaseEmitter=new ReleaseEmitter,this.noTokens=initFn===defaultInit,this.pauseFn=pauseFn,this.resumeFn=resumeFn,this.paused=!1,this.releaseEmitter.on("release",token=>{let p=this.waiting.shift();p?p.resolve(token):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(token))});for(let i=0;i<nr;i++)this.free.push(initFn())}async acquire(){let token=this.free.pop();return token!==void 0?token:new Promise((resolve6,reject)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:resolve6,reject})})}release(token){this.releaseEmitter.emit("release",this.noTokens?"1":token)}drain(){let a=new Array(this.nrTokens);for(let i=0;i<this.nrTokens;i++)a[i]=this.acquire();return Promise.all(a)}nrWaiting(){return this.waiting.length}};exports.Sema=Sema;function RateLimit(rps,{timeUnit=1e3,uniformDistribution=!1}={}){let sema=new Sema(uniformDistribution?1:rps),delay=uniformDistribution?timeUnit/rps:timeUnit;return async function(){await sema.acquire(),setTimeout(()=>sema.release(),delay)}}exports.RateLimit=RateLimit}});var require_hashes=__commonJS({"../client/dist/utils/hashes.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),hashes_exports={};__export(hashes_exports,{hash:()=>hash,hashes:()=>hashes,mapToObject:()=>mapToObject});module.exports=__toCommonJS(hashes_exports);var import_crypto=__require("crypto"),import_fs_extra6=__toESM2(require_lib3()),import_async_sema=require_lib4(),MAX_BUFFER_FILE_SIZE=2**31-1;function hash(buf){return(0,import_crypto.createHash)("sha1").update(Uint8Array.from(buf)).digest("hex")}async function hashFile(path2){let digest=(0,import_crypto.createHash)("sha1");for await(let chunk of import_fs_extra6.default.createReadStream(path2))digest.update(Uint8Array.from(chunk));return digest.digest("hex")}var mapToObject=map=>{let obj={};for(let[key,value]of map)typeof key>"u"||(obj[key]=value);return obj};async function hashes(files,map=new Map){let semaphore=new import_async_sema.Sema(100);return await Promise.all(files.map(async name=>{await semaphore.acquire();let stat2=await import_fs_extra6.default.lstat(name),mode=stat2.mode,data,size,isDirectory2=stat2.isDirectory(),h;if(!isDirectory2)if(stat2.isSymbolicLink()){let link=await import_fs_extra6.default.readlink(name);data=Buffer.from(link,"utf8"),size=data.length,h=hash(data)}else stat2.size>MAX_BUFFER_FILE_SIZE?(size=stat2.size,h=await hashFile(name)):(data=await import_fs_extra6.default.readFile(name),size=data.length,h=hash(data));let entry=map.get(h);if(entry){let names=new Set(entry.names);names.add(name),entry.names=[...names]}else map.set(h,{names:[name],data,mode,size});semaphore.release()})),map}}});var require_query_string=__commonJS({"../client/dist/utils/query-string.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),query_string_exports={};__export(query_string_exports,{generateQueryString:()=>generateQueryString});module.exports=__toCommonJS(query_string_exports);var import_url2=__require("url");function generateQueryString(clientOptions){let options=new import_url2.URLSearchParams;return clientOptions.teamId&&options.set("teamId",clientOptions.teamId),clientOptions.force&&options.set("forceNew","1"),clientOptions.withCache&&options.set("withCache","1"),clientOptions.skipAutoDetectionConfirmation&&options.set("skipAutoDetectionConfirmation","1"),clientOptions.prebuilt&&options.set("prebuilt","1"),Array.from(options.entries()).length?`?${options.toString()}`:""}}});var require_ready_state=__commonJS({"../client/dist/utils/ready-state.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),ready_state_exports={};__export(ready_state_exports,{isAliasAssigned:()=>isAliasAssigned,isAliasError:()=>isAliasError,isDone:()=>isDone,isFailed:()=>isFailed,isReady:()=>isReady});module.exports=__toCommonJS(ready_state_exports);var isReady=({readyState,state})=>readyState==="READY"||state==="READY",isFailed=({readyState,state})=>readyState?readyState.endsWith("_ERROR")||readyState==="ERROR":state?state.endsWith("_ERROR")||state==="ERROR":!1,isDone=buildOrDeployment=>isReady(buildOrDeployment)||isFailed(buildOrDeployment),isAliasAssigned=deployment=>!!deployment.aliasAssigned,isAliasError=deployment=>!!deployment.aliasError}});var require_cjs=__commonJS({"../../node_modules/.pnpm/sleep-promise@8.0.1/node_modules/sleep-promise/build/cjs.js"(exports,module){"use strict";var cachedSetTimeout=setTimeout;function createSleepPromise(a,b){var c=b.useCachedSetTimeout,d=c?cachedSetTimeout:setTimeout;return new Promise(function(b2){d(b2,a)})}function sleep2(a){function b(a2){return e.then(function(){return a2})}var c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},d=c.useCachedSetTimeout,e=createSleepPromise(a,{useCachedSetTimeout:d});return b.then=function(){return e.then.apply(e,arguments)},b.catch=Promise.resolve().catch,b}module.exports=sleep2}});var require_errors=__commonJS({"../client/dist/errors.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),errors_exports={};__export(errors_exports,{DeploymentError:()=>DeploymentError});module.exports=__toCommonJS(errors_exports);var DeploymentError=class extends Error{constructor(err){super(err.message),this.code=err.code,this.errorName=err.name,this.name="DeploymentError"}}}});var require_network_error=__commonJS({"../client/dist/utils/network-error.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),network_error_exports={};__export(network_error_exports,{formatNetworkError:()=>formatNetworkError,isRetryableNetworkError:()=>isRetryableNetworkError});module.exports=__toCommonJS(network_error_exports);var retryableCodes=new Set(["ETIMEDOUT","ECONNREFUSED","ENOTFOUND","ECONNRESET","EAI_FAIL","EAI_AGAIN","EPIPE","ENETUNREACH","EHOSTUNREACH","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET"]);function isRetryableNetworkError(error,depth=0){if(!(error instanceof Error)||depth>5||error.name==="AbortError")return!1;let err=error;return err.code?retryableCodes.has(err.code):Array.isArray(err.errors)&&err.errors.length>0?err.errors.every(child=>isRetryableNetworkError(child,depth+1)):err.cause?isRetryableNetworkError(err.cause,depth+1):/ETIMEDOUT|ECONNREFUSED|ENOTFOUND|ECONNRESET|EAI_FAIL|socket hang up|network socket disconnected/.test(err.message)}function formatNetworkError(error,depth=0){if(!(error instanceof Error))return"Unknown error";if(depth>5)return"[truncated]";let err=error,fields=[];for(let value of[err.name,err.code])typeof value=="string"&&/^[a-zA-Z_][a-zA-Z0-9_]{0,63}$/.test(value)&&fields.push(value);return Array.isArray(err.errors)&&fields.push(`[${err.errors.slice(0,5).map(child=>formatNetworkError(child,depth+1)).join(", ")}]`),err.cause&&fields.push(`cause=(${formatNetworkError(err.cause,depth+1)})`),fields.join(" ")||"Error"}}});var require_ignore=__commonJS({"../../node_modules/.pnpm/ignore@4.0.6/node_modules/ignore/index.js"(exports,module){function make_array(subject){return Array.isArray(subject)?subject:[subject]}var REGEX_BLANK_LINE=/^\s+$/,REGEX_LEADING_EXCAPED_EXCLAMATION=/^\\!/,REGEX_LEADING_EXCAPED_HASH=/^\\#/,SLASH="/",KEY_IGNORE=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",define2=(object,key,value)=>Object.defineProperty(object,key,{value}),REGEX_REGEXP_RANGE=/([0-z])-([0-z])/g,sanitizeRange=range=>range.replace(REGEX_REGEXP_RANGE,(match,from,to)=>from.charCodeAt(0)<=to.charCodeAt(0)?match:""),DEFAULT_REPLACER_PREFIX=[[/\\?\s+$/,match=>match.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,match=>`\\${match}`],[/\[([^\]/]*)($|\])/g,(match,p1,p2)=>p2==="]"?`[${sanitizeRange(p1)}]`:`\\${match}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"]],DEFAULT_REPLACER_SUFFIX=[[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(match,index,str)=>index+6<str.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(match,p1)=>`${p1}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(match,p1)=>`${p1?`${p1}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],POSITIVE_REPLACERS=[...DEFAULT_REPLACER_PREFIX,[/(?:[^*/])$/,match=>`${match}(?=$|\\/)`],...DEFAULT_REPLACER_SUFFIX],NEGATIVE_REPLACERS=[...DEFAULT_REPLACER_PREFIX,[/(?:[^*])$/,match=>`${match}(?=$|\\/$)`],...DEFAULT_REPLACER_SUFFIX],cache=Object.create(null),make_regex=(pattern,negative,ignorecase)=>{let r=cache[pattern];if(r)return r;let source=(negative?NEGATIVE_REPLACERS:POSITIVE_REPLACERS).reduce((prev,current)=>prev.replace(current[0],current[1].bind(pattern)),pattern);return cache[pattern]=ignorecase?new RegExp(source,"i"):new RegExp(source)},checkPattern=pattern=>pattern&&typeof pattern=="string"&&!REGEX_BLANK_LINE.test(pattern)&&pattern.indexOf("#")!==0,createRule=(pattern,ignorecase)=>{let origin=pattern,negative=!1;pattern.indexOf("!")===0&&(negative=!0,pattern=pattern.substr(1)),pattern=pattern.replace(REGEX_LEADING_EXCAPED_EXCLAMATION,"!").replace(REGEX_LEADING_EXCAPED_HASH,"#");let regex=make_regex(pattern,negative,ignorecase);return{origin,pattern,negative,regex}},IgnoreBase=class{constructor({ignorecase=!0}={}){this._rules=[],this._ignorecase=ignorecase,define2(this,KEY_IGNORE,!0),this._initCache()}_initCache(){this._cache=Object.create(null)}add(pattern){return this._added=!1,typeof pattern=="string"&&(pattern=pattern.split(/\r?\n/g)),make_array(pattern).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(pattern){return this.add(pattern)}_addPattern(pattern){if(pattern&&pattern[KEY_IGNORE]){this._rules=this._rules.concat(pattern._rules),this._added=!0;return}if(checkPattern(pattern)){let rule=createRule(pattern,this._ignorecase);this._added=!0,this._rules.push(rule)}}filter(paths){return make_array(paths).filter(path2=>this._filter(path2))}createFilter(){return path2=>this._filter(path2)}ignores(path2){return!this._filter(path2)}_filter(path2,slices){return path2?path2 in this._cache?this._cache[path2]:(slices||(slices=path2.split(SLASH)),slices.pop(),this._cache[path2]=slices.length?this._filter(slices.join(SLASH)+SLASH,slices)&&this._test(path2):this._test(path2)):!1}_test(path2){let matched=0;return this._rules.forEach(rule=>{matched^rule.negative||(matched=rule.negative^rule.regex.test(path2))}),!matched}};if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let filter=IgnoreBase.prototype._filter,make_posix=str=>/^\\\\\?\\/.test(str)||/[^\x00-\x80]+/.test(str)?str:str.replace(/\\/g,"/");IgnoreBase.prototype._filter=function(path2,slices){return path2=make_posix(path2),filter.call(this,path2,slices)}}module.exports=options=>new IgnoreBase(options)}});var require_package=__commonJS({"../client/package.json"(exports,module){module.exports={name:"@vercel/client",version:"18.11.0",main:"dist/index.js",typings:"dist/index.d.ts",homepage:"https://vercel.com",license:"Apache-2.0",files:["dist"],repository:{type:"git",url:"https://github.com/vercel/vercel.git",directory:"packages/client"},scripts:{build:"node ../../utils/build.mjs",test:"vitest run --config ./vitest.config.mts","test-e2e":"vitest run --config ./vitest.config.mts tests/integration-","type-check":"tsc --noEmit","test-unit":"vitest run --config ./vitest.config.mts tests/unit."},engines:{node:">= 20"},devDependencies:{"@types/async-retry":"1.4.5","@types/fs-extra":"7.0.0","@types/minimatch":"3.0.5","@types/ms":"0.7.30","@types/node":"20.11.0","@types/recursive-readdir":"2.2.0","@types/tar-fs":"1.16.1",vitest:"4.1.10"},dependencies:{"@vercel/build-utils":"workspace:*","@vercel/error-utils":"workspace:*","@vercel/microfrontends":"2.4.0","@vercel/routing-utils":"workspace:*","async-retry":"1.2.3","async-sema":"3.0.0","fs-extra":"8.0.1",ignore:"4.0.6",minimatch:"5.0.1",ms:"2.1.2",querystring:"^0.2.0","sleep-promise":"8.0.1","tar-fs":"1.16.3"}}}});var require_pkg=__commonJS({"../client/dist/pkg.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),pkg_exports={};__export(pkg_exports,{pkgVersion:()=>pkgVersion});module.exports=__toCommonJS(pkg_exports);var pkg=require_package(),pkgVersion=pkg.version}});var require_readdir_recursive=__commonJS({"../client/dist/utils/readdir-recursive.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),readdir_recursive_exports={};__export(readdir_recursive_exports,{default:()=>readdir});module.exports=__toCommonJS(readdir_recursive_exports);var import_fs5=__toESM2(__require("fs")),import_path9=__toESM2(__require("path")),import_minimatch=__toESM2(require_minimatch());function patternMatcher(pattern){return function(path2,stats){let minimatcher=new import_minimatch.default.Minimatch(pattern,{matchBase:!0});return(!minimatcher.negate||stats.isFile())&&minimatcher.match(path2)}}function toMatcherFunction(ignoreEntry){return typeof ignoreEntry=="function"?ignoreEntry:patternMatcher(ignoreEntry)}function readdir(path2,ignores){ignores=ignores.map(toMatcherFunction);let list=[];return new Promise(function(resolve6,reject){import_fs5.default.readdir(path2,function(err,files){if(err)return reject(err);let pending=files.length;if(!pending)return resolve6(list);files.forEach(function(file){let filePath=import_path9.default.join(path2,file);import_fs5.default.lstat(filePath,function(_err,stats){if(_err)return reject(_err);if(ignores.some(matcher=>matcher(filePath,stats)))return pending-=1,pending?null:resolve6(list);if(stats.isDirectory())readdir(filePath,ignores).then(function(res){if(res.length===0&&list.push(filePath),list=list.concat(res),pending-=1,!pending)return resolve6(list)}).catch(reject);else if(list.push(filePath),pending-=1,!pending)return resolve6(list)})})})})}}});var require_dpop=__commonJS({"../client/dist/utils/dpop.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),dpop_exports={};__export(dpop_exports,{DPOP_CLOCK_SKEW_TOLERANCE_SECONDS:()=>DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3,getDpopServerTime:()=>getDpopServerTime3,shouldResendDpopRequest:()=>shouldResendDpopRequest3});module.exports=__toCommonJS(dpop_exports);var DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3=30;function getDpopServerTime3(headers){let date=headers.get("date"),serverTime=date?Date.parse(date):Number.NaN;return Number.isNaN(serverTime)?void 0:serverTime/1e3}function iatOf(proof){try{let payload=JSON.parse(Buffer.from(proof?.split(".")[1]??"","base64url").toString());return typeof payload?.iat=="number"?payload.iat:void 0}catch{return}}async function shouldResendDpopRequest3(response,proof){if(!proof)return!1;let error=await dpopErrorOf(response);if(error==="use_dpop_nonce")return!!response.headers.get("dpop-nonce");if(error==="invalid_dpop_proof"){let iat=iatOf(proof),serverTime=getDpopServerTime3(response.headers);return iat!==void 0&&serverTime!==void 0&&Math.abs(serverTime-iat)>DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3}return!1}async function dpopErrorOf(response){if(response.status===401){let challenge=response.headers.get("www-authenticate")??"";return/\berror="([^"]*)"/i.exec(challenge)?.[1]}if(response.status===400)try{let json=await response.clone().json();return typeof json=="object"&&json!==null&&"error"in json&&typeof json.error=="string"?json.error:void 0}catch{return}}}});var require_utils3=__commonJS({"../client/dist/utils/index.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),utils_exports={};__export(utils_exports,{API_FILES:()=>API_FILES,EVENTS:()=>EVENTS,buildFileTree:()=>buildFileTree2,createDebug:()=>createDebug,fetchApi:()=>fetchApi,getApiDeploymentsUrl:()=>getApiDeploymentsUrl,getVercelIgnore:()=>getVercelIgnore2,needsNewDpopProof:()=>needsNewDpopProof,parseVercelConfig:()=>parseVercelConfig,prepareFiles:()=>prepareFiles,shouldInlineStaticFiles:()=>shouldInlineStaticFiles});module.exports=__toCommonJS(utils_exports);var import_network_error=require_network_error(),import_path9=__require("path"),import_stream=__require("stream"),import_url2=__require("url"),import_ignore=__toESM2(require_ignore()),import_pkg3=require_pkg(),import_build_utils3=__require("@vercel/build-utils"),import_async_sema=require_lib4(),import_fs_extra6=require_lib3(),import_readdir_recursive=__toESM2(require_readdir_recursive()),import_dpop4=require_dpop(),semaphore=new import_async_sema.Sema(10),API_FILES="/v2/files",EVENTS_ARRAY=["hashes-calculated","file-count","file-uploaded","all-files-uploaded","created","building","ready","alias-assigned","warning","error","notice","tip","canceled","checks-registered","checks-completed","checks-running","checks-conclusion-succeeded","checks-conclusion-failed","checks-conclusion-skipped","checks-conclusion-canceled","checks-v2-failed"],EVENTS=new Set(EVENTS_ARRAY);function getApiDeploymentsUrl(){return"/v13/deployments"}async function parseVercelConfig(filePath){if(!filePath)return{};try{let jsonString=await(0,import_fs_extra6.readFile)(filePath,"utf8");return JSON.parse(jsonString)}catch(e){return console.error(e),{}}}var maybeRead=async function(path2,default_){try{return await(0,import_fs_extra6.readFile)(path2,"utf8")}catch{return default_}};async function getUserIgnore(cwd){let[vercelignore,nowignore]=await Promise.all([maybeRead((0,import_path9.join)(cwd,".vercelignore"),""),maybeRead((0,import_path9.join)(cwd,".nowignore"),"")]);if(vercelignore&&nowignore)throw new import_build_utils3.NowBuildError({code:"CONFLICTING_IGNORE_FILES",message:"Cannot use both a `.vercelignore` and `.nowignore` file. Please delete the `.nowignore` file.",link:"https://vercel.link/combining-old-and-new-config"});let ignoreFile=vercelignore||nowignore;return ignoreFile?{ig:(0,import_ignore.default)().add(clearRelative(ignoreFile)),ignoreFile,ignoreFileName:vercelignore?".vercelignore":".nowignore"}:null}var VCS_DEFAULTS=[".hg",".git",".gitmodules",".svn","CVS"],filePathMapVcsDefaults=(0,import_ignore.default)().add(VCS_DEFAULTS),FILEPATHMAP_VERCELIGNORE_EXCEPTIONS=["node_modules",".next",".yarn/cache",".pnp*",".venv","venv","__pycache__","/target"],filePathMapVercelignoreExceptions=(0,import_ignore.default)().add(FILEPATHMAP_VERCELIGNORE_EXCEPTIONS.join(`
19
+ `;typeof options=="object"&&options!==null&&(options.spaces&&(spaces=options.spaces),options.EOL&&(EOL=options.EOL));var str=JSON.stringify(obj,options?options.replacer:null,spaces);return str.replace(/\n/g,EOL)+EOL}function writeFile3(file,obj,options,callback){callback==null&&(callback=options,options={}),options=options||{};var fs4=options.fs||_fs,str="";try{str=stringify(obj,options)}catch(err){callback&&callback(err,null);return}fs4.writeFile(file,str,options,callback)}function writeFileSync(file,obj,options){options=options||{};var fs4=options.fs||_fs,str=stringify(obj,options);return fs4.writeFileSync(file,str,options)}function stripBom(content){return Buffer.isBuffer(content)&&(content=content.toString("utf8")),content=content.replace(/^\uFEFF/,""),content}var jsonfile={readFile:readFile3,readFileSync,writeFile:writeFile3,writeFileSync};module.exports=jsonfile}});var require_jsonfile4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/jsonfile.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,jsonFile=require_jsonfile3();module.exports={readJson:u(jsonFile.readFile),readJsonSync:jsonFile.readFileSync,writeJson:u(jsonFile.writeFile),writeJsonSync:jsonFile.writeFileSync}}});var require_output_json2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/output-json.js"(exports,module){"use strict";var path2=__require("path"),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists,jsonFile=require_jsonfile4();function outputJson(file,data,options,callback){typeof options=="function"&&(callback=options,options={});let dir=path2.dirname(file);pathExists2(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return jsonFile.writeJson(file,data,options,callback);mkdir.mkdirs(dir,err2=>{if(err2)return callback(err2);jsonFile.writeJson(file,data,options,callback)})})}module.exports=outputJson}});var require_output_json_sync2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/output-json-sync.js"(exports,module){"use strict";var fs4=require_graceful_fs(),path2=__require("path"),mkdir=require_mkdirs3(),jsonFile=require_jsonfile4();function outputJsonSync(file,data,options){let dir=path2.dirname(file);fs4.existsSync(dir)||mkdir.mkdirsSync(dir),jsonFile.writeJsonSync(file,data,options)}module.exports=outputJsonSync}});var require_json2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/json/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,jsonFile=require_jsonfile4();jsonFile.outputJson=u(require_output_json2());jsonFile.outputJsonSync=require_output_json_sync2();jsonFile.outputJSON=jsonFile.outputJson;jsonFile.outputJSONSync=jsonFile.outputJsonSync;jsonFile.writeJSON=jsonFile.writeJson;jsonFile.writeJSONSync=jsonFile.writeJsonSync;jsonFile.readJSON=jsonFile.readJson;jsonFile.readJSONSync=jsonFile.readJsonSync;module.exports=jsonFile}});var require_move_sync3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move-sync/move-sync.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),copySync=require_copy_sync4().copySync,removeSync=require_remove2().removeSync,mkdirpSync=require_mkdirs3().mkdirpSync,stat2=require_stat2();function moveSync(src,dest,opts){opts=opts||{};let overwrite=opts.overwrite||opts.clobber||!1,{srcStat}=stat2.checkPathsSync(src,dest,"move");return stat2.checkParentPathsSync(src,srcStat,dest,"move"),mkdirpSync(path2.dirname(dest)),doRename(src,dest,overwrite)}function doRename(src,dest,overwrite){if(overwrite)return removeSync(dest),rename(src,dest,overwrite);if(fs4.existsSync(dest))throw new Error("dest already exists.");return rename(src,dest,overwrite)}function rename(src,dest,overwrite){try{fs4.renameSync(src,dest)}catch(err){if(err.code!=="EXDEV")throw err;return moveAcrossDevice(src,dest,overwrite)}}function moveAcrossDevice(src,dest,overwrite){return copySync(src,dest,{overwrite,errorOnExist:!0}),removeSync(src)}module.exports=moveSync}});var require_move_sync4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move-sync/index.js"(exports,module){"use strict";module.exports={moveSync:require_move_sync3()}}});var require_move3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move/move.js"(exports,module){"use strict";var fs4=__require("fs"),path2=__require("path"),copy=require_copy4().copy,remove=require_remove2().remove,mkdirp=require_mkdirs3().mkdirp,pathExists2=require_path_exists2().pathExists,stat2=require_stat2();function move(src,dest,opts,cb){typeof opts=="function"&&(cb=opts,opts={});let overwrite=opts.overwrite||opts.clobber||!1;stat2.checkPaths(src,dest,"move",(err,stats)=>{if(err)return cb(err);let{srcStat}=stats;stat2.checkParentPaths(src,srcStat,dest,"move",err2=>{if(err2)return cb(err2);mkdirp(path2.dirname(dest),err3=>err3?cb(err3):doRename(src,dest,overwrite,cb))})})}function doRename(src,dest,overwrite,cb){if(overwrite)return remove(dest,err=>err?cb(err):rename(src,dest,overwrite,cb));pathExists2(dest,(err,destExists)=>err?cb(err):destExists?cb(new Error("dest already exists.")):rename(src,dest,overwrite,cb))}function rename(src,dest,overwrite,cb){fs4.rename(src,dest,err=>err?err.code!=="EXDEV"?cb(err):moveAcrossDevice(src,dest,overwrite,cb):cb())}function moveAcrossDevice(src,dest,overwrite,cb){copy(src,dest,{overwrite,errorOnExist:!0},err=>err?cb(err):remove(src,cb))}module.exports=move}});var require_move4=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/move/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback;module.exports={move:u(require_move3())}}});var require_output2=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/output/index.js"(exports,module){"use strict";var u=require_universalify2().fromCallback,fs4=require_graceful_fs(),path2=__require("path"),mkdir=require_mkdirs3(),pathExists2=require_path_exists2().pathExists;function outputFile(file,data,encoding,callback){typeof encoding=="function"&&(callback=encoding,encoding="utf8");let dir=path2.dirname(file);pathExists2(dir,(err,itDoes)=>{if(err)return callback(err);if(itDoes)return fs4.writeFile(file,data,encoding,callback);mkdir.mkdirs(dir,err2=>{if(err2)return callback(err2);fs4.writeFile(file,data,encoding,callback)})})}function outputFileSync(file,...args){let dir=path2.dirname(file);if(fs4.existsSync(dir))return fs4.writeFileSync(file,...args);mkdir.mkdirsSync(dir),fs4.writeFileSync(file,...args)}module.exports={outputFile:u(outputFile),outputFileSync}}});var require_lib3=__commonJS({"../../node_modules/.pnpm/fs-extra@8.0.1/node_modules/fs-extra/lib/index.js"(exports,module){"use strict";module.exports=Object.assign({},require_fs2(),require_copy_sync4(),require_copy4(),require_empty2(),require_ensure2(),require_json2(),require_mkdirs3(),require_move_sync4(),require_move4(),require_output2(),require_path_exists2(),require_remove2());var fs4=__require("fs");Object.getOwnPropertyDescriptor(fs4,"promises")&&Object.defineProperty(module.exports,"promises",{get(){return fs4.promises}})}});var require_lib4=__commonJS({"../../node_modules/.pnpm/async-sema@3.0.0/node_modules/async-sema/lib/index.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});var events_1=__importDefault(__require("events"));function arrayMove(src,srcIndex,dst,dstIndex,len){for(let j=0;j<len;++j)dst[j+dstIndex]=src[j+srcIndex],src[j+srcIndex]=void 0}function pow2AtLeast(n){return n=n>>>0,n=n-1,n=n|n>>1,n=n|n>>2,n=n|n>>4,n=n|n>>8,n=n|n>>16,n+1}function getCapacity(capacity){return pow2AtLeast(Math.min(Math.max(16,capacity),1073741824))}var Deque=class{constructor(capacity){this._capacity=getCapacity(capacity),this._length=0,this._front=0,this.arr=[]}push(item){let length=this._length;this.checkCapacity(length+1);let i=this._front+length&this._capacity-1;return this.arr[i]=item,this._length=length+1,length+1}pop(){let length=this._length;if(length===0)return;let i=this._front+length-1&this._capacity-1,ret=this.arr[i];return this.arr[i]=void 0,this._length=length-1,ret}shift(){let length=this._length;if(length===0)return;let front=this._front,ret=this.arr[front];return this.arr[front]=void 0,this._front=front+1&this._capacity-1,this._length=length-1,ret}get length(){return this._length}checkCapacity(size){this._capacity<size&&this.resizeTo(getCapacity(this._capacity*1.5+16))}resizeTo(capacity){let oldCapacity=this._capacity;this._capacity=capacity;let front=this._front,length=this._length;if(front+length>oldCapacity){let moveItemsCount=front+length&oldCapacity-1;arrayMove(this.arr,0,this.arr,oldCapacity,moveItemsCount)}}},ReleaseEmitter=class extends events_1.default{};function isFn(x){return typeof x=="function"}function defaultInit(){return"1"}var Sema=class{constructor(nr,{initFn=defaultInit,pauseFn,resumeFn,capacity=10}={}){if(isFn(pauseFn)!==isFn(resumeFn))throw new Error("pauseFn and resumeFn must be both set for pausing");this.nrTokens=nr,this.free=new Deque(nr),this.waiting=new Deque(capacity),this.releaseEmitter=new ReleaseEmitter,this.noTokens=initFn===defaultInit,this.pauseFn=pauseFn,this.resumeFn=resumeFn,this.paused=!1,this.releaseEmitter.on("release",token=>{let p=this.waiting.shift();p?p.resolve(token):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(token))});for(let i=0;i<nr;i++)this.free.push(initFn())}async acquire(){let token=this.free.pop();return token!==void 0?token:new Promise((resolve6,reject)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:resolve6,reject})})}release(token){this.releaseEmitter.emit("release",this.noTokens?"1":token)}drain(){let a=new Array(this.nrTokens);for(let i=0;i<this.nrTokens;i++)a[i]=this.acquire();return Promise.all(a)}nrWaiting(){return this.waiting.length}};exports.Sema=Sema;function RateLimit(rps,{timeUnit=1e3,uniformDistribution=!1}={}){let sema=new Sema(uniformDistribution?1:rps),delay=uniformDistribution?timeUnit/rps:timeUnit;return async function(){await sema.acquire(),setTimeout(()=>sema.release(),delay)}}exports.RateLimit=RateLimit}});var require_hashes=__commonJS({"../client/dist/utils/hashes.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),hashes_exports={};__export(hashes_exports,{hash:()=>hash,hashes:()=>hashes,mapToObject:()=>mapToObject});module.exports=__toCommonJS(hashes_exports);var import_crypto=__require("crypto"),import_fs_extra6=__toESM2(require_lib3()),import_async_sema=require_lib4(),MAX_BUFFER_FILE_SIZE=2**31-1;function hash(buf){return(0,import_crypto.createHash)("sha1").update(Uint8Array.from(buf)).digest("hex")}async function hashFile(path2){let digest=(0,import_crypto.createHash)("sha1");for await(let chunk of import_fs_extra6.default.createReadStream(path2))digest.update(Uint8Array.from(chunk));return digest.digest("hex")}var mapToObject=map=>{let obj={};for(let[key,value]of map)typeof key>"u"||(obj[key]=value);return obj};async function hashes(files,map=new Map){let semaphore=new import_async_sema.Sema(100);return await Promise.all(files.map(async name=>{await semaphore.acquire();let stat2=await import_fs_extra6.default.lstat(name),mode=stat2.mode,data,size,isDirectory2=stat2.isDirectory(),h;if(!isDirectory2)if(stat2.isSymbolicLink()){let link=await import_fs_extra6.default.readlink(name);data=Buffer.from(link,"utf8"),size=data.length,h=hash(data)}else stat2.size>MAX_BUFFER_FILE_SIZE?(size=stat2.size,h=await hashFile(name)):(data=await import_fs_extra6.default.readFile(name),size=data.length,h=hash(data));let entry=map.get(h);if(entry){let names=new Set(entry.names);names.add(name),entry.names=[...names]}else map.set(h,{names:[name],data,mode,size});semaphore.release()})),map}}});var require_query_string=__commonJS({"../client/dist/utils/query-string.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),query_string_exports={};__export(query_string_exports,{generateQueryString:()=>generateQueryString});module.exports=__toCommonJS(query_string_exports);var import_url2=__require("url");function generateQueryString(clientOptions){let options=new import_url2.URLSearchParams;return clientOptions.teamId&&options.set("teamId",clientOptions.teamId),clientOptions.force&&options.set("forceNew","1"),clientOptions.withCache&&options.set("withCache","1"),clientOptions.skipAutoDetectionConfirmation&&options.set("skipAutoDetectionConfirmation","1"),clientOptions.prebuilt&&options.set("prebuilt","1"),Array.from(options.entries()).length?`?${options.toString()}`:""}}});var require_ready_state=__commonJS({"../client/dist/utils/ready-state.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),ready_state_exports={};__export(ready_state_exports,{isAliasAssigned:()=>isAliasAssigned,isAliasError:()=>isAliasError,isDone:()=>isDone,isFailed:()=>isFailed,isReady:()=>isReady});module.exports=__toCommonJS(ready_state_exports);var isReady=({readyState,state})=>readyState==="READY"||state==="READY",isFailed=({readyState,state})=>readyState?readyState.endsWith("_ERROR")||readyState==="ERROR":state?state.endsWith("_ERROR")||state==="ERROR":!1,isDone=buildOrDeployment=>isReady(buildOrDeployment)||isFailed(buildOrDeployment),isAliasAssigned=deployment=>!!deployment.aliasAssigned,isAliasError=deployment=>!!deployment.aliasError}});var require_cjs=__commonJS({"../../node_modules/.pnpm/sleep-promise@8.0.1/node_modules/sleep-promise/build/cjs.js"(exports,module){"use strict";var cachedSetTimeout=setTimeout;function createSleepPromise(a,b){var c=b.useCachedSetTimeout,d=c?cachedSetTimeout:setTimeout;return new Promise(function(b2){d(b2,a)})}function sleep2(a){function b(a2){return e.then(function(){return a2})}var c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},d=c.useCachedSetTimeout,e=createSleepPromise(a,{useCachedSetTimeout:d});return b.then=function(){return e.then.apply(e,arguments)},b.catch=Promise.resolve().catch,b}module.exports=sleep2}});var require_errors=__commonJS({"../client/dist/errors.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),errors_exports={};__export(errors_exports,{DeploymentError:()=>DeploymentError});module.exports=__toCommonJS(errors_exports);var DeploymentError=class extends Error{constructor(err){super(err.message),this.code=err.code,this.errorName=err.name,this.name="DeploymentError"}}}});var require_network_error=__commonJS({"../client/dist/utils/network-error.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),network_error_exports={};__export(network_error_exports,{formatNetworkError:()=>formatNetworkError,isRetryableNetworkError:()=>isRetryableNetworkError});module.exports=__toCommonJS(network_error_exports);var retryableCodes=new Set(["ETIMEDOUT","ECONNREFUSED","ENOTFOUND","ECONNRESET","EAI_FAIL","EAI_AGAIN","EPIPE","ENETUNREACH","EHOSTUNREACH","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET"]);function isRetryableNetworkError(error,depth=0){if(!(error instanceof Error)||depth>5||error.name==="AbortError")return!1;let err=error;return err.code?retryableCodes.has(err.code):Array.isArray(err.errors)&&err.errors.length>0?err.errors.every(child=>isRetryableNetworkError(child,depth+1)):err.cause?isRetryableNetworkError(err.cause,depth+1):/ETIMEDOUT|ECONNREFUSED|ENOTFOUND|ECONNRESET|EAI_FAIL|socket hang up|network socket disconnected/.test(err.message)}function formatNetworkError(error,depth=0){if(!(error instanceof Error))return"Unknown error";if(depth>5)return"[truncated]";let err=error,fields=[];for(let value of[err.name,err.code])typeof value=="string"&&/^[a-zA-Z_][a-zA-Z0-9_]{0,63}$/.test(value)&&fields.push(value);return Array.isArray(err.errors)&&fields.push(`[${err.errors.slice(0,5).map(child=>formatNetworkError(child,depth+1)).join(", ")}]`),err.cause&&fields.push(`cause=(${formatNetworkError(err.cause,depth+1)})`),fields.join(" ")||"Error"}}});var require_ignore=__commonJS({"../../node_modules/.pnpm/ignore@4.0.6/node_modules/ignore/index.js"(exports,module){function make_array(subject){return Array.isArray(subject)?subject:[subject]}var REGEX_BLANK_LINE=/^\s+$/,REGEX_LEADING_EXCAPED_EXCLAMATION=/^\\!/,REGEX_LEADING_EXCAPED_HASH=/^\\#/,SLASH="/",KEY_IGNORE=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",define2=(object,key,value)=>Object.defineProperty(object,key,{value}),REGEX_REGEXP_RANGE=/([0-z])-([0-z])/g,sanitizeRange=range=>range.replace(REGEX_REGEXP_RANGE,(match,from,to)=>from.charCodeAt(0)<=to.charCodeAt(0)?match:""),DEFAULT_REPLACER_PREFIX=[[/\\?\s+$/,match=>match.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,match=>`\\${match}`],[/\[([^\]/]*)($|\])/g,(match,p1,p2)=>p2==="]"?`[${sanitizeRange(p1)}]`:`\\${match}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"]],DEFAULT_REPLACER_SUFFIX=[[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(match,index,str)=>index+6<str.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(match,p1)=>`${p1}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(match,p1)=>`${p1?`${p1}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],POSITIVE_REPLACERS=[...DEFAULT_REPLACER_PREFIX,[/(?:[^*/])$/,match=>`${match}(?=$|\\/)`],...DEFAULT_REPLACER_SUFFIX],NEGATIVE_REPLACERS=[...DEFAULT_REPLACER_PREFIX,[/(?:[^*])$/,match=>`${match}(?=$|\\/$)`],...DEFAULT_REPLACER_SUFFIX],cache=Object.create(null),make_regex=(pattern,negative,ignorecase)=>{let r=cache[pattern];if(r)return r;let source=(negative?NEGATIVE_REPLACERS:POSITIVE_REPLACERS).reduce((prev,current)=>prev.replace(current[0],current[1].bind(pattern)),pattern);return cache[pattern]=ignorecase?new RegExp(source,"i"):new RegExp(source)},checkPattern=pattern=>pattern&&typeof pattern=="string"&&!REGEX_BLANK_LINE.test(pattern)&&pattern.indexOf("#")!==0,createRule=(pattern,ignorecase)=>{let origin=pattern,negative=!1;pattern.indexOf("!")===0&&(negative=!0,pattern=pattern.substr(1)),pattern=pattern.replace(REGEX_LEADING_EXCAPED_EXCLAMATION,"!").replace(REGEX_LEADING_EXCAPED_HASH,"#");let regex=make_regex(pattern,negative,ignorecase);return{origin,pattern,negative,regex}},IgnoreBase=class{constructor({ignorecase=!0}={}){this._rules=[],this._ignorecase=ignorecase,define2(this,KEY_IGNORE,!0),this._initCache()}_initCache(){this._cache=Object.create(null)}add(pattern){return this._added=!1,typeof pattern=="string"&&(pattern=pattern.split(/\r?\n/g)),make_array(pattern).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(pattern){return this.add(pattern)}_addPattern(pattern){if(pattern&&pattern[KEY_IGNORE]){this._rules=this._rules.concat(pattern._rules),this._added=!0;return}if(checkPattern(pattern)){let rule=createRule(pattern,this._ignorecase);this._added=!0,this._rules.push(rule)}}filter(paths){return make_array(paths).filter(path2=>this._filter(path2))}createFilter(){return path2=>this._filter(path2)}ignores(path2){return!this._filter(path2)}_filter(path2,slices){return path2?path2 in this._cache?this._cache[path2]:(slices||(slices=path2.split(SLASH)),slices.pop(),this._cache[path2]=slices.length?this._filter(slices.join(SLASH)+SLASH,slices)&&this._test(path2):this._test(path2)):!1}_test(path2){let matched=0;return this._rules.forEach(rule=>{matched^rule.negative||(matched=rule.negative^rule.regex.test(path2))}),!matched}};if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let filter=IgnoreBase.prototype._filter,make_posix=str=>/^\\\\\?\\/.test(str)||/[^\x00-\x80]+/.test(str)?str:str.replace(/\\/g,"/");IgnoreBase.prototype._filter=function(path2,slices){return path2=make_posix(path2),filter.call(this,path2,slices)}}module.exports=options=>new IgnoreBase(options)}});var require_package=__commonJS({"../client/package.json"(exports,module){module.exports={name:"@vercel/client",version:"18.11.1-snapshot-c4002eb2617b",main:"dist/index.js",typings:"dist/index.d.ts",homepage:"https://vercel.com",license:"Apache-2.0",files:["dist"],repository:{type:"git",url:"https://github.com/vercel/vercel.git",directory:"packages/client"},scripts:{build:"node ../../utils/build.mjs",test:"vitest run --config ./vitest.config.mts","test-e2e":"vitest run --config ./vitest.config.mts tests/integration-","type-check":"tsc --noEmit","test-unit":"vitest run --config ./vitest.config.mts tests/unit."},engines:{node:">= 20"},devDependencies:{"@types/async-retry":"1.4.5","@types/fs-extra":"7.0.0","@types/minimatch":"3.0.5","@types/ms":"0.7.30","@types/node":"20.11.0","@types/recursive-readdir":"2.2.0","@types/tar-fs":"1.16.1",vitest:"4.1.10"},dependencies:{"@vercel/build-utils":"workspace:*","@vercel/error-utils":"workspace:*","@vercel/microfrontends":"2.4.0","@vercel/routing-utils":"workspace:*","async-retry":"1.2.3","async-sema":"3.0.0","fs-extra":"8.0.1",ignore:"4.0.6",minimatch:"5.0.1",ms:"2.1.2",querystring:"^0.2.0","sleep-promise":"8.0.1","tar-fs":"1.16.3"}}}});var require_pkg=__commonJS({"../client/dist/pkg.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),pkg_exports={};__export(pkg_exports,{pkgVersion:()=>pkgVersion});module.exports=__toCommonJS(pkg_exports);var pkg=require_package(),pkgVersion=pkg.version}});var require_readdir_recursive=__commonJS({"../client/dist/utils/readdir-recursive.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),readdir_recursive_exports={};__export(readdir_recursive_exports,{default:()=>readdir});module.exports=__toCommonJS(readdir_recursive_exports);var import_fs5=__toESM2(__require("fs")),import_path9=__toESM2(__require("path")),import_minimatch=__toESM2(require_minimatch());function patternMatcher(pattern){return function(path2,stats){let minimatcher=new import_minimatch.default.Minimatch(pattern,{matchBase:!0});return(!minimatcher.negate||stats.isFile())&&minimatcher.match(path2)}}function toMatcherFunction(ignoreEntry){return typeof ignoreEntry=="function"?ignoreEntry:patternMatcher(ignoreEntry)}function readdir(path2,ignores){ignores=ignores.map(toMatcherFunction);let list=[];return new Promise(function(resolve6,reject){import_fs5.default.readdir(path2,function(err,files){if(err)return reject(err);let pending=files.length;if(!pending)return resolve6(list);files.forEach(function(file){let filePath=import_path9.default.join(path2,file);import_fs5.default.lstat(filePath,function(_err,stats){if(_err)return reject(_err);if(ignores.some(matcher=>matcher(filePath,stats)))return pending-=1,pending?null:resolve6(list);if(stats.isDirectory())readdir(filePath,ignores).then(function(res){if(res.length===0&&list.push(filePath),list=list.concat(res),pending-=1,!pending)return resolve6(list)}).catch(reject);else if(list.push(filePath),pending-=1,!pending)return resolve6(list)})})})})}}});var require_dpop=__commonJS({"../client/dist/utils/dpop.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),dpop_exports={};__export(dpop_exports,{DPOP_CLOCK_SKEW_TOLERANCE_SECONDS:()=>DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3,getDpopServerTime:()=>getDpopServerTime3,shouldResendDpopRequest:()=>shouldResendDpopRequest3});module.exports=__toCommonJS(dpop_exports);var DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3=30;function getDpopServerTime3(headers){let date=headers.get("date"),serverTime=date?Date.parse(date):Number.NaN;return Number.isNaN(serverTime)?void 0:serverTime/1e3}function iatOf(proof){try{let payload=JSON.parse(Buffer.from(proof?.split(".")[1]??"","base64url").toString());return typeof payload?.iat=="number"?payload.iat:void 0}catch{return}}async function shouldResendDpopRequest3(response,proof){if(!proof)return!1;let error=await dpopErrorOf(response);if(error==="use_dpop_nonce")return!!response.headers.get("dpop-nonce");if(error==="invalid_dpop_proof"){let iat=iatOf(proof),serverTime=getDpopServerTime3(response.headers);return iat!==void 0&&serverTime!==void 0&&Math.abs(serverTime-iat)>DPOP_CLOCK_SKEW_TOLERANCE_SECONDS3}return!1}async function dpopErrorOf(response){if(response.status===401){let challenge=response.headers.get("www-authenticate")??"";return/\berror="([^"]*)"/i.exec(challenge)?.[1]}if(response.status===400)try{let json=await response.clone().json();return typeof json=="object"&&json!==null&&"error"in json&&typeof json.error=="string"?json.error:void 0}catch{return}}}});var require_utils3=__commonJS({"../client/dist/utils/index.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),utils_exports={};__export(utils_exports,{API_FILES:()=>API_FILES,EVENTS:()=>EVENTS,buildFileTree:()=>buildFileTree2,createDebug:()=>createDebug,fetchApi:()=>fetchApi,getApiDeploymentsUrl:()=>getApiDeploymentsUrl,getVercelIgnore:()=>getVercelIgnore2,needsNewDpopProof:()=>needsNewDpopProof,parseVercelConfig:()=>parseVercelConfig,prepareFiles:()=>prepareFiles,shouldInlineStaticFiles:()=>shouldInlineStaticFiles});module.exports=__toCommonJS(utils_exports);var import_network_error=require_network_error(),import_path9=__require("path"),import_stream=__require("stream"),import_url2=__require("url"),import_ignore=__toESM2(require_ignore()),import_pkg2=require_pkg(),import_build_utils3=__require("@vercel/build-utils"),import_async_sema=require_lib4(),import_fs_extra6=require_lib3(),import_readdir_recursive=__toESM2(require_readdir_recursive()),import_dpop4=require_dpop(),semaphore=new import_async_sema.Sema(10),API_FILES="/v2/files",EVENTS_ARRAY=["hashes-calculated","file-count","file-uploaded","all-files-uploaded","created","building","ready","alias-assigned","warning","error","notice","tip","canceled","checks-registered","checks-completed","checks-running","checks-conclusion-succeeded","checks-conclusion-failed","checks-conclusion-skipped","checks-conclusion-canceled","checks-v2-failed"],EVENTS=new Set(EVENTS_ARRAY);function getApiDeploymentsUrl(){return"/v13/deployments"}async function parseVercelConfig(filePath){if(!filePath)return{};try{let jsonString=await(0,import_fs_extra6.readFile)(filePath,"utf8");return JSON.parse(jsonString)}catch(e){return console.error(e),{}}}var maybeRead=async function(path2,default_){try{return await(0,import_fs_extra6.readFile)(path2,"utf8")}catch{return default_}};async function getUserIgnore(cwd){let[vercelignore,nowignore]=await Promise.all([maybeRead((0,import_path9.join)(cwd,".vercelignore"),""),maybeRead((0,import_path9.join)(cwd,".nowignore"),"")]);if(vercelignore&&nowignore)throw new import_build_utils3.NowBuildError({code:"CONFLICTING_IGNORE_FILES",message:"Cannot use both a `.vercelignore` and `.nowignore` file. Please delete the `.nowignore` file.",link:"https://vercel.link/combining-old-and-new-config"});let ignoreFile=vercelignore||nowignore;return ignoreFile?{ig:(0,import_ignore.default)().add(clearRelative(ignoreFile)),ignoreFile,ignoreFileName:vercelignore?".vercelignore":".nowignore"}:null}var VCS_DEFAULTS=[".hg",".git",".gitmodules",".svn","CVS"],filePathMapVcsDefaults=(0,import_ignore.default)().add(VCS_DEFAULTS),FILEPATHMAP_VERCELIGNORE_EXCEPTIONS=["node_modules",".next",".yarn/cache",".pnp*",".venv","venv","__pycache__","/target"],filePathMapVercelignoreExceptions=(0,import_ignore.default)().add(FILEPATHMAP_VERCELIGNORE_EXCEPTIONS.join(`
20
20
  `));function isFilePathMapIgnoreException(posixRel){return filePathMapVercelignoreExceptions.ignores(posixRel)}var FILEPATHMAP_IGNORE_WARNING_LIST_LIMIT=100;function findMatchingIgnoreRule(ignoreFile,posixRel){let matcher=(0,import_ignore.default)(),wasIgnored=!1,match={};for(let[index,rule]of ignoreFile.split(/\r?\n/).entries()){matcher.add(clearRelative(rule));let isIgnored=matcher.ignores(posixRel);!wasIgnored&&isIgnored?match={rule,line:index+1}:wasIgnored&&!isIgnored&&(match={}),wasIgnored=isIgnored}return match}function formatFilePathMapIgnoreWarning(entries,ignoreFileName,truncated=!1){let shown=entries.slice(0,FILEPATHMAP_IGNORE_WARNING_LIST_LIMIT),lines=shown.map(({path:path2,rule,line})=>rule&&line?` ${path2} (matched \`${ignoreFileName}:${line}\`: \`${rule}\`)`:` ${path2}`);truncated&&lines.push(" \u2026and more");let count=truncated?`at least ${shown.length}`:String(entries.length),fileWord=!truncated&&entries.length===1?"file":"files";return[`${ignoreFileName===".nowignore"?`\`${ignoreFileName}\` (deprecated)`:`\`${ignoreFileName}\``} excludes ${count} ${fileWord} the prebuilt functions need. Uploading without them may fail with ENOENT.`,"",...lines,"",`Remove the colliding rules from \`${ignoreFileName}\`, or exclude those paths from tracing with \`outputFileTracingExcludes\`.`].join(`
21
21
  `)}async function buildFileTree2(path2,{isDirectory:isDirectory2,prebuilt,vercelOutputDir,rootDirectory,projectName,bulkRedirectsPath},debug){let ignoreList=[],fileList,warning,{ig,ignores}=await getVercelIgnore2(path2,prebuilt,vercelOutputDir);if(debug(`Found ${ignores.length} rules in .vercelignore`),debug("Building file tree..."),isDirectory2&&!Array.isArray(path2)){let ignores2=absPath=>{let rel=(0,import_path9.relative)(path2,absPath),ignored=ig.ignores(rel);return ignored&&ignoreList.push(rel),ignored};fileList=await(0,import_readdir_recursive.default)(path2,[ignores2]);let refs=new Set;if(prebuilt){let vcConfigFilePaths=fileList.filter(file=>(0,import_path9.basename)(file)===".vc-config.json"),userIg=await getUserIgnore(path2),ignoredFilePathMap=new Map,ignoredFilePathMapTruncated=!1,vcConfigs=await Promise.all(vcConfigFilePaths.map(async p=>{let configJson=await(0,import_fs_extra6.readFile)(p,"utf8");return JSON.parse(configJson)}));for(let config2 of vcConfigs)if(config2.filePathMap)for(let v of Object.values(config2.filePathMap)){let absPath=(0,import_path9.join)(path2,v),rel=(0,import_path9.relative)(path2,absPath),posixRel=rel.split(import_path9.sep).join("/");if(rel.startsWith("..")||(0,import_path9.isAbsolute)(rel)){debug(`Ignoring "filePathMap" entry "${v}": resolves outside the deployment root`);continue}if(filePathMapVcsDefaults.ignores(posixRel))throw new import_build_utils3.NowBuildError({code:"PREBUILT_FILEPATHMAP_VCS",message:"Prebuilt functions reference version-control files that cannot be uploaded. Exclude version-control files from tracing and rebuild the prebuilt output."});if(userIg&&userIg.ig.ignores(posixRel))if(isFilePathMapIgnoreException(posixRel))debug(`Keeping "filePathMap" entry "${v}": matches a default-ignored dependency/output path`);else{if(ignoredFilePathMap.has(posixRel))continue;if(fileList.includes(absPath)){debug(`Skipping "filePathMap" entry "${v}": already in the upload set`);continue}else if(ignoredFilePathMap.size>=FILEPATHMAP_IGNORE_WARNING_LIST_LIMIT){ignoredFilePathMapTruncated=!0;continue}else{ignoredFilePathMap.set(posixRel,findMatchingIgnoreRule(userIg.ignoreFile,posixRel));continue}}refs.add(absPath)}if(ignoredFilePathMap.size>0){let violations=[...ignoredFilePathMap.entries()].sort(([a],[b])=>a.localeCompare(b)).map(([ignoredPath,match])=>({path:ignoredPath,...match}));warning=formatFilePathMapIgnoreWarning(violations,userIg?.ignoreFileName||".vercelignore",ignoredFilePathMapTruncated)}try{let{findConfig:findMicrofrontendsConfig,inferMicrofrontendsLocation}=await import("./utils-IQZEE4DT.js"),customConfigFilename=void 0,microfrontendConfigPath=findMicrofrontendsConfig({dir:(0,import_path9.join)(path2,rootDirectory||""),customConfigFilename});!microfrontendConfigPath&&!rootDirectory&&projectName&&(microfrontendConfigPath=findMicrofrontendsConfig({dir:inferMicrofrontendsLocation({repositoryRoot:path2,applicationContext:{name:projectName},customConfigFilename}),customConfigFilename})),microfrontendConfigPath&&refs.add(microfrontendConfigPath)}catch(e){debug(`Error detecting microfrontend config: ${e}`)}}try{let routesJsonPath=(0,import_path9.join)(path2,".vercel","routes.json");await maybeRead(routesJsonPath,null)!==null&&(refs.add(routesJsonPath),debug("Including .vercel/routes.json in deployment"))}catch(e){debug(`Error checking for .vercel/routes.json: ${e}`)}if(prebuilt&&bulkRedirectsPath)try{let projectRoot=path2,bulkRedirectsFullPath=(0,import_path9.join)(projectRoot,rootDirectory||"",bulkRedirectsPath);if((0,import_path9.relative)(projectRoot,bulkRedirectsFullPath).startsWith(".."))debug(`Skipping bulk redirects path "${bulkRedirectsPath}" - path traversal detected (resolves outside project root)`);else try{let stats=await(0,import_fs_extra6.stat)(bulkRedirectsFullPath);if(stats.isDirectory()){let dirFiles=await(0,import_readdir_recursive.default)(bulkRedirectsFullPath,[]);for(let file of dirFiles)refs.add(file);debug(`Including ${dirFiles.length} files from bulk redirects directory "${bulkRedirectsPath}" in deployment`)}else stats.isFile()&&(refs.add(bulkRedirectsFullPath),debug(`Including bulk redirects file "${bulkRedirectsPath}" in deployment`))}catch{debug(`Bulk redirects path "${bulkRedirectsPath}" not found`)}}catch(e){debug(`Error checking for bulk redirects path: ${e}`)}refs.size>0&&(fileList=fileList.concat(Array.from(refs))),debug(`Found ${fileList.length} files in the specified directory`)}else Array.isArray(path2)?(fileList=path2,debug(`Assigned ${fileList.length} files provided explicitly`)):(fileList=[path2],debug("Deploying the provided path as single file"));return{fileList,ignoreList,warning}}async function getVercelIgnore2(cwd,prebuilt,vercelOutputDir){let ig=(0,import_ignore.default)(),ignores;if(prebuilt){if(typeof vercelOutputDir!="string")throw new Error('Missing required `vercelOutputDir` parameter when "prebuilt" is true');if(typeof cwd!="string")throw new Error('`cwd` must be a "string"');let relOutputDir=(0,import_path9.relative)(cwd,vercelOutputDir);ignores=["*"];let parts=relOutputDir.split(import_path9.sep);parts.forEach((_,i)=>{let level=parts.slice(0,i+1).join("/");ignores.push(`!/${level}`)}),ignores.push(`!/${parts.join("/")}/**`),ig.add(ignores.join(`
22
22
  `))}else{ignores=[...VCS_DEFAULTS,".cache",".next",".now",".vercel",".npmignore",".dockerignore",".gitignore",".*.swp",".DS_Store",".wafpicke-*",".lock-wscript",".env.local",".env.*.local",".venv",".yarn/cache",".pnp*","npm-debug.log","config.gypi","node_modules","__pycache__","venv"];let cwds=Array.isArray(cwd)?cwd:[cwd],files=await Promise.all(cwds.map(async cwd2=>{let[vercelignore,nowignore]=await Promise.all([maybeRead((0,import_path9.join)(cwd2,".vercelignore"),""),maybeRead((0,import_path9.join)(cwd2,".nowignore"),"")]);if(vercelignore&&nowignore)throw new import_build_utils3.NowBuildError({code:"CONFLICTING_IGNORE_FILES",message:"Cannot use both a `.vercelignore` and `.nowignore` file. Please delete the `.nowignore` file.",link:"https://vercel.link/combining-old-and-new-config"});return vercelignore||nowignore}));(await Promise.all(cwds.map(cwd2=>(0,import_fs_extra6.pathExists)((0,import_path9.join)(cwd2,"Cargo.toml"))))).some(Boolean)&&ignores.push("/target");let ignoreFile=files.join(`
23
23
  `);ig.add(`${ignores.join(`
24
24
  `)}
25
- ${clearRelative(ignoreFile)}`)}return{ig,ignores}}function clearRelative(str){return str.replace(/(\n|^)\.\//g,"$1")}var needsNewDpopProofResponses=new WeakSet;function needsNewDpopProof(res){return needsNewDpopProofResponses.has(res)}var fetchApi=async(url,token,opts={},debugEnabled)=>{let debug=createDebug(debugEnabled),time,{apiUrl,teamId,userAgent:userAgent2=`client-v${import_pkg3.pkgVersion}`,getAuthHeaders,headers,...init}=opts;url=`${apiUrl||"https://api.vercel.com"}${url}`;let{VERCEL_TEAM_ID}=process.env;if(VERCEL_TEAM_ID&&(url+=`${url.includes("?")?"&":"?"}teamId=${VERCEL_TEAM_ID}`),teamId){let parsedUrl2=new import_url2.URL(url);parsedUrl2.searchParams.set("teamId",teamId),url=parsedUrl2.toString()}let buildRequest=async()=>{let authHeaders=getAuthHeaders?await getAuthHeaders(init.method||"GET",url):{authorization:`Bearer ${token}`};return{proof:getAuthHeaders?authHeaders.dpop:void 0,request:{...init,headers:{...headers,...authHeaders,accept:"application/json","user-agent":userAgent2},...init.body instanceof import_stream.Readable&&{duplex:"half"}}}},{request,proof}=await buildRequest(),parsedUrl=new import_url2.URL(url),label=`${init.method||"GET"} ${parsedUrl.origin}${parsedUrl.pathname}`;debug(label),semaphore.acquire(),time=Date.now();try{let res=await fetch(url,request),resend=await(0,import_dpop4.shouldResendDpopRequest)(res,proof);getAuthHeaders?.onResponse?.(url,res.headers),resend&&init.body instanceof import_stream.Readable?needsNewDpopProofResponses.add(res):resend&&(await res.body?.cancel(),res=await fetch(url,(await buildRequest()).request),getAuthHeaders?.onResponse?.(url,res.headers));let requestId=res.headers.get("x-vercel-id"),id=requestId&&/^[a-zA-Z0-9:_.-]{1,200}$/.test(requestId)?` requestId=${requestId}`:"";return debug(`DONE in ${Date.now()-time}ms: ${label} status=${res.status}${id}`),res}catch(error){throw debug(`FAILED in ${Date.now()-time}ms: ${label} ${(0,import_network_error.formatNetworkError)(error)}`),error}finally{semaphore.release()}},isWin=process.platform.includes("win"),INLINE_STATIC_EXTENSIONS=[".html",".htm",".md"],MAX_INLINE_FILES=10,MAX_INLINE_TOTAL_BYTES=5*1024*1024,S_IFREG=32768,S_IFMT=61440;function shouldInlineStaticFiles(files){let count=0,totalBytes=0;for(let file of files.values()){if((file.mode&S_IFMT)!==S_IFREG||!file.data)return!1;for(let name of file.names){let lower=name.toLowerCase();if(!INLINE_STATIC_EXTENSIONS.some(ext=>lower.endsWith(ext)))return!1;count+=1,totalBytes+=file.data.byteLength}}return count>0&&count<=MAX_INLINE_FILES&&totalBytes<=MAX_INLINE_TOTAL_BYTES}var prepareFiles=(files,clientOptions)=>{let preparedFiles=[],inlineStaticFiles=shouldInlineStaticFiles(files);for(let[sha,file]of files)for(let name of file.names){let fileName;if(clientOptions.isDirectory)fileName=typeof clientOptions.path=="string"?(0,import_path9.relative)(clientOptions.path,name):name;else{let segments=name.split(import_path9.sep);fileName=segments[segments.length-1]}let normalizedName=isWin?fileName.replace(/\\/g,"/"):fileName;if(inlineStaticFiles&&file.data){preparedFiles.push({file:normalizedName,data:file.data.toString("base64"),encoding:"base64",mode:file.mode});continue}preparedFiles.push({file:normalizedName,size:file.data?.byteLength??file.size,mode:file.mode,sha:sha||void 0})}return preparedFiles};function createDebug(debug){return debug?(...logs)=>{process.stderr.write([`[client-debug] ${new Date().toISOString()}`,...logs].join(" ")+`
26
- `)}:()=>{}}}});var require_get_polling_delay=__commonJS({"../client/dist/utils/get-polling-delay.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),get_polling_delay_exports={};__export(get_polling_delay_exports,{getPollingDelay:()=>getPollingDelay});module.exports=__toCommonJS(get_polling_delay_exports);var import_ms=__toESM2(require_ms());function getPollingDelay(elapsed){return elapsed<=(0,import_ms.default)("15s")?(0,import_ms.default)("1s"):elapsed<=(0,import_ms.default)("1m")?(0,import_ms.default)("5s"):elapsed<=(0,import_ms.default)("5m")?(0,import_ms.default)("15s"):(0,import_ms.default)("30s")}}});var require_check_deployment_status=__commonJS({"../client/dist/check-deployment-status.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),check_deployment_status_exports={};__export(check_deployment_status_exports,{checkDeploymentStatus:()=>checkDeploymentStatus2,parseRetryAfterMs:()=>parseRetryAfterMs});module.exports=__toCommonJS(check_deployment_status_exports);var import_sleep_promise=__toESM2(require_cjs()),import_errors=require_errors(),import_network_error=require_network_error(),import_utils=require_utils3(),import_get_polling_delay=require_get_polling_delay(),import_ready_state=require_ready_state(),import_utils2=require_utils3(),RETRY_COUNT=5,RETRY_DELAY_MAX_MS=6e4,RETRY_DELAY_MIN_MS=5e3,RETRY_DELAY_SKEW_MS=3e4,RETRY_DELAY_DEFAULT_MS=5e3;function getAliasAssignedEvent(signal,deploymentId){if(!signal?.aborted)return;let event=signal.reason;if(event?.type==="alias-assigned"&&event.deploymentId===deploymentId&&typeof event.date=="number"&&Array.isArray(event.alias)&&"aliasError"in event&&"aliasWarning"in event)return event}async function sleepUntilAliasAssigned(duration,signal,deploymentId){if(!getAliasAssignedEvent(signal,deploymentId)){if(!signal||signal.aborted){await(0,import_sleep_promise.default)(duration);return}await new Promise(resolve6=>{let timeout=setTimeout(finish,duration);function finish(){clearTimeout(timeout),signal?.removeEventListener("abort",onAbort),resolve6()}function onAbort(){getAliasAssignedEvent(signal,deploymentId)&&finish()}signal.addEventListener("abort",onAbort,{once:!0})})}}function parseRetryAfterMs(response){if(response.status===429||response.status===503){let header=response.headers.get("Retry-After");if(header==null)return RETRY_DELAY_DEFAULT_MS;let retryAfterMs=Number(header)*1e3;if(Number.isNaN(retryAfterMs)){let retryAfterDateMs=Date.parse(header);Number.isNaN(retryAfterDateMs)?retryAfterMs=RETRY_DELAY_DEFAULT_MS:retryAfterMs=retryAfterDateMs-Date.now()}return Math.min(RETRY_DELAY_MAX_MS,Math.max(RETRY_DELAY_MIN_MS,retryAfterMs))}else return response.status>=500&&response.status<=599?RETRY_DELAY_DEFAULT_MS:null}async function*checkDeploymentStatus2(deployment,clientOptions){let{token,teamId,apiUrl,userAgent:userAgent2}=clientOptions,debug=(0,import_utils2.createDebug)(clientOptions.debug),deploymentState=deployment,deploymentId=deployment.id||deployment.deploymentId,aliasAssignedSignal=clientOptions.aliasAssignedSignal,apiDeployments=(0,import_utils.getApiDeploymentsUrl)();if((0,import_ready_state.isDone)(deploymentState)&&(0,import_ready_state.isAliasAssigned)(deploymentState)){debug("Deployment is already READY and aliases are assigned. Not running status checks");return}debug("Waiting for builds and the deployment to complete...");let finishedEvents=new Set,startTime=Date.now();polling:for(;;){let aliasAssignedEvent=getAliasAssignedEvent(aliasAssignedSignal,deploymentId);if(aliasAssignedEvent)return deploymentState={...deploymentState,readyState:"READY",aliasAssigned:aliasAssignedEvent.date,alias:aliasAssignedEvent.alias,aliasError:aliasAssignedEvent.aliasError,aliasWarning:aliasAssignedEvent.aliasWarning},finishedEvents.has("ready")||(debug("Deployment state changed to READY"),finishedEvents.add("ready"),yield{type:"ready",payload:deploymentState}),debug("Deployment alias assigned from event stream"),yield{type:"alias-assigned",payload:deploymentState};let deploymentResponse,deploymentUpdate,retriesLeft=RETRY_COUNT;for(;;){try{deploymentResponse=await(0,import_utils.fetchApi)(`${apiDeployments}/${deploymentId}${teamId?`?teamId=${teamId}`:""}`,token,{apiUrl,userAgent:userAgent2,dispatcher:clientOptions.dispatcher,getAuthHeaders:clientOptions.getAuthHeaders,signal:aliasAssignedSignal},clientOptions.debug),(parseRetryAfterMs(deploymentResponse)==null||retriesLeft===1)&&(deploymentUpdate=await deploymentResponse.json())}catch(error){if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;if(aliasAssignedSignal?.aborted){aliasAssignedSignal=void 0;continue polling}if(!(0,import_network_error.isRetryableNetworkError)(error))throw error;if(retriesLeft--,debug(`Deployment status request failed (${retriesLeft} attempts remaining): ${(0,import_network_error.formatNetworkError)(error)}`),retriesLeft===0)throw Object.assign(new import_errors.DeploymentError({code:"deployment_status_unavailable",message:`Could not confirm the status of deployment ${deploymentId}. The deployment may still complete. Run 'vercel inspect ${deploymentId}' to check its status.`}),{cause:error});if(await sleepUntilAliasAssigned(RETRY_DELAY_DEFAULT_MS,aliasAssignedSignal,deploymentId),getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;continue}if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;if(retriesLeft--,retriesLeft==0)break;let retryAfterMs=parseRetryAfterMs(deploymentResponse);if(retryAfterMs!=null){let randomSkewMs=Math.floor(RETRY_DELAY_SKEW_MS*Math.random());if(debug(`Received a transient error or rate limit (HTTP ${deploymentResponse.status}) while querying deployment status, retrying after ${retryAfterMs+randomSkewMs}ms (${retryAfterMs} + ${randomSkewMs}ms of random skew)`),await sleepUntilAliasAssigned(retryAfterMs+randomSkewMs,aliasAssignedSignal,deploymentId),getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;continue}break}if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue;if(deploymentUpdate.error)return debug("Deployment status check has errorred"),yield{type:"error",payload:deploymentUpdate.error};if(deploymentState=deploymentUpdate,deploymentUpdate.readyState==="BUILDING"&&!finishedEvents.has("building")&&(debug("Deployment state changed to BUILDING"),finishedEvents.add("building"),yield{type:"building",payload:deploymentUpdate}),deploymentUpdate.readyState==="CANCELED"&&!finishedEvents.has("canceled")&&(debug("Deployment state changed to CANCELED"),finishedEvents.add("canceled"),yield{type:"canceled",payload:deploymentUpdate}),(0,import_ready_state.isReady)(deploymentUpdate)&&!finishedEvents.has("ready")&&(debug("Deployment state changed to READY"),finishedEvents.add("ready"),yield{type:"ready",payload:deploymentUpdate}),deploymentUpdate.checksState!==void 0&&(deploymentUpdate.checksState==="completed"&&!finishedEvents.has("checks-completed")&&(finishedEvents.add("checks-completed"),deploymentUpdate.checksConclusion==="succeeded"?yield{type:"checks-conclusion-succeeded",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="failed"?yield{type:"checks-conclusion-failed",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="skipped"?yield{type:"checks-conclusion-skipped",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="canceled"&&(yield{type:"checks-conclusion-canceled",payload:deploymentUpdate})),deploymentUpdate.checksState==="registered"&&!finishedEvents.has("checks-registered")&&(finishedEvents.add("checks-registered"),yield{type:"checks-registered",payload:deploymentUpdate}),deploymentUpdate.checksState==="running"&&!finishedEvents.has("checks-running")&&(finishedEvents.add("checks-running"),yield{type:"checks-running",payload:deploymentUpdate})),deploymentUpdate.checks?.["deployment-alias"]?.state==="failed"&&!finishedEvents.has("checks-v2-failed"))return debug("v2 deployment-alias check failed"),finishedEvents.add("checks-v2-failed"),yield{type:"checks-v2-failed",payload:deploymentUpdate};if((0,import_ready_state.isAliasAssigned)(deploymentUpdate))return debug("Deployment alias assigned"),yield{type:"alias-assigned",payload:deploymentUpdate};if((0,import_ready_state.isAliasError)(deploymentUpdate))return yield{type:"error",payload:deploymentUpdate.aliasError};if(deploymentUpdate.readyState==="ERROR"&&deploymentUpdate.errorCode==="BUILD_FAILED")return yield{type:"error",payload:deploymentUpdate};if((0,import_ready_state.isFailed)(deploymentUpdate))return yield{type:"error",payload:deploymentUpdate.error||deploymentUpdate};let elapsed=Date.now()-startTime,duration=(0,import_get_polling_delay.getPollingDelay)(elapsed);await sleepUntilAliasAssigned(duration,aliasAssignedSignal,deploymentId)}}}});var require_deploy=__commonJS({"../client/dist/deploy.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),deploy_exports={};__export(deploy_exports,{deploy:()=>deploy});module.exports=__toCommonJS(deploy_exports);var import_query_string=require_query_string(),import_ready_state=require_ready_state(),import_check_deployment_status=require_check_deployment_status(),import_utils=require_utils3();async function*postDeployment(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug),preparedFiles=(0,import_utils.prepareFiles)(files,clientOptions),apiDeployments=(0,import_utils.getApiDeploymentsUrl)();deploymentOptions?.builds&&!deploymentOptions.functions&&(clientOptions.skipAutoDetectionConfirmation=!0),deploymentOptions.target==="preview"&&(deploymentOptions.target=void 0),deploymentOptions.target&&deploymentOptions.target!=="production"&&(deploymentOptions.customEnvironmentSlugOrId=deploymentOptions.target,deploymentOptions.target=void 0),debug("Sending deployment creation API request");try{let response=await(0,import_utils.fetchApi)(`${apiDeployments}${(0,import_query_string.generateQueryString)(clientOptions)}`,clientOptions.token,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({...deploymentOptions,files:preparedFiles}),apiUrl:clientOptions.apiUrl,userAgent:clientOptions.userAgent,dispatcher:clientOptions.dispatcher,getAuthHeaders:clientOptions.getAuthHeaders}),deployment;try{deployment=await response.json()}catch{throw new Error("Invalid JSON response")}if(clientOptions.debug&&debug("Deployment response:",JSON.stringify(deployment)),!response.ok||deployment.error)return debug("Error: Deployment request status is",response.status),yield{type:"error",payload:deployment.error?{...deployment.error,status:response.status}:{...deployment,status:response.status}};let indications=new Set(["warning","notice","tip"]),regex=/^x-(?:vercel|now)-(warning|notice|tip)-(.*)$/;for(let[name,payload]of response.headers.entries()){let match=name.match(regex);if(match){let[,type,identifier]=match,action=response.headers.get(`x-vercel-action-${identifier}`),link=response.headers.get(`x-vercel-link-${identifier}`);indications.has(type)&&(debug(`Deployment created with a ${type}: `,payload),yield{type,payload,action,link})}}yield{type:"created",payload:deployment}}catch(e){return yield{type:"error",payload:e}}}function getDefaultName(files,clientOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug),{isDirectory:isDirectory2,path:path2}=clientOptions;if(isDirectory2&&typeof path2=="string")return debug("Provided path is a directory. Using last segment as default name"),path2.split("/").pop()||path2;{debug("Provided path is not a directory. Using last segment of the first file as default name");let filePath=Array.from(files.values())[0].names[0];return filePath.split("/").pop()||filePath}}async function*deploy(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug);!deploymentOptions.name&&files.size>0&&(deploymentOptions.version=2,deploymentOptions.name=files.size===1?"file":getDefaultName(files,clientOptions),deploymentOptions.name==="file"&&debug('Setting deployment name to "file" for single-file deployment')),!deploymentOptions.name&&files.size>0&&(deploymentOptions.name=clientOptions.defaultName||getDefaultName(files,clientOptions),debug("No name provided. Defaulting to",deploymentOptions.name)),clientOptions.withCache&&debug("'withCache' is provided. Force deploy will be performed with cache retention");let deployment;try{debug("Creating deployment");for await(let event of postDeployment(files,clientOptions,deploymentOptions))event.type==="created"&&(debug("Deployment created"),deployment=event.payload),yield event}catch(e){return debug("An unexpected error occurred when creating the deployment"),yield{type:"error",payload:e}}if(clientOptions.manual){debug("Manual mode - skipping ready state check");return}if(deployment){if((0,import_ready_state.isReady)(deployment)&&(0,import_ready_state.isAliasAssigned)(deployment))return debug("Deployment state changed to READY 3"),yield{type:"ready",payload:deployment},debug("Deployment alias assigned"),yield{type:"alias-assigned",payload:deployment};try{debug("Waiting for deployment to be ready...");for await(let event of(0,import_check_deployment_status.checkDeploymentStatus)(deployment,clientOptions))yield event}catch(e){return debug("An unexpected error occurred while waiting for deployment to be ready"),yield{type:"error",payload:e}}}}}});var require_retry_operation2=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry_operation.js"(exports,module){function RetryOperation(timeouts,options){typeof options=="boolean"&&(options={forever:options}),this._originalTimeouts=JSON.parse(JSON.stringify(timeouts)),this._timeouts=timeouts,this._options=options||{},this._maxRetryTime=options&&options.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}module.exports=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};RetryOperation.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};RetryOperation.prototype.retry=function(err){if(this._timeout&&clearTimeout(this._timeout),!err)return!1;var currentTime=new Date().getTime();if(err&&currentTime-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(err);var timeout=this._timeouts.shift();if(timeout===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),timeout=this._timeouts.shift();else return!1;var self=this,timer=setTimeout(function(){self._attempts++,self._operationTimeoutCb&&(self._timeout=setTimeout(function(){self._operationTimeoutCb(self._attempts)},self._operationTimeout),self._options.unref&&self._timeout.unref()),self._fn(self._attempts)},timeout);return this._options.unref&&timer.unref(),!0};RetryOperation.prototype.attempt=function(fn,timeoutOps){this._fn=fn,timeoutOps&&(timeoutOps.timeout&&(this._operationTimeout=timeoutOps.timeout),timeoutOps.cb&&(this._operationTimeoutCb=timeoutOps.cb));var self=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){self._operationTimeoutCb()},self._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};RetryOperation.prototype.try=function(fn){console.log("Using RetryOperation.try() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=function(fn){console.log("Using RetryOperation.start() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0)return null;for(var counts={},mainError=null,mainErrorCount=0,i=0;i<this._errors.length;i++){var error=this._errors[i],message=error.message,count=(counts[message]||0)+1;counts[message]=count,count>=mainErrorCount&&(mainError=error,mainErrorCount=count)}return mainError}}});var require_retry3=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry.js"(exports){var RetryOperation=require_retry_operation2();exports.operation=function(options){var timeouts=exports.timeouts(options);return new RetryOperation(timeouts,{forever:options&&options.forever,unref:options&&options.unref,maxRetryTime:options&&options.maxRetryTime})};exports.timeouts=function(options){if(options instanceof Array)return[].concat(options);var opts={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var key in options)opts[key]=options[key];if(opts.minTimeout>opts.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var timeouts=[],i=0;i<opts.retries;i++)timeouts.push(this.createTimeout(i,opts));return options&&options.forever&&!timeouts.length&&timeouts.push(this.createTimeout(i,opts)),timeouts.sort(function(a,b){return a-b}),timeouts};exports.createTimeout=function(attempt,opts){var random=opts.randomize?Math.random()+1:1,timeout=Math.round(random*opts.minTimeout*Math.pow(opts.factor,attempt));return timeout=Math.min(timeout,opts.maxTimeout),timeout};exports.wrap=function(obj,options,methods){if(options instanceof Array&&(methods=options,options=null),!methods){methods=[];for(var key in obj)typeof obj[key]=="function"&&methods.push(key)}for(var i=0;i<methods.length;i++){var method=methods[i],original=obj[method];obj[method]=function(original2){var op=exports.operation(options),args=Array.prototype.slice.call(arguments,1),callback=args.pop();args.push(function(err){op.retry(err)||(err&&(arguments[0]=op.mainError()),callback.apply(this,arguments))}),op.attempt(function(){original2.apply(obj,args)})}.bind(obj,original),obj[method].options=options}}}});var require_retry4=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/index.js"(exports,module){module.exports=require_retry3()}});var require_lib5=__commonJS({"../../node_modules/.pnpm/async-retry@1.2.3/node_modules/async-retry/lib/index.js"(exports,module){var retrier=require_retry4();function retry2(fn,opts){function run(resolve6,reject){var options=opts||{},op=retrier.operation(options);function bail(err){reject(err||new Error("Aborted"))}function onError(err,num){if(err.bail){bail(err);return}op.retry(err)?options.onRetry&&options.onRetry(err,num):reject(op.mainError())}function runAttempt(num){var val;try{val=fn(bail,num)}catch(err){onError(err,num);return}Promise.resolve(val).then(resolve6).catch(function(err){onError(err,num)})}op.attempt(runAttempt)}return new Promise(run)}module.exports=retry2}});var require_upload=__commonJS({"../client/dist/upload.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),upload_exports={};__export(upload_exports,{UploadProgress:()=>UploadProgress,upload:()=>upload,uploadFiles:()=>uploadFiles});module.exports=__toCommonJS(upload_exports);var import_fs5=__require("fs"),import_stream=__require("stream"),import_node_events=__require("node:events"),import_async_retry2=__toESM2(require_lib5()),import_async_sema=require_lib4(),import_utils=require_utils3(),import_errors=require_errors(),import_network_error=require_network_error(),import_deploy=require_deploy();async function*upload(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug);if(!files&&!clientOptions.token&&!clientOptions.teamId){debug("Neither 'files', 'token' nor 'teamId are present. Exiting");return}let shas=[];debug("Determining necessary files for upload...");for await(let event of(0,import_deploy.deploy)(files,clientOptions,deploymentOptions))if(event.type==="error")if(event.payload.code==="missing_files")shas=event.payload.missing,debug(`${shas.length} files are required to upload`);else return yield event;else{if(event.type==="alias-assigned"||event.type==="checks-v2-failed")return debug(event.type==="alias-assigned"?"Deployment succeeded on file check":"v2 deployment-alias check failed on file check"),yield event;yield event}let uploads=shas.map(sha=>new UploadProgress(sha,files.get(sha)));yield{type:"file-count",payload:{total:files,missing:shas,uploads}};let uploadGenerator=uploadFiles({dispatcher:clientOptions.dispatcher,apiUrl:clientOptions.apiUrl,debug:clientOptions.debug,teamId:clientOptions.teamId,token:clientOptions.token,getAuthHeaders:clientOptions.getAuthHeaders,userAgent:clientOptions.userAgent,files,shas,uploads});for await(let event of uploadGenerator){if(event.type==="error")return yield event;yield event}debug("All files uploaded"),yield{type:"all-files-uploaded",payload:files};try{debug("Starting deployment creation");for await(let event of(0,import_deploy.deploy)(files,clientOptions,deploymentOptions)){if(event.type==="alias-assigned"||event.type==="checks-v2-failed")return debug("Deployment is ready"),yield event;yield event}}catch(e){debug("An unexpected error occurred when starting deployment creation"),yield{type:"error",payload:e}}}async function*uploadFiles(options){let debug=(0,import_utils.createDebug)(options.debug),uploadList={};debug("Building an upload list...");let semaphore=new import_async_sema.Sema(50,{capacity:50}),abortControllers=new Set,aborted=!1;for(options.shas.forEach((sha,index)=>{let uploadProgress=options.uploads[index];uploadList[sha]=(0,import_async_retry2.default)(async bail=>{let file=options.files.get(sha);if(!file)return debug(`File ${sha} is undefined. Bailing`),bail(new Error(`File ${sha} is undefined`));if(await semaphore.acquire(),aborted)return semaphore.release(),bail(new Error("Upload aborted"));let{data,size,names}=file;uploadProgress.bytesUploaded=0;let body,contentLength,counter=new import_stream.Transform({transform(chunk,_encoding,callback){uploadProgress.bytesUploaded+=chunk.length,uploadProgress.emit("progress"),callback(null,chunk)}});if(typeof data<"u"){contentLength=data.length;let chunkSize=16384;function*chunks(){for(let i=0;i<data.length;i+=chunkSize)yield data.slice(i,i+chunkSize)}let buffered=import_stream.Readable.from(chunks());buffered.on("error",err2=>counter.destroy(err2)),body=buffered.pipe(counter)}else if(typeof size=="number"){contentLength=size;let fileStream=(0,import_fs5.createReadStream)(names[0]);fileStream.on("error",err2=>counter.destroy(err2)),counter.on("close",()=>fileStream.destroy()),body=fileStream.pipe(counter)}else{semaphore.release();return}let err,result,retryableServerError=!1,abortController=new AbortController;abortControllers.add(abortController);try{let res=await(0,import_utils.fetchApi)(import_utils.API_FILES,options.token,{dispatcher:options.dispatcher,method:"POST",headers:{"Content-Type":"application/octet-stream","Content-Length":String(contentLength),"x-now-digest":sha,"x-now-size":String(contentLength)},body,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,getAuthHeaders:options.getAuthHeaders,signal:abortController.signal},options.debug);if(res.status===200)debug(`File ${sha} (${file.names[0]}${file.names.length>1?` +${file.names.length}`:""}) uploaded`),result={type:"file-uploaded",payload:{sha,file}};else{if((0,import_utils.needsNewDpopProof)(res))throw retryableServerError=!0,new Error("The server rejected the DPoP proof for its nonce or time.");if(res.status>200&&res.status<500){debug("An internal error occurred in upload request. Not retrying...");let{error}=await res.json();err=new import_errors.DeploymentError(error)}else{retryableServerError=res.status>=500&&res.status<=599,debug("A server error occurred in upload request. Retrying...");let{error}=await res.json();throw new import_errors.DeploymentError(error)}}}catch(e){debug(`Upload failed: ${(0,import_network_error.formatNetworkError)(e)}`),err=e instanceof Error?e:new Error(String(e))}if(semaphore.release(),err){if(retryableServerError||(0,import_network_error.isRetryableNetworkError)(err))throw debug(`Transient upload failure, retrying: ${(0,import_network_error.formatNetworkError)(err)}`),err;return debug(`Upload failed without retry: ${(0,import_network_error.formatNetworkError)(err)}`),aborted||(aborted=!0,abortControllers.forEach(controller=>controller.abort())),bail(err)}return abortControllers.delete(abortController),result},{retries:5,factor:6,minTimeout:10})}),debug("Starting upload");Object.keys(uploadList).length>0;)try{let event=await Promise.race(Object.values(uploadList));delete uploadList[event.payload.sha],yield event}catch(e){return yield{type:"error",payload:e}}}var UploadProgress=class extends import_node_events.EventEmitter{constructor(sha,file){super(),this.sha=sha,this.file=file,this.bytesUploaded=0}}}});var require_tar_fs=__commonJS({"../../node_modules/.pnpm/tar-fs@1.16.3/node_modules/tar-fs/index.js"(exports){var chownr=require_chownr(),tar=require_tar_stream(),pump=require_pump(),mkdirp=require_mkdirp(),fs4=__require("fs"),path2=__require("path"),os3=__require("os"),win32=os3.platform()==="win32",noop=function(){},echo=function(name){return name},normalize=win32?function(name){return name.replace(/\\/g,"/").replace(/[:?<>|]/g,"_")}:echo,statAll=function(fs5,stat2,cwd,ignore,entries,sort){var queue=entries||["."];return function(callback){if(!queue.length)return callback();var next=queue.shift(),nextAbs=path2.join(cwd,next);stat2(nextAbs,function(err,stat3){if(err)return callback(err);if(!stat3.isDirectory())return callback(null,next,stat3);fs5.readdir(nextAbs,function(err2,files){if(err2)return callback(err2);sort&&files.sort();for(var i=0;i<files.length;i++)ignore(path2.join(cwd,next,files[i]))||queue.push(path2.join(next,files[i]));callback(null,next,stat3)})})}},strip=function(map,level){return function(header){header.name=header.name.split("/").slice(level).join("/");var linkname=header.linkname;return linkname&&(header.type==="link"||path2.isAbsolute(linkname))&&(header.linkname=linkname.split("/").slice(level).join("/")),map(header)}};exports.pack=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs4,ignore=opts.ignore||opts.filter||noop,map=opts.map||noop,mapStream=opts.mapStream||echo,statNext=statAll(xfs,opts.dereference?xfs.stat:xfs.lstat,cwd,ignore,opts.entries,opts.sort),strict=opts.strict!==!1,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,pack=opts.pack||tar.pack(),finish=opts.finish||noop;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var onsymlink=function(filename,header){xfs.readlink(path2.join(cwd,filename),function(err,linkname){if(err)return pack.destroy(err);header.linkname=normalize(linkname),pack.entry(header,onnextentry)})},onstat=function(err,filename,stat2){if(err)return pack.destroy(err);if(!filename)return opts.finalize!==!1&&pack.finalize(),finish(pack);if(stat2.isSocket())return onnextentry();var header={name:normalize(filename),mode:(stat2.mode|(stat2.isDirectory()?dmode:fmode))&umask,mtime:stat2.mtime,size:stat2.size,type:"file",uid:stat2.uid,gid:stat2.gid};if(stat2.isDirectory())return header.size=0,header.type="directory",header=map(header)||header,pack.entry(header,onnextentry);if(stat2.isSymbolicLink())return header.size=0,header.type="symlink",header=map(header)||header,onsymlink(filename,header);if(header=map(header)||header,!stat2.isFile())return strict?pack.destroy(new Error("unsupported type for "+filename)):onnextentry();var entry=pack.entry(header,onnextentry);if(entry){var rs=mapStream(xfs.createReadStream(path2.join(cwd,filename)),header);rs.on("error",function(err2){entry.destroy(err2)}),pump(rs,entry)}},onnextentry=function(err){if(err)return pack.destroy(err);statNext(onstat)};return onnextentry(),pack};var head=function(list){return list.length?list[list.length-1]:null},processGetuid=function(){return process.getuid?process.getuid():-1},processUmask=function(){return process.umask?process.umask():0};exports.extract=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs4,ignore=opts.ignore||opts.filter||noop,map=opts.map||noop,mapStream=opts.mapStream||echo,own=opts.chown!==!1&&!win32&&processGetuid()===0,extract=opts.extract||tar.extract(),stack=[],now=new Date,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,strict=opts.strict!==!1;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var utimesParent=function(name,cb){for(var top;(top=head(stack))&&name.slice(0,top[0].length)!==top[0];)stack.pop();if(!top)return cb();xfs.utimes(top[0],now,top[1],cb)},utimes=function(name,header,cb){if(opts.utimes===!1)return cb();if(header.type==="directory")return xfs.utimes(name,now,header.mtime,cb);if(header.type==="symlink")return utimesParent(name,cb);xfs.utimes(name,now,header.mtime,function(err){if(err)return cb(err);utimesParent(name,cb)})},chperm=function(name,header,cb){var link=header.type==="symlink",chmod=link?xfs.lchmod:xfs.chmod,chown=link?xfs.lchown:xfs.chown;if(!chmod)return cb();var mode=(header.mode|(header.type==="directory"?dmode:fmode))&umask;chmod(name,mode,function(err){if(err)return cb(err);if(!own||!chown)return cb();chown(name,header.uid,header.gid,cb)})};return extract.on("entry",function(header,stream,next){header=map(header)||header,header.name=normalize(header.name);var name=path2.join(cwd,path2.join("/",header.name));if(ignore(name,header))return stream.resume(),next();var stat2=function(err){if(err)return next(err);utimes(name,header,function(err2){if(err2)return next(err2);if(win32)return next();chperm(name,header,next)})},onsymlink=function(){if(win32)return next();xfs.unlink(name,function(){xfs.symlink(header.linkname,name,stat2)})},onlink=function(){if(win32)return next();xfs.unlink(name,function(){var srcpath=path2.join(cwd,path2.join("/",header.linkname));xfs.link(srcpath,name,function(err){if(err&&err.code==="EPERM"&&opts.hardlinkAsFilesFallback)return stream=xfs.createReadStream(srcpath),onfile();stat2(err)})})},onfile=function(){var ws=xfs.createWriteStream(name),rs=mapStream(stream,header);ws.on("error",function(err){rs.destroy(err)}),pump(rs,ws,function(err){if(err)return next(err);ws.on("close",stat2)})};if(header.type==="directory")return stack.push([name,header.mtime]),mkdirfix(name,{fs:xfs,own,uid:header.uid,gid:header.gid},stat2);var dir=path2.dirname(name);validate(xfs,dir,path2.join(cwd,"."),function(err,valid){if(err)return next(err);if(!valid)return next(new Error(dir+" is not a valid path"));mkdirfix(dir,{fs:xfs,own,uid:header.uid,gid:header.gid},function(err2){if(err2)return next(err2);switch(header.type){case"file":return onfile();case"link":return onlink();case"symlink":return onsymlink()}if(strict)return next(new Error("unsupported type for "+name+" ("+header.type+")"));stream.resume(),next()})})}),opts.finish&&extract.on("finish",opts.finish),extract};function validate(fs5,name,root,cb){if(name===root)return cb(null,!0);fs5.lstat(name,function(err,st){if(err&&err.code!=="ENOENT")return cb(err);if(err||st.isDirectory())return validate(fs5,path2.join(name,".."),root,cb);cb(null,!1)})}function mkdirfix(name,opts,cb){mkdirp(name,{fs:opts.fs},function(err,made){!err&&made&&opts.own?chownr(made,opts.uid,opts.gid,cb):cb(err)})}}});var require_archive=__commonJS({"../client/dist/utils/archive.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),archive_exports={};__export(archive_exports,{createTgzFiles:()=>createTgzFiles});module.exports=__toCommonJS(archive_exports);var import_node_path4=__require("node:path"),import_node_zlib=__require("node:zlib"),import_build_utils3=__require("@vercel/build-utils"),import_tar_fs=__toESM2(require_tar_fs()),import_hashes=require_hashes();async function createTgzFiles(workPath,fileList,debug,exclude){let filesToArchive=exclude?fileList.filter(file=>!exclude.includes(file)):fileList;debug?.("Packing tarball");let tarStream=import_tar_fs.default.pack(workPath,{entries:filesToArchive.map(file=>(0,import_node_path4.relative)(workPath,file)),ignore:()=>!0}).pipe((0,import_node_zlib.createGzip)()),chunkedTarBuffers=await(0,import_build_utils3.streamToBufferChunks)(tarStream);return debug?.(`Packed tarball into ${chunkedTarBuffers.length} chunks`),new Map(chunkedTarBuffers.map((chunk,index)=>[(0,import_hashes.hash)(chunk),{names:[(0,import_node_path4.join)(workPath,`.vercel/source.tgz.part${index+1}`)],data:chunk,mode:438}]))}}});var require_collect_deployment_files=__commonJS({"../client/dist/collect-deployment-files.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),collect_deployment_files_exports={};__export(collect_deployment_files_exports,{assertDeploymentPath:()=>assertDeploymentPath,collectDeploymentFiles:()=>collectDeploymentFiles});module.exports=__toCommonJS(collect_deployment_files_exports);var import_error_utils6=require_dist(),import_fs_extra6=require_lib3(),import_path9=__require("path"),import_errors=require_errors(),import_utils=require_utils3(),import_archive=require_archive(),import_hashes=require_hashes();function assertDeploymentPath(path2,debug){if(typeof path2!="string"&&!Array.isArray(path2))throw debug(`Error: 'path' is expected to be a string or an array. Received ${typeof path2}`),new import_errors.DeploymentError({code:"missing_path",message:"Path not provided"})}async function collectDeploymentFiles(path2,clientOptions,debug){assertDeploymentPath(path2,debug);let isDirectory2=!Array.isArray(path2)&&(0,import_fs_extra6.lstatSync)(path2).isDirectory();if(clientOptions.isDirectory=isDirectory2,Array.isArray(path2)){for(let filePath of path2)if(!(0,import_path9.isAbsolute)(filePath))throw new import_errors.DeploymentError({code:"invalid_path",message:`Provided path ${filePath} is not absolute`})}else if(!(0,import_path9.isAbsolute)(path2))throw new import_errors.DeploymentError({code:"invalid_path",message:`Provided path ${path2} is not absolute`});isDirectory2&&!Array.isArray(path2)?debug("Provided 'path' is a directory."):Array.isArray(path2)?debug("Provided 'path' is an array of file paths"):debug("Provided 'path' is a single file");let{fileList,ignoreList,warning}=await(0,import_utils.buildFileTree)(path2,clientOptions,debug),workPath=typeof path2=="string"?path2:path2[0],filesMap;try{filesMap=clientOptions.archive==="tgz"?await(0,import_archive.createTgzFiles)(workPath,fileList,debug):await(0,import_hashes.hashes)(fileList)}catch(err){if(clientOptions.prebuilt&&(0,import_error_utils6.isErrnoException)(err)&&err.code==="ENOENT"&&err.path){let errPath=(0,import_path9.relative)(workPath,err.path);err.message=`File does not exist: "${(0,import_path9.relative)(workPath,errPath)}"`,errPath.split(import_path9.sep).includes("node_modules")&&(err.message=`Please ensure project dependencies have been installed:
27
- ${err.message}`)}throw err}return{fileList,filesMap,workPath,isDirectory:isDirectory2,ignoreList,warning}}}});var require_create_deployment=__commonJS({"../client/dist/create-deployment.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),create_deployment_exports={};__export(create_deployment_exports,{default:()=>buildCreateDeployment});module.exports=__toCommonJS(create_deployment_exports);var import_hashes=require_hashes(),import_deploy=require_deploy(),import_upload=require_upload(),import_utils=require_utils3(),import_errors=require_errors(),import_collect_deployment_files=require_collect_deployment_files();function buildCreateDeployment(){return async function*(clientOptions,deploymentOptions={}){let options=Promise.resolve(deploymentOptions);options.catch(()=>{});let{path:path2}=clientOptions,debug=(0,import_utils.createDebug)(clientOptions.debug);if(debug("Creating deployment..."),(0,import_collect_deployment_files.assertDeploymentPath)(path2,debug),typeof clientOptions.token!="string")throw debug(`Error: 'token' is expected to be a string. Received ${typeof clientOptions.token}`),new import_errors.DeploymentError({code:"token_not_provided",message:"Options object must include a `token`"});if(clientOptions.manual){if(debug("Manual provisioning mode enabled"),!clientOptions.prebuilt)throw new import_errors.DeploymentError({code:"invalid_options",message:"The `manual` option requires `prebuilt` to be true"});let deploymentOptions2=await options;deploymentOptions2.build=deploymentOptions2.build||{},deploymentOptions2.build.env=deploymentOptions2.build.env||{},deploymentOptions2.build.env.VERCEL_MANUAL_PROVISIONING="1",deploymentOptions2.version=2,debug("Creating deployment with manual provisioning..."),yield*(0,import_deploy.deploy)(new Map,clientOptions,deploymentOptions2);return}let{fileList,filesMap:files,warning}=await(0,import_collect_deployment_files.collectDeploymentFiles)(path2,clientOptions,debug);warning&&(debug("Yielding a prebuilt filePathMap ignore warning"),yield{type:"warning",payload:warning,code:"PREBUILT_FILEPATHMAP_IGNORED"}),fileList.length===0&&(debug("Deployment path has no files. Yielding a warning event"),yield{type:"warning",payload:"There are no files inside your deployment."}),debug(`Yielding a 'hashes-calculated' event with ${files.size} hashes`),yield{type:"hashes-calculated",payload:(0,import_hashes.mapToObject)(files)},clientOptions.apiUrl&&debug(`Using provided API URL: ${clientOptions.apiUrl}`),clientOptions.userAgent&&debug(`Using provided user agent: ${clientOptions.userAgent}`);let resolvedOptions=await options;debug("Setting platform version to harcoded value 2"),resolvedOptions.version=2,debug("Creating the deployment and starting upload...");for await(let event of(0,import_upload.upload)(files,clientOptions,resolvedOptions))debug(`Yielding a '${event.type}' event`),yield event}}}});var require_continue=__commonJS({"../client/dist/continue.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),continue_exports={};__export(continue_exports,{continueDeployment:()=>continueDeployment2});module.exports=__toCommonJS(continue_exports);var import_path9=__require("path"),import_fs_extra6=__toESM2(require_lib3()),import_network_error=require_network_error(),import_check_deployment_status=require_check_deployment_status(),import_utils=require_utils3(),import_hashes=require_hashes(),import_ready_state=require_ready_state(),import_upload=require_upload(),import_errors=require_errors(),import_archive=require_archive();async function*continueDeployment2(options){let debug=(0,import_utils.createDebug)(options.debug);debug(`Continuing deployment: ${options.deploymentId}`);let outputDir=options.vercelOutputDir||(0,import_path9.join)(options.path,".vercel","output");if(!await import_fs_extra6.default.pathExists(outputDir))return yield{type:"error",payload:new import_errors.DeploymentError({code:"output_dir_not_found",message:`Output directory not found at ${outputDir}. Run 'vercel build' first.`})};let{fileList,warning}=await(0,import_utils.buildFileTree)(options.path,{isDirectory:!0,prebuilt:!0,vercelOutputDir:outputDir},debug);warning&&(debug("Yielding a prebuilt filePathMap ignore warning"),yield{type:"warning",payload:warning,code:"PREBUILT_FILEPATHMAP_IGNORED"});let provisionJsonPath=(0,import_path9.join)(outputDir,"provision.json"),unbundledFiles=fileList.filter(f=>f===provisionJsonPath),files;if(options.archive==="tgz"){if(files=await(0,import_archive.createTgzFiles)(options.path,fileList,debug,unbundledFiles),unbundledFiles.length>0){let individualFiles=await(0,import_hashes.hashes)(unbundledFiles);for(let[sha,entry]of individualFiles)files.set(sha,entry)}}else files=await(0,import_hashes.hashes)(fileList);debug(`Calculated ${files.size} unique hashes`),yield{type:"hashes-calculated",payload:(0,import_hashes.mapToObject)(files)};let deployment,result=await postContinue({deploymentId:options.deploymentId,files,outputDir,path:options.path,token:options.token,getAuthHeaders:options.getAuthHeaders,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,debug:options.debug});if(result.type==="missing_files"){debug(`Uploading ${result.missing.length} missing files...`);let uploads=result.missing.map(sha=>new import_upload.UploadProgress(sha,files.get(sha)));yield{type:"file-count",payload:{total:files,missing:result.missing,uploads}};for await(let event of(0,import_upload.uploadFiles)({dispatcher:options.dispatcher,apiUrl:options.apiUrl,debug:options.debug,teamId:options.teamId,token:options.token,getAuthHeaders:options.getAuthHeaders,userAgent:options.userAgent,shas:result.missing,files,uploads})){if(event.type==="error")return yield event;yield event}if(yield{type:"all-files-uploaded",payload:files},result=await postContinue({deploymentId:options.deploymentId,files,outputDir,path:options.path,token:options.token,getAuthHeaders:options.getAuthHeaders,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,debug:options.debug}),result.type==="missing_files")return yield{type:"error",payload:{code:"missing_files",message:"Missing files",missing:result.missing}}}if(result.type==="error")return yield{type:"error",payload:result.error};if(result.type==="success"&&(deployment=result.deployment,yield{type:"created",payload:deployment}),!deployment)return yield{type:"error",payload:new import_errors.DeploymentError({code:"continue_failed",message:"Failed to continue deployment after uploading files"})};if((0,import_ready_state.isReady)(deployment)&&(0,import_ready_state.isAliasAssigned)(deployment))return yield{type:"ready",payload:deployment},yield{type:"alias-assigned",payload:deployment};yield*(0,import_check_deployment_status.checkDeploymentStatus)(deployment,{dispatcher:options.dispatcher,apiUrl:options.apiUrl,debug:options.debug,path:options.path,teamId:options.teamId,token:options.token,getAuthHeaders:options.getAuthHeaders,userAgent:options.userAgent})}async function postContinue(options){try{return await postContinueOnce(options)}catch(error){throw(0,import_network_error.isRetryableNetworkError)(error)?Object.assign(new import_errors.DeploymentError({code:"deployment_continue_unavailable",message:`Could not confirm whether deployment ${options.deploymentId} was resumed. Run 'vercel inspect ${options.deploymentId}' to check its status before retrying.`}),{cause:error}):error}}async function postContinueOnce(options){let debug=(0,import_utils.createDebug)(options.debug);debug(`Calling continue deployment endpoint for ${options.deploymentId}`);let response=await(0,import_utils.fetchApi)(`/deployments/${options.deploymentId}/continue${options.teamId?`?teamId=${options.teamId}`:""}`,options.token,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:(0,import_utils.prepareFiles)(options.files,{isDirectory:!0,path:options.path,token:options.token})}),apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,getAuthHeaders:options.getAuthHeaders},options.debug),result;try{result=await response.json()}catch(error){if((0,import_network_error.isRetryableNetworkError)(error))throw error;return{type:"error",error:new Error("Invalid JSON response from continue endpoint")}}return!response.ok||result.error?result.error?.code==="missing_files"||result.code==="missing_files"?(debug(`Continue deployment returned missing_files: ${(result.error?.missing||result.missing||[]).length} files`),{type:"missing_files",missing:result.error?.missing||result.missing||[]}):(debug("Continue deployment request failed"),{type:"error",error:result.error?{...result.error,status:response.status}:{...result,status:response.status}}):(debug("Continue deployment succeeded"),{type:"success",deployment:result})}}});var require_inspect_deployment_files=__commonJS({"../client/dist/inspect-deployment-files.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),inspect_deployment_files_exports={};__export(inspect_deployment_files_exports,{inspectDeploymentFiles:()=>inspectDeploymentFiles2});module.exports=__toCommonJS(inspect_deployment_files_exports);var import_path9=__require("path"),import_collect_deployment_files=require_collect_deployment_files(),import_utils=require_utils3();async function inspectDeploymentFiles2(clientOptions){let{path:path2}=clientOptions,debug=(0,import_utils.createDebug)(clientOptions.debug),{filesMap,workPath,isDirectory:isDirectory2,ignoreList,warning}=await(0,import_collect_deployment_files.collectDeploymentFiles)(path2,{...clientOptions},debug),files=[],totalSize=0;for(let[sha,file]of filesMap){let size=file.data?.byteLength||file.data?.length||0;for(let name of file.names){let deploymentFile={path:(isDirectory2?(0,import_path9.relative)(workPath,name):name.split(import_path9.sep).at(-1)||name).split(import_path9.sep).join("/"),size,mode:file.mode};typeof sha<"u"&&(deploymentFile.sha=sha),files.push(deploymentFile),totalSize+=size}}return files.sort((a,b)=>a.path.localeCompare(b.path)),{basePath:workPath,fileCount:files.length,totalSize,ignoredCount:ignoreList.length,files,ignored:ignoreList.sort(),warning}}}});var require_dist3=__commonJS({"../client/dist/index.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),src_exports={};__export(src_exports,{DPOP_CLOCK_SKEW_TOLERANCE_SECONDS:()=>import_dpop4.DPOP_CLOCK_SKEW_TOLERANCE_SECONDS,buildFileTree:()=>import_utils.buildFileTree,checkDeploymentStatus:()=>import_check_deployment_status.checkDeploymentStatus,continueDeployment:()=>import_continue.continueDeployment,createDeployment:()=>createDeployment,getDpopServerTime:()=>import_dpop4.getDpopServerTime,getVercelIgnore:()=>import_utils.getVercelIgnore,inspectDeploymentFiles:()=>import_inspect_deployment_files.inspectDeploymentFiles,shouldResendDpopRequest:()=>import_dpop4.shouldResendDpopRequest});module.exports=__toCommonJS(src_exports);var import_create_deployment=__toESM2(require_create_deployment()),import_continue=require_continue(),import_check_deployment_status=require_check_deployment_status(),import_inspect_deployment_files=require_inspect_deployment_files(),import_utils=require_utils3(),import_dpop4=require_dpop();__reExport(src_exports,require_errors(),module.exports);__reExport(src_exports,require_types(),module.exports);var createDeployment=(0,import_create_deployment.default)()}});import{homedir}from"os";import{resolve}from"path";function humanizePath(path2){let resolved=resolve(path2),_homedir=homedir();return resolved.indexOf(_homedir)===0?`~${resolved.slice(_homedir.length)}`:resolved}var import_chalk=__toESM(require_source(),1);function highlight(text){return import_chalk.default.bold.underline(text)}import os from"os";var ua_default=`${pkg_default.name} ${pkg_default.version} node-${process.version} ${os.platform()} (${os.arch()})`;async function getProjectByNameOrId(client,projectNameOrId,accountId,includeRollbackInfo){try{let qs=includeRollbackInfo?"?rollbackInfo=true":"";return await client.fetch(`/v9/projects/${encodeURIComponent(projectNameOrId)}${qs}`,{accountId})}catch(err){if(isAPIError(err)&&err.status===404)return new ProjectNotFound(projectNameOrId);throw err}}import fs from"node:fs";function isDirectory(targetPath){try{return fs.lstatSync(targetPath).isDirectory()}catch{return!1}}var import_which=__toESM(require_lib(),1);import{accessSync,constants}from"node:fs";import{platform}from"node:os";import{delimiter,isAbsolute,resolve as resolve2}from"node:path";import{execFile}from"node:child_process";function execFileAsync(file,args,options={}){return new Promise((resolve6,reject)=>{execFile(file,args,{...options,encoding:"utf8"},(error,stdout,stderr)=>{error?reject(Object.assign(error,{stdout,stderr})):resolve6({stdout,stderr})})})}var executables=new Map;function getGitExecutable(cwd){if(platform()!=="darwin")return Promise.resolve("git");let searchPath=(process.env.PATH??"/usr/bin:/bin").split(delimiter).map(directory=>resolve2(cwd,directory)).join(delimiter),key=JSON.stringify([searchPath,cwd,process.env.DEVELOPER_DIR,process.env.SDKROOT,process.env.TOOLCHAINS]),executable=executables.get(key);return executable||(executable=resolveExecutable(searchPath,cwd),executables.set(key,executable)),executable}async function resolveExecutable(searchPath,cwd){try{if(import_which.default.sync("git",{path:searchPath,nothrow:!0})!=="/usr/bin/git")return"git";let{stdout}=await execFileAsync("/usr/bin/xcrun",["--find","git"],{cwd}),executable=stdout.trim();if(isAbsolute(executable)&&executable!=="/usr/bin/git")return accessSync(executable,constants.X_OK),executable}catch{}return"git"}import{execFileSync}from"node:child_process";import{join,resolve as resolve3}from"node:path";var DEFAULT_GIT_EXEC_OPTS={unsafe:!1};function getGitRootDirectory(opts){let{cwd,unsafe}={...DEFAULT_GIT_EXEC_OPTS,...opts};try{return execFileSync("git",["rev-parse","--show-toplevel"],{cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch(error){if(unsafe)throw error;return null}}function getGitCommonDirectory(opts){let{cwd,unsafe}={...DEFAULT_GIT_EXEC_OPTS,...opts};try{return execFileSync("git",["rev-parse","--git-common-dir"],{cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch(error){if(unsafe)throw error;return null}}function getGitConfigPath(opts){let{cwd}={...DEFAULT_GIT_EXEC_OPTS,...opts},gitCommonDir=getGitCommonDirectory(opts);if(gitCommonDir===null)return null;let absoluteGitCommonDir=resolve3(cwd,gitCommonDir);return join(absoluteGitCommonDir,"config")}var import_fs_extra=__toESM(require_lib2(),1),import_ini=__toESM(require_ini(),1),import_error_utils=__toESM(require_dist(),1);import{join as join2,relative,resolve as resolve4}from"path";import{execFile as execFile2}from"child_process";async function createGitMeta(directory,project){let git=await getGitExecutable(directory),metadata=Promise.allSettled([getLastCommit(directory,git),isDirty(directory)]),gitRoot,branch;try{let{stdout,stderr}=await execFileAsync(git,["rev-parse","--show-toplevel","--abbrev-ref","HEAD"],{cwd:directory});if(stderr.trim())throw new Error(stderr);let lines=stdout.trim().split(/\r?\n/);branch=lines.pop(),gitRoot=lines.join(`
25
+ ${clearRelative(ignoreFile)}`)}return{ig,ignores}}function clearRelative(str){return str.replace(/(\n|^)\.\//g,"$1")}var needsNewDpopProofResponses=new WeakSet;function needsNewDpopProof(res){return needsNewDpopProofResponses.has(res)}var fetchApi=async(url,token,opts={},debugEnabled)=>{let debug=createDebug(debugEnabled),time,{apiUrl,teamId,userAgent:userAgent2=`client-v${import_pkg2.pkgVersion}`,getAuthHeaders,headers,...init}=opts;url=`${apiUrl||"https://api.vercel.com"}${url}`;let{VERCEL_TEAM_ID}=process.env;if(VERCEL_TEAM_ID&&(url+=`${url.includes("?")?"&":"?"}teamId=${VERCEL_TEAM_ID}`),teamId){let parsedUrl2=new import_url2.URL(url);parsedUrl2.searchParams.set("teamId",teamId),url=parsedUrl2.toString()}let buildRequest=async()=>{let authHeaders=getAuthHeaders?await getAuthHeaders(init.method||"GET",url):{authorization:`Bearer ${token}`};return{proof:getAuthHeaders?authHeaders.dpop:void 0,request:{...init,headers:{...headers,...authHeaders,accept:"application/json","user-agent":userAgent2},...init.body instanceof import_stream.Readable&&{duplex:"half"}}}},{request,proof}=await buildRequest(),parsedUrl=new import_url2.URL(url),label=`${init.method||"GET"} ${parsedUrl.origin}${parsedUrl.pathname}`;debug(label),semaphore.acquire(),time=Date.now();try{let res=await fetch(url,request),resend=await(0,import_dpop4.shouldResendDpopRequest)(res,proof);getAuthHeaders?.onResponse?.(url,res.headers),resend&&init.body instanceof import_stream.Readable?needsNewDpopProofResponses.add(res):resend&&(await res.body?.cancel(),res=await fetch(url,(await buildRequest()).request),getAuthHeaders?.onResponse?.(url,res.headers));let requestId=res.headers.get("x-vercel-id"),id=requestId&&/^[a-zA-Z0-9:_.-]{1,200}$/.test(requestId)?` requestId=${requestId}`:"";return debug(`DONE in ${Date.now()-time}ms: ${label} status=${res.status}${id}`),res}catch(error){throw debug(`FAILED in ${Date.now()-time}ms: ${label} ${(0,import_network_error.formatNetworkError)(error)}`),error}finally{semaphore.release()}},isWin=process.platform.includes("win"),INLINE_STATIC_EXTENSIONS=[".html",".htm",".md"],MAX_INLINE_FILES=10,MAX_INLINE_TOTAL_BYTES=5*1024*1024,S_IFREG=32768,S_IFMT=61440;function shouldInlineStaticFiles(files){let count=0,totalBytes=0;for(let file of files.values()){if((file.mode&S_IFMT)!==S_IFREG||!file.data)return!1;for(let name of file.names){let lower=name.toLowerCase();if(!INLINE_STATIC_EXTENSIONS.some(ext=>lower.endsWith(ext)))return!1;count+=1,totalBytes+=file.data.byteLength}}return count>0&&count<=MAX_INLINE_FILES&&totalBytes<=MAX_INLINE_TOTAL_BYTES}var prepareFiles=(files,clientOptions)=>{let preparedFiles=[],inlineStaticFiles=shouldInlineStaticFiles(files);for(let[sha,file]of files)for(let name of file.names){let fileName;if(clientOptions.isDirectory)fileName=typeof clientOptions.path=="string"?(0,import_path9.relative)(clientOptions.path,name):name;else{let segments=name.split(import_path9.sep);fileName=segments[segments.length-1]}let normalizedName=isWin?fileName.replace(/\\/g,"/"):fileName;if(inlineStaticFiles&&file.data){preparedFiles.push({file:normalizedName,data:file.data.toString("base64"),encoding:"base64",mode:file.mode});continue}preparedFiles.push({file:normalizedName,size:file.data?.byteLength??file.size,mode:file.mode,sha:sha||void 0})}return preparedFiles};function createDebug(debug){return debug?(...logs)=>{process.stderr.write([`[client-debug] ${new Date().toISOString()}`,...logs].join(" ")+`
26
+ `)}:()=>{}}}});var require_get_polling_delay=__commonJS({"../client/dist/utils/get-polling-delay.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),get_polling_delay_exports={};__export(get_polling_delay_exports,{getPollingDelay:()=>getPollingDelay});module.exports=__toCommonJS(get_polling_delay_exports);var import_ms=__toESM2(require_ms());function getPollingDelay(elapsed){return elapsed<=(0,import_ms.default)("15s")?(0,import_ms.default)("1s"):elapsed<=(0,import_ms.default)("1m")?(0,import_ms.default)("5s"):elapsed<=(0,import_ms.default)("5m")?(0,import_ms.default)("15s"):(0,import_ms.default)("30s")}}});var require_check_deployment_status=__commonJS({"../client/dist/check-deployment-status.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),check_deployment_status_exports={};__export(check_deployment_status_exports,{checkDeploymentStatus:()=>checkDeploymentStatus2,parseRetryAfterMs:()=>parseRetryAfterMs});module.exports=__toCommonJS(check_deployment_status_exports);var import_sleep_promise=__toESM2(require_cjs()),import_errors=require_errors(),import_network_error=require_network_error(),import_utils=require_utils3(),import_get_polling_delay=require_get_polling_delay(),import_ready_state=require_ready_state(),import_utils2=require_utils3(),RETRY_COUNT=5,RETRY_DELAY_MAX_MS=6e4,RETRY_DELAY_MIN_MS=5e3,RETRY_DELAY_SKEW_MS=3e4,RETRY_DELAY_DEFAULT_MS=5e3;function getAliasAssignedEvent(signal,deploymentId){if(!signal?.aborted)return;let event=signal.reason;if(event?.type==="alias-assigned"&&event.deploymentId===deploymentId&&typeof event.date=="number"&&Array.isArray(event.alias)&&"aliasError"in event&&"aliasWarning"in event)return event}async function sleepUntilAliasAssigned(duration,signal,deploymentId){if(!getAliasAssignedEvent(signal,deploymentId)){if(!signal||signal.aborted){await(0,import_sleep_promise.default)(duration);return}await new Promise(resolve6=>{let timeout=setTimeout(finish,duration);function finish(){clearTimeout(timeout),signal?.removeEventListener("abort",onAbort),resolve6()}function onAbort(){getAliasAssignedEvent(signal,deploymentId)&&finish()}signal.addEventListener("abort",onAbort,{once:!0})})}}function parseRetryAfterMs(response){if(response.status===429||response.status===503){let header=response.headers.get("Retry-After");if(header==null)return RETRY_DELAY_DEFAULT_MS;let retryAfterMs=Number(header)*1e3;if(Number.isNaN(retryAfterMs)){let retryAfterDateMs=Date.parse(header);Number.isNaN(retryAfterDateMs)?retryAfterMs=RETRY_DELAY_DEFAULT_MS:retryAfterMs=retryAfterDateMs-Date.now()}return Math.min(RETRY_DELAY_MAX_MS,Math.max(RETRY_DELAY_MIN_MS,retryAfterMs))}else return response.status>=500&&response.status<=599?RETRY_DELAY_DEFAULT_MS:null}async function*checkDeploymentStatus2(deployment,clientOptions){let{token,teamId,apiUrl,userAgent:userAgent2}=clientOptions,debug=(0,import_utils2.createDebug)(clientOptions.debug),deploymentState=deployment,deploymentId=deployment.id||deployment.deploymentId,aliasAssignedSignal=clientOptions.aliasAssignedSignal,apiDeployments=(0,import_utils.getApiDeploymentsUrl)();if((0,import_ready_state.isDone)(deploymentState)&&(0,import_ready_state.isAliasAssigned)(deploymentState)){debug("Deployment is already READY and aliases are assigned. Not running status checks");return}debug("Waiting for builds and the deployment to complete...");let finishedEvents=new Set,startTime=Date.now();polling:for(;;){let aliasAssignedEvent=getAliasAssignedEvent(aliasAssignedSignal,deploymentId);if(aliasAssignedEvent)return deploymentState={...deploymentState,readyState:"READY",aliasAssigned:aliasAssignedEvent.date,alias:aliasAssignedEvent.alias,aliasError:aliasAssignedEvent.aliasError,aliasWarning:aliasAssignedEvent.aliasWarning},finishedEvents.has("ready")||(debug("Deployment state changed to READY"),finishedEvents.add("ready"),yield{type:"ready",payload:deploymentState}),debug("Deployment alias assigned from event stream"),yield{type:"alias-assigned",payload:deploymentState};let deploymentResponse,deploymentUpdate,retriesLeft=RETRY_COUNT;for(;;){try{deploymentResponse=await(0,import_utils.fetchApi)(`${apiDeployments}/${deploymentId}${teamId?`?teamId=${teamId}`:""}`,token,{apiUrl,userAgent:userAgent2,dispatcher:clientOptions.dispatcher,getAuthHeaders:clientOptions.getAuthHeaders,signal:aliasAssignedSignal},clientOptions.debug),(parseRetryAfterMs(deploymentResponse)==null||retriesLeft===1)&&(deploymentUpdate=await deploymentResponse.json())}catch(error){if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;if(aliasAssignedSignal?.aborted){aliasAssignedSignal=void 0;continue polling}if(!(0,import_network_error.isRetryableNetworkError)(error))throw error;if(retriesLeft--,debug(`Deployment status request failed (${retriesLeft} attempts remaining): ${(0,import_network_error.formatNetworkError)(error)}`),retriesLeft===0)throw Object.assign(new import_errors.DeploymentError({code:"deployment_status_unavailable",message:`Could not confirm the status of deployment ${deploymentId}. The deployment may still complete. Run 'vercel inspect ${deploymentId}' to check its status.`}),{cause:error});if(await sleepUntilAliasAssigned(RETRY_DELAY_DEFAULT_MS,aliasAssignedSignal,deploymentId),getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;continue}if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;if(retriesLeft--,retriesLeft==0)break;let retryAfterMs=parseRetryAfterMs(deploymentResponse);if(retryAfterMs!=null){let randomSkewMs=Math.floor(RETRY_DELAY_SKEW_MS*Math.random());if(debug(`Received a transient error or rate limit (HTTP ${deploymentResponse.status}) while querying deployment status, retrying after ${retryAfterMs+randomSkewMs}ms (${retryAfterMs} + ${randomSkewMs}ms of random skew)`),await sleepUntilAliasAssigned(retryAfterMs+randomSkewMs,aliasAssignedSignal,deploymentId),getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue polling;continue}break}if(getAliasAssignedEvent(aliasAssignedSignal,deploymentId))continue;if(deploymentUpdate.error)return debug("Deployment status check has errorred"),yield{type:"error",payload:deploymentUpdate.error};if(deploymentState=deploymentUpdate,deploymentUpdate.readyState==="BUILDING"&&!finishedEvents.has("building")&&(debug("Deployment state changed to BUILDING"),finishedEvents.add("building"),yield{type:"building",payload:deploymentUpdate}),deploymentUpdate.readyState==="CANCELED"&&!finishedEvents.has("canceled")&&(debug("Deployment state changed to CANCELED"),finishedEvents.add("canceled"),yield{type:"canceled",payload:deploymentUpdate}),(0,import_ready_state.isReady)(deploymentUpdate)&&!finishedEvents.has("ready")&&(debug("Deployment state changed to READY"),finishedEvents.add("ready"),yield{type:"ready",payload:deploymentUpdate}),deploymentUpdate.checksState!==void 0&&(deploymentUpdate.checksState==="completed"&&!finishedEvents.has("checks-completed")&&(finishedEvents.add("checks-completed"),deploymentUpdate.checksConclusion==="succeeded"?yield{type:"checks-conclusion-succeeded",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="failed"?yield{type:"checks-conclusion-failed",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="skipped"?yield{type:"checks-conclusion-skipped",payload:deploymentUpdate}:deploymentUpdate.checksConclusion==="canceled"&&(yield{type:"checks-conclusion-canceled",payload:deploymentUpdate})),deploymentUpdate.checksState==="registered"&&!finishedEvents.has("checks-registered")&&(finishedEvents.add("checks-registered"),yield{type:"checks-registered",payload:deploymentUpdate}),deploymentUpdate.checksState==="running"&&!finishedEvents.has("checks-running")&&(finishedEvents.add("checks-running"),yield{type:"checks-running",payload:deploymentUpdate})),deploymentUpdate.checks?.["deployment-alias"]?.state==="failed"&&!finishedEvents.has("checks-v2-failed"))return debug("v2 deployment-alias check failed"),finishedEvents.add("checks-v2-failed"),yield{type:"checks-v2-failed",payload:deploymentUpdate};if((0,import_ready_state.isAliasAssigned)(deploymentUpdate))return debug("Deployment alias assigned"),yield{type:"alias-assigned",payload:deploymentUpdate};if((0,import_ready_state.isAliasError)(deploymentUpdate))return yield{type:"error",payload:deploymentUpdate.aliasError};if(deploymentUpdate.readyState==="ERROR"&&deploymentUpdate.errorCode==="BUILD_FAILED")return yield{type:"error",payload:deploymentUpdate};if((0,import_ready_state.isFailed)(deploymentUpdate))return yield{type:"error",payload:deploymentUpdate.error||deploymentUpdate};let elapsed=Date.now()-startTime,duration=(0,import_get_polling_delay.getPollingDelay)(elapsed);await sleepUntilAliasAssigned(duration,aliasAssignedSignal,deploymentId)}}}});var require_deploy=__commonJS({"../client/dist/deploy.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),deploy_exports={};__export(deploy_exports,{deploy:()=>deploy});module.exports=__toCommonJS(deploy_exports);var import_query_string=require_query_string(),import_ready_state=require_ready_state(),import_check_deployment_status=require_check_deployment_status(),import_utils=require_utils3();async function*postDeployment(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug),preparedFiles=(0,import_utils.prepareFiles)(files,clientOptions),apiDeployments=(0,import_utils.getApiDeploymentsUrl)();deploymentOptions?.builds&&!deploymentOptions.functions&&(clientOptions.skipAutoDetectionConfirmation=!0),deploymentOptions.target==="preview"&&(deploymentOptions.target=void 0),deploymentOptions.target&&deploymentOptions.target!=="production"&&(deploymentOptions.customEnvironmentSlugOrId=deploymentOptions.target,deploymentOptions.target=void 0),debug("Sending deployment creation API request");try{let response=await(0,import_utils.fetchApi)(`${apiDeployments}${(0,import_query_string.generateQueryString)(clientOptions)}`,clientOptions.token,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({...deploymentOptions,files:preparedFiles}),apiUrl:clientOptions.apiUrl,userAgent:clientOptions.userAgent,dispatcher:clientOptions.dispatcher,getAuthHeaders:clientOptions.getAuthHeaders}),deployment;try{deployment=await response.json()}catch{throw new Error("Invalid JSON response")}if(clientOptions.debug&&debug("Deployment response:",JSON.stringify(deployment)),!response.ok||deployment.error)return debug("Error: Deployment request status is",response.status),yield{type:"error",payload:deployment.error?{...deployment.error,status:response.status}:{...deployment,status:response.status}};let indications=new Set(["warning","notice","tip"]),regex=/^x-(?:vercel|now)-(warning|notice|tip)-(.*)$/;for(let[name,payload]of response.headers.entries()){let match=name.match(regex);if(match){let[,type,identifier]=match,action=response.headers.get(`x-vercel-action-${identifier}`),link=response.headers.get(`x-vercel-link-${identifier}`);indications.has(type)&&(debug(`Deployment created with a ${type}: `,payload),yield{type,payload,action,link})}}yield{type:"created",payload:deployment}}catch(e){return yield{type:"error",payload:e}}}function getDefaultName(files,clientOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug),{isDirectory:isDirectory2,path:path2}=clientOptions;if(isDirectory2&&typeof path2=="string")return debug("Provided path is a directory. Using last segment as default name"),path2.split("/").pop()||path2;{debug("Provided path is not a directory. Using last segment of the first file as default name");let filePath=Array.from(files.values())[0].names[0];return filePath.split("/").pop()||filePath}}async function*deploy(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug);!deploymentOptions.name&&files.size>0&&(deploymentOptions.version=2,deploymentOptions.name=files.size===1?"file":getDefaultName(files,clientOptions),deploymentOptions.name==="file"&&debug('Setting deployment name to "file" for single-file deployment')),!deploymentOptions.name&&files.size>0&&(deploymentOptions.name=clientOptions.defaultName||getDefaultName(files,clientOptions),debug("No name provided. Defaulting to",deploymentOptions.name)),clientOptions.withCache&&debug("'withCache' is provided. Force deploy will be performed with cache retention");let deployment;try{debug("Creating deployment");for await(let event of postDeployment(files,clientOptions,deploymentOptions))event.type==="created"&&(debug("Deployment created"),deployment=event.payload),yield event}catch(e){return debug("An unexpected error occurred when creating the deployment"),yield{type:"error",payload:e}}if(clientOptions.manual){debug("Manual mode - skipping ready state check");return}if(deployment){if((0,import_ready_state.isReady)(deployment)&&(0,import_ready_state.isAliasAssigned)(deployment))return debug("Deployment state changed to READY 3"),yield{type:"ready",payload:deployment},debug("Deployment alias assigned"),yield{type:"alias-assigned",payload:deployment};try{debug("Waiting for deployment to be ready...");for await(let event of(0,import_check_deployment_status.checkDeploymentStatus)(deployment,clientOptions))yield event}catch(e){return debug("An unexpected error occurred while waiting for deployment to be ready"),yield{type:"error",payload:e}}}}}});var require_retry_operation2=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry_operation.js"(exports,module){function RetryOperation(timeouts,options){typeof options=="boolean"&&(options={forever:options}),this._originalTimeouts=JSON.parse(JSON.stringify(timeouts)),this._timeouts=timeouts,this._options=options||{},this._maxRetryTime=options&&options.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}module.exports=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};RetryOperation.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};RetryOperation.prototype.retry=function(err){if(this._timeout&&clearTimeout(this._timeout),!err)return!1;var currentTime=new Date().getTime();if(err&&currentTime-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(err);var timeout=this._timeouts.shift();if(timeout===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),timeout=this._timeouts.shift();else return!1;var self=this,timer=setTimeout(function(){self._attempts++,self._operationTimeoutCb&&(self._timeout=setTimeout(function(){self._operationTimeoutCb(self._attempts)},self._operationTimeout),self._options.unref&&self._timeout.unref()),self._fn(self._attempts)},timeout);return this._options.unref&&timer.unref(),!0};RetryOperation.prototype.attempt=function(fn,timeoutOps){this._fn=fn,timeoutOps&&(timeoutOps.timeout&&(this._operationTimeout=timeoutOps.timeout),timeoutOps.cb&&(this._operationTimeoutCb=timeoutOps.cb));var self=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){self._operationTimeoutCb()},self._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};RetryOperation.prototype.try=function(fn){console.log("Using RetryOperation.try() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=function(fn){console.log("Using RetryOperation.start() is deprecated"),this.attempt(fn)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0)return null;for(var counts={},mainError=null,mainErrorCount=0,i=0;i<this._errors.length;i++){var error=this._errors[i],message=error.message,count=(counts[message]||0)+1;counts[message]=count,count>=mainErrorCount&&(mainError=error,mainErrorCount=count)}return mainError}}});var require_retry3=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry.js"(exports){var RetryOperation=require_retry_operation2();exports.operation=function(options){var timeouts=exports.timeouts(options);return new RetryOperation(timeouts,{forever:options&&options.forever,unref:options&&options.unref,maxRetryTime:options&&options.maxRetryTime})};exports.timeouts=function(options){if(options instanceof Array)return[].concat(options);var opts={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var key in options)opts[key]=options[key];if(opts.minTimeout>opts.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var timeouts=[],i=0;i<opts.retries;i++)timeouts.push(this.createTimeout(i,opts));return options&&options.forever&&!timeouts.length&&timeouts.push(this.createTimeout(i,opts)),timeouts.sort(function(a,b){return a-b}),timeouts};exports.createTimeout=function(attempt,opts){var random=opts.randomize?Math.random()+1:1,timeout=Math.round(random*opts.minTimeout*Math.pow(opts.factor,attempt));return timeout=Math.min(timeout,opts.maxTimeout),timeout};exports.wrap=function(obj,options,methods){if(options instanceof Array&&(methods=options,options=null),!methods){methods=[];for(var key in obj)typeof obj[key]=="function"&&methods.push(key)}for(var i=0;i<methods.length;i++){var method=methods[i],original=obj[method];obj[method]=function(original2){var op=exports.operation(options),args=Array.prototype.slice.call(arguments,1),callback=args.pop();args.push(function(err){op.retry(err)||(err&&(arguments[0]=op.mainError()),callback.apply(this,arguments))}),op.attempt(function(){original2.apply(obj,args)})}.bind(obj,original),obj[method].options=options}}}});var require_retry4=__commonJS({"../../node_modules/.pnpm/retry@0.12.0/node_modules/retry/index.js"(exports,module){module.exports=require_retry3()}});var require_lib5=__commonJS({"../../node_modules/.pnpm/async-retry@1.2.3/node_modules/async-retry/lib/index.js"(exports,module){var retrier=require_retry4();function retry2(fn,opts){function run(resolve6,reject){var options=opts||{},op=retrier.operation(options);function bail(err){reject(err||new Error("Aborted"))}function onError(err,num){if(err.bail){bail(err);return}op.retry(err)?options.onRetry&&options.onRetry(err,num):reject(op.mainError())}function runAttempt(num){var val;try{val=fn(bail,num)}catch(err){onError(err,num);return}Promise.resolve(val).then(resolve6).catch(function(err){onError(err,num)})}op.attempt(runAttempt)}return new Promise(run)}module.exports=retry2}});var require_upload=__commonJS({"../client/dist/upload.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),upload_exports={};__export(upload_exports,{UploadProgress:()=>UploadProgress,upload:()=>upload,uploadFiles:()=>uploadFiles});module.exports=__toCommonJS(upload_exports);var import_fs5=__require("fs"),import_stream=__require("stream"),import_node_events=__require("node:events"),import_async_retry2=__toESM2(require_lib5()),import_async_sema=require_lib4(),import_utils=require_utils3(),import_errors=require_errors(),import_network_error=require_network_error(),import_deploy=require_deploy();async function*upload(files,clientOptions,deploymentOptions){let debug=(0,import_utils.createDebug)(clientOptions.debug);if(!files&&!clientOptions.token&&!clientOptions.teamId){debug("Neither 'files', 'token' nor 'teamId are present. Exiting");return}let shas=[];debug("Determining necessary files for upload...");for await(let event of(0,import_deploy.deploy)(files,clientOptions,deploymentOptions))if(event.type==="error")if(event.payload.code==="missing_files")shas=event.payload.missing,debug(`${shas.length} files are required to upload`);else return yield event;else{if(event.type==="alias-assigned"||event.type==="checks-v2-failed")return debug(event.type==="alias-assigned"?"Deployment succeeded on file check":"v2 deployment-alias check failed on file check"),yield event;yield event}let uploads=shas.map(sha=>new UploadProgress(sha,files.get(sha)));yield{type:"file-count",payload:{total:files,missing:shas,uploads}};let uploadGenerator=uploadFiles({dispatcher:clientOptions.dispatcher,apiUrl:clientOptions.apiUrl,debug:clientOptions.debug,teamId:clientOptions.teamId,token:clientOptions.token,getAuthHeaders:clientOptions.getAuthHeaders,userAgent:clientOptions.userAgent,files,shas,uploads});for await(let event of uploadGenerator){if(event.type==="error")return yield event;yield event}debug("All files uploaded"),yield{type:"all-files-uploaded",payload:files};try{debug("Starting deployment creation");for await(let event of(0,import_deploy.deploy)(files,clientOptions,deploymentOptions)){if(event.type==="alias-assigned"||event.type==="checks-v2-failed")return debug("Deployment is ready"),yield event;yield event}}catch(e){debug("An unexpected error occurred when starting deployment creation"),yield{type:"error",payload:e}}}async function*uploadFiles(options){let debug=(0,import_utils.createDebug)(options.debug),uploadList={};debug("Building an upload list...");let semaphore=new import_async_sema.Sema(50,{capacity:50}),abortControllers=new Set,aborted=!1;for(options.shas.forEach((sha,index)=>{let uploadProgress=options.uploads[index];uploadList[sha]=(0,import_async_retry2.default)(async bail=>{let file=options.files.get(sha);if(!file)return debug(`File ${sha} is undefined. Bailing`),bail(new Error(`File ${sha} is undefined`));if(await semaphore.acquire(),aborted)return semaphore.release(),bail(new Error("Upload aborted"));let{data,size,names}=file;uploadProgress.bytesUploaded=0;let body,contentLength,counter=new import_stream.Transform({transform(chunk,_encoding,callback){uploadProgress.bytesUploaded+=chunk.length,uploadProgress.emit("progress"),callback(null,chunk)}});if(typeof data<"u"){contentLength=data.length;let chunkSize=16384;function*chunks(){for(let i=0;i<data.length;i+=chunkSize)yield data.slice(i,i+chunkSize)}let buffered=import_stream.Readable.from(chunks());buffered.on("error",err2=>counter.destroy(err2)),body=buffered.pipe(counter)}else if(typeof size=="number"){contentLength=size;let fileStream=(0,import_fs5.createReadStream)(names[0]);fileStream.on("error",err2=>counter.destroy(err2)),counter.on("close",()=>fileStream.destroy()),body=fileStream.pipe(counter)}else{semaphore.release();return}let err,result,retryableServerError=!1,abortController=new AbortController;abortControllers.add(abortController);try{let res=await(0,import_utils.fetchApi)(import_utils.API_FILES,options.token,{dispatcher:options.dispatcher,method:"POST",headers:{"Content-Type":"application/octet-stream","Content-Length":String(contentLength),"x-now-digest":sha,"x-now-size":String(contentLength)},body,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,getAuthHeaders:options.getAuthHeaders,signal:abortController.signal},options.debug);if(res.status===200)debug(`File ${sha} (${file.names[0]}${file.names.length>1?` +${file.names.length}`:""}) uploaded`),result={type:"file-uploaded",payload:{sha,file}};else{if((0,import_utils.needsNewDpopProof)(res))throw retryableServerError=!0,new Error("The server rejected the DPoP proof for its nonce or time.");if(res.status>200&&res.status<500){debug("An internal error occurred in upload request. Not retrying...");let{error}=await res.json();err=new import_errors.DeploymentError(error)}else{retryableServerError=res.status>=500&&res.status<=599,debug("A server error occurred in upload request. Retrying...");let{error}=await res.json();throw new import_errors.DeploymentError(error)}}}catch(e){debug(`Upload failed: ${(0,import_network_error.formatNetworkError)(e)}`),err=e instanceof Error?e:new Error(String(e))}if(semaphore.release(),err){if(retryableServerError||(0,import_network_error.isRetryableNetworkError)(err))throw debug(`Transient upload failure, retrying: ${(0,import_network_error.formatNetworkError)(err)}`),err;return debug(`Upload failed without retry: ${(0,import_network_error.formatNetworkError)(err)}`),aborted||(aborted=!0,abortControllers.forEach(controller=>controller.abort())),bail(err)}return abortControllers.delete(abortController),result},{retries:5,factor:6,minTimeout:10})}),debug("Starting upload");Object.keys(uploadList).length>0;)try{let event=await Promise.race(Object.values(uploadList));delete uploadList[event.payload.sha],yield event}catch(e){return yield{type:"error",payload:e}}}var UploadProgress=class extends import_node_events.EventEmitter{constructor(sha,file){super(),this.sha=sha,this.file=file,this.bytesUploaded=0}}}});var require_tar_fs=__commonJS({"../../node_modules/.pnpm/tar-fs@1.16.3/node_modules/tar-fs/index.js"(exports){var chownr=require_chownr(),tar=require_tar_stream(),pump=require_pump(),mkdirp=require_mkdirp(),fs4=__require("fs"),path2=__require("path"),os2=__require("os"),win32=os2.platform()==="win32",noop=function(){},echo=function(name){return name},normalize=win32?function(name){return name.replace(/\\/g,"/").replace(/[:?<>|]/g,"_")}:echo,statAll=function(fs5,stat2,cwd,ignore,entries,sort){var queue=entries||["."];return function(callback){if(!queue.length)return callback();var next=queue.shift(),nextAbs=path2.join(cwd,next);stat2(nextAbs,function(err,stat3){if(err)return callback(err);if(!stat3.isDirectory())return callback(null,next,stat3);fs5.readdir(nextAbs,function(err2,files){if(err2)return callback(err2);sort&&files.sort();for(var i=0;i<files.length;i++)ignore(path2.join(cwd,next,files[i]))||queue.push(path2.join(next,files[i]));callback(null,next,stat3)})})}},strip=function(map,level){return function(header){header.name=header.name.split("/").slice(level).join("/");var linkname=header.linkname;return linkname&&(header.type==="link"||path2.isAbsolute(linkname))&&(header.linkname=linkname.split("/").slice(level).join("/")),map(header)}};exports.pack=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs4,ignore=opts.ignore||opts.filter||noop,map=opts.map||noop,mapStream=opts.mapStream||echo,statNext=statAll(xfs,opts.dereference?xfs.stat:xfs.lstat,cwd,ignore,opts.entries,opts.sort),strict=opts.strict!==!1,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,pack=opts.pack||tar.pack(),finish=opts.finish||noop;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var onsymlink=function(filename,header){xfs.readlink(path2.join(cwd,filename),function(err,linkname){if(err)return pack.destroy(err);header.linkname=normalize(linkname),pack.entry(header,onnextentry)})},onstat=function(err,filename,stat2){if(err)return pack.destroy(err);if(!filename)return opts.finalize!==!1&&pack.finalize(),finish(pack);if(stat2.isSocket())return onnextentry();var header={name:normalize(filename),mode:(stat2.mode|(stat2.isDirectory()?dmode:fmode))&umask,mtime:stat2.mtime,size:stat2.size,type:"file",uid:stat2.uid,gid:stat2.gid};if(stat2.isDirectory())return header.size=0,header.type="directory",header=map(header)||header,pack.entry(header,onnextentry);if(stat2.isSymbolicLink())return header.size=0,header.type="symlink",header=map(header)||header,onsymlink(filename,header);if(header=map(header)||header,!stat2.isFile())return strict?pack.destroy(new Error("unsupported type for "+filename)):onnextentry();var entry=pack.entry(header,onnextentry);if(entry){var rs=mapStream(xfs.createReadStream(path2.join(cwd,filename)),header);rs.on("error",function(err2){entry.destroy(err2)}),pump(rs,entry)}},onnextentry=function(err){if(err)return pack.destroy(err);statNext(onstat)};return onnextentry(),pack};var head=function(list){return list.length?list[list.length-1]:null},processGetuid=function(){return process.getuid?process.getuid():-1},processUmask=function(){return process.umask?process.umask():0};exports.extract=function(cwd,opts){cwd||(cwd="."),opts||(opts={});var xfs=opts.fs||fs4,ignore=opts.ignore||opts.filter||noop,map=opts.map||noop,mapStream=opts.mapStream||echo,own=opts.chown!==!1&&!win32&&processGetuid()===0,extract=opts.extract||tar.extract(),stack=[],now=new Date,umask=typeof opts.umask=="number"?~opts.umask:~processUmask(),dmode=typeof opts.dmode=="number"?opts.dmode:0,fmode=typeof opts.fmode=="number"?opts.fmode:0,strict=opts.strict!==!1;opts.strip&&(map=strip(map,opts.strip)),opts.readable&&(dmode|=parseInt(555,8),fmode|=parseInt(444,8)),opts.writable&&(dmode|=parseInt(333,8),fmode|=parseInt(222,8));var utimesParent=function(name,cb){for(var top;(top=head(stack))&&name.slice(0,top[0].length)!==top[0];)stack.pop();if(!top)return cb();xfs.utimes(top[0],now,top[1],cb)},utimes=function(name,header,cb){if(opts.utimes===!1)return cb();if(header.type==="directory")return xfs.utimes(name,now,header.mtime,cb);if(header.type==="symlink")return utimesParent(name,cb);xfs.utimes(name,now,header.mtime,function(err){if(err)return cb(err);utimesParent(name,cb)})},chperm=function(name,header,cb){var link=header.type==="symlink",chmod=link?xfs.lchmod:xfs.chmod,chown=link?xfs.lchown:xfs.chown;if(!chmod)return cb();var mode=(header.mode|(header.type==="directory"?dmode:fmode))&umask;chmod(name,mode,function(err){if(err)return cb(err);if(!own||!chown)return cb();chown(name,header.uid,header.gid,cb)})};return extract.on("entry",function(header,stream,next){header=map(header)||header,header.name=normalize(header.name);var name=path2.join(cwd,path2.join("/",header.name));if(ignore(name,header))return stream.resume(),next();var stat2=function(err){if(err)return next(err);utimes(name,header,function(err2){if(err2)return next(err2);if(win32)return next();chperm(name,header,next)})},onsymlink=function(){if(win32)return next();xfs.unlink(name,function(){xfs.symlink(header.linkname,name,stat2)})},onlink=function(){if(win32)return next();xfs.unlink(name,function(){var srcpath=path2.join(cwd,path2.join("/",header.linkname));xfs.link(srcpath,name,function(err){if(err&&err.code==="EPERM"&&opts.hardlinkAsFilesFallback)return stream=xfs.createReadStream(srcpath),onfile();stat2(err)})})},onfile=function(){var ws=xfs.createWriteStream(name),rs=mapStream(stream,header);ws.on("error",function(err){rs.destroy(err)}),pump(rs,ws,function(err){if(err)return next(err);ws.on("close",stat2)})};if(header.type==="directory")return stack.push([name,header.mtime]),mkdirfix(name,{fs:xfs,own,uid:header.uid,gid:header.gid},stat2);var dir=path2.dirname(name);validate(xfs,dir,path2.join(cwd,"."),function(err,valid){if(err)return next(err);if(!valid)return next(new Error(dir+" is not a valid path"));mkdirfix(dir,{fs:xfs,own,uid:header.uid,gid:header.gid},function(err2){if(err2)return next(err2);switch(header.type){case"file":return onfile();case"link":return onlink();case"symlink":return onsymlink()}if(strict)return next(new Error("unsupported type for "+name+" ("+header.type+")"));stream.resume(),next()})})}),opts.finish&&extract.on("finish",opts.finish),extract};function validate(fs5,name,root,cb){if(name===root)return cb(null,!0);fs5.lstat(name,function(err,st){if(err&&err.code!=="ENOENT")return cb(err);if(err||st.isDirectory())return validate(fs5,path2.join(name,".."),root,cb);cb(null,!1)})}function mkdirfix(name,opts,cb){mkdirp(name,{fs:opts.fs},function(err,made){!err&&made&&opts.own?chownr(made,opts.uid,opts.gid,cb):cb(err)})}}});var require_archive=__commonJS({"../client/dist/utils/archive.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),archive_exports={};__export(archive_exports,{createTgzFiles:()=>createTgzFiles});module.exports=__toCommonJS(archive_exports);var import_node_path4=__require("node:path"),import_node_zlib=__require("node:zlib"),import_build_utils3=__require("@vercel/build-utils"),import_tar_fs=__toESM2(require_tar_fs()),import_hashes=require_hashes();async function createTgzFiles(workPath,fileList,debug,exclude){let filesToArchive=exclude?fileList.filter(file=>!exclude.includes(file)):fileList;debug?.("Packing tarball");let tarStream=import_tar_fs.default.pack(workPath,{entries:filesToArchive.map(file=>(0,import_node_path4.relative)(workPath,file)),ignore:()=>!0}).pipe((0,import_node_zlib.createGzip)()),chunkedTarBuffers=await(0,import_build_utils3.streamToBufferChunks)(tarStream);return debug?.(`Packed tarball into ${chunkedTarBuffers.length} chunks`),new Map(chunkedTarBuffers.map((chunk,index)=>[(0,import_hashes.hash)(chunk),{names:[(0,import_node_path4.join)(workPath,`.vercel/source.tgz.part${index+1}`)],data:chunk,mode:438}]))}}});var require_collect_deployment_files=__commonJS({"../client/dist/collect-deployment-files.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),collect_deployment_files_exports={};__export(collect_deployment_files_exports,{assertDeploymentPath:()=>assertDeploymentPath,collectDeploymentFiles:()=>collectDeploymentFiles});module.exports=__toCommonJS(collect_deployment_files_exports);var import_error_utils6=require_dist(),import_fs_extra6=require_lib3(),import_path9=__require("path"),import_errors=require_errors(),import_utils=require_utils3(),import_archive=require_archive(),import_hashes=require_hashes();function assertDeploymentPath(path2,debug){if(typeof path2!="string"&&!Array.isArray(path2))throw debug(`Error: 'path' is expected to be a string or an array. Received ${typeof path2}`),new import_errors.DeploymentError({code:"missing_path",message:"Path not provided"})}async function collectDeploymentFiles(path2,clientOptions,debug){assertDeploymentPath(path2,debug);let isDirectory2=!Array.isArray(path2)&&(0,import_fs_extra6.lstatSync)(path2).isDirectory();if(clientOptions.isDirectory=isDirectory2,Array.isArray(path2)){for(let filePath of path2)if(!(0,import_path9.isAbsolute)(filePath))throw new import_errors.DeploymentError({code:"invalid_path",message:`Provided path ${filePath} is not absolute`})}else if(!(0,import_path9.isAbsolute)(path2))throw new import_errors.DeploymentError({code:"invalid_path",message:`Provided path ${path2} is not absolute`});isDirectory2&&!Array.isArray(path2)?debug("Provided 'path' is a directory."):Array.isArray(path2)?debug("Provided 'path' is an array of file paths"):debug("Provided 'path' is a single file");let{fileList,ignoreList,warning}=await(0,import_utils.buildFileTree)(path2,clientOptions,debug),workPath=typeof path2=="string"?path2:path2[0],filesMap;try{filesMap=clientOptions.archive==="tgz"?await(0,import_archive.createTgzFiles)(workPath,fileList,debug):await(0,import_hashes.hashes)(fileList)}catch(err){if(clientOptions.prebuilt&&(0,import_error_utils6.isErrnoException)(err)&&err.code==="ENOENT"&&err.path){let errPath=(0,import_path9.relative)(workPath,err.path);err.message=`File does not exist: "${(0,import_path9.relative)(workPath,errPath)}"`,errPath.split(import_path9.sep).includes("node_modules")&&(err.message=`Please ensure project dependencies have been installed:
27
+ ${err.message}`)}throw err}return{fileList,filesMap,workPath,isDirectory:isDirectory2,ignoreList,warning}}}});var require_create_deployment=__commonJS({"../client/dist/create-deployment.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),create_deployment_exports={};__export(create_deployment_exports,{default:()=>buildCreateDeployment});module.exports=__toCommonJS(create_deployment_exports);var import_hashes=require_hashes(),import_deploy=require_deploy(),import_upload=require_upload(),import_utils=require_utils3(),import_errors=require_errors(),import_collect_deployment_files=require_collect_deployment_files();function buildCreateDeployment(){return async function*(clientOptions,deploymentOptions={}){let options=Promise.resolve(deploymentOptions);options.catch(()=>{});let{path:path2}=clientOptions,debug=(0,import_utils.createDebug)(clientOptions.debug);if(debug("Creating deployment..."),(0,import_collect_deployment_files.assertDeploymentPath)(path2,debug),typeof clientOptions.token!="string")throw debug(`Error: 'token' is expected to be a string. Received ${typeof clientOptions.token}`),new import_errors.DeploymentError({code:"token_not_provided",message:"Options object must include a `token`"});if(clientOptions.manual){if(debug("Manual provisioning mode enabled"),!clientOptions.prebuilt)throw new import_errors.DeploymentError({code:"invalid_options",message:"The `manual` option requires `prebuilt` to be true"});let deploymentOptions2=await options;deploymentOptions2.build=deploymentOptions2.build||{},deploymentOptions2.build.env=deploymentOptions2.build.env||{},deploymentOptions2.build.env.VERCEL_MANUAL_PROVISIONING="1",deploymentOptions2.version=2,debug("Creating deployment with manual provisioning..."),yield*(0,import_deploy.deploy)(new Map,clientOptions,deploymentOptions2);return}let{fileList,filesMap:files,warning}=await(0,import_collect_deployment_files.collectDeploymentFiles)(path2,clientOptions,debug);warning&&(debug("Yielding a prebuilt filePathMap ignore warning"),yield{type:"warning",payload:warning,code:"PREBUILT_FILEPATHMAP_IGNORED"}),fileList.length===0&&(debug("Deployment path has no files. Yielding a warning event"),yield{type:"warning",payload:"There are no files inside your deployment."}),debug(`Yielding a 'hashes-calculated' event with ${files.size} hashes`),yield{type:"hashes-calculated",payload:(0,import_hashes.mapToObject)(files)},clientOptions.apiUrl&&debug(`Using provided API URL: ${clientOptions.apiUrl}`),clientOptions.userAgent&&debug(`Using provided user agent: ${clientOptions.userAgent}`);let resolvedOptions=await options;debug("Setting platform version to harcoded value 2"),resolvedOptions.version=2,debug("Creating the deployment and starting upload...");for await(let event of(0,import_upload.upload)(files,clientOptions,resolvedOptions))debug(`Yielding a '${event.type}' event`),yield event}}}});var require_continue=__commonJS({"../client/dist/continue.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),continue_exports={};__export(continue_exports,{continueDeployment:()=>continueDeployment2});module.exports=__toCommonJS(continue_exports);var import_path9=__require("path"),import_fs_extra6=__toESM2(require_lib3()),import_network_error=require_network_error(),import_check_deployment_status=require_check_deployment_status(),import_utils=require_utils3(),import_hashes=require_hashes(),import_ready_state=require_ready_state(),import_upload=require_upload(),import_errors=require_errors(),import_archive=require_archive();async function*continueDeployment2(options){let debug=(0,import_utils.createDebug)(options.debug);debug(`Continuing deployment: ${options.deploymentId}`);let outputDir=options.vercelOutputDir||(0,import_path9.join)(options.path,".vercel","output");if(!await import_fs_extra6.default.pathExists(outputDir))return yield{type:"error",payload:new import_errors.DeploymentError({code:"output_dir_not_found",message:`Output directory not found at ${outputDir}. Run 'vercel build' first.`})};let{fileList,warning}=await(0,import_utils.buildFileTree)(options.path,{isDirectory:!0,prebuilt:!0,vercelOutputDir:outputDir},debug);warning&&(debug("Yielding a prebuilt filePathMap ignore warning"),yield{type:"warning",payload:warning,code:"PREBUILT_FILEPATHMAP_IGNORED"});let provisionJsonPath=(0,import_path9.join)(outputDir,"provision.json"),unbundledFiles=fileList.filter(f=>f===provisionJsonPath),files;if(options.archive==="tgz"){if(files=await(0,import_archive.createTgzFiles)(options.path,fileList,debug,unbundledFiles),unbundledFiles.length>0){let individualFiles=await(0,import_hashes.hashes)(unbundledFiles);for(let[sha,entry]of individualFiles)files.set(sha,entry)}}else files=await(0,import_hashes.hashes)(fileList);debug(`Calculated ${files.size} unique hashes`),yield{type:"hashes-calculated",payload:(0,import_hashes.mapToObject)(files)};let deployment,result=await postContinue({deploymentId:options.deploymentId,files,outputDir,path:options.path,token:options.token,getAuthHeaders:options.getAuthHeaders,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,debug:options.debug});if(result.type==="missing_files"){debug(`Uploading ${result.missing.length} missing files...`);let uploads=result.missing.map(sha=>new import_upload.UploadProgress(sha,files.get(sha)));yield{type:"file-count",payload:{total:files,missing:result.missing,uploads}};for await(let event of(0,import_upload.uploadFiles)({dispatcher:options.dispatcher,apiUrl:options.apiUrl,debug:options.debug,teamId:options.teamId,token:options.token,getAuthHeaders:options.getAuthHeaders,userAgent:options.userAgent,shas:result.missing,files,uploads})){if(event.type==="error")return yield event;yield event}if(yield{type:"all-files-uploaded",payload:files},result=await postContinue({deploymentId:options.deploymentId,files,outputDir,path:options.path,token:options.token,getAuthHeaders:options.getAuthHeaders,teamId:options.teamId,apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,debug:options.debug}),result.type==="missing_files")return yield{type:"error",payload:{code:"missing_files",message:"Missing files",missing:result.missing}}}if(result.type==="error")return yield{type:"error",payload:result.error};if(result.type==="success"&&(deployment=result.deployment,yield{type:"created",payload:deployment}),!deployment)return yield{type:"error",payload:new import_errors.DeploymentError({code:"continue_failed",message:"Failed to continue deployment after uploading files"})};if((0,import_ready_state.isReady)(deployment)&&(0,import_ready_state.isAliasAssigned)(deployment))return yield{type:"ready",payload:deployment},yield{type:"alias-assigned",payload:deployment};yield*(0,import_check_deployment_status.checkDeploymentStatus)(deployment,{dispatcher:options.dispatcher,apiUrl:options.apiUrl,debug:options.debug,path:options.path,teamId:options.teamId,token:options.token,getAuthHeaders:options.getAuthHeaders,userAgent:options.userAgent})}async function postContinue(options){try{return await postContinueOnce(options)}catch(error){throw(0,import_network_error.isRetryableNetworkError)(error)?Object.assign(new import_errors.DeploymentError({code:"deployment_continue_unavailable",message:`Could not confirm whether deployment ${options.deploymentId} was resumed. Run 'vercel inspect ${options.deploymentId}' to check its status before retrying.`}),{cause:error}):error}}async function postContinueOnce(options){let debug=(0,import_utils.createDebug)(options.debug);debug(`Calling continue deployment endpoint for ${options.deploymentId}`);let response=await(0,import_utils.fetchApi)(`/deployments/${options.deploymentId}/continue${options.teamId?`?teamId=${options.teamId}`:""}`,options.token,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:(0,import_utils.prepareFiles)(options.files,{isDirectory:!0,path:options.path,token:options.token})}),apiUrl:options.apiUrl,userAgent:options.userAgent,dispatcher:options.dispatcher,getAuthHeaders:options.getAuthHeaders},options.debug),result;try{result=await response.json()}catch(error){if((0,import_network_error.isRetryableNetworkError)(error))throw error;return{type:"error",error:new Error("Invalid JSON response from continue endpoint")}}return!response.ok||result.error?result.error?.code==="missing_files"||result.code==="missing_files"?(debug(`Continue deployment returned missing_files: ${(result.error?.missing||result.missing||[]).length} files`),{type:"missing_files",missing:result.error?.missing||result.missing||[]}):(debug("Continue deployment request failed"),{type:"error",error:result.error?{...result.error,status:response.status}:{...result,status:response.status}}):(debug("Continue deployment succeeded"),{type:"success",deployment:result})}}});var require_inspect_deployment_files=__commonJS({"../client/dist/inspect-deployment-files.js"(exports,module){"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),inspect_deployment_files_exports={};__export(inspect_deployment_files_exports,{inspectDeploymentFiles:()=>inspectDeploymentFiles2});module.exports=__toCommonJS(inspect_deployment_files_exports);var import_path9=__require("path"),import_collect_deployment_files=require_collect_deployment_files(),import_utils=require_utils3();async function inspectDeploymentFiles2(clientOptions){let{path:path2}=clientOptions,debug=(0,import_utils.createDebug)(clientOptions.debug),{filesMap,workPath,isDirectory:isDirectory2,ignoreList,warning}=await(0,import_collect_deployment_files.collectDeploymentFiles)(path2,{...clientOptions},debug),files=[],totalSize=0;for(let[sha,file]of filesMap){let size=file.data?.byteLength||file.data?.length||0;for(let name of file.names){let deploymentFile={path:(isDirectory2?(0,import_path9.relative)(workPath,name):name.split(import_path9.sep).at(-1)||name).split(import_path9.sep).join("/"),size,mode:file.mode};typeof sha<"u"&&(deploymentFile.sha=sha),files.push(deploymentFile),totalSize+=size}}return files.sort((a,b)=>a.path.localeCompare(b.path)),{basePath:workPath,fileCount:files.length,totalSize,ignoredCount:ignoreList.length,files,ignored:ignoreList.sort(),warning}}}});var require_dist3=__commonJS({"../client/dist/index.js"(exports,module){"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toESM2=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),src_exports={};__export(src_exports,{DPOP_CLOCK_SKEW_TOLERANCE_SECONDS:()=>import_dpop4.DPOP_CLOCK_SKEW_TOLERANCE_SECONDS,buildFileTree:()=>import_utils.buildFileTree,checkDeploymentStatus:()=>import_check_deployment_status.checkDeploymentStatus,continueDeployment:()=>import_continue.continueDeployment,createDeployment:()=>createDeployment,getDpopServerTime:()=>import_dpop4.getDpopServerTime,getVercelIgnore:()=>import_utils.getVercelIgnore,inspectDeploymentFiles:()=>import_inspect_deployment_files.inspectDeploymentFiles,shouldResendDpopRequest:()=>import_dpop4.shouldResendDpopRequest});module.exports=__toCommonJS(src_exports);var import_create_deployment=__toESM2(require_create_deployment()),import_continue=require_continue(),import_check_deployment_status=require_check_deployment_status(),import_inspect_deployment_files=require_inspect_deployment_files(),import_utils=require_utils3(),import_dpop4=require_dpop();__reExport(src_exports,require_errors(),module.exports);__reExport(src_exports,require_types(),module.exports);var createDeployment=(0,import_create_deployment.default)()}});import{homedir}from"os";import{resolve}from"path";function humanizePath(path2){let resolved=resolve(path2),_homedir=homedir();return resolved.indexOf(_homedir)===0?`~${resolved.slice(_homedir.length)}`:resolved}var import_chalk=__toESM(require_source(),1);function highlight(text){return import_chalk.default.bold.underline(text)}async function getProjectByNameOrId(client,projectNameOrId,accountId,includeRollbackInfo){try{let qs=includeRollbackInfo?"?rollbackInfo=true":"";return await client.fetch(`/v9/projects/${encodeURIComponent(projectNameOrId)}${qs}`,{accountId})}catch(err){if(isAPIError(err)&&err.status===404)return new ProjectNotFound(projectNameOrId);throw err}}import fs from"node:fs";function isDirectory(targetPath){try{return fs.lstatSync(targetPath).isDirectory()}catch{return!1}}var import_which=__toESM(require_lib(),1);import{accessSync,constants}from"node:fs";import{platform}from"node:os";import{delimiter,isAbsolute,resolve as resolve2}from"node:path";import{execFile}from"node:child_process";function execFileAsync(file,args,options={}){return new Promise((resolve6,reject)=>{execFile(file,args,{...options,encoding:"utf8"},(error,stdout,stderr)=>{error?reject(Object.assign(error,{stdout,stderr})):resolve6({stdout,stderr})})})}var executables=new Map;function getGitExecutable(cwd){if(platform()!=="darwin")return Promise.resolve("git");let searchPath=(process.env.PATH??"/usr/bin:/bin").split(delimiter).map(directory=>resolve2(cwd,directory)).join(delimiter),key=JSON.stringify([searchPath,cwd,process.env.DEVELOPER_DIR,process.env.SDKROOT,process.env.TOOLCHAINS]),executable=executables.get(key);return executable||(executable=resolveExecutable(searchPath,cwd),executables.set(key,executable)),executable}async function resolveExecutable(searchPath,cwd){try{if(import_which.default.sync("git",{path:searchPath,nothrow:!0})!=="/usr/bin/git")return"git";let{stdout}=await execFileAsync("/usr/bin/xcrun",["--find","git"],{cwd}),executable=stdout.trim();if(isAbsolute(executable)&&executable!=="/usr/bin/git")return accessSync(executable,constants.X_OK),executable}catch{}return"git"}import{execFileSync}from"node:child_process";import{join,resolve as resolve3}from"node:path";var DEFAULT_GIT_EXEC_OPTS={unsafe:!1};function getGitRootDirectory(opts){let{cwd,unsafe}={...DEFAULT_GIT_EXEC_OPTS,...opts};try{return execFileSync("git",["rev-parse","--show-toplevel"],{cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch(error){if(unsafe)throw error;return null}}function getGitCommonDirectory(opts){let{cwd,unsafe}={...DEFAULT_GIT_EXEC_OPTS,...opts};try{return execFileSync("git",["rev-parse","--git-common-dir"],{cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch(error){if(unsafe)throw error;return null}}function getGitConfigPath(opts){let{cwd}={...DEFAULT_GIT_EXEC_OPTS,...opts},gitCommonDir=getGitCommonDirectory(opts);if(gitCommonDir===null)return null;let absoluteGitCommonDir=resolve3(cwd,gitCommonDir);return join(absoluteGitCommonDir,"config")}var import_fs_extra=__toESM(require_lib2(),1),import_ini=__toESM(require_ini(),1),import_error_utils=__toESM(require_dist(),1);import{join as join2,relative,resolve as resolve4}from"path";import{execFile as execFile2}from"child_process";async function createGitMeta(directory,project){let git=await getGitExecutable(directory),metadata=Promise.allSettled([getLastCommit(directory,git),isDirty(directory)]),gitRoot,branch;try{let{stdout,stderr}=await execFileAsync(git,["rev-parse","--show-toplevel","--abbrev-ref","HEAD"],{cwd:directory});if(stderr.trim())throw new Error(stderr);let lines=stdout.trim().split(/\r?\n/);branch=lines.pop(),gitRoot=lines.join(`
28
28
  `)}catch(error){await metadata,output_manager_default.debug(`Failed to get last commit. The directory is likely not a Git repo, there are no latest commits, or it is corrupted.
29
29
  ${(0,import_error_utils.errorToString)(error)}`);return}let gitConfigPath=join2(gitRoot||directory,".git/config"),remoteUrl;if(project?.link){let{repo}=project.link,remoteUrls=await getRemoteUrls(gitConfigPath);if(remoteUrls)for(let urlValue of Object.values(remoteUrls))urlValue.includes(repo)&&(remoteUrl=urlValue)}remoteUrl||(remoteUrl=await getOriginUrl(gitConfigPath));let[commitResult,dirtyResult]=await metadata;if(commitResult.status==="rejected"){output_manager_default.debug(`Failed to get last commit. The directory is likely not a Git repo, there are no latest commits, or it is corrupted.
30
30
  ${commitResult.reason}`);return}if(dirtyResult.status==="rejected"){output_manager_default.debug(`Failed to determine if Git repo has been modified:
31
- ${dirtyResult.reason}`);return}let dirty=dirtyResult.value,commit=commitResult.value;return{remoteUrl:remoteUrl||void 0,commitAuthorName:commit.author.name,commitAuthorEmail:commit.author.email,commitMessage:commit.subject,commitRef:branch,commitSha:commit.hash,dirty,rootDirectory:getRootDirectory(directory,gitRoot)}}function getRootDirectory(directory,gitRoot=getGitRootDirectory({cwd:directory})){if(!gitRoot)return;let rootDirectory=relative(gitRoot,resolve4(directory)).replace(/\\/g,"/");if(!(rootDirectory===".."||rootDirectory.startsWith("../")))return rootDirectory==="."?"":rootDirectory}async function getLastCommit(directory,git){let commit=await execFileAsync(git,["log","-1","--format=%H%x00%s%x00%an%x00%ae"],{cwd:directory});if(commit.stderr)throw new Error(commit.stderr);let[hash,subject,name,email]=commit.stdout.replace(/\r?\n$/,"").split("\0");return{hash,subject,author:{name,email}}}async function isDirty(directory){let git=await getGitExecutable(directory);return new Promise((resolve6,reject)=>{execFile2(git,["--no-optional-locks","status","-s"],{cwd:directory},function(err,stdout,stderr){if(err)return reject(err);if(stderr!==void 0&&stderr.trim().length>0)return reject(new Error(stderr));resolve6(stdout.trim().length>0)})})}async function parseGitConfig(configPath){try{return import_ini.default.parse(await import_fs_extra.default.readFile(configPath,"utf-8"))}catch(err){output_manager_default.debug(`Error while parsing repo data: ${(0,import_error_utils.errorToString)(err)}`)}}function pluckRemoteUrls(gitConfig){let remoteUrls={};for(let key of Object.keys(gitConfig))if(key.includes("remote")){let remoteName=key.match(/(?<=").*(?=")/g)?.[0],remoteUrl=gitConfig[key]?.url;remoteName&&remoteUrl&&(remoteUrls[remoteName]=remoteUrl)}if(Object.keys(remoteUrls).length!==0)return remoteUrls}async function getRemoteUrls(configPath){let config2=await parseGitConfig(configPath);return config2?pluckRemoteUrls(config2):void 0}function pluckOriginUrl(gitConfig){return gitConfig['remote "origin"']?.url}async function getOriginUrl(configPath){let gitConfig=await parseGitConfig(configPath);if(!gitConfig)return null;let originUrl=pluckOriginUrl(gitConfig);return originUrl||null}var import_fs_extra5=__toESM(require_lib2(),1);import os2 from"os";import{join as join8}from"path";var import_fs_extra4=__toESM(require_lib2(),1);import fs3 from"fs";import{join as join7,relative as relative2}from"path";import{promisify}from"util";var import_chalk3=__toESM(require_source(),1),import_cli_config=__toESM(require_cli_config(),1),import_async_retry=__toESM(require_dist2(),1);import{AsyncLocalStorage}from"node:async_hooks";import{join as join4,resolve as resolve5}from"node:path";import{EventEmitter}from"events";import{URL as URL2}from"url";async function responseError(res,fallbackMessage=null,parsedBody={}){let bodyError;if(!res.ok){let body;try{body=await res.json()}catch{body=parsedBody}bodyError=body.error||body.err||body}let msg=bodyError?.message||fallbackMessage||"Response Error";return new APIError(msg,res,bodyError)}var import_chalk2=__toESM(require_source(),1);function printIndications(res){let indications=new Set(["warning","notice","tip"]),regex=/^x-(?:vercel|now)-(warning|notice|tip)-(.*)$/;for(let[name,payload]of res.headers){let match=name.match(regex);if(match){let[,type,identifier]=match,action=res.headers.get(`x-vercel-action-${identifier}`),link=res.headers.get(`x-vercel-link-${identifier}`);if(indications.has(type)){let newline=`
32
- `,message=prependEmoji(import_chalk2.default.dim(payload),emoji(type))+newline,finalLink="";link&&(finalLink=import_chalk2.default.dim(`${action||"Learn More"}: ${link_default(link)}`)+newline),output_manager_default.print(message+finalLink)}}}}var import_load_json_file=__toESM(require_load_json_file(),1),config=__toESM(require_cli_config(),1),import_error_utils3=__toESM(require_dist(),1),import_types=__toESM(require_types(),1);import{join as join3,basename,dirname}from"path";import{accessSync as accessSync2,constants as constants2}from"fs";import{persistCliAuthConfig,persistDpopCliAuthConfig,readCliAuthConfig,readDpopCredentials}from"@vercel/cli-auth/credentials-store.js";import path from"path";import{existsSync}from"fs";function localConfigFlagPath(){let customPath=parseArguments(process.argv.slice(2),{},{permissive:!0}).flags["--local-config"];if(customPath){if(typeof customPath!="string")throw new InvalidLocalConfig(customPath);return path.resolve(process.cwd(),customPath)}}function getLocalPathConfig(prefix,useCompiledConfig=!0){let customPath=localConfigFlagPath();if(customPath)return customPath;let vercelConfigPath=path.join(prefix,"vercel.json"),vercelTomlPath=path.join(prefix,"vercel.toml"),nowConfigPath=path.join(prefix,"now.json"),vercelConfigExists=existsSync(vercelConfigPath),vercelTomlExists=existsSync(vercelTomlPath),nowConfigExists=existsSync(nowConfigPath),foundConfigs=[];if(vercelConfigExists&&foundConfigs.push(vercelConfigPath),vercelTomlExists&&foundConfigs.push(vercelTomlPath),nowConfigExists)throw new DeprecatedNowJson(nowConfigPath);if(foundConfigs.length>1)throw new ConflictingConfigFiles(foundConfigs);let compiledConfigPath=path.join(prefix,VERCEL_DIR,"vercel.json"),compiledConfigExists=existsSync(compiledConfigPath);return useCompiledConfig&&compiledConfigExists?compiledConfigPath:vercelConfigPath}var import_client=__toESM(require_dist3(),1);import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign,verify}from"node:crypto";import{createHardwareKey,deleteHardwareKey,hasSecurityChip,SecureEnclaveLockedError,signWithHardwareKey,TpmAccessError}from"@vercel/cli-auth/hardware-key.js";var import_error_utils2=__toESM(require_dist(),1);var NORMALIZED_METHODS=new Set(["DELETE","GET","HEAD","OPTIONS","POST","PUT"]);function isDpopLoginEnabled(){return process.env.__VERCEL_FF_DPOP==="1"}function createDpopKey(onStorage){if(hasSecurityChip()){let key;try{return key={kty:"EC",crv:"P-256",...createHardwareKey()},assertSigns(key),output_manager_default.debug(`Created a DPoP key sealed by the ${chipName(key)}.`),onStorage?.("secureEnclave"in key?"secure-enclave":"tpm"),key}catch(error){key&&deleteDpopKey(key);let message=`Couldn't use this device's security chip for your DPoP key, so it's saved as a software key in your login instead: ${(0,import_error_utils2.errorToString)(error)}`;return error instanceof TpmAccessError?output_manager_default.debug(message):output_manager_default.warn(message),onStorage?.("software-fallback"),createSoftwareDpopKey()}}return onStorage?.("software"),createSoftwareDpopKey()}function createSoftwareDpopKey(){let{privateKey}=generateKeyPairSync("ec",{namedCurve:"P-256"}),{x,y,d}=privateKey.export({format:"jwk"});if(!x||!y||!d)throw new Error("Failed to export the DPoP key.");return{kty:"EC",crv:"P-256",x,y,d}}function assertSigns(key){let data=new TextEncoder().encode("vercel-cli-dpop-key-check"),publicKey=createPublicKey({key:{kty:key.kty,crv:key.crv,x:key.x,y:key.y},format:"jwk"});if(!verify("sha256",data,{key:publicKey,dsaEncoding:"ieee-p1363"},new Uint8Array(signEs256(key,data))))throw new Error("The key's signature doesn't match its public key.")}function deleteDpopKey(key){if(!("d"in key))try{deleteHardwareKey(key)}catch(error){output_manager_default.debug(`Couldn't delete the DPoP key: ${(0,import_error_utils2.errorToString)(error)}`)}}function isSameDpopKey(a,b){return a.x===b?.x&&a.y===b.y}var dpopNonces=new Map,clockOffsetSeconds=0;function rememberDpopResponse(url,headers){let nonce=headers.get("dpop-nonce");nonce&&dpopNonces.set(new URL(url).origin,nonce);let offset=clockOffsetFrom(headers);offset!==void 0&&(clockOffsetSeconds=offset)}function getDpopClockOffsetSeconds(){return clockOffsetSeconds}function clockOffsetFrom(headers){let serverTime=(0,import_client.getDpopServerTime)(headers);if(serverTime===void 0)return;let offset=Math.round(serverTime-Date.now()/1e3);return Math.abs(offset)>import_client.DPOP_CLOCK_SKEW_TOLERANCE_SECONDS?offset:0}function createDpopProof(key,request){let method=request.method.toUpperCase(),htu=new URL(request.url);htu.search="",htu.hash="";let nonce=dpopNonces.get(htu.origin),header={typ:"dpop+jwt",alg:"ES256",jwk:{kty:key.kty,crv:key.crv,x:key.x,y:key.y}},payload={jti:randomUUID(),htm:NORMALIZED_METHODS.has(method)?method:request.method,htu:htu.href,iat:Math.floor(Date.now()/1e3)+clockOffsetSeconds,...request.accessToken&&{ath:createHash("sha256").update(request.accessToken).digest("base64url")},...nonce&&{nonce}},signingInput=`${base64url(header)}.${base64url(payload)}`,signature=signEs256(key,new TextEncoder().encode(signingInput));return`${signingInput}.${signature.toString("base64url")}`}function signEs256(key,data){if("d"in key)return sign("sha256",data,{key:createPrivateKey({key:{...key},format:"jwk"}),dsaEncoding:"ieee-p1363"});try{return signWithHardwareKey(key,data)}catch(error){throw new DpopKeyUnavailableError(chipName(key),error)}}var DpopKeyUnavailableError=class extends Error{constructor(chip,cause){super(dpopKeyUnavailableMessage(chip,cause),{cause});this.code="DPOP_KEY_UNAVAILABLE"}};function dpopKeyUnavailableMessage(chip,cause){let failed=`Couldn't sign with your DPoP key in this device's ${chip}.`;if(cause instanceof SecureEnclaveLockedError)return`${failed} This Mac is locked, and the Secure Enclave can only use the key while it's unlocked. Unlock your Mac and run the command again.`;let reason=cause instanceof TpmAccessError?` ${cause.message}`:"";return`${failed}${reason} To log in with DPoP again, run ${cmd(`__VERCEL_FF_DPOP=1 ${packageName} login`)}.`}function chipName(key){return"secureEnclave"in key?"Secure Enclave":"TPM"}var DpopRefreshError=class extends Error{constructor(cause){let offset=getDpopClockOffsetSeconds(),reason=offset?`this device's clock is off by about ${formatClockOffset(offset)}`:cause.message.replace(/\.$/,"");super(`Couldn't refresh your DPoP login: ${reason}. Your login was kept. ${offset?"Set the correct time and try again.":"Try again."}`,{cause});this.code="DPOP_REFRESH_FAILED"}};function formatClockOffset(seconds){let minutes=Math.round(Math.abs(seconds)/60);return minutes>1?`${minutes} minutes`:`${Math.abs(seconds)} seconds`}function base64url(value){return Buffer.from(JSON.stringify(value)).toString("base64url")}var VERCEL_CONFIG_EXTENSIONS=["ts","mts","js","mjs","cjs"],DEFAULT_VERCEL_CONFIG_FILENAME="Vercel config";var globalDir,getVercelDir=()=>globalDir??=getGlobalPathConfig(),readConfigFile=()=>config.readGlobalConfigFile(getConfigFilePath2()),writeToConfigFile=stuff=>{try{config.writeGlobalConfigFile(getConfigFilePath2(),stuff)}catch(err){throw(0,import_error_utils3.isErrnoException)(err)&&((0,import_error_utils3.isErrnoException)(err)&&err.code==="EPERM"?(output_manager_default.error(`Not able to create ${highlight(getConfigFilePath2())} (operation not permitted).`),process.exit(1)):err.code==="EBADF"&&(output_manager_default.error(`Not able to create ${highlight(getConfigFilePath2())} (bad file descriptor).`),process.exit(1))),err}},readAuthConfigFile=_globalConfig=>{if(isDpopLoginEnabled()){let dpopLogin=readDpopCredentials(getVercelDir());return{...config.getDefaultAuthConfig(),...dpopLogin?.dpop&&dpopLogin}}return{...config.getDefaultAuthConfig(),...readCliAuthConfig(getVercelDir())}},persistAuthConfig=(authConfig,_globalConfig)=>{let isDpopLogin=isDpopLoginEnabled()||!!authConfig.dpop;try{return isDpopLogin?persistDpopCliAuthConfig(getVercelDir(),authConfig):persistCliAuthConfig(getVercelDir(),authConfig)}catch(err){throw notAbleToCreate(isDpopLogin?getDpopAuthConfigFilePath2():getAuthConfigFilePath2(),err)}};function notAbleToCreate(filePath,err){let wrappedError=new Error(`Not able to create ${humanizePath(filePath)} (${(0,import_error_utils3.errorToStringFriendly)(err)}).`);return wrappedError.cause=err,wrappedError}function getConfigFilePath2(){return config.getConfigFilePath(getVercelDir())}function getAuthConfigFilePath2(){return config.getAuthConfigFilePath(getVercelDir())}function getDpopAuthConfigFilePath2(){return config.getDpopAuthConfigFilePath(getVercelDir())}function readLocalConfig(prefix=process.cwd()){let config2,target="";try{target=getLocalPathConfig(prefix)}catch(err){if(err instanceof NowError)output_manager_default.error(err.message),process.exit(1);else throw err}if(!target)return;try{accessSync2(target,constants2.F_OK),config2=import_load_json_file.default.sync(target)}catch(err){if(!((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"))if((0,import_error_utils3.isError)(err)&&err.name==="JSONError")output_manager_default.error(err.message),process.exit(1);else if((0,import_error_utils3.isErrnoException)(err)){let code2=err.code?` (${err.code})`:"";output_manager_default.error(`Failed to read config file: ${target}${code2}`),process.exit(1)}else output_manager_default.prettyError(err),process.exit(1)}if(!config2)return;if(basename(target)==="vercel.json"&&basename(dirname(target))===VERCEL_DIR){let workPath=dirname(dirname(target)),sourceFile=null;for(let ext of VERCEL_CONFIG_EXTENSIONS){let configPath=join3(workPath,`vercel.${ext}`);try{accessSync2(configPath,constants2.F_OK),sourceFile=basename(configPath);break}catch{}}if(!sourceFile){let tomlPath=join3(workPath,"vercel.toml");try{accessSync2(tomlPath,constants2.F_OK),sourceFile="vercel.toml"}catch{}}config2[import_types.fileNameSymbol]=sourceFile||DEFAULT_VERCEL_CONFIG_FILENAME}else config2[import_types.fileNameSymbol]=basename(target);return config2}function createTraceContext(span){return{span,budget:{remaining:1e3,dropped:0}}}function startTrace(parent,name,attrs){if(parent){if(parent.budget.remaining<=0){parent.budget.dropped++;return}return parent.budget.remaining--,{span:parent.span.child(name,attrs),budget:parent.budget}}}function stopTrace(trace,droppedBefore){if(!trace)return;let dropped=trace.budget.dropped-droppedBefore;dropped&&trace.span.setAttributes({dropped_spans:String(dropped)}),trace.span.stop()}async function traceOperation(parent,name,operation,attrs){let droppedBefore=parent?.budget.dropped??0,trace=startTrace(parent,name,attrs);try{return await operation(trace)}catch(error){throw trace?.span.setAttributes({error:"true"}),error}finally{stopTrace(trace,droppedBefore)}}var ROUTES=[["files","/v*/files"],["(?:now/)?deployments/[^/]+/events","/v*/deployments/:deployment/events"],["env/pull/[^/]+","/v*/env/pull/:deployment"],["deployments/[^/]+/builds/function-descriptors","/v*/deployments/:deployment/builds/function-descriptors"],["user","/v*/user"],["teams","/v*/teams"],["teams/[^/]+","/v*/teams/:team"],["projects","/v*/projects"],["projects/[^/]+","/v*/projects/:project"],["projects/[^/]+/env","/v*/projects/:project/env"],["projects/[^/]+/logs","/v*/projects/:project/logs"],["deployments","/v*/deployments"],["deployments/[^/]+","/v*/deployments/:deployment"],["deployments/[^/]+/builds","/v*/deployments/:deployment/builds"]].map(([pattern,route])=>({pattern:new RegExp(`^/v[0-9]+/${pattern}/?$`),route}));function requestTraceAttributes(url,method="GET"){let path2=String(url).split(/[?#]/,1)[0].replace(/^https?:\/\/[^/]+/i,""),normalizedMethod=method.toUpperCase();return{http_method:["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"].includes(normalizedMethod)?normalizedMethod:"OTHER",http_route:ROUTES.find(route=>route.pattern.test(path2))?.route??"other"}}function traceResponseBody(response,request,budget={remaining:1e3,dropped:0}){if(!request)return;for(let method of["json","text","arrayBuffer","blob","formData"]){let original=response[method];if(typeof original!="function")continue;let read=original.bind(response);Object.defineProperty(response,method,{configurable:!0,writable:!0,value:async()=>{let span=startTrace({span:request,budget},"vc.cli.api.body")?.span;try{return await read()}catch(error){throw span?.setAttributes({error:"true"}),error}finally{span?.stop()}}})}let clone=response.clone.bind(response);Object.defineProperty(response,"clone",{configurable:!0,writable:!0,value:()=>{let copy=clone();return traceResponseBody(copy,request,budget),copy}})}function sharedPromise(fn){let promise=null;return function(...args){return promise||(promise=fn.apply(this,args),promise.finally(()=>{promise=null})),promise}}var import_error_utils4=__toESM(require_dist(),1);function sleep(ms){return new Promise(resolve6=>{setTimeout(resolve6,ms)})}import{hostname}from"os";var VERCEL_ISSUER=new URL("https://vercel.com"),VERCEL_CLI_CLIENT_ID="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",userAgent=`${hostname()} @ ${ua_default}`,_as;async function as(){if(!_as){let discoveryResponse=await discoveryEndpointRequest(VERCEL_ISSUER),[discoveryResponseError,as2]=await processDiscoveryEndpointResponse(discoveryResponse);if(discoveryResponseError)throw discoveryResponseError;_as=as2}return _as}async function discoveryEndpointRequest(issuer){return await fetch2(new URL(".well-known/openid-configuration",issuer),{headers:{"Content-Type":"application/json","user-agent":userAgent}})}async function processDiscoveryEndpointResponse(response){let json=await response.json();if(!response.ok)return[new Error("Discovery endpoint request failed")];if(typeof json!="object"||json===null||!canParseURL(json.issuer)||!canParseURL(json.device_authorization_endpoint)||!canParseURL(json.token_endpoint)||!canParseURL(json.revocation_endpoint)||!canParseURL(json.jwks_uri)||!canParseURL(json.introspection_endpoint))return[new TypeError("Invalid discovery response")];let issuer=new URL(json.issuer);return issuer.href!==VERCEL_ISSUER.href?[new Error("Issuer mismatch")]:[null,{issuer,device_authorization_endpoint:new URL(json.device_authorization_endpoint),token_endpoint:new URL(json.token_endpoint),revocation_endpoint:new URL(json.revocation_endpoint),jwks_uri:new URL(json.jwks_uri),introspection_endpoint:new URL(json.introspection_endpoint)}]}async function deviceAuthorizationRequest(options){let body=new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID});return options?.refresh_token?(body.set("refresh_token",options.refresh_token),options.acr_values&&body.set("acr_values",options.acr_values)):body.set("scope","openid offline_access"),await fetch2((await as()).device_authorization_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body})}async function processDeviceAuthorizationResponse(response){let json=await response.json();return response.ok?typeof json!="object"||json===null?[new TypeError("Expected response to be an object")]:!("device_code"in json)||typeof json.device_code!="string"?[new TypeError("Expected `device_code` to be a string")]:!("user_code"in json)||typeof json.user_code!="string"?[new TypeError("Expected `user_code` to be a string")]:!("verification_uri"in json)||typeof json.verification_uri!="string"||!canParseURL(json.verification_uri)?[new TypeError("Expected `verification_uri` to be a string")]:!("verification_uri_complete"in json)||typeof json.verification_uri_complete!="string"||!canParseURL(json.verification_uri_complete)?[new TypeError("Expected `verification_uri_complete` to be a string")]:!("expires_in"in json)||typeof json.expires_in!="number"?[new TypeError("Expected `expires_in` to be a number")]:!("interval"in json)||typeof json.interval!="number"?[new TypeError("Expected `interval` to be a number")]:[null,{device_code:json.device_code,user_code:json.user_code,verification_uri:json.verification_uri,verification_uri_complete:json.verification_uri_complete,expiresAt:Date.now()+json.expires_in*1e3,interval:json.interval}]:[new OAuthError("Device authorization request failed",json)]}async function deviceAccessTokenRequest(options){try{let tokenEndpoint=(await as()).token_endpoint;return[null,await tokenRequest(tokenEndpoint,new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID,grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:options.device_code}),options.dpopKey,AbortSignal.timeout(10*1e3))]}catch(error){return error instanceof Error?[error]:[new Error("An unknown error occurred. See the logs for details.",{cause:error})]}}async function tokenRequest(tokenEndpoint,body,dpopKey,signal){let send=async()=>{let proof2=dpopKey&&createDpopProof(dpopKey,{method:"POST",url:tokenEndpoint.href});return{response:await fetch2(tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent,...proof2&&{DPoP:proof2}},body,signal}),proof:proof2}},{response,proof}=await send();if(!dpopKey)return response;let resend=await(0,import_client.shouldResendDpopRequest)(response,proof);if(rememberDpopResponse(tokenEndpoint.href,response.headers),!resend)return response;let{response:retried}=await send();return rememberDpopResponse(tokenEndpoint.href,retried.headers),retried}async function processTokenResponse(response,options){let json=await response.json();if(!response.ok)return[new OAuthError("Device access token request failed",json)];if(typeof json!="object"||json===null)return[new TypeError("Expected response to be an object")];if(!("access_token"in json)||typeof json.access_token!="string")return[new TypeError("Expected `access_token` to be a string")];let tokenType="token_type"in json?json.token_type:void 0;return options?.dpop&&tokenType!=="DPoP"?[new TypeError("Couldn't log in with DPoP. Vercel returned a token that isn't bound to this device's key. Unset __VERCEL_FF_DPOP to log in without DPoP.")]:!options?.dpop&&tokenType!=="Bearer"?[new TypeError('Expected `token_type` to be "Bearer"')]:!("expires_in"in json)||typeof json.expires_in!="number"?[new TypeError("Expected `expires_in` to be a number")]:"refresh_token"in json&&(typeof json.refresh_token!="string"||!json.refresh_token)?[new TypeError("Expected `refresh_token` to be a string")]:"scope"in json&&typeof json.scope!="string"?[new TypeError("Expected `scope` to be a string")]:[null,json]}async function revocationRequest(options){return await fetch2((await as()).revocation_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body:new URLSearchParams({...options,client_id:VERCEL_CLI_CLIENT_ID})})}async function processRevocationResponse(response){if(response.ok)return[null,null];let json=await response.json();return[new OAuthError("Revocation request failed",json)]}async function refreshTokenRequest(options){let tokenEndpoint=(await as()).token_endpoint;return await tokenRequest(tokenEndpoint,new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID,grant_type:"refresh_token",refresh_token:options.refresh_token}),options.dpopKey)}function processOAuthErrorResponse(json){return typeof json!="object"||json===null?new TypeError("Expected response to be an object"):!("error"in json)||typeof json.error!="string"?new TypeError("Expected `error` to be a string"):"error_description"in json&&typeof json.error_description!="string"?new TypeError("Expected `error_description` to be a string"):"error_uri"in json&&typeof json.error_uri!="string"?new TypeError("Expected `error_uri` to be a string"):json}var OAuthError=class extends Error{constructor(message,response){var __super=(...args)=>{super(...args)};let error=processOAuthErrorResponse(response);if(error instanceof TypeError){let message2=`Unexpected server response: ${JSON.stringify(response)}`;__super(message2),this.cause=new Error(message2,{cause:error}),this.code="server_error";return}let cause=error.error;error.error_description&&(cause+=`: ${error.error_description}`),error.error_uri&&(cause+=` (${error.error_uri})`),__super(message,{cause}),this.cause=new Error(cause),this.code=error.error}};function isOAuthError(error){return error instanceof OAuthError}function canParseURL(url){try{return!!new URL(url)}catch{return!1}}async function inspectTokenRequest(token){return fetch2((await as()).introspection_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body:new URLSearchParams({token})})}async function processInspectTokenResponse(response){try{let token=await response.json();if(!token||typeof token!="object"||!("active"in token))throw new IntrospectionError("Invalid token introspection response");return[null,token]}catch(cause){return[new IntrospectionError("Could not introspect token.",{cause})]}}var IntrospectionError=class extends Error{constructor(){super(...arguments);this.name="IntrospectionError"}};var PromptCanceledError=class extends Error{constructor(){super("Prompt canceled"),this.name="PromptCanceledError"}},PromptBackError=class extends Error{constructor(){super("Prompt back"),this.name="PromptBackError"}};function isPromptBackError(error){return error instanceof PromptBackError}function isPromptCanceledError(error){return error instanceof PromptCanceledError?!0:error instanceof Error&&error.message.includes("User force closed the prompt")}var TEAM_NOT_CHOSEN="",DOMAINS_API_PATH=/^\/v\d+\/(?:domains|registrar)(?:\/|$)/,MAX_TRACED_REQUESTS=200,isSAMLError=v=>v&&v.saml,isJSONObject=v=>v&&typeof v=="object"&&v.constructor===Object;function isValidAccessToken(authConfig){if(!authConfig.token)return!1;if(typeof authConfig.expiresAt!="number")return!0;let nowInSeconds=Math.floor(Date.now()/1e3);return authConfig.expiresAt>=nowInSeconds}function hasRefreshToken(authConfig){return"refreshToken"in authConfig}function canResend(body){return body==null||typeof body=="string"||body instanceof Uint8Array||body instanceof URLSearchParams}var Client=class extends EventEmitter{constructor(opts){super();this._argv=[];this.retiredDpopKeys=[];this.traceStorage=new AsyncLocalStorage;this.tracedRequests=0;this._loggedTokenSource=!1;this.escapePromptCancellationDepth=0;this.promptBackNavigationDepth=0;this.getAuthHeaders=Object.assign(async(method,url)=>{let{token,dpop}=this.authConfig;return token?dpop?{authorization:`DPoP ${token}`,dpop:createDpopProof(dpop.key,{method,url,accessToken:token})}:{authorization:`Bearer ${token}`}:{}},{onResponse:(url,headers)=>{this.authConfig.dpop&&rememberDpopResponse(url,headers)}});this.reauthenticate=sharedPromise(async function(error){let{default:reauthenticate}=await import("./reauthenticate-TESIUM6U.js");if(typeof await reauthenticate(this,error)=="number")throw error instanceof APIError?output_manager_default.prettyError(error):output_manager_default.error(`Failed to re-authenticate for ${(0,import_chalk3.bold)(error.scope)} scope`),error});this._onRetry=error=>{output_manager_default.debug(`Retrying: ${error}
33
- ${error.stack}`)};this.setArgv(opts.argv),this.apiUrl=opts.apiUrl,this.authConfig=opts.authConfig,this.stdin=opts.stdin,this.stdout=opts.stdout,this.stderr=opts.stderr,this.config=opts.config,this.savedTeam=opts.config.currentTeam,this.localConfig=opts.localConfig,this.localConfigPath=opts.localConfigPath,this.requestIdCounter=1,this.telemetryEventStore=opts.telemetryEventStore,this.isAgent=opts.isAgent??!1,this.agentName=opts.agentName,this.nonInteractive=opts.nonInteractive??this.isAgent,this.ignoresSavedTeam=this.isAgent&&this.nonInteractive,this.dangerouslySkipPermissions=opts.dangerouslySkipPermissions??!1;let theme={prefix:(0,import_chalk3.gray)("?"),style:{answer:import_chalk3.gray}};this.input={text:async opts2=>{let{default:input}=await import("./esm-4ZHGYTUV.js");return this.runPrompt(input({theme,...opts2},{input:this.stdin,output:this.stderr}))},password:async opts2=>{let{default:password}=await import("./esm-TEM4KPXZ.js");return this.runPrompt(password({theme,...opts2},{input:this.stdin,output:this.stderr}))},checkbox:async opts2=>{let{default:checkbox}=await import("./esm-7FVTQHRH.js");return this.runPrompt(checkbox({theme,...opts2},{input:this.stdin,output:this.stderr}))},expand:async opts2=>{let{default:expand}=await import("./esm-TLAM7FSK.js");return this.runPrompt(expand({theme,...opts2},{input:this.stdin,output:this.stderr}))},confirm:async(message,default_value,opts2)=>{let{default:confirm}=await import("./esm-GTSUYLKG.js"),prompt=confirm({theme,message,default:default_value},{input:this.stdin,output:this.stderr}),signal=opts2?.signal,cancel=()=>prompt.cancel();return signal?.aborted&&cancel(),signal?.addEventListener("abort",cancel,{once:!0}),this.runPrompt(prompt).finally(()=>signal?.removeEventListener("abort",cancel))},select:async opts2=>{let{default:select}=await import("./esm-LNIAU767.js");return this.runPrompt(select({theme,...opts2},{input:this.stdin,output:this.stderr}))},search:async opts2=>{let{default:search}=await import("./esm-IBY43SSX.js");return this.runPrompt(search({theme,...opts2},{input:this.stdin,output:this.stderr}))}}}getTraceContext(){if(!this.telemetryEventStore.enabled||!this.rootSpan)return;let active=this.traceStorage.getStore();return active||(this.invocationTrace?.span!==this.rootSpan&&(this.invocationTrace=createTraceContext(this.rootSpan)),this.invocationTrace)}withTrace(name,operation,attrs){return traceOperation(this.getTraceContext(),name,trace=>trace?this.traceStorage.run(trace,()=>operation(trace)):operation(trace),attrs)}async withEscapePromptCancellation(run){this.escapePromptCancellationDepth++;try{return await run()}finally{this.escapePromptCancellationDepth--}}async withPromptBackNavigation(run){this.promptBackNavigationDepth++;try{return await run()}finally{this.promptBackNavigationDepth--}}runPrompt(prompt){let escapeCancellationEnabled=this.escapePromptCancellationDepth>0,backNavigationEnabled=this.promptBackNavigationDepth>0;if(!escapeCancellationEnabled&&!backNavigationEnabled||!this.stdin.isTTY||!prompt.cancel)return prompt;let cancellation,onKeypress=(_input,key)=>{key?.name==="escape"&&escapeCancellationEnabled&&!cancellation?(cancellation="escape",prompt.cancel?.()):key?.name==="up"&&backNavigationEnabled&&!cancellation&&(cancellation="back",prompt.cancel?.())};return this.stdin.on("keypress",onKeypress),prompt.catch(error=>{throw cancellation==="escape"?new PromptCanceledError:cancellation==="back"?new PromptBackError:error}).finally(()=>{this.stdin.off("keypress",onKeypress)})}get argv(){return this._argv}setArgv(argvOrFirst,...rest){let argv=Array.isArray(argvOrFirst)?argvOrFirst:[argvOrFirst,...rest];this._argv=argv,this._parsedArgsCache=void 0}getParsedArgs(){return this._parsedArgsCache||(this._parsedArgsCache=parseArguments(this.argv.slice(2),{},{permissive:!0})),this._parsedArgsCache}retry(fn,{retries=3,maxTimeout=1/0}={}){return(0,import_async_retry.default)(fn,{retries,maxTimeout,onRetry:this._onRetry})}async ensureAuthorized(){let{authConfig}=this;if(isValidAccessToken(authConfig)){this._loggedTokenSource||(authConfig.tokenSource==="flag"?output_manager_default.debug("Using token from the `--token` option, skipping token refresh."):authConfig.tokenSource==="env"?output_manager_default.debug("Using token from VERCEL_TOKEN environment variable, skipping token refresh."):output_manager_default.debug("Valid access token, skipping token refresh."),this._loggedTokenSource=!0);return}if(!hasRefreshToken(authConfig)){output_manager_default.debug("No refresh token found, emptying auth config."),this.emptyAuthConfig(),this.persistAuthConfig();return}let dpopKey=authConfig.dpop?.key,tokenResponse=await refreshTokenRequest({refresh_token:authConfig.refreshToken,dpopKey}),[tokensError,tokens]=await processTokenResponse(tokenResponse,{dpop:!!dpopKey});if(isOAuthError(tokensError)&&tokensError.code==="invalid_grant"&&!authConfig.tokenSource&&this.stdin.isTTY&&!this.nonInteractive){output_manager_default.debug(`Stored session refresh failed: ${tokensError.cause.message}`),output_manager_default.log("Couldn't refresh the saved login. Starting a new login.");let{performDeviceCodeFlow}=await import("./future-EZEU2CBY.js"),recoveredTokens=await performDeviceCodeFlow(this);if(recoveredTokens){this.updateAuthConfig({token:recoveredTokens.access_token,userId:void 0,expiresAt:Math.floor(Date.now()/1e3)+recoveredTokens.expires_in,refreshToken:recoveredTokens.refresh_token,dpop:recoveredTokens.dpop}),this.persistAuthConfig();return}}if(tokensError&&dpopKey&&!(isOAuthError(tokensError)&&tokensError.code==="invalid_grant"))throw output_manager_default.debug(`DPoP login refresh failed: ${tokensError.message}`),new DpopRefreshError(isOAuthError(tokensError)?tokensError.cause:tokensError);if(tokensError){output_manager_default.debug("Error refreshing token, emptying auth config."),this.emptyAuthConfig(),this.persistAuthConfig(),dpopKey&&output_manager_default.warning(`Couldn't refresh your DPoP login, so it was removed. To log in with DPoP again, run ${cmd(`__VERCEL_FF_DPOP=1 ${packageName} login`)}.`);return}this.updateAuthConfig({token:tokens.access_token,expiresAt:Math.floor(Date.now()/1e3)+tokens.expires_in}),tokens.refresh_token&&this.updateAuthConfig({refreshToken:tokens.refresh_token}),this.persistAuthConfig(),this.writeToConfigFile(),output_manager_default.debug("Tokens refreshed successfully.")}getGlobalPathConfig(){let confFlag=this.getParsedArgs().flags["--global-config"];return typeof confFlag=="string"?resolve5(this.cwd,confFlag):(0,import_cli_config.getGlobalPathConfig)()}async readConfig(fileName,schema){let filePath=join4(this.getGlobalPathConfig(),fileName);return(0,import_cli_config.readConfigFile)(filePath,schema)}async maybeReadConfig(fileName,schema){try{return await this.readConfig(fileName,schema)}catch{return null}}async writeConfig(fileName,schema,value){let filePath=join4(this.getGlobalPathConfig(),fileName);(0,import_cli_config.writeConfigFile)(filePath,schema,value)}updateConfig(config2){this.config={...this.config,...config2},"currentTeam"in config2&&(this.savedTeam=config2.currentTeam)}writeToConfigFile(config2=this.config){writeToConfigFile({...config2,currentTeam:this.savedTeam})}isTeamUnchosen(){return this.ignoresSavedTeam&&this.config.currentTeam===TEAM_NOT_CHOSEN}needsTeamChoice(url,opts){return this.isTeamUnchosen()&&!opts.teamOptional&&!opts.accountId&&opts.useCurrentTeam!==!1&&!new URL2(url,this.apiUrl).searchParams.has("teamId")}chooseTeam({ask=!0}={}){return ask?(this.teamChoice??=this.applyTeamChoice(!0).finally(()=>{this.teamChoice=void 0}),this.teamChoice):this.applyTeamChoice(!1)}async applyTeamChoice(ask){let{resolveAgentTeam}=await import("./resolve-agent-team-QSIJ665W.js"),team=await resolveAgentTeam(this,{ask});team!==null&&this.isTeamUnchosen()&&(this.config.currentTeam=team)}async resolveCurrentTeam({ask=!0}={}){return this.isTeamUnchosen()&&await this.chooseTeam({ask}),this.isTeamUnchosen()?void 0:this.config.currentTeam}updateAuthConfig(authConfig){authConfig.token&&authConfig.token!==this.authConfig.token&&(this.user=void 0,this.userPromise=void 0,this.teams=void 0,this.teamsPromise=void 0),"dpop"in authConfig&&this.releaseDpopKey(authConfig.dpop?.key),this.authConfig={...this.authConfig,...authConfig}}emptyAuthConfig(){this.user=void 0,this.userPromise=void 0,this.teams=void 0,this.teamsPromise=void 0,this.releaseDpopKey(void 0),this.authConfig=this.authConfig.skipWrite?{skipWrite:!0}:{}}releaseDpopKey(nextKey){let key=this.authConfig.dpop?.key;key&&!isSameDpopKey(key,nextKey)&&this.retiredDpopKeys.push(key)}persistAuthConfig(){if(persistAuthConfig(this.authConfig,this.config),this.authConfig.skipWrite)return;let currentKey=this.authConfig.dpop?.key;for(let key of this.retiredDpopKeys.splice(0))isSameDpopKey(key,currentKey)||deleteDpopKey(key)}async confirmMutatingOperation(url,method){if(!((method||"GET").toUpperCase()==="DELETE"))return!0;if(this.isAgent&&this.dangerouslySkipPermissions){let agentInfo=this.agentName?` (${this.agentName})`:"";output_manager_default.print(`
31
+ ${dirtyResult.reason}`);return}let dirty=dirtyResult.value,commit=commitResult.value;return{remoteUrl:remoteUrl||void 0,commitAuthorName:commit.author.name,commitAuthorEmail:commit.author.email,commitMessage:commit.subject,commitRef:branch,commitSha:commit.hash,dirty,rootDirectory:getRootDirectory(directory,gitRoot)}}function getRootDirectory(directory,gitRoot=getGitRootDirectory({cwd:directory})){if(!gitRoot)return;let rootDirectory=relative(gitRoot,resolve4(directory)).replace(/\\/g,"/");if(!(rootDirectory===".."||rootDirectory.startsWith("../")))return rootDirectory==="."?"":rootDirectory}async function getLastCommit(directory,git){let commit=await execFileAsync(git,["log","-1","--format=%H%x00%s%x00%an%x00%ae"],{cwd:directory});if(commit.stderr)throw new Error(commit.stderr);let[hash,subject,name,email]=commit.stdout.replace(/\r?\n$/,"").split("\0");return{hash,subject,author:{name,email}}}async function isDirty(directory){let git=await getGitExecutable(directory);return new Promise((resolve6,reject)=>{execFile2(git,["--no-optional-locks","status","-s"],{cwd:directory},function(err,stdout,stderr){if(err)return reject(err);if(stderr!==void 0&&stderr.trim().length>0)return reject(new Error(stderr));resolve6(stdout.trim().length>0)})})}async function parseGitConfig(configPath){try{return import_ini.default.parse(await import_fs_extra.default.readFile(configPath,"utf-8"))}catch(err){output_manager_default.debug(`Error while parsing repo data: ${(0,import_error_utils.errorToString)(err)}`)}}function pluckRemoteUrls(gitConfig){let remoteUrls={};for(let key of Object.keys(gitConfig))if(key.includes("remote")){let remoteName=key.match(/(?<=").*(?=")/g)?.[0],remoteUrl=gitConfig[key]?.url;remoteName&&remoteUrl&&(remoteUrls[remoteName]=remoteUrl)}if(Object.keys(remoteUrls).length!==0)return remoteUrls}async function getRemoteUrls(configPath){let config2=await parseGitConfig(configPath);return config2?pluckRemoteUrls(config2):void 0}function pluckOriginUrl(gitConfig){return gitConfig['remote "origin"']?.url}async function getOriginUrl(configPath){let gitConfig=await parseGitConfig(configPath);if(!gitConfig)return null;let originUrl=pluckOriginUrl(gitConfig);return originUrl||null}var import_fs_extra5=__toESM(require_lib2(),1);import os from"os";import{join as join8}from"path";var import_fs_extra4=__toESM(require_lib2(),1);import fs3 from"fs";import{join as join7,relative as relative2}from"path";import{promisify}from"util";var import_chalk3=__toESM(require_source(),1),import_cli_config=__toESM(require_cli_config(),1),import_async_retry=__toESM(require_dist2(),1);import{AsyncLocalStorage}from"node:async_hooks";import{join as join4,resolve as resolve5}from"node:path";import{EventEmitter}from"events";import{URL as URL2}from"url";async function responseError(res,fallbackMessage=null,parsedBody={}){let bodyError;if(!res.ok){let body;try{body=await res.json()}catch{body=parsedBody}bodyError=body.error||body.err||body}let msg=bodyError?.message||fallbackMessage||"Response Error";return new APIError(msg,res,bodyError)}var import_chalk2=__toESM(require_source(),1);function printIndications(res){let indications=new Set(["warning","notice","tip"]),regex=/^x-(?:vercel|now)-(warning|notice|tip)-(.*)$/;for(let[name,payload]of res.headers){let match=name.match(regex);if(match){let[,type,identifier]=match,action=res.headers.get(`x-vercel-action-${identifier}`),link=res.headers.get(`x-vercel-link-${identifier}`);if(indications.has(type)){let newline=`
32
+ `,message=prependEmoji(import_chalk2.default.dim(payload),emoji(type))+newline,finalLink="";link&&(finalLink=import_chalk2.default.dim(`${action||"Learn More"}: ${link_default(link)}`)+newline),output_manager_default.print(message+finalLink)}}}}var import_load_json_file=__toESM(require_load_json_file(),1),config=__toESM(require_cli_config(),1),import_error_utils3=__toESM(require_dist(),1),import_types=__toESM(require_types(),1);import{join as join3,basename,dirname}from"path";import{accessSync as accessSync2,constants as constants2}from"fs";import{persistCliAuthConfig,persistDpopCliAuthConfig,readCliAuthConfig,readDpopCredentials}from"@vercel/cli-auth/credentials-store.js";import path from"path";import{existsSync}from"fs";function localConfigFlagPath(){let customPath=parseArguments(process.argv.slice(2),{},{permissive:!0}).flags["--local-config"];if(customPath){if(typeof customPath!="string")throw new InvalidLocalConfig(customPath);return path.resolve(process.cwd(),customPath)}}function getLocalPathConfig(prefix,useCompiledConfig=!0){let customPath=localConfigFlagPath();if(customPath)return customPath;let vercelConfigPath=path.join(prefix,"vercel.json"),vercelTomlPath=path.join(prefix,"vercel.toml"),nowConfigPath=path.join(prefix,"now.json"),vercelConfigExists=existsSync(vercelConfigPath),vercelTomlExists=existsSync(vercelTomlPath),nowConfigExists=existsSync(nowConfigPath),foundConfigs=[];if(vercelConfigExists&&foundConfigs.push(vercelConfigPath),vercelTomlExists&&foundConfigs.push(vercelTomlPath),nowConfigExists)throw new DeprecatedNowJson(nowConfigPath);if(foundConfigs.length>1)throw new ConflictingConfigFiles(foundConfigs);let compiledConfigPath=path.join(prefix,VERCEL_DIR,"vercel.json"),compiledConfigExists=existsSync(compiledConfigPath);return useCompiledConfig&&compiledConfigExists?compiledConfigPath:vercelConfigPath}var import_client=__toESM(require_dist3(),1);import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign,verify}from"node:crypto";import{createHardwareKey,deleteHardwareKey,hasSecurityChip,SecureEnclaveLockedError,signWithHardwareKey,TpmAccessError}from"@vercel/cli-auth/hardware-key.js";var import_error_utils2=__toESM(require_dist(),1);var NORMALIZED_METHODS=new Set(["DELETE","GET","HEAD","OPTIONS","POST","PUT"]);function isDpopLoginEnabled(){return process.env.__VERCEL_FF_DPOP==="1"}function createDpopKey(onStorage){if(hasSecurityChip()){let key;try{return key={kty:"EC",crv:"P-256",...createHardwareKey()},assertSigns(key),output_manager_default.debug(`Created a DPoP key sealed by the ${chipName(key)}.`),onStorage?.("secureEnclave"in key?"secure-enclave":"tpm"),key}catch(error){key&&deleteDpopKey(key);let message=`Couldn't use this device's security chip for your DPoP key, so it's saved as a software key in your login instead: ${(0,import_error_utils2.errorToString)(error)}`;return error instanceof TpmAccessError?output_manager_default.debug(message):output_manager_default.warn(message),onStorage?.("software-fallback"),createSoftwareDpopKey()}}return onStorage?.("software"),createSoftwareDpopKey()}function createSoftwareDpopKey(){let{privateKey}=generateKeyPairSync("ec",{namedCurve:"P-256"}),{x,y,d}=privateKey.export({format:"jwk"});if(!x||!y||!d)throw new Error("Failed to export the DPoP key.");return{kty:"EC",crv:"P-256",x,y,d}}function assertSigns(key){let data=new TextEncoder().encode("vercel-cli-dpop-key-check"),publicKey=createPublicKey({key:{kty:key.kty,crv:key.crv,x:key.x,y:key.y},format:"jwk"});if(!verify("sha256",data,{key:publicKey,dsaEncoding:"ieee-p1363"},new Uint8Array(signEs256(key,data))))throw new Error("The key's signature doesn't match its public key.")}function deleteDpopKey(key){if(!("d"in key))try{deleteHardwareKey(key)}catch(error){output_manager_default.debug(`Couldn't delete the DPoP key: ${(0,import_error_utils2.errorToString)(error)}`)}}function isSameDpopKey(a,b){return a.x===b?.x&&a.y===b.y}var dpopNonces=new Map,clockOffsetSeconds=0;function rememberDpopResponse(url,headers){let nonce=headers.get("dpop-nonce");nonce&&dpopNonces.set(new URL(url).origin,nonce);let offset=clockOffsetFrom(headers);offset!==void 0&&(clockOffsetSeconds=offset)}function getDpopClockOffsetSeconds(){return clockOffsetSeconds}function clockOffsetFrom(headers){let serverTime=(0,import_client.getDpopServerTime)(headers);if(serverTime===void 0)return;let offset=Math.round(serverTime-Date.now()/1e3);return Math.abs(offset)>import_client.DPOP_CLOCK_SKEW_TOLERANCE_SECONDS?offset:0}function createDpopProof(key,request){let method=request.method.toUpperCase(),htu=new URL(request.url);htu.search="",htu.hash="";let nonce=dpopNonces.get(htu.origin),header={typ:"dpop+jwt",alg:"ES256",jwk:{kty:key.kty,crv:key.crv,x:key.x,y:key.y}},payload={jti:randomUUID(),htm:NORMALIZED_METHODS.has(method)?method:request.method,htu:htu.href,iat:Math.floor(Date.now()/1e3)+clockOffsetSeconds,...request.accessToken&&{ath:createHash("sha256").update(request.accessToken).digest("base64url")},...nonce&&{nonce}},signingInput=`${base64url(header)}.${base64url(payload)}`,signature=signEs256(key,new TextEncoder().encode(signingInput));return`${signingInput}.${signature.toString("base64url")}`}function signEs256(key,data){if("d"in key)return sign("sha256",data,{key:createPrivateKey({key:{...key},format:"jwk"}),dsaEncoding:"ieee-p1363"});try{return signWithHardwareKey(key,data)}catch(error){throw new DpopKeyUnavailableError(chipName(key),error)}}var DpopKeyUnavailableError=class extends Error{constructor(chip,cause){super(dpopKeyUnavailableMessage(chip,cause),{cause});this.code="DPOP_KEY_UNAVAILABLE"}};function dpopKeyUnavailableMessage(chip,cause){let failed=`Couldn't sign with your DPoP key in this device's ${chip}.`;if(cause instanceof SecureEnclaveLockedError)return`${failed} This Mac is locked, and the Secure Enclave can only use the key while it's unlocked. Unlock your Mac and run the command again.`;let reason=cause instanceof TpmAccessError?` ${cause.message}`:"";return`${failed}${reason} To log in with DPoP again, run ${cmd(`__VERCEL_FF_DPOP=1 ${packageName} login`)}.`}function chipName(key){return"secureEnclave"in key?"Secure Enclave":"TPM"}var DpopRefreshError=class extends Error{constructor(cause){let offset=getDpopClockOffsetSeconds(),reason=offset?`this device's clock is off by about ${formatClockOffset(offset)}`:cause.message.replace(/\.$/,"");super(`Couldn't refresh your DPoP login: ${reason}. Your login was kept. ${offset?"Set the correct time and try again.":"Try again."}`,{cause});this.code="DPOP_REFRESH_FAILED"}};function formatClockOffset(seconds){let minutes=Math.round(Math.abs(seconds)/60);return minutes>1?`${minutes} minutes`:`${Math.abs(seconds)} seconds`}function base64url(value){return Buffer.from(JSON.stringify(value)).toString("base64url")}var VERCEL_CONFIG_EXTENSIONS=["ts","mts","js","mjs","cjs"],DEFAULT_VERCEL_CONFIG_FILENAME="Vercel config";var globalDir,getVercelDir=()=>globalDir??=getGlobalPathConfig(),readConfigFile=()=>config.readGlobalConfigFile(getConfigFilePath2()),writeToConfigFile=stuff=>{try{config.writeGlobalConfigFile(getConfigFilePath2(),stuff)}catch(err){throw(0,import_error_utils3.isErrnoException)(err)&&((0,import_error_utils3.isErrnoException)(err)&&err.code==="EPERM"?(output_manager_default.error(`Not able to create ${highlight(getConfigFilePath2())} (operation not permitted).`),process.exit(1)):err.code==="EBADF"&&(output_manager_default.error(`Not able to create ${highlight(getConfigFilePath2())} (bad file descriptor).`),process.exit(1))),err}},readAuthConfigFile=_globalConfig=>{if(isDpopLoginEnabled()){let dpopLogin=readDpopCredentials(getVercelDir());return{...config.getDefaultAuthConfig(),...dpopLogin?.dpop&&dpopLogin}}return{...config.getDefaultAuthConfig(),...readCliAuthConfig(getVercelDir())}},persistAuthConfig=(authConfig,_globalConfig)=>{let isDpopLogin=isDpopLoginEnabled()||!!authConfig.dpop;try{return isDpopLogin?persistDpopCliAuthConfig(getVercelDir(),authConfig):persistCliAuthConfig(getVercelDir(),authConfig)}catch(err){throw notAbleToCreate(isDpopLogin?getDpopAuthConfigFilePath2():getAuthConfigFilePath2(),err)}};function notAbleToCreate(filePath,err){let wrappedError=new Error(`Not able to create ${humanizePath(filePath)} (${(0,import_error_utils3.errorToStringFriendly)(err)}).`);return wrappedError.cause=err,wrappedError}function getConfigFilePath2(){return config.getConfigFilePath(getVercelDir())}function getAuthConfigFilePath2(){return config.getAuthConfigFilePath(getVercelDir())}function getDpopAuthConfigFilePath2(){return config.getDpopAuthConfigFilePath(getVercelDir())}function readLocalConfig(prefix=process.cwd()){let config2,target="";try{target=getLocalPathConfig(prefix)}catch(err){if(err instanceof NowError)output_manager_default.error(err.message),process.exit(1);else throw err}if(!target)return;try{accessSync2(target,constants2.F_OK),config2=import_load_json_file.default.sync(target)}catch(err){if(!((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"))if((0,import_error_utils3.isError)(err)&&err.name==="JSONError")output_manager_default.error(err.message),process.exit(1);else if((0,import_error_utils3.isErrnoException)(err)){let code2=err.code?` (${err.code})`:"";output_manager_default.error(`Failed to read config file: ${target}${code2}`),process.exit(1)}else output_manager_default.prettyError(err),process.exit(1)}if(!config2)return;if(basename(target)==="vercel.json"&&basename(dirname(target))===VERCEL_DIR){let workPath=dirname(dirname(target)),sourceFile=null;for(let ext of VERCEL_CONFIG_EXTENSIONS){let configPath=join3(workPath,`vercel.${ext}`);try{accessSync2(configPath,constants2.F_OK),sourceFile=basename(configPath);break}catch{}}if(!sourceFile){let tomlPath=join3(workPath,"vercel.toml");try{accessSync2(tomlPath,constants2.F_OK),sourceFile="vercel.toml"}catch{}}config2[import_types.fileNameSymbol]=sourceFile||DEFAULT_VERCEL_CONFIG_FILENAME}else config2[import_types.fileNameSymbol]=basename(target);return config2}function createTraceContext(span){return{span,budget:{remaining:1e3,dropped:0}}}function startTrace(parent,name,attrs){if(parent){if(parent.budget.remaining<=0){parent.budget.dropped++;return}return parent.budget.remaining--,{span:parent.span.child(name,attrs),budget:parent.budget}}}function stopTrace(trace,droppedBefore){if(!trace)return;let dropped=trace.budget.dropped-droppedBefore;dropped&&trace.span.setAttributes({dropped_spans:String(dropped)}),trace.span.stop()}async function traceOperation(parent,name,operation,attrs){let droppedBefore=parent?.budget.dropped??0,trace=startTrace(parent,name,attrs);try{return await operation(trace)}catch(error){throw trace?.span.setAttributes({error:"true"}),error}finally{stopTrace(trace,droppedBefore)}}var ROUTES=[["files","/v*/files"],["(?:now/)?deployments/[^/]+/events","/v*/deployments/:deployment/events"],["env/pull/[^/]+","/v*/env/pull/:deployment"],["deployments/[^/]+/builds/function-descriptors","/v*/deployments/:deployment/builds/function-descriptors"],["user","/v*/user"],["teams","/v*/teams"],["teams/[^/]+","/v*/teams/:team"],["projects","/v*/projects"],["projects/[^/]+","/v*/projects/:project"],["projects/[^/]+/env","/v*/projects/:project/env"],["projects/[^/]+/logs","/v*/projects/:project/logs"],["deployments","/v*/deployments"],["deployments/[^/]+","/v*/deployments/:deployment"],["deployments/[^/]+/builds","/v*/deployments/:deployment/builds"]].map(([pattern,route])=>({pattern:new RegExp(`^/v[0-9]+/${pattern}/?$`),route}));function requestTraceAttributes(url,method="GET"){let path2=String(url).split(/[?#]/,1)[0].replace(/^https?:\/\/[^/]+/i,""),normalizedMethod=method.toUpperCase();return{http_method:["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"].includes(normalizedMethod)?normalizedMethod:"OTHER",http_route:ROUTES.find(route=>route.pattern.test(path2))?.route??"other"}}function traceResponseBody(response,request,budget={remaining:1e3,dropped:0}){if(!request)return;for(let method of["json","text","arrayBuffer","blob","formData"]){let original=response[method];if(typeof original!="function")continue;let read=original.bind(response);Object.defineProperty(response,method,{configurable:!0,writable:!0,value:async()=>{let span=startTrace({span:request,budget},"vc.cli.api.body")?.span;try{return await read()}catch(error){throw span?.setAttributes({error:"true"}),error}finally{span?.stop()}}})}let clone=response.clone.bind(response);Object.defineProperty(response,"clone",{configurable:!0,writable:!0,value:()=>{let copy=clone();return traceResponseBody(copy,request,budget),copy}})}function sharedPromise(fn){let promise=null;return function(...args){return promise||(promise=fn.apply(this,args),promise.finally(()=>{promise=null})),promise}}var import_error_utils4=__toESM(require_dist(),1);function sleep(ms){return new Promise(resolve6=>{setTimeout(resolve6,ms)})}import{hostname}from"os";var VERCEL_ISSUER=new URL("https://vercel.com"),VERCEL_CLI_CLIENT_ID="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",userAgent=`${hostname()} @ ${ua_default}`,_as;async function as(){if(!_as){let discoveryResponse=await discoveryEndpointRequest(VERCEL_ISSUER),[discoveryResponseError,as2]=await processDiscoveryEndpointResponse(discoveryResponse);if(discoveryResponseError)throw discoveryResponseError;_as=as2}return _as}async function discoveryEndpointRequest(issuer){return await fetch2(new URL(".well-known/openid-configuration",issuer),{headers:{"Content-Type":"application/json","user-agent":userAgent}})}async function processDiscoveryEndpointResponse(response){let json=await response.json();if(!response.ok)return[new Error("Discovery endpoint request failed")];if(typeof json!="object"||json===null||!canParseURL(json.issuer)||!canParseURL(json.device_authorization_endpoint)||!canParseURL(json.token_endpoint)||!canParseURL(json.revocation_endpoint)||!canParseURL(json.jwks_uri)||!canParseURL(json.introspection_endpoint))return[new TypeError("Invalid discovery response")];let issuer=new URL(json.issuer);return issuer.href!==VERCEL_ISSUER.href?[new Error("Issuer mismatch")]:[null,{issuer,device_authorization_endpoint:new URL(json.device_authorization_endpoint),token_endpoint:new URL(json.token_endpoint),revocation_endpoint:new URL(json.revocation_endpoint),jwks_uri:new URL(json.jwks_uri),introspection_endpoint:new URL(json.introspection_endpoint)}]}async function deviceAuthorizationRequest(options){let body=new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID});return options?.refresh_token?(body.set("refresh_token",options.refresh_token),options.acr_values&&body.set("acr_values",options.acr_values)):body.set("scope","openid offline_access"),await fetch2((await as()).device_authorization_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body})}async function processDeviceAuthorizationResponse(response){let json=await response.json();return response.ok?typeof json!="object"||json===null?[new TypeError("Expected response to be an object")]:!("device_code"in json)||typeof json.device_code!="string"?[new TypeError("Expected `device_code` to be a string")]:!("user_code"in json)||typeof json.user_code!="string"?[new TypeError("Expected `user_code` to be a string")]:!("verification_uri"in json)||typeof json.verification_uri!="string"||!canParseURL(json.verification_uri)?[new TypeError("Expected `verification_uri` to be a string")]:!("verification_uri_complete"in json)||typeof json.verification_uri_complete!="string"||!canParseURL(json.verification_uri_complete)?[new TypeError("Expected `verification_uri_complete` to be a string")]:!("expires_in"in json)||typeof json.expires_in!="number"?[new TypeError("Expected `expires_in` to be a number")]:!("interval"in json)||typeof json.interval!="number"?[new TypeError("Expected `interval` to be a number")]:[null,{device_code:json.device_code,user_code:json.user_code,verification_uri:json.verification_uri,verification_uri_complete:json.verification_uri_complete,expiresAt:Date.now()+json.expires_in*1e3,interval:json.interval}]:[new OAuthError("Device authorization request failed",json)]}async function deviceAccessTokenRequest(options){try{let tokenEndpoint=(await as()).token_endpoint;return[null,await tokenRequest(tokenEndpoint,new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID,grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:options.device_code}),options.dpopKey,AbortSignal.timeout(10*1e3))]}catch(error){return error instanceof Error?[error]:[new Error("An unknown error occurred. See the logs for details.",{cause:error})]}}async function tokenRequest(tokenEndpoint,body,dpopKey,signal){let send=async()=>{let proof2=dpopKey&&createDpopProof(dpopKey,{method:"POST",url:tokenEndpoint.href});return{response:await fetch2(tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent,...proof2&&{DPoP:proof2}},body,signal}),proof:proof2}},{response,proof}=await send();if(!dpopKey)return response;let resend=await(0,import_client.shouldResendDpopRequest)(response,proof);if(rememberDpopResponse(tokenEndpoint.href,response.headers),!resend)return response;let{response:retried}=await send();return rememberDpopResponse(tokenEndpoint.href,retried.headers),retried}async function processTokenResponse(response,options){let json=await response.json();if(!response.ok)return[new OAuthError("Device access token request failed",json)];if(typeof json!="object"||json===null)return[new TypeError("Expected response to be an object")];if(!("access_token"in json)||typeof json.access_token!="string")return[new TypeError("Expected `access_token` to be a string")];let tokenType="token_type"in json?json.token_type:void 0;return options?.dpop&&tokenType!=="DPoP"?[new TypeError("Couldn't log in with DPoP. Vercel returned a token that isn't bound to this device's key. Unset __VERCEL_FF_DPOP to log in without DPoP.")]:!options?.dpop&&tokenType!=="Bearer"?[new TypeError('Expected `token_type` to be "Bearer"')]:!("expires_in"in json)||typeof json.expires_in!="number"?[new TypeError("Expected `expires_in` to be a number")]:"refresh_token"in json&&(typeof json.refresh_token!="string"||!json.refresh_token)?[new TypeError("Expected `refresh_token` to be a string")]:"scope"in json&&typeof json.scope!="string"?[new TypeError("Expected `scope` to be a string")]:[null,json]}async function revocationRequest(options){return await fetch2((await as()).revocation_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body:new URLSearchParams({...options,client_id:VERCEL_CLI_CLIENT_ID})})}async function processRevocationResponse(response){if(response.ok)return[null,null];let json=await response.json();return[new OAuthError("Revocation request failed",json)]}async function refreshTokenRequest(options){let tokenEndpoint=(await as()).token_endpoint;return await tokenRequest(tokenEndpoint,new URLSearchParams({client_id:VERCEL_CLI_CLIENT_ID,grant_type:"refresh_token",refresh_token:options.refresh_token}),options.dpopKey)}function processOAuthErrorResponse(json){return typeof json!="object"||json===null?new TypeError("Expected response to be an object"):!("error"in json)||typeof json.error!="string"?new TypeError("Expected `error` to be a string"):"error_description"in json&&typeof json.error_description!="string"?new TypeError("Expected `error_description` to be a string"):"error_uri"in json&&typeof json.error_uri!="string"?new TypeError("Expected `error_uri` to be a string"):json}var OAuthError=class extends Error{constructor(message,response){var __super=(...args)=>{super(...args)};let error=processOAuthErrorResponse(response);if(error instanceof TypeError){let message2=`Unexpected server response: ${JSON.stringify(response)}`;__super(message2),this.cause=new Error(message2,{cause:error}),this.code="server_error";return}let cause=error.error;error.error_description&&(cause+=`: ${error.error_description}`),error.error_uri&&(cause+=` (${error.error_uri})`),__super(message,{cause}),this.cause=new Error(cause),this.code=error.error}};function isOAuthError(error){return error instanceof OAuthError}function canParseURL(url){try{return!!new URL(url)}catch{return!1}}async function inspectTokenRequest(token){return fetch2((await as()).introspection_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":userAgent},body:new URLSearchParams({token})})}async function processInspectTokenResponse(response){try{let token=await response.json();if(!token||typeof token!="object"||!("active"in token))throw new IntrospectionError("Invalid token introspection response");return[null,token]}catch(cause){return[new IntrospectionError("Could not introspect token.",{cause})]}}var IntrospectionError=class extends Error{constructor(){super(...arguments);this.name="IntrospectionError"}};var PromptCanceledError=class extends Error{constructor(){super("Prompt canceled"),this.name="PromptCanceledError"}},PromptBackError=class extends Error{constructor(){super("Prompt back"),this.name="PromptBackError"}};function isPromptBackError(error){return error instanceof PromptBackError}function isPromptCanceledError(error){return error instanceof PromptCanceledError?!0:error instanceof Error&&error.message.includes("User force closed the prompt")}var TEAM_NOT_CHOSEN="",DOMAINS_API_PATH=/^\/v\d+\/(?:domains|registrar)(?:\/|$)/,MAX_TRACED_REQUESTS=200,isSAMLError=v=>v&&v.saml,isJSONObject=v=>v&&typeof v=="object"&&v.constructor===Object;function isValidAccessToken(authConfig){if(!authConfig.token)return!1;if(typeof authConfig.expiresAt!="number")return!0;let nowInSeconds=Math.floor(Date.now()/1e3);return authConfig.expiresAt>=nowInSeconds}function hasRefreshToken(authConfig){return"refreshToken"in authConfig}function canResend(body){return body==null||typeof body=="string"||body instanceof Uint8Array||body instanceof URLSearchParams}var Client=class extends EventEmitter{constructor(opts){super();this._argv=[];this.retiredDpopKeys=[];this.traceStorage=new AsyncLocalStorage;this.tracedRequests=0;this._loggedTokenSource=!1;this.escapePromptCancellationDepth=0;this.promptBackNavigationDepth=0;this.getAuthHeaders=Object.assign(async(method,url)=>{let{token,dpop}=this.authConfig;return token?dpop?{authorization:`DPoP ${token}`,dpop:createDpopProof(dpop.key,{method,url,accessToken:token})}:{authorization:`Bearer ${token}`}:{}},{onResponse:(url,headers)=>{this.authConfig.dpop&&rememberDpopResponse(url,headers)}});this.reauthenticate=sharedPromise(async function(error){let{default:reauthenticate}=await import("./reauthenticate-TOILE7L6.js");if(typeof await reauthenticate(this,error)=="number")throw error instanceof APIError?output_manager_default.prettyError(error):output_manager_default.error(`Failed to re-authenticate for ${(0,import_chalk3.bold)(error.scope)} scope`),error});this._onRetry=error=>{output_manager_default.debug(`Retrying: ${error}
33
+ ${error.stack}`)};this.setArgv(opts.argv),this.apiUrl=opts.apiUrl,this.authConfig=opts.authConfig,this.stdin=opts.stdin,this.stdout=opts.stdout,this.stderr=opts.stderr,this.config=opts.config,this.savedTeam=opts.config.currentTeam,this.localConfig=opts.localConfig,this.localConfigPath=opts.localConfigPath,this.requestIdCounter=1,this.telemetryEventStore=opts.telemetryEventStore,this.isAgent=opts.isAgent??!1,this.agentName=opts.agentName,this.nonInteractive=opts.nonInteractive??this.isAgent,this.ignoresSavedTeam=this.isAgent&&this.nonInteractive,this.dangerouslySkipPermissions=opts.dangerouslySkipPermissions??!1;let theme={prefix:(0,import_chalk3.gray)("?"),style:{answer:import_chalk3.gray}};this.input={text:async opts2=>{let{default:input}=await import("./esm-4ZHGYTUV.js");return this.runPrompt(input({theme,...opts2},{input:this.stdin,output:this.stderr}))},password:async opts2=>{let{default:password}=await import("./esm-TEM4KPXZ.js");return this.runPrompt(password({theme,...opts2},{input:this.stdin,output:this.stderr}))},checkbox:async opts2=>{let{default:checkbox}=await import("./esm-7FVTQHRH.js");return this.runPrompt(checkbox({theme,...opts2},{input:this.stdin,output:this.stderr}))},expand:async opts2=>{let{default:expand}=await import("./esm-TLAM7FSK.js");return this.runPrompt(expand({theme,...opts2},{input:this.stdin,output:this.stderr}))},confirm:async(message,default_value,opts2)=>{let{default:confirm}=await import("./esm-GTSUYLKG.js"),prompt=confirm({theme,message,default:default_value},{input:this.stdin,output:this.stderr}),signal=opts2?.signal,cancel=()=>prompt.cancel();return signal?.aborted&&cancel(),signal?.addEventListener("abort",cancel,{once:!0}),this.runPrompt(prompt).finally(()=>signal?.removeEventListener("abort",cancel))},select:async opts2=>{let{default:select}=await import("./esm-LNIAU767.js");return this.runPrompt(select({theme,...opts2},{input:this.stdin,output:this.stderr}))},search:async opts2=>{let{default:search}=await import("./esm-IBY43SSX.js");return this.runPrompt(search({theme,...opts2},{input:this.stdin,output:this.stderr}))}}}getTraceContext(){if(!this.telemetryEventStore.enabled||!this.rootSpan)return;let active=this.traceStorage.getStore();return active||(this.invocationTrace?.span!==this.rootSpan&&(this.invocationTrace=createTraceContext(this.rootSpan)),this.invocationTrace)}withTrace(name,operation,attrs){return traceOperation(this.getTraceContext(),name,trace=>trace?this.traceStorage.run(trace,()=>operation(trace)):operation(trace),attrs)}async withEscapePromptCancellation(run){this.escapePromptCancellationDepth++;try{return await run()}finally{this.escapePromptCancellationDepth--}}async withPromptBackNavigation(run){this.promptBackNavigationDepth++;try{return await run()}finally{this.promptBackNavigationDepth--}}runPrompt(prompt){let escapeCancellationEnabled=this.escapePromptCancellationDepth>0,backNavigationEnabled=this.promptBackNavigationDepth>0;if(!escapeCancellationEnabled&&!backNavigationEnabled||!this.stdin.isTTY||!prompt.cancel)return prompt;let cancellation,onKeypress=(_input,key)=>{key?.name==="escape"&&escapeCancellationEnabled&&!cancellation?(cancellation="escape",prompt.cancel?.()):key?.name==="up"&&backNavigationEnabled&&!cancellation&&(cancellation="back",prompt.cancel?.())};return this.stdin.on("keypress",onKeypress),prompt.catch(error=>{throw cancellation==="escape"?new PromptCanceledError:cancellation==="back"?new PromptBackError:error}).finally(()=>{this.stdin.off("keypress",onKeypress)})}get argv(){return this._argv}setArgv(argvOrFirst,...rest){let argv=Array.isArray(argvOrFirst)?argvOrFirst:[argvOrFirst,...rest];this._argv=argv,this._parsedArgsCache=void 0}getParsedArgs(){return this._parsedArgsCache||(this._parsedArgsCache=parseArguments(this.argv.slice(2),{},{permissive:!0})),this._parsedArgsCache}retry(fn,{retries=3,maxTimeout=1/0}={}){return(0,import_async_retry.default)(fn,{retries,maxTimeout,onRetry:this._onRetry})}async ensureAuthorized(){let{authConfig}=this;if(isValidAccessToken(authConfig)){this._loggedTokenSource||(authConfig.tokenSource==="flag"?output_manager_default.debug("Using token from the `--token` option, skipping token refresh."):authConfig.tokenSource==="env"?output_manager_default.debug("Using token from VERCEL_TOKEN environment variable, skipping token refresh."):output_manager_default.debug("Valid access token, skipping token refresh."),this._loggedTokenSource=!0);return}if(!hasRefreshToken(authConfig)){output_manager_default.debug("No refresh token found, emptying auth config."),this.emptyAuthConfig(),this.persistAuthConfig();return}let dpopKey=authConfig.dpop?.key,tokenResponse=await refreshTokenRequest({refresh_token:authConfig.refreshToken,dpopKey}),[tokensError,tokens]=await processTokenResponse(tokenResponse,{dpop:!!dpopKey});if(isOAuthError(tokensError)&&tokensError.code==="invalid_grant"&&!authConfig.tokenSource&&this.stdin.isTTY&&!this.nonInteractive){output_manager_default.debug(`Stored session refresh failed: ${tokensError.cause.message}`),output_manager_default.log("Couldn't refresh the saved login. Starting a new login.");let{performDeviceCodeFlow}=await import("./future-FFWMSADT.js"),recoveredTokens=await performDeviceCodeFlow(this);if(recoveredTokens){this.updateAuthConfig({token:recoveredTokens.access_token,userId:void 0,expiresAt:Math.floor(Date.now()/1e3)+recoveredTokens.expires_in,refreshToken:recoveredTokens.refresh_token,dpop:recoveredTokens.dpop}),this.persistAuthConfig();return}}if(tokensError&&dpopKey&&!(isOAuthError(tokensError)&&tokensError.code==="invalid_grant"))throw output_manager_default.debug(`DPoP login refresh failed: ${tokensError.message}`),new DpopRefreshError(isOAuthError(tokensError)?tokensError.cause:tokensError);if(tokensError){output_manager_default.debug("Error refreshing token, emptying auth config."),this.emptyAuthConfig(),this.persistAuthConfig(),dpopKey&&output_manager_default.warning(`Couldn't refresh your DPoP login, so it was removed. To log in with DPoP again, run ${cmd(`__VERCEL_FF_DPOP=1 ${packageName} login`)}.`);return}this.updateAuthConfig({token:tokens.access_token,expiresAt:Math.floor(Date.now()/1e3)+tokens.expires_in}),tokens.refresh_token&&this.updateAuthConfig({refreshToken:tokens.refresh_token}),this.persistAuthConfig(),this.writeToConfigFile(),output_manager_default.debug("Tokens refreshed successfully.")}getGlobalPathConfig(){let confFlag=this.getParsedArgs().flags["--global-config"];return typeof confFlag=="string"?resolve5(this.cwd,confFlag):(0,import_cli_config.getGlobalPathConfig)()}async readConfig(fileName,schema){let filePath=join4(this.getGlobalPathConfig(),fileName);return(0,import_cli_config.readConfigFile)(filePath,schema)}async maybeReadConfig(fileName,schema){try{return await this.readConfig(fileName,schema)}catch{return null}}async writeConfig(fileName,schema,value){let filePath=join4(this.getGlobalPathConfig(),fileName);(0,import_cli_config.writeConfigFile)(filePath,schema,value)}updateConfig(config2){this.config={...this.config,...config2},"currentTeam"in config2&&(this.savedTeam=config2.currentTeam)}writeToConfigFile(config2=this.config){writeToConfigFile({...config2,currentTeam:this.savedTeam})}isTeamUnchosen(){return this.ignoresSavedTeam&&this.config.currentTeam===TEAM_NOT_CHOSEN}needsTeamChoice(url,opts){return this.isTeamUnchosen()&&!opts.teamOptional&&!opts.accountId&&opts.useCurrentTeam!==!1&&!new URL2(url,this.apiUrl).searchParams.has("teamId")}chooseTeam({ask=!0}={}){return ask?(this.teamChoice??=this.applyTeamChoice(!0).finally(()=>{this.teamChoice=void 0}),this.teamChoice):this.applyTeamChoice(!1)}async applyTeamChoice(ask){let{resolveAgentTeam}=await import("./resolve-agent-team-DHPOJEQE.js"),team=await resolveAgentTeam(this,{ask});team!==null&&this.isTeamUnchosen()&&(this.config.currentTeam=team)}async resolveCurrentTeam({ask=!0}={}){return this.isTeamUnchosen()&&await this.chooseTeam({ask}),this.isTeamUnchosen()?void 0:this.config.currentTeam}updateAuthConfig(authConfig){authConfig.token&&authConfig.token!==this.authConfig.token&&(this.user=void 0,this.userPromise=void 0,this.teams=void 0,this.teamsPromise=void 0),"dpop"in authConfig&&this.releaseDpopKey(authConfig.dpop?.key),this.authConfig={...this.authConfig,...authConfig}}emptyAuthConfig(){this.user=void 0,this.userPromise=void 0,this.teams=void 0,this.teamsPromise=void 0,this.releaseDpopKey(void 0),this.authConfig=this.authConfig.skipWrite?{skipWrite:!0}:{}}releaseDpopKey(nextKey){let key=this.authConfig.dpop?.key;key&&!isSameDpopKey(key,nextKey)&&this.retiredDpopKeys.push(key)}persistAuthConfig(){if(persistAuthConfig(this.authConfig,this.config),this.authConfig.skipWrite)return;let currentKey=this.authConfig.dpop?.key;for(let key of this.retiredDpopKeys.splice(0))isSameDpopKey(key,currentKey)||deleteDpopKey(key)}async confirmMutatingOperation(url,method){if(!((method||"GET").toUpperCase()==="DELETE"))return!0;if(this.isAgent&&this.dangerouslySkipPermissions){let agentInfo=this.agentName?` (${this.agentName})`:"";output_manager_default.print(`
34
34
  `),output_manager_default.print((0,import_chalk3.bgRed)((0,import_chalk3.white)((0,import_chalk3.bold)(" \u26A0 WARNING ")))+(0,import_chalk3.red)((0,import_chalk3.bold)(` AGENT MODE - DELETE CONFIRMATION BYPASSED
35
35
  `))),output_manager_default.print((0,import_chalk3.yellow)(` An AI agent${agentInfo} is executing a ${(0,import_chalk3.bold)("DELETE")} request with --dangerously-skip-permissions option.
36
36
  `)),output_manager_default.print((0,import_chalk3.yellow)(` This operation will delete data: ${(0,import_chalk3.bold)(url)}
@@ -42,14 +42,14 @@ ${error.stack}`)};this.setArgv(opts.argv),this.apiUrl=opts.apiUrl,this.authConfi
42
42
  Are you sure you want to proceed?`;output_manager_default.print(`
43
43
  `);let confirmed=await this.input.confirm(message,!1);return output_manager_default.print(`
44
44
  `),confirmed||output_manager_default.log("Operation canceled by user."),confirmed}async fetchWithAuthHeaders(method,url,body,send){let authHeaders=await this.getAuthHeaders(method,url),response=await send(authHeaders),resend=!!this.authConfig.dpop&&canResend(body)&&await(0,import_client.shouldResendDpopRequest)(response,authHeaders.dpop);if(this.getAuthHeaders.onResponse(url,response.headers),!resend)return response;await response.body?.cancel();let retried=await send(await this.getAuthHeaders(method,url));return this.getAuthHeaders.onResponse(url,retried.headers),retried}async _fetch(_url,opts={},request){let url=new URL2(_url,this.apiUrl);(opts.accountId||opts.useCurrentTeam!==!1)&&(opts.accountId?opts.accountId.startsWith("team_")?url.searchParams.set("teamId",opts.accountId):url.searchParams.delete("teamId"):opts.useCurrentTeam!==!1&&this.config.currentTeam&&!url.searchParams.has("teamId")&&url.searchParams.set("teamId",this.config.currentTeam));let headers=new globalThis.Headers(opts.headers);headers.set("user-agent",ua_default),DOMAINS_API_PATH.test(url.pathname)&&headers.set("x-vercel-cli-version",pkg_default.version),this.agentName&&headers.set("x-ai-agent",this.agentName),headers.set("x-vercel-cli-session-id",this.telemetryEventStore.currentSessionId),headers.set("x-vercel-cli-invocation-id",this.telemetryEventStore.currentInvocationId),await this.ensureAuthorized();let body;isJSONObject(opts.body)?(body=JSON.stringify(opts.body),headers.set("content-type","application/json; charset=utf-8")):body=opts.body;let method=opts.method||"GET",headersSpan=startTrace(request,"vc.cli.api.headers")?.span;try{let response=await this.fetchWithAuthHeaders(method,url.href,body,authHeaders=>{let attemptHeaders=new globalThis.Headers(headers);for(let[name,value]of Object.entries(authHeaders))attemptHeaders.set(name,value);let requestId=this.requestIdCounter++;return output_manager_default.time(res=>res?`#${requestId} \u2190 ${res.status} ${res.statusText}: ${res.headers.get("x-vercel-id")}`:`#${requestId} \u2192 ${method} ${url.href}`,fetch2(url,{...opts,headers:attemptHeaders,body}))});return headersSpan?.setAttributes({http_status_code:String(response.status)}),request?.span.setAttributes({http_status_code:String(response.status)}),traceResponseBody(response,request?.span,request?.budget),response}catch(error){throw headersSpan?.setAttributes({error:"true"}),error}finally{headersSpan?.stop()}}async fetch(url,opts={}){this.needsTeamChoice(url,opts)&&await this.chooseTeam();let request;this.rootSpan&&this.telemetryEventStore.enabled&&this.tracedRequests<MAX_TRACED_REQUESTS&&(this.tracedRequests++,request=startTrace(this.getTraceContext(),"vc.cli.api.request",requestTraceAttributes(url,opts.method)));try{return await this.fetchWithRetry(url,opts,request)}catch(error){throw request?.span.setAttributes({error:"true"}),error}finally{request?.span.stop()}}fetchWithRetry(url,opts,request){return this.retry(async bail=>{let res;try{res=await this._fetch(url,opts,request)}catch(err){if(err instanceof Error&&(err.name==="AbortError"||err.name==="TimeoutError")||err instanceof DpopKeyUnavailableError||err instanceof DpopRefreshError)return bail(err);throw err}if(printIndications(res),!res.ok){if(opts.redirect==="manual"&&res.status>=300&&res.status<400)return res;let error=await responseError(res);if(isSAMLError(error)&&error.teamId)try{await this.reauthenticate(error)}catch(reauthError){return bail((0,import_error_utils4.normalizeError)(reauthError))}else{if(res.status===429&&opts.bailOn429)return bail(error);if(typeof error.retryAfterMs=="number"){if(opts.retry?.retries===0)return bail(error);let randomSkewMs=3e4*Math.random();await sleep(error.retryAfterMs+randomSkewMs)}else if(res.status>=400&&res.status<500)return bail(error)}throw error}if(opts.json===!1)return res;let contentType=res.headers.get("content-type");return contentType?contentType.includes("application/json")?res.json():res:null},opts.retry)}async*fetchPaginated(url,opts){let endpoint=typeof url=="string"?new URL2(url,this.apiUrl):new URL2(url.href);endpoint.searchParams.has("limit")||endpoint.searchParams.set("limit","100");let next;do{next&&(await sleep(100),endpoint.searchParams.set("until",String(next)));let res=await this.fetch(endpoint.href,opts);yield res,next=res.pagination?.next}while(next)}get cwd(){return process.cwd()}set cwd(v){process.chdir(v)}};function getCachedUsername(authConfig){let{cachedUser,userId}=authConfig;if(!(!cachedUser||cachedUser.id!==userId)&&!(!isValidAccessToken(authConfig)&&!hasRefreshToken(authConfig)))return cachedUser.username}async function getUser(client){return client.user?client.user:(client.userPromise||(client.userPromise=fetchUser(client).finally(()=>{client.userPromise=void 0})),client.userPromise)}async function fetchUser(client){try{let res=await client.fetch("/v2/user",{useCurrentTeam:!1});if(!res.user)throw new MissingUser;let{userId,cachedUser}=client.authConfig;if(userId!==res.user.id||cachedUser?.id!==res.user.id||cachedUser.username!==res.user.username){client.updateAuthConfig({userId:res.user.id,cachedUser:{id:res.user.id,username:res.user.username}});try{client.persistAuthConfig()}catch{output_manager_default.debug("Failed to persist cached userId to auth config.")}}return client.telemetryEventStore.updateUserId(res.user.id),client.user=res.user,res.user}catch(error){if(error instanceof APIError&&error.status===403){if(client.user=void 0,client.userPromise=void 0,client.authConfig.userId||client.authConfig.cachedUser){client.updateAuthConfig({userId:void 0,cachedUser:void 0});try{client.persistAuthConfig()}catch{output_manager_default.debug("Failed to persist cached userId to auth config.")}}throw new InvalidToken(client.authConfig.tokenSource)}throw error}}async function getOrgById(client,orgId){if(orgId.startsWith("team_"))try{let team=await getTeamByIdOrSlug(client,orgId,{useCurrentTeam:!1});return team?{type:"team",id:team.id,slug:team.slug}:null}catch(err){if(isAPIError(err)&&(err.status===404||err.code==="not_found"||err.code==="mock_unimplemented"))return null;throw err}let user=await getUser(client);return user.id!==orgId?null:{type:"user",id:orgId,slug:user.username}}var import_build_utils2=__toESM(require_build_utils(),1);var import_error_utils5=__toESM(require_dist(),1);var import_chalk4=__toESM(require_source(),1),import_pluralize=__toESM(require_pluralize(),1),import_build_utils=__toESM(require_build_utils(),1),import_fs_extra2=__toESM(require_lib2(),1);import{homedir as homedir2}from"os";import{basename as basename2,join as join5}from"path";var home=homedir2();async function getRepoLink(client,cwd){let rootPath=await findRepoRoot(cwd);if(!rootPath)return;let repoConfigPath=join5(rootPath,VERCEL_DIR,VERCEL_DIR_REPO),repoConfig=await(0,import_fs_extra2.readJSON)(repoConfigPath).catch(err=>{if(err.code!=="ENOENT")throw err});return{rootPath,repoConfig,repoConfigPath}}async function resolveGitRemote(client,rootPath,{yes,existingRemoteName}){let gitConfigPath=getGitConfigPath({cwd:rootPath})??join5(rootPath,".git/config"),remoteUrls=await getRemoteUrls(gitConfigPath);if(!remoteUrls)return;let remoteName;if(existingRemoteName){if(remoteName=existingRemoteName,!remoteUrls[remoteName])throw new Error(`Git remote "${remoteName}" from repo.json no longer exists`)}else remoteName=await selectGitRemote(client,Object.keys(remoteUrls),yes);return{rootPath,remoteName,repoUrl:remoteUrls[remoteName]}}async function selectGitRemote(client,names,yes=!1){let remoteNames=[...names].sort(),defaultRemote=remoteNames.includes("origin")?"origin":remoteNames[0];return remoteNames.length===1||yes?defaultRemote:client.input.select({message:"Which Git remote should be used?",choices:remoteNames.map(name=>({name,value:name})),default:defaultRemote})}async function fetchProjectsForRepoUrl(client,repoUrl,orgId){let query=new URLSearchParams({repoUrl}),projectsIterator=client.fetchPaginated(`/v9/projects?${query}`,{accountId:orgId}),projects=[];for await(let chunk of projectsIterator)projects=projects.concat(chunk.projects);return projects}async function linkRepoProject(client,cwd,{project,orgId,orgSlug,remoteName,successEmoji="link"}){let repoLink=await getRepoLink(client,cwd);if(!repoLink)throw new Error("Could not determine Git repository root directory");let directory=(0,import_build_utils.normalizePath)(project.rootDirectory||"."),projectConfig={id:project.id,name:project.name,directory,orgId},filteredProjects=(repoLink.repoConfig?.projects??[]).filter(p=>p.id!==project.id&&(0,import_build_utils.normalizePath)(p.directory)!==directory),repoConfig={remoteName,projects:[...filteredProjects,projectConfig]};return await(0,import_fs_extra2.outputJSON)(repoLink.repoConfigPath,repoConfig,{spaces:2}),await writeReadme(repoLink.rootPath),await addToGitIgnore(repoLink.rootPath),output_manager_default.print(`
45
- `),printAlignedLabel("Linked",`${orgSlug}/${project.name}`,{gutter:"\u2713"}),{repoConfig,repoConfigPath:repoLink.repoConfigPath,rootPath:repoLink.rootPath}}async function discoverRepoProjects(client,rootPath,{yes,existingProjectIds,existingDirectories,existingRemoteName}){let{Separator}=await import("./esm-7FVTQHRH.js"),{default:slugify}=await import("./slugify-NMMUASYK.js"),{default:selectOrg}=await import("./select-org-L5FJVL5Q.js"),{default:createProject}=await import("./create-project-IKCB6MB2.js"),{repoInfoToUrl}=await import("./repo-info-to-url-XQSULSEO.js"),{connectGitProvider,parseRepoUrl}=await import("./connect-git-provider-7KRYVDFS.js"),detectedProjectsPromise=import("./detect-projects-A4H2ZEAP.js").then(({detectProjects})=>detectProjects(rootPath)).catch(err=>(output_manager_default.debug(`Failed to detect local projects: ${err}`),new Map)),confirmMessage=(existingRemoteName?"add":"link")==="add"?`Add Project(s) for Git repository at ${import_chalk4.default.dim(`"${humanizePath(rootPath)}"`)}?`:`Link Git repository at ${import_chalk4.default.dim(`"${humanizePath(rootPath)}"`)} to your Project(s)?`;if(!(yes||await client.input.confirm(confirmMessage,!0))){output_manager_default.print(` Canceled. Repository not linked.
45
+ `),printAlignedLabel("Linked",`${orgSlug}/${project.name}`,{gutter:"\u2713"}),{repoConfig,repoConfigPath:repoLink.repoConfigPath,rootPath:repoLink.rootPath}}async function discoverRepoProjects(client,rootPath,{yes,existingProjectIds,existingDirectories,existingRemoteName}){let{Separator}=await import("./esm-7FVTQHRH.js"),{default:slugify}=await import("./slugify-NMMUASYK.js"),{default:selectOrg}=await import("./select-org-DUL7FO5S.js"),{default:createProject}=await import("./create-project-IKCB6MB2.js"),{repoInfoToUrl}=await import("./repo-info-to-url-XQSULSEO.js"),{connectGitProvider,parseRepoUrl}=await import("./connect-git-provider-AWEOEEOO.js"),detectedProjectsPromise=import("./detect-projects-K7SVMH5T.js").then(({detectProjects})=>detectProjects(rootPath)).catch(err=>(output_manager_default.debug(`Failed to detect local projects: ${err}`),new Map)),confirmMessage=(existingRemoteName?"add":"link")==="add"?`Add Project(s) for Git repository at ${import_chalk4.default.dim(`"${humanizePath(rootPath)}"`)}?`:`Link Git repository at ${import_chalk4.default.dim(`"${humanizePath(rootPath)}"`)} to your Project(s)?`;if(!(yes||await client.input.confirm(confirmMessage,!0))){output_manager_default.print(` Canceled. Repository not linked.
46
46
  `);return}let org=await selectOrg(client,"Which team?",yes);client.config.currentTeam=org.type==="team"?org.id:void 0;let remote=await resolveGitRemote(client,rootPath,{yes,existingRemoteName});if(!remote)throw new Error("Could not determine Git remote URLs");let{remoteName,repoUrl}=remote,parsedRepoUrl=parseRepoUrl(repoUrl);if(!parsedRepoUrl)throw new Error(`Failed to parse Git URL: ${repoUrl}`);let repoUrlLink=output_manager_default.link(repoUrl,repoInfoToUrl(parsedRepoUrl),{fallback:()=>link_default(repoUrl)});output_manager_default.spinner(`Fetching Projects for ${repoUrlLink} under ${import_chalk4.default.bold(org.slug)}\u2026`);let detectedProjects=await detectedProjectsPromise,projects=await fetchProjectsForRepoUrl(client,repoUrl,org.id);(existingProjectIds||existingDirectories)&&(projects=projects.filter(p=>!(existingProjectIds?.has(p.id)||existingDirectories?.has((0,import_build_utils.normalizePath)(p.rootDirectory||"."))))),projects.length===0?output_manager_default.print(` No Projects are linked to ${repoUrlLink} under ${import_chalk4.default.bold(org.slug)}.
47
47
  `):output_manager_default.print(` Found ${(0,import_pluralize.default)("Project",projects.length,!0)} linked to ${repoUrlLink} under ${import_chalk4.default.bold(org.slug)}
48
48
  `);for(let project of projects)detectedProjects.delete(project.rootDirectory??"");if(existingDirectories)for(let dir of existingDirectories)detectedProjects.delete(dir==="."?"":dir);let detectedProjectsCount=Array.from(detectedProjects.values()).reduce((o,f)=>o+f.length,0);detectedProjectsCount>0&&output_manager_default.print(` Detected ${(0,import_pluralize.default)("new Project",detectedProjectsCount,!0)} that may be created.
49
49
  `);let selected;if(yes)selected=projects;else{let addSeparators=projects.length>0&&detectedProjectsCount>0;selected=await client.input.checkbox({message:`Which Projects should be ${projects.length?"linked to":"created"}?`,choices:[...addSeparators?[new Separator("----- Existing Projects -----")]:[],...projects.map(project=>{let dir=project.rootDirectory||".";return{name:`${org.slug}/${project.name} ${import_chalk4.default.gray(`(${dir})`)}`,value:project,checked:!0}}),...addSeparators?[new Separator("----- New Projects to be created -----")]:[],...Array.from(detectedProjects.entries()).flatMap(([rootDirectory,frameworks])=>frameworks.map((framework,i)=>{let name=slugify([basename2(rootDirectory)||basename2(rootPath),i>0?framework.slug:""].filter(Boolean).join("-"));return{name:`${org.slug}/${name} ${import_chalk4.default.gray(`(${rootDirectory||"."} \xB7 ${framework.name})`)}`,value:{newProject:!0,rootDirectory,name,framework},checked:projects.length===0}}))]})}if(selected.length===0){output_manager_default.print(` No Projects were selected. Repository not linked.
50
50
  `);return}for(let i=0;i<selected.length;i++){let selection=selected[i];if(!("newProject"in selection&&selection.newProject))continue;let orgAndName=`${org.slug}/${selection.name}`;output_manager_default.spinner(`Creating new Project: ${orgAndName}`),delete selection.newProject,selection.rootDirectory||delete selection.rootDirectory;let project=selected[i]=await createProject(client,{...selection,framework:selection.framework.slug});await connectGitProvider(client,project.id,parsedRepoUrl.provider,`${parsedRepoUrl.org}/${parsedRepoUrl.repo}`),output_manager_default.print(` Created new Project: ${output_manager_default.link(orgAndName,`https://vercel.com/${orgAndName}`,{fallback:!1})}
51
51
  `)}let repoProjects=selected.map(project=>{if(!("id"in project))throw new TypeError(`Not a Project: ${JSON.stringify(project)}`);return{id:project.id,name:project.name,directory:(0,import_build_utils.normalizePath)(project.rootDirectory||"."),orgId:org.id}});return{remoteName,projects:repoProjects,orgSlug:org.slug}}async function ensureRepoLink(client,cwd,{yes,overwrite}){let repoLink=await getRepoLink(client,cwd);if(repoLink)output_manager_default.debug(`Found Git repository root directory: ${repoLink.rootPath}`);else throw new Error("Could not determine Git repository root directory");let{rootPath,repoConfig,repoConfigPath}=repoLink;if(overwrite||!repoConfig){let result=await discoverRepoProjects(client,rootPath,{yes});if(!result)return;repoConfig={remoteName:result.remoteName,projects:result.projects},await(0,import_fs_extra2.outputJSON)(repoConfigPath,repoConfig,{spaces:2}),await writeReadme(rootPath),await addToGitIgnore(rootPath),printAlignedLabel("Linked",`${(0,import_pluralize.default)("Project",result.projects.length,!0)} under ${result.orgSlug}`,{gutter:"\u2713"})}return{repoConfig,repoConfigPath,rootPath}}async function addRepoLink(client,cwd,{yes}){let repoLink=await getRepoLink(client,cwd);if(!repoLink)throw new Error("Could not determine Git repository root directory");let{rootPath,repoConfig,repoConfigPath}=repoLink;if(!repoConfig)throw new Error("No existing repository link found. Run `vc link --repo` first to link the repository.");output_manager_default.debug(`Found Git repository root directory: ${rootPath}`);let existingProjectIds=new Set(repoConfig.projects.map(p=>p.id)),existingDirectories=new Set(repoConfig.projects.map(p=>p.directory)),result=await discoverRepoProjects(client,rootPath,{yes,existingProjectIds,existingDirectories,existingRemoteName:repoConfig.remoteName});if(!result)return;if(result.projects.length===0)return output_manager_default.print(` No new Projects were added.
52
- `),{repoConfig,repoConfigPath,rootPath};let mergedProjects=[...repoConfig.projects];for(let project of result.projects)existingProjectIds.has(project.id)||mergedProjects.push(project);let updatedConfig={...repoConfig,projects:mergedProjects};return await(0,import_fs_extra2.outputJSON)(repoConfigPath,updatedConfig,{spaces:2}),printAlignedLabel("Added",`${(0,import_pluralize.default)("Project",result.projects.length,!0)} under ${result.orgSlug}`,{gutter:"\u2713"}),{repoConfig:updatedConfig,repoConfigPath,rootPath}}async function findRepoRoot(start){let{debug}=output_manager_default,REPO_JSON_PATH=join5(VERCEL_DIR,VERCEL_DIR_REPO);for(let current of(0,import_build_utils.traverseUpDirectories)({start})){if(current===home){debug("Arrived at home directory");break}let repoConfigPath=join5(current,REPO_JSON_PATH);if(await(0,import_fs_extra2.lstat)(repoConfigPath).catch(err=>{if(err.code!=="ENOENT")throw err}))return debug(`Found "${REPO_JSON_PATH}" - detected "${current}" as repo root`),current}let gitRoot=getGitRootDirectory({cwd:start});if(gitRoot)return debug(`Found git root via "git rev-parse --show-toplevel" - detected "${gitRoot}" as repo root`),gitRoot;for(let current of(0,import_build_utils.traverseUpDirectories)({start})){if(current===home){debug("Arrived at home directory");break}let gitPath=join5(current,".git");if(await(0,import_fs_extra2.lstat)(gitPath).catch(err=>{if(err.code!=="ENOENT")throw err}))return debug(`Found ".git" - detected "${current}" as repo root`),current}debug("Aborting search for repo root")}function sortByDirectory(a,b){let aParts=a.directory.split("/");return b.directory.split("/").length-aParts.length}function findProjectsFromPath(projects,path2){let normalizedPath=(0,import_build_utils.normalizePath)(path2),matches=projects.slice().sort(sortByDirectory).filter(project=>project.directory==="."?!0:normalizedPath===project.directory||normalizedPath.startsWith(`${project.directory}/`)),firstMatch=matches[0];return firstMatch?matches.filter(match=>match.directory===firstMatch.directory):[]}var import_chalk5=__toESM(require_source(),1),import_fs_extra3=__toESM(require_lib2(),1);import{stat}from"fs/promises";import{join as join6,dirname as dirname2}from"path";async function findProjectRoot(startDir){let cwdDev;try{cwdDev=(await stat(startDir)).dev}catch{return null}let dir=dirname2(startDir);for(;dirname2(dir)!==dir;){try{if((await stat(dir)).dev!==cwdDev)return null}catch{return null}let hasVercelDir=await(0,import_fs_extra3.pathExists)(join6(dir,".vercel")),hasVercelJson=await(0,import_fs_extra3.pathExists)(join6(dir,"vercel.json")),hasVercelToml=await(0,import_fs_extra3.pathExists)(join6(dir,"vercel.toml")),hasGit=await(0,import_fs_extra3.pathExists)(join6(dir,".git"));if(hasVercelDir||hasVercelJson||hasVercelToml||hasGit)return dir;dir=dirname2(dir)}return null}async function resolveProjectCwd(cwd){let projectRoot=await findProjectRoot(cwd);if(!projectRoot||projectRoot===cwd)return cwd;let{isExperimentalServicesEnabled,tryDetectServices}=await import("./detect-services-6L57MV5F.js");if(!await isExperimentalServicesEnabled(projectRoot))return cwd;let result=await tryDetectServices(projectRoot);return result&&(result.services?.length??0)>0?(output_manager_default.debug(`Running from project root: ${import_chalk5.default.cyan(projectRoot)}`),projectRoot):cwd}var readFile=promisify(fs3.readFile),writeFile=promisify(fs3.writeFile),VERCEL_DIR=".vercel",VERCEL_DIR_FALLBACK=".now",VERCEL_DIR_README="README.txt",VERCEL_DIR_PROJECT="project.json",VERCEL_DIR_REPO="repo.json";function isOwnerLookupUnavailableLink(link){return"ownerLookupUnavailable"in link&&link.ownerLookupUnavailable===!0}function isRemoteLookupSkippedLink(link){return"remoteLookupSkipped"in link&&link.remoteLookupSkipped===!0}function isOwnerLookupUnavailableError(error){return isAPIError(error)&&error.status===403&&error.code==="team_unauthorized"}function isValidProjectLink(value){if(!value||typeof value!="object"||Array.isArray(value))return!1;let link=value;return typeof link.projectId=="string"&&link.projectId.length>0&&typeof link.orgId=="string"&&link.orgId.length>0&&(link.projectName===void 0||typeof link.projectName=="string"&&link.projectName.length>0)}function getVercelDirectory(cwd){let possibleDirs=[join7(cwd,VERCEL_DIR),join7(cwd,VERCEL_DIR_FALLBACK)],existingDirs=possibleDirs.filter(d=>isDirectory(d));if(existingDirs.length>1)throw new import_build_utils2.NowBuildError({code:"CONFLICTING_CONFIG_DIRECTORIES",message:"Both `.vercel` and `.now` directories exist. Please remove the `.now` directory.",link:"https://vercel.link/combining-old-and-new-config"});return existingDirs[0]||possibleDirs[0]}async function getProjectLink(client,path2,projectName,projectNameIsExplicit){let dirLink=await getLinkFromDir(getVercelDirectory(path2));return dirLink&&(!projectNameIsExplicit||!projectName||dirLink.projectId===projectName||dirLink.projectName===projectName)?dirLink:await getProjectLinkFromRepoLink(client,path2,projectName,projectNameIsExplicit)}async function getProjectLinkFromRepoLink(client,path2,projectName,projectNameIsExplicit){let repoLink=await getRepoLink(client,path2);if(!repoLink?.repoConfig)return null;let projects=findProjectsFromPath(repoLink.repoConfig.projects,relative2(repoLink.rootPath,path2)),project;if(projectName&&projectNameIsExplicit)project=repoLink.repoConfig.projects.find(p=>p.id===projectName||p.name===projectName);else if(projects.length===1)project=projects[0];else{let selectableProjects=projects.length>0?projects:repoLink.repoConfig.projects;if(projectName&&(project=selectableProjects.find(p=>p.id===projectName||p.name===projectName)),!project)if(client.nonInteractive)if(selectableProjects.length===1)project=selectableProjects[0];else return null;else project=await client.input.select({message:"Please select a Project:",choices:selectableProjects.map(p=>({value:p,name:p.name}))})}if(project){let orgId=project.orgId??repoLink.repoConfig.orgId;if(!orgId){let projectInfo=[project.name?`name: "${project.name}"`:"",project.directory?`directory: "${project.directory}"`:""].filter(Boolean).join(", "),details=projectInfo?` Project: { ${projectInfo} }.`:"";throw new Error(`Could not determine org ID from repo.json config at "${repoLink.repoConfigPath}".${details} Please re-link the repository.`)}return{repoRoot:repoLink.rootPath,orgId,projectId:project.id,projectName:project.name,projectRootDirectory:project.directory}}return null}function getLinkedProjectIdSync(dir){try{let link=JSON.parse(fs3.readFileSync(join7(dir,VERCEL_DIR_PROJECT),"utf8"));return isValidProjectLink(link)?link.projectId:void 0}catch{return}}async function getLinkFromDir(dir){try{let json=await readFile(join7(dir,VERCEL_DIR_PROJECT),"utf8"),link=JSON.parse(json);if(!isValidProjectLink(link)){let raw=link,projectId=raw.projectId,orgId=raw.orgId;if(!(typeof projectId=="string"&&projectId.length>0&&typeof orgId=="string"&&orgId.length>0))return null;throw new Error(`Project Settings are invalid. To link your project again, remove the ${dir} directory.`)}return link}catch(err){if((0,import_error_utils5.isErrnoException)(err)&&err.code&&["ENOENT","ENOTDIR"].includes(err.code))return null;throw(0,import_error_utils5.isError)(err)&&err.name==="SyntaxError"?new Error(`Project Settings could not be retrieved. To link your project again, remove the ${dir} directory.`):err}}async function hasLocalProjectLink(client,cwd){try{if(await getLinkFromDir(getVercelDirectory(cwd)))return!0}catch{}try{let repoLink=await getRepoLink(client,cwd);return repoLink?.repoConfig?findProjectsFromPath(repoLink.repoConfig.projects,relative2(repoLink.rootPath,cwd)).length>0:!1}catch{return!1}}async function hasProjectLink(client,projectLink,path2){let VERCEL_ORG_ID=(0,import_build_utils2.getPlatformEnv)("ORG_ID"),VERCEL_PROJECT_ID=(0,import_build_utils2.getPlatformEnv)("PROJECT_ID");if(VERCEL_ORG_ID===projectLink.orgId&&VERCEL_PROJECT_ID===projectLink.projectId)return!0;let repoLink=await getRepoLink(client,path2);if(repoLink?.repoConfig){let matchingProject=repoLink.repoConfig.projects.find(p=>p.id===projectLink.projectId);if(matchingProject){let orgId=matchingProject.orgId??repoLink.repoConfig.orgId;if(!orgId)throw new Error(`Invalid "repo.json": missing "orgId" for project "${matchingProject.id}" and no top-level "orgId" is defined.`);if(orgId===projectLink.orgId)return!0}}let link=await getLinkFromDir(getVercelDirectory(path2));return!!(link&&link.orgId===projectLink.orgId&&link.projectId===projectLink.projectId)}async function getLinkedProject(client,options={}){let path2=options.cwd??client.cwd;options.skipProjectRootResolution||(path2=await resolveProjectCwd(path2));let VERCEL_ORG_ID=(0,import_build_utils2.getPlatformEnv)("ORG_ID"),VERCEL_PROJECT_ID=(0,import_build_utils2.getPlatformEnv)("PROJECT_ID"),shouldUseEnv=!!(VERCEL_ORG_ID&&VERCEL_PROJECT_ID),projectName=options.projectName,projectNameIsExplicit=options.projectNameIsExplicit===!0,explicitProjectName=projectNameIsExplicit?projectName:void 0,hasExplicitProject=!!explicitProjectName,shouldUseEnvContext=shouldUseEnv&&!hasExplicitProject;if(!hasExplicitProject&&(VERCEL_ORG_ID||VERCEL_PROJECT_ID)&&!shouldUseEnv)return options.quiet||output_manager_default.error(`You specified ${VERCEL_ORG_ID?"`VERCEL_ORG_ID`":"`VERCEL_PROJECT_ID`"} but you forgot to specify ${VERCEL_ORG_ID?"`VERCEL_PROJECT_ID`":"`VERCEL_ORG_ID`"}. You need to specify both to deploy to a custom project.
52
+ `),{repoConfig,repoConfigPath,rootPath};let mergedProjects=[...repoConfig.projects];for(let project of result.projects)existingProjectIds.has(project.id)||mergedProjects.push(project);let updatedConfig={...repoConfig,projects:mergedProjects};return await(0,import_fs_extra2.outputJSON)(repoConfigPath,updatedConfig,{spaces:2}),printAlignedLabel("Added",`${(0,import_pluralize.default)("Project",result.projects.length,!0)} under ${result.orgSlug}`,{gutter:"\u2713"}),{repoConfig:updatedConfig,repoConfigPath,rootPath}}async function findRepoRoot(start){let{debug}=output_manager_default,REPO_JSON_PATH=join5(VERCEL_DIR,VERCEL_DIR_REPO);for(let current of(0,import_build_utils.traverseUpDirectories)({start})){if(current===home){debug("Arrived at home directory");break}let repoConfigPath=join5(current,REPO_JSON_PATH);if(await(0,import_fs_extra2.lstat)(repoConfigPath).catch(err=>{if(err.code!=="ENOENT")throw err}))return debug(`Found "${REPO_JSON_PATH}" - detected "${current}" as repo root`),current}let gitRoot=getGitRootDirectory({cwd:start});if(gitRoot)return debug(`Found git root via "git rev-parse --show-toplevel" - detected "${gitRoot}" as repo root`),gitRoot;for(let current of(0,import_build_utils.traverseUpDirectories)({start})){if(current===home){debug("Arrived at home directory");break}let gitPath=join5(current,".git");if(await(0,import_fs_extra2.lstat)(gitPath).catch(err=>{if(err.code!=="ENOENT")throw err}))return debug(`Found ".git" - detected "${current}" as repo root`),current}debug("Aborting search for repo root")}function sortByDirectory(a,b){let aParts=a.directory.split("/");return b.directory.split("/").length-aParts.length}function findProjectsFromPath(projects,path2){let normalizedPath=(0,import_build_utils.normalizePath)(path2),matches=projects.slice().sort(sortByDirectory).filter(project=>project.directory==="."?!0:normalizedPath===project.directory||normalizedPath.startsWith(`${project.directory}/`)),firstMatch=matches[0];return firstMatch?matches.filter(match=>match.directory===firstMatch.directory):[]}var import_chalk5=__toESM(require_source(),1),import_fs_extra3=__toESM(require_lib2(),1);import{stat}from"fs/promises";import{join as join6,dirname as dirname2}from"path";async function findProjectRoot(startDir){let cwdDev;try{cwdDev=(await stat(startDir)).dev}catch{return null}let dir=dirname2(startDir);for(;dirname2(dir)!==dir;){try{if((await stat(dir)).dev!==cwdDev)return null}catch{return null}let hasVercelDir=await(0,import_fs_extra3.pathExists)(join6(dir,".vercel")),hasVercelJson=await(0,import_fs_extra3.pathExists)(join6(dir,"vercel.json")),hasVercelToml=await(0,import_fs_extra3.pathExists)(join6(dir,"vercel.toml")),hasGit=await(0,import_fs_extra3.pathExists)(join6(dir,".git"));if(hasVercelDir||hasVercelJson||hasVercelToml||hasGit)return dir;dir=dirname2(dir)}return null}async function resolveProjectCwd(cwd){let projectRoot=await findProjectRoot(cwd);if(!projectRoot||projectRoot===cwd)return cwd;let{isExperimentalServicesEnabled,tryDetectServices}=await import("./detect-services-5P7KCKFK.js");if(!await isExperimentalServicesEnabled(projectRoot))return cwd;let result=await tryDetectServices(projectRoot);return result&&(result.services?.length??0)>0?(output_manager_default.debug(`Running from project root: ${import_chalk5.default.cyan(projectRoot)}`),projectRoot):cwd}var readFile=promisify(fs3.readFile),writeFile=promisify(fs3.writeFile),VERCEL_DIR=".vercel",VERCEL_DIR_FALLBACK=".now",VERCEL_DIR_README="README.txt",VERCEL_DIR_PROJECT="project.json",VERCEL_DIR_REPO="repo.json";function isOwnerLookupUnavailableLink(link){return"ownerLookupUnavailable"in link&&link.ownerLookupUnavailable===!0}function isRemoteLookupSkippedLink(link){return"remoteLookupSkipped"in link&&link.remoteLookupSkipped===!0}function isOwnerLookupUnavailableError(error){return isAPIError(error)&&error.status===403&&error.code==="team_unauthorized"}function isValidProjectLink(value){if(!value||typeof value!="object"||Array.isArray(value))return!1;let link=value;return typeof link.projectId=="string"&&link.projectId.length>0&&typeof link.orgId=="string"&&link.orgId.length>0&&(link.projectName===void 0||typeof link.projectName=="string"&&link.projectName.length>0)}function getVercelDirectory(cwd){let possibleDirs=[join7(cwd,VERCEL_DIR),join7(cwd,VERCEL_DIR_FALLBACK)],existingDirs=possibleDirs.filter(d=>isDirectory(d));if(existingDirs.length>1)throw new import_build_utils2.NowBuildError({code:"CONFLICTING_CONFIG_DIRECTORIES",message:"Both `.vercel` and `.now` directories exist. Please remove the `.now` directory.",link:"https://vercel.link/combining-old-and-new-config"});return existingDirs[0]||possibleDirs[0]}async function getProjectLink(client,path2,projectName,projectNameIsExplicit){let dirLink=await getLinkFromDir(getVercelDirectory(path2));return dirLink&&(!projectNameIsExplicit||!projectName||dirLink.projectId===projectName||dirLink.projectName===projectName)?dirLink:await getProjectLinkFromRepoLink(client,path2,projectName,projectNameIsExplicit)}async function getProjectLinkFromRepoLink(client,path2,projectName,projectNameIsExplicit){let repoLink=await getRepoLink(client,path2);if(!repoLink?.repoConfig)return null;let projects=findProjectsFromPath(repoLink.repoConfig.projects,relative2(repoLink.rootPath,path2)),project;if(projectName&&projectNameIsExplicit)project=repoLink.repoConfig.projects.find(p=>p.id===projectName||p.name===projectName);else if(projects.length===1)project=projects[0];else{let selectableProjects=projects.length>0?projects:repoLink.repoConfig.projects;if(projectName&&(project=selectableProjects.find(p=>p.id===projectName||p.name===projectName)),!project)if(client.nonInteractive)if(selectableProjects.length===1)project=selectableProjects[0];else return null;else project=await client.input.select({message:"Please select a Project:",choices:selectableProjects.map(p=>({value:p,name:p.name}))})}if(project){let orgId=project.orgId??repoLink.repoConfig.orgId;if(!orgId){let projectInfo=[project.name?`name: "${project.name}"`:"",project.directory?`directory: "${project.directory}"`:""].filter(Boolean).join(", "),details=projectInfo?` Project: { ${projectInfo} }.`:"";throw new Error(`Could not determine org ID from repo.json config at "${repoLink.repoConfigPath}".${details} Please re-link the repository.`)}return{repoRoot:repoLink.rootPath,orgId,projectId:project.id,projectName:project.name,projectRootDirectory:project.directory}}return null}function getLinkedProjectIdSync(dir){try{let link=JSON.parse(fs3.readFileSync(join7(dir,VERCEL_DIR_PROJECT),"utf8"));return isValidProjectLink(link)?link.projectId:void 0}catch{return}}async function getLinkFromDir(dir){try{let json=await readFile(join7(dir,VERCEL_DIR_PROJECT),"utf8"),link=JSON.parse(json);if(!isValidProjectLink(link)){let raw=link,projectId=raw.projectId,orgId=raw.orgId;if(!(typeof projectId=="string"&&projectId.length>0&&typeof orgId=="string"&&orgId.length>0))return null;throw new Error(`Project Settings are invalid. To link your project again, remove the ${dir} directory.`)}return link}catch(err){if((0,import_error_utils5.isErrnoException)(err)&&err.code&&["ENOENT","ENOTDIR"].includes(err.code))return null;throw(0,import_error_utils5.isError)(err)&&err.name==="SyntaxError"?new Error(`Project Settings could not be retrieved. To link your project again, remove the ${dir} directory.`):err}}async function hasLocalProjectLink(client,cwd){try{if(await getLinkFromDir(getVercelDirectory(cwd)))return!0}catch{}try{let repoLink=await getRepoLink(client,cwd);return repoLink?.repoConfig?findProjectsFromPath(repoLink.repoConfig.projects,relative2(repoLink.rootPath,cwd)).length>0:!1}catch{return!1}}async function hasProjectLink(client,projectLink,path2){let VERCEL_ORG_ID=(0,import_build_utils2.getPlatformEnv)("ORG_ID"),VERCEL_PROJECT_ID=(0,import_build_utils2.getPlatformEnv)("PROJECT_ID");if(VERCEL_ORG_ID===projectLink.orgId&&VERCEL_PROJECT_ID===projectLink.projectId)return!0;let repoLink=await getRepoLink(client,path2);if(repoLink?.repoConfig){let matchingProject=repoLink.repoConfig.projects.find(p=>p.id===projectLink.projectId);if(matchingProject){let orgId=matchingProject.orgId??repoLink.repoConfig.orgId;if(!orgId)throw new Error(`Invalid "repo.json": missing "orgId" for project "${matchingProject.id}" and no top-level "orgId" is defined.`);if(orgId===projectLink.orgId)return!0}}let link=await getLinkFromDir(getVercelDirectory(path2));return!!(link&&link.orgId===projectLink.orgId&&link.projectId===projectLink.projectId)}async function getLinkedProject(client,options={}){let path2=options.cwd??client.cwd;options.skipProjectRootResolution||(path2=await resolveProjectCwd(path2));let VERCEL_ORG_ID=(0,import_build_utils2.getPlatformEnv)("ORG_ID"),VERCEL_PROJECT_ID=(0,import_build_utils2.getPlatformEnv)("PROJECT_ID"),shouldUseEnv=!!(VERCEL_ORG_ID&&VERCEL_PROJECT_ID),projectName=options.projectName,projectNameIsExplicit=options.projectNameIsExplicit===!0,explicitProjectName=projectNameIsExplicit?projectName:void 0,hasExplicitProject=!!explicitProjectName,shouldUseEnvContext=shouldUseEnv&&!hasExplicitProject;if(!hasExplicitProject&&(VERCEL_ORG_ID||VERCEL_PROJECT_ID)&&!shouldUseEnv)return options.quiet||output_manager_default.error(`You specified ${VERCEL_ORG_ID?"`VERCEL_ORG_ID`":"`VERCEL_PROJECT_ID`"} but you forgot to specify ${VERCEL_ORG_ID?"`VERCEL_PROJECT_ID`":"`VERCEL_ORG_ID`"}. You need to specify both to deploy to a custom project.
53
53
  `),{status:"error",exitCode:1};let link,explicitlyResolvedProject=null,orgId;if(explicitProjectName){let hasExplicitScope=options.scopeIsExplicit===!0,matchingLocalLink=hasExplicitScope||shouldUseEnv?null:await getProjectLink(client,path2,explicitProjectName,!0),fallbackOrgId=shouldUseEnv?VERCEL_ORG_ID:matchingLocalLink?.orgId??client.config.currentTeam,lookupOrgId=hasExplicitScope?client.config.currentTeam:fallbackOrgId;orgId=lookupOrgId;let apiProject=await getProjectByNameOrId(client,explicitProjectName,lookupOrgId);if(explicitlyResolvedProject=apiProject instanceof ProjectNotFound?null:apiProject,explicitlyResolvedProject===null)link=null;else{let resolvedOrgId=explicitlyResolvedProject.accountId??lookupOrgId??matchingLocalLink?.orgId,localLink=matchingLocalLink?.projectId===explicitlyResolvedProject.id?matchingLocalLink:null;if(!localLink)try{localLink=await getProjectLink(client,path2,explicitlyResolvedProject.id,!0)}catch(err){output_manager_default.debug(`Ignoring local project metadata after explicit project resolution: ${err}`)}link=resolvedOrgId?{...localLink?.projectId===explicitlyResolvedProject.id&&localLink.orgId===resolvedOrgId?localLink:{},projectId:explicitlyResolvedProject.id,orgId:resolvedOrgId}:null}}else link=shouldUseEnvContext?{orgId:VERCEL_ORG_ID,projectId:VERCEL_PROJECT_ID}:await getProjectLink(client,path2,projectName,projectNameIsExplicit),link&&(orgId=link.orgId);if(!link)return{status:"not_linked",org:null,project:null,orgId};if(options.skipRemoteLookup&&link.projectName){let settings=link.settings,localRootDirectory=link.projectRootDirectory??settings?.rootDirectory??null,rootDirectory=localRootDirectory==="."?null:localRootDirectory,project2={...settings,id:link.projectId,accountId:link.orgId,name:link.projectName,createdAt:settings?.createdAt??0,updatedAt:settings?.updatedAt??settings?.createdAt??0,rootDirectory};return{...{status:"linked",org:{type:link.orgId.startsWith("team_")?"team":"user",id:link.orgId,slug:""},project:project2,repoRoot:link.repoRoot,remoteLookupSkipped:!0},projectRootDirectory:link.projectRootDirectory,orgId:link.orgId}}options.quiet||output_manager_default.spinner("Retrieving project\u2026",1e3);let org=null,project=null,ownerLookupUnavailable=!1;try{let[orgResult,projectResult]=await Promise.allSettled([options.skipOwnerLookup?Promise.resolve({type:link.orgId.startsWith("team_")?"team":"user",id:link.orgId,slug:""}):getOrgById(client,link.orgId),explicitlyResolvedProject?Promise.resolve(explicitlyResolvedProject):getProjectByNameOrId(client,link.projectId,link.orgId)]);if(orgResult.status==="fulfilled")org=orgResult.value;else if(isAPIError(orgResult.reason)&&(orgResult.reason.status===404||orgResult.reason.code==="not_found"||orgResult.reason.code==="mock_unimplemented"))org=null;else if(options.allowOwnerLookupFallback&&isOwnerLookupUnavailableError(orgResult.reason))ownerLookupUnavailable=!0;else throw orgResult.reason;if(projectResult.status==="fulfilled")project=projectResult.value;else if(isAPIError(projectResult.reason)&&(projectResult.reason.status===404||projectResult.reason.code==="not_found"||projectResult.reason.code==="mock_unimplemented"))project=new ProjectNotFound(link.projectId);else throw projectResult.reason}catch(err){if(isAPIError(err)&&err.status===403){if(output_manager_default.stopSpinner(),err.missingToken||err.invalidToken)throw new InvalidToken(client.authConfig.tokenSource);if(err.code==="forbidden"||err.code==="team_unauthorized")throw new import_build_utils2.NowBuildError({message:`Could not retrieve Project Settings. To link your Project, remove the ${code(VERCEL_DIR)} directory and deploy again.`,code:"PROJECT_UNAUTHORIZED",link:"https://vercel.link/cannot-load-project-settings"})}throw err}finally{output_manager_default.stopSpinner()}if(ownerLookupUnavailable&&project&&!(project instanceof ProjectNotFound)){let ownerId=project.accountId||link.orgId;return{status:"linked",org:{type:ownerId.startsWith("team_")?"team":"user",id:ownerId,slug:ownerId},project,repoRoot:link.repoRoot,projectRootDirectory:link.projectRootDirectory,orgId:link.orgId,ownerLookupUnavailable:!0}}return!org||!project||project instanceof ProjectNotFound?shouldUseEnvContext?(options.quiet||output_manager_default.error(`Project not found (${JSON.stringify({VERCEL_PROJECT_ID,VERCEL_ORG_ID})})
54
54
  `),{status:"error",exitCode:1,orgId}):(options.quiet||output_manager_default.print(prependEmoji(`Your Project was either deleted, transferred to a new Team, or you don\u2019t have access to it anymore.
55
55
  `,emoji("warning"))),{status:"not_linked",org:null,project:null,orgId:link.orgId}):{status:"linked",org,project,repoRoot:link.repoRoot,projectRootDirectory:link.projectRootDirectory,orgId:link.orgId}}var VERCEL_DIR_README_CONTENT=`> Why do I have a folder named ".vercel" in my project?
@@ -65,6 +65,6 @@ No, you should not share the ".vercel" folder with anyone.
65
65
  Upon creation, it will be automatically added to your ".gitignore" file.
66
66
  `;async function writeReadme(path2){await writeFile(join7(path2,VERCEL_DIR,VERCEL_DIR_README),VERCEL_DIR_README_CONTENT)}async function linkFolderToProject(client,path2,projectLink,projectName,orgSlug,successEmoji="link",autoConfirm=!1,pullEnv=!0,resultLabel="Linked"){if(await hasProjectLink(client,projectLink,path2))return;try{await(0,import_fs_extra4.ensureDir)(join7(path2,VERCEL_DIR))}catch(err){if((0,import_error_utils5.isErrnoException)(err)&&err.code==="ENOTDIR")return;throw err}if(await writeFile(join7(path2,VERCEL_DIR,VERCEL_DIR_PROJECT),JSON.stringify({...projectLink,projectName})),await writeReadme(path2),await addToGitIgnore(path2),output_manager_default.print(`
67
67
  `),printAlignedLabel(resultLabel,`${orgSlug}/${projectName}`,{gutter:"\u2713"}),!pullEnv||!client.stdin.isTTY||client.nonInteractive)return;if(output_manager_default.print(`
68
- `),autoConfirm||await client.input.confirm("Pull development environment variables into .env.local?",!0)){let originalCwd=client.cwd;try{client.cwd=path2;let args=autoConfirm?["--yes"]:[],{default:pull}=await import("./pull-LPIT3XUR.js");await pull(client,args,"vercel-cli:link")!==0&&output_manager_default.error("Failed to pull environment variables. You can run `vc env pull` manually.")}catch{output_manager_default.error("Failed to pull environment variables. You can run `vc env pull` manually.")}finally{client.cwd=originalCwd}}}async function addToGitIgnore(path2,ignore=VERCEL_DIR){let isGitIgnoreUpdated=!1;try{let gitIgnorePath=join8(path2,".gitignore"),gitIgnore=await(0,import_fs_extra5.readFile)(gitIgnorePath,"utf8").catch(()=>null)??"",EOL=gitIgnore.includes(`\r
68
+ `),autoConfirm||await client.input.confirm("Pull development environment variables into .env.local?",!0)){let originalCwd=client.cwd;try{client.cwd=path2;let args=autoConfirm?["--yes"]:[],{default:pull}=await import("./pull-3NAMWMU6.js");await pull(client,args,"vercel-cli:link")!==0&&output_manager_default.error("Failed to pull environment variables. You can run `vc env pull` manually.")}catch{output_manager_default.error("Failed to pull environment variables. You can run `vc env pull` manually.")}finally{client.cwd=originalCwd}}}async function addToGitIgnore(path2,ignore=VERCEL_DIR){let isGitIgnoreUpdated=!1;try{let gitIgnorePath=join8(path2,".gitignore"),gitIgnore=await(0,import_fs_extra5.readFile)(gitIgnorePath,"utf8").catch(()=>null)??"",EOL=gitIgnore.includes(`\r
69
69
  `)?`\r
70
- `:os2.EOL,contentModified=!1;gitIgnore.split(EOL).includes(ignore)||(gitIgnore+=`${gitIgnore.endsWith(EOL)||gitIgnore.length===0?"":EOL}${ignore}${EOL}`,contentModified=!0),contentModified&&(await(0,import_fs_extra5.writeFile)(gitIgnorePath,gitIgnore),isGitIgnoreUpdated=!0)}catch{}return isGitIgnoreUpdated}export{require_lib2 as require_lib,humanizePath,highlight,require_dist2 as require_dist,ua_default,responseError,printIndications,require_types,getProjectByNameOrId,getOrgById,isDirectory,require_pluralize,execFileAsync,getGitExecutable,getGitConfigPath,createGitMeta,parseGitConfig,pluckRemoteUrls,getRemoteUrls,addToGitIgnore,getRepoLink,resolveGitRemote,selectGitRemote,fetchProjectsForRepoUrl,linkRepoProject,ensureRepoLink,addRepoLink,findRepoRoot,findProjectsFromPath,VERCEL_CONFIG_EXTENSIONS,DEFAULT_VERCEL_CONFIG_FILENAME,resolveProjectCwd,require_ignore,require_dist3 as require_dist2,isDpopLoginEnabled,createDpopKey,deleteDpopKey,deviceAuthorizationRequest,processDeviceAuthorizationResponse,deviceAccessTokenRequest,processTokenResponse,revocationRequest,processRevocationResponse,isOAuthError,inspectTokenRequest,processInspectTokenResponse,isPromptBackError,isPromptCanceledError,VERCEL_DIR,VERCEL_DIR_README,VERCEL_DIR_PROJECT,isOwnerLookupUnavailableLink,isRemoteLookupSkippedLink,getVercelDirectory,getProjectLink,getLinkedProjectIdSync,getLinkFromDir,hasLocalProjectLink,getLinkedProject,linkFolderToProject,localConfigFlagPath,getLocalPathConfig,readConfigFile,writeToConfigFile,readAuthConfigFile,persistAuthConfig,getConfigFilePath2 as getConfigFilePath,getAuthConfigFilePath2 as getAuthConfigFilePath,readLocalConfig,startTrace,traceOperation,sleep,TEAM_NOT_CHOSEN,isJSONObject,isValidAccessToken,Client,getCachedUsername,getUser};
70
+ `:os.EOL,contentModified=!1;gitIgnore.split(EOL).includes(ignore)||(gitIgnore+=`${gitIgnore.endsWith(EOL)||gitIgnore.length===0?"":EOL}${ignore}${EOL}`,contentModified=!0),contentModified&&(await(0,import_fs_extra5.writeFile)(gitIgnorePath,gitIgnore),isGitIgnoreUpdated=!0)}catch{}return isGitIgnoreUpdated}export{require_lib2 as require_lib,humanizePath,highlight,require_dist2 as require_dist,responseError,printIndications,getProjectByNameOrId,getOrgById,isDirectory,require_pluralize,execFileAsync,getGitExecutable,getGitConfigPath,createGitMeta,parseGitConfig,pluckRemoteUrls,getRemoteUrls,addToGitIgnore,getRepoLink,resolveGitRemote,selectGitRemote,fetchProjectsForRepoUrl,linkRepoProject,ensureRepoLink,addRepoLink,findRepoRoot,findProjectsFromPath,VERCEL_CONFIG_EXTENSIONS,DEFAULT_VERCEL_CONFIG_FILENAME,resolveProjectCwd,require_ignore,require_dist3 as require_dist2,isDpopLoginEnabled,createDpopKey,deleteDpopKey,deviceAuthorizationRequest,processDeviceAuthorizationResponse,deviceAccessTokenRequest,processTokenResponse,revocationRequest,processRevocationResponse,isOAuthError,inspectTokenRequest,processInspectTokenResponse,isPromptBackError,isPromptCanceledError,VERCEL_DIR,VERCEL_DIR_README,VERCEL_DIR_PROJECT,isOwnerLookupUnavailableLink,isRemoteLookupSkippedLink,getVercelDirectory,getProjectLink,getLinkedProjectIdSync,getLinkFromDir,hasLocalProjectLink,getLinkedProject,linkFolderToProject,localConfigFlagPath,getLocalPathConfig,readConfigFile,writeToConfigFile,readAuthConfigFile,persistAuthConfig,getConfigFilePath2 as getConfigFilePath,getAuthConfigFilePath2 as getAuthConfigFilePath,readLocalConfig,startTrace,traceOperation,sleep,TEAM_NOT_CHOSEN,isJSONObject,isValidAccessToken,Client,getCachedUsername,getUser};