@vercel/cli-support 65.8.0-snapshot-7c63e261c47b → 65.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/chunks/{add-VUROT3X7.js → add-3MWFJH54.js} +1 -1
  2. package/dist/chunks/{add-A2VGZEB3.js → add-CJWCA3MM.js} +1 -1
  3. package/dist/chunks/{add-ENND6VJZ.js → add-GLCVYEEN.js} +1 -1
  4. package/dist/chunks/{build-A5QGXFCZ.js → build-6RK6VECG.js} +1 -1
  5. package/dist/chunks/{chunk-GBRNYCSA.js → chunk-3DDEBTCC.js} +1 -1
  6. package/dist/chunks/{chunk-ZGRDT3TS.js → chunk-4MP4HVBG.js} +1 -1
  7. package/dist/chunks/{chunk-VTLGM736.js → chunk-5GOQ3FBV.js} +1 -1
  8. package/dist/chunks/{chunk-CCB2TNGT.js → chunk-62FZFXPJ.js} +1 -1
  9. package/dist/chunks/{chunk-EOO4R3GF.js → chunk-63DO6KMD.js} +1 -1
  10. package/dist/chunks/{chunk-R364F5BF.js → chunk-753RQ6WV.js} +1 -1
  11. package/dist/chunks/{chunk-WNTSEFC2.js → chunk-7A5WO5KA.js} +1 -1
  12. package/dist/chunks/{chunk-3UGQLEDK.js → chunk-7EJ3BZ67.js} +1 -1
  13. package/dist/chunks/{chunk-VLJUUFCE.js → chunk-A67TLHES.js} +1 -1
  14. package/dist/chunks/{chunk-QX27RAOE.js → chunk-AQA4JVKA.js} +1 -1
  15. package/dist/chunks/{chunk-MAL4OOBV.js → chunk-BHJLCFQ4.js} +1 -1
  16. package/dist/chunks/{chunk-L5LFF6HU.js → chunk-BLFPDEXE.js} +1 -1
  17. package/dist/chunks/{chunk-TPSG7OII.js → chunk-CJLRNGWY.js} +1 -1
  18. package/dist/chunks/{chunk-OJSRPBLU.js → chunk-EGPVNTKP.js} +1 -1
  19. package/dist/chunks/{chunk-WYAYGE3N.js → chunk-EKB2DYCQ.js} +1 -1
  20. package/dist/chunks/{chunk-ZXRQVYZA.js → chunk-FNOCIKAU.js} +1 -1
  21. package/dist/chunks/{chunk-3KUSGWO2.js → chunk-G7X2TVUO.js} +1 -1
  22. package/dist/chunks/{chunk-FFTUXTFU.js → chunk-GJB72ITS.js} +1 -1
  23. package/dist/chunks/{chunk-MANPOMFT.js → chunk-GKUHMS3A.js} +1 -1
  24. package/dist/chunks/{chunk-QMB36NJD.js → chunk-GP2FXUFE.js} +1 -1
  25. package/dist/chunks/{chunk-6MFNV76B.js → chunk-H4DE2OFO.js} +1 -1
  26. package/dist/chunks/{chunk-ZSLUGW4E.js → chunk-HNOZM6D4.js} +1 -1
  27. package/dist/chunks/{chunk-PNCWCFPL.js → chunk-IHNEF3BG.js} +1 -1
  28. package/dist/chunks/{chunk-MYTA66O6.js → chunk-INH6RXBH.js} +1 -1
  29. package/dist/chunks/{chunk-RBIPVPTN.js → chunk-IU6PHFPQ.js} +1 -1
  30. package/dist/chunks/{chunk-4JOJYW22.js → chunk-JULKMXVP.js} +1 -1
  31. package/dist/chunks/{chunk-3ZQNP4BG.js → chunk-KARAZGCO.js} +1 -1
  32. package/dist/chunks/{chunk-DY3Q5TXP.js → chunk-KDRCBWRY.js} +1 -1
  33. package/dist/chunks/{chunk-PIZVHQPP.js → chunk-KL6HNOFN.js} +1 -1
  34. package/dist/chunks/{chunk-CC2X7T2R.js → chunk-KUNFE2M6.js} +1 -1
  35. package/dist/chunks/{chunk-NTN2SSGR.js → chunk-LOEU4R4Z.js} +1 -1
  36. package/dist/chunks/{chunk-HGCP7N4J.js → chunk-MDWYXLDB.js} +2 -2
  37. package/dist/chunks/{chunk-OQDN4RKT.js → chunk-NDWGYZRT.js} +2 -2
  38. package/dist/chunks/{chunk-GZGKKWU5.js → chunk-O7IYJGOR.js} +1 -1
  39. package/dist/chunks/{chunk-BU7DBZXN.js → chunk-OV7G6RIQ.js} +1 -1
  40. package/dist/chunks/{chunk-7VMHF6QI.js → chunk-P2HBUDGR.js} +1 -1
  41. package/dist/chunks/{chunk-BG3IJPID.js → chunk-PY5A73YH.js} +1 -1
  42. package/dist/chunks/{chunk-KEEPBBME.js → chunk-QR7PY5JS.js} +1 -1
  43. package/dist/chunks/{chunk-GPAWKQJ6.js → chunk-QTCS2HDX.js} +1 -1
  44. package/dist/chunks/{chunk-QU25LP63.js → chunk-QZEZCUUZ.js} +6 -6
  45. package/dist/chunks/{chunk-MUWGZACR.js → chunk-RIAOB3RF.js} +1 -1
  46. package/dist/chunks/{chunk-4VHSKXDW.js → chunk-TCEEQLD4.js} +1 -1
  47. package/dist/chunks/{chunk-ETVESMHM.js → chunk-TK2ILW2O.js} +1 -1
  48. package/dist/chunks/{chunk-FDOTZ4IH.js → chunk-TSKFDJ77.js} +1 -1
  49. package/dist/chunks/{chunk-Q3E57HTJ.js → chunk-UAUVCOGS.js} +1 -1
  50. package/dist/chunks/{chunk-6SHXBHAP.js → chunk-XUJA3RZD.js} +1 -1
  51. package/dist/chunks/{chunk-J4JAITT5.js → chunk-YKNHA3RN.js} +1 -1
  52. package/dist/chunks/{chunk-GDEXNTKM.js → chunk-YTZPQVGF.js} +1 -1
  53. package/dist/chunks/{chunk-RJZHOERW.js → chunk-ZBJ44DRL.js} +1 -1
  54. package/dist/chunks/{clear-DLVKGINN.js → clear-375VKVXY.js} +1 -1
  55. package/dist/chunks/{compile-vercel-config-VHRPP73E.js → compile-vercel-config-LNRUSKTH.js} +1 -1
  56. package/dist/chunks/{config-ATV26WGB.js → config-GOYBATSI.js} +1 -1
  57. package/dist/chunks/{config-4Y4HCQGZ.js → config-VAW454ZH.js} +1 -1
  58. package/dist/chunks/{delete-WO3F2LBD.js → delete-3SN6XFOW.js} +1 -1
  59. package/dist/chunks/{delete-4OSTPMXZ.js → delete-W6BZHLGP.js} +1 -1
  60. package/dist/chunks/{detect-services-7HYA6GAX.js → detect-services-6L57MV5F.js} +1 -1
  61. package/dist/chunks/{disable-NPZHA3D3.js → disable-UUV5MYYH.js} +1 -1
  62. package/dist/chunks/{discard-VSIUIW3T.js → discard-Y6ZITZ2P.js} +1 -1
  63. package/dist/chunks/{edit-JML77VIW.js → edit-CVMUITFG.js} +1 -1
  64. package/dist/chunks/{edit-EZPFTVHT.js → edit-LLRI57RF.js} +1 -1
  65. package/dist/chunks/{enable-YKY5GWYA.js → enable-TFA6XWAA.js} +1 -1
  66. package/dist/chunks/{export-UAQTQFZL.js → export-AI2O22W5.js} +1 -1
  67. package/dist/chunks/{future-6UHWHWIQ.js → future-EZEU2CBY.js} +1 -1
  68. package/dist/chunks/{generate-cert-for-deploy-NHXM3S4I.js → generate-cert-for-deploy-QP5BUOJL.js} +1 -1
  69. package/dist/chunks/{image-FXLE5BFI.js → image-YLUF7SHR.js} +1 -1
  70. package/dist/chunks/{import-builders-6BON6LPU.js → import-builders-ANLKHIYK.js} +1 -1
  71. package/dist/chunks/{inspect-7R46SZ6S.js → inspect-3NMNI7GY.js} +1 -1
  72. package/dist/chunks/{inspect-BETH6YX6.js → inspect-3TRAN3SP.js} +1 -1
  73. package/dist/chunks/{inspect-RMLE7Q3I.js → inspect-4A67JORH.js} +1 -1
  74. package/dist/chunks/{inspect-FXHGK7IT.js → inspect-OM5S5YQ2.js} +1 -1
  75. package/dist/chunks/{inspect-FYVOOS34.js → inspect-VEUY4QJ2.js} +1 -1
  76. package/dist/chunks/{list-XW666MBC.js → list-DJKKVFUL.js} +1 -1
  77. package/dist/chunks/{list-KYA72D6M.js → list-NEV4FBTY.js} +1 -1
  78. package/dist/chunks/{list-BL6R5CX3.js → list-TUJ7HCQK.js} +1 -1
  79. package/dist/chunks/{login-QDWRVSWX.js → login-4HCFKDKL.js} +1 -1
  80. package/dist/chunks/{login-LU3ODSCF.js → login-EPBJQDEK.js} +1 -1
  81. package/dist/chunks/{logs-PT4GJTWG.js → logs-Q7XXVFR3.js} +1 -1
  82. package/dist/chunks/{ls-5V7AL3LS.js → ls-3TKRCF4T.js} +1 -1
  83. package/dist/chunks/{ls-Y5X7EBTB.js → ls-COOTTCRW.js} +1 -1
  84. package/dist/chunks/{ls-AW3CULHB.js → ls-CVO4MCX5.js} +1 -1
  85. package/dist/chunks/{ls-CKEW73Z6.js → ls-LS5J5ERG.js} +1 -1
  86. package/dist/chunks/{ls-D5QB4VQ4.js → ls-OQQTUQFN.js} +1 -1
  87. package/dist/chunks/{ls-PKKFWL5H.js → ls-OVM2DZYL.js} +1 -1
  88. package/dist/chunks/{ls-AIKQDEFG.js → ls-UY3KCDSF.js} +1 -1
  89. package/dist/chunks/{mutate-XDGDRDVF.js → mutate-I6QWCURL.js} +1 -1
  90. package/dist/chunks/{notifications-IX3ZUVZM.js → notifications-UKC5Z6AH.js} +1 -1
  91. package/dist/chunks/{open-UMI4XZDR.js → open-CYATUDTT.js} +1 -1
  92. package/dist/chunks/{permissions-I6RMEE6A.js → permissions-4ZYPHPOZ.js} +1 -1
  93. package/dist/chunks/{plugin-offer-7MAEHNOL.js → plugin-offer-4YTKDZGS.js} +1 -1
  94. package/dist/chunks/{prompt-missing-credentials-HUVX2RBI.js → prompt-missing-credentials-4OKJMYW5.js} +1 -1
  95. package/dist/chunks/{publish-SBUM4KSR.js → publish-N6E7VTRK.js} +1 -1
  96. package/dist/chunks/{pull-XREDTWTL.js → pull-LPIT3XUR.js} +1 -1
  97. package/dist/chunks/{purchase-domain-if-available-DI3HXFJS.js → purchase-domain-if-available-IS6UDPJT.js} +1 -1
  98. package/dist/chunks/{push-LNBY3IVT.js → push-ETLU6OCC.js} +1 -1
  99. package/dist/chunks/{query-H6HPW4MH.js → query-NIMDIFLO.js} +1 -1
  100. package/dist/chunks/{reauthenticate-MG34KSRS.js → reauthenticate-TESIUM6U.js} +1 -1
  101. package/dist/chunks/{reorder-AARVKLFR.js → reorder-PQU2BQEE.js} +1 -1
  102. package/dist/chunks/{reply-2EIHKZY5.js → reply-RKDDYV5I.js} +1 -1
  103. package/dist/chunks/{resolve-BNDYBL5J.js → resolve-ZF7BFXIW.js} +1 -1
  104. package/dist/chunks/{resolve-agent-team-6GRXPBUZ.js → resolve-agent-team-QSIJ665W.js} +1 -1
  105. package/dist/chunks/{restore-TW7FEAKO.js → restore-U5A3BEFQ.js} +1 -1
  106. package/dist/chunks/{rm-TMNC3O4G.js → rm-7H5O3T7G.js} +1 -1
  107. package/dist/chunks/{rm-N26MIITA.js → rm-EPPMQEAV.js} +1 -1
  108. package/dist/chunks/{rm-G2DOXEP6.js → rm-FNMW2FPM.js} +1 -1
  109. package/dist/chunks/{rm-AJJQ5WAJ.js → rm-OZIA3DFM.js} +1 -1
  110. package/dist/chunks/{rm-PQSWEJLQ.js → rm-W3VOR2ED.js} +1 -1
  111. package/dist/chunks/{rule-inspect-CDMPPHOJ.js → rule-inspect-YAVRRGAP.js} +1 -1
  112. package/dist/chunks/{schema-AHIKHCKP.js → schema-44U7GOQE.js} +1 -1
  113. package/dist/chunks/{schema-M367S3BJ.js → schema-6SAZ7T2S.js} +1 -1
  114. package/dist/chunks/{select-org-3KCGSZPC.js → select-org-L5FJVL5Q.js} +1 -1
  115. package/dist/chunks/{set-AZ6DWA22.js → set-3NQXDGJV.js} +1 -1
  116. package/dist/chunks/{setup-and-link-UQBYKJ5C.js → setup-and-link-H36NRP3A.js} +1 -1
  117. package/dist/chunks/{tags-T3PYNFO6.js → tags-CRG27GFL.js} +1 -1
  118. package/dist/chunks/{update-VVCPMZ3H.js → update-YLFMSPQF.js} +1 -1
  119. package/dist/commands/build/index.js +1 -1
  120. package/dist/commands/deploy/index.js +4 -4
  121. package/dist/commands/dev/index.js +2 -2
  122. package/dist/commands/env/index.js +1 -1
  123. package/dist/commands/link/index.js +1 -1
  124. package/dist/commands/list/index.js +1 -1
  125. package/dist/commands/project/index.js +1 -1
  126. package/dist/commands-account.js +1 -1
  127. package/dist/commands-ai.js +1 -1
  128. package/dist/commands-blob.js +1 -1
  129. package/dist/commands-core.js +5 -5
  130. package/dist/commands-deployments.js +1 -1
  131. package/dist/commands-flags.js +1 -1
  132. package/dist/commands-integrations.js +1 -1
  133. package/dist/commands-observability.js +2 -2
  134. package/dist/commands-routing.js +2 -2
  135. package/dist/index.js +3 -3
  136. package/dist/internal-build.js +1 -1
  137. package/dist/package.json +57 -57
  138. package/dist/version.mjs +1 -1
  139. package/package.json +50 -50
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
- import{monitorsRoutingFlags,runMonitors}from"./chunks/chunk-GDEXNTKM.js";import{ALERT_RULES_API,MONITORS_API}from"./chunks/chunk-TPSG7OII.js";import{login}from"./chunks/chunk-Q3E57HTJ.js";import{getProjectByCwdOrLink}from"./chunks/chunk-BU7DBZXN.js";import{extractDatePortion,formatCurrency,formatQuantity}from"./chunks/chunk-ECQIO5K3.js";import{curl,getDeploymentUrlAndToken,redactSecretHeader,requoteArgs,setupCurlLikeCommand}from"./chunks/chunk-ZSLUGW4E.js";import{applyDeprecatedGitBranchFlag}from"./chunks/chunk-HA2ICIB5.js";import"./chunks/chunk-MAL4OOBV.js";import"./chunks/chunk-NTN2SSGR.js";import{formatEnvironment}from"./chunks/chunk-F76MNMH3.js";import"./chunks/chunk-7YKFF6CE.js";import{resolveProjectContext}from"./chunks/chunk-4JOJYW22.js";import{formatProject}from"./chunks/chunk-YRK2BCTJ.js";import{isGuidanceEnabled}from"./chunks/chunk-TAAWMNNL.js";import{performDeviceCodeFlow,saveDeviceCodeTokens}from"./chunks/chunk-PNCWCFPL.js";import{CURL_INSTALL_COMMAND,NATIVE_UPDATE_SELECT_PRODUCTION_ENV,NATIVE_UPDATE_VERSION_ENV,cacheNativeUpdateDiscoveryAttempt,cacheNativeUpdateVersion,executeHomebrewUpgrade,executeUpgrade,getWhoamiCachedAnswer,installAndActivatePrBinary,installAndActivateProductionVersion,isAutoUpdateEnabled,isCurlInstall,isNativeAutoUpdateEnabled,isNativeUpdateChild,listAvailableVersions,listNativeTrackSlots,markNativeUpdateStaged,parsePrTarget,pinPackageVersion,readActivePointer,readNativeInstallState,resolveLatestNativeVersion,restoreNativeUpdateAfterDiscoveryFailure,setAutoUpdate,setMinReleaseAgeBypass,spawnNativeUpdateChild,stageProductionUpdate,withDirectoryLock}from"./chunks/chunk-ETVESMHM.js";import{HOMEBREW_UPGRADE_COMMAND,getUpdateCommand,getUpdateCommandInfo,isGlobal,isHomebrewInstall}from"./chunks/chunk-MANPOMFT.js";import{require_semver}from"./chunks/chunk-BPUANOGW.js";import"./chunks/chunk-U56NHYAH.js";import{email}from"./chunks/chunk-6IDNVZZR.js";import{isValidName}from"./chunks/chunk-PADL3C6Z.js";import"./chunks/chunk-LD42X7ZH.js";import"./chunks/chunk-AEOG4E5G.js";import"./chunks/chunk-VT6RIZJH.js";import{truncateEnd}from"./chunks/chunk-TOTTVS5P.js";import{ensureLink}from"./chunks/chunk-OQDN4RKT.js";import{getDeployment}from"./chunks/chunk-QIPUFI6P.js";import"./chunks/chunk-6KCYUYUM.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import"./chunks/chunk-RJZHOERW.js";import"./chunks/chunk-WZ2R4Z7N.js";import{readOnOffOption}from"./chunks/chunk-APNR444T.js";import{tokensAfterCommand}from"./chunks/chunk-5SMV2PPI.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import"./chunks/chunk-PFD7LETF.js";import{parseListLimit,printNextPageCommand,printNextPageHint}from"./chunks/chunk-B3ETPBO4.js";import{validateLsArgs}from"./chunks/chunk-T2SRGJPU.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import{formatTable}from"./chunks/chunk-44XDCARR.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import{table}from"./chunks/chunk-OTJNOMRV.js";import{getRenamedOption,renameOptionInArgs,reportRenamedOptionError}from"./chunks/chunk-2QSNFVB6.js";import{elapsed}from"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{getTeams}from"./chunks/chunk-YEPB52XE.js";import{abortSubcommand,addSubcommand3 as addSubcommand,agentCommand,approveSubcommand,autoupdateSubcommand,buildersCommand,cacheCommand,changelogCommand,checkSubcommand2 as checkSubcommand,checkSubcommand3 as checkSubcommand2,completeSubcommand,configureSubcommand,connectionsCommand,contractCommand,createSubcommand3 as createSubcommand,cronsCommand,dangerouslyDeleteSubcommand,deployHooksCommand,disableSubcommand2 as disableSubcommand,disableSubcommand4 as disableSubcommand2,enableSubcommand3 as enableSubcommand,enableSubcommand5 as enableSubcommand2,fetchSubcommand,flushSubcommand,getCommandAliases,guidanceCommand,headersCommand,httpstatCommand,installedSubcommand,invalidateSubcommand,listSubcommand10 as listSubcommand4,listSubcommand23 as listSubcommand5,listSubcommand26 as listSubcommand7,listSubcommand8 as listSubcommand3,logoutCommand,mcpCommand,openCommand,preinstallSubcommand,pricingCommand,promoteCommand,purgeSubcommand,removeSubcommand6 as removeSubcommand,rollbackCommand,rollingReleaseCommand,runSubcommand,scriptsCommand,searchSubcommand2 as searchSubcommand,securityCommand,signupCommand,startSubcommand2 as startSubcommand,statusSubcommand2 as statusSubcommand,statusSubcommand3 as statusSubcommand2,statusSubcommand4 as statusSubcommand3,statusSubcommand6 as statusSubcommand4,targetCommand,telemetryCommand,updateSubcommand13 as updateSubcommand,upgradeCommand,useSubcommand,versionCommand,whoamiCommand}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import{metricsCommand,schemaSubcommand}from"./chunks/chunk-GZWYJT4C.js";import{addSubcommand as addSubcommand2,buildSubcommand,configSubcommand,inspectSubcommand as inspectSubcommand3,listSubcommand as listSubcommand6,loginSubcommand,pushSubcommand,removeSubcommand as removeSubcommand2,vcrCommand}from"./chunks/chunk-3AXMZRAB.js";import{PERMISSIONS_ACTIONS,permissionsAddSubcommand,permissionsAggregateCommand,permissionsClearSubcommand,permissionsLsSubcommand,permissionsRmSubcommand}from"./chunks/chunk-FQVSBXRY.js";import{tagsAggregateCommand,tagsInspectSubcommand,tagsLsSubcommand}from"./chunks/chunk-GP5MFCGO.js";import{imageAggregateCommand,imageInspectSubcommand,imageLsSubcommand,imageRmSubcommand}from"./chunks/chunk-V5A4EBV3.js";import{alertsCommand,inspectSubcommand,listSubcommand}from"./chunks/chunk-IECNFRTK.js";import{commentsCommand,deleteSubcommand,editSubcommand,inspectSubcommand as inspectSubcommand2,listSubcommand as listSubcommand2,openSubcommand,reopenSubcommand,replySubcommand,resolveSubcommand}from"./chunks/chunk-A6F3EE2O.js";import{activityCommand,typesSubcommand}from"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help,remoteText}from"./chunks/chunk-33U57CNE.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import{detectExplicitScope,getContextName,getScope,isAppPrincipalEnabled}from"./chunks/chunk-RBIPVPTN.js";import{TelemetryClient,decodeHandoff}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import{getInstallRoot,isManagedBuildersInstall,isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,buildCommandWithYes,exitWithNonInteractiveError,getErrorRecovery,outputAgentError,shouldEmitNonInteractiveCommandError,writeAgentError}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{VERCEL_CONFIG_EXTENSIONS,findProjectsFromPath,getLinkFromDir,getLinkedProject,getProjectByNameOrId,getRepoLink,getUser,getVercelDirectory,persistAuthConfig,processRevocationResponse,readLocalConfig,require_pluralize,revocationRequest,sleep,ua_default,writeToConfigFile}from"./chunks/chunk-QU25LP63.js";import{printAlignedLabel}from"./chunks/chunk-3LQ2ADXO.js";import{getGlobalPathConfig}from"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{getTypedOptionName,isArgumentError,parseArguments,takeCommand}from"./chunks/chunk-KIMIK4SG.js";import{getTeamByIdOrSlug}from"./chunks/chunk-F53OKXYI.js";import{validateJsonOutput,wantsMachineReadableOutput,warnDeprecatedInput,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{ProjectNotFound,isAPIError}from"./chunks/chunk-FXEMEIST.js";import{getCommandName,getCommandNamePlain,packageName}from"./chunks/chunk-JESNVRVR.js";import{emoji,output_manager_default,prependEmoji,require_build_utils}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{arg_common_default,getFlagsSpecification,getGlobalFlagsFromArgs,getShortFlagLongName,jsonOption}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import{require_strip_ansi}from"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import{fetch}from"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__require,__toESM}from"./chunks/chunk-BZENIQ7N.js";var ActivityTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(v){v&&this.trackCliSubcommand({subcommand:"ls",value:v})}trackCliSubcommandTypes(v){v&&this.trackCliSubcommand({subcommand:"types",value:v})}trackCliOptionType(v){v&&v.length>0&&this.trackCliOption({option:"type",value:v.join(",")})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(v){v!==void 0&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};var COMMAND_CONFIG={types:getCommandAliases(typesSubcommand)};async function activity(client){let telemetry2=new ActivityTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(activityCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("activity",subcommand),output_manager_default.print(help(activityCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubcommandHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:activityCommand,columns:client.stderr.columns}))}switch(subcommand){case"types":{if(needHelp)return telemetry2.trackCliFlagHelp("activity",subcommandOriginal),printSubcommandHelp(typesSubcommand),0;telemetry2.trackCliSubcommandTypes(subcommandOriginal);let typesFn=(await import("./chunks/types-6W3KAE2A.js")).default;return typesFn(client,telemetry2)}default:{if(needHelp)return telemetry2.trackCliFlagHelp("activity",subcommandOriginal),output_manager_default.print(help(activityCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry2.trackCliSubcommandLs(subcommandOriginal);let listFn=(await import("./chunks/list-BL6R5CX3.js")).default;return listFn(client,telemetry2)}}}var AgentTelemetryClient=class extends TelemetryClient{trackCliArgumentInit(value){value&&this.trackCliArgument({arg:"init",value})}trackCliFlagYes(value){value&&this.trackCliFlag("yes")}};var import_chalk=__toESM(require_source(),1);import{readFile,writeFile}from"node:fs/promises";import{join}from"node:path";import{KNOWN_AGENTS}from"@vercel/detect-agent";var BEST_PRACTICES_START="<!-- VERCEL BEST PRACTICES START -->",BEST_PRACTICES_END="<!-- VERCEL BEST PRACTICES END -->",BEST_PRACTICES_BODY=`## Best practices for developing on Vercel
7
+ import{monitorsRoutingFlags,runMonitors}from"./chunks/chunk-YTZPQVGF.js";import{ALERT_RULES_API,MONITORS_API}from"./chunks/chunk-CJLRNGWY.js";import{login}from"./chunks/chunk-UAUVCOGS.js";import{getProjectByCwdOrLink}from"./chunks/chunk-OV7G6RIQ.js";import{extractDatePortion,formatCurrency,formatQuantity}from"./chunks/chunk-ECQIO5K3.js";import{curl,getDeploymentUrlAndToken,redactSecretHeader,requoteArgs,setupCurlLikeCommand}from"./chunks/chunk-HNOZM6D4.js";import{applyDeprecatedGitBranchFlag}from"./chunks/chunk-HA2ICIB5.js";import"./chunks/chunk-BHJLCFQ4.js";import"./chunks/chunk-LOEU4R4Z.js";import{formatEnvironment}from"./chunks/chunk-F76MNMH3.js";import"./chunks/chunk-7YKFF6CE.js";import{resolveProjectContext}from"./chunks/chunk-JULKMXVP.js";import{formatProject}from"./chunks/chunk-YRK2BCTJ.js";import{isGuidanceEnabled}from"./chunks/chunk-TAAWMNNL.js";import{performDeviceCodeFlow,saveDeviceCodeTokens}from"./chunks/chunk-IHNEF3BG.js";import{CURL_INSTALL_COMMAND,NATIVE_UPDATE_SELECT_PRODUCTION_ENV,NATIVE_UPDATE_VERSION_ENV,cacheNativeUpdateDiscoveryAttempt,cacheNativeUpdateVersion,executeHomebrewUpgrade,executeUpgrade,getWhoamiCachedAnswer,installAndActivatePrBinary,installAndActivateProductionVersion,isAutoUpdateEnabled,isCurlInstall,isNativeAutoUpdateEnabled,isNativeUpdateChild,listAvailableVersions,listNativeTrackSlots,markNativeUpdateStaged,parsePrTarget,pinPackageVersion,readActivePointer,readNativeInstallState,resolveLatestNativeVersion,restoreNativeUpdateAfterDiscoveryFailure,setAutoUpdate,setMinReleaseAgeBypass,spawnNativeUpdateChild,stageProductionUpdate,withDirectoryLock}from"./chunks/chunk-TK2ILW2O.js";import{HOMEBREW_UPGRADE_COMMAND,getUpdateCommand,getUpdateCommandInfo,isGlobal,isHomebrewInstall}from"./chunks/chunk-GKUHMS3A.js";import{require_semver}from"./chunks/chunk-BPUANOGW.js";import"./chunks/chunk-U56NHYAH.js";import{email}from"./chunks/chunk-6IDNVZZR.js";import{isValidName}from"./chunks/chunk-PADL3C6Z.js";import"./chunks/chunk-LD42X7ZH.js";import"./chunks/chunk-AEOG4E5G.js";import"./chunks/chunk-VT6RIZJH.js";import{truncateEnd}from"./chunks/chunk-TOTTVS5P.js";import{ensureLink}from"./chunks/chunk-NDWGYZRT.js";import{getDeployment}from"./chunks/chunk-QIPUFI6P.js";import"./chunks/chunk-6KCYUYUM.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import"./chunks/chunk-ZBJ44DRL.js";import"./chunks/chunk-WZ2R4Z7N.js";import{readOnOffOption}from"./chunks/chunk-APNR444T.js";import{tokensAfterCommand}from"./chunks/chunk-5SMV2PPI.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import"./chunks/chunk-PFD7LETF.js";import{parseListLimit,printNextPageCommand,printNextPageHint}from"./chunks/chunk-B3ETPBO4.js";import{validateLsArgs}from"./chunks/chunk-T2SRGJPU.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import{formatTable}from"./chunks/chunk-44XDCARR.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import{table}from"./chunks/chunk-OTJNOMRV.js";import{getRenamedOption,renameOptionInArgs,reportRenamedOptionError}from"./chunks/chunk-2QSNFVB6.js";import{elapsed}from"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{getTeams}from"./chunks/chunk-YEPB52XE.js";import{abortSubcommand,addSubcommand3 as addSubcommand,agentCommand,approveSubcommand,autoupdateSubcommand,buildersCommand,cacheCommand,changelogCommand,checkSubcommand2 as checkSubcommand,checkSubcommand3 as checkSubcommand2,completeSubcommand,configureSubcommand,connectionsCommand,contractCommand,createSubcommand3 as createSubcommand,cronsCommand,dangerouslyDeleteSubcommand,deployHooksCommand,disableSubcommand2 as disableSubcommand,disableSubcommand4 as disableSubcommand2,enableSubcommand3 as enableSubcommand,enableSubcommand5 as enableSubcommand2,fetchSubcommand,flushSubcommand,getCommandAliases,guidanceCommand,headersCommand,httpstatCommand,installedSubcommand,invalidateSubcommand,listSubcommand10 as listSubcommand4,listSubcommand23 as listSubcommand5,listSubcommand26 as listSubcommand7,listSubcommand8 as listSubcommand3,logoutCommand,mcpCommand,openCommand,preinstallSubcommand,pricingCommand,promoteCommand,purgeSubcommand,removeSubcommand6 as removeSubcommand,rollbackCommand,rollingReleaseCommand,runSubcommand,scriptsCommand,searchSubcommand2 as searchSubcommand,securityCommand,signupCommand,startSubcommand2 as startSubcommand,statusSubcommand2 as statusSubcommand,statusSubcommand3 as statusSubcommand2,statusSubcommand4 as statusSubcommand3,statusSubcommand6 as statusSubcommand4,targetCommand,telemetryCommand,updateSubcommand13 as updateSubcommand,upgradeCommand,useSubcommand,versionCommand,whoamiCommand}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import{metricsCommand,schemaSubcommand}from"./chunks/chunk-GZWYJT4C.js";import{addSubcommand as addSubcommand2,buildSubcommand,configSubcommand,inspectSubcommand as inspectSubcommand3,listSubcommand as listSubcommand6,loginSubcommand,pushSubcommand,removeSubcommand as removeSubcommand2,vcrCommand}from"./chunks/chunk-3AXMZRAB.js";import{PERMISSIONS_ACTIONS,permissionsAddSubcommand,permissionsAggregateCommand,permissionsClearSubcommand,permissionsLsSubcommand,permissionsRmSubcommand}from"./chunks/chunk-FQVSBXRY.js";import{tagsAggregateCommand,tagsInspectSubcommand,tagsLsSubcommand}from"./chunks/chunk-GP5MFCGO.js";import{imageAggregateCommand,imageInspectSubcommand,imageLsSubcommand,imageRmSubcommand}from"./chunks/chunk-V5A4EBV3.js";import{alertsCommand,inspectSubcommand,listSubcommand}from"./chunks/chunk-IECNFRTK.js";import{commentsCommand,deleteSubcommand,editSubcommand,inspectSubcommand as inspectSubcommand2,listSubcommand as listSubcommand2,openSubcommand,reopenSubcommand,replySubcommand,resolveSubcommand}from"./chunks/chunk-A6F3EE2O.js";import{activityCommand,typesSubcommand}from"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help,remoteText}from"./chunks/chunk-33U57CNE.js";import{param}from"./chunks/chunk-3G3FQYMW.js";import{detectExplicitScope,getContextName,getScope,isAppPrincipalEnabled}from"./chunks/chunk-IU6PHFPQ.js";import{TelemetryClient,decodeHandoff}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import{getInstallRoot,isManagedBuildersInstall,isNativeBinaryInstall}from"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,buildCommandWithYes,exitWithNonInteractiveError,getErrorRecovery,outputAgentError,shouldEmitNonInteractiveCommandError,writeAgentError}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{VERCEL_CONFIG_EXTENSIONS,findProjectsFromPath,getLinkFromDir,getLinkedProject,getProjectByNameOrId,getRepoLink,getUser,getVercelDirectory,persistAuthConfig,processRevocationResponse,readLocalConfig,require_pluralize,revocationRequest,sleep,ua_default,writeToConfigFile}from"./chunks/chunk-QZEZCUUZ.js";import{printAlignedLabel}from"./chunks/chunk-3LQ2ADXO.js";import{getGlobalPathConfig}from"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{getTypedOptionName,isArgumentError,parseArguments,takeCommand}from"./chunks/chunk-KIMIK4SG.js";import{getTeamByIdOrSlug}from"./chunks/chunk-F53OKXYI.js";import{validateJsonOutput,wantsMachineReadableOutput,warnDeprecatedInput,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{ProjectNotFound,isAPIError}from"./chunks/chunk-FXEMEIST.js";import{getCommandName,getCommandNamePlain,packageName}from"./chunks/chunk-JESNVRVR.js";import{emoji,output_manager_default,prependEmoji,require_build_utils}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{arg_common_default,getFlagsSpecification,getGlobalFlagsFromArgs,getShortFlagLongName,jsonOption}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import{require_strip_ansi}from"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import{fetch}from"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__require,__toESM}from"./chunks/chunk-BZENIQ7N.js";var ActivityTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(v){v&&this.trackCliSubcommand({subcommand:"ls",value:v})}trackCliSubcommandTypes(v){v&&this.trackCliSubcommand({subcommand:"types",value:v})}trackCliOptionType(v){v&&v.length>0&&this.trackCliOption({option:"type",value:v.join(",")})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(v){v!==void 0&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};var COMMAND_CONFIG={types:getCommandAliases(typesSubcommand)};async function activity(client){let telemetry2=new ActivityTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(activityCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("activity",subcommand),output_manager_default.print(help(activityCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubcommandHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:activityCommand,columns:client.stderr.columns}))}switch(subcommand){case"types":{if(needHelp)return telemetry2.trackCliFlagHelp("activity",subcommandOriginal),printSubcommandHelp(typesSubcommand),0;telemetry2.trackCliSubcommandTypes(subcommandOriginal);let typesFn=(await import("./chunks/types-6W3KAE2A.js")).default;return typesFn(client,telemetry2)}default:{if(needHelp)return telemetry2.trackCliFlagHelp("activity",subcommandOriginal),output_manager_default.print(help(activityCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry2.trackCliSubcommandLs(subcommandOriginal);let listFn=(await import("./chunks/list-TUJ7HCQK.js")).default;return listFn(client,telemetry2)}}}var AgentTelemetryClient=class extends TelemetryClient{trackCliArgumentInit(value){value&&this.trackCliArgument({arg:"init",value})}trackCliFlagYes(value){value&&this.trackCliFlag("yes")}};var import_chalk=__toESM(require_source(),1);import{readFile,writeFile}from"node:fs/promises";import{join}from"node:path";import{KNOWN_AGENTS}from"@vercel/detect-agent";var BEST_PRACTICES_START="<!-- VERCEL BEST PRACTICES START -->",BEST_PRACTICES_END="<!-- VERCEL BEST PRACTICES END -->",BEST_PRACTICES_BODY=`## Best practices for developing on Vercel
8
8
 
9
9
  These defaults are optimized for AI coding agents (and humans) working on apps that deploy to Vercel.
10
10
 
@@ -33,7 +33,7 @@ ${BEST_PRACTICES_END}
33
33
  `)?`
34
34
  `:`
35
35
 
36
- `;await writeFile(filePath,existing+separator+BEST_PRACTICES_CONTENT,"utf-8"),output_manager_default.stopSpinner(),output_manager_default.success(`Appended Vercel best practices to ${import_chalk.default.bold(targetFile)}`)}else await writeFile(filePath,BEST_PRACTICES_CONTENT,"utf-8"),output_manager_default.stopSpinner(),output_manager_default.success(`Created ${import_chalk.default.bold(targetFile)} with Vercel best practices`)}catch(error){return output_manager_default.stopSpinner(),printError(error),1}return output_manager_default.log(import_chalk.default.dim("Run vercel deploy to ship your project")),0}async function agent(client){let parsedArgs,flagsSpecification=getFlagsSpecification(agentCommand.options),telemetry2=new AgentTelemetryClient({opts:{store:client.telemetryEventStore}});try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("agent"),output_manager_default.print(help(agentCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let subcommand=parsedArgs.args[1];if(telemetry2.trackCliArgumentInit(subcommand),!subcommand||subcommand==="init"){let yes=parsedArgs.flags["--yes"]??!1;telemetry2.trackCliFlagYes(yes);try{return await agentInit(client,yes)}catch(error){return printError(error),1}}return output_manager_default.error(`Unknown subcommand: ${subcommand}`),output_manager_default.print(help(agentCommand,{stream:client.stderr,columns:client.stderr.columns})),2}var AlertsTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(v){v&&this.trackCliSubcommand({subcommand:"ls",value:v})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliOptionType(v){v&&v.length>0&&this.trackCliOption({option:"type",value:v.join(",")})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliFlagAi(v){v&&this.trackCliFlag("ai")}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};function getFlagSpecValue(flagsSpecification,flag){let value=flagsSpecification[flag];return typeof value=="string"?flagsSpecification[value]:value}function flagConsumesValue(rawArg,flagsSpecification){if(!rawArg.startsWith("-")||rawArg==="-"||rawArg.includes("="))return!1;let value=getFlagSpecValue(flagsSpecification,rawArg);return value===String||value===Number||Array.isArray(value)}function findCommandIndex(rawArgs,commandName,flagsSpecification){if(!commandName)return-1;for(let index=0;index<rawArgs.length;index++){let rawArg=rawArgs[index];if(rawArg==="--")return rawArgs.indexOf(commandName,index+1);if(rawArg.startsWith("-")){flagConsumesValue(rawArg,flagsSpecification)&&index++;continue}if(rawArg===commandName)return index}return-1}function normalizeHelpAlias(rawArgs){return rawArgs.map(arg=>arg==="-help"?"--help":arg)}var COMMAND_CONFIG2={inspect:getCommandAliases(inspectSubcommand),ls:getCommandAliases(listSubcommand),rules:["rules"]};function getAlertsSubcommand(rawArgs,parsedArgs,flagsSpecification){let commandIndex=findCommandIndex(rawArgs,parsedArgs[0],flagsSpecification),rawArgsAfterCommand=commandIndex===-1?[]:rawArgs.slice(commandIndex+1),rawSubcommand=rawArgsAfterCommand[0];return!rawSubcommand||rawSubcommand.startsWith("-")?{...getSubcommand([],COMMAND_CONFIG2),rawSubcommandArgs:rawArgsAfterCommand}:{...getSubcommand(parsedArgs.slice(1),COMMAND_CONFIG2),rawSubcommandArgs:rawArgsAfterCommand.slice(1)}}async function alerts(client){let telemetry2=new AlertsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(alertsCommand.options),rawArgs=normalizeHelpAlias(client.argv.slice(2));try{parsedArgs=parseArguments(rawArgs,flagsSpecification,{permissive:!0})}catch(err){let msg=err instanceof Error?err.message:String(err),projectFlagMissingArg=msg.includes("--project")&&msg.includes("requires argument");return shouldEmitNonInteractiveCommandError(client)&&outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:projectFlagMissingArg?"`--project` requires a project name or id (for example `--project my-app`).":msg,next:projectFlagMissingArg?[{command:buildCommandWithGlobalFlags(client.argv,"alerts --project <name-or-id>"),when:"Re-run with a project name or id (replace placeholder)"},{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See all `alerts` options and examples"}]:[{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See valid options and examples"}]},2),printError(err),2}let{subcommand,subcommandOriginal,rawSubcommandArgs}=getAlertsSubcommand(rawArgs,parsedArgs.args,{...arg_common_default(),...flagsSpecification});switch(subcommand){case"inspect":{telemetry2.trackCliSubcommandInspect(subcommandOriginal);let inspectFn=(await import("./chunks/inspect-FYVOOS34.js")).default;return inspectFn(client,rawSubcommandArgs)}case"rules":return warnDeprecatedSubcommand(client,"alerts rules","monitors"),runMonitors(client,rawSubcommandArgs,ALERT_RULES_API);default:{telemetry2.trackCliSubcommandLs(subcommandOriginal);let listFn=(await import("./chunks/list-KYA72D6M.js")).default;return listFn(client,telemetry2)}}}import{createRequire}from"node:module";import{isAbsolute}from"node:path";var require_=createRequire(__filename),COMMAND_CONFIG3={preinstall:getCommandAliases(preinstallSubcommand)};async function builders(client){let parsedArgs;try{parsedArgs=parseArguments(client.argv.slice(2),getFlagsSpecification(buildersCommand.options),{permissive:!0})}catch(error){return printError(error),2}let{subcommand,args}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG3);if(subcommand!=="preinstall"||args.length>0)return output_manager_default.error("Only `vercel builders preinstall` is supported."),2;if(!isManagedBuildersInstall())return output_manager_default.error("Builder preinstallation requires the native Vercel CLI or VERCEL_CLI_MANAGED_BUILDERS=1."),1;let configuredCacheRoot=process.env.VERCEL_BUILDERS_DIR;if(!configuredCacheRoot)return output_manager_default.error("Set VERCEL_BUILDERS_DIR to preinstall Builders."),1;if(!isAbsolute(configuredCacheRoot))return output_manager_default.error("VERCEL_BUILDERS_DIR must be an absolute path."),1;let cacheRoot=configuredCacheRoot;try{let[{loadEmbeddedBuilderGraphs},{createVltBuilderImporter}]=await Promise.all([import("./chunks/vlt-builder-graph-XL2XRO4V.js"),import("./chunks/vlt-builder-importer-RBUPAB6J.js")]),graphs=await loadEmbeddedBuilderGraphs(),specs=new Map(Object.keys(graphs.builders).map(name=>[name,name])),loadedBuilders=await createVltBuilderImporter({graphs,require:require_,cacheRoot,debug:message=>output_manager_default.debug(message)})(specs),missingBuilders=[...specs.keys()].filter(spec=>!loadedBuilders.has(spec));if(missingBuilders.length>0)throw new Error(`Failed to load preinstalled Builders: ${missingBuilders.join(", ")}`);return output_manager_default.log(`Preinstalled ${loadedBuilders.size} Builders in ${cacheRoot}`),0}catch(error){return printError(error),1}}var CachePurgeTelemetryClient=class extends TelemetryClient{trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliOptionType(type){type&&this.trackCliOption({option:"type",value:type})}};async function purge(client,argv){let telemetry2=new CachePurgeTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(purgeSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return printError(err),2}let projectName=parsedArgs.flags["--project"];telemetry2.trackCliOptionProject(projectName);let link=await resolveProjectContext({client,projectNameOrId:projectName});if(link.status==="not_linked")return output_manager_default.error("No project linked. Run `vercel link` to link a project to this directory."),1;if(link.status==="error")return link.exitCode;let{project,org}=link;client.config.currentTeam=org.type==="team"?org.id:void 0;let yes=!!parsedArgs.flags["--yes"];telemetry2.trackCliFlagYes(yes);let type=parsedArgs.flags["--type"]||"all";telemetry2.trackCliOptionType(parsedArgs.flags["--type"]);let cacheTypeMap={cdn:"the CDN cache",data:"the Data cache",all:"the CDN cache and Data cache"},validTypes=Object.keys(cacheTypeMap);if(!validTypes.includes(type))return output_manager_default.error(`Invalid cache type "${type}". Valid types are: ${validTypes.join(", ")}`),1;let typeDesciption=cacheTypeMap[type],msg=`You are about to purge ${typeDesciption} for project ${project.name}`,query=new URLSearchParams({projectIdOrName:project.id}).toString();if(!yes){if(!process.stdin.isTTY){let projectFlag=projectName?` --project ${projectName}`:"";return output_manager_default.print(`${msg}. To continue, run ${getCommandName(`cache purge${projectFlag} --yes`)}.`),1}if(!await client.input.confirm(`${msg}. Continue?`,!0))return output_manager_default.print(`Canceled.
36
+ `;await writeFile(filePath,existing+separator+BEST_PRACTICES_CONTENT,"utf-8"),output_manager_default.stopSpinner(),output_manager_default.success(`Appended Vercel best practices to ${import_chalk.default.bold(targetFile)}`)}else await writeFile(filePath,BEST_PRACTICES_CONTENT,"utf-8"),output_manager_default.stopSpinner(),output_manager_default.success(`Created ${import_chalk.default.bold(targetFile)} with Vercel best practices`)}catch(error){return output_manager_default.stopSpinner(),printError(error),1}return output_manager_default.log(import_chalk.default.dim("Run vercel deploy to ship your project")),0}async function agent(client){let parsedArgs,flagsSpecification=getFlagsSpecification(agentCommand.options),telemetry2=new AgentTelemetryClient({opts:{store:client.telemetryEventStore}});try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("agent"),output_manager_default.print(help(agentCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let subcommand=parsedArgs.args[1];if(telemetry2.trackCliArgumentInit(subcommand),!subcommand||subcommand==="init"){let yes=parsedArgs.flags["--yes"]??!1;telemetry2.trackCliFlagYes(yes);try{return await agentInit(client,yes)}catch(error){return printError(error),1}}return output_manager_default.error(`Unknown subcommand: ${subcommand}`),output_manager_default.print(help(agentCommand,{stream:client.stderr,columns:client.stderr.columns})),2}var AlertsTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(v){v&&this.trackCliSubcommand({subcommand:"ls",value:v})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliOptionType(v){v&&v.length>0&&this.trackCliOption({option:"type",value:v.join(",")})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliFlagAi(v){v&&this.trackCliFlag("ai")}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}};function getFlagSpecValue(flagsSpecification,flag){let value=flagsSpecification[flag];return typeof value=="string"?flagsSpecification[value]:value}function flagConsumesValue(rawArg,flagsSpecification){if(!rawArg.startsWith("-")||rawArg==="-"||rawArg.includes("="))return!1;let value=getFlagSpecValue(flagsSpecification,rawArg);return value===String||value===Number||Array.isArray(value)}function findCommandIndex(rawArgs,commandName,flagsSpecification){if(!commandName)return-1;for(let index=0;index<rawArgs.length;index++){let rawArg=rawArgs[index];if(rawArg==="--")return rawArgs.indexOf(commandName,index+1);if(rawArg.startsWith("-")){flagConsumesValue(rawArg,flagsSpecification)&&index++;continue}if(rawArg===commandName)return index}return-1}function normalizeHelpAlias(rawArgs){return rawArgs.map(arg=>arg==="-help"?"--help":arg)}var COMMAND_CONFIG2={inspect:getCommandAliases(inspectSubcommand),ls:getCommandAliases(listSubcommand),rules:["rules"]};function getAlertsSubcommand(rawArgs,parsedArgs,flagsSpecification){let commandIndex=findCommandIndex(rawArgs,parsedArgs[0],flagsSpecification),rawArgsAfterCommand=commandIndex===-1?[]:rawArgs.slice(commandIndex+1),rawSubcommand=rawArgsAfterCommand[0];return!rawSubcommand||rawSubcommand.startsWith("-")?{...getSubcommand([],COMMAND_CONFIG2),rawSubcommandArgs:rawArgsAfterCommand}:{...getSubcommand(parsedArgs.slice(1),COMMAND_CONFIG2),rawSubcommandArgs:rawArgsAfterCommand.slice(1)}}async function alerts(client){let telemetry2=new AlertsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(alertsCommand.options),rawArgs=normalizeHelpAlias(client.argv.slice(2));try{parsedArgs=parseArguments(rawArgs,flagsSpecification,{permissive:!0})}catch(err){let msg=err instanceof Error?err.message:String(err),projectFlagMissingArg=msg.includes("--project")&&msg.includes("requires argument");return shouldEmitNonInteractiveCommandError(client)&&outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:projectFlagMissingArg?"`--project` requires a project name or id (for example `--project my-app`).":msg,next:projectFlagMissingArg?[{command:buildCommandWithGlobalFlags(client.argv,"alerts --project <name-or-id>"),when:"Re-run with a project name or id (replace placeholder)"},{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See all `alerts` options and examples"}]:[{command:buildCommandWithGlobalFlags(client.argv,"alerts --help"),when:"See valid options and examples"}]},2),printError(err),2}let{subcommand,subcommandOriginal,rawSubcommandArgs}=getAlertsSubcommand(rawArgs,parsedArgs.args,{...arg_common_default(),...flagsSpecification});switch(subcommand){case"inspect":{telemetry2.trackCliSubcommandInspect(subcommandOriginal);let inspectFn=(await import("./chunks/inspect-VEUY4QJ2.js")).default;return inspectFn(client,rawSubcommandArgs)}case"rules":return warnDeprecatedSubcommand(client,"alerts rules","monitors"),runMonitors(client,rawSubcommandArgs,ALERT_RULES_API);default:{telemetry2.trackCliSubcommandLs(subcommandOriginal);let listFn=(await import("./chunks/list-NEV4FBTY.js")).default;return listFn(client,telemetry2)}}}import{createRequire}from"node:module";import{isAbsolute}from"node:path";var require_=createRequire(__filename),COMMAND_CONFIG3={preinstall:getCommandAliases(preinstallSubcommand)};async function builders(client){let parsedArgs;try{parsedArgs=parseArguments(client.argv.slice(2),getFlagsSpecification(buildersCommand.options),{permissive:!0})}catch(error){return printError(error),2}let{subcommand,args}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG3);if(subcommand!=="preinstall"||args.length>0)return output_manager_default.error("Only `vercel builders preinstall` is supported."),2;if(!isManagedBuildersInstall())return output_manager_default.error("Builder preinstallation requires the native Vercel CLI or VERCEL_CLI_MANAGED_BUILDERS=1."),1;let configuredCacheRoot=process.env.VERCEL_BUILDERS_DIR;if(!configuredCacheRoot)return output_manager_default.error("Set VERCEL_BUILDERS_DIR to preinstall Builders."),1;if(!isAbsolute(configuredCacheRoot))return output_manager_default.error("VERCEL_BUILDERS_DIR must be an absolute path."),1;let cacheRoot=configuredCacheRoot;try{let[{loadEmbeddedBuilderGraphs},{createVltBuilderImporter}]=await Promise.all([import("./chunks/vlt-builder-graph-XL2XRO4V.js"),import("./chunks/vlt-builder-importer-RBUPAB6J.js")]),graphs=await loadEmbeddedBuilderGraphs(),specs=new Map(Object.keys(graphs.builders).map(name=>[name,name])),loadedBuilders=await createVltBuilderImporter({graphs,require:require_,cacheRoot,debug:message=>output_manager_default.debug(message)})(specs),missingBuilders=[...specs.keys()].filter(spec=>!loadedBuilders.has(spec));if(missingBuilders.length>0)throw new Error(`Failed to load preinstalled Builders: ${missingBuilders.join(", ")}`);return output_manager_default.log(`Preinstalled ${loadedBuilders.size} Builders in ${cacheRoot}`),0}catch(error){return printError(error),1}}var CachePurgeTelemetryClient=class extends TelemetryClient{trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliOptionType(type){type&&this.trackCliOption({option:"type",value:type})}};async function purge(client,argv){let telemetry2=new CachePurgeTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(purgeSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return printError(err),2}let projectName=parsedArgs.flags["--project"];telemetry2.trackCliOptionProject(projectName);let link=await resolveProjectContext({client,projectNameOrId:projectName});if(link.status==="not_linked")return output_manager_default.error("No project linked. Run `vercel link` to link a project to this directory."),1;if(link.status==="error")return link.exitCode;let{project,org}=link;client.config.currentTeam=org.type==="team"?org.id:void 0;let yes=!!parsedArgs.flags["--yes"];telemetry2.trackCliFlagYes(yes);let type=parsedArgs.flags["--type"]||"all";telemetry2.trackCliOptionType(parsedArgs.flags["--type"]);let cacheTypeMap={cdn:"the CDN cache",data:"the Data cache",all:"the CDN cache and Data cache"},validTypes=Object.keys(cacheTypeMap);if(!validTypes.includes(type))return output_manager_default.error(`Invalid cache type "${type}". Valid types are: ${validTypes.join(", ")}`),1;let typeDesciption=cacheTypeMap[type],msg=`You are about to purge ${typeDesciption} for project ${project.name}`,query=new URLSearchParams({projectIdOrName:project.id}).toString();if(!yes){if(!process.stdin.isTTY){let projectFlag=projectName?` --project ${projectName}`:"";return output_manager_default.print(`${msg}. To continue, run ${getCommandName(`cache purge${projectFlag} --yes`)}.`),1}if(!await client.input.confirm(`${msg}. Continue?`,!0))return output_manager_default.print(`Canceled.
37
37
  `),0}let requests=[];return(type==="cdn"||type==="all")&&requests.push(client.fetch(`/v1/edge-cache/purge-all?${query}`,{method:"POST",headers:{"Content-Type":"application/json"}})),(type==="data"||type==="all")&&requests.push(client.fetch(`/v1/data-cache/purge-all?${query}`,{method:"DELETE",headers:{"Content-Type":"application/json"}})),await Promise.all(requests),output_manager_default.print(prependEmoji(`Successfully purged ${typeDesciption}`,emoji("success"))+`
38
38
  `),0}var CacheInvalidateTelemetryClient=class extends TelemetryClient{trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliOptionTag(tag){tag&&this.trackCliOption({option:"tag",value:tag})}trackCliOptionSrcimg(srcimg){srcimg&&this.trackCliOption({option:"srcimg",value:srcimg})}};var import_pluralize=__toESM(require_pluralize(),1);async function invalidate(client,argv){let telemetry2=new CacheInvalidateTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(invalidateSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return printError(err),2}let projectName=parsedArgs.flags["--project"];telemetry2.trackCliOptionProject(projectName);let link=await resolveProjectContext({client,projectNameOrId:projectName});if(link.status==="not_linked")return output_manager_default.error("No project linked. Run `vercel link` to link a project to this directory."),1;if(link.status==="error")return link.exitCode;let{project,org}=link;client.config.currentTeam=org.type==="team"?org.id:void 0;let yes=!!parsedArgs.flags["--yes"],tag=parsedArgs.flags["--tag"],srcimg=parsedArgs.flags["--srcimg"];if(telemetry2.trackCliFlagYes(yes),telemetry2.trackCliOptionTag(tag),telemetry2.trackCliOptionSrcimg(srcimg),tag&&srcimg)return output_manager_default.error("Cannot use both --tag and --srcimg options"),2;let itemName="",itemValue="",flag="",postUrl="",postBody={};if(tag)itemName=(0,import_pluralize.default)("tag",tag.split(",").length,!1),itemValue=tag,flag="--tag",postUrl="/v1/edge-cache/invalidate-by-tags",postBody={tags:tag};else if(srcimg)itemName="source image",itemValue=srcimg,flag="--srcimg",postUrl="/v1/edge-cache/invalidate-by-src-images",postBody={srcImages:[srcimg]};else return output_manager_default.error("The --tag or --srcimg option is required"),2;let msg=`You are about to invalidate all cached content associated with ${itemName} ${itemValue} for project ${project.name}`;if(!yes){if(!process.stdin.isTTY){let projectFlag=projectName?` --project ${projectName}`:"";return output_manager_default.print(`${msg}. To continue, run ${getCommandName(`cache invalidate ${flag} ${itemValue}${projectFlag} --yes`)}.`),1}if(!await client.input.confirm(`${msg}. Continue?`,!0))return output_manager_default.print(`Canceled.
39
39
  `),0}return await client.fetch(`${postUrl}?projectIdOrName=${project.id}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(postBody)}),output_manager_default.print(prependEmoji(`Successfully invalidated all cached content associated with ${itemName} ${itemValue}`,emoji("success"))+`
@@ -44,7 +44,7 @@ ${BEST_PRACTICES_END}
44
44
 
45
45
  `)}
