vercel 64.0.1 → 64.1.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 (203) hide show
  1. package/README.md +2 -0
  2. package/dist/chunks/add-GEAC4RAQ.js +8 -0
  3. package/dist/chunks/add-JH6ALI3H.js +8 -0
  4. package/dist/chunks/add-XZJ4G2MM.js +8 -0
  5. package/dist/chunks/build-3T6EUCCK.js +7 -0
  6. package/dist/chunks/{chunk-VOZEB6PD.js → chunk-2VBFQZ72.js} +1 -1
  7. package/dist/chunks/{chunk-N7DY367Z.js → chunk-37QGCN6P.js} +2 -2
  8. package/dist/chunks/{chunk-MMIOAN6V.js → chunk-4ZICRXI5.js} +1 -1
  9. package/dist/chunks/{chunk-A6WTFAZT.js → chunk-5VWJIYJE.js} +1 -1
  10. package/dist/chunks/{chunk-CUGDEOWG.js → chunk-67NNB6S6.js} +1 -1
  11. package/dist/chunks/{chunk-74OAJW3T.js → chunk-7YRPMVZK.js} +1 -1
  12. package/dist/chunks/{chunk-UC4YUQBN.js → chunk-AR5T62PK.js} +1 -1
  13. package/dist/chunks/{chunk-ZMIRVO5A.js → chunk-ASU72O2R.js} +1 -1
  14. package/dist/chunks/{chunk-YBSW4AZH.js → chunk-BAJDLMZS.js} +1 -1
  15. package/dist/chunks/chunk-CSIUJLB7.js +9 -0
  16. package/dist/chunks/{chunk-JFASDCSW.js → chunk-DW3TSGVC.js} +1 -1
  17. package/dist/chunks/{chunk-MSH7V3FL.js → chunk-DYQXJCHO.js} +1 -1
  18. package/dist/chunks/{chunk-TC65E2YX.js → chunk-ELI3L2UX.js} +1 -1
  19. package/dist/chunks/chunk-FBJWLH2A.js +8 -0
  20. package/dist/chunks/{chunk-HMS3UIQ2.js → chunk-FIIHB66A.js} +1 -1
  21. package/dist/chunks/chunk-FLQJAP2A.js +14 -0
  22. package/dist/chunks/{chunk-SFW6MBQN.js → chunk-FWFTX2WE.js} +1 -1
  23. package/dist/chunks/chunk-FZIRYAXC.js +10 -0
  24. package/dist/chunks/{chunk-BNJQIVC2.js → chunk-G6B6TVAE.js} +1 -1
  25. package/dist/chunks/{chunk-Z6HYEIYV.js → chunk-HAVEFTOO.js} +1 -1
  26. package/dist/chunks/{chunk-YH6CNXAT.js → chunk-IDGWQE4B.js} +1 -1
  27. package/dist/chunks/chunk-J53D7SLS.js +7 -0
  28. package/dist/chunks/{chunk-BM2K5MMH.js → chunk-JAQM6UXY.js} +1 -1
  29. package/dist/chunks/chunk-JEPRHNQU.js +7 -0
  30. package/dist/chunks/{chunk-S2JJZDW6.js → chunk-JESE5FPO.js} +1 -1
  31. package/dist/chunks/{chunk-V3UOKOM5.js → chunk-JGPRCZC2.js} +1 -1
  32. package/dist/chunks/{chunk-R7FDTIAQ.js → chunk-JJSDRKX4.js} +2 -2
  33. package/dist/chunks/{chunk-TNZMCRAP.js → chunk-JNJOUMGF.js} +1 -1
  34. package/dist/chunks/{chunk-B3K6GM2W.js → chunk-JNPG7MVL.js} +1 -1
  35. package/dist/chunks/{chunk-DVQDWCWS.js → chunk-KAJM2NEI.js} +1 -1
  36. package/dist/chunks/{chunk-LG5FP6PL.js → chunk-KELSPU2J.js} +5 -5
  37. package/dist/chunks/{chunk-CNU4T7FO.js → chunk-M7GT3ZPT.js} +1 -1
  38. package/dist/chunks/{chunk-QUE7MWER.js → chunk-MFIVZXHH.js} +1 -1
  39. package/dist/chunks/{chunk-PZK6CKRM.js → chunk-MJD6WHG4.js} +1 -1
  40. package/dist/chunks/{chunk-WJ3UIEZ5.js → chunk-NFJPCOTV.js} +1 -1
  41. package/dist/chunks/{chunk-FO7MV3VE.js → chunk-NJINP2WU.js} +1 -1
  42. package/dist/chunks/{chunk-YYPNUQDI.js → chunk-NWGBDBZI.js} +1 -1
  43. package/dist/chunks/{chunk-ZF6QZY35.js → chunk-OGCVOINQ.js} +1 -1
  44. package/dist/chunks/{chunk-I3D36ZLJ.js → chunk-OJZEOWK2.js} +1 -1
  45. package/dist/chunks/{chunk-HYFA2W4U.js → chunk-OZ47SVXA.js} +1 -1
  46. package/dist/chunks/chunk-PJMVU4JC.js +20 -0
  47. package/dist/chunks/{chunk-YWLJSVTR.js → chunk-QYDG63GL.js} +1 -1
  48. package/dist/chunks/{chunk-YLTOFGIJ.js → chunk-R5K37TXM.js} +1 -1
  49. package/dist/chunks/{chunk-PFM3URPJ.js → chunk-RFEREQPS.js} +1 -1
  50. package/dist/chunks/chunk-SD757OFS.js +30 -0
  51. package/dist/chunks/{chunk-FRXP4IEJ.js → chunk-THSHYFA6.js} +1 -1
  52. package/dist/chunks/{chunk-CX2GKBWT.js → chunk-UBKETNGO.js} +1 -1
  53. package/dist/chunks/{chunk-CDGQ3T52.js → chunk-UDQYOGSQ.js} +1 -1
  54. package/dist/chunks/{chunk-6LXX5P3A.js → chunk-VM6TZGLE.js} +1 -1
  55. package/dist/chunks/{chunk-A7LJYJTR.js → chunk-VRWPRZJY.js} +1 -1
  56. package/dist/chunks/{chunk-MTSJMQCE.js → chunk-WHVT7UXE.js} +1 -1
  57. package/dist/chunks/{chunk-2EZVL7H3.js → chunk-WLK5BBNP.js} +1 -1
  58. package/dist/chunks/{chunk-NVSVMH3S.js → chunk-WQIGKVBV.js} +1 -1
  59. package/dist/chunks/{chunk-AZAGTZTH.js → chunk-XXDVZWWM.js} +1 -1
  60. package/dist/chunks/{chunk-JJXNBWZY.js → chunk-YCXZZSW6.js} +1 -1
  61. package/dist/chunks/{chunk-D4B463CV.js → chunk-YI5G2A3V.js} +1 -1
  62. package/dist/chunks/{chunk-AKY6JG2X.js → chunk-YNIW7DTL.js} +1 -1
  63. package/dist/chunks/{chunk-R4VVQRLX.js → chunk-Z4OH72VZ.js} +1 -1
  64. package/dist/chunks/chunk-Z6UFAIEX.js +8 -0
  65. package/dist/chunks/{chunk-COGMOZTL.js → chunk-ZKDWPKO2.js} +1 -1
  66. package/dist/chunks/{chunk-6EOSJGQQ.js → chunk-ZMBDYOVN.js} +1 -1
  67. package/dist/chunks/clear-XCZCETRU.js +8 -0
  68. package/dist/chunks/{compile-vercel-config-MOEJ6RRY.js → compile-vercel-config-NQKOGOPH.js} +1 -1
  69. package/dist/chunks/{config-ESRDSIAF.js → config-CIM647OM.js} +1 -1
  70. package/dist/chunks/config-P42IQJDF.js +8 -0
  71. package/dist/chunks/delete-KJMVCQ7C.js +10 -0
  72. package/dist/chunks/delete-MVJ3NENU.js +9 -0
  73. package/dist/chunks/{detect-services-KGIGKZFX.js → detect-services-UYQZT6MU.js} +1 -1
  74. package/dist/chunks/disable-666GPFHE.js +7 -0
  75. package/dist/chunks/discard-RUQPJMOG.js +14 -0
  76. package/dist/chunks/edit-IIM7GKC2.js +9 -0
  77. package/dist/chunks/edit-NRJCMP4B.js +8 -0
  78. package/dist/chunks/enable-FVXIP7NX.js +7 -0
  79. package/dist/chunks/{export-BPHKR42P.js → export-VPGLK5KL.js} +1 -1
  80. package/dist/chunks/future-MDYFVS3M.js +7 -0
  81. package/dist/chunks/{generate-cert-for-deploy-JRFEERJY.js → generate-cert-for-deploy-MWXVKKFQ.js} +1 -1
  82. package/dist/chunks/image-URNV2ABR.js +7 -0
  83. package/dist/chunks/{import-builders-LAISJVC4.js → import-builders-FC5ESQ34.js} +1 -1
  84. package/dist/chunks/{inspect-WYE74TOO.js → inspect-6KZERH2F.js} +1 -1
  85. package/dist/chunks/inspect-G5NDWTDB.js +9 -0
  86. package/dist/chunks/inspect-LYGYBYV3.js +13 -0
  87. package/dist/chunks/{inspect-NZIX5PW5.js → inspect-OBNVJRYC.js} +1 -1
  88. package/dist/chunks/{inspect-Y7MAI6NN.js → inspect-P4XEVJW5.js} +1 -1
  89. package/dist/chunks/list-5YBZG374.js +11 -0
  90. package/dist/chunks/{list-U7ZZ5HN6.js → list-AV5CMKBK.js} +1 -1
  91. package/dist/chunks/{list-IUAECVSK.js → list-ICJMKLOR.js} +1 -1
  92. package/dist/chunks/login-5VKAY2R5.js +9 -0
  93. package/dist/chunks/login-SUBW6IFU.js +7 -0
  94. package/dist/chunks/{logs-YHQ6C7QH.js → logs-BJL37R5U.js} +1 -1
  95. package/dist/chunks/ls-3Y2X26EY.js +11 -0
  96. package/dist/chunks/{ls-CLAXRPIK.js → ls-AKUJ4VUV.js} +1 -1
  97. package/dist/chunks/{ls-XO7ZHACJ.js → ls-EJ4THXVR.js} +1 -1
  98. package/dist/chunks/ls-QGJPVPLK.js +8 -0
  99. package/dist/chunks/{ls-V5G5SIGL.js → ls-SOTQGCPD.js} +1 -1
  100. package/dist/chunks/{ls-BAUM7ICU.js → ls-TXKT6RCY.js} +1 -1
  101. package/dist/chunks/{ls-3HMQEZEV.js → ls-VEWJPLJC.js} +1 -1
  102. package/dist/chunks/mutate-Y4KO4NAJ.js +9 -0
  103. package/dist/chunks/notifications-J3SMCQX5.js +7 -0
  104. package/dist/chunks/open-COGMMSHS.js +7 -0
  105. package/dist/chunks/openapi-TP6GEZGZ.js +7 -0
  106. package/dist/chunks/permissions-43WFISAY.js +7 -0
  107. package/dist/chunks/prompt-missing-credentials-5AQVXSFB.js +7 -0
  108. package/dist/chunks/publish-4NSLHSHF.js +15 -0
  109. package/dist/chunks/pull-MS2PVQUV.js +7 -0
  110. package/dist/chunks/{purchase-domain-if-available-O2SEHZQG.js → purchase-domain-if-available-S43PVX5Y.js} +1 -1
  111. package/dist/chunks/push-2NBXVOX2.js +7 -0
  112. package/dist/chunks/{query-GDAAENV5.js → query-DI4FF2ZM.js} +1 -1
  113. package/dist/chunks/reauthenticate-Z62FFYZH.js +7 -0
  114. package/dist/chunks/reorder-P4AXRPMF.js +10 -0
  115. package/dist/chunks/reply-ULZRH7KA.js +9 -0
  116. package/dist/chunks/resolve-3IS44LUW.js +12 -0
  117. package/dist/chunks/resolve-agent-team-DDBPICVE.js +7 -0
  118. package/dist/chunks/restore-WM4EZHD4.js +16 -0
  119. package/dist/chunks/rm-4XX3UUUF.js +8 -0
  120. package/dist/chunks/rm-53YK7N2N.js +8 -0
  121. package/dist/chunks/rm-7Z6GJ4O2.js +8 -0
  122. package/dist/chunks/rm-C455A2EH.js +8 -0
  123. package/dist/chunks/rm-TRMBM6DD.js +8 -0
  124. package/dist/chunks/{routes-PKCKZ5T6.js → routes-3RJGIZYJ.js} +1 -1
  125. package/dist/chunks/rule-inspect-FMZTPH3S.js +8 -0
  126. package/dist/chunks/rules-K7XMFMXG.js +7 -0
  127. package/dist/chunks/{schema-3VHLYZBA.js → schema-5R44NJNE.js} +2 -2
  128. package/dist/chunks/schema-PQZAACV2.js +14 -0
  129. package/dist/chunks/select-org-GGUGYGDL.js +7 -0
  130. package/dist/chunks/set-SZPCOILW.js +7 -0
  131. package/dist/chunks/setup-and-link-OAS7PYL6.js +7 -0
  132. package/dist/chunks/tags-YS7EQDJY.js +7 -0
  133. package/dist/chunks/{types-HLISMAF6.js → types-FK3W7A2Y.js} +1 -1
  134. package/dist/chunks/{update-GH56IPQR.js → update-QVYTOT35.js} +1 -1
  135. package/dist/commands/build/index.js +1 -1
  136. package/dist/commands/deploy/index.js +4 -4
  137. package/dist/commands/dev/index.js +2 -2
  138. package/dist/commands/env/index.js +1 -1
  139. package/dist/commands/link/index.js +1 -1
  140. package/dist/commands/list/index.js +1 -1
  141. package/dist/commands-bulk.js +691 -684
  142. package/dist/index.js +2 -5
  143. package/dist/internal-build.js +1 -1
  144. package/dist/root-help-commands.mjs +1 -1
  145. package/dist/version.mjs +1 -1
  146. package/package.json +56 -56
  147. package/dist/chunks/add-BMUUEEVH.js +0 -8
  148. package/dist/chunks/add-HVM5P72U.js +0 -8
  149. package/dist/chunks/add-UGPZ3CCF.js +0 -8
  150. package/dist/chunks/build-TNTAXGN2.js +0 -7
  151. package/dist/chunks/chunk-42GFIWDH.js +0 -12
  152. package/dist/chunks/chunk-BKV35LVB.js +0 -7
  153. package/dist/chunks/chunk-BO2A5V7C.js +0 -8
  154. package/dist/chunks/chunk-JWO4AFKT.js +0 -27
  155. package/dist/chunks/chunk-LU5O3NH7.js +0 -9
  156. package/dist/chunks/chunk-QHKVAGWC.js +0 -20
  157. package/dist/chunks/chunk-R5FJNGWK.js +0 -10
  158. package/dist/chunks/chunk-TWRV6QGX.js +0 -7
  159. package/dist/chunks/chunk-WDNNB4RL.js +0 -8
  160. package/dist/chunks/clear-MRFK6SNK.js +0 -8
  161. package/dist/chunks/config-H7EMH632.js +0 -8
  162. package/dist/chunks/delete-TIWKKRQQ.js +0 -10
  163. package/dist/chunks/delete-TYLF74HP.js +0 -9
  164. package/dist/chunks/disable-SRIMYL73.js +0 -7
  165. package/dist/chunks/discard-F4Y2NOHU.js +0 -14
  166. package/dist/chunks/edit-3D6L76R3.js +0 -9
  167. package/dist/chunks/edit-5VW3WYFP.js +0 -8
  168. package/dist/chunks/enable-IPPUYI4D.js +0 -7
  169. package/dist/chunks/future-PZPJ3LBY.js +0 -7
  170. package/dist/chunks/image-2GMCXYKH.js +0 -7
  171. package/dist/chunks/inspect-PMOUB7TZ.js +0 -13
  172. package/dist/chunks/inspect-ZRNPBDR7.js +0 -9
  173. package/dist/chunks/list-5M4CTEGG.js +0 -11
  174. package/dist/chunks/login-JNMM2LCA.js +0 -9
  175. package/dist/chunks/login-ZRY2YGZM.js +0 -7
  176. package/dist/chunks/ls-53GH55RA.js +0 -8
  177. package/dist/chunks/ls-IUULJ6WA.js +0 -11
  178. package/dist/chunks/mutate-NEVQYFUV.js +0 -9
  179. package/dist/chunks/notifications-6AZQNEOE.js +0 -7
  180. package/dist/chunks/open-23Y6VJR4.js +0 -7
  181. package/dist/chunks/openapi-KBLEYOJR.js +0 -7
  182. package/dist/chunks/permissions-R6MSKYOZ.js +0 -7
  183. package/dist/chunks/prompt-missing-credentials-UML2SHRT.js +0 -7
  184. package/dist/chunks/publish-TBU3WUSE.js +0 -15
  185. package/dist/chunks/pull-M7CBRERS.js +0 -7
  186. package/dist/chunks/push-7LXD5RDV.js +0 -7
  187. package/dist/chunks/reauthenticate-6PGYUP3P.js +0 -7
  188. package/dist/chunks/reorder-S5CX2UNT.js +0 -10
  189. package/dist/chunks/reply-4G2J5O6V.js +0 -9
  190. package/dist/chunks/resolve-724ULLUY.js +0 -12
  191. package/dist/chunks/restore-EPBSJFSA.js +0 -16
  192. package/dist/chunks/rm-F3LLL6MZ.js +0 -8
  193. package/dist/chunks/rm-IDDLGKRZ.js +0 -8
  194. package/dist/chunks/rm-MI7NPJ4F.js +0 -8
  195. package/dist/chunks/rm-PWUJF6CB.js +0 -8
  196. package/dist/chunks/rm-WWPCSM3O.js +0 -8
  197. package/dist/chunks/rule-inspect-FFUYLBZG.js +0 -8
  198. package/dist/chunks/rules-YFLGPQRW.js +0 -7
  199. package/dist/chunks/schema-QRHP4WMY.js +0 -14
  200. package/dist/chunks/select-org-6BWIH3S3.js +0 -7
  201. package/dist/chunks/set-FPPF7W47.js +0 -7
  202. package/dist/chunks/setup-and-link-ENQEJG6L.js +0 -7
  203. package/dist/chunks/tags-JDL3PPLS.js +0 -7
