vercel 62.7.0 → 63.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{add-P3FNSVMN.js → add-BODUK747.js} +1 -1
- package/dist/chunks/{add-OXHI3PVM.js → add-QKGWNVQS.js} +1 -1
- package/dist/chunks/{add-WUT6QU2J.js → add-ZLY3DE35.js} +1 -1
- package/dist/chunks/{build-J6VW3KHT.js → build-SD6SLRK7.js} +1 -1
- package/dist/chunks/{chunk-N6CNMMSZ.js → chunk-25565AGS.js} +1 -1
- package/dist/chunks/{chunk-M4IVLSNQ.js → chunk-25S4PQNK.js} +1 -1
- package/dist/chunks/{chunk-T52FMXWC.js → chunk-2EYYB6YN.js} +1 -1
- package/dist/chunks/{chunk-YPTLSODC.js → chunk-2GHZGOWT.js} +1 -1
- package/dist/chunks/{chunk-MIG67KZ2.js → chunk-2H243SJV.js} +1 -1
- package/dist/chunks/{chunk-YW5R6XQI.js → chunk-2JBVMF2Y.js} +1 -1
- package/dist/chunks/{chunk-YUDKK2QJ.js → chunk-2LGNEOKV.js} +1 -1
- package/dist/chunks/{chunk-CR2ZQBDU.js → chunk-2WYDLP7X.js} +1 -1
- package/dist/chunks/{chunk-M3HO5CTQ.js → chunk-3AF3TTCR.js} +1 -1
- package/dist/chunks/{chunk-6EW4BCMR.js → chunk-3DMY3OJR.js} +1 -1
- package/dist/chunks/{chunk-NNP5NITU.js → chunk-3E364MJE.js} +1 -1
- package/dist/chunks/{chunk-M5NWE7EO.js → chunk-3EYOQC4R.js} +1 -1
- package/dist/chunks/{chunk-SXUEGVWB.js → chunk-3G3FQYMW.js} +1 -1
- package/dist/chunks/{chunk-IEKUTNKT.js → chunk-4A5SGLIH.js} +1 -1
- package/dist/chunks/{chunk-BRK4OB4B.js → chunk-4SAVH3H7.js} +1 -1
- package/dist/chunks/chunk-5RR3435W.js +10 -0
- package/dist/chunks/{chunk-CRITS7IX.js → chunk-64U5W6GU.js} +1 -1
- package/dist/chunks/{chunk-WPS6JZF6.js → chunk-67GZ5REA.js} +1 -1
- package/dist/chunks/{chunk-COQGD2EI.js → chunk-6JGC4YDH.js} +1 -1
- package/dist/chunks/{chunk-YZBYL3SH.js → chunk-6LRVRPYO.js} +1 -1
- package/dist/chunks/chunk-6ZMFJA5X.js +7 -0
- package/dist/chunks/chunk-75IAMKGV.js +27 -0
- package/dist/chunks/{chunk-6TAQ6OWD.js → chunk-773GOZIR.js} +1 -1
- package/dist/chunks/{chunk-NYFB3EYC.js → chunk-7D2HVBVP.js} +1 -1
- package/dist/chunks/{chunk-L3JDEHCQ.js → chunk-7EJQLVWX.js} +1 -1
- package/dist/chunks/{chunk-U4C2LU7H.js → chunk-7V2F5IUY.js} +1 -1
- package/dist/chunks/{chunk-XPXOV5UO.js → chunk-A2RZZQEP.js} +1 -1
- package/dist/chunks/{chunk-FEEG5UU2.js → chunk-A5R2HHNK.js} +1 -1
- package/dist/chunks/{chunk-EDDOQXEI.js → chunk-AG5QQNJ3.js} +1 -1
- package/dist/chunks/{chunk-WOTPEBSH.js → chunk-AMDHTZDV.js} +1 -1
- package/dist/chunks/{chunk-5XJNPXQK.js → chunk-AOWWC6WZ.js} +1 -1
- package/dist/chunks/{chunk-35QK5NDD.js → chunk-AU42HSQ3.js} +1 -1
- package/dist/chunks/{chunk-FB3U3RAM.js → chunk-AUZEOUZU.js} +1 -1
- package/dist/chunks/{chunk-46UCIIJN.js → chunk-AZ76R3LW.js} +1 -1
- package/dist/chunks/{chunk-NM67DIPQ.js → chunk-AZULOP7M.js} +1 -1
- package/dist/chunks/{chunk-5JN3FWV2.js → chunk-B3K6GM2W.js} +1 -1
- package/dist/chunks/{chunk-ULHETT7U.js → chunk-B3PZ3I4Z.js} +1 -1
- package/dist/chunks/{chunk-JKTQV2QJ.js → chunk-B4YYOSPY.js} +1 -1
- package/dist/chunks/{chunk-KKS7XWEX.js → chunk-BPUANOGW.js} +1 -1
- package/dist/chunks/{chunk-GU6VIFR5.js → chunk-BRQUZ5NC.js} +1 -1
- package/dist/chunks/{chunk-RMZJP32R.js → chunk-BRUTDRAQ.js} +1 -1
- package/dist/chunks/{chunk-OSCCYU74.js → chunk-BS32OUOC.js} +1 -1
- package/dist/chunks/{chunk-5M45EBVX.js → chunk-BWY67LI6.js} +1 -1
- package/dist/chunks/{chunk-6L236MNA.js → chunk-BZENIQ7N.js} +1 -1
- package/dist/chunks/{chunk-UKMRJIIZ.js → chunk-BZYQ6RFV.js} +1 -1
- package/dist/chunks/{chunk-DZZFEAM6.js → chunk-CNU4T7FO.js} +1 -1
- package/dist/chunks/{chunk-7RR7MIMT.js → chunk-COD3WAUI.js} +1 -1
- package/dist/chunks/{chunk-4H5LPD3T.js → chunk-CRO7VQWK.js} +1 -1
- package/dist/chunks/{chunk-XCJDGQO7.js → chunk-D3AHZ5LI.js} +1 -1
- package/dist/chunks/{chunk-THB7KY2N.js → chunk-DZ6GORJ7.js} +1 -1
- package/dist/chunks/{chunk-2H77IRPI.js → chunk-EAUDC24V.js} +1 -1
- package/dist/chunks/{chunk-5AXNGQJC.js → chunk-EO7GUARB.js} +1 -1
- package/dist/chunks/{chunk-GUTZ45DE.js → chunk-ESMQCFCX.js} +1 -1
- package/dist/chunks/{chunk-ZDX75YNZ.js → chunk-F4KY2TOK.js} +1 -1
- package/dist/chunks/{chunk-2I64AYHG.js → chunk-FBYA6LLM.js} +1 -1
- package/dist/chunks/{chunk-ZN37NQM4.js → chunk-FMAF3AKI.js} +2 -2
- package/dist/chunks/{chunk-JNLWD6DK.js → chunk-GRTIWUV2.js} +1 -1
- package/dist/chunks/{chunk-A73N3QKT.js → chunk-GSOPJJO5.js} +1 -1
- package/dist/chunks/{chunk-J6OPPI3A.js → chunk-GWB27IAS.js} +1 -1
- package/dist/chunks/{chunk-DGH5CD6D.js → chunk-H7LHZZKU.js} +1 -1
- package/dist/chunks/{chunk-LWQVT6YW.js → chunk-HJ3NY4UA.js} +1 -1
- package/dist/chunks/{chunk-AEEEEOYS.js → chunk-HMS3UIQ2.js} +1 -1
- package/dist/chunks/{chunk-W26LLGQV.js → chunk-HRR57QNP.js} +1 -1
- package/dist/chunks/{chunk-MCBO6LL7.js → chunk-HUJPGK7W.js} +3 -3
- package/dist/chunks/{chunk-VWBJWUYQ.js → chunk-IAUAFUO2.js} +1 -1
- package/dist/chunks/{chunk-MBL6TXEJ.js → chunk-ID663OJ7.js} +1 -1
- package/dist/chunks/{chunk-N3ZZ7FHQ.js → chunk-ISWW3DKF.js} +1 -1
- package/dist/chunks/{chunk-OI263FBO.js → chunk-J24BABG4.js} +1 -1
- package/dist/chunks/{chunk-FAW6NBLQ.js → chunk-JALVF3C2.js} +1 -1
- package/dist/chunks/{chunk-FI772UVH.js → chunk-JESNVRVR.js} +1 -1
- package/dist/chunks/{chunk-ZTUQEA2X.js → chunk-JLXG2XWW.js} +1 -1
- package/dist/chunks/{chunk-TAT5WGDZ.js → chunk-JSBEAHKA.js} +1 -1
- package/dist/chunks/{chunk-GMTLVRN7.js → chunk-JTAAWOJS.js} +2 -2
- package/dist/chunks/{chunk-3ZMD36SU.js → chunk-KNBEUC4P.js} +1 -1
- package/dist/chunks/{chunk-FQJCWZ4C.js → chunk-KTNRWBHM.js} +1 -1
- package/dist/chunks/{chunk-M4IWOZEG.js → chunk-L5FUUGYX.js} +1 -1
- package/dist/chunks/{chunk-UED2PPFP.js → chunk-LSQREJXO.js} +1 -1
- package/dist/chunks/{chunk-S54ISKGR.js → chunk-LU5O3NH7.js} +1 -1
- package/dist/chunks/{chunk-XQQ7DTQG.js → chunk-MA4K5IWW.js} +2 -2
- package/dist/chunks/{chunk-4MZK6JT6.js → chunk-MCRKBVZA.js} +1 -1
- package/dist/chunks/{chunk-CF2PIWRO.js → chunk-MEJTHWZB.js} +1 -1
- package/dist/chunks/{chunk-23NBYS6R.js → chunk-MVCAUS4F.js} +1 -1
- package/dist/chunks/{chunk-M2W3HKV3.js → chunk-MVGTMPMI.js} +1 -1
- package/dist/chunks/{chunk-QTKJC2O5.js → chunk-MXTC4ZAQ.js} +1 -1
- package/dist/chunks/{chunk-6C4RPAG7.js → chunk-MYCQIZU6.js} +1 -1
- package/dist/chunks/{chunk-3XLK5ZPD.js → chunk-MYMM34ZH.js} +4 -4
- package/dist/chunks/chunk-MZ6DNAVL.js +7 -0
- package/dist/chunks/{chunk-UKVEXM5O.js → chunk-N7L3XLWC.js} +1 -1
- package/dist/chunks/{chunk-4QSVBLAS.js → chunk-N7Q2IESO.js} +1 -1
- package/dist/chunks/{chunk-U7KCDTCH.js → chunk-NB2WLB3J.js} +1 -1
- package/dist/chunks/{chunk-LG4JQAY7.js → chunk-NZ2TFADV.js} +1 -1
- package/dist/chunks/{chunk-2KSNNB4B.js → chunk-NZBUIMZG.js} +1 -1
- package/dist/chunks/{chunk-TRTEXGVN.js → chunk-O4FDRZ22.js} +1 -1
- package/dist/chunks/{chunk-WNTA7DCC.js → chunk-OA446564.js} +1 -1
- package/dist/chunks/{chunk-O5A7CNRV.js → chunk-OH2RT2GN.js} +1 -1
- package/dist/chunks/{chunk-AVSPFBLM.js → chunk-OO572JUC.js} +1 -1
- package/dist/chunks/{chunk-WRILLB46.js → chunk-PFD7LETF.js} +1 -1
- package/dist/chunks/{chunk-ORJGSUQT.js → chunk-PSBBSY46.js} +1 -1
- package/dist/chunks/{chunk-ULLWCOYC.js → chunk-PVASGBEF.js} +1 -1
- package/dist/chunks/{chunk-JZRMH5UA.js → chunk-Q7D7RGXM.js} +1 -1
- package/dist/chunks/{chunk-OQVE2WXX.js → chunk-QC47UKDR.js} +1 -1
- package/dist/chunks/{chunk-7SNMU7U7.js → chunk-QJKJBD2M.js} +1 -1
- package/dist/chunks/{chunk-KXMVFT2K.js → chunk-QW2UP4W4.js} +1 -1
- package/dist/chunks/{chunk-BHBNTQRT.js → chunk-QZRZ6ECD.js} +1 -1
- package/dist/chunks/{chunk-LYKPLTZ7.js → chunk-R4VVQRLX.js} +1 -1
- package/dist/chunks/{chunk-QGIQK47P.js → chunk-RM3ZDRYE.js} +1 -1
- package/dist/chunks/{chunk-B4ATVYZW.js → chunk-ROPQIBWJ.js} +1 -1
- package/dist/chunks/{chunk-OHDEHZLX.js → chunk-RRDNKB2X.js} +1 -1
- package/dist/chunks/{chunk-7PNYOSDU.js → chunk-RRWEIG6B.js} +1 -1
- package/dist/chunks/{chunk-MOLEXKVC.js → chunk-RZGWCQP7.js} +1 -1
- package/dist/chunks/{chunk-H3QRCTIJ.js → chunk-S7XZC23O.js} +1 -1
- package/dist/chunks/{chunk-PHW54NU5.js → chunk-SACGQMVQ.js} +1 -1
- package/dist/chunks/{chunk-SOJCELXH.js → chunk-SCV7XEEO.js} +1 -1
- package/dist/chunks/{chunk-O3UY73UQ.js → chunk-SF4E3AQ3.js} +1 -1
- package/dist/chunks/{chunk-QZ2G3AMY.js → chunk-SSEVYTJ7.js} +1 -1
- package/dist/chunks/{chunk-ECMWDZTJ.js → chunk-SY4EANZH.js} +3 -3
- package/dist/chunks/{chunk-4KQBTIMZ.js → chunk-T6SFC3IH.js} +1 -1
- package/dist/chunks/{chunk-YGMOJBSP.js → chunk-T76ITV65.js} +2 -2
- package/dist/chunks/{chunk-YKOIVWZI.js → chunk-TBLIJ2PS.js} +1 -1
- package/dist/chunks/{chunk-UOZHC2ZG.js → chunk-TKA7PPGY.js} +1 -1
- package/dist/chunks/{chunk-V426AGVC.js → chunk-U5C6XOLA.js} +2 -2
- package/dist/chunks/{chunk-774D3BGN.js → chunk-UFXKCETS.js} +1 -1
- package/dist/chunks/{chunk-RSLPLRVK.js → chunk-UTW2FDSC.js} +1 -1
- package/dist/chunks/{chunk-6DJ6PMEK.js → chunk-V2BKSCXI.js} +1 -1
- package/dist/chunks/{chunk-LXNMVWYO.js → chunk-V336CYEI.js} +1 -1
- package/dist/chunks/{chunk-YEWZFZ2O.js → chunk-VIBUYIZ3.js} +1 -1
- package/dist/chunks/chunk-VJEQAITW.js +24 -0
- package/dist/chunks/{chunk-F2ZWW2IO.js → chunk-VKPZP4LC.js} +1 -1
- package/dist/chunks/{chunk-RCTYVKM5.js → chunk-VKXEOL4K.js} +1 -1
- package/dist/chunks/chunk-VNSQCAVT.js +11 -0
- package/dist/chunks/{chunk-FAJB3JV5.js → chunk-VOB4W7DO.js} +1 -1
- package/dist/chunks/{chunk-PE7QZUY7.js → chunk-VSE5BAPP.js} +1 -1
- package/dist/chunks/{chunk-ZNQI6M3S.js → chunk-W6LNIG5O.js} +1 -1
- package/dist/chunks/{chunk-5ZQF5WIO.js → chunk-WF5YVWWY.js} +1 -1
- package/dist/chunks/{chunk-Q7AYTXUR.js → chunk-WH3SHWVK.js} +1 -1
- package/dist/chunks/{chunk-G3NHWIPJ.js → chunk-WJ4VNTE3.js} +1 -1
- package/dist/chunks/{chunk-LCH3SUJ7.js → chunk-X3JK3SQ2.js} +1 -1
- package/dist/chunks/{chunk-B2L2QTXT.js → chunk-XEQT373M.js} +1 -1
- package/dist/chunks/{chunk-I5JR7PIO.js → chunk-XJOOPPSQ.js} +1 -1
- package/dist/chunks/{chunk-RYMRVMGD.js → chunk-YAPHSZJ7.js} +6 -7
- package/dist/chunks/{chunk-7HL2RPUO.js → chunk-YHPPP3SF.js} +1 -1
- package/dist/chunks/{chunk-SR5XEF7L.js → chunk-YLTCVZOL.js} +1 -1
- package/dist/chunks/{chunk-7T6TL3GQ.js → chunk-YYPNUQDI.js} +1 -1
- package/dist/chunks/{chunk-GHM7V3GG.js → chunk-ZS2WS4AM.js} +1 -1
- package/dist/chunks/{chunk-K2RQEX7N.js → chunk-ZUCSA4IW.js} +1 -1
- package/dist/chunks/{cjs-GOQHXIHX.js → cjs-2SMN43VH.js} +1 -1
- package/dist/chunks/{clear-VMJVLPVR.js → clear-PYDGQBSS.js} +1 -1
- package/dist/chunks/{compile-vercel-config-YCLXPL5H.js → compile-vercel-config-KWSIFONF.js} +1 -1
- package/dist/chunks/{config-JPX6NJMJ.js → config-6TQFY5DN.js} +1 -1
- package/dist/chunks/{config-YMUUPO3R.js → config-Y3JEZPVK.js} +1 -1
- package/dist/chunks/config-validator.mjs +1 -1
- package/dist/chunks/{connect-git-provider-KLSBCSD2.js → connect-git-provider-HW23GK35.js} +1 -1
- package/dist/chunks/{constants-G4UYVLOF.js → constants-JAB7MRSK.js} +1 -1
- package/dist/chunks/{create-project-SRQGD4JY.js → create-project-IKCB6MB2.js} +1 -1
- package/dist/chunks/{delete-EEY7M6XT.js → delete-HAOLSE35.js} +1 -1
- package/dist/chunks/{delete-E7J4B5E5.js → delete-ZISJ7HIW.js} +1 -1
- package/dist/chunks/detect-projects-3CQ6ANGU.js +7 -0
- package/dist/chunks/detect-services-22KZAGH2.js +7 -0
- package/dist/chunks/{disable-5TKY6JK2.js → disable-ZCEEK2BD.js} +1 -1
- package/dist/chunks/{discard-ALSOF66H.js → discard-VHO5BXYN.js} +1 -1
- package/dist/chunks/{edit-ISUCMYNW.js → edit-JRYFZ5N5.js} +1 -1
- package/dist/chunks/{edit-2M3KEE3H.js → edit-ZPNWEZWU.js} +1 -1
- package/dist/chunks/{enable-2QTTTYQD.js → enable-USQVAN4K.js} +1 -1
- package/dist/chunks/{esm-SZZI53W7.js → esm-33752ISR.js} +1 -1
- package/dist/chunks/esm-4JKEE7PC.js +7 -0
- package/dist/chunks/{esm-CXICLFA3.js → esm-BYG5BWYH.js} +1 -1
- package/dist/chunks/{esm-NQRLKALI.js → esm-DFFBNKNU.js} +1 -1
- package/dist/chunks/{esm-7HVUFWMN.js → esm-IF453UWS.js} +1 -1
- package/dist/chunks/{esm-BZBEM7YA.js → esm-LABWDJ72.js} +1 -1
- package/dist/chunks/{esm-HDEHVK7I.js → esm-TG37FXTU.js} +1 -1
- package/dist/chunks/{exec-XIQJ2A3J.js → exec-QZXH5RXR.js} +1 -1
- package/dist/chunks/{export-PV2NDS7C.js → export-H7YV6NVF.js} +1 -1
- package/dist/chunks/{fetch-proxy-AEAWC6MD.js → fetch-proxy-OC6B22AW.js} +1 -1
- package/dist/chunks/future-PHRPWAVY.js +7 -0
- package/dist/chunks/generate-cert-for-deploy-WLYVWTBG.js +7 -0
- package/dist/chunks/{image-6GL2UOA2.js → image-6KIQRC65.js} +1 -1
- package/dist/chunks/import-builders-YAC6UE33.js +7 -0
- package/dist/chunks/{inspect-FK6GC5JZ.js → inspect-BQELJ5EI.js} +1 -1
- package/dist/chunks/{inspect-UNL54246.js → inspect-DWOQ6566.js} +1 -1
- package/dist/chunks/{inspect-ORVORGUM.js → inspect-HJQWRFHR.js} +1 -1
- package/dist/chunks/{inspect-LZMU7RIU.js → inspect-MRJ6JO7M.js} +1 -1
- package/dist/chunks/{inspect-3HGROSZO.js → inspect-SEGNEPGI.js} +1 -1
- package/dist/chunks/{list-FVUIZPC7.js → list-HS54LLJ5.js} +1 -1
- package/dist/chunks/{list-WOUJM4WR.js → list-OCU47YHP.js} +1 -1
- package/dist/chunks/{list-EWJI2WSQ.js → list-S2XKQMNX.js} +1 -1
- package/dist/chunks/{login-JREQ7SLY.js → login-K6VYVJPS.js} +1 -1
- package/dist/chunks/login-SKAMFH7S.js +7 -0
- package/dist/chunks/logs-KZSKOQUN.js +7 -0
- package/dist/chunks/{ls-4COX4SMJ.js → ls-DTEGGHQA.js} +1 -1
- package/dist/chunks/{ls-W5SJUIHD.js → ls-G5NTVYUB.js} +1 -1
- package/dist/chunks/{ls-LXBUE4LZ.js → ls-LBBI45ZT.js} +1 -1
- package/dist/chunks/{ls-6DOYSBQM.js → ls-LCY7BHOP.js} +1 -1
- package/dist/chunks/{ls-RBWPVJ5G.js → ls-NUM6IQL6.js} +1 -1
- package/dist/chunks/{ls-6CD2OQGA.js → ls-TE7BAMHR.js} +1 -1
- package/dist/chunks/{ls-AHT2FRGM.js → ls-ZYM3DQXI.js} +1 -1
- package/dist/chunks/{mutate-TVUHBRBK.js → mutate-BAFVNNRU.js} +1 -1
- package/dist/chunks/{notifications-OXOSD6UK.js → notifications-3EB3ZEU3.js} +1 -1
- package/dist/chunks/{open-SWPHB54M.js → open-J4X5KJ6A.js} +1 -1
- package/dist/chunks/{openapi-32XHDVJL.js → openapi-C5BHMHWS.js} +1 -1
- package/dist/chunks/{permissions-A4WMGETJ.js → permissions-JMFKPIO4.js} +1 -1
- package/dist/chunks/{pkg-YFU67U7I.js → pkg-EDJQLCNP.js} +1 -1
- package/dist/chunks/prompt-missing-credentials-VS3ZJSCQ.js +7 -0
- package/dist/chunks/{publish-2CS4RYJW.js → publish-WWI5HOAL.js} +1 -1
- package/dist/chunks/pull-MTQAMT4L.js +7 -0
- package/dist/chunks/purchase-domain-if-available-ZIIAF7CC.js +7 -0
- package/dist/chunks/{push-OPRW7M4I.js → push-PBKUSKXQ.js} +1 -1
- package/dist/chunks/{query-22PGP7BC.js → query-5VGUVE2A.js} +2 -2
- package/dist/chunks/{reauthenticate-LMR25CIE.js → reauthenticate-UGBXSWZE.js} +1 -1
- package/dist/chunks/{reorder-Y3NMEA2S.js → reorder-S2ZJML5K.js} +1 -1
- package/dist/chunks/{reply-YEZHST2Q.js → reply-3GFULOMZ.js} +1 -1
- package/dist/chunks/{repo-info-to-url-SK3VX6UL.js → repo-info-to-url-XQSULSEO.js} +1 -1
- package/dist/chunks/{resolve-QC37E2EB.js → resolve-USEBSFUT.js} +1 -1
- package/dist/chunks/{resolve-deployment-framework-preset-QEPJNWVF.js → resolve-deployment-framework-preset-JPT2MRPA.js} +1 -1
- package/dist/chunks/{restore-RMQVGYQB.js → restore-JD7IGDTY.js} +1 -1
- package/dist/chunks/{rm-42U6SPVV.js → rm-3V47KPK6.js} +1 -1
- package/dist/chunks/{rm-4MSUYUEP.js → rm-ARMNSPGQ.js} +1 -1
- package/dist/chunks/{rm-DPHE34CD.js → rm-BYOBKSWY.js} +1 -1
- package/dist/chunks/{rm-43MPIHP3.js → rm-EQYVIFNX.js} +1 -1
- package/dist/chunks/{rm-JHWXYHJY.js → rm-RHRKS7XG.js} +1 -1
- package/dist/chunks/{routes-2GTCE542.js → routes-NID5V7EJ.js} +1 -1
- package/dist/chunks/rule-inspect-5DZ7OXGE.js +8 -0
- package/dist/chunks/{rules-6KWBVUF2.js → rules-CM2ARIWZ.js} +1 -1
- package/dist/chunks/{schema-OUFU5V7Z.js → schema-SZUKDSY2.js} +1 -1
- package/dist/chunks/{schema-S2DE7S5N.js → schema-V75RRXXF.js} +1 -1
- package/dist/chunks/select-org-SH4JT6RI.js +7 -0
- package/dist/chunks/{set-VXSNREF4.js → set-LY4YI5FZ.js} +1 -1
- package/dist/chunks/setup-and-link-MWLALWAS.js +7 -0
- package/dist/chunks/{slugify-O5DBATYT.js → slugify-NMMUASYK.js} +1 -1
- package/dist/chunks/stamp-TKONNIJ5.js +7 -0
- package/dist/chunks/{tags-AGLQDT3Z.js → tags-P5GB7HTF.js} +1 -1
- package/dist/chunks/{types-GQNKYZJH.js → types-OC7OTQNK.js} +1 -1
- package/dist/chunks/{update-TI3YRVQT.js → update-SOD622HT.js} +1 -1
- package/dist/chunks/{update-route-version-XZAFPQJC.js → update-route-version-KWK5S4UW.js} +1 -1
- package/dist/chunks/{utils-5BFO5HC4.js → utils-IQZEE4DT.js} +1 -1
- package/dist/chunks/{vlt-builder-graph-S4YJ5UTQ.js → vlt-builder-graph-XL2XRO4V.js} +1 -1
- package/dist/chunks/{vlt-builder-importer-2ITR3DMQ.js → vlt-builder-importer-RBUPAB6J.js} +1 -1
- package/dist/commands/build/index.js +3 -3
- package/dist/commands/deploy/index.js +6 -6
- package/dist/commands/dev/index.js +7 -7
- package/dist/commands/env/index.js +1 -1
- package/dist/commands/link/index.js +1 -1
- package/dist/commands/list/index.js +1 -1
- package/dist/commands-bulk.js +441 -428
- package/dist/help.js +1 -1
- package/dist/index.js +2 -2
- package/dist/internal-build-worker.js +1 -1
- package/dist/internal-build.js +2 -2
- package/dist/vc.js +60 -2
- package/dist/version.mjs +1 -1
- package/package.json +53 -53
- package/dist/chunks/chunk-APSIFBD4.js +0 -7
- package/dist/chunks/chunk-EQ24OC5G.js +0 -24
- package/dist/chunks/chunk-ONPJXQQ6.js +0 -10
- package/dist/chunks/chunk-Q2YQSMIB.js +0 -26
- package/dist/chunks/chunk-SMC4MGY5.js +0 -7
- package/dist/chunks/chunk-YTIANIL7.js +0 -11
- package/dist/chunks/detect-projects-AWDCPVLE.js +0 -7
- package/dist/chunks/detect-services-E2TWAKQS.js +0 -7
- package/dist/chunks/esm-WGJFGCLK.js +0 -7
- package/dist/chunks/future-SQS5POAL.js +0 -7
- package/dist/chunks/generate-cert-for-deploy-4EJRA7MS.js +0 -7
- package/dist/chunks/import-builders-KAZMYQCR.js +0 -7
- package/dist/chunks/login-IJLY5XTT.js +0 -7
- package/dist/chunks/logs-Z7IMGFO2.js +0 -7
- package/dist/chunks/prompt-missing-credentials-6IXO6VND.js +0 -7
- package/dist/chunks/pull-WWUH4M5V.js +0 -7
- package/dist/chunks/purchase-domain-if-available-TAXCYIV7.js +0 -7
- package/dist/chunks/rule-inspect-7LIPL5YY.js +0 -8
- package/dist/chunks/select-org-EL66MG67.js +0 -7
- package/dist/chunks/setup-and-link-I7SGZNGO.js +0 -7
- package/dist/chunks/stamp-OX4YO3KY.js +0 -7
|
@@ -4,6 +4,6 @@ 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{readJSONFile}from"./chunk-
|
|
7
|
+
import{readJSONFile}from"./chunk-BRUTDRAQ.js";import{getScope,writeToConfigFile}from"./chunk-DZ6GORJ7.js";import{require_types}from"./chunk-ZS2WS4AM.js";import{getArgs}from"./chunk-R4VVQRLX.js";import{humanizePath}from"./chunk-PPCFQQSU.js";import{CantFindConfig,CantParseJSONFile,DeprecatedNowJson,WorkingDirectoryDoesNotExist}from"./chunk-AZULOP7M.js";import{cliErrorFromUnknown,output_manager_default,recordCliError}from"./chunk-75IAMKGV.js";import{require_dist}from"./chunk-RM3ZDRYE.js";import{__commonJS,__toESM}from"./chunk-BZENIQ7N.js";var require_epipebomb=__commonJS({"../../node_modules/.pnpm/epipebomb@1.0.0/node_modules/epipebomb/epipebomb.js"(exports,module){module.exports=epipeBomb;function epipeBomb(stream,callback){stream==null&&(stream=process.stdout),callback==null&&(callback=process.exit);function epipeFilter(err){if(err.code==="EPIPE")return callback();stream.listeners("error").length<=1&&(stream.removeAllListeners(),stream.emit("error",err),stream.on("error",epipeFilter))}stream.on("error",epipeFilter)}}});var sentry;async function getSentry(){if(!sentry){let[SentryModule,{SENTRY_DSN},{default:pkg}]=await Promise.all([import("./cjs-2SMN43VH.js"),import("./constants-JAB7MRSK.js"),import("./pkg-EDJQLCNP.js")]),Sentry="init"in SentryModule?SentryModule:SentryModule.default;Sentry.init({dsn:SENTRY_DSN,release:`vercel-cli@${pkg.version}`,environment:"stable",autoSessionTracking:!1}),sentry=Sentry}return sentry}function isOutputDebugEnabled(debugFlag){return debugFlag===!0||process.env.VERCEL_CLI_DEBUG==="1"}var import_epipebomb=__toESM(require_epipebomb(),1),SILENCED_ERRORS=["DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead."],installed=!1;function installProcessGuards(){if(installed)return;installed=!0;let originalError=console.error;console.error=msg=>{SILENCED_ERRORS.some(error=>typeof msg=="string"&&msg.includes(error))||originalError(msg)},(0,import_epipebomb.default)()}var import_error_utils=__toESM(require_dist(),1);async function reportError(sentry2,client,error){if(ignoreError(error))return;let user,team,scopeError;try{({user,team}=await getScope(client))}catch(err){(0,import_error_utils.isError)(err)&&(scopeError=err)}sentry2.withScope(scope=>{if(user){let spec={email:user.email,id:user.id,username:user.username,name:user.name};scope.setUser(spec)}team&&scope.setTag("currentTeam",team.id),scopeError&&scope.setExtra("scopeError",{name:scopeError.name,message:scopeError.message,stack:scopeError.stack});let args,argsError;try{args=getArgs(process.argv.slice(2),{})}catch(err){(0,import_error_utils.isError)(err)&&(argsError=err)}if(args){let flags=["--env","--build-env","--token"];for(let flag of flags)args[flag]&&(args[flag]="REDACTED");args._.length>=4&&args._[0].startsWith("secret")&&args._[1]==="add"&&(args._[3]="REDACTED"),scope.setExtra("args",args)}else{let msg="Unable to parse args";argsError&&(msg+=`: ${argsError}`),scope.setExtra("args",msg)}scope.setExtra("node",{execPath:process.execPath,version:process.version,platform:process.platform}),sentry2.captureException(error)});let sentryClient=sentry2.getCurrentHub().getClient();sentryClient&&await sentryClient.close()}function ignoreError(error){return(0,import_error_utils.isError)(error)&&error.message.includes("uv_cwd")}var fatalErrorHandlerSymbol=Symbol.for("vercel.cli.fatal-error-handler");async function exitWithUnexpectedError(error){let handler=globalThis[fatalErrorHandlerSymbol];if(typeof handler=="function")try{await handler(error)}catch{}process.exit(1)}async function handleUnexpectedError(client,err){let{message}=err;return message.includes("sentry")&&message.includes("ENOTFOUND")?(output_manager_default.debug(`Sentry is not reachable: ${err}`),!1):(output_manager_default.error(`An unexpected error occurred!
|
|
8
8
|
${err.stack}`),await reportError(await getSentry(),client,err),!0)}function registerUnexpectedErrorHandlers(getClient){process.on("unhandledRejection",async err=>{recordCliError(cliErrorFromUnknown(err)),err?err instanceof Error?await handleUnexpectedError(getClient(),err):(output_manager_default.error(`An unexpected rejection occurred
|
|
9
9
|
${err}`),await reportError(await getSentry(),getClient(),err)):output_manager_default.error("An unexpected empty rejection occurred"),await exitWithUnexpectedError(err)}),process.on("uncaughtException",async error=>{await handleUnexpectedError(getClient(),error)&&await exitWithUnexpectedError(error)})}var import_types=__toESM(require_types(),1);import path from"path";var import_error_utils2=__toESM(require_dist(),1);var config;async function earlyGetConfig(configFile){if(config)return config;let localPath;try{localPath=process.cwd()}catch(err){if((0,import_error_utils2.isErrnoException)(err)&&err.code==="ENOENT")return new WorkingDirectoryDoesNotExist;throw err}if(configFile){let localFilePath=path.resolve(localPath,configFile);output_manager_default.debug(`Found config in provided --local-config path ${localFilePath}`);let localConfig=await readJSONFile(localFilePath);return localConfig instanceof CantParseJSONFile?localConfig:localConfig===null?new CantFindConfig([humanizePath(localFilePath)]):(config=localConfig,config[import_types.fileNameSymbol]=configFile,config)}let vercelFilePath=path.resolve(localPath,"vercel.json"),nowFilePath=path.resolve(localPath,"now.json"),[vercelConfig,nowConfig]=await Promise.all([readJSONFile(vercelFilePath),readJSONFile(nowFilePath)]);return vercelConfig instanceof CantParseJSONFile?vercelConfig:nowConfig instanceof CantParseJSONFile?nowConfig:vercelConfig!==null?(output_manager_default.debug(`Found config in file "${vercelFilePath}"`),config=vercelConfig,config[import_types.fileNameSymbol]="vercel.json",config):nowConfig!==null?new DeprecatedNowJson(nowFilePath):new CantFindConfig([vercelFilePath].map(humanizePath))}var fallbackReason;function recordDirectBuildFallback(reason){fallbackReason=reason}function getDirectBuildFallbackAttributes(){return fallbackReason===void 0?void 0:{directBuild:"false",fallbackReason}}function checkTelemetryStatus({config:config2}){config2.telemetry||process.env.VERCEL_TELEMETRY_DISABLED||(output_manager_default.note("The Vercel CLI now collects telemetry regarding usage of the CLI."),output_manager_default.log("This information is used to shape the CLI roadmap and prioritize features."),output_manager_default.log("You can learn more, including how to opt-out if you'd not like to participate in this program, by visiting the following URL:"),output_manager_default.log("https://vercel.com/docs/cli/about-telemetry"),config2.telemetry={enabled:!0},writeToConfigFile(config2))}export{getSentry,isOutputDebugEnabled,installProcessGuards,reportError,exitWithUnexpectedError,handleUnexpectedError,registerUnexpectedErrorHandlers,earlyGetConfig,recordDirectBuildFallback,getDirectBuildFallbackAttributes,checkTelemetryStatus};
|
|
@@ -4,4 +4,4 @@ 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{__commonJS,__require}from"./chunk-
|
|
7
|
+
import{__commonJS,__require}from"./chunk-BZENIQ7N.js";var require_is_docker=__commonJS({"../../node_modules/.pnpm/is-docker@2.2.1/node_modules/is-docker/index.js"(exports,module){"use strict";var fs=__require("fs"),isDocker;function hasDockerEnv(){try{return fs.statSync("/.dockerenv"),!0}catch{return!1}}function hasDockerCGroup(){try{return fs.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}module.exports=()=>(isDocker===void 0&&(isDocker=hasDockerEnv()||hasDockerCGroup()),isDocker)}});var require_is_wsl=__commonJS({"../../node_modules/.pnpm/is-wsl@2.2.0/node_modules/is-wsl/index.js"(exports,module){"use strict";var os=__require("os"),fs=__require("fs"),isDocker=require_is_docker(),isWsl=()=>{if(process.platform!=="linux")return!1;if(os.release().toLowerCase().includes("microsoft"))return!isDocker();try{return fs.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!isDocker():!1}catch{return!1}};process.env.__IS_WSL_TEST__?module.exports=isWsl:module.exports=isWsl()}});var require_define_lazy_prop=__commonJS({"../../node_modules/.pnpm/define-lazy-prop@2.0.0/node_modules/define-lazy-prop/index.js"(exports,module){"use strict";module.exports=(object,propertyName,fn)=>{let define=value=>Object.defineProperty(object,propertyName,{value,enumerable:!0,writable:!0});return Object.defineProperty(object,propertyName,{configurable:!0,enumerable:!0,get(){let result=fn();return define(result),result},set(value){define(value)}}),object}}});var require_open=__commonJS({"../../node_modules/.pnpm/open@8.4.0/node_modules/open/index.js"(exports,module){var path=__require("path"),childProcess=__require("child_process"),{promises:fs,constants:fsConstants}=__require("fs"),isWsl=require_is_wsl(),isDocker=require_is_docker(),defineLazyProperty=require_define_lazy_prop(),localXdgOpenPath=path.join(__dirname,"xdg-open"),{platform,arch}=process,getWslDrivesMountPoint=(()=>{let defaultMountPoint="/mnt/",mountPoint;return async function(){if(mountPoint)return mountPoint;let configFilePath="/etc/wsl.conf",isConfigFileExists=!1;try{await fs.access(configFilePath,fsConstants.F_OK),isConfigFileExists=!0}catch{}if(!isConfigFileExists)return defaultMountPoint;let configContent=await fs.readFile(configFilePath,{encoding:"utf8"}),configMountPoint=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);return configMountPoint?(mountPoint=configMountPoint.groups.mountPoint.trim(),mountPoint=mountPoint.endsWith("/")?mountPoint:`${mountPoint}/`,mountPoint):defaultMountPoint}})(),pTryEach=async(array,mapper)=>{let latestError;for(let item of array)try{return await mapper(item)}catch(error){latestError=error}throw latestError},baseOpen=async options=>{if(options={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...options},Array.isArray(options.app))return pTryEach(options.app,singleApp=>baseOpen({...options,app:singleApp}));let{name:app,arguments:appArguments=[]}=options.app||{};if(appArguments=[...appArguments],Array.isArray(app))return pTryEach(app,appName=>baseOpen({...options,app:{name:appName,arguments:appArguments}}));let command,cliArguments=[],childProcessOptions={};if(platform==="darwin")command="open",options.wait&&cliArguments.push("--wait-apps"),options.background&&cliArguments.push("--background"),options.newInstance&&cliArguments.push("--new"),app&&cliArguments.push("-a",app);else if(platform==="win32"||isWsl&&!isDocker()){let mountPoint=await getWslDrivesMountPoint();command=isWsl?`${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,cliArguments.push("-NoProfile","-NonInteractive","\u2013ExecutionPolicy","Bypass","-EncodedCommand"),isWsl||(childProcessOptions.windowsVerbatimArguments=!0);let encodedArguments=["Start"];options.wait&&encodedArguments.push("-Wait"),app?(encodedArguments.push(`"\`"${app}\`""`,"-ArgumentList"),options.target&&appArguments.unshift(options.target)):options.target&&encodedArguments.push(`"${options.target}"`),appArguments.length>0&&(appArguments=appArguments.map(arg=>`"\`"${arg}\`""`),encodedArguments.push(appArguments.join(","))),options.target=Buffer.from(encodedArguments.join(" "),"utf16le").toString("base64")}else{if(app)command=app;else{let isBundled=!__dirname||__dirname==="/",exeLocalXdgOpen=!1;try{await fs.access(localXdgOpenPath,fsConstants.X_OK),exeLocalXdgOpen=!0}catch{}command=process.versions.electron||platform==="android"||isBundled||!exeLocalXdgOpen?"xdg-open":localXdgOpenPath}appArguments.length>0&&cliArguments.push(...appArguments),options.wait||(childProcessOptions.stdio="ignore",childProcessOptions.detached=!0)}options.target&&cliArguments.push(options.target),platform==="darwin"&&appArguments.length>0&&cliArguments.push("--args",...appArguments);let subprocess=childProcess.spawn(command,cliArguments,childProcessOptions);return options.wait?new Promise((resolve,reject)=>{subprocess.once("error",reject),subprocess.once("close",exitCode=>{if(options.allowNonzeroExitCode&&exitCode>0){reject(new Error(`Exited with code ${exitCode}`));return}resolve(subprocess)})}):(subprocess.unref(),subprocess)},open=(target,options)=>{if(typeof target!="string")throw new TypeError("Expected a `target`");return baseOpen({...options,target})},openApp=(name,options)=>{if(typeof name!="string")throw new TypeError("Expected a `name`");let{arguments:appArguments=[]}=options||{};if(appArguments!=null&&!Array.isArray(appArguments))throw new TypeError("Expected `appArguments` as Array type");return baseOpen({...options,app:{name,arguments:appArguments}})};function detectArchBinary(binary){if(typeof binary=="string"||Array.isArray(binary))return binary;let{[arch]:archBinary}=binary;if(!archBinary)throw new Error(`${arch} is not supported`);return archBinary}function detectPlatformBinary({[platform]:platformBinary},{wsl}){if(wsl&&isWsl)return detectArchBinary(wsl);if(!platformBinary)throw new Error(`${platform} is not supported`);return detectArchBinary(platformBinary)}var apps={};defineLazyProperty(apps,"chrome",()=>detectPlatformBinary({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));defineLazyProperty(apps,"firefox",()=>detectPlatformBinary({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));defineLazyProperty(apps,"edge",()=>detectPlatformBinary({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));open.apps=apps;open.openApp=openApp;module.exports=open}});export{require_open};
|
|
@@ -4,4 +4,4 @@ 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{require_ms}from"./chunk-
|
|
7
|
+
import{require_ms}from"./chunk-MXTC4ZAQ.js";import{require_source}from"./chunk-NB2WLB3J.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_ms=__toESM(require_ms(),1),import_chalk=__toESM(require_source(),1);function elapsed(time,ago=!1){return import_chalk.default.gray(`[${time<1e3?`${time}ms`:(0,import_ms.default)(time)}${ago?" ago":""}]`)}export{elapsed};
|
|
@@ -4,4 +4,4 @@ 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{projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-FI772UVH.js";var listSubcommand={name:"list",aliases:["ls"],description:"List all routing rules for the current project. These routes apply to all deployments and environments.",arguments:[],options:[projectOption,{name:"search",description:"Search by name, description, source, or destination",shorthand:"s",type:String,argument:"QUERY",deprecated:!1},{name:"filter",description:"Filter by type: rewrite, redirect, set_status, transform",shorthand:"f",type:String,argument:"TYPE",deprecated:!1},{name:"production",description:"List routes from the live production version",shorthand:null,type:Boolean,deprecated:!1},{name:"version-id",description:"List routes from a specific version ID",shorthand:null,type:String,argument:"VERSION_ID",deprecated:!1},{name:"diff",description:"Compare staged changes against production. Use with --version-id to compare a specific version.",shorthand:null,type:Boolean,deprecated:!1},{name:"expand",description:"Show expanded details for each route",shorthand:"e",type:Boolean,deprecated:!1}],examples:[{name:"List all routes",value:`${packageName} routes list`},{name:"Search for routes",value:`${packageName} routes list --search "api"`},{name:"Filter by type",value:`${packageName} routes list --filter rewrite`},{name:"Show staged changes",value:`${packageName} routes list --diff`},{name:"Show live production routes",value:`${packageName} routes list --production`},{name:"Show expanded details",value:`${packageName} routes list --expand`}]},listVersionsSubcommand={name:"list-versions",aliases:["ls-versions"],description:"List all versions of routing rules",arguments:[],options:[projectOption,{name:"count",description:"Number of versions to fetch (default: 20, max: 100)",shorthand:null,type:Number,argument:"NUMBER",deprecated:!1}],examples:[{name:"List route versions",value:`${packageName} routes list-versions`},{name:"List more versions",value:`${packageName} routes list-versions --count 50`}]},inspectSubcommand={name:"inspect",aliases:[],description:"Show detailed information about a specific route",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"diff",description:"Compare staged changes against production for this route",shorthand:null,type:Boolean,deprecated:!1}],examples:[{name:"Inspect a route by name",value:`${packageName} routes inspect "API rewrite"`},{name:"Inspect a route by ID",value:`${packageName} routes inspect abc123`},{name:"Show staged changes for a route",value:`${packageName} routes inspect "My route" --diff`}]},addSubcommand={name:"add",aliases:[],description:"Add a new routing rule to the project",arguments:[{name:"name",required:!1}],options:[projectOption,{name:"src",description:"Path pattern (required in non-interactive mode)",shorthand:null,type:String,argument:"PATTERN",deprecated:!1},{name:"src-syntax",description:"Path syntax: regex (default), path-to-regexp, equals",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"action",description:"Action type: rewrite, redirect, or set-status (required with --dest/--status)",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"dest",description:"Destination URL for rewrite or redirect",shorthand:null,type:String,argument:"URL",deprecated:!1},{name:"status",description:"Status code (301/302/307/308 for redirect, or any for set-status)",shorthand:null,type:Number,argument:"CODE",deprecated:!1},{name:"set-response-header",description:"Set response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-response-header",description:"Append to response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-response-header",description:"Delete response header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-header",description:"Set request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-request-header",description:"Append to request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-request-header",description:"Delete request header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-query",description:"Set query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"append-request-query",description:"Append to query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"delete-request-query",description:"Delete query parameter: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"has",description:"Condition that must match: type:key or type:key:value (repeatable)",shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"missing",description:'"Does not have" condition: type:key or type:key:value (repeatable)',shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"description",description:"Route description (max 1024 chars)",shorthand:null,type:String,argument:"TEXT",deprecated:!1},{name:"disabled",description:"Create route in disabled state",shorthand:null,type:Boolean,deprecated:!1},{name:"ai",description:"Generate route from a natural language description (AI-powered)",shorthand:null,type:String,argument:"PROMPT",deprecated:!1},{name:"position",description:"Position: start, end, after:<id>, before:<id>",shorthand:null,type:String,argument:"POSITION",deprecated:!1},{name:"yes",description:"Skip confirmation prompts",shorthand:"y",type:Boolean,deprecated:!1}],examples:[{name:"Interactive mode",value:`${packageName} routes add`},{name:"Create with AI",value:`${packageName} routes add --ai "Rewrite /api/* to https://backend.internal/*"`},{name:"Add a rewrite",value:`${packageName} routes add "API Proxy" --src "/api/:path*" --src-syntax path-to-regexp --action rewrite --dest "https://api.example.com/:path*" --yes`},{name:"Add a redirect",value:`${packageName} routes add "Old Blog" --src "/blog" --src-syntax equals --action redirect --dest "/articles" --status 301 --yes`},{name:"Add CORS headers",value:`${packageName} routes add "CORS" --src "^/api/.*$" --set-response-header "Access-Control-Allow-Origin=*" --yes`},{name:"Block access (set status)",value:`${packageName} routes add "Block Admin" --src "^/admin/.*$" --action set-status --status 403 --yes`},{name:"Conditional redirect",value:`${packageName} routes add "Auth Required" --src "/protected/:path*" --src-syntax path-to-regexp --action redirect --dest "/login" --status 307 --missing "cookie:session" --yes`},{name:"Rewrite with request headers",value:`${packageName} routes add "Backend Proxy" --src "/backend/:path*" --src-syntax path-to-regexp --action rewrite --dest "https://internal.example.com/:path*" --set-request-header "X-Forwarded-Host=myapp.com" --yes`},{name:"Add route at start",value:`${packageName} routes add "Priority Route" --src "/priority" --src-syntax equals --action rewrite --dest "/handler" --position start --yes`}]},publishSubcommand={name:"publish",aliases:[],description:"Publish all staged routing changes to production",arguments:[],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when publishing"}],examples:[{name:"Publish staged changes",value:`${packageName} routes publish`},{name:"Publish without confirmation",value:`${packageName} routes publish --yes`}]},restoreSubcommand={name:"restore",aliases:[],description:"Restore a previous routing version to production",arguments:[{name:"version-id",required:!0}],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when restoring"}],examples:[{name:"Restore a previous version",value:`${packageName} routes restore <version-id>`},{name:"Restore without confirmation",value:`${packageName} routes restore <version-id> --yes`}]},discardSubcommand={name:"discard-staging",aliases:[],description:"Discard staged routing changes",arguments:[],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when discarding"}],examples:[{name:"Discard staged changes",value:`${packageName} routes discard-staging`},{name:"Discard without confirmation",value:`${packageName} routes discard-staging --yes`}]},deleteSubcommand={name:"delete",aliases:["rm"],description:"Delete one or more routing rules",arguments:[{name:"name-or-id",required:!0,multiple:!0}],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when deleting"}],examples:[{name:"Delete a route by name",value:`${packageName} routes delete "Old Redirect"`},{name:"Delete a route by ID",value:`${packageName} routes delete abc123`},{name:"Delete multiple routes",value:`${packageName} routes delete "Route A" "Route B"`},{name:"Delete without confirmation",value:`${packageName} routes delete "Old Route" --yes`}]},enableSubcommand={name:"enable",aliases:[],description:"Enable a disabled routing rule",arguments:[{name:"name-or-id",required:!0}],options:[projectOption],examples:[{name:"Enable a route by name",value:`${packageName} routes enable "API Proxy"`},{name:"Enable a route by ID",value:`${packageName} routes enable abc123`}]},disableSubcommand={name:"disable",aliases:[],description:"Disable a routing rule without deleting it",arguments:[{name:"name-or-id",required:!0}],options:[projectOption],examples:[{name:"Disable a route by name",value:`${packageName} routes disable "API Proxy"`},{name:"Disable a route by ID",value:`${packageName} routes disable abc123`}]},reorderSubcommand={name:"reorder",aliases:["move"],description:"Move a routing rule to a different position",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"position",description:"Target position: start, end, a number (1-based), before:<id>, after:<id>",shorthand:null,type:String,argument:"POSITION",deprecated:!1},{name:"first",description:"Move to the first position (highest priority)",shorthand:null,type:Boolean,deprecated:!1},{name:"last",description:"Move to the last position (lowest priority)",shorthand:null,type:Boolean,deprecated:!1},{...yesOption,description:"Skip the confirmation prompt when reordering"}],examples:[{name:"Move to first position",value:`${packageName} routes reorder "Catch All" --first`},{name:"Move to last position",value:`${packageName} routes reorder "Catch All" --last`},{name:"Move to a specific position",value:`${packageName} routes reorder "API Proxy" --position 3`},{name:"Move after another route",value:`${packageName} routes reorder "API Proxy" --position after:route-id-123`},{name:"Interactive reorder (prompts for position)",value:`${packageName} routes reorder "API Proxy"`}]},editSubcommand={name:"edit",aliases:[],description:"Edit an existing routing rule",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"name",description:"Change route name",shorthand:null,type:String,argument:"NAME",deprecated:!1},{name:"description",description:'Change description (use "" to clear)',shorthand:null,type:String,argument:"TEXT",deprecated:!1},{name:"src",description:"Change source path pattern",shorthand:null,type:String,argument:"PATTERN",deprecated:!1},{name:"src-syntax",description:"Change path syntax: regex, path-to-regexp, equals",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"action",description:"Set action type: rewrite, redirect, or set-status (required when switching types)",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"dest",description:"Set destination URL",shorthand:null,type:String,argument:"URL",deprecated:!1},{name:"status",description:"Set status code",shorthand:null,type:Number,argument:"CODE",deprecated:!1},{name:"no-dest",description:"Remove destination",shorthand:null,type:Boolean,deprecated:!1},{name:"no-status",description:"Remove status code",shorthand:null,type:Boolean,deprecated:!1},{name:"set-response-header",description:"Set response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-response-header",description:"Append to response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-response-header",description:"Delete response header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-header",description:"Set request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-request-header",description:"Append to request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-request-header",description:"Delete request header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-query",description:"Set query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"append-request-query",description:"Append to query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"delete-request-query",description:"Delete query parameter: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"has",description:"Add a has condition: type:key or type:key:value (repeatable)",shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"missing",description:'Add a "does not have" condition: type:key or type:key:value (repeatable)',shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"clear-conditions",description:"Remove all has/does-not-have conditions",shorthand:null,type:Boolean,deprecated:!1},{name:"clear-headers",description:"Remove all response headers",shorthand:null,type:Boolean,deprecated:!1},{name:"clear-transforms",description:"Remove all transforms (request headers, request query)",shorthand:null,type:Boolean,deprecated:!1},{name:"ai",description:"Describe changes using natural language (AI-powered)",shorthand:null,type:String,argument:"PROMPT",deprecated:!1},{...yesOption,description:"Skip confirmation prompts"}],examples:[{name:"Interactive mode",value:`${packageName} routes edit "API Proxy"`},{name:"Edit with AI",value:`${packageName} routes edit "API Proxy" --ai "Add CORS headers and change status to 308"`},{name:"Change destination",value:`${packageName} routes edit "API Proxy" --dest "https://new-api.example.com/:path*"`},{name:"Switch to redirect",value:`${packageName} routes edit "Old Route" --action redirect --dest "/new" --status 301`},{name:"Add a response header",value:`${packageName} routes edit "My Route" --set-response-header "Cache-Control=public, max-age=3600"`},{name:"Clear all conditions and add new ones",value:`${packageName} routes edit "My Route" --clear-conditions --has "header:Authorization"`}]},exportSubcommand={name:"export",aliases:[],description:"Export routes to a vercel.json or vercel.ts file",arguments:[{name:"name-or-id",required:!1}],options:[projectOption,{name:"output",description:"Output file format: .json (default) or .ts",shorthand:"o",type:String,argument:"json|ts",deprecated:!1}],examples:[{name:"Export as vercel.json format",value:`${packageName} routes export`},{name:"Export as vercel.ts format",value:`${packageName} routes export --output ts`},{name:"Export a specific route",value:`${packageName} routes export "API Proxy"`},{name:"Export to a file",value:`${packageName} routes export > routes.json`}]},routesCommand={name:"routes",aliases:[],description:"Manage routing rules for a project. Routes managed at the project level apply to all deployments and environments.",arguments:[],subcommands:[listSubcommand,listVersionsSubcommand,inspectSubcommand,addSubcommand,editSubcommand,deleteSubcommand,enableSubcommand,disableSubcommand,reorderSubcommand,exportSubcommand,publishSubcommand,restoreSubcommand,discardSubcommand],options:[],examples:[]};export{listSubcommand,listVersionsSubcommand,inspectSubcommand,addSubcommand,publishSubcommand,restoreSubcommand,discardSubcommand,deleteSubcommand,enableSubcommand,disableSubcommand,reorderSubcommand,editSubcommand,exportSubcommand,routesCommand};
|
|
7
|
+
import{projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";var listSubcommand={name:"list",aliases:["ls"],description:"List all routing rules for the current project. These routes apply to all deployments and environments.",arguments:[],options:[projectOption,{name:"search",description:"Search by name, description, source, or destination",shorthand:"s",type:String,argument:"QUERY",deprecated:!1},{name:"filter",description:"Filter by type: rewrite, redirect, set_status, transform",shorthand:"f",type:String,argument:"TYPE",deprecated:!1},{name:"production",description:"List routes from the live production version",shorthand:null,type:Boolean,deprecated:!1},{name:"version-id",description:"List routes from a specific version ID",shorthand:null,type:String,argument:"VERSION_ID",deprecated:!1},{name:"diff",description:"Compare staged changes against production. Use with --version-id to compare a specific version.",shorthand:null,type:Boolean,deprecated:!1},{name:"expand",description:"Show expanded details for each route",shorthand:"e",type:Boolean,deprecated:!1}],examples:[{name:"List all routes",value:`${packageName} routes list`},{name:"Search for routes",value:`${packageName} routes list --search "api"`},{name:"Filter by type",value:`${packageName} routes list --filter rewrite`},{name:"Show staged changes",value:`${packageName} routes list --diff`},{name:"Show live production routes",value:`${packageName} routes list --production`},{name:"Show expanded details",value:`${packageName} routes list --expand`}]},listVersionsSubcommand={name:"list-versions",aliases:["ls-versions"],description:"List all versions of routing rules",arguments:[],options:[projectOption,{name:"count",description:"Number of versions to fetch (default: 20, max: 100)",shorthand:null,type:Number,argument:"NUMBER",deprecated:!1}],examples:[{name:"List route versions",value:`${packageName} routes list-versions`},{name:"List more versions",value:`${packageName} routes list-versions --count 50`}]},inspectSubcommand={name:"inspect",aliases:[],description:"Show detailed information about a specific route",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"diff",description:"Compare staged changes against production for this route",shorthand:null,type:Boolean,deprecated:!1}],examples:[{name:"Inspect a route by name",value:`${packageName} routes inspect "API rewrite"`},{name:"Inspect a route by ID",value:`${packageName} routes inspect abc123`},{name:"Show staged changes for a route",value:`${packageName} routes inspect "My route" --diff`}]},addSubcommand={name:"add",aliases:[],description:"Add a new routing rule to the project",arguments:[{name:"name",required:!1}],options:[projectOption,{name:"src",description:"Path pattern (required in non-interactive mode)",shorthand:null,type:String,argument:"PATTERN",deprecated:!1},{name:"src-syntax",description:"Path syntax: regex (default), path-to-regexp, equals",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"action",description:"Action type: rewrite, redirect, or set-status (required with --dest/--status)",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"dest",description:"Destination URL for rewrite or redirect",shorthand:null,type:String,argument:"URL",deprecated:!1},{name:"status",description:"Status code (301/302/307/308 for redirect, or any for set-status)",shorthand:null,type:Number,argument:"CODE",deprecated:!1},{name:"set-response-header",description:"Set response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-response-header",description:"Append to response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-response-header",description:"Delete response header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-header",description:"Set request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-request-header",description:"Append to request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-request-header",description:"Delete request header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-query",description:"Set query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"append-request-query",description:"Append to query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"delete-request-query",description:"Delete query parameter: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"has",description:"Condition that must match: type:key or type:key:value (repeatable)",shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"missing",description:'"Does not have" condition: type:key or type:key:value (repeatable)',shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"description",description:"Route description (max 1024 chars)",shorthand:null,type:String,argument:"TEXT",deprecated:!1},{name:"disabled",description:"Create route in disabled state",shorthand:null,type:Boolean,deprecated:!1},{name:"ai",description:"Generate route from a natural language description (AI-powered)",shorthand:null,type:String,argument:"PROMPT",deprecated:!1},{name:"position",description:"Position: start, end, after:<id>, before:<id>",shorthand:null,type:String,argument:"POSITION",deprecated:!1},{name:"yes",description:"Skip confirmation prompts",shorthand:"y",type:Boolean,deprecated:!1}],examples:[{name:"Interactive mode",value:`${packageName} routes add`},{name:"Create with AI",value:`${packageName} routes add --ai "Rewrite /api/* to https://backend.internal/*"`},{name:"Add a rewrite",value:`${packageName} routes add "API Proxy" --src "/api/:path*" --src-syntax path-to-regexp --action rewrite --dest "https://api.example.com/:path*" --yes`},{name:"Add a redirect",value:`${packageName} routes add "Old Blog" --src "/blog" --src-syntax equals --action redirect --dest "/articles" --status 301 --yes`},{name:"Add CORS headers",value:`${packageName} routes add "CORS" --src "^/api/.*$" --set-response-header "Access-Control-Allow-Origin=*" --yes`},{name:"Block access (set status)",value:`${packageName} routes add "Block Admin" --src "^/admin/.*$" --action set-status --status 403 --yes`},{name:"Conditional redirect",value:`${packageName} routes add "Auth Required" --src "/protected/:path*" --src-syntax path-to-regexp --action redirect --dest "/login" --status 307 --missing "cookie:session" --yes`},{name:"Rewrite with request headers",value:`${packageName} routes add "Backend Proxy" --src "/backend/:path*" --src-syntax path-to-regexp --action rewrite --dest "https://internal.example.com/:path*" --set-request-header "X-Forwarded-Host=myapp.com" --yes`},{name:"Add route at start",value:`${packageName} routes add "Priority Route" --src "/priority" --src-syntax equals --action rewrite --dest "/handler" --position start --yes`}]},publishSubcommand={name:"publish",aliases:[],description:"Publish all staged routing changes to production",arguments:[],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when publishing"}],examples:[{name:"Publish staged changes",value:`${packageName} routes publish`},{name:"Publish without confirmation",value:`${packageName} routes publish --yes`}]},restoreSubcommand={name:"restore",aliases:[],description:"Restore a previous routing version to production",arguments:[{name:"version-id",required:!0}],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when restoring"}],examples:[{name:"Restore a previous version",value:`${packageName} routes restore <version-id>`},{name:"Restore without confirmation",value:`${packageName} routes restore <version-id> --yes`}]},discardSubcommand={name:"discard-staging",aliases:[],description:"Discard staged routing changes",arguments:[],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when discarding"}],examples:[{name:"Discard staged changes",value:`${packageName} routes discard-staging`},{name:"Discard without confirmation",value:`${packageName} routes discard-staging --yes`}]},deleteSubcommand={name:"delete",aliases:["rm"],description:"Delete one or more routing rules",arguments:[{name:"name-or-id",required:!0,multiple:!0}],options:[projectOption,{...yesOption,description:"Skip the confirmation prompt when deleting"}],examples:[{name:"Delete a route by name",value:`${packageName} routes delete "Old Redirect"`},{name:"Delete a route by ID",value:`${packageName} routes delete abc123`},{name:"Delete multiple routes",value:`${packageName} routes delete "Route A" "Route B"`},{name:"Delete without confirmation",value:`${packageName} routes delete "Old Route" --yes`}]},enableSubcommand={name:"enable",aliases:[],description:"Enable a disabled routing rule",arguments:[{name:"name-or-id",required:!0}],options:[projectOption],examples:[{name:"Enable a route by name",value:`${packageName} routes enable "API Proxy"`},{name:"Enable a route by ID",value:`${packageName} routes enable abc123`}]},disableSubcommand={name:"disable",aliases:[],description:"Disable a routing rule without deleting it",arguments:[{name:"name-or-id",required:!0}],options:[projectOption],examples:[{name:"Disable a route by name",value:`${packageName} routes disable "API Proxy"`},{name:"Disable a route by ID",value:`${packageName} routes disable abc123`}]},reorderSubcommand={name:"reorder",aliases:["move"],description:"Move a routing rule to a different position",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"position",description:"Target position: start, end, a number (1-based), before:<id>, after:<id>",shorthand:null,type:String,argument:"POSITION",deprecated:!1},{name:"first",description:"Move to the first position (highest priority)",shorthand:null,type:Boolean,deprecated:!1},{name:"last",description:"Move to the last position (lowest priority)",shorthand:null,type:Boolean,deprecated:!1},{...yesOption,description:"Skip the confirmation prompt when reordering"}],examples:[{name:"Move to first position",value:`${packageName} routes reorder "Catch All" --first`},{name:"Move to last position",value:`${packageName} routes reorder "Catch All" --last`},{name:"Move to a specific position",value:`${packageName} routes reorder "API Proxy" --position 3`},{name:"Move after another route",value:`${packageName} routes reorder "API Proxy" --position after:route-id-123`},{name:"Interactive reorder (prompts for position)",value:`${packageName} routes reorder "API Proxy"`}]},editSubcommand={name:"edit",aliases:[],description:"Edit an existing routing rule",arguments:[{name:"name-or-id",required:!0}],options:[projectOption,{name:"name",description:"Change route name",shorthand:null,type:String,argument:"NAME",deprecated:!1},{name:"description",description:'Change description (use "" to clear)',shorthand:null,type:String,argument:"TEXT",deprecated:!1},{name:"src",description:"Change source path pattern",shorthand:null,type:String,argument:"PATTERN",deprecated:!1},{name:"src-syntax",description:"Change path syntax: regex, path-to-regexp, equals",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"action",description:"Set action type: rewrite, redirect, or set-status (required when switching types)",shorthand:null,type:String,argument:"TYPE",deprecated:!1},{name:"dest",description:"Set destination URL",shorthand:null,type:String,argument:"URL",deprecated:!1},{name:"status",description:"Set status code",shorthand:null,type:Number,argument:"CODE",deprecated:!1},{name:"no-dest",description:"Remove destination",shorthand:null,type:Boolean,deprecated:!1},{name:"no-status",description:"Remove status code",shorthand:null,type:Boolean,deprecated:!1},{name:"set-response-header",description:"Set response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-response-header",description:"Append to response header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-response-header",description:"Delete response header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-header",description:"Set request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"append-request-header",description:"Append to request header: key=value (repeatable)",shorthand:null,type:[String],argument:"HEADER",deprecated:!1},{name:"delete-request-header",description:"Delete request header: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"set-request-query",description:"Set query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"append-request-query",description:"Append to query parameter: key=value (repeatable)",shorthand:null,type:[String],argument:"PARAM",deprecated:!1},{name:"delete-request-query",description:"Delete query parameter: key (repeatable)",shorthand:null,type:[String],argument:"KEY",deprecated:!1},{name:"has",description:"Add a has condition: type:key or type:key:value (repeatable)",shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"missing",description:'Add a "does not have" condition: type:key or type:key:value (repeatable)',shorthand:null,type:[String],argument:"CONDITION",deprecated:!1},{name:"clear-conditions",description:"Remove all has/does-not-have conditions",shorthand:null,type:Boolean,deprecated:!1},{name:"clear-headers",description:"Remove all response headers",shorthand:null,type:Boolean,deprecated:!1},{name:"clear-transforms",description:"Remove all transforms (request headers, request query)",shorthand:null,type:Boolean,deprecated:!1},{name:"ai",description:"Describe changes using natural language (AI-powered)",shorthand:null,type:String,argument:"PROMPT",deprecated:!1},{...yesOption,description:"Skip confirmation prompts"}],examples:[{name:"Interactive mode",value:`${packageName} routes edit "API Proxy"`},{name:"Edit with AI",value:`${packageName} routes edit "API Proxy" --ai "Add CORS headers and change status to 308"`},{name:"Change destination",value:`${packageName} routes edit "API Proxy" --dest "https://new-api.example.com/:path*"`},{name:"Switch to redirect",value:`${packageName} routes edit "Old Route" --action redirect --dest "/new" --status 301`},{name:"Add a response header",value:`${packageName} routes edit "My Route" --set-response-header "Cache-Control=public, max-age=3600"`},{name:"Clear all conditions and add new ones",value:`${packageName} routes edit "My Route" --clear-conditions --has "header:Authorization"`}]},exportSubcommand={name:"export",aliases:[],description:"Export routes to a vercel.json or vercel.ts file",arguments:[{name:"name-or-id",required:!1}],options:[projectOption,{name:"output",description:"Output file format: .json (default) or .ts",shorthand:"o",type:String,argument:"json|ts",deprecated:!1}],examples:[{name:"Export as vercel.json format",value:`${packageName} routes export`},{name:"Export as vercel.ts format",value:`${packageName} routes export --output ts`},{name:"Export a specific route",value:`${packageName} routes export "API Proxy"`},{name:"Export to a file",value:`${packageName} routes export > routes.json`}]},routesCommand={name:"routes",aliases:[],description:"Manage routing rules for a project. Routes managed at the project level apply to all deployments and environments.",arguments:[],subcommands:[listSubcommand,listVersionsSubcommand,inspectSubcommand,addSubcommand,editSubcommand,deleteSubcommand,enableSubcommand,disableSubcommand,reorderSubcommand,exportSubcommand,publishSubcommand,restoreSubcommand,discardSubcommand],options:[],examples:[]};export{listSubcommand,listVersionsSubcommand,inspectSubcommand,addSubcommand,publishSubcommand,restoreSubcommand,discardSubcommand,deleteSubcommand,enableSubcommand,disableSubcommand,reorderSubcommand,editSubcommand,exportSubcommand,routesCommand};
|
|
@@ -4,4 +4,4 @@ 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{formatOption,jsonOption,projectOption,sinceOption,untilOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-
|
|
7
|
+
import{formatOption,jsonOption,projectOption,sinceOption,untilOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";var schemaSubcommand={name:"schema",aliases:[],description:"List available metrics or inspect a specific metric.",arguments:[{name:"metric-or-prefix",required:!1}],options:[formatOption,jsonOption],examples:[{name:"List all metrics",value:`${packageName} metrics schema`},{name:"Show metric details",value:`${packageName} metrics schema vercel.function_invocation`},{name:"Schema as JSON for agents",value:`${packageName} metrics schema vercel.request.count --json`}]},metricsCommand={name:"metrics",aliases:[],description:"Query observability metrics for your Vercel project or team.",arguments:[{name:"metric-id",required:!1}],subcommands:[{name:"query",aliases:[],description:"",default:!0,hidden:!0,arguments:[],options:[],examples:[]},schemaSubcommand],options:[{name:"aggregation",shorthand:"a",type:String,deprecated:!1,description:"Aggregation function (default: sum for counts/bytes/currency, avg for durations/memory/ratios)",argument:"FN"},{name:"group-by",shorthand:null,type:[String],deprecated:!1,description:"Dimensions to group by (repeatable)",argument:"DIM"},{name:"limit",shorthand:"l",type:Number,deprecated:!1,description:"Max groups per time bucket (default: 10)",argument:"N"},{name:"order-by",shorthand:null,type:String,deprecated:!1,description:"Order grouped results by value or count (default: count, or value when count is unsupported)",argument:"value|count"},{name:"order",shorthand:null,type:String,deprecated:!1,description:"Order direction for grouped results: asc or desc (default: desc)",argument:"asc|desc"},{name:"filter",shorthand:"f",type:[String],deprecated:!1,get description(){return process.env.FF_LEGACY_METRICS?"OData filter expression (repeatable, ANDed together)":"KQL filter expression (repeatable, ANDed together)"},argument:"EXPR"},{name:"prod",shorthand:null,type:Boolean,deprecated:!1,description:"Limit query to the production environment"},{...sinceOption,description:`${sinceOption.description} (default: 1h ago)`},untilOption,{name:"granularity",shorthand:"g",type:String,deprecated:!1,description:"Time bucket size: 5m, 15m, 1h, 1d (default: auto)",argument:"SIZE"},{name:"bucket-timezone",shorthand:null,type:String,deprecated:!1,description:"IANA timezone for calendar bucket alignment only; does not shift --since/--until or output timestamps (e.g., Europe/Paris)",argument:"ZONE"},{...projectOption,shorthand:"p"},{name:"all",shorthand:null,type:Boolean,deprecated:!1,description:"Query across all projects for the team"},formatOption,jsonOption],get examples(){let canonical=!process.env.FF_LEGACY_METRICS,httpStatus=canonical?"httpStatus":"http_status",errorCode=canonical?"errorCode":"error_code",aiProvider=canonical?"aiProvider":"ai_provider",aiGatewayCostMetric=canonical?"vercel.ai_gateway.request.cost":"vercel.ai_gateway_request.cost",pageViewMetric=canonical?"vercel.analytics.page_view.count":"vercel.analytics_pageview.count",visitorId=canonical?"visitorId":"visitor_id",projectId=canonical?"projectId":"project_id",statusFilter=canonical?"httpStatus >= 500":"http_status ge 500",routeFilter=canonical?`'route:"/api"'`:`"contains(request_path, '/api')"`;return[{name:"5xx errors by error code in the last hour",value:`${packageName} metrics vercel.function_invocation.count -f "${statusFilter}" --group-by ${errorCode} --since 1h`},{name:"Function invocations by HTTP status code",value:`${packageName} metrics vercel.function_invocation.count --group-by ${httpStatus} --since 6h`},{name:"Function duration by route",value:`${packageName} metrics vercel.function_invocation.function_duration_ms -a avg --group-by route --since 1h`},{name:"AI Gateway costs by provider",value:`${packageName} metrics ${aiGatewayCostMetric} -a sum --group-by ${aiProvider} --since 7d`},{name:"Core Web Vitals (LCP) by route",value:`${packageName} metrics vercel.speed_insights.lcp_ms -a p75 --prod --group-by route --since 7d`},{name:"Routes with the lowest p75 LCP",value:`${packageName} metrics vercel.speed_insights.lcp_ms -a p75 --prod --group-by route --since 7d --order-by value --order asc`},{name:canonical?"Daily pageviews":"Daily pageviews with a Paris-aligned bucket",value:canonical?`${packageName} metrics ${pageViewMetric} --since 7d --granularity 1d`:`${packageName} metrics ${pageViewMetric} --since 7d --granularity 1d --bucket-timezone Europe/Paris`},{name:"Visitors time series from the top 5 countries",value:`${packageName} metrics ${pageViewMetric} -a unique/${visitorId} --group-by country --since 1d --granularity 1h --limit 5`},{name:"List available metrics",value:`${packageName} metrics schema`},{name:"Function executions matching an API route",value:`${packageName} metrics vercel.function_invocation.count -f ${routeFilter} --group-by route --since 1h`},{name:"Function executions matching multiple filters",value:`${packageName} metrics vercel.function_invocation.count -f "${statusFilter}" -f ${routeFilter} --since 1h`},{name:"Show schema for a metric prefix",value:`${packageName} metrics schema vercel.request`},{name:"Team-wide function executions by project",value:`${packageName} metrics --all vercel.function_invocation.count --group-by ${projectId} --since 24h`}]}};export{schemaSubcommand,metricsCommand};
|
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,outputAgentError,shouldEmitNonInteractiveCommandError}from"./chunk-
|
|
7
|
+
import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,outputAgentError,shouldEmitNonInteractiveCommandError}from"./chunk-5RR3435W.js";import{getScope}from"./chunk-DZ6GORJ7.js";import{getOrgById}from"./chunk-MYMM34ZH.js";import{output_manager_default}from"./chunk-75IAMKGV.js";async function printProjectNotFoundError(client,projectNameOrId,commandName,orgId){let contextName;try{orgId?contextName=(await getOrgById(client,orgId))?.slug??orgId:contextName=(await getScope(client)).contextName}catch(err){contextName=orgId,output_manager_default.debug(`Scope lookup failed during error reporting: ${err}`)}let scopeClause=contextName?` (${contextName})`:"",headline=`Project "${projectNameOrId}" was not found in the current scope${scopeClause}.`;if(output_manager_default.error(`${headline}
|
|
8
8
|
|
|
9
9
|
If it lives in a different team or account:
|
|
10
10
|
\u2022 Retry with \`--scope <team-slug|your-username>\`, or
|
|
@@ -4,4 +4,4 @@ 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{outputError,writeJsonError}from"./chunk-
|
|
7
|
+
import{outputError,writeJsonError}from"./chunk-WH3SHWVK.js";import{resolveProjectContext}from"./chunk-IAUAFUO2.js";import{printError}from"./chunk-V336CYEI.js";import{detectExplicitScope,getScope}from"./chunk-DZ6GORJ7.js";import{getLinkedProject}from"./chunk-MYMM34ZH.js";import{isAPIError}from"./chunk-AZULOP7M.js";import{getCommandName}from"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-75IAMKGV.js";function handleCommentsParseError(err,subcommandName){return printError(err),err instanceof Error&&/unknown or unexpected option: -[^-]/.test(err.message)&&output_manager_default.log(`An argument starting with "-"? Put it after \`--\`: ${getCommandName(`comments ${subcommandName} -- <arg>`)}`),output_manager_default.log(`Run ${getCommandName(`comments ${subcommandName} --help`)} for usage.`),2}function threadNotFoundMessage(threadId,scope){return`Comment not found: ${threadId} in team ${scope.teamSlug??scope.teamId}. If it belongs to another team, pass --scope <team>.`}function query(teamId,params={}){let search=new URLSearchParams({teamId});for(let[key,value]of Object.entries(params))if(value!==void 0)if(Array.isArray(value))for(let entry of value)search.append(key,entry);else search.set(key,String(value));return search.toString()}var fetchOpts={useCurrentTeam:!1};function listThreads(client,teamId,params){return client.fetch(`/toolbar/threads?${query(teamId,{...params})}`,fetchOpts)}function getThread(client,teamId,threadId){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}?${query(teamId)}`,fetchOpts)}function updateThread(client,teamId,threadId,resolved){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}?${query(teamId)}`,{...fetchOpts,method:"PATCH",body:{resolved}})}function listMessages(client,teamId,threadId,opts={}){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}/messages?${query(teamId,{...opts})}`,fetchOpts)}function addMessage(client,teamId,threadId,body){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}/messages?${query(teamId)}`,{...fetchOpts,method:"POST",body})}function updateMessage(client,teamId,threadId,messageId,body){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}/messages/${encodeURIComponent(messageId)}?${query(teamId)}`,{...fetchOpts,method:"PATCH",body})}function deleteMessage(client,teamId,threadId,messageId){return client.fetch(`/toolbar/threads/${encodeURIComponent(threadId)}/messages/${encodeURIComponent(messageId)}?${query(teamId)}`,{...fetchOpts,method:"DELETE"})}function toApiErrorParts(err){let apiErr=err;return{code:apiErr.code||"API_ERROR",message:apiErr.serverMessage||`API error (${apiErr.status??"unknown"}).`}}import{spawnSync}from"node:child_process";async function resolveCommentsScope(client,opts){if(opts.urlTeamSlug&&!opts.project&&!detectExplicitScope(client))return{teamId:opts.urlTeamSlug,teamSlug:opts.urlTeamSlug};if(opts.project){let context;try{context=await resolveProjectContext({client,projectNameOrId:opts.project,projectNotFoundHandling:opts.jsonOutput?"return":"report"})}catch(err){if(isAPIError(err))return outputError(client,opts.jsonOutput,err.code||"API_ERROR",err.serverMessage||`API error (${err.status}).`);throw err}return context.status==="error"?(opts.jsonOutput&&writeJsonError(client,"PROJECT_CONTEXT_ERROR","Could not resolve the project context."),context.exitCode):context.status==="not_linked"?outputError(client,opts.jsonOutput,"PROJECT_NOT_FOUND",`Project "${opts.project}" was not found in the current scope.`):{teamId:context.org.id,teamSlug:context.org.slug,projectId:context.project.id,projectName:context.project.name,linked:!!context.repoRoot}}let linked=await getLinkedProject(client);if(linked.status==="error")return linked.exitCode;if(linked.status==="linked"){if(detectExplicitScope(client)){let{team:team2}=await getScope(client);if(!team2)return outputError(client,opts.jsonOutput,"NO_TEAM","No team context found for --scope.");if(team2.id!==linked.org.id)return opts.requireProject?outputError(client,opts.jsonOutput,"SCOPE_PROJECT_MISMATCH",`--scope ${team2.slug} does not match the linked project's team (${linked.org.slug}). Pass --project <name-or-id> for a project in ${team2.slug}.`):{teamId:team2.id,teamSlug:team2.slug}}return{teamId:linked.org.id,teamSlug:linked.org.slug,projectId:linked.project.id,projectName:linked.project.name,linked:!0}}if(opts.requireProject)return outputError(client,opts.jsonOutput,"NOT_LINKED","No linked project found. Run `vercel link` to link a project, or pass --project <name-or-id>.");let{team}=await getScope(client);return team?{teamId:team.id,teamSlug:team.slug}:outputError(client,opts.jsonOutput,"NO_TEAM","No team context found. Run `vercel switch` to select a team, or run `vercel link` in a project directory.")}function inferBranch(cwd){let result=spawnSync("git",["rev-parse","--abbrev-ref","HEAD"],{cwd,encoding:"utf8"});if(result.status===0){let branch=result.stdout.trim();if(branch&&branch!=="HEAD")return{value:branch,source:"git"}}let ciRef=process.env.VERCEL_GIT_COMMIT_REF||process.env.GITHUB_HEAD_REF||process.env.GITHUB_REF_NAME;if(ciRef)return{value:ciRef,source:"ci"}}export{handleCommentsParseError,threadNotFoundMessage,listThreads,getThread,updateThread,listMessages,addMessage,updateMessage,deleteMessage,toApiErrorParts,resolveCommentsScope,inferBranch};
|
|
@@ -4,4 +4,4 @@ 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{quoteArg}from"./chunk-BKV35LVB.js";import{arg_common_default,stripSensitiveAuthArgs}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-
|
|
7
|
+
import{quoteArg}from"./chunk-BKV35LVB.js";import{arg_common_default,stripSensitiveAuthArgs}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";import{__commonJS,__toESM}from"./chunk-BZENIQ7N.js";var require_arg=__commonJS({"../../node_modules/.pnpm/arg@5.0.0/node_modules/arg/index.js"(exports,module){var flagSymbol=Symbol("arg flag"),ArgError=class _ArgError extends Error{constructor(msg,code){super(msg),this.name="ArgError",this.code=code,Object.setPrototypeOf(this,_ArgError.prototype)}};function arg2(opts,{argv=process.argv.slice(2),permissive=!1,stopAtPositional=!1}={}){if(!opts)throw new ArgError("argument specification object is required","ARG_CONFIG_NO_SPEC");let result={_:[]},aliases={},handlers={};for(let key of Object.keys(opts)){if(!key)throw new ArgError("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(key[0]!=="-")throw new ArgError(`argument key must start with '-' but found: '${key}'`,"ARG_CONFIG_NONOPT_KEY");if(key.length===1)throw new ArgError(`argument key must have a name; singular '-' keys are not allowed: ${key}`,"ARG_CONFIG_NONAME_KEY");if(typeof opts[key]=="string"){aliases[key]=opts[key];continue}let type=opts[key],isFlag=!1;if(Array.isArray(type)&&type.length===1&&typeof type[0]=="function"){let[fn]=type;type=(value,name,prev=[])=>(prev.push(fn(value,name,prev[prev.length-1])),prev),isFlag=fn===Boolean||fn[flagSymbol]===!0}else if(typeof type=="function")isFlag=type===Boolean||type[flagSymbol]===!0;else throw new ArgError(`type missing or not a function or valid array type: ${key}`,"ARG_CONFIG_VAD_TYPE");if(key[1]!=="-"&&key.length>2)throw new ArgError(`short argument keys (with a single hyphen) must have only one character: ${key}`,"ARG_CONFIG_SHORTOPT_TOOLONG");handlers[key]=[type,isFlag]}for(let i=0,len=argv.length;i<len;i++){let wholeArg=argv[i];if(stopAtPositional&&result._.length>0){result._=result._.concat(argv.slice(i));break}if(wholeArg==="--"){result._=result._.concat(argv.slice(i+1));break}if(wholeArg.length>1&&wholeArg[0]==="-"){let separatedArguments=wholeArg[1]==="-"||wholeArg.length===2?[wholeArg]:wholeArg.slice(1).split("").map(a=>`-${a}`);for(let j=0;j<separatedArguments.length;j++){let arg3=separatedArguments[j],[originalArgName,argStr]=arg3[1]==="-"?arg3.split(/=(.*)/,2):[arg3,void 0],argName=originalArgName;for(;argName in aliases;)argName=aliases[argName];if(!(argName in handlers))if(permissive){result._.push(arg3);continue}else throw new ArgError(`unknown or unexpected option: ${originalArgName}`,"ARG_UNKNOWN_OPTION");let[type,isFlag]=handlers[argName];if(!isFlag&&j+1<separatedArguments.length)throw new ArgError(`option requires argument (but was followed by another short argument): ${originalArgName}`,"ARG_MISSING_REQUIRED_SHORTARG");if(isFlag)result[argName]=type(!0,argName,result[argName]);else if(argStr===void 0){if(argv.length<i+2||argv[i+1].length>1&&argv[i+1][0]==="-"&&!(argv[i+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(type===Number||typeof BigInt<"u"&&type===BigInt))){let extended=originalArgName===argName?"":` (alias for ${argName})`;throw new ArgError(`option requires argument: ${originalArgName}${extended}`,"ARG_MISSING_REQUIRED_LONGARG")}result[argName]=type(argv[i+1],argName,result[argName]),++i}else result[argName]=type(argStr,argName,result[argName])}}else result._.push(wholeArg)}return result}arg2.flag=fn=>(fn[flagSymbol]=!0,fn);arg2.COUNT=arg2.flag((v,name,existingCount)=>(existingCount||0)+1);arg2.ArgError=ArgError;module.exports=arg2}});var import_arg=__toESM(require_arg(),1);function suggestCorrection(input,choices){if(input.replace(/^-+/,"").length<3||choices.includes(input))return;let matches=[...new Set(choices)].filter(choice=>{if(Math.abs(input.length-choice.length)>1)return!1;let i=0;for(;i<input.length&&input[i]===choice[i];)i++;return input.length===choice.length?input.slice(i+1)===choice.slice(i+1)||input[i]===choice[i+1]&&input[i+1]===choice[i]&&input.slice(i+2)===choice.slice(i+2):input.length>choice.length?input.slice(i+1)===choice.slice(i):input.slice(i)===choice.slice(i+1)});return matches.length===1?matches[0]:void 0}var SAFE_VALUE_FLAGS=new Set(["--cwd","--scope","--team","-S","-T","--project","-p","--format","--environment","--since","--until","--limit"]),READ_COMMANDS=new Set(["inspect","list","ls","schema","whoami"]);function buildCorrectedCommand(argv,from,to,flagsSpecification={}){let corrected=argv.slice(2),spec={...arg_common_default(),...flagsSpecification},valuelessFlags=new Set,takesValue=new Set;for(let[name,value]of Object.entries(spec))((typeof value=="string"?spec[value]:value)===Boolean?valuelessFlags:takesValue).add(name);for(let i=0;i<corrected.length;i++){let value=corrected[i];if(value==="--")break;if(value===from||value.startsWith(`${from}=`)){corrected[i]=to+value.slice(from.length);break}takesValue.has(value)&&i++}let args=stripSensitiveAuthArgs(corrected).filter(arg2=>!/^-t[^-=]/.test(arg2)),out=[],positionals=0,readCommand=!1;for(let i=0;i<args.length;i++){let value=args[i];if(value==="--"){out.push("--","<argument>");break}if(value.startsWith("-")){if(/^-[A-Za-z][^=].+/.test(value)&&!value.startsWith("--")){let name2=value.slice(0,2);out.push(name2,SAFE_VALUE_FLAGS.has(name2)?value.slice(2):"<value>");continue}let equals=value.indexOf("="),name=equals<0?value:value.slice(0,equals);equals>=0?out.push(`${name}=${SAFE_VALUE_FLAGS.has(name)||valuelessFlags.has(name)&&/^(true|false)$/.test(value.slice(equals+1))?value.slice(equals+1):"<value>"}`):(out.push(name),!valuelessFlags.has(name)&&i+1<args.length&&(takesValue.has(name)||!args[i+1].startsWith("-"))&&(i++,out.push(SAFE_VALUE_FLAGS.has(name)?args[i]:"<value>")))}else positionals++,positionals<=2&&(readCommand||=READ_COMMANDS.has(value)),out.push(positionals<=2||readCommand?value:"<argument>")}return[packageName,...out].map(quoteArg).join(" ")}var argumentErrors=new WeakSet;function isArgumentError(error){return error instanceof Error&&argumentErrors.has(error)}function parseWithSuggestions(args,spec,options){try{return(0,import_arg.default)(spec,{...options,argv:args})}catch(error){if(error instanceof Error&&"code"in error&&["ARG_UNKNOWN_OPTION","ARG_MISSING_REQUIRED_LONGARG","ARG_MISSING_REQUIRED_SHORTARG"].includes(String(error.code))){let err=error,option=/(?:unknown or unexpected option|option requires argument(?: \([^)]*\))?): (--?[A-Za-z0-9-]+)(?: \(alias for --?[A-Za-z0-9-]+\))?$/.exec(err.message)?.[1];option&&(argumentErrors.add(err),err.invalidOption=option,err.allowedOptions=Object.keys(spec).filter(name=>name.startsWith("--")).sort(),err.code==="ARG_UNKNOWN_OPTION"&&(err.suggestedOption=suggestCorrection(option,err.allowedOptions)),err.flagsSpecification=spec)}throw error}}function getArgs(argv,argsOptions,argOptions={}){return parseWithSuggestions(argv,Object.assign({},arg_common_default(),argsOptions),argOptions)}function parseArguments(args,flagsSpecification,parserOptions={}){let{_:positional,...rest}=parseWithSuggestions(args,Object.assign({},arg_common_default(),flagsSpecification),parserOptions);return{args:positional,flags:rest}}export{require_arg,suggestCorrection,buildCorrectedCommand,isArgumentError,getArgs,parseArguments};
|
|
@@ -4,4 +4,4 @@ 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{__commonJS,__require}from"./chunk-
|
|
7
|
+
import{__commonJS,__require}from"./chunk-BZENIQ7N.js";var require_dist=__commonJS({"../error-utils/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},__toESM=(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,{errorToString:()=>errorToString,errorToStringFriendly:()=>errorToStringFriendly,getSystemErrorMessage:()=>getSystemErrorMessage,isErrnoException:()=>isErrnoException,isError:()=>isError,isErrorLike:()=>isErrorLike,isObject:()=>isObject,isSpawnError:()=>isSpawnError,normalizeError:()=>normalizeError});module.exports=__toCommonJS(src_exports);var import_node_util=__toESM(__require("node:util")),isObject=obj=>typeof obj=="object"&&obj!==null,isError=error=>import_node_util.default.types.isNativeError(error),isErrnoException=error=>isError(error)&&"code"in error,nativeGetSystemErrorMessage=import_node_util.default.getSystemErrorMessage,getSystemErrorMessageFallback=errno=>import_node_util.default.getSystemErrorMap().get(errno)?.[1]??`Unknown system error ${errno}`,isErrorLike=error=>isObject(error)&&"message"in error,errorToString=(error,fallback)=>isError(error)||isErrorLike(error)?error.message:typeof error=="string"?error:fallback??"An unknown error has ocurred.",getSystemErrorMessage=nativeGetSystemErrorMessage??getSystemErrorMessageFallback,errorToStringFriendly=(error,fallback)=>isErrnoException(error)&&typeof error.errno=="number"?getSystemErrorMessage(error.errno):errorToString(error,fallback),normalizeError=error=>{if(isError(error))return error;let errorMessage=errorToString(error);return isErrorLike(error)?Object.assign(new Error(errorMessage),error):new Error(errorMessage)};function isSpawnError(v){return isErrnoException(v)&&"spawnargs"in v}}});export{require_dist};
|
|
@@ -4,4 +4,4 @@ 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{__commonJS,__require}from"./chunk-
|
|
7
|
+
import{__commonJS,__require}from"./chunk-BZENIQ7N.js";var require_windows=__commonJS({"../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function checkPathExt(path,options){var pathext=options.pathExt!==void 0?options.pathExt:process.env.PATHEXT;if(!pathext||(pathext=pathext.split(";"),pathext.indexOf("")!==-1))return!0;for(var i=0;i<pathext.length;i++){var p=pathext[i].toLowerCase();if(p&&path.substr(-p.length).toLowerCase()===p)return!0}return!1}function checkStat(stat,path,options){return!stat.isSymbolicLink()&&!stat.isFile()?!1:checkPathExt(path,options)}function isexe(path,options,cb){fs.stat(path,function(er,stat){cb(er,er?!1:checkStat(stat,path,options))})}function sync(path,options){return checkStat(fs.statSync(path),path,options)}}});var require_mode=__commonJS({"../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function isexe(path,options,cb){fs.stat(path,function(er,stat){cb(er,er?!1:checkStat(stat,options))})}function sync(path,options){return checkStat(fs.statSync(path),options)}function checkStat(stat,options){return stat.isFile()&&checkMode(stat,options)}function checkMode(stat,options){var mod=stat.mode,uid=stat.uid,gid=stat.gid,myUid=options.uid!==void 0?options.uid:process.getuid&&process.getuid(),myGid=options.gid!==void 0?options.gid:process.getgid&&process.getgid(),u=parseInt("100",8),g=parseInt("010",8),o=parseInt("001",8),ug=u|g,ret=mod&o||mod&g&&gid===myGid||mod&u&&uid===myUid||mod&ug&&myUid===0;return ret}}});var require_isexe=__commonJS({"../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js"(exports,module){var fs=__require("fs"),core;process.platform==="win32"||global.TESTING_WINDOWS?core=require_windows():core=require_mode();module.exports=isexe;isexe.sync=sync;function isexe(path,options,cb){if(typeof options=="function"&&(cb=options,options={}),!cb){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(resolve,reject){isexe(path,options||{},function(er,is){er?reject(er):resolve(is)})})}core(path,options||{},function(er,is){er&&(er.code==="EACCES"||options&&options.ignoreErrors)&&(er=null,is=!1),cb(er,is)})}function sync(path,options){try{return core.sync(path,options||{})}catch(er){if(options&&options.ignoreErrors||er.code==="EACCES")return!1;throw er}}}});var require_lib=__commonJS({"../../node_modules/.pnpm/which@3.0.0/node_modules/which/lib/index.js"(exports,module){var isexe=require_isexe(),{join,delimiter,sep,posix}=__require("path"),isWindows=process.platform==="win32",rSlash=new RegExp(`[${posix.sep}${sep===posix.sep?"":sep}]`.replace(/(\\)/g,"\\$1")),rRel=new RegExp(`^\\.${rSlash.source}`),getNotFoundError=cmd=>Object.assign(new Error(`not found: ${cmd}`),{code:"ENOENT"}),getPathInfo=(cmd,{path:optPath=process.env.PATH,pathExt:optPathExt=process.env.PATHEXT,delimiter:optDelimiter=delimiter})=>{let pathEnv=cmd.match(rSlash)?[""]:[...isWindows?[process.cwd()]:[],...(optPath||"").split(optDelimiter)];if(isWindows){let pathExtExe=optPathExt||[".EXE",".CMD",".BAT",".COM"].join(optDelimiter),pathExt=pathExtExe.split(optDelimiter);return cmd.includes(".")&&pathExt[0]!==""&&pathExt.unshift(""),{pathEnv,pathExt,pathExtExe}}return{pathEnv,pathExt:[""]}},getPathPart=(raw,cmd)=>{let pathPart=/^".*"$/.test(raw)?raw.slice(1,-1):raw;return(!pathPart&&rRel.test(cmd)?cmd.slice(0,2):"")+join(pathPart,cmd)},which=async(cmd,opt={})=>{let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[];for(let envPart of pathEnv){let p=getPathPart(envPart,cmd);for(let ext of pathExt){let withExt=p+ext;if(await isexe(withExt,{pathExt:pathExtExe,ignoreErrors:!0})){if(!opt.all)return withExt;found.push(withExt)}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)},whichSync=(cmd,opt={})=>{let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[];for(let pathEnvPart of pathEnv){let p=getPathPart(pathEnvPart,cmd);for(let ext of pathExt){let withExt=p+ext;if(isexe.sync(withExt,{pathExt:pathExtExe,ignoreErrors:!0})){if(!opt.all)return withExt;found.push(withExt)}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)};module.exports=which;which.sync=whichSync}});export{require_isexe,require_lib};
|
|
@@ -4,4 +4,4 @@ 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{require_escape_string_regexp}from"./chunk-
|
|
7
|
+
import{require_escape_string_regexp}from"./chunk-D3AHZ5LI.js";import{__commonJS}from"./chunk-BZENIQ7N.js";var require_figures=__commonJS({"../../node_modules/.pnpm/figures@3.2.0/node_modules/figures/index.js"(exports,module){"use strict";var escapeStringRegexp=require_escape_string_regexp(),{platform}=process,main={tick:"\u2714",cross:"\u2716",star:"\u2605",square:"\u2587",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",play:"\u25B6",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",circleQuestionMark:"?\u20DD",bullet:"\u25CF",dot:"\u2024",line:"\u2500",ellipsis:"\u2026",pointer:"\u276F",pointerSmall:"\u203A",info:"\u2139",warning:"\u26A0",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",heart:"\u2665",nodejs:"\u2B22",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",questionMarkPrefix:"?\u20DD",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneSeventh:"\u2150",oneEighth:"\u215B",oneNinth:"\u2151",oneTenth:"\u2152",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E"},windows={tick:"\u221A",cross:"\xD7",star:"*",square:"\u2588",squareSmall:"[ ]",squareSmallFilled:"[\u2588]",play:"\u25BA",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",circleQuestionMark:"(?)",bullet:"*",dot:".",line:"\u2500",ellipsis:"...",pointer:">",pointerSmall:"\xBB",info:"i",warning:"\u203C",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",heart:main.heart,nodejs:"\u2666",arrowUp:main.arrowUp,arrowDown:main.arrowDown,arrowLeft:main.arrowLeft,arrowRight:main.arrowRight,radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",questionMarkPrefix:"\uFF1F",oneHalf:"1/2",oneThird:"1/3",oneQuarter:"1/4",oneFifth:"1/5",oneSixth:"1/6",oneSeventh:"1/7",oneEighth:"1/8",oneNinth:"1/9",oneTenth:"1/10",twoThirds:"2/3",twoFifths:"2/5",threeQuarters:"3/4",threeFifths:"3/5",threeEighths:"3/8",fourFifths:"4/5",fiveSixths:"5/6",fiveEighths:"5/8",sevenEighths:"7/8"};platform==="linux"&&(main.questionMarkPrefix="?");var figures=platform==="win32"?windows:main,fn=string=>{if(figures===main)return string;for(let[key,value]of Object.entries(main))value!==figures[key]&&(string=string.replace(new RegExp(escapeStringRegexp(value),"g"),figures[key]));return string};module.exports=Object.assign(fn,figures);module.exports.main=main;module.exports.windows=windows}});export{require_figures};
|
|
@@ -4,6 +4,6 @@ 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{indent_default}from"./chunk-GZNDA6SV.js";import{humanizeIdentifier}from"./chunk-GHAY4PSD.js";import{table}from"./chunk-
|
|
7
|
+
import{indent_default}from"./chunk-GZNDA6SV.js";import{humanizeIdentifier}from"./chunk-GHAY4PSD.js";import{table}from"./chunk-773GOZIR.js";function renderAlertTable(rows,hsep=3){return indent_default(table(rows,{hsep}).split(`
|
|
8
8
|
`).map(line=>line.trimEnd()).join(`
|
|
9
9
|
`),2)}function normalizeTimestamp(value){if(!(value===void 0||!Number.isFinite(value)))return Math.abs(value)<1e12?value*1e3:value}function getPrimaryAlert(group){return group.alerts?.[0]}function getGroupTitle(group){return group.ai?.title||group.title||getPrimaryAlert(group)?.title||"Alert group"}function getGroupType(group){return group.type||getPrimaryAlert(group)?.type||"-"}function getGroupStartedAt(group){let primaryAlert=getPrimaryAlert(group);return normalizeTimestamp(group.recordedStartedAt??primaryAlert?.recordedStartedAt??primaryAlert?.startedAt)}function formatTriggerOperator(value){switch(value){case"gt":return">";case"gte":return">=";case"lt":return"<";case"lte":return"<=";default:return}}function humanizeReference(value,opts={}){return value.split("/").map(part=>{let label=humanizeIdentifier(part);return opts.case==="title"?label:label.toLowerCase()}).join(" / ")}export{renderAlertTable,normalizeTimestamp,getGroupTitle,getGroupType,getGroupStartedAt,formatTriggerOperator,humanizeReference};
|
|
@@ -4,4 +4,4 @@ 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{imageAggregateCommand}from"./chunk-
|
|
7
|
+
import{imageAggregateCommand}from"./chunk-AG5QQNJ3.js";import{permissionsAggregateCommand}from"./chunk-AU42HSQ3.js";import{tagsAggregateCommand}from"./chunk-L5FUUGYX.js";import{formatOption,jsonOption,limitOption,projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";var projectScopeOption={...projectOption,shorthand:"p",description:"Project name or ID (defaults to the linked project)."},nextOption={name:"next",shorthand:null,type:String,deprecated:!1,description:"Continue from a previous response",argument:"CURSOR"},cursorOption={name:"cursor",shorthand:"c",type:String,deprecated:!0,description:"Cursor from a previous page to continue listing from",argument:"STRING"},platformOption={name:"platform",shorthand:null,type:String,deprecated:!1,description:"Target platform for the build (defaults to linux/amd64).",argument:"PLATFORM"},pushOption={name:"push",shorthand:null,type:Boolean,deprecated:!1,description:"Push the image after building. With Docker this builds and pushes in one step (Buildx enables zstd compression); Podman and Buildah build, then push with zstd compression."},publicOption={name:"public",shorthand:null,type:String,deprecated:!1,description:"Set the repository visibility: `true` for public, `false` for private.",argument:"BOOLEAN",choices:["true","false"]},listSubcommand={name:"ls",aliases:["list"],description:"List container registry repositories for a project",arguments:[],options:[projectScopeOption,limitOption,nextOption,cursorOption,formatOption,jsonOption],examples:[{name:"List repositories in the linked project",value:`${packageName} vcr ls`},{name:"List repositories for a specific project as JSON",value:`${packageName} vcr ls --project my-app --json`}]},inspectSubcommand={name:"inspect",aliases:["get"],description:"Show details for a single repository",arguments:[{name:"repository",required:!0}],options:[projectScopeOption,formatOption,jsonOption],examples:[{name:"Inspect a repository by name",value:`${packageName} vcr inspect my-repository`}]},addSubcommand={name:"create",aliases:["add"],description:"Create a container registry repository",arguments:[{name:"name",required:!0}],options:[projectScopeOption,formatOption,jsonOption],examples:[{name:"Create a repository",value:`${packageName} vcr create my-repository`}]},configSubcommand={name:"config",aliases:[],description:"Configure a container registry repository, such as the repository's visibility",arguments:[{name:"repository",required:!0}],options:[publicOption,projectScopeOption,formatOption,jsonOption],examples:[{name:"Make a repository public",value:`${packageName} vcr config my-repository --public true`},{name:"Make a repository private",value:`${packageName} vcr config my-repository --public false`}]},removeSubcommand={name:"rm",aliases:["remove","delete"],description:"Delete a container registry repository",arguments:[{name:"repository",required:!0}],options:[projectScopeOption,yesOption,formatOption,jsonOption],examples:[{name:"Delete a repository",value:`${packageName} vcr rm my-repository`},{name:"Delete a repository without the confirmation prompt",value:`${packageName} vcr rm my-repository --yes`}]},loginSubcommand={name:"login",aliases:[],description:"Authenticate a container tool (docker, podman, or buildah) with the Vercel Container Registry",arguments:[{name:"engine",required:!0}],options:[projectScopeOption,formatOption,jsonOption],examples:[{name:"Log in with Docker",value:`${packageName} vcr login docker`},{name:"Log in with Podman",value:`${packageName} vcr login podman`},{name:"Log in with Buildah",value:`${packageName} vcr login buildah`},{name:"Log in for a specific project",value:`${packageName} vcr login docker --project my-app`}]},buildSubcommand={name:"build",aliases:[],description:"Build a container image tagged for the Vercel Container Registry by shelling out to your container tool (docker, podman, or buildah)",arguments:[{name:"engine",required:!0},{name:"path",required:!1},{name:"name",required:!1}],options:[projectScopeOption,platformOption,pushOption],examples:[{name:"Build the current directory into the linked project (repository defaults to the project name, tag to latest)",value:`${packageName} vcr build docker`},{name:"Build and push in one step (Docker Buildx enables zstd compression)",value:`${packageName} vcr build docker --push`},{name:"Build a specific context path with a repository and tag",value:`${packageName} vcr build docker ./app my-api:1.2.3`},{name:"Pass extra flags through to the container tool",value:`${packageName} vcr build docker . -- --no-cache --build-arg KEY=value`}]},pushSubcommand={name:"push",aliases:[],description:"Push a container image to the Vercel Container Registry by shelling out to your container tool (docker, podman, or buildah)",arguments:[{name:"engine",required:!0},{name:"name",required:!1}],options:[projectScopeOption],examples:[{name:"Push the linked project image (repository defaults to the project name, tag to latest)",value:`${packageName} vcr push docker`},{name:"Push a specific repository and tag",value:`${packageName} vcr push docker my-api:1.2.3`}]},vcrCommand={name:"vcr",aliases:[],description:"Manage Vercel Container Registry repositories and images (see `vcr image`).",arguments:[],subcommands:[listSubcommand,inspectSubcommand,addSubcommand,configSubcommand,removeSubcommand,loginSubcommand,buildSubcommand,pushSubcommand,tagsAggregateCommand,imageAggregateCommand,permissionsAggregateCommand],options:[],examples:[{name:"List repositories in the linked project",value:`${packageName} vcr ls`},{name:"Create a repository",value:`${packageName} vcr create my-app`},{name:"List images in a repository",value:`${packageName} vcr image ls my-app`}]};export{listSubcommand,inspectSubcommand,addSubcommand,configSubcommand,removeSubcommand,loginSubcommand,buildSubcommand,pushSubcommand,vcrCommand};
|
|
@@ -4,4 +4,4 @@ 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{require_dist as require_dist2}from"./chunk-
|
|
7
|
+
import{require_dist as require_dist2}from"./chunk-JALVF3C2.js";import{confirmOption,projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";import{require_dist}from"./chunk-RM3ZDRYE.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_async_listen=__toESM(require_dist2(),1),import_error_utils=__toESM(require_dist(),1),DEV_QUEUE_API_PREFIX="/api/v3/topic/",DEV_QUEUE_PROXY_PREFIX="/_svc/_queues",DEV_QUEUE_DEFAULT_PORT=4782,DEV_RUNTIME_CACHE_DEFAULT_PORT=4783,DEV_SCHEDULES_DEFAULT_PORT=4784,DEV_SCHEDULES_PROXY_PREFIX="/_svc/_schedules",DEV_RESOURCE_TOKEN="vc-dev-token";function isValidDevResourceHost(origin,host){let port=new URL(origin).port,suffix=port?`:${port}`:"",normalizedHost=host?.toLowerCase();return normalizedHost===`127.0.0.1${suffix}`||normalizedHost===`localhost${suffix}`}async function listenOnDevResourcePort(server,options){let isPinned=options.port!==void 0,reservedPorts=new Set(options.reservedPorts),port=options.port??options.defaultPort;for(;;){if(!isPinned&&reservedPorts.has(port)){if(port>=65535)throw new Error(`${options.name} could not find an available port at or above 127.0.0.1:${options.defaultPort}. Choose another port with ${options.flag}.`);port++;continue}try{let address=await(0,import_async_listen.listen)(server,port,"127.0.0.1"),url=new URL(address.toString()),serverAddress=server.address(),actualPort=serverAddress&&typeof serverAddress!="string"?serverAddress.port:Number(url.port);return{origin:url.origin,port:actualPort,...port!==options.defaultPort&&!isPinned?{defaultPort:options.defaultPort}:{}}}catch(err){if(!(0,import_error_utils.isErrnoException)(err)||err.code!=="EADDRINUSE")throw err;if(isPinned||port>=65535)throw new Error(`${options.name} could not listen on 127.0.0.1:${port} because the port is already in use. Choose another port with ${options.flag}.`);port++}}}function getDevQueueEnv(baseUrl,hasWorkerServices=!0){return{...hasWorkerServices?{VERCEL_HAS_WORKER_SERVICES:"1"}:{},VERCEL_QUEUE_BASE_URL:baseUrl,VERCEL_QUEUE_TOKEN:DEV_RESOURCE_TOKEN,VERCEL_REGION:"dev1"}}function getDevSchedulesEnv(baseUrl,container=!1){if(!baseUrl)return{};let endpoint=new URL(baseUrl);return container&&["localhost","127.0.0.1","[::1]"].includes(endpoint.hostname)&&(endpoint.hostname="host.docker.internal"),{VERCEL_SCHEDULE_BASE_URL:endpoint.toString().replace(/\/$/,""),VERCEL_SCHEDULE_TOKEN:DEV_RESOURCE_TOKEN,VERCEL_SCHEDULE_DEV_API_VERSION:"1"}}var devCommand={name:"dev",aliases:["develop"],description:`Starts the \`${packageName} dev\` server.`,arguments:[{name:"dir",required:!1}],options:[{name:"listen",description:"Specify a URI endpoint on which to listen [0.0.0.0:3000]",argument:"URI",shorthand:"l",type:String,deprecated:!1},{name:"local",shorthand:"L",type:Boolean,deprecated:!1,description:"Start the dev server without linking to a Vercel project"},{name:"queue-port",description:`Specify the local Vercel Queues server port [${DEV_QUEUE_DEFAULT_PORT}]`,argument:"PORT",shorthand:null,type:String,deprecated:!1},{name:"runtime-cache-port",description:`Specify the local Runtime Cache server port [${DEV_RUNTIME_CACHE_DEFAULT_PORT}]`,argument:"PORT",shorthand:null,type:String,deprecated:!1},{name:"schedules-port",description:`Specify the local Vercel Schedules server port [${DEV_SCHEDULES_DEFAULT_PORT}]`,argument:"PORT",shorthand:null,type:String,deprecated:!1},yesOption,{name:"port",shorthand:"p",type:String,deprecated:!0},confirmOption,projectOption],examples:[{name:`Start the \`${packageName} dev\` server on port 8080`,value:`${packageName} dev --listen 8080`},{name:"Make the `vercel dev` server bind to localhost on port 5000",value:`${packageName} dev --listen 127.0.0.1:5000 `},{name:"Pin local resource server ports",value:`${packageName} dev --queue-port 5782 --runtime-cache-port 5783 --schedules-port 5784`}]};export{DEV_QUEUE_API_PREFIX,DEV_QUEUE_PROXY_PREFIX,DEV_QUEUE_DEFAULT_PORT,DEV_RUNTIME_CACHE_DEFAULT_PORT,DEV_SCHEDULES_DEFAULT_PORT,DEV_SCHEDULES_PROXY_PREFIX,DEV_RESOURCE_TOKEN,isValidDevResourceHost,listenOnDevResourcePort,getDevQueueEnv,getDevSchedulesEnv,devCommand};
|
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{require_string_width}from"./chunk-
|
|
7
|
+
import{require_string_width}from"./chunk-67GZ5REA.js";import{require_strip_ansi}from"./chunk-BS32OUOC.js";import{require_ansi_styles}from"./chunk-BRQUZ5NC.js";import{__commonJS,__require}from"./chunk-BZENIQ7N.js";var require_lib=__commonJS({"../../node_modules/.pnpm/mute-stream@1.0.0/node_modules/mute-stream/lib/index.js"(exports,module){var Stream=__require("stream"),MuteStream=class extends Stream{#isTTY=null;constructor(opts={}){super(opts),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=opts.replace,this._prompt=opts.prompt||null,this._hadControl=!1}#destSrc(key,def){return this._dest?this._dest[key]:this._src?this._src[key]:def}#proxy(method,...args){typeof this._dest?.[method]=="function"&&this._dest[method](...args),typeof this._src?.[method]=="function"&&this._src[method](...args)}get isTTY(){return this.#isTTY!==null?this.#isTTY:this.#destSrc("isTTY",!1)}set isTTY(val){this.#isTTY=val}get rows(){return this.#destSrc("rows")}get columns(){return this.#destSrc("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(src){this._src=src}pipe(dest,options){return this._dest=dest,super.pipe(dest,options)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(c){if(this.muted){if(!this.replace)return!0;if(c.match(/^\u001b/))return c.indexOf(this._prompt)===0&&(c=c.slice(this._prompt.length),c=c.replace(/./g,this.replace),c=this._prompt+c),this._hadControl=!0,this.emit("data",c);this._prompt&&this._hadControl&&c.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),c=c.slice(this._prompt.length)),c=c.toString().replace(/./g,this.replace)}this.emit("data",c)}end(c){this.muted&&(c&&this.replace?c=c.toString().replace(/./g,this.replace):c=null),c&&this.emit("data",c),this.emit("end")}destroy(...args){return this.#proxy("destroy",...args)}destroySoon(...args){return this.#proxy("destroySoon",...args)}close(...args){return this.#proxy("close",...args)}};module.exports=MuteStream}});var require_cli_width=__commonJS({"../../node_modules/.pnpm/cli-width@4.1.0/node_modules/cli-width/index.js"(exports,module){"use strict";module.exports=cliWidth;function normalizeOpts(options){let defaultOpts={defaultWidth:0,output:process.stdout,tty:__require("tty")};return options?(Object.keys(defaultOpts).forEach(function(key){options[key]||(options[key]=defaultOpts[key])}),options):defaultOpts}function cliWidth(options){let opts=normalizeOpts(options);if(opts.output.getWindowSize)return opts.output.getWindowSize()[0]||opts.defaultWidth;if(opts.tty.getWindowSize)return opts.tty.getWindowSize()[1]||opts.defaultWidth;if(opts.output.columns)return opts.output.columns;if(process.env.CLI_WIDTH){let width=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(width)&&width!==0)return width}return opts.defaultWidth}}});var require_wrap_ansi=__commonJS({"../../node_modules/.pnpm/wrap-ansi@6.2.0/node_modules/wrap-ansi/index.js"(exports,module){"use strict";var stringWidth=require_string_width(),stripAnsi=require_strip_ansi(),ansiStyles=require_ansi_styles(),ESCAPES=new Set(["\x1B","\x9B"]),END_CODE=39,wrapAnsi=code=>`${ESCAPES.values().next().value}[${code}m`,wordLengths=string=>string.split(" ").map(character=>stringWidth(character)),wrapWord=(rows,word,columns)=>{let characters=[...word],isInsideEscape=!1,visible=stringWidth(stripAnsi(rows[rows.length-1]));for(let[index,character]of characters.entries()){let characterLength=stringWidth(character);if(visible+characterLength<=columns?rows[rows.length-1]+=character:(rows.push(character),visible=0),ESCAPES.has(character))isInsideEscape=!0;else if(isInsideEscape&&character==="m"){isInsideEscape=!1;continue}isInsideEscape||(visible+=characterLength,visible===columns&&index<characters.length-1&&(rows.push(""),visible=0))}!visible&&rows[rows.length-1].length>0&&rows.length>1&&(rows[rows.length-2]+=rows.pop())},stringVisibleTrimSpacesRight=str=>{let words=str.split(" "),last=words.length;for(;last>0&&!(stringWidth(words[last-1])>0);)last--;return last===words.length?str:words.slice(0,last).join(" ")+words.slice(last).join("")},exec=(string,columns,options={})=>{if(options.trim!==!1&&string.trim()==="")return"";let pre="",ret="",escapeCode,lengths=wordLengths(string),rows=[""];for(let[index,word]of string.split(" ").entries()){options.trim!==!1&&(rows[rows.length-1]=rows[rows.length-1].trimLeft());let rowLength=stringWidth(rows[rows.length-1]);if(index!==0&&(rowLength>=columns&&(options.wordWrap===!1||options.trim===!1)&&(rows.push(""),rowLength=0),(rowLength>0||options.trim===!1)&&(rows[rows.length-1]+=" ",rowLength++)),options.hard&&lengths[index]>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);Math.floor((lengths[index]-1)/columns)<breaksStartingThisLine&&rows.push(""),wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push("")}if(rowLength+lengths[index]>columns&&options.wordWrap===!1){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word}options.trim!==!1&&(rows=rows.map(stringVisibleTrimSpacesRight)),pre=rows.join(`
|
|
8
8
|
`);for(let[index,character]of[...pre].entries()){if(ret+=character,ESCAPES.has(character)){let code2=parseFloat(/\d[^m]*/.exec(pre.slice(index,index+4)));escapeCode=code2===END_CODE?null:code2}let code=ansiStyles.codes.get(Number(escapeCode));escapeCode&&code&&(pre[index+1]===`
|
|
9
9
|
`?ret+=wrapAnsi(code):character===`
|
|
10
10
|
`&&(ret+=wrapAnsi(escapeCode)))}return ret};module.exports=(string,columns,options)=>String(string).normalize().replace(/\r\n/g,`
|
|
@@ -4,4 +4,4 @@ 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{__commonJS}from"./chunk-
|
|
7
|
+
import{__commonJS}from"./chunk-BZENIQ7N.js";var require_wrappy=__commonJS({"../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports,module){module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!="function")throw new TypeError("need wrapper function");return Object.keys(fn).forEach(function(k){wrapper[k]=fn[k]}),wrapper;function wrapper(){for(var args=new Array(arguments.length),i=0;i<args.length;i++)args[i]=arguments[i];var ret=fn.apply(this,args),cb2=args[args.length-1];return typeof ret=="function"&&ret!==cb2&&Object.keys(cb2).forEach(function(k){ret[k]=cb2[k]}),ret}}}});var require_once=__commonJS({"../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports,module){var wrappy=require_wrappy();module.exports=wrappy(once);module.exports.strict=wrappy(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0})});function once(fn){var f=function(){return f.called?f.value:(f.called=!0,f.value=fn.apply(this,arguments))};return f.called=!1,f}function onceStrict(fn){var f=function(){if(f.called)throw new Error(f.onceError);return f.called=!0,f.value=fn.apply(this,arguments)},name=fn.name||"Function wrapped with `once`";return f.onceError=name+" shouldn't be called more than once",f.called=!1,f}}});export{require_wrappy,require_once};
|
|
@@ -4,4 +4,4 @@ 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{require_dist}from"./chunk-
|
|
7
|
+
import{require_dist}from"./chunk-RM3ZDRYE.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_error_utils=__toESM(require_dist(),1);import{randomUUID}from"crypto";import{chmod,lstat,mkdir,readFile,readdir,realpath,rename,rm,writeFile}from"fs/promises";import{isAbsolute,join}from"path";var LOCAL_SCHEDULES_SESSION_HEADER="x-vercel-schedules-dev-session",uuidPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function isLocalSchedulesOrigin(origin){if(typeof origin!="string")return!1;let match=/^http:\/\/127\.0\.0\.1:([1-9][0-9]{0,4})$/.exec(origin);return!!match&&match[0]===origin&&Number(match[1])<=65535}async function createLocalSchedulesSession(cwd,origin,projectId){if(!isLocalSchedulesOrigin(origin)||!projectId.trim())throw new Error("Cannot publish local Schedules: expected an HTTP 127.0.0.1 origin with a valid port and a project ID.");let canonicalCwd=await realpath(cwd),directory=join(canonicalCwd,".vercel","dev","schedules");await mkdir(directory,{recursive:!0,mode:448}),await chmod(directory,448);let session={version:1,id:randomUUID(),pid:process.pid,cwd:canonicalCwd,origin,projectId},filename=join(directory,`${session.id}.json`),temporary=join(directory,`${session.id}.tmp`);try{await writeFile(temporary,JSON.stringify(session),{flag:"wx",mode:384}),await rename(temporary,filename)}catch(error){throw await rm(temporary,{force:!0}),error}return{session,dispose:()=>rm(filename,{force:!0})}}async function readLocalSchedulesSessions(cwd){let canonicalCwd=await realpath(cwd),directory=join(canonicalCwd,".vercel","dev","schedules"),filenames;try{filenames=await readdir(directory)}catch(error){if((0,import_error_utils.isErrnoException)(error)&&error.code==="ENOENT")return[];throw error}let sessions=[];for(let filename of filenames.sort()){if(!filename.endsWith(".json"))continue;let path=join(directory,filename),session;try{if(filename.length!==41||!uuidPattern.test(filename.slice(0,-5)))throw new Error("expected a UUID filename");if(!(await lstat(path)).isFile())throw new Error("expected a regular session file");if(session=JSON.parse(await readFile(path,"utf8")),!session||session.version!==1)throw new Error("unsupported session version (expected version 1)");if(session.id!==filename.slice(0,-5)||!Number.isSafeInteger(session.pid)||session.pid<=0||typeof session.cwd!="string"||!isAbsolute(session.cwd)||!isLocalSchedulesOrigin(session.origin)||typeof session.projectId!="string"||!session.projectId.trim())throw new Error("invalid session descriptor");try{process.kill(session.pid,0)}catch(error){if((0,import_error_utils.isErrnoException)(error)&&error.code==="ESRCH")continue;if(!(0,import_error_utils.isErrnoException)(error)||error.code!=="EPERM")throw error}if(await realpath(session.cwd)!==canonicalCwd)throw new Error("session directory does not match the current directory")}catch(error){if((0,import_error_utils.isErrnoException)(error)&&error.code==="ENOENT")try{await lstat(path)}catch(missing){if((0,import_error_utils.isErrnoException)(missing)&&missing.code==="ENOENT")continue;throw missing}throw new Error(`Cannot read local Schedules session ${path}: ${error instanceof Error?error.message:String(error)}. Stop vercel dev, remove this descriptor, and restart vercel dev in the current directory.`)}sessions.push(session)}return sessions}export{LOCAL_SCHEDULES_SESSION_HEADER,isLocalSchedulesOrigin,createLocalSchedulesSession,readLocalSchedulesSessions};
|
|
@@ -4,6 +4,6 @@ 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{emitAlertsScopeError,resolveAlertsScope}from"./chunk-
|
|
7
|
+
import{emitAlertsScopeError,resolveAlertsScope}from"./chunk-2WYDLP7X.js";import{getExitCodeForErrorCode,handleValidationError,validateAllProjectMutualExclusivity}from"./chunk-WH3SHWVK.js";import{isJSONObject}from"./chunk-SY4EANZH.js";import{AGENT_REASON,buildCommandWithGlobalFlags,getExitCodeForReason,outputAgentError}from"./chunk-5RR3435W.js";import{getScope}from"./chunk-DZ6GORJ7.js";import{getProjectByNameOrId}from"./chunk-MYMM34ZH.js";import{ProjectNotFound,isAPIError}from"./chunk-AZULOP7M.js";import{output_manager_default}from"./chunk-75IAMKGV.js";async function resolveRulesTeam(client,jsonOutput){let{team}=await getScope(client,{resolveLocalScope:!0});return team?{teamId:team.id}:emitAlertsScopeError(client,jsonOutput,"NO_TEAM","No team context found. Run `vercel switch` to select a team, use `--scope <team>`, or link a team project.",{reason:AGENT_REASON.MISSING_SCOPE,hint:"Alert rules belong to a team. Select the team before retrying.",next:[{command:buildCommandWithGlobalFlags(client.argv,"teams switch"),when:"Select a team"},{command:buildCommandWithGlobalFlags(client.argv,"whoami"),when:"Inspect the current scope"}]})}async function resolveRulesProject(client,projectNameOrId,jsonOutput,command){let teamScope=await resolveRulesTeam(client,jsonOutput);if(typeof teamScope=="number")return teamScope;try{let project=await getProjectByNameOrId(client,projectNameOrId,teamScope.teamId);return project instanceof ProjectNotFound?emitAlertsScopeError(client,jsonOutput,"PROJECT_NOT_FOUND",`Project "${projectNameOrId}" was not found in the selected team.`,{reason:AGENT_REASON.NOT_FOUND,next:[{command:buildCommandWithGlobalFlags(client.argv,`${command} --project <name_or_id>`),when:"Retry with a valid project"}]}):{...teamScope,projectId:project.id,projectName:project.name}}catch(error){if(!isAPIError(error))throw error;return emitAlertsScopeError(client,jsonOutput,error.code||"API_ERROR",error.serverMessage||`API error (${error.status}).`,{reason:error.status===401?"not_authorized":error.status===403?"forbidden":AGENT_REASON.API_ERROR})}}async function parseRulesFlagsAndScope(client,flags,jsonOutput,command="alerts rules ls"){let mutual=validateAllProjectMutualExclusivity(flags["--all"],flags["--project"]);if(!mutual.valid)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:mutual.message,next:[{command:buildCommandWithGlobalFlags(client.argv,"alerts rules --help"),when:"Use either `--project` or `--all`, not both"}]},2),handleValidationError(mutual,jsonOutput,client);if(flags["--all"])return resolveRulesTeam(client,jsonOutput);if(flags["--project"])return resolveRulesProject(client,flags["--project"],jsonOutput,command);let linkedScope=await resolveAlertsScope(client,{jsonOutput,command});if(typeof linkedScope=="number")return linkedScope;let teamScope=await resolveRulesTeam(client,jsonOutput);return typeof teamScope=="number"?teamScope:linkedScope.teamId===teamScope.teamId?linkedScope:teamScope}import{readFileSync}from"fs";import{resolve}from"path";function rulesCollectionPath(teamId,options={}){let query=new URLSearchParams({teamId});return options.limit!==void 0&&query.set("limit",String(options.limit)),options.cursor&&query.set("cursor",options.cursor),options.projectId&&query.set("projectId",options.projectId),options.type&&query.set("type",options.type),`/alerts/v3/alert-rules?${query.toString()}`}function rulesItemPath(teamId,ruleId){let query=new URLSearchParams({teamId});return`/alerts/v3/alert-rules/${encodeURIComponent(ruleId)}?${query.toString()}`}function ruleNotificationsPath(teamId,ruleId){let query=new URLSearchParams({teamId});return`/alerts/v3/alert-rules/${encodeURIComponent(ruleId)}/notifications?${query.toString()}`}function rulesNotificationsPath(teamId,options={}){let query=new URLSearchParams({teamId});return options.limit!==void 0&&query.set("limit",String(options.limit)),options.cursor&&query.set("cursor",options.cursor),`/alerts/v3/alert-rules/notifications?${query.toString()}`}function rulesNotificationLinksPath(teamId,ruleId){let query=new URLSearchParams({teamId});return`/alerts/v3/alert-rules/${encodeURIComponent(ruleId)}/notifications/links?${query.toString()}`}function rulesSchemaPath(teamId,type){let query=new URLSearchParams({teamId});return type&&query.set("type",type),`/alerts/v3/alert-rules/schema?${query.toString()}`}async function fetchRule(client,scope,ruleId){return(await client.fetch(rulesItemPath(scope.teamId,ruleId))).rule}function getIssues(error){return Array.isArray(error.issues)?error.issues.filter(issue=>isJSONObject(issue)&&typeof issue.path=="string"&&typeof issue.message=="string"):[]}function outputRulesError(client,jsonOutput,code,message,options={}){let issues=options.issues??[],issueSummary=issues.slice(0,5).map(issue=>`${issue.path||"body"}: ${issue.message}`).join("; "),exitCode=options.reason!==void 0?getExitCodeForReason(options.reason):getExitCodeForErrorCode(code);return outputAgentError(client,{status:"error",reason:options.reason??AGENT_REASON.INVALID_ARGUMENTS,message,hint:options.hint??(issueSummary||void 0)},exitCode),jsonOutput?client.stdout.write(`${JSON.stringify({error:{code,message,...issues.length?{issues}:{}}},null,2)}
|
|
8
8
|
`):output_manager_default.fatal([message,...issues.map(issue=>` ${issue.path}: ${issue.message}`)].join(`
|
|
9
9
|
`)),exitCode}function handleRulesApiError(client,err,jsonOutput){let message=err.status===401?"You do not have access to alert rules in this team. Ensure your role can manage Alert Rules, or pass --token and --scope.":err.status===403?err.serverMessage||"You do not have permission to manage alert rules in this team.":err.status>=500?`The alert rules endpoint failed (${err.status}). Re-run with --debug and share the x-vercel-id from the failed request.`:err.serverMessage||`API error (${err.status}).`;return outputRulesError(client,jsonOutput,err.code||"API_ERROR",message,{reason:err.status===401?"not_authorized":err.status===403?"forbidden":err.status===404?AGENT_REASON.NOT_FOUND:err.status===429?"rate_limited":AGENT_REASON.API_ERROR,issues:getIssues(err),hint:err.status===401||err.status===403?"Confirm the team with `vercel whoami`; use --scope <team-slug> if the rule belongs to another team.":void 0})}var LEGACY_BODY_FIELDS=["alertTypes","customAlert","queryJsonString"];function readRuleBody(client,bodyPath,jsonOutput){let raw;try{raw=readFileSync(resolve(client.cwd,bodyPath),"utf8")}catch{return outputRulesError(client,jsonOutput,"INVALID_ARGUMENTS",`Could not read --body file: ${bodyPath}`)}let parsed;try{parsed=JSON.parse(raw)}catch{return outputRulesError(client,jsonOutput,"INVALID_ARGUMENTS","Invalid JSON in --body file.")}return isJSONObject(parsed)?LEGACY_BODY_FIELDS.some(field=>Object.hasOwn(parsed,field))?outputRulesError(client,jsonOutput,"LEGACY_ALERT_RULE_BODY","This body uses the previous alert-rules shape. Rewrite it using the current schema.",{hint:"Run `vercel alerts rules schema --type built-in` for examples."}):parsed:outputRulesError(client,jsonOutput,"INVALID_ARGUMENTS","The --body file must contain a JSON object.")}function getBodyType(body){return body.type==="built-in"||body.type==="custom"?body.type:void 0}function emitRulesArgParseError(client,err,recoverWithProjectFlag){let message=err instanceof Error?err.message:String(err),projectFlagMissingArg=message.includes("--project")&&message.includes("requires argument");outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:projectFlagMissingArg?"`--project` requires a project name or id (for example `--project my-app`).":message,next:[{command:buildCommandWithGlobalFlags(client.argv,projectFlagMissingArg?recoverWithProjectFlag:"alerts rules --help"),when:projectFlagMissingArg?"Retry with a project name or id":"See valid `alerts rules` subcommands"}]},2)}export{resolveRulesTeam,resolveRulesProject,parseRulesFlagsAndScope,rulesCollectionPath,rulesItemPath,ruleNotificationsPath,rulesNotificationsPath,rulesNotificationLinksPath,rulesSchemaPath,fetchRule,outputRulesError,handleRulesApiError,readRuleBody,getBodyType,emitRulesArgParseError};
|