vercel 64.1.0 → 64.2.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-GEAC4RAQ.js → add-IATD2WUV.js} +1 -1
- package/dist/chunks/{add-XZJ4G2MM.js → add-UPXURHDI.js} +1 -1
- package/dist/chunks/{add-JH6ALI3H.js → add-WVK3AP46.js} +1 -1
- package/dist/chunks/{build-3T6EUCCK.js → build-JOGD3ZEF.js} +1 -1
- package/dist/chunks/{chunk-RZGWCQP7.js → chunk-2FHICLHJ.js} +1 -1
- package/dist/chunks/{chunk-AG5QQNJ3.js → chunk-2UMWTCY7.js} +1 -1
- package/dist/chunks/{chunk-OZ47SVXA.js → chunk-3EU7MN5M.js} +1 -1
- package/dist/chunks/{chunk-37QGCN6P.js → chunk-3GSGG4YR.js} +1 -1
- package/dist/chunks/{chunk-SD757OFS.js → chunk-4BS552UW.js} +1 -1
- package/dist/chunks/{chunk-NJINP2WU.js → chunk-4GL254L4.js} +1 -1
- package/dist/chunks/{chunk-RFEREQPS.js → chunk-4IIRQJUW.js} +1 -1
- package/dist/chunks/{chunk-KELSPU2J.js → chunk-4TTF5E5U.js} +3 -3
- package/dist/chunks/{chunk-Z6UFAIEX.js → chunk-4VEK7DEH.js} +1 -1
- package/dist/chunks/{chunk-UBKETNGO.js → chunk-5JEU6QSM.js} +1 -1
- package/dist/chunks/{chunk-NFJPCOTV.js → chunk-7BOCT55A.js} +1 -1
- package/dist/chunks/{chunk-67NNB6S6.js → chunk-7C6BXZCV.js} +1 -1
- package/dist/chunks/{chunk-DW3TSGVC.js → chunk-AKM22FBX.js} +1 -1
- package/dist/chunks/chunk-BTCKMXWW.js +7 -0
- package/dist/chunks/{chunk-MYCQIZU6.js → chunk-CN3IVZJO.js} +1 -1
- package/dist/chunks/{chunk-Z4OH72VZ.js → chunk-CRQDQNQZ.js} +1 -1
- package/dist/chunks/chunk-EEZLBOSP.js +14 -0
- package/dist/chunks/{chunk-WHVT7UXE.js → chunk-EF3YL2R7.js} +1 -1
- package/dist/chunks/{chunk-AR5T62PK.js → chunk-EKUHN42H.js} +1 -1
- package/dist/chunks/{chunk-JESE5FPO.js → chunk-FGNMYSLD.js} +2 -2
- package/dist/chunks/{chunk-JAQM6UXY.js → chunk-FTY4BCAF.js} +1 -1
- package/dist/chunks/{chunk-IDGWQE4B.js → chunk-GSVOI5LW.js} +1 -1
- package/dist/chunks/{chunk-ZMBDYOVN.js → chunk-GUJVJKO7.js} +1 -1
- package/dist/chunks/{chunk-M7GT3ZPT.js → chunk-GVVIFYQE.js} +1 -1
- package/dist/chunks/{chunk-R5K37TXM.js → chunk-I62UUYTS.js} +1 -1
- package/dist/chunks/{chunk-JJSDRKX4.js → chunk-IRJ5XFT2.js} +2 -2
- package/dist/chunks/{chunk-QJKJBD2M.js → chunk-ITKS32PG.js} +1 -1
- package/dist/chunks/{chunk-THSHYFA6.js → chunk-J3CDVZE7.js} +1 -1
- package/dist/chunks/{chunk-UFXKCETS.js → chunk-J6O6JW2K.js} +1 -1
- package/dist/chunks/{chunk-PJMVU4JC.js → chunk-KLYIX4HK.js} +3 -3
- package/dist/chunks/{chunk-QYDG63GL.js → chunk-KUGY5FIM.js} +1 -1
- package/dist/chunks/{chunk-JLXG2XWW.js → chunk-LD5U73LA.js} +1 -1
- package/dist/chunks/{chunk-MJD6WHG4.js → chunk-LLPIBKFX.js} +1 -1
- package/dist/chunks/{chunk-5IPBCD7K.js → chunk-MI7W4QMV.js} +1 -1
- package/dist/chunks/{chunk-YNIW7DTL.js → chunk-N5D4455C.js} +1 -1
- package/dist/chunks/{chunk-ASU72O2R.js → chunk-N6ECEBHG.js} +1 -1
- package/dist/chunks/{chunk-ELI3L2UX.js → chunk-NBABZO3A.js} +1 -1
- package/dist/chunks/{chunk-YCXZZSW6.js → chunk-O7JMHULU.js} +1 -1
- package/dist/chunks/{chunk-XXDVZWWM.js → chunk-OLWE4UFC.js} +1 -1
- package/dist/chunks/{chunk-FIIHB66A.js → chunk-PAN6TUTQ.js} +1 -1
- package/dist/chunks/chunk-Q5ZGA2RO.js +7 -0
- package/dist/chunks/{chunk-ZKDWPKO2.js → chunk-QDOYNWNQ.js} +1 -1
- package/dist/chunks/{chunk-UDQYOGSQ.js → chunk-QL3IYPBV.js} +1 -1
- package/dist/chunks/chunk-RIDPB64C.js +10 -0
- package/dist/chunks/{chunk-WLK5BBNP.js → chunk-SGXN7SMU.js} +1 -1
- package/dist/chunks/{chunk-OGCVOINQ.js → chunk-SQB4T5FL.js} +1 -1
- package/dist/chunks/{chunk-YI5G2A3V.js → chunk-SRAC7DI4.js} +1 -1
- package/dist/chunks/{chunk-MFIVZXHH.js → chunk-THZR6O2M.js} +1 -1
- package/dist/chunks/{chunk-S7XZC23O.js → chunk-TPVAPVQC.js} +1 -1
- package/dist/chunks/{chunk-G6B6TVAE.js → chunk-TWKII7HO.js} +1 -1
- package/dist/chunks/{chunk-5VWJIYJE.js → chunk-TY4PMK7Y.js} +1 -1
- package/dist/chunks/{chunk-GRTIWUV2.js → chunk-UCAE5Z5L.js} +1 -1
- package/dist/chunks/{chunk-L5FUUGYX.js → chunk-UGMTKOTN.js} +1 -1
- package/dist/chunks/{chunk-WQIGKVBV.js → chunk-UJUNGWSD.js} +1 -1
- package/dist/chunks/{chunk-BAJDLMZS.js → chunk-VURCIZKT.js} +1 -1
- package/dist/chunks/chunk-W3TGCMRW.js +9 -0
- package/dist/chunks/{chunk-VM6TZGLE.js → chunk-WE3ZJX7P.js} +1 -1
- package/dist/chunks/{chunk-KAJM2NEI.js → chunk-WIAAACUI.js} +1 -1
- package/dist/chunks/{chunk-FWFTX2WE.js → chunk-WVJYKHGZ.js} +1 -1
- package/dist/chunks/{chunk-7YRPMVZK.js → chunk-WW4VUFHJ.js} +1 -1
- package/dist/chunks/{chunk-J53D7SLS.js → chunk-WZ7YJDKT.js} +1 -1
- package/dist/chunks/{chunk-OJZEOWK2.js → chunk-X65QKYDM.js} +1 -1
- package/dist/chunks/{chunk-FBJWLH2A.js → chunk-XSVF2CZM.js} +1 -1
- package/dist/chunks/{chunk-2JBVMF2Y.js → chunk-Y24OSBXP.js} +1 -1
- package/dist/chunks/{chunk-JNPG7MVL.js → chunk-YDM2PMMP.js} +1 -1
- package/dist/chunks/{chunk-VRWPRZJY.js → chunk-YO4VLAB7.js} +1 -1
- package/dist/chunks/{chunk-4ZICRXI5.js → chunk-YP46QVEI.js} +1 -1
- package/dist/chunks/{chunk-3AVG55SO.js → chunk-ZBDLYNUF.js} +1 -1
- package/dist/chunks/{clear-XCZCETRU.js → clear-FNH7KUCF.js} +1 -1
- package/dist/chunks/{compile-vercel-config-NQKOGOPH.js → compile-vercel-config-4LNHE3YV.js} +1 -1
- package/dist/chunks/{config-CIM647OM.js → config-JEHKUQMZ.js} +1 -1
- package/dist/chunks/{config-P42IQJDF.js → config-W3TVZPSK.js} +1 -1
- package/dist/chunks/{delete-MVJ3NENU.js → delete-HCZA6EVL.js} +1 -1
- package/dist/chunks/{delete-KJMVCQ7C.js → delete-LV744KVD.js} +1 -1
- package/dist/chunks/{detect-services-UYQZT6MU.js → detect-services-TVZ4HYVB.js} +1 -1
- package/dist/chunks/{disable-666GPFHE.js → disable-N7WZSMD4.js} +1 -1
- package/dist/chunks/{discard-RUQPJMOG.js → discard-2DN52DNW.js} +1 -1
- package/dist/chunks/{edit-NRJCMP4B.js → edit-CALU7PMG.js} +1 -1
- package/dist/chunks/{edit-IIM7GKC2.js → edit-MGJWXNFV.js} +1 -1
- package/dist/chunks/{enable-FVXIP7NX.js → enable-7GKPLJNR.js} +1 -1
- package/dist/chunks/{export-VPGLK5KL.js → export-BSOJAVDV.js} +1 -1
- package/dist/chunks/{future-MDYFVS3M.js → future-OV5I5HWT.js} +1 -1
- package/dist/chunks/{generate-cert-for-deploy-MWXVKKFQ.js → generate-cert-for-deploy-GKQRQ3ZQ.js} +1 -1
- package/dist/chunks/{image-URNV2ABR.js → image-NMQWZBTW.js} +1 -1
- package/dist/chunks/{import-builders-FC5ESQ34.js → import-builders-WLKZNPTB.js} +1 -1
- package/dist/chunks/{inspect-6KZERH2F.js → inspect-LF3DIZZ2.js} +1 -1
- package/dist/chunks/{inspect-LYGYBYV3.js → inspect-LZJ5X3PH.js} +1 -1
- package/dist/chunks/{inspect-OBNVJRYC.js → inspect-PV6VVAN6.js} +1 -1
- package/dist/chunks/{inspect-G5NDWTDB.js → inspect-UEDFNY5H.js} +1 -1
- package/dist/chunks/{inspect-P4XEVJW5.js → inspect-V7M3GSZ7.js} +1 -1
- package/dist/chunks/{list-ICJMKLOR.js → list-64R2DNZA.js} +1 -1
- package/dist/chunks/{list-5YBZG374.js → list-AFVTD43R.js} +1 -1
- package/dist/chunks/{list-AV5CMKBK.js → list-QTTCSTZA.js} +1 -1
- package/dist/chunks/{login-SUBW6IFU.js → login-OS6DZT32.js} +1 -1
- package/dist/chunks/{login-5VKAY2R5.js → login-SKIDVUB7.js} +1 -1
- package/dist/chunks/{logs-BJL37R5U.js → logs-6AXWBF4D.js} +1 -1
- package/dist/chunks/{ls-TXKT6RCY.js → ls-5TZIOB3Q.js} +1 -1
- package/dist/chunks/{ls-AKUJ4VUV.js → ls-723HTK5U.js} +1 -1
- package/dist/chunks/{ls-VEWJPLJC.js → ls-A5A3APRI.js} +1 -1
- package/dist/chunks/{ls-3Y2X26EY.js → ls-EADWIBEQ.js} +1 -1
- package/dist/chunks/{ls-SOTQGCPD.js → ls-UP6KDPCD.js} +1 -1
- package/dist/chunks/{ls-QGJPVPLK.js → ls-WSPWJDWP.js} +1 -1
- package/dist/chunks/{ls-EJ4THXVR.js → ls-YPQ3CTTN.js} +1 -1
- package/dist/chunks/{mutate-Y4KO4NAJ.js → mutate-WHVA5NTT.js} +1 -1
- package/dist/chunks/{notifications-J3SMCQX5.js → notifications-I4PKIOYY.js} +1 -1
- package/dist/chunks/{open-COGMMSHS.js → open-SV3USET3.js} +1 -1
- package/dist/chunks/{openapi-TP6GEZGZ.js → openapi-NZJ6Q5Y2.js} +1 -1
- package/dist/chunks/{permissions-43WFISAY.js → permissions-3ZMQVJAQ.js} +1 -1
- package/dist/chunks/{prompt-missing-credentials-5AQVXSFB.js → prompt-missing-credentials-44DQQXOI.js} +1 -1
- package/dist/chunks/{publish-4NSLHSHF.js → publish-EDLEZCAF.js} +1 -1
- package/dist/chunks/{pull-MS2PVQUV.js → pull-5DQNSJCA.js} +1 -1
- package/dist/chunks/{purchase-domain-if-available-S43PVX5Y.js → purchase-domain-if-available-R3YQ2TFP.js} +1 -1
- package/dist/chunks/{push-2NBXVOX2.js → push-6O3JAFDA.js} +1 -1
- package/dist/chunks/{query-DI4FF2ZM.js → query-MYKQOBG3.js} +1 -1
- package/dist/chunks/{reauthenticate-Z62FFYZH.js → reauthenticate-3UH4WWKC.js} +1 -1
- package/dist/chunks/{reorder-P4AXRPMF.js → reorder-IU6GZK4H.js} +1 -1
- package/dist/chunks/{reply-ULZRH7KA.js → reply-FG74YRJ3.js} +1 -1
- package/dist/chunks/{resolve-3IS44LUW.js → resolve-MD3PGOME.js} +1 -1
- package/dist/chunks/{resolve-agent-team-DDBPICVE.js → resolve-agent-team-X6GPGGDR.js} +1 -1
- package/dist/chunks/{restore-WM4EZHD4.js → restore-7KOACNT7.js} +1 -1
- package/dist/chunks/{rm-C455A2EH.js → rm-CSIBWFYG.js} +1 -1
- package/dist/chunks/{rm-TRMBM6DD.js → rm-HOE3GJAB.js} +1 -1
- package/dist/chunks/{rm-4XX3UUUF.js → rm-JRAF4TPV.js} +1 -1
- package/dist/chunks/{rm-7Z6GJ4O2.js → rm-SKKBN7LZ.js} +1 -1
- package/dist/chunks/{rm-53YK7N2N.js → rm-ZF2F2ZE3.js} +1 -1
- package/dist/chunks/{rule-inspect-FMZTPH3S.js → rule-inspect-NICYVQPY.js} +1 -1
- package/dist/chunks/{rules-K7XMFMXG.js → rules-NHACEVVC.js} +1 -1
- package/dist/chunks/{schema-5R44NJNE.js → schema-3XLZGVH5.js} +1 -1
- package/dist/chunks/{schema-PQZAACV2.js → schema-ZJASGDRI.js} +1 -1
- package/dist/chunks/{select-org-GGUGYGDL.js → select-org-XVAGUP4V.js} +1 -1
- package/dist/chunks/{set-SZPCOILW.js → set-JOSIBICX.js} +1 -1
- package/dist/chunks/{setup-and-link-OAS7PYL6.js → setup-and-link-7GIAMCTM.js} +1 -1
- package/dist/chunks/{tags-YS7EQDJY.js → tags-LVP4LVHL.js} +1 -1
- package/dist/chunks/{types-FK3W7A2Y.js → types-YEYQERHE.js} +1 -1
- package/dist/chunks/{update-QVYTOT35.js → update-HPEVXFST.js} +1 -1
- package/dist/commands/build/index.js +1 -1
- package/dist/commands/deploy/index.js +4 -4
- package/dist/commands/dev/index.js +2 -2
- package/dist/commands/env/index.js +1 -1
- package/dist/commands/link/index.js +1 -1
- package/dist/commands/list/index.js +1 -1
- package/dist/commands-bulk.js +73 -63
- package/dist/index.js +2 -2
- package/dist/internal-build.js +1 -1
- package/dist/version.mjs +1 -1
- package/package.json +24 -24
- package/dist/chunks/chunk-AU42HSQ3.js +0 -7
- package/dist/chunks/chunk-CSIUJLB7.js +0 -9
- package/dist/chunks/chunk-FLQJAP2A.js +0 -14
- package/dist/chunks/chunk-FZIRYAXC.js +0 -10
- package/dist/chunks/chunk-QC47UKDR.js +0 -7
package/dist/index.js
CHANGED
|
@@ -4,13 +4,13 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{help}from"./chunks/chunk-GWB27IAS.js";import{checkTelemetryStatus,earlyGetConfig,exitWithUnexpectedError,getDirectBuildFallbackAttributes,getSentry,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,registerUnexpectedErrorHandlers,reportError}from"./chunks/chunk-VRWPRZJY.js";import{BUILD_LABEL}from"./chunks/chunk-WKZ6JSGZ.js";import{RootTelemetryClient,box,canAutoUpdate,executeAutomaticUpgrade,executeUpgrade,handleCommandTypo,hasAutoUpdatePreference,printCommandHelp,printGroupHelp,printUnknownCommand,require_xdg_app_paths,scheduleNativeAutoUpdate,setAutoUpdate,tokensAfterCommand}from"./chunks/chunk-SD757OFS.js";import{matchesCliApiTag}from"./chunks/chunk-JNPG7MVL.js";import{getUpdateCommand}from"./chunks/chunk-THSHYFA6.js";import"./chunks/chunk-ZKDWPKO2.js";import"./chunks/chunk-U56NHYAH.js";import"./chunks/chunk-2EYYB6YN.js";import{require_semver}from"./chunks/chunk-BPUANOGW.js";import"./chunks/chunk-3E364MJE.js";import"./chunks/chunk-7EJQLVWX.js";import{Client,TEAM_NOT_CHOSEN,isValidAccessToken}from"./chunks/chunk-PJMVU4JC.js";import"./chunks/chunk-O4FDRZ22.js";import"./chunks/chunk-T3GQAMBJ.js";import"./chunks/chunk-P2O5DOYE.js";import"./chunks/chunk-25565AGS.js";import{commands,commandsStructs,executionsListSubcommand,schedulesCommand}from"./chunks/chunk-FLQJAP2A.js";import"./chunks/chunk-3AVG55SO.js";import"./chunks/chunk-UFXKCETS.js";import"./chunks/chunk-RZGWCQP7.js";import"./chunks/chunk-AG5QQNJ3.js";import"./chunks/chunk-AU42HSQ3.js";import"./chunks/chunk-L5FUUGYX.js";import"./chunks/chunk-QC47UKDR.js";import"./chunks/chunk-QJKJBD2M.js";import"./chunks/chunk-MYCQIZU6.js";import"./chunks/chunk-2JBVMF2Y.js";import"./chunks/chunk-M7GT3ZPT.js";import"./chunks/chunk-CSIUJLB7.js";import"./chunks/chunk-B4YYOSPY.js";import"./chunks/chunk-JLXG2XWW.js";import"./chunks/chunk-OJZEOWK2.js";import"./chunks/chunk-S7XZC23O.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-FBYA6LLM.js";import"./chunks/chunk-VM6TZGLE.js";import{getTeams}from"./chunks/chunk-DYQXJCHO.js";import"./chunks/chunk-SCV7XEEO.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import"./chunks/chunk-GRTIWUV2.js";import"./chunks/chunk-NJINP2WU.js";import"./chunks/chunk-773GOZIR.js";import{printError}from"./chunks/chunk-OZ47SVXA.js";import"./chunks/chunk-67GZ5REA.js";import"./chunks/chunk-BS32OUOC.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-D4MW3RDW.js";import{forgetCachedTeamSlug,getAuthConfigFilePath,getConfigFilePath,highlight,isAppPrincipalEnabled,readAuthConfigFile,readConfigFile,resolveAppTokenScope,writeToConfigFile}from"./chunks/chunk-J53D7SLS.js";import{TelemetryEventStore}from"./chunks/chunk-JNJOUMGF.js";import{getGlobalPathConfig}from"./chunks/chunk-FIIHB66A.js";import"./chunks/chunk-VKXEOL4K.js";import"./chunks/chunk-MXTC4ZAQ.js";import{isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import{require_cli_config}from"./chunks/chunk-4SAVH3H7.js";import"./chunks/chunk-ZS2WS4AM.js";import"./chunks/chunk-AOWWC6WZ.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import{parseArguments,require_arg}from"./chunks/chunk-Z4OH72VZ.js";import{AGENT_REASON,AGENT_STATUS,isHelpInvocation,shouldEmitNonInteractiveCommandError,trackAgentCommandOutcome}from"./chunks/chunk-FZIRYAXC.js";import{arg_common_default,getFlagsSpecification}from"./chunks/chunk-5IPBCD7K.js";import{getLinkFromDir,getLinkedProjectIdSync,getVercelDirectory,hasLocalProjectLink,require_lib}from"./chunks/chunk-KELSPU2J.js";import"./chunks/chunk-ROPQIBWJ.js";import"./chunks/chunk-VKPZP4LC.js";import{humanizePath}from"./chunks/chunk-PPCFQQSU.js";import"./chunks/chunk-N7Q2IESO.js";import{getUser}from"./chunks/chunk-WPQN5UKR.js";import{getTeamByIdOrSlug}from"./chunks/chunk-2VBFQZ72.js";import{APIError,CantFindConfig,CantParseJSONFile}from"./chunks/chunk-YIIPBH2D.js";import{cmd,getCommandNamePlain,getTitleName}from"./chunks/chunk-JESNVRVR.js";import{UNCLASSIFIED_ERROR_CODE,cliErrorFromUnknown,output_manager_default,recordCliError,recordCliErrorFromOutput,require_build_utils,takeCliError}from"./chunks/chunk-75IAMKGV.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-D3AHZ5LI.js";import"./chunks/chunk-2GHZGOWT.js";import"./chunks/chunk-YHPPP3SF.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BRQUZ5NC.js";import{__commonJS,__require,__toESM}from"./chunks/chunk-BZENIQ7N.js";var require_fetch_dist_tags=__commonJS({"src/util/get-latest-version/fetch-dist-tags.cjs"(exports,module){"use strict";var https=__require("https");function fetchDistTags2(name,options){let timeout=options&&options.timeout||3e3,agent=new https.Agent({keepAlive:!0,maxSockets:15}),headers={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},url=`https://registry.npmjs.org/-/package/${name}/dist-tags`;return new Promise(resolve2=>{let timer=setTimeout(()=>{req.destroy(),resolve2(void 0)},timeout),req=https.get(url,{agent,headers},res=>{let buf="";res.on("data",chunk=>{buf+=chunk}),res.on("end",()=>{clearTimeout(timer);try{if(res.statusCode&&res.statusCode>=400){resolve2(void 0);return}resolve2(JSON.parse(buf))}catch{resolve2(void 0)}})});req.on("error",()=>{clearTimeout(timer),resolve2(void 0)})})}module.exports={fetchDistTags:fetchDistTags2}}});var import_error_utils=__toESM(require_dist(),1),import_fs_extra2=__toESM(require_lib(),1),import_chalk=__toESM(require_source(),1),import_semver2=__toESM(require_semver(),1);import{join as join2,resolve}from"path";import{existsSync as existsSync2}from"fs";var import_semver=__toESM(require_semver(),1),import_xdg_app_paths=__toESM(require_xdg_app_paths(),1),import_fs_extra=__toESM(require_lib(),1);import{dirname,parse as parsePath,resolve as resolvePath}from"path";import{spawn}from"child_process";var import_fetch_dist_tags=__toESM(require_fetch_dist_tags(),1);function getLatestVersion({cacheDir=(0,import_xdg_app_paths.default)("com.vercel.cli").cache(),distTag="latest",notifyInterval=1e3*60*60*24*3,pkg,updateCheckInterval=1e3*60*60*24,consumeNotification=!0}){if(!pkg||typeof pkg!="object"||!pkg.name||typeof pkg.name!="string")throw new TypeError("Expected package to be an object with a package name");let cacheFile=resolvePath(cacheDir,"package-updates",`${pkg.name}-${distTag}.json`),cache;try{cache=(0,import_fs_extra.readJSONSync)(cacheFile)}catch(err){err.code!=="ENOENT"&&output_manager_default?.debug(`Error reading latest package cache file: ${err}`)}if((!cache||!cache.expireAt||cache.expireAt<=Date.now())&&spawnWorker({cacheFile,distTag,name:pkg.name,updateCheckInterval}),cache){let shouldNotify=!cache.notifyAt||cache.notifyAt<=Date.now(),updateAvailable=!1;if(cache.version&&pkg.version&&(updateAvailable=import_semver.default.lt(pkg.version,cache.version)),shouldNotify&&updateAvailable)return consumeNotification&&(cache.notifyAt=Date.now()+notifyInterval,(0,import_fs_extra.outputJSONSync)(cacheFile,cache)),cache.version}}function spawnWorker(payload){let dir=dirname(__filename),script=resolvePath(dir,"dist","get-latest-worker.cjs"),{root}=parsePath(dir);for(;!(0,import_fs_extra.existsSync)(script);){if(dir=dirname(dir),dir===root){output_manager_default?.debug("Failed to find the get latest worker script!");return}script=resolvePath(dir,"dist","get-latest-worker.cjs")}output_manager_default?.debug(`Spawning ${script}`);let args=[script];output_manager_default?.debugEnabled&&args.push("--debug");let worker=spawn(process.execPath,args,{stdio:["inherit","inherit","inherit","ipc"],windowsHide:!0}),workerReadyTimer=setTimeout(()=>worker.kill(),2e3),onClose=code=>{output_manager_default?.debug(`Get latest worker exited (code ${code})`)};worker.on("close",onClose),worker.on("error",err=>{output_manager_default?.log(`Failed to spawn get latest worker: ${err.stack}`)}),worker.once("message",()=>{clearTimeout(workerReadyTimer),worker.removeListener("close",onClose),worker.send(payload),worker.unref()})}async function fetchLatestVersion({name,distTag="latest",timeout=3e3}){return(await(0,import_fetch_dist_tags.fetchDistTags)(name,{timeout}))?.[distTag]}function updateLatestVersionCache({cacheDir=(0,import_xdg_app_paths.default)("com.vercel.cli").cache(),distTag="latest",name,version,updateCheckInterval=1e3*60*60*24}){let cacheFile=resolvePath(cacheDir,"package-updates",`${name}-${distTag}.json`),notifyAt;try{notifyAt=(0,import_fs_extra.readJSONSync)(cacheFile)?.notifyAt}catch{}(0,import_fs_extra.outputJSONSync)(cacheFile,{expireAt:Date.now()+updateCheckInterval,notifyAt,version})}import{URL}from"url";var SUBCOMMANDS_WITHOUT_TOKEN=["login","logout","signup","help","init","build","builders","changelog","pricing","deploy","sandbox","telemetry","upgrade","version","skills","agent","whoami"];var import_arg=__toESM(require_arg(),1);var flagsSpecification={...getFlagsSpecification([...schedulesCommand.options,...schedulesCommand.subcommands.flatMap(command=>command.options),...executionsListSubcommand.options]),"--local":Boolean,"-L":"--local","--changelog":Boolean};function parseSchedulesArguments(argv){let parsed=parseArguments(argv.slice(2),flagsSpecification);return{...parsed,args:[...argv.slice(0,2),...parsed.args]}}function isSchedulesCommand(argv){try{let{_:args}=(0,import_arg.default)({...arg_common_default(),...flagsSpecification},{argv:argv.slice(2),stopAtPositional:!0});return args[0]==="schedules"||args[0]==="help"&&args[1]==="schedules"}catch{return!1}}function isLocalSchedulesCommand(argv){try{let{args,flags}=parseSchedulesArguments(argv);return(args[2]==="schedules"||args[2]==="help"&&args[3]==="schedules")&&flags["--local"]===!0}catch{return!1}}function getSchedulesErrorContext(argv){let spec={...arg_common_default(),...flagsSpecification},local=!1,nonInteractive;for(let i=2;i<argv.length;i++){let token=argv[i];if(token==="--")break;if(!token.startsWith("-")||token==="-")continue;let options=token.startsWith("--")?[token]:[...token.slice(1)].map(letter=>`-${letter}`);for(let j=0;j<options.length;j++){let[option,value]=options[j].split(/=(.*)/,2),name=typeof spec[option]=="string"?spec[option]:option,handler=spec[name];if(!handler)break;if(handler!==Boolean){if(j<options.length-1)break;let next=argv[i+1];value===void 0&&next!==void 0&&(!next.startsWith("-")||next==="-"||handler===Number&&/^-?\d*(\.(?=\d))?\d*$/.test(next))&&i++;continue}if(name==="--local"&&(local=!0),name==="--non-interactive"){let separateFalse=value===void 0&&argv[i+1]==="false";value==="false"||separateFalse?(nonInteractive=!1,separateFalse&&i++):nonInteractive!==!1&&(nonInteractive=!0)}}}return{local,nonInteractive}}function getCachedScopeTeamId(config,scope){return config.cachedTeamIds?.[scope]}function setCachedScopeTeamId(client2,scope,teamId,persistedTeamId){if(getCachedScopeTeamId(client2.config,scope)===teamId)return;let config=client2.config;config.cachedTeamIds={...config.cachedTeamIds,[scope]:teamId},writeToConfigFile({...config,currentTeam:persistedTeamId})}function attempt(fn){try{return fn()}catch{return}}function createRunTelemetry({isAgent,telemetry,store,getClient,getConfigIdentity,getProjectId}){let runEndTracked=!1,saveStarted=!1,trackFailedRunError=(exitCode,client2)=>{let details=takeCliError();!isAgent||exitCode===0&&!details?.reportOnSuccess||isHelpInvocation(client2?.argv??process.argv)||(telemetry.trackErrorStatus(details?.status),telemetry.trackErrorCode(details?.code??UNCLASSIFIED_ERROR_CODE),telemetry.trackErrorSlug(details?.slug),telemetry.trackErrorAction(details?.action),telemetry.trackErrorServerMessage(details?.serverMessage))},trackRunEnd=exitCode=>{if(runEndTracked)return;runEndTracked=!0;let client2=getClient();trackFailedRunError(exitCode,client2),client2&&trackAgentCommandOutcome(client2,exitCode)};return{trackRunEnd,markSaveStarted:()=>{saveStarted=!0},get saveStarted(){return saveStarted},flushOnExit:exitCode=>{if(saveStarted)return;saveStarted=!0,attempt(()=>trackRunEnd(exitCode));let client2=getClient(),identity=attempt(getConfigIdentity);attempt(()=>store.updateTeamId(client2?.config.currentTeam??identity?.teamId)),attempt(()=>store.updateUserId(client2?.authConfig.userId??identity?.userId));let projectId=attempt(getProjectId);projectId&&store.updateProjectId(projectId),attempt(()=>telemetry.trackProjectId(store.currentProjectId)),attempt(()=>store.save({detach:!0}).catch(()=>{}))}}}function captureStdoutErrors(stream){let write=stream.write;return stream.write=function(chunk,...rest){return recordCliErrorFromOutput(chunk),Reflect.apply(write,this,[chunk,...rest])},()=>{stream.write=write}}var import_cli_config=__toESM(require_cli_config(),1);var RELEASE_NOTES_URL="https://vercel.com/docs/cli/release-notes";function getReleaseNotesUrl(version){return`${RELEASE_NOTES_URL}#vercel@${version}`}async function runUpdateMaintenance(exitCode,update){try{return await update()}catch(error){return output_manager_default.stopSpinner(),output_manager_default.debug(`Post-command update failed; preserving exit code ${exitCode??0}: ${error instanceof Error?error.message:String(error)}`),exitCode}}function shouldStartUserLookupForTelemetry({authConfig,hasTelemetryUserId}){return!hasTelemetryUserId&&!authConfig.userId&&isValidAccessToken(authConfig)}import{readFileSync}from"node:fs";import{homedir}from"node:os";import{join}from"node:path";var ACTIVE_SESSION_MARKER_PATH=join(homedir(),".config","vercel-plugin","active-session.json"),SEMVERISH_RE=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;function isRecord(value){return typeof value=="object"&&value!==null}function readVercelPluginActiveSessionMarker(opts={}){let filePath=opts.filePath??ACTIVE_SESSION_MARKER_PATH,now=opts.now?.()??Date.now();try{let marker=JSON.parse(readFileSync(filePath,"utf-8"));return!isRecord(marker)||marker.schema!==1||marker.active!==!0||typeof marker.expiresAt!="number"||marker.expiresAt<=now||typeof marker.pluginVersion!="string"||!SEMVERISH_RE.test(marker.pluginVersion)?null:{pluginVersion:marker.pluginVersion}}catch{return null}}var BETA_COMMANDS=new Set(["budget","budgets","crons","kms","schedules"]);var BASIC_COMMANDS=new Set(["build","cache","deploy","dev","env","git","help","init","inspect","install","integration","integration-resource","link","list","login","logout","open","promote","pull","redeploy","rollback","signup","switch"]),MAX_LISTED_ALIAS_LENGTH=3,DEFAULT_COMMAND="deploy",HELP_ROW={names:["help"],description:"Show help for a command",basic:!0,default:!1};function summarize(description){let firstLine=description.trim().split(`
|
|
7
|
+
import{help}from"./chunks/chunk-GWB27IAS.js";import{checkTelemetryStatus,earlyGetConfig,exitWithUnexpectedError,getDirectBuildFallbackAttributes,getSentry,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,registerUnexpectedErrorHandlers,reportError}from"./chunks/chunk-YO4VLAB7.js";import{BUILD_LABEL}from"./chunks/chunk-WKZ6JSGZ.js";import{RootTelemetryClient,box,canAutoUpdate,executeAutomaticUpgrade,executeUpgrade,handleCommandTypo,hasAutoUpdatePreference,printCommandHelp,printGroupHelp,printUnknownCommand,require_xdg_app_paths,scheduleNativeAutoUpdate,setAutoUpdate,tokensAfterCommand}from"./chunks/chunk-4BS552UW.js";import{matchesCliApiTag}from"./chunks/chunk-YDM2PMMP.js";import{getUpdateCommand}from"./chunks/chunk-J3CDVZE7.js";import"./chunks/chunk-QDOYNWNQ.js";import"./chunks/chunk-U56NHYAH.js";import"./chunks/chunk-2EYYB6YN.js";import{require_semver}from"./chunks/chunk-BPUANOGW.js";import"./chunks/chunk-3E364MJE.js";import"./chunks/chunk-7EJQLVWX.js";import{Client,TEAM_NOT_CHOSEN,isValidAccessToken}from"./chunks/chunk-KLYIX4HK.js";import"./chunks/chunk-O4FDRZ22.js";import"./chunks/chunk-T3GQAMBJ.js";import"./chunks/chunk-P2O5DOYE.js";import"./chunks/chunk-25565AGS.js";import{commands,commandsStructs,executionsListSubcommand,schedulesCommand}from"./chunks/chunk-EEZLBOSP.js";import"./chunks/chunk-ZBDLYNUF.js";import"./chunks/chunk-J6O6JW2K.js";import"./chunks/chunk-2FHICLHJ.js";import"./chunks/chunk-2UMWTCY7.js";import"./chunks/chunk-Q5ZGA2RO.js";import"./chunks/chunk-UGMTKOTN.js";import"./chunks/chunk-BTCKMXWW.js";import"./chunks/chunk-ITKS32PG.js";import"./chunks/chunk-CN3IVZJO.js";import"./chunks/chunk-Y24OSBXP.js";import"./chunks/chunk-GVVIFYQE.js";import"./chunks/chunk-W3TGCMRW.js";import"./chunks/chunk-B4YYOSPY.js";import"./chunks/chunk-LD5U73LA.js";import"./chunks/chunk-X65QKYDM.js";import"./chunks/chunk-TPVAPVQC.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-FBYA6LLM.js";import"./chunks/chunk-WE3ZJX7P.js";import{getTeams}from"./chunks/chunk-DYQXJCHO.js";import"./chunks/chunk-SCV7XEEO.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import"./chunks/chunk-UCAE5Z5L.js";import"./chunks/chunk-4GL254L4.js";import"./chunks/chunk-773GOZIR.js";import{printError}from"./chunks/chunk-3EU7MN5M.js";import"./chunks/chunk-67GZ5REA.js";import"./chunks/chunk-BS32OUOC.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-D4MW3RDW.js";import{forgetCachedTeamSlug,getAuthConfigFilePath,getConfigFilePath,highlight,isAppPrincipalEnabled,readAuthConfigFile,readConfigFile,resolveAppTokenScope,writeToConfigFile}from"./chunks/chunk-WZ7YJDKT.js";import{TelemetryEventStore}from"./chunks/chunk-JNJOUMGF.js";import{getGlobalPathConfig}from"./chunks/chunk-PAN6TUTQ.js";import"./chunks/chunk-VKXEOL4K.js";import"./chunks/chunk-MXTC4ZAQ.js";import{isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import{require_cli_config}from"./chunks/chunk-4SAVH3H7.js";import"./chunks/chunk-ZS2WS4AM.js";import"./chunks/chunk-AOWWC6WZ.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import{parseArguments,require_arg}from"./chunks/chunk-CRQDQNQZ.js";import{AGENT_REASON,AGENT_STATUS,isHelpInvocation,shouldEmitNonInteractiveCommandError,trackAgentCommandOutcome}from"./chunks/chunk-RIDPB64C.js";import{arg_common_default,getFlagsSpecification}from"./chunks/chunk-MI7W4QMV.js";import{getLinkFromDir,getLinkedProjectIdSync,getVercelDirectory,hasLocalProjectLink,require_lib}from"./chunks/chunk-4TTF5E5U.js";import"./chunks/chunk-ROPQIBWJ.js";import"./chunks/chunk-VKPZP4LC.js";import{humanizePath}from"./chunks/chunk-PPCFQQSU.js";import"./chunks/chunk-N7Q2IESO.js";import{getUser}from"./chunks/chunk-WPQN5UKR.js";import{getTeamByIdOrSlug}from"./chunks/chunk-2VBFQZ72.js";import{APIError,CantFindConfig,CantParseJSONFile}from"./chunks/chunk-YIIPBH2D.js";import{cmd,getCommandNamePlain,getTitleName}from"./chunks/chunk-JESNVRVR.js";import{UNCLASSIFIED_ERROR_CODE,cliErrorFromUnknown,output_manager_default,recordCliError,recordCliErrorFromOutput,require_build_utils,takeCliError}from"./chunks/chunk-75IAMKGV.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-D3AHZ5LI.js";import"./chunks/chunk-2GHZGOWT.js";import"./chunks/chunk-YHPPP3SF.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BRQUZ5NC.js";import{__commonJS,__require,__toESM}from"./chunks/chunk-BZENIQ7N.js";var require_fetch_dist_tags=__commonJS({"src/util/get-latest-version/fetch-dist-tags.cjs"(exports,module){"use strict";var https=__require("https");function fetchDistTags2(name,options){let timeout=options&&options.timeout||3e3,agent=new https.Agent({keepAlive:!0,maxSockets:15}),headers={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},url=`https://registry.npmjs.org/-/package/${name}/dist-tags`;return new Promise(resolve2=>{let timer=setTimeout(()=>{req.destroy(),resolve2(void 0)},timeout),req=https.get(url,{agent,headers},res=>{let buf="";res.on("data",chunk=>{buf+=chunk}),res.on("end",()=>{clearTimeout(timer);try{if(res.statusCode&&res.statusCode>=400){resolve2(void 0);return}resolve2(JSON.parse(buf))}catch{resolve2(void 0)}})});req.on("error",()=>{clearTimeout(timer),resolve2(void 0)})})}module.exports={fetchDistTags:fetchDistTags2}}});var import_error_utils=__toESM(require_dist(),1),import_fs_extra2=__toESM(require_lib(),1),import_chalk=__toESM(require_source(),1),import_semver2=__toESM(require_semver(),1);import{join as join2,resolve}from"path";import{existsSync as existsSync2}from"fs";var import_semver=__toESM(require_semver(),1),import_xdg_app_paths=__toESM(require_xdg_app_paths(),1),import_fs_extra=__toESM(require_lib(),1);import{dirname,parse as parsePath,resolve as resolvePath}from"path";import{spawn}from"child_process";var import_fetch_dist_tags=__toESM(require_fetch_dist_tags(),1);function getLatestVersion({cacheDir=(0,import_xdg_app_paths.default)("com.vercel.cli").cache(),distTag="latest",notifyInterval=1e3*60*60*24*3,pkg,updateCheckInterval=1e3*60*60*24,consumeNotification=!0}){if(!pkg||typeof pkg!="object"||!pkg.name||typeof pkg.name!="string")throw new TypeError("Expected package to be an object with a package name");let cacheFile=resolvePath(cacheDir,"package-updates",`${pkg.name}-${distTag}.json`),cache;try{cache=(0,import_fs_extra.readJSONSync)(cacheFile)}catch(err){err.code!=="ENOENT"&&output_manager_default?.debug(`Error reading latest package cache file: ${err}`)}if((!cache||!cache.expireAt||cache.expireAt<=Date.now())&&spawnWorker({cacheFile,distTag,name:pkg.name,updateCheckInterval}),cache){let shouldNotify=!cache.notifyAt||cache.notifyAt<=Date.now(),updateAvailable=!1;if(cache.version&&pkg.version&&(updateAvailable=import_semver.default.lt(pkg.version,cache.version)),shouldNotify&&updateAvailable)return consumeNotification&&(cache.notifyAt=Date.now()+notifyInterval,(0,import_fs_extra.outputJSONSync)(cacheFile,cache)),cache.version}}function spawnWorker(payload){let dir=dirname(__filename),script=resolvePath(dir,"dist","get-latest-worker.cjs"),{root}=parsePath(dir);for(;!(0,import_fs_extra.existsSync)(script);){if(dir=dirname(dir),dir===root){output_manager_default?.debug("Failed to find the get latest worker script!");return}script=resolvePath(dir,"dist","get-latest-worker.cjs")}output_manager_default?.debug(`Spawning ${script}`);let args=[script];output_manager_default?.debugEnabled&&args.push("--debug");let worker=spawn(process.execPath,args,{stdio:["inherit","inherit","inherit","ipc"],windowsHide:!0}),workerReadyTimer=setTimeout(()=>worker.kill(),2e3),onClose=code=>{output_manager_default?.debug(`Get latest worker exited (code ${code})`)};worker.on("close",onClose),worker.on("error",err=>{output_manager_default?.log(`Failed to spawn get latest worker: ${err.stack}`)}),worker.once("message",()=>{clearTimeout(workerReadyTimer),worker.removeListener("close",onClose),worker.send(payload),worker.unref()})}async function fetchLatestVersion({name,distTag="latest",timeout=3e3}){return(await(0,import_fetch_dist_tags.fetchDistTags)(name,{timeout}))?.[distTag]}function updateLatestVersionCache({cacheDir=(0,import_xdg_app_paths.default)("com.vercel.cli").cache(),distTag="latest",name,version,updateCheckInterval=1e3*60*60*24}){let cacheFile=resolvePath(cacheDir,"package-updates",`${name}-${distTag}.json`),notifyAt;try{notifyAt=(0,import_fs_extra.readJSONSync)(cacheFile)?.notifyAt}catch{}(0,import_fs_extra.outputJSONSync)(cacheFile,{expireAt:Date.now()+updateCheckInterval,notifyAt,version})}import{URL}from"url";var SUBCOMMANDS_WITHOUT_TOKEN=["login","logout","signup","help","init","build","builders","changelog","pricing","deploy","sandbox","telemetry","upgrade","version","skills","agent","whoami"];var import_arg=__toESM(require_arg(),1);var flagsSpecification={...getFlagsSpecification([...schedulesCommand.options,...schedulesCommand.subcommands.flatMap(command=>command.options),...executionsListSubcommand.options]),"--local":Boolean,"-L":"--local","--changelog":Boolean};function parseSchedulesArguments(argv){let parsed=parseArguments(argv.slice(2),flagsSpecification);return{...parsed,args:[...argv.slice(0,2),...parsed.args]}}function isSchedulesCommand(argv){try{let{_:args}=(0,import_arg.default)({...arg_common_default(),...flagsSpecification},{argv:argv.slice(2),stopAtPositional:!0});return args[0]==="schedules"||args[0]==="help"&&args[1]==="schedules"}catch{return!1}}function isLocalSchedulesCommand(argv){try{let{args,flags}=parseSchedulesArguments(argv);return(args[2]==="schedules"||args[2]==="help"&&args[3]==="schedules")&&flags["--local"]===!0}catch{return!1}}function getSchedulesErrorContext(argv){let spec={...arg_common_default(),...flagsSpecification},local=!1,nonInteractive;for(let i=2;i<argv.length;i++){let token=argv[i];if(token==="--")break;if(!token.startsWith("-")||token==="-")continue;let options=token.startsWith("--")?[token]:[...token.slice(1)].map(letter=>`-${letter}`);for(let j=0;j<options.length;j++){let[option,value]=options[j].split(/=(.*)/,2),name=typeof spec[option]=="string"?spec[option]:option,handler=spec[name];if(!handler)break;if(handler!==Boolean){if(j<options.length-1)break;let next=argv[i+1];value===void 0&&next!==void 0&&(!next.startsWith("-")||next==="-"||handler===Number&&/^-?\d*(\.(?=\d))?\d*$/.test(next))&&i++;continue}if(name==="--local"&&(local=!0),name==="--non-interactive"){let separateFalse=value===void 0&&argv[i+1]==="false";value==="false"||separateFalse?(nonInteractive=!1,separateFalse&&i++):nonInteractive!==!1&&(nonInteractive=!0)}}}return{local,nonInteractive}}function getCachedScopeTeamId(config,scope){return config.cachedTeamIds?.[scope]}function setCachedScopeTeamId(client2,scope,teamId,persistedTeamId){if(getCachedScopeTeamId(client2.config,scope)===teamId)return;let config=client2.config;config.cachedTeamIds={...config.cachedTeamIds,[scope]:teamId},writeToConfigFile({...config,currentTeam:persistedTeamId})}function attempt(fn){try{return fn()}catch{return}}function createRunTelemetry({isAgent,telemetry,store,getClient,getConfigIdentity,getProjectId}){let runEndTracked=!1,saveStarted=!1,trackFailedRunError=(exitCode,client2)=>{let details=takeCliError();!isAgent||exitCode===0&&!details?.reportOnSuccess||isHelpInvocation(client2?.argv??process.argv)||(telemetry.trackErrorStatus(details?.status),telemetry.trackErrorCode(details?.code??UNCLASSIFIED_ERROR_CODE),telemetry.trackErrorSlug(details?.slug),telemetry.trackErrorAction(details?.action),telemetry.trackErrorServerMessage(details?.serverMessage))},trackRunEnd=exitCode=>{if(runEndTracked)return;runEndTracked=!0;let client2=getClient();trackFailedRunError(exitCode,client2),client2&&trackAgentCommandOutcome(client2,exitCode)};return{trackRunEnd,markSaveStarted:()=>{saveStarted=!0},get saveStarted(){return saveStarted},flushOnExit:exitCode=>{if(saveStarted)return;saveStarted=!0,attempt(()=>trackRunEnd(exitCode));let client2=getClient(),identity=attempt(getConfigIdentity);attempt(()=>store.updateTeamId(client2?.config.currentTeam??identity?.teamId)),attempt(()=>store.updateUserId(client2?.authConfig.userId??identity?.userId));let projectId=attempt(getProjectId);projectId&&store.updateProjectId(projectId),attempt(()=>telemetry.trackProjectId(store.currentProjectId)),attempt(()=>store.save({detach:!0}).catch(()=>{}))}}}function captureStdoutErrors(stream){let write=stream.write;return stream.write=function(chunk,...rest){return recordCliErrorFromOutput(chunk),Reflect.apply(write,this,[chunk,...rest])},()=>{stream.write=write}}var import_cli_config=__toESM(require_cli_config(),1);var RELEASE_NOTES_URL="https://vercel.com/docs/cli/release-notes";function getReleaseNotesUrl(version){return`${RELEASE_NOTES_URL}#vercel@${version}`}async function runUpdateMaintenance(exitCode,update){try{return await update()}catch(error){return output_manager_default.stopSpinner(),output_manager_default.debug(`Post-command update failed; preserving exit code ${exitCode??0}: ${error instanceof Error?error.message:String(error)}`),exitCode}}function shouldStartUserLookupForTelemetry({authConfig,hasTelemetryUserId}){return!hasTelemetryUserId&&!authConfig.userId&&isValidAccessToken(authConfig)}import{readFileSync}from"node:fs";import{homedir}from"node:os";import{join}from"node:path";var ACTIVE_SESSION_MARKER_PATH=join(homedir(),".config","vercel-plugin","active-session.json"),SEMVERISH_RE=/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;function isRecord(value){return typeof value=="object"&&value!==null}function readVercelPluginActiveSessionMarker(opts={}){let filePath=opts.filePath??ACTIVE_SESSION_MARKER_PATH,now=opts.now?.()??Date.now();try{let marker=JSON.parse(readFileSync(filePath,"utf-8"));return!isRecord(marker)||marker.schema!==1||marker.active!==!0||typeof marker.expiresAt!="number"||marker.expiresAt<=now||typeof marker.pluginVersion!="string"||!SEMVERISH_RE.test(marker.pluginVersion)?null:{pluginVersion:marker.pluginVersion}}catch{return null}}var BETA_COMMANDS=new Set(["budget","budgets","crons","kms","schedules"]);var BASIC_COMMANDS=new Set(["build","cache","deploy","dev","env","git","help","init","inspect","install","integration","integration-resource","link","list","login","logout","open","promote","pull","redeploy","rollback","signup","switch"]),MAX_LISTED_ALIAS_LENGTH=3,DEFAULT_COMMAND="deploy",HELP_ROW={names:["help"],description:"Show help for a command",basic:!0,default:!1};function summarize(description){let firstLine=description.trim().split(`
|
|
8
8
|
`)[0],sentenceEnd=/[^.]\.(\s|$)/.exec(firstLine);return(sentenceEnd?firstLine.slice(0,sentenceEnd.index+1):firstLine).replace(/\.$/,"")}function getRootHelpCommands(commands2){let rows=[HELP_ROW];for(let command of commands2){if(!("description"in command)||command.hidden)continue;let shortAliases=command.aliases.filter(alias=>alias.length<=MAX_LISTED_ALIAS_LENGTH),description=summarize(command.description);BETA_COMMANDS.has(command.name)&&(description+=" [beta]"),rows.push({names:[...shortAliases,command.name],description,basic:BASIC_COMMANDS.has(command.name),default:command.name===DEFAULT_COMMAND});for(let alias of command.aliases){let subcommand=command.subcommands?.find(candidate=>candidate.name===alias&&!candidate.hidden);subcommand&&rows.push({names:[alias],description:summarize(subcommand.description),basic:BASIC_COMMANDS.has(alias),default:!1})}}return rows.sort((a,b)=>a.default!==b.default?a.default?-1:1:a.names[a.names.length-1].localeCompare(b.names[b.names.length-1]))}function checkGuidanceStatus({config}){process.env.FF_GUIDANCE_MODE&&(process.env.CI||process.env.VERCEL_GUIDANCE_DISABLED||config.guidance||(output_manager_default.note("The Vercel CLI can suggest common follow-up commands and steps to help guide new users."),output_manager_default.log("You can disable this feature by running:"),output_manager_default.log("vercel guidance disable"),output_manager_default.log("or by setting VERCEL_GUIDANCE_DISABLED=1"),config.guidance={enabled:!0},writeToConfigFile(config)))}import{determineAgent}from"@vercel/detect-agent";var import_build_utils=__toESM(require_build_utils(),1);import{mkdir,writeFile}from"fs/promises";try{process.cwd()}catch(err){(0,import_error_utils.isError)(err)&&err.message.includes("uv_cwd")&&(console.error("Error: The current working directory does not exist."),process.exit(1))}var VERCEL_DIR=getGlobalPathConfig(),VERCEL_CONFIG_PATH=getConfigFilePath(),VERCEL_AUTH_CONFIG_PATH=getAuthConfigFilePath(),GLOBAL_COMMANDS=new Set(["help"]);function hasProxyConfig(){return["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy","ALL_PROXY","all_proxy"].some(v=>process.env[v])}installProcessGuards();var client,resolvedCommandForUpdate;registerUnexpectedErrorHandlers(()=>client);process.env.CLAUDECODE&&process.stderr.write(`<claude-code-hint v="1" type="plugin" value="vercel@claude-plugins-official" />
|
|
9
9
|
`);var IS_LOCAL_SCHEDULES_COMMAND=isLocalSchedulesCommand(process.argv),SHOULD_CHECK_FOR_UPDATES=!IS_LOCAL_SCHEDULES_COMMAND&&!process.env.NO_UPDATE_NOTIFIER&&!process.env.VERCEL,{isTTY}=process.stdout,apiUrl="https://api.vercel.com",InMemoryReporter=class{constructor(){this.events=[]}report(event){this.events.push(event)}},main=async()=>{let traceReporter=new InMemoryReporter,rootSpan=new import_build_utils.Span({name:"vc.cli",reporter:traceReporter,attrs:getDirectBuildFallbackAttributes()}),isTelemetryFlushCommand=process.argv[2]==="telemetry"&&process.argv[3]==="flush";process.env.FORCE_TTY==="1"&&(isTTY=!0,process.stdout.isTTY=!0,process.stdin.isTTY=!0);let parseInitialArgs=()=>IS_LOCAL_SCHEDULES_COMMAND||isSchedulesCommand(process.argv)?parseSchedulesArguments(process.argv):parseArguments(process.argv,{"--version":Boolean,"-v":"--version","--changelog":Boolean,"--non-interactive":Boolean},{permissive:!0}),emitSchedulesArgumentError=async message=>{if(isSchedulesCommand(process.argv)){let context=getSchedulesErrorContext(process.argv);if(context.nonInteractive??((await determineAgent()).isAgent&&process.stdin?.isTTY!==!0))return process.stdout.write(`${JSON.stringify({status:AGENT_STATUS.ERROR,reason:AGENT_REASON.INVALID_ARGUMENTS,message,next:[{command:getCommandNamePlain(`schedules${context.local?" --local":""} --help`),when:"Review the supported schedules options"}]},null,2)}
|
|
10
10
|
`),!0}return!1},parsedArgs;try{parsedArgs=parseInitialArgs();let isDebugging=isOutputDebugEnabled(parsedArgs.flags["--debug"]),isNoColor=parsedArgs.flags["--no-color"];output_manager_default.initialize({debug:isDebugging,noColor:isNoColor})}catch(err){return await emitSchedulesArgumentError(err instanceof Error?err.message:String(err))||printError(err),2}if(IS_LOCAL_SCHEDULES_COMMAND&&(parsedArgs.flags["--token"]!==void 0||parsedArgs.flags["--scope"]!==void 0||parsedArgs.flags["--team"]!==void 0)){let message="Can't combine `--local` with `--token`, `--scope`, or `--team`. Remove the cloud options to manage local schedules.";return await emitSchedulesArgumentError(message)||output_manager_default.fatal(message),2}let localConfigPath=parsedArgs.flags["--local-config"],localConfig=await earlyGetConfig(localConfigPath);if(localConfig instanceof CantParseJSONFile)return output_manager_default.error(`Couldn't parse JSON file ${localConfig.meta.file}.`),1;if(localConfig instanceof CantFindConfig){if(localConfigPath)return output_manager_default.error(`Couldn't find a project configuration file at
|
|
11
11
|
${localConfig.meta.paths.join(` or
|
|
12
12
|
`)}`),1;localConfig=void 0}if(localConfig instanceof Error)return output_manager_default.prettyError(localConfig),1;let targetOrSubcommand=parsedArgs.args[2]||(parsedArgs.flags["--changelog"]?"changelog":void 0),subSubCommand=parsedArgs.args[3],shortBuildLabel=void 0?` (${(void 0).split(" ")[0]})`:"",versionBanner=isNativeBinaryInstall()?`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel}`:`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel} (Node.js ${process.versions.node})`,msg=versionBanner;if(targetOrSubcommand==="ci"?msg=`${versionBanner} | ci is in beta`:targetOrSubcommand&&BETA_COMMANDS.has(targetOrSubcommand)&&(msg=`${versionBanner} | ${targetOrSubcommand} is in beta \u2014 https://vercel.com/feedback`),shouldPrintVersionBanner(targetOrSubcommand,process.argv)&&output_manager_default.print(`${import_chalk.default.dim(msg)}
|
|
13
|
-
`),!targetOrSubcommand&&parsedArgs.flags["--version"])return console.log(pkg_default.version),0;if(!targetOrSubcommand&&parsedArgs.flags["--help"]||targetOrSubcommand==="help"&&(!subSubCommand||subSubCommand==="help"))return process.stdout.write(help(getRootHelpCommands(commandsStructs),process.stdout.columns)),0;try{await(0,import_fs_extra2.mkdirp)(VERCEL_DIR)}catch(err){return output_manager_default.error(`An unexpected error occurred while trying to create the global directory "${humanizePath(VERCEL_DIR)}" ${(0,import_error_utils.errorToString)(err)}`),1}let config;try{config=readConfigFile()}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT"){config=import_cli_config.defaultGlobalConfig;try{writeToConfigFile(config)}catch(err2){return output_manager_default.error(`An unexpected error occurred while trying to save the config to "${humanizePath(VERCEL_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err2)}`),1}}else return output_manager_default.error(`An unexpected error occurred while trying to read the config in "${humanizePath(VERCEL_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err)}`),1}let tokenSource,explicitToken;typeof parsedArgs.flags["--token"]=="string"?(explicitToken=parsedArgs.flags["--token"],tokenSource="flag"):!IS_LOCAL_SCHEDULES_COMMAND&&process.env.VERCEL_TOKEN&&(explicitToken=process.env.VERCEL_TOKEN,tokenSource="env");let authConfig;if(IS_LOCAL_SCHEDULES_COMMAND||tokenSource)authConfig=(0,import_cli_config.getDefaultAuthConfig)();else try{authConfig=readAuthConfigFile(config)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT")authConfig=(0,import_cli_config.getDefaultAuthConfig)();else return output_manager_default.error(`An unexpected error occurred while trying to read the auth config in "${humanizePath(VERCEL_AUTH_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err)}`),1}let telemetryEventStore=new TelemetryEventStore({isDebug:process.env.VERCEL_TELEMETRY_DEBUG==="1",config:config.telemetry,cliDevice:isTelemetryFlushCommand?void 0:{filePath:join2(VERCEL_DIR,"telemetry-device.json")},cliSession:isTelemetryFlushCommand?void 0:{filePath:join2(VERCEL_DIR,"telemetry-session.json")}});checkTelemetryStatus({config}),process.env.FF_GUIDANCE_MODE&&checkGuidanceStatus({config});let telemetry=new RootTelemetryClient({opts:{store:telemetryEventStore}}),{isAgent,agent:detectedAgent}=await determineAgent();telemetry.trackInvocationId(telemetryEventStore.currentInvocationId),telemetry.trackDeviceId(telemetryEventStore.currentDeviceId);let vercelPluginMarker=readVercelPluginActiveSessionMarker();vercelPluginMarker&&(telemetry.trackVercelPluginActiveSession(),telemetry.trackVercelPluginVersion(vercelPluginMarker.pluginVersion)),telemetry.trackAgenticUse(detectedAgent?.name),telemetry.trackCPUs(),telemetry.trackPlatform(),telemetry.trackArch(),telemetry.trackLibc(telemetryEventStore.currentLibc),telemetry.trackCIVendorName(),telemetry.trackStdinIsTTY(process.stdin?.isTTY===!0),telemetry.trackVersion(pkg_default.version),telemetry.trackCliOptionCwd(parsedArgs.flags["--cwd"]),telemetry.trackCliOptionLocalConfig(parsedArgs.flags["--local-config"]),telemetry.trackCliOptionGlobalConfig(parsedArgs.flags["--global-config"]),telemetry.trackCliFlagDebug(parsedArgs.flags["--debug"]),telemetry.trackCliFlagNoColor(parsedArgs.flags["--no-color"]),telemetry.trackCliOptionScope(parsedArgs.flags["--scope"]),telemetry.trackCliOptionToken(parsedArgs.flags["--token"]),telemetry.trackCliOptionTeam(parsedArgs.flags["--team"]),telemetry.trackCliOptionApi(parsedArgs.flags["--api"]);let earlyGetUserPromise,trackAgenticErrorTelemetry=err=>{recordCliError(cliErrorFromUnknown(err,{includeMessage:!0}),{override:!0})},runTelemetry=createRunTelemetry({isAgent,telemetry,store:telemetryEventStore,getClient:()=>client,getConfigIdentity:()=>({teamId:config.currentTeam,userId:authConfig.userId}),getProjectId:()=>(0,import_build_utils.getPlatformEnv)("PROJECT_ID")??getLinkedProjectIdSync(getVercelDirectory(client?.cwd||(typeof parsedArgs.flags["--cwd"]=="string"?parsedArgs.flags["--cwd"]:process.cwd())))}),saveTelemetry=async()=>{if(runTelemetry.saveStarted)return;let postCommandSpan=rootSpan.child("vc.postCommand");if(telemetryEventStore.updateTeamId(client?.config.currentTeam??config.currentTeam),telemetryEventStore.updateUserId(client?.authConfig.userId??authConfig.userId),!telemetryEventStore.hasUserId){let getUserSpan=postCommandSpan.child("vc.postCommand.getUser");try{let user=await earlyGetUserPromise;user&&telemetryEventStore.updateUserId(user.id)}catch{}finally{getUserSpan.stop()}}try{let envProjectId=(0,import_build_utils.getPlatformEnv)("PROJECT_ID");if(envProjectId)telemetryEventStore.updateProjectId(envProjectId);else{let cwdForProjectId=client?.cwd||(typeof parsedArgs.flags["--cwd"]=="string"?parsedArgs.flags["--cwd"]:process.cwd()),link=await getLinkFromDir(getVercelDirectory(cwdForProjectId));link&&telemetryEventStore.updateProjectId(link.projectId)}}catch{}telemetry.trackProjectId(telemetryEventStore.currentProjectId),runTelemetry.markSaveStarted(),await telemetryEventStore.save(),postCommandSpan.stop()},finishWithExitCode=async code=>(runTelemetry.trackRunEnd(code),await saveTelemetry(),code);process.once("exit",code=>runTelemetry.flushOnExit(code)),isAgent&&(captureStdoutErrors(process.stdout),process.on("uncaughtExceptionMonitor",err=>{recordCliError(cliErrorFromUnknown(err))})),!IS_LOCAL_SCHEDULES_COMMAND&&typeof parsedArgs.flags["--api"]=="string"?apiUrl=parsedArgs.flags["--api"]:!IS_LOCAL_SCHEDULES_COMMAND&&config&&config.api&&(apiUrl=config.api);try{new URL(apiUrl)}catch{return output_manager_default.error(`Please provide a valid URL instead of ${highlight(apiUrl)}.`),finishWithExitCode(1)}let stdinIsTTY=process.stdin?.isTTY===!0,nonInteractiveFlag=parsedArgs.flags["--non-interactive"]===!0,argv=process.argv,explicitNonInteractiveFalse=argv.includes("--non-interactive=false")||argv.includes("--non-interactive")&&argv[argv.indexOf("--non-interactive")+1]==="false",nonInteractive=explicitNonInteractiveFalse?!1:nonInteractiveFlag||isAgent&&!stdinIsTTY;if(output_manager_default.debug(`Agent/TTY/nonInteractive: isAgent=${isAgent} agentName=${detectedAgent?.name??"none"} stdin.isTTY=${String(process.stdin?.isTTY)} --non-interactive=${nonInteractiveFlag} explicitFalse=${explicitNonInteractiveFalse} => nonInteractive=${nonInteractive}`),!IS_LOCAL_SCHEDULES_COMMAND&&hasProxyConfig()){let{EnvProxyDispatcher}=await import("./chunks/fetch-proxy-OC6B22AW.js");setFetchDispatcher(new EnvProxyDispatcher)}client=new Client({apiUrl,stdin:process.stdin,stdout:process.stdout,stderr:output_manager_default.stream,config,authConfig,localConfig,localConfigPath,argv:process.argv,telemetryEventStore,isAgent,agentName:detectedAgent?.name,nonInteractive}),client.rootSpan=rootSpan,parsedArgs.flags["--cwd"]&&(client.cwd=parsedArgs.flags["--cwd"]);let{cwd}=client,defaultDeploy=!1,subcommand,userSuppliedSubCommand="";if(targetOrSubcommand){let targetPath=resolve(cwd,targetOrSubcommand),targetPathExists=existsSync2(targetPath),subcommandExists=GLOBAL_COMMANDS.has(targetOrSubcommand)||commands.has(targetOrSubcommand);if(targetPathExists&&subcommandExists&&!parsedArgs.flags["--cwd"]&&!process.env.NOW_BUILDER&&!wantsMachineReadableOutput(targetOrSubcommand,process.argv)&&!await hasLocalProjectLink(client,cwd)&&output_manager_default.warn(`Did you mean to deploy the subdirectory "${targetOrSubcommand}"? Use \`vc --cwd ${targetOrSubcommand}\` instead.`),subcommandExists)output_manager_default.debug(`user supplied known subcommand: "${targetOrSubcommand}"`),subcommand=targetOrSubcommand,userSuppliedSubCommand=targetOrSubcommand;else if(output_manager_default.debug("user supplied a possible target for deployment or an extension"),process.env.VERCEL_AUTO_API&&await matchesCliApiTag(targetOrSubcommand)){output_manager_default.debug(`first token "${targetOrSubcommand}" matches an OpenAPI tag; routing to api`);let tag=targetOrSubcommand,{tryOpenApiFallback}=await import("./chunks/openapi-TP6GEZGZ.js"),result=await tryOpenApiFallback(client,parsedArgs.args.slice(3),async()=>tag);return finishWithExitCode(result??1)}else targetPathExists&&(subcommand="deploy",userSuppliedSubCommand=targetOrSubcommand,output_manager_default.debug(`first token "${targetOrSubcommand}" is an existing path; routing to deploy`))}else output_manager_default.debug("user supplied no target, defaulting to deploy"),subcommand="deploy",defaultDeploy=!0;let helpCommandTarget;if(subcommand==="help"){telemetry.trackCliCommandHelp("help");let isDeployPath=subSubCommand!==void 0&&!commands.has(subSubCommand)&&existsSync2(resolve(cwd,subSubCommand));helpCommandTarget=isDeployPath?void 0:subSubCommand,subcommand=isDeployPath?"deploy":subSubCommand||"deploy";let helpTokenIndex=client.argv.indexOf("help",2);helpTokenIndex!==-1&&client.argv.splice(helpTokenIndex,1),client.argv.push("-h")}let helpRequested=parsedArgs.args[2]==="help"||parsedArgs.flags["--help"]===!0;if(helpRequested){let helpExitCode=printCommandHelp(client,subcommand,tokensAfterCommand(client.argv));if(helpExitCode!==void 0)return finishWithExitCode(helpExitCode)}else{let groupHelpExitCode=printGroupHelp(client,subcommand,tokensAfterCommand(client.argv));if(groupHelpExitCode!==void 0)return finishWithExitCode(groupHelpExitCode)}let subcommandsWithoutToken=[...SUBCOMMANDS_WITHOUT_TOKEN],isPublicDomainsCommand=typeof subcommand=="string"&&commands.get(subcommand)==="domains"&&["check","price","search"].includes(subSubCommand);if(subcommand&&isPublicDomainsCommand&&subcommandsWithoutToken.push(subcommand),process.env.FF_GUIDANCE_MODE&&subcommandsWithoutToken.push("guidance"),subcommand==="dev"&&(client.argv.includes("--local")||client.argv.includes("-L"))&&subcommandsWithoutToken.push("dev"),subcommand==="flags"&&subSubCommand==="prepare"&&subcommandsWithoutToken.push("flags"),tokenSource==="env"&&explicitToken&&(parsedArgs.flags["--token"]=explicitToken),!IS_LOCAL_SCHEDULES_COMMAND&&(!authConfig||!authConfig.token)&&!client.argv.includes("-h")&&!client.argv.includes("--help")&&typeof parsedArgs.flags["--token"]!="string"&&subcommand&&!subcommandsWithoutToken.includes(subcommand)){let{default:promptMissingCredentials}=await import("./chunks/prompt-missing-credentials-5AQVXSFB.js"),result=await promptMissingCredentials(client,trackAgenticErrorTelemetry);if(result!==0)return finishWithExitCode(result)}if(typeof parsedArgs.flags["--token"]=="string"&&subcommand==="switch")return output_manager_default.prettyError({message:`This command doesn't work with ${param("--token")}. Please use ${param("--scope")}.`,link:"https://err.sh/vercel/no-token-allowed"}),finishWithExitCode(2);if(typeof parsedArgs.flags["--token"]=="string"){let token=parsedArgs.flags["--token"];if(token.length===0)return output_manager_default.prettyError({message:`You defined ${param("--token")}, but it's missing a value`,link:"https://err.sh/vercel/missing-token-value"}),finishWithExitCode(2);let invalid=token.match(/(\W)/g);if(invalid){let notContain=Array.from(new Set(invalid)).sort();return output_manager_default.prettyError({message:`You defined ${param("--token")}, but its contents are invalid. Must not contain: ${notContain.map(c=>JSON.stringify(c)).join(", ")}`,link:"https://err.sh/vercel/invalid-token-value"}),finishWithExitCode(2)}client.authConfig={token,skipWrite:!0,tokenSource},client.config&&client.config.currentTeam&&delete client.config.currentTeam}parsedArgs.flags["--team"]&&output_manager_default.warn(`The ${param("--team")} option is deprecated. Please use ${param("--scope")} instead.`);let targetCommand=typeof subcommand=="string"?commands.get(subcommand):void 0,scope=parsedArgs.flags["--scope"]||parsedArgs.flags["--team"]||localConfig?.scope,separatorIndex=client.argv.indexOf("--"),cliArgs=separatorIndex===-1?client.argv:client.argv.slice(0,separatorIndex),buildNeedsRemoteProjectScope=targetCommand==="build"&&cliArgs.some(arg2=>arg2==="--project"||arg2.startsWith("--project="));if(!IS_LOCAL_SCHEDULES_COMMAND&&typeof scope=="string"&&(!isPublicDomainsCommand||client.authConfig.token)&&targetCommand!=="login"&&targetCommand!=="signup"&&(targetCommand!=="build"||buildNeedsRemoteProjectScope)&&targetCommand!=="sandbox"){let persistedTeamId=client.config.currentTeam,cachedTeamId=getCachedScopeTeamId(client.config,scope);if(cachedTeamId)client.config.currentTeam=cachedTeamId;else{let user=null;try{user=await getUser(client),telemetryEventStore.updateUserId(user.id)}catch(err){if(err instanceof Error&&output_manager_default.debug(err.stack||err.toString()),!((0,import_error_utils.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"&&isAppPrincipalEnabled()&&await resolveAppTokenScope(client,scope)))return(0,import_error_utils.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"?(output_manager_default.prettyError({message:"You do not have access to the specified account",link:"https://err.sh/vercel/scope-not-accessible"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(output_manager_default.error(`Not able to load user because of unexpected error: ${(0,import_error_utils.errorToString)(err)}`),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}if(user){let scopeMatchesUserIdentity=user.id===scope||user.email===scope||user.username===scope,related;try{related=await getTeamByIdOrSlug(client,scope,{useCurrentTeam:!1})}catch(err){output_manager_default.debug(`Direct team lookup for scope "${scope}" failed: ${(0,import_error_utils.errorToString)(err)}`)}if(!related){let teams=[];try{teams=await getTeams(client)}catch(err){if(scopeMatchesUserIdentity)output_manager_default.debug("Ignoring failure to load teams; scope matches the current user's identity");else return(0,import_error_utils.isErrnoException)(err)&&err.code==="not_authorized"?(output_manager_default.prettyError({message:"You do not have access to the specified team",link:"https://err.sh/vercel/scope-not-accessible"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(0,import_error_utils.isErrnoException)(err)&&err.code==="rate_limited"?(output_manager_default.prettyError({message:"Rate limited. Too many requests to the same endpoint: /teams"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(output_manager_default.error("Not able to load teams"),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}related=teams.find(team=>team.id===scope||team.slug===scope)}if(related)client.config.currentTeam=related.id,setCachedScopeTeamId(client,scope,related.id,persistedTeamId);else if(scopeMatchesUserIdentity){if(user.version==="northstar")return output_manager_default.error("You cannot set your Personal Account as the scope."),finishWithExitCode(1);delete client.config.currentTeam}else return output_manager_default.prettyError({message:"The specified scope does not exist",link:"https://err.sh/vercel/scope-not-existent"}),finishWithExitCode(1)}}}client.ignoresSavedTeam&&typeof scope!="string"&&targetCommand!=="login"&&targetCommand!=="logout"&&targetCommand!=="signup"&&(client.config.currentTeam=isPublicDomainsCommand?void 0:TEAM_NOT_CHOSEN);let exitCode;try{if(!targetCommand){targetCommand=helpCommandTarget??parsedArgs.args[2];try{let{execExtension}=await import("./chunks/exec-QZXH5RXR.js");exitCode=await execExtension(client,targetCommand,helpCommandTarget?[...parsedArgs.args.slice(4),"--help"]:parsedArgs.args.slice(3),cwd),telemetry.trackCliExtension()}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT"){if(handleCommandTypo({client,command:targetCommand,availableCommands:commandsStructs}))return finishWithExitCode(2);if(helpRequested)return printUnknownCommand(client,targetCommand),finishWithExitCode(2);targetCommand=subcommand="deploy"}else throw err}}if(subcommand){let func;switch(targetCommand){case"deploy":telemetry.trackCliCommandDeploy(userSuppliedSubCommand),telemetry.trackCliDefaultDeploy(defaultDeploy),func=(await import("./commands/deploy/index.js")).default;break;case"dev":telemetry.trackCliCommandDev(userSuppliedSubCommand),func=(await import("./commands/dev/index.js")).default;break;case"env":telemetry.trackCliCommandEnv(userSuppliedSubCommand),func=(await import("./commands/env/index.js")).default;break;case"build":telemetry.trackCliCommandBuild(userSuppliedSubCommand),func=(await import("./commands/build/index.js")).default;break;case"list":telemetry.trackCliCommandList(userSuppliedSubCommand),func=(await import("./commands/list/index.js")).default;break;case"link":telemetry.trackCliCommandLink(userSuppliedSubCommand),func=(await import("./commands/link/index.js")).default;break;case"agent":telemetry.trackCliCommandAgent(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).agent;break;case"agent-runs":telemetry.trackCliCommandAgentRuns(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).agentRuns;break;case"ai-gateway":telemetry.trackCliCommandAiGateway(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).aiGateway;break;case"token-pass":telemetry.trackCliCommandTokenPass(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).tokenPass;break;case"alias":telemetry.trackCliCommandAlias(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).alias;break;case"activity":telemetry.trackCliCommandActivity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).activity;break;case"alerts":telemetry.trackCliCommandAlerts(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).alerts;break;case"api":telemetry.trackCliCommandApi(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).api;break;case"bisect":telemetry.trackCliCommandBisect(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).bisect;break;case"blob":telemetry.trackCliCommandBlob(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).blob;break;case"budgets":telemetry.trackCliCommandBudgets(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).budget;break;case"builders":func=(await import("./commands-bulk.js")).builders;break;case"buy":telemetry.trackCliCommandBuy(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).buy;break;case"init":telemetry.trackCliCommandInit(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).init;break;case"cache":telemetry.trackCliCommandCache(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).cache;break;case"connect":telemetry.trackCliCommandConnex(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).connex;break;case"contract":telemetry.trackCliCommandContract(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).contract;break;case"certs":telemetry.trackCliCommandCerts(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).certs;break;case"ci":telemetry.trackCliCommandCi(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).ci;break;case"changelog":telemetry.trackCliCommandChangelog(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).changelog;break;case"comments":telemetry.trackCliCommandComments(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).comments;break;case"crons":case"cron":telemetry.trackCliCommandCrons(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).crons;break;case"curl":telemetry.trackCliCommandCurl(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).curl;break;case"dns":telemetry.trackCliCommandDns(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).dns;break;case"deploy-hooks":case"deploy-hook":telemetry.trackCliCommandDeployHooks(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).deployHooks;break;case"global-config":telemetry.trackCliCommandGlobalConfig(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).globalConfig;break;case"domains":telemetry.trackCliCommandDomains(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).domains;break;case"experiments":telemetry.trackCliCommandExperiments(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).experiments;break;case"firewall":telemetry.trackCliCommandFirewall(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).firewall;break;case"flags":telemetry.trackCliCommandFlags(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).flags;break;case"git":telemetry.trackCliCommandGit(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).git;break;case"guidance":if(process.env.FF_GUIDANCE_MODE){telemetry.trackCliCommandGuidance(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).guidance;break}else{func=null;break}case"httpstat":telemetry.trackCliCommandHttpstat(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).httpstat;break;case"install":telemetry.trackCliCommandInstall(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).install;break;case"integration":telemetry.trackCliCommandIntegration(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).integration;break;case"integration-resource":telemetry.trackCliCommandIntegrationResource(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).integrationResource;break;case"kms":telemetry.trackCliCommandKms(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).kms;break;case"mcp":func=(await import("./commands-bulk.js")).mcp;break;case"logout":telemetry.trackCliCommandLogout(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).logout;break;case"login":telemetry.trackCliCommandLogin(userSuppliedSubCommand),func=c=>import("./commands-bulk.js").then(m=>m.login(c,{shouldParseArgs:!0}));break;case"inspect":telemetry.trackCliCommandInspect(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).inspect;break;case"logs":telemetry.trackCliCommandLogs(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).logs;break;case"metrics":telemetry.trackCliCommandMetrics(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).metrics;break;case"microfrontends":telemetry.trackCliCommandMicrofrontends(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).microfrontends;break;case"open":telemetry.trackCliCommandOpen(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).open;break;case"pricing":telemetry.trackCliCommandPricing(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).pricing;break;case"project":telemetry.trackCliCommandProject(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).project;break;case"promote":telemetry.trackCliCommandPromote(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).promote;break;case"pull":telemetry.trackCliCommandPull(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).pull;break;case"redeploy":telemetry.trackCliCommandRedeploy(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).redeploy;break;case"redirects":telemetry.trackCliCommandRedirects(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).redirects;break;case"routes":telemetry.trackCliCommandRoutes(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).routes;break;case"remove":telemetry.trackCliCommandRemove(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).remove;break;case"rollback":telemetry.trackCliCommandRollback(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).rollback;break;case"rr":case"release":case"rolling-release":telemetry.trackCliCommandRollingRelease(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).rollingRelease;break;case"sandbox":telemetry.trackCliCommandSandbox(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).sandbox;break;case"schedules":telemetry.trackCliCommandSchedules(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).schedules;break;case"security":telemetry.trackCliCommandSecurity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).security;break;case"signup":telemetry.trackCliCommandSignup(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).signup;break;case"skills":telemetry.trackCliCommandSkills(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).skills;break;case"setup":telemetry.trackCliCommandSetup(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).setup;break;case"storage":telemetry.trackCliCommandStorage(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).storage;break;case"target":telemetry.trackCliCommandTarget(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).target;break;case"teams":telemetry.trackCliCommandTeams(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).teams;break;case"tokens":telemetry.trackCliCommandTokens(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).tokens;break;case"telemetry":telemetry.trackCliCommandTelemetry(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).telemetry;break;case"traces":telemetry.trackCliCommandTraces(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).traces;break;case"upgrade":telemetry.trackCliCommandUpgrade(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).upgrade;break;case"version":telemetry.trackCliCommandVersion(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).version;break;case"webhooks":telemetry.trackCliCommandWebhooks(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).webhooks;break;case"usage":telemetry.trackCliCommandUsage(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).usage;break;case"vcr":telemetry.trackCliCommandVcr(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).vcr;break;case"whoami":telemetry.trackCliCommandWhoami(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).whoami;break;default:func=null;break}if(!func||!targetCommand)return handleCommandTypo({client,command:subcommand,availableCommands:commandsStructs})||output_manager_default.error(`The ${param(subcommand)} subcommand does not exist`),finishWithExitCode(2);func.default&&(func=func.default),!IS_LOCAL_SCHEDULES_COMMAND&&shouldStartUserLookupForTelemetry({authConfig:client.authConfig,hasTelemetryUserId:telemetryEventStore.hasUserId})&&(earlyGetUserPromise=getUser(client).catch(()=>{})),resolvedCommandForUpdate=targetCommand,exitCode=await rootSpan.child("vc.cli.command",{command:subcommand||"deploy"}).trace(()=>func(client))}}catch(err){trackAgenticErrorTelemetry(err),err instanceof APIError&&err.status===403&&client.config.currentTeam&&forgetCachedTeamSlug(client,client.config.currentTeam);let isUsageError=(0,import_error_utils.isError)(err)&&"code"in err&&(err.code==="ARG_UNKNOWN_OPTION"||err.code==="ARG_MISSING_REQUIRED_LONGARG"||err.code==="ARG_MISSING_REQUIRED_SHORTARG");if(shouldEmitNonInteractiveCommandError(client)&&((0,import_error_utils.isError)(err)&&"status"in err||isUsageError))return printError(err,client),finishWithExitCode(isUsageError?2:1);if(isUsageError)return printError(err,client),finishWithExitCode(2);if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOTFOUND"){let matches=/getaddrinfo ENOTFOUND (.*)$/.exec(err.message||"");if(matches&&matches[1]){let hostname=matches[1];output_manager_default.error(`The hostname ${highlight(hostname)} could not be resolved. Please verify your internet connectivity and DNS configuration.`)}return typeof err.stack=="string"&&output_manager_default.debug(err.stack),finishWithExitCode(1)}if((0,import_error_utils.isErrnoException)(err)&&err.code==="ECONNRESET"){let hostname=/request to https:\/\/(.*?)\//.exec(err.message||"")?.[1];return hostname&&output_manager_default.error(`Connection to ${highlight(hostname)} interrupted. Please verify your internet connectivity and DNS configuration.`),finishWithExitCode(1)}return(0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED")?(output_manager_default.prettyError(err),finishWithExitCode(1)):err instanceof APIError&&400<=err.status&&err.status<=499?(err.message=err.serverMessage,output_manager_default.prettyError(err),finishWithExitCode(1)):((0,import_error_utils.isErrnoException)(err)?(typeof err.stack=="string"&&output_manager_default.debug(err.stack),output_manager_default.prettyError(err)):(await reportError(await getSentry(),client,err),output_manager_default.error(`An unexpected error occurred in ${subcommand}: ${err}`)),finishWithExitCode(1))}if(await finishWithExitCode(exitCode??0),rootSpan.stop(),client.traceDiagnosticsPath)try{await mkdir(join2(client.traceDiagnosticsPath,".."),{recursive:!0}),await writeFile(client.traceDiagnosticsPath,JSON.stringify(traceReporter.events))}catch(err){output_manager_default.error("Failed to write diagnostics trace file"),output_manager_default.prettyError(err)}return exitCode},cachedLatest,freshLookupPromise;SHOULD_CHECK_FOR_UPDATES&&!isNativeBinaryInstall()&&(cachedLatest=getLatestVersion({pkg:pkg_default,consumeNotification:!1}),cachedLatest&&(output_manager_default.debug("Update may be available, fetching fresh version..."),freshLookupPromise=fetchLatestVersion({name:pkg_default.name,timeout:3e3}).catch(()=>{})));async function promptAndUpgrade(client2,targetVersion){try{if(!await client2.input.confirm("Would you like to upgrade now?",!0))return;let upgradeExitCode=await executeUpgrade(targetVersion,client2);if(upgradeExitCode===0&&!hasAutoUpdatePreference(client2.config)){let enableAutoUpdates=await client2.input.confirm("Enable automatic CLI updates for future releases?",!1);setAutoUpdate(client2,enableAutoUpdates)}return upgradeExitCode}catch(err){if(err instanceof Error&&err.message.includes("User force closed the prompt"))return;throw err}}async function runPostCommandUpdates(exitCode){let originalExitCode=typeof exitCode=="number"?exitCode:0;if(SHOULD_CHECK_FOR_UPDATES&&isNativeBinaryInstall()&&resolvedCommandForUpdate!=="version"&&scheduleNativeAutoUpdate(client,originalExitCode),cachedLatest&&resolvedCommandForUpdate!=="upgrade"){let fresh=freshLookupPromise?await freshLookupPromise:void 0;output_manager_default.debug(`Fresh lookup result: ${fresh??"failed"}`);let latest,userUpToDate=!1;if(fresh&&(updateLatestVersionCache({name:pkg_default.name,version:fresh}),import_semver2.default.lt(pkg_default.version,fresh)?latest=fresh:userUpToDate=!0),getLatestVersion({pkg:pkg_default}),!userUpToDate&&await canAutoUpdate(client,originalExitCode,resolvedCommandForUpdate))return await executeAutomaticUpgrade(client)!==0&&output_manager_default.log(`Automatic update failed. Continuing with original exit code ${originalExitCode}.`),originalExitCode;if(latest){let changelog=getReleaseNotesUrl(latest);if(isTTY){let errorMsg=exitCode&&exitCode!==2?import_chalk.default.magenta(` The latest update ${import_chalk.default.italic("may")} fix any errors that occurred.`):"";output_manager_default.print(`
|
|
13
|
+
`),!targetOrSubcommand&&parsedArgs.flags["--version"])return console.log(pkg_default.version),0;if(!targetOrSubcommand&&parsedArgs.flags["--help"]||targetOrSubcommand==="help"&&(!subSubCommand||subSubCommand==="help"))return process.stdout.write(help(getRootHelpCommands(commandsStructs),process.stdout.columns)),0;try{await(0,import_fs_extra2.mkdirp)(VERCEL_DIR)}catch(err){return output_manager_default.error(`An unexpected error occurred while trying to create the global directory "${humanizePath(VERCEL_DIR)}" ${(0,import_error_utils.errorToString)(err)}`),1}let config;try{config=readConfigFile()}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT"){config=import_cli_config.defaultGlobalConfig;try{writeToConfigFile(config)}catch(err2){return output_manager_default.error(`An unexpected error occurred while trying to save the config to "${humanizePath(VERCEL_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err2)}`),1}}else return output_manager_default.error(`An unexpected error occurred while trying to read the config in "${humanizePath(VERCEL_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err)}`),1}let tokenSource,explicitToken;typeof parsedArgs.flags["--token"]=="string"?(explicitToken=parsedArgs.flags["--token"],tokenSource="flag"):!IS_LOCAL_SCHEDULES_COMMAND&&process.env.VERCEL_TOKEN&&(explicitToken=process.env.VERCEL_TOKEN,tokenSource="env");let authConfig;if(IS_LOCAL_SCHEDULES_COMMAND||tokenSource)authConfig=(0,import_cli_config.getDefaultAuthConfig)();else try{authConfig=readAuthConfigFile(config)}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT")authConfig=(0,import_cli_config.getDefaultAuthConfig)();else return output_manager_default.error(`An unexpected error occurred while trying to read the auth config in "${humanizePath(VERCEL_AUTH_CONFIG_PATH)}" ${(0,import_error_utils.errorToString)(err)}`),1}let telemetryEventStore=new TelemetryEventStore({isDebug:process.env.VERCEL_TELEMETRY_DEBUG==="1",config:config.telemetry,cliDevice:isTelemetryFlushCommand?void 0:{filePath:join2(VERCEL_DIR,"telemetry-device.json")},cliSession:isTelemetryFlushCommand?void 0:{filePath:join2(VERCEL_DIR,"telemetry-session.json")}});checkTelemetryStatus({config}),process.env.FF_GUIDANCE_MODE&&checkGuidanceStatus({config});let telemetry=new RootTelemetryClient({opts:{store:telemetryEventStore}}),{isAgent,agent:detectedAgent}=await determineAgent();telemetry.trackInvocationId(telemetryEventStore.currentInvocationId),telemetry.trackDeviceId(telemetryEventStore.currentDeviceId);let vercelPluginMarker=readVercelPluginActiveSessionMarker();vercelPluginMarker&&(telemetry.trackVercelPluginActiveSession(),telemetry.trackVercelPluginVersion(vercelPluginMarker.pluginVersion)),telemetry.trackAgenticUse(detectedAgent?.name),telemetry.trackCPUs(),telemetry.trackPlatform(),telemetry.trackArch(),telemetry.trackLibc(telemetryEventStore.currentLibc),telemetry.trackCIVendorName(),telemetry.trackStdinIsTTY(process.stdin?.isTTY===!0),telemetry.trackVersion(pkg_default.version),telemetry.trackCliOptionCwd(parsedArgs.flags["--cwd"]),telemetry.trackCliOptionLocalConfig(parsedArgs.flags["--local-config"]),telemetry.trackCliOptionGlobalConfig(parsedArgs.flags["--global-config"]),telemetry.trackCliFlagDebug(parsedArgs.flags["--debug"]),telemetry.trackCliFlagNoColor(parsedArgs.flags["--no-color"]),telemetry.trackCliOptionScope(parsedArgs.flags["--scope"]),telemetry.trackCliOptionToken(parsedArgs.flags["--token"]),telemetry.trackCliOptionTeam(parsedArgs.flags["--team"]),telemetry.trackCliOptionApi(parsedArgs.flags["--api"]);let earlyGetUserPromise,trackAgenticErrorTelemetry=err=>{recordCliError(cliErrorFromUnknown(err,{includeMessage:!0}),{override:!0})},runTelemetry=createRunTelemetry({isAgent,telemetry,store:telemetryEventStore,getClient:()=>client,getConfigIdentity:()=>({teamId:config.currentTeam,userId:authConfig.userId}),getProjectId:()=>(0,import_build_utils.getPlatformEnv)("PROJECT_ID")??getLinkedProjectIdSync(getVercelDirectory(client?.cwd||(typeof parsedArgs.flags["--cwd"]=="string"?parsedArgs.flags["--cwd"]:process.cwd())))}),saveTelemetry=async()=>{if(runTelemetry.saveStarted)return;let postCommandSpan=rootSpan.child("vc.postCommand");if(telemetryEventStore.updateTeamId(client?.config.currentTeam??config.currentTeam),telemetryEventStore.updateUserId(client?.authConfig.userId??authConfig.userId),!telemetryEventStore.hasUserId){let getUserSpan=postCommandSpan.child("vc.postCommand.getUser");try{let user=await earlyGetUserPromise;user&&telemetryEventStore.updateUserId(user.id)}catch{}finally{getUserSpan.stop()}}try{let envProjectId=(0,import_build_utils.getPlatformEnv)("PROJECT_ID");if(envProjectId)telemetryEventStore.updateProjectId(envProjectId);else{let cwdForProjectId=client?.cwd||(typeof parsedArgs.flags["--cwd"]=="string"?parsedArgs.flags["--cwd"]:process.cwd()),link=await getLinkFromDir(getVercelDirectory(cwdForProjectId));link&&telemetryEventStore.updateProjectId(link.projectId)}}catch{}telemetry.trackProjectId(telemetryEventStore.currentProjectId),runTelemetry.markSaveStarted(),await telemetryEventStore.save(),postCommandSpan.stop()},finishWithExitCode=async code=>(runTelemetry.trackRunEnd(code),await saveTelemetry(),code);process.once("exit",code=>runTelemetry.flushOnExit(code)),isAgent&&(captureStdoutErrors(process.stdout),process.on("uncaughtExceptionMonitor",err=>{recordCliError(cliErrorFromUnknown(err))})),!IS_LOCAL_SCHEDULES_COMMAND&&typeof parsedArgs.flags["--api"]=="string"?apiUrl=parsedArgs.flags["--api"]:!IS_LOCAL_SCHEDULES_COMMAND&&config&&config.api&&(apiUrl=config.api);try{new URL(apiUrl)}catch{return output_manager_default.error(`Please provide a valid URL instead of ${highlight(apiUrl)}.`),finishWithExitCode(1)}let stdinIsTTY=process.stdin?.isTTY===!0,nonInteractiveFlag=parsedArgs.flags["--non-interactive"]===!0,argv=process.argv,explicitNonInteractiveFalse=argv.includes("--non-interactive=false")||argv.includes("--non-interactive")&&argv[argv.indexOf("--non-interactive")+1]==="false",nonInteractive=explicitNonInteractiveFalse?!1:nonInteractiveFlag||isAgent&&!stdinIsTTY;if(output_manager_default.debug(`Agent/TTY/nonInteractive: isAgent=${isAgent} agentName=${detectedAgent?.name??"none"} stdin.isTTY=${String(process.stdin?.isTTY)} --non-interactive=${nonInteractiveFlag} explicitFalse=${explicitNonInteractiveFalse} => nonInteractive=${nonInteractive}`),!IS_LOCAL_SCHEDULES_COMMAND&&hasProxyConfig()){let{EnvProxyDispatcher}=await import("./chunks/fetch-proxy-OC6B22AW.js");setFetchDispatcher(new EnvProxyDispatcher)}client=new Client({apiUrl,stdin:process.stdin,stdout:process.stdout,stderr:output_manager_default.stream,config,authConfig,localConfig,localConfigPath,argv:process.argv,telemetryEventStore,isAgent,agentName:detectedAgent?.name,nonInteractive}),client.rootSpan=rootSpan,parsedArgs.flags["--cwd"]&&(client.cwd=parsedArgs.flags["--cwd"]);let{cwd}=client,defaultDeploy=!1,subcommand,userSuppliedSubCommand="";if(targetOrSubcommand){let targetPath=resolve(cwd,targetOrSubcommand),targetPathExists=existsSync2(targetPath),subcommandExists=GLOBAL_COMMANDS.has(targetOrSubcommand)||commands.has(targetOrSubcommand);if(targetPathExists&&subcommandExists&&!parsedArgs.flags["--cwd"]&&!process.env.NOW_BUILDER&&!wantsMachineReadableOutput(targetOrSubcommand,process.argv)&&!await hasLocalProjectLink(client,cwd)&&output_manager_default.warn(`Did you mean to deploy the subdirectory "${targetOrSubcommand}"? Use \`vc --cwd ${targetOrSubcommand}\` instead.`),subcommandExists)output_manager_default.debug(`user supplied known subcommand: "${targetOrSubcommand}"`),subcommand=targetOrSubcommand,userSuppliedSubCommand=targetOrSubcommand;else if(output_manager_default.debug("user supplied a possible target for deployment or an extension"),process.env.VERCEL_AUTO_API&&await matchesCliApiTag(targetOrSubcommand)){output_manager_default.debug(`first token "${targetOrSubcommand}" matches an OpenAPI tag; routing to api`);let tag=targetOrSubcommand,{tryOpenApiFallback}=await import("./chunks/openapi-NZJ6Q5Y2.js"),result=await tryOpenApiFallback(client,parsedArgs.args.slice(3),async()=>tag);return finishWithExitCode(result??1)}else targetPathExists&&(subcommand="deploy",userSuppliedSubCommand=targetOrSubcommand,output_manager_default.debug(`first token "${targetOrSubcommand}" is an existing path; routing to deploy`))}else output_manager_default.debug("user supplied no target, defaulting to deploy"),subcommand="deploy",defaultDeploy=!0;let helpCommandTarget;if(subcommand==="help"){telemetry.trackCliCommandHelp("help");let isDeployPath=subSubCommand!==void 0&&!commands.has(subSubCommand)&&existsSync2(resolve(cwd,subSubCommand));helpCommandTarget=isDeployPath?void 0:subSubCommand,subcommand=isDeployPath?"deploy":subSubCommand||"deploy";let helpTokenIndex=client.argv.indexOf("help",2);helpTokenIndex!==-1&&client.argv.splice(helpTokenIndex,1),client.argv.push("-h")}let helpRequested=parsedArgs.args[2]==="help"||parsedArgs.flags["--help"]===!0;if(helpRequested){let helpExitCode=printCommandHelp(client,subcommand,tokensAfterCommand(client.argv));if(helpExitCode!==void 0)return finishWithExitCode(helpExitCode)}else{let groupHelpExitCode=printGroupHelp(client,subcommand,tokensAfterCommand(client.argv));if(groupHelpExitCode!==void 0)return finishWithExitCode(groupHelpExitCode)}let subcommandsWithoutToken=[...SUBCOMMANDS_WITHOUT_TOKEN],isPublicDomainsCommand=typeof subcommand=="string"&&commands.get(subcommand)==="domains"&&["check","price","search"].includes(subSubCommand);if(subcommand&&isPublicDomainsCommand&&subcommandsWithoutToken.push(subcommand),process.env.FF_GUIDANCE_MODE&&subcommandsWithoutToken.push("guidance"),subcommand==="dev"&&(client.argv.includes("--local")||client.argv.includes("-L"))&&subcommandsWithoutToken.push("dev"),subcommand==="flags"&&subSubCommand==="prepare"&&subcommandsWithoutToken.push("flags"),tokenSource==="env"&&explicitToken&&(parsedArgs.flags["--token"]=explicitToken),!IS_LOCAL_SCHEDULES_COMMAND&&(!authConfig||!authConfig.token)&&!client.argv.includes("-h")&&!client.argv.includes("--help")&&typeof parsedArgs.flags["--token"]!="string"&&subcommand&&!subcommandsWithoutToken.includes(subcommand)){let{default:promptMissingCredentials}=await import("./chunks/prompt-missing-credentials-44DQQXOI.js"),result=await promptMissingCredentials(client,trackAgenticErrorTelemetry);if(result!==0)return finishWithExitCode(result)}if(typeof parsedArgs.flags["--token"]=="string"&&subcommand==="switch")return output_manager_default.prettyError({message:`This command doesn't work with ${param("--token")}. Please use ${param("--scope")}.`,link:"https://err.sh/vercel/no-token-allowed"}),finishWithExitCode(2);if(typeof parsedArgs.flags["--token"]=="string"){let token=parsedArgs.flags["--token"];if(token.length===0)return output_manager_default.prettyError({message:`You defined ${param("--token")}, but it's missing a value`,link:"https://err.sh/vercel/missing-token-value"}),finishWithExitCode(2);let invalid=token.match(/(\W)/g);if(invalid){let notContain=Array.from(new Set(invalid)).sort();return output_manager_default.prettyError({message:`You defined ${param("--token")}, but its contents are invalid. Must not contain: ${notContain.map(c=>JSON.stringify(c)).join(", ")}`,link:"https://err.sh/vercel/invalid-token-value"}),finishWithExitCode(2)}client.authConfig={token,skipWrite:!0,tokenSource},client.config&&client.config.currentTeam&&delete client.config.currentTeam}parsedArgs.flags["--team"]&&output_manager_default.warn(`The ${param("--team")} option is deprecated. Please use ${param("--scope")} instead.`);let targetCommand=typeof subcommand=="string"?commands.get(subcommand):void 0,scope=parsedArgs.flags["--scope"]||parsedArgs.flags["--team"]||localConfig?.scope,separatorIndex=client.argv.indexOf("--"),cliArgs=separatorIndex===-1?client.argv:client.argv.slice(0,separatorIndex),buildNeedsRemoteProjectScope=targetCommand==="build"&&cliArgs.some(arg2=>arg2==="--project"||arg2.startsWith("--project="));if(!IS_LOCAL_SCHEDULES_COMMAND&&typeof scope=="string"&&(!isPublicDomainsCommand||client.authConfig.token)&&targetCommand!=="login"&&targetCommand!=="signup"&&(targetCommand!=="build"||buildNeedsRemoteProjectScope)&&targetCommand!=="sandbox"){let persistedTeamId=client.config.currentTeam,cachedTeamId=getCachedScopeTeamId(client.config,scope);if(cachedTeamId)client.config.currentTeam=cachedTeamId;else{let user=null;try{user=await getUser(client),telemetryEventStore.updateUserId(user.id)}catch(err){if(err instanceof Error&&output_manager_default.debug(err.stack||err.toString()),!((0,import_error_utils.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"&&isAppPrincipalEnabled()&&await resolveAppTokenScope(client,scope)))return(0,import_error_utils.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"?(output_manager_default.prettyError({message:"You do not have access to the specified account",link:"https://err.sh/vercel/scope-not-accessible"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(output_manager_default.error(`Not able to load user because of unexpected error: ${(0,import_error_utils.errorToString)(err)}`),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}if(user){let scopeMatchesUserIdentity=user.id===scope||user.email===scope||user.username===scope,related;try{related=await getTeamByIdOrSlug(client,scope,{useCurrentTeam:!1})}catch(err){output_manager_default.debug(`Direct team lookup for scope "${scope}" failed: ${(0,import_error_utils.errorToString)(err)}`)}if(!related){let teams=[];try{teams=await getTeams(client)}catch(err){if(scopeMatchesUserIdentity)output_manager_default.debug("Ignoring failure to load teams; scope matches the current user's identity");else return(0,import_error_utils.isErrnoException)(err)&&err.code==="not_authorized"?(output_manager_default.prettyError({message:"You do not have access to the specified team",link:"https://err.sh/vercel/scope-not-accessible"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(0,import_error_utils.isErrnoException)(err)&&err.code==="rate_limited"?(output_manager_default.prettyError({message:"Rate limited. Too many requests to the same endpoint: /teams"}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(output_manager_default.error("Not able to load teams"),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}related=teams.find(team=>team.id===scope||team.slug===scope)}if(related)client.config.currentTeam=related.id,setCachedScopeTeamId(client,scope,related.id,persistedTeamId);else if(scopeMatchesUserIdentity){if(user.version==="northstar")return output_manager_default.error("You cannot set your Personal Account as the scope."),finishWithExitCode(1);delete client.config.currentTeam}else return output_manager_default.prettyError({message:"The specified scope does not exist",link:"https://err.sh/vercel/scope-not-existent"}),finishWithExitCode(1)}}}client.ignoresSavedTeam&&typeof scope!="string"&&targetCommand!=="login"&&targetCommand!=="logout"&&targetCommand!=="signup"&&(client.config.currentTeam=isPublicDomainsCommand?void 0:TEAM_NOT_CHOSEN);let exitCode;try{if(!targetCommand){targetCommand=helpCommandTarget??parsedArgs.args[2];try{let{execExtension}=await import("./chunks/exec-QZXH5RXR.js");exitCode=await execExtension(client,targetCommand,helpCommandTarget?[...parsedArgs.args.slice(4),"--help"]:parsedArgs.args.slice(3),cwd),telemetry.trackCliExtension()}catch(err){if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOENT"){if(handleCommandTypo({client,command:targetCommand,availableCommands:commandsStructs}))return finishWithExitCode(2);if(helpRequested)return printUnknownCommand(client,targetCommand),finishWithExitCode(2);targetCommand=subcommand="deploy"}else throw err}}if(subcommand){let func;switch(targetCommand){case"deploy":telemetry.trackCliCommandDeploy(userSuppliedSubCommand),telemetry.trackCliDefaultDeploy(defaultDeploy),func=(await import("./commands/deploy/index.js")).default;break;case"dev":telemetry.trackCliCommandDev(userSuppliedSubCommand),func=(await import("./commands/dev/index.js")).default;break;case"env":telemetry.trackCliCommandEnv(userSuppliedSubCommand),func=(await import("./commands/env/index.js")).default;break;case"build":telemetry.trackCliCommandBuild(userSuppliedSubCommand),func=(await import("./commands/build/index.js")).default;break;case"list":telemetry.trackCliCommandList(userSuppliedSubCommand),func=(await import("./commands/list/index.js")).default;break;case"link":telemetry.trackCliCommandLink(userSuppliedSubCommand),func=(await import("./commands/link/index.js")).default;break;case"agent":telemetry.trackCliCommandAgent(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).agent;break;case"agent-runs":telemetry.trackCliCommandAgentRuns(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).agentRuns;break;case"ai-gateway":telemetry.trackCliCommandAiGateway(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).aiGateway;break;case"token-pass":telemetry.trackCliCommandTokenPass(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).tokenPass;break;case"alias":telemetry.trackCliCommandAlias(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).alias;break;case"activity":telemetry.trackCliCommandActivity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).activity;break;case"alerts":telemetry.trackCliCommandAlerts(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).alerts;break;case"api":telemetry.trackCliCommandApi(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).api;break;case"bisect":telemetry.trackCliCommandBisect(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).bisect;break;case"blob":telemetry.trackCliCommandBlob(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).blob;break;case"budgets":telemetry.trackCliCommandBudgets(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).budget;break;case"builders":func=(await import("./commands-bulk.js")).builders;break;case"buy":telemetry.trackCliCommandBuy(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).buy;break;case"init":telemetry.trackCliCommandInit(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).init;break;case"cache":telemetry.trackCliCommandCache(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).cache;break;case"connect":telemetry.trackCliCommandConnex(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).connex;break;case"contract":telemetry.trackCliCommandContract(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).contract;break;case"certs":telemetry.trackCliCommandCerts(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).certs;break;case"ci":telemetry.trackCliCommandCi(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).ci;break;case"changelog":telemetry.trackCliCommandChangelog(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).changelog;break;case"comments":telemetry.trackCliCommandComments(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).comments;break;case"crons":case"cron":telemetry.trackCliCommandCrons(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).crons;break;case"curl":telemetry.trackCliCommandCurl(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).curl;break;case"dns":telemetry.trackCliCommandDns(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).dns;break;case"deploy-hooks":case"deploy-hook":telemetry.trackCliCommandDeployHooks(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).deployHooks;break;case"global-config":telemetry.trackCliCommandGlobalConfig(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).globalConfig;break;case"domains":telemetry.trackCliCommandDomains(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).domains;break;case"experiments":telemetry.trackCliCommandExperiments(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).experiments;break;case"firewall":telemetry.trackCliCommandFirewall(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).firewall;break;case"flags":telemetry.trackCliCommandFlags(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).flags;break;case"git":telemetry.trackCliCommandGit(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).git;break;case"guidance":if(process.env.FF_GUIDANCE_MODE){telemetry.trackCliCommandGuidance(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).guidance;break}else{func=null;break}case"httpstat":telemetry.trackCliCommandHttpstat(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).httpstat;break;case"install":telemetry.trackCliCommandInstall(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).install;break;case"integration":telemetry.trackCliCommandIntegration(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).integration;break;case"integration-resource":telemetry.trackCliCommandIntegrationResource(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).integrationResource;break;case"kms":telemetry.trackCliCommandKms(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).kms;break;case"mcp":func=(await import("./commands-bulk.js")).mcp;break;case"logout":telemetry.trackCliCommandLogout(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).logout;break;case"login":telemetry.trackCliCommandLogin(userSuppliedSubCommand),func=c=>import("./commands-bulk.js").then(m=>m.login(c,{shouldParseArgs:!0}));break;case"inspect":telemetry.trackCliCommandInspect(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).inspect;break;case"logs":telemetry.trackCliCommandLogs(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).logs;break;case"metrics":telemetry.trackCliCommandMetrics(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).metrics;break;case"microfrontends":telemetry.trackCliCommandMicrofrontends(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).microfrontends;break;case"open":telemetry.trackCliCommandOpen(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).open;break;case"pricing":telemetry.trackCliCommandPricing(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).pricing;break;case"project":telemetry.trackCliCommandProject(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).project;break;case"promote":telemetry.trackCliCommandPromote(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).promote;break;case"pull":telemetry.trackCliCommandPull(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).pull;break;case"redeploy":telemetry.trackCliCommandRedeploy(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).redeploy;break;case"redirects":telemetry.trackCliCommandRedirects(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).redirects;break;case"routes":telemetry.trackCliCommandRoutes(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).routes;break;case"remove":telemetry.trackCliCommandRemove(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).remove;break;case"rollback":telemetry.trackCliCommandRollback(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).rollback;break;case"rr":case"release":case"rolling-release":telemetry.trackCliCommandRollingRelease(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).rollingRelease;break;case"sandbox":telemetry.trackCliCommandSandbox(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).sandbox;break;case"schedules":telemetry.trackCliCommandSchedules(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).schedules;break;case"security":telemetry.trackCliCommandSecurity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).security;break;case"signup":telemetry.trackCliCommandSignup(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).signup;break;case"skills":telemetry.trackCliCommandSkills(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).skills;break;case"setup":telemetry.trackCliCommandSetup(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).setup;break;case"storage":telemetry.trackCliCommandStorage(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).storage;break;case"target":telemetry.trackCliCommandTarget(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).target;break;case"teams":telemetry.trackCliCommandTeams(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).teams;break;case"tokens":telemetry.trackCliCommandTokens(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).tokens;break;case"telemetry":telemetry.trackCliCommandTelemetry(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).telemetry;break;case"traces":telemetry.trackCliCommandTraces(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).traces;break;case"upgrade":telemetry.trackCliCommandUpgrade(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).upgrade;break;case"version":telemetry.trackCliCommandVersion(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).version;break;case"webhooks":telemetry.trackCliCommandWebhooks(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).webhooks;break;case"usage":telemetry.trackCliCommandUsage(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).usage;break;case"vcr":telemetry.trackCliCommandVcr(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).vcr;break;case"whoami":telemetry.trackCliCommandWhoami(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).whoami;break;default:func=null;break}if(!func||!targetCommand)return handleCommandTypo({client,command:subcommand,availableCommands:commandsStructs})||output_manager_default.error(`The ${param(subcommand)} subcommand does not exist`),finishWithExitCode(2);func.default&&(func=func.default),!IS_LOCAL_SCHEDULES_COMMAND&&shouldStartUserLookupForTelemetry({authConfig:client.authConfig,hasTelemetryUserId:telemetryEventStore.hasUserId})&&(earlyGetUserPromise=getUser(client).catch(()=>{})),resolvedCommandForUpdate=targetCommand,exitCode=await rootSpan.child("vc.cli.command",{command:subcommand||"deploy"}).trace(()=>func(client))}}catch(err){trackAgenticErrorTelemetry(err),err instanceof APIError&&err.status===403&&client.config.currentTeam&&forgetCachedTeamSlug(client,client.config.currentTeam);let isUsageError=(0,import_error_utils.isError)(err)&&"code"in err&&(err.code==="ARG_UNKNOWN_OPTION"||err.code==="ARG_MISSING_REQUIRED_LONGARG"||err.code==="ARG_MISSING_REQUIRED_SHORTARG");if(shouldEmitNonInteractiveCommandError(client)&&((0,import_error_utils.isError)(err)&&"status"in err||isUsageError))return printError(err,client),finishWithExitCode(isUsageError?2:1);if(isUsageError)return printError(err,client),finishWithExitCode(2);if((0,import_error_utils.isErrnoException)(err)&&err.code==="ENOTFOUND"){let matches=/getaddrinfo ENOTFOUND (.*)$/.exec(err.message||"");if(matches&&matches[1]){let hostname=matches[1];output_manager_default.error(`The hostname ${highlight(hostname)} could not be resolved. Please verify your internet connectivity and DNS configuration.`)}return typeof err.stack=="string"&&output_manager_default.debug(err.stack),finishWithExitCode(1)}if((0,import_error_utils.isErrnoException)(err)&&err.code==="ECONNRESET"){let hostname=/request to https:\/\/(.*?)\//.exec(err.message||"")?.[1];return hostname&&output_manager_default.error(`Connection to ${highlight(hostname)} interrupted. Please verify your internet connectivity and DNS configuration.`),finishWithExitCode(1)}return(0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED")?(output_manager_default.prettyError(err),finishWithExitCode(1)):err instanceof APIError&&400<=err.status&&err.status<=499?(err.message=err.serverMessage,output_manager_default.prettyError(err),finishWithExitCode(1)):((0,import_error_utils.isErrnoException)(err)?(typeof err.stack=="string"&&output_manager_default.debug(err.stack),output_manager_default.prettyError(err)):(await reportError(await getSentry(),client,err),output_manager_default.error(`An unexpected error occurred in ${subcommand}: ${err}`)),finishWithExitCode(1))}if(await finishWithExitCode(exitCode??0),rootSpan.stop(),client.traceDiagnosticsPath)try{await mkdir(join2(client.traceDiagnosticsPath,".."),{recursive:!0}),await writeFile(client.traceDiagnosticsPath,JSON.stringify(traceReporter.events))}catch(err){output_manager_default.error("Failed to write diagnostics trace file"),output_manager_default.prettyError(err)}return exitCode},cachedLatest,freshLookupPromise;SHOULD_CHECK_FOR_UPDATES&&!isNativeBinaryInstall()&&(cachedLatest=getLatestVersion({pkg:pkg_default,consumeNotification:!1}),cachedLatest&&(output_manager_default.debug("Update may be available, fetching fresh version..."),freshLookupPromise=fetchLatestVersion({name:pkg_default.name,timeout:3e3}).catch(()=>{})));async function promptAndUpgrade(client2,targetVersion){try{if(!await client2.input.confirm("Would you like to upgrade now?",!0))return;let upgradeExitCode=await executeUpgrade(targetVersion,client2);if(upgradeExitCode===0&&!hasAutoUpdatePreference(client2.config)){let enableAutoUpdates=await client2.input.confirm("Enable automatic CLI updates for future releases?",!1);setAutoUpdate(client2,enableAutoUpdates)}return upgradeExitCode}catch(err){if(err instanceof Error&&err.message.includes("User force closed the prompt"))return;throw err}}async function runPostCommandUpdates(exitCode){let originalExitCode=typeof exitCode=="number"?exitCode:0;if(SHOULD_CHECK_FOR_UPDATES&&isNativeBinaryInstall()&&resolvedCommandForUpdate!=="version"&&scheduleNativeAutoUpdate(client,originalExitCode),cachedLatest&&resolvedCommandForUpdate!=="upgrade"){let fresh=freshLookupPromise?await freshLookupPromise:void 0;output_manager_default.debug(`Fresh lookup result: ${fresh??"failed"}`);let latest,userUpToDate=!1;if(fresh&&(updateLatestVersionCache({name:pkg_default.name,version:fresh}),import_semver2.default.lt(pkg_default.version,fresh)?latest=fresh:userUpToDate=!0),getLatestVersion({pkg:pkg_default}),!userUpToDate&&await canAutoUpdate(client,originalExitCode,resolvedCommandForUpdate))return await executeAutomaticUpgrade(client)!==0&&output_manager_default.log(`Automatic update failed. Continuing with original exit code ${originalExitCode}.`),originalExitCode;if(latest){let changelog=getReleaseNotesUrl(latest);if(isTTY){let errorMsg=exitCode&&exitCode!==2?import_chalk.default.magenta(` The latest update ${import_chalk.default.italic("may")} fix any errors that occurred.`):"";output_manager_default.print(`
|
|
14
14
|
Update available for Vercel CLI (${import_chalk.default.gray(`v${pkg_default.version}`)} \u2192 ${import_chalk.default.green(`v${latest}`)})${errorMsg}
|
|
15
15
|
`),output_manager_default.print(`Changelog: ${output_manager_default.link(changelog,changelog,{fallback:!1})}
|
|
16
16
|
`);let upgradeExitCode=await promptAndUpgrade(client,latest);if(upgradeExitCode!==void 0)return upgradeExitCode}else{let errorMsg=exitCode&&exitCode!==2?import_chalk.default.magenta(`
|
package/dist/internal-build.js
CHANGED
|
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __dirname_(__filename);
|
|
7
|
-
import{checkTelemetryStatus,earlyGetConfig,exitWithUnexpectedError,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,recordDirectBuildFallback,registerUnexpectedErrorHandlers}from"./chunks/chunk-
|
|
7
|
+
import{checkTelemetryStatus,earlyGetConfig,exitWithUnexpectedError,handleUnexpectedError,installProcessGuards,isOutputDebugEnabled,recordDirectBuildFallback,registerUnexpectedErrorHandlers}from"./chunks/chunk-YO4VLAB7.js";import{BUILD_LABEL}from"./chunks/chunk-WKZ6JSGZ.js";import"./chunks/chunk-QDOYNWNQ.js";import{Client}from"./chunks/chunk-KLYIX4HK.js";import"./chunks/chunk-O4FDRZ22.js";import"./chunks/chunk-T3GQAMBJ.js";import"./chunks/chunk-P2O5DOYE.js";import"./chunks/chunk-25565AGS.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-D4MW3RDW.js";import{getAuthConfigFilePath,getConfigFilePath,highlight,readAuthConfigFile,readConfigFile,writeToConfigFile}from"./chunks/chunk-WZ7YJDKT.js";import{TelemetryEventStore}from"./chunks/chunk-JNJOUMGF.js";import{getGlobalPathConfig}from"./chunks/chunk-PAN6TUTQ.js";import"./chunks/chunk-VKXEOL4K.js";import"./chunks/chunk-MXTC4ZAQ.js";import{isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import{require_cli_config}from"./chunks/chunk-4SAVH3H7.js";import"./chunks/chunk-ZS2WS4AM.js";import"./chunks/chunk-AOWWC6WZ.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import{parseArguments}from"./chunks/chunk-CRQDQNQZ.js";import"./chunks/chunk-RIDPB64C.js";import"./chunks/chunk-MI7W4QMV.js";import{hasLocalProjectLink,require_lib}from"./chunks/chunk-4TTF5E5U.js";import"./chunks/chunk-ROPQIBWJ.js";import"./chunks/chunk-VKPZP4LC.js";import{humanizePath}from"./chunks/chunk-PPCFQQSU.js";import"./chunks/chunk-N7Q2IESO.js";import"./chunks/chunk-WPQN5UKR.js";import"./chunks/chunk-2VBFQZ72.js";import{CantFindConfig,CantParseJSONFile}from"./chunks/chunk-YIIPBH2D.js";import{getTitleName}from"./chunks/chunk-JESNVRVR.js";import{output_manager_default,require_build_utils}from"./chunks/chunk-75IAMKGV.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-D3AHZ5LI.js";import"./chunks/chunk-2GHZGOWT.js";import"./chunks/chunk-YHPPP3SF.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BRQUZ5NC.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_chalk=__toESM(require_source(),1),import_fs_extra=__toESM(require_lib(),1),import_error_utils=__toESM(require_dist(),1),import_cli_config=__toESM(require_cli_config(),1),import_build_utils=__toESM(require_build_utils(),1);import{existsSync}from"node:fs";import{mkdir,writeFile}from"node:fs/promises";import{join}from"node:path";import{determineAgent}from"@vercel/detect-agent";var DIRECT_GLOBAL_FLAGS=new Set(["--cwd","--debug","--global-config","--local-config","--no-color","--non-interactive","--scope","--token"]),PROXY_ENV_VARS=["HTTP_PROXY","HTTPS_PROXY","http_proxy","https_proxy","ALL_PROXY","all_proxy"],InMemoryReporter=class{constructor(){this.events=[]}report(event){this.events.push(event)}};function parseInitialArgs(argv){return parseArguments(argv,{"--version":Boolean,"-v":"--version","--changelog":Boolean,"--non-interactive":Boolean},{permissive:!0})}function getDirectBuildFallbackReason(argv=process.argv,env=process.env){let parsedArgs;try{parsedArgs=parseInitialArgs(argv)}catch{return"invalid_arguments"}if(parsedArgs.args[2]!=="build"||argv[2]!=="build")return"not_build";for(let[flag,value]of Object.entries(parsedArgs.flags))if(value!==void 0&&!DIRECT_GLOBAL_FLAGS.has(flag))return`flag:${flag}`;let separatorIndex=argv.indexOf("--");if((separatorIndex===-1?argv:argv.slice(0,separatorIndex)).some(arg=>arg==="--project"||arg.startsWith("--project=")))return"project_scope";if(env.FORCE_TTY==="1")return"force_tty";if(env.FF_GUIDANCE_MODE)return"guidance_mode";if(!env.VERCEL_TELEMETRY_DISABLED)return"telemetry_enabled";if(env.VERCEL_TELEMETRY_DEBUG==="1")return"telemetry_debug";if(!env.NO_UPDATE_NOTIFIER&&!env.VERCEL&&!isNativeBinaryInstall())return"update_check"}async function runInternalBuild(){let fallbackReason=getDirectBuildFallbackReason();if(fallbackReason!==void 0){recordDirectBuildFallback(fallbackReason);return}installProcessGuards();let client;registerUnexpectedErrorHandlers(()=>client),process.env.CLAUDECODE&&process.stderr.write(`<claude-code-hint v="1" type="plugin" value="vercel@claude-plugins-official" />
|
|
8
8
|
`);try{let exitCode=await main(c=>{client=c});return process.exitCode=exitCode,exitCode??0}catch(error){return await handleUnexpectedError(client,error),exitWithUnexpectedError(error)}}async function main(setClient){let vercelDir=getGlobalPathConfig(),traceReporter=new InMemoryReporter,rootSpan=new import_build_utils.Span({name:"vc.cli",reporter:traceReporter,attrs:{directBuild:"true"}}),parsedArgs=parseInitialArgs(process.argv);output_manager_default.initialize({debug:isOutputDebugEnabled(parsedArgs.flags["--debug"]),noColor:parsedArgs.flags["--no-color"]});let localConfigPath=parsedArgs.flags["--local-config"],localConfig=await earlyGetConfig(localConfigPath);if(localConfig instanceof CantParseJSONFile)return output_manager_default.error(`Couldn't parse JSON file ${localConfig.meta.file}.`),1;if(localConfig instanceof CantFindConfig){if(localConfigPath)return output_manager_default.error(`Couldn't find a project configuration file at
|
|
9
9
|
${localConfig.meta.paths.join(` or
|
|
10
10
|
`)}`),1;localConfig=void 0}if(localConfig instanceof Error)return output_manager_default.prettyError(localConfig),1;let shortBuildLabel=void 0?` (${(void 0).split(" ")[0]})`:"",versionBanner=isNativeBinaryInstall()?`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel}`:`${getTitleName()} CLI ${pkg_default.version}${shortBuildLabel} (Node.js ${process.versions.node})`;shouldPrintVersionBanner("build",process.argv)&&output_manager_default.print(`${import_chalk.default.dim(versionBanner)}
|
package/dist/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "64.
|
|
1
|
+
export const version = "64.2.0";
|
|
2
2
|
export const buildLabel = "";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vercel",
|
|
3
|
-
"version": "64.
|
|
3
|
+
"version": "64.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"preferGlobal": true,
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -35,28 +35,28 @@
|
|
|
35
35
|
"undici": "5.29.0",
|
|
36
36
|
"uuid": "14.0.1",
|
|
37
37
|
"zod": "4.1.11",
|
|
38
|
-
"@vercel/build-utils": "14.21.1",
|
|
39
|
-
"@vercel/cli-config": "0.3.1",
|
|
40
|
-
"@vercel/cli-auth": "0.3.10",
|
|
41
38
|
"@vercel/backends": "19.0.1",
|
|
39
|
+
"@vercel/cli-auth": "0.3.10",
|
|
40
|
+
"@vercel/cli-config": "0.3.1",
|
|
41
|
+
"@vercel/build-utils": "14.21.1",
|
|
42
42
|
"@vercel/container": "19.1.1",
|
|
43
43
|
"@vercel/detect-agent": "1.2.7",
|
|
44
44
|
"@vercel/elysia": "19.0.1",
|
|
45
45
|
"@vercel/express": "19.0.1",
|
|
46
|
-
"@vercel/fastify": "19.0.1",
|
|
47
46
|
"@vercel/go": "22.0.1",
|
|
48
|
-
"@vercel/
|
|
47
|
+
"@vercel/fastify": "19.0.1",
|
|
49
48
|
"@vercel/hono": "19.0.1",
|
|
49
|
+
"@vercel/h3": "19.0.1",
|
|
50
50
|
"@vercel/hydrogen": "20.0.1",
|
|
51
51
|
"@vercel/koa": "19.0.1",
|
|
52
|
-
"@vercel/nestjs": "19.0.1",
|
|
53
|
-
"@vercel/node": "24.0.1",
|
|
54
52
|
"@vercel/next": "23.0.1",
|
|
53
|
+
"@vercel/node": "24.0.1",
|
|
54
|
+
"@vercel/nestjs": "19.0.1",
|
|
55
55
|
"@vercel/python": "25.1.0",
|
|
56
|
-
"@vercel/python-analysis": "0.15.0",
|
|
57
56
|
"@vercel/redwood": "21.0.1",
|
|
58
|
-
"@vercel/
|
|
57
|
+
"@vercel/python-analysis": "0.15.0",
|
|
59
58
|
"@vercel/ruby": "21.0.1",
|
|
59
|
+
"@vercel/remix-builder": "24.0.1",
|
|
60
60
|
"@vercel/rust": "20.0.1",
|
|
61
61
|
"@vercel/static-build": "21.0.1"
|
|
62
62
|
},
|
|
@@ -207,27 +207,27 @@
|
|
|
207
207
|
"write-json-file": "2.2.0",
|
|
208
208
|
"xdg-app-paths": "5.1.0",
|
|
209
209
|
"yauzl-promise": "2.1.3",
|
|
210
|
-
"@vercel-internals/builder-orchestration": "1.0.
|
|
211
|
-
"@vercel-internals/cli-builder-integration": "1.0.
|
|
210
|
+
"@vercel-internals/builder-orchestration": "1.0.21",
|
|
211
|
+
"@vercel-internals/cli-builder-integration": "1.0.24",
|
|
212
212
|
"@vercel-internals/constants": "1.0.4",
|
|
213
|
-
"@vercel-internals/get-package-json": "1.0.0",
|
|
214
213
|
"@vercel-internals/local-schedules": "0.0.4",
|
|
215
|
-
"@vercel-internals/
|
|
216
|
-
"@vercel/client": "18.8.4",
|
|
214
|
+
"@vercel-internals/get-package-json": "1.0.0",
|
|
217
215
|
"@vercel-internals/runtimes": "1.1.16",
|
|
216
|
+
"@vercel/client": "18.8.5",
|
|
217
|
+
"@vercel-internals/service-topology": "1.0.19",
|
|
218
218
|
"@vercel/error-utils": "2.2.1",
|
|
219
|
-
"@vercel/frameworks": "3.35.0",
|
|
220
219
|
"@vercel-internals/types": "3.0.24",
|
|
221
|
-
"@vercel/
|
|
222
|
-
"@vercel/routing-utils": "6.6.0"
|
|
220
|
+
"@vercel/frameworks": "3.35.0",
|
|
221
|
+
"@vercel/routing-utils": "6.6.0",
|
|
222
|
+
"@vercel/fs-detectors": "7.9.8"
|
|
223
223
|
},
|
|
224
224
|
"optionalDependencies": {
|
|
225
|
-
"@vercel/vc-native-darwin-arm64": "64.
|
|
226
|
-
"@vercel/vc-native-darwin-x64": "64.
|
|
227
|
-
"@vercel/vc-native-linux-arm64": "64.
|
|
228
|
-
"@vercel/vc-native-linux-x64": "64.
|
|
229
|
-
"@vercel/vc-native-win32-arm64": "64.
|
|
230
|
-
"@vercel/vc-native-win32-x64": "64.
|
|
225
|
+
"@vercel/vc-native-darwin-arm64": "64.2.0",
|
|
226
|
+
"@vercel/vc-native-darwin-x64": "64.2.0",
|
|
227
|
+
"@vercel/vc-native-linux-arm64": "64.2.0",
|
|
228
|
+
"@vercel/vc-native-linux-x64": "64.2.0",
|
|
229
|
+
"@vercel/vc-native-win32-arm64": "64.2.0",
|
|
230
|
+
"@vercel/vc-native-win32-x64": "64.2.0"
|
|
231
231
|
},
|
|
232
232
|
"scripts": {
|
|
233
233
|
"test": "node scripts/test.mjs --run",
|
|
@@ -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{formatOption,limitOption,projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";var PERMISSIONS_ACTIONS={ls:["ls","list"],add:["add"],rm:["rm","remove"],clear:["clear"]},projectScopeOption={...projectOption,shorthand:"p",description:"Project name or ID (defaults to the linked project)."},nextOption={name:"next",shorthand:null,type:String,deprecated:!1,description:"Continue from a previous response",argument:"CURSOR"},cursorOption={name:"cursor",shorthand:"c",type:String,deprecated:!0,description:"Cursor from a previous page to continue listing from",argument:"STRING"},permissionsLsSubcommand={name:"ls",aliases:["list"],description:"List teams with access to a repository",arguments:[],options:[projectScopeOption,limitOption,nextOption,cursorOption,formatOption],examples:[{name:"List teams with access to a repository",value:`${packageName} vcr permissions my-app ls`},{name:"List teams with access as JSON",value:`${packageName} vcr permissions my-app ls --format json`}]},permissionsAddSubcommand={name:"add",aliases:[],description:"Give one or more teams access to pull images from a repository",arguments:[{name:"team",required:!0,multiple:!0}],options:[projectScopeOption,formatOption],examples:[{name:"Share a repository with a team by id",value:`${packageName} vcr permissions my-app add team_1a2b3c4d`},{name:"Share a repository with a team by slug",value:`${packageName} vcr permissions my-app add my-team`},{name:"Share a repository with multiple teams",value:`${packageName} vcr permissions my-app add team_1a2b3c4d,other-team`}]},permissionsRmSubcommand={name:"rm",aliases:["remove"],description:"Remove one or more teams' access to a repository",arguments:[{name:"team",required:!0,multiple:!0}],options:[projectScopeOption,formatOption],examples:[{name:"Remove a team's access by id",value:`${packageName} vcr permissions my-app rm team_1a2b3c4d`},{name:"Remove multiple teams' access",value:`${packageName} vcr permissions my-app rm team_1a2b3c4d,other-team`}]},permissionsClearSubcommand={name:"clear",aliases:[],description:"Remove access to a repository for every team",arguments:[],options:[projectScopeOption,yesOption,formatOption],examples:[{name:"Clear all repository permissions",value:`${packageName} vcr permissions my-app clear`},{name:"Clear all repository permissions without the confirmation prompt",value:`${packageName} vcr permissions my-app clear --yes`}]},permissionsAggregateCommand={name:"permissions",aliases:["permission"],argumentsBeforeSubcommand:!0,description:"Manage which teams can pull images from a container registry repository",arguments:[{name:"repository",required:!0}],subcommands:[permissionsLsSubcommand,permissionsAddSubcommand,permissionsRmSubcommand,permissionsClearSubcommand],options:[],examples:[{name:"List teams with access to a repository",value:`${packageName} vcr permissions my-app ls`},{name:"Share a repository with a team",value:`${packageName} vcr permissions my-app add team_1a2b3c4d`},{name:"Remove a team's access to a repository",value:`${packageName} vcr permissions my-app rm team_1a2b3c4d`},{name:"Clear all repository permissions",value:`${packageName} vcr permissions my-app clear`}]};export{PERMISSIONS_ACTIONS,permissionsLsSubcommand,permissionsAddSubcommand,permissionsRmSubcommand,permissionsClearSubcommand,permissionsAggregateCommand};
|
|
@@ -1,9 +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{formatOption,jsonOption,projectOption,yesOption}from"./chunk-5IPBCD7K.js";import{packageName}from"./chunk-JESNVRVR.js";var builtInBody={type:"built-in",name:"Production server errors",triggers:{mode:"selected",items:[{type:"error_anomaly",filter:"statusGroup:5xx AND route:/api/*"}]},matchMinimumSeverityLevel:"high"},patchBody={name:"Critical production errors",matchMinimumSeverityLevel:"critical"},authoringReference={title:"Authoring reference",body:["vercel alerts rules schema --type built-in"]},rulesAddHelpSections=[{title:"Scope",body:["Provide ruleScope in the body or use a scope flag, not both.","--project maps to one included project.","--all maps to every project in the team."]},{title:"Built-in body (rule.json)",body:[...JSON.stringify(builtInBody,null,2).split(`
|
|
8
|
-
`),"","vercel alerts rules add --project my-app --body ./rule.json"]},authoringReference],rulesUpdateHelpSections=[{title:"Update body",body:["Include only the fields to change. type is optional and inferred from the stored rule.","Use --project or --all to change scope with or without --body.","Do not combine a ruleScope field in the body with --project or --all.","--all moves the rule to team-wide scope."]},{title:"Partial body (patch.json)",body:[...JSON.stringify(patchBody,null,2).split(`
|
|
9
|
-
`),"","vercel alerts rules update ar_abc123 --body ./patch.json","vercel alerts rules update ar_abc123 --project my-app"]},authoringReference];var projectScopeOption={...projectOption,shorthand:"p",description:"Use a project by name or ID"},listAllOption={name:"all",shorthand:"a",type:Boolean,deprecated:!1,description:"List all accessible rules in the selected team"},mutationAllOption={...listAllOption,description:"Apply the rule to all projects in the selected team"},deprecatedItemScopeOptions=[{...projectScopeOption,deprecated:!0},{...listAllOption,deprecated:!0}],bodyOption={name:"body",shorthand:null,type:String,argument:"PATH",deprecated:!1,description:"Read the alert rule body from a JSON file"},rulesLsSubcommand={name:"ls",aliases:["list"],default:!0,description:"List alert rules for a project or team",arguments:[],options:[projectScopeOption,listAllOption,{name:"type",shorthand:null,type:[String],argument:"TYPE",deprecated:!1,description:"Filter by rule type"},formatOption,jsonOption],examples:[{name:"List rules affecting the linked project",value:`${packageName} alerts rules ls`},{name:"List all rules in the selected team",value:`${packageName} alerts rules ls --all`},{name:"Write JSON output",value:`${packageName} alerts rules ls --all --json`}]},rulesSchemaSubcommand={name:"schema",aliases:[],description:"Show alert rule request fields and examples",arguments:[],options:[{name:"type",shorthand:null,type:String,argument:"TYPE",deprecated:!1,description:"Rule type to describe"},formatOption],examples:[{name:"List supported rule types",value:`${packageName} alerts rules schema`},{name:"Show the built-in rule schema",value:`${packageName} alerts rules schema --type built-in`}]},rulesAddSubcommand={name:"add",aliases:["create"],description:"Create an alert rule from a JSON body",helpSections:rulesAddHelpSections,arguments:[],options:[projectScopeOption,mutationAllOption,formatOption,jsonOption,bodyOption],examples:[{name:"Create a project-scoped rule",value:`${packageName} alerts rules add --project my-app --body ./rule.json`},{name:"Create a team-wide built-in rule",value:`${packageName} alerts rules add --all --body ./rule.json`}]},rulesInspectSubcommand={name:"inspect",aliases:["get"],description:"Show one alert rule by ID",arguments:[{name:"ruleId",required:!0}],options:[...deprecatedItemScopeOptions,formatOption,jsonOption],examples:[{name:"Inspect a rule",value:`${packageName} alerts rules inspect ar_abc123`},{name:"Write JSON output",value:`${packageName} alerts rules inspect ar_abc123 --json`}]},rulesRmSubcommand={name:"remove",aliases:["rm","delete"],description:"Delete an alert rule",arguments:[{name:"ruleId",required:!0}],options:[...deprecatedItemScopeOptions,formatOption,jsonOption,yesOption],examples:[{name:"Delete with confirmation",value:`${packageName} alerts rules remove ar_abc123`},{name:"Delete without a prompt",value:`${packageName} alerts rules remove ar_abc123 --yes`}]},rulesUpdateSubcommand={name:"update",aliases:["patch"],description:"Patch an alert rule or change its scope",helpSections:rulesUpdateHelpSections,arguments:[{name:"ruleId",required:!0}],options:[projectScopeOption,mutationAllOption,formatOption,jsonOption,{...bodyOption,description:"Read the partial update body from a JSON file"}],examples:[{name:"Update fields from a file",value:`${packageName} alerts rules update ar_abc123 --body ./patch.json`},{name:"Move a rule to a project",value:`${packageName} alerts rules update ar_abc123 --project my-app`}]},notificationTargetOptions=[{name:"webhook",shorthand:null,type:String,argument:"WEBHOOK_ID",deprecated:!1,description:"Select an account webhook by ID"},{name:"slack-channel",shorthand:null,type:String,argument:"CHANNEL_ID",deprecated:!1,description:"Select a Slack channel by ID"},{name:"slack-installation-id",shorthand:null,type:String,argument:"INSTALLATION_ID",deprecated:!1,description:"Slack installation ID. Optional only when the team has exactly one completed Slack installation."}],criticalOnlyOption={name:"critical-only",shorthand:null,type:Boolean,deprecated:!1,description:"Notify only when Vercel Agent escalates an alert to Critical"},noCriticalOnlyOption={name:"no-critical-only",shorthand:null,type:Boolean,deprecated:!1,description:"Deliver every alert matched by the rule"},rulesNotificationsLsSubcommand={name:"ls",aliases:["list"],default:!0,description:"List notification destinations for all readable rules or one alert rule",arguments:[{name:"ruleId",required:!1}],options:[formatOption,jsonOption],examples:[{name:"List notification destinations for all readable rules",value:`${packageName} alerts rules notifications ls`},{name:"List notification destinations for one rule",value:`${packageName} alerts rules notifications ls ar_abc123`},{name:"Write JSON output",value:`${packageName} alerts rules notifications ar_abc123 --json`}]},rulesNotificationsLinkSubcommand={name:"link",aliases:[],description:"Link a Slack channel or account webhook to an alert rule",arguments:[{name:"<ruleId>",required:!0}],options:[...notificationTargetOptions,criticalOnlyOption,formatOption,jsonOption],examples:[{name:"Link a Slack channel",value:`${packageName} alerts rules notifications link ar_abc123 --slack-channel C123`},{name:"Link a Slack channel from a specific installation",value:`${packageName} alerts rules notifications link ar_abc123 --slack-channel C123 --slack-installation-id icfg_abc123`},{name:"Link a webhook",value:`${packageName} alerts rules notifications link ar_abc123 --webhook wh_abc123`},{name:"Link a Critical-only webhook",value:`${packageName} alerts rules notifications link ar_abc123 --webhook wh_abc123 --critical-only`}]},rulesNotificationsUpdateSubcommand={name:"update",aliases:["patch"],description:"Update a notification destination's delivery setting",arguments:[{name:"<ruleId>",required:!0}],options:[...notificationTargetOptions,criticalOnlyOption,noCriticalOnlyOption,formatOption,jsonOption],examples:[{name:"Restrict a Slack channel to Critical alerts",value:`${packageName} alerts rules notifications update ar_abc123 --slack-channel C123 --critical-only`},{name:"Restore delivery for every alert matched by the rule",value:`${packageName} alerts rules notifications update ar_abc123 --webhook wh_abc123 --no-critical-only`}]},rulesNotificationsUnlinkSubcommand={name:"unlink",aliases:[],description:"Unlink a Slack channel or account webhook from an alert rule",arguments:[{name:"<ruleId>",required:!0}],options:[...notificationTargetOptions,formatOption,jsonOption],examples:[{name:"Unlink a Slack channel",value:`${packageName} alerts rules notifications unlink ar_abc123 --slack-channel C123`},{name:"Unlink a webhook",value:`${packageName} alerts rules notifications unlink ar_abc123 --webhook wh_abc123`}]},rulesNotificationsAggregateCommand={name:"notifications",aliases:[],description:"List and manage linked Slack and webhook destinations for alert rules",arguments:[],subcommands:[rulesNotificationsLsSubcommand,rulesNotificationsLinkSubcommand,rulesNotificationsUpdateSubcommand,rulesNotificationsUnlinkSubcommand],options:[formatOption,jsonOption],examples:[{name:"List destinations for all readable rules",value:`${packageName} alerts rules notifications`},{name:"List destinations for one rule",value:`${packageName} alerts rules notifications ar_abc123`},{name:"Link Slack with the team's only installation",value:`${packageName} alerts rules notifications link ar_abc123 --slack-channel C123`}]},rulesAggregateCommand={name:"rules",aliases:[],description:"Create, inspect, list, update, and delete alert rules and manage their notification destinations",arguments:[],subcommands:[rulesLsSubcommand,rulesSchemaSubcommand,rulesAddSubcommand,rulesInspectSubcommand,rulesRmSubcommand,rulesUpdateSubcommand,rulesNotificationsAggregateCommand],options:[],examples:[{name:"List rules for the linked project",value:`${packageName} alerts rules ls`},{name:"Add a rule",value:`${packageName} alerts rules add --project my-app --body ./rule.json`},{name:"Inspect a rule",value:`${packageName} alerts rules inspect ar_abc123`},{name:"Update a rule",value:`${packageName} alerts rules update ar_abc123 --body ./patch.json`},{name:"Delete a rule",value:`${packageName} alerts rules remove ar_abc123`},{name:"List notification destinations for a rule",value:`${packageName} alerts rules notifications ar_abc123`}]};export{rulesLsSubcommand,rulesSchemaSubcommand,rulesAddSubcommand,rulesInspectSubcommand,rulesRmSubcommand,rulesUpdateSubcommand,rulesNotificationsLsSubcommand,rulesNotificationsLinkSubcommand,rulesNotificationsUpdateSubcommand,rulesNotificationsUnlinkSubcommand,rulesNotificationsAggregateCommand,rulesAggregateCommand};
|