vercel 59.18.0 → 59.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/chunks/add-EM223ILV.js +8 -0
  2. package/dist/chunks/{add-PMMNU7RN.js → add-G5SYPCB4.js} +1 -1
  3. package/dist/chunks/add-SKKI525V.js +8 -0
  4. package/dist/chunks/build-JEZ2ELHZ.js +7 -0
  5. package/dist/chunks/{chunk-FOUWMNT7.js → chunk-327GP3PO.js} +1 -1
  6. package/dist/chunks/{chunk-WTXJ4X2D.js → chunk-33FG2PIV.js} +1 -1
  7. package/dist/chunks/chunk-4P66SQRS.js +9 -0
  8. package/dist/chunks/{chunk-7VWHD7WQ.js → chunk-556CXJRE.js} +1 -1
  9. package/dist/chunks/{chunk-IG7TNQGL.js → chunk-5XK67SSI.js} +1 -1
  10. package/dist/chunks/{chunk-SJ6ZELKN.js → chunk-5ZIZD5ZG.js} +1 -1
  11. package/dist/chunks/{chunk-JNFC2ASC.js → chunk-6RHRDUSK.js} +1 -1
  12. package/dist/chunks/{chunk-HUI32UNA.js → chunk-AGDWVTJV.js} +4 -4
  13. package/dist/chunks/{chunk-66K6BTX2.js → chunk-AJAO4Q3T.js} +1 -1
  14. package/dist/chunks/{chunk-WUMV6WRR.js → chunk-B7XCF45C.js} +1 -1
  15. package/dist/chunks/{chunk-Y7SVAW54.js → chunk-BW24TEUN.js} +1 -1
  16. package/dist/chunks/{chunk-FZIRRUBO.js → chunk-CQPIWP7K.js} +1 -1
  17. package/dist/chunks/{chunk-KCSMPBFZ.js → chunk-CWTXZPUV.js} +1 -1
  18. package/dist/chunks/{chunk-254TC5HX.js → chunk-E4CRGS56.js} +1 -1
  19. package/dist/chunks/chunk-F5HAX74T.js +18 -0
  20. package/dist/chunks/{chunk-2NOOW6ZP.js → chunk-FBVWXFCP.js} +1 -1
  21. package/dist/chunks/{chunk-22NPN6VB.js → chunk-FCC3LYIB.js} +1 -1
  22. package/dist/chunks/{chunk-MOPFNLFK.js → chunk-FNYAHJIZ.js} +1 -1
  23. package/dist/chunks/{chunk-QVINTB7T.js → chunk-FUK2JEKI.js} +1 -1
  24. package/dist/chunks/{chunk-HQEAROJN.js → chunk-GCHDJ44X.js} +1 -1
  25. package/dist/chunks/chunk-GI6G3FJJ.js +19 -0
  26. package/dist/chunks/{chunk-WSNDO7JA.js → chunk-GTK7TBLW.js} +1 -1
  27. package/dist/chunks/{chunk-YCFYVPFP.js → chunk-HBF4YJR2.js} +1 -1
  28. package/dist/chunks/{chunk-EEKVUD55.js → chunk-HKKKVW7W.js} +1 -1
  29. package/dist/chunks/{chunk-QTSRDWKO.js → chunk-IERVS47L.js} +1 -1
  30. package/dist/chunks/{chunk-LX5GOY7N.js → chunk-IH2HZFLM.js} +1 -1
  31. package/dist/chunks/{chunk-DD5EEWWR.js → chunk-IX4MMEGJ.js} +3 -3
  32. package/dist/chunks/{chunk-ZQGW6A7G.js → chunk-JB45UWGT.js} +1 -1
  33. package/dist/chunks/{chunk-HFDQ3P7T.js → chunk-KU32YRCG.js} +1 -1
  34. package/dist/chunks/{chunk-YNINVUX2.js → chunk-LZTGSYL3.js} +1 -1
  35. package/dist/chunks/{chunk-CJ3LL5E7.js → chunk-MBHVWCFE.js} +1 -1
  36. package/dist/chunks/{chunk-Q2TOOW5N.js → chunk-MIGWUMB3.js} +1 -1
  37. package/dist/chunks/{chunk-BDCZFSP2.js → chunk-NLQNFWX2.js} +1 -1
  38. package/dist/chunks/{chunk-H7S7TVBZ.js → chunk-OROPHBHW.js} +1 -1
  39. package/dist/chunks/{chunk-YWDSQTGK.js → chunk-OWEH7BYO.js} +1 -1
  40. package/dist/chunks/{chunk-KACMQTK7.js → chunk-OXH3RM6U.js} +1 -1
  41. package/dist/chunks/{chunk-SECZRAWX.js → chunk-PIKD5KTH.js} +1 -1
  42. package/dist/chunks/{chunk-4A5YIRNE.js → chunk-PNRWNSM2.js} +1 -1
  43. package/dist/chunks/{chunk-QDE5CFRC.js → chunk-Q2Z6EXCT.js} +1 -1
  44. package/dist/chunks/{chunk-46NPQBNU.js → chunk-RIQFJ2MY.js} +3 -3
  45. package/dist/chunks/{chunk-72ZDPBW5.js → chunk-SPPD6HZ7.js} +1 -1
  46. package/dist/chunks/{chunk-2YBNGUYY.js → chunk-TEFZFCIF.js} +1 -1
  47. package/dist/chunks/{chunk-YYH7OWMO.js → chunk-VDYU5GXV.js} +1 -1
  48. package/dist/chunks/{chunk-CRNMRUJK.js → chunk-VRBSHDYH.js} +1 -1
  49. package/dist/chunks/chunk-WR5OOWD6.js +10 -0
  50. package/dist/chunks/{chunk-SA2SQV6P.js → chunk-XKNCIFFB.js} +1 -1
  51. package/dist/chunks/{chunk-RCHRY3CN.js → chunk-XM3JW6AL.js} +1 -1
  52. package/dist/chunks/{chunk-SQ5VXZP6.js → chunk-XPTHZQSQ.js} +1 -1
  53. package/dist/chunks/chunk-XPV22OOJ.js +9 -0
  54. package/dist/chunks/{chunk-FEV4CIBN.js → chunk-Z2LUKMI6.js} +1 -1
  55. package/dist/chunks/{chunk-FM2ODCMZ.js → chunk-ZOI3EEL3.js} +1 -1
  56. package/dist/chunks/{chunk-HUHUQXHY.js → chunk-ZRS5X7M2.js} +1 -1
  57. package/dist/chunks/clear-D6L6DOJX.js +8 -0
  58. package/dist/chunks/{compile-vercel-config-7Z4U2GXV.js → compile-vercel-config-HTWCKOXQ.js} +1 -1
  59. package/dist/chunks/{config-S2ZQRGUM.js → config-3PKXC765.js} +1 -1
  60. package/dist/chunks/config-UC3QD67B.js +8 -0
  61. package/dist/chunks/{connect-git-provider-WOJ5VGWD.js → connect-git-provider-LSTDI4TC.js} +1 -1
  62. package/dist/chunks/delete-6QE6SZFG.js +9 -0
  63. package/dist/chunks/delete-KIBUBKS5.js +10 -0
  64. package/dist/chunks/{detect-services-OYKTY23L.js → detect-services-HCM5D7CD.js} +1 -1
  65. package/dist/chunks/disable-2SIGN57F.js +7 -0
  66. package/dist/chunks/discard-SU4KZRF4.js +14 -0
  67. package/dist/chunks/edit-UPPFWMDP.js +8 -0
  68. package/dist/chunks/edit-XSC7KTWU.js +9 -0
  69. package/dist/chunks/enable-ON2Z35WD.js +7 -0
  70. package/dist/chunks/{export-WJ5AOD5D.js → export-4WCA27XL.js} +1 -1
  71. package/dist/chunks/future-LU77KNDL.js +7 -0
  72. package/dist/chunks/{generate-cert-for-deploy-MLBCRZP7.js → generate-cert-for-deploy-UFWA55HF.js} +1 -1
  73. package/dist/chunks/image-OUAKVKKW.js +7 -0
  74. package/dist/chunks/{import-builders-XBF4XRUV.js → import-builders-GAOM5PLP.js} +1 -1
  75. package/dist/chunks/inspect-2U2ZS6BV.js +9 -0
  76. package/dist/chunks/{inspect-5UD3BTCK.js → inspect-CPKV2YRR.js} +1 -1
  77. package/dist/chunks/inspect-HSMBKUSW.js +13 -0
  78. package/dist/chunks/{inspect-ZEQB7B56.js → inspect-N3RXYOHT.js} +1 -1
  79. package/dist/chunks/{inspect-37P6UWRK.js → inspect-VVRA6JZQ.js} +1 -1
  80. package/dist/chunks/list-A7WJ266A.js +11 -0
  81. package/dist/chunks/{list-D4WFKHXH.js → list-EPOTOCMN.js} +1 -1
  82. package/dist/chunks/{list-BCNACV7V.js → list-XGP6PIS5.js} +1 -1
  83. package/dist/chunks/login-7ALV7XD4.js +9 -0
  84. package/dist/chunks/{login-YBF2T6BO.js → login-YQ7QPK4A.js} +1 -1
  85. package/dist/chunks/{logs-3ULFZW4S.js → logs-4WPTTXCS.js} +1 -1
  86. package/dist/chunks/{ls-M4AAACDP.js → ls-62NGKVG2.js} +1 -1
  87. package/dist/chunks/{ls-KOJYZ2MR.js → ls-FOS2BGO3.js} +1 -1
  88. package/dist/chunks/{ls-SQLHYCYD.js → ls-FUXVU2FM.js} +1 -1
  89. package/dist/chunks/{ls-AOXH6ROK.js → ls-L5IRHEBU.js} +1 -1
  90. package/dist/chunks/{ls-6P2SJGIV.js → ls-OGLSDDB5.js} +1 -1
  91. package/dist/chunks/{ls-454PHZ45.js → ls-UDE66BQH.js} +1 -1
  92. package/dist/chunks/{ls-A2FWZ3NF.js → ls-WLDQKOJX.js} +1 -1
  93. package/dist/chunks/{mutate-VRGKUIKY.js → mutate-TA3QMCKY.js} +1 -1
  94. package/dist/chunks/notifications-4XNZKXKP.js +7 -0
  95. package/dist/chunks/open-G2NKF4KL.js +7 -0
  96. package/dist/chunks/{openapi-V5CKADGX.js → openapi-YEDROCHV.js} +1 -1
  97. package/dist/chunks/permissions-35SS45VZ.js +7 -0
  98. package/dist/chunks/{prompt-missing-credentials-BTUGE7QE.js → prompt-missing-credentials-YVS4S7X2.js} +1 -1
  99. package/dist/chunks/{publish-2UPLM3TI.js → publish-LSRQFUBZ.js} +1 -1
  100. package/dist/chunks/pull-BOJ3ZTIE.js +7 -0
  101. package/dist/chunks/{purchase-domain-if-available-IMVQLQ5H.js → purchase-domain-if-available-KEMVAHHF.js} +1 -1
  102. package/dist/chunks/push-FLK45IKR.js +7 -0
  103. package/dist/chunks/{query-UFFZMZWM.js → query-XP27OAHW.js} +1 -1
  104. package/dist/chunks/reauthenticate-APC7ZYFC.js +7 -0
  105. package/dist/chunks/reorder-F22Q63TM.js +10 -0
  106. package/dist/chunks/reply-CPWRB47S.js +9 -0
  107. package/dist/chunks/resolve-L7Y4FLIS.js +12 -0
  108. package/dist/chunks/{restore-Y4Z3F6HQ.js → restore-FOQ5TF47.js} +1 -1
  109. package/dist/chunks/{rm-OPYE65YL.js → rm-7CH7JXQR.js} +1 -1
  110. package/dist/chunks/rm-IBIBN3TV.js +8 -0
  111. package/dist/chunks/rm-OQL6ZGQM.js +8 -0
  112. package/dist/chunks/rm-PWMT2FES.js +8 -0
  113. package/dist/chunks/{rm-SUIELRWK.js → rm-QTAD3MMN.js} +1 -1
  114. package/dist/chunks/routes-ZD7XUKLY.js +1 -1
  115. package/dist/chunks/{rule-inspect-NUSKPGGY.js → rule-inspect-SGVM6FEZ.js} +1 -1
  116. package/dist/chunks/rules-MMAVDLJB.js +7 -0
  117. package/dist/chunks/{schema-MAANM5RD.js → schema-B74HJNER.js} +1 -1
  118. package/dist/chunks/{schema-HISMGDPE.js → schema-JYYQBTCL.js} +1 -1
  119. package/dist/chunks/select-org-5OUQKTNI.js +7 -0
  120. package/dist/chunks/{set-FVZSBB5K.js → set-6MRJYM56.js} +1 -1
  121. package/dist/chunks/setup-and-link-M6GYPEQY.js +7 -0
  122. package/dist/chunks/tags-SWK66ZCK.js +7 -0
  123. package/dist/chunks/{types-6SBDA4SL.js → types-BTHJ46LC.js} +1 -1
  124. package/dist/chunks/{update-R536DPNI.js → update-UVXYG3Q7.js} +1 -1
  125. package/dist/commands/build/index.js +1 -1
  126. package/dist/commands/deploy/index.js +6 -6
  127. package/dist/commands/dev/index.js +2 -2
  128. package/dist/commands/env/index.js +1 -1
  129. package/dist/commands/link/index.js +1 -1
  130. package/dist/commands/list/index.js +1 -1
  131. package/dist/commands-bulk.js +25 -22
  132. package/dist/index.js +3 -3
  133. package/dist/version.mjs +1 -1
  134. package/package.json +12 -10
  135. package/dist/chunks/add-G2FG4MZK.js +0 -8
  136. package/dist/chunks/add-JYMUUDWF.js +0 -8
  137. package/dist/chunks/build-IVYHMLHB.js +0 -7
  138. package/dist/chunks/chunk-AL5JWXZE.js +0 -9
  139. package/dist/chunks/chunk-CBWDIZAF.js +0 -19
  140. package/dist/chunks/chunk-I7QY6ROQ.js +0 -9
  141. package/dist/chunks/chunk-KNQ3Y22G.js +0 -10
  142. package/dist/chunks/chunk-QE5VDLPY.js +0 -18
  143. package/dist/chunks/clear-QWLAXTZ2.js +0 -8
  144. package/dist/chunks/config-DWUI22HZ.js +0 -8
  145. package/dist/chunks/delete-DKXWEXSY.js +0 -9
  146. package/dist/chunks/delete-LJFDZG3J.js +0 -10
  147. package/dist/chunks/disable-5ZNYIRQ6.js +0 -7
  148. package/dist/chunks/discard-VGPXMVDP.js +0 -14
  149. package/dist/chunks/edit-OAUR6VZN.js +0 -9
  150. package/dist/chunks/edit-PZJIUQUQ.js +0 -8
  151. package/dist/chunks/enable-XHKXM6ZO.js +0 -7
  152. package/dist/chunks/future-CFQTZYLF.js +0 -7
  153. package/dist/chunks/image-O62TT3WT.js +0 -7
  154. package/dist/chunks/inspect-JNAVK3W2.js +0 -9
  155. package/dist/chunks/inspect-PTE3AJIM.js +0 -13
  156. package/dist/chunks/list-NFRKB6ZN.js +0 -11
  157. package/dist/chunks/login-IN4CKJYT.js +0 -9
  158. package/dist/chunks/notifications-EWKMY3H6.js +0 -7
  159. package/dist/chunks/open-WLDHUEDQ.js +0 -7
  160. package/dist/chunks/permissions-6GBDJTT6.js +0 -7
  161. package/dist/chunks/pull-Y5CUBUU7.js +0 -7
  162. package/dist/chunks/push-CAAKZO2C.js +0 -7
  163. package/dist/chunks/reauthenticate-BUEUJA3T.js +0 -7
  164. package/dist/chunks/reorder-YMD7BWAB.js +0 -10
  165. package/dist/chunks/reply-3KG3AZCJ.js +0 -9
  166. package/dist/chunks/resolve-JBH2ULOU.js +0 -12
  167. package/dist/chunks/rm-G2VITZWG.js +0 -8
  168. package/dist/chunks/rm-RG2M3HCR.js +0 -8
  169. package/dist/chunks/rm-S2XKAZ2G.js +0 -8
  170. package/dist/chunks/rules-HRB2B2DX.js +0 -7
  171. package/dist/chunks/select-org-EMVG2OX2.js +0 -7
  172. package/dist/chunks/setup-and-link-V2VNR6UN.js +0 -7
  173. package/dist/chunks/tags-GH3U4E6I.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{BUILD_LABEL}from"./chunks/chunk-WKZ6JSGZ.js";import{help}from"./chunks/chunk-3FMJYJUR.js";import{box,canAutoUpdate,executeAutomaticUpgrade,executeUpgrade,handleCommandTypo,hasAutoUpdatePreference,require_xdg_app_paths,scheduleNativeAutoUpdate,setAutoUpdate}from"./chunks/chunk-46NPQBNU.js";import{matchesCliApiTag}from"./chunks/chunk-SA2SQV6P.js";import{getUpdateCommand}from"./chunks/chunk-RCHRY3CN.js";import"./chunks/chunk-U56NHYAH.js";import{Client,getAuthConfigFilePath,getConfigFilePath,isValidAccessToken,readAuthConfigFile,readConfigFile,writeToConfigFile}from"./chunks/chunk-DD5EEWWR.js";import"./chunks/chunk-TRTEXGVN.js";import"./chunks/chunk-T3GQAMBJ.js";import{require_ci_info}from"./chunks/chunk-T52FMXWC.js";import{highlight}from"./chunks/chunk-J3U3L45Y.js";import{getGlobalPathConfig}from"./chunks/chunk-KACMQTK7.js";import"./chunks/chunk-FM2ODCMZ.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-D4MW3RDW.js";import"./chunks/chunk-P2O5DOYE.js";import{commands,commandsStructs,isHiddenCommand}from"./chunks/chunk-I7QY6ROQ.js";import"./chunks/chunk-M5AV545M.js";import"./chunks/chunk-65JYSI26.js";import"./chunks/chunk-YMVDWVMO.js";import"./chunks/chunk-O7G3CZ42.js";import"./chunks/chunk-N3N5UHIL.js";import"./chunks/chunk-IVWPQYIH.js";import"./chunks/chunk-WUZD4KBL.js";import"./chunks/chunk-3QHJYVCY.js";import"./chunks/chunk-NBVY237X.js";import"./chunks/chunk-MEAY2K5Z.js";import"./chunks/chunk-EQ52F4LH.js";import"./chunks/chunk-EIXOJUNN.js";import"./chunks/chunk-OAKO6LVS.js";import"./chunks/chunk-CVKB54WW.js";import"./chunks/chunk-JKTQV2QJ.js";import"./chunks/chunk-JEIMW3CO.js";import"./chunks/chunk-ZKYS7EAB.js";import{require_semver}from"./chunks/chunk-KKS7XWEX.js";import{readJSONFile}from"./chunks/chunk-WTXJ4X2D.js";import"./chunks/chunk-NNP5NITU.js";import{require_types}from"./chunks/chunk-GHM7V3GG.js";import"./chunks/chunk-L3JDEHCQ.js";import"./chunks/chunk-QR7QPUFN.js";import"./chunks/chunk-2I64AYHG.js";import"./chunks/chunk-SOJCELXH.js";import"./chunks/chunk-N6CNMMSZ.js";import{getTeams}from"./chunks/chunk-Y7SVAW54.js";import"./chunks/chunk-U6TAKLJ6.js";import"./chunks/chunk-JDQP267R.js";import{param}from"./chunks/chunk-SXUEGVWB.js";import{getScope,isAppPrincipalEnabled,resolveAppTokenScope}from"./chunks/chunk-CJ3LL5E7.js";import{TelemetryClient,TelemetryEventStore}from"./chunks/chunk-W2XUH2WW.js";import"./chunks/chunk-RCTYVKM5.js";import"./chunks/chunk-5XJNPXQK.js";import{printError}from"./chunks/chunk-AL5JWXZE.js";import{getArgs,parseArguments}from"./chunks/chunk-HUHUQXHY.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import{isNativeBinaryInstall}from"./chunks/chunk-7T6TL3GQ.js";import{getLinkFromDir,getVercelDirectory,hasLocalProjectLink,require_lib}from"./chunks/chunk-HUI32UNA.js";import"./chunks/chunk-F2ZWW2IO.js";import"./chunks/chunk-B4ATVYZW.js";import{humanizePath}from"./chunks/chunk-PPCFQQSU.js";import{require_cli_config}from"./chunks/chunk-BRK4OB4B.js";import"./chunks/chunk-OSCCYU74.js";import{shouldEmitNonInteractiveCommandError,trackAgentCommandOutcome}from"./chunks/chunk-KNQ3Y22G.js";import"./chunks/chunk-JAJW3P42.js";import"./chunks/chunk-4VGOAPFY.js";import{getUser}from"./chunks/chunk-WSNDO7JA.js";import{getTeamByIdOrSlug}from"./chunks/chunk-VOZEB6PD.js";import{APIError,CantFindConfig,CantParseJSONFile,DeprecatedNowJson,WorkingDirectoryDoesNotExist}from"./chunks/chunk-CBWDIZAF.js";import{cmd,getTitleName}from"./chunks/chunk-FI772UVH.js";import{output_manager_default,require_build_utils}from"./chunks/chunk-RTRCTYW6.js";import{require_dist}from"./chunks/chunk-QGIQK47P.js";import{pkg_default}from"./chunks/chunk-AVSPFBLM.js";import"./chunks/chunk-XCJDGQO7.js";import"./chunks/chunk-YPTLSODC.js";import"./chunks/chunk-7HL2RPUO.js";import{require_source}from"./chunks/chunk-U7KCDTCH.js";import"./chunks/chunk-N3ZZ7FHQ.js";import"./chunks/chunk-GU6VIFR5.js";import{__commonJS,__require,__toESM}from"./chunks/chunk-6L236MNA.js";var require_epipebomb=__commonJS({"../../node_modules/.pnpm/epipebomb@1.0.0/node_modules/epipebomb/epipebomb.js"(exports,module){module.exports=epipeBomb;function epipeBomb(stream,callback){stream==null&&(stream=process.stdout),callback==null&&(callback=process.exit);function epipeFilter(err){if(err.code==="EPIPE")return callback();stream.listeners("error").length<=1&&(stream.removeAllListeners(),stream.emit("error",err),stream.on("error",epipeFilter))}stream.on("error",epipeFilter)}}});var 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(resolve=>{let timer=setTimeout(()=>{req.destroy(),resolve(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){resolve(void 0);return}resolve(JSON.parse(buf))}catch{resolve(void 0)}})});req.on("error",()=>{clearTimeout(timer),resolve(void 0)})})}module.exports={fetchDistTags:fetchDistTags2}}});var import_error_utils3=__toESM(require_dist(),1),import_fs_extra2=__toESM(require_lib(),1),import_chalk=__toESM(require_source(),1),import_semver2=__toESM(require_semver(),1),import_epipebomb=__toESM(require_epipebomb(),1);import{join as join2}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 sentry;async function getSentry(){if(!sentry){let[SentryModule,{SENTRY_DSN},{default:pkg}]=await Promise.all([import("./chunks/cjs-GOQHXIHX.js"),import("./chunks/constants-G4UYVLOF.js"),import("./chunks/pkg-YFU67U7I.js")]),Sentry="init"in SentryModule?SentryModule:SentryModule.default;Sentry.init({dsn:SENTRY_DSN,release:`vercel-cli@${pkg.version}`,environment:"stable",autoSessionTracking:!1}),sentry=Sentry}return sentry}var SUBCOMMANDS_WITHOUT_TOKEN=["login","logout","help","init","build","builders","changelog","deploy","sandbox","telemetry","upgrade","version","skills","agent","whoami"];var import_error_utils=__toESM(require_dist(),1);async function reportError(sentry2,client2,error){if(ignoreError(error))return;let user,team,scopeError;try{({user,team}=await getScope(client2))}catch(err){(0,import_error_utils.isError)(err)&&(scopeError=err)}sentry2.withScope(scope=>{if(user){let spec={email:user.email,id:user.id,username:user.username,name:user.name};scope.setUser(spec)}team&&scope.setTag("currentTeam",team.id),scopeError&&scope.setExtra("scopeError",{name:scopeError.name,message:scopeError.message,stack:scopeError.stack});let args,argsError;try{args=getArgs(process.argv.slice(2),{})}catch(err){(0,import_error_utils.isError)(err)&&(argsError=err)}if(args){let flags=["--env","--build-env","--token"];for(let flag of flags)args[flag]&&(args[flag]="REDACTED");args._.length>=4&&args._[0].startsWith("secret")&&args._[1]==="add"&&(args._[3]="REDACTED"),scope.setExtra("args",args)}else{let msg="Unable to parse args";argsError&&(msg+=`: ${argsError}`),scope.setExtra("args",msg)}scope.setExtra("node",{execPath:process.execPath,version:process.version,platform:process.platform}),sentry2.captureException(error)});let sentryClient=sentry2.getCurrentHub().getClient();sentryClient&&await sentryClient.close()}function ignoreError(error){return(0,import_error_utils.isError)(error)&&error.message.includes("uv_cwd")}var import_types=__toESM(require_types(),1);import path from"path";var import_error_utils2=__toESM(require_dist(),1);var config;async function earlyGetConfig(configFile){if(config)return config;let localPath;try{localPath=process.cwd()}catch(err){if((0,import_error_utils2.isErrnoException)(err)&&err.code==="ENOENT")return new WorkingDirectoryDoesNotExist;throw err}if(configFile){let localFilePath=path.resolve(localPath,configFile);output_manager_default.debug(`Found config in provided --local-config path ${localFilePath}`);let localConfig=await readJSONFile(localFilePath);return localConfig instanceof CantParseJSONFile?localConfig:localConfig===null?new CantFindConfig([humanizePath(localFilePath)]):(config=localConfig,config[import_types.fileNameSymbol]=configFile,config)}let vercelFilePath=path.resolve(localPath,"vercel.json"),nowFilePath=path.resolve(localPath,"now.json"),[vercelConfig,nowConfig]=await Promise.all([readJSONFile(vercelFilePath),readJSONFile(nowFilePath)]);return vercelConfig instanceof CantParseJSONFile?vercelConfig:nowConfig instanceof CantParseJSONFile?nowConfig:vercelConfig!==null?(output_manager_default.debug(`Found config in file "${vercelFilePath}"`),config=vercelConfig,config[import_types.fileNameSymbol]="vercel.json",config):nowConfig!==null?new DeprecatedNowJson(nowFilePath):new CantFindConfig([vercelFilePath].map(humanizePath))}var import_cli_config=__toESM(require_cli_config(),1);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}}var import_ci_info=__toESM(require_ci_info(),1);var RootTelemetryClient=class extends TelemetryClient{trackCliExtension(){this.trackExtension()}trackCliDefaultDeploy(defaultDeploy){defaultDeploy&&this.trackDefaultDeploy()}trackCliCommandAgent(actual){this.trackCliCommand({command:"agent",value:actual})}trackCliCommandAgentRuns(actual){this.trackCliCommand({command:"agent-runs",value:actual})}trackCliCommandAiGateway(actual){this.trackCliCommand({command:"ai-gateway",value:actual})}trackCliCommandAlias(actual){this.trackCliCommand({command:"alias",value:actual})}trackCliCommandActivity(actual){this.trackCliCommand({command:"activity",value:actual})}trackCliCommandAlerts(actual){this.trackCliCommand({command:"alerts",value:actual})}trackCliCommandApi(actual){this.trackCliCommand({command:"api",value:actual})}trackCliCommandBisect(actual){this.trackCliCommand({command:"bisect",value:actual})}trackCliCommandBlob(actual){this.trackCliCommand({command:"blob",value:actual})}trackCliCommandBuild(actual){this.trackCliCommand({command:"build",value:actual})}trackCliCommandBuy(actual){this.trackCliCommand({command:"buy",value:actual})}trackCliCommandCache(actual){this.trackCliCommand({command:"cache",value:actual})}trackCliCommandCerts(actual){this.trackCliCommand({command:"certs",value:actual})}trackCliCommandChangelog(actual){this.trackCliCommand({command:"changelog",value:actual})}trackCliCommandComments(actual){this.trackCliCommand({command:"comments",value:actual})}trackCliCommandConnex(actual){this.trackCliCommand({command:"connect",value:actual})}trackCliCommandContract(actual){this.trackCliCommand({command:"contract",value:actual})}trackCliCommandCrons(actual){this.trackCliCommand({command:"crons",value:actual})}trackCliCommandCurl(actual){this.trackCliCommand({command:"curl",value:actual})}trackCliCommandDeploy(actual){this.trackCliCommand({command:"deploy",value:actual})}trackCliCommandDeployHooks(actual){this.trackCliCommand({command:"deploy-hooks",value:actual})}trackCliCommandDev(actual){this.trackCliCommand({command:"dev",value:actual})}trackCliCommandDomains(actual){this.trackCliCommand({command:"domains",value:actual})}trackCliCommandDns(actual){this.trackCliCommand({command:"dns",value:actual})}trackCliCommandEnv(actual){this.trackCliCommand({command:"env",value:actual})}trackCliCommandExperiments(actual){this.trackCliCommand({command:"experiments",value:actual})}trackCliCommandFirewall(actual){this.trackCliCommand({command:"firewall",value:actual})}trackCliCommandFlags(actual){this.trackCliCommand({command:"flags",value:actual})}trackCliCommandGit(actual){this.trackCliCommand({command:"git",value:actual})}trackCliCommandGlobalConfig(actual){this.trackCliCommand({command:"global-config",value:actual})}trackCliCommandGuidance(actual){this.trackCliCommand({command:"guidance",value:actual})}trackCliCommandHelp(actual){this.trackCliCommand({command:"help",value:actual})}trackCliCommandHttpstat(actual){this.trackCliCommand({command:"httpstat",value:actual})}trackCliCommandInit(actual){this.trackCliCommand({command:"init",value:actual})}trackCliCommandInspect(actual){this.trackCliCommand({command:"inspect",value:actual})}trackCliCommandInstall(actual){this.trackCliCommand({command:"install",value:actual})}trackCliCommandIntegration(actual){this.trackCliCommand({command:"integration",value:actual})}trackCliCommandIntegrationResource(actual){this.trackCliCommand({command:"integration-resource",value:actual})}trackCliCommandKms(actual){this.trackCliCommand({command:"kms",value:actual})}trackCliCommandLink(actual){this.trackCliCommand({command:"link",value:actual})}trackCliCommandList(actual){this.trackCliCommand({command:"list",value:actual})}trackCliCommandLogin(actual){this.trackCliCommand({command:"login",value:actual})}trackCliCommandLogout(actual){this.trackCliCommand({command:"logout",value:actual})}trackCliCommandLogs(actual){this.trackCliCommand({command:"logs",value:actual})}trackCliCommandMetrics(actual){this.trackCliCommand({command:"metrics",value:actual})}trackCliCommandMicrofrontends(actual){this.trackCliCommand({command:"microfrontends",value:actual})}trackCliCommandOpen(actual){this.trackCliCommand({command:"open",value:actual})}trackCliCommandProject(actual){this.trackCliCommand({command:"project",value:actual})}trackCliCommandPromote(actual){this.trackCliCommand({command:"promote",value:actual})}trackCliCommandPull(actual){this.trackCliCommand({command:"pull",value:actual})}trackCliCommandRollback(actual){this.trackCliCommand({command:"rollback",value:actual})}trackCliCommandRollingRelease(actual){this.trackCliCommand({command:"rolling-release",value:actual})}trackCliCommandRedeploy(actual){this.trackCliCommand({command:"redeploy",value:actual})}trackCliCommandRedirects(actual){this.trackCliCommand({command:"redirects",value:actual})}trackCliCommandRoutes(actual){this.trackCliCommand({command:"routes",value:actual})}trackCliCommandRemove(actual){this.trackCliCommand({command:"remove",value:actual})}trackCliCommandSkills(actual){this.trackCliCommand({command:"skills",value:actual})}trackCliCommandSandbox(actual){this.trackCliCommand({command:"sandbox",value:actual})}trackCliCommandSecurity(actual){this.trackCliCommand({command:"security",value:actual})}trackCliCommandStorage(actual){this.trackCliCommand({command:"storage",value:actual})}trackCliCommandTarget(actual){this.trackCliCommand({command:"target",value:actual})}trackCliCommandTeams(actual){this.trackCliCommand({command:"teams",value:actual})}trackCliCommandTokens(actual){this.trackCliCommand({command:"tokens",value:actual})}trackCliCommandTelemetry(actual){this.trackCliCommand({command:"telemetry",value:actual})}trackCliCommandTraces(actual){this.trackCliCommand({command:"traces",value:actual})}trackCliCommandWhoami(actual){this.trackCliCommand({command:"whoami",value:actual})}trackCliCommandUpgrade(actual){this.trackCliCommand({command:"upgrade",value:actual})}trackCliCommandVersion(actual){this.trackCliCommand({command:"version",value:actual})}trackCliCommandWebhooks(actual){this.trackCliCommand({command:"webhooks",value:actual})}trackCliCommandUsage(actual){this.trackCliCommand({command:"usage",value:actual})}trackCliCommandVcr(actual){this.trackCliCommand({command:"vcr",value:actual})}trackCPUs(){super.trackCPUs()}trackAgenticUse(agent){super.trackAgenticUse(agent)}trackArch(){super.trackArch()}trackPlatform(){super.trackPlatform()}trackCIVendorName(){this.trackCI(import_ci_info.default.id)}trackStdinIsTTY(isTTY2){super.trackStdinIsTTY(isTTY2)}trackVersion(version){super.trackVersion(version)}trackProjectId(projectId){super.trackProjectId(projectId)}trackInvocationId(invocationId){super.trackInvocationId(invocationId)}trackDeviceId(deviceId){super.trackDeviceId(deviceId)}trackVercelPluginActiveSession(){super.trackVercelPluginActiveSession()}trackVercelPluginVersion(version){super.trackVercelPluginVersion(version)}trackErrorStatus(status){super.trackErrorStatus(status)}trackErrorCode(code){super.trackErrorCode(code)}trackErrorSlug(slug){super.trackErrorSlug(slug)}trackErrorAction(action){super.trackErrorAction(action)}trackErrorServerMessage(serverMessage){super.trackErrorServerMessage(serverMessage)}trackCliOptionCwd(cwd){cwd&&this.trackCliOption({option:"cwd",value:this.redactedValue})}trackCliOptionLocalConfig(localConfig){localConfig&&this.trackCliOption({option:"local-config",value:this.redactedValue})}trackCliOptionGlobalConfig(globalConfig){globalConfig&&this.trackCliOption({option:"global-config",value:this.redactedValue})}trackCliOptionScope(scope){scope&&this.trackCliOption({option:"scope",value:this.redactedValue})}trackCliOptionToken(token){token&&this.trackCliOption({option:"token",value:this.redactedValue})}trackCliOptionTeam(team){team&&this.trackCliOption({option:"team",value:this.redactedValue})}trackCliOptionApi(api){api&&this.trackCliOption({option:"api",value:this.redactedValue})}trackCliFlagDebug(debug){debug&&this.trackCliFlag("debug")}trackCliFlagNoColor(noColor){noColor&&this.trackCliFlag("no-color")}};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}}function checkTelemetryStatus({config:config2}){config2.telemetry||process.env.VERCEL_TELEMETRY_DISABLED||(output_manager_default.note("The Vercel CLI now collects telemetry regarding usage of the CLI."),output_manager_default.log("This information is used to shape the CLI roadmap and prioritize features."),output_manager_default.log("You can learn more, including how to opt-out if you'd not like to participate in this program, by visiting the following URL:"),output_manager_default.log("https://vercel.com/docs/cli/about-telemetry"),config2.telemetry={enabled:!0},writeToConfigFile(config2))}function checkGuidanceStatus({config:config2}){process.env.FF_GUIDANCE_MODE&&(process.env.CI||process.env.VERCEL_GUIDANCE_DISABLED||config2.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"),config2.guidance={enabled:!0},writeToConfigFile(config2)))}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_utils3.isError)(err)&&err.message.includes("uv_cwd")&&(console.error("Error: The current working directory does not exist."),process.exit(1))}{let SILENCED_ERRORS=["DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead."],originalError=console.error;console.error=msg=>{SILENCED_ERRORS.some(error=>typeof msg=="string"&&msg.includes(error))||originalError(msg)}}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])}(0,import_epipebomb.default)();var client,resolvedCommandForUpdate,handleRejection=async err=>{err?err instanceof Error?await handleUnexpected(err):(output_manager_default.error(`An unexpected rejection occurred