46
46
  `)}async function fetchEntries(query,limit){let url=new URL(query?`${CHANGELOG_API_URL}/search`:CHANGELOG_API_URL);url.searchParams.set("limit",String(limit)),query?url.searchParams.set("q",query):url.searchParams.set("include","content");try{let response=await fetch(url,{headers:{accept:"application/json","user-agent":ua_default}});if(!response.ok){response.status===429?output_manager_default.error("Too many changelog requests. Try again shortly."):output_manager_default.error("Failed to fetch changelog entries.");return}let data=await response.json();if(!data||typeof data!="object")throw new Error("Invalid changelog response");let items=data.items;if(!Array.isArray(items)||!items.every(isChangelogItem))throw new Error("Invalid changelog response");return items}catch{output_manager_default.error("Failed to fetch changelog entries. Check your connection and try again.");return}}function printCommandHelp(client,command){output_manager_default.print(help(command,{stream:client.stderr,columns:client.stderr.columns,parent:command===changelogCommand?void 0:changelogCommand}))}async function changelog(client){let telemetry2=new ChangelogTelemetryClient({opts:{store:client.telemetryEventStore}}),flagsSpecification=getFlagsSpecification(changelogCommand.options),rawArgs=client.argv.slice(2).filter(arg=>arg!=="--changelog"),parsedArgs;try{parsedArgs=parseArguments(rawArgs,flagsSpecification)}catch(err){return printError(err),2}let commandOffset=parsedArgs.args[0]===changelogCommand.name?1:0,{subcommand,args,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(commandOffset),COMMAND_CONFIG5);if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp(changelogCommand.name,subcommand==="search"?subcommandOriginal:void 0),printCommandHelp(client,subcommand==="search"?searchSubcommand:changelogCommand),0;if(!subcommand&&args.length>0)return output_manager_default.error(`Unknown changelog command: ${args[0]}`),printCommandHelp(client,changelogCommand),1;let limit=parsedArgs.flags["--limit"]??DEFAULT_LIMIT;if(!Number.isInteger(limit)||limit<1||limit>MAX_LIMIT)return output_manager_default.error(`--limit must be between 1 and ${MAX_LIMIT}.`),2;telemetry2.trackCliOptionLimit(parsedArgs.flags["--limit"]),telemetry2.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry2.trackCliFlagJson(parsedArgs.flags["--json"]);let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return output_manager_default.error(formatResult.error),2;let jsonOutput=formatResult.jsonOutput,query;if(subcommand==="search"&&(telemetry2.trackCliSubcommandSearch(subcommandOriginal),query=args.join(" ").trim(),!query))return output_manager_default.error("Search query is required."),printCommandHelp(client,searchSubcommand),2;jsonOutput||output_manager_default.spinner(query?"Searching the changelog\u2026":"Fetching the changelog\u2026");let items=await fetchEntries(query,limit);return jsonOutput||output_manager_default.stopSpinner(),items?jsonOutput?(client.stdout.write(`${JSON.stringify({items},null,2)}