@@ -1,8 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{parseTeamRefs,teamRefBody}from"./chunk-LSF7FY6X.js";import{repositoryPermissionsPath}from"./chunk-DFVNL5ML.js";import{emitVcrArgParseError,resolveVcrScope,validateVcrJsonOutput}from"./chunk-JJXNBWZY.js";import{outputError}from"./chunk-5UEBA6N6.js";import{require_async_sema}from"./chunk-NZ2TFADV.js";import"./chunk-GSOPJJO5.js";import{permissionsAddSubcommand}from"./chunk-AU42HSQ3.js";import"./chunk-FBYA6LLM.js";import"./chunk-SCV7XEEO.js";import{printError}from"./chunk-HYFA2W4U.js";import{AGENT_REASON,buildCommandWithGlobalFlags,outputAgentError}from"./chunk-R5FJNGWK.js";import"./chunk-D4MW3RDW.js";import"./chunk-TWRV6QGX.js";import"./chunk-HMS3UIQ2.js";import"./chunk-MXTC4ZAQ.js";import"./chunk-VKXEOL4K.js";import"./chunk-4SAVH3H7.js";import"./chunk-ZS2WS4AM.js";import"./chunk-AOWWC6WZ.js";import"./chunk-MY4MONOH.js";import{parseArguments}from"./chunk-R4VVQRLX.js";import"./chunk-BKV35LVB.js";import{getFlagsSpecification}from"./chunk-5IPBCD7K.js";import"./chunk-LG5FP6PL.js";import"./chunk-ROPQIBWJ.js";import"./chunk-VKPZP4LC.js";import"./chunk-PPCFQQSU.js";import"./chunk-N7Q2IESO.js";import"./chunk-WPQN5UKR.js";import"./chunk-VOZEB6PD.js";import{isAPIError}from"./chunk-YIIPBH2D.js";import{packageName}from"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-75IAMKGV.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_async_sema=__toESM(require_async_sema(),1);var USAGE="vcr permissions <repository> add <team>[,<team>...]";async function add(client,argv,telemetry){let parsedArgs;try{parsedArgs=parseArguments(argv,getFlagsSpecification(permissionsAddSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,USAGE),printError(err),2}let fr=validateVcrJsonOutput(client,parsedArgs.flags);if(typeof fr=="number")return fr;let repository=parsedArgs.args[0],teamRefs=parseTeamRefs(parsedArgs.args.slice(2)),project=parsedArgs.flags["--project"];if(telemetry.trackCliOptionProject(project),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),teamRefs.length===0)return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message:`Missing team. Example: ${packageName} vcr permissions ${repository} add team_1a2b3c4d`,next:[{command:buildCommandWithGlobalFlags(client.argv,USAGE),when:"Replace <team> with a team id or slug (comma-separate multiple teams)"}]},2),outputError(client,fr.jsonOutput,"MISSING_ARGUMENTS",`Usage: \`vercel ${USAGE}\``);let scope=await resolveVcrScope(client,{project,jsonOutput:fr.jsonOutput});if(typeof scope=="number")return scope;let path=repositoryPermissionsPath(scope,repository),added=[],failed=[];output_manager_default.spinner(`Sharing ${repository} with ${teamRefs.length===1?teamRefs[0]:`${teamRefs.length} teams`}...`);let sema=new import_async_sema.default(10),results;try{results=await Promise.all(teamRefs.map(async team=>{await sema.acquire();try{let result=await client.fetch(path,{method:"POST",body:teamRefBody(team)});return{ok:!0,team,permission:result.permission}}catch(err){if(!isAPIError(err))throw err;let message=err.serverMessage||`API error (${err.status}).`;return{ok:!1,team,failure:{team,code:err.code||"API_ERROR",message}}}finally{sema.release()}}))}finally{output_manager_default.stopSpinner()}for(let result of results)result.ok?(added.push(result.permission),fr.jsonOutput||output_manager_default.success(`Shared ${repository} with ${result.permission?.teamSlug??result.team}`)):(failed.push(result.failure),fr.jsonOutput||output_manager_default.error(`Failed to share ${repository} with ${result.team}: ${result.failure.message}`));return failed.length>0&&outputAgentError(client,{status:"error",reason:AGENT_REASON.API_ERROR,message:`Failed to share ${repository} with ${failed.map(f=>`${f.team} (${f.message})`).join(", ")}`},1),fr.jsonOutput&&client.stdout.write(`${JSON.stringify({permissions:added,failed},null,2)}
8
- `),failed.length>0?1:0}export{add as default};
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __dirname_ } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- const __filename = __fileURLToPath(import.meta.url);
6
- const __dirname = __dirname_(__filename);
7
- import{DEFAULT_TAG,buildRepositoryReference,parseNameArg,validateImageParts}from"./chunk-HEGJZJO7.js";import{VCR_ENGINES,emitVcrArgParseError,isBuildxAvailable,isEngineInstalled,pushCompressionArgs,reportEngineCommandFailure,reportEnginePushFailure,resolveRegistry,resolveVcrScope,runEngine,splitPassthrough,validateVcrChoice}from"./chunk-JJXNBWZY.js";import{outputError}from"./chunk-5UEBA6N6.js";import"./chunk-GSOPJJO5.js";import{buildSubcommand}from"./chunk-RZGWCQP7.js";import"./chunk-AG5QQNJ3.js";import"./chunk-AU42HSQ3.js";import"./chunk-L5FUUGYX.js";import"./chunk-FBYA6LLM.js";import"./chunk-SCV7XEEO.js";import{printError}from"./chunk-HYFA2W4U.js";import{AGENT_REASON,buildCommandWithGlobalFlags,outputAgentError}from"./chunk-R5FJNGWK.js";import"./chunk-D4MW3RDW.js";import"./chunk-TWRV6QGX.js";import"./chunk-HMS3UIQ2.js";import"./chunk-MXTC4ZAQ.js";import"./chunk-VKXEOL4K.js";import"./chunk-4SAVH3H7.js";import"./chunk-ZS2WS4AM.js";import"./chunk-AOWWC6WZ.js";import"./chunk-MY4MONOH.js";import{parseArguments}from"./chunk-R4VVQRLX.js";import"./chunk-BKV35LVB.js";import{getFlagsSpecification}from"./chunk-5IPBCD7K.js";import"./chunk-LG5FP6PL.js";import"./chunk-ROPQIBWJ.js";import"./chunk-VKPZP4LC.js";import"./chunk-PPCFQQSU.js";import"./chunk-N7Q2IESO.js";import"./chunk-WPQN5UKR.js";import"./chunk-VOZEB6PD.js";import"./chunk-YIIPBH2D.js";import"./chunk-JESNVRVR.js";import{output_manager_default}from"./chunk-75IAMKGV.js";import"./chunk-RM3ZDRYE.js";import"./chunk-OO572JUC.js";import"./chunk-D3AHZ5LI.js";import"./chunk-2GHZGOWT.js";import"./chunk-YHPPP3SF.js";import"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import"./chunk-BZENIQ7N.js";var DEFAULT_PLATFORM="linux/amd64";async function build(client,telemetry){let{own,passthrough}=splitPassthrough(client.argv),parsedArgs;try{parsedArgs=parseArguments(own,getFlagsSpecification(buildSubcommand.options))}catch(err){return emitVcrArgParseError(client,err,"vcr build <engine> [path] [name[:tag]]"),printError(err),2}let[engineArg,pathArg,nameArg]=parsedArgs.args.slice(2),project=parsedArgs.flags["--project"],platform=parsedArgs.flags["--platform"],push=!!parsedArgs.flags["--push"];if(telemetry.trackCliArgumentEngine(engineArg),telemetry.trackCliArgumentPath(pathArg),telemetry.trackCliArgumentName(nameArg),telemetry.trackCliOptionProject(project),telemetry.trackCliOptionPlatform(platform),telemetry.trackCliFlagPush(push),!engineArg){let message=`Missing engine. Choose one of: ${VCR_ENGINES.join(", ")}.`;return outputAgentError(client,{status:"error",reason:AGENT_REASON.MISSING_ARGUMENTS,message,next:[{command:buildCommandWithGlobalFlags(client.argv,"vcr build docker"),when:"Replace docker with the container tool you use"}]},2),outputError(client,!1,"MISSING_ARGUMENTS",message)}let choiceError=validateVcrChoice(client,"engine",engineArg,VCR_ENGINES,!1);if(typeof choiceError=="number")return choiceError;let engine=engineArg;if(!isEngineInstalled(engine)){let message=`\`${engine}\` is not installed or not on your PATH. Install it and try again.`;return outputAgentError(client,{status:"error",reason:"engine_not_found",message},1),outputError(client,!1,"ENGINE_NOT_FOUND",message)}let scope=await resolveVcrScope(client,{project,jsonOutput:!1});if(typeof scope=="number")return scope;let parsed=parseNameArg(nameArg,scope.projectName);if("error"in parsed)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:parsed.error},2),outputError(client,!1,"INVALID_ARGUMENTS",parsed.error);let validationError=validateImageParts(parsed);if(validationError)return outputAgentError(client,{status:"error",reason:AGENT_REASON.INVALID_ARGUMENTS,message:validationError},2),outputError(client,!1,"INVALID_ARGUMENTS",validationError);let ref=`${buildRepositoryReference({registry:resolveRegistry(),teamSlug:scope.teamSlug,projectName:scope.projectName,repository:parsed.repository})}:${parsed.tag??DEFAULT_TAG}`,contextPath=pathArg??".",buildPlatform=platform??DEFAULT_PLATFORM;if(push&&engine==="docker"&&await isBuildxAvailable()){let outputSpec=`type=image,name=${ref},push=true,oci-mediatypes=true,compression=zstd,compression-level=3,force-compression=true`,engineArgs2=["buildx","build","--platform",buildPlatform,"--output",outputSpec,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs2.join(" ")}`);let result2=await runEngine(engine,engineArgs2,{cwd:client.cwd,captureStderr:!0});return result2.exitCode!==0?reportEnginePushFailure(client,engine,"buildx build",result2):(output_manager_default.success(`Built and pushed ${ref} (zstd compression)`),0)}push&&engine==="docker"&&output_manager_default.warn("Docker Buildx is not available; building and pushing without zstd compression. Install Buildx for smaller, faster image pushes.");let engineArgs=["build","--platform",buildPlatform,"--tag",ref,...passthrough,contextPath];output_manager_default.log(`Running: ${engine} ${engineArgs.join(" ")}`);let result=await runEngine(engine,engineArgs,{cwd:client.cwd});if(result.exitCode!==0)return reportEngineCommandFailure(client,engine,"build",result);if(!push)return output_manager_default.success(`Built ${ref}`),output_manager_default.log(`Push it with \`${buildCommandWithGlobalFlags(client.argv,`vcr push ${engine}${nameArg?` ${nameArg}`:""}`)}\`.`),0;let pushArgs=["push",...pushCompressionArgs(engine),ref];output_manager_default.log(`Running: ${engine} ${pushArgs.join(" ")}`);let pushResult=await runEngine(engine,pushArgs,{cwd:client.cwd,captureStderr:!0});if(pushResult.exitCode!==0)return reportEnginePushFailure(client,engine,"push",pushResult);let compressed=engine!=="docker";return output_manager_default.success(`Built and pushed ${ref}${compressed?" (zstd compression)":""}`),0}export{build as default};