7
+ import{BUILD_LABEL}from"./chunks/chunk-WKZ6JSGZ.js";import{help}from"./chunks/chunk-3FMJYJUR.js";import{box,canAutoUpdate,executeAutomaticUpgrade,executeUpgrade,handleCommandTypo,hasAutoUpdatePreference,require_xdg_app_paths,scheduleNativeAutoUpdate,setAutoUpdate}from"./chunks/chunk-RIQFJ2MY.js";import{matchesCliApiTag}from"./chunks/chunk-XKNCIFFB.js";import{getUpdateCommand}from"./chunks/chunk-XM3JW6AL.js";import"./chunks/chunk-U56NHYAH.js";import{Client,getAuthConfigFilePath,getConfigFilePath,isValidAccessToken,readAuthConfigFile,readConfigFile,writeToConfigFile}from"./chunks/chunk-IX4MMEGJ.js";import"./chunks/chunk-TRTEXGVN.js";import"./chunks/chunk-T3GQAMBJ.js";import{require_ci_info}from"./chunks/chunk-T52FMXWC.js";import{highlight}from"./chunks/chunk-J3U3L45Y.js";import{getGlobalPathConfig}from"./chunks/chunk-OXH3RM6U.js";import"./chunks/chunk-ZOI3EEL3.js";import{shouldPrintVersionBanner,wantsMachineReadableOutput}from"./chunks/chunk-D4MW3RDW.js";import"./chunks/chunk-P2O5DOYE.js";import{commands,commandsStructs,isHiddenCommand}from"./chunks/chunk-XPV22OOJ.js";import"./chunks/chunk-M5AV545M.js";import"./chunks/chunk-65JYSI26.js";import"./chunks/chunk-YMVDWVMO.js";import"./chunks/chunk-O7G3CZ42.js";import"./chunks/chunk-N3N5UHIL.js";import"./chunks/chunk-IVWPQYIH.js";import"./chunks/chunk-WUZD4KBL.js";import"./chunks/chunk-3QHJYVCY.js";import"./chunks/chunk-NBVY237X.js";import"./chunks/chunk-MEAY2K5Z.js";import"./chunks/chunk-EQ52F4LH.js";import"./chunks/chunk-EIXOJUNN.js";import"./chunks/chunk-OAKO6LVS.js";import"./chunks/chunk-CVKB54WW.js";import"./chunks/chunk-JKTQV2QJ.js";import"./chunks/chunk-JEIMW3CO.js";import"./chunks/chunk-ZKYS7EAB.js";import{require_semver}from"./chunks/chunk-KKS7XWEX.js";import{readJSONFile}from"./chunks/chunk-33FG2PIV.js";import"./chunks/chunk-NNP5NITU.js";import{require_types}from"./chunks/chunk-GHM7V3GG.js";import"./chunks/chunk-L3JDEHCQ.js";import"./chunks/chunk-QR7QPUFN.js";import"./chunks/chunk-2I64AYHG.js";import"./chunks/chunk-SOJCELXH.js";import"./chunks/chunk-N6CNMMSZ.js";import{getTeams}from"./chunks/chunk-BW24TEUN.js";import"./chunks/chunk-U6TAKLJ6.js";import"./chunks/chunk-JDQP267R.js";import{param}from"./chunks/chunk-SXUEGVWB.js";import{getScope,isAppPrincipalEnabled,resolveAppTokenScope}from"./chunks/chunk-MBHVWCFE.js";import{TelemetryClient,TelemetryEventStore}from"./chunks/chunk-W2XUH2WW.js";import"./chunks/chunk-RCTYVKM5.js";import"./chunks/chunk-5XJNPXQK.js";import{printError}from"./chunks/chunk-4P66SQRS.js";import{getArgs,parseArguments}from"./chunks/chunk-ZRS5X7M2.js";import{setFetchDispatcher}from"./chunks/chunk-MY4MONOH.js";import{isNativeBinaryInstall}from"./chunks/chunk-7T6TL3GQ.js";import{getLinkFromDir,getVercelDirectory,hasLocalProjectLink,require_lib}from"./chunks/chunk-AGDWVTJV.js";import"./chunks/chunk-F2ZWW2IO.js";import"./chunks/chunk-B4ATVYZW.js";import{humanizePath}from"./chunks/chunk-PPCFQQSU.js";import"./chunks/chunk-OSCCYU74.js";import{shouldEmitNonInteractiveCommandError,trackAgentCommandOutcome}from"./chunks/chunk-WR5OOWD6.js";import"./chunks/chunk-JAJW3P42.js";import"./chunks/chunk-4VGOAPFY.js";import{getUser}from"./chunks/chunk-GTK7TBLW.js";import{getTeamByIdOrSlug}from"./chunks/chunk-VOZEB6PD.js";import{APIError,CantFindConfig,CantParseJSONFile,DeprecatedNowJson,InvalidToken,WorkingDirectoryDoesNotExist}from"./chunks/chunk-GI6G3FJJ.js";import{cmd,getTitleName}from"./chunks/chunk-FI772UVH.js";import{output_manager_default,require_build_utils}from"./chunks/chunk-RTRCTYW6.js";import{require_dist}from"./chunks/chunk-QGIQK47P.js";import{require_cli_config}from"./chunks/chunk-BRK4OB4B.js";import{pkg_default}from"./chunks/chunk-AVSPFBLM.js";import"./chunks/chunk-XCJDGQO7.js";import"./chunks/chunk-YPTLSODC.js";import"./chunks/chunk-7HL2RPUO.js";import{require_source}from"./chunks/chunk-U7KCDTCH.js";import"./chunks/chunk-N3ZZ7FHQ.js";import"./chunks/chunk-GU6VIFR5.js";import{__commonJS,__require,__toESM}from"./chunks/chunk-6L236MNA.js";var require_epipebomb=__commonJS({"../../node_modules/.pnpm/epipebomb@1.0.0/node_modules/epipebomb/epipebomb.js"(exports,module){module.exports=epipeBomb;function epipeBomb(stream,callback){stream==null&&(stream=process.stdout),callback==null&&(callback=process.exit);function epipeFilter(err){if(err.code==="EPIPE")return callback();stream.listeners("error").length<=1&&(stream.removeAllListeners(),stream.emit("error",err),stream.on("error",epipeFilter))}stream.on("error",epipeFilter)}}});var 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(resolve=>{let timer=setTimeout(()=>{req.destroy(),resolve(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){resolve(void 0);return}resolve(JSON.parse(buf))}catch{resolve(void 0)}})});req.on("error",()=>{clearTimeout(timer),resolve(void 0)})})}module.exports={fetchDistTags:fetchDistTags2}}});var import_error_utils3=__toESM(require_dist(),1),import_fs_extra2=__toESM(require_lib(),1),import_chalk=__toESM(require_source(),1),import_semver2=__toESM(require_semver(),1),import_epipebomb=__toESM(require_epipebomb(),1);import{join as join2}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 sentry;async function getSentry(){if(!sentry){let[SentryModule,{SENTRY_DSN},{default:pkg}]=await Promise.all([import("./chunks/cjs-GOQHXIHX.js"),import("./chunks/constants-G4UYVLOF.js"),import("./chunks/pkg-YFU67U7I.js")]),Sentry="init"in SentryModule?SentryModule:SentryModule.default;Sentry.init({dsn:SENTRY_DSN,release:`vercel-cli@${pkg.version}`,environment:"stable",autoSessionTracking:!1}),sentry=Sentry}return sentry}var SUBCOMMANDS_WITHOUT_TOKEN=["login","logout","help","init","build","builders","changelog","deploy","sandbox","telemetry","upgrade","version","skills","agent","whoami"];function isOutputDebugEnabled(debugFlag){return debugFlag===!0||process.env.VERCEL_CLI_DEBUG==="1"}var import_error_utils=__toESM(require_dist(),1);async function reportError(sentry2,client2,error){if(ignoreError(error))return;let user,team,scopeError;try{({user,team}=await getScope(client2))}catch(err){(0,import_error_utils.isError)(err)&&(scopeError=err)}sentry2.withScope(scope=>{if(user){let spec={email:user.email,id:user.id,username:user.username,name:user.name};scope.setUser(spec)}team&&scope.setTag("currentTeam",team.id),scopeError&&scope.setExtra("scopeError",{name:scopeError.name,message:scopeError.message,stack:scopeError.stack});let args,argsError;try{args=getArgs(process.argv.slice(2),{})}catch(err){(0,import_error_utils.isError)(err)&&(argsError=err)}if(args){let flags=["--env","--build-env","--token"];for(let flag of flags)args[flag]&&(args[flag]="REDACTED");args._.length>=4&&args._[0].startsWith("secret")&&args._[1]==="add"&&(args._[3]="REDACTED"),scope.setExtra("args",args)}else{let msg="Unable to parse args";argsError&&(msg+=`: ${argsError}`),scope.setExtra("args",msg)}scope.setExtra("node",{execPath:process.execPath,version:process.version,platform:process.platform}),sentry2.captureException(error)});let sentryClient=sentry2.getCurrentHub().getClient();sentryClient&&await sentryClient.close()}function ignoreError(error){return(0,import_error_utils.isError)(error)&&error.message.includes("uv_cwd")}var import_types=__toESM(require_types(),1);import path from"path";var import_error_utils2=__toESM(require_dist(),1);var config;async function earlyGetConfig(configFile){if(config)return config;let localPath;try{localPath=process.cwd()}catch(err){if((0,import_error_utils2.isErrnoException)(err)&&err.code==="ENOENT")return new WorkingDirectoryDoesNotExist;throw err}if(configFile){let localFilePath=path.resolve(localPath,configFile);output_manager_default.debug(`Found config in provided --local-config path ${localFilePath}`);let localConfig=await readJSONFile(localFilePath);return localConfig instanceof CantParseJSONFile?localConfig:localConfig===null?new CantFindConfig([humanizePath(localFilePath)]):(config=localConfig,config[import_types.fileNameSymbol]=configFile,config)}let vercelFilePath=path.resolve(localPath,"vercel.json"),nowFilePath=path.resolve(localPath,"now.json"),[vercelConfig,nowConfig]=await Promise.all([readJSONFile(vercelFilePath),readJSONFile(nowFilePath)]);return vercelConfig instanceof CantParseJSONFile?vercelConfig:nowConfig instanceof CantParseJSONFile?nowConfig:vercelConfig!==null?(output_manager_default.debug(`Found config in file "${vercelFilePath}"`),config=vercelConfig,config[import_types.fileNameSymbol]="vercel.json",config):nowConfig!==null?new DeprecatedNowJson(nowFilePath):new CantFindConfig([vercelFilePath].map(humanizePath))}var import_cli_config=__toESM(require_cli_config(),1);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}}var import_ci_info=__toESM(require_ci_info(),1);var RootTelemetryClient=class extends TelemetryClient{trackCliExtension(){this.trackExtension()}trackCliDefaultDeploy(defaultDeploy){defaultDeploy&&this.trackDefaultDeploy()}trackCliCommandAgent(actual){this.trackCliCommand({command:"agent",value:actual})}trackCliCommandAgentRuns(actual){this.trackCliCommand({command:"agent-runs",value:actual})}trackCliCommandAiGateway(actual){this.trackCliCommand({command:"ai-gateway",value:actual})}trackCliCommandAlias(actual){this.trackCliCommand({command:"alias",value:actual})}trackCliCommandActivity(actual){this.trackCliCommand({command:"activity",value:actual})}trackCliCommandAlerts(actual){this.trackCliCommand({command:"alerts",value:actual})}trackCliCommandApi(actual){this.trackCliCommand({command:"api",value:actual})}trackCliCommandBisect(actual){this.trackCliCommand({command:"bisect",value:actual})}trackCliCommandBlob(actual){this.trackCliCommand({command:"blob",value:actual})}trackCliCommandBuild(actual){this.trackCliCommand({command:"build",value:actual})}trackCliCommandBuy(actual){this.trackCliCommand({command:"buy",value:actual})}trackCliCommandCache(actual){this.trackCliCommand({command:"cache",value:actual})}trackCliCommandCerts(actual){this.trackCliCommand({command:"certs",value:actual})}trackCliCommandChangelog(actual){this.trackCliCommand({command:"changelog",value:actual})}trackCliCommandComments(actual){this.trackCliCommand({command:"comments",value:actual})}trackCliCommandConnex(actual){this.trackCliCommand({command:"connect",value:actual})}trackCliCommandContract(actual){this.trackCliCommand({command:"contract",value:actual})}trackCliCommandCrons(actual){this.trackCliCommand({command:"crons",value:actual})}trackCliCommandCurl(actual){this.trackCliCommand({command:"curl",value:actual})}trackCliCommandDeploy(actual){this.trackCliCommand({command:"deploy",value:actual})}trackCliCommandDeployHooks(actual){this.trackCliCommand({command:"deploy-hooks",value:actual})}trackCliCommandDev(actual){this.trackCliCommand({command:"dev",value:actual})}trackCliCommandDomains(actual){this.trackCliCommand({command:"domains",value:actual})}trackCliCommandDns(actual){this.trackCliCommand({command:"dns",value:actual})}trackCliCommandEnv(actual){this.trackCliCommand({command:"env",value:actual})}trackCliCommandExperiments(actual){this.trackCliCommand({command:"experiments",value:actual})}trackCliCommandFirewall(actual){this.trackCliCommand({command:"firewall",value:actual})}trackCliCommandFlags(actual){this.trackCliCommand({command:"flags",value:actual})}trackCliCommandGit(actual){this.trackCliCommand({command:"git",value:actual})}trackCliCommandGlobalConfig(actual){this.trackCliCommand({command:"global-config",value:actual})}trackCliCommandGuidance(actual){this.trackCliCommand({command:"guidance",value:actual})}trackCliCommandHelp(actual){this.trackCliCommand({command:"help",value:actual})}trackCliCommandHttpstat(actual){this.trackCliCommand({command:"httpstat",value:actual})}trackCliCommandInit(actual){this.trackCliCommand({command:"init",value:actual})}trackCliCommandInspect(actual){this.trackCliCommand({command:"inspect",value:actual})}trackCliCommandInstall(actual){this.trackCliCommand({command:"install",value:actual})}trackCliCommandIntegration(actual){this.trackCliCommand({command:"integration",value:actual})}trackCliCommandIntegrationResource(actual){this.trackCliCommand({command:"integration-resource",value:actual})}trackCliCommandKms(actual){this.trackCliCommand({command:"kms",value:actual})}trackCliCommandLink(actual){this.trackCliCommand({command:"link",value:actual})}trackCliCommandList(actual){this.trackCliCommand({command:"list",value:actual})}trackCliCommandLogin(actual){this.trackCliCommand({command:"login",value:actual})}trackCliCommandLogout(actual){this.trackCliCommand({command:"logout",value:actual})}trackCliCommandLogs(actual){this.trackCliCommand({command:"logs",value:actual})}trackCliCommandMetrics(actual){this.trackCliCommand({command:"metrics",value:actual})}trackCliCommandMicrofrontends(actual){this.trackCliCommand({command:"microfrontends",value:actual})}trackCliCommandOpen(actual){this.trackCliCommand({command:"open",value:actual})}trackCliCommandProject(actual){this.trackCliCommand({command:"project",value:actual})}trackCliCommandPromote(actual){this.trackCliCommand({command:"promote",value:actual})}trackCliCommandPull(actual){this.trackCliCommand({command:"pull",value:actual})}trackCliCommandRollback(actual){this.trackCliCommand({command:"rollback",value:actual})}trackCliCommandRollingRelease(actual){this.trackCliCommand({command:"rolling-release",value:actual})}trackCliCommandRedeploy(actual){this.trackCliCommand({command:"redeploy",value:actual})}trackCliCommandRedirects(actual){this.trackCliCommand({command:"redirects",value:actual})}trackCliCommandRoutes(actual){this.trackCliCommand({command:"routes",value:actual})}trackCliCommandRemove(actual){this.trackCliCommand({command:"remove",value:actual})}trackCliCommandSkills(actual){this.trackCliCommand({command:"skills",value:actual})}trackCliCommandSandbox(actual){this.trackCliCommand({command:"sandbox",value:actual})}trackCliCommandSecurity(actual){this.trackCliCommand({command:"security",value:actual})}trackCliCommandStorage(actual){this.trackCliCommand({command:"storage",value:actual})}trackCliCommandTarget(actual){this.trackCliCommand({command:"target",value:actual})}trackCliCommandTeams(actual){this.trackCliCommand({command:"teams",value:actual})}trackCliCommandTokens(actual){this.trackCliCommand({command:"tokens",value:actual})}trackCliCommandTelemetry(actual){this.trackCliCommand({command:"telemetry",value:actual})}trackCliCommandTraces(actual){this.trackCliCommand({command:"traces",value:actual})}trackCliCommandWhoami(actual){this.trackCliCommand({command:"whoami",value:actual})}trackCliCommandUpgrade(actual){this.trackCliCommand({command:"upgrade",value:actual})}trackCliCommandVersion(actual){this.trackCliCommand({command:"version",value:actual})}trackCliCommandWebhooks(actual){this.trackCliCommand({command:"webhooks",value:actual})}trackCliCommandUsage(actual){this.trackCliCommand({command:"usage",value:actual})}trackCliCommandVcr(actual){this.trackCliCommand({command:"vcr",value:actual})}trackCPUs(){super.trackCPUs()}trackAgenticUse(agent){super.trackAgenticUse(agent)}trackArch(){super.trackArch()}trackPlatform(){super.trackPlatform()}trackCIVendorName(){this.trackCI(import_ci_info.default.id)}trackStdinIsTTY(isTTY2){super.trackStdinIsTTY(isTTY2)}trackVersion(version){super.trackVersion(version)}trackProjectId(projectId){super.trackProjectId(projectId)}trackInvocationId(invocationId){super.trackInvocationId(invocationId)}trackDeviceId(deviceId){super.trackDeviceId(deviceId)}trackVercelPluginActiveSession(){super.trackVercelPluginActiveSession()}trackVercelPluginVersion(version){super.trackVercelPluginVersion(version)}trackErrorStatus(status){super.trackErrorStatus(status)}trackErrorCode(code){super.trackErrorCode(code)}trackErrorSlug(slug){super.trackErrorSlug(slug)}trackErrorAction(action){super.trackErrorAction(action)}trackErrorServerMessage(serverMessage){super.trackErrorServerMessage(serverMessage)}trackCliOptionCwd(cwd){cwd&&this.trackCliOption({option:"cwd",value:this.redactedValue})}trackCliOptionLocalConfig(localConfig){localConfig&&this.trackCliOption({option:"local-config",value:this.redactedValue})}trackCliOptionGlobalConfig(globalConfig){globalConfig&&this.trackCliOption({option:"global-config",value:this.redactedValue})}trackCliOptionScope(scope){scope&&this.trackCliOption({option:"scope",value:this.redactedValue})}trackCliOptionToken(token){token&&this.trackCliOption({option:"token",value:this.redactedValue})}trackCliOptionTeam(team){team&&this.trackCliOption({option:"team",value:this.redactedValue})}trackCliOptionApi(api){api&&this.trackCliOption({option:"api",value:this.redactedValue})}trackCliFlagDebug(debug){debug&&this.trackCliFlag("debug")}trackCliFlagNoColor(noColor){noColor&&this.trackCliFlag("no-color")}};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}}function checkTelemetryStatus({config:config2}){config2.telemetry||process.env.VERCEL_TELEMETRY_DISABLED||(output_manager_default.note("The Vercel CLI now collects telemetry regarding usage of the CLI."),output_manager_default.log("This information is used to shape the CLI roadmap and prioritize features."),output_manager_default.log("You can learn more, including how to opt-out if you'd not like to participate in this program, by visiting the following URL:"),output_manager_default.log("https://vercel.com/docs/cli/about-telemetry"),config2.telemetry={enabled:!0},writeToConfigFile(config2))}function checkGuidanceStatus({config:config2}){process.env.FF_GUIDANCE_MODE&&(process.env.CI||process.env.VERCEL_GUIDANCE_DISABLED||config2.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"),config2.guidance={enabled:!0},writeToConfigFile(config2)))}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_utils3.isError)(err)&&err.message.includes("uv_cwd")&&(console.error("Error: The current working directory does not exist."),process.exit(1))}{let SILENCED_ERRORS=["DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead."],originalError=console.error;console.error=msg=>{SILENCED_ERRORS.some(error=>typeof msg=="string"&&msg.includes(error))||originalError(msg)}}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])}(0,import_epipebomb.default)();var client,resolvedCommandForUpdate,handleRejection=async err=>{err?err instanceof Error?await handleUnexpected(err):(output_manager_default.error(`An unexpected rejection occurred
8
8
  ${err}`),await reportError(await getSentry(),client,err)):output_manager_default.error("An unexpected empty rejection occurred"),process.exit(1)},handleUnexpected=async err=>{let{message}=err;if(message.includes("sentry")&&message.includes("ENOTFOUND")){output_manager_default.debug(`Sentry is not reachable: ${err}`);return}output_manager_default.error(`An unexpected error occurred!
9
9
  ${err.stack}`),await reportError(await getSentry(),client,err),process.exit(1)};process.on("unhandledRejection",handleRejection);process.on("uncaughtException",handleUnexpected);process.env.CLAUDECODE&&process.stderr.write(`<claude-code-hint v="1" type="plugin" value="vercel@claude-plugins-official" />
10
- `);var SHOULD_CHECK_FOR_UPDATES=!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}),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=()=>parseArguments(process.argv,{"--version":Boolean,"-v":"--version","--changelog":Boolean,"--non-interactive":Boolean},{permissive:!0}),parsedArgs;try{parsedArgs=parseInitialArgs();let isDebugging=parsedArgs.flags["--debug"],isNoColor=parsedArgs.flags["--no-color"];output_manager_default.initialize({debug:isDebugging,noColor:isNoColor})}catch(err){return printError(err),1}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
10
+ `);var SHOULD_CHECK_FOR_UPDATES=!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}),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=()=>parseArguments(process.argv,{"--version":Boolean,"-v":"--version","--changelog":Boolean,"--non-interactive":Boolean},{permissive:!0}),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 printError(err),1}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],betaCommands=["api","crons","curl","kms","webhooks"],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=targetOrSubcommand&&betaCommands.includes(targetOrSubcommand)?`${versionBanner} | ${targetOrSubcommand} is in beta \u2014 https://vercel.com/feedback`:versionBanner;if(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)return output_manager_default.print(help()),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_utils3.errorToString)(err)}`),1}let config2;try{config2=readConfigFile()}catch(err){if((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"){config2=import_cli_config.defaultGlobalConfig;try{writeToConfigFile(config2)}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_utils3.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_utils3.errorToString)(err)}`),1}let tokenSource,explicitToken;typeof parsedArgs.flags["--token"]=="string"?(explicitToken=parsedArgs.flags["--token"],tokenSource="flag"):process.env.VERCEL_TOKEN&&(explicitToken=process.env.VERCEL_TOKEN,tokenSource="env");let authConfig;if(tokenSource)authConfig=(0,import_cli_config.getDefaultAuthConfig)();else try{authConfig=readAuthConfigFile(config2)}catch(err){if((0,import_error_utils3.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_utils3.errorToString)(err)}`),1}let telemetryEventStore=new TelemetryEventStore({isDebug:process.env.VERCEL_TELEMETRY_DEBUG==="1",config:config2.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:config2}),process.env.FF_GUIDANCE_MODE&&checkGuidanceStatus({config:config2});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.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,telemetrySaved=!1,getStringProperty=(value,key)=>{if(typeof value=="object"&&value!==null&&key in value){let property=value[key];if(typeof property=="string")return property}},getNumberProperty=(value,key)=>{if(typeof value=="object"&&value!==null&&key in value){let property=value[key];if(typeof property=="number")return property}},trackAgenticErrorTelemetry=err=>{if(!isAgent)return;telemetry.trackErrorStatus(getNumberProperty(err,"status")),telemetry.trackErrorCode(getStringProperty(err,"code")),telemetry.trackErrorSlug(getStringProperty(err,"slug")),telemetry.trackErrorAction(getStringProperty(err,"action"));let serverMessage=getStringProperty(err,"serverMessage")??((0,import_error_utils3.isError)(err)?err.message:void 0);telemetry.trackErrorServerMessage(serverMessage)},saveTelemetry=async()=>{if(telemetrySaved)return;let postCommandSpan=rootSpan.child("vc.postCommand");if(telemetryEventStore.updateTeamId(client?.config.currentTeam??config2.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),await telemetryEventStore.save(),postCommandSpan.stop(),telemetrySaved=!0},finishWithExitCode=async code=>(client&&trackAgentCommandOutcome(client,code),await saveTelemetry(),code);typeof parsedArgs.flags["--api"]=="string"?apiUrl=parsedArgs.flags["--api"]:config2&&config2.api&&(apiUrl=config2.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}`),hasProxyConfig()){let{EnvProxyDispatcher}=await import("./chunks/fetch-proxy-AEAWC6MD.js");setFetchDispatcher(new EnvProxyDispatcher)}client=new Client({apiUrl,stdin:process.stdin,stdout:process.stdout,stderr:output_manager_default.stream,config:config2,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=join2(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-V5CKADGX.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;if(subcommand==="help"){if(telemetry.trackCliCommandHelp("help"),subSubCommand&&isHiddenCommand(subSubCommand))return output_manager_default.error(`The ${param(subSubCommand)} subcommand does not exist`),finishWithExitCode(1);subcommand=subSubCommand||"deploy",client.argv.push("-h")}let subcommandsWithoutToken=[...SUBCOMMANDS_WITHOUT_TOKEN];if(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),(!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-BTUGE7QE.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(1);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(1);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(1)}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(arg=>arg==="--project"||arg.startsWith("--project="));if(typeof scope=="string"&&targetCommand!=="login"&&(targetCommand!=="build"||buildNeedsRemoteProjectScope)&&targetCommand!=="sandbox"){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_utils3.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"&&isAppPrincipalEnabled()&&await resolveAppTokenScope(client,scope)))return(0,import_error_utils3.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_utils3.errorToString)(err)}`),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}if(user){let scopeMatchesUserIdentity=user.id===scope||user.email===scope||user.username===scope,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_utils3.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_utils3.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))}let related=teams.find(team=>team.id===scope||team.slug===scope);if(!related&&!scopeMatchesUserIdentity)try{related=await getTeamByIdOrSlug(client,scope,{useCurrentTeam:!1})}catch(err){output_manager_default.debug(`Direct team lookup for scope "${scope}" failed: ${(0,import_error_utils3.errorToString)(err)}`)}if(related)client.config.currentTeam=related.id;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)}}let exitCode;try{if(!targetCommand){targetCommand=parsedArgs.args[2];try{let{execExtension}=await import("./chunks/exec-ZLT5KH2Z.js");exitCode=await execExtension(client,targetCommand,parsedArgs.args.slice(3),cwd),telemetry.trackCliExtension()}catch(err){if((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"){if(handleCommandTypo({client,command:targetCommand,availableCommands:commandsStructs}))return finishWithExitCode(1);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"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"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"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"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"security":telemetry.trackCliCommandSecurity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).security;break;case"skills":telemetry.trackCliCommandSkills(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).skills;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(1);func.default&&(func=func.default),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){if(trackAgenticErrorTelemetry(err),shouldEmitNonInteractiveCommandError(client)&&((0,import_error_utils3.isError)(err)&&"status"in err||(0,import_error_utils3.isError)(err)&&"code"in err&&err.code==="ARG_UNKNOWN_OPTION"))return printError(err,client),finishWithExitCode(1);if((0,import_error_utils3.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_utils3.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_utils3.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_utils3.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(trackAgentCommandOutcome(client,exitCode??0),await saveTelemetry(),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=`https://github.com/vercel/vercel/releases/tag/vercel%40${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)return output_manager_default.print(help()),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_utils3.errorToString)(err)}`),1}let config2;try{config2=readConfigFile()}catch(err){if((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"){config2=import_cli_config.defaultGlobalConfig;try{writeToConfigFile(config2)}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_utils3.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_utils3.errorToString)(err)}`),1}let tokenSource,explicitToken;typeof parsedArgs.flags["--token"]=="string"?(explicitToken=parsedArgs.flags["--token"],tokenSource="flag"):process.env.VERCEL_TOKEN&&(explicitToken=process.env.VERCEL_TOKEN,tokenSource="env");let authConfig;if(tokenSource)authConfig=(0,import_cli_config.getDefaultAuthConfig)();else try{authConfig=readAuthConfigFile(config2)}catch(err){if((0,import_error_utils3.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_utils3.errorToString)(err)}`),1}let telemetryEventStore=new TelemetryEventStore({isDebug:process.env.VERCEL_TELEMETRY_DEBUG==="1",config:config2.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:config2}),process.env.FF_GUIDANCE_MODE&&checkGuidanceStatus({config:config2});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.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,telemetrySaved=!1,getStringProperty=(value,key)=>{if(typeof value=="object"&&value!==null&&key in value){let property=value[key];if(typeof property=="string")return property}},getNumberProperty=(value,key)=>{if(typeof value=="object"&&value!==null&&key in value){let property=value[key];if(typeof property=="number")return property}},trackAgenticErrorTelemetry=err=>{if(!isAgent)return;telemetry.trackErrorStatus(getNumberProperty(err,"status")),telemetry.trackErrorCode(getStringProperty(err,"code")),telemetry.trackErrorSlug(getStringProperty(err,"slug")),telemetry.trackErrorAction(getStringProperty(err,"action"));let serverMessage=getStringProperty(err,"serverMessage")??((0,import_error_utils3.isError)(err)?err.message:void 0);telemetry.trackErrorServerMessage(serverMessage)},saveTelemetry=async()=>{if(telemetrySaved)return;let postCommandSpan=rootSpan.child("vc.postCommand");if(telemetryEventStore.updateTeamId(client?.config.currentTeam??config2.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),await telemetryEventStore.save(),postCommandSpan.stop(),telemetrySaved=!0},finishWithExitCode=async code=>(client&&trackAgentCommandOutcome(client,code),await saveTelemetry(),code);typeof parsedArgs.flags["--api"]=="string"?apiUrl=parsedArgs.flags["--api"]:config2&&config2.api&&(apiUrl=config2.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}`),hasProxyConfig()){let{EnvProxyDispatcher}=await import("./chunks/fetch-proxy-AEAWC6MD.js");setFetchDispatcher(new EnvProxyDispatcher)}client=new Client({apiUrl,stdin:process.stdin,stdout:process.stdout,stderr:output_manager_default.stream,config:config2,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=join2(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-YEDROCHV.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;if(subcommand==="help"){if(telemetry.trackCliCommandHelp("help"),subSubCommand&&isHiddenCommand(subSubCommand))return output_manager_default.error(`The ${param(subSubCommand)} subcommand does not exist`),finishWithExitCode(1);subcommand=subSubCommand||"deploy",client.argv.push("-h")}let subcommandsWithoutToken=[...SUBCOMMANDS_WITHOUT_TOKEN];if(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),(!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-YVS4S7X2.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(1);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(1);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(1)}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(arg=>arg==="--project"||arg.startsWith("--project="));if(typeof scope=="string"&&targetCommand!=="login"&&(targetCommand!=="build"||buildNeedsRemoteProjectScope)&&targetCommand!=="sandbox"){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_utils3.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"&&isAppPrincipalEnabled()&&await resolveAppTokenScope(client,scope)))return(0,import_error_utils3.isErrnoException)(err)&&err.code==="NOT_AUTHORIZED"?(printError(err,client,{json:wantsMachineReadableOutput(targetCommand,client.argv.slice(2))}),trackAgenticErrorTelemetry(err),finishWithExitCode(1)):(output_manager_default.error(`Not able to load user because of unexpected error: ${(0,import_error_utils3.errorToString)(err)}`),trackAgenticErrorTelemetry(err),finishWithExitCode(1))}if(user){let scopeMatchesUserIdentity=user.id===scope||user.email===scope||user.username===scope,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_utils3.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_utils3.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))}let related=teams.find(team=>team.id===scope||team.slug===scope);if(!related&&!scopeMatchesUserIdentity)try{related=await getTeamByIdOrSlug(client,scope,{useCurrentTeam:!1})}catch(err){output_manager_default.debug(`Direct team lookup for scope "${scope}" failed: ${(0,import_error_utils3.errorToString)(err)}`)}if(related)client.config.currentTeam=related.id;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)}}let exitCode;try{if(!targetCommand){targetCommand=parsedArgs.args[2];try{let{execExtension}=await import("./chunks/exec-ZLT5KH2Z.js");exitCode=await execExtension(client,targetCommand,parsedArgs.args.slice(3),cwd),telemetry.trackCliExtension()}catch(err){if((0,import_error_utils3.isErrnoException)(err)&&err.code==="ENOENT"){if(handleCommandTypo({client,command:targetCommand,availableCommands:commandsStructs}))return finishWithExitCode(1);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"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"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"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"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"security":telemetry.trackCliCommandSecurity(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).security;break;case"skills":telemetry.trackCliCommandSkills(userSuppliedSubCommand),func=(await import("./commands-bulk.js")).skills;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(1);func.default&&(func=func.default),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){if(trackAgenticErrorTelemetry(err),err instanceof InvalidToken||(0,import_error_utils3.isError)(err)&&"status"in err&&err.status===401)return printError(err,client,{json:wantsMachineReadableOutput(targetCommand,client.argv.slice(2))}),finishWithExitCode(1);if(shouldEmitNonInteractiveCommandError(client)&&((0,import_error_utils3.isError)(err)&&"status"in err||(0,import_error_utils3.isError)(err)&&"code"in err&&err.code==="ARG_UNKNOWN_OPTION"))return printError(err,client),finishWithExitCode(1);if((0,import_error_utils3.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_utils3.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_utils3.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_utils3.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(trackAgentCommandOutcome(client,exitCode??0),await saveTelemetry(),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=`https://github.com/vercel/vercel/releases/tag/vercel%40${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/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const version = "59.18.0";
1
+ export const version = "59.19.1";
2
2
  export const buildLabel = "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel",
3
- "version": "59.18.0",
3
+ "version": "59.19.1",
4
4
  "type": "module",
5
5
  "preferGlobal": true,
6
6
  "license": "Apache-2.0",
@@ -36,13 +36,13 @@
36
36
  "uuid": "14.0.1",
37
37
  "zod": "4.1.11",
38
38
  "@vercel/backends": "8.0.1",
39
+ "@vercel/build-utils": "14.10.1",
39
40
  "@vercel/cli-auth": "0.3.8",
40
41
  "@vercel/cli-config": "0.2.7",
41
42
  "@vercel/container": "8.2.0",
42
- "@vercel/build-utils": "14.10.1",
43
43
  "@vercel/detect-agent": "1.2.5",
44
- "@vercel/express": "8.0.1",
45
44
  "@vercel/elysia": "8.0.1",
45
+ "@vercel/express": "8.0.1",
46
46
  "@vercel/fastify": "8.0.1",
47
47
  "@vercel/go": "11.0.1",
48
48
  "@vercel/hono": "8.0.1",
@@ -208,20 +208,22 @@
208
208
  "@vercel-internals/builder-orchestration": "1.0.0",
209
209
  "@vercel-internals/cli-builder-integration": "1.0.0",
210
210
  "@vercel-internals/constants": "1.0.4",
211
- "@vercel-internals/get-package-json": "1.0.0",
212
211
  "@vercel-internals/service-topology": "1.0.0",
213
- "@vercel-internals/types": "3.0.6",
214
212
  "@vercel/client": "18.4.1",
215
213
  "@vercel/error-utils": "2.2.1",
214
+ "@vercel-internals/types": "3.0.6",
215
+ "@vercel/routing-utils": "6.6.0",
216
216
  "@vercel/frameworks": "3.34.0",
217
217
  "@vercel/fs-detectors": "7.3.0",
218
- "@vercel/routing-utils": "6.6.0"
218
+ "@vercel-internals/get-package-json": "1.0.0"
219
219
  },
220
220
  "optionalDependencies": {
221
- "@vercel/vc-native-darwin-arm64": "59.18.0",
222
- "@vercel/vc-native-darwin-x64": "59.18.0",
223
- "@vercel/vc-native-linux-arm64": "59.18.0",
224
- "@vercel/vc-native-linux-x64": "59.18.0"
221
+ "@vercel/vc-native-darwin-arm64": "59.19.1",
222
+ "@vercel/vc-native-darwin-x64": "59.19.1",
223
+ "@vercel/vc-native-linux-arm64": "59.19.1",
224
+ "@vercel/vc-native-linux-x64": "59.19.1",
225
+ "@vercel/vc-native-win32-arm64": "59.19.1",
226
+ "@vercel/vc-native-win32-x64": "59.19.1"
225
227
  },
226
228
  "scripts": {
227
229
  "test": "node scripts/test.mjs --run",
@@ -1,8 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{parseTeamRefs,require_async_sema,teamRefBody}from"./chunk-S5CEIACD.js";import{repositoryPermissionsPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-2YBNGUYY.js";import{outputError}from"./chunk-ZVFZIWBV.js";import"./chunk-D4MW3RDW.js";import{permissionsAddSubcommand}from"./chunk-YMVDWVMO.js";import"./chunk-7O3KGTQ3.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import"./chunk-CJ3LL5E7.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-AL5JWXZE.js";import{parseArguments}from"./chunk-HUHUQXHY.js";import"./chunk-MY4MONOH.js";import"./chunk-HUI32UNA.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-KNQ3Y22G.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-4VGOAPFY.js";import"./chunk-WSNDO7JA.js";import"./chunk-VOZEB6PD.js";import{isAPIError}from"./chunk-CBWDIZAF.js";import{packageName}from"./chunk-FI772UVH.js";import{output_manager_default}from"./chunk-RTRCTYW6.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import{__toESM}from"./chunk-6L236MNA.js";var import_async_sema=__toESM(require_async_sema(),1);var USAGE="vcr permissions <repository> add <team>[,<team>...]";async function add(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(permissionsAddSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,USAGE),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],teamRefs=parseTeamRefs(parsedArgs.args.slice(2)),project=parsedArgs.flags["--project"];if(telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),teamRefs.length===0)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing team. Example: ${packageName} vcr permissions ${repository} add team_1a2b3c4d`,next:[{command:buildCommandWithGlobalFlags(client.argv,USAGE),when:"Replace <team> with a team id or slug (comma-separate multiple teams)"}]},1),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS",`Usage: \`vercel ${USAGE}\``);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryPermissionsPath(scope,repository),added=[],failed=[];output_manager_default.spinner(`Sharing ${repository} with ${teamRefs.length===1?teamRefs[0]:`${teamRefs.length} teams`}...`);let sema=new import_async_sema.default(10),results;try{results=await Promise.all(teamRefs.map(async team=>{await sema.acquire();try{let result=await client.fetch(path,{method:"POST",body:teamRefBody(team)});return{ok:!0,team,permission:result.permission}}catch(err){if(!isAPIError(err))throw err;let message=err.serverMessage||`API error (${err.status}).`;return{ok:!1,team,failure:{team,code:err.code||"API_ERROR",message}}}finally{sema.release()}}))}finally{output_manager_default.stopSpinner()}for(let result of results)result.ok?(added.push(result.permission),fr.jsonOutput||output_manager_default.success(`Shared ${repository} with ${result.permission?.teamSlug??result.team}`)):(failed.push(result.failure),fr.jsonOutput||output_manager_default.error(`Failed to share ${repository} with ${result.team}: ${result.failure.message}`));return failed.length>0&&outputAgentError(client,{status:"error",reason:AGENT_REASON.API_ERROR,message:`Failed to share ${repository} with ${failed.map(f=>`${f.team} (${f.message})`).join(", ")}`},1),fr.jsonOutput&&client.stdout.write(`${JSON.stringify({permissions:added,failed},null,2)}
8
- `),failed.length>0?1:0}export{add as default};
@@ -1,8 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{emitVcrArgParseError,handleVcrApiError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-2YBNGUYY.js";import{outputError}from"./chunk-ZVFZIWBV.js";import"./chunk-D4MW3RDW.js";import{addSubcommand}from"./chunk-65JYSI26.js";import"./chunk-YMVDWVMO.js";import"./chunk-O7G3CZ42.js";import"./chunk-N3N5UHIL.js";import"./chunk-7O3KGTQ3.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import"./chunk-CJ3LL5E7.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-AL5JWXZE.js";import{parseArguments}from"./chunk-HUHUQXHY.js";import"./chunk-MY4MONOH.js";import"./chunk-HUI32UNA.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-KNQ3Y22G.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-4VGOAPFY.js";import"./chunk-WSNDO7JA.js";import"./chunk-VOZEB6PD.js";import{isAPIError}from"./chunk-CBWDIZAF.js";import{packageName}from"./chunk-FI772UVH.js";import{output_manager_default}from"./chunk-RTRCTYW6.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";async function add(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(addSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr add <name> --project <name-or-id>"),printError(err),1}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let name=parsedArgs.args[0],project=parsedArgs.flags["--project"];if(telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),!name)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing repository name. Example: ${packageName} vcr add <name>`,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr add <name>"),when:"Replace <name> with the repository name to create"}]},1),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS","Usage: `vercel vcr add <name>`");let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=`/v1/vcr/repository?teamId=${encodeURIComponent(scope.teamId)}`;output_manager_default.spinner("Creating repository...");try{let created=await client.fetch(path,{method:"POST",body:{projectId:scope.projectId,name}});return fr.jsonOutput?client.stdout.write(`${JSON.stringify(created,null,2)}
8
- `):output_manager_default.success(`Created repository ${created.repository?.name??name}`),0}catch(err){if(isAPIError(err))return handleVcrApiError(client,err,fr.jsonOutput,{retry:{command:buildCommandWithGlobalFlags(client.argv,"vcr ls"),when:"List existing repositories (a name conflict means it already exists)"}});throw err}finally{output_manager_default.stopSpinner()}}export{add as default};
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{DEFAULT_TAG,buildRepositoryReference,parseNameArg,validateImageParts}from"./chunk-HEGJZJO7.js";import{VCR_ENGINES,emitVcrArgParseError,isBuildxAvailable,isEngineInstalled,pushCompressionArgs,reportEngineCommandFailure,reportEnginePushFailure,resolveRegistry,resolveVcrScope,runEngine,splitPassthrough,validateVcrChoice}from"./chunk-2YBNGUYY.js";import{outputError}from"./chunk-ZVFZIWBV.js";import"./chunk-D4MW3RDW.js";import{buildSubcommand}from"./chunk-65JYSI26.js";import"./chunk-YMVDWVMO.js";import"./chunk-O7G3CZ42.js";import"./chunk-N3N5UHIL.js";import"./chunk-7O3KGTQ3.js";import"./chunk-2I64AYHG.js";import"./chunk-SOJCELXH.js";import"./chunk-QTKJC2O5.js";import{AGENT_REASON}from"./chunk-ENBTTYJR.js";import"./chunk-CJ3LL5E7.js";import"./chunk-5XJNPXQK.js";import{printError}from"./chunk-AL5JWXZE.js";import{parseArguments}from"./chunk-HUHUQXHY.js";import"./chunk-MY4MONOH.js";import"./chunk-HUI32UNA.js";import"./chunk-F2ZWW2IO.js";import"./chunk-B4ATVYZW.js";import"./chunk-PPCFQQSU.js";import{buildCommandWithGlobalFlags,outputAgentError}from"./chunk-KNQ3Y22G.js";import{getFlagsSpecification}from"./chunk-JAJW3P42.js";import"./chunk-4VGOAPFY.js";import"./chunk-WSNDO7JA.js";import"./chunk-VOZEB6PD.js";import"./chunk-CBWDIZAF.js";import"./chunk-FI772UVH.js";import{output_manager_default}from"./chunk-RTRCTYW6.js";import"./chunk-QGIQK47P.js";import"./chunk-AVSPFBLM.js";import"./chunk-XCJDGQO7.js";import"./chunk-YPTLSODC.js";import"./chunk-7HL2RPUO.js";import"./chunk-U7KCDTCH.js";import"./chunk-N3ZZ7FHQ.js";import"./chunk-GU6VIFR5.js";import"./chunk-6L236MNA.js";var DEFAULT_PLATFORM="linux/amd64";async function build(client,telemetry){let{own,passthrough}=splitPassthrough(client.argv),parsedArgs;try{parsedArgs=parseArguments(own,getFlagsSpecification(buildSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr build <engine> [path] [name[:tag]]"),printError(err),1}let[engineArg,pathArg,nameArg]=parsedArgs.args.slice(2),project=parsedArgs.flags["--project"],platform=parsedArgs.flags["--platform"],push=!!parsedArgs.flags["--push"];if(telemetry.trackCliArgumentEngine(engineArg),telemetry.trackCliArgumentPath(pathArg),telemetry.trackCliArgumentName(nameArg),telemetry.trackCliOptionProject(project),telemetry.trackCliOptionPlatform(platform),telemetry.trackCliFlagPush(push),!engineArg){let message=`Missing engine. Choose one of: ${VCR_ENGINES.join(", ")}.`;return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr build docker"),when:"Replace docker with the container tool you use"}]},1),outputError(client,!1,"MISSING_ARGUMENTS",message)}let choiceError=validateVcrChoice(client,"engine",engineArg,VCR_ENGINES,!1);if(typeof choiceError=="number")return choiceError;let engine=engineArg;if(!isEngineInstalled(engine)){let message=`\`${engine}\` is not installed or not on your PATH. Install it and try again.`;return outputAgentError(client,{status:"error",reason:"engine_not_found",message},1),outputError(client,!1,"ENGINE_NOT_FOUND",message)}let scope=await resolveVcrScope(client,{project,jsonOutput:!1});if(typeof scope=="number")return scope;let parsed=parseNameArg(nameArg,scope.projectName);if("error"in parsed)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:parsed.error},1),outputError(client,!1,"INVALID_ARGUMENTS",parsed.error);let validationError=validateImageParts(parsed);if(validationError)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:validationError},1),outputError(client,!1,"INVALID_ARGUMENTS",validationError);let ref=`${buildRepositoryReference({registry:resolveRegistry(),teamSlug:scope.teamSlug,projectName:scope.projectName,repository:parsed.repository})}:${parsed.tag??DEFAULT_TAG}`,contextPath=pathArg??".",buildPlatform=platform??DEFAULT_PLATFORM;if(push&&engine==="docker"&&await isBuildxAvailable()){let outputSpec=`type=image,name=${ref},push=true,oci-mediatypes=true,compression=zstd,compression-level=3,force-compression=true`,engineArgs2=["buildx","build","--platform",buildPlatform,"--output",outputSpec,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs2.join(" ")}`);let result2=await runEngine(engine,engineArgs2,{cwd:client.cwd,captureStderr:!0});return result2.exitCode!==0?reportEnginePushFailure(client,engine,"buildx build",result2):(output_manager_default.success(`Built and pushed ${ref} (zstd compression)`),0)}push&&engine==="docker"&&output_manager_default.warn("Docker Buildx is not available; building and pushing without zstd compression. Install Buildx for smaller, faster image pushes.");let engineArgs=["build","--platform",buildPlatform,"--tag",ref,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs.join(" ")}`);let result=await runEngine(engine,engineArgs,{cwd:client.cwd});if(result.exitCode!==0)return reportEngineCommandFailure(client,engine,"build",result);if(!push)return output_manager_default.success(`Built ${ref}`),output_manager_default.log(`Push it with \`${buildCommandWithGlobalFlags(client.argv,`vcr push ${engine}${nameArg?` ${nameArg}`:""}`)}\`.`),0;let pushArgs=["push",...pushCompressionArgs(engine),ref];output_manager_default.log(`Running: ${engine} ${pushArgs.join(" ")}`);let pushResult=await runEngine(engine,pushArgs,{cwd:client.cwd,captureStderr:!0});if(pushResult.exitCode!==0)return reportEnginePushFailure(client,engine,"push",pushResult);let compressed=engine!=="docker";return output_manager_default.success(`Built and pushed ${ref}${compressed?" (zstd compression)":""}`),0}export{build as default};
@@ -1,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{buildCorrectedCommand,isArgumentError}from"./chunk-HUHUQXHY.js";import{getErrorRecovery,shouldEmitNonInteractiveCommandError,trackAgentError,writeAgentError}from"./chunk-KNQ3Y22G.js";import{parseRetryAfterHeaderAsMillis,require_bytes}from"./chunk-CBWDIZAF.js";import{getCommandName}from"./chunk-FI772UVH.js";import{output_manager_default}from"./chunk-RTRCTYW6.js";import{pkg_default}from"./chunk-AVSPFBLM.js";import{require_source}from"./chunk-U7KCDTCH.js";import{__toESM}from"./chunk-6L236MNA.js";var import_chalk=__toESM(require_source(),1);var import_bytes=__toESM(require_bytes(),1);async function responseError(res,fallbackMessage=null,parsedBody={}){let message="",bodyError;if(res.status>=400&&res.status<500){let body;try{body=await res.json()}catch{body=parsedBody}bodyError=body.error||body.err||{},message=bodyError.message}message||(message=fallbackMessage===null?"Response Error":fallbackMessage);let err=new Error(`${message} (${res.status})`);if(err.status=res.status,err.serverMessage=message,bodyError)for(let field of Object.keys(bodyError))field!=="message"&&(err[field]=bodyError[field]);if(res.status===429||res.status===503){let parsed=parseRetryAfterHeaderAsMillis(res.headers.get("Retry-After"));err.retryAfterMs=parsed??(res.status===429?0:void 0)}return err}function toEnumerableError(err){let enumerable={};enumerable.name=err.name;for(let key of Object.getOwnPropertyNames(err))enumerable[key]=err[key];return enumerable}function printError(error2,client){typeof error2=="string"&&(error2=new Error(error2));let apiError=error2,{message,stack,status,code,sizeLimit}=apiError,argumentError=isArgumentError(error2)?error2:void 0,suggestion=argumentError?.suggestedOption&&argumentError.invalidOption,correction=suggestion&&client&&argumentError?buildCorrectedCommand(client.argv,argumentError.invalidOption,argumentError.suggestedOption,argumentError.flagsSpecification):void 0,recovery=getErrorRecovery(apiError,client),reason=status===403?"forbidden":status===402?"payment_required":status===401?"not_authorized":status===429?"rate_limited":code==="ARG_UNKNOWN_OPTION"?"invalid_arguments":"api_error",hint=argumentError?.allowedOptions?`Vercel CLI ${pkg_default.version} accepts: ${argumentError.allowedOptions.join(", ")}.${suggestion?` Did you mean ${argumentError.suggestedOption}?`:""}`:recovery.hint;if(client&&(status||argumentError?.allowedOptions)){let payload={...recovery,status:"error",reason,message:apiError.serverMessage||message,hint,...argumentError?.allowedOptions&&{allowedOptions:argumentError.allowedOptions,suggestedOption:argumentError.suggestedOption,cliVersion:pkg_default.version},...correction&&{next:[{command:correction,when:correction.includes("<")?"Replace placeholders with the intended values, then run the corrected command":"Run the corrected command"}]}};if(shouldEmitNonInteractiveCommandError(client)){output_manager_default.stopSpinner(),writeAgentError(client,payload);return}trackAgentError(client,payload)}if(hint){output_manager_default.stopSpinner(),output_manager_default.fatal(apiError.serverMessage||message||"The request failed."),output_manager_default.print(` ${hint}
8
- `),correction&&output_manager_default.print(` ${correction}
9
- `);return}output_manager_default.debug(`handling error: ${stack}`),message!=="User force closed the prompt with 0 null"&&(status===403?output_manager_default.error(message||`Authentication error. Run ${getCommandName("login")} to log-in again.`):status===429?output_manager_default.error(message):code==="size_limit_exceeded"?output_manager_default.error(`File size limit exceeded (${(0,import_bytes.default)(sizeLimit)})`):message?output_manager_default.prettyError(apiError):status===500?output_manager_default.error("Unexpected server error. Please retry."):code==="USER_ABORT"?output_manager_default.log("Canceled"):output_manager_default.error(`Unexpected error. Please try again later. (${message})`))}export{responseError,toEnumerableError,printError};
@@ -1,19 +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{getCommandName}from"./chunk-FI772UVH.js";import{require_build_utils}from"./chunk-RTRCTYW6.js";import{require_dist}from"./chunk-QGIQK47P.js";import{require_source}from"./chunk-U7KCDTCH.js";import{__commonJS,__toESM}from"./chunk-6L236MNA.js";var require_bytes=__commonJS({"../../node_modules/.pnpm/bytes@3.0.0/node_modules/bytes/index.js"(exports,module){"use strict";module.exports=bytes2;module.exports.format=format;module.exports.parse=parse;var formatThousandsRegExp=/\B(?=(\d{3})+(?!\d))/g,formatDecimalsRegExp=/(?:\.0*|(\.[^0]+)0+)$/,map={b:1,kb:1024,mb:1<<20,gb:1<<30,tb:(1<<30)*1024},parseRegExp=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb)$/i;function bytes2(value,options){return typeof value=="string"?parse(value):typeof value=="number"?format(value,options):null}function format(value,options){if(!Number.isFinite(value))return null;var mag=Math.abs(value),thousandsSeparator=options&&options.thousandsSeparator||"",unitSeparator=options&&options.unitSeparator||"",decimalPlaces=options&&options.decimalPlaces!==void 0?options.decimalPlaces:2,fixedDecimals=!!(options&&options.fixedDecimals),unit=options&&options.unit||"";(!unit||!map[unit.toLowerCase()])&&(mag>=map.tb?unit="TB":mag>=map.gb?unit="GB":mag>=map.mb?unit="MB":mag>=map.kb?unit="KB":unit="B");var val=value/map[unit.toLowerCase()],str=val.toFixed(decimalPlaces);return fixedDecimals||(str=str.replace(formatDecimalsRegExp,"$1")),thousandsSeparator&&(str=str.replace(formatThousandsRegExp,thousandsSeparator)),str+unitSeparator+unit}function parse(val){if(typeof val=="number"&&!isNaN(val))return val;if(typeof val!="string")return null;var results=parseRegExp.exec(val),floatValue,unit="b";return results?(floatValue=parseFloat(results[1]),unit=results[4].toLowerCase()):(floatValue=parseInt(val,10),unit="b"),Math.floor(map[unit]*floatValue)}}});var NowError=class extends Error{constructor({code:code2,message,meta}){super(message);this.code=code2,this.meta=meta}};var import_chalk=__toESM(require_source(),1);function code(cmd,{backticks=!0}={}){let tick=backticks?import_chalk.default.gray("`"):"";return`${tick}${import_chalk.default.bold(cmd)}${tick}`}var import_bytes=__toESM(require_bytes(),1),import_build_utils=__toESM(require_build_utils(),1);var import_chalk2=__toESM(require_source(),1),import_error_utils=__toESM(require_dist(),1),APIError=class extends Error{constructor(message,response,body){super();if(this.message=`${message} (${response.status})`,this.status=response.status,this.serverMessage=message,this.wwwAuthenticate=response.headers.get("WWW-Authenticate")??void 0,body)for(let field of Object.keys(body))field!=="message"&&(this[field]=body[field]);if(response.status===429||response.status===503){let parsed=parseRetryAfterHeaderAsMillis(response.headers.get("Retry-After"));this.retryAfterMs=parsed??(response.status===429?0:void 0)}}};function parseRetryAfterHeaderAsMillis(header){if(!header)return;let retryAfterMs=Number(header)*1e3;if(Number.isNaN(retryAfterMs)){if(retryAfterMs=Date.parse(header),Number.isNaN(retryAfterMs))return;retryAfterMs=retryAfterMs-Date.now()}return Math.max(retryAfterMs,0)}function isAPIError(v){return(0,import_error_utils.isError)(v)&&"status"in v}var TeamDeleted=class extends NowError{constructor(){super({code:"TEAM_DELETED",message:`Your team was deleted or you were removed from the team. You can switch to a different one using ${getCommandName("switch")}.`,meta:{}})}},InvalidToken=class extends NowError{constructor(tokenSource){let message;tokenSource==="flag"?message="The token provided via `--token` argument is not valid. Please provide a valid token.":tokenSource==="env"?message="The token provided via VERCEL_TOKEN environment variable is not valid. Please provide a valid token.":message=`The specified token is not valid. Use ${getCommandName("login")} to generate a new token.`,super({code:"NOT_AUTHORIZED",message,meta:{}})}},MissingUser=class extends NowError{constructor(){super({code:"MISSING_USER",message:"Not able to load user, missing from response",meta:{}})}},DomainAlreadyExists=class extends NowError{constructor(domain){super({code:"DOMAIN_ALREADY_EXISTS",meta:{domain},message:`The domain ${domain} already exists under a different context.`})}},DomainPermissionDenied=class extends NowError{constructor(domain,context){super({code:"DOMAIN_PERMISSION_DENIED",meta:{domain,context},message:`You don't have access to the domain ${domain} under ${context}.`})}},DomainExternal=class extends NowError{constructor(domain){super({code:"DOMAIN_EXTERNAL",meta:{domain},message:`The domain ${domain} must point to zeit.world.`})}},SourceNotFound=class extends NowError{constructor(){super({code:"SOURCE_NOT_FOUND",meta:{},message:"Not able to purchase. Please add a payment method using the dashboard."})}};var DomainNotFound=class extends NowError{constructor(domain,contextName){super({code:"DOMAIN_NOT_FOUND",meta:{domain},message:`Domain not found by "${domain}"${contextName?` under ${import_chalk2.default.bold(contextName)}`:""}.`})}},DomainNotVerified=class extends NowError{constructor(domain){super({code:"DOMAIN_NOT_VERIFIED",meta:{domain},message:`The domain ${domain} is not verified.`})}},DomainVerificationFailed=class extends NowError{constructor({domain,nsVerification,txtVerification,purchased=!1}){super({code:"DOMAIN_VERIFICATION_FAILED",meta:{domain,nsVerification,txtVerification,purchased},message:`We can't verify the domain ${domain}. Both Name Servers and DNS TXT verifications failed.`})}},InvalidDomain=class extends NowError{constructor(domain,message){super({code:"INVALID_DOMAIN",meta:{domain},message:message||`The domain ${domain} is not valid.`})}},NotDomainOwner=class extends NowError{constructor(message){super({code:"NOT_DOMAIN_OWNER",meta:{},message})}},InvalidDeploymentId=class extends NowError{constructor(id,message){super({code:"INVALID_DEPLOYMENT_ID",meta:{id},message:message||`The deployment id "${id}" is not valid.`})}},UnsupportedTLD=class extends NowError{constructor(domain){super({code:"UNSUPPORTED_TLD",meta:{domain},message:`The TLD for domain name ${domain} is not supported.`})}},TLDNotSupportedViaCLI=class extends NowError{constructor(domain){super({code:"UNSUPPORTED_TLD_VIA_CLI",meta:{domain},message:`Purchased for the TLD for domain name ${domain} are not supported via the CLI. Use the REST API or the dashboard to purchase.`})}},DomainNotAvailable=class extends NowError{constructor(domain){super({code:"DOMAIN_NOT_AVAILABLE",meta:{domain},message:`The domain ${domain} is not available to be purchased.`})}};var UnexpectedDomainPurchaseError=class extends NowError{constructor(domain){super({code:"UNEXPECTED_DOMAIN_PURCHASE_ERROR",meta:{domain},message:"An unexpected error happened while purchasing."})}},UnexpectedDomainTransferError=class extends NowError{constructor(domain){super({code:"UNEXPECTED_DOMAIN_TRANSFER_ERROR",meta:{domain},message:"An unexpected error happened while transferring."})}},DomainPaymentError=class extends NowError{constructor(){super({code:"DOMAIN_PAYMENT_ERROR",meta:{},message:"Your card was declined."})}},DomainPurchasePending=class extends NowError{constructor(domain){super({code:"DOMAIN_PURCHASE_PENDING",meta:{domain},message:`The domain purchase for ${domain} is pending.`})}},UserAborted=class extends NowError{constructor(){super({code:"USER_ABORTED",meta:{},message:"The user canceled the operation."})}},CertNotFound=class extends NowError{constructor(id){super({code:"CERT_NOT_FOUND",meta:{id},message:`The cert ${id} can't be found.`})}},CertsPermissionDenied=class extends NowError{constructor(context,domain){super({code:"CERTS_PERMISSION_DENIED",meta:{domain},message:`You don't have access to ${domain}'s certs under ${context}.`})}},CertOrderNotFound=class extends NowError{constructor(cns){super({code:"CERT_ORDER_NOT_FOUND",meta:{cns},message:`No cert order could be found for cns ${cns.join(" ,")}`})}},TooManyRequests=class extends NowError{constructor(api,retryAfterMs){super({code:"TOO_MANY_REQUESTS",meta:{api,retryAfterMs},message:"Rate limited. Too many requests to the same endpoint."})}},CertError=class extends NowError{constructor({cns,code:code2,message,helpUrl}){super({code:"CERT_ERROR",meta:{cns,code:code2,helpUrl},message})}},CertConfigurationError=class extends NowError{constructor({cns,message,external,type,helpUrl}){super({code:"CERT_CONFIGURATION_ERROR",meta:{cns,helpUrl,external,type},message})}},DeploymentNotFound=class extends NowError{constructor({context,id=""}){super({code:"DEPLOYMENT_NOT_FOUND",meta:{id,context},message:`Can't find the deployment "${id}" under the context "${context}"`})}},DeploymentNotReady=class extends NowError{constructor({url=""}){super({code:"DEPLOYMENT_NOT_READY",meta:{url},message:`The deployment https://${url} is not ready.`})}},DeploymentFailedAliasImpossible=class extends NowError{constructor(){super({code:"DEPLOYMENT_FAILED_ALIAS_IMPOSSIBLE",meta:{},message:"The deployment build has failed and cannot be aliased"})}},DeploymentPermissionDenied=class extends NowError{constructor(id,context){super({code:"DEPLOYMENT_PERMISSION_DENIED",meta:{id,context},message:`You don't have access to the deployment ${id} under ${context}.`})}},InvalidAlias=class extends NowError{constructor(alias){super({code:"INVALID_ALIAS",meta:{alias},message:`The given alias ${alias} is not valid`})}},AliasInUse=class extends NowError{constructor(alias){super({code:"ALIAS_IN_USE",meta:{alias},message:"The alias is already in use"})}},CertMissing=class extends NowError{constructor(domain){super({code:"CERT_MISSING",meta:{domain},message:`The certificate for domain ${domain} is missing`})}},CantParseJSONFile=class extends NowError{constructor(file,parseErrorLocation){let message=`Can't parse json file ${file}: ${parseErrorLocation}`;super({code:"CANT_PARSE_JSON_FILE",meta:{file,parseErrorLocation},message})}},ConflictingConfigFiles=class extends import_build_utils.NowBuildError{constructor(files,message,link){super({code:"CONFLICTING_CONFIG_FILES",message:message||"Multiple config files found. Please use only one configuration file.",link:link||"https://vercel.link/combining-old-and-new-config"});this.files=files}},DeprecatedNowJson=class extends import_build_utils.NowBuildError{constructor(_file){super({code:"DEPRECATED_NOW_JSON",message:"The `now.json` file is deprecated and no longer supported. Please rename it to `vercel.json`.",link:"https://vercel.com/docs/projects/project-configuration"})}},CantFindConfig=class extends NowError{constructor(paths){super({code:"CANT_FIND_CONFIG",meta:{paths},message:"Can't find a configuration file in the given locations."})}},WorkingDirectoryDoesNotExist=class extends NowError{constructor(){super({code:"CWD_DOES_NOT_EXIST",meta:{},message:"The current working directory does not exist."})}};var NoAliasInConfig=class extends NowError{constructor(){super({code:"NO_ALIAS_IN_CONFIG",meta:{},message:"There is no alias set up in config file."})}},InvalidAliasInConfig=class extends NowError{constructor(value){super({code:"INVALID_ALIAS_IN_CONFIG",meta:{value},message:"Invalid alias option in configuration."})}};var DNSPermissionDenied=class extends NowError{constructor(domain){super({code:"DNS_PERMISSION_DENIED",meta:{domain},message:`You don't have access to the DNS records of ${domain}.`})}},DNSInvalidPort=class extends NowError{constructor(){super({code:"DNS_INVALID_PORT",meta:{},message:"Invalid <port> parameter. A number was expected"})}},DNSInvalidType=class extends NowError{constructor(type){super({code:"DNS_INVALID_TYPE",meta:{type},message:`Invalid <type> parameter "${type}". Expected one of A, AAAA, ALIAS, CAA, CNAME, MX, SRV, TXT`})}},DNSConflictingRecord=class extends NowError{constructor(record){super({code:"DNS_CONFLICTING_RECORD",meta:{record},message:` A conflicting record exists "${record}".`})}},DomainRemovalConflict=class extends NowError{constructor({aliases,certs,message,pendingAsyncPurchase,resolvable,suffix,transferring}){super({code:"domain_removal_conflict",meta:{aliases,certs,pendingAsyncPurchase,suffix,transferring,resolvable},message})}},DomainMoveConflict=class extends NowError{constructor({message,pendingAsyncPurchase,resolvable,suffix}){super({code:"domain_move_conflict",meta:{pendingAsyncPurchase,resolvable,suffix},message})}};var InvalidMoveDestination=class extends NowError{constructor(destination){super({code:"INVALID_MOVE_DESTINATION",message:`Invalid move destination "${destination}"`,meta:{destination}})}};var LambdaSizeExceededError=class extends NowError{constructor(size,maxLambdaSize){super({code:"MAX_LAMBDA_SIZE_EXCEEDED",message:`The lambda function size (${(0,import_bytes.default)(size).toLowerCase()}) exceeds the maximum size limit (${(0,import_bytes.default)(maxLambdaSize).toLowerCase()}).`,meta:{size,maxLambdaSize}})}},MissingDotenvVarsError=class extends NowError{constructor(type,missing){let message;missing.length===1?message=`Env var ${JSON.stringify(missing[0])} is not defined in ${code(type)} file`:message=[`The following env vars are not defined in ${code(type)} file:`,...missing.map(name=>` - ${JSON.stringify(name)}`)].join(`
8
- `),message+=`
9
- Read more: https://err.sh/vercel/missing-env-file`,super({code:"MISSING_DOTENV_VARS",message,meta:{type,missing}})}},DeploymentsRateLimited=class extends NowError{constructor(message){super({code:"DEPLOYMENTS_RATE_LIMITED",meta:{},message})}},BuildsRateLimited=class extends NowError{constructor(message,meta={}){super({code:"BUILDS_RATE_LIMITED",meta,message})}},ProjectNotFound=class extends NowError{constructor(nameOrId){super({code:"PROJECT_NOT_FOUND",meta:{},message:`There is no project for "${nameOrId}"`})}},LinkRequiredError=class extends NowError{constructor(message="No project is linked in this directory. Run `vercel link` or pass a project name."){super({code:"LINK_REQUIRED",meta:{},message})}},AliasDomainConfigured=class extends NowError{constructor({message}){super({code:"DOMAIN_CONFIGURED",meta:{},message})}},MissingBuildScript=class extends NowError{constructor({message}){super({code:"MISSING_BUILD_SCRIPT",meta:{},message})}},ConflictingFilePath=class extends NowError{constructor({message}){super({code:"CONFLICTING_FILE_PATH",meta:{},message})}},ConflictingPathSegment=class extends NowError{constructor({message}){super({code:"CONFLICTING_PATH_SEGMENT",meta:{},message})}},BuildError=class extends NowError{constructor({message,meta}){super({code:"BUILD_ERROR",meta,message})}},SchemaValidationFailed=class extends NowError{constructor(message,keyword,dataPath,params){super({code:"SCHEMA_VALIDATION_FAILED",meta:{message,keyword,dataPath,params},message:"Schema verification failed"})}},InvalidLocalConfig=class extends NowError{constructor(value){super({code:"INVALID_LOCAL_CONFIG",meta:{value},message:`Invalid local config parameter [${value.map(localConfig=>`"${localConfig}"`).join(", ")}]. A string was expected.`})}};export{require_bytes,NowError,code,APIError,parseRetryAfterHeaderAsMillis,isAPIError,TeamDeleted,InvalidToken,MissingUser,DomainAlreadyExists,DomainPermissionDenied,DomainExternal,SourceNotFound,DomainNotFound,DomainNotVerified,DomainVerificationFailed,InvalidDomain,NotDomainOwner,InvalidDeploymentId,UnsupportedTLD,TLDNotSupportedViaCLI,DomainNotAvailable,UnexpectedDomainPurchaseError,UnexpectedDomainTransferError,DomainPaymentError,DomainPurchasePending,UserAborted,CertNotFound,CertsPermissionDenied,CertOrderNotFound,TooManyRequests,CertError,CertConfigurationError,DeploymentNotFound,DeploymentNotReady,DeploymentFailedAliasImpossible,DeploymentPermissionDenied,InvalidAlias,AliasInUse,CertMissing,CantParseJSONFile,ConflictingConfigFiles,DeprecatedNowJson,CantFindConfig,WorkingDirectoryDoesNotExist,NoAliasInConfig,InvalidAliasInConfig,DNSPermissionDenied,DNSInvalidPort,DNSInvalidType,DNSConflictingRecord,DomainRemovalConflict,DomainMoveConflict,InvalidMoveDestination,LambdaSizeExceededError,MissingDotenvVarsError,DeploymentsRateLimited,BuildsRateLimited,ProjectNotFound,LinkRequiredError,AliasDomainConfigured,MissingBuildScript,ConflictingFilePath,ConflictingPathSegment,BuildError,SchemaValidationFailed,InvalidLocalConfig};
10
- /*! Bundled license information:
11
-
12
- bytes/index.js:
13
- (*!
14
- * bytes
15
- * Copyright(c) 2012-2014 TJ Holowaychuk
16
- * Copyright(c) 2015 Jed Watson
17
- * MIT Licensed
18
- *)
19
- */