@vercel/cli-support 65.4.0 → 65.5.0-snapshot-8a613d8ad85d
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/README.md +22 -0
- package/dist/chunks/add-6UOKR26K.js +8 -0
- package/dist/chunks/add-GULZ6EGJ.js +8 -0
- package/dist/chunks/add-RPAOJH5O.js +8 -0
- package/dist/chunks/build-MLAKPRSC.js +7 -0
- package/dist/chunks/{chunk-ADLBLGT3.js → chunk-26QK3I2S.js} +1 -1
- package/dist/chunks/chunk-2BKALEOP.js +7 -0
- package/dist/chunks/chunk-2FHZYQPY.js +7 -0
- package/dist/chunks/{chunk-TIPQQ4TG.js → chunk-2QIJEHNE.js} +1 -1
- package/dist/chunks/{chunk-JP33AIDQ.js → chunk-36NK2Z3C.js} +1 -1
- package/dist/chunks/{chunk-D6REP5QQ.js → chunk-3E364MJE.js} +1 -1
- package/dist/chunks/{chunk-EEUJLJEJ.js → chunk-3H36RI7C.js} +1 -1
- package/dist/chunks/{chunk-JUSR7V2L.js → chunk-3NG2EYQ5.js} +1 -1
- package/dist/chunks/{chunk-AYUUSAB7.js → chunk-4G7ZQONX.js} +1 -1
- package/dist/chunks/{chunk-SYFG2RM6.js → chunk-4HJGSSSZ.js} +1 -1
- package/dist/chunks/{chunk-CWM2F235.js → chunk-55H6G46X.js} +1 -1
- package/dist/chunks/{chunk-6TXEVQA4.js → chunk-5CZNUB7Y.js} +1 -1
- package/dist/chunks/{chunk-ZN6CQWVP.js → chunk-5EMSOR2P.js} +1 -1
- package/dist/chunks/{chunk-NAX6IARA.js → chunk-5K426HWC.js} +1 -1
- package/dist/chunks/{chunk-773GOZIR.js → chunk-5SIC5273.js} +1 -1
- package/dist/chunks/chunk-5WYPJ2T5.js +25 -0
- package/dist/chunks/{chunk-MBEKRUTQ.js → chunk-6IATT2ID.js} +2 -2
- package/dist/chunks/{chunk-KPQLUGFI.js → chunk-6WMO5G45.js} +3 -3
- package/dist/chunks/{chunk-6OVX3PWM.js → chunk-75JI2SZX.js} +1 -1
- package/dist/chunks/{chunk-ECEDD646.js → chunk-7G4PQR6J.js} +1 -1
- package/dist/chunks/chunk-7SAEZ4NC.js +7 -0
- package/dist/chunks/{chunk-363SJ4TN.js → chunk-7VTPAXDC.js} +1 -1
- package/dist/chunks/chunk-A2UZ2O7H.js +7 -0
- package/dist/chunks/{chunk-3LIKVGFT.js → chunk-A3RU52F4.js} +1 -1
- package/dist/chunks/{chunk-CC6FLKIP.js → chunk-AIRQFG5A.js} +1 -1
- package/dist/chunks/{chunk-IOZ3I765.js → chunk-AOC6XXOO.js} +1 -1
- package/dist/chunks/{chunk-EISD3RG7.js → chunk-ARQMFBV4.js} +1 -1
- package/dist/chunks/{chunk-UHBMX3OK.js → chunk-AUY363W7.js} +1 -1
- package/dist/chunks/chunk-BGWS5R5R.js +9 -0
- package/dist/chunks/chunk-C6IITJ5S.js +7 -0
- package/dist/chunks/{chunk-OHEOYFBU.js → chunk-CLVEFWEX.js} +1 -1
- package/dist/chunks/{chunk-KGBIRIFF.js → chunk-CU2FTX57.js} +1 -1
- package/dist/chunks/{chunk-YHULP2KK.js → chunk-CWO4HMKU.js} +1 -1
- package/dist/chunks/{chunk-EU2GBIPC.js → chunk-CZINAGH6.js} +1 -1
- package/dist/chunks/{chunk-QIVX6SCR.js → chunk-DAUAVRFC.js} +1 -1
- package/dist/chunks/{chunk-GA277JFB.js → chunk-DPM33VFZ.js} +1 -1
- package/dist/chunks/{chunk-Q5ODLDCU.js → chunk-DSY2S2YT.js} +1 -1
- package/dist/chunks/{chunk-XP3FT56R.js → chunk-DWOJP4ST.js} +3 -3
- package/dist/chunks/chunk-ED3VA7D4.js +7 -0
- package/dist/chunks/{chunk-GG5RME4X.js → chunk-EE2FTI3R.js} +1 -1
- package/dist/chunks/{chunk-QVZAAMGQ.js → chunk-EFEQQXRU.js} +1 -1
- package/dist/chunks/{chunk-DKJL2KV7.js → chunk-EPO7P734.js} +1 -1
- package/dist/chunks/{chunk-7QAGSRCU.js → chunk-EQT2VHL2.js} +1 -1
- package/dist/chunks/chunk-ETEVOJQJ.js +8 -0
- package/dist/chunks/chunk-EWP5WICJ.js +10 -0
- package/dist/chunks/chunk-F22QLVTX.js +7 -0
- package/dist/chunks/{chunk-XC46OAAT.js → chunk-FAEC4BER.js} +1 -1
- package/dist/chunks/{chunk-LSQREJXO.js → chunk-FAELJM4F.js} +1 -1
- package/dist/chunks/{chunk-7R6TRRG5.js → chunk-FNA4MIOH.js} +1 -1
- package/dist/chunks/{chunk-L3JYCXVB.js → chunk-GFD6UAAO.js} +2 -2
- package/dist/chunks/{chunk-U2OBPULW.js → chunk-GP55VEOQ.js} +1 -1
- package/dist/chunks/{chunk-FSPPKNKN.js → chunk-GVPVWHFK.js} +1 -1
- package/dist/chunks/{chunk-527GBU3K.js → chunk-HMWDOAWO.js} +1 -1
- package/dist/chunks/{chunk-7L2K4OKM.js → chunk-HVDGNAPM.js} +1 -1
- package/dist/chunks/{chunk-QVHXFHBV.js → chunk-I2WEQWCA.js} +1 -1
- package/dist/chunks/{chunk-JRPNHWA3.js → chunk-IC3THLYP.js} +1 -1
- package/dist/chunks/{chunk-IQKGQ2Y2.js → chunk-J6L5MDTX.js} +1 -1
- package/dist/chunks/{chunk-YMZ6WBKB.js → chunk-JCGEXU7T.js} +3 -3
- package/dist/chunks/{chunk-7L5QUDUR.js → chunk-JGMJP4T3.js} +1 -1
- package/dist/chunks/{chunk-ZQBSAMFL.js → chunk-JHNLBVO2.js} +1 -1
- package/dist/chunks/{chunk-HTXDC7E2.js → chunk-JMLKK7RL.js} +2 -2
- package/dist/chunks/{chunk-T6243EDS.js → chunk-JSAY52FE.js} +1 -1
- package/dist/chunks/{chunk-C7FQMC6D.js → chunk-JWUXHL35.js} +1 -1
- package/dist/chunks/{chunk-KQCROPL3.js → chunk-JXAEI2GJ.js} +1 -1
- package/dist/chunks/{chunk-VNIKIQVE.js → chunk-KHADRPBJ.js} +1 -1
- package/dist/chunks/{chunk-GCZVIDNG.js → chunk-KWKEBKUR.js} +1 -1
- package/dist/chunks/chunk-KY7LDQRX.js +7 -0
- package/dist/chunks/{chunk-YEZJNXQX.js → chunk-L4XLDN6T.js} +1 -1
- package/dist/chunks/{chunk-EGNR2DEI.js → chunk-LOO42IMZ.js} +1 -1
- package/dist/chunks/{chunk-CBVKB3DT.js → chunk-LT5UZRMK.js} +1 -1
- package/dist/chunks/{chunk-FUX6LKNP.js → chunk-LUX4PBJL.js} +1 -1
- package/dist/chunks/chunk-M7LUSXMG.js +7 -0
- package/dist/chunks/{chunk-ANMDN3EG.js → chunk-MFW6IJIK.js} +1 -1
- package/dist/chunks/{chunk-UGNIIDHR.js → chunk-MLGQ233X.js} +1 -1
- package/dist/chunks/chunk-MY4MONOH.js +7 -0
- package/dist/chunks/{chunk-N6JBQMOF.js → chunk-MZQEDXOH.js} +1 -1
- package/dist/chunks/chunk-N5CXIFE2.js +7 -0
- package/dist/chunks/{chunk-LQVSU5HR.js → chunk-NM44RWS6.js} +1 -1
- package/dist/chunks/{chunk-FHU2O7ZJ.js → chunk-NVNE3W7S.js} +1 -1
- package/dist/chunks/chunk-NZPGWZLV.js +9 -0
- package/dist/chunks/{chunk-462YCCJZ.js → chunk-O7COT3YB.js} +1 -1
- package/dist/chunks/{chunk-KY335KWI.js → chunk-ODAV7Z2H.js} +1 -1
- package/dist/chunks/{chunk-HCRD3JFL.js → chunk-OKNDHNH6.js} +1 -1
- package/dist/chunks/{chunk-Q4KTAQB3.js → chunk-OQX4YVGU.js} +1 -1
- package/dist/chunks/chunk-ORJBK5FT.js +9 -0
- package/dist/chunks/{chunk-5KUUMQ3M.js → chunk-OTYF3ZZW.js} +1 -1
- package/dist/chunks/{chunk-FGFLTLEA.js → chunk-P6ZTEDX2.js} +1 -1
- package/dist/chunks/{chunk-O72YDZKD.js → chunk-PHHZ6J7Q.js} +1 -1
- package/dist/chunks/{chunk-RMZTB2IU.js → chunk-PRFIFS3Q.js} +1 -1
- package/dist/chunks/{chunk-R2XHJDAP.js → chunk-QDPYU6KS.js} +1 -1
- package/dist/chunks/{chunk-JLEJB6KM.js → chunk-QHM6OK76.js} +1 -1
- package/dist/chunks/{chunk-CR3NBTHV.js → chunk-QNL22LAW.js} +1 -1
- package/dist/chunks/{chunk-5V53NA6C.js → chunk-QUSEBFDO.js} +1 -1
- package/dist/chunks/{chunk-DQ2SVW4R.js → chunk-R3BEQTZZ.js} +1 -1
- package/dist/chunks/{chunk-BUJITHGZ.js → chunk-RCUDI7OF.js} +1 -1
- package/dist/chunks/{chunk-Y5ZMKL7E.js → chunk-RMW2FDXS.js} +1 -1
- package/dist/chunks/{chunk-KRPY5FHJ.js → chunk-RQVIMYKN.js} +1 -1
- package/dist/chunks/chunk-RWPQOJTT.js +22 -0
- package/dist/chunks/{chunk-2TUVL6WE.js → chunk-SDOPVIKJ.js} +1 -1
- package/dist/chunks/{chunk-3XW7N4W3.js → chunk-SKSOCUDZ.js} +1 -1
- package/dist/chunks/chunk-SLDWAIO3.js +18 -0
- package/dist/chunks/{chunk-JWCEHQQF.js → chunk-SW3JRXUW.js} +1 -1
- package/dist/chunks/{chunk-M2NXKZKX.js → chunk-TGOGYSBO.js} +1 -1
- package/dist/chunks/chunk-TZT3VYZ3.js +7 -0
- package/dist/chunks/{chunk-F6EBOT64.js → chunk-UJQ6PBRF.js} +1 -1
- package/dist/chunks/{chunk-BVGGTBYE.js → chunk-UWMPVTXG.js} +1 -1
- package/dist/chunks/{chunk-R6BEOVTU.js → chunk-VAWZZK3Y.js} +1 -1
- package/dist/chunks/{chunk-4N6LMERQ.js → chunk-VLYVVC3P.js} +11 -11
- package/dist/chunks/{chunk-HSFKISDH.js → chunk-VQ755MPP.js} +1 -1
- package/dist/chunks/{chunk-QB7F3UAP.js → chunk-VUQWLLNI.js} +1 -1
- package/dist/chunks/chunk-VWHIWUGJ.js +7 -0
- package/dist/chunks/chunk-WDUHDLUA.js +14 -0
- package/dist/chunks/{chunk-K5U47EVH.js → chunk-WICRM2JL.js} +1 -1
- package/dist/chunks/{chunk-KJA2GKPT.js → chunk-WSVYZKI6.js} +1 -1
- package/dist/chunks/{chunk-N2FLYCCO.js → chunk-XAU3KTPX.js} +1 -1
- package/dist/chunks/chunk-XCKUJZUG.js +10 -0
- package/dist/chunks/{chunk-WDXW6A4H.js → chunk-XE24Y6NM.js} +2 -2
- package/dist/chunks/{chunk-RW3X523R.js → chunk-XSQVCDSD.js} +1 -1
- package/dist/chunks/{chunk-KW6GSQXV.js → chunk-XTKGBVSF.js} +1 -1
- package/dist/chunks/{chunk-2K3ISCQ6.js → chunk-YALEYPMP.js} +1 -1
- package/dist/chunks/chunk-YCJHUYBJ.js +19 -0
- package/dist/chunks/{chunk-TEYREL44.js → chunk-YIRSRF6D.js} +1 -1
- package/dist/chunks/chunk-YQDOADMG.js +10 -0
- package/dist/chunks/{chunk-PFPJLIFF.js → chunk-YT3QAZQF.js} +1 -1
- package/dist/chunks/{chunk-R2BUF6Z7.js → chunk-ZQUVDDPB.js} +1 -1
- package/dist/chunks/{chunk-XVDRGWXM.js → chunk-ZUNQHI5Y.js} +1 -1
- package/dist/chunks/{chunk-KQCFC2JL.js → chunk-ZUYPTLVO.js} +1 -1
- package/dist/chunks/clear-UZWOOGOH.js +8 -0
- package/dist/chunks/compile-vercel-config-2RQDL3RD.js +7 -0
- package/dist/chunks/config-C76IGJ6B.js +8 -0
- package/dist/chunks/config-RMJWRS7O.js +7 -0
- package/dist/chunks/{connect-git-provider-FS5Q2HO4.js → connect-git-provider-IQ7N2NPY.js} +1 -1
- package/dist/chunks/delete-2WBR5JQW.js +9 -0
- package/dist/chunks/delete-OKOBDL7Z.js +10 -0
- package/dist/chunks/{detect-projects-OD4JEAW2.js → detect-projects-XPB3R7VS.js} +1 -1
- package/dist/chunks/detect-services-DRHV22O5.js +7 -0
- package/dist/chunks/disable-DFEABU2Z.js +7 -0
- package/dist/chunks/discard-KGBEMNFT.js +14 -0
- package/dist/chunks/edit-5XIRLUKG.js +9 -0
- package/dist/chunks/edit-PJIDMKUS.js +8 -0
- package/dist/chunks/enable-UDWDPFOI.js +7 -0
- package/dist/chunks/{exec-OZSY46V6.js → exec-PX4GTZNE.js} +1 -1
- package/dist/chunks/{export-EPLYZF2Q.js → export-W75EA6EQ.js} +1 -1
- package/dist/chunks/future-PHSAEQIE.js +7 -0
- package/dist/chunks/generate-cert-for-deploy-C67VL5Z6.js +7 -0
- package/dist/chunks/image-U5CV2PRP.js +7 -0
- package/dist/chunks/import-builders-PHIIX7HW.js +7 -0
- package/dist/chunks/inspect-AU3MX7E2.js +13 -0
- package/dist/chunks/{inspect-CZ7WXYE5.js → inspect-DQQI3PM7.js} +1 -1
- package/dist/chunks/inspect-LJK7I6RZ.js +9 -0
- package/dist/chunks/{inspect-T2AIREYK.js → inspect-RNWLPR7I.js} +1 -1
- package/dist/chunks/{inspect-HFDGZNWC.js → inspect-WHPWW4BI.js} +1 -1
- package/dist/chunks/list-JV26NNYL.js +16 -0
- package/dist/chunks/{list-ON4YTQRN.js → list-QNRFVMMQ.js} +1 -1
- package/dist/chunks/list-YF4FXWUZ.js +12 -0
- package/dist/chunks/login-A4KNOUNA.js +9 -0
- package/dist/chunks/login-COGE7JQU.js +7 -0
- package/dist/chunks/logs-KMQATUYR.js +7 -0
- package/dist/chunks/{ls-FK5XEJEU.js → ls-DTFLHFOW.js} +1 -1
- package/dist/chunks/{ls-A7K4XDQB.js → ls-FOKMPVIB.js} +1 -1
- package/dist/chunks/ls-HMYU2ZGA.js +11 -0
- package/dist/chunks/{ls-2HUJHVLA.js → ls-IHF33MQP.js} +1 -1
- package/dist/chunks/{ls-QGUKJJY5.js → ls-QD54I4S7.js} +1 -1
- package/dist/chunks/{ls-3DVM5HLK.js → ls-RNRMYD3V.js} +1 -1
- package/dist/chunks/ls-ZQLCDIQJ.js +8 -0
- package/dist/chunks/mutate-RMIFQOF6.js +9 -0
- package/dist/chunks/notifications-BFBNV2HY.js +7 -0
- package/dist/chunks/open-L6HEXHAI.js +7 -0
- package/dist/chunks/openapi-6JKCOR7K.js +7 -0
- package/dist/chunks/permissions-UYGTYRKA.js +7 -0
- package/dist/chunks/{plugin-offer-TEGYA3TA.js → plugin-offer-NBHRXMNR.js} +1 -1
- package/dist/chunks/prompt-missing-credentials-2IYIF2JI.js +7 -0
- package/dist/chunks/publish-T2VSTPG4.js +15 -0
- package/dist/chunks/pull-4GL47Z2S.js +7 -0
- package/dist/chunks/purchase-domain-if-available-BHFBD3LW.js +7 -0
- package/dist/chunks/push-CQPIDVTL.js +7 -0
- package/dist/chunks/{query-FXXLX6UB.js → query-HN45ORIB.js} +1 -1
- package/dist/chunks/reauthenticate-FTHGAWK3.js +7 -0
- package/dist/chunks/reorder-7BD5JZKQ.js +10 -0
- package/dist/chunks/reply-2INQJ5KM.js +9 -0
- package/dist/chunks/resolve-DHAJC3I7.js +12 -0
- package/dist/chunks/resolve-agent-team-KGYPHN5F.js +7 -0
- package/dist/chunks/restore-OQKNWEFQ.js +16 -0
- package/dist/chunks/rm-CTP4UZH7.js +8 -0
- package/dist/chunks/rm-GFHEXQQW.js +8 -0
- package/dist/chunks/rm-OG3OXA6H.js +8 -0
- package/dist/chunks/rm-PFZYHXEN.js +8 -0
- package/dist/chunks/rm-XAW3WJ3I.js +8 -0
- package/dist/chunks/{routes-PKTWMDWQ.js → routes-XKEWEA3P.js} +1 -1
- package/dist/chunks/rule-inspect-MKQE5IVJ.js +8 -0
- package/dist/chunks/{schema-ZWE5MNMG.js → schema-TFN5PSYE.js} +2 -2
- package/dist/chunks/schema-XFER2RCF.js +14 -0
- package/dist/chunks/select-org-PFTR6HQZ.js +7 -0
- package/dist/chunks/set-KWOZNGRL.js +7 -0
- package/dist/chunks/setup-and-link-BRYK42L7.js +7 -0
- package/dist/chunks/{skills-RKIGVVNM.js → skills-2MOFBKIE.js} +1 -1
- package/dist/chunks/tags-BHZUQTOQ.js +7 -0
- package/dist/chunks/{types-YM7TMHXW.js → types-IWO5QLAV.js} +1 -1
- package/dist/chunks/{update-BGDQ5TXO.js → update-LP7ZZUFZ.js} +1 -1
- package/dist/commands/build/index.js +2 -2
- package/dist/commands/deploy/index.js +8 -8
- package/dist/commands/dev/index.js +6 -6
- package/dist/commands/env/index.js +3 -3
- package/dist/commands/link/index.js +2 -2
- package/dist/commands/list/index.js +1 -1
- package/dist/commands/project/index.js +4 -4
- package/dist/commands-account.js +18 -18
- package/dist/commands-ai.js +12 -12
- package/dist/commands-blob.js +7 -7
- package/dist/commands-core.js +23 -23
- package/dist/commands-deployments.js +3 -3
- package/dist/commands-flags.js +29 -29
- package/dist/commands-integrations.js +98 -83
- package/dist/commands-observability.js +4 -4
- package/dist/commands-routing.js +23 -23
- package/dist/help.js +1 -1
- package/dist/index.js +7 -7
- package/dist/internal-build.js +2 -2
- package/dist/native-download.js +7 -0
- package/dist/package.json +27 -26
- package/dist/root-help-commands.mjs +1 -1
- package/dist/vc.js +172 -17
- package/dist/version.mjs +1 -1
- package/package.json +20 -19
- package/dist/chunks/add-7NS6HIWC.js +0 -8
- package/dist/chunks/add-NMYFDVXW.js +0 -8
- package/dist/chunks/add-PMJ5BECU.js +0 -8
- package/dist/chunks/build-BCY6HQJG.js +0 -7
- package/dist/chunks/chunk-5IWFRZQT.js +0 -10
- package/dist/chunks/chunk-6I6QJHCY.js +0 -7
- package/dist/chunks/chunk-6VH56CX2.js +0 -19
- package/dist/chunks/chunk-6YXIWZ3X.js +0 -25
- package/dist/chunks/chunk-7E3WREH5.js +0 -7
- package/dist/chunks/chunk-EAXMWCOL.js +0 -63
- package/dist/chunks/chunk-EKZTFGDX.js +0 -7
- package/dist/chunks/chunk-FLHO75XC.js +0 -8
- package/dist/chunks/chunk-GYVJIIYL.js +0 -7
- package/dist/chunks/chunk-JLE7K4SY.js +0 -9
- package/dist/chunks/chunk-KCKYPLIH.js +0 -7
- package/dist/chunks/chunk-LOBA3E72.js +0 -7
- package/dist/chunks/chunk-LW4N3CW6.js +0 -9
- package/dist/chunks/chunk-NGKO2OOU.js +0 -8
- package/dist/chunks/chunk-NW7WWUCQ.js +0 -9
- package/dist/chunks/chunk-O4WNSKQR.js +0 -15
- package/dist/chunks/chunk-OZCQTXI4.js +0 -7
- package/dist/chunks/chunk-QVXS234E.js +0 -7
- package/dist/chunks/chunk-SLGUYM42.js +0 -10
- package/dist/chunks/chunk-TAISZMA2.js +0 -7
- package/dist/chunks/chunk-WEH6XC4Y.js +0 -22
- package/dist/chunks/chunk-WVHCBDTB.js +0 -7
- package/dist/chunks/clear-FKVWDCVA.js +0 -8
- package/dist/chunks/compile-vercel-config-GWAJE44R.js +0 -7
- package/dist/chunks/config-5WVLG5SE.js +0 -8
- package/dist/chunks/config-RMOHN5YT.js +0 -7
- package/dist/chunks/delete-5WMB4WFR.js +0 -9
- package/dist/chunks/delete-EM4JZPFA.js +0 -10
- package/dist/chunks/detect-services-BSJGB4RM.js +0 -7
- package/dist/chunks/disable-QOM7UHQC.js +0 -7
- package/dist/chunks/discard-L5ZH7P5B.js +0 -14
- package/dist/chunks/edit-F3VJGCG2.js +0 -9
- package/dist/chunks/edit-TM7YCWBU.js +0 -8
- package/dist/chunks/enable-72C3QX34.js +0 -7
- package/dist/chunks/future-V77DRMQG.js +0 -7
- package/dist/chunks/generate-cert-for-deploy-Y3YHBMPU.js +0 -7
- package/dist/chunks/image-CVXEXU5R.js +0 -7
- package/dist/chunks/import-builders-PGRKJOOE.js +0 -7
- package/dist/chunks/inspect-BTRNXRJT.js +0 -9
- package/dist/chunks/inspect-FGDVWAQP.js +0 -13
- package/dist/chunks/list-CKRRHAOE.js +0 -12
- package/dist/chunks/list-FLREMGJR.js +0 -16
- package/dist/chunks/login-55LJ5ZA6.js +0 -9
- package/dist/chunks/login-DQRZSD4Z.js +0 -7
- package/dist/chunks/logs-2HQXWOHM.js +0 -7
- package/dist/chunks/ls-4B3QYHCI.js +0 -8
- package/dist/chunks/ls-VTKHPDWS.js +0 -11
- package/dist/chunks/mutate-7ADZBCZM.js +0 -9
- package/dist/chunks/notifications-XZJXE2K4.js +0 -7
- package/dist/chunks/open-EE5IZQD7.js +0 -7
- package/dist/chunks/openapi-QBX62ZXC.js +0 -7
- package/dist/chunks/permissions-VYJ4LL5R.js +0 -7
- package/dist/chunks/prompt-missing-credentials-VP6OVCFM.js +0 -7
- package/dist/chunks/publish-2HEK5UMJ.js +0 -15
- package/dist/chunks/pull-WRTTSY7J.js +0 -7
- package/dist/chunks/purchase-domain-if-available-6S3NLTUI.js +0 -7
- package/dist/chunks/push-L3QRGGLC.js +0 -7
- package/dist/chunks/reauthenticate-IXQDC4UZ.js +0 -7
- package/dist/chunks/reorder-B4OXSYCI.js +0 -10
- package/dist/chunks/reply-F637K6XH.js +0 -9
- package/dist/chunks/resolve-E3F6NYQZ.js +0 -12
- package/dist/chunks/resolve-agent-team-EIPCH766.js +0 -7
- package/dist/chunks/restore-Q25KRZPH.js +0 -16
- package/dist/chunks/rm-FWD2NUGX.js +0 -8
- package/dist/chunks/rm-JMQ4QKCC.js +0 -8
- package/dist/chunks/rm-PPG7P3GN.js +0 -8
- package/dist/chunks/rm-SH3DYKNS.js +0 -8
- package/dist/chunks/rm-UEBLKFVC.js +0 -8
- package/dist/chunks/rule-inspect-LKQA5I4V.js +0 -8
- package/dist/chunks/schema-FBV42W7N.js +0 -14
- package/dist/chunks/select-org-WMB752Z6.js +0 -7
- package/dist/chunks/set-UTYIPOLC.js +0 -7
- package/dist/chunks/setup-and-link-ZLY5XQW5.js +0 -7
- package/dist/chunks/tags-UCLZ5UMX.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
export const rootHelpCommands = [{"names":["deploy"],"description":"Deploy your project to Vercel","basic":true,"default":true},{"names":["activity"],"description":"List user activity events","basic":false,"default":false},{"names":["agent"],"description":"Generate an AGENTS.md file with Vercel deployment best practices","basic":false,"default":false},{"names":["agent-runs"],"description":"Inspect Agent Runs observability data","basic":false,"default":false},{"names":["ai-gateway"],"description":"Manage AI Gateway resources","basic":false,"default":false},{"names":["alerts"],"description":"List alert groups or inspect a group","basic":false,"default":false},{"names":["alias"],"description":"Interact with deployment aliases","basic":false,"default":false},{"names":["api"],"description":"Make authenticated HTTP requests to the Vercel API","basic":false,"default":false},{"names":["bisect"],"description":"Bisect the current project interactively or via an automated test script","basic":false,"default":false},{"names":["blob"],"description":"Interact with Vercel Blob","basic":false,"default":false},{"names":["budgets"],"description":"Show and manage Spend Management for on-demand charges after included credit [beta]","basic":false,"default":false},{"names":["build"],"description":"Build the project","basic":true,"default":false},{"names":["buy"],"description":"Purchase Vercel products for your team","basic":false,"default":false},{"names":["cache"],"description":"Manage cache for a Project","basic":true,"default":false},{"names":["certs"],"description":"Interact with SSL certificates","basic":false,"default":false},{"names":["changelog"],"description":"Show the latest Vercel product updates","basic":false,"default":false},{"names":["ci"],"description":"Inspect Vercel CI and rerun runs","basic":false,"default":false},{"names":["comments"],"description":"Review and act on Vercel Toolbar comments from the command line","basic":false,"default":false},{"names":["connect"],"description":"Manage connectors","basic":false,"default":false},{"names":["contract"],"description":"Show contract information for all billing periods","basic":false,"default":false},{"names":["crons"],"description":"Manage cron jobs for a project [beta]","basic":false,"default":false},{"names":["curl"],"description":"Make curl requests to Vercel deployments with automatic protection bypass","basic":false,"default":false},{"names":["daemons"],"description":"Manage daemons for a project [beta]","basic":false,"default":false},{"names":["deploy-hooks"],"description":"Manage deploy hooks for Git-triggered builds","basic":false,"default":false},{"names":["dev"],"description":"Starts the `vercel dev` server","basic":true,"default":false},{"names":["dns"],"description":"Manage DNS records for your domains","basic":false,"default":false},{"names":["domains"],"description":"Manage domains","basic":false,"default":false},{"names":["drains"],"description":"Manage drains for logs, traces, analytics, and speed insights","basic":false,"default":false},{"names":["env"],"description":"Interact with Environment Variables for a Project","basic":true,"default":false},{"names":["environments"],"description":"Manage custom environments for a Project","basic":false,"default":false},{"names":["feedback"],"description":"Send bugs, friction, and feature requests to the Vercel team","basic":false,"default":false},{"names":["firewall"],"description":"Manage your project's firewall rules, IP blocks, and system bypass configuration","basic":false,"default":false},{"names":["flags"],"description":"Manage feature flags for a Vercel project","basic":false,"default":false},{"names":["git"],"description":"Manage your Git repository connection to the current Project","basic":true,"default":false},{"names":["global-config"],"description":"Manage Global Config stores (dashboard API parity)","basic":false,"default":false},{"names":["health"],"description":"Show the current Vercel platform status and recent incidents","basic":false,"default":false},{"names":["help"],"description":"Show help for a command","basic":true,"default":false},{"names":["httpstat"],"description":"Execute httpstat with automatic deployment URL and protection bypass to visualize HTTP timing statistics","basic":false,"default":false},{"names":["init"],"description":"Initialize example Vercel Projects","basic":true,"default":false},{"names":["inspect"],"description":"Show information about a deployment","basic":true,"default":false},{"names":["install"],"description":"Install an integration from the marketplace (alias for `integration add`)","basic":true,"default":false},{"names":["integration"],"description":"Manage marketplace integrations","basic":true,"default":false},{"names":["kms"],"description":"Manage KMS issuers, signing keys, and project grants [beta]","basic":false,"default":false},{"names":["link"],"description":"Link a local directory to a Vercel project","basic":true,"default":false},{"names":["list"],"description":"List deployments","basic":true,"default":false},{"names":["login"],"description":"Sign in to your Vercel account","basic":true,"default":false},{"names":["logout"],"description":"Sign out the currently authenticated user","basic":true,"default":false},{"names":["logs"],"description":"Display logs","basic":false,"default":false},{"names":["mcp"],"description":"Set up MCP agents and configuration for Vercel integration","basic":false,"default":false},{"names":["metrics"],"description":"Query observability metrics for your Vercel project or team","basic":false,"default":false},{"names":["microfrontends"],"description":"Manage microfrontends groups that compose multiple projects into one cohesive application","basic":false,"default":false},{"names":["monitors"],"description":"Add, inspect, list, update, and remove monitors, and manage their notification destinations","basic":false,"default":false},{"names":["open"],"description":"Opens the current project in the Vercel Dashboard","basic":true,"default":false},{"names":["organizations"],"description":"Manage Vercel organizations","basic":false,"default":false},{"names":["pricing"],"description":"Show Hobby, Pro, and Enterprise features from the public Vercel pricing table","basic":false,"default":false},{"names":["project"],"description":"Manage your Vercel projects","basic":false,"default":false},{"names":["promote"],"description":"Promote an existing Deployment to current","basic":true,"default":false},{"names":["pull"],"description":"Pull Environment Variables and project settings into .vercel","basic":true,"default":false},{"names":["redeploy"],"description":"Rebuild and deploy a previous deployment","basic":true,"default":false},{"names":["redirects"],"description":"Manage redirects for a project","basic":false,"default":false},{"names":["remove"],"description":"Delete deployment(s) by project name or deployment ID","basic":false,"default":false},{"names":["rollback"],"description":"Roll back to a previous deployment","basic":true,"default":false},{"names":["rolling-release"],"description":"Rolling releases gradually shift traffic to a new deployment in stages, allowing you to monitor for errors before serving all traffic","basic":false,"default":false},{"names":["routes"],"description":"Manage routing rules for a project","basic":false,"default":false},{"names":["sandbox"],"description":"Interact with Vercel Sandbox","basic":false,"default":false},{"names":["schedules"],"description":"Manage schedules for the current project [beta]","basic":false,"default":false},{"names":["security"],"description":"Inspect the security posture of the current team","basic":false,"default":false},{"names":["setup"],"description":"Set up your machine for Vercel: install the Vercel plugin for Claude Code, Codex, and OpenCode and connect local coding agents to the AI Gateway","basic":false,"default":false},{"names":["signup"],"description":"Create a Vercel account and sign in","basic":true,"default":false},{"names":["skills"],"description":"Discover agent skills relevant to your project","basic":false,"default":false},{"names":["storage"],"description":"List, inspect, connect, update, and disconnect storage resources (Blob, Global Config, Marketplace, and first-party) for your projects","basic":false,"default":false},{"names":["switch"],"description":"Switch to a different team","basic":true,"default":false},{"names":["teams"],"description":"Manage Teams under your Vercel account","basic":false,"default":false},{"names":["telemetry"],"description":"Allows you to enable or disable telemetry collection","basic":false,"default":false},{"names":["token-pass"],"description":"Set up a coding agent with Vercel Token Pass","basic":false,"default":false},{"names":["tokens"],"description":"Manage your personal Vercel authentication tokens","basic":false,"default":false},{"names":["traces"],"description":"Inspect project traces and search spans across a Vercel team","basic":false,"default":false},{"names":["upgrade"],"description":"Upgrade the current global or native Vercel CLI installation","basic":false,"default":false},{"names":["usage"],"description":"Show billing usage and costs for the current billing cycle or a custom date range","basic":false,"default":false},{"names":["vcr"],"description":"Manage Vercel Container Registry repositories and images (see `vcr image`)","basic":false,"default":false},{"names":["version"],"description":"Manages the installed Vercel CLI version","basic":false,"default":false},{"names":["webhooks"],"description":"Manage webhooks","basic":false,"default":false},{"names":["whoami"],"description":"Shows the username of the currently logged in user","basic":false,"default":false}];
|
|
1
|
+
export const rootHelpCommands = [{"names":["deploy"],"description":"Deploy your project to Vercel","group":"Deploy and Develop","default":true},{"names":["activity"],"description":"List user activity events","group":"Operations and Security","default":false},{"names":["agent"],"description":"Generate Vercel deployment guidance in AGENTS.md","group":"CLI and Integrations","default":false},{"names":["agent-runs"],"description":"Inspect Agent Runs observability data","group":"Operations and Security","default":false},{"names":["ai-gateway"],"description":"Manage AI Gateway resources","group":"Data and Compute","default":false},{"names":["alerts"],"description":"List alert groups or inspect a group","group":"Operations and Security","default":false},{"names":["alias"],"description":"Interact with deployment aliases","group":"Domains and Traffic","default":false},{"names":["api"],"description":"Make authenticated HTTP requests to the Vercel API","group":"CLI and Integrations","default":false},{"names":["bisect"],"description":"Bisect the current project interactively or via an automated test script","group":"Deploy and Develop","default":false},{"names":["blob"],"description":"Interact with Vercel Blob","group":"Data and Compute","default":false},{"names":["budgets"],"description":"Manage spending beyond included credit [beta]","group":"Account and Billing","default":false},{"names":["build"],"description":"Build the project","group":"Deploy and Develop","default":false},{"names":["buy"],"description":"Purchase Vercel products for your team","group":"Account and Billing","default":false},{"names":["cache"],"description":"Manage cache for a Project","group":"Projects and Configuration","default":false},{"names":["certs"],"description":"Interact with SSL certificates","group":"Domains and Traffic","default":false},{"names":["changelog"],"description":"Show the latest Vercel product updates","group":"CLI and Integrations","default":false},{"names":["ci"],"description":"Inspect Vercel CI and rerun runs","group":"Deploy and Develop","default":false},{"names":["comments"],"description":"Review and act on Vercel Toolbar comments from the command line","group":"Operations and Security","default":false},{"names":["connect"],"description":"Manage connectors","group":"CLI and Integrations","default":false},{"names":["contract"],"description":"Show contract information for all billing periods","group":"Account and Billing","default":false},{"names":["crons"],"description":"Manage cron jobs for a project [beta]","group":"Data and Compute","default":false},{"names":["curl"],"description":"Request deployments with protection bypass","group":"Deploy and Develop","default":false},{"names":["daemons"],"description":"Manage daemons for a project [beta]","group":"Data and Compute","default":false},{"names":["deploy-hooks"],"description":"Manage deploy hooks for Git-triggered builds","group":"Projects and Configuration","default":false},{"names":["dev"],"description":"Starts the `vercel dev` server","group":"Deploy and Develop","default":false},{"names":["dns"],"description":"Manage DNS records for your domains","group":"Domains and Traffic","default":false},{"names":["domains"],"description":"Manage domains","group":"Domains and Traffic","default":false},{"names":["drains"],"description":"Manage drains for logs, traces, analytics, and speed insights","group":"Operations and Security","default":false},{"names":["env"],"description":"Interact with Environment Variables for a Project","group":"Projects and Configuration","default":false},{"names":["environments"],"description":"Manage custom environments for a Project","group":"Projects and Configuration","default":false},{"names":["feedback"],"description":"Send bugs, friction, and feature requests to the Vercel team","group":"CLI and Integrations","default":false},{"names":["firewall"],"description":"Manage firewall rules and bypass settings","group":"Operations and Security","default":false},{"names":["flags"],"description":"Manage feature flags for a Vercel project","group":"Projects and Configuration","default":false},{"names":["git"],"description":"Manage your Git repository connection to the current Project","group":"Projects and Configuration","default":false},{"names":["global-config"],"description":"Manage Global Config stores (dashboard API parity)","group":"Data and Compute","default":false},{"names":["health"],"description":"Show the current Vercel platform status and recent incidents","group":"Operations and Security","default":false},{"names":["help"],"description":"Show help for a command","group":"CLI and Integrations","default":false},{"names":["httpstat"],"description":"Show deployment HTTP timing","group":"Deploy and Develop","default":false},{"names":["init"],"description":"Initialize example Vercel Projects","group":"Deploy and Develop","default":false},{"names":["inspect"],"description":"Show information about a deployment","group":"Deploy and Develop","default":false},{"names":["install"],"description":"Install a marketplace integration","group":"CLI and Integrations","default":false},{"names":["integration"],"description":"Manage marketplace integrations","group":"CLI and Integrations","default":false},{"names":["kms"],"description":"Manage KMS issuers, signing keys, and project grants [beta]","group":"Operations and Security","default":false},{"names":["link"],"description":"Link a local directory to a Vercel project","group":"Projects and Configuration","default":false},{"names":["list"],"description":"List deployments","group":"Deploy and Develop","default":false},{"names":["login"],"description":"Sign in to your Vercel account","group":"Account and Billing","default":false},{"names":["logout"],"description":"Sign out the currently authenticated user","group":"Account and Billing","default":false},{"names":["logs"],"description":"Display logs","group":"Operations and Security","default":false},{"names":["mcp"],"description":"Set up MCP agents for Vercel","group":"CLI and Integrations","default":false},{"names":["metrics"],"description":"Query observability metrics for your Vercel project or team","group":"Operations and Security","default":false},{"names":["microfrontends"],"description":"Manage microfrontends groups","group":"Projects and Configuration","default":false},{"names":["monitors"],"description":"Add, inspect, list, update, and remove monitors, and manage their notification destinations","group":"Operations and Security","default":false},{"names":["open"],"description":"Opens the current project in the Vercel Dashboard","group":"Projects and Configuration","default":false},{"names":["organizations"],"description":"Manage Vercel organizations","group":"Account and Billing","default":false},{"names":["pricing"],"description":"Compare public plan features","group":"Account and Billing","default":false},{"names":["project"],"description":"Manage your Vercel projects","group":"Projects and Configuration","default":false},{"names":["promote"],"description":"Promote an existing Deployment to current","group":"Deploy and Develop","default":false},{"names":["pull"],"description":"Pull Environment Variables and project settings into .vercel","group":"Projects and Configuration","default":false},{"names":["redeploy"],"description":"Rebuild and deploy a previous deployment","group":"Deploy and Develop","default":false},{"names":["redirects"],"description":"Manage redirects for a project","group":"Domains and Traffic","default":false},{"names":["remove"],"description":"Delete deployment(s) by project name or deployment ID","group":"Deploy and Develop","default":false},{"names":["rollback"],"description":"Roll back to a previous deployment","group":"Deploy and Develop","default":false},{"names":["rolling-release"],"description":"Shift deployment traffic in stages","group":"Deploy and Develop","default":false},{"names":["routes"],"description":"Manage routing rules for a project","group":"Domains and Traffic","default":false},{"names":["sandbox"],"description":"Interact with Vercel Sandbox","group":"Data and Compute","default":false},{"names":["schedules"],"description":"Manage schedules for the current project [beta]","group":"Data and Compute","default":false},{"names":["security"],"description":"Inspect the security posture of the current team","group":"Operations and Security","default":false},{"names":["setup"],"description":"Set up coding agents for Vercel","group":"CLI and Integrations","default":false},{"names":["signup"],"description":"Create a Vercel account and sign in","group":"Account and Billing","default":false},{"names":["skills"],"description":"Discover agent skills relevant to your project","group":"CLI and Integrations","default":false},{"names":["storage"],"description":"Manage project storage resources","group":"Data and Compute","default":false},{"names":["switch"],"description":"Switch to a different team","group":"Account and Billing","default":false},{"names":["teams"],"description":"Manage Teams under your Vercel account","group":"Account and Billing","default":false},{"names":["telemetry"],"description":"Allows you to enable or disable telemetry collection","group":"CLI and Integrations","default":false},{"names":["token-pass"],"description":"Set up a coding agent with Vercel Token Pass","group":"CLI and Integrations","default":false},{"names":["tokens"],"description":"Manage your personal Vercel authentication tokens","group":"Account and Billing","default":false},{"names":["traces"],"description":"Inspect project traces and search spans across a Vercel team","group":"Operations and Security","default":false},{"names":["upgrade"],"description":"Upgrade the current global or native Vercel CLI installation","group":"CLI and Integrations","default":false},{"names":["usage"],"description":"Show billing usage and costs","group":"Account and Billing","default":false},{"names":["vcr"],"description":"Manage Vercel Container Registry repositories and images (see `vcr image`)","group":"Data and Compute","default":false},{"names":["version"],"description":"Manages the installed Vercel CLI version","group":"CLI and Integrations","default":false},{"names":["webhooks"],"description":"Manage webhooks","group":"Operations and Security","default":false},{"names":["whoami"],"description":"Shows the username of the currently logged in user","group":"Account and Billing","default":false}];
|
package/dist/vc.js
CHANGED
|
@@ -4,19 +4,51 @@
|
|
|
4
4
|
// https://nodejs.org/api/module.html#moduleenablecompilecachecachedir
|
|
5
5
|
// enableCompileCache was added in Node.js 22.8.0, so we need to handle older versions.
|
|
6
6
|
const entryAt = performance.now();
|
|
7
|
+
Reflect.set(globalThis, Symbol.for('vercel.cli.entry-at'), entryAt);
|
|
8
|
+
const startupTimings = process.env.VERCEL_TELEMETRY_DISABLED
|
|
9
|
+
? undefined
|
|
10
|
+
: {
|
|
11
|
+
marks: [
|
|
12
|
+
{
|
|
13
|
+
phase: 'compile_cache',
|
|
14
|
+
timestamp: Number(process.hrtime.bigint() / BigInt(1000)),
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
Reflect.set(
|
|
19
|
+
globalThis,
|
|
20
|
+
Symbol.for('vercel.cli.startup-timings'),
|
|
21
|
+
startupTimings
|
|
22
|
+
);
|
|
23
|
+
function markStartup(phase) {
|
|
24
|
+
startupTimings?.marks.push({
|
|
25
|
+
phase,
|
|
26
|
+
timestamp: Number(process.hrtime.bigint() / BigInt(1000)),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
7
29
|
try {
|
|
8
30
|
const { enableCompileCache } = await import('node:module');
|
|
9
31
|
if (enableCompileCache) {
|
|
10
32
|
enableCompileCache();
|
|
11
33
|
}
|
|
12
34
|
} catch {}
|
|
35
|
+
markStartup('launcher');
|
|
13
36
|
|
|
14
37
|
// Run the one package this platform maps to: the native binary on macOS and
|
|
15
|
-
// Linux x64/arm64
|
|
16
|
-
//
|
|
38
|
+
// Linux x64/arm64 (downloaded once into the CLI cache when the install skipped
|
|
39
|
+
// it), @vercel/cli-support everywhere else. This package's own JS CLI
|
|
40
|
+
// (./index.js) is only a fallback, recorded in telemetry.
|
|
17
41
|
import { spawnSync } from 'node:child_process';
|
|
18
|
-
import {
|
|
19
|
-
|
|
42
|
+
import {
|
|
43
|
+
accessSync,
|
|
44
|
+
constants as fsConstants,
|
|
45
|
+
existsSync,
|
|
46
|
+
mkdirSync,
|
|
47
|
+
readFileSync,
|
|
48
|
+
statSync,
|
|
49
|
+
writeFileSync,
|
|
50
|
+
} from 'node:fs';
|
|
51
|
+
import { dirname, join, resolve, sep } from 'node:path';
|
|
20
52
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
21
53
|
|
|
22
54
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -82,13 +114,117 @@ function resolveTarget() {
|
|
|
82
114
|
return { target, bin };
|
|
83
115
|
}
|
|
84
116
|
|
|
117
|
+
// The package this launcher belongs to: `vercel` or `@vercel/cli-support`.
|
|
118
|
+
let ownPackage;
|
|
119
|
+
function readOwnPackage() {
|
|
120
|
+
if (ownPackage === undefined) {
|
|
121
|
+
try {
|
|
122
|
+
ownPackage = JSON.parse(
|
|
123
|
+
readFileSync(join(__dirname, '..', 'package.json'))
|
|
124
|
+
);
|
|
125
|
+
} catch {
|
|
126
|
+
ownPackage = null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return ownPackage;
|
|
130
|
+
}
|
|
131
|
+
|
|
85
132
|
// This file also ships in @vercel/cli-support, which is its own JS CLI.
|
|
86
133
|
function isCliSupport() {
|
|
134
|
+
return readOwnPackage()?.name === '@vercel/cli-support';
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Flags that make stdout a JSON document, so stderr must stay quiet.
|
|
138
|
+
function wantsJsonOutput(argv) {
|
|
139
|
+
const formatIndex = argv.indexOf('--format');
|
|
140
|
+
return (
|
|
141
|
+
argv.some(arg => arg === '--json' || arg === '--format=json') ||
|
|
142
|
+
(formatIndex !== -1 && argv[formatIndex + 1] === 'json')
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// When the native package is missing (an install that skipped optional
|
|
147
|
+
// dependencies, or one made before npm had the package), download the binary
|
|
148
|
+
// for this exact version into the CLI cache, once. Each version has its own
|
|
149
|
+
// directory, so a binary is written once and never replaced.
|
|
150
|
+
const DOWNLOAD_RETRY_AFTER_MS = 24 * 60 * 60 * 1000;
|
|
151
|
+
|
|
152
|
+
async function nativeCacheDir(target) {
|
|
153
|
+
const version = readOwnPackage()?.version;
|
|
154
|
+
if (
|
|
155
|
+
typeof version !== 'string' ||
|
|
156
|
+
!/^\d+\.\d+\.\d+(?:-[\w.-]+)?(?:\+[\w.-]+)?$/.test(version)
|
|
157
|
+
) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
87
160
|
try {
|
|
88
|
-
const
|
|
89
|
-
return
|
|
161
|
+
const config = await import('@vercel/cli-config/paths');
|
|
162
|
+
return {
|
|
163
|
+
version,
|
|
164
|
+
dir: join(config.getCachePath(), 'native', version, target),
|
|
165
|
+
};
|
|
90
166
|
} catch {
|
|
91
|
-
return
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async function fetchNativeBinary(target) {
|
|
172
|
+
// Only an installed package uses the download. A repository checkout
|
|
173
|
+
// (packages/cli/dist/vc.js) runs its own JS CLI, so local changes and tests
|
|
174
|
+
// never run a published binary instead.
|
|
175
|
+
if (!__dirname.split(sep).includes('node_modules')) {
|
|
176
|
+
return { reason: 'target_missing' };
|
|
177
|
+
}
|
|
178
|
+
const cache = await nativeCacheDir(target);
|
|
179
|
+
if (!cache) return { reason: 'target_missing' };
|
|
180
|
+
const bin = join(cache.dir, 'vercel');
|
|
181
|
+
if (existsSync(bin)) return { bin, source: 'cache' };
|
|
182
|
+
|
|
183
|
+
// Tests only: never reach the real registry.
|
|
184
|
+
if (process.env.__VERCEL_NATIVE_DOWNLOAD === '0') {
|
|
185
|
+
return { reason: 'target_missing' };
|
|
186
|
+
}
|
|
187
|
+
// Without a writable cache the binary has nowhere to go and a failure can't
|
|
188
|
+
// be recorded, so every run would try and warn again. Use the JS CLI quietly.
|
|
189
|
+
try {
|
|
190
|
+
mkdirSync(cache.dir, { recursive: true });
|
|
191
|
+
accessSync(cache.dir, fsConstants.W_OK);
|
|
192
|
+
} catch {
|
|
193
|
+
return { reason: 'target_missing' };
|
|
194
|
+
}
|
|
195
|
+
const failedStamp = join(cache.dir, 'download-failed');
|
|
196
|
+
try {
|
|
197
|
+
if (Date.now() - statSync(failedStamp).mtimeMs < DOWNLOAD_RETRY_AFTER_MS) {
|
|
198
|
+
return { reason: 'download_failed' };
|
|
199
|
+
}
|
|
200
|
+
} catch {}
|
|
201
|
+
|
|
202
|
+
const quiet = wantsJsonOutput(process.argv.slice(2));
|
|
203
|
+
try {
|
|
204
|
+
const { downloadNativeBinary } = await import('./native-download.js');
|
|
205
|
+
return {
|
|
206
|
+
bin: await downloadNativeBinary({
|
|
207
|
+
target,
|
|
208
|
+
version: cache.version,
|
|
209
|
+
directory: cache.dir,
|
|
210
|
+
log: quiet ? undefined : line => console.error(line),
|
|
211
|
+
}),
|
|
212
|
+
source: 'download',
|
|
213
|
+
};
|
|
214
|
+
} catch (error) {
|
|
215
|
+
try {
|
|
216
|
+
writeFileSync(failedStamp, '');
|
|
217
|
+
} catch {}
|
|
218
|
+
if (!quiet) {
|
|
219
|
+
const detail =
|
|
220
|
+
error?.name === 'NativeDownloadError'
|
|
221
|
+
? error.detail
|
|
222
|
+
: 'unexpected error';
|
|
223
|
+
console.error(
|
|
224
|
+
`! Couldn't download the Vercel CLI binary (${detail}), so Node.js is running this command. The CLI tries again in 24 hours.`
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
return { reason: 'download_failed' };
|
|
92
228
|
}
|
|
93
229
|
}
|
|
94
230
|
|
|
@@ -140,7 +276,22 @@ if (process.env.VERCEL_VC_NATIVE === '1') {
|
|
|
140
276
|
}
|
|
141
277
|
} else {
|
|
142
278
|
const resolved = resolveTarget();
|
|
143
|
-
|
|
279
|
+
let optedOut = false;
|
|
280
|
+
let missingReason = 'target_missing';
|
|
281
|
+
if (resolved.bin) {
|
|
282
|
+
optedOut = await isNativeBinaryOptedOut();
|
|
283
|
+
} else if (resolved.target !== 'cli-support' && !isCliSupport()) {
|
|
284
|
+
// Never download for an opted-out user or for @vercel/cli-support (the
|
|
285
|
+
// build container runs it on Linux).
|
|
286
|
+
optedOut = await isNativeBinaryOptedOut();
|
|
287
|
+
if (!optedOut) {
|
|
288
|
+
const fetched = await fetchNativeBinary(resolved.target);
|
|
289
|
+
resolved.bin = fetched.bin;
|
|
290
|
+
resolved.source = fetched.source;
|
|
291
|
+
missingReason = fetched.reason ?? missingReason;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (optedOut) {
|
|
144
295
|
launch = { runtime: 'dist', target: resolved.target, reason: 'opt_out' };
|
|
145
296
|
} else if (resolved.bin) {
|
|
146
297
|
// Internal worker arguments intentionally trampoline too. The packaged
|
|
@@ -157,6 +308,11 @@ if (process.env.VERCEL_VC_NATIVE === '1') {
|
|
|
157
308
|
// own entrypoint.
|
|
158
309
|
VERCEL_CLI_PACKAGE_ENTRYPOINT: fileURLToPath(import.meta.url),
|
|
159
310
|
VERCEL_CLI_PACKAGE_EXECUTABLE: resolved.bin,
|
|
311
|
+
// Reported in telemetry. pkg.js reads it and removes it, so the
|
|
312
|
+
// binary's child processes don't inherit it.
|
|
313
|
+
...(resolved.source && {
|
|
314
|
+
__VERCEL_CLI_NATIVE_SOURCE: resolved.source,
|
|
315
|
+
}),
|
|
160
316
|
},
|
|
161
317
|
});
|
|
162
318
|
// Never fall back on an exit status: a loader failure (e.g. glibc
|
|
@@ -184,7 +340,7 @@ if (process.env.VERCEL_VC_NATIVE === '1') {
|
|
|
184
340
|
launch = {
|
|
185
341
|
runtime: 'dist',
|
|
186
342
|
target: resolved.target,
|
|
187
|
-
reason:
|
|
343
|
+
reason: missingReason,
|
|
188
344
|
};
|
|
189
345
|
}
|
|
190
346
|
globalThis[LAUNCH] = launch;
|
|
@@ -211,6 +367,10 @@ if (process.argv[2] === '--internal-build-worker') {
|
|
|
211
367
|
),
|
|
212
368
|
{ report }
|
|
213
369
|
);
|
|
370
|
+
// A prewarmed worker idles until its request arrives; start startup
|
|
371
|
+
// telemetry from the handoff instead of process entry.
|
|
372
|
+
Reflect.set(globalThis, Symbol.for('vercel.cli.entry-at'), performance.now());
|
|
373
|
+
startupTimings?.marks.splice(0);
|
|
214
374
|
globalThis[Symbol.for('vercel.cli.fatal-error-handler')] = error =>
|
|
215
375
|
handoff.error(error);
|
|
216
376
|
|
|
@@ -260,17 +420,11 @@ async function warnDeprecatedArch() {
|
|
|
260
420
|
return;
|
|
261
421
|
}
|
|
262
422
|
const argv = process.argv.slice(2);
|
|
263
|
-
const formatIndex = argv.indexOf('--format');
|
|
264
423
|
if (
|
|
265
424
|
argv.some(arg =>
|
|
266
|
-
[
|
|
267
|
-
'--non-interactive',
|
|
268
|
-
'--non-interactive=true',
|
|
269
|
-
'--json',
|
|
270
|
-
'--format=json',
|
|
271
|
-
].includes(arg)
|
|
425
|
+
['--non-interactive', '--non-interactive=true'].includes(arg)
|
|
272
426
|
) ||
|
|
273
|
-
(
|
|
427
|
+
wantsJsonOutput(argv)
|
|
274
428
|
) {
|
|
275
429
|
return;
|
|
276
430
|
}
|
|
@@ -341,6 +495,7 @@ if (
|
|
|
341
495
|
}
|
|
342
496
|
}
|
|
343
497
|
|
|
498
|
+
markStartup('dependencies');
|
|
344
499
|
try {
|
|
345
500
|
await (cliSupportEntry
|
|
346
501
|
? import(pathToFileURL(cliSupportEntry).href)
|
package/dist/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "65.
|
|
1
|
+
export const version = "65.5.0-snapshot-8a613d8ad85d";
|
|
2
2
|
export const buildLabel = "";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercel/cli-support",
|
|
3
|
-
"version": "65.
|
|
3
|
+
"version": "65.5.0-snapshot-8a613d8ad85d",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"preferGlobal": true,
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,34 +31,34 @@
|
|
|
31
31
|
"undici": "5.29.0",
|
|
32
32
|
"uuid": "14.0.1",
|
|
33
33
|
"zod": "4.1.11",
|
|
34
|
-
"@vercel/backends": "23.0.0",
|
|
35
34
|
"@vercel/cli-auth": "0.3.13",
|
|
35
|
+
"@vercel/backends": "23.0.0",
|
|
36
36
|
"@vercel/cli-config": "0.3.4",
|
|
37
|
-
"@vercel/
|
|
37
|
+
"@vercel/container": "23.0.1-snapshot-8a613d8ad85d",
|
|
38
38
|
"@vercel/detect-agent": "1.2.7",
|
|
39
|
-
"@vercel/elysia": "23.0.0",
|
|
40
|
-
"@vercel/fastify": "23.0.0",
|
|
41
|
-
"@vercel/container": "23.0.0",
|
|
42
39
|
"@vercel/express": "23.0.0",
|
|
40
|
+
"@vercel/build-utils": "15.1.0",
|
|
41
|
+
"@vercel/fastify": "23.0.0",
|
|
43
42
|
"@vercel/go": "26.0.0",
|
|
44
|
-
"@vercel/
|
|
45
|
-
"@vercel/h3": "23.0.0",
|
|
43
|
+
"@vercel/elysia": "23.0.0",
|
|
46
44
|
"@vercel/hydrogen": "24.0.0",
|
|
45
|
+
"@vercel/h3": "23.0.0",
|
|
46
|
+
"@vercel/hono": "23.0.0",
|
|
47
47
|
"@vercel/koa": "23.0.0",
|
|
48
48
|
"@vercel/next": "27.0.0",
|
|
49
49
|
"@vercel/nestjs": "23.0.0",
|
|
50
|
+
"@vercel/node": "28.0.0",
|
|
50
51
|
"@vercel/python": "29.0.0",
|
|
52
|
+
"@vercel/redwood": "25.0.0",
|
|
51
53
|
"@vercel/python-analysis": "0.15.2",
|
|
52
|
-
"@vercel/node": "28.0.0",
|
|
53
54
|
"@vercel/remix-builder": "28.0.0",
|
|
54
|
-
"@vercel/
|
|
55
|
-
"@vercel/redwood": "25.0.0",
|
|
55
|
+
"@vercel/ruby": "25.0.0",
|
|
56
56
|
"@vercel/static-build": "25.0.0",
|
|
57
|
-
"@vercel/
|
|
57
|
+
"@vercel/rust": "24.0.0"
|
|
58
58
|
},
|
|
59
59
|
"builders": {
|
|
60
60
|
"@vercel/backends": "23.0.0",
|
|
61
|
-
"@vercel/container": "23.0.
|
|
61
|
+
"@vercel/container": "23.0.1-snapshot-8a613d8ad85d",
|
|
62
62
|
"@vercel/elysia": "23.0.0",
|
|
63
63
|
"@vercel/express": "23.0.0",
|
|
64
64
|
"@vercel/fastify": "23.0.0",
|
|
@@ -193,6 +193,7 @@
|
|
|
193
193
|
"serve-handler": "6.1.1",
|
|
194
194
|
"signal-exit": "3.0.7",
|
|
195
195
|
"split2": "4.2.0",
|
|
196
|
+
"string-width": "4.2.3",
|
|
196
197
|
"strip-ansi": "6.0.1",
|
|
197
198
|
"supports-hyperlinks": "3.0.0",
|
|
198
199
|
"tar-fs": "1.16.5",
|
|
@@ -211,19 +212,19 @@
|
|
|
211
212
|
"xdg-app-paths": "5.1.0",
|
|
212
213
|
"yauzl-promise": "2.1.3",
|
|
213
214
|
"@vercel-internals/builder-orchestration": "1.0.30",
|
|
214
|
-
"@vercel-internals/get-package-json": "1.0.0",
|
|
215
|
-
"@vercel-internals/cli-builder-integration": "1.0.33",
|
|
216
215
|
"@vercel-internals/constants": "1.0.4",
|
|
217
|
-
"@vercel-internals/
|
|
216
|
+
"@vercel-internals/cli-builder-integration": "1.0.33",
|
|
217
|
+
"@vercel-internals/get-package-json": "1.0.0",
|
|
218
|
+
"@vercel-internals/local-schedules": "0.1.0",
|
|
218
219
|
"@vercel-internals/runtimes": "1.2.4",
|
|
219
220
|
"@vercel-internals/service-topology": "1.0.28",
|
|
220
221
|
"@vercel-internals/types": "3.0.32",
|
|
221
222
|
"@vercel/client": "18.10.0",
|
|
222
223
|
"@vercel/error-utils": "2.2.1",
|
|
223
|
-
"@vercel/frameworks": "3.35.0",
|
|
224
|
-
"@vercel/routing-utils": "6.6.0",
|
|
225
224
|
"@vercel/fs-detectors": "7.11.1",
|
|
226
|
-
"@vercel/functions": "3.10.4"
|
|
225
|
+
"@vercel/functions": "3.10.4",
|
|
226
|
+
"@vercel/frameworks": "3.35.0",
|
|
227
|
+
"@vercel/routing-utils": "6.6.0"
|
|
227
228
|
},
|
|
228
229
|
"os": [
|
|
229
230
|
"!darwin",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{emitVcrArgParseError,handleVcrApiError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-SYFG2RM6.js";import{outputError}from"./chunk-RW3X523R.js";import"./chunk-BUJITHGZ.js";import"./chunk-FBYA6LLM.js";import"./chunk-GD7AV7BO.js";import"./chunk-SCV7XEEO.js";import{addSubcommand}from"./chunk-527GBU3K.js";import"./chunk-CR3NBTHV.js";import"./chunk-BVGGTBYE.js";import"./chunk-6TXEVQA4.js";import{printError}from"./chunk-HSFKISDH.js";import"./chunk-K5U47EVH.js";import"./chunk-MXTC4ZAQ.js";import{AGENT_REASON,buildCommandWithGlobalFlags,outputAgentError}from"./chunk-WDXW6A4H.js";import"./chunk-DKJL2KV7.js";import"./chunk-4N6LMERQ.js";import"./chunk-ADLBLGT3.js";import"./chunk-CWM2F235.js";import"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-KCKYPLIH.js";import"./chunk-F53OKXYI.js";import{getFlagsSpecification}from"./chunk-QVXS234E.js";import"./chunk-FUX6LKNP.js";import"./chunk-OPORM35X.js";import"./chunk-4SAVH3H7.js";import{isAPIError}from"./chunk-6VH56CX2.js";import{packageName}from"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-XP3FT56R.js";import"./chunk-BLUPZPAS.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import"./chunk-BZENIQ7N.js";async function add(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(addSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr create <name> --project <name-or-id>"),printError(err),2}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let name=parsedArgs.args[0],project=parsedArgs.flags["--project"];if(telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),!name)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing repository name. Example: ${packageName} vcr create <name>`,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr create <name>"),when:"Replace <name> with the repository name to create"}]},2),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS","Usage: `vercel vcr create <name>`");let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=`/v1/vcr/repository?teamId=${encodeURIComponent(scope.teamId)}`;output_manager_default.spinner("Creating repository...");try{let created=await client.fetch(path,{method:"POST",body:{projectId:scope.projectId,name}});return fr.jsonOutput?client.stdout.write(`${JSON.stringify(created,null,2)}
|
|
8
|
-
`):output_manager_default.success(`Created repository ${created.repository?.name??name}`),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput,{retry:{command:buildCommandWithGlobalFlags(client.argv,"vcr ls"),when:"List existing repositories (a name conflict means it already exists)"}});throw err}finally{output_manager_default.stopSpinner()}}export{add as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{parseTeamRefs,teamRefBody}from"./chunk-LSF7FY6X.js";import{repositoryPermissionsPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-SYFG2RM6.js";import{outputError}from"./chunk-RW3X523R.js";import{require_async_sema}from"./chunk-NZ2TFADV.js";import"./chunk-BUJITHGZ.js";import"./chunk-FBYA6LLM.js";import"./chunk-GD7AV7BO.js";import"./chunk-SCV7XEEO.js";import{permissionsAddSubcommand}from"./chunk-CR3NBTHV.js";import{printError}from"./chunk-HSFKISDH.js";import"./chunk-K5U47EVH.js";import"./chunk-MXTC4ZAQ.js";import{AGENT_REASON,buildCommandWithGlobalFlags,outputAgentError}from"./chunk-WDXW6A4H.js";import"./chunk-DKJL2KV7.js";import"./chunk-4N6LMERQ.js";import"./chunk-ADLBLGT3.js";import"./chunk-CWM2F235.js";import"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-KCKYPLIH.js";import"./chunk-F53OKXYI.js";import{getFlagsSpecification}from"./chunk-QVXS234E.js";import"./chunk-FUX6LKNP.js";import"./chunk-OPORM35X.js";import"./chunk-4SAVH3H7.js";import{isAPIError}from"./chunk-6VH56CX2.js";import{packageName}from"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-XP3FT56R.js";import"./chunk-BLUPZPAS.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_async_sema=__toESM(require_async_sema(),1);var USAGE="vcr permissions <repository> add <team>[,<team>...]";async function add(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(permissionsAddSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,USAGE),printError(err),2}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],teamRefs=parseTeamRefs(parsedArgs.args.slice(2)),project=parsedArgs.flags["--project"];if(telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),teamRefs.length===0)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing team. Example: ${packageName} vcr permissions ${repository} add team_1a2b3c4d`,next:[{command:buildCommandWithGlobalFlags(client.argv,USAGE),when:"Replace <team> with a team id or slug (comma-separate multiple teams)"}]},2),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS",`Usage: \`vercel ${USAGE}\``);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryPermissionsPath(scope,repository),added=[],failed=[];output_manager_default.spinner(`Sharing ${repository} with ${teamRefs.length===1?teamRefs[0]:`${teamRefs.length} teams`}...`);let sema=new import_async_sema.default(10),results;try{results=await Promise.all(teamRefs.map(async team=>{await sema.acquire();try{let result=await client.fetch(path,{method:"POST",body:teamRefBody(team)});return{ok:!0,team,permission:result.permission}}catch(err){if(!isAPIError(err))throw err;let message=err.serverMessage||`API error (${err.status}).`;return{ok:!1,team,failure:{team,code:err.code||"API_ERROR",message}}}finally{sema.release()}}))}finally{output_manager_default.stopSpinner()}for(let result of results)result.ok?(added.push(result.permission),fr.jsonOutput||output_manager_default.success(`Shared ${repository} with ${result.permission?.teamSlug??result.team}`)):(failed.push(result.failure),fr.jsonOutput||output_manager_default.error(`Failed to share ${repository} with ${result.team}: ${result.failure.message}`));return failed.length>0&&outputAgentError(client,{status:"error",reason:AGENT_REASON.API_ERROR,message:`Failed to share ${repository} with ${failed.map(f=>`${f.team} (${f.message})`).join(", ")}`},1),fr.jsonOutput&&client.stdout.write(`${JSON.stringify({permissions:added,failed},null,2)}
|
|
8
|
-
`),failed.length>0?1:0}export{add as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{printRuleMutationReceipt}from"./chunk-QVZAAMGQ.js";import"./chunk-3XW7N4W3.js";import{resolveRulesProject,resolveRulesTeam}from"./chunk-RMZTB2IU.js";import"./chunk-KGBIRIFF.js";import{emitRulesArgParseError,getBodyType,handleRulesApiError,outputRulesError,readRuleBody,rulesCollectionPath}from"./chunk-XC46OAAT.js";import"./chunk-GHAY4PSD.js";import"./chunk-RW3X523R.js";import"./chunk-ID663OJ7.js";import"./chunk-HRR57QNP.js";import"./chunk-GZNDA6SV.js";import"./chunk-PFD7LETF.js";import{monitorsAddSubcommand}from"./chunk-NW7WWUCQ.js";import"./chunk-773GOZIR.js";import{printError}from"./chunk-HSFKISDH.js";import"./chunk-67GZ5REA.js";import"./chunk-BS32OUOC.js";import"./chunk-K5U47EVH.js";import"./chunk-MXTC4ZAQ.js";import"./chunk-WDXW6A4H.js";import"./chunk-DKJL2KV7.js";import"./chunk-4N6LMERQ.js";import"./chunk-ADLBLGT3.js";import"./chunk-CWM2F235.js";import"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-KCKYPLIH.js";import"./chunk-F53OKXYI.js";import{getFlagsSpecification,validateJsonOutput}from"./chunk-QVXS234E.js";import"./chunk-FUX6LKNP.js";import"./chunk-OPORM35X.js";import"./chunk-4SAVH3H7.js";import{isAPIError}from"./chunk-6VH56CX2.js";import"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-XP3FT56R.js";import"./chunk-BLUPZPAS.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import"./chunk-BZENIQ7N.js";function applyScopeFlag(client,body,type,scope,flags,jsonOutput){if(Object.hasOwn(body,"ruleScope"))return flags["--project"]||flags["--all"]?outputRulesError(client,jsonOutput,"SCOPE_CONFLICT","Specify monitor scope either in the body or with --project/--all, not both."):void 0;if(flags["--project"]){body.ruleScope=type==="custom"?{type:"project",projectId:scope.projectId}:{type:"include",projectIds:[scope.projectId]};return}if(flags["--all"]){if(type==="custom")return outputRulesError(client,jsonOutput,"INVALID_SCOPE","Custom monitors must target one project. Use --project <name-or-id>.");body.ruleScope={type:"all"};return}return outputRulesError(client,jsonOutput,"MISSING_SCOPE","Missing monitor scope. Add ruleScope to the body, or pass --project or --all.")}async function resolveCreateScope(client,flags,jsonOutput){return flags["--project"]&&flags["--all"]?outputRulesError(client,jsonOutput,"MUTUAL_EXCLUSIVITY","Cannot specify both --all and --project. Use one or the other."):flags["--project"]?resolveRulesProject(client,flags["--project"],jsonOutput,"monitors add"):resolveRulesTeam(client,jsonOutput)}async function add(client,argv,api){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(monitorsAddSubcommand.options))}catch(error){return emitRulesArgParseError(client,error,"monitors add --project <name-or-id> --body <path>"),printError(error),2}let flags=parsedArgs.flags,format=validateJsonOutput(flags);if(!format.valid)return outputRulesError(client,!1,"INVALID_ARGUMENTS",format.error);if(!flags["--body"])return outputRulesError(client,format.jsonOutput,"MISSING_ARGUMENTS","Missing required flag: --body <PATH>.");let body=readRuleBody(client,flags["--body"],format.jsonOutput);if(typeof body=="number")return body;let type=getBodyType(body);if(!type)return outputRulesError(client,format.jsonOutput,"INVALID_RULE_TYPE","Create body must set a supported monitor type.");if(Object.hasOwn(body,"ruleScope")&&(flags["--project"]||flags["--all"]))return outputRulesError(client,format.jsonOutput,"SCOPE_CONFLICT","Specify monitor scope either in the body or with --project/--all, not both.");if(type==="custom"&&flags["--all"])return outputRulesError(client,format.jsonOutput,"INVALID_SCOPE","Custom monitors must target one project. Use --project <name-or-id>.");let scope=await resolveCreateScope(client,flags,format.jsonOutput);if(typeof scope=="number")return scope;let scopeError=applyScopeFlag(client,body,type,scope,flags,format.jsonOutput);if(scopeError!==void 0)return scopeError;output_manager_default.spinner("Creating monitor\u2026");try{let response=await client.fetch(rulesCollectionPath(api,scope.teamId),{method:"POST",body});return format.jsonOutput?client.stdout.write(`${JSON.stringify(response,null,2)}
|
|
8
|
-
`):printRuleMutationReceipt("Created",response[api.itemKey],client.argv),0}catch(error){if(isAPIError(error))return handleRulesApiError(client,error,format.jsonOutput);throw error}finally{output_manager_default.stopSpinner()}}export{add as default};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{DEFAULT_TAG,buildRepositoryReference,parseNameArg,validateImageParts}from"./chunk-HEGJZJO7.js";import{VCR_ENGINES,emitVcrArgParseError,isBuildxAvailable,isEngineInstalled,pushCompressionArgs,reportEngineCommandFailure,reportEnginePushFailure,resolveRegistry,resolveVcrScope,runEngine,splitPassthrough,validateVcrChoice}from"./chunk-SYFG2RM6.js";import{outputError}from"./chunk-RW3X523R.js";import"./chunk-BUJITHGZ.js";import"./chunk-FBYA6LLM.js";import"./chunk-GD7AV7BO.js";import"./chunk-SCV7XEEO.js";import{buildSubcommand}from"./chunk-527GBU3K.js";import"./chunk-CR3NBTHV.js";import"./chunk-BVGGTBYE.js";import"./chunk-6TXEVQA4.js";import{printError}from"./chunk-HSFKISDH.js";import"./chunk-K5U47EVH.js";import"./chunk-MXTC4ZAQ.js";import{AGENT_REASON,buildCommandWithGlobalFlags,outputAgentError}from"./chunk-WDXW6A4H.js";import"./chunk-DKJL2KV7.js";import"./chunk-4N6LMERQ.js";import"./chunk-ADLBLGT3.js";import"./chunk-CWM2F235.js";import"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-KCKYPLIH.js";import"./chunk-F53OKXYI.js";import{getFlagsSpecification}from"./chunk-QVXS234E.js";import"./chunk-FUX6LKNP.js";import"./chunk-OPORM35X.js";import"./chunk-4SAVH3H7.js";import"./chunk-6VH56CX2.js";import"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-XP3FT56R.js";import"./chunk-BLUPZPAS.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import"./chunk-BZENIQ7N.js";var DEFAULT_PLATFORM="linux/amd64";async function build(client,telemetry){let{own,passthrough}=splitPassthrough(client.argv),parsedArgs;try{parsedArgs=parseArguments(own,getFlagsSpecification(buildSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr build <engine> [path] [name[:tag]]"),printError(err),2}let[engineArg,pathArg,nameArg]=parsedArgs.args.slice(2),project=parsedArgs.flags["--project"],platform=parsedArgs.flags["--platform"],push=!!parsedArgs.flags["--push"];if(telemetry.trackCliArgumentEngine(engineArg),telemetry.trackCliArgumentPath(pathArg),telemetry.trackCliArgumentName(nameArg),telemetry.trackCliOptionProject(project),telemetry.trackCliOptionPlatform(platform),telemetry.trackCliFlagPush(push),!engineArg){let message=`Missing engine. Choose one of: ${VCR_ENGINES.join(", ")}.`;return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr build docker"),when:"Replace docker with the container tool you use"}]},2),outputError(client,!1,"MISSING_ARGUMENTS",message)}let choiceError=validateVcrChoice(client,"engine",engineArg,VCR_ENGINES,!1);if(typeof choiceError=="number")return choiceError;let engine=engineArg;if(!isEngineInstalled(engine)){let message=`\`${engine}\` is not installed or not on your PATH. Install it and try again.`;return outputAgentError(client,{status:"error",reason:"engine_not_found",message},1),outputError(client,!1,"ENGINE_NOT_FOUND",message)}let scope=await resolveVcrScope(client,{project,jsonOutput:!1});if(typeof scope=="number")return scope;let parsed=parseNameArg(nameArg,scope.projectName);if("error"in parsed)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:parsed.error},2),outputError(client,!1,"INVALID_ARGUMENTS",parsed.error);let validationError=validateImageParts(parsed);if(validationError)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:validationError},2),outputError(client,!1,"INVALID_ARGUMENTS",validationError);let ref=`${buildRepositoryReference({registry:resolveRegistry(),teamSlug:scope.teamSlug,projectName:scope.projectName,repository:parsed.repository})}:${parsed.tag??DEFAULT_TAG}`,contextPath=pathArg??".",buildPlatform=platform??DEFAULT_PLATFORM;if(push&&engine==="docker"&&await isBuildxAvailable()){let outputSpec=`type=image,name=${ref},push=true,oci-mediatypes=true,compression=zstd,compression-level=3,force-compression=true`,engineArgs2=["buildx","build","--platform",buildPlatform,"--output",outputSpec,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs2.join(" ")}`);let result2=await runEngine(engine,engineArgs2,{cwd:client.cwd,captureStderr:!0});return result2.exitCode!==0?reportEnginePushFailure(client,engine,"buildx build",result2):(output_manager_default.success(`Built and pushed ${ref} (zstd compression)`),0)}push&&engine==="docker"&&output_manager_default.warn("Docker Buildx is not available; building and pushing without zstd compression. Install Buildx for smaller, faster image pushes.");let engineArgs=["build","--platform",buildPlatform,"--tag",ref,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs.join(" ")}`);let result=await runEngine(engine,engineArgs,{cwd:client.cwd});if(result.exitCode!==0)return reportEngineCommandFailure(client,engine,"build",result);if(!push)return output_manager_default.success(`Built ${ref}`),output_manager_default.log(`Push it with \`${buildCommandWithGlobalFlags(client.argv,`vcr push ${engine}${nameArg?` ${nameArg}`:""}`)}\`.`),0;let pushArgs=["push",...pushCompressionArgs(engine),ref];output_manager_default.log(`Running: ${engine} ${pushArgs.join(" ")}`);let pushResult=await runEngine(engine,pushArgs,{cwd:client.cwd,captureStderr:!0});if(pushResult.exitCode!==0)return reportEnginePushFailure(client,engine,"push",pushResult);let compressed=engine!=="docker";return output_manager_default.success(`Built and pushed ${ref}${compressed?" (zstd compression)":""}`),0}export{build as default};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{require_ci_info}from"./chunk-2EYYB6YN.js";import{commands,commandsStructs}from"./chunk-O4WNSKQR.js";import{help,resolveHelpTarget}from"./chunk-FLHO75XC.js";import{printError}from"./chunk-HSFKISDH.js";import{TelemetryClient}from"./chunk-6YXIWZ3X.js";import{AGENT_STATUS,shouldEmitNonInteractiveCommandError,writeAgentError}from"./chunk-WDXW6A4H.js";import{parseArguments,takeCommand}from"./chunk-KCKYPLIH.js";import{getFlagsSpecification,globalCliFlagTakesValue}from"./chunk-QVXS234E.js";import{getCommandName,getCommandNamePlain}from"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-XP3FT56R.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_ci_info=__toESM(require_ci_info(),1);var launchTargets=["cli-support","darwin-arm64","darwin-x64","linux-arm64","linux-arm64-musl","linux-x64","linux-x64-musl"],launchFallbackReasons=["target_missing","ENOENT","EACCES","ENOEXEC","opt_out","inherited_native_env"];function oneOf(value,allowed){return typeof value=="string"&&allowed.includes(value)?value:"other"}var RootTelemetryClient=class extends TelemetryClient{trackCliExtension(){this.trackExtension()}trackCliDefaultDeploy(defaultDeploy){defaultDeploy&&this.trackDefaultDeploy()}trackCliCommandAgent(actual){this.trackCliCommand({command:"agent",value:actual})}trackCliCommandAgentRuns(actual){this.trackCliCommand({command:"agent-runs",value:actual})}trackCliCommandAiGateway(actual){this.trackCliCommand({command:"ai-gateway",value:actual})}trackCliCommandTokenPass(actual){this.trackCliCommand({command:"token-pass",value:actual})}trackCliCommandAlias(actual){this.trackCliCommand({command:"alias",value:actual})}trackCliCommandActivity(actual){this.trackCliCommand({command:"activity",value:actual})}trackCliCommandAlerts(actual){this.trackCliCommand({command:"alerts",value:actual})}trackCliCommandApi(actual){this.trackCliCommand({command:"api",value:actual})}trackCliCommandBisect(actual){this.trackCliCommand({command:"bisect",value:actual})}trackCliCommandBlob(actual){this.trackCliCommand({command:"blob",value:actual})}trackCliCommandBudgets(actual){this.trackCliCommand({command:"budgets",value:actual})}trackCliCommandBuild(actual){this.trackCliCommand({command:"build",value:actual})}trackCliCommandBuy(actual){this.trackCliCommand({command:"buy",value:actual})}trackCliCommandCache(actual){this.trackCliCommand({command:"cache",value:actual})}trackCliCommandCerts(actual){this.trackCliCommand({command:"certs",value:actual})}trackCliCommandCi(actual){this.trackCliCommand({command:"ci",value:actual})}trackCliCommandChangelog(actual){this.trackCliCommand({command:"changelog",value:actual})}trackCliCommandComments(actual){this.trackCliCommand({command:"comments",value:actual})}trackCliCommandConnex(actual){this.trackCliCommand({command:"connect",value:actual})}trackCliCommandContract(actual){this.trackCliCommand({command:"contract",value:actual})}trackCliCommandCrons(actual){this.trackCliCommand({command:"crons",value:actual})}trackCliCommandCurl(actual){this.trackCliCommand({command:"curl",value:actual})}trackCliCommandDaemons(actual){this.trackCliCommand({command:"daemons",value:actual})}trackCliCommandDeploy(actual){this.trackCliCommand({command:"deploy",value:actual})}trackCliCommandDeployHooks(actual){this.trackCliCommand({command:"deploy-hooks",value:actual})}trackCliCommandDev(actual){this.trackCliCommand({command:"dev",value:actual})}trackCliCommandDomains(actual){this.trackCliCommand({command:"domains",value:actual})}trackCliCommandDrains(actual){this.trackCliCommand({command:"drains",value:actual})}trackCliCommandDns(actual){this.trackCliCommand({command:"dns",value:actual})}trackCliCommandEnv(actual){this.trackCliCommand({command:"env",value:actual})}trackCliCommandExperiments(actual){this.trackCliCommand({command:"experiments",value:actual})}trackCliCommandFirewall(actual){this.trackCliCommand({command:"firewall",value:actual})}trackCliCommandFlags(actual){this.trackCliCommand({command:"flags",value:actual})}trackCliCommandGit(actual){this.trackCliCommand({command:"git",value:actual})}trackCliCommandGlobalConfig(actual){this.trackCliCommand({command:"global-config",value:actual})}trackCliCommandGuidance(actual){this.trackCliCommand({command:"guidance",value:actual})}trackCliCommandHealth(actual){this.trackCliCommand({command:"health",value:actual})}trackCliCommandHelp(actual){this.trackCliCommand({command:"help",value:actual})}trackCliCommandHttpstat(actual){this.trackCliCommand({command:"httpstat",value:actual})}trackCliCommandInit(actual){this.trackCliCommand({command:"init",value:actual})}trackCliCommandInspect(actual){this.trackCliCommand({command:"inspect",value:actual})}trackCliCommandInstall(actual){this.trackCliCommand({command:"install",value:actual})}trackCliCommandIntegration(actual){this.trackCliCommand({command:"integration",value:actual})}trackCliCommandIntegrationResource(actual){this.trackCliCommand({command:"integration-resource",value:actual})}trackCliCommandKms(actual){this.trackCliCommand({command:"kms",value:actual})}trackCliCommandLink(actual){this.trackCliCommand({command:"link",value:actual})}trackCliCommandList(actual){this.trackCliCommand({command:"list",value:actual})}trackCliCommandLogin(actual){this.trackCliCommand({command:"login",value:actual})}trackCliCommandLogout(actual){this.trackCliCommand({command:"logout",value:actual})}trackCliCommandLogs(actual){this.trackCliCommand({command:"logs",value:actual})}trackCliCommandMetrics(actual){this.trackCliCommand({command:"metrics",value:actual})}trackCliCommandMicrofrontends(actual){this.trackCliCommand({command:"microfrontends",value:actual})}trackCliCommandMonitors(actual){this.trackCliCommand({command:"monitors",value:actual})}trackCliCommandOpen(actual){this.trackCliCommand({command:"open",value:actual})}trackCliCommandFeedback(actual){this.trackCliCommand({command:"feedback",value:actual})}trackCliCommandPricing(actual){this.trackCliCommand({command:"pricing",value:actual})}trackCliCommandProject(actual){this.trackCliCommand({command:"project",value:actual})}trackCliCommandPromote(actual){this.trackCliCommand({command:"promote",value:actual})}trackCliCommandPull(actual){this.trackCliCommand({command:"pull",value:actual})}trackCliCommandRollback(actual){this.trackCliCommand({command:"rollback",value:actual})}trackCliCommandRollingRelease(actual){this.trackCliCommand({command:"rolling-release",value:actual})}trackCliCommandRedeploy(actual){this.trackCliCommand({command:"redeploy",value:actual})}trackCliCommandRedirects(actual){this.trackCliCommand({command:"redirects",value:actual})}trackCliCommandRoutes(actual){this.trackCliCommand({command:"routes",value:actual})}trackCliCommandRemove(actual){this.trackCliCommand({command:"remove",value:actual})}trackCliCommandSignup(actual){this.trackCliCommand({command:"signup",value:actual})}trackCliCommandSkills(actual){this.trackCliCommand({command:"skills",value:actual})}trackCliCommandSetup(actual){this.trackCliCommand({command:"setup",value:actual})}trackCliCommandSandbox(actual){this.trackCliCommand({command:"sandbox",value:actual})}trackCliCommandSchedules(actual){this.trackCliCommand({command:"schedules",value:actual})}trackCliCommandSecurity(actual){this.trackCliCommand({command:"security",value:actual})}trackCliCommandStorage(actual){this.trackCliCommand({command:"storage",value:actual})}trackCliCommandEnvironments(actual){this.trackCliCommand({command:"environments",value:actual})}trackCliCommandTeams(actual){this.trackCliCommand({command:"teams",value:actual})}trackCliCommandOrganizations(actual){this.trackCliCommand({command:"organizations",value:actual})}trackCliCommandTokens(actual){this.trackCliCommand({command:"tokens",value:actual})}trackCliCommandTelemetry(actual){this.trackCliCommand({command:"telemetry",value:actual})}trackCliCommandTraces(actual){this.trackCliCommand({command:"traces",value:actual})}trackCliCommandWhoami(actual){this.trackCliCommand({command:"whoami",value:actual})}trackCliCommandUpgrade(actual){this.trackCliCommand({command:"upgrade",value:actual})}trackCliCommandVersion(actual){this.trackCliCommand({command:"version",value:actual})}trackCliCommandWebhooks(actual){this.trackCliCommand({command:"webhooks",value:actual})}trackCliCommandUsage(actual){this.trackCliCommand({command:"usage",value:actual})}trackCliCommandVcr(actual){this.trackCliCommand({command:"vcr",value:actual})}trackCPUs(){super.trackCPUs()}trackAgenticUse(agent){super.trackAgenticUse(agent)}trackArch(){super.trackArch()}trackPlatform(){super.trackPlatform()}trackLibc(libc){super.trackLibc(libc)}trackCliLaunch(){let launch=globalThis[Symbol.for("vercel.cli.launch")];launch?.runtime==="native"||launch?.runtime==="cli-support"?this.trackLaunch({runtime:launch.runtime}):launch?.runtime==="dist"&&this.trackLaunch({runtime:"dist",target:oneOf(launch.target,launchTargets),reason:oneOf(launch.reason,launchFallbackReasons)})}trackCIVendorName(){this.trackCI(import_ci_info.default.id)}trackStdinIsTTY(isTTY){super.trackStdinIsTTY(isTTY)}trackVersion(version){super.trackVersion(version)}trackProjectId(projectId){super.trackProjectId(projectId)}trackInvocationId(invocationId){super.trackInvocationId(invocationId)}trackDeviceId(deviceId){super.trackDeviceId(deviceId)}trackVercelPluginActiveSession(){super.trackVercelPluginActiveSession()}trackVercelPluginVersion(version){super.trackVercelPluginVersion(version)}trackErrorStatus(status){super.trackErrorStatus(status)}trackErrorCode(code){super.trackErrorCode(code)}trackErrorSlug(slug){super.trackErrorSlug(slug)}trackErrorAction(action){super.trackErrorAction(action)}trackErrorServerMessage(serverMessage){super.trackErrorServerMessage(serverMessage)}trackCliOptionCwd(cwd){cwd&&this.trackCliOption({option:"cwd",value:this.redactedValue})}trackCliOptionLocalConfig(localConfig){localConfig&&this.trackCliOption({option:"local-config",value:this.redactedValue})}trackCliOptionGlobalConfig(globalConfig){globalConfig&&this.trackCliOption({option:"global-config",value:this.redactedValue})}trackCliOptionScope(scope){scope&&this.trackCliOption({option:"scope",value:this.redactedValue})}trackCliOptionToken(token){token&&this.trackCliOption({option:"token",value:this.redactedValue})}trackCliOptionTeam(team){team&&this.trackCliOption({option:"team",value:this.redactedValue})}trackCliOptionApi(api){api&&this.trackCliOption({option:"api",value:this.redactedValue})}trackCliFlagDebug(debug){debug&&this.trackCliFlag("debug")}trackCliFlagNoColor(noColor){noColor&&this.trackCliFlag("no-color")}trackCliDeprecatedShorthands(shorthands){for(let shorthand of shorthands)this.trackDeprecatedShorthand(shorthand)}};function printCommandHelp(client,commandName,tokens){let found=findBuiltInCommand(commandName,tokens);if(!found)return;let{root}=found,target=resolveHelpTarget(root,found.tokens);return target.unknownSegment!==void 0?(printUnknownCommand(client,target.unknownSegment,[root.name,...target.typedPath]),2):target.command.dynamicHelp?void 0:(new RootTelemetryClient({opts:{store:client.telemetryEventStore}}).trackCliFlagHelp([root.name,...target.typedPath].join(":")),client.stdout.write(help(target.command,{parent:target.parent,columns:client.stdout.columns??client.stderr.columns})),0)}function printGroupHelp(client,commandName,tokens){let found=findBuiltInCommand(commandName,tokens);if(!found)return;let{root}=found,target=resolveHelpTarget(root,found.tokens),{command}=target;if(!(target.unknownSegment!==void 0||!command.subcommands?.length||command.arguments.length>0||command.runsWithoutSubcommand||command.subcommands.some(subcommand=>subcommand.default))){try{parseArguments([...found.tokens],getFlagsSpecification(getCommandsAlongPath(root,target.typedPath).flatMap(({options})=>options)))}catch(err){return printError(err,client),2}return client.stdout.write(help(command,{parent:target.parent,columns:client.stdout.columns??client.stderr.columns})),0}}function getCommandPathOptions(commandName,tokens){let found=findBuiltInCommand(commandName,tokens);if(!found)return;let{typedPath}=resolveHelpTarget(found.root,found.tokens);return getCommandsAlongPath(found.root,typedPath).flatMap(({options})=>options)}function asksForVersion(commandName,argv){let flags;try{({flags}=parseArguments(argv.slice(2),{"--version":Boolean,"-v":Boolean},{permissive:!0}))}catch{return!1}let typedLong=flags["--version"]===!0,typedShort=flags["-v"]===!0;if(!typedLong&&!typedShort)return!1;let found=findBuiltInCommand(commandName,tokensAfterCommand(argv));if(!found)return!1;let{command,typedPath}=resolveHelpTarget(found.root,found.tokens),defaultSubcommand=command.subcommands?.find(subcommand=>subcommand.default);if(command.forwardsUnknownOptions||defaultSubcommand?.forwardsUnknownOptions)return!1;let options=getCommandsAlongPath(found.root,typedPath).flatMap(({options:options2})=>options2);defaultSubcommand&&options.push(...defaultSubcommand.options);let definesLong=options.some(option=>option.name==="version"),definesShort=definesLong||options.some(option=>option.shorthand==="v"||option.deprecatedShorthand==="v");return typedLong&&!definesLong||typedShort&&!definesShort}function deployAcceptsOptions(argv){let deploy=findBuiltInCommand("deploy",[]);if(!deploy)return!1;try{return parseArguments(argv.slice(2),getFlagsSpecification(deploy.root.options),{warnDeprecated:!1}),!0}catch{return!1}}function getCommandsAlongPath(root,typedPath){let path=[root];for(let token of typedPath){let subcommand=path[path.length-1].subcommands?.find(candidate=>candidate.name===token||candidate.aliases.includes(token));if(!subcommand)break;path.push(subcommand)}return path}function findBuiltInCommand(commandName,tokens){let name=commandName?commands.get(commandName):void 0;if(!commandName||!name||name==="sandbox")return;let findRoot=rootName=>commandsStructs.find(command=>command.name===rootName&&"options"in command),root=findRoot(name);if(!root)return;let monitors=root.name==="alerts"?findRoot("monitors"):void 0;if(monitors){let alias=takeAlertsRulesAlias(root,tokens);if(alias)return{root:monitors,tokens:alias}}let namesSubcommand=commandName!==root.name&&root.subcommands?.some(subcommand=>subcommand.name===commandName||subcommand.aliases.includes(commandName));return{root,tokens:namesSubcommand?[commandName,...tokens]:tokens}}function takeAlertsRulesAlias(alerts,tokens){try{let{command,args}=takeCommand([...tokens],getFlagsSpecification(alerts.options));return command==="rules"?args:void 0}catch{return}}function printUnknownCommand(client,segment,groupPath=[]){let group=groupPath.join(" "),message=`Unknown command ${segment} for ${getCommandNamePlain(group||void 0)}.`,helpCommand=group?`${group} --help`:"--help";if(shouldEmitNonInteractiveCommandError(client)){writeAgentError(client,{status:AGENT_STATUS.ERROR,reason:"unknown_command",message,next:[{command:getCommandNamePlain(helpCommand),when:"See all commands"}]});return}output_manager_default.fatal(message),output_manager_default.print(`
|
|
8
|
-
See all commands:
|
|
9
|
-
${getCommandName(helpCommand)}
|
|
10
|
-
`)}function tokensAfterCommand(argv){let args=argv.slice(2);for(let i=0;i<args.length;i++){let arg=args[i];if(arg==="--")return[];if(arg.startsWith("-")){!arg.includes("=")&&globalCliFlagTakesValue(arg)&&i++;continue}return args.slice(i+1)}return[]}export{RootTelemetryClient,printCommandHelp,printGroupHelp,getCommandPathOptions,asksForVersion,deployAcceptsOptions,printUnknownCommand,tokensAfterCommand};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{tracesConfigCommand}from"./chunk-EKZTFGDX.js";import{deploymentOption,nextCursorOption,projectOption,protectionBypassOption,sinceOption,untilOption,yesOption}from"./chunk-QVXS234E.js";import{packageName}from"./chunk-JESNVRVR.js";var spanQueryOptions=[{...projectOption,shorthand:"p",description:"Filter spans to one project (default: all team projects)"},{name:"environment",shorthand:"e",type:String,argument:"ENVIRONMENT",deprecated:!1,description:"Environment: production or preview (case-insensitive)"},{name:"service",shorthand:null,type:String,deprecated:!1,description:"Filter by service name"},{name:"name",shorthand:null,type:String,deprecated:!1,description:"Filter by span name"},{name:"kind",shorthand:null,type:String,deprecated:!1,description:"Filter by span kind: unspecified (0), internal (1), server (2), client (3), producer (4), consumer (5)"},{name:"status",shorthand:null,type:String,deprecated:!1,description:"Status: error, ok, or unset (case-insensitive)"},{...deploymentOption,description:"Filter by deployment ID"},{name:"deployment-id",shorthand:null,type:String,deprecated:!0},{name:"request-id",shorthand:null,type:String,deprecated:!1,description:"Filter by request ID. Some IDs return 404 in traces inspect. Reuse --scope and --project. See traces inspect --help."},{name:"trace",shorthand:null,type:String,argument:"TRACE",deprecated:!1,description:"Filter by trace ID"},{name:"trace-id",shorthand:null,type:String,deprecated:!0},{name:"span",shorthand:null,type:String,argument:"SPAN",deprecated:!1,description:"Filter by span ID"},{name:"span-id",shorthand:null,type:String,deprecated:!0},{name:"root",shorthand:null,type:Boolean,deprecated:!1,description:"Show root spans only"},{...sinceOption,description:`${sinceOption.description} (default: 1h ago)`},untilOption];var requestIdLookupHelp={title:"Request-ID lookup",body:["A request ID in search results does not guarantee traces inspect can retrieve the trace. Lookup requires a matching root span in the same project within 30 minutes after the request-ID timestamp.","","If no matching root is found, lookup returns 404. Use the same --scope and --project for search and inspect."]},getSubcommand={name:"inspect",aliases:["get"],default:!0,description:"Show a captured trace by trace ID or request ID",helpSections:[{title:"Trace-ID lookup",body:["A 32-character hexadecimal ID selects trace-ID lookup. Other IDs select request-ID lookup.","Trace-ID lookup retrieves the trace directly within the trace retention window. Use the same --scope and --project as search."]},requestIdLookupHelp],arguments:[{name:"id",required:!0}],options:[{name:"json",shorthand:null,type:Boolean,deprecated:!1,description:"Print the raw trace JSON to stdout"},{name:"project",shorthand:null,type:String,argument:"NAME|ID",deprecated:!1,description:"Project that owns the trace (default: linked project)"},{name:"open",shorthand:null,type:Boolean,deprecated:!1,description:"Open the trace in the Vercel Dashboard instead of printing it."},{name:"view",shorthand:null,type:String,argument:"timeline|tree|waterfall",deprecated:!1,description:"Dashboard view to open (default: timeline). Only valid with --open."}],examples:[{name:"Inspect a trace by trace ID",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00`},{name:"Inspect a trace by request ID",value:`${packageName} traces inspect qb46r-1790847620933-1145d2891a3e`},{name:"Print the raw trace JSON",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00 --json`},{name:"Inspect a trace without typing the default inspect subcommand",value:`${packageName} traces e5c0d1efb3904155472b01692c7f2d00`},{name:"Inspect a trace from a specific team and project",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00 --scope my-team --project my-app`},{name:"Open the trace in the Vercel Dashboard",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00 --open`},{name:"Open the trace in the Vercel Dashboard with the waterfall view",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00 --open --view waterfall`}]},createSubcommand={name:"create",aliases:[],description:"Capture a session trace for a request (alias for `vercel curl --trace`).",arguments:[{name:"path",required:!0}],forwardsUnknownOptions:!0,options:[deploymentOption,protectionBypassOption,{name:"json",shorthand:null,type:Boolean,deprecated:!1,description:"Emit { response, requestId } as JSON on stdout"},{...yesOption,description:"Skip the production confirmation prompt (e.g. in non-interactive mode)"}],examples:[{name:"Capture a session trace for a request",value:`${packageName} traces create /api/hello`},{name:"Target a specific deployment",value:`${packageName} traces create /api/status --deployment https://your-project-abc123.vercel.app`},{name:"Pass curl flags after the separator",value:`${packageName} traces create /api/test -- --request POST --data '{"name": "John"}'`}]},searchSubcommand={name:"search",aliases:[],description:"Search team spans. Use --project to filter one project. Results are newest first. Duration filters do not sort results.",helpSections:[{title:"Table columns",body:["Available: span.startTime, span.duration, span.name, span.status.code, service.name, environment, request.id, trace.id, span.id, parent.id, span.kind","Default: all except environment, request.id, and span.kind."]},{title:"KQL filters",body:["Fields: project.id, environment, service.name, deployment.id, request.id, user.id, session.id","Span fields: span.name, span.kind, span.id, parent.id, span.isRoot, span.status.code, span.duration","Trace fields: trace.id, trace.state","","Other fields search span attributes first, then resource attributes.","","span.duration uses milliseconds.","span.kind uses the numeric values shown under --kind.","span.status.code uses Error, Ok, or Unset.","Use field:value filters. Plain text search is not supported.","Use NOT to exclude values. End a value with * to match a prefix.","Wrap values with spaces in double quotes. Keep the full query in single quotes."]},{title:"Paging",body:["When more spans match, a Next page command is printed on stderr.","--json prints one span line per record and ends with a summary line; --non-interactive implies --json.","--next continues from the summary's pagination.next value. It keeps the original team, project, filters, and time window, so it can't be combined with them. --limit can change."]}],arguments:[],options:[...spanQueryOptions,{name:"limit",shorthand:"n",type:Number,deprecated:!1,description:"Maximum number of spans (default: 100, max: 1000)"},{name:"query",shorthand:"q",type:String,deprecated:!1,description:"Filter spans using KQL"},{name:"columns",shorthand:null,argument:"LIST",type:String,deprecated:!1,description:"Columns to show, in order. Separate names with commas. Cannot be used with --json or --non-interactive."},{...nextCursorOption,description:"Continue a previous search from its summary's next value"},{name:"json",shorthand:null,type:Boolean,deprecated:!1,description:"Output JSON Lines ending with a summary line"}],examples:[{name:"Find production errors for one service",value:`${packageName} traces search --environment production --service checkout-api --status error --since 1h`},{name:"Use KQL and output JSON Lines",value:`${packageName} traces search --query 'http.route:"/api/checkout"' --kind server --json`},{name:"Exclude span names starting with app/lib/fetch-api",value:`${packageName} traces search --query 'NOT span.name:app/lib/fetch-api*'`},{name:"Exclude exact span names",value:`${packageName} traces search --query 'NOT span.name:("GET /screenshot/v2" OR "middleware GET")'`},{name:"Find spans longer than 2 seconds",value:`${packageName} traces search --query 'span.duration > 2000' --columns span.startTime,span.duration,span.name,span.kind,span.status.code`},{name:"Continue from the summary's next value",value:`${packageName} traces search --next <CURSOR> --json`}]},tracesCommand={name:"traces",aliases:[],description:"Inspect project traces and search spans across a Vercel team.",arguments:[{name:"id",required:!1}],subcommands:[getSubcommand,searchSubcommand,createSubcommand,tracesConfigCommand],options:[],examples:[{name:"Inspect a trace by trace ID",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00`},{name:"Inspect a trace by request ID",value:`${packageName} traces inspect qb46r-1790847620933-1145d2891a3e`},{name:"Print the raw trace JSON",value:`${packageName} traces inspect e5c0d1efb3904155472b01692c7f2d00 --json`},{name:"Capture a session trace for a request",value:`${packageName} traces create /api/hello`},{name:"Search recent spans",value:`${packageName} traces search --status error`},{name:"List the trace sampling rules for a project",value:`${packageName} traces config ls`}]};export{getSubcommand,createSubcommand,searchSubcommand,tracesCommand};
|