vercel 59.14.0 → 59.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/add-7XFD2OHW.js +8 -0
- package/dist/chunks/add-HZC7AUBY.js +8 -0
- package/dist/chunks/add-PYUNJZ6K.js +8 -0
- package/dist/chunks/build-EFKQ6BND.js +7 -0
- package/dist/chunks/chunk-2B2MN3U5.js +8 -0
- package/dist/chunks/chunk-2H77IRPI.js +9 -0
- package/dist/chunks/chunk-2I64AYHG.js +7 -0
- package/dist/chunks/chunk-2PPXY24N.js +20 -0
- package/dist/chunks/chunk-2S6PE6GB.js +7 -0
- package/dist/chunks/{chunk-PIMIVJYK.js → chunk-3FMJYJUR.js} +7 -32
- package/dist/chunks/chunk-3IAQUNQH.js +7 -0
- package/dist/chunks/chunk-3QHJYVCY.js +7 -0
- package/dist/chunks/chunk-3QT7VOE3.js +7 -0
- package/dist/chunks/chunk-3TXEXPUW.js +7 -0
- package/dist/chunks/chunk-4MZK6JT6.js +7 -0
- package/dist/chunks/chunk-4NE5IQ25.js +7 -0
- package/dist/chunks/chunk-4PNSSS3L.js +7 -0
- package/dist/chunks/chunk-4QX77CP7.js +7 -0
- package/dist/chunks/chunk-57GHYR4Y.js +25 -0
- package/dist/chunks/chunk-5QQNYN4N.js +7 -0
- package/dist/chunks/chunk-5XJNPXQK.js +7 -0
- package/dist/chunks/chunk-6L236MNA.js +7 -0
- package/dist/chunks/chunk-6PFC3KWQ.js +7 -0
- package/dist/chunks/chunk-6QKS6QK7.js +7 -0
- package/dist/chunks/chunk-6RIQPTJA.js +8 -0
- package/dist/chunks/chunk-6TAQ6OWD.js +13 -0
- package/dist/chunks/chunk-6YAADRQB.js +9 -0
- package/dist/chunks/chunk-75CPY75D.js +15 -0
- package/dist/chunks/chunk-7HL2RPUO.js +7 -0
- package/dist/chunks/chunk-7PNYOSDU.js +9 -0
- package/dist/chunks/chunk-7R5FEXZ5.js +7 -0
- package/dist/chunks/chunk-7RMCBXBB.js +62 -0
- package/dist/chunks/chunk-7RR7MIMT.js +7 -0
- package/dist/chunks/chunk-7T6TL3GQ.js +7 -0
- package/dist/chunks/chunk-ADUYPK2G.js +13 -0
- package/dist/chunks/chunk-AFPOIDM5.js +7 -0
- package/dist/chunks/chunk-AM46JVVN.js +7 -0
- package/dist/chunks/chunk-AVSPFBLM.js +7 -0
- package/dist/chunks/chunk-B4ATVYZW.js +7 -0
- package/dist/chunks/chunk-BATE73HA.js +9 -0
- package/dist/chunks/{chunk-64IF634X.js → chunk-BRK4OB4B.js} +1 -12
- package/dist/chunks/chunk-BVH2AEFE.js +7 -0
- package/dist/chunks/chunk-CN2QZO4U.js +7 -0
- package/dist/chunks/chunk-COQGD2EI.js +8 -0
- package/dist/chunks/chunk-CUAIEGNE.js +7 -0
- package/dist/chunks/chunk-CVKB54WW.js +7 -0
- package/dist/chunks/{chunk-A3NYPUKZ.js → chunk-CZSOZKHX.js} +1 -11
- package/dist/chunks/chunk-D4MW3RDW.js +7 -0
- package/dist/chunks/chunk-DFVNL5ML.js +7 -0
- package/dist/chunks/chunk-EE3FVJLV.js +16 -0
- package/dist/chunks/chunk-EGMJRU5P.js +28 -0
- package/dist/chunks/chunk-ENBTTYJR.js +7 -0
- package/dist/chunks/chunk-ENS6KX2F.js +7 -0
- package/dist/chunks/chunk-EOBD4ZEG.js +8 -0
- package/dist/chunks/chunk-EOCTK4EA.js +7 -0
- package/dist/chunks/chunk-EQ52F4LH.js +7 -0
- package/dist/chunks/chunk-ETV3C2CV.js +7 -0
- package/dist/chunks/chunk-EVZRQGNK.js +7 -0
- package/dist/chunks/chunk-F2ZWW2IO.js +8 -0
- package/dist/chunks/chunk-FAW6NBLQ.js +7 -0
- package/dist/chunks/chunk-FI772UVH.js +7 -0
- package/dist/chunks/chunk-FKCOBJFH.js +7 -0
- package/dist/chunks/chunk-FVGESGJI.js +45 -0
- package/dist/chunks/chunk-G5FC5ZCO.js +9 -0
- package/dist/chunks/chunk-G6CTAHKY.js +39 -0
- package/dist/chunks/chunk-G7Y77DFH.js +7 -0
- package/dist/chunks/chunk-GHAY4PSD.js +7 -0
- package/dist/chunks/chunk-GHM7V3GG.js +7 -0
- package/dist/chunks/chunk-GRNTLNC7.js +7 -0
- package/dist/chunks/chunk-GTRGQIY2.js +10 -0
- package/dist/chunks/chunk-GU6VIFR5.js +7 -0
- package/dist/chunks/{constants-YMCRE6IG.js → chunk-GZNDA6SV.js} +2 -9
- package/dist/chunks/chunk-HBFPLBTX.js +10 -0
- package/dist/chunks/chunk-HEGJZJO7.js +7 -0
- package/dist/chunks/chunk-HSJ6AHWG.js +12 -0
- package/dist/chunks/chunk-HTC6KO2B.js +7 -0
- package/dist/chunks/chunk-HVUHCRZB.js +18 -0
- package/dist/chunks/chunk-HZZ5L472.js +7 -0
- package/dist/chunks/chunk-IVSSTHB6.js +7 -0
- package/dist/chunks/chunk-IVWPQYIH.js +7 -0
- package/dist/chunks/chunk-J3U3L45Y.js +7 -0
- package/dist/chunks/chunk-JAJW3P42.js +7 -0
- package/dist/chunks/chunk-JEIMW3CO.js +7 -0
- package/dist/chunks/chunk-JIYY3B4C.js +7 -0
- package/dist/chunks/chunk-JKTQV2QJ.js +7 -0
- package/dist/chunks/chunk-JTVVBRW7.js +7 -0
- package/dist/chunks/chunk-JYAUUIR4.js +7 -0
- package/dist/chunks/chunk-JZRMH5UA.js +7 -0
- package/dist/chunks/chunk-K2RAW5DI.js +10 -0
- package/dist/chunks/chunk-K3KJZLBD.js +7 -0
- package/dist/chunks/chunk-KK4AJES5.js +36 -0
- package/dist/chunks/chunk-KKS7XWEX.js +7 -0
- package/dist/chunks/chunk-KNEWCUWF.js +14 -0
- package/dist/chunks/chunk-KO733OJG.js +9 -0
- package/dist/chunks/chunk-L243RUIR.js +19 -0
- package/dist/chunks/chunk-L3JDEHCQ.js +7 -0
- package/dist/chunks/chunk-LDM3SQAU.js +13 -0
- package/dist/chunks/chunk-LNPMDXBJ.js +7 -0
- package/dist/chunks/chunk-M2W3HKV3.js +23 -0
- package/dist/chunks/chunk-M2XARQBF.js +9 -0
- package/dist/chunks/chunk-M5AV545M.js +7 -0
- package/dist/chunks/chunk-MAVRGZQP.js +7 -0
- package/dist/chunks/chunk-MBL6TXEJ.js +7 -0
- package/dist/chunks/chunk-MEAY2K5Z.js +11 -0
- package/dist/chunks/chunk-MY4MONOH.js +7 -0
- package/dist/chunks/chunk-N3N5UHIL.js +7 -0
- package/dist/chunks/chunk-N3ZZ7FHQ.js +7 -0
- package/dist/chunks/chunk-N6CNMMSZ.js +7 -0
- package/dist/chunks/chunk-NBVY237X.js +7 -0
- package/dist/chunks/chunk-NGNOUPWS.js +25 -0
- package/dist/chunks/chunk-NHTF332K.js +7 -0
- package/dist/chunks/chunk-NNP5NITU.js +15 -0
- package/dist/chunks/chunk-NS4FH2TY.js +11 -0
- package/dist/chunks/chunk-NUGLE4QY.js +11 -0
- package/dist/chunks/chunk-NWFHHUKZ.js +7 -0
- package/dist/chunks/chunk-O7G3CZ42.js +7 -0
- package/dist/chunks/chunk-OD6RZ3XZ.js +8 -0
- package/dist/chunks/chunk-OHDEHZLX.js +7 -0
- package/dist/chunks/chunk-OK3S6KFX.js +16 -0
- package/dist/chunks/chunk-OKZDOANA.js +23 -0
- package/dist/chunks/chunk-OSCCYU74.js +7 -0
- package/dist/chunks/chunk-OUHPDA7Q.js +7 -0
- package/dist/chunks/chunk-P2O5DOYE.js +7 -0
- package/dist/chunks/chunk-PHW54NU5.js +13 -0
- package/dist/chunks/chunk-PPCFQQSU.js +7 -0
- package/dist/chunks/chunk-QGIGNMII.js +8 -0
- package/dist/chunks/chunk-QGIQK47P.js +7 -0
- package/dist/chunks/chunk-QHJLRTVY.js +7 -0
- package/dist/chunks/{chunk-2473DUBR.js → chunk-QR7QPUFN.js} +1 -9
- package/dist/chunks/chunk-QTKJC2O5.js +7 -0
- package/dist/chunks/chunk-R2TGGVCT.js +19 -0
- package/dist/chunks/chunk-RAIBQIKB.js +7 -0
- package/dist/chunks/chunk-RCTYVKM5.js +16 -0
- package/dist/chunks/chunk-RKAUVPOQ.js +86 -0
- package/dist/chunks/chunk-S5CEIACD.js +7 -0
- package/dist/chunks/chunk-SGWVKRSR.js +8 -0
- package/dist/chunks/chunk-SOJCELXH.js +7 -0
- package/dist/chunks/chunk-SXUEGVWB.js +7 -0
- package/dist/chunks/{chunk-GGPE5377.js → chunk-T3GQAMBJ.js} +1 -9
- package/dist/chunks/chunk-T52FMXWC.js +7 -0
- package/dist/chunks/chunk-TG2RCYTH.js +7 -0
- package/dist/chunks/chunk-TJCIHDPZ.js +9 -0
- package/dist/chunks/chunk-TKBXN4H3.js +9 -0
- package/dist/chunks/chunk-TRTEXGVN.js +7 -0
- package/dist/chunks/chunk-TXELFFNK.js +15 -0
- package/dist/chunks/chunk-U56NHYAH.js +7 -0
- package/dist/chunks/chunk-U7KCDTCH.js +12 -0
- package/dist/chunks/chunk-UETTIYUQ.js +8 -0
- package/dist/chunks/chunk-UGMZQZJE.js +24 -0
- package/dist/chunks/chunk-ULLWCOYC.js +7 -0
- package/dist/chunks/chunk-UXTHEQVJ.js +21 -0
- package/dist/chunks/chunk-VLZ47RWM.js +44 -0
- package/dist/chunks/chunk-WKZ6JSGZ.js +7 -0
- package/dist/chunks/chunk-WPS6JZF6.js +7 -0
- package/dist/chunks/chunk-WRILLB46.js +7 -0
- package/dist/chunks/chunk-WUZD4KBL.js +7 -0
- package/dist/chunks/chunk-XCJDGQO7.js +7 -0
- package/dist/chunks/{pkg-56KRLZ5K.js → chunk-XD2LZRBS.js} +1 -7
- package/dist/chunks/chunk-XFVGX5HG.js +7 -0
- package/dist/chunks/chunk-XHOGOH6N.js +7 -0
- package/dist/chunks/{update-route-version-E3V47KNI.js → chunk-XPXOV5UO.js} +1 -7
- package/dist/chunks/chunk-XQ73QIQ3.js +7 -0
- package/dist/chunks/chunk-XSVBYDYI.js +8 -0
- package/dist/chunks/chunk-YKZLKOOD.js +12 -0
- package/dist/chunks/chunk-YMVDWVMO.js +7 -0
- package/dist/chunks/chunk-YPTLSODC.js +7 -0
- package/dist/chunks/chunk-YV6CTDHR.js +7 -0
- package/dist/chunks/chunk-Z6Y55QJW.js +23 -0
- package/dist/chunks/chunk-ZDX75YNZ.js +7 -0
- package/dist/chunks/chunk-ZIPVX7LD.js +7 -0
- package/dist/chunks/chunk-ZKYS7EAB.js +7 -0
- package/dist/chunks/chunk-ZT6KDLLY.js +20 -0
- package/dist/chunks/chunk-ZXE4XYIV.js +7 -0
- package/dist/chunks/chunk-ZZQRMRWD.js +20 -0
- package/dist/chunks/cjs-GOQHXIHX.js +54 -0
- package/dist/chunks/clear-5NQAVWIF.js +8 -0
- package/dist/chunks/compile-vercel-config-6J2XUFRK.js +7 -0
- package/dist/chunks/config-CKYRXZXL.js +7 -0
- package/dist/chunks/config-VNUY4RJ4.js +8 -0
- package/dist/chunks/connect-git-provider-GIU5WZ52.js +7 -0
- package/dist/chunks/constants-G4UYVLOF.js +7 -0
- package/dist/chunks/create-project-SRQGD4JY.js +7 -0
- package/dist/chunks/delete-GTXXCSKQ.js +10 -0
- package/dist/chunks/delete-HRJEO4MI.js +9 -0
- package/dist/chunks/detect-projects-2GNCZ4CS.js +7 -0
- package/dist/chunks/detect-services-GHILEGNU.js +7 -0
- package/dist/chunks/disable-RWCRVG5O.js +7 -0
- package/dist/chunks/discard-SHFIYCJU.js +14 -0
- package/dist/chunks/edit-DMO3NSO2.js +9 -0
- package/dist/chunks/edit-EVQI2RSS.js +8 -0
- package/dist/chunks/enable-AWDU6STD.js +7 -0
- package/dist/chunks/esm-7HVUFWMN.js +7 -0
- package/dist/chunks/esm-BZBEM7YA.js +7 -0
- package/dist/chunks/esm-CXICLFA3.js +9 -0
- package/dist/chunks/esm-HDEHVK7I.js +9 -0
- package/dist/chunks/esm-NQRLKALI.js +20 -0
- package/dist/chunks/esm-SZZI53W7.js +7 -0
- package/dist/chunks/esm-WGJFGCLK.js +7 -0
- package/dist/chunks/exec-4AISDHUV.js +16372 -0
- package/dist/chunks/export-IQKTA4RS.js +19 -0
- package/dist/chunks/fetch-proxy-AEAWC6MD.js +7 -0
- package/dist/chunks/future-E2FHKPJN.js +7 -0
- package/dist/chunks/generate-cert-for-deploy-VKOWC4PZ.js +7 -0
- package/dist/chunks/image-LDFYNOCA.js +7 -0
- package/dist/chunks/import-builders-P7CXSX2D.js +7 -0
- package/dist/chunks/inspect-3N47ODIH.js +15 -0
- package/dist/chunks/inspect-53SGDDAH.js +20 -0
- package/dist/chunks/inspect-5INZDUQS.js +19 -0
- package/dist/chunks/inspect-WMT2M335.js +9 -0
- package/dist/chunks/inspect-Y6BUCOUV.js +13 -0
- package/dist/chunks/list-BIAPHKFM.js +11 -0
- package/dist/chunks/list-DMOCRRSE.js +16 -0
- package/dist/chunks/list-K5J7OULR.js +10 -0
- package/dist/chunks/login-DEAEVUHM.js +7 -0
- package/dist/chunks/login-SRVNHI4Y.js +9 -0
- package/dist/chunks/logs-GK7CJBYY.js +7 -0
- package/dist/chunks/ls-7ZX6DCJW.js +12 -0
- package/dist/chunks/ls-AJWN5ZR4.js +12 -0
- package/dist/chunks/ls-BFJWCRLZ.js +12 -0
- package/dist/chunks/ls-KGIE6HCO.js +12 -0
- package/dist/chunks/ls-UVKTHBTE.js +8 -0
- package/dist/chunks/ls-WEG45IOC.js +8 -0
- package/dist/chunks/native-self-update-KOJVRMHR.js +7 -0
- package/dist/chunks/open-OEWPI5G6.js +7 -0
- package/dist/chunks/openapi-MO5HYMHR.js +7 -0
- package/dist/chunks/permissions-EPQBQFE3.js +7 -0
- package/dist/chunks/pkg-YFU67U7I.js +7 -0
- package/dist/chunks/prompt-missing-credentials-IUHLYSQU.js +7 -0
- package/dist/chunks/publish-JG7MEPWT.js +15 -0
- package/dist/chunks/pull-MRKXG6TO.js +7 -0
- package/dist/chunks/purchase-domain-if-available-O5ARXEZ5.js +7 -0
- package/dist/chunks/push-XOXJDFYO.js +7 -0
- package/dist/chunks/query-AL7C6WV2.js +12 -0
- package/dist/chunks/reauthenticate-SH4XR7NH.js +7 -0
- package/dist/chunks/reorder-5DMRFDBY.js +10 -0
- package/dist/chunks/reply-WSRNZWFD.js +9 -0
- package/dist/chunks/repo-info-to-url-SK3VX6UL.js +7 -0
- package/dist/chunks/resolve-YJUXQVOZ.js +12 -0
- package/dist/chunks/resolve-deployment-framework-preset-XF3NJIDS.js +7 -0
- package/dist/chunks/restore-QT3DBGKU.js +16 -0
- package/dist/chunks/rm-MHPIUEZ5.js +8 -0
- package/dist/chunks/rm-MVZFU6RG.js +8 -0
- package/dist/chunks/rm-PXR4J2US.js +8 -0
- package/dist/chunks/rm-WB2AIP3N.js +8 -0
- package/dist/chunks/rm-XRP6MRUT.js +8 -0
- package/dist/chunks/routes-5DERZV5M.js +7 -0
- package/dist/chunks/rule-inspect-TT3DRGCS.js +8 -0
- package/dist/chunks/rules-B5GW4KJH.js +7 -0
- package/dist/chunks/schema-JY5QTZOG.js +14 -0
- package/dist/chunks/schema-KCNKVFT3.js +44 -0
- package/dist/chunks/select-org-KSCYSESV.js +7 -0
- package/dist/chunks/set-7BANEWEL.js +7 -0
- package/dist/chunks/setup-and-link-ZAV3EFGC.js +7 -0
- package/dist/chunks/slugify-O5DBATYT.js +7 -0
- package/dist/chunks/stamp-OX4YO3KY.js +7 -0
- package/dist/chunks/tags-VZR66NUC.js +7 -0
- package/dist/chunks/types-LRXQEDYI.js +14 -0
- package/dist/chunks/update-RBFNNSWE.js +8 -0
- package/dist/chunks/update-route-version-XZAFPQJC.js +7 -0
- package/dist/chunks/utils-B5ZTMQKY.js +58 -0
- package/dist/chunks/vlt-builder-importer-YVCYYRVV.js +11 -0
- package/dist/commands/build/index.js +24 -4925
- package/dist/commands/deploy/index.js +43 -2875
- package/dist/commands/dev/index.js +56 -23857
- package/dist/commands/env/index.js +26 -3411
- package/dist/commands/link/index.js +4 -284
- package/dist/commands/list/index.js +6 -566
- package/dist/commands-bulk.js +1187 -87691
- package/dist/help.js +1 -8
- package/dist/index.js +19 -2591
- package/dist/version.mjs +1 -1
- package/package.json +50 -51
- package/dist/chunks/add-EQZRT4XL.js +0 -221
- package/dist/chunks/add-KMDROZC3.js +0 -196
- package/dist/chunks/add-QPJ3XMBV.js +0 -145
- package/dist/chunks/build-W4HPTAOB.js +0 -251
- package/dist/chunks/chunk-26CU4Q3C.js +0 -598
- package/dist/chunks/chunk-2HSQ7YUK.js +0 -93
- package/dist/chunks/chunk-2JIX6UMI.js +0 -4626
- package/dist/chunks/chunk-2LCFOK66.js +0 -1536
- package/dist/chunks/chunk-332LMJLZ.js +0 -16014
- package/dist/chunks/chunk-3HZLXCVL.js +0 -137
- package/dist/chunks/chunk-3VM7HWF6.js +0 -104
- package/dist/chunks/chunk-3ZE5CFVM.js +0 -346
- package/dist/chunks/chunk-4IALDGB7.js +0 -22
- package/dist/chunks/chunk-4KD5BYHB.js +0 -127
- package/dist/chunks/chunk-4TUMNBEE.js +0 -231
- package/dist/chunks/chunk-4WG2MYCI.js +0 -163
- package/dist/chunks/chunk-57RHXXXG.js +0 -150
- package/dist/chunks/chunk-5AJPMLDV.js +0 -28
- package/dist/chunks/chunk-5EIV6LPQ.js +0 -305
- package/dist/chunks/chunk-5NF5HOBJ.js +0 -1854
- package/dist/chunks/chunk-653QRQAD.js +0 -417
- package/dist/chunks/chunk-67CRVWDF.js +0 -81
- package/dist/chunks/chunk-6E6KPBXY.js +0 -43
- package/dist/chunks/chunk-75VENWDN.js +0 -1892
- package/dist/chunks/chunk-7MRDIPJY.js +0 -107
- package/dist/chunks/chunk-7NRNFV77.js +0 -875
- package/dist/chunks/chunk-7Q45OKWR.js +0 -149
- package/dist/chunks/chunk-AHU7WNL2.js +0 -24
- package/dist/chunks/chunk-AINIBIP4.js +0 -39
- package/dist/chunks/chunk-AJ5HUOWB.js +0 -14059
- package/dist/chunks/chunk-AKLTIZCU.js +0 -46
- package/dist/chunks/chunk-AQ6P3IGG.js +0 -49
- package/dist/chunks/chunk-B5NH7SLK.js +0 -324
- package/dist/chunks/chunk-B5XLQKHI.js +0 -849
- package/dist/chunks/chunk-BEQV3X2L.js +0 -86
- package/dist/chunks/chunk-CAHP7UGE.js +0 -79
- package/dist/chunks/chunk-CFDDM4TX.js +0 -13618
- package/dist/chunks/chunk-CJV7J7B5.js +0 -314
- package/dist/chunks/chunk-CV5YC2EN.js +0 -867
- package/dist/chunks/chunk-CXFY6A6W.js +0 -255
- package/dist/chunks/chunk-D5SMZXVO.js +0 -233
- package/dist/chunks/chunk-E336ZXPP.js +0 -43
- package/dist/chunks/chunk-EDMW7SBH.js +0 -246
- package/dist/chunks/chunk-EFYMIIER.js +0 -40
- package/dist/chunks/chunk-EKPSCRJZ.js +0 -26
- package/dist/chunks/chunk-EOZFDJSY.js +0 -18
- package/dist/chunks/chunk-EWBCSDTM.js +0 -1708
- package/dist/chunks/chunk-EZKW5YJ2.js +0 -177
- package/dist/chunks/chunk-F2QLCXCF.js +0 -2399
- package/dist/chunks/chunk-FGDKMNEN.js +0 -21
- package/dist/chunks/chunk-FRVG4OW3.js +0 -7438
- package/dist/chunks/chunk-FVF4UHDM.js +0 -1288
- package/dist/chunks/chunk-G5FBSUL4.js +0 -822
- package/dist/chunks/chunk-GDOUDU6O.js +0 -74
- package/dist/chunks/chunk-GGP5R3FU.js +0 -129
- package/dist/chunks/chunk-GVNCVKCI.js +0 -68
- package/dist/chunks/chunk-GY5I4AYD.js +0 -122
- package/dist/chunks/chunk-GZLPFESR.js +0 -48
- package/dist/chunks/chunk-HB4UKFDO.js +0 -1295
- package/dist/chunks/chunk-HD4DR3DA.js +0 -818
- package/dist/chunks/chunk-HKHXKSXQ.js +0 -152
- package/dist/chunks/chunk-HM24ZWQL.js +0 -174
- package/dist/chunks/chunk-HRXRELD3.js +0 -338
- package/dist/chunks/chunk-IB5L4LKZ.js +0 -1082
- package/dist/chunks/chunk-IIMSID24.js +0 -104
- package/dist/chunks/chunk-J7JKZM4T.js +0 -58
- package/dist/chunks/chunk-JC2O346E.js +0 -137
- package/dist/chunks/chunk-JSD4EZL3.js +0 -34
- package/dist/chunks/chunk-JZXJZX7O.js +0 -257
- package/dist/chunks/chunk-K3RED3VO.js +0 -566
- package/dist/chunks/chunk-KFWQ3EFH.js +0 -151
- package/dist/chunks/chunk-KW7BS25T.js +0 -466
- package/dist/chunks/chunk-KXDWXXJH.js +0 -70
- package/dist/chunks/chunk-LERVNZTD.js +0 -90
- package/dist/chunks/chunk-LYAAQDNS.js +0 -242
- package/dist/chunks/chunk-M5I6INNF.js +0 -61
- package/dist/chunks/chunk-N6HP5BLI.js +0 -18190
- package/dist/chunks/chunk-ND5CF2H3.js +0 -53
- package/dist/chunks/chunk-NFU4XJIR.js +0 -120
- package/dist/chunks/chunk-NW34PW6V.js +0 -1772
- package/dist/chunks/chunk-OAMU5QO6.js +0 -18
- package/dist/chunks/chunk-OCIZ6ZYA.js +0 -253
- package/dist/chunks/chunk-ORQZKIIB.js +0 -2914
- package/dist/chunks/chunk-P3SKP5WM.js +0 -27
- package/dist/chunks/chunk-P4QNYOFB.js +0 -96
- package/dist/chunks/chunk-P7VSBDR4.js +0 -827
- package/dist/chunks/chunk-PEC3CQSK.js +0 -90
- package/dist/chunks/chunk-PMSMUMUO.js +0 -30
- package/dist/chunks/chunk-PNGVSHR3.js +0 -40
- package/dist/chunks/chunk-POOO7W47.js +0 -916
- package/dist/chunks/chunk-PRWJUY5U.js +0 -848
- package/dist/chunks/chunk-Q2DGFCO7.js +0 -579
- package/dist/chunks/chunk-RBF2NPUP.js +0 -577
- package/dist/chunks/chunk-RBIFXFZX.js +0 -52
- package/dist/chunks/chunk-RDTRWLWB.js +0 -11441
- package/dist/chunks/chunk-RN6V5ODW.js +0 -114
- package/dist/chunks/chunk-RNSMTWA6.js +0 -122
- package/dist/chunks/chunk-RTJASENB.js +0 -59
- package/dist/chunks/chunk-RVBZ64EQ.js +0 -52
- package/dist/chunks/chunk-S7KYDPEM.js +0 -1564
- package/dist/chunks/chunk-SLPSPYVR.js +0 -334
- package/dist/chunks/chunk-SM3F3PYJ.js +0 -522
- package/dist/chunks/chunk-TO7QZGYK.js +0 -105
- package/dist/chunks/chunk-TSBUHSN7.js +0 -3495
- package/dist/chunks/chunk-TSFWMUCY.js +0 -506
- package/dist/chunks/chunk-TZ2YI2VH.js +0 -87
- package/dist/chunks/chunk-UG2WOB5L.js +0 -150
- package/dist/chunks/chunk-UNKHOYMF.js +0 -559
- package/dist/chunks/chunk-UOVWUSLG.js +0 -2099
- package/dist/chunks/chunk-V4RMJKQP.js +0 -36
- package/dist/chunks/chunk-VGIMO3ZK.js +0 -17
- package/dist/chunks/chunk-VGKSIKCC.js +0 -92
- package/dist/chunks/chunk-VP5Y3SZG.js +0 -106
- package/dist/chunks/chunk-VXYGCOKL.js +0 -28
- package/dist/chunks/chunk-W7FGI2GZ.js +0 -233
- package/dist/chunks/chunk-WGGABYO5.js +0 -31
- package/dist/chunks/chunk-XDGOOW3K.js +0 -60
- package/dist/chunks/chunk-XFF5TGRA.js +0 -303
- package/dist/chunks/chunk-XNIZGCN5.js +0 -58
- package/dist/chunks/chunk-XPJLPUKO.js +0 -117
- package/dist/chunks/chunk-XUAWTW4W.js +0 -467
- package/dist/chunks/chunk-YPQSDAEW.js +0 -29
- package/dist/chunks/chunk-YS76T533.js +0 -270
- package/dist/chunks/chunk-ZDU2NODC.js +0 -104
- package/dist/chunks/chunk-ZW6HETRE.js +0 -97
- package/dist/chunks/cjs-DV4RM7XU.js +0 -20743
- package/dist/chunks/clear-4IACMLFU.js +0 -141
- package/dist/chunks/compile-vercel-config-PQQ3OCLV.js +0 -33
- package/dist/chunks/config-BQQKMQBP.js +0 -168
- package/dist/chunks/config-OCPNHXQL.js +0 -127
- package/dist/chunks/delete-HRKIYPCO.js +0 -159
- package/dist/chunks/delete-P2UL3KTU.js +0 -226
- package/dist/chunks/detect-projects-ODNU4PK2.js +0 -18
- package/dist/chunks/detect-services-U7QGT7VO.js +0 -40
- package/dist/chunks/disable-3NYMICQ3.js +0 -198
- package/dist/chunks/discard-RNVEJUK3.js +0 -145
- package/dist/chunks/edit-63S2RQHR.js +0 -162
- package/dist/chunks/edit-CTENFZ7H.js +0 -647
- package/dist/chunks/enable-WILWXAHV.js +0 -204
- package/dist/chunks/exec-4IPHZ55G.js +0 -1291
- package/dist/chunks/export-YHGV3EPK.js +0 -177
- package/dist/chunks/fetch-proxy-R3JZNXBZ.js +0 -99
- package/dist/chunks/image-MWKS2YMB.js +0 -75
- package/dist/chunks/import-builders-H55X5VYD.js +0 -39
- package/dist/chunks/inspect-JTJMK6TO.js +0 -596
- package/dist/chunks/inspect-KBIPLMGR.js +0 -216
- package/dist/chunks/inspect-OP26FDBY.js +0 -171
- package/dist/chunks/inspect-SW4UMWTB.js +0 -175
- package/dist/chunks/inspect-WPLZPVBO.js +0 -145
- package/dist/chunks/list-HE7DWAWH.js +0 -387
- package/dist/chunks/list-OUG7WCT7.js +0 -404
- package/dist/chunks/list-QUSEURJZ.js +0 -426
- package/dist/chunks/login-MIIQJVF3.js +0 -233
- package/dist/chunks/ls-24N3DUK4.js +0 -183
- package/dist/chunks/ls-3Y7KEFKT.js +0 -175
- package/dist/chunks/ls-75F5HIJ5.js +0 -188
- package/dist/chunks/ls-REN6X2X5.js +0 -204
- package/dist/chunks/ls-W4STUDXK.js +0 -223
- package/dist/chunks/ls-Z4CTSD6C.js +0 -210
- package/dist/chunks/open-ARMCLPBK.js +0 -116
- package/dist/chunks/permissions-JKI67F62.js +0 -99
- package/dist/chunks/publish-SMSQ7OX2.js +0 -155
- package/dist/chunks/pull-4QZJZELD.js +0 -45
- package/dist/chunks/push-T6IYQY2J.js +0 -191
- package/dist/chunks/query-CP3JK5LW.js +0 -725
- package/dist/chunks/reorder-RAWKFGLV.js +0 -412
- package/dist/chunks/reply-235UHUD4.js +0 -176
- package/dist/chunks/resolve-5KCLN7QV.js +0 -237
- package/dist/chunks/resolve-deployment-framework-preset-NPE6RLV3.js +0 -36
- package/dist/chunks/restore-D24WAUAN.js +0 -252
- package/dist/chunks/rm-DBQDXSOC.js +0 -162
- package/dist/chunks/rm-G5INO77R.js +0 -148
- package/dist/chunks/rm-NLKSEKZ5.js +0 -195
- package/dist/chunks/rm-QV76CJA4.js +0 -322
- package/dist/chunks/rm-TZ4PDDUK.js +0 -147
- package/dist/chunks/routes-QVMBXOSX.js +0 -24
- package/dist/chunks/rule-inspect-76MC7I2D.js +0 -123
- package/dist/chunks/rules-IDUXVTPG.js +0 -89
- package/dist/chunks/schema-AV6BHGKY.js +0 -237
- package/dist/chunks/schema-QJVQTNB4.js +0 -381
- package/dist/chunks/set-L5NFQSCF.js +0 -250
- package/dist/chunks/setup-and-link-USSVDKCM.js +0 -65
- package/dist/chunks/stamp-AA7R3MZS.js +0 -16
- package/dist/chunks/tags-2NLUU4EC.js +0 -69
- package/dist/chunks/types-4GAJ7XQQ.js +0 -116
- package/dist/chunks/update-WGLBB65M.js +0 -224
- package/dist/chunks/vlt-builder-importer-USCFHWPL.js +0 -322
|
@@ -1,577 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __dirname_(__filename);
|
|
7
|
-
import {
|
|
8
|
-
require_lib
|
|
9
|
-
} from "./chunk-TO7QZGYK.js";
|
|
10
|
-
import {
|
|
11
|
-
outputError
|
|
12
|
-
} from "./chunk-KFWQ3EFH.js";
|
|
13
|
-
import {
|
|
14
|
-
validateJsonOutput
|
|
15
|
-
} from "./chunk-KXDWXXJH.js";
|
|
16
|
-
import {
|
|
17
|
-
require_execa
|
|
18
|
-
} from "./chunk-5NF5HOBJ.js";
|
|
19
|
-
import {
|
|
20
|
-
require_ms
|
|
21
|
-
} from "./chunk-GGP5R3FU.js";
|
|
22
|
-
import {
|
|
23
|
-
AGENT_REASON
|
|
24
|
-
} from "./chunk-RNSMTWA6.js";
|
|
25
|
-
import {
|
|
26
|
-
getScope
|
|
27
|
-
} from "./chunk-SM3F3PYJ.js";
|
|
28
|
-
import {
|
|
29
|
-
getLinkedProject,
|
|
30
|
-
getProjectByNameOrId
|
|
31
|
-
} from "./chunk-AJ5HUOWB.js";
|
|
32
|
-
import {
|
|
33
|
-
buildCommandWithGlobalFlags,
|
|
34
|
-
outputAgentError
|
|
35
|
-
} from "./chunk-26CU4Q3C.js";
|
|
36
|
-
import {
|
|
37
|
-
ProjectNotFound,
|
|
38
|
-
isAPIError,
|
|
39
|
-
require_bytes
|
|
40
|
-
} from "./chunk-CV5YC2EN.js";
|
|
41
|
-
import {
|
|
42
|
-
packageName
|
|
43
|
-
} from "./chunk-Q2DGFCO7.js";
|
|
44
|
-
import {
|
|
45
|
-
output_manager_default
|
|
46
|
-
} from "./chunk-2JIX6UMI.js";
|
|
47
|
-
import {
|
|
48
|
-
__toESM
|
|
49
|
-
} from "./chunk-TZ2YI2VH.js";
|
|
50
|
-
|
|
51
|
-
// src/commands/vcr/utils/resolve-vcr-scope.ts
|
|
52
|
-
function emitVcrScopeError(client, jsonOutput, code, message, agent) {
|
|
53
|
-
outputAgentError(
|
|
54
|
-
client,
|
|
55
|
-
{
|
|
56
|
-
status: "error",
|
|
57
|
-
reason: agent.reason,
|
|
58
|
-
message,
|
|
59
|
-
hint: agent.hint,
|
|
60
|
-
next: agent.next
|
|
61
|
-
},
|
|
62
|
-
1
|
|
63
|
-
);
|
|
64
|
-
return outputError(client, jsonOutput, code, message);
|
|
65
|
-
}
|
|
66
|
-
async function resolveVcrScope(client, opts) {
|
|
67
|
-
if (opts.project) {
|
|
68
|
-
const { team } = await getScope(client);
|
|
69
|
-
if (!team) {
|
|
70
|
-
const msg = "No team context found. Run `vercel switch` to select a team, or use `vercel link` in a project directory.";
|
|
71
|
-
return emitVcrScopeError(client, opts.jsonOutput, "NO_TEAM", msg, {
|
|
72
|
-
reason: AGENT_REASON.MISSING_SCOPE,
|
|
73
|
-
hint: "Select a team scope before using --project with vcr.",
|
|
74
|
-
next: [
|
|
75
|
-
{
|
|
76
|
-
command: buildCommandWithGlobalFlags(client.argv, "whoami"),
|
|
77
|
-
when: "See current user and team"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
command: buildCommandWithGlobalFlags(client.argv, "teams switch"),
|
|
81
|
-
when: "Switch to a team that owns the project"
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
let projectResult;
|
|
87
|
-
try {
|
|
88
|
-
projectResult = await getProjectByNameOrId(client, opts.project, team.id);
|
|
89
|
-
} catch (err) {
|
|
90
|
-
if (isAPIError(err)) {
|
|
91
|
-
const msg = err.serverMessage || (err.status === 403 ? `You do not have permission to access project "${opts.project}" in team "${team.slug}".` : `API error (${err.status}).`);
|
|
92
|
-
const reason = err.status === 401 ? "not_authorized" : err.status === 403 ? "forbidden" : AGENT_REASON.API_ERROR;
|
|
93
|
-
return emitVcrScopeError(
|
|
94
|
-
client,
|
|
95
|
-
opts.jsonOutput,
|
|
96
|
-
err.code || "API_ERROR",
|
|
97
|
-
msg,
|
|
98
|
-
{
|
|
99
|
-
reason,
|
|
100
|
-
next: [
|
|
101
|
-
{
|
|
102
|
-
command: buildCommandWithGlobalFlags(
|
|
103
|
-
client.argv,
|
|
104
|
-
"vcr ls --project <name_or_id>"
|
|
105
|
-
),
|
|
106
|
-
when: "Retry with a project you can access (replace <name_or_id>)"
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
}
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
throw err;
|
|
113
|
-
}
|
|
114
|
-
if (projectResult instanceof ProjectNotFound) {
|
|
115
|
-
const msg = `Project "${opts.project}" was not found in team "${team.slug}".`;
|
|
116
|
-
return emitVcrScopeError(
|
|
117
|
-
client,
|
|
118
|
-
opts.jsonOutput,
|
|
119
|
-
"PROJECT_NOT_FOUND",
|
|
120
|
-
msg,
|
|
121
|
-
{
|
|
122
|
-
reason: AGENT_REASON.NOT_FOUND,
|
|
123
|
-
next: [
|
|
124
|
-
{
|
|
125
|
-
command: buildCommandWithGlobalFlags(client.argv, "project ls"),
|
|
126
|
-
when: "List projects in the current team to pick a name"
|
|
127
|
-
}
|
|
128
|
-
]
|
|
129
|
-
}
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
teamId: team.id,
|
|
134
|
-
teamSlug: team.slug,
|
|
135
|
-
projectId: projectResult.id,
|
|
136
|
-
projectName: projectResult.name
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
const linkedProject = await getLinkedProject(client);
|
|
140
|
-
if (linkedProject.status === "error") {
|
|
141
|
-
return linkedProject.exitCode;
|
|
142
|
-
}
|
|
143
|
-
if (linkedProject.status === "not_linked") {
|
|
144
|
-
const msg = "No linked project found. Run `vercel link` to link a project, or pass --project <name>.";
|
|
145
|
-
return emitVcrScopeError(client, opts.jsonOutput, "NOT_LINKED", msg, {
|
|
146
|
-
reason: AGENT_REASON.NOT_LINKED,
|
|
147
|
-
hint: "Agents should pass --project when no .vercel link exists in --cwd.",
|
|
148
|
-
next: [
|
|
149
|
-
{
|
|
150
|
-
command: buildCommandWithGlobalFlags(client.argv, "link"),
|
|
151
|
-
when: "Link this directory to a Vercel project"
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
command: buildCommandWithGlobalFlags(
|
|
155
|
-
client.argv,
|
|
156
|
-
"vcr ls --project <name_or_id>"
|
|
157
|
-
),
|
|
158
|
-
when: "List repositories for a project without linking (replace <name_or_id>)"
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
return {
|
|
164
|
-
teamId: linkedProject.org.id,
|
|
165
|
-
teamSlug: linkedProject.org.slug,
|
|
166
|
-
projectId: linkedProject.project.id,
|
|
167
|
-
projectName: linkedProject.project.name
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// src/commands/vcr/utils/format.ts
|
|
172
|
-
var import_ms = __toESM(require_ms(), 1);
|
|
173
|
-
var import_bytes = __toESM(require_bytes(), 1);
|
|
174
|
-
function formatBytes(size) {
|
|
175
|
-
if (typeof size !== "number" || Number.isNaN(size)) {
|
|
176
|
-
return "-";
|
|
177
|
-
}
|
|
178
|
-
return import_bytes.default.format(size, { decimalPlaces: 1 }) ?? "-";
|
|
179
|
-
}
|
|
180
|
-
function formatRelativeTime(iso) {
|
|
181
|
-
const time = new Date(iso).getTime();
|
|
182
|
-
if (Number.isNaN(time)) {
|
|
183
|
-
return "-";
|
|
184
|
-
}
|
|
185
|
-
return `${(0, import_ms.default)(Date.now() - time)} ago`;
|
|
186
|
-
}
|
|
187
|
-
function formatDigest(digest) {
|
|
188
|
-
if (!digest) {
|
|
189
|
-
return "-";
|
|
190
|
-
}
|
|
191
|
-
return digest.replace(/^sha256:/, "").slice(0, 12);
|
|
192
|
-
}
|
|
193
|
-
function formatImageStatus(status) {
|
|
194
|
-
switch (status) {
|
|
195
|
-
case "ready":
|
|
196
|
-
return "Ready";
|
|
197
|
-
case "preparing":
|
|
198
|
-
return "Preparing";
|
|
199
|
-
case "unoptimized":
|
|
200
|
-
return "Ready (unoptimized)";
|
|
201
|
-
default:
|
|
202
|
-
return "-";
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
var VCR_REGISTRY = "vcr.vercel.com";
|
|
206
|
-
function formatImageReference(teamSlug, projectName, repositoryName, digest) {
|
|
207
|
-
if (!digest) {
|
|
208
|
-
return "-";
|
|
209
|
-
}
|
|
210
|
-
return `${VCR_REGISTRY}/${teamSlug}/${projectName}/${repositoryName}@${digest}`;
|
|
211
|
-
}
|
|
212
|
-
function formatTagReference(teamSlug, projectName, repositoryName, tag) {
|
|
213
|
-
if (!tag) {
|
|
214
|
-
return "-";
|
|
215
|
-
}
|
|
216
|
-
return `${VCR_REGISTRY}/${teamSlug}/${projectName}/${repositoryName}:${tag}`;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// src/commands/vcr/utils/validators.ts
|
|
220
|
-
function validateVcrJsonOutput(client, flags) {
|
|
221
|
-
const fr = validateJsonOutput(flags);
|
|
222
|
-
if (!fr.valid) {
|
|
223
|
-
outputAgentError(
|
|
224
|
-
client,
|
|
225
|
-
{
|
|
226
|
-
status: "error",
|
|
227
|
-
reason: AGENT_REASON.INVALID_ARGUMENTS,
|
|
228
|
-
message: fr.error
|
|
229
|
-
},
|
|
230
|
-
1
|
|
231
|
-
);
|
|
232
|
-
output_manager_default.error(fr.error);
|
|
233
|
-
return 1;
|
|
234
|
-
}
|
|
235
|
-
return { jsonOutput: fr.jsonOutput };
|
|
236
|
-
}
|
|
237
|
-
function validateVcrChoice(client, flag, value, choices, jsonOutput) {
|
|
238
|
-
if (value === void 0 || choices.includes(value)) {
|
|
239
|
-
return void 0;
|
|
240
|
-
}
|
|
241
|
-
const message = `Invalid value for ${flag}: "${value}". Must be one of: ${choices.join(", ")}.`;
|
|
242
|
-
outputAgentError(
|
|
243
|
-
client,
|
|
244
|
-
{
|
|
245
|
-
status: "error",
|
|
246
|
-
reason: AGENT_REASON.INVALID_ARGUMENTS,
|
|
247
|
-
message
|
|
248
|
-
},
|
|
249
|
-
1
|
|
250
|
-
);
|
|
251
|
-
return outputError(client, jsonOutput, "INVALID_ARGUMENTS", message);
|
|
252
|
-
}
|
|
253
|
-
function requireVcrRepository(client, repository, jsonOutput, usage) {
|
|
254
|
-
if (repository) {
|
|
255
|
-
return void 0;
|
|
256
|
-
}
|
|
257
|
-
outputAgentError(
|
|
258
|
-
client,
|
|
259
|
-
{
|
|
260
|
-
status: "error",
|
|
261
|
-
reason: AGENT_REASON.MISSING_ARGUMENTS,
|
|
262
|
-
message: `Missing repository. Example: ${packageName} ${usage}`,
|
|
263
|
-
next: [
|
|
264
|
-
{
|
|
265
|
-
command: buildCommandWithGlobalFlags(client.argv, "vcr ls"),
|
|
266
|
-
when: "List repositories to pick a name or id"
|
|
267
|
-
}
|
|
268
|
-
]
|
|
269
|
-
},
|
|
270
|
-
1
|
|
271
|
-
);
|
|
272
|
-
return outputError(
|
|
273
|
-
client,
|
|
274
|
-
jsonOutput,
|
|
275
|
-
"MISSING_ARGUMENTS",
|
|
276
|
-
`Usage: \`vercel ${usage}\``
|
|
277
|
-
);
|
|
278
|
-
}
|
|
279
|
-
function requireVcrRepositoryAndTag(client, repository, tag, jsonOutput, usage) {
|
|
280
|
-
if (repository && tag) {
|
|
281
|
-
return void 0;
|
|
282
|
-
}
|
|
283
|
-
outputAgentError(
|
|
284
|
-
client,
|
|
285
|
-
{
|
|
286
|
-
status: "error",
|
|
287
|
-
reason: AGENT_REASON.MISSING_ARGUMENTS,
|
|
288
|
-
message: `Missing arguments. Example: ${packageName} ${usage}`,
|
|
289
|
-
next: [
|
|
290
|
-
{
|
|
291
|
-
command: buildCommandWithGlobalFlags(
|
|
292
|
-
client.argv,
|
|
293
|
-
"vcr tag ls <repository>"
|
|
294
|
-
),
|
|
295
|
-
when: "List tags to pick a tag (replace <repository>)"
|
|
296
|
-
}
|
|
297
|
-
]
|
|
298
|
-
},
|
|
299
|
-
1
|
|
300
|
-
);
|
|
301
|
-
return outputError(
|
|
302
|
-
client,
|
|
303
|
-
jsonOutput,
|
|
304
|
-
"MISSING_ARGUMENTS",
|
|
305
|
-
`Usage: \`vercel ${usage}\``
|
|
306
|
-
);
|
|
307
|
-
}
|
|
308
|
-
function requireVcrRepositoryAndImageId(client, repository, imageId, jsonOutput, usage) {
|
|
309
|
-
if (repository && imageId) {
|
|
310
|
-
return void 0;
|
|
311
|
-
}
|
|
312
|
-
outputAgentError(
|
|
313
|
-
client,
|
|
314
|
-
{
|
|
315
|
-
status: "error",
|
|
316
|
-
reason: AGENT_REASON.MISSING_ARGUMENTS,
|
|
317
|
-
message: `Missing arguments. Example: ${packageName} ${usage}`,
|
|
318
|
-
next: [
|
|
319
|
-
{
|
|
320
|
-
command: buildCommandWithGlobalFlags(
|
|
321
|
-
client.argv,
|
|
322
|
-
"vcr image ls <repository>"
|
|
323
|
-
),
|
|
324
|
-
when: "List images to pick an image id (replace <repository>)"
|
|
325
|
-
}
|
|
326
|
-
]
|
|
327
|
-
},
|
|
328
|
-
1
|
|
329
|
-
);
|
|
330
|
-
return outputError(
|
|
331
|
-
client,
|
|
332
|
-
jsonOutput,
|
|
333
|
-
"MISSING_ARGUMENTS",
|
|
334
|
-
`Usage: \`vercel ${usage}\``
|
|
335
|
-
);
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
// src/commands/vcr/utils/engine.ts
|
|
339
|
-
var import_which = __toESM(require_lib(), 1);
|
|
340
|
-
var import_execa = __toESM(require_execa(), 1);
|
|
341
|
-
var VCR_ENGINES = ["docker", "podman", "buildah"];
|
|
342
|
-
var VCR_LOGIN_USERNAME = "oidc";
|
|
343
|
-
function resolveRegistry() {
|
|
344
|
-
return process.env.VERCEL_VCR_REGISTRY || VCR_REGISTRY;
|
|
345
|
-
}
|
|
346
|
-
function isEngineInstalled(engine) {
|
|
347
|
-
return import_which.default.sync(engine, { nothrow: true }) !== null;
|
|
348
|
-
}
|
|
349
|
-
function splitPassthrough(argv) {
|
|
350
|
-
const idx = argv.indexOf("--");
|
|
351
|
-
if (idx === -1) {
|
|
352
|
-
return { own: argv.slice(2), passthrough: [] };
|
|
353
|
-
}
|
|
354
|
-
return { own: argv.slice(2, idx), passthrough: argv.slice(idx + 1) };
|
|
355
|
-
}
|
|
356
|
-
async function isBuildxAvailable() {
|
|
357
|
-
const result = await (0, import_execa.default)("docker", ["buildx", "version"], {
|
|
358
|
-
reject: false,
|
|
359
|
-
stdio: "ignore"
|
|
360
|
-
});
|
|
361
|
-
if (result instanceof Error) {
|
|
362
|
-
return false;
|
|
363
|
-
}
|
|
364
|
-
return result.exitCode === 0;
|
|
365
|
-
}
|
|
366
|
-
function pushCompressionArgs(engine) {
|
|
367
|
-
if (engine === "docker") {
|
|
368
|
-
return [];
|
|
369
|
-
}
|
|
370
|
-
return ["--compression-format", "zstd", "--compression-level", "3"];
|
|
371
|
-
}
|
|
372
|
-
var AUTH_FAILURE = /\b(?:unauthorized|denied|forbidden)\b\s*:|authentication required|access to the resource is denied|\b(?:401 unauthorized|403 forbidden)\b/i;
|
|
373
|
-
var CREDENTIAL_STORE_CONFLICT = /already exists in the keychain|errSecDuplicateItem/i;
|
|
374
|
-
function stderrTail(stderr) {
|
|
375
|
-
return stderr.trim().split("\n").slice(-5).join("\n");
|
|
376
|
-
}
|
|
377
|
-
async function engineLogin(engine, registry, token) {
|
|
378
|
-
const result = await (0, import_execa.default)(
|
|
379
|
-
engine,
|
|
380
|
-
["login", registry, "--username", VCR_LOGIN_USERNAME, "--password-stdin"],
|
|
381
|
-
{ input: token, reject: false }
|
|
382
|
-
);
|
|
383
|
-
if (result instanceof Error && typeof result.exitCode !== "number") {
|
|
384
|
-
return { exitCode: 1, stderr: result.message };
|
|
385
|
-
}
|
|
386
|
-
return {
|
|
387
|
-
exitCode: typeof result.exitCode === "number" ? result.exitCode : 1,
|
|
388
|
-
stderr: result.stderr ?? ""
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
async function engineLogout(engine, registry) {
|
|
392
|
-
await (0, import_execa.default)(engine, ["logout", registry], {
|
|
393
|
-
reject: false,
|
|
394
|
-
stdio: "ignore"
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
async function runEngine(engine, args, opts) {
|
|
398
|
-
if (opts.captureStderr) {
|
|
399
|
-
const subprocess = (0, import_execa.default)(engine, args, {
|
|
400
|
-
cwd: opts.cwd,
|
|
401
|
-
stdio: ["inherit", "inherit", "pipe"],
|
|
402
|
-
reject: false
|
|
403
|
-
});
|
|
404
|
-
subprocess.stderr?.pipe(process.stderr);
|
|
405
|
-
const result2 = await subprocess;
|
|
406
|
-
if (result2 instanceof Error && typeof result2.exitCode !== "number") {
|
|
407
|
-
return { exitCode: 1, stderr: result2.message };
|
|
408
|
-
}
|
|
409
|
-
return {
|
|
410
|
-
exitCode: typeof result2.exitCode === "number" ? result2.exitCode : 1,
|
|
411
|
-
stderr: result2.stderr ?? ""
|
|
412
|
-
};
|
|
413
|
-
}
|
|
414
|
-
const result = await (0, import_execa.default)(engine, args, {
|
|
415
|
-
cwd: opts.cwd,
|
|
416
|
-
stdio: "inherit",
|
|
417
|
-
reject: false
|
|
418
|
-
});
|
|
419
|
-
if (result instanceof Error && typeof result.exitCode !== "number") {
|
|
420
|
-
return { exitCode: 1, stderr: result.message };
|
|
421
|
-
}
|
|
422
|
-
return {
|
|
423
|
-
exitCode: typeof result.exitCode === "number" ? result.exitCode : 1,
|
|
424
|
-
stderr: ""
|
|
425
|
-
};
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
// src/commands/vcr/utils/errors.ts
|
|
429
|
-
var NOT_AUTHORIZED_MESSAGE = "You do not have access to the container registry in this scope. Ensure your role can manage the project, or pass --token and --scope.";
|
|
430
|
-
var NOT_AUTHORIZED_HINT = "Confirm team scope with whoami; use --scope <team-slug> if the repository lives under another team.";
|
|
431
|
-
var genericMessage = (err) => err.serverMessage || `API error (${err.status}).`;
|
|
432
|
-
var STATUS_INFO = {
|
|
433
|
-
401: {
|
|
434
|
-
reason: "not_authorized",
|
|
435
|
-
message: () => NOT_AUTHORIZED_MESSAGE,
|
|
436
|
-
hint: NOT_AUTHORIZED_HINT,
|
|
437
|
-
suggestWhoami: true
|
|
438
|
-
},
|
|
439
|
-
403: {
|
|
440
|
-
reason: "forbidden",
|
|
441
|
-
message: () => NOT_AUTHORIZED_MESSAGE,
|
|
442
|
-
hint: NOT_AUTHORIZED_HINT,
|
|
443
|
-
suggestWhoami: true
|
|
444
|
-
},
|
|
445
|
-
404: { reason: AGENT_REASON.NOT_FOUND, message: genericMessage },
|
|
446
|
-
409: { reason: "conflict", message: genericMessage },
|
|
447
|
-
429: { reason: "rate_limited", message: genericMessage }
|
|
448
|
-
};
|
|
449
|
-
function resolveStatusInfo(err) {
|
|
450
|
-
if (STATUS_INFO[err.status]) {
|
|
451
|
-
return STATUS_INFO[err.status];
|
|
452
|
-
}
|
|
453
|
-
if (err.status >= 500) {
|
|
454
|
-
return {
|
|
455
|
-
reason: AGENT_REASON.API_ERROR,
|
|
456
|
-
message: () => `The container registry endpoint failed (${err.status}). Re-run with --debug and share the x-vercel-id from the failed request.`
|
|
457
|
-
};
|
|
458
|
-
}
|
|
459
|
-
return { reason: AGENT_REASON.API_ERROR, message: genericMessage };
|
|
460
|
-
}
|
|
461
|
-
function handleVcrApiError(client, err, jsonOutput, opts = {}) {
|
|
462
|
-
const info = resolveStatusInfo(err);
|
|
463
|
-
const message = info.message(err);
|
|
464
|
-
const next = [];
|
|
465
|
-
if (info.suggestWhoami) {
|
|
466
|
-
next.push({
|
|
467
|
-
command: buildCommandWithGlobalFlags(client.argv, "whoami"),
|
|
468
|
-
when: "See current user and team"
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
if (opts.retry) {
|
|
472
|
-
next.push(opts.retry);
|
|
473
|
-
}
|
|
474
|
-
outputAgentError(
|
|
475
|
-
client,
|
|
476
|
-
{
|
|
477
|
-
status: "error",
|
|
478
|
-
reason: info.reason,
|
|
479
|
-
message,
|
|
480
|
-
...info.hint ? { hint: info.hint } : {},
|
|
481
|
-
...next.length > 0 ? { next } : {}
|
|
482
|
-
},
|
|
483
|
-
1
|
|
484
|
-
);
|
|
485
|
-
return outputError(client, jsonOutput, err.code || "API_ERROR", message);
|
|
486
|
-
}
|
|
487
|
-
function reportEngineCommandFailure(client, engine, verb, result) {
|
|
488
|
-
const tail = stderrTail(result.stderr);
|
|
489
|
-
const message = `\`${engine} ${verb}\` failed (exit code ${result.exitCode}).${tail ? `
|
|
490
|
-
${tail}` : ""}`;
|
|
491
|
-
outputAgentError(
|
|
492
|
-
client,
|
|
493
|
-
{
|
|
494
|
-
status: "error",
|
|
495
|
-
reason: "command_failed",
|
|
496
|
-
message
|
|
497
|
-
},
|
|
498
|
-
1
|
|
499
|
-
);
|
|
500
|
-
return outputError(client, false, "COMMAND_FAILED", message);
|
|
501
|
-
}
|
|
502
|
-
function reportEnginePushFailure(client, engine, verb, result) {
|
|
503
|
-
if (AUTH_FAILURE.test(result.stderr)) {
|
|
504
|
-
const message = `Push to ${resolveRegistry()} was rejected. Your registry credentials may be missing or expired.`;
|
|
505
|
-
outputAgentError(
|
|
506
|
-
client,
|
|
507
|
-
{
|
|
508
|
-
status: "error",
|
|
509
|
-
reason: "not_authorized",
|
|
510
|
-
message,
|
|
511
|
-
next: [
|
|
512
|
-
{
|
|
513
|
-
command: buildCommandWithGlobalFlags(
|
|
514
|
-
client.argv,
|
|
515
|
-
`vcr login ${engine}`
|
|
516
|
-
),
|
|
517
|
-
when: "Refresh registry credentials (valid ~12 hours)"
|
|
518
|
-
}
|
|
519
|
-
]
|
|
520
|
-
},
|
|
521
|
-
1
|
|
522
|
-
);
|
|
523
|
-
return outputError(client, false, "NOT_AUTHORIZED", message);
|
|
524
|
-
}
|
|
525
|
-
return reportEngineCommandFailure(client, engine, verb, result);
|
|
526
|
-
}
|
|
527
|
-
function emitVcrArgParseError(client, err, recoverTemplate) {
|
|
528
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
529
|
-
const projectFlagMissingArg = msg.includes("--project") && msg.includes("requires argument");
|
|
530
|
-
outputAgentError(
|
|
531
|
-
client,
|
|
532
|
-
{
|
|
533
|
-
status: "error",
|
|
534
|
-
reason: AGENT_REASON.INVALID_ARGUMENTS,
|
|
535
|
-
message: projectFlagMissingArg ? "`--project` requires a project name or id (for example `--project my-app`)." : msg,
|
|
536
|
-
next: [
|
|
537
|
-
{
|
|
538
|
-
command: buildCommandWithGlobalFlags(client.argv, recoverTemplate),
|
|
539
|
-
when: projectFlagMissingArg ? "Re-run with a project name or id (replace placeholder)" : "See valid usage"
|
|
540
|
-
}
|
|
541
|
-
]
|
|
542
|
-
},
|
|
543
|
-
1
|
|
544
|
-
);
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
export {
|
|
548
|
-
resolveVcrScope,
|
|
549
|
-
formatBytes,
|
|
550
|
-
formatRelativeTime,
|
|
551
|
-
formatDigest,
|
|
552
|
-
formatImageStatus,
|
|
553
|
-
formatImageReference,
|
|
554
|
-
formatTagReference,
|
|
555
|
-
validateVcrJsonOutput,
|
|
556
|
-
validateVcrChoice,
|
|
557
|
-
requireVcrRepository,
|
|
558
|
-
requireVcrRepositoryAndTag,
|
|
559
|
-
requireVcrRepositoryAndImageId,
|
|
560
|
-
VCR_ENGINES,
|
|
561
|
-
VCR_LOGIN_USERNAME,
|
|
562
|
-
resolveRegistry,
|
|
563
|
-
isEngineInstalled,
|
|
564
|
-
splitPassthrough,
|
|
565
|
-
isBuildxAvailable,
|
|
566
|
-
pushCompressionArgs,
|
|
567
|
-
AUTH_FAILURE,
|
|
568
|
-
CREDENTIAL_STORE_CONFLICT,
|
|
569
|
-
stderrTail,
|
|
570
|
-
engineLogin,
|
|
571
|
-
engineLogout,
|
|
572
|
-
runEngine,
|
|
573
|
-
handleVcrApiError,
|
|
574
|
-
reportEngineCommandFailure,
|
|
575
|
-
reportEnginePushFailure,
|
|
576
|
-
emitVcrArgParseError
|
|
577
|
-
};
|
|
@@ -1,52 +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
|
-
|
|
8
|
-
// src/commands/vcr/utils/image-ref.ts
|
|
9
|
-
var REPOSITORY_PATTERN = /^[a-z0-9]+(?:(?:\.|_|__|-+)[a-z0-9]+)*$/;
|
|
10
|
-
var TAG_PATTERN = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,127}$/;
|
|
11
|
-
var DEFAULT_TAG = "latest";
|
|
12
|
-
function parseNameArg(nameArg, defaultRepo) {
|
|
13
|
-
if (!nameArg) {
|
|
14
|
-
return { repository: defaultRepo, tag: void 0 };
|
|
15
|
-
}
|
|
16
|
-
if (nameArg.includes("/")) {
|
|
17
|
-
return {
|
|
18
|
-
error: `Invalid image name "${nameArg}". Provide only a repository name (optionally with :tag); the registry, team, and project are added automatically.`
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
const colon = nameArg.lastIndexOf(":");
|
|
22
|
-
if (colon === -1) {
|
|
23
|
-
return { repository: nameArg, tag: void 0 };
|
|
24
|
-
}
|
|
25
|
-
const repository = nameArg.slice(0, colon);
|
|
26
|
-
const tag = nameArg.slice(colon + 1);
|
|
27
|
-
if (!repository) {
|
|
28
|
-
return {
|
|
29
|
-
error: `Invalid image name "${nameArg}". Missing repository name before ":".`
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return { repository, tag };
|
|
33
|
-
}
|
|
34
|
-
function validateImageParts(parts) {
|
|
35
|
-
if (!REPOSITORY_PATTERN.test(parts.repository)) {
|
|
36
|
-
return `Invalid repository name "${parts.repository}". Use lowercase letters, digits, and separators (\`.\` \`_\` \`-\`), for example "my-app". Pass a valid name explicitly, e.g. \`... my-app\`.`;
|
|
37
|
-
}
|
|
38
|
-
if (parts.tag !== void 0 && !TAG_PATTERN.test(parts.tag)) {
|
|
39
|
-
return `Invalid tag "${parts.tag}". Tags may contain letters, digits, "_", ".", "-" and be up to 128 characters.`;
|
|
40
|
-
}
|
|
41
|
-
return void 0;
|
|
42
|
-
}
|
|
43
|
-
function buildRepositoryReference(parts) {
|
|
44
|
-
return `${parts.registry}/${parts.teamSlug}/${parts.projectName}/${parts.repository}`;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
DEFAULT_TAG,
|
|
49
|
-
parseNameArg,
|
|
50
|
-
validateImageParts,
|
|
51
|
-
buildRepositoryReference
|
|
52
|
-
};
|