cf 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/{abuse-reports-DnNvw2gG.mjs → abuse-reports-CzDAjFpo.mjs} +1 -1
  2. package/dist/{access-RbqBFrSC.mjs → access-CxyW_sIW.mjs} +1 -1
  3. package/dist/{account-D7xvYqDx.mjs → account-Dd4-tDYJ.mjs} +1 -1
  4. package/dist/{account-tags-CKRh1jra.mjs → account-tags-65fAlHrf.mjs} +1 -1
  5. package/dist/{accounts-2pGhN4s8.mjs → accounts-Bp5KGc6r.mjs} +1 -1
  6. package/dist/{acm-Szq4CoQN.mjs → acm-CHacxa3s.mjs} +1 -1
  7. package/dist/{addressing-CgTTbuCF.mjs → addressing-BnqNmmYN.mjs} +1 -1
  8. package/dist/{agent-memory-C8pT01pR.mjs → agent-memory-D--BQS0W.mjs} +1 -1
  9. package/dist/{ai-Cn0BniR4.mjs → ai-BnVlQDiI.mjs} +1 -1
  10. package/dist/{ai-audit-CCygMmsh.mjs → ai-audit-CfpDKXkD.mjs} +1 -1
  11. package/dist/{ai-gateway-D4tATNRV.mjs → ai-gateway-oG4j_oYN.mjs} +1 -1
  12. package/dist/{ai-search-2xP8FP_W.mjs → ai-search-B2l3B_jn.mjs} +1 -1
  13. package/dist/{ai-security-AUfzagSE.mjs → ai-security-byjIIrfl.mjs} +1 -1
  14. package/dist/{alerting-DbXVpGv3.mjs → alerting-qa8SkXlD.mjs} +1 -1
  15. package/dist/{analytics-UQrIx99t.mjs → analytics-DeIKjC9n.mjs} +1 -1
  16. package/dist/{analytics_engine-B_bMbfxW.mjs → analytics_engine-BnECMIWJ.mjs} +1 -1
  17. package/dist/{api-security-pSJdgmtK.mjs → api-security-MfHbfZyf.mjs} +1 -1
  18. package/dist/{argo-Br60zF3y.mjs → argo-DFerMyXF.mjs} +1 -1
  19. package/dist/{artifacts-D8HMRQmb.mjs → artifacts-CtyEYYDa.mjs} +1 -1
  20. package/dist/{audit-logs-BIHP5-rk.mjs → audit-logs-retFtvow.mjs} +1 -1
  21. package/dist/{auth-C6MhC9EZ.mjs → auth-DuLchM18.mjs} +2 -2
  22. package/dist/{auth-MeSu8lFz.mjs → auth-aazs91XL.mjs} +1 -1
  23. package/dist/{billing-0RNCYBJM.mjs → billing-CxQVqpGZ.mjs} +1 -1
  24. package/dist/{bot-management-uhBRnSPl.mjs → bot-management-Rli7v7tg.mjs} +1 -1
  25. package/dist/{botnet-feed-DEbMknrE.mjs → botnet-feed-Cw6XSEf8.mjs} +1 -1
  26. package/dist/{brand-protection-DY2qPL8d.mjs → brand-protection-CTvnHGfV.mjs} +1 -1
  27. package/dist/{browser-extension-DBsmLCUj.mjs → browser-extension-q79xHrVW.mjs} +1 -1
  28. package/dist/{browser-run-C5pYOwtf.mjs → browser-run-FwtwnBzA.mjs} +1 -1
  29. package/dist/{build-Nivzj54_.mjs → build-Dji9BYmV.mjs} +1 -1
  30. package/dist/{cache-BgRIDcFJ.mjs → cache-Cl7vKJwH.mjs} +1 -1
  31. package/dist/{calls-JrRne0U0.mjs → calls-DtK_ANxq.mjs} +1 -1
  32. package/dist/{certificate-authorities-BJ7W8GGQ.mjs → certificate-authorities-DZP1RzAs.mjs} +1 -1
  33. package/dist/{cf-BUKsENG5.mjs → cf-oSz9pud_.mjs} +1 -1
  34. package/dist/{client-certificates-6xxvcOgI.mjs → client-certificates-BtPU9GsQ.mjs} +1 -1
  35. package/dist/{client-side-security-cU0Z1tql.mjs → client-side-security-DAn-3jwp.mjs} +1 -1
  36. package/dist/{cloud-connector-DFooSAcn.mjs → cloud-connector-BpVcvhjZ.mjs} +1 -1
  37. package/dist/{cloudforce-one-Cp4bQmrG.mjs → cloudforce-one-2PecncfX.mjs} +1 -1
  38. package/dist/{connector-interrupts-BR47snkh.mjs → connector-interrupts-ollUcksZ.mjs} +1 -1
  39. package/dist/{connector-telemetry-events-CTMmX2BA.mjs → connector-telemetry-events-D5_3X7XW.mjs} +1 -1
  40. package/dist/{connector-telemetry-snapshots-5Y7m8Cw8.mjs → connector-telemetry-snapshots-CJ9gLRFR.mjs} +1 -1
  41. package/dist/{connectors-BRCQSsos.mjs → connectors-Bo6ZT8PT.mjs} +1 -1
  42. package/dist/{containers-CfKOM_f5.mjs → containers-Bog7j0Hw.mjs} +1 -1
  43. package/dist/{content-scan-CB4xHGv1.mjs → content-scan-D03UfK2X.mjs} +1 -1
  44. package/dist/{csamScanner-AQo_QTlq.mjs → csamScanner-DgS-7ADh.mjs} +1 -1
  45. package/dist/{ct-alerting-Bai-1Z3k.mjs → ct-alerting-8AKtNnUg.mjs} +1 -1
  46. package/dist/{custom-certificates-D6aQIGu2.mjs → custom-certificates-4y35UC1X.mjs} +1 -1
  47. package/dist/{custom-csrs-D0zBkQT5.mjs → custom-csrs-DwBrLh-H.mjs} +1 -1
  48. package/dist/{custom-hostnames-BiOVGwnR.mjs → custom-hostnames-CDIAnsRa.mjs} +1 -1
  49. package/dist/{custom-nameservers-G2MWpRwY.mjs → custom-nameservers-stk7ymnP.mjs} +1 -1
  50. package/dist/{custom-pages-BINNZTds.mjs → custom-pages-vfDxrXbt.mjs} +1 -1
  51. package/dist/{d1-FmAh7T7l.mjs → d1-Cllm-iTT.mjs} +1 -1
  52. package/dist/{data-security-2fmzF_Me.mjs → data-security-rnoSCEdL.mjs} +1 -1
  53. package/dist/{dcv-delegation-Cmxxgi9V.mjs → dcv-delegation-DCRCOL6l.mjs} +1 -1
  54. package/dist/{deploy-BzFbjH6a.mjs → deploy-DGlmjPTS.mjs} +1 -1
  55. package/dist/{deploy-input-BRMQehgs.mjs → deploy-input-DhCo1I0I.mjs} +1 -1
  56. package/dist/{dev-CWaf-qW4.mjs → dev-BbLV0Ti-.mjs} +1 -1
  57. package/dist/{diagnostics-Ca6r_972.mjs → diagnostics-D5Yo2xqx.mjs} +1 -1
  58. package/dist/{directory-CGNWfVQc.mjs → directory-CCndFkbQ.mjs} +1 -1
  59. package/dist/{dispatch-namespaces-CBo5kuf7.mjs → dispatch-namespaces-C48JQ9EA.mjs} +1 -1
  60. package/dist/{dls-CobKlH4N.mjs → dls-BBq99pjI.mjs} +1 -1
  61. package/dist/{dns-OfJXNYkK.mjs → dns-DdQYtenF.mjs} +1 -1
  62. package/dist/{dns-firewall-DZ2ij-nX.mjs → dns-firewall-DdwVtm12.mjs} +1 -1
  63. package/dist/{durable-objects-Cw_y37WB.mjs → durable-objects-BvxXBht_.mjs} +1 -1
  64. package/dist/{email-auth-DuJHdiwN.mjs → email-auth-DFvXKSkg.mjs} +1 -1
  65. package/dist/{email-routing-CRvIUSFm.mjs → email-routing-QBRPBlyl.mjs} +1 -1
  66. package/dist/{email-security-D-P8ln2L.mjs → email-security-BFagcRPP.mjs} +1 -1
  67. package/dist/{email-sending-BwRN8PMW.mjs → email-sending-Ddhe7xjN.mjs} +1 -1
  68. package/dist/{filters-DczM8qpH.mjs → filters-CGisPGD1.mjs} +1 -1
  69. package/dist/{firewall-BMiETRmM.mjs → firewall-DD8U-Brd.mjs} +1 -1
  70. package/dist/{flagship-CPkQMist.mjs → flagship-FJHc4mFi.mjs} +1 -1
  71. package/dist/{fraud-BhX0QNUl.mjs → fraud-AH47n-wL.mjs} +1 -1
  72. package/dist/{google-tag-gateway-CDtRxao4.mjs → google-tag-gateway-149kbuG_.mjs} +1 -1
  73. package/dist/{healthchecks-D2WwALvQ.mjs → healthchecks-DfEUG007.mjs} +1 -1
  74. package/dist/{hostnames-CGAFkYT1.mjs → hostnames-DQUiD3Vr.mjs} +1 -1
  75. package/dist/{hyperdrive-zLFPWFQj.mjs → hyperdrive-RyQboMWI.mjs} +1 -1
  76. package/dist/{iam-Su_hpatD.mjs → iam-BhHYhMXO.mjs} +1 -1
  77. package/dist/{images-D2ZflvBi.mjs → images-CDViyKtZ.mjs} +1 -1
  78. package/dist/index.mjs +1 -1
  79. package/dist/{intel-DPGzVovJ.mjs → intel-YHZbPlS3.mjs} +1 -1
  80. package/dist/{interactive-CM2G03lr.mjs → interactive-mV8PABm6.mjs} +1 -1
  81. package/dist/{ips-C5-NH1b0.mjs → ips-BpCdldFx.mjs} +1 -1
  82. package/dist/{keyless-certificates-Xx-oAN3Z.mjs → keyless-certificates-oNu5jWKF.mjs} +1 -1
  83. package/dist/{keys-B0FBtlOD.mjs → keys-yYtv7Ztr.mjs} +1 -1
  84. package/dist/{kv-BbZ9st5o.mjs → kv-Bi9B4E0A.mjs} +1 -1
  85. package/dist/{leaked-credential-checks-Vonw4inx.mjs → leaked-credential-checks-DKRjBLcr.mjs} +1 -1
  86. package/dist/{load-balancers-Ct5cyyF9.mjs → load-balancers-jRCN75mX.mjs} +1 -1
  87. package/dist/{local-eEF0NF51.mjs → local-DTyuGwTw.mjs} +1 -1
  88. package/dist/{local-runtime-BNCCOZ8s.mjs → local-runtime-IAXhEugU.mjs} +1 -1
  89. package/dist/{logexplorer-BhsAWxCr.mjs → logexplorer-kO8CULiK.mjs} +1 -1
  90. package/dist/{logo-matches-oHYc8Xaz.mjs → logo-matches-LyDAYPbI.mjs} +1 -1
  91. package/dist/{logos-DS0krPAz.mjs → logos-O9f5bGSB.mjs} +1 -1
  92. package/dist/{logpush-CFQBi88z.mjs → logpush-dtXLu3Ck.mjs} +1 -1
  93. package/dist/{logs-C07M9zn-.mjs → logs-DmWWL5f9.mjs} +1 -1
  94. package/dist/{magic-cloud-networking-ZPEK7O5I.mjs → magic-cloud-networking-XbTa6P52.mjs} +1 -1
  95. package/dist/{magic-network-monitoring-CY3CHSpX.mjs → magic-network-monitoring-CpfkgZMp.mjs} +1 -1
  96. package/dist/{magic-transit-CgPZ8iMn.mjs → magic-transit-DwgZeIj-.mjs} +1 -1
  97. package/dist/{managed-transforms-2XyQ14s3.mjs → managed-transforms-DCmogkxv.mjs} +1 -1
  98. package/dist/{matches-CIaCrdrs.mjs → matches-BAeN8VM1.mjs} +1 -1
  99. package/dist/{mcp-D2afM8MD.mjs → mcp-DKZ2D050.mjs} +1 -1
  100. package/dist/{mesh-DLNLi3UT.mjs → mesh-CzIPtuaM.mjs} +1 -1
  101. package/dist/{moq-BBQVNGo1.mjs → moq-CJpE-eNj.mjs} +1 -1
  102. package/dist/{mtls-certificates-C5j0Gn65.mjs → mtls-certificates-Bbm_1lQI.mjs} +1 -1
  103. package/dist/{network-CmuJqtFJ.mjs → network-D2WRXCDe.mjs} +1 -1
  104. package/dist/{network-interconnects-BlajBQqs.mjs → network-interconnects-Clq4X1U8.mjs} +1 -1
  105. package/dist/{oauth-BjHjJtnn.mjs → oauth-BPizUUqP.mjs} +1 -1
  106. package/dist/{oauth-clients-BSthfZP-.mjs → oauth-clients-hilWfAlm.mjs} +1 -1
  107. package/dist/{oauth-scopes-ByUp5bLU.mjs → oauth-scopes-CmbgsPYd.mjs} +1 -1
  108. package/dist/{observability-B5p3iwrq.mjs → observability-DXYgDdU5.mjs} +1 -1
  109. package/dist/{organization-DQIfNVCT.mjs → organization-D41rIvJa.mjs} +1 -1
  110. package/dist/{organizations-L_ycAy6r.mjs → organizations-eNzfOwlP.mjs} +1 -1
  111. package/dist/{origin-ca-certificates-opIcs3_Q.mjs → origin-ca-certificates-DaiAmw45.mjs} +1 -1
  112. package/dist/{origin-post-quantum-encryption-TSMXzoEL.mjs → origin-post-quantum-encryption-7YztBged.mjs} +1 -1
  113. package/dist/{origin-tls-client-auth-5CtcPUR6.mjs → origin-tls-client-auth-DRwURM8s.mjs} +1 -1
  114. package/dist/{page-rules-DPd1Y3IL.mjs → page-rules-B2Csdc4h.mjs} +1 -1
  115. package/dist/{pages-CskAn5mR.mjs → pages-BAL6Q7OY.mjs} +1 -1
  116. package/dist/{pay-per-crawl-BMa_V40s.mjs → pay-per-crawl-C-1-ZAtn.mjs} +1 -1
  117. package/dist/{pipelines-BbJjj1ZQ.mjs → pipelines-cyQOuFLb.mjs} +1 -1
  118. package/dist/{precursor-DgRWBN9_.mjs → precursor-BrweY39h.mjs} +1 -1
  119. package/dist/{progress-C-oFUtvC.mjs → progress-B84wYh91.mjs} +1 -1
  120. package/dist/{prompt-DM4z101s.mjs → prompt-CDtLWxNv.mjs} +1 -1
  121. package/dist/{queries-DrqcK0ZX.mjs → queries-oM8uGZy5.mjs} +1 -1
  122. package/dist/{queues-CutvMZcc.mjs → queues-CTx04ZNw.mjs} +1 -1
  123. package/dist/{r2-sFI62vhq.mjs → r2-CnlIUn7R.mjs} +1 -1
  124. package/dist/{r2-data-catalog-3vzU6FE1.mjs → r2-data-catalog-DLtf9d6o.mjs} +1 -1
  125. package/dist/{radar-Cu9rsTw_.mjs → radar-CGNgGh8v.mjs} +1 -1
  126. package/dist/{rate-limits-HRZ8zMSl.mjs → rate-limits-B1YjnGue.mjs} +1 -1
  127. package/dist/{raw-fetch-25gXED6c.mjs → raw-fetch-Dz-QBoP_.mjs} +1 -1
  128. package/dist/{realtimekit-msnGHBbf.mjs → realtimekit-BPwzhNS9.mjs} +1 -1
  129. package/dist/{registrar-C0EsXf83.mjs → registrar-BEcb90RX.mjs} +1 -1
  130. package/dist/{registrar-sandbox-CR9Rr7jV.mjs → registrar-sandbox-0i1T3zne.mjs} +1 -1
  131. package/dist/{registry-CJvn75Bq.mjs → registry-DDcSvd8H.mjs} +1 -1
  132. package/dist/{reporting-BB6sqe6r.mjs → reporting-CLbjHlnw.mjs} +1 -1
  133. package/dist/{request-tracers-BrsM3zXZ.mjs → request-tracers-BcKpofP1.mjs} +1 -1
  134. package/dist/{resource-sharing-CusU3kiy.mjs → resource-sharing-Ctdi9D-j.mjs} +1 -1
  135. package/dist/{resource-tagging-wXAcblmz.mjs → resource-tagging-DGEyVTDN.mjs} +1 -1
  136. package/dist/{rules-C2BxykEe.mjs → rules-CmuB5rIN.mjs} +1 -1
  137. package/dist/{rulesets-BHvhAeG_.mjs → rulesets-CGaMq8vG.mjs} +1 -1
  138. package/dist/{rum-Dyno5zj3.mjs → rum-QT6EP4JK.mjs} +1 -1
  139. package/dist/{schema-flags-C1BRprT2.mjs → schema-flags-DHryz6SF.mjs} +1 -1
  140. package/dist/{scim-Bb2xHpIz.mjs → scim-BgGsmHrL.mjs} +1 -1
  141. package/dist/{secrets-store-BMhjbceW.mjs → secrets-store-BCpFhYFv.mjs} +1 -1
  142. package/dist/{security-center-DRC4Mf3R.mjs → security-center-BNm4uPVB.mjs} +1 -1
  143. package/dist/{security-txt-Bh_2gymk.mjs → security-txt-Be2Bif0z.mjs} +1 -1
  144. package/dist/{session-Br-q_UIW.mjs → session-Ckt20hHa.mjs} +1 -1
  145. package/dist/{share-DfTpOxhk.mjs → share-Bz2tFTUP.mjs} +1 -1
  146. package/dist/{shared-BNjZc02w.mjs → shared-BzPQog8H.mjs} +1 -1
  147. package/dist/{smart-shield-rHn-Lckq.mjs → smart-shield-SODkOUyO.mjs} +1 -1
  148. package/dist/{snippets-nSLwH8uJ.mjs → snippets-B5jY8v_7.mjs} +1 -1
  149. package/dist/{spawn-Bj8QRFJ5.mjs → spawn-CHkoow5W.mjs} +1 -1
  150. package/dist/{spectrum-DuhSUTZI.mjs → spectrum-BA0a42eM.mjs} +1 -1
  151. package/dist/{speed-Dgby_e1J.mjs → speed-mmOjxOzo.mjs} +1 -1
  152. package/dist/{src-CgAVPA4I.mjs → src-CHW7s5IS.mjs} +4 -4
  153. package/dist/{ssl-BsxTHasY.mjs → ssl-Yr6kELqg.mjs} +1 -1
  154. package/dist/{state-C1m9nwUm.mjs → state-DZC531l2.mjs} +1 -1
  155. package/dist/{stream-CkEOX5Ko.mjs → stream-Cu0kYWbc.mjs} +1 -1
  156. package/dist/{submit-BjdywxTq.mjs → submit-Dl_27e0n.mjs} +1 -1
  157. package/dist/{tags-CFAw_Sce.mjs → tags-Cdo_Pwtr.mjs} +1 -1
  158. package/dist/{tenant-C66iOy5O.mjs → tenant-EX-ANl6X.mjs} +1 -1
  159. package/dist/{tenant-custom-nameservers-CyJZ_AB0.mjs → tenant-custom-nameservers-BPHUeckw.mjs} +1 -1
  160. package/dist/{triggers-Dv22ZXM4.mjs → triggers-Bf9hbP3h.mjs} +1 -1
  161. package/dist/{tunnel-BatkLdds.mjs → tunnel-CDYkWjnt.mjs} +1 -1
  162. package/dist/{tunnels-CstoXOoq.mjs → tunnels-CgyX8R2J.mjs} +1 -1
  163. package/dist/{turnstile-IoRtama4.mjs → turnstile-BUtzlW-0.mjs} +1 -1
  164. package/dist/{ui-DjQ4AQww.mjs → ui-DIpjthrV.mjs} +1 -1
  165. package/dist/{url-info-Hjhwr2la.mjs → url-info-CJsa1Oc9.mjs} +1 -1
  166. package/dist/{url-normalization-C2BP_Kl0.mjs → url-normalization-BeKkOZz7.mjs} +1 -1
  167. package/dist/{url-scanner-DmYVTdAE.mjs → url-scanner-Cz-yl0_3.mjs} +1 -1
  168. package/dist/{user-CVHm-cnB.mjs → user-BxHjEqpd.mjs} +1 -1
  169. package/dist/{values-Cmlw5wGZ.mjs → values-C43NurfT.mjs} +1 -1
  170. package/dist/{vectorize-BQtIqiNO.mjs → vectorize-CjXfiFH4.mjs} +1 -1
  171. package/dist/{versions-CU6Av1vh.mjs → versions-BFbc90Wu.mjs} +1 -1
  172. package/dist/{waiting-rooms-ku9UsAr9.mjs → waiting-rooms-C5jSQv_r.mjs} +1 -1
  173. package/dist/{web-assets-DmSKaxzf.mjs → web-assets-BzM5vVzy.mjs} +1 -1
  174. package/dist/{web3-DVv4jNul.mjs → web3-Ctv9HGiR.mjs} +1 -1
  175. package/dist/{workers-D8czeT64.mjs → workers-D-YbIedB.mjs} +1 -1
  176. package/dist/{workers-builds-DgrejrUc.mjs → workers-builds-B44wc67O.mjs} +1 -1
  177. package/dist/{workflows-BOi5MTEN.mjs → workflows-rFuQWClt.mjs} +1 -1
  178. package/dist/{zaraz-CGSSFJng.mjs → zaraz-BA6kY-b6.mjs} +1 -1
  179. package/dist/{zero-trust-BmA0VkgF.mjs → zero-trust-DOFLlUz1.mjs} +1 -1
  180. package/dist/{zone-Bx5ElO9U.mjs → zone-B_rgejLV.mjs} +1 -1
  181. package/dist/{zone-tags-izd3WWmy.mjs → zone-tags-BWdza4rH.mjs} +1 -1
  182. package/dist/{zones-_SnlZMiM.mjs → zones-DTWO7Vvn.mjs} +1 -1
  183. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{h as e}from"./oauth-BjHjJtnn.mjs";import{r as t}from"./auth-C6MhC9EZ.mjs";import{t as n}from"./output-DgW1hQGX.mjs";import{n as r,t as i}from"./progress-C-oFUtvC.mjs";import{n as a,t as o}from"./body-parser-CYD7PKFC.mjs";import{n as s}from"./input-validation-BBKJRoRB.mjs";import{a as c,i as l,n as u}from"./prompt-DM4z101s.mjs";import{t as d}from"./cli-types-BWdZbsFE.mjs";function f(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const p={command:`get`,describe:`Returns the latest API operations discovered from zone traffic, rendered as OpenAPI schemas.`,builder:f,handler:async a=>{if(a.dryRun){r({command:`cf web-assets discovery get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.webAssets.discovery.get({zone_id:s})),{successLabel:`Loaded`})}};function ee(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const m={command:`bulk-edit`,describe:`Updates the state of one or more discovered web and API operations.`,builder:ee,handler:async o=>{if(o.dryRun){r({command:`cf web-assets discovery operations bulk-edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/discovery/operations`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Updating`,async()=>s.webAssets.discovery.operations.bulkEdit({body:e,zone_id:c})),{successLabel:`Updated`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function h(e){return e.positional(`discovery-id`,{type:`string`,description:`Discovery ID of a discovered operation`,demandOption:!0}).option(`state`,{type:`string`,description:"Mark state of operation in API Discovery\n * `review` - Mark operation as for review\n * `ignored` - Mark operation as ignored\n",choices:[`review`,`ignored`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const g={command:`edit <discovery-id>`,describe:`Updates the state of a discovered web or API operation.`,builder:h,handler:async c=>{if(c.dryRun){r({command:`cf web-assets discovery operations edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/api_gateway/discovery/operations/${c[`discovery-id`]==null?`<discovery-id>`:encodeURIComponent(String(c[`discovery-id`]))}`,pathParams:{"zone-id":String(c.zone??c[`zone-id`]??``),"discovery-id":String(c[`discovery-id`]??``)},bodyKind:`json`,body:c.body===void 0?o({state:s(c.state,`state`,`text`)}):a(c.body)});return}let l=await t(c),u=await e({zone:c.zone},l,{quiet:c.quiet});if(c.zoneId=u,c.body){let e=a(c.body);n(await i(`Updating`,async()=>l.webAssets.discovery.operations.edit({...e,zone_id:u,discovery_id:c[`discovery-id`]})),{successLabel:`Updated`});return}let d=o({state:s(c.state,`state`,`text`)});n(await i(`Updating`,async()=>l.webAssets.discovery.operations.edit({...d,zone_id:u,discovery_id:c[`discovery-id`]})),{successLabel:`Updated`})}};function _(e){return e.positional(`discovery-id`,{type:`string`,description:`Discovery ID of a discovered operation`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`get <discovery-id>`,describe:`Returns a discovered web or API operation by discovery ID.`,builder:_,handler:async a=>{if(a.dryRun){r({command:`cf web-assets discovery operations get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery/operations/${a[`discovery-id`]==null?`<discovery-id>`:encodeURIComponent(String(a[`discovery-id`]))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),"discovery-id":String(a[`discovery-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.webAssets.discovery.operations.get({zone_id:s,discovery_id:a[`discovery-id`]})),{successLabel:`Loaded`})}};function y(e){return e.option(`page`,{type:`number`,description:`Page number of paginated results.`}).option(`per-page`,{type:`number`,description:`Maximum number of results per page.`}).option(`host`,{type:`string`,description:`Filter results to only include the specified hosts.`}).option(`method`,{type:`string`,description:`Filter results to only include the specified HTTP methods.`}).option(`endpoint`,{type:`string`,description:`Filter results to only include endpoints containing this pattern.`}).option(`direction`,{type:`string`,description:`Direction to order results.`,choices:[`asc`,`desc`]}).option(`order`,{type:`string`,description:`Field to order by`,choices:[`host`,`method`,`endpoint`,`traffic_stats.requests`,`traffic_stats.last_updated`]}).option(`diff`,{type:`boolean`,description:"When `true`, only return API Discovery results that are not saved into API Shield Endpoint Management"}).option(`origin`,{type:`string`,description:"Filter results to only include discovery results sourced from a particular discovery engine\n * `ML` - Discovered operations that were sourced using ML API Discovery\n * `SessionIdentifier` - Discovered operations that were sourced using Session Identifier API Discovery",choices:[`ML`,`SessionIdentifier`,`LabelDiscovery`]}).option(`state`,{type:`string`,description:"Filter results to only include discovery results in a particular state. States are as follows\n * `review` - Discovered operations that are not saved into API Shield Endpoint Management\n * `saved` - Discovered operations that are already saved into API Shield Endpoint Management\n * `ignored` - Discovered operations that have been marked as ignored",choices:[`review`,`saved`,`ignored`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`list`,describe:`Returns the latest web and API operations discovered from zone traffic.`,builder:d(y),handler:async a=>{let o={page:a.page,per_page:a[`per-page`],host:a.host,method:a.method,endpoint:a.endpoint,direction:a.direction,order:a.order,diff:a.diff,origin:a.origin,state:a.state};if(a.dryRun){r({command:`cf web-assets discovery operations list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery/operations`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.discovery.operations.list({zone_id:c,...o})),{successLabel:`Loaded`})}},x={command:`operations`,describe:`Operations for discovery.operations`,builder:e=>e.command(m).command(g).command(v).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},S={command:`discovery`,describe:`Operations for discovery`,builder:e=>e.command(p).command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.option(`page`,{type:`number`,description:`Page number of paginated results.`}).option(`per-page`,{type:`number`,description:`Maximum number of results per page.`}).option(`order`,{type:`string`,description:`Field to order by`,choices:[`name`,`description`,`created_at`,`last_updated`,`mapped_resources.operations`]}).option(`direction`,{type:`string`,description:`Direction to order results.`,choices:[`asc`,`desc`]}).option(`source`,{type:`string`,description:`Filter for labels with source`,choices:[`user`,`managed`]}).option(`filter`,{type:`string`,description:`Filter for labels where the name or description matches using substring match`}).option(`with-mapped-resource-counts`,{type:`boolean`,description:"Include `mapped_resources` for each label"}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const w={command:`list`,describe:`Returns all managed and user-defined labels available for web and API operations in the zone.`,builder:d(C),handler:async a=>{let o={page:a.page,per_page:a[`per-page`],order:a.order,direction:a.direction,source:a.source,filter:a.filter,with_mapped_resource_counts:a[`with-mapped-resource-counts`]};if(a.dryRun){r({command:`cf web-assets labels list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.labels.list({zone_id:c,...o})),{successLabel:`Loaded`})}};function T(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`with-mapped-resource-counts`,{type:`boolean`,description:"Include `mapped_resources` for each label"}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const E={command:`get <name>`,describe:`Returns a managed label and the web and API operations associated with it.`,builder:T,handler:async a=>{let o={with_mapped_resource_counts:a[`with-mapped-resource-counts`]};if(a.dryRun){r({command:`cf web-assets labels managed get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels/managed/${a.name==null?`<name>`:encodeURIComponent(String(a.name))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),name:String(a.name??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.labels.managed.get({zone_id:c,name:a.name,...o})),{successLabel:`Loaded`})}};function D(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const O={command:`update <name>`,describe:`Replaces the complete set of web and API operations attached to the managed label.`,builder:D,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels managed operations update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/managed/${o.name==null?`<name>`:encodeURIComponent(String(o.name))}/resources/operation`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``),name:String(o.name??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Updating`,async()=>s.webAssets.labels.managed.operations.update({body:e,zone_id:c,name:o.name})),{successLabel:`Updated`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},k={command:`operations`,describe:`Operations for labels.managed.operations`,builder:e=>e.command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},A={command:`managed`,describe:`Operations for labels.managed`,builder:e=>e.command(E).command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function j(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const M={command:`bulk-create`,describe:`Creates one or more user-defined labels for classifying web and API operations.`,builder:j,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels user bulk-create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/user`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Creating`,async()=>s.webAssets.labels.user.bulkCreate({body:e,zone_id:c})),{successLabel:`Created`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function N(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const P={command:`bulk-delete`,describe:`Deletes one or more user-defined labels and removes their associations with web and API operations.`,builder:N,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels user bulk-delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/user`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,!await u({force:!!o.force,message:`This operation deletes the selected user-defined labels and removes them from associated web and API operations.`})){process.stderr.write(`Aborted.
2
+ import{h as e}from"./oauth-BPizUUqP.mjs";import{r as t}from"./auth-DuLchM18.mjs";import{t as n}from"./output-DgW1hQGX.mjs";import{n as r,t as i}from"./progress-B84wYh91.mjs";import{n as a,t as o}from"./body-parser-CYD7PKFC.mjs";import{n as s}from"./input-validation-BBKJRoRB.mjs";import{a as c,i as l,n as u}from"./prompt-CDtLWxNv.mjs";import{t as d}from"./cli-types-BWdZbsFE.mjs";function f(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const p={command:`get`,describe:`Returns the latest API operations discovered from zone traffic, rendered as OpenAPI schemas.`,builder:f,handler:async a=>{if(a.dryRun){r({command:`cf web-assets discovery get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.webAssets.discovery.get({zone_id:s})),{successLabel:`Loaded`})}};function ee(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const m={command:`bulk-edit`,describe:`Updates the state of one or more discovered web and API operations.`,builder:ee,handler:async o=>{if(o.dryRun){r({command:`cf web-assets discovery operations bulk-edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/discovery/operations`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Updating`,async()=>s.webAssets.discovery.operations.bulkEdit({body:e,zone_id:c})),{successLabel:`Updated`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function h(e){return e.positional(`discovery-id`,{type:`string`,description:`Discovery ID of a discovered operation`,demandOption:!0}).option(`state`,{type:`string`,description:"Mark state of operation in API Discovery\n * `review` - Mark operation as for review\n * `ignored` - Mark operation as ignored\n",choices:[`review`,`ignored`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const g={command:`edit <discovery-id>`,describe:`Updates the state of a discovered web or API operation.`,builder:h,handler:async c=>{if(c.dryRun){r({command:`cf web-assets discovery operations edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/api_gateway/discovery/operations/${c[`discovery-id`]==null?`<discovery-id>`:encodeURIComponent(String(c[`discovery-id`]))}`,pathParams:{"zone-id":String(c.zone??c[`zone-id`]??``),"discovery-id":String(c[`discovery-id`]??``)},bodyKind:`json`,body:c.body===void 0?o({state:s(c.state,`state`,`text`)}):a(c.body)});return}let l=await t(c),u=await e({zone:c.zone},l,{quiet:c.quiet});if(c.zoneId=u,c.body){let e=a(c.body);n(await i(`Updating`,async()=>l.webAssets.discovery.operations.edit({...e,zone_id:u,discovery_id:c[`discovery-id`]})),{successLabel:`Updated`});return}let d=o({state:s(c.state,`state`,`text`)});n(await i(`Updating`,async()=>l.webAssets.discovery.operations.edit({...d,zone_id:u,discovery_id:c[`discovery-id`]})),{successLabel:`Updated`})}};function _(e){return e.positional(`discovery-id`,{type:`string`,description:`Discovery ID of a discovered operation`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`get <discovery-id>`,describe:`Returns a discovered web or API operation by discovery ID.`,builder:_,handler:async a=>{if(a.dryRun){r({command:`cf web-assets discovery operations get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery/operations/${a[`discovery-id`]==null?`<discovery-id>`:encodeURIComponent(String(a[`discovery-id`]))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),"discovery-id":String(a[`discovery-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.webAssets.discovery.operations.get({zone_id:s,discovery_id:a[`discovery-id`]})),{successLabel:`Loaded`})}};function y(e){return e.option(`page`,{type:`number`,description:`Page number of paginated results.`}).option(`per-page`,{type:`number`,description:`Maximum number of results per page.`}).option(`host`,{type:`string`,description:`Filter results to only include the specified hosts.`}).option(`method`,{type:`string`,description:`Filter results to only include the specified HTTP methods.`}).option(`endpoint`,{type:`string`,description:`Filter results to only include endpoints containing this pattern.`}).option(`direction`,{type:`string`,description:`Direction to order results.`,choices:[`asc`,`desc`]}).option(`order`,{type:`string`,description:`Field to order by`,choices:[`host`,`method`,`endpoint`,`traffic_stats.requests`,`traffic_stats.last_updated`]}).option(`diff`,{type:`boolean`,description:"When `true`, only return API Discovery results that are not saved into API Shield Endpoint Management"}).option(`origin`,{type:`string`,description:"Filter results to only include discovery results sourced from a particular discovery engine\n * `ML` - Discovered operations that were sourced using ML API Discovery\n * `SessionIdentifier` - Discovered operations that were sourced using Session Identifier API Discovery",choices:[`ML`,`SessionIdentifier`,`LabelDiscovery`]}).option(`state`,{type:`string`,description:"Filter results to only include discovery results in a particular state. States are as follows\n * `review` - Discovered operations that are not saved into API Shield Endpoint Management\n * `saved` - Discovered operations that are already saved into API Shield Endpoint Management\n * `ignored` - Discovered operations that have been marked as ignored",choices:[`review`,`saved`,`ignored`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`list`,describe:`Returns the latest web and API operations discovered from zone traffic.`,builder:d(y),handler:async a=>{let o={page:a.page,per_page:a[`per-page`],host:a.host,method:a.method,endpoint:a.endpoint,direction:a.direction,order:a.order,diff:a.diff,origin:a.origin,state:a.state};if(a.dryRun){r({command:`cf web-assets discovery operations list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/discovery/operations`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.discovery.operations.list({zone_id:c,...o})),{successLabel:`Loaded`})}},x={command:`operations`,describe:`Operations for discovery.operations`,builder:e=>e.command(m).command(g).command(v).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},S={command:`discovery`,describe:`Operations for discovery`,builder:e=>e.command(p).command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.option(`page`,{type:`number`,description:`Page number of paginated results.`}).option(`per-page`,{type:`number`,description:`Maximum number of results per page.`}).option(`order`,{type:`string`,description:`Field to order by`,choices:[`name`,`description`,`created_at`,`last_updated`,`mapped_resources.operations`]}).option(`direction`,{type:`string`,description:`Direction to order results.`,choices:[`asc`,`desc`]}).option(`source`,{type:`string`,description:`Filter for labels with source`,choices:[`user`,`managed`]}).option(`filter`,{type:`string`,description:`Filter for labels where the name or description matches using substring match`}).option(`with-mapped-resource-counts`,{type:`boolean`,description:"Include `mapped_resources` for each label"}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const w={command:`list`,describe:`Returns all managed and user-defined labels available for web and API operations in the zone.`,builder:d(C),handler:async a=>{let o={page:a.page,per_page:a[`per-page`],order:a.order,direction:a.direction,source:a.source,filter:a.filter,with_mapped_resource_counts:a[`with-mapped-resource-counts`]};if(a.dryRun){r({command:`cf web-assets labels list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.labels.list({zone_id:c,...o})),{successLabel:`Loaded`})}};function T(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`with-mapped-resource-counts`,{type:`boolean`,description:"Include `mapped_resources` for each label"}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const E={command:`get <name>`,describe:`Returns a managed label and the web and API operations associated with it.`,builder:T,handler:async a=>{let o={with_mapped_resource_counts:a[`with-mapped-resource-counts`]};if(a.dryRun){r({command:`cf web-assets labels managed get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels/managed/${a.name==null?`<name>`:encodeURIComponent(String(a.name))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),name:String(a.name??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.labels.managed.get({zone_id:c,name:a.name,...o})),{successLabel:`Loaded`})}};function D(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const O={command:`update <name>`,describe:`Replaces the complete set of web and API operations attached to the managed label.`,builder:D,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels managed operations update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/managed/${o.name==null?`<name>`:encodeURIComponent(String(o.name))}/resources/operation`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``),name:String(o.name??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Updating`,async()=>s.webAssets.labels.managed.operations.update({body:e,zone_id:c,name:o.name})),{successLabel:`Updated`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},k={command:`operations`,describe:`Operations for labels.managed.operations`,builder:e=>e.command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},A={command:`managed`,describe:`Operations for labels.managed`,builder:e=>e.command(E).command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function j(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const M={command:`bulk-create`,describe:`Creates one or more user-defined labels for classifying web and API operations.`,builder:j,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels user bulk-create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/user`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Creating`,async()=>s.webAssets.labels.user.bulkCreate({body:e,zone_id:c})),{successLabel:`Created`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function N(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const P={command:`bulk-delete`,describe:`Deletes one or more user-defined labels and removes their associations with web and API operations.`,builder:N,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels user bulk-delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/user`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,!await u({force:!!o.force,message:`This operation deletes the selected user-defined labels and removes them from associated web and API operations.`})){process.stderr.write(`Aborted.
3
3
  `);return}if(o.body){let e=a(o.body);n(await i(`Deleting`,async()=>s.webAssets.labels.user.bulkDelete({body:e,zone_id:c})),{successLabel:`Deleted`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function F(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const I={command:`delete <name>`,describe:`Deletes a user-defined label and removes its associations with web and API operations.`,builder:F,handler:async a=>{if(a.dryRun){r({command:`cf web-assets labels user delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels/user/${a.name==null?`<name>`:encodeURIComponent(String(a.name))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),name:String(a.name??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});if(a.zoneId=s,!await u({force:!!a.force,message:`This operation deletes the user-defined label and removes it from associated web and API operations.`})){process.stderr.write(`Aborted.
4
4
  `);return}n(await i(`Deleting`,async()=>o.webAssets.labels.user.delete({zone_id:s,name:a.name})),{successLabel:`Deleted`})}};function L(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`description`,{type:`string`,description:`The description of the label`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const R={command:`edit <name>`,describe:`Updates only the supplied fields on a user-defined label.`,builder:L,handler:async c=>{if(c.dryRun){r({command:`cf web-assets labels user edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/api_gateway/labels/user/${c.name==null?`<name>`:encodeURIComponent(String(c.name))}`,pathParams:{"zone-id":String(c.zone??c[`zone-id`]??``),name:String(c.name??``)},bodyKind:`json`,body:c.body===void 0?o({description:s(c.description,`description`,`text`)}):a(c.body)});return}let l=await t(c),u=await e({zone:c.zone},l,{quiet:c.quiet});if(c.zoneId=u,c.body){let e=a(c.body);n(await i(`Updating`,async()=>l.webAssets.labels.user.edit({...e,zone_id:u,name:c.name})),{successLabel:`Updated`});return}let d=o({description:s(c.description,`description`,`text`)});n(await i(`Updating`,async()=>l.webAssets.labels.user.edit({...d,zone_id:u,name:c.name})),{successLabel:`Updated`})}};function z(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`with-mapped-resource-counts`,{type:`boolean`,description:"Include `mapped_resources` for each label"}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const B={command:`get <name>`,describe:`Returns a user-defined label and the web and API operations associated with it.`,builder:z,handler:async a=>{let o={with_mapped_resource_counts:a[`with-mapped-resource-counts`]};if(a.dryRun){r({command:`cf web-assets labels user get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/labels/user/${a.name==null?`<name>`:encodeURIComponent(String(a.name))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),name:String(a.name??``)},query:o,bodyKind:`none`});return}let s=await t(a),c=await e({zone:a.zone},s,{quiet:a.quiet});a.zoneId=c,n(await i(`Loading`,async()=>s.webAssets.labels.user.get({zone_id:c,name:a.name,...o})),{successLabel:`Loaded`})}};function V(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const H={command:`update <name>`,describe:`Replaces the complete set of web and API operations attached to the user-defined label.`,builder:V,handler:async o=>{if(o.dryRun){r({command:`cf web-assets labels user operations update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/labels/user/${o.name==null?`<name>`:encodeURIComponent(String(o.name))}/resources/operation`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``),name:String(o.name??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Updating`,async()=>s.webAssets.labels.user.operations.update({body:e,zone_id:c,name:o.name})),{successLabel:`Updated`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},U={command:`operations`,describe:`Operations for labels.user.operations`,builder:e=>e.command(H).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function W(e){return e.positional(`name`,{type:`string`,description:`The label name`,demandOption:!0}).option(`description`,{type:`string`,description:`The description of the label`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const G={command:`update <name>`,describe:`Replaces all editable fields on a user-defined label.`,builder:W,handler:async c=>{if(c.dryRun){r({command:`cf web-assets labels user update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/api_gateway/labels/user/${c.name==null?`<name>`:encodeURIComponent(String(c.name))}`,pathParams:{"zone-id":String(c.zone??c[`zone-id`]??``),name:String(c.name??``)},bodyKind:`json`,body:c.body===void 0?o({description:s(c.description,`description`,`text`)}):a(c.body)});return}let l=await t(c),u=await e({zone:c.zone},l,{quiet:c.quiet});if(c.zoneId=u,c.body){let e=a(c.body);n(await i(`Updating`,async()=>l.webAssets.labels.user.update({...e,zone_id:u,name:c.name})),{successLabel:`Updated`});return}let d=o({description:s(c.description,`description`,`text`)});n(await i(`Updating`,async()=>l.webAssets.labels.user.update({...d,zone_id:u,name:c.name})),{successLabel:`Updated`})}},K={command:`user`,describe:`Operations for labels.user`,builder:e=>e.command(M).command(P).command(I).command(R).command(B).command(G).command(U).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},q={command:`labels`,describe:`Operations for labels`,builder:e=>e.command(w).command(A).command(K).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function J(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Y={command:`bulk-create`,describe:`Creates one or more web or API operations. Hosts, methods, and paths are normalized; an existing matching operation is returned instead of duplicated.`,builder:J,handler:async o=>{if(o.dryRun){r({command:`cf web-assets operations bulk-create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/operations`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,o.body){let e=a(o.body);n(await i(`Creating`,async()=>s.webAssets.operations.bulkCreate({body:e,zone_id:c})),{successLabel:`Created`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function te(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const X={command:`bulk-delete`,describe:`Deletes multiple web or API operations from endpoint management in one request.`,builder:te,handler:async o=>{if(o.dryRun){r({command:`cf web-assets operations bulk-delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${o.zone??o.zoneId??`<zone>`}/api_gateway/operations`,pathParams:{"zone-id":String(o.zone??o[`zone-id`]??``)},bodyKind:`json`,body:o.body===void 0?void 0:a(o.body)});return}let s=await t(o),c=await e({zone:o.zone},s,{quiet:o.quiet});if(o.zoneId=c,!await u({force:!!o.force,message:`This operation deletes the selected web or API operations.`})){process.stderr.write(`Aborted.
5
5
  `);return}if(o.body){let e=a(o.body);n(await i(`Deleting`,async()=>s.webAssets.operations.bulkDelete({body:e,zone_id:c})),{successLabel:`Deleted`});return}if(o.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function Z(e){return e.option(`endpoint`,{type:`string`,description:`The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.`}).option(`host`,{type:`string`,description:`RFC3986-compliant host.`}).option(`method`,{type:`string`,description:`The HTTP method used to access the endpoint.`,choices:[`GET`,`POST`,`HEAD`,`OPTIONS`,`PUT`,`DELETE`,`CONNECT`,`PATCH`,`TRACE`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Q={command:`create`,describe:`Creates one web or API operation. The host, method, and path are normalized; an existing matching operation is returned instead of duplicated.`,builder:Z,handler:async u=>{if(u.dryRun){r({command:`cf web-assets operations create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${u.zone??u.zoneId??`<zone>`}/api_gateway/operations/item`,pathParams:{"zone-id":String(u.zone??u[`zone-id`]??``)},bodyKind:`json`,body:u.body===void 0?o({endpoint:s(u.endpoint,`endpoint`,`text`),host:s(u.host,`host`,`text`),method:s(u.method,`method`,`text`)}):a(u.body)});return}let d=await t(u),f=await e({zone:u.zone},d,{quiet:u.quiet});if(u.zoneId=f,u.body){let e=a(u.body);n(await i(`Creating`,async()=>d.webAssets.operations.create({body:e,zone_id:f})),{successLabel:`Created`});return}u.endpoint===void 0&&(u.endpoint=await c(`endpoint`,`The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.`)),u.host===void 0&&(u.host=await c(`host`,`RFC3986-compliant host.`)),u.method===void 0&&(u.method=await l(`method`,`The HTTP method used to access the endpoint.`,[`GET`,`POST`,`HEAD`,`OPTIONS`,`PUT`,`DELETE`,`CONNECT`,`PATCH`,`TRACE`]));let p=o({endpoint:s(u.endpoint,`endpoint`,`text`),host:s(u.host,`host`,`text`),method:s(u.method,`method`,`text`)});n(await i(`Creating`,async()=>d.webAssets.operations.create({body:p,zone_id:f})),{successLabel:`Created`})}};function ne(e){return e.positional(`operation-id`,{type:`string`,description:`Identifier for the operation`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const re={command:`delete <operation-id>`,describe:`Deletes a web or API operation from endpoint management so its feature configuration is no longer tracked.`,builder:ne,handler:async a=>{if(a.dryRun){r({command:`cf web-assets operations delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/api_gateway/operations/${a[`operation-id`]==null?`<operation-id>`:encodeURIComponent(String(a[`operation-id`]))}`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``),"operation-id":String(a[`operation-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});if(a.zoneId=s,!await u({force:!!a.force,message:`This operation deletes the web or API operation.`})){process.stderr.write(`Aborted.
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import{h as e}from"./oauth-BjHjJtnn.mjs";import{r as t}from"./auth-C6MhC9EZ.mjs";import{t as n}from"./output-DgW1hQGX.mjs";import{n as r,t as i}from"./progress-C-oFUtvC.mjs";import{n as a,t as o}from"./body-parser-CYD7PKFC.mjs";import{n as s}from"./input-validation-BBKJRoRB.mjs";import{a as c,i as l,n as u}from"./prompt-DM4z101s.mjs";function d(e){return e.option(`description`,{type:`string`,description:`Specify an optional description of the hostname.`}).option(`dnslink`,{type:`string`,description:`Specify the DNSLink value used if the target is ipfs.`}).option(`name`,{type:`string`,description:`Specify the hostname that points to the target gateway via CNAME.`}).option(`target`,{type:`string`,description:`Specify the target gateway of the hostname.`,choices:[`ethereum`,`ipfs`,`ipfs_universal_path`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const f={command:`create`,describe:`Create Web3 Hostname`,builder:d,handler:async u=>{if(u.dryRun){r({command:`cf web3 hostnames create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${u.zone??u.zoneId??`<zone>`}/web3/hostnames`,pathParams:{"zone-id":String(u.zone??u[`zone-id`]??``)},bodyKind:`json`,body:u.body===void 0?o({description:s(u.description,`description`,`text`),dnslink:s(u.dnslink,`dnslink`,`text`),name:s(u.name,`name`,`text`),target:s(u.target,`target`,`text`)}):a(u.body)});return}let d=await t(u),f=await e({zone:u.zone},d,{quiet:u.quiet});if(u.zoneId=f,u.body){let e=a(u.body);n(await i(`Creating`,async()=>d.web3.hostnames.create({...e,zone_id:f})),{successLabel:`Created`});return}u.name===void 0&&(u.name=await c(`name`,`Specify the hostname that points to the target gateway via CNAME.`)),u.target===void 0&&(u.target=await l(`target`,`Specify the target gateway of the hostname.`,[`ethereum`,`ipfs`,`ipfs_universal_path`]));let p=o({description:s(u.description,`description`,`text`),dnslink:s(u.dnslink,`dnslink`,`text`),name:s(u.name,`name`,`text`),target:s(u.target,`target`,`text`)});n(await i(`Creating`,async()=>d.web3.hostnames.create({...p,zone_id:f})),{successLabel:`Created`})}};function p(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const m={command:`delete <identifier>`,describe:`Delete Web3 Hostname`,builder:p,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}`,pathParams:{identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});if(a.zoneId=s,!await u({force:!!a.force})){process.stderr.write(`Aborted.
2
+ import{h as e}from"./oauth-BPizUUqP.mjs";import{r as t}from"./auth-DuLchM18.mjs";import{t as n}from"./output-DgW1hQGX.mjs";import{n as r,t as i}from"./progress-B84wYh91.mjs";import{n as a,t as o}from"./body-parser-CYD7PKFC.mjs";import{n as s}from"./input-validation-BBKJRoRB.mjs";import{a as c,i as l,n as u}from"./prompt-CDtLWxNv.mjs";function d(e){return e.option(`description`,{type:`string`,description:`Specify an optional description of the hostname.`}).option(`dnslink`,{type:`string`,description:`Specify the DNSLink value used if the target is ipfs.`}).option(`name`,{type:`string`,description:`Specify the hostname that points to the target gateway via CNAME.`}).option(`target`,{type:`string`,description:`Specify the target gateway of the hostname.`,choices:[`ethereum`,`ipfs`,`ipfs_universal_path`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const f={command:`create`,describe:`Create Web3 Hostname`,builder:d,handler:async u=>{if(u.dryRun){r({command:`cf web3 hostnames create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${u.zone??u.zoneId??`<zone>`}/web3/hostnames`,pathParams:{"zone-id":String(u.zone??u[`zone-id`]??``)},bodyKind:`json`,body:u.body===void 0?o({description:s(u.description,`description`,`text`),dnslink:s(u.dnslink,`dnslink`,`text`),name:s(u.name,`name`,`text`),target:s(u.target,`target`,`text`)}):a(u.body)});return}let d=await t(u),f=await e({zone:u.zone},d,{quiet:u.quiet});if(u.zoneId=f,u.body){let e=a(u.body);n(await i(`Creating`,async()=>d.web3.hostnames.create({...e,zone_id:f})),{successLabel:`Created`});return}u.name===void 0&&(u.name=await c(`name`,`Specify the hostname that points to the target gateway via CNAME.`)),u.target===void 0&&(u.target=await l(`target`,`Specify the target gateway of the hostname.`,[`ethereum`,`ipfs`,`ipfs_universal_path`]));let p=o({description:s(u.description,`description`,`text`),dnslink:s(u.dnslink,`dnslink`,`text`),name:s(u.name,`name`,`text`),target:s(u.target,`target`,`text`)});n(await i(`Creating`,async()=>d.web3.hostnames.create({...p,zone_id:f})),{successLabel:`Created`})}};function p(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const m={command:`delete <identifier>`,describe:`Delete Web3 Hostname`,builder:p,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}`,pathParams:{identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});if(a.zoneId=s,!await u({force:!!a.force})){process.stderr.write(`Aborted.
3
3
  `);return}n(await i(`Deleting`,async()=>o.web3.hostnames.delete({zone_id:s,identifier:a.identifier})),{successLabel:`Deleted`})}};function h(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`description`,{type:`string`,description:`Specify an optional description of the hostname.`}).option(`dnslink`,{type:`string`,description:`Specify the DNSLink value used if the target is ipfs.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const g={command:`edit <identifier>`,describe:`Edit Web3 Hostname`,builder:h,handler:async c=>{if(c.dryRun){r({command:`cf web3 hostnames edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/web3/hostnames/${c.identifier==null?`<identifier>`:encodeURIComponent(String(c.identifier))}`,pathParams:{identifier:String(c.identifier??``),"zone-id":String(c.zone??c[`zone-id`]??``)},bodyKind:`json`,body:c.body===void 0?o({description:s(c.description,`description`,`text`),dnslink:s(c.dnslink,`dnslink`,`text`)}):a(c.body)});return}let l=await t(c),u=await e({zone:c.zone},l,{quiet:c.quiet});if(c.zoneId=u,c.body){let e=a(c.body);n(await i(`Updating`,async()=>l.web3.hostnames.edit({...e,zone_id:u,identifier:c.identifier})),{successLabel:`Updated`});return}let d=o({description:s(c.description,`description`,`text`),dnslink:s(c.dnslink,`dnslink`,`text`)});n(await i(`Updating`,async()=>l.web3.hostnames.edit({...d,zone_id:u,identifier:c.identifier})),{successLabel:`Updated`})}};function _(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`get <identifier>`,describe:`Web3 Hostname Details`,builder:_,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}`,pathParams:{identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.web3.hostnames.get({zone_id:s,identifier:a.identifier})),{successLabel:`Loaded`})}};function y(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`content`,{type:`string`,description:`Specify the CID or content path of content to block.`}).option(`description`,{type:`string`,description:`Specify an optional description of the content list entry.`}).option(`type`,{type:`string`,description:`Specify the type of content list entry to block.`,choices:[`cid`,`content_path`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const b={command:`create <identifier>`,describe:`Create IPFS Universal Path Gateway Content List Entry`,builder:y,handler:async u=>{if(u.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists entries create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${u.zone??u.zoneId??`<zone>`}/web3/hostnames/${u.identifier==null?`<identifier>`:encodeURIComponent(String(u.identifier))}/ipfs_universal_path/content_list/entries`,pathParams:{identifier:String(u.identifier??``),"zone-id":String(u.zone??u[`zone-id`]??``)},bodyKind:`json`,body:u.body===void 0?o({content:s(u.content,`content`,`text`),description:s(u.description,`description`,`text`),type:s(u.type,`type`,`text`)}):a(u.body)});return}let d=await t(u),f=await e({zone:u.zone},d,{quiet:u.quiet});if(u.zoneId=f,u.body){let e=a(u.body);n(await i(`Creating`,async()=>d.web3.hostnames.ipfsUniversalPaths.contentLists.entries.create({body:e,zone_id:f,identifier:u.identifier})),{successLabel:`Created`});return}u.content===void 0&&(u.content=await c(`content`,`Specify the CID or content path of content to block.`)),u.type===void 0&&(u.type=await l(`type`,`Specify the type of content list entry to block.`,[`cid`,`content_path`]));let p=o({content:s(u.content,`content`,`text`),description:s(u.description,`description`,`text`),type:s(u.type,`type`,`text`)});n(await i(`Creating`,async()=>d.web3.hostnames.ipfsUniversalPaths.contentLists.entries.create({body:p,zone_id:f,identifier:u.identifier})),{successLabel:`Created`})}};function x(e){return e.positional(`content-list-entry-identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const S={command:`delete <content-list-entry-identifier>`,describe:`Delete IPFS Universal Path Gateway Content List Entry`,builder:x,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists entries delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}/ipfs_universal_path/content_list/entries/${a[`content-list-entry-identifier`]==null?`<content-list-entry-identifier>`:encodeURIComponent(String(a[`content-list-entry-identifier`]))}`,pathParams:{"content-list-entry-identifier":String(a[`content-list-entry-identifier`]??``),identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});if(a.zoneId=s,!await u({force:!!a.force})){process.stderr.write(`Aborted.
4
4
  `);return}n(await i(`Deleting`,async()=>o.web3.hostnames.ipfsUniversalPaths.contentLists.entries.delete({zone_id:s,identifier:a.identifier,content_list_entry_identifier:a[`content-list-entry-identifier`]})),{successLabel:`Deleted`})}};function C(e){return e.positional(`content-list-entry-identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const w={command:`get <content-list-entry-identifier>`,describe:`IPFS Universal Path Gateway Content List Entry Details`,builder:C,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists entries get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}/ipfs_universal_path/content_list/entries/${a[`content-list-entry-identifier`]==null?`<content-list-entry-identifier>`:encodeURIComponent(String(a[`content-list-entry-identifier`]))}`,pathParams:{"content-list-entry-identifier":String(a[`content-list-entry-identifier`]??``),identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.web3.hostnames.ipfsUniversalPaths.contentLists.entries.get({zone_id:s,identifier:a.identifier,content_list_entry_identifier:a[`content-list-entry-identifier`]})),{successLabel:`Loaded`})}};function T(e){return e.option(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const E={command:`list`,describe:`List IPFS Universal Path Gateway Content List Entries`,builder:T,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists entries list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}/ipfs_universal_path/content_list/entries`,pathParams:{identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.web3.hostnames.ipfsUniversalPaths.contentLists.entries.list({zone_id:s,identifier:a.identifier})),{successLabel:`Loaded`})}};function D(e){return e.positional(`content-list-entry-identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`content`,{type:`string`,description:`Specify the CID or content path of content to block.`}).option(`description`,{type:`string`,description:`Specify an optional description of the content list entry.`}).option(`type`,{type:`string`,description:`Specify the type of content list entry to block.`,choices:[`cid`,`content_path`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const O={command:`update <content-list-entry-identifier>`,describe:`Edit IPFS Universal Path Gateway Content List Entry`,builder:D,handler:async u=>{if(u.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists entries update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${u.zone??u.zoneId??`<zone>`}/web3/hostnames/${u.identifier==null?`<identifier>`:encodeURIComponent(String(u.identifier))}/ipfs_universal_path/content_list/entries/${u[`content-list-entry-identifier`]==null?`<content-list-entry-identifier>`:encodeURIComponent(String(u[`content-list-entry-identifier`]))}`,pathParams:{"content-list-entry-identifier":String(u[`content-list-entry-identifier`]??``),identifier:String(u.identifier??``),"zone-id":String(u.zone??u[`zone-id`]??``)},bodyKind:`json`,body:u.body===void 0?o({content:s(u.content,`content`,`text`),description:s(u.description,`description`,`text`),type:s(u.type,`type`,`text`)}):a(u.body)});return}let d=await t(u),f=await e({zone:u.zone},d,{quiet:u.quiet});if(u.zoneId=f,u.body){let e=a(u.body);n(await i(`Updating`,async()=>d.web3.hostnames.ipfsUniversalPaths.contentLists.entries.update({body:e,zone_id:f,identifier:u.identifier,content_list_entry_identifier:u[`content-list-entry-identifier`]})),{successLabel:`Updated`});return}u.content===void 0&&(u.content=await c(`content`,`Specify the CID or content path of content to block.`)),u.type===void 0&&(u.type=await l(`type`,`Specify the type of content list entry to block.`,[`cid`,`content_path`]));let p=o({content:s(u.content,`content`,`text`),description:s(u.description,`description`,`text`),type:s(u.type,`type`,`text`)});n(await i(`Updating`,async()=>d.web3.hostnames.ipfsUniversalPaths.contentLists.entries.update({body:p,zone_id:f,identifier:u.identifier,content_list_entry_identifier:u[`content-list-entry-identifier`]})),{successLabel:`Updated`})}},k={command:`entries`,describe:`Operations for hostnames.ipfs-universal-paths.content-lists.entries`,builder:e=>e.command(b).command(S).command(w).command(E).command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function A(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`get <identifier>`,describe:`IPFS Universal Path Gateway Content List Details`,builder:A,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames/${a.identifier==null?`<identifier>`:encodeURIComponent(String(a.identifier))}/ipfs_universal_path/content_list`,pathParams:{identifier:String(a.identifier??``),"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.web3.hostnames.ipfsUniversalPaths.contentLists.get({zone_id:s,identifier:a.identifier})),{successLabel:`Loaded`})}};function M(e){return e.positional(`identifier`,{type:`string`,description:`Specify the identifier of the hostname.`,demandOption:!0}).option(`action`,{type:`string`,description:`Behavior of the content list.`,choices:[`block`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const N={command:`update <identifier>`,describe:`Update IPFS Universal Path Gateway Content List`,builder:M,handler:async c=>{if(c.dryRun){r({command:`cf web3 hostnames ipfs-universal-paths content-lists update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${c.zone??c.zoneId??`<zone>`}/web3/hostnames/${c.identifier==null?`<identifier>`:encodeURIComponent(String(c.identifier))}/ipfs_universal_path/content_list`,pathParams:{identifier:String(c.identifier??``),"zone-id":String(c.zone??c[`zone-id`]??``)},bodyKind:`json`,body:c.body===void 0?o({action:s(c.action,`action`,`text`)}):a(c.body)});return}let u=await t(c),d=await e({zone:c.zone},u,{quiet:c.quiet});if(c.zoneId=d,c.body){let e=a(c.body);n(await i(`Updating`,async()=>u.web3.hostnames.ipfsUniversalPaths.contentLists.update({...e,zone_id:d,identifier:c.identifier})),{successLabel:`Updated`});return}c.action===void 0&&(c.action=await l(`action`,`Behavior of the content list.`,[`block`]));let f=o({action:s(c.action,`action`,`text`)});n(await i(`Updating`,async()=>u.web3.hostnames.ipfsUniversalPaths.contentLists.update({...f,zone_id:d,identifier:c.identifier})),{successLabel:`Updated`})}},P={command:`content-lists`,describe:`Operations for hostnames.ipfs-universal-paths.content-lists`,builder:e=>e.command(j).command(N).command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},F={command:`ipfs-universal-paths`,describe:`Operations for hostnames.ipfs-universal-paths`,builder:e=>e.command(P).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function I(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const L={command:`list`,describe:`List Web3 Hostnames`,builder:I,handler:async a=>{if(a.dryRun){r({command:`cf web3 hostnames list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/web3/hostnames`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.web3.hostnames.list({zone_id:s})),{successLabel:`Loaded`})}},R={command:`hostnames`,describe:`Operations for hostnames`,builder:e=>e.command(f).command(m).command(g).command(v).command(L).command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},z={command:`web3`,describe:`web3`,builder:e=>e.command(R).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{z as default};
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n,h as r,m as i}from"./oauth-BjHjJtnn.mjs";import{a,r as o}from"./auth-C6MhC9EZ.mjs";import{t as s}from"./output-DgW1hQGX.mjs";import{n as c,t as l}from"./progress-C-oFUtvC.mjs";import{n as u,r as d,t as f}from"./body-parser-CYD7PKFC.mjs";import{n as p,t as m}from"./input-validation-BBKJRoRB.mjs";import{a as h,i as g,n as _}from"./prompt-DM4z101s.mjs";import{t as v}from"./cli-types-BWdZbsFE.mjs";import{n as ee,t as te}from"./raw-fetch-25gXED6c.mjs";function y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get`,describe:`Fetches Worker account settings for an account.`,builder:y,handler:async r=>{if(r.dryRun){c({command:`cf workers account-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`none`});return}let i=await o(r),a=r.local?e:await t();r.accountId=a,s(await l(`Loading`,async()=>i.workers.accountSettings.get({account_id:a})),{successLabel:`Loaded`})}};function x(e){return e.option(`default-usage-model`,{type:`string`,description:`The default_usage_model field`}).option(`green-compute`,{type:`boolean`,description:`The green_compute field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const S={command:`update`,describe:`Creates Worker account settings for an account.`,builder:x,handler:async r=>{if(r.dryRun){c({command:`cf workers account-settings update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`json`,body:r.body===void 0?f({default_usage_model:p(r[`default-usage-model`],`default-usage-model`,`text`),green_compute:r[`green-compute`]}):u(r.body)});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,r.body){let e=u(r.body);s(await l(`Updating`,async()=>i.workers.accountSettings.update({body:e,account_id:a})),{successLabel:`Updated`});return}let d=f({default_usage_model:p(r[`default-usage-model`],`default-usage-model`,`text`),green_compute:r[`green-compute`]});s(await l(`Updating`,async()=>i.workers.accountSettings.update({body:d,account_id:a})),{successLabel:`Updated`})}},C={command:`account-settings`,describe:`Operations for account-settings`,builder:e=>e.command(b).command(S).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function w(e){return e.option(`base64`,{type:`string`,description:"Whether the file contents are base64-encoded. Must be `true`.",choices:[`true`],demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const T={command:`create`,describe:`Upload assets ahead of creating a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:v(w),handler:async r=>{let i={base64:r.base64};if(r.dryRun){c({command:`cf workers assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/assets/upload`,pathParams:{},query:i,bodyKind:`octet-stream`,body:r.body});return}let u=await o(r),d=r.local?e:await t();if(r.accountId=d,r.file){let e=m(r.file),t=new FormData;t.append(`file`,new Blob([e]),r.file.split(/[\\/]/).filter(Boolean).pop()),s(await l(`Creating`,async()=>a(u,`POST`,`/accounts/${d}/workers/assets/upload`,{body:t})),{successLabel:`Created`});return}if(r.body){let e=p(r.body,`body`,`binary`),t=new URLSearchParams(Object.entries(i).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();s(await l(`Creating`,async()=>a(u,`POST`,`/accounts/${d}/workers/assets/upload${t?`?`+t:``}`,{body:e,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Created`});return}s(await l(`Creating`,async()=>u.workers.assets.upload.create({account_id:d,...i})),{successLabel:`Created`})}},E={command:`upload`,describe:`Operations for assets.upload`,builder:e=>e.command(T).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},D={command:`assets`,describe:`Operations for assets`,builder:e=>e.command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(e){return e.option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`,default:!1}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker creation parameters.`})}const k={command:`create`,describe:`Create a new Worker.`,builder:O,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers`,pathParams:{},bodyKind:`json`,body:r.body===void 0?f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags}):u(r.body)});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,r.body){let e=u(r.body);s(await l(`Creating`,async()=>i.workers.beta.workers.create({...e,account_id:a})),{successLabel:`Created`});return}if(r.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(r.name===void 0&&(r.name=await h(`name`,`Name of the Worker.`)),r.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let d=f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags});s(await l(`Creating`,async()=>i.workers.beta.workers.create({...d,account_id:a})),{successLabel:`Created`})}};function A(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const j={command:`delete <worker-id>`,describe:`Delete a Worker and all its associated resources (versions, deployments, etc.).`,builder:A,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers/${r[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(r[`worker-id`]))}`,pathParams:{"worker-id":String(r[`worker-id`]??``)},bodyKind:`none`});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,!await _({force:!!r.force})){process.stderr.write(`Aborted.
2
+ import{t as e}from"./local-DTyuGwTw.mjs";import{f as t,g as n,h as r,m as i}from"./oauth-BPizUUqP.mjs";import{a,r as o}from"./auth-DuLchM18.mjs";import{t as s}from"./output-DgW1hQGX.mjs";import{n as c,t as l}from"./progress-B84wYh91.mjs";import{n as u,r as d,t as f}from"./body-parser-CYD7PKFC.mjs";import{n as p,t as m}from"./input-validation-BBKJRoRB.mjs";import{a as h,i as g,n as _}from"./prompt-CDtLWxNv.mjs";import{t as v}from"./cli-types-BWdZbsFE.mjs";import{n as ee,t as te}from"./raw-fetch-Dz-QBoP_.mjs";function y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get`,describe:`Fetches Worker account settings for an account.`,builder:y,handler:async r=>{if(r.dryRun){c({command:`cf workers account-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`none`});return}let i=await o(r),a=r.local?e:await t();r.accountId=a,s(await l(`Loading`,async()=>i.workers.accountSettings.get({account_id:a})),{successLabel:`Loaded`})}};function x(e){return e.option(`default-usage-model`,{type:`string`,description:`The default_usage_model field`}).option(`green-compute`,{type:`boolean`,description:`The green_compute field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const S={command:`update`,describe:`Creates Worker account settings for an account.`,builder:x,handler:async r=>{if(r.dryRun){c({command:`cf workers account-settings update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`json`,body:r.body===void 0?f({default_usage_model:p(r[`default-usage-model`],`default-usage-model`,`text`),green_compute:r[`green-compute`]}):u(r.body)});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,r.body){let e=u(r.body);s(await l(`Updating`,async()=>i.workers.accountSettings.update({body:e,account_id:a})),{successLabel:`Updated`});return}let d=f({default_usage_model:p(r[`default-usage-model`],`default-usage-model`,`text`),green_compute:r[`green-compute`]});s(await l(`Updating`,async()=>i.workers.accountSettings.update({body:d,account_id:a})),{successLabel:`Updated`})}},C={command:`account-settings`,describe:`Operations for account-settings`,builder:e=>e.command(b).command(S).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function w(e){return e.option(`base64`,{type:`string`,description:"Whether the file contents are base64-encoded. Must be `true`.",choices:[`true`],demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const T={command:`create`,describe:`Upload assets ahead of creating a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:v(w),handler:async r=>{let i={base64:r.base64};if(r.dryRun){c({command:`cf workers assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/assets/upload`,pathParams:{},query:i,bodyKind:`octet-stream`,body:r.body});return}let u=await o(r),d=r.local?e:await t();if(r.accountId=d,r.file){let e=m(r.file),t=new FormData;t.append(`file`,new Blob([e]),r.file.split(/[\\/]/).filter(Boolean).pop()),s(await l(`Creating`,async()=>a(u,`POST`,`/accounts/${d}/workers/assets/upload`,{body:t})),{successLabel:`Created`});return}if(r.body){let e=p(r.body,`body`,`binary`),t=new URLSearchParams(Object.entries(i).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();s(await l(`Creating`,async()=>a(u,`POST`,`/accounts/${d}/workers/assets/upload${t?`?`+t:``}`,{body:e,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Created`});return}s(await l(`Creating`,async()=>u.workers.assets.upload.create({account_id:d,...i})),{successLabel:`Created`})}},E={command:`upload`,describe:`Operations for assets.upload`,builder:e=>e.command(T).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},D={command:`assets`,describe:`Operations for assets`,builder:e=>e.command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(e){return e.option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`,default:!1}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker creation parameters.`})}const k={command:`create`,describe:`Create a new Worker.`,builder:O,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers`,pathParams:{},bodyKind:`json`,body:r.body===void 0?f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags}):u(r.body)});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,r.body){let e=u(r.body);s(await l(`Creating`,async()=>i.workers.beta.workers.create({...e,account_id:a})),{successLabel:`Created`});return}if(r.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(r.name===void 0&&(r.name=await h(`name`,`Name of the Worker.`)),r.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let d=f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags});s(await l(`Creating`,async()=>i.workers.beta.workers.create({...d,account_id:a})),{successLabel:`Created`})}};function A(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const j={command:`delete <worker-id>`,describe:`Delete a Worker and all its associated resources (versions, deployments, etc.).`,builder:A,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers/${r[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(r[`worker-id`]))}`,pathParams:{"worker-id":String(r[`worker-id`]??``)},bodyKind:`none`});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,!await _({force:!!r.force})){process.stderr.write(`Aborted.
3
3
  `);return}s(await l(`Deleting`,async()=>i.workers.beta.workers.delete({account_id:a,worker_id:r[`worker-id`]})),{successLabel:`Deleted`})}};function M(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker partial update parameters.`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const N={command:`edit <worker-id>`,describe:`Perform a partial update on a Worker, where omitted properties are left unchanged from their current values.`,builder:M,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers/${r[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(r[`worker-id`]))}`,pathParams:{"worker-id":String(r[`worker-id`]??``)},bodyKind:`json`,body:r.body===void 0?f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags}):u(r.body)});return}let i=await o(r),g=r.local?e:await t();if(r.accountId=g,r.file){let e=m(r.file);s(await l(`Updating`,async()=>a(i,`PATCH`,`/accounts/${g}/workers/workers/${encodeURIComponent(String(r[`worker-id`]))}`,{body:e,headers:{"Content-Type":`application/merge-patch+json`}})),{successLabel:`Updated`});return}if(r.body){let e=u(r.body);s(await l(`Updating`,async()=>a(i,`PATCH`,`/accounts/${g}/workers/workers/${encodeURIComponent(String(r[`worker-id`]))}`,{body:e})),{successLabel:`Updated`});return}if(r.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(r.name===void 0&&(r.name=await h(`name`,`Name of the Worker.`)),r.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let _={};r.logpush!==void 0&&d(_,[`logpush`],r.logpush),r.name!==void 0&&d(_,[`name`],p(r.name,`name`,`text`)),r[`observability-enabled`]!==void 0&&d(_,[`observability`,`enabled`],r[`observability-enabled`]),r[`observability-head-sampling-rate`]!==void 0&&d(_,[`observability`,`head_sampling_rate`],r[`observability-head-sampling-rate`]),r[`observability-logs-destinations`]!==void 0&&d(_,[`observability`,`logs`,`destinations`],r[`observability-logs-destinations`]),r[`observability-logs-enabled`]!==void 0&&d(_,[`observability`,`logs`,`enabled`],r[`observability-logs-enabled`]),r[`observability-logs-head-sampling-rate`]!==void 0&&d(_,[`observability`,`logs`,`head_sampling_rate`],r[`observability-logs-head-sampling-rate`]),r[`observability-logs-invocation-logs`]!==void 0&&d(_,[`observability`,`logs`,`invocation_logs`],r[`observability-logs-invocation-logs`]),r[`observability-logs-persist`]!==void 0&&d(_,[`observability`,`logs`,`persist`],r[`observability-logs-persist`]),r[`observability-redact-query-string`]!==void 0&&d(_,[`observability`,`redact_query_string`],r[`observability-redact-query-string`]),r[`observability-traces-destinations`]!==void 0&&d(_,[`observability`,`traces`,`destinations`],r[`observability-traces-destinations`]),r[`observability-traces-enabled`]!==void 0&&d(_,[`observability`,`traces`,`enabled`],r[`observability-traces-enabled`]),r[`observability-traces-head-sampling-rate`]!==void 0&&d(_,[`observability`,`traces`,`head_sampling_rate`],r[`observability-traces-head-sampling-rate`]),r[`observability-traces-persist`]!==void 0&&d(_,[`observability`,`traces`,`persist`],r[`observability-traces-persist`]),r[`observability-traces-propagation-policy`]!==void 0&&d(_,[`observability`,`traces`,`propagation_policy`],p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)),r[`subdomain-enabled`]!==void 0&&d(_,[`subdomain`,`enabled`],r[`subdomain-enabled`]),r[`subdomain-previews-enabled`]!==void 0&&d(_,[`subdomain`,`previews_enabled`],r[`subdomain-previews-enabled`]),r.tags!==void 0&&d(_,[`tags`],r.tags),s(await l(`Updating`,async()=>a(i,`PATCH`,`/accounts/${g}/workers/workers/${encodeURIComponent(String(r[`worker-id`]))}`,{body:Object.keys(_).length>0?_:void 0})),{successLabel:`Updated`})}};function P(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const F={command:`get <worker-id>`,describe:`Get details about a specific Worker.`,builder:P,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers/${r[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(r[`worker-id`]))}`,pathParams:{"worker-id":String(r[`worker-id`]??``)},bodyKind:`none`});return}let i=await o(r),a=r.local?e:await t();r.accountId=a,s(await l(`Loading`,async()=>i.workers.beta.workers.get({account_id:a,worker_id:r[`worker-id`]})),{successLabel:`Loaded`})}};function I(e){return e.option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`order-by`,{type:`string`,description:`Property to sort results by.`,choices:[`deployed_on`,`updated_on`,`created_on`,`name`]}).option(`order`,{type:`string`,description:`Sort direction.`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const L={command:`list`,describe:`List all Workers for an account.`,builder:v(I),handler:async r=>{let i={page:r.page,per_page:r[`per-page`],order_by:r[`order-by`],order:r.order};if(r.dryRun){c({command:`cf workers beta workers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers`,pathParams:{},query:i,bodyKind:`none`});return}let a=await o(r),u=r.local?e:await t();r.accountId=u,s(await l(`Loading`,async()=>a.workers.beta.workers.list({account_id:u,...i})),{successLabel:`Loaded`})}};function R(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker update parameters.`})}const z={command:`update <worker-id>`,describe:`Perform a complete replacement of a Worker, where omitted properties are set to their default values. This is the exact same as the Create Worker endpoint, but operates on an existing Worker. To perform a partial update instead, use the Edit Worker endpoint.`,builder:R,handler:async r=>{if(r.dryRun){c({command:`cf workers beta workers update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workers/workers/${r[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(r[`worker-id`]))}`,pathParams:{"worker-id":String(r[`worker-id`]??``)},bodyKind:`json`,body:r.body===void 0?f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags}):u(r.body)});return}let i=await o(r),a=r.local?e:await t();if(r.accountId=a,r.body){let e=u(r.body);s(await l(`Updating`,async()=>i.workers.beta.workers.update({...e,account_id:a,worker_id:r[`worker-id`]})),{successLabel:`Updated`});return}if(r.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(r.name===void 0&&(r.name=await h(`name`,`Name of the Worker.`)),r.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let d=f({logpush:r.logpush,name:p(r.name,`name`,`text`),observability:{enabled:r[`observability-enabled`],head_sampling_rate:r[`observability-head-sampling-rate`],logs:{destinations:r[`observability-logs-destinations`],enabled:r[`observability-logs-enabled`],head_sampling_rate:r[`observability-logs-head-sampling-rate`],invocation_logs:r[`observability-logs-invocation-logs`],persist:r[`observability-logs-persist`]},redact_query_string:r[`observability-redact-query-string`],traces:{destinations:r[`observability-traces-destinations`],enabled:r[`observability-traces-enabled`],head_sampling_rate:r[`observability-traces-head-sampling-rate`],persist:r[`observability-traces-persist`],propagation_policy:p(r[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:r[`subdomain-enabled`],previews_enabled:r[`subdomain-previews-enabled`]},tags:r.tags});s(await l(`Updating`,async()=>i.workers.beta.workers.update({...d,account_id:a,worker_id:r[`worker-id`]})),{successLabel:`Updated`})}};function B(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`deploy`,{type:`boolean`,description:`If true, a deployment will be created that sends 100% of traffic to the new version.`}).option(`assets-config-html-handling`,{type:`string`,description:`Determines the redirects and rewrites of requests for HTML content.`,choices:[`auto-trailing-slash`,`force-trailing-slash`,`drop-trailing-slash`,`none`],default:`auto-trailing-slash`}).option(`assets-config-not-found-handling`,{type:`string`,description:`Determines the response when a request does not match a static asset, and there is no Worker script.`,choices:[`none`,`404-page`,`single-page-application`],default:`none`}).option(`assets-jwt`,{type:`string`,description:`Token provided upon successful upload of all files from a registered manifest.`}).option(`cache-options-cross-version-cache`,{type:`boolean`,description:`Whether cached responses are shared across Worker version
4
4
  uploads. This is independent of \`enabled\`. It can stay true
5
5
  while caching is off, so the preference survives turning
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n}from"./oauth-BjHjJtnn.mjs";import{r}from"./auth-C6MhC9EZ.mjs";import{t as i}from"./output-DgW1hQGX.mjs";import{n as a,t as o}from"./progress-C-oFUtvC.mjs";import{n as s,t as c}from"./body-parser-CYD7PKFC.mjs";import{n as l}from"./input-validation-BBKJRoRB.mjs";import{a as u,i as d,n as f}from"./prompt-DM4z101s.mjs";function p(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const m={command:`cancel <build-uuid>`,describe:`Cancel a running or queued build`,builder:p,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds cancel`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/cancel`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Updating`,async()=>c.workersBuilds.builds.cancel({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Updated`})}};function h(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ee={command:`get <build-uuid>`,describe:`Retrieve detailed information about a specific build`,builder:h,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.builds.get({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Loaded`})}};function g(e){return e.option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`list`,describe:`Get all builds for a specific worker script with pagination`,builder:g,handler:async s=>{let c={page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf workers-builds builds list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`external-script-id`]==null?`<external-script-id>`:encodeURIComponent(String(s[`external-script-id`]))}/builds`,pathParams:{"external-script-id":String(s[`external-script-id`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.list({account_id:u,external_script_id:s[`external-script-id`],...c})),{successLabel:`Loaded`})}};function v(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`cursor`,{type:`string`,description:`Pagination cursor for log retrieval.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <build-uuid>`,describe:`Retrieve logs for a specific build with cursor-based pagination`,builder:v,handler:async s=>{let c={cursor:s.cursor};if(s.dryRun){a({command:`cf workers-builds builds logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/logs`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.logs.get({account_id:u,build_uuid:s[`build-uuid`],...c})),{successLabel:`Loaded`})}},b={command:`logs`,describe:`Operations for builds.logs`,builder:e=>e.command(y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},x={command:`builds`,describe:`Build job operations`,builder:e=>e.command(m).command(ee).command(_).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.positional(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`}).option(`deploy-hook-name`,{type:`string`,description:`Deploy hook name (1-58 characters).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const C={command:`create <script-name>`,describe:`Create a new deploy hook for a worker script.`,builder:S,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds deploy-hooks create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${d[`script-name`]==null?`<script-name>`:encodeURIComponent(String(d[`script-name`]))}/deploy_hooks`,pathParams:{"script-name":String(d[`script-name`]??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:e,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`});return}d.branch===void 0&&(d.branch=await u(`branch`,`Git branch name.`)),d[`deploy-hook-name`]===void 0&&(d[`deploy-hook-name`]=await u(`deploy-hook-name`,`Deploy hook name (1-58 characters).`));let m=c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:m,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`})}};function w(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const T={command:`delete <deploy-hook-uuid>`,describe:`Delete a deploy hook.`,builder:w,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks/${s[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(s[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(s[`script-name`]??``),"deploy-hook-uuid":String(s[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
2
+ import{t as e}from"./local-DTyuGwTw.mjs";import{f as t,g as n}from"./oauth-BPizUUqP.mjs";import{r}from"./auth-DuLchM18.mjs";import{t as i}from"./output-DgW1hQGX.mjs";import{n as a,t as o}from"./progress-B84wYh91.mjs";import{n as s,t as c}from"./body-parser-CYD7PKFC.mjs";import{n as l}from"./input-validation-BBKJRoRB.mjs";import{a as u,i as d,n as f}from"./prompt-CDtLWxNv.mjs";function p(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const m={command:`cancel <build-uuid>`,describe:`Cancel a running or queued build`,builder:p,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds cancel`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/cancel`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Updating`,async()=>c.workersBuilds.builds.cancel({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Updated`})}};function h(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ee={command:`get <build-uuid>`,describe:`Retrieve detailed information about a specific build`,builder:h,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.builds.get({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Loaded`})}};function g(e){return e.option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`list`,describe:`Get all builds for a specific worker script with pagination`,builder:g,handler:async s=>{let c={page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf workers-builds builds list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`external-script-id`]==null?`<external-script-id>`:encodeURIComponent(String(s[`external-script-id`]))}/builds`,pathParams:{"external-script-id":String(s[`external-script-id`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.list({account_id:u,external_script_id:s[`external-script-id`],...c})),{successLabel:`Loaded`})}};function v(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`cursor`,{type:`string`,description:`Pagination cursor for log retrieval.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <build-uuid>`,describe:`Retrieve logs for a specific build with cursor-based pagination`,builder:v,handler:async s=>{let c={cursor:s.cursor};if(s.dryRun){a({command:`cf workers-builds builds logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/logs`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.logs.get({account_id:u,build_uuid:s[`build-uuid`],...c})),{successLabel:`Loaded`})}},b={command:`logs`,describe:`Operations for builds.logs`,builder:e=>e.command(y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},x={command:`builds`,describe:`Build job operations`,builder:e=>e.command(m).command(ee).command(_).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.positional(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`}).option(`deploy-hook-name`,{type:`string`,description:`Deploy hook name (1-58 characters).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const C={command:`create <script-name>`,describe:`Create a new deploy hook for a worker script.`,builder:S,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds deploy-hooks create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${d[`script-name`]==null?`<script-name>`:encodeURIComponent(String(d[`script-name`]))}/deploy_hooks`,pathParams:{"script-name":String(d[`script-name`]??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:e,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`});return}d.branch===void 0&&(d.branch=await u(`branch`,`Git branch name.`)),d[`deploy-hook-name`]===void 0&&(d[`deploy-hook-name`]=await u(`deploy-hook-name`,`Deploy hook name (1-58 characters).`));let m=c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:m,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`})}};function w(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const T={command:`delete <deploy-hook-uuid>`,describe:`Delete a deploy hook.`,builder:w,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks/${s[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(s[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(s[`script-name`]??``),"deploy-hook-uuid":String(s[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
3
3
  `);return}i(await o(`Deleting`,async()=>c.workersBuilds.deployHooks.delete({account_id:l,script_name:s[`script-name`],deploy_hook_uuid:s[`deploy-hook-uuid`]})),{successLabel:`Deleted`})}};function E(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const D={command:`get <deploy-hook-uuid>`,describe:`Get details of a specific deploy hook.`,builder:E,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks/${s[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(s[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(s[`script-name`]??``),"deploy-hook-uuid":String(s[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.deployHooks.get({account_id:l,script_name:s[`script-name`],deploy_hook_uuid:s[`deploy-hook-uuid`]})),{successLabel:`Loaded`})}};function O(e){return e.option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const k={command:`list`,describe:`Get all deploy hooks for a specific worker script.`,builder:O,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks`,pathParams:{"script-name":String(s[`script-name`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.deployHooks.list({account_id:l,script_name:s[`script-name`]})),{successLabel:`Loaded`})}};function A(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`trigger <deploy-hook-uuid>`,describe:`Trigger a build using a deploy hook. This endpoint does not require authentication - the deploy_hook_uuid acts as a secret token.`,builder:A,handler:async e=>{if(e.dryRun){a({command:`cf workers-builds deploy-hooks trigger`,method:`POST`,url:`https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/${e[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(e[`deploy-hook-uuid`]))}`,pathParams:{"deploy-hook-uuid":String(e[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let t=await r(e);i(await o(`Creating`,async()=>t.workersBuilds.deployHooks.trigger({deploy_hook_uuid:e[`deploy-hook-uuid`]})),{successLabel:`Created`})}};function M(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`}).option(`deploy-hook-name`,{type:`string`,description:`Deploy hook name (1-58 characters).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const N={command:`update <deploy-hook-uuid>`,describe:`Update an existing deploy hook.`,builder:M,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds deploy-hooks update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${d[`script-name`]==null?`<script-name>`:encodeURIComponent(String(d[`script-name`]))}/deploy_hooks/${d[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(d[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(d[`script-name`]??``),"deploy-hook-uuid":String(d[`deploy-hook-uuid`]??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Updating`,async()=>f.workersBuilds.deployHooks.update({body:e,account_id:p,script_name:d[`script-name`],deploy_hook_uuid:d[`deploy-hook-uuid`]})),{successLabel:`Updated`});return}d.branch===void 0&&(d.branch=await u(`branch`,`Git branch name.`)),d[`deploy-hook-name`]===void 0&&(d[`deploy-hook-name`]=await u(`deploy-hook-name`,`Deploy hook name (1-58 characters).`));let m=c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)});i(await o(`Updating`,async()=>f.workersBuilds.deployHooks.update({body:m,account_id:p,script_name:d[`script-name`],deploy_hook_uuid:d[`deploy-hook-uuid`]})),{successLabel:`Updated`})}},P={command:`deploy-hooks`,describe:`Deploy hooks operations`,builder:e=>e.command(C).command(T).command(D).command(k).command(j).command(N).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function F(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const I={command:`get-account-limits`,describe:`Retrieve account limits and usage information`,builder:F,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds get-account-limits`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/account/limits`,pathParams:{},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.getAccountLimits({account_id:l})),{successLabel:`Loaded`})}};function L(e){return e.option(`version-ids`,{type:`string`,description:`Comma-separated list of version UUIDs (max 20).`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const R={command:`get-builds-by-version`,describe:`Retrieve builds for specific version IDs`,builder:L,handler:async s=>{let c={version_ids:s[`version-ids`]};if(s.dryRun){a({command:`cf workers-builds get-builds-by-version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.getBuildsByVersion({account_id:u,...c})),{successLabel:`Loaded`})}};function z(e){return e.option(`external-script-ids`,{type:`string`,description:`Comma-separated list of system-generated worker script tags (max 20).`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const B={command:`get-latest-builds`,describe:`Retrieve the most recent builds for multiple worker scripts`,builder:z,handler:async s=>{let c={external_script_ids:s[`external-script-ids`]};if(s.dryRun){a({command:`cf workers-builds get-latest-builds`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/latest`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.getLatestBuilds({account_id:u,...c})),{successLabel:`Loaded`})}};function V(e){return e.positional(`repo-id`,{type:`string`,description:`Repository identifier.`,demandOption:!0}).option(`provider-type`,{type:`string`,description:`SCM provider type`,demandOption:!0}).option(`provider-account-id`,{type:`string`,description:`Provider account identifier.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`,demandOption:!0}).option(`root-directory`,{type:`string`,description:`Root directory path.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const H={command:`get <repo-id>`,describe:`Analyze repository for automatic configuration detection`,builder:V,handler:async s=>{let c={branch:s.branch,root_directory:s[`root-directory`]};if(s.dryRun){a({command:`cf workers-builds repos config-autofill get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/${s[`provider-type`]==null?`<provider-type>`:encodeURIComponent(String(s[`provider-type`]))}/${s[`provider-account-id`]==null?`<provider-account-id>`:encodeURIComponent(String(s[`provider-account-id`]))}/${s[`repo-id`]==null?`<repo-id>`:encodeURIComponent(String(s[`repo-id`]))}/config_autofill`,pathParams:{"provider-type":String(s[`provider-type`]??``),"provider-account-id":String(s[`provider-account-id`]??``),"repo-id":String(s[`repo-id`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.repos.configAutofill.get({account_id:u,provider_type:s[`provider-type`],provider_account_id:s[`provider-account-id`],repo_id:s[`repo-id`],...c})),{successLabel:`Loaded`})}},U={command:`config-autofill`,describe:`Operations for repos.config-autofill`,builder:e=>e.command(H).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function W(e){return e.positional(`repo-connection-uuid`,{type:`string`,description:`Repository connection UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const G={command:`delete <repo-connection-uuid>`,describe:`Remove a repository connection`,builder:W,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds repos connections delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/connections/${s[`repo-connection-uuid`]==null?`<repo-connection-uuid>`:encodeURIComponent(String(s[`repo-connection-uuid`]))}`,pathParams:{"repo-connection-uuid":String(s[`repo-connection-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
4
4
  `);return}i(await o(`Deleting`,async()=>c.workersBuilds.repos.connections.delete({account_id:l,repo_connection_uuid:s[`repo-connection-uuid`]})),{successLabel:`Deleted`})}};function K(e){return e.option(`provider-account-id`,{type:`string`,description:`Provider account identifier.`}).option(`provider-account-name`,{type:`string`,description:`The provider_account_name field`}).option(`provider-type`,{type:`string`,description:`The provider_type field`,choices:[`github`,`gitlab`,`gitlab_internal`]}).option(`repo-id`,{type:`string`,description:`Repository identifier.`}).option(`repo-name`,{type:`string`,description:`The repo_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const q={command:`upsert`,describe:`Upsert a repository connection for CI/CD integration`,builder:K,handler:async f=>{if(f.dryRun){a({command:`cf workers-builds repos connections upsert`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/connections`,pathParams:{},bodyKind:`json`,body:f.body===void 0?c({provider_account_id:l(f[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:l(f[`provider-account-name`],`provider-account-name`,`text`),provider_type:l(f[`provider-type`],`provider-type`,`text`),repo_id:l(f[`repo-id`],`repo-id`,`text`),repo_name:l(f[`repo-name`],`repo-name`,`text`)}):s(f.body)});return}let p=await r(f),m=f.local?e:await t();if(f.accountId=m,f.body){let e=s(f.body);i(await o(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...e,account_id:m})),{successLabel:`Updated`});return}f[`provider-account-id`]===void 0&&(f[`provider-account-id`]=await u(`provider-account-id`,`Provider account identifier.`)),f[`provider-account-name`]===void 0&&(f[`provider-account-name`]=await u(`provider-account-name`,`The provider_account_name field`)),f[`provider-type`]===void 0&&(f[`provider-type`]=await d(`provider-type`,`The provider_type field`,[`github`,`gitlab`,`gitlab_internal`])),f[`repo-id`]===void 0&&(f[`repo-id`]=await u(`repo-id`,`Repository identifier.`)),f[`repo-name`]===void 0&&(f[`repo-name`]=await u(`repo-name`,`The repo_name field`));let h=c({provider_account_id:l(f[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:l(f[`provider-account-name`],`provider-account-name`,`text`),provider_type:l(f[`provider-type`],`provider-type`,`text`),repo_id:l(f[`repo-id`],`repo-id`,`text`),repo_name:l(f[`repo-name`],`repo-name`,`text`)});i(await o(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...h,account_id:m})),{successLabel:`Updated`})}},J={command:`connections`,describe:`Operations for repos.connections`,builder:e=>e.command(G).command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Y={command:`repos`,describe:`Repos operations`,builder:e=>e.command(U).command(J).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function X(e){return e.option(`build-token-name`,{type:`string`,description:`The build_token_name field`}).option(`build-token-secret`,{type:`string`,description:`The build_token_secret field`}).option(`cloudflare-token-id`,{type:`string`,description:`The cloudflare_token_id field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Z={command:`create`,describe:`Create a new build authentication token`,builder:X,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds tokens create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens`,pathParams:{},bodyKind:`json`,body:d.body===void 0?c({build_token_name:l(d[`build-token-name`],`build-token-name`,`text`),build_token_secret:l(d[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:l(d[`cloudflare-token-id`],`cloudflare-token-id`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.tokens.create({...e,account_id:p})),{successLabel:`Created`});return}d[`build-token-name`]===void 0&&(d[`build-token-name`]=await u(`build-token-name`,`The build_token_name field`)),d[`build-token-secret`]===void 0&&(d[`build-token-secret`]=await u(`build-token-secret`,`The build_token_secret field`)),d[`cloudflare-token-id`]===void 0&&(d[`cloudflare-token-id`]=await u(`cloudflare-token-id`,`The cloudflare_token_id field`));let m=c({build_token_name:l(d[`build-token-name`],`build-token-name`,`text`),build_token_secret:l(d[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:l(d[`cloudflare-token-id`],`cloudflare-token-id`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.tokens.create({...m,account_id:p})),{successLabel:`Created`})}};function te(e){return e.positional(`build-token-uuid`,{type:`string`,description:`Build token UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const Q={command:`delete <build-token-uuid>`,describe:`Remove a build authentication token`,builder:te,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds tokens delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens/${s[`build-token-uuid`]==null?`<build-token-uuid>`:encodeURIComponent(String(s[`build-token-uuid`]))}`,pathParams:{"build-token-uuid":String(s[`build-token-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
5
5
  `);return}i(await o(`Deleting`,async()=>c.workersBuilds.tokens.delete({account_id:l,build_token_uuid:s[`build-token-uuid`]})),{successLabel:`Deleted`})}};function ne(e){return e.option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const re={command:`list`,describe:`Get all build tokens with pagination`,builder:ne,handler:async s=>{let c={page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf workers-builds tokens list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.tokens.list({account_id:u,...c})),{successLabel:`Loaded`})}},ie={command:`tokens`,describe:`Tokens operations`,builder:e=>e.command(Z).command(Q).command(re).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ae(e){return e.positional(`trigger-uuid`,{type:`string`,description:`Trigger UUID.`,demandOption:!0}).option(`seed-repo-branch`,{type:`string`,description:`Git branch name.`}).option(`seed-repo-owner`,{type:`string`,description:`The seed_repo.owner field`}).option(`seed-repo-path`,{type:`string`,description:`The seed_repo.path field`}).option(`seed-repo-provider`,{type:`string`,description:`The seed_repo.provider field`,choices:[`github`,`gitlab`,`gitlab_internal`]}).option(`seed-repo-repository`,{type:`string`,description:`The seed_repo.repository field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).check(e=>{if([`seed-repo-branch`,`seed-repo-owner`,`seed-repo-path`,`seed-repo-provider`,`seed-repo-repository`].some(t=>e[t]!==void 0)){let t=[`seed-repo-branch`,`seed-repo-owner`,`seed-repo-path`,`seed-repo-provider`,`seed-repo-repository`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --seed_repo-* flag is set`)}return!0})}const oe={command:`create-build <trigger-uuid>`,describe:`Trigger a manual build for a specific trigger`,builder:ae,handler:async u=>{if(u.dryRun){a({command:`cf workers-builds triggers create-build`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers/${u[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(u[`trigger-uuid`]))}/builds`,pathParams:{"trigger-uuid":String(u[`trigger-uuid`]??``)},bodyKind:`json`,body:u.body===void 0?c({seed_repo:{branch:l(u[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:l(u[`seed-repo-owner`],`seed-repo-owner`,`text`),path:l(u[`seed-repo-path`],`seed-repo-path`,`text`),provider:l(u[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:l(u[`seed-repo-repository`],`seed-repo-repository`,`text`)}}):s(u.body)});return}let d=await r(u),f=u.local?e:await t();if(u.accountId=f,u.body){let e=s(u.body);i(await o(`Creating`,async()=>d.workersBuilds.triggers.createBuild({...e,account_id:f,trigger_uuid:u[`trigger-uuid`]})),{successLabel:`Created`});return}let p=c({seed_repo:{branch:l(u[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:l(u[`seed-repo-owner`],`seed-repo-owner`,`text`),path:l(u[`seed-repo-path`],`seed-repo-path`,`text`),provider:l(u[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:l(u[`seed-repo-repository`],`seed-repo-repository`,`text`)}});i(await o(`Creating`,async()=>d.workersBuilds.triggers.createBuild({...p,account_id:f,trigger_uuid:u[`trigger-uuid`]})),{successLabel:`Created`})}};function se(e){return e.option(`branch-excludes`,{type:`string`,array:!0,description:`The branch_excludes field`}).option(`branch-includes`,{type:`string`,array:!0,description:`The branch_includes field`}).option(`build-caching-enabled`,{type:`boolean`,description:`The build_caching_enabled field`,default:!1}).option(`build-command`,{type:`string`,description:`The build_command field`}).option(`build-token-uuid`,{type:`string`,description:`Build token UUID.`}).option(`deploy-command`,{type:`string`,description:`The deploy_command field`}).option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`}).option(`path-excludes`,{type:`string`,array:!0,description:`The path_excludes field`}).option(`path-includes`,{type:`string`,array:!0,description:`The path_includes field`}).option(`repo-connection-uuid`,{type:`string`,description:`Repository connection UUID.`}).option(`root-directory`,{type:`string`,description:`Root directory path.`}).option(`trigger-name`,{type:`string`,description:`The trigger_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ce={command:`create`,describe:`Create a new CI/CD trigger`,builder:se,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds triggers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers`,pathParams:{},bodyKind:`json`,body:d.body===void 0?c({branch_excludes:d[`branch-excludes`],branch_includes:d[`branch-includes`],build_caching_enabled:d[`build-caching-enabled`],build_command:l(d[`build-command`],`build-command`,`text`),build_token_uuid:l(d[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:l(d[`deploy-command`],`deploy-command`,`text`),external_script_id:l(d[`external-script-id`],`external-script-id`,`text`),path_excludes:d[`path-excludes`],path_includes:d[`path-includes`],repo_connection_uuid:l(d[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:l(d[`root-directory`],`root-directory`,`text`),trigger_name:l(d[`trigger-name`],`trigger-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.triggers.create({...e,account_id:p})),{successLabel:`Created`});return}if(d[`branch-excludes`]===void 0)throw Error(`--branch-excludes is required (or pass --body with this field set).`);if(d[`branch-includes`]===void 0)throw Error(`--branch-includes is required (or pass --body with this field set).`);if(d[`build-command`]===void 0&&(d[`build-command`]=await u(`build-command`,`The build_command field`)),d[`build-token-uuid`]===void 0&&(d[`build-token-uuid`]=await u(`build-token-uuid`,`Build token UUID.`)),d[`deploy-command`]===void 0&&(d[`deploy-command`]=await u(`deploy-command`,`The deploy_command field`)),d[`external-script-id`]===void 0&&(d[`external-script-id`]=await u(`external-script-id`,`System-generated worker script tag.`)),d[`path-excludes`]===void 0)throw Error(`--path-excludes is required (or pass --body with this field set).`);if(d[`path-includes`]===void 0)throw Error(`--path-includes is required (or pass --body with this field set).`);d[`repo-connection-uuid`]===void 0&&(d[`repo-connection-uuid`]=await u(`repo-connection-uuid`,`Repository connection UUID.`)),d[`root-directory`]===void 0&&(d[`root-directory`]=await u(`root-directory`,`Root directory path.`)),d[`trigger-name`]===void 0&&(d[`trigger-name`]=await u(`trigger-name`,`The trigger_name field`));let m=c({branch_excludes:d[`branch-excludes`],branch_includes:d[`branch-includes`],build_caching_enabled:d[`build-caching-enabled`],build_command:l(d[`build-command`],`build-command`,`text`),build_token_uuid:l(d[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:l(d[`deploy-command`],`deploy-command`,`text`),external_script_id:l(d[`external-script-id`],`external-script-id`,`text`),path_excludes:d[`path-excludes`],path_includes:d[`path-includes`],repo_connection_uuid:l(d[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:l(d[`root-directory`],`root-directory`,`text`),trigger_name:l(d[`trigger-name`],`trigger-name`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.triggers.create({...m,account_id:p})),{successLabel:`Created`})}};function le(e){return e.positional(`trigger-uuid`,{type:`string`,description:`Trigger UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const ue={command:`delete <trigger-uuid>`,describe:`Remove a CI/CD trigger`,builder:le,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds triggers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers/${s[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(s[`trigger-uuid`]))}`,pathParams:{"trigger-uuid":String(s[`trigger-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n}from"./oauth-BjHjJtnn.mjs";import{a as r,r as i}from"./auth-C6MhC9EZ.mjs";import{t as a}from"./output-DgW1hQGX.mjs";import{n as o,t as s}from"./progress-C-oFUtvC.mjs";import{n as c,t as l}from"./body-parser-CYD7PKFC.mjs";import{n as u}from"./input-validation-BBKJRoRB.mjs";import{i as d,n as f}from"./prompt-DM4z101s.mjs";import{t as p}from"./cli-types-BWdZbsFE.mjs";import{n as m,t as h}from"./raw-fetch-25gXED6c.mjs";function g(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const _={command:`delete <workflow-name>`,describe:`Deletes a Workflow. This only deletes the Workflow and does not delete or modify any Worker associated to this Workflow or bounded to it.`,builder:g,handler:async r=>{if(r.dryRun){o({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force,message:`This operation permanently deletes the Workflow.`})){process.stderr.write(`Aborted.
2
+ import{t as e}from"./local-DTyuGwTw.mjs";import{f as t,g as n}from"./oauth-BPizUUqP.mjs";import{a as r,r as i}from"./auth-DuLchM18.mjs";import{t as a}from"./output-DgW1hQGX.mjs";import{n as o,t as s}from"./progress-B84wYh91.mjs";import{n as c,t as l}from"./body-parser-CYD7PKFC.mjs";import{n as u}from"./input-validation-BBKJRoRB.mjs";import{i as d,n as f}from"./prompt-CDtLWxNv.mjs";import{t as p}from"./cli-types-BWdZbsFE.mjs";import{n as m,t as h}from"./raw-fetch-Dz-QBoP_.mjs";function g(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const _={command:`delete <workflow-name>`,describe:`Deletes a Workflow. This only deletes the Workflow and does not delete or modify any Worker associated to this Workflow or bounded to it.`,builder:g,handler:async r=>{if(r.dryRun){o({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force,message:`This operation permanently deletes the Workflow.`})){process.stderr.write(`Aborted.
3
3
  `);return}a(await s(`Deleting`,async()=>c.workflows.delete({account_id:l,workflow_name:r[`workflow-name`]})),{successLabel:`Deleted`})}};function v(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <workflow-name>`,describe:`Retrieves configuration and metadata for a specific workflow.`,builder:v,handler:async r=>{if(r.dryRun){o({command:`cf workflows get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.get({account_id:l,workflow_name:r[`workflow-name`]})),{successLabel:`Loaded`})}};function b(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const x={command:`create <workflow-name>`,describe:`Creates multiple workflow instances in a single batch operation.`,builder:b,handler:async l=>{if(l.dryRun){o({command:`cf workflows instances batch create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${l[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,pathParams:{"workflow-name":String(l[`workflow-name`]??``)},bodyKind:`json`,body:l.body===void 0?void 0:c(l.body)});return}let u=await i(l),d=l.local?e:await t();if(l.accountId=d,l.body){let e=c(l.body);if(Array.isArray(e)&&e.length>100){let t=Math.ceil(e.length/100),n=null;for(let i=0;i<e.length;i+=100){let a=e.slice(i,i+100);n=await s(`Creating: batch ${Math.floor(i/100)+1}/${t}`,async()=>r(u,`POST`,`/accounts/${d}/workflows/${encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,{body:a}))}a(n,{successLabel:`Created`});return}a(await s(`Creating`,async()=>r(u,`POST`,`/accounts/${d}/workflows/${encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,{body:e})),{successLabel:`Created`});return}if(l.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},S={command:`batch`,describe:`Operations for instances.batch`,builder:e=>e.command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:"The system reserves IDs that consist of the `cf_` prefix and exactly 64 lowercase hexadecimal characters."}).option(`location-hint`,{type:`string`,description:`The location_hint field`,choices:[`wnam`,`weur`,`enam`,`eeur`,`apac`,`apac-ne`,`apac-se`,`oc`,`sam`,`afr`,`me`]}).option(`params`,{type:`string`,description:`JSON-encoded event payload passed into the new instance.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const w={command:`create <workflow-name>`,describe:`Creates a new instance of a workflow, starting its execution.`,builder:C,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`json`,body:r.body===void 0?l({instance_id:u(r[`instance-id`],`instance-id`,`text`),location_hint:u(r[`location-hint`],`location-hint`,`text`),params:u(r.params,`params`,`json`)}):c(r.body)});return}let d=await i(r),f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body);a(await s(`Creating`,async()=>d.workflows.instances.create({...e,account_id:f,workflow_name:r[`workflow-name`]})),{successLabel:`Created`});return}let p=l({instance_id:u(r[`instance-id`],`instance-id`,`text`),location_hint:u(r[`location-hint`],`location-hint`,`text`),params:u(r.params,`params`,`json`)});a(await s(`Creating`,async()=>d.workflows.instances.create({...p,account_id:f,workflow_name:r[`workflow-name`]})),{successLabel:`Created`})}};function T(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const E={command:`delete <instance-id>`,describe:`Deletes a workflow instance and its stored state.`,builder:T,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force})){process.stderr.write(`Aborted.
4
4
  `);return}a(await s(`Deleting`,async()=>c.workflows.instances.delete({account_id:l,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`})}};function D(e){return e.positional(`event-type`,{type:`string`,description:`Event type`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const O={command:`send <event-type>`,describe:`Sends an event to a running workflow instance to trigger state transitions.`,builder:D,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances events send`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/events/${r[`event-type`]==null?`<event-type>`:encodeURIComponent(String(r[`event-type`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``),"event-type":String(r[`event-type`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Creating`,async()=>c.workflows.instances.events.send({account_id:l,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`],event_type:r[`event-type`]})),{successLabel:`Created`})}},k={command:`events`,describe:`Operations for instances.events`,builder:e=>e.command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function A(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`simple`,{type:`string`,description:`When true, omits step details and returns only metadata with step_count.`,choices:[`true`,`false`]}).option(`order`,{type:`string`,description:`Step ordering: "asc" (default, oldest first) or "desc" (newest first).`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`get <instance-id>`,describe:`Retrieves logs and execution status for a specific workflow instance.`,builder:p(A),handler:async r=>{let c={simple:r.simple,order:r.order};if(r.dryRun){o({command:`cf workflows instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.instances.get({account_id:u,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`],...c})),{successLabel:`Loaded`})}};function M(e){return e.option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`page`,{type:`number`,description:"Deprecated: use `cursor` for pagination instead."}).option(`per-page`,{type:`number`,description:`Per page`}).option(`cursor`,{type:`string`,description:"Opaque token for cursor-based pagination. Mutually exclusive with `page`."}).option(`direction`,{type:`string`,description:`Defines the direction for cursor-based pagination.`,choices:[`asc`,`desc`]}).option(`status`,{type:`string`,description:`Status`,choices:[`queued`,`running`,`paused`,`errored`,`terminated`,`complete`,`waitingForPause`,`waiting`,`rollingBack`]}).option(`date-start`,{type:`string`,description:`Accepts ISO 8601 with no timezone offsets and in UTC.`}).option(`date-end`,{type:`string`,description:`Accepts ISO 8601 with no timezone offsets and in UTC.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const N={command:`list`,describe:`Lists all instances of a workflow with their execution status.`,builder:p(M),handler:async r=>{let c={page:r.page,per_page:r[`per-page`],cursor:r.cursor,direction:r.direction,status:r.status,date_start:r[`date-start`],date_end:r[`date-end`]};if(r.dryRun){o({command:`cf workflows instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.instances.list({account_id:u,workflow_name:r[`workflow-name`],...c})),{successLabel:`Loaded`})}};function P(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const F={command:`pause <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:P,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances pause`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function I(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const ee={command:`restart <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:I,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances restart`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function L(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const R={command:`resume <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:L,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances resume`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function z(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`name`,{type:`string`,description:`Exact step name from the instance logs response, including the generated counter suffix.`,demandOption:!0}).option(`type`,{type:`string`,description:`Step type to disambiguate step.do and waitForEvent entries that share the same name.`,choices:[`step`,`waitForEvent`],demandOption:!0}).option(`attempt`,{type:`number`,description:`Specific attempt number to retrieve output or error for.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const B={command:`get <instance-id>`,describe:"Retrieves the full, untruncated output for a specific step on a workflow instance. Returns a flat status-shaped JSON body with step `status` ('running' | 'waiting' | 'complete' | 'errored'), `error` (nullable), and `output` (the step value, or null while running/waiting/errored). When the step returned a ReadableStream from step.do, the response is served as 'application/octet-stream' with the raw bytes as the body instead of JSON. A `status='running'` response with non-null `error` indicates the step is currently retrying after a prior attempt failed.",builder:z,handler:async r=>{let a={name:r.name,type:r.type,attempt:r.attempt};if(r.dryRun){o({command:`cf workflows instances step get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/step`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},query:a,bodyKind:`none`});return}await i(r);let c=r.local?e:await t();r.accountId=c;let l=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),u=await s(`Loading`,async()=>h(`/accounts/${c}/workflows/${encodeURIComponent(String(r[`workflow-name`]))}/instances/${encodeURIComponent(String(r[`instance-id`]))}/step${l?`?`+l:``}`,{method:`GET`,local:r.local===!0,persistTo:r.persistTo}));m(r.text===!0?u.toString(`utf-8`):u)}},V={command:`step`,describe:`Operations for instances.step`,builder:e=>e.command(B).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function H(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const U={command:`terminate <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:H,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances terminate`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let p=await i(r),m=r.local?e:await t();if(r.accountId=m,!await f({force:!!r.force,message:`This operation terminates the running Workflow instance.`})){process.stderr.write(`Aborted.
5
5
  `);return}if(r.body){let e=c(r.body);a(await s(`Deleting`,async()=>p.workflows.instances.status.edit({body:e,account_id:m,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let h=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Deleting`,async()=>p.workflows.instances.status.edit({body:h,account_id:m,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`})}},W={command:`instances`,describe:`Workflow instance operations`,builder:e=>e.command(w).command(E).command(j).command(N).command(F).command(ee).command(R).command(U).command(S).command(k).command(V).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function G(e){return e.option(`per-page`,{type:`number`,description:`Per page`}).option(`page`,{type:`number`,description:`Page`}).option(`search`,{type:`string`,description:"Allows filtering workflows` name."}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const K={command:`list`,describe:`Lists all workflows configured for the account.`,builder:G,handler:async r=>{let c={per_page:r[`per-page`],page:r.page,search:r.search};if(r.dryRun){o({command:`cf workflows list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows`,pathParams:{},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.list({account_id:u,...c})),{successLabel:`Loaded`})}};function q(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const J={command:`edit`,describe:`Updates only the account-level Workflows settings fields present in the request body.`,builder:q,handler:async r=>{if(r.dryRun){o({command:`cf workflows settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/settings`,pathParams:{},bodyKind:`json`,body:r.body===void 0?void 0:c(r.body)});return}let l=await i(r),u=r.local?e:await t();if(r.accountId=u,r.body){let e=c(r.body);a(await s(`Updating`,async()=>l.workflows.settings.edit({...e,account_id:u})),{successLabel:`Updated`});return}a(await s(`Updating`,async()=>l.workflows.settings.edit({account_id:u})),{successLabel:`Updated`})}};function Y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const X={command:`get`,describe:`Retrieves account-level Workflows settings, such as the default instance retention.`,builder:Y,handler:async r=>{if(r.dryRun){o({command:`cf workflows settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/settings`,pathParams:{},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.settings.get({account_id:l})),{successLabel:`Loaded`})}},Z={command:`settings`,describe:`Operations for settings`,builder:e=>e.command(J).command(X).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Q(e){return e.positional(`version-id`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const $={command:`get <version-id>`,describe:`Retrieves details for a specific deployed workflow version.`,builder:Q,handler:async r=>{if(r.dryRun){o({command:`cf workflows versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions/${r[`version-id`]==null?`<version-id>`:encodeURIComponent(String(r[`version-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"version-id":String(r[`version-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.versions.get({account_id:l,workflow_name:r[`workflow-name`],version_id:r[`version-id`]})),{successLabel:`Loaded`})}};function te(e){return e.positional(`version-id`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ne={command:`graph <version-id>`,describe:`Retrieves the graph visualization of a workflow version.`,builder:te,handler:async r=>{if(r.dryRun){o({command:`cf workflows versions graph`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions/${r[`version-id`]==null?`<version-id>`:encodeURIComponent(String(r[`version-id`]))}/graph`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"version-id":String(r[`version-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.versions.graph({account_id:l,workflow_name:r[`workflow-name`],version_id:r[`version-id`]})),{successLabel:`Loaded`})}};function re(e){return e.option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`per-page`,{type:`number`,description:`Per page`}).option(`page`,{type:`number`,description:`Page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ie={command:`list`,describe:`Lists all deployed versions of a workflow.`,builder:re,handler:async r=>{let c={per_page:r[`per-page`],page:r.page};if(r.dryRun){o({command:`cf workflows versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.versions.list({account_id:u,workflow_name:r[`workflow-name`],...c})),{successLabel:`Loaded`})}},ae={command:`versions`,describe:`Workflow version operations`,builder:e=>e.command($).command(ne).command(ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},oe={command:`workflows`,describe:`Durable, multi-step workflows that run on Workers with automatic retries and state persistence`,builder:e=>e.command(_).command(y).command(K).command(W).command(Z).command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{oe as default};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{h as e}from"./oauth-BjHjJtnn.mjs";import{a as t,r as n}from"./auth-C6MhC9EZ.mjs";import{t as r}from"./output-DgW1hQGX.mjs";import{n as i,t as a}from"./progress-C-oFUtvC.mjs";import{n as o,t as s}from"./body-parser-CYD7PKFC.mjs";import{n as c}from"./input-validation-BBKJRoRB.mjs";import{a as l}from"./prompt-DM4z101s.mjs";import{t as u}from"./cli-types-BWdZbsFE.mjs";function d(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const f={command:`get`,describe:`Gets latest Zaraz configuration for a zone. It can be preview or published configuration, whichever was the last updated. Secret variables values will not be included.`,builder:d,handler:async t=>{if(t.dryRun){i({command:`cf zaraz config get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.config.get({zone_id:s})),{successLabel:`Loaded`})}};function p(e){return e.option(`analytics-default-purpose`,{type:`string`,description:`Consent purpose assigned to Monitoring.`}).option(`analytics-enabled`,{type:`boolean`,description:`Whether Advanced Monitoring reports are enabled.`}).option(`analytics-session-exp-time`,{type:`number`,description:`Session expiration time (seconds).`}).option(`consent-company-email`,{type:`string`,description:`The consent.companyEmail field`}).option(`consent-company-name`,{type:`string`,description:`The consent.companyName field`}).option(`consent-company-street-address`,{type:`string`,description:`The consent.companyStreetAddress field`}).option(`consent-consent-modal-intro-html`,{type:`string`,description:`The consent.consentModalIntroHTML field`}).option(`consent-cookie-name`,{type:`string`,description:`The consent.cookieName field`}).option(`consent-custom-css`,{type:`string`,description:`The consent.customCSS field`}).option(`consent-custom-intro-disclaimer-dismissed`,{type:`boolean`,description:`The consent.customIntroDisclaimerDismissed field`}).option(`consent-default-language`,{type:`string`,description:`The consent.defaultLanguage field`}).option(`consent-enabled`,{type:`boolean`,description:`The consent.enabled field`}).option(`consent-hide-modal`,{type:`boolean`,description:`The consent.hideModal field`}).option(`consent-tcf-compliant`,{type:`boolean`,description:`The consent.tcfCompliant field`}).option(`data-layer`,{type:`boolean`,description:`Data layer compatibility mode enabled.`}).option(`debug-key`,{type:`string`,description:`The key for Zaraz debug mode.`}).option(`history-change`,{type:`boolean`,description:`Single Page Application support enabled.`}).option(`settings-auto-inject-script`,{type:`boolean`,description:`Automatic injection of Zaraz scripts enabled.`}).option(`settings-context-enricher-escaped-worker-name`,{type:`string`,description:`The settings.contextEnricher.escapedWorkerName field`}).option(`settings-context-enricher-worker-tag`,{type:`string`,description:`The settings.contextEnricher.workerTag field`}).option(`settings-cookie-domain`,{type:`string`,description:`The domain Zaraz will use for writing and reading its cookies.`}).option(`settings-ecommerce`,{type:`boolean`,description:`Ecommerce API enabled.`}).option(`settings-events-api-path`,{type:`string`,description:`Custom endpoint for server-side track events.`}).option(`settings-hide-external-referer`,{type:`boolean`,description:`Hiding external referrer URL enabled.`}).option(`settings-hide-ipaddress`,{type:`boolean`,description:`Trimming IP address enabled.`}).option(`settings-hide-query-params`,{type:`boolean`,description:`Removing URL query params enabled.`}).option(`settings-hide-user-agent`,{type:`boolean`,description:`Removing sensitive data from User Agent string enabled.`}).option(`settings-init-path`,{type:`string`,description:`Custom endpoint for Zaraz init script.`}).option(`settings-inject-iframes`,{type:`boolean`,description:`Injection of Zaraz scripts into iframes enabled.`}).option(`settings-mc-root-path`,{type:`string`,description:`Custom path for Managed Components server functionalities.`}).option(`settings-script-path`,{type:`string`,description:`Custom endpoint for Zaraz main script.`}).option(`settings-track-path`,{type:`string`,description:`Custom endpoint for Zaraz tracking requests.`}).option(`zaraz-version`,{type:`number`,description:`Zaraz internal version of the config.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz configuration.`}).check(e=>{if([`consent-company-email`,`consent-company-name`,`consent-company-street-address`,`consent-consent-modal-intro-html`,`consent-cookie-name`,`consent-custom-css`,`consent-custom-intro-disclaimer-dismissed`,`consent-default-language`,`consent-enabled`,`consent-hide-modal`,`consent-tcf-compliant`].some(t=>e[t]!==void 0)){let t=[`consent-enabled`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --consent-* flag is set`)}return!0})}const m={command:`update`,describe:`Updates Zaraz configuration for a zone.`,builder:p,handler:async t=>{if(t.dryRun){i({command:`cf zaraz config update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({analytics:{defaultPurpose:c(t[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:t[`analytics-enabled`],sessionExpTime:t[`analytics-session-exp-time`]},consent:{companyEmail:c(t[`consent-company-email`],`consent-company-email`,`text`),companyName:c(t[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:c(t[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:c(t[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:c(t[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:c(t[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:t[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:c(t[`consent-default-language`],`consent-default-language`,`text`),enabled:t[`consent-enabled`],hideModal:t[`consent-hide-modal`],tcfCompliant:t[`consent-tcf-compliant`]},dataLayer:t[`data-layer`],debugKey:c(t[`debug-key`],`debug-key`,`text`),historyChange:t[`history-change`],settings:{autoInjectScript:t[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:c(t[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:c(t[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:c(t[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:t[`settings-ecommerce`],eventsApiPath:c(t[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:t[`settings-hide-external-referer`],hideIPAddress:t[`settings-hide-ipaddress`],hideQueryParams:t[`settings-hide-query-params`],hideUserAgent:t[`settings-hide-user-agent`],initPath:c(t[`settings-init-path`],`settings-init-path`,`text`),injectIframes:t[`settings-inject-iframes`],mcRootPath:c(t[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:c(t[`settings-script-path`],`settings-script-path`,`text`),trackPath:c(t[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:t[`zaraz-version`]}):o(t.body)});return}let u=await n(t),d=await e({zone:t.zone},u,{quiet:t.quiet});if(t.zoneId=d,t.body){let e=o(t.body);r(await a(`Updating`,async()=>u.zaraz.config.update({...e,zone_id:d})),{successLabel:`Updated`});return}if(t[`data-layer`]===void 0)throw Error(`--data-layer is required (or pass --body with this field set).`);if(t[`debug-key`]===void 0&&(t[`debug-key`]=await l(`debug-key`,`The key for Zaraz debug mode.`)),t[`settings-auto-inject-script`]===void 0)throw Error(`--settings-auto-inject-script is required (or pass --body with this field set).`);if(t[`settings-context-enricher-escaped-worker-name`]===void 0&&(t[`settings-context-enricher-escaped-worker-name`]=await l(`settings-context-enricher-escaped-worker-name`,`The settings.contextEnricher.escapedWorkerName field`)),t[`settings-context-enricher-worker-tag`]===void 0&&(t[`settings-context-enricher-worker-tag`]=await l(`settings-context-enricher-worker-tag`,`The settings.contextEnricher.workerTag field`)),t[`zaraz-version`]===void 0)throw Error(`--zaraz-version is required (or pass --body with this field set).`);let f=s({analytics:{defaultPurpose:c(t[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:t[`analytics-enabled`],sessionExpTime:t[`analytics-session-exp-time`]},consent:{companyEmail:c(t[`consent-company-email`],`consent-company-email`,`text`),companyName:c(t[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:c(t[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:c(t[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:c(t[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:c(t[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:t[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:c(t[`consent-default-language`],`consent-default-language`,`text`),enabled:t[`consent-enabled`],hideModal:t[`consent-hide-modal`],tcfCompliant:t[`consent-tcf-compliant`]},dataLayer:t[`data-layer`],debugKey:c(t[`debug-key`],`debug-key`,`text`),historyChange:t[`history-change`],settings:{autoInjectScript:t[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:c(t[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:c(t[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:c(t[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:t[`settings-ecommerce`],eventsApiPath:c(t[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:t[`settings-hide-external-referer`],hideIPAddress:t[`settings-hide-ipaddress`],hideQueryParams:t[`settings-hide-query-params`],hideUserAgent:t[`settings-hide-user-agent`],initPath:c(t[`settings-init-path`],`settings-init-path`,`text`),injectIframes:t[`settings-inject-iframes`],mcRootPath:c(t[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:c(t[`settings-script-path`],`settings-script-path`,`text`),trackPath:c(t[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:t[`zaraz-version`]});r(await a(`Updating`,async()=>u.zaraz.config.update({...f,zone_id:d})),{successLabel:`Updated`})}},h={command:`config`,describe:`Full Zaraz configuration including tools, triggers, and variables for the zone`,builder:e=>e.command(f).command(m).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function g(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`get`,describe:`Gets default Zaraz configuration for a zone.`,builder:g,handler:async t=>{if(t.dryRun){i({command:`cf zaraz default get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/default`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.default.get({zone_id:s})),{successLabel:`Loaded`})}},v={command:`default`,describe:`Default Zaraz configuration template used as a starting point for new zones`,builder:e=>e.command(_).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get`,describe:`Exports full current published Zaraz configuration for a zone, secret variables included.`,builder:y,handler:async t=>{if(t.dryRun){i({command:`cf zaraz export get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/export`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.export.get({zone_id:s})),{successLabel:`Loaded`})}},x={command:`export`,describe:`Export the current Zaraz configuration as a portable JSON document`,builder:e=>e.command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.option(`ids`,{type:`string`,description:`Comma separated list of Zaraz configuration IDs.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`get`,describe:`Gets a history of published Zaraz configurations by ID(s) for a zone.`,builder:u(S),handler:async t=>{let o={ids:t.ids};if(t.dryRun){i({command:`cf zaraz history configs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/history/configs`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});t.zoneId=c,r(await a(`Loading`,async()=>s.zaraz.history.configs.get({zone_id:c,...o})),{successLabel:`Loaded`})}},w={command:`configs`,describe:`Operations for history.configs`,builder:e=>e.command(C).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function T(e){return e.option(`offset`,{type:`number`,description:`Ordinal number to start listing the results with. Default value is 0.`}).option(`limit`,{type:`number`,description:`Maximum amount of results to list. Default value is 10.`}).option(`sort-field`,{type:`string`,description:`The field to sort by. Default is updated_at.`,choices:[`id`,`user_id`,`description`,`created_at`,`updated_at`]}).option(`sort-order`,{type:`string`,description:`Sorting order. Default is DESC.`,choices:[`DESC`,`ASC`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const E={command:`list`,describe:`Lists a history of published Zaraz configuration records for a zone.`,builder:u(T),handler:async t=>{let o={offset:t.offset,limit:t.limit,sortField:t[`sort-field`],sortOrder:t[`sort-order`]};if(t.dryRun){i({command:`cf zaraz history list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});t.zoneId=c,r(await a(`Loading`,async()=>s.zaraz.history.list({zone_id:c,...o})),{successLabel:`Loaded`})}};function D(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`ID of the Zaraz configuration to restore.`})}const O={command:`update`,describe:`Restores a historical published Zaraz configuration by ID for a zone.`,builder:D,handler:async s=>{if(s.dryRun){i({command:`cf zaraz history update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${s.zone??s.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(s.zone??s[`zone-id`]??``)},bodyKind:`json`,body:s.body===void 0?void 0:o(s.body)});return}let c=await n(s),l=await e({zone:s.zone},c,{quiet:s.quiet});if(s.zoneId=l,s.body){let e=o(s.body);r(await a(`Updating`,async()=>c.zaraz.history.update({body:e,zone_id:l})),{successLabel:`Updated`});return}r(await a(`Updating`,async()=>t(c,`PUT`,`/zones/${s.zoneId}/settings/zaraz/history`)),{successLabel:`Updated`})}},k={command:`history`,describe:`Configuration version history — browse and restore previous Zaraz configurations`,builder:e=>e.command(E).command(O).command(w).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function A(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz configuration description.`})}const j={command:`create`,describe:`Publish current Zaraz preview configuration for a zone.`,builder:A,handler:async s=>{if(s.dryRun){i({command:`cf zaraz publish create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${s.zone??s.zoneId??`<zone>`}/settings/zaraz/publish`,pathParams:{"zone-id":String(s.zone??s[`zone-id`]??``)},bodyKind:`json`,body:s.body===void 0?void 0:o(s.body)});return}let c=await n(s),l=await e({zone:s.zone},c,{quiet:s.quiet});if(s.zoneId=l,s.body){let e=o(s.body);r(await a(`Creating`,async()=>c.zaraz.publish.create({body:e,zone_id:l})),{successLabel:`Created`});return}r(await a(`Creating`,async()=>t(c,`POST`,`/zones/${s.zoneId}/settings/zaraz/publish`)),{successLabel:`Created`})}},M={command:`publish`,describe:`Publish pending Zaraz configuration changes to make them live on the zone`,builder:e=>e.command(j).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function N(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const P={command:`get`,describe:`Gets Zaraz workflow for a zone.`,builder:N,handler:async t=>{if(t.dryRun){i({command:`cf zaraz workflow get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.workflow.get({zone_id:s})),{successLabel:`Loaded`})}};function F(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz workflow.`})}const I={command:`update`,describe:`Updates Zaraz workflow for a zone.`,builder:F,handler:async t=>{if(t.dryRun){i({command:`cf zaraz workflow update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:o(t.body)});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});if(t.zoneId=c,t.body){let e=o(t.body);r(await a(`Updating`,async()=>s.zaraz.workflow.update({body:e,zone_id:c})),{successLabel:`Updated`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},L={command:`workflow`,describe:`Workflow state for Zaraz configuration changes (draft vs. published)`,builder:e=>e.command(P).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},R={command:`zaraz`,describe:`Server-side tag manager — load third-party tools (analytics, pixels, etc.) from Cloudflare's edge without client-side JS`,builder:e=>e.command(h).command(v).command(x).command(k).command(M).command(L).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{R as default};
2
+ import{h as e}from"./oauth-BPizUUqP.mjs";import{a as t,r as n}from"./auth-DuLchM18.mjs";import{t as r}from"./output-DgW1hQGX.mjs";import{n as i,t as a}from"./progress-B84wYh91.mjs";import{n as o,t as s}from"./body-parser-CYD7PKFC.mjs";import{n as c}from"./input-validation-BBKJRoRB.mjs";import{a as l}from"./prompt-CDtLWxNv.mjs";import{t as u}from"./cli-types-BWdZbsFE.mjs";function d(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const f={command:`get`,describe:`Gets latest Zaraz configuration for a zone. It can be preview or published configuration, whichever was the last updated. Secret variables values will not be included.`,builder:d,handler:async t=>{if(t.dryRun){i({command:`cf zaraz config get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.config.get({zone_id:s})),{successLabel:`Loaded`})}};function p(e){return e.option(`analytics-default-purpose`,{type:`string`,description:`Consent purpose assigned to Monitoring.`}).option(`analytics-enabled`,{type:`boolean`,description:`Whether Advanced Monitoring reports are enabled.`}).option(`analytics-session-exp-time`,{type:`number`,description:`Session expiration time (seconds).`}).option(`consent-company-email`,{type:`string`,description:`The consent.companyEmail field`}).option(`consent-company-name`,{type:`string`,description:`The consent.companyName field`}).option(`consent-company-street-address`,{type:`string`,description:`The consent.companyStreetAddress field`}).option(`consent-consent-modal-intro-html`,{type:`string`,description:`The consent.consentModalIntroHTML field`}).option(`consent-cookie-name`,{type:`string`,description:`The consent.cookieName field`}).option(`consent-custom-css`,{type:`string`,description:`The consent.customCSS field`}).option(`consent-custom-intro-disclaimer-dismissed`,{type:`boolean`,description:`The consent.customIntroDisclaimerDismissed field`}).option(`consent-default-language`,{type:`string`,description:`The consent.defaultLanguage field`}).option(`consent-enabled`,{type:`boolean`,description:`The consent.enabled field`}).option(`consent-hide-modal`,{type:`boolean`,description:`The consent.hideModal field`}).option(`consent-tcf-compliant`,{type:`boolean`,description:`The consent.tcfCompliant field`}).option(`data-layer`,{type:`boolean`,description:`Data layer compatibility mode enabled.`}).option(`debug-key`,{type:`string`,description:`The key for Zaraz debug mode.`}).option(`history-change`,{type:`boolean`,description:`Single Page Application support enabled.`}).option(`settings-auto-inject-script`,{type:`boolean`,description:`Automatic injection of Zaraz scripts enabled.`}).option(`settings-context-enricher-escaped-worker-name`,{type:`string`,description:`The settings.contextEnricher.escapedWorkerName field`}).option(`settings-context-enricher-worker-tag`,{type:`string`,description:`The settings.contextEnricher.workerTag field`}).option(`settings-cookie-domain`,{type:`string`,description:`The domain Zaraz will use for writing and reading its cookies.`}).option(`settings-ecommerce`,{type:`boolean`,description:`Ecommerce API enabled.`}).option(`settings-events-api-path`,{type:`string`,description:`Custom endpoint for server-side track events.`}).option(`settings-hide-external-referer`,{type:`boolean`,description:`Hiding external referrer URL enabled.`}).option(`settings-hide-ipaddress`,{type:`boolean`,description:`Trimming IP address enabled.`}).option(`settings-hide-query-params`,{type:`boolean`,description:`Removing URL query params enabled.`}).option(`settings-hide-user-agent`,{type:`boolean`,description:`Removing sensitive data from User Agent string enabled.`}).option(`settings-init-path`,{type:`string`,description:`Custom endpoint for Zaraz init script.`}).option(`settings-inject-iframes`,{type:`boolean`,description:`Injection of Zaraz scripts into iframes enabled.`}).option(`settings-mc-root-path`,{type:`string`,description:`Custom path for Managed Components server functionalities.`}).option(`settings-script-path`,{type:`string`,description:`Custom endpoint for Zaraz main script.`}).option(`settings-track-path`,{type:`string`,description:`Custom endpoint for Zaraz tracking requests.`}).option(`zaraz-version`,{type:`number`,description:`Zaraz internal version of the config.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz configuration.`}).check(e=>{if([`consent-company-email`,`consent-company-name`,`consent-company-street-address`,`consent-consent-modal-intro-html`,`consent-cookie-name`,`consent-custom-css`,`consent-custom-intro-disclaimer-dismissed`,`consent-default-language`,`consent-enabled`,`consent-hide-modal`,`consent-tcf-compliant`].some(t=>e[t]!==void 0)){let t=[`consent-enabled`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --consent-* flag is set`)}return!0})}const m={command:`update`,describe:`Updates Zaraz configuration for a zone.`,builder:p,handler:async t=>{if(t.dryRun){i({command:`cf zaraz config update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`json`,body:t.body===void 0?s({analytics:{defaultPurpose:c(t[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:t[`analytics-enabled`],sessionExpTime:t[`analytics-session-exp-time`]},consent:{companyEmail:c(t[`consent-company-email`],`consent-company-email`,`text`),companyName:c(t[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:c(t[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:c(t[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:c(t[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:c(t[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:t[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:c(t[`consent-default-language`],`consent-default-language`,`text`),enabled:t[`consent-enabled`],hideModal:t[`consent-hide-modal`],tcfCompliant:t[`consent-tcf-compliant`]},dataLayer:t[`data-layer`],debugKey:c(t[`debug-key`],`debug-key`,`text`),historyChange:t[`history-change`],settings:{autoInjectScript:t[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:c(t[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:c(t[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:c(t[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:t[`settings-ecommerce`],eventsApiPath:c(t[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:t[`settings-hide-external-referer`],hideIPAddress:t[`settings-hide-ipaddress`],hideQueryParams:t[`settings-hide-query-params`],hideUserAgent:t[`settings-hide-user-agent`],initPath:c(t[`settings-init-path`],`settings-init-path`,`text`),injectIframes:t[`settings-inject-iframes`],mcRootPath:c(t[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:c(t[`settings-script-path`],`settings-script-path`,`text`),trackPath:c(t[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:t[`zaraz-version`]}):o(t.body)});return}let u=await n(t),d=await e({zone:t.zone},u,{quiet:t.quiet});if(t.zoneId=d,t.body){let e=o(t.body);r(await a(`Updating`,async()=>u.zaraz.config.update({...e,zone_id:d})),{successLabel:`Updated`});return}if(t[`data-layer`]===void 0)throw Error(`--data-layer is required (or pass --body with this field set).`);if(t[`debug-key`]===void 0&&(t[`debug-key`]=await l(`debug-key`,`The key for Zaraz debug mode.`)),t[`settings-auto-inject-script`]===void 0)throw Error(`--settings-auto-inject-script is required (or pass --body with this field set).`);if(t[`settings-context-enricher-escaped-worker-name`]===void 0&&(t[`settings-context-enricher-escaped-worker-name`]=await l(`settings-context-enricher-escaped-worker-name`,`The settings.contextEnricher.escapedWorkerName field`)),t[`settings-context-enricher-worker-tag`]===void 0&&(t[`settings-context-enricher-worker-tag`]=await l(`settings-context-enricher-worker-tag`,`The settings.contextEnricher.workerTag field`)),t[`zaraz-version`]===void 0)throw Error(`--zaraz-version is required (or pass --body with this field set).`);let f=s({analytics:{defaultPurpose:c(t[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:t[`analytics-enabled`],sessionExpTime:t[`analytics-session-exp-time`]},consent:{companyEmail:c(t[`consent-company-email`],`consent-company-email`,`text`),companyName:c(t[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:c(t[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:c(t[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:c(t[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:c(t[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:t[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:c(t[`consent-default-language`],`consent-default-language`,`text`),enabled:t[`consent-enabled`],hideModal:t[`consent-hide-modal`],tcfCompliant:t[`consent-tcf-compliant`]},dataLayer:t[`data-layer`],debugKey:c(t[`debug-key`],`debug-key`,`text`),historyChange:t[`history-change`],settings:{autoInjectScript:t[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:c(t[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:c(t[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:c(t[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:t[`settings-ecommerce`],eventsApiPath:c(t[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:t[`settings-hide-external-referer`],hideIPAddress:t[`settings-hide-ipaddress`],hideQueryParams:t[`settings-hide-query-params`],hideUserAgent:t[`settings-hide-user-agent`],initPath:c(t[`settings-init-path`],`settings-init-path`,`text`),injectIframes:t[`settings-inject-iframes`],mcRootPath:c(t[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:c(t[`settings-script-path`],`settings-script-path`,`text`),trackPath:c(t[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:t[`zaraz-version`]});r(await a(`Updating`,async()=>u.zaraz.config.update({...f,zone_id:d})),{successLabel:`Updated`})}},h={command:`config`,describe:`Full Zaraz configuration including tools, triggers, and variables for the zone`,builder:e=>e.command(f).command(m).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function g(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`get`,describe:`Gets default Zaraz configuration for a zone.`,builder:g,handler:async t=>{if(t.dryRun){i({command:`cf zaraz default get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/default`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.default.get({zone_id:s})),{successLabel:`Loaded`})}},v={command:`default`,describe:`Default Zaraz configuration template used as a starting point for new zones`,builder:e=>e.command(_).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get`,describe:`Exports full current published Zaraz configuration for a zone, secret variables included.`,builder:y,handler:async t=>{if(t.dryRun){i({command:`cf zaraz export get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/export`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.export.get({zone_id:s})),{successLabel:`Loaded`})}},x={command:`export`,describe:`Export the current Zaraz configuration as a portable JSON document`,builder:e=>e.command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.option(`ids`,{type:`string`,description:`Comma separated list of Zaraz configuration IDs.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`get`,describe:`Gets a history of published Zaraz configurations by ID(s) for a zone.`,builder:u(S),handler:async t=>{let o={ids:t.ids};if(t.dryRun){i({command:`cf zaraz history configs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/history/configs`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});t.zoneId=c,r(await a(`Loading`,async()=>s.zaraz.history.configs.get({zone_id:c,...o})),{successLabel:`Loaded`})}},w={command:`configs`,describe:`Operations for history.configs`,builder:e=>e.command(C).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function T(e){return e.option(`offset`,{type:`number`,description:`Ordinal number to start listing the results with. Default value is 0.`}).option(`limit`,{type:`number`,description:`Maximum amount of results to list. Default value is 10.`}).option(`sort-field`,{type:`string`,description:`The field to sort by. Default is updated_at.`,choices:[`id`,`user_id`,`description`,`created_at`,`updated_at`]}).option(`sort-order`,{type:`string`,description:`Sorting order. Default is DESC.`,choices:[`DESC`,`ASC`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const E={command:`list`,describe:`Lists a history of published Zaraz configuration records for a zone.`,builder:u(T),handler:async t=>{let o={offset:t.offset,limit:t.limit,sortField:t[`sort-field`],sortOrder:t[`sort-order`]};if(t.dryRun){i({command:`cf zaraz history list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},query:o,bodyKind:`none`});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});t.zoneId=c,r(await a(`Loading`,async()=>s.zaraz.history.list({zone_id:c,...o})),{successLabel:`Loaded`})}};function D(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`ID of the Zaraz configuration to restore.`})}const O={command:`update`,describe:`Restores a historical published Zaraz configuration by ID for a zone.`,builder:D,handler:async s=>{if(s.dryRun){i({command:`cf zaraz history update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${s.zone??s.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(s.zone??s[`zone-id`]??``)},bodyKind:`json`,body:s.body===void 0?void 0:o(s.body)});return}let c=await n(s),l=await e({zone:s.zone},c,{quiet:s.quiet});if(s.zoneId=l,s.body){let e=o(s.body);r(await a(`Updating`,async()=>c.zaraz.history.update({body:e,zone_id:l})),{successLabel:`Updated`});return}r(await a(`Updating`,async()=>t(c,`PUT`,`/zones/${s.zoneId}/settings/zaraz/history`)),{successLabel:`Updated`})}},k={command:`history`,describe:`Configuration version history — browse and restore previous Zaraz configurations`,builder:e=>e.command(E).command(O).command(w).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function A(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz configuration description.`})}const j={command:`create`,describe:`Publish current Zaraz preview configuration for a zone.`,builder:A,handler:async s=>{if(s.dryRun){i({command:`cf zaraz publish create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${s.zone??s.zoneId??`<zone>`}/settings/zaraz/publish`,pathParams:{"zone-id":String(s.zone??s[`zone-id`]??``)},bodyKind:`json`,body:s.body===void 0?void 0:o(s.body)});return}let c=await n(s),l=await e({zone:s.zone},c,{quiet:s.quiet});if(s.zoneId=l,s.body){let e=o(s.body);r(await a(`Creating`,async()=>c.zaraz.publish.create({body:e,zone_id:l})),{successLabel:`Created`});return}r(await a(`Creating`,async()=>t(c,`POST`,`/zones/${s.zoneId}/settings/zaraz/publish`)),{successLabel:`Created`})}},M={command:`publish`,describe:`Publish pending Zaraz configuration changes to make them live on the zone`,builder:e=>e.command(j).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function N(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const P={command:`get`,describe:`Gets Zaraz workflow for a zone.`,builder:N,handler:async t=>{if(t.dryRun){i({command:`cf zaraz workflow get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`none`});return}let o=await n(t),s=await e({zone:t.zone},o,{quiet:t.quiet});t.zoneId=s,r(await a(`Loading`,async()=>o.zaraz.workflow.get({zone_id:s})),{successLabel:`Loaded`})}};function F(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Zaraz workflow.`})}const I={command:`update`,describe:`Updates Zaraz workflow for a zone.`,builder:F,handler:async t=>{if(t.dryRun){i({command:`cf zaraz workflow update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${t.zone??t.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(t.zone??t[`zone-id`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:o(t.body)});return}let s=await n(t),c=await e({zone:t.zone},s,{quiet:t.quiet});if(t.zoneId=c,t.body){let e=o(t.body);r(await a(`Updating`,async()=>s.zaraz.workflow.update({body:e,zone_id:c})),{successLabel:`Updated`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},L={command:`workflow`,describe:`Workflow state for Zaraz configuration changes (draft vs. published)`,builder:e=>e.command(P).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},R={command:`zaraz`,describe:`Server-side tag manager — load third-party tools (analytics, pixels, etc.) from Cloudflare's edge without client-side JS`,builder:e=>e.command(h).command(v).command(x).command(k).command(M).command(L).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{R as default};