cf 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/README.md +7 -1
  2. package/dist/_meta/agent-context.json +26 -21
  3. package/dist/_meta/commands.json +7696 -18100
  4. package/dist/_meta/schemas.json +6411 -13925
  5. package/dist/{abuse-reports-dMIfUJ8v.mjs → abuse-reports-Ina5TlsU.mjs} +2 -2
  6. package/dist/{accounts-Kx1epdA1.mjs → accounts-B_joQcMi.mjs} +9 -9
  7. package/dist/{acm-Utu252kC.mjs → acm-_kIHqYME.mjs} +2 -2
  8. package/dist/{addressing-CBq7Z7Vq.mjs → addressing-CaFlw8y1.mjs} +10 -10
  9. package/dist/{agent-context-BGTU299M.mjs → agent-context-DMPfi54f.mjs} +1 -1
  10. package/dist/ai-CqnhNb_c.mjs +2 -0
  11. package/dist/ai-gateway-pgYGI519.mjs +8 -0
  12. package/dist/ai-search-eqQMPQol.mjs +7 -0
  13. package/dist/ai_gateway--vuVLnOm.mjs +4 -0
  14. package/dist/{alerting-CqmEIaKn.mjs → alerting-CPxHiYHb.mjs} +5 -5
  15. package/dist/{analytics-Dv-X8x7D.mjs → analytics-DSSRDZz8.mjs} +1 -1
  16. package/dist/analytics_engine-gWyfnsCs.mjs +2 -0
  17. package/dist/{api-gateway-CNv0IHTU.mjs → api-gateway-BXXGFCVR.mjs} +10 -10
  18. package/dist/argo-aC6A3JyX.mjs +2 -0
  19. package/dist/artifacts-HD4V2xpK.mjs +4 -0
  20. package/dist/audit-logs-BuExU_nz.mjs +2 -0
  21. package/dist/auth-CSC4yhEJ.mjs +9 -0
  22. package/dist/auth-D5hNsOFq.mjs +5 -0
  23. package/dist/billing-COaghyxl.mjs +2 -0
  24. package/dist/bot-management-DmEzeV1Y.mjs +5 -0
  25. package/dist/botnet-feed-ByEAXAkw.mjs +3 -0
  26. package/dist/brand-protection-dPrGe8sL.mjs +3 -0
  27. package/dist/browser-rendering-BiSGnpBf.mjs +4 -0
  28. package/dist/{build-DYkGW4dh.mjs → build-HuS9-R0V.mjs} +131 -131
  29. package/dist/{cache-DsoW6Xwv.mjs → cache-CY-7Lt71.mjs} +4 -4
  30. package/dist/calls-wOQGDWPl.mjs +4 -0
  31. package/dist/certificate-authorities-CtqzAtxQ.mjs +2 -0
  32. package/dist/chunk-6IEM75FG-BEjRFMGh.mjs +2 -0
  33. package/dist/client-certificates-CRf41xLe.mjs +3 -0
  34. package/dist/cloud-connector-BA5IRZUP.mjs +2 -0
  35. package/dist/{cloudforce-one-2Bhz8YdW.mjs → cloudforce-one-Bq_qPAWs.mjs} +20 -20
  36. package/dist/{completions-BwRpZQVn.mjs → completions-DOeHPdCG.mjs} +2 -2
  37. package/dist/config-B5k-XbwS.mjs +2 -0
  38. package/dist/connectivity-Bx3MgTHX.mjs +3 -0
  39. package/dist/connector-interrupts-D7ylweJZ.mjs +2 -0
  40. package/dist/connector-telemetry-events-6izV1kbP.mjs +2 -0
  41. package/dist/connector-telemetry-snapshots-BnjKbyxX.mjs +2 -0
  42. package/dist/connectors-DRt4e6d_.mjs +3 -0
  43. package/dist/content-scanning-Cd2vy5Sz.mjs +4 -0
  44. package/dist/context-jpewmual.mjs +2 -0
  45. package/dist/{custom-certificates-aAiEguR7.mjs → custom-certificates-DYE-9epx.mjs} +3 -3
  46. package/dist/{custom-hostnames-AG5yBHIi.mjs → custom-hostnames-CtuTdFcX.mjs} +4 -4
  47. package/dist/custom-nameservers-CWqA51in.mjs +3 -0
  48. package/dist/custom-pages-DeUKEFGe.mjs +4 -0
  49. package/dist/d1-DvWY9Gp4.mjs +4 -0
  50. package/dist/data-security-BPo6dIWu.mjs +6 -0
  51. package/dist/dcv-delegation-Bgf86J-r.mjs +2 -0
  52. package/dist/{deploy-CQial3kN.mjs → deploy-dVrgDUOp.mjs} +1 -1
  53. package/dist/{dev-B38LfCTl.mjs → dev-C01_Lby6.mjs} +1 -1
  54. package/dist/diagnostics-6nKPmVgz.mjs +3 -0
  55. package/dist/{dispatch-namespaces-DmHvoBOg.mjs → dispatch-namespaces-64lXx2WJ.mjs} +6 -6
  56. package/dist/dist-C6zxsVdY.mjs +306 -0
  57. package/dist/{dist-AIcZFk0U.mjs → dist-t_YrL25p.mjs} +7 -7
  58. package/dist/{dns-VMhQSr5n.mjs → dns-ClciFGxx.mjs} +13 -13
  59. package/dist/dns-firewall-DfUmXDCe.mjs +57 -0
  60. package/dist/durable-objects-CMaYZ-YU.mjs +2 -0
  61. package/dist/{email-routing-tIR2SFu-.mjs → email-routing-CGXhFqF5.mjs} +9 -9
  62. package/dist/{email-security-Ca1id3rZ.mjs → email-security-D5viPq8S.mjs} +7 -7
  63. package/dist/email-sending-C2jpc3gh.mjs +3 -0
  64. package/dist/{filters-A4dg_a68.mjs → filters-bzsFcWt0.mjs} +3 -3
  65. package/dist/{firewall-DWPQgYd9.mjs → firewall-DYZcTtIC.mjs} +10 -10
  66. package/dist/{fraud-BMkSsJGU.mjs → fraud-C03MtdZb.mjs} +1 -1
  67. package/dist/google-tag-gateway-Dfy887yA.mjs +2 -0
  68. package/dist/{healthchecks-CtIfrFql.mjs → healthchecks-DRoAlWgr.mjs} +3 -3
  69. package/dist/hostnames-CFgIVI3s.mjs +3 -0
  70. package/dist/hyperdrive-C7-gwTSV.mjs +18 -0
  71. package/dist/iam-DqVPzGrb.mjs +6 -0
  72. package/dist/images-BYfl4YgR.mjs +7 -0
  73. package/dist/index.mjs +1 -1
  74. package/dist/intel-duTEPIHc.mjs +3 -0
  75. package/dist/{ips-K4bzaGqd.mjs → ips-nv9INuWZ.mjs} +1 -1
  76. package/dist/keyless-certificates-CRCDVd3g.mjs +3 -0
  77. package/dist/{kv-8o27w_pY.mjs → kv-CZoV4tiv.mjs} +4 -4
  78. package/dist/leaked-credential-checks-DNIBg7Pe.mjs +3 -0
  79. package/dist/{load-balancers-DtG8nj25.mjs → load-balancers--OMg0HNt.mjs} +5 -5
  80. package/dist/{logpush-4L0njy1d.mjs → logpush-C0_lZTyY.mjs} +3 -3
  81. package/dist/{logs-B_Yp95hv.mjs → logs-BtpWZQfV.mjs} +2 -2
  82. package/dist/magic-cloud-networking-u6rwYbGg.mjs +5 -0
  83. package/dist/{magic-network-monitoring-BnwvM4-I.mjs → magic-network-monitoring-CKgQyRj4.mjs} +3 -3
  84. package/dist/{magic-transit-CXDyvhxq.mjs → magic-transit-CLhMcJ_-.mjs} +32 -33
  85. package/dist/managed-transforms-D0Z2mlth.mjs +3 -0
  86. package/dist/mtls-certificates-BL65NK5T.mjs +3 -0
  87. package/dist/{network-interconnects-rrr7red3.mjs → network-interconnects-Bgu9gmaG.mjs} +5 -5
  88. package/dist/oauth-Bk-F-tIO.mjs +52 -0
  89. package/dist/{observability-DWvpqnQJ.mjs → observability-BynRbTF4.mjs} +3 -3
  90. package/dist/open-YWOUIZ5Y-3jqSKAB1.mjs +4 -0
  91. package/dist/{organizations-T77D50Sq.mjs → organizations-BqJHyvMK.mjs} +3 -3
  92. package/dist/origin-ca-certificates-BGvYwm3C.mjs +3 -0
  93. package/dist/origin-post-quantum-encryption-9KOE8YPI.mjs +2 -0
  94. package/dist/{origin-tls-client-auth-CaVW1Ztp.mjs → origin-tls-client-auth-d3snC3vr.mjs} +3 -3
  95. package/dist/{output-BJFNwj7b.mjs → output-B6fBFRqe.mjs} +1 -1
  96. package/dist/{page-rules-CjZPTMQX.mjs → page-rules-EZHJePmn.mjs} +4 -4
  97. package/dist/{page-shield-D5RRNJCY.mjs → page-shield-CXJioWPs.mjs} +5 -5
  98. package/dist/{pages-CWJtJnL0.mjs → pages-D4aYteKk.mjs} +8 -8
  99. package/dist/{pipelines-B0L_7j9e.mjs → pipelines-G8Iusxq-.mjs} +5 -5
  100. package/dist/progress-DrDErV9w.mjs +2 -0
  101. package/dist/queues-DEkbKqZX.mjs +6 -0
  102. package/dist/{r2-DQIcyRtA.mjs → r2-CV0IkCAW.mjs} +9 -9
  103. package/dist/r2-data-catalog-NtqGC_a_.mjs +14 -0
  104. package/dist/radar-D986zPJr.mjs +2 -0
  105. package/dist/{rate-limits-DcrQV6Ar.mjs → rate-limits-B2wRsUX1.mjs} +3 -3
  106. package/dist/raw-fetch-_n0lMAnD.mjs +2 -0
  107. package/dist/{realtime-kit-CaquuVOE.mjs → realtime-kit-Ld3c5eU6.mjs} +9 -9
  108. package/dist/{registrar-Ko-xZemf.mjs → registrar-CDIwTz3G.mjs} +6 -6
  109. package/dist/request-tracers-D7SFMDik.mjs +2 -0
  110. package/dist/resource-sharing-YIQ04jXE.mjs +5 -0
  111. package/dist/{resource-tagging-C3qtLzCz.mjs → resource-tagging-Bd6Y03sg.mjs} +7 -7
  112. package/dist/rules-DHjLP5Kx.mjs +4 -0
  113. package/dist/{rulesets-CBgpeSvJ.mjs → rulesets-q4QABpKs.mjs} +7 -7
  114. package/dist/rum-SmT4HZmM.mjs +4 -0
  115. package/dist/{schema-D16TgWBg.mjs → schema-BR31o4P6.mjs} +1 -1
  116. package/dist/{schema-validation-Dgv_opM3.mjs → schema-validation-vVetgC_P.mjs} +5 -5
  117. package/dist/{scim-DdSEr4kZ.mjs → scim-ChOkZpNx.mjs} +2 -2
  118. package/dist/{session-COHHdS7A.mjs → sdk-DhIhH6GB.mjs} +4 -4
  119. package/dist/{secrets-store-7BfyvJLb.mjs → secrets-store-BAK9G12O.mjs} +12 -12
  120. package/dist/security-center-eScuYDKP.mjs +2 -0
  121. package/dist/security-txt-x7R4gmQu.mjs +3 -0
  122. package/dist/session-DHYCE-PM.mjs +93 -0
  123. package/dist/shared-BAjo72Lz.mjs +2 -0
  124. package/dist/{smart-shield-TeWZFnH2.mjs → smart-shield-CWlSsNi8.mjs} +2 -2
  125. package/dist/snippets-DrlgYJYp.mjs +4 -0
  126. package/dist/{spawn-DcppKGI5.mjs → spawn-CCGzKlC4.mjs} +1 -1
  127. package/dist/{spectrum-CTTZID8u.mjs → spectrum-pVGxb7u5.mjs} +6 -6
  128. package/dist/speed-ZFrMWDgd.mjs +4 -0
  129. package/dist/src-DU7FBCOX.mjs +108 -0
  130. package/dist/ssl-9JY05sYt.mjs +15 -0
  131. package/dist/stream-tRU39b8K.mjs +14 -0
  132. package/dist/{tenants-Bd7NGQ_m.mjs → tenants-HLGUazms.mjs} +1 -1
  133. package/dist/{token-validation-DAgtFOvs.mjs → token-validation-_VdamKpz.mjs} +4 -4
  134. package/dist/{tools-DXQmfFuE.mjs → tools-D_hfUU_Z.mjs} +1 -1
  135. package/dist/{turnstile-cfdaO4ca.mjs → turnstile-BRzXd28B.mjs} +4 -4
  136. package/dist/{ui-D4KtlMh9.mjs → ui-erjBdVKL.mjs} +1 -1
  137. package/dist/url-normalization-D-NxuLtN.mjs +3 -0
  138. package/dist/url-scanner-BzzR6iDx.mjs +2 -0
  139. package/dist/{user-CAo-yCJA.mjs → user-C4omq__w.mjs} +2 -2
  140. package/dist/vectorize-By6EqcNR.mjs +4 -0
  141. package/dist/{versions-CUwWJWmy.mjs → versions-CBHwWPAM.mjs} +1 -1
  142. package/dist/{waiting-rooms-Dln5ICg5.mjs → waiting-rooms-u6KwrzWd.mjs} +6 -6
  143. package/dist/{web3-HQJRm38W.mjs → web3-DQ5dmE9W.mjs} +3 -3
  144. package/dist/{workers-Dg7ddG2Q.mjs → workers-D8Be7_as.mjs} +14 -14
  145. package/dist/workers-builds-BE3W3qNk.mjs +7 -0
  146. package/dist/{workflows-VquuSh2J.mjs → workflows-BWWufqFA.mjs} +3 -3
  147. package/dist/zaraz-Bsa9AvVL.mjs +2 -0
  148. package/dist/{zero-trust-CP96wnSh.mjs → zero-trust-UNVZFnKu.mjs} +87 -87
  149. package/dist/zero_trust-B0_Rk4p2.mjs +3 -0
  150. package/dist/zones-BXtdwt6E.mjs +21 -0
  151. package/package.json +4 -4
  152. package/dist/ai-DOOKLPkG.mjs +0 -2
  153. package/dist/ai-gateway-Cj1T3avF.mjs +0 -8
  154. package/dist/ai-search-CQF_Sn7d.mjs +0 -7
  155. package/dist/ai_gateway-C3fH22C0.mjs +0 -4
  156. package/dist/analytics_engine-DdXVR8z2.mjs +0 -2
  157. package/dist/argo-CX_A4kcn.mjs +0 -2
  158. package/dist/audit-logs-BfBf3oo-.mjs +0 -2
  159. package/dist/auth-SyWhMmPu.mjs +0 -6
  160. package/dist/auth-ffdf9yR0.mjs +0 -135
  161. package/dist/autorag-BuGhGTeZ.mjs +0 -2
  162. package/dist/billing-PoG81XaQ.mjs +0 -2
  163. package/dist/bot-management-CFvtVx62.mjs +0 -5
  164. package/dist/botnet-feed-B-M4Yu0W.mjs +0 -3
  165. package/dist/brand-protection-D05Eg-_6.mjs +0 -3
  166. package/dist/browser-rendering-xu8F_Rrv.mjs +0 -4
  167. package/dist/calls-CZbO7TyR.mjs +0 -4
  168. package/dist/certificate-authorities-D2yr7_3t.mjs +0 -2
  169. package/dist/client-certificates-MJcDsTId.mjs +0 -3
  170. package/dist/cloud-connector-DWOrN2eM.mjs +0 -2
  171. package/dist/config-DYzlVxcB.mjs +0 -2
  172. package/dist/connectivity-BX8C7tvK.mjs +0 -3
  173. package/dist/content-scanning-r6uzMO1r.mjs +0 -4
  174. package/dist/context-DGlHRGWM.mjs +0 -2
  175. package/dist/custom-nameservers-D1DtlRue.mjs +0 -3
  176. package/dist/custom-pages-DQCi2plU.mjs +0 -4
  177. package/dist/d1-DbnYhw45.mjs +0 -4
  178. package/dist/data-security-D_EtYBfo.mjs +0 -6
  179. package/dist/dcv-delegation-CHspSzTI.mjs +0 -2
  180. package/dist/diagnostics-BJQGjVJn.mjs +0 -3
  181. package/dist/dist-DNBSHor6.mjs +0 -301
  182. package/dist/dns-firewall-B4DVXFBQ.mjs +0 -57
  183. package/dist/durable-objects-CTboySEo.mjs +0 -2
  184. package/dist/email-sending-DwWKc5jC.mjs +0 -3
  185. package/dist/google-tag-gateway-BGD49nRC.mjs +0 -2
  186. package/dist/hostnames-BiomxukN.mjs +0 -3
  187. package/dist/hyperdrive-Da104VaQ.mjs +0 -18
  188. package/dist/iam-BIGKo0WW.mjs +0 -6
  189. package/dist/images-BO8FbDAa.mjs +0 -5
  190. package/dist/intel-CY6_79v8.mjs +0 -3
  191. package/dist/keyless-certificates-CZC-L8gM.mjs +0 -3
  192. package/dist/leaked-credential-checks-qLzRyu85.mjs +0 -3
  193. package/dist/magic-cloud-networking-CSOM3EM-.mjs +0 -5
  194. package/dist/managed-transforms-D15yVbZx.mjs +0 -3
  195. package/dist/mtls-certificates-D8k0AXWK.mjs +0 -3
  196. package/dist/origin-ca-certificates-DXIvD8H5.mjs +0 -3
  197. package/dist/origin-post-quantum-encryption-C8oOczyV.mjs +0 -2
  198. package/dist/progress-CrCGTq7N.mjs +0 -2
  199. package/dist/queues-CN6DPhRR.mjs +0 -6
  200. package/dist/r2-data-catalog-Bbo93TJx.mjs +0 -14
  201. package/dist/radar-Bxb0WX8V.mjs +0 -2
  202. package/dist/raw-fetch-Dlccg0Tr.mjs +0 -2
  203. package/dist/request-tracers-DOW_reTJ.mjs +0 -2
  204. package/dist/resource-sharing-D7TX0JV0.mjs +0 -5
  205. package/dist/rules-BXRADHL5.mjs +0 -4
  206. package/dist/rum-BjPptTUP.mjs +0 -4
  207. package/dist/security-center-DAy6AKtT.mjs +0 -2
  208. package/dist/security-txt-xAMb7K6Y.mjs +0 -3
  209. package/dist/shared-AGtpXwwL.mjs +0 -2
  210. package/dist/snippets-CCSsCXVs.mjs +0 -4
  211. package/dist/speed-CuzTE0AL.mjs +0 -4
  212. package/dist/src-BW6vfAwE.mjs +0 -108
  213. package/dist/ssl-BWA2LdwC.mjs +0 -15
  214. package/dist/stream-GFsIZ-pP.mjs +0 -14
  215. package/dist/url-normalization-B5RN4nLD.mjs +0 -3
  216. package/dist/url-scanner-BrZ1L9OC.mjs +0 -2
  217. package/dist/vectorize-C7_oQlaI.mjs +0 -4
  218. package/dist/workers-builds-AVfx8IyL.mjs +0 -7
  219. package/dist/zaraz-xYSWIV4P.mjs +0 -2
  220. package/dist/zones-BSgmZ9WC.mjs +0 -21
  221. /package/dist/{body-parser-DKa8Ipg1.mjs → body-parser-DWSy7uZ8.mjs} +0 -0
  222. /package/dist/{cli-types-CRIDdDw3.mjs → cli-types-BeyOc81z.mjs} +0 -0
  223. /package/dist/{input-validation-zEO81MWN.mjs → input-validation-_fMCApaH.mjs} +0 -0
  224. /package/dist/{lib-Eu1wXxuh.mjs → lib-4PQI6yRW.mjs} +0 -0
  225. /package/dist/{local-VJaJ3BZ1.mjs → local-CYc9q7l2.mjs} +0 -0
  226. /package/dist/{metadata-5VwHPW6C.mjs → metadata-OOwvpR8m.mjs} +0 -0
  227. /package/dist/{resolve-4-OSeHlK.mjs → resolve-C3h-mwp7.mjs} +0 -0
  228. /package/dist/{theme-BklJDrb2.mjs → theme-DbNbIY4d.mjs} +0 -0
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import{E as e,S as t,T as n,g as r,w as i}from"./oauth-Bk-F-tIO.mjs";import{n as a}from"./auth-CSC4yhEJ.mjs";import{n as o,t as s}from"./body-parser-DWSy7uZ8.mjs";import{t as c}from"./output-B6fBFRqe.mjs";import{n as l,t as u}from"./progress-DrDErV9w.mjs";import{n as d}from"./input-validation-_fMCApaH.mjs";import{t as f}from"./local-CYc9q7l2.mjs";import{t as p}from"./cli-types-BeyOc81z.mjs";function m(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 h={command:`cancel <build-uuid>`,describe:`Cancel a running or queued build`,builder:m,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds builds cancel`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/builds/${e[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(e[`build-uuid`]))}/cancel`,pathParams:{"build-uuid":String(e[`build-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),i=e.local?f:await r(n);e.accountId=i,c(await u(`Updating`,async()=>n.workersBuilds.builds.cancel({account_id:i,build_uuid:e[`build-uuid`]})),{successLabel:`Updated`})}};function ee(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 g={command:`get <build-uuid>`,describe:`Retrieve detailed information about a specific build`,builder:ee,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds builds get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/builds/${e[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(e[`build-uuid`]))}`,pathParams:{"build-uuid":String(e[`build-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),i=e.local?f:await r(n);e.accountId=i,c(await u(`Loading`,async()=>n.workersBuilds.builds.get({account_id:i,build_uuid:e[`build-uuid`]})),{successLabel:`Loaded`})}};function _(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 v={command:`list`,describe:`Get all builds for a specific worker script with pagination`,builder:_,handler:async e=>{let n={page:e.page,per_page:e[`per-page`]};if(e.dryRun){l({command:`cf workers-builds builds list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/workers/${e[`external-script-id`]==null?`<external-script-id>`:encodeURIComponent(String(e[`external-script-id`]))}/builds`,pathParams:{"external-script-id":String(e[`external-script-id`]??``)},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.builds.list({account_id:o,external_script_id:e[`external-script-id`],...n})),{successLabel:`Loaded`})}};function y(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 b={command:`get <build-uuid>`,describe:`Retrieve logs for a specific build with cursor-based pagination`,builder:y,handler:async e=>{let n={cursor:e.cursor};if(e.dryRun){l({command:`cf workers-builds builds logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/builds/${e[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(e[`build-uuid`]))}/logs`,pathParams:{"build-uuid":String(e[`build-uuid`]??``)},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.builds.logs.get({account_id:o,build_uuid:e[`build-uuid`],...n})),{successLabel:`Loaded`})}},x={command:`logs`,describe:`Operations for builds.logs`,builder:e=>e.command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},S={command:`builds`,describe:`Operations for builds`,builder:e=>e.command(h).command(g).command(v).command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const w={command:`get-account-limits`,describe:`Retrieve account limits and usage information`,builder:C,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds get-account-limits`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/account/limits`,pathParams:{},bodyKind:`none`});return}let n=await a(e),i=e.local?f:await r(n);e.accountId=i,c(await u(`Loading`,async()=>n.workersBuilds.getAccountLimits({account_id:i})),{successLabel:`Loaded`})}};function T(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 E={command:`get-builds-by-version`,describe:`Retrieve builds for specific version IDs`,builder:T,handler:async e=>{let n={version_ids:e[`version-ids`]};if(e.dryRun){l({command:`cf workers-builds get-builds-by-version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/builds`,pathParams:{},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.getBuildsByVersion({account_id:o,...n})),{successLabel:`Loaded`})}};function D(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 O={command:`get-latest-builds`,describe:`Retrieve the most recent builds for multiple worker scripts`,builder:D,handler:async e=>{let n={external_script_ids:e[`external-script-ids`]};if(e.dryRun){l({command:`cf workers-builds get-latest-builds`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/builds/latest`,pathParams:{},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.getLatestBuilds({account_id:o,...n})),{successLabel:`Loaded`})}};function k(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 A={command:`get <repo-id>`,describe:`Analyze repository for automatic configuration detection`,builder:p(k),handler:async e=>{let n={branch:e.branch,root_directory:e[`root-directory`]};if(e.dryRun){l({command:`cf workers-builds repos config-autofill get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/repos/${e[`provider-type`]==null?`<provider-type>`:encodeURIComponent(String(e[`provider-type`]))}/${e[`provider-account-id`]==null?`<provider-account-id>`:encodeURIComponent(String(e[`provider-account-id`]))}/${e[`repo-id`]==null?`<repo-id>`:encodeURIComponent(String(e[`repo-id`]))}/config_autofill`,pathParams:{"provider-type":String(e[`provider-type`]??``),"provider-account-id":String(e[`provider-account-id`]??``),"repo-id":String(e[`repo-id`]??``)},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.repos.configAutofill.get({account_id:o,provider_type:e[`provider-type`],provider_account_id:e[`provider-account-id`],repo_id:e[`repo-id`],...n})),{successLabel:`Loaded`})}},j={command:`config-autofill`,describe:`Operations for repos.config-autofill`,builder:e=>e.command(A).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function M(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 N={command:`delete <repo-connection-uuid>`,describe:`Remove a repository connection`,builder:M,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds repos connections delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/repos/connections/${e[`repo-connection-uuid`]==null?`<repo-connection-uuid>`:encodeURIComponent(String(e[`repo-connection-uuid`]))}`,pathParams:{"repo-connection-uuid":String(e[`repo-connection-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),o=e.local?f:await r(n);if(e.accountId=o,!await i({force:!!e.force})){process.stderr.write(`Aborted.
3
+ `);return}c(await u(`Deleting`,async()=>n.workersBuilds.repos.connections.delete({account_id:o,repo_connection_uuid:e[`repo-connection-uuid`]})),{successLabel:`Deleted`})}};function P(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 F={command:`upsert`,describe:`Upsert a repository connection for CI/CD integration`,builder:P,handler:async i=>{if(i.dryRun){l({command:`cf workers-builds repos connections upsert`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/repos/connections`,pathParams:{},bodyKind:`json`,body:i.body===void 0?s({provider_account_id:d(i[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:d(i[`provider-account-name`],`provider-account-name`,`text`),provider_type:d(i[`provider-type`],`provider-type`,`text`),repo_id:d(i[`repo-id`],`repo-id`,`text`),repo_name:d(i[`repo-name`],`repo-name`,`text`)}):o(i.body)});return}let p=await a(i),m=i.local?f:await r(p);if(i.accountId=m,i.body){let e=o(i.body);c(await u(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...e,account_id:m})),{successLabel:`Updated`});return}i[`provider-account-id`]===void 0&&(i[`provider-account-id`]=await e(`provider-account-id`,`Provider account identifier.`)),i[`provider-account-name`]===void 0&&(i[`provider-account-name`]=await e(`provider-account-name`,`The provider_account_name field`)),i[`provider-type`]===void 0&&(i[`provider-type`]=await n(`provider-type`,`The provider_type field`,[`github`,`gitlab`,`gitlab_internal`])),i[`repo-id`]===void 0&&(i[`repo-id`]=await e(`repo-id`,`Repository identifier.`)),i[`repo-name`]===void 0&&(i[`repo-name`]=await e(`repo-name`,`The repo_name field`));let h=s({provider_account_id:d(i[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:d(i[`provider-account-name`],`provider-account-name`,`text`),provider_type:d(i[`provider-type`],`provider-type`,`text`),repo_id:d(i[`repo-id`],`repo-id`,`text`),repo_name:d(i[`repo-name`],`repo-name`,`text`)});c(await u(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...h,account_id:m})),{successLabel:`Updated`})}},I={command:`connections`,describe:`Operations for repos.connections`,builder:e=>e.command(N).command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},L={command:`repos`,describe:`Operations for repos`,builder:e=>e.command(j).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function R(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:R,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds tokens create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/tokens`,pathParams:{},bodyKind:`json`,body:n.body===void 0?s({build_token_name:d(n[`build-token-name`],`build-token-name`,`text`),build_token_secret:d(n[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:d(n[`cloudflare-token-id`],`cloudflare-token-id`,`text`)}):o(n.body)});return}let i=await a(n),p=n.local?f:await r(i);if(n.accountId=p,n.body){let e=o(n.body);c(await u(`Creating`,async()=>i.workersBuilds.tokens.create({...e,account_id:p})),{successLabel:`Created`});return}n[`build-token-name`]===void 0&&(n[`build-token-name`]=await e(`build-token-name`,`The build_token_name field`)),n[`build-token-secret`]===void 0&&(n[`build-token-secret`]=await e(`build-token-secret`,`The build_token_secret field`)),n[`cloudflare-token-id`]===void 0&&(n[`cloudflare-token-id`]=await e(`cloudflare-token-id`,`The cloudflare_token_id field`));let m=s({build_token_name:d(n[`build-token-name`],`build-token-name`,`text`),build_token_secret:d(n[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:d(n[`cloudflare-token-id`],`cloudflare-token-id`,`text`)});c(await u(`Creating`,async()=>i.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 B={command:`delete <build-token-uuid>`,describe:`Remove a build authentication token`,builder:te,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds tokens delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/tokens/${e[`build-token-uuid`]==null?`<build-token-uuid>`:encodeURIComponent(String(e[`build-token-uuid`]))}`,pathParams:{"build-token-uuid":String(e[`build-token-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),o=e.local?f:await r(n);if(e.accountId=o,!await i({force:!!e.force})){process.stderr.write(`Aborted.
4
+ `);return}c(await u(`Deleting`,async()=>n.workersBuilds.tokens.delete({account_id:o,build_token_uuid:e[`build-token-uuid`]})),{successLabel:`Deleted`})}};function V(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 H={command:`list`,describe:`Get all build tokens with pagination`,builder:V,handler:async e=>{let n={page:e.page,per_page:e[`per-page`]};if(e.dryRun){l({command:`cf workers-builds tokens list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/tokens`,pathParams:{},query:n,bodyKind:`none`});return}let i=await a(e),o=e.local?f:await r(i);e.accountId=o,c(await u(`Loading`,async()=>i.workersBuilds.tokens.list({account_id:o,...n})),{successLabel:`Loaded`})}},U={command:`tokens`,describe:`Operations for tokens`,builder:e=>e.command(z).command(B).command(H).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function W(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 G={command:`create-build <trigger-uuid>`,describe:`Trigger a manual build for a specific trigger`,builder:W,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers create-build`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}/builds`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`json`,body:e.body===void 0?s({seed_repo:{branch:d(e[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:d(e[`seed-repo-owner`],`seed-repo-owner`,`text`),path:d(e[`seed-repo-path`],`seed-repo-path`,`text`),provider:d(e[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:d(e[`seed-repo-repository`],`seed-repo-repository`,`text`)}}):o(e.body)});return}let n=await a(e),i=e.local?f:await r(n);if(e.accountId=i,e.body){let t=o(e.body);c(await u(`Creating`,async()=>n.workersBuilds.triggers.createBuild({...t,account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Created`});return}let p=s({seed_repo:{branch:d(e[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:d(e[`seed-repo-owner`],`seed-repo-owner`,`text`),path:d(e[`seed-repo-path`],`seed-repo-path`,`text`),provider:d(e[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:d(e[`seed-repo-repository`],`seed-repo-repository`,`text`)}});c(await u(`Creating`,async()=>n.workersBuilds.triggers.createBuild({...p,account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Created`})}};function K(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 q={command:`create`,describe:`Create a new CI/CD trigger`,builder:K,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds triggers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers`,pathParams:{},bodyKind:`json`,body:n.body===void 0?s({branch_excludes:n[`branch-excludes`],branch_includes:n[`branch-includes`],build_caching_enabled:n[`build-caching-enabled`],build_command:d(n[`build-command`],`build-command`,`text`),build_token_uuid:d(n[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:d(n[`deploy-command`],`deploy-command`,`text`),external_script_id:d(n[`external-script-id`],`external-script-id`,`text`),path_excludes:n[`path-excludes`],path_includes:n[`path-includes`],repo_connection_uuid:d(n[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:d(n[`root-directory`],`root-directory`,`text`),trigger_name:d(n[`trigger-name`],`trigger-name`,`text`)}):o(n.body)});return}let i=await a(n),p=n.local?f:await r(i);if(n.accountId=p,n.body){let e=o(n.body);c(await u(`Creating`,async()=>i.workersBuilds.triggers.create({...e,account_id:p})),{successLabel:`Created`});return}if(n[`branch-excludes`]===void 0)throw Error(`--branch-excludes is required (or pass --body with this field set).`);if(n[`branch-includes`]===void 0)throw Error(`--branch-includes is required (or pass --body with this field set).`);if(n[`build-command`]===void 0&&(n[`build-command`]=await e(`build-command`,`The build_command field`)),n[`build-token-uuid`]===void 0&&(n[`build-token-uuid`]=await e(`build-token-uuid`,`Build token UUID.`)),n[`deploy-command`]===void 0&&(n[`deploy-command`]=await e(`deploy-command`,`The deploy_command field`)),n[`external-script-id`]===void 0&&(n[`external-script-id`]=await e(`external-script-id`,`System-generated worker script tag.`)),n[`path-excludes`]===void 0)throw Error(`--path-excludes is required (or pass --body with this field set).`);if(n[`path-includes`]===void 0)throw Error(`--path-includes is required (or pass --body with this field set).`);n[`repo-connection-uuid`]===void 0&&(n[`repo-connection-uuid`]=await e(`repo-connection-uuid`,`Repository connection UUID.`)),n[`root-directory`]===void 0&&(n[`root-directory`]=await e(`root-directory`,`Root directory path.`)),n[`trigger-name`]===void 0&&(n[`trigger-name`]=await e(`trigger-name`,`The trigger_name field`));let m=s({branch_excludes:n[`branch-excludes`],branch_includes:n[`branch-includes`],build_caching_enabled:n[`build-caching-enabled`],build_command:d(n[`build-command`],`build-command`,`text`),build_token_uuid:d(n[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:d(n[`deploy-command`],`deploy-command`,`text`),external_script_id:d(n[`external-script-id`],`external-script-id`,`text`),path_excludes:n[`path-excludes`],path_includes:n[`path-includes`],repo_connection_uuid:d(n[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:d(n[`root-directory`],`root-directory`,`text`),trigger_name:d(n[`trigger-name`],`trigger-name`,`text`)});c(await u(`Creating`,async()=>i.workersBuilds.triggers.create({...m,account_id:p})),{successLabel:`Created`})}};function J(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 Y={command:`delete <trigger-uuid>`,describe:`Remove a CI/CD trigger`,builder:J,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),o=e.local?f:await r(n);if(e.accountId=o,!await i({force:!!e.force})){process.stderr.write(`Aborted.
5
+ `);return}c(await u(`Deleting`,async()=>n.workersBuilds.triggers.delete({account_id:o,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Deleted`})}};function X(e){return e.positional(`environment-variable-key`,{type:`string`,description:`Environment variable key.`,demandOption:!0}).option(`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 Z={command:`delete <environment-variable-key>`,describe:`Remove a specific environment variable from a trigger`,builder:X,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers environment-variables delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}/environment_variables/${e[`environment-variable-key`]==null?`<environment-variable-key>`:encodeURIComponent(String(e[`environment-variable-key`]))}`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``),"environment-variable-key":String(e[`environment-variable-key`]??``)},bodyKind:`none`});return}let n=await a(e),o=e.local?f:await r(n);if(e.accountId=o,!await i({force:!!e.force})){process.stderr.write(`Aborted.
6
+ `);return}c(await u(`Deleting`,async()=>n.workersBuilds.triggers.environmentVariables.delete({account_id:o,trigger_uuid:e[`trigger-uuid`],environment_variable_key:e[`environment-variable-key`]})),{successLabel:`Deleted`})}};function Q(e){return e.option(`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})}const ne={command:`list`,describe:`Get all environment variables for a trigger`,builder:Q,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers environment-variables list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}/environment_variables`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),i=e.local?f:await r(n);e.accountId=i,c(await u(`Loading`,async()=>n.workersBuilds.triggers.environmentVariables.list({account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Loaded`})}};function re(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(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ie={command:`upsert <trigger-uuid>`,describe:`Create or update environment variables for a trigger`,builder:re,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers environment-variables upsert`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}/environment_variables`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:o(e.body)});return}let n=await a(e),i=e.local?f:await r(n);if(e.accountId=i,e.body){let t=o(e.body);c(await u(`Updating`,async()=>n.workersBuilds.triggers.environmentVariables.upsert({body:t,account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Updated`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},ae={command:`environment-variables`,describe:`Operations for triggers.environment-variables`,builder:e=>e.command(Z).command(ne).command(ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function oe(e){return e.option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const $={command:`list`,describe:`Get all triggers for a specific worker script`,builder:oe,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/workers/${e[`external-script-id`]==null?`<external-script-id>`:encodeURIComponent(String(e[`external-script-id`]))}/triggers`,pathParams:{"external-script-id":String(e[`external-script-id`]??``)},bodyKind:`none`});return}let n=await a(e),i=e.local?f:await r(n);e.accountId=i,c(await u(`Loading`,async()=>n.workersBuilds.triggers.list({account_id:i,external_script_id:e[`external-script-id`]})),{successLabel:`Loaded`})}};function se(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 ce={command:`purge-cache <trigger-uuid>`,describe:`Clear the build cache for a specific trigger`,builder:se,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers purge-cache`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}/purge_build_cache`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`none`});return}let n=await a(e),o=e.local?f:await r(n);if(e.accountId=o,!await i({force:!!e.force,message:`This operation wipes the workers-build cache.`})){process.stderr.write(`Aborted.
7
+ `);return}c(await u(`Deleting`,async()=>n.workersBuilds.triggers.purgeCache({account_id:o,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Deleted`})}};function le(e){return e.positional(`trigger-uuid`,{type:`string`,description:`Trigger UUID.`,demandOption:!0}).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`}).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(`path-excludes`,{type:`string`,array:!0,description:`The path_excludes field`}).option(`path-includes`,{type:`string`,array:!0,description:`The path_includes field`}).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 ue={command:`update <trigger-uuid>`,describe:`Update an existing CI/CD trigger`,builder:le,handler:async e=>{if(e.dryRun){l({command:`cf workers-builds triggers update`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/builds/triggers/${e[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(e[`trigger-uuid`]))}`,pathParams:{"trigger-uuid":String(e[`trigger-uuid`]??``)},bodyKind:`json`,body:e.body===void 0?s({branch_excludes:e[`branch-excludes`],branch_includes:e[`branch-includes`],build_caching_enabled:e[`build-caching-enabled`],build_command:d(e[`build-command`],`build-command`,`text`),build_token_uuid:d(e[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:d(e[`deploy-command`],`deploy-command`,`text`),path_excludes:e[`path-excludes`],path_includes:e[`path-includes`],root_directory:d(e[`root-directory`],`root-directory`,`text`),trigger_name:d(e[`trigger-name`],`trigger-name`,`text`)}):o(e.body)});return}let n=await a(e),i=e.local?f:await r(n);if(e.accountId=i,e.body){let t=o(e.body);c(await u(`Updating`,async()=>n.workersBuilds.triggers.update({...t,account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Updated`});return}let p=s({branch_excludes:e[`branch-excludes`],branch_includes:e[`branch-includes`],build_caching_enabled:e[`build-caching-enabled`],build_command:d(e[`build-command`],`build-command`,`text`),build_token_uuid:d(e[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:d(e[`deploy-command`],`deploy-command`,`text`),path_excludes:e[`path-excludes`],path_includes:e[`path-includes`],root_directory:d(e[`root-directory`],`root-directory`,`text`),trigger_name:d(e[`trigger-name`],`trigger-name`,`text`)});c(await u(`Updating`,async()=>n.workersBuilds.triggers.update({...p,account_id:i,trigger_uuid:e[`trigger-uuid`]})),{successLabel:`Updated`})}},de={command:`triggers`,describe:`Operations for triggers`,builder:e=>e.command(q).command(G).command(Y).command($).command(ce).command(ue).command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},fe={command:`workers-builds`,describe:`Automated build and deployment pipeline for Workers — track builds, logs, and repo connections`,builder:e=>e.command(w).command(E).command(O).command(S).command(L).command(U).command(de).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{fe as default};
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import{C as e,D as t,E as n,T as r,_ as i,i as a,n as o}from"./auth-ffdf9yR0.mjs";import{n as s,t as c}from"./body-parser-DKa8Ipg1.mjs";import{t as l}from"./output-BJFNwj7b.mjs";import{n as u,t as d}from"./progress-CrCGTq7N.mjs";import{n as f}from"./input-validation-zEO81MWN.mjs";import{t as p}from"./local-VJaJ3BZ1.mjs";import{t as m}from"./cli-types-CRIDdDw3.mjs";function h(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 g={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:h,handler:async t=>{if(t.dryRun){u({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(t),a=t.local?p:await i(n);if(t.accountId=a,!await r({force:!!t.force})){process.stderr.write(`Aborted.
3
- `);return}l(await d(`Deleting`,async()=>n.workflows.delete({account_id:a,workflow_name:t[`workflow-name`]})),{successLabel:`Deleted`})}};function _(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 v={command:`get <workflow-name>`,describe:`Retrieves configuration and metadata for a specific workflow.`,builder:_,handler:async t=>{if(t.dryRun){u({command:`cf workflows get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Loading`,async()=>n.workflows.get({account_id:r,workflow_name:t[`workflow-name`]})),{successLabel:`Loaded`})}};function y(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}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const b={command:`batch-terminate <workflow-name>`,describe:`Terminates multiple workflow instances in a single batch operation.`,builder:y,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances batch-terminate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/batch/terminate`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:s(t.body)});return}let n=await o(t),c=t.local?p:await i(n);if(t.accountId=c,!await r({force:!!t.force,message:`This operation terminates running instances in bulk.`})){process.stderr.write(`Aborted.
4
- `);return}if(t.body){let e=s(t.body);if(Array.isArray(e)&&e.length>100){let r=Math.ceil(e.length/100),i=null;for(let o=0;o<e.length;o+=100){let s=e.slice(o,o+100);i=await d(`Deleting: batch ${Math.floor(o/100)+1}/${r}`,async()=>a(n,`POST`,`/accounts/${c}/workflows/${encodeURIComponent(String(t[`workflow-name`]))}/instances/batch/terminate`,{body:s}))}l(i,{successLabel:`Deleted`});return}l(await d(`Deleting`,async()=>a(n,`POST`,`/accounts/${c}/workflows/${encodeURIComponent(String(t[`workflow-name`]))}/instances/batch/terminate`,{body:e})),{successLabel:`Deleted`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function x(e){return e.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(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const S={command:`bulk`,describe:`Creates multiple workflow instances in a single batch operation.`,builder:x,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances bulk`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/batch`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`json`,body:t.body===void 0?void 0:s(t.body)});return}let n=await o(t),r=t.local?p:await i(n);if(t.accountId=r,t.body){let e=s(t.body);if(Array.isArray(e)&&e.length>100){let i=Math.ceil(e.length/100),o=null;for(let s=0;s<e.length;s+=100){let c=e.slice(s,s+100);o=await d(`Creating: batch ${Math.floor(s/100)+1}/${i}`,async()=>a(n,`POST`,`/accounts/${r}/workflows/${encodeURIComponent(String(t[`workflow-name`]))}/instances/batch`,{body:c}))}l(o,{successLabel:`Created`});return}l(await d(`Creating`,async()=>a(n,`POST`,`/accounts/${r}/workflows/${encodeURIComponent(String(t[`workflow-name`]))}/instances/batch`,{body:e})),{successLabel:`Created`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function C(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:`The instance_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 w={command:`create <workflow-name>`,describe:`Creates a new instance of a workflow, starting its execution.`,builder:C,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`json`,body:t.body===void 0?c({instance_id:f(t[`instance-id`],`instance-id`,`text`)}):s(t.body)});return}let n=await o(t),r=t.local?p:await i(n);if(t.accountId=r,t.body){let e=s(t.body);l(await d(`Creating`,async()=>n.workflows.instances.create({...e,account_id:r,workflow_name:t[`workflow-name`]})),{successLabel:`Created`});return}let a=c({instance_id:f(t[`instance-id`],`instance-id`,`text`)});l(await d(`Creating`,async()=>n.workflows.instances.create({...a,account_id:r,workflow_name:t[`workflow-name`]})),{successLabel:`Created`})}};function T(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 E={command:`create <event-type>`,describe:`Sends an event to a running workflow instance to trigger state transitions.`,builder:T,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances events create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/${t[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(t[`instance-id`]))}/events/${t[`event-type`]==null?`<event-type>`:encodeURIComponent(String(t[`event-type`]))}`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"instance-id":String(t[`instance-id`]??``),"event-type":String(t[`event-type`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Creating`,async()=>n.workflows.instances.events.create({account_id:r,workflow_name:t[`workflow-name`],instance_id:t[`instance-id`],event_type:t[`event-type`]})),{successLabel:`Created`})}},D={command:`events`,describe:`Workflow instance operations`,builder:e=>e.command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(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 k={command:`get <instance-id>`,describe:`Retrieves logs and execution status for a specific workflow instance.`,builder:m(O),handler:async t=>{let n={simple:t.simple,order:t.order};if(t.dryRun){u({command:`cf workflows instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/${t[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(t[`instance-id`]))}`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"instance-id":String(t[`instance-id`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?p:await i(r);t.accountId=a,l(await d(`Loading`,async()=>r.workflows.instances.get({account_id:a,workflow_name:t[`workflow-name`],instance_id:t[`instance-id`],...n})),{successLabel:`Loaded`})}};function A(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 j={command:`list`,describe:`Lists all instances of a workflow with their execution status.`,builder:m(A),handler:async t=>{let n={page:t.page,per_page:t[`per-page`],cursor:t.cursor,direction:t.direction,status:t.status,date_start:t[`date-start`],date_end:t[`date-end`]};if(t.dryRun){u({command:`cf workflows instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?p:await i(r);t.accountId=a,l(await d(`Loading`,async()=>r.workflows.instances.list({account_id:a,workflow_name:t[`workflow-name`],...n})),{successLabel:`Loaded`})}};function M(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 N={command:`status-terminate <workflow-name>`,describe:`Gets the status of a bulk workflow instance termination job.`,builder:M,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances status-terminate`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/terminate`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Loading`,async()=>n.workflows.instances.statusTerminate({account_id:r,workflow_name:t[`workflow-name`]})),{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:`edit <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:P,handler:async t=>{if(t.dryRun){u({command:`cf workflows instances status edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/instances/${t[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(t[`instance-id`]))}/status`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"instance-id":String(t[`instance-id`]??``)},bodyKind:`json`,body:t.body===void 0?c({status:f(t.status,`status`,`text`),rollback:t.rollback,from:{count:t[`from-count`],name:f(t[`from-name`],`from-name`,`text`),type:f(t[`from-type`],`from-type`,`text`)}}):s(t.body)});return}let r=await o(t),a=t.local?p:await i(r);if(t.accountId=a,t.body){let e=s(t.body);l(await d(`Updating`,async()=>r.workflows.instances.status.edit({body:e,account_id:a,workflow_name:t[`workflow-name`],instance_id:t[`instance-id`]})),{successLabel:`Updated`});return}t.status===void 0&&(t.status=await n(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=c({status:f(t.status,`status`,`text`),rollback:t.rollback,from:{count:t[`from-count`],name:f(t[`from-name`],`from-name`,`text`),type:f(t[`from-type`],`from-type`,`text`)}});l(await d(`Updating`,async()=>r.workflows.instances.status.edit({body:m,account_id:a,workflow_name:t[`workflow-name`],instance_id:t[`instance-id`]})),{successLabel:`Updated`})}},I={command:`status`,describe:`Workflow instance operations`,builder:e=>e.command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},L={command:`instances`,describe:`Workflow instance operations`,builder:e=>e.command(b).command(S).command(w).command(k).command(j).command(N).command(D).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function R(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 z={command:`list`,describe:`Lists all workflows configured for the account.`,builder:R,handler:async t=>{let n={per_page:t[`per-page`],page:t.page,search:t.search};if(t.dryRun){u({command:`cf workflows list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?p:await i(r);t.accountId=a,l(await d(`Loading`,async()=>r.workflows.list({account_id:a,...n})),{successLabel:`Loaded`})}};function B(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`class-name`,{type:`string`,description:`The class_name field`}).option(`limits-steps`,{type:`number`,description:`The limits.steps field`}).option(`script-name`,{type:`string`,description:`The script_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 V={command:`update <workflow-name>`,describe:`Creates a new workflow or updates an existing workflow definition.`,builder:B,handler:async n=>{if(n.dryRun){u({command:`cf workflows update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${n[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(n[`workflow-name`]))}`,pathParams:{"workflow-name":String(n[`workflow-name`]??``)},bodyKind:`json`,body:n.body===void 0?c({class_name:f(n[`class-name`],`class-name`,`text`),limits:{steps:n[`limits-steps`]},script_name:f(n[`script-name`],`script-name`,`text`)}):s(n.body)});return}let r=await o(n),a=n.local?p:await i(r);if(n.accountId=a,n.body){let e=s(n.body);l(await d(`Updating`,async()=>r.workflows.update({...e,account_id:a,workflow_name:n[`workflow-name`]})),{successLabel:`Updated`});return}n[`class-name`]===void 0&&(n[`class-name`]=await t(`class-name`,`The class_name field`)),n[`script-name`]===void 0&&(n[`script-name`]=await t(`script-name`,`The script_name field`));let m=c({class_name:f(n[`class-name`],`class-name`,`text`),limits:{steps:n[`limits-steps`]},script_name:f(n[`script-name`],`script-name`,`text`)});l(await d(`Updating`,async()=>r.workflows.update({...m,account_id:a,workflow_name:n[`workflow-name`]})),{successLabel:`Updated`})}};function H(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 U={command:`dag <version-id>`,describe:`Retrieves the directed acyclic graph (DAG) representation of a workflow version.`,builder:H,handler:async t=>{if(t.dryRun){u({command:`cf workflows versions dag`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/versions/${t[`version-id`]==null?`<version-id>`:encodeURIComponent(String(t[`version-id`]))}/dag`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"version-id":String(t[`version-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Loading`,async()=>n.workflows.versions.dag({account_id:r,workflow_name:t[`workflow-name`],version_id:t[`version-id`]})),{successLabel:`Loaded`})}};function W(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 G={command:`get <version-id>`,describe:`Retrieves details for a specific deployed workflow version.`,builder:W,handler:async t=>{if(t.dryRun){u({command:`cf workflows versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/versions/${t[`version-id`]==null?`<version-id>`:encodeURIComponent(String(t[`version-id`]))}`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"version-id":String(t[`version-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Loading`,async()=>n.workflows.versions.get({account_id:r,workflow_name:t[`workflow-name`],version_id:t[`version-id`]})),{successLabel:`Loaded`})}};function K(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 q={command:`graph <version-id>`,describe:`Retrieves the graph visualization of a workflow version.`,builder:K,handler:async t=>{if(t.dryRun){u({command:`cf workflows versions graph`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/versions/${t[`version-id`]==null?`<version-id>`:encodeURIComponent(String(t[`version-id`]))}/graph`,pathParams:{"workflow-name":String(t[`workflow-name`]??``),"version-id":String(t[`version-id`]??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?p:await i(n);t.accountId=r,l(await d(`Loading`,async()=>n.workflows.versions.graph({account_id:r,workflow_name:t[`workflow-name`],version_id:t[`version-id`]})),{successLabel:`Loaded`})}};function J(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 Y={command:`list`,describe:`Lists all deployed versions of a workflow.`,builder:J,handler:async t=>{let n={per_page:t[`per-page`],page:t.page};if(t.dryRun){u({command:`cf workflows versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${e()??`<account-id>`}/workflows/${t[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(t[`workflow-name`]))}/versions`,pathParams:{"workflow-name":String(t[`workflow-name`]??``)},query:n,bodyKind:`none`});return}let r=await o(t),a=t.local?p:await i(r);t.accountId=a,l(await d(`Loading`,async()=>r.workflows.versions.list({account_id:a,workflow_name:t[`workflow-name`],...n})),{successLabel:`Loaded`})}},X={command:`versions`,describe:`Workflow version operations`,builder:e=>e.command(U).command(G).command(q).command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Z={command:`workflows`,describe:`Durable, multi-step workflows that run on Workers with automatic retries and state persistence`,builder:e=>e.command(g).command(v).command(z).command(V).command(L).command(X).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Z as default};
2
+ import{E as e,S as t,T as n,g as r,w as i}from"./oauth-Bk-F-tIO.mjs";import{i as a,n as o}from"./auth-CSC4yhEJ.mjs";import{n as s,t as c}from"./body-parser-DWSy7uZ8.mjs";import{t as l}from"./output-B6fBFRqe.mjs";import{n as u,t as d}from"./progress-DrDErV9w.mjs";import{n as f}from"./input-validation-_fMCApaH.mjs";import{t as p}from"./local-CYc9q7l2.mjs";import{t as m}from"./cli-types-BeyOc81z.mjs";function h(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 g={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:h,handler:async e=>{if(e.dryRun){u({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(e),a=e.local?p:await r(n);if(e.accountId=a,!await i({force:!!e.force})){process.stderr.write(`Aborted.
3
+ `);return}l(await d(`Deleting`,async()=>n.workflows.delete({account_id:a,workflow_name:e[`workflow-name`]})),{successLabel:`Deleted`})}};function _(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 v={command:`get <workflow-name>`,describe:`Retrieves configuration and metadata for a specific workflow.`,builder:_,handler:async e=>{if(e.dryRun){u({command:`cf workflows get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Loading`,async()=>n.workflows.get({account_id:i,workflow_name:e[`workflow-name`]})),{successLabel:`Loaded`})}};function y(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}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const b={command:`batch-terminate <workflow-name>`,describe:`Terminates multiple workflow instances in a single batch operation.`,builder:y,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances batch-terminate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/batch/terminate`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:s(e.body)});return}let n=await o(e),c=e.local?p:await r(n);if(e.accountId=c,!await i({force:!!e.force,message:`This operation terminates running instances in bulk.`})){process.stderr.write(`Aborted.
4
+ `);return}if(e.body){let t=s(e.body);if(Array.isArray(t)&&t.length>100){let r=Math.ceil(t.length/100),i=null;for(let o=0;o<t.length;o+=100){let s=t.slice(o,o+100);i=await d(`Deleting: batch ${Math.floor(o/100)+1}/${r}`,async()=>a(n,`POST`,`/accounts/${c}/workflows/${encodeURIComponent(String(e[`workflow-name`]))}/instances/batch/terminate`,{body:s}))}l(i,{successLabel:`Deleted`});return}l(await d(`Deleting`,async()=>a(n,`POST`,`/accounts/${c}/workflows/${encodeURIComponent(String(e[`workflow-name`]))}/instances/batch/terminate`,{body:t})),{successLabel:`Deleted`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function x(e){return e.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(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const S={command:`bulk`,describe:`Creates multiple workflow instances in a single batch operation.`,builder:x,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances bulk`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/batch`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:s(e.body)});return}let n=await o(e),i=e.local?p:await r(n);if(e.accountId=i,e.body){let t=s(e.body);if(Array.isArray(t)&&t.length>100){let r=Math.ceil(t.length/100),o=null;for(let s=0;s<t.length;s+=100){let c=t.slice(s,s+100);o=await d(`Creating: batch ${Math.floor(s/100)+1}/${r}`,async()=>a(n,`POST`,`/accounts/${i}/workflows/${encodeURIComponent(String(e[`workflow-name`]))}/instances/batch`,{body:c}))}l(o,{successLabel:`Created`});return}l(await d(`Creating`,async()=>a(n,`POST`,`/accounts/${i}/workflows/${encodeURIComponent(String(e[`workflow-name`]))}/instances/batch`,{body:t})),{successLabel:`Created`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function C(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:`The instance_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 w={command:`create <workflow-name>`,describe:`Creates a new instance of a workflow, starting its execution.`,builder:C,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`json`,body:e.body===void 0?c({instance_id:f(e[`instance-id`],`instance-id`,`text`)}):s(e.body)});return}let n=await o(e),i=e.local?p:await r(n);if(e.accountId=i,e.body){let t=s(e.body);l(await d(`Creating`,async()=>n.workflows.instances.create({...t,account_id:i,workflow_name:e[`workflow-name`]})),{successLabel:`Created`});return}let a=c({instance_id:f(e[`instance-id`],`instance-id`,`text`)});l(await d(`Creating`,async()=>n.workflows.instances.create({...a,account_id:i,workflow_name:e[`workflow-name`]})),{successLabel:`Created`})}};function T(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 E={command:`create <event-type>`,describe:`Sends an event to a running workflow instance to trigger state transitions.`,builder:T,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances events create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/${e[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(e[`instance-id`]))}/events/${e[`event-type`]==null?`<event-type>`:encodeURIComponent(String(e[`event-type`]))}`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"instance-id":String(e[`instance-id`]??``),"event-type":String(e[`event-type`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Creating`,async()=>n.workflows.instances.events.create({account_id:i,workflow_name:e[`workflow-name`],instance_id:e[`instance-id`],event_type:e[`event-type`]})),{successLabel:`Created`})}},D={command:`events`,describe:`Workflow instance operations`,builder:e=>e.command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(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 k={command:`get <instance-id>`,describe:`Retrieves logs and execution status for a specific workflow instance.`,builder:m(O),handler:async e=>{let n={simple:e.simple,order:e.order};if(e.dryRun){u({command:`cf workflows instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/${e[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(e[`instance-id`]))}`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"instance-id":String(e[`instance-id`]??``)},query:n,bodyKind:`none`});return}let i=await o(e),a=e.local?p:await r(i);e.accountId=a,l(await d(`Loading`,async()=>i.workflows.instances.get({account_id:a,workflow_name:e[`workflow-name`],instance_id:e[`instance-id`],...n})),{successLabel:`Loaded`})}};function A(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 j={command:`list`,describe:`Lists all instances of a workflow with their execution status.`,builder:m(A),handler:async e=>{let n={page:e.page,per_page:e[`per-page`],cursor:e.cursor,direction:e.direction,status:e.status,date_start:e[`date-start`],date_end:e[`date-end`]};if(e.dryRun){u({command:`cf workflows instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},query:n,bodyKind:`none`});return}let i=await o(e),a=e.local?p:await r(i);e.accountId=a,l(await d(`Loading`,async()=>i.workflows.instances.list({account_id:a,workflow_name:e[`workflow-name`],...n})),{successLabel:`Loaded`})}};function M(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 N={command:`status-terminate <workflow-name>`,describe:`Gets the status of a bulk workflow instance termination job.`,builder:M,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances status-terminate`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/terminate`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Loading`,async()=>n.workflows.instances.statusTerminate({account_id:i,workflow_name:e[`workflow-name`]})),{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:`edit <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:P,handler:async e=>{if(e.dryRun){u({command:`cf workflows instances status edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/instances/${e[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(e[`instance-id`]))}/status`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"instance-id":String(e[`instance-id`]??``)},bodyKind:`json`,body:e.body===void 0?c({status:f(e.status,`status`,`text`),rollback:e.rollback,from:{count:e[`from-count`],name:f(e[`from-name`],`from-name`,`text`),type:f(e[`from-type`],`from-type`,`text`)}}):s(e.body)});return}let i=await o(e),a=e.local?p:await r(i);if(e.accountId=a,e.body){let t=s(e.body);l(await d(`Updating`,async()=>i.workflows.instances.status.edit({body:t,account_id:a,workflow_name:e[`workflow-name`],instance_id:e[`instance-id`]})),{successLabel:`Updated`});return}e.status===void 0&&(e.status=await n(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=c({status:f(e.status,`status`,`text`),rollback:e.rollback,from:{count:e[`from-count`],name:f(e[`from-name`],`from-name`,`text`),type:f(e[`from-type`],`from-type`,`text`)}});l(await d(`Updating`,async()=>i.workflows.instances.status.edit({body:m,account_id:a,workflow_name:e[`workflow-name`],instance_id:e[`instance-id`]})),{successLabel:`Updated`})}},I={command:`status`,describe:`Workflow instance operations`,builder:e=>e.command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},L={command:`instances`,describe:`Workflow instance operations`,builder:e=>e.command(b).command(S).command(w).command(k).command(j).command(N).command(D).command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function R(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 z={command:`list`,describe:`Lists all workflows configured for the account.`,builder:R,handler:async e=>{let n={per_page:e[`per-page`],page:e.page,search:e.search};if(e.dryRun){u({command:`cf workflows list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows`,pathParams:{},query:n,bodyKind:`none`});return}let i=await o(e),a=e.local?p:await r(i);e.accountId=a,l(await d(`Loading`,async()=>i.workflows.list({account_id:a,...n})),{successLabel:`Loaded`})}};function B(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`class-name`,{type:`string`,description:`The class_name field`}).option(`limits-steps`,{type:`number`,description:`The limits.steps field`}).option(`script-name`,{type:`string`,description:`The script_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 V={command:`update <workflow-name>`,describe:`Creates a new workflow or updates an existing workflow definition.`,builder:B,handler:async n=>{if(n.dryRun){u({command:`cf workflows update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${n[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(n[`workflow-name`]))}`,pathParams:{"workflow-name":String(n[`workflow-name`]??``)},bodyKind:`json`,body:n.body===void 0?c({class_name:f(n[`class-name`],`class-name`,`text`),limits:{steps:n[`limits-steps`]},script_name:f(n[`script-name`],`script-name`,`text`)}):s(n.body)});return}let i=await o(n),a=n.local?p:await r(i);if(n.accountId=a,n.body){let e=s(n.body);l(await d(`Updating`,async()=>i.workflows.update({...e,account_id:a,workflow_name:n[`workflow-name`]})),{successLabel:`Updated`});return}n[`class-name`]===void 0&&(n[`class-name`]=await e(`class-name`,`The class_name field`)),n[`script-name`]===void 0&&(n[`script-name`]=await e(`script-name`,`The script_name field`));let m=c({class_name:f(n[`class-name`],`class-name`,`text`),limits:{steps:n[`limits-steps`]},script_name:f(n[`script-name`],`script-name`,`text`)});l(await d(`Updating`,async()=>i.workflows.update({...m,account_id:a,workflow_name:n[`workflow-name`]})),{successLabel:`Updated`})}};function H(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 U={command:`dag <version-id>`,describe:`Retrieves the directed acyclic graph (DAG) representation of a workflow version.`,builder:H,handler:async e=>{if(e.dryRun){u({command:`cf workflows versions dag`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}/dag`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"version-id":String(e[`version-id`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Loading`,async()=>n.workflows.versions.dag({account_id:i,workflow_name:e[`workflow-name`],version_id:e[`version-id`]})),{successLabel:`Loaded`})}};function W(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 G={command:`get <version-id>`,describe:`Retrieves details for a specific deployed workflow version.`,builder:W,handler:async e=>{if(e.dryRun){u({command:`cf workflows versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"version-id":String(e[`version-id`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Loading`,async()=>n.workflows.versions.get({account_id:i,workflow_name:e[`workflow-name`],version_id:e[`version-id`]})),{successLabel:`Loaded`})}};function K(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 q={command:`graph <version-id>`,describe:`Retrieves the graph visualization of a workflow version.`,builder:K,handler:async e=>{if(e.dryRun){u({command:`cf workflows versions graph`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}/graph`,pathParams:{"workflow-name":String(e[`workflow-name`]??``),"version-id":String(e[`version-id`]??``)},bodyKind:`none`});return}let n=await o(e),i=e.local?p:await r(n);e.accountId=i,l(await d(`Loading`,async()=>n.workflows.versions.graph({account_id:i,workflow_name:e[`workflow-name`],version_id:e[`version-id`]})),{successLabel:`Loaded`})}};function J(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 Y={command:`list`,describe:`Lists all deployed versions of a workflow.`,builder:J,handler:async e=>{let n={per_page:e[`per-page`],page:e.page};if(e.dryRun){u({command:`cf workflows versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${t()??`<account-id>`}/workflows/${e[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(e[`workflow-name`]))}/versions`,pathParams:{"workflow-name":String(e[`workflow-name`]??``)},query:n,bodyKind:`none`});return}let i=await o(e),a=e.local?p:await r(i);e.accountId=a,l(await d(`Loading`,async()=>i.workflows.versions.list({account_id:a,workflow_name:e[`workflow-name`],...n})),{successLabel:`Loaded`})}},X={command:`versions`,describe:`Workflow version operations`,builder:e=>e.command(U).command(G).command(q).command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Z={command:`workflows`,describe:`Durable, multi-step workflows that run on Workers with automatic retries and state persistence`,builder:e=>e.command(g).command(v).command(z).command(V).command(L).command(X).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Z as default};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{E as e,x as t}from"./oauth-Bk-F-tIO.mjs";import{i as n,n as r}from"./auth-CSC4yhEJ.mjs";import{n as i,t as a}from"./body-parser-DWSy7uZ8.mjs";import{t as o}from"./output-B6fBFRqe.mjs";import{n as s,t as c}from"./progress-DrDErV9w.mjs";import{n as l}from"./input-validation-_fMCApaH.mjs";import{t as u}from"./cli-types-BeyOc81z.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 e=>{if(e.dryRun){s({command:`cf zaraz config get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let n=await r(e),i=await t({zone:e.zone},n,{quiet:e.quiet});e.zoneId=i,o(await c(`Loading`,async()=>n.zaraz.config.get({zone_id:i})),{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:`Raw JSON request body (bypasses individual flags)`}).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 n=>{if(n.dryRun){s({command:`cf zaraz config update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${n.zone??n.zoneId??`<zone>`}/settings/zaraz/config`,pathParams:{"zone-id":String(n.zone??n[`zone-id`]??``)},bodyKind:`json`,body:n.body===void 0?a({analytics:{defaultPurpose:l(n[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:n[`analytics-enabled`],sessionExpTime:n[`analytics-session-exp-time`]},consent:{companyEmail:l(n[`consent-company-email`],`consent-company-email`,`text`),companyName:l(n[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:l(n[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:l(n[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:l(n[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:l(n[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:n[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:l(n[`consent-default-language`],`consent-default-language`,`text`),enabled:n[`consent-enabled`],hideModal:n[`consent-hide-modal`],tcfCompliant:n[`consent-tcf-compliant`]},dataLayer:n[`data-layer`],debugKey:l(n[`debug-key`],`debug-key`,`text`),historyChange:n[`history-change`],settings:{autoInjectScript:n[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:l(n[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:l(n[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:l(n[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:n[`settings-ecommerce`],eventsApiPath:l(n[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:n[`settings-hide-external-referer`],hideIPAddress:n[`settings-hide-ipaddress`],hideQueryParams:n[`settings-hide-query-params`],hideUserAgent:n[`settings-hide-user-agent`],initPath:l(n[`settings-init-path`],`settings-init-path`,`text`),injectIframes:n[`settings-inject-iframes`],mcRootPath:l(n[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:l(n[`settings-script-path`],`settings-script-path`,`text`),trackPath:l(n[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:n[`zaraz-version`]}):i(n.body)});return}let u=await r(n),d=await t({zone:n.zone},u,{quiet:n.quiet});if(n.zoneId=d,n.body){let e=i(n.body);o(await c(`Updating`,async()=>u.zaraz.config.update({...e,zone_id:d})),{successLabel:`Updated`});return}if(n[`data-layer`]===void 0)throw Error(`--data-layer is required (or pass --body with this field set).`);if(n[`debug-key`]===void 0&&(n[`debug-key`]=await e(`debug-key`,`The key for Zaraz debug mode.`)),n[`settings-auto-inject-script`]===void 0)throw Error(`--settings-auto-inject-script is required (or pass --body with this field set).`);if(n[`settings-context-enricher-escaped-worker-name`]===void 0&&(n[`settings-context-enricher-escaped-worker-name`]=await e(`settings-context-enricher-escaped-worker-name`,`The settings.contextEnricher.escapedWorkerName field`)),n[`settings-context-enricher-worker-tag`]===void 0&&(n[`settings-context-enricher-worker-tag`]=await e(`settings-context-enricher-worker-tag`,`The settings.contextEnricher.workerTag field`)),n[`zaraz-version`]===void 0)throw Error(`--zaraz-version is required (or pass --body with this field set).`);let f=a({analytics:{defaultPurpose:l(n[`analytics-default-purpose`],`analytics-default-purpose`,`text`),enabled:n[`analytics-enabled`],sessionExpTime:n[`analytics-session-exp-time`]},consent:{companyEmail:l(n[`consent-company-email`],`consent-company-email`,`text`),companyName:l(n[`consent-company-name`],`consent-company-name`,`text`),companyStreetAddress:l(n[`consent-company-street-address`],`consent-company-street-address`,`text`),consentModalIntroHTML:l(n[`consent-consent-modal-intro-html`],`consent-consent-modal-intro-html`,`text`),cookieName:l(n[`consent-cookie-name`],`consent-cookie-name`,`text`),customCSS:l(n[`consent-custom-css`],`consent-custom-css`,`text`),customIntroDisclaimerDismissed:n[`consent-custom-intro-disclaimer-dismissed`],defaultLanguage:l(n[`consent-default-language`],`consent-default-language`,`text`),enabled:n[`consent-enabled`],hideModal:n[`consent-hide-modal`],tcfCompliant:n[`consent-tcf-compliant`]},dataLayer:n[`data-layer`],debugKey:l(n[`debug-key`],`debug-key`,`text`),historyChange:n[`history-change`],settings:{autoInjectScript:n[`settings-auto-inject-script`],contextEnricher:{escapedWorkerName:l(n[`settings-context-enricher-escaped-worker-name`],`settings-context-enricher-escaped-worker-name`,`text`),workerTag:l(n[`settings-context-enricher-worker-tag`],`settings-context-enricher-worker-tag`,`text`)},cookieDomain:l(n[`settings-cookie-domain`],`settings-cookie-domain`,`text`),ecommerce:n[`settings-ecommerce`],eventsApiPath:l(n[`settings-events-api-path`],`settings-events-api-path`,`text`),hideExternalReferer:n[`settings-hide-external-referer`],hideIPAddress:n[`settings-hide-ipaddress`],hideQueryParams:n[`settings-hide-query-params`],hideUserAgent:n[`settings-hide-user-agent`],initPath:l(n[`settings-init-path`],`settings-init-path`,`text`),injectIframes:n[`settings-inject-iframes`],mcRootPath:l(n[`settings-mc-root-path`],`settings-mc-root-path`,`text`),scriptPath:l(n[`settings-script-path`],`settings-script-path`,`text`),trackPath:l(n[`settings-track-path`],`settings-track-path`,`text`)},zarazVersion:n[`zaraz-version`]});o(await c(`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 e=>{if(e.dryRun){s({command:`cf zaraz default get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/default`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let n=await r(e),i=await t({zone:e.zone},n,{quiet:e.quiet});e.zoneId=i,o(await c(`Loading`,async()=>n.zaraz.default.get({zone_id:i})),{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 e=>{if(e.dryRun){s({command:`cf zaraz export get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/export`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let n=await r(e),i=await t({zone:e.zone},n,{quiet:e.quiet});e.zoneId=i,o(await c(`Loading`,async()=>n.zaraz.export.get({zone_id:i})),{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 e=>{let n={ids:e.ids};if(e.dryRun){s({command:`cf zaraz history configs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/history/configs`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},query:n,bodyKind:`none`});return}let i=await r(e),a=await t({zone:e.zone},i,{quiet:e.quiet});e.zoneId=a,o(await c(`Loading`,async()=>i.zaraz.history.configs.get({zone_id:a,...n})),{successLabel:`Loaded`})}},w={command:`configs`,describe:`Configuration version history — browse and restore previous Zaraz configurations`,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 e=>{let n={offset:e.offset,limit:e.limit,sortField:e[`sort-field`],sortOrder:e[`sort-order`]};if(e.dryRun){s({command:`cf zaraz history list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},query:n,bodyKind:`none`});return}let i=await r(e),a=await t({zone:e.zone},i,{quiet:e.quiet});e.zoneId=a,o(await c(`Loading`,async()=>i.zaraz.history.list({zone_id:a,...n})),{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 e=>{if(e.dryRun){s({command:`cf zaraz history update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/history`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:i(e.body)});return}let a=await r(e),l=await t({zone:e.zone},a,{quiet:e.quiet});if(e.zoneId=l,e.body){let t=i(e.body);o(await c(`Updating`,async()=>a.zaraz.history.update({body:t,zone_id:l})),{successLabel:`Updated`});return}o(await c(`Updating`,async()=>n(a,`PUT`,`/zones/${e.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 e=>{if(e.dryRun){s({command:`cf zaraz publish create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/publish`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:i(e.body)});return}let a=await r(e),l=await t({zone:e.zone},a,{quiet:e.quiet});if(e.zoneId=l,e.body){let t=i(e.body);o(await c(`Creating`,async()=>a.zaraz.publish.create({body:t,zone_id:l})),{successLabel:`Created`});return}o(await c(`Creating`,async()=>n(a,`POST`,`/zones/${e.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}).option(`body`,{type:`string`,description:`Zaraz workflow.`})}const P={command:`update`,describe:`Updates Zaraz workflow for a zone.`,builder:N,handler:async e=>{if(e.dryRun){s({command:`cf zaraz update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:i(e.body)});return}let n=await r(e),a=await t({zone:e.zone},n,{quiet:e.quiet});if(e.zoneId=a,e.body){let t=i(e.body);o(await c(`Updating`,async()=>n.zaraz.update({body:t,zone_id:a})),{successLabel:`Updated`});return}if(e.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.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const I={command:`get`,describe:`Gets Zaraz workflow for a zone.`,builder:F,handler:async e=>{if(e.dryRun){s({command:`cf zaraz workflow get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/settings/zaraz/workflow`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let n=await r(e),i=await t({zone:e.zone},n,{quiet:e.quiet});e.zoneId=i,o(await c(`Loading`,async()=>n.zaraz.workflow.get({zone_id:i})),{successLabel:`Loaded`})}},L={command:`workflow`,describe:`Workflow state for Zaraz configuration changes (draft vs. published)`,builder:e=>e.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(P).command(h).command(v).command(x).command(k).command(M).command(L).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{R as default};