47
- `),0):items.length===0?(output_manager_default.log(query?"No changelog entries match the query.":"No changelog entries found."),0):(printEntries(items),0):1}var CommentsTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandOpen(actual){this.trackCliSubcommand({subcommand:"open",value:actual})}trackCliSubcommandReply(actual){this.trackCliSubcommand({subcommand:"reply",value:actual})}trackCliSubcommandResolve(actual){this.trackCliSubcommand({subcommand:"resolve",value:actual})}trackCliSubcommandReopen(actual){this.trackCliSubcommand({subcommand:"reopen",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}trackCliSubcommandDelete(actual){this.trackCliSubcommand({subcommand:"delete",value:actual})}trackCliOptionFormat(v){v&&this.trackCliOption({option:"format",value:v})}trackCliOptionStatus(v){v&&this.trackCliOption({option:"status",value:v})}trackCliFlagAllBranches(v){v&&this.trackCliFlag("all-branches")}trackCliFlagYes(v){v&&this.trackCliFlag("yes")}trackCliFlagContext(v){v&&this.trackCliFlag("context")}trackCliOptionProject(v){v&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliOptionGitBranch(v){v&&v.length>0&&this.trackCliOption({option:"git-branch",value:this.redactedValue})}trackCliOptionBranch(v){v&&v.length>0&&this.trackCliOption({option:"branch",value:this.redactedValue})}trackCliOptionPage(v){v&&v.length>0&&this.trackCliOption({option:"page",value:this.redactedValue})}trackCliOptionPagePath(v){v&&v.length>0&&this.trackCliOption({option:"page-path",value:this.redactedValue})}trackCliOptionAuthor(v){v&&v.length>0&&this.trackCliOption({option:"author",value:this.redactedValue})}trackCliOptionContent(v){v&&v.length>0&&this.trackCliOption({option:"content",value:this.redactedValue})}trackCliOptionContentId(v){v&&v.length>0&&this.trackCliOption({option:"content-id",value:this.redactedValue})}trackCliOptionQuery(v){v&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionSearch(v){v&&this.trackCliOption({option:"search",value:this.redactedValue})}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(v){v&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionMessage(v){v&&this.trackCliOption({option:"message",value:this.redactedValue})}trackCliOptionFile(v){v&&this.trackCliOption({option:"file",value:this.redactedValue})}trackCliOptionAttach(v){v&&v.length>0&&this.trackCliOption({option:"attach",value:this.redactedValue})}trackCliArgumentThread(v){v&&this.trackCliArgument({arg:"thread",value:this.redactedValue})}trackCliArgumentMessageId(v){v&&this.trackCliArgument({arg:"message-id",value:this.redactedValue})}trackCliArgumentSearch(v){v&&this.trackCliArgument({arg:"search",value:this.redactedValue})}};var COMMAND_CONFIG6={list:getCommandAliases(listSubcommand2),inspect:getCommandAliases(inspectSubcommand2),open:getCommandAliases(openSubcommand),reply:getCommandAliases(replySubcommand),resolve:getCommandAliases(resolveSubcommand),reopen:getCommandAliases(reopenSubcommand),update:getCommandAliases(editSubcommand),delete:getCommandAliases(deleteSubcommand)};async function comments(client){let telemetry2=new CommentsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(commentsCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG6),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("comments",subcommand),output_manager_default.print(help(commentsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubcommandHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:commentsCommand,columns:client.stderr.columns}))}function handleHelp(command){return needHelp?(telemetry2.trackCliFlagHelp("comments",subcommandOriginal),printSubcommandHelp(command),!0):!1}switch(subcommand){case"inspect":return handleHelp(inspectSubcommand2)?0:(telemetry2.trackCliSubcommandInspect(subcommandOriginal),subcommandOriginal==="get"&&warnDeprecatedSubcommand(client,"comments get","comments inspect"),(await import("./chunks/inspect-BETH6YX6.js")).default(client,telemetry2));case"open":return handleHelp(openSubcommand)?0:(telemetry2.trackCliSubcommandOpen(subcommandOriginal),(await import("./chunks/open-UMI4XZDR.js")).default(client,telemetry2));case"reply":return handleHelp(replySubcommand)?0:(telemetry2.trackCliSubcommandReply(subcommandOriginal),(await import("./chunks/reply-2EIHKZY5.js")).default(client,telemetry2));case"resolve":return handleHelp(resolveSubcommand)?0:(telemetry2.trackCliSubcommandResolve(subcommandOriginal),(await import("./chunks/resolve-BNDYBL5J.js")).default(client,telemetry2,!0));case"reopen":return handleHelp(reopenSubcommand)?0:(telemetry2.trackCliSubcommandReopen(subcommandOriginal),(await import("./chunks/resolve-BNDYBL5J.js")).default(client,telemetry2,!1));case"update":return handleHelp(editSubcommand)?0:(telemetry2.trackCliSubcommandUpdate(subcommandOriginal),subcommandOriginal==="edit"&&warnDeprecatedSubcommand(client,"comments edit","comments update"),(await import("./chunks/edit-JML77VIW.js")).default(client,telemetry2));case"delete":return handleHelp(deleteSubcommand)?0:(telemetry2.trackCliSubcommandDelete(subcommandOriginal),(await import("./chunks/delete-4OSTPMXZ.js")).default(client,telemetry2));default:{if(needHelp)return telemetry2.trackCliFlagHelp("comments",subcommandOriginal),subcommandOriginal!=="default"?printSubcommandHelp(listSubcommand2):output_manager_default.print(help(commentsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry2.trackCliSubcommandList(subcommandOriginal);let defaultInvocation=subcommandOriginal==="default";return(await import("./chunks/list-XW666MBC.js")).default(client,telemetry2,defaultInvocation)}}}var import_chalk3=__toESM(require_source(),1);var ContractTelemetryClient=class extends TelemetryClient{trackCliFlagJson(json){json&&this.trackCliFlag("json")}};var import_error_utils=__toESM(require_dist(),1);async function contract(client){let{print,log,error,spinner}=output_manager_default,flagsSpecification=getFlagsSpecification(contractCommand.options),parsedArgs;try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return printError(err),2}let telemetry2=new ContractTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("contract"),print(help(contractCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return error(formatResult.error),2;let asJson=formatResult.jsonOutput;telemetry2.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry2.trackCliFlagJson(parsedArgs.flags["--json"]);let contextName,teamId;try{let scope=await getScope(client);contextName=scope.contextName,teamId=scope.team?.id}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1;throw err}let start=Date.now();asJson||spinner(`Fetching contract commitments for ${import_chalk3.default.bold(contextName)}`);let query=new URLSearchParams;teamId&&query.set("teamId",teamId);try{let response=await client.fetch(`/v1/billing/contract-commitments?${query}`,{json:!1,useCurrentTeam:!1});if(!response.ok){let errorText=await response.text();return error(`Failed to fetch contract commitments: ${response.status} ${errorText}`),1}let text=await response.text(),data=text?JSON.parse(text):null,commitments=Array.isArray(data)?data:[];if(asJson){let jsonOutput={context:contextName,commitments:commitments.map(c=>({contractId:c.ContractId,contractPeriodStart:c.ContractPeriodStart,contractPeriodEnd:c.ContractPeriodEnd,commitmentId:c.ContractCommitmentId,commitmentType:c.ContractCommitmentType,commitmentCategory:c.ContractCommitmentCategory,commitmentPeriodStart:c.ContractCommitmentPeriodStart,commitmentPeriodEnd:c.ContractCommitmentPeriodEnd,commitmentCost:c.ContractCommitmentCost,commitmentQuantity:c.ContractCommitmentQuantity,commitmentUnit:c.ContractCommitmentUnit,billingCurrency:c.BillingCurrency,description:c.ContractCommitmentDescription})),totalCommitments:commitments.length};return client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
47
+ `),0):items.length===0?(output_manager_default.log(query?"No changelog entries match the query.":"No changelog entries found."),0):(printEntries(items),0):1}var CommentsTelemetryClient=class extends TelemetryClient{trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandOpen(actual){this.trackCliSubcommand({subcommand:"open",value:actual})}trackCliSubcommandReply(actual){this.trackCliSubcommand({subcommand:"reply",value:actual})}trackCliSubcommandResolve(actual){this.trackCliSubcommand({subcommand:"resolve",value:actual})}trackCliSubcommandReopen(actual){this.trackCliSubcommand({subcommand:"reopen",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}trackCliSubcommandDelete(actual){this.trackCliSubcommand({subcommand:"delete",value:actual})}trackCliOptionFormat(v){v&&this.trackCliOption({option:"format",value:v})}trackCliOptionStatus(v){v&&this.trackCliOption({option:"status",value:v})}trackCliFlagAllBranches(v){v&&this.trackCliFlag("all-branches")}trackCliFlagYes(v){v&&this.trackCliFlag("yes")}trackCliFlagContext(v){v&&this.trackCliFlag("context")}trackCliOptionProject(v){v&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliOptionGitBranch(v){v&&v.length>0&&this.trackCliOption({option:"git-branch",value:this.redactedValue})}trackCliOptionBranch(v){v&&v.length>0&&this.trackCliOption({option:"branch",value:this.redactedValue})}trackCliOptionPage(v){v&&v.length>0&&this.trackCliOption({option:"page",value:this.redactedValue})}trackCliOptionPagePath(v){v&&v.length>0&&this.trackCliOption({option:"page-path",value:this.redactedValue})}trackCliOptionAuthor(v){v&&v.length>0&&this.trackCliOption({option:"author",value:this.redactedValue})}trackCliOptionContent(v){v&&v.length>0&&this.trackCliOption({option:"content",value:this.redactedValue})}trackCliOptionContentId(v){v&&v.length>0&&this.trackCliOption({option:"content-id",value:this.redactedValue})}trackCliOptionQuery(v){v&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionSearch(v){v&&this.trackCliOption({option:"search",value:this.redactedValue})}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(v){v&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionMessage(v){v&&this.trackCliOption({option:"message",value:this.redactedValue})}trackCliOptionFile(v){v&&this.trackCliOption({option:"file",value:this.redactedValue})}trackCliOptionAttach(v){v&&v.length>0&&this.trackCliOption({option:"attach",value:this.redactedValue})}trackCliArgumentThread(v){v&&this.trackCliArgument({arg:"thread",value:this.redactedValue})}trackCliArgumentMessageId(v){v&&this.trackCliArgument({arg:"message-id",value:this.redactedValue})}trackCliArgumentSearch(v){v&&this.trackCliArgument({arg:"search",value:this.redactedValue})}};var COMMAND_CONFIG6={list:getCommandAliases(listSubcommand2),inspect:getCommandAliases(inspectSubcommand2),open:getCommandAliases(openSubcommand),reply:getCommandAliases(replySubcommand),resolve:getCommandAliases(resolveSubcommand),reopen:getCommandAliases(reopenSubcommand),update:getCommandAliases(editSubcommand),delete:getCommandAliases(deleteSubcommand)};async function comments(client){let telemetry2=new CommentsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(commentsCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG6),needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("comments",subcommand),output_manager_default.print(help(commentsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubcommandHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:commentsCommand,columns:client.stderr.columns}))}function handleHelp(command){return needHelp?(telemetry2.trackCliFlagHelp("comments",subcommandOriginal),printSubcommandHelp(command),!0):!1}switch(subcommand){case"inspect":return handleHelp(inspectSubcommand2)?0:(telemetry2.trackCliSubcommandInspect(subcommandOriginal),subcommandOriginal==="get"&&warnDeprecatedSubcommand(client,"comments get","comments inspect"),(await import("./chunks/inspect-3TRAN3SP.js")).default(client,telemetry2));case"open":return handleHelp(openSubcommand)?0:(telemetry2.trackCliSubcommandOpen(subcommandOriginal),(await import("./chunks/open-CYATUDTT.js")).default(client,telemetry2));case"reply":return handleHelp(replySubcommand)?0:(telemetry2.trackCliSubcommandReply(subcommandOriginal),(await import("./chunks/reply-RKDDYV5I.js")).default(client,telemetry2));case"resolve":return handleHelp(resolveSubcommand)?0:(telemetry2.trackCliSubcommandResolve(subcommandOriginal),(await import("./chunks/resolve-ZF7BFXIW.js")).default(client,telemetry2,!0));case"reopen":return handleHelp(reopenSubcommand)?0:(telemetry2.trackCliSubcommandReopen(subcommandOriginal),(await import("./chunks/resolve-ZF7BFXIW.js")).default(client,telemetry2,!1));case"update":return handleHelp(editSubcommand)?0:(telemetry2.trackCliSubcommandUpdate(subcommandOriginal),subcommandOriginal==="edit"&&warnDeprecatedSubcommand(client,"comments edit","comments update"),(await import("./chunks/edit-CVMUITFG.js")).default(client,telemetry2));case"delete":return handleHelp(deleteSubcommand)?0:(telemetry2.trackCliSubcommandDelete(subcommandOriginal),(await import("./chunks/delete-W6BZHLGP.js")).default(client,telemetry2));default:{if(needHelp)return telemetry2.trackCliFlagHelp("comments",subcommandOriginal),subcommandOriginal!=="default"?printSubcommandHelp(listSubcommand2):output_manager_default.print(help(commentsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;telemetry2.trackCliSubcommandList(subcommandOriginal);let defaultInvocation=subcommandOriginal==="default";return(await import("./chunks/list-DJKKVFUL.js")).default(client,telemetry2,defaultInvocation)}}}var import_chalk3=__toESM(require_source(),1);var ContractTelemetryClient=class extends TelemetryClient{trackCliFlagJson(json){json&&this.trackCliFlag("json")}};var import_error_utils=__toESM(require_dist(),1);async function contract(client){let{print,log,error,spinner}=output_manager_default,flagsSpecification=getFlagsSpecification(contractCommand.options),parsedArgs;try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(err){return printError(err),2}let telemetry2=new ContractTelemetryClient({opts:{store:client.telemetryEventStore}});if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("contract"),print(help(contractCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return error(formatResult.error),2;let asJson=formatResult.jsonOutput;telemetry2.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry2.trackCliFlagJson(parsedArgs.flags["--json"]);let contextName,teamId;try{let scope=await getScope(client);contextName=scope.contextName,teamId=scope.team?.id}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1;throw err}let start=Date.now();asJson||spinner(`Fetching contract commitments for ${import_chalk3.default.bold(contextName)}`);let query=new URLSearchParams;teamId&&query.set("teamId",teamId);try{let response=await client.fetch(`/v1/billing/contract-commitments?${query}`,{json:!1,useCurrentTeam:!1});if(!response.ok){let errorText=await response.text();return error(`Failed to fetch contract commitments: ${response.status} ${errorText}`),1}let text=await response.text(),data=text?JSON.parse(text):null,commitments=Array.isArray(data)?data:[];if(asJson){let jsonOutput={context:contextName,commitments:commitments.map(c=>({contractId:c.ContractId,contractPeriodStart:c.ContractPeriodStart,contractPeriodEnd:c.ContractPeriodEnd,commitmentId:c.ContractCommitmentId,commitmentType:c.ContractCommitmentType,commitmentCategory:c.ContractCommitmentCategory,commitmentPeriodStart:c.ContractCommitmentPeriodStart,commitmentPeriodEnd:c.ContractCommitmentPeriodEnd,commitmentCost:c.ContractCommitmentCost,commitmentQuantity:c.ContractCommitmentQuantity,commitmentUnit:c.ContractCommitmentUnit,billingCurrency:c.BillingCurrency,description:c.ContractCommitmentDescription})),totalCommitments:commitments.length};return client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
48
48
  `),0}if(log(`Contract commitments for ${import_chalk3.default.bold(contextName)} ${elapsed(Date.now()-start)}`),log(""),commitments.length===0)return log("No contract commitments found."),0;let contractGroups=new Map;for(let commitment of commitments){let existing=contractGroups.get(commitment.ContractId)||[];existing.push(commitment),contractGroups.set(commitment.ContractId,existing)}for(let[contractId,contractCommitments]of contractGroups){let firstCommitment=contractCommitments[0];log(import_chalk3.default.bold(`Contract: ${contractId}`)),log(`${import_chalk3.default.gray("Period:")} ${extractDatePortion(firstCommitment.ContractPeriodStart)} to ${extractDatePortion(firstCommitment.ContractPeriodEnd)}`),log("");let headers=["Type","Category","Period","Commitment","Description"],rows=contractCommitments.map(c=>{let periodStr=`${extractDatePortion(c.ContractCommitmentPeriodStart)} - ${extractDatePortion(c.ContractCommitmentPeriodEnd)}`,commitmentValue;return c.ContractCommitmentCategory==="Spend"&&c.ContractCommitmentCost!==void 0?commitmentValue=formatCurrency(c.ContractCommitmentCost):c.ContractCommitmentCategory==="Usage"&&c.ContractCommitmentQuantity!==void 0?commitmentValue=formatQuantity(c.ContractCommitmentQuantity,c.ContractCommitmentUnit):commitmentValue="-",[c.ContractCommitmentType,c.ContractCommitmentCategory,periodStr,commitmentValue,c.ContractCommitmentDescription||"-"]}),tablePrint=table([headers.map(h=>import_chalk3.default.bold(import_chalk3.default.cyan(h))),...rows],{hsep:3,align:["l","l","l","r","l"]}).replace(/^/gm," ");print(`${tablePrint}
49
49
 
50
50
  `)}return log(`${import_chalk3.default.gray("Total commitments:")} ${commitments.length}`),0}catch(err){return output_manager_default.prettyError(err),1}}var import_chalk4=__toESM(require_source(),1);import{resolve}from"path";import{access,readFile as readFile2,writeFile as writeFile2}from"fs/promises";var CronsAddTelemetryClient=class extends TelemetryClient{trackCliOptionPath(path){path&&this.trackCliOption({option:"path",value:this.redactedValue})}trackCliOptionSchedule(schedule){schedule&&this.trackCliOption({option:"schedule",value:this.redactedValue})}};var CRON_FIELD_RANGES=[["minute",0,59],["hour",0,23],["day of month",1,31],["month",1,12],["day of week",0,7]];function validateCronSchedule(expression){if(expression.length>256)return"Schedule expression must be 256 characters or less";let fields=expression.trim().split(/\s+/);if(fields.length!==5)return`Schedule must have exactly 5 fields (minute hour day-of-month month day-of-week), got ${fields.length}`;for(let i=0;i<fields.length;i++){let[name,min,max]=CRON_FIELD_RANGES[i],error=validateCronField(fields[i],name,min,max);if(error)return error}return!0}function validateCronField(field,name,min,max){let parts=field.split(",");for(let part of parts){let[range,stepStr]=part.split("/");if(stepStr!==void 0){let step=Number(stepStr);if(!Number.isInteger(step)||step<1)return`Invalid step value "${stepStr}" in ${name} field`}if(range==="*")continue;if(range.includes("-")){let rangeParts=range.split("-");if(rangeParts.length!==2||rangeParts[0]===""||rangeParts[1]==="")return`Invalid range "${range}" in ${name} field`;let[startStr,endStr]=rangeParts,start=Number(startStr),end=Number(endStr);if(!Number.isInteger(start)||!Number.isInteger(end))return`Invalid range "${range}" in ${name} field`;if(start<min||start>max||end<min||end>max)return`Value out of range in ${name} field (${min}-${max})`;if(start>end)return`Invalid range "${range}" in ${name} field: start is greater than end`;continue}let value=Number(range);if(!Number.isInteger(value))return`Invalid value "${range}" in ${name} field`;if(value<min||value>max)return`Value ${value} out of range in ${name} field (${min}-${max})`}return null}async function add(client,argv){let telemetry2=new CronsAddTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(addSubcommand.options);try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(error){return printError(error),2}let{flags}=parsedArgs,cronPath=flags["--path"],schedule=flags["--schedule"];if(telemetry2.trackCliOptionPath(cronPath),telemetry2.trackCliOptionSchedule(schedule),!cronPath||!schedule){if(!client.stdin.isTTY)return output_manager_default.error(`Missing required options. Use ${getCommandName('crons add --path /api/cron --schedule "0 10 * * *"')} in non-interactive mode.`),2;cronPath||(cronPath=await client.input.text({message:"What is the API route path for the cron job?",validate:value=>value.startsWith("/")?value.length>512?"Path must be 512 characters or less":!0:"Path must start with /"})),schedule||(schedule=await client.input.text({message:"What is the cron schedule expression?",validate:validateCronSchedule}))}if(!cronPath.startsWith("/"))return output_manager_default.error("Path must start with /"),1;if(cronPath.length>512)return output_manager_default.error("Path must be 512 characters or less"),1;let scheduleValidation=validateCronSchedule(schedule);if(scheduleValidation!==!0)return output_manager_default.error(scheduleValidation),1;let nonJsonConfigs=[...VERCEL_CONFIG_EXTENSIONS.map(ext=>`vercel.${ext}`),"vercel.toml"];for(let configName of nonJsonConfigs){let altPath=resolve(client.cwd,configName);try{return await access(altPath),output_manager_default.error(`Found ${import_chalk4.default.cyan(configName)} \u2014 ${getCommandName("crons add")} only supports ${import_chalk4.default.cyan("vercel.json")}. Add cron jobs directly to your ${import_chalk4.default.cyan(configName)} file instead.`),1}catch{}}let configPath=resolve(client.cwd,"vercel.json"),config;try{let content=await readFile2(configPath,"utf-8");config=JSON.parse(content)}catch(err){if(err instanceof SyntaxError)return output_manager_default.error(`Failed to parse ${import_chalk4.default.cyan("vercel.json")}: ${err.message}`),1;if(err instanceof Error&&"code"in err&&err.code==="ENOENT")config={};else return output_manager_default.error(`Failed to read ${import_chalk4.default.cyan("vercel.json")}: ${err instanceof Error?err.message:String(err)}`),1}let existingCrons=Array.isArray(config.crons)?config.crons:[];if(existingCrons.some(c=>c.path===cronPath))return output_manager_default.error(`A cron job with path ${import_chalk4.default.bold(cronPath)} already exists in vercel.json`),1;existingCrons.push({path:cronPath,schedule}),config.crons=existingCrons;try{await writeFile2(configPath,JSON.stringify(config,null,2)+`
@@ -146,7 +146,7 @@ Starting setup...
146
146
  `),output_manager_default.print("\u2500".repeat(50)+`
147
147
  `),summary.forEach(line=>output_manager_default.print(`${line}
148
148
  `)),output_manager_default.print(`Complete any required setup and authentication in the selected MCP clients. Restart configured clients if needed.
149
- `),0}var MCP_CLIENTS=[{slug:"claude-code",display:"Claude Code"},{slug:"claude-desktop",display:"Claude.ai and Claude for desktop"},{slug:"cursor",display:"Cursor"},{slug:"vscode-copilot",display:"VS Code with Copilot"}],MCP_CLIENT_DISPLAY_NAMES=MCP_CLIENTS.map(c=>c.display);function buildSuggestedMcpCommand(client,clientsValue){let args=client.argv.slice(2),preserved=[],hasNonInteractive=!1;for(let i=1;i<args.length;i++){let arg=args[i];if(arg==="--non-interactive"){hasNonInteractive=!0;continue}if(arg==="--clients"){for(i++;i<args.length&&!args[i].startsWith("-");)i++;i--;continue}arg.startsWith("--clients=")||preserved.push(arg)}let singleQuotedClients=`'${clientsValue}'`;preserved.push("--clients",singleQuotedClients),hasNonInteractive&&preserved.push("--non-interactive");let suffix=preserved.join(" ");return suffix?`${packageName} mcp ${suffix}`:`${packageName} mcp`}function parseAndValidateClients(clientsFlag){if(!clientsFlag||!clientsFlag.trim())return[];let normalized=clientsFlag.split(",").map(s=>s.trim()).filter(Boolean).map(name=>{let lower=name.toLowerCase();return MCP_CLIENT_DISPLAY_NAMES.find(c=>c.toLowerCase()===lower)??name});return[...new Set(normalized)]}async function main4(client){let parsedArgs,flagsSpecification=getFlagsSpecification(mcpCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return output_manager_default.print(help(mcpCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let project=!!parsedArgs.flags["--project"],clientsFlag=parsedArgs.flags["--clients"],clients=parseAndValidateClients(clientsFlag);if(client.nonInteractive){if(clients.length===0)return outputAgentError(client,{status:"error",reason:"missing_clients",message:"In non-interactive mode --clients is required. Specify a comma-separated list of MCP clients to set up.",next:[{command:buildSuggestedMcpCommand(client,"Cursor,VS Code with Copilot")}]},2),2;let invalid=clients.filter(c=>!MCP_CLIENT_DISPLAY_NAMES.some(v=>v===c));if(invalid.length>0)return outputAgentError(client,{status:"error",reason:"invalid_clients",message:`Invalid client(s): ${invalid.join(", ")}. Valid options: ${MCP_CLIENT_DISPLAY_NAMES.join(", ")}.`,next:[{command:buildSuggestedMcpCommand(client,"Cursor,VS Code with Copilot")}]},2),2}project&&client.argv.push("--project");try{return await mcp(client,{project,clients})}catch(err){return output_manager_default.prettyError(err),1}}var MetricsTelemetryClient=class extends TelemetryClient{trackCliSubcommandQuery(v){v&&this.trackCliSubcommand({subcommand:"query",value:v})}trackCliSubcommandSchema(v){v&&this.trackCliSubcommand({subcommand:"schema",value:v})}trackCliArgumentMetricId(v){v&&this.trackCliArgument({arg:"metric-id",value:v})}trackCliOptionAggregation(v){v&&this.trackCliOption({option:"aggregation",value:v})}trackCliOptionGroupBy(v){v&&v.length>0&&this.trackCliOption({option:"group-by",value:v.join(",")})}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionOrderBy(v){v&&this.trackCliOption({option:"order-by",value:v})}trackCliOptionOrder(v){v&&this.trackCliOption({option:"order",value:v})}trackCliOptionQuery(v){v&&v.length>0&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionFilter(v){v&&v.length>0&&this.trackCliOption({option:"filter",value:this.redactedValue})}trackCliFlagProd(v){v&&this.trackCliFlag("prod")}trackCliOptionEnvironment(v){v&&this.trackCliOption({option:"environment",value:this.redactedTargetName(v)})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliOptionGranularity(v){v&&this.trackCliOption({option:"granularity",value:v})}trackCliOptionBucketTimezone(v){v&&this.trackCliOption({option:"bucket-timezone",value:v})}trackCliOptionProject(v){v&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliFlagJson(json){json&&this.trackCliFlag("json")}trackCliError(code,status4){this.trackErrorCode(code),this.trackErrorStatus(status4)}};var COMMAND_CONFIG10={schema:getCommandAliases(schemaSubcommand)};async function metrics(client){let telemetry2=new MetricsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(metricsCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err,client),2}let subArgs=parsedArgs.args.slice(1),{subcommand,subcommandOriginal}=getSubcommand(subArgs,COMMAND_CONFIG10),positionalMetric=subArgs[0]==="query"?subArgs[1]:subArgs[0],needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommand),output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:metricsCommand,columns:client.stderr.columns}))}switch(subcommand){case"schema":{if(needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommandOriginal),printSubHelp(schemaSubcommand),0;telemetry2.trackCliSubcommandSchema(subcommandOriginal);let schemaFn=(await import("./chunks/schema-M367S3BJ.js")).default;return schemaFn(client,telemetry2)}default:{if(needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommandOriginal),output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;if(!positionalMetric)return output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),2;let queryFn=(await import("./chunks/query-H6HPW4MH.js")).default;return queryFn(client,telemetry2)}}}async function monitors(client){try{let group=takeCommand(client.argv.slice(2),monitorsRoutingFlags);return await runMonitors(client,group.args,MONITORS_API)}catch(err){return printError(err),isArgumentError(err)?2:1}}var import_open=__toESM(require_open(),1);var OpenTelemetryClient=class extends TelemetryClient{trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliCommandOpen(value){this.trackCliCommand({command:"open",value})}};async function openCommandHandler(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(openCommand.options),telemetry2=new OpenTelemetryClient({opts:{store:client.telemetryEventStore}});try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("open"),output_manager_default.print(help(openCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let autoConfirm=!!parsedArgs.flags["--yes"],link=await ensureLink("open",client,client.cwd,{autoConfirm});if(typeof link=="number")return link;if(link.status!=="linked"||!link.org||!link.project)return client.nonInteractive||(output_manager_default.error("This command requires a linked project. Please run:"),output_manager_default.print(` vercel link
149
+ `),0}var MCP_CLIENTS=[{slug:"claude-code",display:"Claude Code"},{slug:"claude-desktop",display:"Claude.ai and Claude for desktop"},{slug:"cursor",display:"Cursor"},{slug:"vscode-copilot",display:"VS Code with Copilot"}],MCP_CLIENT_DISPLAY_NAMES=MCP_CLIENTS.map(c=>c.display);function buildSuggestedMcpCommand(client,clientsValue){let args=client.argv.slice(2),preserved=[],hasNonInteractive=!1;for(let i=1;i<args.length;i++){let arg=args[i];if(arg==="--non-interactive"){hasNonInteractive=!0;continue}if(arg==="--clients"){for(i++;i<args.length&&!args[i].startsWith("-");)i++;i--;continue}arg.startsWith("--clients=")||preserved.push(arg)}let singleQuotedClients=`'${clientsValue}'`;preserved.push("--clients",singleQuotedClients),hasNonInteractive&&preserved.push("--non-interactive");let suffix=preserved.join(" ");return suffix?`${packageName} mcp ${suffix}`:`${packageName} mcp`}function parseAndValidateClients(clientsFlag){if(!clientsFlag||!clientsFlag.trim())return[];let normalized=clientsFlag.split(",").map(s=>s.trim()).filter(Boolean).map(name=>{let lower=name.toLowerCase();return MCP_CLIENT_DISPLAY_NAMES.find(c=>c.toLowerCase()===lower)??name});return[...new Set(normalized)]}async function main4(client){let parsedArgs,flagsSpecification=getFlagsSpecification(mcpCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return output_manager_default.print(help(mcpCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let project=!!parsedArgs.flags["--project"],clientsFlag=parsedArgs.flags["--clients"],clients=parseAndValidateClients(clientsFlag);if(client.nonInteractive){if(clients.length===0)return outputAgentError(client,{status:"error",reason:"missing_clients",message:"In non-interactive mode --clients is required. Specify a comma-separated list of MCP clients to set up.",next:[{command:buildSuggestedMcpCommand(client,"Cursor,VS Code with Copilot")}]},2),2;let invalid=clients.filter(c=>!MCP_CLIENT_DISPLAY_NAMES.some(v=>v===c));if(invalid.length>0)return outputAgentError(client,{status:"error",reason:"invalid_clients",message:`Invalid client(s): ${invalid.join(", ")}. Valid options: ${MCP_CLIENT_DISPLAY_NAMES.join(", ")}.`,next:[{command:buildSuggestedMcpCommand(client,"Cursor,VS Code with Copilot")}]},2),2}project&&client.argv.push("--project");try{return await mcp(client,{project,clients})}catch(err){return output_manager_default.prettyError(err),1}}var MetricsTelemetryClient=class extends TelemetryClient{trackCliSubcommandQuery(v){v&&this.trackCliSubcommand({subcommand:"query",value:v})}trackCliSubcommandSchema(v){v&&this.trackCliSubcommand({subcommand:"schema",value:v})}trackCliArgumentMetricId(v){v&&this.trackCliArgument({arg:"metric-id",value:v})}trackCliOptionAggregation(v){v&&this.trackCliOption({option:"aggregation",value:v})}trackCliOptionGroupBy(v){v&&v.length>0&&this.trackCliOption({option:"group-by",value:v.join(",")})}trackCliOptionLimit(v){typeof v=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionOrderBy(v){v&&this.trackCliOption({option:"order-by",value:v})}trackCliOptionOrder(v){v&&this.trackCliOption({option:"order",value:v})}trackCliOptionQuery(v){v&&v.length>0&&this.trackCliOption({option:"query",value:this.redactedValue})}trackCliOptionFilter(v){v&&v.length>0&&this.trackCliOption({option:"filter",value:this.redactedValue})}trackCliFlagProd(v){v&&this.trackCliFlag("prod")}trackCliOptionEnvironment(v){v&&this.trackCliOption({option:"environment",value:this.redactedTargetName(v)})}trackCliOptionSince(v){v&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(v){v&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliOptionGranularity(v){v&&this.trackCliOption({option:"granularity",value:v})}trackCliOptionBucketTimezone(v){v&&this.trackCliOption({option:"bucket-timezone",value:v})}trackCliOptionProject(v){v&&this.trackCliOption({option:"project",value:this.redactedValue})}trackCliFlagAll(v){v&&this.trackCliFlag("all")}trackCliFlagJson(json){json&&this.trackCliFlag("json")}trackCliError(code,status4){this.trackErrorCode(code),this.trackErrorStatus(status4)}};var COMMAND_CONFIG10={schema:getCommandAliases(schemaSubcommand)};async function metrics(client){let telemetry2=new MetricsTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(metricsCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err,client),2}let subArgs=parsedArgs.args.slice(1),{subcommand,subcommandOriginal}=getSubcommand(subArgs,COMMAND_CONFIG10),positionalMetric=subArgs[0]==="query"?subArgs[1]:subArgs[0],needHelp=parsedArgs.flags["--help"];if(!subcommand&&needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommand),output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;function printSubHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:metricsCommand,columns:client.stderr.columns}))}switch(subcommand){case"schema":{if(needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommandOriginal),printSubHelp(schemaSubcommand),0;telemetry2.trackCliSubcommandSchema(subcommandOriginal);let schemaFn=(await import("./chunks/schema-6SAZ7T2S.js")).default;return schemaFn(client,telemetry2)}default:{if(needHelp)return telemetry2.trackCliFlagHelp("metrics",subcommandOriginal),output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),0;if(!positionalMetric)return output_manager_default.print(help(metricsCommand,{stream:client.stderr,columns:client.stderr.columns})),2;let queryFn=(await import("./chunks/query-NIMDIFLO.js")).default;return queryFn(client,telemetry2)}}}async function monitors(client){try{let group=takeCommand(client.argv.slice(2),monitorsRoutingFlags);return await runMonitors(client,group.args,MONITORS_API)}catch(err){return printError(err),isArgumentError(err)?2:1}}var import_open=__toESM(require_open(),1);var OpenTelemetryClient=class extends TelemetryClient{trackCliFlagYes(yes){yes&&this.trackCliFlag("yes")}trackCliCommandOpen(value){this.trackCliCommand({command:"open",value})}};async function openCommandHandler(client){let parsedArgs=null,flagsSpecification=getFlagsSpecification(openCommand.options),telemetry2=new OpenTelemetryClient({opts:{store:client.telemetryEventStore}});try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification)}catch(error){return printError(error),2}if(parsedArgs.flags["--help"])return telemetry2.trackCliFlagHelp("open"),output_manager_default.print(help(openCommand,{stream:client.stderr,columns:client.stderr.columns})),0;let autoConfirm=!!parsedArgs.flags["--yes"],link=await ensureLink("open",client,client.cwd,{autoConfirm});if(typeof link=="number")return link;if(link.status!=="linked"||!link.org||!link.project)return client.nonInteractive||(output_manager_default.error("This command requires a linked project. Please run:"),output_manager_default.print(` vercel link
150
150
  `)),1;let{org,project}=link,projectUrl=`https://vercel.com/${org.slug}/${project.name}`;return output_manager_default.log(`Opening ${projectUrl} in your browser...`),await(0,import_open.default)(projectUrl),0}var singular={scripts:"script",headers:"header",connections:"connection"},PageIntegrityTelemetryClient=class extends TelemetryClient{trackCliSubcommandResource(resource,actual=resource){this.trackCliSubcommand({subcommand:resource,value:actual===resource||actual===singular[resource]?actual:this.redactedValue})}trackCliSubcommandScripts(actual){this.trackCliSubcommandResource("scripts",actual)}trackCliSubcommandHeaders(actual){this.trackCliSubcommandResource("headers",actual)}trackCliSubcommandConnections(actual){this.trackCliSubcommandResource("connections",actual)}trackCliSubcommandList(actual){this.trackCliSubcommand({subcommand:"list",value:actual==="list"||actual==="ls"?actual:this.redactedValue})}trackCliFlagAll(value){value&&this.trackCliFlag("all")}trackCliOptionProject(value){this.trackRedactedCliOption("project",value)}trackCliFlagJson(value){value&&this.trackCliFlag("json")}trackCliOptionLimit(value){typeof value=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(value){this.trackRedactedCliOption("next",value)}};var BASE="/v1/security/page-integrity";async function getPageIntegrityConfig(client,{teamId,projectId}){let query=new URLSearchParams({teamId,projectId});try{return{available:!0,config:await client.fetch(`${BASE}/config?${query}`)}}catch(error){if(isAPIError(error)&&error.status===404)return{available:!1,config:null,apiMessage:error.serverMessage||void 0};throw error}}async function listPageIntegrityResources(client,{teamId,projectId,kind,limit,next,includeAutoApproved}){let query=new URLSearchParams({teamId,projectId,kind,limit:String(limit)});next&&query.set("cursor",next),kind!=="header"&&!includeAutoApproved&&query.set("status","pending,approved,rejected");let response=await client.fetch(`${BASE}/resources?${query}`);return{items:response.items,next:response.pagination.next}}var import_ms=__toESM(require_ms(),1);function getPageIntegrityEnabledState(config){let paths=config.enabled?config.enabledForPaths:[];return{monitoring:{enabled:paths.length>0,paths},blocking:{enabled:config.enabled&&config.mode==="enforce"&&config.enforcePercentage>0,percentage:config.enforcePercentage,scope:config.enforcementScope}}}function formatMonitoring({monitoring}){let count=monitoring.paths.length;return monitoring.enabled?`${count} ${count===1?"path":"paths"}`:"Disabled"}function formatBlocking({blocking}){if(!blocking.enabled)return"Disabled";let previewOnly=blocking.scope==="preview";return blocking.percentage<100?`${blocking.percentage}%${previewOnly?" non-production":""}`:previewOnly?"Non-production":"Enabled"}function formatStatus(status4,modifiedBy){return status4==="approved"?modifiedBy==="system:first-party-auto-approve"?"Auto-approved":"Approved":status4==="pending"?"Needs review":status4==="rejected"?"Rejected":status4}function formatLastSeen(client,timestamp){if(timestamp===void 0)return"\u2014";if(!client.stdout.isTTY)return new Date(timestamp).toISOString();let age=Date.now()-timestamp;return age<7*24*60*60*1e3?(0,import_ms.default)(Math.max(0,age)):new Date(timestamp).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function formatObservedIn(production,preview){return production&&preview?"Both":production?"Production":preview?"Preview":"\u2014"}function formatPageIntegrityTable(client,collection,resources){let rows=[collection==="headers"?["Header","Value","Hash","Status","Last Seen"]:[collection==="scripts"?"URL":"Connection","Status","Observed In","Last Seen"]];for(let resource of resources)if(resource.kind==="header")for(let status4 of["approved","rejected","pending"])for(let hash of resource[status4])rows.push([resource.headerName,hash.value??"(absent)",truncateEnd(hash.hash,20,{omission:"\u2026"}),formatStatus(status4,"modifiedBy"in hash?hash.modifiedBy:null),formatLastSeen(client,"lastSeen"in hash?hash.lastSeen:void 0)]);else rows.push([resource.id,formatStatus(resource.status,resource.modifiedBy),formatObservedIn(resource.seenInProduction,resource.seenInPreview),formatLastSeen(client,resource.lastSeen)]);let empty=rows.length===1,sanitizedRows=rows.map(row=>row.map(remoteText));return client.stdout.isTTY?{rendered:empty?"":table(sanitizedRows),empty}:{rendered:sanitizedRows.map(row=>row.join(" ")).join(`
151
151
  `),empty}}function pageIntegrityError(client,json,error,exitCode){if(json)writeAgentError(client,{status:"error",...error});else{output_manager_default.fatal(error.message);let apiMessage=error.data?.apiMessage;typeof apiMessage=="string"&&output_manager_default.print(` ${apiMessage}
152
152
  `),error.hint&&output_manager_default.print(` ${error.hint}
@@ -204,7 +204,7 @@ Learn more: ${import_chalk21.default.cyan("https://vercel.com/docs/cli/about-tel
204
204
  `),updateCommand&&output_manager_default.print(`Upgrade command: ${updateCommand}
205
205
  `),output_manager_default.print(`Automatic updates: ${isAutoUpdateEnabled(client.config)?"Enabled":"Disabled"}
206
206
  `),requestedPreference&&output_manager_default.print(`Would ${requestedPreference.enabled?"enable":"disable"} ${requestedPreference.label}. No settings changed.
207
- `);return 0}if(disableMinReleaseAgeBypass)return setMinReleaseAgeBypass(client,!1),output_manager_default.success("Minimum release-age bypass disabled."),0;if(enableAuto||disableAuto){let enabled=!!enableAuto;return setAutoUpdate(client,enabled),output_manager_default.success(`Automatic CLI updates ${enabled?"enabled":"disabled"}.`),0}return installerManaged?installProductionRelease({version:target,skipIfCurrent:!target}):homebrewManaged?executeHomebrewUpgrade():executeUpgrade(target,client,bypassMinReleaseAge,!!target)}var VcrTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(actual){this.trackCliSubcommand({subcommand:"ls",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandCreate(actual){this.trackCliSubcommand({subcommand:"create",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}trackCliSubcommandDelete(actual){this.trackCliSubcommand({subcommand:"delete",value:actual})}trackCliSubcommandLogin(actual){this.trackCliSubcommand({subcommand:"login",value:actual})}trackCliSubcommandBuild(actual){this.trackCliSubcommand({subcommand:"build",value:actual})}trackCliSubcommandPush(actual){this.trackCliSubcommand({subcommand:"push",value:actual})}trackCliArgumentEngine(value){value&&this.trackCliArgument({arg:"engine",value})}trackCliArgumentPath(value){value&&this.trackCliArgument({arg:"path",value:this.redactedValue})}trackCliArgumentName(value){value&&this.trackCliArgument({arg:"name",value:this.redactedValue})}trackCliOptionPlatform(value){if(value){let known=value==="linux/amd64"||value==="linux/arm64";this.trackCliOption({option:"platform",value:known?value:this.redactedValue})}}trackCliSubcommandTag(actual){this.trackCliSubcommand({subcommand:"tag",value:actual})}trackCliSubcommandImage(actual){this.trackCliSubcommand({subcommand:"image",value:actual})}trackCliSubcommandPermissions(actual){this.trackCliSubcommand({subcommand:"permissions",value:actual})}trackCliOptionLimit(value){typeof value=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(value){value&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionCursor(value){value&&this.trackCliOption({option:"cursor",value:this.redactedValue})}trackCliOptionSortBy(value){value&&this.trackCliOption({option:"sort-by",value})}trackCliOptionSortOrder(value){value&&this.trackCliOption({option:"sort-order",value})}trackCliOptionPublic(value){(value==="true"||value==="false")&&this.trackCliOption({option:"public",value})}trackCliFlagPublic(value){value&&this.trackCliFlag("public")}trackCliFlagNoPublic(value){value&&this.trackCliFlag("no-public")}trackCliFlagUntagged(value){value&&this.trackCliFlag("untagged")}trackCliFlagYes(value){value&&this.trackCliFlag("yes")}trackCliFlagPush(value){value&&this.trackCliFlag("push")}};var COMMAND_CONFIG15={ls:getCommandAliases(listSubcommand6),inspect:getCommandAliases(inspectSubcommand3),add:getCommandAliases(addSubcommand2),update:getCommandAliases(configSubcommand),delete:getCommandAliases(removeSubcommand2),login:getCommandAliases(loginSubcommand),build:getCommandAliases(buildSubcommand),push:getCommandAliases(pushSubcommand),tag:getCommandAliases(tagsAggregateCommand),image:getCommandAliases(imageAggregateCommand),permissions:getCommandAliases(permissionsAggregateCommand)};async function vcr(client){let telemetry2=new VcrTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(vcrCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,args,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG15),needHelp=parsedArgs.flags["--help"];function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:vcrCommand,columns:client.stderr.columns}))}if(needHelp)switch(subcommand){case"ls":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(listSubcommand6),0;case"inspect":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(inspectSubcommand3),0;case"add":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(addSubcommand2),0;case"update":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(configSubcommand),0;case"delete":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(removeSubcommand2),0;case"login":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(loginSubcommand),0;case"build":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(buildSubcommand),0;case"push":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(pushSubcommand),0;case"tag":{telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args[0];return nested==="ls"||nested==="list"?(printHelp(tagsLsSubcommand),0):nested==="inspect"||nested==="get"?(printHelp(tagsInspectSubcommand),0):(printHelp(tagsAggregateCommand),0)}case"image":{telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args[0];return nested==="ls"||nested==="list"?(printHelp(imageLsSubcommand),0):nested==="inspect"||nested==="get"?(printHelp(imageInspectSubcommand),0):getCommandAliases(imageRmSubcommand).includes(nested)?(printHelp(imageRmSubcommand),0):(printHelp(imageAggregateCommand),0)}case"permissions":{let printPermissionsActionHelp2=function(command){output_manager_default.print(help(command,{stream:client.stderr,parent:{...vcrCommand,name:"vcr permissions repository"},columns:client.stderr.columns}))};var printPermissionsActionHelp=printPermissionsActionHelp2;telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args.slice(0,2),hasAction=aliases=>nested.some(arg=>arg!==void 0&&aliases.includes(arg));return hasAction(PERMISSIONS_ACTIONS.ls)?(printPermissionsActionHelp2(permissionsLsSubcommand),0):hasAction(PERMISSIONS_ACTIONS.add)?(printPermissionsActionHelp2(permissionsAddSubcommand),0):hasAction(PERMISSIONS_ACTIONS.rm)?(printPermissionsActionHelp2(permissionsRmSubcommand),0):hasAction(PERMISSIONS_ACTIONS.clear)?(printPermissionsActionHelp2(permissionsClearSubcommand),0):(printHelp(permissionsAggregateCommand),0)}default:return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),output_manager_default.print(help(vcrCommand,{stream:client.stderr,columns:client.stderr.columns})),0}switch(subcommand){case"ls":return telemetry2.trackCliSubcommandLs(subcommandOriginal),(await import("./chunks/ls-AIKQDEFG.js")).default(client,args,telemetry2);case"inspect":return telemetry2.trackCliSubcommandInspect(subcommandOriginal),subcommandOriginal==="get"&&warnDeprecatedSubcommand(client,"vcr get","vcr inspect"),(await import("./chunks/inspect-FXHGK7IT.js")).default(client,args,telemetry2);case"add":return telemetry2.trackCliSubcommandCreate(subcommandOriginal),subcommandOriginal==="add"&&warnDeprecatedSubcommand(client,"vcr add","vcr create"),(await import("./chunks/add-ENND6VJZ.js")).default(client,args,telemetry2);case"update":return telemetry2.trackCliSubcommandUpdate(subcommandOriginal),subcommandOriginal==="config"&&warnDeprecatedSubcommand(client,"vcr config","vcr update"),(await import("./chunks/config-ATV26WGB.js")).default(client,args,telemetry2);case"delete":return telemetry2.trackCliSubcommandDelete(subcommandOriginal),subcommandOriginal==="remove"&&warnDeprecatedSubcommand(client,"vcr remove","vcr delete"),(await import("./chunks/rm-TMNC3O4G.js")).default(client,args,telemetry2);case"login":return telemetry2.trackCliSubcommandLogin(subcommandOriginal),(await import("./chunks/login-LU3ODSCF.js")).default(client,args,telemetry2);case"build":return telemetry2.trackCliSubcommandBuild(subcommandOriginal),(await import("./chunks/build-A5QGXFCZ.js")).default(client,telemetry2);case"push":return telemetry2.trackCliSubcommandPush(subcommandOriginal),(await import("./chunks/push-LNBY3IVT.js")).default(client,telemetry2);case"tag":return telemetry2.trackCliSubcommandTag(subcommandOriginal),(await import("./chunks/tags-T3PYNFO6.js")).default(client,args,telemetry2);case"image":return telemetry2.trackCliSubcommandImage(subcommandOriginal),(await import("./chunks/image-FXLE5BFI.js")).default(client,args,telemetry2);case"permissions":return telemetry2.trackCliSubcommandPermissions(subcommandOriginal),(await import("./chunks/permissions-I6RMEE6A.js")).default(client,args,telemetry2);default:return output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG15)),output_manager_default.print(help(vcrCommand,{stream:client.stderr,columns:client.stderr.columns})),2}}var import_chalk25=__toESM(require_source(),1);async function status3(client){let context=await getVersionContext();if(output_manager_default.print(`Version: ${context.version}
207
+ `);return 0}if(disableMinReleaseAgeBypass)return setMinReleaseAgeBypass(client,!1),output_manager_default.success("Minimum release-age bypass disabled."),0;if(enableAuto||disableAuto){let enabled=!!enableAuto;return setAutoUpdate(client,enabled),output_manager_default.success(`Automatic CLI updates ${enabled?"enabled":"disabled"}.`),0}return installerManaged?installProductionRelease({version:target,skipIfCurrent:!target}):homebrewManaged?executeHomebrewUpgrade():executeUpgrade(target,client,bypassMinReleaseAge,!!target)}var VcrTelemetryClient=class extends TelemetryClient{trackCliSubcommandLs(actual){this.trackCliSubcommand({subcommand:"ls",value:actual})}trackCliSubcommandInspect(actual){this.trackCliSubcommand({subcommand:"inspect",value:actual})}trackCliSubcommandCreate(actual){this.trackCliSubcommand({subcommand:"create",value:actual})}trackCliSubcommandUpdate(actual){this.trackCliSubcommand({subcommand:"update",value:actual})}trackCliSubcommandDelete(actual){this.trackCliSubcommand({subcommand:"delete",value:actual})}trackCliSubcommandLogin(actual){this.trackCliSubcommand({subcommand:"login",value:actual})}trackCliSubcommandBuild(actual){this.trackCliSubcommand({subcommand:"build",value:actual})}trackCliSubcommandPush(actual){this.trackCliSubcommand({subcommand:"push",value:actual})}trackCliArgumentEngine(value){value&&this.trackCliArgument({arg:"engine",value})}trackCliArgumentPath(value){value&&this.trackCliArgument({arg:"path",value:this.redactedValue})}trackCliArgumentName(value){value&&this.trackCliArgument({arg:"name",value:this.redactedValue})}trackCliOptionPlatform(value){if(value){let known=value==="linux/amd64"||value==="linux/arm64";this.trackCliOption({option:"platform",value:known?value:this.redactedValue})}}trackCliSubcommandTag(actual){this.trackCliSubcommand({subcommand:"tag",value:actual})}trackCliSubcommandImage(actual){this.trackCliSubcommand({subcommand:"image",value:actual})}trackCliSubcommandPermissions(actual){this.trackCliSubcommand({subcommand:"permissions",value:actual})}trackCliOptionLimit(value){typeof value=="number"&&this.trackCliOption({option:"limit",value:this.redactedValue})}trackCliOptionNext(value){value&&this.trackCliOption({option:"next",value:this.redactedValue})}trackCliOptionCursor(value){value&&this.trackCliOption({option:"cursor",value:this.redactedValue})}trackCliOptionSortBy(value){value&&this.trackCliOption({option:"sort-by",value})}trackCliOptionSortOrder(value){value&&this.trackCliOption({option:"sort-order",value})}trackCliOptionPublic(value){(value==="true"||value==="false")&&this.trackCliOption({option:"public",value})}trackCliFlagPublic(value){value&&this.trackCliFlag("public")}trackCliFlagNoPublic(value){value&&this.trackCliFlag("no-public")}trackCliFlagUntagged(value){value&&this.trackCliFlag("untagged")}trackCliFlagYes(value){value&&this.trackCliFlag("yes")}trackCliFlagPush(value){value&&this.trackCliFlag("push")}};var COMMAND_CONFIG15={ls:getCommandAliases(listSubcommand6),inspect:getCommandAliases(inspectSubcommand3),add:getCommandAliases(addSubcommand2),update:getCommandAliases(configSubcommand),delete:getCommandAliases(removeSubcommand2),login:getCommandAliases(loginSubcommand),build:getCommandAliases(buildSubcommand),push:getCommandAliases(pushSubcommand),tag:getCommandAliases(tagsAggregateCommand),image:getCommandAliases(imageAggregateCommand),permissions:getCommandAliases(permissionsAggregateCommand)};async function vcr(client){let telemetry2=new VcrTelemetryClient({opts:{store:client.telemetryEventStore}}),parsedArgs,flagsSpecification=getFlagsSpecification(vcrCommand.options);try{parsedArgs=parseArguments(client.argv.slice(2),flagsSpecification,{permissive:!0})}catch(err){return printError(err),2}let{subcommand,args,subcommandOriginal}=getSubcommand(parsedArgs.args.slice(1),COMMAND_CONFIG15),needHelp=parsedArgs.flags["--help"];function printHelp(command){output_manager_default.print(help(command,{stream:client.stderr,parent:vcrCommand,columns:client.stderr.columns}))}if(needHelp)switch(subcommand){case"ls":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(listSubcommand6),0;case"inspect":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(inspectSubcommand3),0;case"add":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(addSubcommand2),0;case"update":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(configSubcommand),0;case"delete":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(removeSubcommand2),0;case"login":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(loginSubcommand),0;case"build":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(buildSubcommand),0;case"push":return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),printHelp(pushSubcommand),0;case"tag":{telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args[0];return nested==="ls"||nested==="list"?(printHelp(tagsLsSubcommand),0):nested==="inspect"||nested==="get"?(printHelp(tagsInspectSubcommand),0):(printHelp(tagsAggregateCommand),0)}case"image":{telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args[0];return nested==="ls"||nested==="list"?(printHelp(imageLsSubcommand),0):nested==="inspect"||nested==="get"?(printHelp(imageInspectSubcommand),0):getCommandAliases(imageRmSubcommand).includes(nested)?(printHelp(imageRmSubcommand),0):(printHelp(imageAggregateCommand),0)}case"permissions":{let printPermissionsActionHelp2=function(command){output_manager_default.print(help(command,{stream:client.stderr,parent:{...vcrCommand,name:"vcr permissions repository"},columns:client.stderr.columns}))};var printPermissionsActionHelp=printPermissionsActionHelp2;telemetry2.trackCliFlagHelp("vcr",subcommandOriginal);let nested=args.slice(0,2),hasAction=aliases=>nested.some(arg=>arg!==void 0&&aliases.includes(arg));return hasAction(PERMISSIONS_ACTIONS.ls)?(printPermissionsActionHelp2(permissionsLsSubcommand),0):hasAction(PERMISSIONS_ACTIONS.add)?(printPermissionsActionHelp2(permissionsAddSubcommand),0):hasAction(PERMISSIONS_ACTIONS.rm)?(printPermissionsActionHelp2(permissionsRmSubcommand),0):hasAction(PERMISSIONS_ACTIONS.clear)?(printPermissionsActionHelp2(permissionsClearSubcommand),0):(printHelp(permissionsAggregateCommand),0)}default:return telemetry2.trackCliFlagHelp("vcr",subcommandOriginal),output_manager_default.print(help(vcrCommand,{stream:client.stderr,columns:client.stderr.columns})),0}switch(subcommand){case"ls":return telemetry2.trackCliSubcommandLs(subcommandOriginal),(await import("./chunks/ls-UY3KCDSF.js")).default(client,args,telemetry2);case"inspect":return telemetry2.trackCliSubcommandInspect(subcommandOriginal),subcommandOriginal==="get"&&warnDeprecatedSubcommand(client,"vcr get","vcr inspect"),(await import("./chunks/inspect-OM5S5YQ2.js")).default(client,args,telemetry2);case"add":return telemetry2.trackCliSubcommandCreate(subcommandOriginal),subcommandOriginal==="add"&&warnDeprecatedSubcommand(client,"vcr add","vcr create"),(await import("./chunks/add-GLCVYEEN.js")).default(client,args,telemetry2);case"update":return telemetry2.trackCliSubcommandUpdate(subcommandOriginal),subcommandOriginal==="config"&&warnDeprecatedSubcommand(client,"vcr config","vcr update"),(await import("./chunks/config-GOYBATSI.js")).default(client,args,telemetry2);case"delete":return telemetry2.trackCliSubcommandDelete(subcommandOriginal),subcommandOriginal==="remove"&&warnDeprecatedSubcommand(client,"vcr remove","vcr delete"),(await import("./chunks/rm-7H5O3T7G.js")).default(client,args,telemetry2);case"login":return telemetry2.trackCliSubcommandLogin(subcommandOriginal),(await import("./chunks/login-EPBJQDEK.js")).default(client,args,telemetry2);case"build":return telemetry2.trackCliSubcommandBuild(subcommandOriginal),(await import("./chunks/build-6RK6VECG.js")).default(client,telemetry2);case"push":return telemetry2.trackCliSubcommandPush(subcommandOriginal),(await import("./chunks/push-ETLU6OCC.js")).default(client,telemetry2);case"tag":return telemetry2.trackCliSubcommandTag(subcommandOriginal),(await import("./chunks/tags-CRG27GFL.js")).default(client,args,telemetry2);case"image":return telemetry2.trackCliSubcommandImage(subcommandOriginal),(await import("./chunks/image-YLUF7SHR.js")).default(client,args,telemetry2);case"permissions":return telemetry2.trackCliSubcommandPermissions(subcommandOriginal),(await import("./chunks/permissions-4ZYPHPOZ.js")).default(client,args,telemetry2);default:return output_manager_default.error(getInvalidSubcommand(COMMAND_CONFIG15)),output_manager_default.print(help(vcrCommand,{stream:client.stderr,columns:client.stderr.columns})),2}}var import_chalk25=__toESM(require_source(),1);async function status3(client){let context=await getVersionContext();if(output_manager_default.print(`Version: ${context.version}
208
208
  `),output_manager_default.print(`Runtime: ${describeRuntime(context)}
209
209
  `),output_manager_default.print(`Managed by: ${describeManager(context)}
210
210
  `),context.manager==="installer"){if(output_manager_default.print(`Active version: ${context.activeVersion??context.version}
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
- import{collectBuildLogs,displayBuildLogs}from"./chunks/chunk-WYAYGE3N.js";import{decodeContinuation,encodeContinuation,recordLine,serializeTimeRange,warningLine}from"./chunks/chunk-CJHVHB2F.js";import{composeFilter,createRenderer,fetchEventPages,formatWindow,sanitize}from"./chunks/chunk-X65XZSWS.js";import{indent_default}from"./chunks/chunk-GZNDA6SV.js";import{InvalidEventsResponseError,RecordTooLargeError,sortIntervals,summaryLine,writeJsonError}from"./chunks/chunk-OLAG7Y3P.js";import{getBuildMachineResourceConfig}from"./chunks/chunk-ZF27J6FQ.js";import{isDeploying}from"./chunks/chunk-ZFRNVIHI.js";import"./chunks/chunk-R364F5BF.js";import{readStandardInput}from"./chunks/chunk-PSOVLGHP.js";import"./chunks/chunk-XOETL6DB.js";import{parseTimeFlag,validateIntegerRangeWithDefault}from"./chunks/chunk-LD42X7ZH.js";import{getDeployment}from"./chunks/chunk-QIPUFI6P.js";import"./chunks/chunk-6KCYUYUM.js";import{external_exports}from"./chunks/chunk-2NABMKFV.js";import"./chunks/chunk-PFD7LETF.js";import{printNextPageCommand}from"./chunks/chunk-B3ETPBO4.js";import{elapsed}from"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{getTeams}from"./chunks/chunk-YEPB52XE.js";import{BACKGROUND_FUNCTION_EXCLUSION,DEFAULT_LIMIT,DEFAULT_WINDOW,MAX_LIMIT,getCommandAliases,inspectCommand,logsCommand,logsSources,requestsSubcommand,runtimeSubcommand,sourceForEvent}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import"./chunks/chunk-GZWYJT4C.js";import"./chunks/chunk-3AXMZRAB.js";import"./chunks/chunk-FQVSBXRY.js";import"./chunks/chunk-GP5MFCGO.js";import"./chunks/chunk-V5A4EBV3.js";import"./chunks/chunk-IECNFRTK.js";import"./chunks/chunk-A6F3EE2O.js";import"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help}from"./chunks/chunk-33U57CNE.js";import{detectExplicitScope,getContextName}from"./chunks/chunk-RBIPVPTN.js";import{TelemetryClient}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,getErrorRecovery}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{getProjectByNameOrId,getProjectLink,resolveProjectCwd,sleep}from"./chunks/chunk-QU25LP63.js";import"./chunks/chunk-3LQ2ADXO.js";import"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{isArgumentError,parseArguments}from"./chunks/chunk-KIMIK4SG.js";import{getTeamByIdOrSlug,quoteArg}from"./chunks/chunk-F53OKXYI.js";import{validateJsonOutput,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{DeploymentNotFound,DeploymentPermissionDenied,InvalidDeploymentId,ProjectNotFound,isAPIError,require_bytes}from"./chunks/chunk-FXEMEIST.js";import{getCommandName,getCommandNamePlain,require_lib}from"./chunks/chunk-JESNVRVR.js";import{output_manager_default,require_build_utils}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{getFlagsSpecification}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_error_utils=__toESM(require_dist(),1),import_chalk3=__toESM(require_source(),1),import_ms=__toESM(require_ms(),1),import_title=__toESM(require_lib(),1);var NOT_SAVED_LABELS={disabled:"not saved (caching disabled)",prebuilt:"not saved (prebuilt deployment)",no_cache_branch:"not saved (no branch to cache)",forced_skip:"not saved (skipped)",missing_metadata:"not saved (missing metadata)",no_files:"not saved (nothing to cache)"};function describeBuildCache(summary){let save=getKnownSave(summary);if(!save)return"unavailable";if(save.saved){let rows=[["size",`${formatCacheBytes(save.compressedSizeBytes)} / ${formatCacheBytes(save.cacheLimitBytes)} limit`]];return save.fileCount!==void 0&&rows.push(["file count",`~${save.fileCount.toLocaleString("en-US")} (approx., paths selected for packing)`]),rows}return"cacheLimitBytes"in save?`not saved (exceeded ${formatCacheBytes(save.cacheLimitBytes)} limit)`:save.reason==="failed"?"upload failed":NOT_SAVED_LABELS[save.reason]??"not saved"}function getBuildCacheJson(summary){if(!summary||typeof summary!="object")return;let{save}=summary;return save===void 0?void 0:{save}}function getKnownSave(summary){if(!summary||typeof summary!="object")return;let{version,save}=summary;if(!(version!==1||!save||typeof save!="object")){if(save.saved===!0)return isCount(save.compressedSizeBytes)&&isCount(save.cacheLimitBytes)&&(save.fileCount===void 0||isCount(save.fileCount))?save:void 0;if(!(save.saved!==!1||typeof save.reason!="string"))return save.reason==="size_exceeded"?isCount(save.cacheLimitBytes)?save:void 0:{saved:!1,reason:save.reason}}}function isCount(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>=0}var BINARY_UNITS=["B","KiB","MiB","GiB","TiB"];function formatCacheBytes(value){let unit=0,scaled=value;for(;scaled>=1024&&unit<BINARY_UNITS.length-1;)scaled/=1024,unit++;return`${Number(scaled.toFixed(2))} ${BINARY_UNITS[unit]}`}var import_chalk=__toESM(require_source(),1),import_bytes=__toESM(require_bytes(),1);var isReady=({readyState})=>readyState==="READY",isFailed=({readyState})=>readyState.endsWith("_ERROR")||readyState==="ERROR";var padding=8,MAX_BUILD_GROUPS=5,MAX_OUTPUTS_PER_GROUP=5,hasOutput=b=>Array.isArray(b.output)&&b.output.length>0,getCommonPath=buildGroup=>{let commonPath=[],splits=buildGroup.map(build=>getDirPath(build.entrypoint).split("/")),shortest=splits.reduce((prevValue,currentValue)=>Math.min(prevValue,currentValue.length),1/0);for(let i=0;i<=shortest;i++){let first=splits[0][i];if(splits.every(pathParts=>pathParts[i]===first)){commonPath.push(first);continue}break}return commonPath.join("/")||"/"},styleBuild=(build,times,longestSource)=>{let{entrypoint,id}=build,time=typeof times[id]=="string"?times[id]:"",pathColor=import_chalk.default.cyan;isFailed(build)&&(pathColor=import_chalk.default.red);let entry=entrypoint.padEnd(longestSource+padding),prefix=hasOutput(build)?"\u250C":"\u2576";return`${import_chalk.default.grey(prefix)} ${pathColor(entry)}${time}`},styleHiddenBuilds=(commonPath,buildGroup,times,longestSource,isHidden=!1)=>{let{id}=buildGroup[0],entry=commonPath.padEnd(longestSource+padding),time=typeof times[id]=="string"?times[id]:"",prefix=isHidden===!1&&buildGroup.some(hasOutput)?"\u250C":"\u2576",pathColor=import_chalk.default.cyan;return buildGroup.every(isFailed)&&(pathColor=import_chalk.default.red),isHidden&&(pathColor=import_chalk.default.grey),`${import_chalk.default.grey(prefix)} ${pathColor(entry)}${time}`},styleOutput=(output,readyState,isLast)=>{let{type,path,size,lambda}=output,prefix=type==="lambda"?"\u03BB ":"",finalSize=size?` ${import_chalk.default.grey(`(${(0,import_bytes.default)(size)})`)}`:"",color=import_chalk.default.grey,finalRegion="";if(isReady({readyState})?color=import_chalk.default:isFailed({readyState})&&(color=import_chalk.default.red),lambda){let{deployedTo}=lambda;deployedTo&&deployedTo.length>0&&(finalRegion=` ${import_chalk.default.grey(`[${deployedTo.join(", ")}]`)}`)}let corner=isLast?"\u2514\u2500\u2500":"\u251C\u2500\u2500",main=prefix+path+finalSize+finalRegion;return`${import_chalk.default.grey(corner)} ${color(main)}`},getDirPath=(path,level=0,highestLevel=null)=>{let parts=path.split("/").slice(0,-1);if(highestLevel===null||level===0)return parts.join("/");let reverseLevel=highestLevel-level;return parts.slice(0,reverseLevel).join("/")},sortByEntrypoint=(a,b)=>{let aPath=getDirPath(a.entrypoint),bPath=getDirPath(b.entrypoint);return aPath===""?1:bPath===""?-1:aPath>bPath?1:bPath>aPath?-1:0},groupBuilds=(buildList,highestLevel,counter)=>{let currentIndex=counter%buildList.length,__level=Math.ceil(counter/buildList.length),_level=(__level===0?1:__level)-1,level=_level>highestLevel?highestLevel:_level,currentPath=getDirPath(buildList[currentIndex][0].entrypoint,level,highestLevel),nextList=[],currentGroup=[];for(let i=0;i<buildList.length;i++){let group=buildList[i];getDirPath(group[0].entrypoint,level,highestLevel)===currentPath?currentGroup.push(...group):nextList.push(group)}return currentIndex===0?nextList.unshift(currentGroup):nextList.splice(currentIndex,0,currentGroup),nextList},builds_default=(builds,times)=>{let path=builds.sort(sortByEntrypoint).map(build=>[build]),highestLevel=builds.reduce((prev,curr)=>{let partCounter=curr.entrypoint.split("/").length-1;return partCounter>prev?partCounter:prev},0),counter=0;for(;path.length>MAX_BUILD_GROUPS;)path=groupBuilds(path,highestLevel,counter),counter++;path=path.reverse();let longestSource=builds.reduce((final2,current)=>{let{length}=current.entrypoint;return length>final2?length:final2},0),final=[],finalBuildsLength=path.length,lengthWithoutRootPaths=path.length,hiddenBuildGroup=[];path=(()=>{let nextList=[],rootList=[];for(let group of path)getCommonPath(group)==="/"?group.map(item=>rootList.push([item])):nextList.push(group);return lengthWithoutRootPaths=nextList.length,rootList.map(group=>nextList.push(group)),nextList})();for(let buildGroup of path){let commonPath=getCommonPath(buildGroup);if(commonPath==="/")if(lengthWithoutRootPaths<=MAX_BUILD_GROUPS&&finalBuildsLength<=MAX_BUILD_GROUPS){let item=buildGroup[0];final.push(`${styleBuild(item,times,longestSource)}
7
+ import{collectBuildLogs,displayBuildLogs}from"./chunks/chunk-EKB2DYCQ.js";import{decodeContinuation,encodeContinuation,recordLine,serializeTimeRange,warningLine}from"./chunks/chunk-CJHVHB2F.js";import{composeFilter,createRenderer,fetchEventPages,formatWindow,sanitize}from"./chunks/chunk-X65XZSWS.js";import{indent_default}from"./chunks/chunk-GZNDA6SV.js";import{InvalidEventsResponseError,RecordTooLargeError,sortIntervals,summaryLine,writeJsonError}from"./chunks/chunk-OLAG7Y3P.js";import{getBuildMachineResourceConfig}from"./chunks/chunk-ZF27J6FQ.js";import{isDeploying}from"./chunks/chunk-ZFRNVIHI.js";import"./chunks/chunk-753RQ6WV.js";import{readStandardInput}from"./chunks/chunk-PSOVLGHP.js";import"./chunks/chunk-XOETL6DB.js";import{parseTimeFlag,validateIntegerRangeWithDefault}from"./chunks/chunk-LD42X7ZH.js";import{getDeployment}from"./chunks/chunk-QIPUFI6P.js";import"./chunks/chunk-6KCYUYUM.js";import{external_exports}from"./chunks/chunk-2NABMKFV.js";import"./chunks/chunk-PFD7LETF.js";import{printNextPageCommand}from"./chunks/chunk-B3ETPBO4.js";import{elapsed}from"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{getTeams}from"./chunks/chunk-YEPB52XE.js";import{BACKGROUND_FUNCTION_EXCLUSION,DEFAULT_LIMIT,DEFAULT_WINDOW,MAX_LIMIT,getCommandAliases,inspectCommand,logsCommand,logsSources,requestsSubcommand,runtimeSubcommand,sourceForEvent}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import"./chunks/chunk-GZWYJT4C.js";import"./chunks/chunk-3AXMZRAB.js";import"./chunks/chunk-FQVSBXRY.js";import"./chunks/chunk-GP5MFCGO.js";import"./chunks/chunk-V5A4EBV3.js";import"./chunks/chunk-IECNFRTK.js";import"./chunks/chunk-A6F3EE2O.js";import"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help}from"./chunks/chunk-33U57CNE.js";import{detectExplicitScope,getContextName}from"./chunks/chunk-IU6PHFPQ.js";import{TelemetryClient}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,getErrorRecovery}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{getProjectByNameOrId,getProjectLink,resolveProjectCwd,sleep}from"./chunks/chunk-QZEZCUUZ.js";import"./chunks/chunk-3LQ2ADXO.js";import"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{isArgumentError,parseArguments}from"./chunks/chunk-KIMIK4SG.js";import{getTeamByIdOrSlug,quoteArg}from"./chunks/chunk-F53OKXYI.js";import{validateJsonOutput,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{DeploymentNotFound,DeploymentPermissionDenied,InvalidDeploymentId,ProjectNotFound,isAPIError,require_bytes}from"./chunks/chunk-FXEMEIST.js";import{getCommandName,getCommandNamePlain,require_lib}from"./chunks/chunk-JESNVRVR.js";import{output_manager_default,require_build_utils}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import{require_dist}from"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{getFlagsSpecification}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_error_utils=__toESM(require_dist(),1),import_chalk3=__toESM(require_source(),1),import_ms=__toESM(require_ms(),1),import_title=__toESM(require_lib(),1);var NOT_SAVED_LABELS={disabled:"not saved (caching disabled)",prebuilt:"not saved (prebuilt deployment)",no_cache_branch:"not saved (no branch to cache)",forced_skip:"not saved (skipped)",missing_metadata:"not saved (missing metadata)",no_files:"not saved (nothing to cache)"};function describeBuildCache(summary){let save=getKnownSave(summary);if(!save)return"unavailable";if(save.saved){let rows=[["size",`${formatCacheBytes(save.compressedSizeBytes)} / ${formatCacheBytes(save.cacheLimitBytes)} limit`]];return save.fileCount!==void 0&&rows.push(["file count",`~${save.fileCount.toLocaleString("en-US")} (approx., paths selected for packing)`]),rows}return"cacheLimitBytes"in save?`not saved (exceeded ${formatCacheBytes(save.cacheLimitBytes)} limit)`:save.reason==="failed"?"upload failed":NOT_SAVED_LABELS[save.reason]??"not saved"}function getBuildCacheJson(summary){if(!summary||typeof summary!="object")return;let{save}=summary;return save===void 0?void 0:{save}}function getKnownSave(summary){if(!summary||typeof summary!="object")return;let{version,save}=summary;if(!(version!==1||!save||typeof save!="object")){if(save.saved===!0)return isCount(save.compressedSizeBytes)&&isCount(save.cacheLimitBytes)&&(save.fileCount===void 0||isCount(save.fileCount))?save:void 0;if(!(save.saved!==!1||typeof save.reason!="string"))return save.reason==="size_exceeded"?isCount(save.cacheLimitBytes)?save:void 0:{saved:!1,reason:save.reason}}}function isCount(value){return typeof value=="number"&&Number.isSafeInteger(value)&&value>=0}var BINARY_UNITS=["B","KiB","MiB","GiB","TiB"];function formatCacheBytes(value){let unit=0,scaled=value;for(;scaled>=1024&&unit<BINARY_UNITS.length-1;)scaled/=1024,unit++;return`${Number(scaled.toFixed(2))} ${BINARY_UNITS[unit]}`}var import_chalk=__toESM(require_source(),1),import_bytes=__toESM(require_bytes(),1);var isReady=({readyState})=>readyState==="READY",isFailed=({readyState})=>readyState.endsWith("_ERROR")||readyState==="ERROR";var padding=8,MAX_BUILD_GROUPS=5,MAX_OUTPUTS_PER_GROUP=5,hasOutput=b=>Array.isArray(b.output)&&b.output.length>0,getCommonPath=buildGroup=>{let commonPath=[],splits=buildGroup.map(build=>getDirPath(build.entrypoint).split("/")),shortest=splits.reduce((prevValue,currentValue)=>Math.min(prevValue,currentValue.length),1/0);for(let i=0;i<=shortest;i++){let first=splits[0][i];if(splits.every(pathParts=>pathParts[i]===first)){commonPath.push(first);continue}break}return commonPath.join("/")||"/"},styleBuild=(build,times,longestSource)=>{let{entrypoint,id}=build,time=typeof times[id]=="string"?times[id]:"",pathColor=import_chalk.default.cyan;isFailed(build)&&(pathColor=import_chalk.default.red);let entry=entrypoint.padEnd(longestSource+padding),prefix=hasOutput(build)?"\u250C":"\u2576";return`${import_chalk.default.grey(prefix)} ${pathColor(entry)}${time}`},styleHiddenBuilds=(commonPath,buildGroup,times,longestSource,isHidden=!1)=>{let{id}=buildGroup[0],entry=commonPath.padEnd(longestSource+padding),time=typeof times[id]=="string"?times[id]:"",prefix=isHidden===!1&&buildGroup.some(hasOutput)?"\u250C":"\u2576",pathColor=import_chalk.default.cyan;return buildGroup.every(isFailed)&&(pathColor=import_chalk.default.red),isHidden&&(pathColor=import_chalk.default.grey),`${import_chalk.default.grey(prefix)} ${pathColor(entry)}${time}`},styleOutput=(output,readyState,isLast)=>{let{type,path,size,lambda}=output,prefix=type==="lambda"?"\u03BB ":"",finalSize=size?` ${import_chalk.default.grey(`(${(0,import_bytes.default)(size)})`)}`:"",color=import_chalk.default.grey,finalRegion="";if(isReady({readyState})?color=import_chalk.default:isFailed({readyState})&&(color=import_chalk.default.red),lambda){let{deployedTo}=lambda;deployedTo&&deployedTo.length>0&&(finalRegion=` ${import_chalk.default.grey(`[${deployedTo.join(", ")}]`)}`)}let corner=isLast?"\u2514\u2500\u2500":"\u251C\u2500\u2500",main=prefix+path+finalSize+finalRegion;return`${import_chalk.default.grey(corner)} ${color(main)}`},getDirPath=(path,level=0,highestLevel=null)=>{let parts=path.split("/").slice(0,-1);if(highestLevel===null||level===0)return parts.join("/");let reverseLevel=highestLevel-level;return parts.slice(0,reverseLevel).join("/")},sortByEntrypoint=(a,b)=>{let aPath=getDirPath(a.entrypoint),bPath=getDirPath(b.entrypoint);return aPath===""?1:bPath===""?-1:aPath>bPath?1:bPath>aPath?-1:0},groupBuilds=(buildList,highestLevel,counter)=>{let currentIndex=counter%buildList.length,__level=Math.ceil(counter/buildList.length),_level=(__level===0?1:__level)-1,level=_level>highestLevel?highestLevel:_level,currentPath=getDirPath(buildList[currentIndex][0].entrypoint,level,highestLevel),nextList=[],currentGroup=[];for(let i=0;i<buildList.length;i++){let group=buildList[i];getDirPath(group[0].entrypoint,level,highestLevel)===currentPath?currentGroup.push(...group):nextList.push(group)}return currentIndex===0?nextList.unshift(currentGroup):nextList.splice(currentIndex,0,currentGroup),nextList},builds_default=(builds,times)=>{let path=builds.sort(sortByEntrypoint).map(build=>[build]),highestLevel=builds.reduce((prev,curr)=>{let partCounter=curr.entrypoint.split("/").length-1;return partCounter>prev?partCounter:prev},0),counter=0;for(;path.length>MAX_BUILD_GROUPS;)path=groupBuilds(path,highestLevel,counter),counter++;path=path.reverse();let longestSource=builds.reduce((final2,current)=>{let{length}=current.entrypoint;return length>final2?length:final2},0),final=[],finalBuildsLength=path.length,lengthWithoutRootPaths=path.length,hiddenBuildGroup=[];path=(()=>{let nextList=[],rootList=[];for(let group of path)getCommonPath(group)==="/"?group.map(item=>rootList.push([item])):nextList.push(group);return lengthWithoutRootPaths=nextList.length,rootList.map(group=>nextList.push(group)),nextList})();for(let buildGroup of path){let commonPath=getCommonPath(buildGroup);if(commonPath==="/")if(lengthWithoutRootPaths<=MAX_BUILD_GROUPS&&finalBuildsLength<=MAX_BUILD_GROUPS){let item=buildGroup[0];final.push(`${styleBuild(item,times,longestSource)}
8
8
  `),finalBuildsLength++}else{hiddenBuildGroup.push(buildGroup[0]);continue}else if(buildGroup.length===1){let item=buildGroup[0];final.push(`${styleBuild(item,times,longestSource)}
9
9
  `),finalBuildsLength++}else final.push(`${styleHiddenBuilds(`${commonPath}/*`,buildGroup,times,longestSource)}
10
10
  `),finalBuildsLength++;let outputs=[];for(let build of buildGroup)Array.isArray(build.output)&&outputs.push(...build.output);outputs.slice(0,MAX_OUTPUTS_PER_GROUP).forEach((output,index)=>final.push(`${styleOutput(output,"READY",outputs.length===index+1)}
@@ -4,7 +4,7 @@ import { dirname as __dirname_ } from 'node:path';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
- import{FILTER_DEPRECATION_WARNING,alignTimeRangeToGranularity,canonicalResponseToMetricsResponse,createCanonicalMetricsRequest,usesODataSyntax}from"./chunks/chunk-3RXEJWYM.js";import{init_dist,prepareFlagsDefinitions}from"./chunks/chunk-OAM5NJCU.js";import{EncryptJWT,base64url_exports,jwtDecrypt}from"./chunks/chunk-S3L2OHPO.js";import{require_fast_deep_equal}from"./chunks/chunk-MCRKBVZA.js";import{sanitizeForTerminal}from"./chunks/chunk-UUBPAYTG.js";import{getLinkedFlagsProject,getProjectNameFromFlags}from"./chunks/chunk-GBRNYCSA.js";import{parseSubcommandArguments,requireProjectContext}from"./chunks/chunk-QMB36NJD.js";import{computeGranularity,formatText,generateSparkline}from"./chunks/chunk-Y55DGB3L.js";import{OBSERVABILITY_METRICS_PATH,getRollupColumnName,handleApiError}from"./chunks/chunk-C4XT3PG4.js";import"./chunks/chunk-IVSSTHB6.js";import"./chunks/chunk-GZNDA6SV.js";import{require_dist}from"./chunks/chunk-JELLVPCM.js";import{readStdinText}from"./chunks/chunk-PSOVLGHP.js";import{require_raw_body}from"./chunks/chunk-XOETL6DB.js";import{findCommandShorthands}from"./chunks/chunk-VBKFCR5W.js";import{STANDARD_ENVIRONMENTS}from"./chunks/chunk-7YKFF6CE.js";import{resolveProjectContext}from"./chunks/chunk-4JOJYW22.js";import{formatProject}from"./chunks/chunk-YRK2BCTJ.js";import{normalizeRepeatableStringFilters,outputError,resolveTimeRange,validateIntegerRangeWithDefault,validateTimeBound,validateTimeOrder}from"./chunks/chunk-LD42X7ZH.js";import{ellipsizeMiddle,truncateEnd}from"./chunks/chunk-TOTTVS5P.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import"./chunks/chunk-RJZHOERW.js";import{readOnOffOption}from"./chunks/chunk-APNR444T.js";import{getCommandFlags}from"./chunks/chunk-XGTKHQTT.js";import{canPrompt,canPromptOnTerminal}from"./chunks/chunk-IQ7FPAI4.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import"./chunks/chunk-PFD7LETF.js";import{printNextPageCommand}from"./chunks/chunk-B3ETPBO4.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import{formatTable}from"./chunks/chunk-44XDCARR.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import{table}from"./chunks/chunk-OTJNOMRV.js";import{getRenamedOption,reportRenamedOptionError,withWarnings}from"./chunks/chunk-2QSNFVB6.js";import"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{FLAG_ATTRIBUTE_TYPES,FLAG_CONDITION_LIST_COMPARATORS,FLAG_CONDITION_RHS_OPTIONAL_COMPARATORS,FLAG_EVALUATIONS_DIMENSIONS,FLAG_EVALUATIONS_DIMENSION_NAMES,FLAG_EVALUATIONS_GRANULARITIES,alertsInspectSubcommand,alertsListSubcommand,alertsSubcommand,archiveSubcommand,attackModeDisableSubcommand,attackModeEnableSubcommand,attackModeSubcommand,botManagementSubcommand,cleanupSubcommand,commandsStructs,connectionsAddSubcommand,connectionsListSubcommand,connectionsRemoveSubcommand,connectionsSubcommand,createSubcommand6 as createSubcommand,datafileSubcommand,diffSubcommand,disableSubcommand,discardSubcommand,enableSubcommand2 as enableSubcommand,entitiesCreateSubcommand,entitiesListSubcommand,entitiesRemoveSubcommand,entitiesSubcommand,entitiesUpdateSubcommand,evaluationsSubcommand,feedbackCommand,firewallCommand,flagsCommand,formatFlagAttributeTypeList,formatFlagConditionComparator,formatFlagConditionComparatorList,getCommandAliases,getFlagAttributeType,inspectSubcommand9 as inspectSubcommand,ipBlocksBlockSubcommand,ipBlocksListSubcommand,ipBlocksSubcommand,ipBlocksUnblockSubcommand,isBucketingAttribute,isFlagAttributeType,isFlagEvaluationsDimension,isFlagEvaluationsGranularity,isTimestampAttributeType,labelsListSubcommand,labelsSubcommand,listSubcommand14 as listSubcommand,openSubcommand3 as openSubcommand,overrideSubcommand,overviewSubcommand,persistentActionsInspectSubcommand,persistentActionsListSubcommand,persistentActionsSubcommand,prepareSubcommand,publishSubcommand,removeSubcommand8 as removeSubcommand,rolloutSubcommand,rulesAddSubcommand2 as rulesAddSubcommand,rulesAddSubcommand3 as rulesAddSubcommand2,rulesDisableSubcommand,rulesEditSubcommand2 as rulesEditSubcommand,rulesEnableSubcommand,rulesInspectSubcommand,rulesListSubcommand2 as rulesListSubcommand,rulesListSubcommand3 as rulesListSubcommand2,rulesMoveSubcommand,rulesRemoveSubcommand2 as rulesRemoveSubcommand,rulesRemoveSubcommand3 as rulesRemoveSubcommand2,rulesReorderSubcommand,rulesSubcommand2 as rulesSubcommand,rulesSubcommand3 as rulesSubcommand2,rulesUpdateSubcommand,sdkKeysAddSubcommand,sdkKeysListSubcommand,sdkKeysRemoveSubcommand,sdkKeysSubcommand,segmentsCreateSubcommand,segmentsInspectSubcommand,segmentsListSubcommand,segmentsRemoveSubcommand,segmentsSubcommand,segmentsUpdateSubcommand,setSubcommand2 as setSubcommand,splitSubcommand,staleSubcommand,statusSubcommand,systemBypassAddSubcommand,systemBypassListSubcommand,systemBypassRemoveSubcommand,systemBypassSubcommand,systemMitigationsPauseSubcommand,systemMitigationsResumeSubcommand,systemMitigationsSubcommand,targetingEnableSubcommand,targetingSubcommand,targetsAddSubcommand,targetsListSubcommand,targetsRemoveSubcommand,targetsSubcommand,trafficInspectSubcommand,trafficListSubcommand,trafficSubcommand,unarchiveSubcommand,updateSubcommand5 as updateSubcommand,useTargetingSubcommand,versionsDiffSubcommand,versionsListSubcommand,versionsSubcommand}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import"./chunks/chunk-GZWYJT4C.js";import"./chunks/chunk-3AXMZRAB.js";import"./chunks/chunk-FQVSBXRY.js";import"./chunks/chunk-GP5MFCGO.js";import"./chunks/chunk-V5A4EBV3.js";import"./chunks/chunk-IECNFRTK.js";import"./chunks/chunk-A6F3EE2O.js";import"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help,remoteText}from"./chunks/chunk-33U57CNE.js";import{getScope}from"./chunks/chunk-RBIPVPTN.js";import{TelemetryClient}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,buildCommandWithYes,clientObservabilityPlanRecovery,getExitCodeForReason,outputAgentError,shouldEmitNonInteractiveCommandError,writeActionRequired,writeAgentError}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{getProjectByNameOrId,isPromptCanceledError,require_pluralize,sleep,ua_default}from"./chunks/chunk-QU25LP63.js";import{formatAlignedLabel,printAlignedLabel}from"./chunks/chunk-3LQ2ADXO.js";import"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{parseArguments}from"./chunks/chunk-KIMIK4SG.js";import{quoteArg,teamCache}from"./chunks/chunk-F53OKXYI.js";import{warnDeprecatedInput,warnDeprecatedOption,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{ProjectNotFound,isAPIError}from"./chunks/chunk-FXEMEIST.js";import{cmd,getCommandName,getCommandNamePlain,packageName}from"./chunks/chunk-JESNVRVR.js";import{output_manager_default,recordCliError}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{SDK_KEY_PATTERN,getFlagsSpecification,getGlobalFlagsFromArgs,getProjectOptionFromArgs}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import{fetch,toNodeReadable}from"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_raw_body=__toESM(require_raw_body(),1);var FeedbackTelemetryClient=class extends TelemetryClient{trackCliArgumentNote(note){note!==void 0&&this.trackCliArgument({arg:"note",value:this.redactedValue})}trackCliOptionField(fields){fields?.length&&this.trackCliOption({option:"field",value:this.redactedValue})}};var FEEDBACK_URL="https://vercel.com/api/feedback/cli",MAX_FEEDBACK_BYTES=1024*1024,FETCH_TIMEOUT_MS=1e4;async function feedback(client){let fail=(reason,message,code)=>(recordCliError({code:reason}),output_manager_default.error(message),code),parsed;try{parsed=parseArguments(client.argv.slice(2),getFlagsSpecification(feedbackCommand.options))}catch{return fail(AGENT_REASON.INVALID_ARGUMENTS,"Invalid feedback arguments. Run vercel feedback --help for usage.",2)}let notes=parsed.args.slice(1),fields=parsed.flags["--field"]??[];if(notes.length===0&&fields.length===0)return client.stdout.write(help(feedbackCommand,{stream:client.stdout,columns:client.stdout.columns??client.stderr.columns})),0;if(notes.length>1)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Pass one note. Quote notes containing spaces, or use vercel feedback - to read stdin.",2);let telemetry=new FeedbackTelemetryClient({opts:{store:client.telemetryEventStore}});telemetry.trackCliArgumentNote(notes[0]),telemetry.trackCliOptionField(fields);let data=Object.create(null);for(let field of fields){let separator=field.indexOf("="),key=field.slice(0,separator).trim();if(separator<1||key==="")return fail(AGENT_REASON.INVALID_ARGUMENTS,"Each --field needs a non-empty key followed by =value. Example: vercel feedback --field topic=deploy.",2);data[key]=field.slice(separator+1)}if(notes.length&&Object.hasOwn(data,"note"))return fail(AGENT_REASON.INVALID_ARGUMENTS,"Provide the note once: use a positional note or --field note=..., rather than both.",2);if(notes[0]==="-"){if(client.stdin.isTTY)return fail(AGENT_REASON.INVALID_ARGUMENTS,"No input was piped to stdin. Pipe a note with: cat notes.md | vercel feedback -",2);try{data.note=await readStdinText(client.stdin,MAX_FEEDBACK_BYTES)}catch(error){return error.type==="entity.too.large"?fail(AGENT_REASON.INVALID_ARGUMENTS,"Feedback is too large. Keep the complete submission below 1 MiB.",2):fail(AGENT_REASON.STDIN_ERROR,"Could not read the feedback note from stdin. Check the input pipe and try again.",1)}}else notes[0]!==void 0&&(data.note=notes[0]);for(let key of Object.keys(data))data[key].trim()||delete data[key];if(!Object.keys(data).length)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Provide a note or at least one named field. Run vercel feedback --help for examples.",2);let canSendTelemetry=client.telemetryEventStore?.enabled??!1,body=JSON.stringify({metadata:canSendTelemetry?{agent:client.isAgent,agent_name:client.isAgent?client.agentName:void 0,cli_version:pkg_default.version,operating_system:process.platform,team_id:client.config.currentTeam??null,user_id:client.authConfig.userId??null,invocation_id:client.telemetryEventStore?.currentInvocationId??null,session_id:client.telemetryEventStore?.currentSessionId??null}:null,data});if(Buffer.byteLength(body)>MAX_FEEDBACK_BYTES)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Feedback is too large. Keep the complete submission below 1 MiB.",2);let controller=new AbortController,timeout=setTimeout(()=>controller.abort(),FETCH_TIMEOUT_MS);timeout.unref?.();try{let response=await fetch(FEEDBACK_URL,{method:"POST",headers:{"content-type":"application/json","user-agent":ua_default},body,redirect:"manual",signal:controller.signal});if(!response.ok)return await response.body?.cancel(),fail(response.status===429?AGENT_REASON.RATE_LIMITED:AGENT_REASON.API_ERROR,`Feedback could not be submitted (HTTP ${response.status}). Try again later.`,1);let responseBody=toNodeReadable(response.body);return JSON.parse(await(0,import_raw_body.default)(responseBody,{limit:64*1024,encoding:"utf8"}).finally(()=>responseBody.destroy()))?.success!==!0?fail(AGENT_REASON.UNKNOWN_OUTCOME,"Could not confirm that Vercel accepted the feedback. It may have been submitted; no automatic retry was made.",1):(client.stdout.write(`Feedback sent
7
+ import{FILTER_DEPRECATION_WARNING,alignTimeRangeToGranularity,canonicalResponseToMetricsResponse,createCanonicalMetricsRequest,usesODataSyntax}from"./chunks/chunk-3RXEJWYM.js";import{init_dist,prepareFlagsDefinitions}from"./chunks/chunk-OAM5NJCU.js";import{EncryptJWT,base64url_exports,jwtDecrypt}from"./chunks/chunk-S3L2OHPO.js";import{require_fast_deep_equal}from"./chunks/chunk-MCRKBVZA.js";import{sanitizeForTerminal}from"./chunks/chunk-UUBPAYTG.js";import{getLinkedFlagsProject,getProjectNameFromFlags}from"./chunks/chunk-3DDEBTCC.js";import{parseSubcommandArguments,requireProjectContext}from"./chunks/chunk-GP2FXUFE.js";import{computeGranularity,formatText,generateSparkline}from"./chunks/chunk-Y55DGB3L.js";import{OBSERVABILITY_METRICS_PATH,getRollupColumnName,handleApiError}from"./chunks/chunk-C4XT3PG4.js";import"./chunks/chunk-IVSSTHB6.js";import"./chunks/chunk-GZNDA6SV.js";import{require_dist}from"./chunks/chunk-JELLVPCM.js";import{readStdinText}from"./chunks/chunk-PSOVLGHP.js";import{require_raw_body}from"./chunks/chunk-XOETL6DB.js";import{findCommandShorthands}from"./chunks/chunk-VBKFCR5W.js";import{STANDARD_ENVIRONMENTS}from"./chunks/chunk-7YKFF6CE.js";import{resolveProjectContext}from"./chunks/chunk-JULKMXVP.js";import{formatProject}from"./chunks/chunk-YRK2BCTJ.js";import{normalizeRepeatableStringFilters,outputError,resolveTimeRange,validateIntegerRangeWithDefault,validateTimeBound,validateTimeOrder}from"./chunks/chunk-LD42X7ZH.js";import{ellipsizeMiddle,truncateEnd}from"./chunks/chunk-TOTTVS5P.js";import{require_open}from"./chunks/chunk-PVASGBEF.js";import"./chunks/chunk-ZBJ44DRL.js";import{readOnOffOption}from"./chunks/chunk-APNR444T.js";import{getCommandFlags}from"./chunks/chunk-XGTKHQTT.js";import{canPrompt,canPromptOnTerminal}from"./chunks/chunk-IQ7FPAI4.js";import{formatDate}from"./chunks/chunk-HRR57QNP.js";import"./chunks/chunk-PFD7LETF.js";import{printNextPageCommand}from"./chunks/chunk-B3ETPBO4.js";import{getInvalidSubcommand}from"./chunks/chunk-TG2RCYTH.js";import{formatTable}from"./chunks/chunk-44XDCARR.js";import{stamp_default}from"./chunks/chunk-A2RZZQEP.js";import{table}from"./chunks/chunk-OTJNOMRV.js";import{getRenamedOption,reportRenamedOptionError,withWarnings}from"./chunks/chunk-2QSNFVB6.js";import"./chunks/chunk-Q7D7RGXM.js";import{getSubcommand}from"./chunks/chunk-ETV3C2CV.js";import{FLAG_ATTRIBUTE_TYPES,FLAG_CONDITION_LIST_COMPARATORS,FLAG_CONDITION_RHS_OPTIONAL_COMPARATORS,FLAG_EVALUATIONS_DIMENSIONS,FLAG_EVALUATIONS_DIMENSION_NAMES,FLAG_EVALUATIONS_GRANULARITIES,alertsInspectSubcommand,alertsListSubcommand,alertsSubcommand,archiveSubcommand,attackModeDisableSubcommand,attackModeEnableSubcommand,attackModeSubcommand,botManagementSubcommand,cleanupSubcommand,commandsStructs,connectionsAddSubcommand,connectionsListSubcommand,connectionsRemoveSubcommand,connectionsSubcommand,createSubcommand6 as createSubcommand,datafileSubcommand,diffSubcommand,disableSubcommand,discardSubcommand,enableSubcommand2 as enableSubcommand,entitiesCreateSubcommand,entitiesListSubcommand,entitiesRemoveSubcommand,entitiesSubcommand,entitiesUpdateSubcommand,evaluationsSubcommand,feedbackCommand,firewallCommand,flagsCommand,formatFlagAttributeTypeList,formatFlagConditionComparator,formatFlagConditionComparatorList,getCommandAliases,getFlagAttributeType,inspectSubcommand9 as inspectSubcommand,ipBlocksBlockSubcommand,ipBlocksListSubcommand,ipBlocksSubcommand,ipBlocksUnblockSubcommand,isBucketingAttribute,isFlagAttributeType,isFlagEvaluationsDimension,isFlagEvaluationsGranularity,isTimestampAttributeType,labelsListSubcommand,labelsSubcommand,listSubcommand14 as listSubcommand,openSubcommand3 as openSubcommand,overrideSubcommand,overviewSubcommand,persistentActionsInspectSubcommand,persistentActionsListSubcommand,persistentActionsSubcommand,prepareSubcommand,publishSubcommand,removeSubcommand8 as removeSubcommand,rolloutSubcommand,rulesAddSubcommand2 as rulesAddSubcommand,rulesAddSubcommand3 as rulesAddSubcommand2,rulesDisableSubcommand,rulesEditSubcommand2 as rulesEditSubcommand,rulesEnableSubcommand,rulesInspectSubcommand,rulesListSubcommand2 as rulesListSubcommand,rulesListSubcommand3 as rulesListSubcommand2,rulesMoveSubcommand,rulesRemoveSubcommand2 as rulesRemoveSubcommand,rulesRemoveSubcommand3 as rulesRemoveSubcommand2,rulesReorderSubcommand,rulesSubcommand2 as rulesSubcommand,rulesSubcommand3 as rulesSubcommand2,rulesUpdateSubcommand,sdkKeysAddSubcommand,sdkKeysListSubcommand,sdkKeysRemoveSubcommand,sdkKeysSubcommand,segmentsCreateSubcommand,segmentsInspectSubcommand,segmentsListSubcommand,segmentsRemoveSubcommand,segmentsSubcommand,segmentsUpdateSubcommand,setSubcommand2 as setSubcommand,splitSubcommand,staleSubcommand,statusSubcommand,systemBypassAddSubcommand,systemBypassListSubcommand,systemBypassRemoveSubcommand,systemBypassSubcommand,systemMitigationsPauseSubcommand,systemMitigationsResumeSubcommand,systemMitigationsSubcommand,targetingEnableSubcommand,targetingSubcommand,targetsAddSubcommand,targetsListSubcommand,targetsRemoveSubcommand,targetsSubcommand,trafficInspectSubcommand,trafficListSubcommand,trafficSubcommand,unarchiveSubcommand,updateSubcommand5 as updateSubcommand,useTargetingSubcommand,versionsDiffSubcommand,versionsListSubcommand,versionsSubcommand}from"./chunks/chunk-2PYFJXKS.js";import"./chunks/chunk-3KSTUMR6.js";import"./chunks/chunk-EZL4AJXH.js";import"./chunks/chunk-45UDRX4C.js";import"./chunks/chunk-J52UJYOK.js";import"./chunks/chunk-GZWYJT4C.js";import"./chunks/chunk-3AXMZRAB.js";import"./chunks/chunk-FQVSBXRY.js";import"./chunks/chunk-GP5MFCGO.js";import"./chunks/chunk-V5A4EBV3.js";import"./chunks/chunk-IECNFRTK.js";import"./chunks/chunk-A6F3EE2O.js";import"./chunks/chunk-K2R3QPOC.js";import"./chunks/chunk-IHRM7L23.js";import"./chunks/chunk-HTFQFHPR.js";import"./chunks/chunk-LFOWP74R.js";import"./chunks/chunk-DBV6AB6T.js";import"./chunks/chunk-37DIJCWK.js";import"./chunks/chunk-7E6UJXLR.js";import"./chunks/chunk-JALVF3C2.js";import"./chunks/chunk-7V2PXIVW.js";import{printError}from"./chunks/chunk-D3GYYGSS.js";import{help,remoteText}from"./chunks/chunk-33U57CNE.js";import{getScope}from"./chunks/chunk-IU6PHFPQ.js";import{TelemetryClient}from"./chunks/chunk-SBBD2Q5A.js";import"./chunks/chunk-2EYYB6YN.js";import"./chunks/chunk-NWGBDBZI.js";import{AGENT_REASON,AGENT_STATUS,buildCommandWithGlobalFlags,buildCommandWithYes,clientObservabilityPlanRecovery,getExitCodeForReason,outputAgentError,shouldEmitNonInteractiveCommandError,writeActionRequired,writeAgentError}from"./chunks/chunk-KAUKCHQF.js";import"./chunks/chunk-QLW5DCM4.js";import{getProjectByNameOrId,isPromptCanceledError,require_pluralize,sleep,ua_default}from"./chunks/chunk-QZEZCUUZ.js";import{formatAlignedLabel,printAlignedLabel}from"./chunks/chunk-3LQ2ADXO.js";import"./chunks/chunk-MCP63EVQ.js";import"./chunks/chunk-4NTBYNFR.js";import{parseArguments}from"./chunks/chunk-KIMIK4SG.js";import{quoteArg,teamCache}from"./chunks/chunk-F53OKXYI.js";import{warnDeprecatedInput,warnDeprecatedOption,warnDeprecatedSubcommand}from"./chunks/chunk-JRBPVMQO.js";import"./chunks/chunk-LUX4PBJL.js";import"./chunks/chunk-OPORM35X.js";import{require_ms}from"./chunks/chunk-MXTC4ZAQ.js";import"./chunks/chunk-OCR5CRTH.js";import"./chunks/chunk-4SAVH3H7.js";import{ProjectNotFound,isAPIError}from"./chunks/chunk-FXEMEIST.js";import{cmd,getCommandName,getCommandNamePlain,packageName}from"./chunks/chunk-JESNVRVR.js";import{output_manager_default,recordCliError}from"./chunks/chunk-ZRJKGAUT.js";import"./chunks/chunk-BLUPZPAS.js";import"./chunks/chunk-RM3ZDRYE.js";import"./chunks/chunk-YHPPP3SF.js";import{pkg_default}from"./chunks/chunk-OO572JUC.js";import"./chunks/chunk-PUKYAALC.js";import{SDK_KEY_PATTERN,getFlagsSpecification,getGlobalFlagsFromArgs,getProjectOptionFromArgs}from"./chunks/chunk-YPPDRKVC.js";import"./chunks/chunk-2BKALEOP.js";import{require_source}from"./chunks/chunk-NB2WLB3J.js";import"./chunks/chunk-ISWW3DKF.js";import"./chunks/chunk-BULSRTQE.js";import"./chunks/chunk-BRQUZ5NC.js";import"./chunks/chunk-5O7CRJE5.js";import{fetch,toNodeReadable}from"./chunks/chunk-U3J7VS56.js";import"./chunks/chunk-7EJQLVWX.js";import"./chunks/chunk-SCV7XEEO.js";import{__toESM}from"./chunks/chunk-BZENIQ7N.js";var import_raw_body=__toESM(require_raw_body(),1);var FeedbackTelemetryClient=class extends TelemetryClient{trackCliArgumentNote(note){note!==void 0&&this.trackCliArgument({arg:"note",value:this.redactedValue})}trackCliOptionField(fields){fields?.length&&this.trackCliOption({option:"field",value:this.redactedValue})}};var FEEDBACK_URL="https://vercel.com/api/feedback/cli",MAX_FEEDBACK_BYTES=1024*1024,FETCH_TIMEOUT_MS=1e4;async function feedback(client){let fail=(reason,message,code)=>(recordCliError({code:reason}),output_manager_default.error(message),code),parsed;try{parsed=parseArguments(client.argv.slice(2),getFlagsSpecification(feedbackCommand.options))}catch{return fail(AGENT_REASON.INVALID_ARGUMENTS,"Invalid feedback arguments. Run vercel feedback --help for usage.",2)}let notes=parsed.args.slice(1),fields=parsed.flags["--field"]??[];if(notes.length===0&&fields.length===0)return client.stdout.write(help(feedbackCommand,{stream:client.stdout,columns:client.stdout.columns??client.stderr.columns})),0;if(notes.length>1)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Pass one note. Quote notes containing spaces, or use vercel feedback - to read stdin.",2);let telemetry=new FeedbackTelemetryClient({opts:{store:client.telemetryEventStore}});telemetry.trackCliArgumentNote(notes[0]),telemetry.trackCliOptionField(fields);let data=Object.create(null);for(let field of fields){let separator=field.indexOf("="),key=field.slice(0,separator).trim();if(separator<1||key==="")return fail(AGENT_REASON.INVALID_ARGUMENTS,"Each --field needs a non-empty key followed by =value. Example: vercel feedback --field topic=deploy.",2);data[key]=field.slice(separator+1)}if(notes.length&&Object.hasOwn(data,"note"))return fail(AGENT_REASON.INVALID_ARGUMENTS,"Provide the note once: use a positional note or --field note=..., rather than both.",2);if(notes[0]==="-"){if(client.stdin.isTTY)return fail(AGENT_REASON.INVALID_ARGUMENTS,"No input was piped to stdin. Pipe a note with: cat notes.md | vercel feedback -",2);try{data.note=await readStdinText(client.stdin,MAX_FEEDBACK_BYTES)}catch(error){return error.type==="entity.too.large"?fail(AGENT_REASON.INVALID_ARGUMENTS,"Feedback is too large. Keep the complete submission below 1 MiB.",2):fail(AGENT_REASON.STDIN_ERROR,"Could not read the feedback note from stdin. Check the input pipe and try again.",1)}}else notes[0]!==void 0&&(data.note=notes[0]);for(let key of Object.keys(data))data[key].trim()||delete data[key];if(!Object.keys(data).length)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Provide a note or at least one named field. Run vercel feedback --help for examples.",2);let canSendTelemetry=client.telemetryEventStore?.enabled??!1,body=JSON.stringify({metadata:canSendTelemetry?{agent:client.isAgent,agent_name:client.isAgent?client.agentName:void 0,cli_version:pkg_default.version,operating_system:process.platform,team_id:client.config.currentTeam??null,user_id:client.authConfig.userId??null,invocation_id:client.telemetryEventStore?.currentInvocationId??null,session_id:client.telemetryEventStore?.currentSessionId??null}:null,data});if(Buffer.byteLength(body)>MAX_FEEDBACK_BYTES)return fail(AGENT_REASON.INVALID_ARGUMENTS,"Feedback is too large. Keep the complete submission below 1 MiB.",2);let controller=new AbortController,timeout=setTimeout(()=>controller.abort(),FETCH_TIMEOUT_MS);timeout.unref?.();try{let response=await fetch(FEEDBACK_URL,{method:"POST",headers:{"content-type":"application/json","user-agent":ua_default},body,redirect:"manual",signal:controller.signal});if(!response.ok)return await response.body?.cancel(),fail(response.status===429?AGENT_REASON.RATE_LIMITED:AGENT_REASON.API_ERROR,`Feedback could not be submitted (HTTP ${response.status}). Try again later.`,1);let responseBody=toNodeReadable(response.body);return JSON.parse(await(0,import_raw_body.default)(responseBody,{limit:64*1024,encoding:"utf8"}).finally(()=>responseBody.destroy()))?.success!==!0?fail(AGENT_REASON.UNKNOWN_OUTCOME,"Could not confirm that Vercel accepted the feedback. It may have been submitted; no automatic retry was made.",1):(client.stdout.write(`Feedback sent
8
8
  `),0)}catch{return fail(AGENT_REASON.UNKNOWN_OUTCOME,"Could not confirm that Vercel accepted the feedback. Check your connection. It may have been submitted; no automatic retry was made.",1)}finally{clearTimeout(timeout)}}var import_chalk6=__toESM(require_source(),1);var import_chalk2=__toESM(require_source(),1);var import_chalk=__toESM(require_source(),1);var ACTION_COLORS={allow:import_chalk.default.blue,deny:import_chalk.default.red,challenge:import_chalk.default.yellow,log:import_chalk.default.magenta,rate_limit:import_chalk.default.cyan,"rate-limit":import_chalk.default.cyan,bypass:import_chalk.default.green};function labelForAction(action){return action==="rate_limit"||action==="rate-limit"?"Rate Limited":action.split(/[-_]/).filter(Boolean).map(word=>word.charAt(0).toUpperCase()+word.slice(1)).join(" ")}var MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function formatCount(n){return n>=1e6?`${(n/1e6).toFixed(1)}M`:n>=1e3?`${(n/1e3).toFixed(1)}k`:String(Math.round(n))}function pad2(n){return String(n).padStart(2,"0")}function formatUtcTime(ms9,withDate){let d=new Date(ms9),hm=`${pad2(d.getUTCHours())}:${pad2(d.getUTCMinutes())}`;return withDate?`${MONTHS[d.getUTCMonth()]} ${d.getUTCDate()} ${hm}`:hm}function relativeTime(ts){let diff2=Date.now()-ts;return diff2<6e4?"just now":diff2<36e5?`${Math.floor(diff2/6e4)}m ago`:diff2<864e5?`${Math.floor(diff2/36e5)}h ago`:`${Math.floor(diff2/864e5)}d ago`}function formatUtcDateTime(ms9){return`${formatUtcTime(ms9,!0)} UTC (${relativeTime(ms9)})`}function colorizeDetail(detail){return detail.split(" \xB7 ").map(part=>{let color=ACTION_COLORS[part.toLowerCase().replace(/ /g,"_")];return color?color(part):part}).join(" \xB7 ")}function windowNeedsDate(startMs,endMs){return endMs-startMs>25*36e5}function granularityLabel(granularity){return"minutes"in granularity?`${granularity.minutes}m`:"hours"in granularity?`${granularity.hours}h`:`${granularity.days}d`}function formatActionTrendTable(series){let allTs=new Set;for(let s of series)for(let p of s.timeseries)allTs.add(p.timestamp);let axis=[...allTs].sort(),hasAnyTraffic=series.some(s=>s.total>0||s.timeseries.some(p=>p.value>0));if(series.length===0||axis.length===0||!hasAnyTraffic)return import_chalk.default.dim(" No request data for this period.");let startMs=new Date(axis[0]).getTime(),endMs=new Date(axis[axis.length-1]).getTime(),needsDate=windowNeedsDate(startMs,endMs),rows=[["Action","Trend","Total","Peak","Peak at"].map(h=>import_chalk.default.bold(import_chalk.default.cyan(h)))];for(let s of series){let byTs=new Map(s.timeseries.map(p=>[p.timestamp,p.value])),values=axis.map(t=>byTs.get(t)??0),peak=0,peakTs="";for(let i=0;i<axis.length;i++)values[i]>peak&&(peak=values[i],peakTs=axis[i]);let plain=x=>x,color=s.total>0?ACTION_COLORS[s.action]??plain:import_chalk.default.dim,trend=s.total>0?plain:import_chalk.default.dim;rows.push([color(labelForAction(s.action)),trend(generateSparkline(values)),formatCount(s.total),peak>0?formatCount(peak):"--",peak>0?formatUtcTime(new Date(peakTs).getTime(),needsDate):"--"])}return table(rows,{align:["l","l","r","r","r"],hsep:3}).split(`
9
9
  `).map(line2=>` ${line2}`.trimEnd()).join(`
10
10
  `)}var NO_SERVER_MESSAGE="Response Error";function apiServerMessage(error){let message=isAPIError(error)?error.serverMessage:void 0;return message&&message!==NO_SERVER_MESSAGE?message:void 0}var FIREWALL_O11Y_ALERT_TYPES=["botId_anomaly","firewallSystemRule_anomaly","firewallCustomRule_anomaly"],FIREWALL_ANOMALY_TYPE="firewall_anomaly",SYS_DOS_MITIGATION_RULE_ID="sys_dos_mitigation",SYSTEM_RULE_ANOMALY_TYPE="firewallSystemRule_anomaly",FIREWALL_ACTIVITY_PLAN_MESSAGE="Traffic and alerts need Observability Plus.",FIREWALL_ALERTS_PARTIAL_ERROR_MESSAGE="Couldn't load every alert source.";function reduceAttackAnomaly(anomaly){return Object.keys(anomaly.affectedHostMap).reduce((acc,host)=>{acc.hosts.push(host);let challenged=anomaly.affectedHostMap[host].ddosAlerts?.["sys_dos_mitigation:challenge"]?.totalReqs||0,denied=anomaly.affectedHostMap[host].ddosAlerts?.["sys_dos_mitigation:deny"]?.totalReqs||0;return acc.challenged+=challenged,acc.denied+=denied,acc.count+=challenged+denied,acc},{hosts:[],challenged:0,denied:0,count:0})}function hostsFromAnomaly(anomaly){return Object.entries(anomaly.affectedHostMap).map(([host,data])=>{let challenged=data.ddosAlerts?.["sys_dos_mitigation:challenge"]?.totalReqs||0,denied=data.ddosAlerts?.["sys_dos_mitigation:deny"]?.totalReqs||0;return{name:host,count:challenged+denied}}).filter(row=>row.count>0).sort((a,b)=>b.count-a.count)}function mapAttackAnomaly(anomaly){let reduced=reduceAttackAnomaly(anomaly),parts=["System rule"];return reduced.denied>0&&parts.push(labelForAction("deny")),reduced.challenged>0&&parts.push(labelForAction("challenge")),{id:`${anomaly.ownerId}-${anomaly.projectId}-${anomaly.startTime}`,title:"DDoS Mitigation",type:FIREWALL_ANOMALY_TYPE,startedAt:anomaly.startTime,resolvedAt:anomaly.endTime||void 0,count:reduced.count,detail:parts.join(" \xB7 "),action:reduced.denied>=reduced.challenged?"deny":"challenge",ruleId:SYS_DOS_MITIGATION_RULE_ID,host:reduced.hosts[0]}}function mapO11yAlert(alert){if(!alert.startedAt)return null;let action=alert.data?.action,ruleId=alert.data?.ruleId,detailParts=[alert.type,action?labelForAction(action):void 0,ruleId].filter(Boolean);return{id:alert.id||`${alert.type}-${alert.startedAt}`,title:alert.title||alert.type||"Firewall alert",type:alert.type||"unknown",startedAt:alert.startedAt,resolvedAt:alert.resolvedAt,count:alert.data?.count,detail:detailParts.filter(p=>p!==alert.title).join(" \xB7 ")||void 0,action,ruleId,path:alert.data?.path}}var ATTACK_STATUS_MAX_DAYS=7;async function getAttackStatus(client,opts){let query=new URLSearchParams;if(query.set("projectId",opts.projectId),query.set("teamId",opts.teamId),opts.sinceDays!==void 0){let sinceDays=Math.min(ATTACK_STATUS_MAX_DAYS,Math.max(1,Math.ceil(opts.sinceDays)));query.set("since",String(sinceDays))}return client.fetch(`/v1/security/firewall/attack-status?${query.toString()}`,{accountId:opts.teamId,signal:opts.signal})}var O11Y_ALERTS_LIMIT=200;async function getFirewallO11yAlerts(client,opts){let query=new URLSearchParams;query.set("teamId",opts.teamId),query.set("projectId",opts.projectId),query.set("from",opts.from.toISOString()),query.set("to",opts.to.toISOString()),query.set("limit",String(O11Y_ALERTS_LIMIT));for(let type of FIREWALL_O11Y_ALERT_TYPES)query.append("types",type);return(await client.fetch(`/alerts/v3/groups?${query.toString()}`,{accountId:opts.teamId,signal:opts.signal})).flatMap(g=>g.alerts??[]).map(mapO11yAlert).filter(a=>a!==null)}var ALERTS_TIMEOUT_MS=2e4;function sourceFailureReason(err){return isAPIError(err)&&err.status===408||err instanceof Error&&(err.name==="TimeoutError"||err.name==="AbortError")?"timed out":isAPIError(err)&&err.status===402?"needs Observability Plus":isAPIError(err)&&typeof err.status=="number"?`HTTP ${err.status}`:err instanceof Error&&err.message?err.message:"unknown error"}function resolveAlertsWindow(opts){let now=Date.now(),to=opts.to??new Date(now),from=opts.from??new Date(to.getTime()-864e5*(opts.sinceDays??1)),sinceDays=opts.sinceDays??Math.max(1,Math.ceil((now-from.getTime())/864e5));return{from,to,sinceDays}}function classifyAlertSourceError(err){if(isAPIError(err)&&(err.status===401||err.status===403))throw err;return isAPIError(err)&&err.status===402?{reason:"plan",message:FIREWALL_ACTIVITY_PLAN_MESSAGE}:{reason:"error",message:apiServerMessage(err)||!isAPIError(err)&&err instanceof Error&&err.message||FIREWALL_ALERTS_PARTIAL_ERROR_MESSAGE}}async function getFirewallAlertsDetailed(client,opts){let{from,to,sinceDays}=resolveAlertsWindow(opts),timeoutMs=opts.timeoutMs??ALERTS_TIMEOUT_MS,signal=AbortSignal.timeout(timeoutMs),[o11yResult,attackResult]=await Promise.allSettled([getFirewallO11yAlerts(client,{...opts,from,to,signal}),getAttackStatus(client,{...opts,sinceDays,signal})]),errors=[],o11yAlerts=[],o11y;o11yResult.status==="fulfilled"?o11yAlerts=o11yResult.value:(o11y=classifyAlertSourceError(o11yResult.reason),errors.push({source:"alerts",message:sourceFailureReason(o11yResult.reason)}));let mappedAttacks=[],attackStatus;attackResult.status==="fulfilled"?mappedAttacks=(attackResult.value.anomalies||[]).map(mapAttackAnomaly):(attackStatus=classifyAlertSourceError(attackResult.reason),errors.push({source:"attackStatus",message:sourceFailureReason(attackResult.reason)}));let resolvedCutoff=from.getTime();return{alerts:mappedAttacks.concat(o11yAlerts.filter(a=>!a.resolvedAt||a.resolvedAt>resolvedCutoff)).sort((a,b)=>!a.resolvedAt&&b.resolvedAt?-1:a.resolvedAt&&!b.resolvedAt?1:b.startedAt-a.startedAt),o11y,attackStatus,errors}}function alertsIncompleteMessage(errors){return`Attack count and alerts may be incomplete: ${errors.map(e=>`${e.source==="alerts"?"alerts":"attack history"} ${e.message}`).join("; ")}.`}function countAttacksMitigated(alerts,windowStartMs,windowEndMs){return alerts.filter(alert=>isAttackAlert(alert)&&alertOverlapsWindow(alert,windowStartMs,windowEndMs)).length}function alertOverlapsWindow(alert,windowStartMs,windowEndMs){return alert.startedAt<=windowEndMs&&(alert.resolvedAt??Number.POSITIVE_INFINITY)>=windowStartMs}function isAttackAlert(alert){return alert.type===FIREWALL_ANOMALY_TYPE?!0:alert.type===SYSTEM_RULE_ANOMALY_TYPE&&alert.ruleId===SYS_DOS_MITIGATION_RULE_ID}var O11Y_ALERT_ID_PREFIX="al_",INSPECT_FALLBACK_DAYS=7;function isO11yAlertId(id){return id.startsWith(O11Y_ALERT_ID_PREFIX)}function parseLegacyAlertStartTime(id){let match=id.match(/-(\d{13})$/);return match?Number(match[1]):void 0}function daysCovering(startMs,endMs){return Math.max(1,Math.ceil((endMs-startMs)/864e5))}function mapGroupAsAlert(group,alertId){let nested=(group.alerts??[]).map(mapO11yAlert).filter(a=>a!==null),hit=nested.find(a=>a.id===alertId)??nested[0];if(hit)return hit;let startedAt=group.recordedStartedAt;return startedAt?mapO11yAlert({id:alertId,title:group.title,type:group.type,startedAt,resolvedAt:group.recordedResolvedAt,data:group.alerts?.[0]?.data}):null}async function getO11yAlertById(client,opts){let query=new URLSearchParams;query.set("teamId",opts.teamId),query.set("projectId",opts.projectId);try{let group=await client.fetch(`/alerts/v3/groups/${encodeURIComponent(opts.alertId)}?${query.toString()}`,{accountId:opts.teamId,signal:opts.signal});return mapGroupAsAlert(group,opts.alertId)}catch(err){if(isAPIError(err)&&err.status===404)return null;throw err}}async function findFirewallAlert(client,opts){let timeoutMs=opts.timeoutMs??ALERTS_TIMEOUT_MS,budget=()=>AbortSignal.timeout(timeoutMs),now=Date.now();if(isO11yAlertId(opts.alertId)){let fromGroup2=await getO11yAlertById(client,{...opts,signal:budget()});if(fromGroup2)return{alert:fromGroup2};let from=new Date(now-864e5*INSPECT_FALLBACK_DAYS),hit=(await getFirewallO11yAlerts(client,{projectId:opts.projectId,teamId:opts.teamId,from,to:new Date(now),signal:budget()})).find(a=>a.id===opts.alertId);return hit?{alert:hit}:null}let startTime=parseLegacyAlertStartTime(opts.alertId),sinceDays=startTime?daysCovering(startTime,now)+1:INSPECT_FALLBACK_DAYS,anomaly=((await getAttackStatus(client,{projectId:opts.projectId,teamId:opts.teamId,sinceDays,signal:budget()}).catch(err=>{if(isAPIError(err)&&(err.status===401||err.status===403))throw err;return{anomalies:[]}})).anomalies||[]).find(a=>`${a.ownerId}-${a.projectId}-${a.startTime}`===opts.alertId);if(anomaly)return{alert:mapAttackAnomaly(anomaly),hosts:hostsFromAnomaly(anomaly)};let fromGroup=await getO11yAlertById(client,{...opts,signal:budget()}).catch(err=>{if(isAPIError(err)&&(err.status===401||err.status===403))throw err;return null});return fromGroup?{alert:fromGroup}:null}var AI_BOTS_CATEGORY_ACTIONS=["allow","log","deny"];function getAiBotsCategories(ruleset,catalogGroups){return[...new Set([...Object.keys(catalogGroups??{}),...Object.keys(ruleset?.ruleGroups??{})])].sort().map(ruleGroupId=>({id:ruleGroupId.replace(/_/g,"-"),ruleGroupId,name:catalogGroups?.[ruleGroupId]?.name??formatCategoryName(ruleGroupId)}))}function formatCategoryName(ruleGroupId){return ruleGroupId.split("_").map(word=>word==="ai"?"AI":word[0].toUpperCase()+word.slice(1)).join(" ")}function getAiBotsCategoryAction(ruleset,ruleGroupId){if(!ruleset?.active)return"allow";let group=ruleset.ruleGroups?.[ruleGroupId];return group?.active===!1?"allow":group?.action??ruleset.action??"log"}function getAiBotsCategoryActionAfterEdit(ruleset,ruleGroupId){if(!ruleset)return"log";if(ruleset.active)return getAiBotsCategoryAction(ruleset,ruleGroupId);let group=ruleset.ruleGroups?.[ruleGroupId];return group?.active?group.action??"log":"allow"}function hasAiBotsCategories(ruleset){return Object.keys(ruleset?.ruleGroups??{}).length>0}function getAiBotsCategoryDetails(ruleset){if(hasAiBotsCategories(ruleset))return getAiBotsCategories(ruleset).map(category=>({...category,action:getAiBotsCategoryAction(ruleset,category.ruleGroupId)}))}function aiBotsJsonStatus(ruleset){let categories=getAiBotsCategoryDetails(ruleset);return{enabled:ruleset?.active??!1,action:categories?null:ruleset?.action??null,...categories?{categories}:{}}}var MANAGED_BOT_RULE_IDS=["bot-protection","ai-bots","bot-id"],ALIASES={"bot-protection":"bot-protection","bot protection":"bot-protection",bot_protection:"bot-protection",bot_filter:"bot-protection",managed_bot_protection:"bot-protection",managed_bot_filter:"bot-protection","ai-bots":"ai-bots","ai bots":"ai-bots",ai_bots:"ai-bots",managed_ai_bots:"ai-bots","bot-id":"bot-id",botid:"bot-id",bot_id:"bot-id"},ACTIONS={"bot-protection":["off","log","challenge"],"ai-bots":["allow","log","challenge","deny"],"bot-id":["basic","deep-analysis"]},NAMES={"bot-protection":"Bot Protection","ai-bots":"AI Bots","bot-id":"BotID"},WAF_RULE_IDS={"bot-protection":"managed_bot_protection","ai-bots":"managed_ai_bots"};function resolveManagedBotRuleId(identifier){if(identifier)return ALIASES[identifier.trim().toLowerCase()]}function managedBotActions(id,category){return category?AI_BOTS_CATEGORY_ACTIONS:ACTIONS[id]}function formatManagedBotAction(action){return action==="deep-analysis"?"Deep Analysis":action.charAt(0).toUpperCase()+action.slice(1)}function botProtectionConfig(managedRules){return managedRules?.bot_filter??managedRules?.bot_protection}function currentBotProtectionAction(config){let ruleset=botProtectionConfig(config?.managedRules);return ruleset?.active?ruleset.action==="log"?"log":"challenge":"off"}function currentAiBotsAction(config){let ruleset=config?.managedRules?.ai_bots;return ruleset?.active?ruleset.action==="challenge"?"challenge":ruleset.action==="deny"?"deny":"log":"allow"}function currentBotIdAction(config){return config?.botIdEnabled?"deep-analysis":"basic"}function getManagedBotRule(config,id){let categories=id==="ai-bots"?getAiBotsCategoryDetails(config?.managedRules?.ai_bots):void 0,action=categories?null:id==="bot-protection"?currentBotProtectionAction(config):id==="ai-bots"?currentAiBotsAction(config):currentBotIdAction(config);return{id,name:NAMES[id],action,wafRuleId:WAF_RULE_IDS[id],...categories?{categories}:{}}}function getManagedBotRules(config){return MANAGED_BOT_RULE_IDS.map(id=>getManagedBotRule(config,id))}function parseManagedBotAction(id,raw,category){let action=raw.trim().toLowerCase().replace(/\s+/g,"-"),valid=managedBotActions(id,category);return valid.includes(action)?{action}:{error:`Invalid action "${raw}" for ${category?.name??NAMES[id]}. Use ${valid.join(", ")}.`}}function buildManagedBotPatch(id,action,category){if(category)return{action:"managedRuleGroup.update",id:"ai_bots",value:{[category.ruleGroupId]:action==="allow"?{active:!1}:{active:!0,action}}};if(id==="bot-id")return{action:"botId.toggle",value:action==="deep-analysis"};let patchId=id==="bot-protection"?"bot_protection":"ai_bots";return action==="off"||action==="allow"?{action:"managedRules.update",id:patchId,value:{active:!1}}:{action:"managedRules.update",id:patchId,value:{active:!0,action}}}function suggestedManagedBotAction(rule){return rule.id==="bot-protection"?rule.action==="challenge"?"log":"challenge":rule.id==="ai-bots"?rule.action==="deny"?"allow":"deny":rule.action==="deep-analysis"?"basic":"deep-analysis"}function managedBotTrafficWarning(id,from,to,category){if(id==="ai-bots"&&to==="deny")return category?`Deny blocks known ${category.name} traffic when published.`:"AI Bots deny blocks known AI crawlers from this project.";if(id==="bot-protection"&&from==="off"&&to==="challenge")return"Bot Protection challenge will present a verification page to non-browser traffic."}function managedBotJson(rule){return{id:rule.id,name:rule.name,action:rule.action,wafRuleId:rule.wafRuleId??null,...rule.categories?{categories:rule.categories}:{}}}function suggestedManagedBotEditCommand(rule){let category=rule.categories?.[0];if(rule.id==="ai-bots"&&!category)return"firewall rules update ai-bots";let action=suggestedManagedBotAction(category?{...rule,action:category.action}:rule);return`firewall rules update ${rule.id}${category?` --category ${category.id}`:""} --action ${action}`}function projectScope(project,teamId,teamSlug){return{type:"project",projectId:project.id,teamId,...teamSlug?{teamSlug}:{},displayName:project.name}}function firewallConfigUrl(scope,path=""){let query=new URLSearchParams;return scope.type==="project"?(query.set("projectId",scope.projectId),scope.teamId&&query.set("teamId",scope.teamId),`/v1/security/firewall/config${path}?${query.toString()}`):(query.set("teamId",scope.teamId),`/v1/security/firewall/team-config${path}?${query.toString()}`)}async function listFirewallConfigs(client,scope){return client.fetch(firewallConfigUrl(scope))}async function activateFirewallConfig(client,scope,configVersion){return client.fetch(firewallConfigUrl(scope,`/${configVersion}/activate`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})}var PRIORITY_PROJECT_ENABLE_COMMAND="project priority enable",BUY_PRO_COMMAND="buy pro";function withGlobalFlags(client,commandTemplate,scope,options={}){let template=scope?.type==="team"?`${commandTemplate} --team-level`:commandTemplate;return buildCommandWithGlobalFlags(client.argv,template,void 0,{globalFlags:"all",preserveProject:options.preserveProject??!0,excludeFlags:options.excludeFlags})}async function resolveFirewallScope(client,flags){if(flags["--team-level"]&&flags["--project"]){let message="Cannot specify both --team-level and --project. Use one or the other.";return client.nonInteractive?(outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.INVALID_ARGUMENTS,message},2),2):(output_manager_default.error(message),2)}if(flags["--team-level"]){let{team}=await getScope(client);if(!team){let message="Team-level firewall requires a team scope. Personal accounts are not supported. Run `vercel switch` to select a team or pass --scope <team>.";return client.nonInteractive?(outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.MISSING_SCOPE,message},1),1):(output_manager_default.error(message),1)}return{type:"team",teamId:team.id,displayName:team.slug}}let link=await requireProjectContext(client,"firewall",flags["--project"]);if(typeof link=="number")return link;let{project,org}=link;return{type:"project",projectId:project.id,teamId:org.type==="team"?org.id:void 0,teamSlug:org.type==="team"?org.slug:void 0,displayName:project.name}}function mentionsPriorityProject(message){return/priority\s+project/i.test(message)||/priority\s+tier/i.test(message)}function teamPlan(scope){return scope.teamId?teamCache.get(scope.teamId)?.billing?.plan:void 0}function priorityTeam(scope){let cached=scope.teamId?teamCache.get(scope.teamId):void 0;if(scope.type==="team")return{id:scope.teamId,slug:scope.displayName,name:cached?.name??null,scopeArg:scope.displayName};if(!scope.teamId)return null;let slug=scope.teamSlug??cached?.slug??null;return{id:scope.teamId,slug,name:cached?.name??null,scopeArg:slug??scope.teamId}}function teamLabel(team){return team.name&&team.name!==team.slug?`${team.slug} (${team.name})`:team.slug}function styledCommand(command,plain){return plain?getCommandNamePlain(command):getCommandName(command)}function priorityProjectFix(scope){let excludeFlags=["--non-interactive","--project","--yes","--scope","--team"],project=scope.type==="project"?{id:scope.projectId,name:scope.displayName}:null,team=priorityTeam(scope),plan=teamPlan(scope)??null,data={project,team:team&&{id:team.id,slug:team.slug,name:team.name},plan},projectToken=project?quoteArg(project.name):"<project>",scopeFlag=team?` --scope ${quoteArg(team.scopeArg)}`:"",enable4=`${PRIORITY_PROJECT_ENABLE_COMMAND} ${projectToken}${scopeFlag}`;if(!team){let hint="Priority projects are only available on team accounts. Use --scope to specify one.";return{command:"",hint,plainHint:hint,when:hint,excludeFlags,preserveProject:!1,reason:AGENT_REASON.MISSING_SCOPE,data}}if(plan==="hobby"||plan==="oss"){let upgrade=`${BUY_PRO_COMMAND}${scopeFlag}`,hint=plain2=>`Priority Projects are only available on Pro or Enterprise team plans. Upgrade with ${styledCommand(upgrade,plain2)}, then run ${styledCommand(enable4,plain2)}.`;return{command:upgrade,hint:hint(!1),plainHint:hint(!0),when:"a person has approved upgrading the plan",excludeFlags,preserveProject:!1,reason:AGENT_REASON.PLAN_UPGRADE_REQUIRED,scope:team.scopeArg,data}}let shown=styledCommand(enable4,!1),plain=styledCommand(enable4,!0),placeholder="Replace <project> with a project on this team.";return{command:enable4,hint:project?shown:`${shown} ${placeholder}`,plainHint:project?plain:`${plain} ${placeholder}`,when:project?"user runs this command in an interactive terminal":"Replace <project> with a project on this team.",excludeFlags,preserveProject:!1,reason:AGENT_REASON.PLAN_UPGRADE_REQUIRED,scope:team.scopeArg,data}}function mapFirewallApiError(e,scope,fallback){let err=e;return scope.type==="team"&&err.status===403?err.code==="plan_not_supported"?`Team-level firewall requires an Enterprise plan (current team: "${scope.displayName}"). Pass --scope <team> or run \`vercel switch\` to target a different team.`:`You need to be a team owner to manage the team-level firewall for "${scope.displayName}".${err.message?` (${err.message})`:""}`:err.message||fallback}function priorityProjectMessage(scope,fix){let team=fix.data.team,label=team?.slug!=null?teamLabel({slug:team.slug,name:team.name}):void 0;return scope.type==="project"?label?`This rule requires a Priority project for ${scope.displayName} on team ${label}.`:`This rule requires a Priority project. ${fix.hint}`:label?`This rule requires a Priority project on team ${label}.`:"This rule requires a Priority project."}function failPriorityProjectGate(client,error,scope,opts){let serverMessage=apiServerMessage(error);if(!serverMessage||!mentionsPriorityProject(serverMessage))return null;let fix=priorityProjectFix(scope),message=priorityProjectMessage(scope,fix),payload={status:AGENT_STATUS.ERROR,reason:fix.reason,message,userActionRequired:!0,hint:fix.plainHint,retryable:!1,...fix.scope?{scope:fix.scope}:{},data:fix.data,...fix.command?{next:[{command:buildCommandWithGlobalFlags(client.argv,fix.command,packageName,{globalFlags:"all",preserveProject:!1,excludeFlags:fix.excludeFlags}),when:fix.when}]}:{}};return shouldEmitNonInteractiveCommandError(client)&&outputAgentError(client,payload,1),opts?.json?(output_manager_default.stopSpinner(),writeAgentError(client,payload),1):(output_manager_default.error(message),fix.command&&output_manager_default.log(fix.hint),1)}function getRulePayload(flags){let legacy=flags["--json"];return legacy!==void 0&&flags["--data"]!==void 0?(output_manager_default.error("Can't use --data with --json."),2):(legacy!==void 0&&output_manager_default.warning("--json is deprecated for rule payloads. Use --data."),flags["--data"]??legacy)}async function parseSubcommandArgs(argv,command,client,commandPath){let parsedArgs,fullPath=commandPath||command.name;try{parsedArgs=parseSubcommandArguments(argv,command)}catch(err){if(client?.nonInteractive){let rawMessage=err instanceof Error?err.message:String(err),flags=getGlobalFlagsFromArgs(client.argv.slice(2),{preserveProject:!0});return outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.INVALID_ARGUMENTS,message:rawMessage,next:[{command:getCommandNamePlain(`firewall ${fullPath} ${flags.join(" ")}`.trim()),when:"fix options and retry"}]},2),2}return printError(err),2}return parsedArgs}async function confirmAction(client,skipConfirmation,message,details){return skipConfirmation?!0:client.nonInteractive||!client.stdin.isTTY?(outputAgentError(client,{status:AGENT_STATUS.ERROR,reason:AGENT_REASON.CONFIRMATION_REQUIRED,message:`${message} Re-run with --yes to confirm.`,next:[{command:buildCommandWithYes(client.argv),when:"re-run with --yes to confirm"}]}),process.exit(1),!1):(details&&output_manager_default.print(` ${details}