cf 0.1.0 → 0.3.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 (268) hide show
  1. package/dist/_meta/agent-context.json +96 -95
  2. package/dist/_meta/commands.json +16558 -13965
  3. package/dist/_meta/schemas.json +52979 -16753
  4. package/dist/abuse-reports-dMIfUJ8v.mjs +8 -0
  5. package/dist/accounts-Kx1epdA1.mjs +22 -0
  6. package/dist/acm-Utu252kC.mjs +3 -0
  7. package/dist/addressing-CBq7Z7Vq.mjs +12 -0
  8. package/dist/{agent-context-D26woB9J.mjs → agent-context-BGTU299M.mjs} +1 -1
  9. package/dist/ai-DOOKLPkG.mjs +2 -0
  10. package/dist/ai-gateway-Cj1T3avF.mjs +8 -0
  11. package/dist/ai-search-CQF_Sn7d.mjs +7 -0
  12. package/dist/ai_gateway-C3fH22C0.mjs +4 -0
  13. package/dist/alerting-CqmEIaKn.mjs +6 -0
  14. package/dist/analytics-Dv-X8x7D.mjs +20 -0
  15. package/dist/analytics_engine-DdXVR8z2.mjs +2 -0
  16. package/dist/api-gateway-CNv0IHTU.mjs +33 -0
  17. package/dist/argo-CX_A4kcn.mjs +2 -0
  18. package/dist/audit-logs-BfBf3oo-.mjs +2 -0
  19. package/dist/auth-SyWhMmPu.mjs +6 -0
  20. package/dist/auth-ffdf9yR0.mjs +135 -0
  21. package/dist/autorag-BuGhGTeZ.mjs +2 -0
  22. package/dist/billing-PoG81XaQ.mjs +2 -0
  23. package/dist/body-parser-DKa8Ipg1.mjs +2 -0
  24. package/dist/bot-management-CFvtVx62.mjs +5 -0
  25. package/dist/botnet-feed-B-M4Yu0W.mjs +3 -0
  26. package/dist/brand-protection-D05Eg-_6.mjs +3 -0
  27. package/dist/browser-rendering-xu8F_Rrv.mjs +4 -0
  28. package/dist/build-DYkGW4dh.mjs +1054 -0
  29. package/dist/cache-DsoW6Xwv.mjs +5 -0
  30. package/dist/calls-CZbO7TyR.mjs +4 -0
  31. package/dist/certificate-authorities-D2yr7_3t.mjs +2 -0
  32. package/dist/cli-types-CRIDdDw3.mjs +2 -0
  33. package/dist/client-certificates-MJcDsTId.mjs +3 -0
  34. package/dist/cloud-connector-DWOrN2eM.mjs +2 -0
  35. package/dist/cloudforce-one-2Bhz8YdW.mjs +21 -0
  36. package/dist/{completions-BKrxcfhN.mjs → completions-BwRpZQVn.mjs} +1 -1
  37. package/dist/{config-BIfdEY0E.mjs → config-DYzlVxcB.mjs} +1 -1
  38. package/dist/connectivity-BX8C7tvK.mjs +3 -0
  39. package/dist/content-scanning-r6uzMO1r.mjs +4 -0
  40. package/dist/context-DGlHRGWM.mjs +2 -0
  41. package/dist/custom-certificates-aAiEguR7.mjs +5 -0
  42. package/dist/custom-hostnames-AG5yBHIi.mjs +5 -0
  43. package/dist/custom-nameservers-D1DtlRue.mjs +3 -0
  44. package/dist/custom-pages-DQCi2plU.mjs +4 -0
  45. package/dist/d1-DbnYhw45.mjs +4 -0
  46. package/dist/data-security-D_EtYBfo.mjs +6 -0
  47. package/dist/dcv-delegation-CHspSzTI.mjs +2 -0
  48. package/dist/delegate.mjs +1 -1
  49. package/dist/deploy-CQial3kN.mjs +2 -0
  50. package/dist/{dev-BfKYB-R_.mjs → dev-B38LfCTl.mjs} +1 -1
  51. package/dist/diagnostics-BJQGjVJn.mjs +3 -0
  52. package/dist/dispatch-namespaces-DmHvoBOg.mjs +7 -0
  53. package/dist/{dist-C_bu5HwZ.mjs → dist-AIcZFk0U.mjs} +7 -7
  54. package/dist/dist-DNBSHor6.mjs +301 -0
  55. package/dist/dns-VMhQSr5n.mjs +29 -0
  56. package/dist/dns-firewall-B4DVXFBQ.mjs +57 -0
  57. package/dist/durable-objects-CTboySEo.mjs +2 -0
  58. package/dist/email-routing-tIR2SFu-.mjs +10 -0
  59. package/dist/email-security-Ca1id3rZ.mjs +8 -0
  60. package/dist/email-sending-DwWKc5jC.mjs +3 -0
  61. package/dist/filters-A4dg_a68.mjs +4 -0
  62. package/dist/firewall-DWPQgYd9.mjs +11 -0
  63. package/dist/fraud-BMkSsJGU.mjs +20 -0
  64. package/dist/google-tag-gateway-BGD49nRC.mjs +2 -0
  65. package/dist/healthchecks-CtIfrFql.mjs +4 -0
  66. package/dist/hostnames-BiomxukN.mjs +3 -0
  67. package/dist/hyperdrive-Da104VaQ.mjs +18 -0
  68. package/dist/iam-BIGKo0WW.mjs +6 -0
  69. package/dist/images-BO8FbDAa.mjs +5 -0
  70. package/dist/index.mjs +1 -1
  71. package/dist/intel-CY6_79v8.mjs +3 -0
  72. package/dist/{ips-B0cK7D0_.mjs → ips-K4bzaGqd.mjs} +1 -1
  73. package/dist/keyless-certificates-CZC-L8gM.mjs +3 -0
  74. package/dist/kv-8o27w_pY.mjs +5 -0
  75. package/dist/leaked-credential-checks-qLzRyu85.mjs +3 -0
  76. package/dist/load-balancers-DtG8nj25.mjs +6 -0
  77. package/dist/logpush-4L0njy1d.mjs +4 -0
  78. package/dist/logs-B_Yp95hv.mjs +3 -0
  79. package/dist/magic-cloud-networking-CSOM3EM-.mjs +5 -0
  80. package/dist/magic-network-monitoring-BnwvM4-I.mjs +4 -0
  81. package/dist/magic-transit-CXDyvhxq.mjs +90 -0
  82. package/dist/managed-transforms-D15yVbZx.mjs +3 -0
  83. package/dist/mtls-certificates-D8k0AXWK.mjs +3 -0
  84. package/dist/network-interconnects-rrr7red3.mjs +36 -0
  85. package/dist/observability-DWvpqnQJ.mjs +4 -0
  86. package/dist/organizations-T77D50Sq.mjs +41 -0
  87. package/dist/origin-ca-certificates-DXIvD8H5.mjs +3 -0
  88. package/dist/origin-post-quantum-encryption-C8oOczyV.mjs +2 -0
  89. package/dist/origin-tls-client-auth-CaVW1Ztp.mjs +4 -0
  90. package/dist/output-BJFNwj7b.mjs +2 -0
  91. package/dist/page-rules-CjZPTMQX.mjs +18 -0
  92. package/dist/page-shield-D5RRNJCY.mjs +37 -0
  93. package/dist/pages-CWJtJnL0.mjs +11 -0
  94. package/dist/pipelines-B0L_7j9e.mjs +6 -0
  95. package/dist/{progress-DZfTxbrx.mjs → progress-CrCGTq7N.mjs} +1 -1
  96. package/dist/queues-CN6DPhRR.mjs +6 -0
  97. package/dist/r2-DQIcyRtA.mjs +21 -0
  98. package/dist/r2-data-catalog-Bbo93TJx.mjs +14 -0
  99. package/dist/radar-Bxb0WX8V.mjs +2 -0
  100. package/dist/rate-limits-DcrQV6Ar.mjs +5 -0
  101. package/dist/raw-fetch-Dlccg0Tr.mjs +2 -0
  102. package/dist/realtime-kit-CaquuVOE.mjs +18 -0
  103. package/dist/registrar-Ko-xZemf.mjs +46 -0
  104. package/dist/request-tracers-DOW_reTJ.mjs +2 -0
  105. package/dist/{resolve-BuJRWSk0.mjs → resolve-4-OSeHlK.mjs} +1 -1
  106. package/dist/resource-sharing-D7TX0JV0.mjs +5 -0
  107. package/dist/resource-tagging-C3qtLzCz.mjs +16 -0
  108. package/dist/rules-BXRADHL5.mjs +4 -0
  109. package/dist/rulesets-CBgpeSvJ.mjs +8 -0
  110. package/dist/rum-BjPptTUP.mjs +4 -0
  111. package/dist/{schema-D0_cbcDt.mjs → schema-D16TgWBg.mjs} +1 -1
  112. package/dist/schema-validation-Dgv_opM3.mjs +24 -0
  113. package/dist/scim-DdSEr4kZ.mjs +3 -0
  114. package/dist/secrets-store-7BfyvJLb.mjs +25 -0
  115. package/dist/security-center-DAy6AKtT.mjs +2 -0
  116. package/dist/security-txt-xAMb7K6Y.mjs +3 -0
  117. package/dist/session-COHHdS7A.mjs +5 -0
  118. package/dist/shared-AGtpXwwL.mjs +2 -0
  119. package/dist/smart-shield-TeWZFnH2.mjs +3 -0
  120. package/dist/snippets-CCSsCXVs.mjs +4 -0
  121. package/dist/{spawn-D_cjG87Z.mjs → spawn-DcppKGI5.mjs} +1 -1
  122. package/dist/spectrum-CTTZID8u.mjs +63 -0
  123. package/dist/speed-CuzTE0AL.mjs +4 -0
  124. package/dist/{src-C5qivNKH.mjs → src-BW6vfAwE.mjs} +15 -15
  125. package/dist/ssl-BWA2LdwC.mjs +15 -0
  126. package/dist/stream-GFsIZ-pP.mjs +14 -0
  127. package/dist/tenants-Bd7NGQ_m.mjs +2 -0
  128. package/dist/token-validation-DAgtFOvs.mjs +10 -0
  129. package/dist/{tools-CtKbk6VS.mjs → tools-DXQmfFuE.mjs} +1 -1
  130. package/dist/turnstile-cfdaO4ca.mjs +23 -0
  131. package/dist/{ui-mP_arYIg.mjs → ui-D4KtlMh9.mjs} +1 -1
  132. package/dist/url-normalization-B5RN4nLD.mjs +3 -0
  133. package/dist/url-scanner-BrZ1L9OC.mjs +2 -0
  134. package/dist/user-CAo-yCJA.mjs +10 -0
  135. package/dist/vectorize-C7_oQlaI.mjs +4 -0
  136. package/dist/versions-CUwWJWmy.mjs +2 -0
  137. package/dist/waiting-rooms-Dln5ICg5.mjs +11 -0
  138. package/dist/web3-HQJRm38W.mjs +4 -0
  139. package/dist/workers-Dg7ddG2Q.mjs +18 -0
  140. package/dist/workers-builds-AVfx8IyL.mjs +7 -0
  141. package/dist/workflows-VquuSh2J.mjs +4 -0
  142. package/dist/zaraz-xYSWIV4P.mjs +2 -0
  143. package/dist/zero-trust-CP96wnSh.mjs +118 -0
  144. package/dist/zones-BSgmZ9WC.mjs +21 -0
  145. package/package.json +7 -6
  146. package/dist/abuse-reports-ChV_yD7f.mjs +0 -8
  147. package/dist/accounts-BCYecXFh.mjs +0 -21
  148. package/dist/acm-DD8zSds2.mjs +0 -3
  149. package/dist/addressing-D4Eqw5Bi.mjs +0 -13
  150. package/dist/ai-DfXMOMx_.mjs +0 -2
  151. package/dist/ai-gateway-DdRFthMo.mjs +0 -8
  152. package/dist/ai-search-C_68CDj1.mjs +0 -7
  153. package/dist/alerting-DbhqhVCp.mjs +0 -6
  154. package/dist/analytics-BSBBc7ep.mjs +0 -20
  155. package/dist/api-gateway-CZ4swbkQ.mjs +0 -33
  156. package/dist/argo-tms9ZwHO.mjs +0 -2
  157. package/dist/audit-logs-24qyW8cl.mjs +0 -2
  158. package/dist/auth-BlSmtIKd.mjs +0 -112
  159. package/dist/auth-DQ8miey6.mjs +0 -6
  160. package/dist/autorag-kgNt06GD.mjs +0 -2
  161. package/dist/billing-lwBHNTXC.mjs +0 -2
  162. package/dist/body-parser-Br-BoYk-.mjs +0 -2
  163. package/dist/bot-management-LKf7BqUr.mjs +0 -5
  164. package/dist/botnet-feed-nQ-gErTS.mjs +0 -3
  165. package/dist/brand-protection-DOKv9GRr.mjs +0 -3
  166. package/dist/browser-rendering-CBExtgGt.mjs +0 -4
  167. package/dist/build-C_48VvoK.mjs +0 -1056
  168. package/dist/builds-C_ySULja.mjs +0 -2
  169. package/dist/cache-BBiiNZHP.mjs +0 -5
  170. package/dist/calls-DA5Xzwev.mjs +0 -4
  171. package/dist/certificate-authorities-sXyR_yGp.mjs +0 -2
  172. package/dist/client-certificates-tV0aCLQJ.mjs +0 -3
  173. package/dist/cloud-connector-DZfHcSso.mjs +0 -2
  174. package/dist/cloudforce-one-y1PgQmI9.mjs +0 -21
  175. package/dist/connectivity-8SOqaFDn.mjs +0 -3
  176. package/dist/content-scanning-B9y6K_G5.mjs +0 -4
  177. package/dist/context-DTIbtQn5.mjs +0 -2
  178. package/dist/custom-certificates-sWksR8Ys.mjs +0 -5
  179. package/dist/custom-hostnames-91QZkdqN.mjs +0 -5
  180. package/dist/custom-nameservers-DajZaZvE.mjs +0 -3
  181. package/dist/custom-pages-Cu7gmwzT.mjs +0 -4
  182. package/dist/d1-H_VRsVmF.mjs +0 -3
  183. package/dist/dcv-delegation-C-qhEYEZ.mjs +0 -2
  184. package/dist/deploy--9wYOkHg.mjs +0 -2
  185. package/dist/diagnostics-D2B2LPZZ.mjs +0 -3
  186. package/dist/dispatch-namespaces-CyrXBU_w.mjs +0 -7
  187. package/dist/dist-DvKjT2TT.mjs +0 -303
  188. package/dist/dns-Bn9Uz_Nj.mjs +0 -29
  189. package/dist/dns-firewall-BslP4p-j.mjs +0 -57
  190. package/dist/durable-objects-BN1ZnHhm.mjs +0 -2
  191. package/dist/email-routing-n2TnTaRR.mjs +0 -10
  192. package/dist/email-security-C9SEx0kh.mjs +0 -60
  193. package/dist/email-sending-DayZ7u3I.mjs +0 -3
  194. package/dist/filters-CI_XTgfQ.mjs +0 -4
  195. package/dist/firewall-CcaayGig.mjs +0 -11
  196. package/dist/fraud-Cr7aPCV8.mjs +0 -8
  197. package/dist/google-tag-gateway-B3GpYgQ4.mjs +0 -2
  198. package/dist/healthchecks-CVTsR_OC.mjs +0 -4
  199. package/dist/hostnames-Bd_Wa5l6.mjs +0 -3
  200. package/dist/hyperdrive-BBJhEDZd.mjs +0 -18
  201. package/dist/iam-D_FN0pDF.mjs +0 -6
  202. package/dist/images-CAP2hAlZ.mjs +0 -5
  203. package/dist/intel-CkxfzqmJ.mjs +0 -3
  204. package/dist/keyless-certificates-LcLmHZsX.mjs +0 -3
  205. package/dist/kv-_TkUQ6fs.mjs +0 -5
  206. package/dist/leaked-credential-checks-Dhvaen22.mjs +0 -3
  207. package/dist/load-balancers-Ckr0UIpk.mjs +0 -6
  208. package/dist/logpush-Cj946hxT.mjs +0 -4
  209. package/dist/logs-DgC9hjvJ.mjs +0 -3
  210. package/dist/magic-cloud-networking-WbDvPzuG.mjs +0 -5
  211. package/dist/magic-network-monitoring-BcHShvGQ.mjs +0 -4
  212. package/dist/magic-transit-B8sCOkt_.mjs +0 -89
  213. package/dist/managed-transforms-BpOr-8HY.mjs +0 -3
  214. package/dist/mtls-certificates-fOul8D5g.mjs +0 -3
  215. package/dist/network-interconnects-BSW65xlh.mjs +0 -36
  216. package/dist/organizations-T4vKGFAb.mjs +0 -41
  217. package/dist/origin-ca-certificates-ChM0lZ64.mjs +0 -3
  218. package/dist/origin-post-quantum-encryption-C7o26ARh.mjs +0 -2
  219. package/dist/origin-tls-client-auth-D32dpZk_.mjs +0 -5
  220. package/dist/output-D7_yAFVR.mjs +0 -2
  221. package/dist/page-rules-RFoj8CjN.mjs +0 -18
  222. package/dist/page-shield-VTktzKDN.mjs +0 -37
  223. package/dist/pages-L1ITjXDZ.mjs +0 -10
  224. package/dist/pipelines-BPO0Lnil.mjs +0 -6
  225. package/dist/queues-B0C06L9r.mjs +0 -6
  226. package/dist/r2-DP020Tmq.mjs +0 -21
  227. package/dist/r2-data-catalog-Dmipvz5F.mjs +0 -14
  228. package/dist/radar-DR3VMknH.mjs +0 -2
  229. package/dist/rate-limits-DnHPBPgU.mjs +0 -5
  230. package/dist/raw-fetch-DlXYwVA8.mjs +0 -2
  231. package/dist/realtime-kit-C430aq2d.mjs +0 -6
  232. package/dist/registrar-7Qy50zbW.mjs +0 -46
  233. package/dist/request-tracers-sv99NDIl.mjs +0 -2
  234. package/dist/resource-sharing-uEjC7lnQ.mjs +0 -5
  235. package/dist/resource-tagging-CiODdP3N.mjs +0 -16
  236. package/dist/rules-FXAyTrwk.mjs +0 -4
  237. package/dist/rulesets-B6aUsFFB.mjs +0 -8
  238. package/dist/rum-CyyGJhp5.mjs +0 -4
  239. package/dist/schema-validation-ByU49h--.mjs +0 -4
  240. package/dist/scim-DdTS65_C.mjs +0 -3
  241. package/dist/scm-CilfPOue.mjs +0 -2
  242. package/dist/secrets-store-ClOUVhBJ.mjs +0 -18
  243. package/dist/security-center-4iSBqTrf.mjs +0 -2
  244. package/dist/security-txt-kGxdkDY6.mjs +0 -3
  245. package/dist/session-mW-s8ghP.mjs +0 -2
  246. package/dist/smart-shield-B-SQd2Qp.mjs +0 -3
  247. package/dist/snippets-Aq58ojqw.mjs +0 -4
  248. package/dist/spectrum-0gFvGI6y.mjs +0 -59
  249. package/dist/speed-DAZU8w3T.mjs +0 -4
  250. package/dist/ssl-BRlXa-5w.mjs +0 -15
  251. package/dist/stream-BAxsVeBX.mjs +0 -14
  252. package/dist/tenants-Df6xDqoA.mjs +0 -2
  253. package/dist/token-validation-pO4dCjCy.mjs +0 -4
  254. package/dist/turnstile-B1dmO8wE.mjs +0 -23
  255. package/dist/url-normalization-sUDVmrUt.mjs +0 -3
  256. package/dist/url-scanner-CwOKRkYo.mjs +0 -2
  257. package/dist/user-D_UrIdNq.mjs +0 -10
  258. package/dist/vectorize-BEbBn9G9.mjs +0 -4
  259. package/dist/vuln-scanner-Br_2lQp1.mjs +0 -2
  260. package/dist/waiting-rooms-BQC-urV4.mjs +0 -11
  261. package/dist/web3-CIH2iQeX.mjs +0 -4
  262. package/dist/workers-B9EvrpH3.mjs +0 -16
  263. package/dist/workers-builds-DzWSiRd2.mjs +0 -7
  264. package/dist/workflows-aD81gA4k.mjs +0 -4
  265. package/dist/zaraz-Cg1dsvrZ.mjs +0 -2
  266. package/dist/zero-trust-D-xQXWcy.mjs +0 -119
  267. package/dist/zones-DQzucJDd.mjs +0 -28
  268. /package/dist/{metadata-DGdCpUxn.mjs → metadata-5VwHPW6C.mjs} +0 -0
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as e,c as t,f as n,l as r,m as i,p as a,t as o,u as s}from"./auth-BlSmtIKd.mjs";import{n as c,t as l}from"./body-parser-Br-BoYk-.mjs";import{t as u}from"./output-D7_yAFVR.mjs";import{n as d,t as f}from"./progress-DZfTxbrx.mjs";import{n as p,t as m}from"./input-validation-zEO81MWN.mjs";import{t as h}from"./local-VJaJ3BZ1.mjs";import{n as g,t as _}from"./raw-fetch-DlXYwVA8.mjs";function v(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ee={command:`get`,describe:`Fetches Worker account settings for an account.`,builder:v,handler:async t=>{if(t.dryRun){d({command:`cf workers account-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.accountSettings.get(r)),{successLabel:`Loaded`})}};function te(e){return e.option(`default-usage-model`,{type:`string`,description:`The default_usage_model field`}).option(`green-compute`,{type:`boolean`,description:`The green_compute field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const y={command:`update`,describe:`Creates Worker account settings for an account.`,builder:te,handler:async t=>{if(t.dryRun){d({command:`cf workers account-settings update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`json`,body:{defaultUsageModel:t.defaultUsageModel,greenCompute:t.greenCompute,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/account-settings`,{body:e})),{successLabel:`Updated`});return}let i={};t.defaultUsageModel!==void 0&&c(i,[`default_usage_model`],p(t.defaultUsageModel,`defaultUsageModel`,`text`)),t.greenCompute!==void 0&&c(i,[`green_compute`],t.greenCompute),u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/account-settings`,{body:Object.keys(i).length>0?i:void 0})),{successLabel:`Updated`})}},b={command:`account-settings`,describe:`Account-wide Worker settings such as default usage model and green compute`,builder:e=>e.command(ee).command(y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function x(e){return e.option(`name`,{type:`string`,description:`Filter containers by name`}).option(`image`,{type:`string`,description:`Filter containers by image`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const S={command:`list`,describe:`Lists all the container applications that are associated with your account.`,builder:x,handler:async t=>{let n={name:t.name,image:t.image};if(t.dryRun){d({command:`cf workers applications list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/containers`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.applications.list(i,n)),{successLabel:`Loaded`})}},C={command:`applications`,describe:`Public worker application listing`,builder:e=>e.command(S).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function w(e){return e.option(`base64`,{type:`boolean`,description:"Whether the file contents are base64-encoded. Must be `true`.",demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const T={command:`create`,describe:`Upload assets ahead of creating a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:w,handler:async t=>{let n={base64:t.base64};if(t.dryRun){d({command:`cf workers assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/assets/upload`,pathParams:{},query:n,bodyKind:`octet-stream`,body:{body:t.body,file:t.file}});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,t.file){let e=m(t.file),n=new FormData;n.append(`file`,new Blob([e]),t.file.split(`/`).pop()),u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/assets/upload`,{body:n})),{successLabel:`Created`});return}if(t.body){let e=p(t.body,`body`,`binary`),a=new URLSearchParams(Object.entries(n).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/assets/upload${a?`?`+a:``}`,{body:e,headers:{"Content-Type":`multipart/form-data`}})),{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.`)}},E={command:`upload`,describe:`Upload static assets that are served alongside a Worker`,builder:e=>e.command(T).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},D={command:`assets`,describe:`Operations for assets`,builder:e=>e.command(E).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function O(e){return e.option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker creation parameters.`})}const k={command:`create`,describe:`Create a new Worker.`,builder:O,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers`,pathParams:{},bodyKind:`json`,body:{logpush:t.logpush,name:t.name,observabilityEnabled:t.observabilityEnabled,observabilityHeadSamplingRate:t.observabilityHeadSamplingRate,observabilityLogsDestinations:t.observabilityLogsDestinations,observabilityLogsEnabled:t.observabilityLogsEnabled,observabilityLogsHeadSamplingRate:t.observabilityLogsHeadSamplingRate,observabilityLogsInvocationLogs:t.observabilityLogsInvocationLogs,observabilityLogsPersist:t.observabilityLogsPersist,observabilityTracesDestinations:t.observabilityTracesDestinations,observabilityTracesEnabled:t.observabilityTracesEnabled,observabilityTracesHeadSamplingRate:t.observabilityTracesHeadSamplingRate,observabilityTracesPersist:t.observabilityTracesPersist,subdomainEnabled:t.subdomainEnabled,subdomainPreviewsEnabled:t.subdomainPreviewsEnabled,tags:t.tags,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/workers`,{body:e})),{successLabel:`Created`});return}if(t.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(t.name===void 0&&(t.name=await i(`name`,`Name of the Worker.`)),t.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let a={};t.logpush!==void 0&&c(a,[`logpush`],t.logpush),t.name!==void 0&&c(a,[`name`],p(t.name,`name`,`text`)),t.observabilityEnabled!==void 0&&c(a,[`observability`,`enabled`],t.observabilityEnabled),t.observabilityHeadSamplingRate!==void 0&&c(a,[`observability`,`head_sampling_rate`],t.observabilityHeadSamplingRate),t.observabilityLogsDestinations!==void 0&&c(a,[`observability`,`logs`,`destinations`],t.observabilityLogsDestinations),t.observabilityLogsEnabled!==void 0&&c(a,[`observability`,`logs`,`enabled`],t.observabilityLogsEnabled),t.observabilityLogsHeadSamplingRate!==void 0&&c(a,[`observability`,`logs`,`head_sampling_rate`],t.observabilityLogsHeadSamplingRate),t.observabilityLogsInvocationLogs!==void 0&&c(a,[`observability`,`logs`,`invocation_logs`],t.observabilityLogsInvocationLogs),t.observabilityLogsPersist!==void 0&&c(a,[`observability`,`logs`,`persist`],t.observabilityLogsPersist),t.observabilityTracesDestinations!==void 0&&c(a,[`observability`,`traces`,`destinations`],t.observabilityTracesDestinations),t.observabilityTracesEnabled!==void 0&&c(a,[`observability`,`traces`,`enabled`],t.observabilityTracesEnabled),t.observabilityTracesHeadSamplingRate!==void 0&&c(a,[`observability`,`traces`,`head_sampling_rate`],t.observabilityTracesHeadSamplingRate),t.observabilityTracesPersist!==void 0&&c(a,[`observability`,`traces`,`persist`],t.observabilityTracesPersist),t.subdomainEnabled!==void 0&&c(a,[`subdomain`,`enabled`],t.subdomainEnabled),t.subdomainPreviewsEnabled!==void 0&&c(a,[`subdomain`,`previews_enabled`],t.subdomainPreviewsEnabled),t.tags!==void 0&&c(a,[`tags`],t.tags),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/workers`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Created`})}};function A(e){return e.positional(`workerId`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const j={command:`delete <workerId>`,describe:`Delete a Worker and all its associated resources (versions, deployments, etc.).`,builder:A,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}`,pathParams:{workerId:String(t.workerId??``)},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
3
- `);return}u(await f(`Deleting`,async()=>r.workers.beta.workers.delete(i,t.workerId)),{successLabel:`Deleted`})}};function M(e){return e.positional(`workerId`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker partial update parameters.`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const N={command:`edit <workerId>`,describe:`Perform a partial update on a Worker, where omitted properties are left unchanged from their current values.`,builder:M,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}`,pathParams:{workerId:String(t.workerId??``)},bodyKind:`json`,body:{logpush:t.logpush,name:t.name,observabilityEnabled:t.observabilityEnabled,observabilityHeadSamplingRate:t.observabilityHeadSamplingRate,observabilityLogsDestinations:t.observabilityLogsDestinations,observabilityLogsEnabled:t.observabilityLogsEnabled,observabilityLogsHeadSamplingRate:t.observabilityLogsHeadSamplingRate,observabilityLogsInvocationLogs:t.observabilityLogsInvocationLogs,observabilityLogsPersist:t.observabilityLogsPersist,observabilityTracesDestinations:t.observabilityTracesDestinations,observabilityTracesEnabled:t.observabilityTracesEnabled,observabilityTracesHeadSamplingRate:t.observabilityTracesHeadSamplingRate,observabilityTracesPersist:t.observabilityTracesPersist,subdomainEnabled:t.subdomainEnabled,subdomainPreviewsEnabled:t.subdomainPreviewsEnabled,tags:t.tags,body:t.body,file:t.file}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.file){let e=m(t.file);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/workers/${t.workerId}`,{body:e,headers:{"Content-Type":`application/merge-patch+json`}})),{successLabel:`Updated`});return}if(t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/workers/${t.workerId}`,{body:e})),{successLabel:`Updated`});return}if(t.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(t.name===void 0&&(t.name=await i(`name`,`Name of the Worker.`)),t.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let a={};t.logpush!==void 0&&c(a,[`logpush`],t.logpush),t.name!==void 0&&c(a,[`name`],p(t.name,`name`,`text`)),t.observabilityEnabled!==void 0&&c(a,[`observability`,`enabled`],t.observabilityEnabled),t.observabilityHeadSamplingRate!==void 0&&c(a,[`observability`,`head_sampling_rate`],t.observabilityHeadSamplingRate),t.observabilityLogsDestinations!==void 0&&c(a,[`observability`,`logs`,`destinations`],t.observabilityLogsDestinations),t.observabilityLogsEnabled!==void 0&&c(a,[`observability`,`logs`,`enabled`],t.observabilityLogsEnabled),t.observabilityLogsHeadSamplingRate!==void 0&&c(a,[`observability`,`logs`,`head_sampling_rate`],t.observabilityLogsHeadSamplingRate),t.observabilityLogsInvocationLogs!==void 0&&c(a,[`observability`,`logs`,`invocation_logs`],t.observabilityLogsInvocationLogs),t.observabilityLogsPersist!==void 0&&c(a,[`observability`,`logs`,`persist`],t.observabilityLogsPersist),t.observabilityTracesDestinations!==void 0&&c(a,[`observability`,`traces`,`destinations`],t.observabilityTracesDestinations),t.observabilityTracesEnabled!==void 0&&c(a,[`observability`,`traces`,`enabled`],t.observabilityTracesEnabled),t.observabilityTracesHeadSamplingRate!==void 0&&c(a,[`observability`,`traces`,`head_sampling_rate`],t.observabilityTracesHeadSamplingRate),t.observabilityTracesPersist!==void 0&&c(a,[`observability`,`traces`,`persist`],t.observabilityTracesPersist),t.subdomainEnabled!==void 0&&c(a,[`subdomain`,`enabled`],t.subdomainEnabled),t.subdomainPreviewsEnabled!==void 0&&c(a,[`subdomain`,`previews_enabled`],t.subdomainPreviewsEnabled),t.tags!==void 0&&c(a,[`tags`],t.tags),u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/workers/${t.workerId}`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Updated`})}};function P(e){return e.positional(`workerId`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const F={command:`get <workerId>`,describe:`Get details about a specific Worker.`,builder:P,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}`,pathParams:{workerId:String(t.workerId??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.beta.workers.get(r,t.workerId)),{successLabel:`Loaded`})}};function I(e){return e.option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`order-by`,{type:`string`,description:`Property to sort results by.`,choices:[`deployed_on`,`updated_on`,`created_on`,`name`]}).option(`order`,{type:`string`,description:`Sort direction.`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const L={command:`list`,describe:`List all Workers for an account.`,builder:I,handler:async t=>{let n={page:t.page,per_page:t.perPage,order_by:t.orderBy,order:t.order};if(t.dryRun){d({command:`cf workers beta workers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.beta.workers.list(i,n)),{successLabel:`Loaded`})}};function R(e){return e.positional(`workerId`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker update parameters.`})}const z={command:`update <workerId>`,describe:`Perform a complete replacement of a Worker, where omitted properties are set to their default values. This is the exact same as the Create Worker endpoint, but operates on an existing Worker. To perform a partial update instead, use the Edit Worker endpoint.`,builder:R,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}`,pathParams:{workerId:String(t.workerId??``)},bodyKind:`json`,body:{logpush:t.logpush,name:t.name,observabilityEnabled:t.observabilityEnabled,observabilityHeadSamplingRate:t.observabilityHeadSamplingRate,observabilityLogsDestinations:t.observabilityLogsDestinations,observabilityLogsEnabled:t.observabilityLogsEnabled,observabilityLogsHeadSamplingRate:t.observabilityLogsHeadSamplingRate,observabilityLogsInvocationLogs:t.observabilityLogsInvocationLogs,observabilityLogsPersist:t.observabilityLogsPersist,observabilityTracesDestinations:t.observabilityTracesDestinations,observabilityTracesEnabled:t.observabilityTracesEnabled,observabilityTracesHeadSamplingRate:t.observabilityTracesHeadSamplingRate,observabilityTracesPersist:t.observabilityTracesPersist,subdomainEnabled:t.subdomainEnabled,subdomainPreviewsEnabled:t.subdomainPreviewsEnabled,tags:t.tags,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/workers/${t.workerId}`,{body:e})),{successLabel:`Updated`});return}if(t.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(t.name===void 0&&(t.name=await i(`name`,`Name of the Worker.`)),t.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);let a={};t.logpush!==void 0&&c(a,[`logpush`],t.logpush),t.name!==void 0&&c(a,[`name`],p(t.name,`name`,`text`)),t.observabilityEnabled!==void 0&&c(a,[`observability`,`enabled`],t.observabilityEnabled),t.observabilityHeadSamplingRate!==void 0&&c(a,[`observability`,`head_sampling_rate`],t.observabilityHeadSamplingRate),t.observabilityLogsDestinations!==void 0&&c(a,[`observability`,`logs`,`destinations`],t.observabilityLogsDestinations),t.observabilityLogsEnabled!==void 0&&c(a,[`observability`,`logs`,`enabled`],t.observabilityLogsEnabled),t.observabilityLogsHeadSamplingRate!==void 0&&c(a,[`observability`,`logs`,`head_sampling_rate`],t.observabilityLogsHeadSamplingRate),t.observabilityLogsInvocationLogs!==void 0&&c(a,[`observability`,`logs`,`invocation_logs`],t.observabilityLogsInvocationLogs),t.observabilityLogsPersist!==void 0&&c(a,[`observability`,`logs`,`persist`],t.observabilityLogsPersist),t.observabilityTracesDestinations!==void 0&&c(a,[`observability`,`traces`,`destinations`],t.observabilityTracesDestinations),t.observabilityTracesEnabled!==void 0&&c(a,[`observability`,`traces`,`enabled`],t.observabilityTracesEnabled),t.observabilityTracesHeadSamplingRate!==void 0&&c(a,[`observability`,`traces`,`head_sampling_rate`],t.observabilityTracesHeadSamplingRate),t.observabilityTracesPersist!==void 0&&c(a,[`observability`,`traces`,`persist`],t.observabilityTracesPersist),t.subdomainEnabled!==void 0&&c(a,[`subdomain`,`enabled`],t.subdomainEnabled),t.subdomainPreviewsEnabled!==void 0&&c(a,[`subdomain`,`previews_enabled`],t.subdomainPreviewsEnabled),t.tags!==void 0&&c(a,[`tags`],t.tags),u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/workers/${t.workerId}`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Updated`})}};function B(e){return e.positional(`workerId`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`deploy`,{type:`boolean`,description:`If true, a deployment will be created that sends 100% of traffic to the new version.`,default:!1}).option(`assets-config-html-handling`,{type:`string`,description:`Determines the redirects and rewrites of requests for HTML content.`,choices:[`auto-trailing-slash`,`force-trailing-slash`,`drop-trailing-slash`,`none`],default:`auto-trailing-slash`}).option(`assets-config-not-found-handling`,{type:`string`,description:`Determines the response when a request does not match a static asset, and there is no Worker script.`,choices:[`none`,`404-page`,`single-page-application`],default:`none`}).option(`assets-jwt`,{type:`string`,description:`Token provided upon successful upload of all files from a registered manifest.`}).option(`compatibility-date`,{type:`string`,description:`Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.`}).option(`compatibility-flags`,{type:`string`,array:!0,description:"Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a `compatibility_date`."}).option(`limits-cpu-ms`,{type:`number`,description:`CPU time limit in milliseconds.`}).option(`limits-subrequests`,{type:`number`,description:`Subrequest limit per request.`}).option(`main-module`,{type:`string`,description:"The name of the main module in the `modules` array (e.g. the name of the module that exports a `fetch` handler)."}).option(`migrations-new-tag`,{type:`string`,description:`Tag to set as the latest migration tag.`}).option(`migrations-old-tag`,{type:`string`,description:`Tag used to verify against the latest migration tag for this Worker. If they don't match, the upload is rejected.`}).option(`migrations-deleted-classes`,{type:`string`,array:!0,description:`A list of classes to delete Durable Object namespaces from.`}).option(`migrations-new-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces from.`}).option(`migrations-new-sqlite-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces with SQLite from.`}).option(`placement-mode`,{type:`string`,description:`Enables [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement).`,choices:[`smart`,`targeted`]}).option(`placement-region`,{type:`string`,description:`Cloud region for targeted placement in format 'provider:region'.`}).option(`placement-hostname`,{type:`string`,description:`HTTP hostname for targeted placement.`}).option(`placement-host`,{type:`string`,description:`TCP host and port for targeted placement.`}).option(`usage-model`,{type:`string`,description:`Usage model for the version.`,choices:[`standard`,`bundled`,`unbound`],default:`standard`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Version creation parameters.`}).conflicts(`placement-mode`,[`placement-region`,`placement-hostname`,`placement-host`]).conflicts(`placement-region`,[`placement-mode`,`placement-hostname`,`placement-host`]).conflicts(`placement-hostname`,[`placement-mode`,`placement-region`,`placement-host`]).conflicts(`placement-host`,[`placement-mode`,`placement-region`,`placement-hostname`])}const V={command:`create <workerId>`,describe:`Create a new version.`,builder:B,handler:async t=>{let n={deploy:t.deploy};if(t.dryRun){d({command:`cf workers beta workers versions create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}/versions`,pathParams:{workerId:String(t.workerId??``)},query:n,bodyKind:`json`,body:{assetsConfigHtmlHandling:t.assetsConfigHtmlHandling,assetsConfigNotFoundHandling:t.assetsConfigNotFoundHandling,assetsJwt:t.assetsJwt,compatibilityDate:t.compatibilityDate,compatibilityFlags:t.compatibilityFlags,limitsCpuMs:t.limitsCpuMs,limitsSubrequests:t.limitsSubrequests,mainModule:t.mainModule,migrationsNewTag:t.migrationsNewTag,migrationsOldTag:t.migrationsOldTag,migrationsDeletedClasses:t.migrationsDeletedClasses,migrationsNewClasses:t.migrationsNewClasses,migrationsNewSqliteClasses:t.migrationsNewSqliteClasses,placementMode:t.placementMode,placementRegion:t.placementRegion,placementHostname:t.placementHostname,placementHost:t.placementHost,usageModel:t.usageModel,body:t.body}});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,t.body){let e=l(t.body),a=new URLSearchParams(Object.entries(n).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/workers/${t.workerId}/versions${a?`?`+a:``}`,{body:e})),{successLabel:`Created`});return}let a={};t.assetsConfigHtmlHandling!==void 0&&c(a,[`assets`,`config`,`html_handling`],p(t.assetsConfigHtmlHandling,`assetsConfigHtmlHandling`,`text`)),t.assetsConfigNotFoundHandling!==void 0&&c(a,[`assets`,`config`,`not_found_handling`],p(t.assetsConfigNotFoundHandling,`assetsConfigNotFoundHandling`,`text`)),t.assetsJwt!==void 0&&c(a,[`assets`,`jwt`],p(t.assetsJwt,`assetsJwt`,`text`)),t.compatibilityDate!==void 0&&c(a,[`compatibility_date`],p(t.compatibilityDate,`compatibilityDate`,`text`)),t.compatibilityFlags!==void 0&&c(a,[`compatibility_flags`],t.compatibilityFlags),t.limitsCpuMs!==void 0&&c(a,[`limits`,`cpu_ms`],t.limitsCpuMs),t.limitsSubrequests!==void 0&&c(a,[`limits`,`subrequests`],t.limitsSubrequests),t.mainModule!==void 0&&c(a,[`main_module`],p(t.mainModule,`mainModule`,`text`)),t.migrationsNewTag!==void 0&&c(a,[`migrations`,`new_tag`],p(t.migrationsNewTag,`migrationsNewTag`,`text`)),t.migrationsOldTag!==void 0&&c(a,[`migrations`,`old_tag`],p(t.migrationsOldTag,`migrationsOldTag`,`text`)),t.migrationsDeletedClasses!==void 0&&c(a,[`migrations`,`deleted_classes`],t.migrationsDeletedClasses),t.migrationsNewClasses!==void 0&&c(a,[`migrations`,`new_classes`],t.migrationsNewClasses),t.migrationsNewSqliteClasses!==void 0&&c(a,[`migrations`,`new_sqlite_classes`],t.migrationsNewSqliteClasses),t.placementMode!==void 0&&c(a,[`placement`,`mode`],p(t.placementMode,`placementMode`,`text`)),t.placementRegion!==void 0&&c(a,[`placement`,`region`],p(t.placementRegion,`placementRegion`,`text`)),t.placementHostname!==void 0&&c(a,[`placement`,`hostname`],p(t.placementHostname,`placementHostname`,`text`)),t.placementHost!==void 0&&c(a,[`placement`,`host`],p(t.placementHost,`placementHost`,`text`)),t.usageModel!==void 0&&c(a,[`usage_model`],p(t.usageModel,`usageModel`,`text`));let m=new URLSearchParams(Object.entries(n).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/workers/${t.workerId}/versions${m?`?`+m:``}`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Created`})}};function H(e){return e.positional(`versionId`,{type:`string`,description:`Identifier for the version, which can be a UUID, a UUID prefix (minimum length 8), or the literal "latest" to operate on the most recently created version.`,demandOption:!0}).option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const U={command:`delete <versionId>`,describe:`Delete a version.`,builder:H,handler:async t=>{if(t.dryRun){d({command:`cf workers beta workers versions delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}/versions/${t.versionId??`<versionId>`}`,pathParams:{workerId:String(t.workerId??``),versionId:String(t.versionId??``)},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
4
- `);return}u(await f(`Deleting`,async()=>r.workers.beta.workers.versions.delete(i,t.workerId,t.versionId)),{successLabel:`Deleted`})}};function W(e){return e.positional(`versionId`,{type:`string`,description:`Identifier for the version, which can be a UUID, a UUID prefix (minimum length 8), or the literal "latest" to operate on the most recently created version.`,demandOption:!0}).option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`include`,{type:`string`,description:"Whether to include the `modules` property of the version in the response, which contains code and sourcemap content and may add several megabytes to the response size.",choices:[`modules`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const G={command:`get <versionId>`,describe:`Get details about a specific version.`,builder:W,handler:async t=>{let n={include:t.include};if(t.dryRun){d({command:`cf workers beta workers versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}/versions/${t.versionId??`<versionId>`}`,pathParams:{workerId:String(t.workerId??``),versionId:String(t.versionId??``)},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.beta.workers.versions.get(i,t.workerId,t.versionId,n)),{successLabel:`Loaded`})}};function K(e){return e.option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const q={command:`list`,describe:`List all versions for a Worker.`,builder:K,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){d({command:`cf workers beta workers versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/workers/${t.workerId??`<workerId>`}/versions`,pathParams:{workerId:String(t.workerId??``)},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.beta.workers.versions.list(i,t.workerId,n)),{successLabel:`Loaded`})}},J={command:`versions`,describe:`Beta Worker lifecycle APIs — create, update, version, and delete Workers (preview channel)`,builder:e=>e.command(V).command(U).command(G).command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Y={command:`workers`,describe:`Beta Worker lifecycle APIs — create, update, version, and delete Workers (preview channel)`,builder:e=>e.command(k).command(j).command(N).command(F).command(L).command(z).command(J).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},X={command:`beta`,describe:`Operations for beta`,builder:e=>e.command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Z(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Data for setting flag on zones`})}const Q={command:`create`,describe:`Creates the pay-per-crawl config for a zone.`,builder:Z,handler:async e=>{if(e.dryRun){d({command:`cf workers configuration create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/pay-per-crawl/configuration`,pathParams:{zoneId:String(e.zoneId??``)},bodyKind:`json`,body:{body:e.body}});return}let t=await o(e),n=await r({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=n,e.body){let n=p(e.body,`body`,`binary`);u(await f(`Creating`,async()=>t.post(`/zones/${e.zoneId}/pay-per-crawl/configuration`,{body:n,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Created`});return}u(await f(`Creating`,async()=>t.workers.configuration.create(n)),{successLabel:`Created`})}};function ne(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Data for setting flag on zones`})}const re={command:`edit`,describe:`Changes the pay-per-crawl config for a zone.`,builder:ne,handler:async e=>{if(e.dryRun){d({command:`cf workers configuration edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/pay-per-crawl/configuration`,pathParams:{zoneId:String(e.zoneId??``)},bodyKind:`json`,body:{body:e.body}});return}let t=await o(e),n=await r({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=n,e.body){let n=p(e.body,`body`,`binary`);u(await f(`Updating`,async()=>t.patch(`/zones/${e.zoneId}/pay-per-crawl/configuration`,{body:n,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Updated`});return}u(await f(`Updating`,async()=>t.workers.configuration.edit(n)),{successLabel:`Updated`})}};function ie(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ae={command:`get`,describe:`Gets the pay-per-crawl config for a zone including the bot configuration.`,builder:ie,handler:async e=>{if(e.dryRun){d({command:`cf workers configuration get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/pay-per-crawl/configuration`,pathParams:{zoneId:String(e.zoneId??``)},bodyKind:`none`});return}let t=await o(e),n=await r({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,u(await f(`Loading`,async()=>t.workers.configuration.get(n)),{successLabel:`Loaded`})}},oe={command:`configuration`,describe:`Configuration operations`,builder:e=>e.command(Q).command(re).command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function se(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ce={command:`create`,describe:`Creates the stripe config for a crawler.`,builder:se,handler:async t=>{if(t.dryRun){d({command:`cf workers crawler stripe create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/crawler/stripe`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Creating`,async()=>n.workers.crawler.stripe.create(r)),{successLabel:`Created`})}};function le(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const ue={command:`delete`,describe:`Deletes the stripe config for a crawler.`,builder:le,handler:async t=>{if(t.dryRun){d({command:`cf workers crawler stripe delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/crawler/stripe`,pathParams:{},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
5
- `);return}u(await f(`Deleting`,async()=>r.workers.crawler.stripe.delete(i)),{successLabel:`Deleted`})}};function de(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const fe={command:`get`,describe:`Gets the stripe config for a crawler.`,builder:de,handler:async t=>{if(t.dryRun){d({command:`cf workers crawler stripe get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/crawler/stripe`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.crawler.stripe.get(r)),{successLabel:`Loaded`})}},pe={command:`stripe`,describe:`Crawler operations`,builder:e=>e.command(ce).command(ue).command(fe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},me={command:`crawler`,describe:`Operations for crawler`,builder:e=>e.command(pe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function he(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`force`,{type:`boolean`,description:`If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.`,default:!1}).option(`strategy`,{type:`string`,description:`The strategy field`,choices:[`percentage`]}).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 ge={command:`create`,describe:`Deployments configure how [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions) are deployed to traffic. A deployment can consist of one or two versions of a Worker.`,builder:he,handler:async n=>{let r={force:n.force};if(n.dryRun){d({command:`cf workers deployments create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/deployments`,pathParams:{scriptName:String(n.scriptName??``)},query:r,bodyKind:`json`,body:{strategy:n.strategy,body:n.body}});return}let i=await o(n),m=n.local?h:await e(i);n.accountId=m;let g=t({scriptName:n.scriptName});if(n.scriptName=g,n.body){let e=l(n.body),t=new URLSearchParams(Object.entries(r).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>i.post(`/accounts/${m}/workers/scripts/${g}/deployments${t?`?`+t:``}`,{body:e})),{successLabel:`Created`});return}n.strategy===void 0&&(n.strategy=await a(`strategy`,``,[`percentage`]));let _={};n.strategy!==void 0&&c(_,[`strategy`],p(n.strategy,`strategy`,`text`));let v=new URLSearchParams(Object.entries(r).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>i.post(`/accounts/${m}/workers/scripts/${g}/deployments${v?`?`+v:``}`,{body:Object.keys(_).length>0?_:void 0})),{successLabel:`Created`})}};function _e(e){return e.positional(`deploymentId`,{type:`string`,description:`Deployment ID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 ve={command:`delete <deploymentId>`,describe:`Delete a Worker Deployment. The latest deployment, which is actively serving traffic, cannot be deleted. All other deployments can be deleted.`,builder:_e,handler:async r=>{if(r.dryRun){d({command:`cf workers deployments delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${r.scriptName??`<scriptName>`}/deployments/${r.deploymentId??`<deploymentId>`}`,pathParams:{scriptName:String(r.scriptName??``),deploymentId:String(r.deploymentId??``)},bodyKind:`none`});return}let i=await o(r),a=r.local?h:await e(i);r.accountId=a;let c=t({scriptName:r.scriptName});if(r.scriptName=c,!await n({force:!!r.force})){process.stderr.write(`Aborted.
6
- `);return}u(await f(`Deleting`,async()=>i.workers.deployments.delete(a,c,r.deploymentId)),{successLabel:`Deleted`})}};function ye(e){return e.positional(`deploymentId`,{type:`string`,description:`Deployment ID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const be={command:`get <deploymentId>`,describe:`Get information about a Worker Deployment.`,builder:ye,handler:async n=>{if(n.dryRun){d({command:`cf workers deployments get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/deployments/${n.deploymentId??`<deploymentId>`}`,pathParams:{scriptName:String(n.scriptName??``),deploymentId:String(n.deploymentId??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.deployments.get(i,a,n.deploymentId)),{successLabel:`Loaded`})}};function xe(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Se={command:`list`,describe:`List of Worker Deployments. The first deployment in the list is the latest deployment actively serving traffic.`,builder:xe,handler:async n=>{if(n.dryRun){d({command:`cf workers deployments list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/deployments`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.deployments.list(i,a)),{successLabel:`Loaded`})}},Ce={command:`deployments`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(ge).command(ve).command(be).command(Se).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function we(e){return e.positional(`domainId`,{type:`string`,description:`ID of the domain.`,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 Te={command:`delete <domainId>`,describe:`Detaches a domain from a Worker. Both the Worker and all of its previews are no longer routable using this domain.`,builder:we,handler:async t=>{if(t.dryRun){d({command:`cf workers domains delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/domains/${t.domainId??`<domainId>`}`,pathParams:{domainId:String(t.domainId??``)},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
7
- `);return}u(await f(`Deleting`,async()=>r.workers.domains.delete(i,t.domainId)),{successLabel:`Deleted`})}};function Ee(e){return e.positional(`domainId`,{type:`string`,description:`ID of the domain.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const De={command:`get <domainId>`,describe:`Gets information about a domain.`,builder:Ee,handler:async t=>{if(t.dryRun){d({command:`cf workers domains get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/domains/${t.domainId??`<domainId>`}`,pathParams:{domainId:String(t.domainId??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.domains.get(r,t.domainId)),{successLabel:`Loaded`})}};function Oe(e){return e.option(`zone-id`,{type:`string`,description:`ID of the zone containing the domain hostname.`}).option(`zone-name`,{type:`string`,description:`Name of the zone containing the domain hostname.`}).option(`service`,{type:`string`,description:`Name of the Worker associated with the domain.`}).option(`hostname`,{type:`string`,description:`Hostname of the domain.`}).option(`environment`,{type:`string`,description:`Worker environment associated with the domain.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ke={command:`list`,describe:`Lists all domains for an account.`,builder:Oe,handler:async t=>{let n={zone_id:t.zoneId,zone_name:t.zoneName,service:t.service,hostname:t.hostname,environment:t.environment};if(t.dryRun){d({command:`cf workers domains list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/domains`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.domains.list(i,n)),{successLabel:`Loaded`})}};function Ae(e){return e.option(`environment`,{type:`string`,description:`Worker environment associated with the domain.`}).option(`hostname`,{type:`string`,description:`Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.`}).option(`service`,{type:`string`,description:`Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.`}).option(`zone-name`,{type:`string`,description:`Name of the zone containing the domain hostname.`}).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 je={command:`update`,describe:`Attaches a domain that routes traffic to a Worker.`,builder:Ae,handler:async t=>{if(t.dryRun){d({command:`cf workers domains update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/domains`,pathParams:{},bodyKind:`json`,body:{environment:t.environment,hostname:t.hostname,service:t.service,zoneName:t.zoneName,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/domains`,{body:e})),{successLabel:`Updated`});return}t.environment===void 0&&(t.environment=await i(`environment`,`Worker environment associated with the domain.`)),t.hostname===void 0&&(t.hostname=await i(`hostname`,`Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.`)),t.service===void 0&&(t.service=await i(`service`,`Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.`)),t.zoneName===void 0&&(t.zoneName=await i(`zone-name`,`Name of the zone containing the domain hostname.`));let a={};t.environment!==void 0&&c(a,[`environment`],p(t.environment,`environment`,`text`)),t.hostname!==void 0&&c(a,[`hostname`],p(t.hostname,`hostname`,`text`)),t.service!==void 0&&c(a,[`service`],p(t.service,`service`,`text`)),t.zoneName!==void 0&&c(a,[`zone_name`],p(t.zoneName,`zoneName`,`text`)),u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/domains`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Updated`})}},Me={command:`domains`,describe:`Attach or detach custom domains that route directly to a Worker without a DNS record`,builder:e=>e.command(Te).command(De).command(ke).command(je).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ne(e){return e.option(`configuration-type`,{type:`string`,description:`The configuration.type field`,choices:[`logpush`]}).option(`configuration-url`,{type:`string`,description:`The configuration.url field`}).option(`enabled`,{type:`boolean`,description:`The enabled field`}).option(`name`,{type:`string`,description:`The name field`}).option(`skip-preflight-check`,{type:`boolean`,description:`The skipPreflightCheck 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 Pe={command:`create`,describe:`Create a new Workers Observability Telemetry Destination.`,builder:Ne,handler:async t=>{if(t.dryRun){d({command:`cf workers observability destinations create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/destinations`,pathParams:{},bodyKind:`json`,body:{configurationType:t.configurationType,configurationUrl:t.configurationUrl,enabled:t.enabled,name:t.name,skipPreflightCheck:t.skipPreflightCheck,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/destinations`,{body:e})),{successLabel:`Created`});return}if(t.configurationType===void 0&&(t.configurationType=await a(`configuration-type`,``,[`logpush`])),t.configurationUrl===void 0&&(t.configurationUrl=await i(`configuration-url`,``)),t.enabled===void 0)throw Error(`--enabled is required (or pass --body with this field set).`);t.name===void 0&&(t.name=await i(`name`,``));let m={};t.configurationType!==void 0&&c(m,[`configuration`,`type`],p(t.configurationType,`configurationType`,`text`)),t.configurationUrl!==void 0&&c(m,[`configuration`,`url`],p(t.configurationUrl,`configurationUrl`,`text`)),t.enabled!==void 0&&c(m,[`enabled`],t.enabled),t.name!==void 0&&c(m,[`name`],p(t.name,`name`,`text`)),t.skipPreflightCheck!==void 0&&c(m,[`skipPreflightCheck`],t.skipPreflightCheck),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/destinations`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function Fe(e){return e.positional(`slug`,{type:`string`,description:`Slug`,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 Ie={command:`delete <slug>`,describe:`Delete a Workers Observability Telemetry Destination.`,builder:Fe,handler:async t=>{if(t.dryRun){d({command:`cf workers observability destinations delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/destinations/${t.slug??`<slug>`}`,pathParams:{slug:String(t.slug??``)},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
8
- `);return}u(await f(`Deleting`,async()=>r.workers.observability.destinations.delete(t.slug,i)),{successLabel:`Deleted`})}};function Le(e){return e.option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`PerPage`}).option(`order`,{type:`string`,description:`Order`,choices:[`asc`,`desc`]}).option(`order-by`,{type:`string`,description:`OrderBy`,choices:[`created`,`updated`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Re={command:`list`,describe:`List your Workers Observability Telemetry Destinations.`,builder:Le,handler:async t=>{let n={page:t.page,perPage:t.perPage,order:t.order,orderBy:t.orderBy};if(t.dryRun){d({command:`cf workers observability destinations list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/destinations`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.observability.destinations.list(i,n)),{successLabel:`Loaded`})}};function ze(e){return e.positional(`slug`,{type:`string`,description:`Slug`,demandOption:!0}).option(`configuration-type`,{type:`string`,description:`The configuration.type field`,choices:[`logpush`]}).option(`configuration-url`,{type:`string`,description:`The configuration.url field`}).option(`enabled`,{type:`boolean`,description:`The enabled 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 Be={command:`update <slug>`,describe:`Update an existing Workers Observability Telemetry Destination.`,builder:ze,handler:async t=>{if(t.dryRun){d({command:`cf workers observability destinations update`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/destinations/${t.slug??`<slug>`}`,pathParams:{slug:String(t.slug??``)},bodyKind:`json`,body:{configurationType:t.configurationType,configurationUrl:t.configurationUrl,enabled:t.enabled,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/observability/destinations/${t.slug}`,{body:e})),{successLabel:`Updated`});return}if(t.configurationType===void 0&&(t.configurationType=await a(`configuration-type`,``,[`logpush`])),t.configurationUrl===void 0&&(t.configurationUrl=await i(`configuration-url`,``)),t.enabled===void 0)throw Error(`--enabled is required (or pass --body with this field set).`);let m={};t.configurationType!==void 0&&c(m,[`configuration`,`type`],p(t.configurationType,`configurationType`,`text`)),t.configurationUrl!==void 0&&c(m,[`configuration`,`url`],p(t.configurationUrl,`configurationUrl`,`text`)),t.enabled!==void 0&&c(m,[`enabled`],t.enabled),u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/observability/destinations/${t.slug}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},Ve={command:`destinations`,describe:`Workers observability — destinations, queries, and telemetry for monitoring and debugging`,builder:e=>e.command(Pe).command(Ie).command(Re).command(Be).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function He(e){return e.option(`description`,{type:`string`,description:`The description field`}).option(`name`,{type:`string`,description:`Query name`}).option(`parameters-datasets`,{type:`string`,array:!0,description:`Set the Datasets to query. Leave it empty to query all the datasets.`}).option(`parameters-filter-combination`,{type:`string`,description:`Set a Flag to describe how to combine the filters on the query.`,choices:[`and`,`or`,`AND`,`OR`]}).option(`parameters-limit`,{type:`number`,description:`Set a limit on the number of results / records returned by the query`}).option(`parameters-needle-is-regex`,{type:`boolean`,description:`The parameters.needle.isRegex field`}).option(`parameters-needle-match-case`,{type:`boolean`,description:`The parameters.needle.matchCase field`}).option(`parameters-order-by-order`,{type:`string`,description:`Set the order of the results`,choices:[`asc`,`desc`]}).option(`parameters-order-by-value`,{type:`string`,description:`Configure which Calculation to order the results by.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Specify the new contents of the query.`})}const Ue={command:`create`,describe:`Persist query for later use.`,builder:He,handler:async t=>{if(t.dryRun){d({command:`cf workers observability queries create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/queries`,pathParams:{},bodyKind:`json`,body:{description:t.description,name:t.name,parametersDatasets:t.parametersDatasets,parametersFilterCombination:t.parametersFilterCombination,parametersLimit:t.parametersLimit,parametersNeedleIsRegex:t.parametersNeedleIsRegex,parametersNeedleMatchCase:t.parametersNeedleMatchCase,parametersOrderByOrder:t.parametersOrderByOrder,parametersOrderByValue:t.parametersOrderByValue,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/queries`,{body:e})),{successLabel:`Created`});return}t.description===void 0&&(t.description=await i(`description`,``)),t.name===void 0&&(t.name=await i(`name`,`Query name`)),t.parametersOrderByValue===void 0&&(t.parametersOrderByValue=await i(`parameters-order-by-value`,`Configure which Calculation to order the results by.`));let a={};t.description!==void 0&&c(a,[`description`],p(t.description,`description`,`text`)),t.name!==void 0&&c(a,[`name`],p(t.name,`name`,`text`)),t.parametersDatasets!==void 0&&c(a,[`parameters`,`datasets`],t.parametersDatasets),t.parametersFilterCombination!==void 0&&c(a,[`parameters`,`filterCombination`],p(t.parametersFilterCombination,`parametersFilterCombination`,`text`)),t.parametersLimit!==void 0&&c(a,[`parameters`,`limit`],t.parametersLimit),t.parametersNeedleIsRegex!==void 0&&c(a,[`parameters`,`needle`,`isRegex`],t.parametersNeedleIsRegex),t.parametersNeedleMatchCase!==void 0&&c(a,[`parameters`,`needle`,`matchCase`],t.parametersNeedleMatchCase),t.parametersOrderByOrder!==void 0&&c(a,[`parameters`,`orderBy`,`order`],p(t.parametersOrderByOrder,`parametersOrderByOrder`,`text`)),t.parametersOrderByValue!==void 0&&c(a,[`parameters`,`orderBy`,`value`],p(t.parametersOrderByValue,`parametersOrderByValue`,`text`)),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/queries`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Created`})}};function We(e){return e.positional(`queryId`,{type:`string`,description:`QueryId`,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 Ge={command:`delete <queryId>`,describe:`Delete a saved query.`,builder:We,handler:async t=>{if(t.dryRun){d({command:`cf workers observability queries delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/queries/${t.queryId??`<queryId>`}`,pathParams:{queryId:String(t.queryId??``)},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
9
- `);return}u(await f(`Deleting`,async()=>r.workers.observability.queries.delete(t.queryId,i)),{successLabel:`Deleted`})}};function Ke(e){return e.positional(`queryId`,{type:`string`,description:`QueryId`,demandOption:!0}).option(`description`,{type:`string`,description:`The description field`}).option(`name`,{type:`string`,description:`Query name`}).option(`parameters-datasets`,{type:`string`,array:!0,description:`Set the Datasets to query. Leave it empty to query all the datasets.`}).option(`parameters-filter-combination`,{type:`string`,description:`Set a Flag to describe how to combine the filters on the query.`,choices:[`and`,`or`,`AND`,`OR`]}).option(`parameters-limit`,{type:`number`,description:`Set a limit on the number of results / records returned by the query`}).option(`parameters-needle-is-regex`,{type:`boolean`,description:`The parameters.needle.isRegex field`}).option(`parameters-needle-match-case`,{type:`boolean`,description:`The parameters.needle.matchCase field`}).option(`parameters-order-by-order`,{type:`string`,description:`Set the order of the results`,choices:[`asc`,`desc`]}).option(`parameters-order-by-value`,{type:`string`,description:`Configure which Calculation to order the results by.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Specify the new contents of the query.`})}const qe={command:`edit <queryId>`,describe:`Update saved query.`,builder:Ke,handler:async t=>{if(t.dryRun){d({command:`cf workers observability queries edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/queries/${t.queryId??`<queryId>`}`,pathParams:{queryId:String(t.queryId??``)},bodyKind:`json`,body:{description:t.description,name:t.name,parametersDatasets:t.parametersDatasets,parametersFilterCombination:t.parametersFilterCombination,parametersLimit:t.parametersLimit,parametersNeedleIsRegex:t.parametersNeedleIsRegex,parametersNeedleMatchCase:t.parametersNeedleMatchCase,parametersOrderByOrder:t.parametersOrderByOrder,parametersOrderByValue:t.parametersOrderByValue,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/observability/queries/${t.queryId}`,{body:e})),{successLabel:`Updated`});return}t.description===void 0&&(t.description=await i(`description`,``)),t.name===void 0&&(t.name=await i(`name`,`Query name`)),t.parametersOrderByValue===void 0&&(t.parametersOrderByValue=await i(`parameters-order-by-value`,`Configure which Calculation to order the results by.`));let a={};t.description!==void 0&&c(a,[`description`],p(t.description,`description`,`text`)),t.name!==void 0&&c(a,[`name`],p(t.name,`name`,`text`)),t.parametersDatasets!==void 0&&c(a,[`parameters`,`datasets`],t.parametersDatasets),t.parametersFilterCombination!==void 0&&c(a,[`parameters`,`filterCombination`],p(t.parametersFilterCombination,`parametersFilterCombination`,`text`)),t.parametersLimit!==void 0&&c(a,[`parameters`,`limit`],t.parametersLimit),t.parametersNeedleIsRegex!==void 0&&c(a,[`parameters`,`needle`,`isRegex`],t.parametersNeedleIsRegex),t.parametersNeedleMatchCase!==void 0&&c(a,[`parameters`,`needle`,`matchCase`],t.parametersNeedleMatchCase),t.parametersOrderByOrder!==void 0&&c(a,[`parameters`,`orderBy`,`order`],p(t.parametersOrderByOrder,`parametersOrderByOrder`,`text`)),t.parametersOrderByValue!==void 0&&c(a,[`parameters`,`orderBy`,`value`],p(t.parametersOrderByValue,`parametersOrderByValue`,`text`)),u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/observability/queries/${t.queryId}`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Updated`})}};function Je(e){return e.positional(`queryId`,{type:`string`,description:`QueryId`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ye={command:`get <queryId>`,describe:`Retrieve a saved query.`,builder:Je,handler:async t=>{if(t.dryRun){d({command:`cf workers observability queries get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/queries/${t.queryId??`<queryId>`}`,pathParams:{queryId:String(t.queryId??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.observability.queries.get(t.queryId,r)),{successLabel:`Loaded`})}};function Xe(e){return e.option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`PerPage`}).option(`order`,{type:`string`,description:`Order`,choices:[`asc`,`desc`]}).option(`order-by`,{type:`string`,description:`OrderBy`,choices:[`created`,`updated`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ze={command:`list`,describe:`List saved queries.`,builder:Xe,handler:async t=>{let n={page:t.page,perPage:t.perPage,order:t.order,orderBy:t.orderBy};if(t.dryRun){d({command:`cf workers observability queries list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/queries`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.observability.queries.list(i,n)),{successLabel:`Loaded`})}},Qe={command:`queries`,describe:`Workers observability — destinations, queries, and telemetry for monitoring and debugging`,builder:e=>e.command(Ue).command(Ge).command(qe).command(Ye).command(Ze).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function $e(e){return e.option(`datasets`,{type:`string`,array:!0,description:`Leave this empty to use the default datasets`}).option(`from`,{type:`number`,description:`The from field`}).option(`key-needle-is-regex`,{type:`boolean`,description:`The keyNeedle.isRegex field`}).option(`key-needle-match-case`,{type:`boolean`,description:`The keyNeedle.matchCase field`}).option(`limit`,{type:`number`,description:`Advanced usage: set limit=1000+ to retrieve comprehensive key options without needing additional filtering.`}).option(`needle-is-regex`,{type:`boolean`,description:`The needle.isRegex field`}).option(`needle-match-case`,{type:`boolean`,description:`The needle.matchCase field`}).option(`to`,{type:`number`,description:`The to field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Find keys in your telemetry events matching a specific filter or needle.`})}const et={command:`keys`,describe:`List all the keys in your telemetry events.`,builder:$e,handler:async t=>{if(t.dryRun){d({command:`cf workers observability telemetry keys`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/telemetry/keys`,pathParams:{},bodyKind:`json`,body:{datasets:t.datasets,from:t.from,keyNeedleIsRegex:t.keyNeedleIsRegex,keyNeedleMatchCase:t.keyNeedleMatchCase,limit:t.limit,needleIsRegex:t.needleIsRegex,needleMatchCase:t.needleMatchCase,to:t.to,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/keys`,{body:e})),{successLabel:`Created`});return}let i={};t.datasets!==void 0&&c(i,[`datasets`],t.datasets),t.from!==void 0&&c(i,[`from`],t.from),t.keyNeedleIsRegex!==void 0&&c(i,[`keyNeedle`,`isRegex`],t.keyNeedleIsRegex),t.keyNeedleMatchCase!==void 0&&c(i,[`keyNeedle`,`matchCase`],t.keyNeedleMatchCase),t.limit!==void 0&&c(i,[`limit`],t.limit),t.needleIsRegex!==void 0&&c(i,[`needle`,`isRegex`],t.needleIsRegex),t.needleMatchCase!==void 0&&c(i,[`needle`,`matchCase`],t.needleMatchCase),t.to!==void 0&&c(i,[`to`],t.to),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/keys`,{body:Object.keys(i).length>0?i:void 0})),{successLabel:`Created`})}};function tt(e){return e.option(`chart`,{type:`boolean`,description:`Whether to include timeseties data in the response`}).option(`compare`,{type:`boolean`,description:`Whether to include comparison data with previous time periods`}).option(`dry`,{type:`boolean`,description:`Whether to perform a dry run without saving the results of the query. Useful for validation`,default:!1}).option(`granularity`,{type:`number`,description:`This is only used when the view is calculations. Leaving it empty lets Workers Observability detect the correct granularity.`}).option(`ignore-series`,{type:`boolean`,description:`Whether to ignore time-series data in the results and return only aggregated values`,default:!1}).option(`limit`,{type:`number`,description:`Use this limit to cap the number of events returned when the view is events.`,default:50}).option(`offset`,{type:`string`,description:`Cursor pagination for event/trace/invocation views. Pass the last item's $metadata.id as the next offset.`}).option(`offset-by`,{type:`number`,description:`Numeric offset for pattern results (top-N list). Use with limit to page pattern groups; not used by cursor pagination.`}).option(`offset-direction`,{type:`string`,description:`Direction for offset-based pagination (e.g., 'next', 'prev')`}).option(`parameters-datasets`,{type:`string`,array:!0,description:`Set the Datasets to query. Leave it empty to query all the datasets.`}).option(`parameters-filter-combination`,{type:`string`,description:`Set a Flag to describe how to combine the filters on the query.`,choices:[`and`,`or`,`AND`,`OR`]}).option(`parameters-limit`,{type:`number`,description:`Set a limit on the number of results / records returned by the query`}).option(`parameters-needle-is-regex`,{type:`boolean`,description:`The parameters.needle.isRegex field`}).option(`parameters-needle-match-case`,{type:`boolean`,description:`The parameters.needle.matchCase field`}).option(`parameters-order-by-order`,{type:`string`,description:`Set the order of the results`,choices:[`asc`,`desc`]}).option(`parameters-order-by-value`,{type:`string`,description:`Configure which Calculation to order the results by.`}).option(`query-id`,{type:`string`,description:`Unique identifier for the query to execute`}).option(`timeframe-from`,{type:`number`,description:`Start timestamp for the query timeframe (Unix timestamp in milliseconds)`}).option(`timeframe-to`,{type:`number`,description:`End timestamp for the query timeframe (Unix timestamp in milliseconds)`}).option(`view`,{type:`string`,description:`Examples by view type. Events: show errors for a worker in the last 30 minutes. Calculations: p99 of wall time or count by status code. Invocations: find a specific request that resulted in a 500.`,choices:[`traces`,`events`,`calculations`,`invocations`,`requests`,`agents`],default:`calculations`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Query your observability events, requests, and traces to build visualizations and identify insights.`}).check(e=>{if([`parameters-datasets`,`parameters-filter-combination`,`parameters-limit`,`parameters-needle-is-regex`,`parameters-needle-match-case`,`parameters-order-by-order`,`parameters-order-by-value`].some(t=>e[t]!==void 0)){let t=[`parameters-order-by-value`].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 --parameters-* flag is set`)}return!0})}const nt={command:`query`,describe:`Run a temporary or saved query.`,builder:tt,handler:async t=>{if(t.dryRun){d({command:`cf workers observability telemetry query`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/telemetry/query`,pathParams:{},bodyKind:`json`,body:{chart:t.chart,compare:t.compare,dry:t.dry,granularity:t.granularity,ignoreSeries:t.ignoreSeries,limit:t.limit,offset:t.offset,offsetBy:t.offsetBy,offsetDirection:t.offsetDirection,parametersDatasets:t.parametersDatasets,parametersFilterCombination:t.parametersFilterCombination,parametersLimit:t.parametersLimit,parametersNeedleIsRegex:t.parametersNeedleIsRegex,parametersNeedleMatchCase:t.parametersNeedleMatchCase,parametersOrderByOrder:t.parametersOrderByOrder,parametersOrderByValue:t.parametersOrderByValue,queryId:t.queryId,timeframeFrom:t.timeframeFrom,timeframeTo:t.timeframeTo,view:t.view,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Loading`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/query`,{body:e})),{successLabel:`Loaded`});return}if(t.queryId===void 0&&(t.queryId=await i(`query-id`,`Unique identifier for the query to execute`)),t.timeframeFrom===void 0)throw Error(`--timeframe-from is required (or pass --body with this field set).`);if(t.timeframeTo===void 0)throw Error(`--timeframe-to is required (or pass --body with this field set).`);let a={};t.chart!==void 0&&c(a,[`chart`],t.chart),t.compare!==void 0&&c(a,[`compare`],t.compare),t.dry!==void 0&&c(a,[`dry`],t.dry),t.granularity!==void 0&&c(a,[`granularity`],t.granularity),t.ignoreSeries!==void 0&&c(a,[`ignoreSeries`],t.ignoreSeries),t.limit!==void 0&&c(a,[`limit`],t.limit),t.offset!==void 0&&c(a,[`offset`],p(t.offset,`offset`,`text`)),t.offsetBy!==void 0&&c(a,[`offsetBy`],t.offsetBy),t.offsetDirection!==void 0&&c(a,[`offsetDirection`],p(t.offsetDirection,`offsetDirection`,`text`)),t.parametersDatasets!==void 0&&c(a,[`parameters`,`datasets`],t.parametersDatasets),t.parametersFilterCombination!==void 0&&c(a,[`parameters`,`filterCombination`],p(t.parametersFilterCombination,`parametersFilterCombination`,`text`)),t.parametersLimit!==void 0&&c(a,[`parameters`,`limit`],t.parametersLimit),t.parametersNeedleIsRegex!==void 0&&c(a,[`parameters`,`needle`,`isRegex`],t.parametersNeedleIsRegex),t.parametersNeedleMatchCase!==void 0&&c(a,[`parameters`,`needle`,`matchCase`],t.parametersNeedleMatchCase),t.parametersOrderByOrder!==void 0&&c(a,[`parameters`,`orderBy`,`order`],p(t.parametersOrderByOrder,`parametersOrderByOrder`,`text`)),t.parametersOrderByValue!==void 0&&c(a,[`parameters`,`orderBy`,`value`],p(t.parametersOrderByValue,`parametersOrderByValue`,`text`)),t.queryId!==void 0&&c(a,[`queryId`],p(t.queryId,`queryId`,`text`)),t.timeframeFrom!==void 0&&c(a,[`timeframe`,`from`],t.timeframeFrom),t.timeframeTo!==void 0&&c(a,[`timeframe`,`to`],t.timeframeTo),t.view!==void 0&&c(a,[`view`],p(t.view,`view`,`text`)),u(await f(`Loading`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/query`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Loaded`})}};function rt(e){return e.option(`datasets`,{type:`string`,array:!0,description:`Leave this empty to use the default datasets`}).option(`key`,{type:`string`,description:`The key field`}).option(`limit`,{type:`number`,description:`The limit field`,default:50}).option(`needle-is-regex`,{type:`boolean`,description:`The needle.isRegex field`}).option(`needle-match-case`,{type:`boolean`,description:`The needle.matchCase field`}).option(`timeframe-from`,{type:`number`,description:`The timeframe.from field`}).option(`timeframe-to`,{type:`number`,description:`The timeframe.to field`}).option(`type`,{type:`string`,description:`The type field`,choices:[`string`,`boolean`,`number`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Retrieve values from your telemetry events.`})}const it={command:`values`,describe:`List unique values found in your events.`,builder:rt,handler:async t=>{if(t.dryRun){d({command:`cf workers observability telemetry values`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/observability/telemetry/values`,pathParams:{},bodyKind:`json`,body:{datasets:t.datasets,key:t.key,limit:t.limit,needleIsRegex:t.needleIsRegex,needleMatchCase:t.needleMatchCase,timeframeFrom:t.timeframeFrom,timeframeTo:t.timeframeTo,type:t.type,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/values`,{body:e})),{successLabel:`Created`});return}if(t.datasets===void 0)throw Error(`--datasets is required (or pass --body with this field set).`);if(t.key===void 0&&(t.key=await i(`key`,``)),t.timeframeFrom===void 0)throw Error(`--timeframe-from is required (or pass --body with this field set).`);if(t.timeframeTo===void 0)throw Error(`--timeframe-to is required (or pass --body with this field set).`);t.type===void 0&&(t.type=await a(`type`,``,[`string`,`boolean`,`number`]));let m={};t.datasets!==void 0&&c(m,[`datasets`],t.datasets),t.key!==void 0&&c(m,[`key`],p(t.key,`key`,`text`)),t.limit!==void 0&&c(m,[`limit`],t.limit),t.needleIsRegex!==void 0&&c(m,[`needle`,`isRegex`],t.needleIsRegex),t.needleMatchCase!==void 0&&c(m,[`needle`,`matchCase`],t.needleMatchCase),t.timeframeFrom!==void 0&&c(m,[`timeframe`,`from`],t.timeframeFrom),t.timeframeTo!==void 0&&c(m,[`timeframe`,`to`],t.timeframeTo),t.type!==void 0&&c(m,[`type`],p(t.type,`type`,`text`)),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/workers/observability/telemetry/values`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}},at={command:`telemetry`,describe:`Workers observability — destinations, queries, and telemetry for monitoring and debugging`,builder:e=>e.command(et).command(nt).command(it).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},ot={command:`observability`,describe:`Operations for observability`,builder:e=>e.command(Ve).command(Qe).command(at).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function st(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ct={command:`list`,describe:`Returns a list of available placement regions organized by cloud provider. These regions can be used to configure Smart Placement for Workers.`,builder:st,handler:async t=>{if(t.dryRun){d({command:`cf workers placement regions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/placement/regions`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.placement.regions.list(r)),{successLabel:`Loaded`})}},lt={command:`regions`,describe:`Placement operations`,builder:e=>e.command(ct).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},ut={command:`placement`,describe:`Operations for placement`,builder:e=>e.command(lt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function dt(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ft={command:`create`,describe:`Creates the stripe config for a publisher.`,builder:dt,handler:async t=>{if(t.dryRun){d({command:`cf workers publisher stripe create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/publisher/stripe`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Creating`,async()=>n.workers.publisher.stripe.create(r)),{successLabel:`Created`})}};function pt(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const mt={command:`delete`,describe:`Deletes the stripe config for a publisher.`,builder:pt,handler:async t=>{if(t.dryRun){d({command:`cf workers publisher stripe delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/publisher/stripe`,pathParams:{},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
10
- `);return}u(await f(`Deleting`,async()=>r.workers.publisher.stripe.delete(i)),{successLabel:`Deleted`})}};function ht(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const gt={command:`get`,describe:`Gets the stripe config for a publisher.`,builder:ht,handler:async t=>{if(t.dryRun){d({command:`cf workers publisher stripe get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/publisher/stripe`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.publisher.stripe.get(r)),{successLabel:`Loaded`})}},_t={command:`stripe`,describe:`Publisher operations`,builder:e=>e.command(ft).command(mt).command(gt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},vt={command:`publisher`,describe:`Operations for publisher`,builder:e=>e.command(_t).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function yt(e){return e.positional(`domain`,{type:`string`,description:`The domain to get credentials for.`,demandOption:!0}).option(`expiration-minutes`,{type:`number`,description:`The number of minutes the credentials will be valid for.`}).option(`permissions`,{type:`string`,array:!0,description:`The permissions field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Specifies the configuration for the image registry credential to create.`})}const bt={command:`generate <domain>`,describe:`Generates temporary credentials for accessing Cloudflare's container image registry. Used for pulling and pushing container images.`,builder:yt,handler:async t=>{if(t.dryRun){d({command:`cf workers registries credentials generate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/containers/registries/${t.domain??`<domain>`}/credentials`,pathParams:{domain:String(t.domain??``)},bodyKind:`json`,body:{expirationMinutes:t.expirationMinutes,permissions:t.permissions,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/containers/registries/${t.domain}/credentials`,{body:e})),{successLabel:`Created`});return}if(t.expirationMinutes===void 0)throw Error(`--expiration-minutes is required (or pass --body with this field set).`);if(t.permissions===void 0)throw Error(`--permissions is required (or pass --body with this field set).`);let i={};t.expirationMinutes!==void 0&&c(i,[`expiration_minutes`],t.expirationMinutes),t.permissions!==void 0&&c(i,[`permissions`],t.permissions),u(await f(`Creating`,async()=>n.post(`/accounts/${r}/containers/registries/${t.domain}/credentials`,{body:Object.keys(i).length>0?i:void 0})),{successLabel:`Created`})}},xt={command:`credentials`,describe:`Registries operations`,builder:e=>e.command(bt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},St={command:`registries`,describe:`Operations for registries`,builder:e=>e.command(xt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ct(e){return e.option(`pattern`,{type:`string`,description:`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`}).option(`script`,{type:`string`,description:`Name of the script to run if the route matches.`}).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 wt={command:`create`,describe:`Creates a route that maps a URL pattern to a Worker.`,builder:Ct,handler:async e=>{if(e.dryRun){d({command:`cf workers routes create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/workers/routes`,pathParams:{zoneId:String(e.zoneId??``)},bodyKind:`json`,body:{pattern:e.pattern,script:e.script,body:e.body}});return}let t=await o(e);if(e.zoneId=await r({zone:e.zone},t,{quiet:e.quiet}),e.body){let n=l(e.body);u(await f(`Creating`,async()=>t.post(`/zones/${e.zoneId}/workers/routes`,{body:n})),{successLabel:`Created`});return}e.pattern===void 0&&(e.pattern=await i(`pattern`,`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`));let n={};e.pattern!==void 0&&c(n,[`pattern`],p(e.pattern,`pattern`,`text`)),e.script!==void 0&&c(n,[`script`],p(e.script,`script`,`text`)),u(await f(`Creating`,async()=>t.post(`/zones/${e.zoneId}/workers/routes`,{body:Object.keys(n).length>0?n:void 0})),{successLabel:`Created`})}};function Tt(e){return e.positional(`routeId`,{type:`string`,description:`Identifier.`,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 Et={command:`delete <routeId>`,describe:`Deletes a route.`,builder:Tt,handler:async e=>{if(e.dryRun){d({command:`cf workers routes delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/workers/routes/${e.routeId??`<routeId>`}`,pathParams:{routeId:String(e.routeId??``),zoneId:String(e.zoneId??``)},bodyKind:`none`});return}let t=await o(e),i=await r({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=i,!await n({force:!!e.force})){process.stderr.write(`Aborted.
11
- `);return}u(await f(`Deleting`,async()=>t.workers.routes.delete(e.routeId,i)),{successLabel:`Deleted`})}};function Dt(e){return e.positional(`routeId`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ot={command:`get <routeId>`,describe:`Returns information about a route, including URL pattern and Worker.`,builder:Dt,handler:async e=>{if(e.dryRun){d({command:`cf workers routes get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/workers/routes/${e.routeId??`<routeId>`}`,pathParams:{routeId:String(e.routeId??``),zoneId:String(e.zoneId??``)},bodyKind:`none`});return}let t=await o(e),n=await r({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,u(await f(`Loading`,async()=>t.workers.routes.get(e.routeId,n)),{successLabel:`Loaded`})}};function kt(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const At={command:`list`,describe:`Returns routes for a zone.`,builder:kt,handler:async e=>{if(e.dryRun){d({command:`cf workers routes list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/workers/routes`,pathParams:{zoneId:String(e.zoneId??``)},bodyKind:`none`});return}let t=await o(e),n=await r({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,u(await f(`Loading`,async()=>t.workers.routes.list(n)),{successLabel:`Loaded`})}};function jt(e){return e.positional(`routeId`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`pattern`,{type:`string`,description:`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`}).option(`script`,{type:`string`,description:`Name of the script to run if the route matches.`}).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 Mt={command:`update <routeId>`,describe:`Updates the URL pattern or Worker associated with a route.`,builder:jt,handler:async e=>{if(e.dryRun){d({command:`cf workers routes update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${e.zoneId??`<zoneId>`}/workers/routes/${e.routeId??`<routeId>`}`,pathParams:{routeId:String(e.routeId??``),zoneId:String(e.zoneId??``)},bodyKind:`json`,body:{pattern:e.pattern,script:e.script,body:e.body}});return}let t=await o(e);if(e.zoneId=await r({zone:e.zone},t,{quiet:e.quiet}),e.body){let n=l(e.body);u(await f(`Updating`,async()=>t.put(`/zones/${e.zoneId}/workers/routes/${e.routeId}`,{body:n})),{successLabel:`Updated`});return}e.pattern===void 0&&(e.pattern=await i(`pattern`,`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`));let n={};e.pattern!==void 0&&c(n,[`pattern`],p(e.pattern,`pattern`,`text`)),e.script!==void 0&&c(n,[`script`],p(e.script,`script`,`text`)),u(await f(`Updating`,async()=>t.put(`/zones/${e.zoneId}/workers/routes/${e.routeId}`,{body:Object.keys(n).length>0?n:void 0})),{successLabel:`Updated`})}},Nt={command:`routes`,describe:`Map URL patterns to Workers so incoming requests are dispatched to the correct script`,builder:e=>e.command(wt).command(Et).command(Ot).command(At).command(Mt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Pt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 Ft={command:`create`,describe:`Start uploading a collection of assets for use in a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:Pt,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/assets-upload-session`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/scripts/${a}/assets-upload-session`,{body:e})),{successLabel:`Created`});return}u(await f(`Creating`,async()=>r.workers.scripts.assets.upload.create(i,a)),{successLabel:`Created`})}},It={command:`upload`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(Ft).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Lt={command:`assets`,describe:`Operations for scripts.assets`,builder:e=>e.command(It).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Rt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const zt={command:`get`,describe:`Fetch script content only.`,builder:Rt,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts content get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/content/v2`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.content.get(i,a)),{successLabel:`Loaded`})}};function Bt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`cf-worker-body-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.`}).option(`cf-worker-main-module-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`files`,{type:`string`,description:"An array of modules (often JavaScript files) comprising a Worker script. At least one module must be present and referenced in the metadata as `main_module` or `body_part` by filename.<br/>Possible Content-Type(s) are: `application/javascript+module`, `text/javascript+module`, `application/javascript`, `text/javascript`, `text/x-python`, `text/x-python-requirement`, `application/wasm`, `text/plain`, `application/octet-stream`, `application/source-map`."}).option(`metadata`,{type:`string`,description:`JSON-encoded metadata about the uploaded parts and Worker configuration.`})}const Vt={command:`update`,describe:`Put script content without touching config or metadata.`,builder:Bt,handler:async n=>{let r={};if(n.cfWorkerBodyPart!==void 0&&(r[`CF-WORKER-BODY-PART`]=String(n.cfWorkerBodyPart)),n.cfWorkerMainModulePart!==void 0&&(r[`CF-WORKER-MAIN-MODULE-PART`]=String(n.cfWorkerMainModulePart)),n.dryRun){d({command:`cf workers scripts content update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/content`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`multipart`,body:{body:n.body,file:n.file,files:n.files,metadata:n.metadata}});return}let i=await o(n),a=n.local?h:await e(i);n.accountId=a;let c=t({scriptName:n.scriptName});if(n.scriptName=c,n.file!==void 0||n.body!==void 0||n.files!==void 0||n.metadata!==void 0){let e=new FormData;if(n.file){let t=m(n.file);e.append(`file`,new Blob([t]),n.file.split(`/`).pop())}else n.body!==void 0&&e.append(`file`,n.body);if(n.files!==void 0){let t=typeof n.files==`string`?p(n.files,`files`,`text`):n.files;e.append(`files`,typeof t==`string`?t:JSON.stringify(t))}if(n.metadata!==void 0){let t=typeof n.metadata==`string`?p(n.metadata,`metadata`,`text`):n.metadata;e.append(`metadata`,typeof t==`string`?t:JSON.stringify(t))}u(await f(`Updating`,async()=>i.put(`/accounts/${a}/workers/scripts/${c}/content`,{body:e,headers:Object.keys(r).length>0?r:void 0})),{successLabel:`Updated`});return}if(n.body){let e=p(n.body,`body`,`binary`);u(await f(`Updating`,async()=>i.put(`/accounts/${a}/workers/scripts/${c}/content`,{body:e,headers:{"Content-Type":`multipart/form-data`,...r}})),{successLabel:`Updated`});return}if(n.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},Ht={command:`content`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(zt).command(Vt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ut(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`force`,{type:`boolean`,description:`If set to true, delete will not be stopped by associated service binding, durable object, or other binding. Any of these associated bindings/durable objects will be deleted along with the script.`,default:!1}).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 Wt={command:`delete`,describe:`Delete your worker. This call has no response body on a successful delete.`,builder:Ut,handler:async r=>{let i={force:r.force};if(r.dryRun){d({command:`cf workers scripts delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${r.scriptName??`<scriptName>`}`,pathParams:{scriptName:String(r.scriptName??``)},query:i,bodyKind:`json`,body:{body:r.body}});return}let a=await o(r),c=r.local?h:await e(a);r.accountId=c;let p=t({scriptName:r.scriptName});if(r.scriptName=p,!await n({force:!!r.force})){process.stderr.write(`Aborted.
12
- `);return}if(r.body){let e=l(r.body),t=new URLSearchParams(Object.entries(i).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Deleting`,async()=>a.delete(`/accounts/${c}/workers/scripts/${p}${t?`?`+t:``}`,{body:e})),{successLabel:`Deleted`});return}u(await f(`Deleting`,async()=>a.workers.scripts.delete(c,p,i)),{successLabel:`Deleted`})}};function Gt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const Kt={command:`get`,describe:`Fetch raw script content for your worker. Note this is the original script content, not JSON encoded.`,builder:Gt,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a;let c=await f(`Loading`,async()=>_(`/accounts/${i}/workers/scripts/${a}`,{method:`GET`,localEndpoint:n.local?n.localEndpoint:void 0}));g(n.text===!0?c.toString(`utf-8`):c)}};function qt(e){return e.option(`tags`,{type:`string`,description:`Filter scripts by tags. Format: comma-separated list of tag:allowed pairs where allowed is 'yes' or 'no'.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Jt={command:`list`,describe:`Fetch a list of uploaded workers.`,builder:qt,handler:async t=>{let n={tags:t.tags};if(t.dryRun){d({command:`cf workers scripts list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.scripts.list(i,n)),{successLabel:`Loaded`})}};function Yt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Xt={command:`get`,describe:`Fetches Cron Triggers for a Worker.`,builder:Yt,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts schedules get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/schedules`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.schedules.get(i,a)),{successLabel:`Loaded`})}};function Zt(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 Qt={command:`update`,describe:`Updates Cron Triggers for a Worker.`,builder:Zt,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts schedules update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/schedules`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Updating`,async()=>r.put(`/accounts/${i}/workers/scripts/${a}/schedules`,{body:e})),{successLabel:`Updated`});return}if(n.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},$t={command:`schedules`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(Xt).command(Qt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function en(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`settings`,{type:`string`,description:`The settings`})}const tn={command:`edit`,describe:`Patch metadata or config, such as bindings or usage model.`,builder:en,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts script-and-version-settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/settings`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`multipart`,body:{body:n.body,file:n.file,settings:n.settings}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.file!==void 0||n.body!==void 0||n.settings!==void 0){let e=new FormData;if(n.file){let t=m(n.file);e.append(`file`,new Blob([t]),n.file.split(`/`).pop())}else n.body!==void 0&&e.append(`file`,n.body);if(n.settings!==void 0){let t=typeof n.settings==`string`?p(n.settings,`settings`,`text`):n.settings;e.append(`settings`,typeof t==`string`?t:JSON.stringify(t))}u(await f(`Updating`,async()=>r.patch(`/accounts/${i}/workers/scripts/${a}/settings`,{body:e})),{successLabel:`Updated`});return}if(n.body){let e=p(n.body,`body`,`binary`);u(await f(`Updating`,async()=>r.patch(`/accounts/${i}/workers/scripts/${a}/settings`,{body:e,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Updated`});return}if(n.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function nn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const rn={command:`get`,describe:`Get metadata and config, such as bindings or usage model.`,builder:nn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts script-and-version-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/settings`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.scriptAndVersionSettings.get(i,a)),{successLabel:`Loaded`})}},an={command:`script-and-version-settings`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(tn).command(rn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function on(e){return e.option(`name`,{type:`string`,description:`Worker name to search for. Both exact and partial matches are returned.`}).option(`id`,{type:`string`,description:`Worker ID (also called tag) to search for. Only exact matches are returned.`}).option(`order-by`,{type:`string`,description:`Property to sort results by. Results are sorted in ascending order.`,choices:[`created_on`,`modified_on`,`name`]}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const sn={command:`search`,describe:`Search for Workers in an account.`,builder:on,handler:async t=>{let n={name:t.name,id:t.id,order_by:t.orderBy,page:t.page,per_page:t.perPage};if(t.dryRun){d({command:`cf workers scripts search`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts-search`,pathParams:{},query:n,bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);t.accountId=i,u(await f(`Loading`,async()=>r.workers.scripts.search(i,n)),{successLabel:`Loaded`})}};function cn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`logpush`,{type:`boolean`,description:`Whether Logpush is turned on for the Worker.`,default:!1}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!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)`}).check(e=>{if([`observability-enabled`,`observability-head-sampling-rate`,`observability-logs-destinations`,`observability-logs-enabled`,`observability-logs-head-sampling-rate`,`observability-logs-invocation-logs`,`observability-traces-destinations`,`observability-traces-enabled`,`observability-traces-head-sampling-rate`].some(t=>e[t]!==void 0)){let t=[`observability-enabled`,`observability-logs-enabled`,`observability-logs-invocation-logs`].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 --observability-* flag is set`)}return!0})}const ln={command:`edit`,describe:`Patch script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Including but not limited to Logpush and Tail Consumers.`,builder:cn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/script-settings`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{logpush:n.logpush,observabilityEnabled:n.observabilityEnabled,observabilityHeadSamplingRate:n.observabilityHeadSamplingRate,observabilityLogsDestinations:n.observabilityLogsDestinations,observabilityLogsEnabled:n.observabilityLogsEnabled,observabilityLogsHeadSamplingRate:n.observabilityLogsHeadSamplingRate,observabilityLogsInvocationLogs:n.observabilityLogsInvocationLogs,observabilityLogsPersist:n.observabilityLogsPersist,observabilityTracesDestinations:n.observabilityTracesDestinations,observabilityTracesEnabled:n.observabilityTracesEnabled,observabilityTracesHeadSamplingRate:n.observabilityTracesHeadSamplingRate,observabilityTracesPersist:n.observabilityTracesPersist,body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Updating`,async()=>r.patch(`/accounts/${i}/workers/scripts/${a}/script-settings`,{body:e})),{successLabel:`Updated`});return}let p={};n.logpush!==void 0&&c(p,[`logpush`],n.logpush),n.observabilityEnabled!==void 0&&c(p,[`observability`,`enabled`],n.observabilityEnabled),n.observabilityHeadSamplingRate!==void 0&&c(p,[`observability`,`head_sampling_rate`],n.observabilityHeadSamplingRate),n.observabilityLogsDestinations!==void 0&&c(p,[`observability`,`logs`,`destinations`],n.observabilityLogsDestinations),n.observabilityLogsEnabled!==void 0&&c(p,[`observability`,`logs`,`enabled`],n.observabilityLogsEnabled),n.observabilityLogsHeadSamplingRate!==void 0&&c(p,[`observability`,`logs`,`head_sampling_rate`],n.observabilityLogsHeadSamplingRate),n.observabilityLogsInvocationLogs!==void 0&&c(p,[`observability`,`logs`,`invocation_logs`],n.observabilityLogsInvocationLogs),n.observabilityLogsPersist!==void 0&&c(p,[`observability`,`logs`,`persist`],n.observabilityLogsPersist),n.observabilityTracesDestinations!==void 0&&c(p,[`observability`,`traces`,`destinations`],n.observabilityTracesDestinations),n.observabilityTracesEnabled!==void 0&&c(p,[`observability`,`traces`,`enabled`],n.observabilityTracesEnabled),n.observabilityTracesHeadSamplingRate!==void 0&&c(p,[`observability`,`traces`,`head_sampling_rate`],n.observabilityTracesHeadSamplingRate),n.observabilityTracesPersist!==void 0&&c(p,[`observability`,`traces`,`persist`],n.observabilityTracesPersist),u(await f(`Updating`,async()=>r.patch(`/accounts/${i}/workers/scripts/${a}/script-settings`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Updated`})}};function un(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const dn={command:`get`,describe:`Get script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Includes Logpush and Tail Consumers.`,builder:un,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/script-settings`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.settings.get(i,a)),{successLabel:`Loaded`})}},fn={command:`settings`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(ln).command(dn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function pn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`enabled`,{type:`boolean`,description:`Whether the Worker should be available on the workers.dev subdomain.`}).option(`previews-enabled`,{type:`boolean`,description:`Whether the Worker's Preview URLs should be available on the workers.dev subdomain.`}).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 mn={command:`create`,describe:`Enable or disable the Worker on the workers.dev subdomain.`,builder:pn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts subdomain create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/subdomain`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{enabled:n.enabled,previewsEnabled:n.previewsEnabled,body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/scripts/${a}/subdomain`,{body:e})),{successLabel:`Created`});return}if(n.enabled===void 0)throw Error(`--enabled is required (or pass --body with this field set).`);let p={};n.enabled!==void 0&&c(p,[`enabled`],n.enabled),n.previewsEnabled!==void 0&&c(p,[`previews_enabled`],n.previewsEnabled),u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/scripts/${a}/subdomain`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Created`})}};function hn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 gn={command:`delete`,describe:`Disable all workers.dev subdomains for a Worker.`,builder:hn,handler:async r=>{if(r.dryRun){d({command:`cf workers scripts subdomain delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${r.scriptName??`<scriptName>`}/subdomain`,pathParams:{scriptName:String(r.scriptName??``)},bodyKind:`none`});return}let i=await o(r),a=r.local?h:await e(i);r.accountId=a;let c=t({scriptName:r.scriptName});if(r.scriptName=c,!await n({force:!!r.force})){process.stderr.write(`Aborted.
13
- `);return}u(await f(`Deleting`,async()=>i.workers.scripts.subdomain.delete(a,c)),{successLabel:`Deleted`})}};function _n(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const vn={command:`get`,describe:`Get if the Worker is available on the workers.dev subdomain.`,builder:_n,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts subdomain get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/subdomain`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.subdomain.get(i,a)),{successLabel:`Loaded`})}},yn={command:`subdomain`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(mn).command(gn).command(vn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function bn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 xn={command:`create`,describe:`Starts a tail that receives logs and exception from a Worker.`,builder:bn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts tail create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/tails`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Creating`,async()=>r.post(`/accounts/${i}/workers/scripts/${a}/tails`,{body:e})),{successLabel:`Created`});return}u(await f(`Creating`,async()=>r.workers.scripts.tail.create(i,a)),{successLabel:`Created`})}};function Sn(e){return e.positional(`id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).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 Cn={command:`delete <id>`,describe:`Deletes a tail from a Worker.`,builder:Sn,handler:async r=>{if(r.dryRun){d({command:`cf workers scripts tail delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${r.scriptName??`<scriptName>`}/tails/${r.id??`<id>`}`,pathParams:{scriptName:String(r.scriptName??``),id:String(r.id??``)},bodyKind:`json`,body:{body:r.body}});return}let i=await o(r),a=r.local?h:await e(i);r.accountId=a;let c=t({scriptName:r.scriptName});if(r.scriptName=c,!await n({force:!!r.force})){process.stderr.write(`Aborted.
14
- `);return}if(r.body){let e=l(r.body);u(await f(`Deleting`,async()=>i.delete(`/accounts/${a}/workers/scripts/${c}/tails/${r.id}`,{body:e})),{successLabel:`Deleted`});return}u(await f(`Deleting`,async()=>i.workers.scripts.tail.delete(a,c,r.id)),{successLabel:`Deleted`})}},wn={command:`tail`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(xn).command(Cn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Tn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`bindings-inherit`,{type:`string`,description:'When set to "strict", the upload will fail if any `inherit` type bindings cannot be resolved against the previous version of the Worker. Without this, unresolvable inherit bindings are silently dropped.',choices:[`strict`]}).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 En={command:`update`,describe:`Upload a worker module. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.`,builder:Tn,handler:async n=>{let r={bindings_inherit:n.bindingsInherit};if(n.dryRun){d({command:`cf workers scripts update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}`,pathParams:{scriptName:String(n.scriptName??``)},query:r,bodyKind:`json`,body:{body:n.body}});return}let i=await o(n),a=n.local?h:await e(i);n.accountId=a;let c=t({scriptName:n.scriptName});if(n.scriptName=c,n.body){let e=p(n.body,`body`,`binary`),t=new URLSearchParams(Object.entries(r).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Updating`,async()=>i.put(`/accounts/${a}/workers/scripts/${c}${t?`?`+t:``}`,{body:e,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Updated`});return}u(await f(`Updating`,async()=>i.workers.scripts.update(a,c,r)),{successLabel:`Updated`})}};function Dn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const On={command:`get`,describe:`Fetches the Usage Model for a given Worker.`,builder:Dn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts usage-model get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/usage-model`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.scripts.usageModel.get(i,a)),{successLabel:`Loaded`})}};function kn(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`usage-model`,{type:`string`,description:`Usage model for the Worker invocations.`,choices:[`standard`,`bundled`,`unbound`],default:`standard`}).option(`user-limits-cpu-ms`,{type:`number`,description:`The amount of CPU time this Worker can use in milliseconds.`}).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 An={command:`update`,describe:`Updates the Usage Model for a given Worker. Requires a Workers Paid subscription.`,builder:kn,handler:async n=>{if(n.dryRun){d({command:`cf workers scripts usage-model update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/usage-model`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{usageModel:n.usageModel,userLimitsCpuMs:n.userLimitsCpuMs,body:n.body}});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});if(n.scriptName=a,n.body){let e=l(n.body);u(await f(`Updating`,async()=>r.put(`/accounts/${i}/workers/scripts/${a}/usage-model`,{body:e})),{successLabel:`Updated`});return}let m={};n.usageModel!==void 0&&c(m,[`usage_model`],p(n.usageModel,`usageModel`,`text`)),n.userLimitsCpuMs!==void 0&&c(m,[`user_limits`,`cpu_ms`],n.userLimitsCpuMs),u(await f(`Updating`,async()=>r.put(`/accounts/${i}/workers/scripts/${a}/usage-model`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},jn={command:`usage-model`,describe:`Worker script usage model operations (deprecated)`,builder:e=>e.command(On).command(An).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Mn={command:`scripts`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(Wt).command(Kt).command(Jt).command(sn).command(En).command(Lt).command(Ht).command($t).command(an).command(fn).command(yn).command(wn).command(jn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Nn(e){return e.positional(`secretName`,{type:`string`,description:`A JavaScript variable name for the secret binding.`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`url-encoded`,{type:`string`,description:`Flag that indicates whether the secret name is URL encoded.`}).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 Pn={command:`delete <secretName>`,describe:`Remove a secret from a script.`,builder:Nn,handler:async r=>{let i={url_encoded:r.urlEncoded};if(r.dryRun){d({command:`cf workers secrets delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${r.scriptName??`<scriptName>`}/secrets/${r.secretName??`<secretName>`}`,pathParams:{scriptName:String(r.scriptName??``),secretName:String(r.secretName??``)},query:i,bodyKind:`none`});return}let a=await o(r),c=r.local?h:await e(a);r.accountId=c;let l=t({scriptName:r.scriptName});if(r.scriptName=l,!await n({force:!!r.force})){process.stderr.write(`Aborted.
15
- `);return}u(await f(`Deleting`,async()=>a.workers.secrets.delete(c,l,r.secretName,i)),{successLabel:`Deleted`})}};function Fn(e){return e.positional(`secretName`,{type:`string`,description:`A JavaScript variable name for the secret binding.`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`url-encoded`,{type:`string`,description:`Flag that indicates whether the secret name is URL encoded.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const In={command:`get <secretName>`,describe:`Get a given secret binding (value omitted) on a script.`,builder:Fn,handler:async n=>{let r={url_encoded:n.urlEncoded};if(n.dryRun){d({command:`cf workers secrets get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/secrets/${n.secretName??`<secretName>`}`,pathParams:{scriptName:String(n.scriptName??``),secretName:String(n.secretName??``)},query:r,bodyKind:`none`});return}let i=await o(n),a=n.local?h:await e(i);n.accountId=a;let c=t({scriptName:n.scriptName});n.scriptName=c,u(await f(`Loading`,async()=>i.workers.secrets.get(a,c,n.secretName,r)),{successLabel:`Loaded`})}};function Ln(e){return e.option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Rn={command:`list`,describe:`List secrets bound to a script.`,builder:Ln,handler:async n=>{if(n.dryRun){d({command:`cf workers secrets list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/secrets`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.secrets.list(i,a)),{successLabel:`Loaded`})}};function zn(e){return e.positional(`name`,{type:`string`,description:`A JavaScript variable name for the binding.`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script, used in URLs and route configuration.`}).option(`text`,{type:`string`,description:`The secret value to use.`}).option(`type`,{type:`string`,description:`The kind of resource that the binding provides.`,choices:[`secret_text`,`secret_key`],default:`secret_text`}).option(`format`,{type:`string`,description:`Data format of the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).`,choices:[`raw`,`pkcs8`,`spki`,`jwk`]}).option(`key-base64`,{type:`string`,description:'Base64-encoded key data. Required if `format` is "raw", "pkcs8", or "spki".'}).option(`usages`,{type:`string`,array:!0,description:`Allowed operations with the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`A secret value accessible through a binding.`}).conflicts(`text`,[`format`,`key-base64`,`usages`]).conflicts(`format`,[`text`]).implies(`format`,[`usages`]).conflicts(`key-base64`,[`text`]).conflicts(`usages`,[`text`]).implies(`usages`,[`format`])}const Bn={command:`update <name>`,describe:`Add a secret to a script.`,builder:zn,handler:async n=>{if(n.dryRun){d({command:`cf workers secrets update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/secrets`,pathParams:{scriptName:String(n.scriptName??``)},bodyKind:`json`,body:{name:n.name,text:n.text,type:n.type,format:n.format,keyBase64:n.keyBase64,usages:n.usages,body:n.body}});return}let r=await o(n),m=n.local?h:await e(r);n.accountId=m;let g=t({scriptName:n.scriptName});if(n.scriptName=g,n.body){let e=l(n.body);u(await f(`Updating`,async()=>r.put(`/accounts/${m}/workers/scripts/${g}/secrets`,{body:e})),{successLabel:`Updated`});return}n.type===void 0&&(n.type=await a(`type`,`The kind of resource that the binding provides.`,[`secret_text`,`secret_key`])),n.type===`secret_text`&&n.text===void 0&&(n.text=await i(`text`,`The secret value to use.`,{kind:`secret`,question:`Enter value for --text`})),n.type===`secret_key`&&n.format===void 0&&(n.format=await i(`format`,`Data format of the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).`,{question:`Enter value for --format`}));let _={};n.text!==void 0&&c(_,[`text`],p(n.text,`text`,`text`)),n.type!==void 0&&c(_,[`type`],p(n.type,`type`,`text`)),n.format!==void 0&&c(_,[`format`],p(n.format,`format`,`text`)),n.keyBase64!==void 0&&c(_,[`key_base64`],p(n.keyBase64,`keyBase64`,`text`)),n.usages!==void 0&&c(_,[`usages`],n.usages),n.name!==void 0&&(_.name=n.name),u(await f(`Updating`,async()=>r.put(`/accounts/${m}/workers/scripts/${g}/secrets`,{body:Object.keys(_).length>0?_:void 0})),{successLabel:`Updated`})}},Vn={command:`secrets`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(Pn).command(In).command(Rn).command(Bn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Hn(e){return e.positional(`environmentName`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Un={command:`get <environmentName>`,describe:`Get script content from a worker with an environment.`,builder:Hn,handler:async t=>{if(t.dryRun){d({command:`cf workers services environments content get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/services/${t.serviceName??`<serviceName>`}/environments/${t.environmentName??`<environmentName>`}/content`,pathParams:{serviceName:String(t.serviceName??``),environmentName:String(t.environmentName??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.services.environments.content.get(r,t.serviceName,t.environmentName)),{successLabel:`Loaded`})}};function Wn(e){return e.positional(`environmentName`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`cf-worker-body-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.`}).option(`cf-worker-main-module-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`files`,{type:`string`,description:"An array of modules (often JavaScript files) comprising a Worker script. At least one module must be present and referenced in the metadata as `main_module` or `body_part` by filename.<br/>Possible Content-Type(s) are: `application/javascript+module`, `text/javascript+module`, `application/javascript`, `text/javascript`, `text/x-python`, `text/x-python-requirement`, `application/wasm`, `text/plain`, `application/octet-stream`, `application/source-map`."}).option(`metadata`,{type:`string`,description:`JSON-encoded metadata about the uploaded parts and Worker configuration.`})}const Gn={command:`update <environmentName>`,describe:`Put script content from a worker with an environment.`,builder:Wn,handler:async t=>{let n={};if(t.cfWorkerBodyPart!==void 0&&(n[`CF-WORKER-BODY-PART`]=String(t.cfWorkerBodyPart)),t.cfWorkerMainModulePart!==void 0&&(n[`CF-WORKER-MAIN-MODULE-PART`]=String(t.cfWorkerMainModulePart)),t.dryRun){d({command:`cf workers services environments content update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/services/${t.serviceName??`<serviceName>`}/environments/${t.environmentName??`<environmentName>`}/content`,pathParams:{serviceName:String(t.serviceName??``),environmentName:String(t.environmentName??``)},bodyKind:`multipart`,body:{body:t.body,file:t.file,files:t.files,metadata:t.metadata}});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,t.file!==void 0||t.body!==void 0||t.files!==void 0||t.metadata!==void 0){let e=new FormData;if(t.file){let n=m(t.file);e.append(`file`,new Blob([n]),t.file.split(`/`).pop())}else t.body!==void 0&&e.append(`file`,t.body);if(t.files!==void 0){let n=typeof t.files==`string`?p(t.files,`files`,`text`):t.files;e.append(`files`,typeof n==`string`?n:JSON.stringify(n))}if(t.metadata!==void 0){let n=typeof t.metadata==`string`?p(t.metadata,`metadata`,`text`):t.metadata;e.append(`metadata`,typeof n==`string`?n:JSON.stringify(n))}u(await f(`Updating`,async()=>r.put(`/accounts/${i}/workers/services/${t.serviceName}/environments/${t.environmentName}/content`,{body:e,headers:Object.keys(n).length>0?n:void 0})),{successLabel:`Updated`});return}if(t.body){let e=p(t.body,`body`,`binary`);u(await f(`Updating`,async()=>r.put(`/accounts/${i}/workers/services/${t.serviceName}/environments/${t.environmentName}/content`,{body:e,headers:{"Content-Type":`multipart/form-data`,...n}})),{successLabel:`Updated`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},Kn={command:`content`,describe:`Services operations`,builder:e=>e.command(Un).command(Gn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function qn(e){return e.positional(`environmentName`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`success`,{type:`boolean`,description:`Whether the API call was successful.`}).option(`result-logpush`,{type:`boolean`,description:`Whether Logpush is turned on for the Worker.`,default:!1}).option(`result-observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`result-observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`result-observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`result-observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`result-observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`result-observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`result-observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`result-observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!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 Jn={command:`edit <environmentName>`,describe:`Patch script metadata, such as bindings.`,builder:qn,handler:async t=>{if(t.dryRun){d({command:`cf workers services environments settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/services/${t.serviceName??`<serviceName>`}/environments/${t.environmentName??`<environmentName>`}/settings`,pathParams:{serviceName:String(t.serviceName??``),environmentName:String(t.environmentName??``)},bodyKind:`json`,body:{success:t.success,resultLogpush:t.resultLogpush,resultObservabilityEnabled:t.resultObservabilityEnabled,resultObservabilityHeadSamplingRate:t.resultObservabilityHeadSamplingRate,resultObservabilityLogsDestinations:t.resultObservabilityLogsDestinations,resultObservabilityLogsEnabled:t.resultObservabilityLogsEnabled,resultObservabilityLogsHeadSamplingRate:t.resultObservabilityLogsHeadSamplingRate,resultObservabilityLogsInvocationLogs:t.resultObservabilityLogsInvocationLogs,resultObservabilityLogsPersist:t.resultObservabilityLogsPersist,resultObservabilityTracesDestinations:t.resultObservabilityTracesDestinations,resultObservabilityTracesEnabled:t.resultObservabilityTracesEnabled,resultObservabilityTracesHeadSamplingRate:t.resultObservabilityTracesHeadSamplingRate,resultObservabilityTracesPersist:t.resultObservabilityTracesPersist,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/services/${t.serviceName}/environments/${t.environmentName}/settings`,{body:e})),{successLabel:`Updated`});return}if(t.success===void 0)throw Error(`--success is required (or pass --body with this field set).`);if(t.resultObservabilityEnabled===void 0)throw Error(`--result-observability-enabled is required (or pass --body with this field set).`);if(t.resultObservabilityLogsEnabled===void 0)throw Error(`--result-observability-logs-enabled is required (or pass --body with this field set).`);if(t.resultObservabilityLogsInvocationLogs===void 0)throw Error(`--result-observability-logs-invocation-logs is required (or pass --body with this field set).`);let i={};t.success!==void 0&&c(i,[`success`],t.success),t.resultLogpush!==void 0&&c(i,[`result`,`logpush`],t.resultLogpush),t.resultObservabilityEnabled!==void 0&&c(i,[`result`,`observability`,`enabled`],t.resultObservabilityEnabled),t.resultObservabilityHeadSamplingRate!==void 0&&c(i,[`result`,`observability`,`head_sampling_rate`],t.resultObservabilityHeadSamplingRate),t.resultObservabilityLogsDestinations!==void 0&&c(i,[`result`,`observability`,`logs`,`destinations`],t.resultObservabilityLogsDestinations),t.resultObservabilityLogsEnabled!==void 0&&c(i,[`result`,`observability`,`logs`,`enabled`],t.resultObservabilityLogsEnabled),t.resultObservabilityLogsHeadSamplingRate!==void 0&&c(i,[`result`,`observability`,`logs`,`head_sampling_rate`],t.resultObservabilityLogsHeadSamplingRate),t.resultObservabilityLogsInvocationLogs!==void 0&&c(i,[`result`,`observability`,`logs`,`invocation_logs`],t.resultObservabilityLogsInvocationLogs),t.resultObservabilityLogsPersist!==void 0&&c(i,[`result`,`observability`,`logs`,`persist`],t.resultObservabilityLogsPersist),t.resultObservabilityTracesDestinations!==void 0&&c(i,[`result`,`observability`,`traces`,`destinations`],t.resultObservabilityTracesDestinations),t.resultObservabilityTracesEnabled!==void 0&&c(i,[`result`,`observability`,`traces`,`enabled`],t.resultObservabilityTracesEnabled),t.resultObservabilityTracesHeadSamplingRate!==void 0&&c(i,[`result`,`observability`,`traces`,`head_sampling_rate`],t.resultObservabilityTracesHeadSamplingRate),t.resultObservabilityTracesPersist!==void 0&&c(i,[`result`,`observability`,`traces`,`persist`],t.resultObservabilityTracesPersist),u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/workers/services/${t.serviceName}/environments/${t.environmentName}/settings`,{body:Object.keys(i).length>0?i:void 0})),{successLabel:`Updated`})}};function Yn(e){return e.positional(`environmentName`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Xn={command:`get <environmentName>`,describe:`Get script settings from a worker with an environment.`,builder:Yn,handler:async t=>{if(t.dryRun){d({command:`cf workers services environments settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/services/${t.serviceName??`<serviceName>`}/environments/${t.environmentName??`<environmentName>`}/settings`,pathParams:{serviceName:String(t.serviceName??``),environmentName:String(t.environmentName??``)},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.services.environments.settings.get(r,t.serviceName,t.environmentName)),{successLabel:`Loaded`})}},Zn={command:`settings`,describe:`Services operations`,builder:e=>e.command(Jn).command(Xn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Qn={command:`environments`,describe:`Operations for services.environments`,builder:e=>e.command(Kn).command(Zn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},$n={command:`services`,describe:`Operations for services`,builder:e=>e.command(Qn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function er(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const $={command:`delete`,describe:`Deletes a Workers subdomain for an account.`,builder:er,handler:async t=>{if(t.dryRun){d({command:`cf workers subdomains delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`none`});return}let r=await o(t),i=t.local?h:await e(r);if(t.accountId=i,!await n({force:!!t.force})){process.stderr.write(`Aborted.
16
- `);return}u(await f(`Deleting`,async()=>r.workers.subdomains.delete(i)),{successLabel:`Deleted`})}};function tr(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const nr={command:`get`,describe:`Returns a Workers subdomain for an account.`,builder:tr,handler:async t=>{if(t.dryRun){d({command:`cf workers subdomains get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`none`});return}let n=await o(t),r=t.local?h:await e(n);t.accountId=r,u(await f(`Loading`,async()=>n.workers.subdomains.get(r)),{successLabel:`Loaded`})}};function rr(e){return e.option(`subdomain`,{type:`string`,description:`The subdomain 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 ir={command:`update`,describe:`Creates a Workers subdomain for an account.`,builder:rr,handler:async t=>{if(t.dryRun){d({command:`cf workers subdomains update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`json`,body:{subdomain:t.subdomain,body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=l(t.body);u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/subdomain`,{body:e})),{successLabel:`Updated`});return}t.subdomain===void 0&&(t.subdomain=await i(`subdomain`,``));let a={};t.subdomain!==void 0&&c(a,[`subdomain`],p(t.subdomain,`subdomain`,`text`)),u(await f(`Updating`,async()=>n.put(`/accounts/${r}/workers/subdomain`,{body:Object.keys(a).length>0?a:void 0})),{successLabel:`Updated`})}},ar={command:`subdomains`,describe:`Configure the workers.dev subdomain used to reach Workers without a custom domain`,builder:e=>e.command($).command(nr).command(ir).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function or(e){return e.option(`script-name`,{type:`string`,description:`Name of the script.`}).option(`bindings-inherit`,{type:`string`,description:'When set to "strict", the upload will fail if any `inherit` type bindings cannot be resolved against the previous version of the Worker. Without this, unresolvable inherit bindings are silently dropped.',choices:[`strict`]}).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 sr={command:`create`,describe:`Upload a Worker Version without deploying to Cloudflare's network. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.`,builder:or,handler:async n=>{let r={bindings_inherit:n.bindingsInherit};if(n.dryRun){d({command:`cf workers versions create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/versions`,pathParams:{scriptName:String(n.scriptName??``)},query:r,bodyKind:`json`,body:{body:n.body}});return}let i=await o(n),a=n.local?h:await e(i);n.accountId=a;let c=t({scriptName:n.scriptName});if(n.scriptName=c,n.body){let e=p(n.body,`body`,`binary`),t=new URLSearchParams(Object.entries(r).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();u(await f(`Creating`,async()=>i.post(`/accounts/${a}/workers/scripts/${c}/versions${t?`?`+t:``}`,{body:e,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Created`});return}if(n.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function cr(e){return e.positional(`versionId`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Name of the script.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const lr={command:`get <versionId>`,describe:`Retrieves detailed information about a specific version of a Workers script.`,builder:cr,handler:async n=>{if(n.dryRun){d({command:`cf workers versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/versions/${n.versionId??`<versionId>`}`,pathParams:{scriptName:String(n.scriptName??``),versionId:String(n.versionId??``)},bodyKind:`none`});return}let r=await o(n),i=n.local?h:await e(r);n.accountId=i;let a=t({scriptName:n.scriptName});n.scriptName=a,u(await f(`Loading`,async()=>r.workers.versions.get(i,a,n.versionId)),{successLabel:`Loaded`})}};function ur(e){return e.option(`script-name`,{type:`string`,description:`Name of the script.`}).option(`deployable`,{type:`boolean`,description:`Only return versions that can be used in a deployment. Ignores pagination.`,default:!1}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const dr={command:`list`,describe:`List of Worker Versions. The first version in the list is the latest version.`,builder:ur,handler:async n=>{let r={deployable:n.deployable,page:n.page,per_page:n.perPage};if(n.dryRun){d({command:`cf workers versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/workers/scripts/${n.scriptName??`<scriptName>`}/versions`,pathParams:{scriptName:String(n.scriptName??``)},query:r,bodyKind:`none`});return}let i=await o(n),a=n.local?h:await e(i);n.accountId=a;let c=t({scriptName:n.scriptName});n.scriptName=c,u(await f(`Loading`,async()=>i.workers.versions.list(a,c,r)),{successLabel:`Loaded`})}},fr={command:`versions`,describe:`Upload, download, and configure Worker scripts including bindings, secrets, cron triggers, and deployments`,builder:e=>e.command(sr).command(lr).command(dr).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function pr(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Data for setting flag on zones`})}const mr={command:`edit`,describe:`Allows an account admin to set the can_be_enabled setting on a list of zones.`,builder:pr,handler:async t=>{if(t.dryRun){d({command:`cf workers zones-can-be-enabled edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/zones_can_be_enabled`,pathParams:{},bodyKind:`json`,body:{body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=p(t.body,`body`,`binary`);u(await f(`Updating`,async()=>n.patch(`/accounts/${r}/pay-per-crawl/zones_can_be_enabled`,{body:e,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Updated`});return}u(await f(`Updating`,async()=>n.workers.zonesCanBeEnabled.edit(r)),{successLabel:`Updated`})}};function hr(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Data for setting flag on zones`})}const gr={command:`create`,describe:`Provided a list of pay-per-crawl configured zones this method will return whether they can enable PPC or not.`,builder:hr,handler:async t=>{if(t.dryRun){d({command:`cf workers zones-can-be-enabled query create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${s()??`<account-id>`}/pay-per-crawl/zones_can_be_enabled/query`,pathParams:{},bodyKind:`json`,body:{body:t.body}});return}let n=await o(t),r=t.local?h:await e(n);if(t.accountId=r,t.body){let e=p(t.body,`body`,`binary`);u(await f(`Creating`,async()=>n.post(`/accounts/${r}/pay-per-crawl/zones_can_be_enabled/query`,{body:e,headers:{"Content-Type":`application/octet-stream`}})),{successLabel:`Created`});return}u(await f(`Creating`,async()=>n.workers.zonesCanBeEnabled.query.create(r)),{successLabel:`Created`})}},_r={command:`query`,describe:`Zones Can Be Enabled operations`,builder:e=>e.command(gr).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},vr={command:`zones-can-be-enabled`,describe:`Zones Can Be Enabled operations`,builder:e=>e.command(mr).command(_r).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},yr={command:`workers`,describe:`Deploy and manage serverless JavaScript/WASM applications on Cloudflare's global network`,builder:e=>e.command(b).command(C).command(D).command(X).command(oe).command(me).command(Ce).command(Me).command(ot).command(ut).command(vt).command(St).command(Nt).command(Mn).command(Vn).command($n).command(ar).command(fr).command(vr).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{yr as default};
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as e,f as t,m as n,p as r,t as i,u as a}from"./auth-BlSmtIKd.mjs";import{n as o,t as s}from"./body-parser-Br-BoYk-.mjs";import{t as c}from"./output-D7_yAFVR.mjs";import{n as l,t as u}from"./progress-DZfTxbrx.mjs";import{n as d}from"./input-validation-zEO81MWN.mjs";import{t as f}from"./local-VJaJ3BZ1.mjs";function p(e){return e.positional(`buildUuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const m={command:`cancel <buildUuid>`,describe:`Cancel a running or queued build`,builder:p,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds builds cancel`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/builds/${t.buildUuid??`<buildUuid>`}/cancel`,pathParams:{buildUuid:String(t.buildUuid??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Updating`,async()=>n.workersBuilds.builds.cancel(r,t.buildUuid)),{successLabel:`Updated`})}};function h(e){return e.positional(`buildUuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ee={command:`get <buildUuid>`,describe:`Retrieve detailed information about a specific build`,builder:h,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds builds get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/builds/${t.buildUuid??`<buildUuid>`}`,pathParams:{buildUuid:String(t.buildUuid??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workersBuilds.builds.get(r,t.buildUuid)),{successLabel:`Loaded`})}};function g(e){return e.option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`list`,describe:`Get all builds for a specific worker script with pagination`,builder:g,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf workers-builds builds list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/workers/${t.externalScriptId??`<externalScriptId>`}/builds`,pathParams:{externalScriptId:String(t.externalScriptId??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.builds.list(o,t.externalScriptId,n)),{successLabel:`Loaded`})}};function v(e){return e.positional(`buildUuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`cursor`,{type:`string`,description:`Pagination cursor for log retrieval.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <buildUuid>`,describe:`Retrieve logs for a specific build with cursor-based pagination`,builder:v,handler:async t=>{let n={cursor:t.cursor};if(t.dryRun){l({command:`cf workers-builds builds logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/builds/${t.buildUuid??`<buildUuid>`}/logs`,pathParams:{buildUuid:String(t.buildUuid??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.builds.logs.get(o,t.buildUuid,n)),{successLabel:`Loaded`})}},b={command:`logs`,describe:`Build job operations`,builder:e=>e.command(y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},x={command:`builds`,describe:`Build job operations`,builder:e=>e.command(m).command(ee).command(_).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`get-account-limits`,describe:`Retrieve account limits and usage information`,builder:S,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds get-account-limits`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/account/limits`,pathParams:{},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workersBuilds.getAccountLimits(r)),{successLabel:`Loaded`})}};function w(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 T={command:`get-builds-by-version`,describe:`Retrieve builds for specific version IDs`,builder:w,handler:async t=>{let n={version_ids:t.versionIds};if(t.dryRun){l({command:`cf workers-builds get-builds-by-version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/builds`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.getBuildsByVersion(o,n)),{successLabel:`Loaded`})}};function E(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 D={command:`get-latest-builds`,describe:`Retrieve the most recent builds for multiple worker scripts`,builder:E,handler:async t=>{let n={external_script_ids:t.externalScriptIds};if(t.dryRun){l({command:`cf workers-builds get-latest-builds`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/builds/latest`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.getLatestBuilds(o,n)),{successLabel:`Loaded`})}};function O(e){return e.positional(`repoId`,{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 k={command:`get <repoId>`,describe:`Analyze repository for automatic configuration detection`,builder:O,handler:async t=>{let n={branch:t.branch,root_directory:t.rootDirectory};if(t.dryRun){l({command:`cf workers-builds repos config-autofill get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/repos/${t.providerType??`<providerType>`}/${t.providerAccountId??`<providerAccountId>`}/${t.repoId??`<repoId>`}/config_autofill`,pathParams:{providerType:String(t.providerType??``),providerAccountId:String(t.providerAccountId??``),repoId:String(t.repoId??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.repos.configAutofill.get(o,t.providerType,t.providerAccountId,t.repoId,n)),{successLabel:`Loaded`})}},A={command:`config-autofill`,describe:`Repos operations`,builder:e=>e.command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function j(e){return e.positional(`repoConnectionUuid`,{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 M={command:`delete <repoConnectionUuid>`,describe:`Remove a repository connection`,builder:j,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds repos connections delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/repos/connections/${n.repoConnectionUuid??`<repoConnectionUuid>`}`,pathParams:{repoConnectionUuid:String(n.repoConnectionUuid??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
3
- `);return}c(await u(`Deleting`,async()=>r.workersBuilds.repos.connections.delete(o,n.repoConnectionUuid)),{successLabel:`Deleted`})}};function N(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`]}).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 P={command:`upsert`,describe:`Upsert a repository connection for CI/CD integration`,builder:N,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds repos connections upsert`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/repos/connections`,pathParams:{},bodyKind:`json`,body:{providerAccountId:t.providerAccountId,providerAccountName:t.providerAccountName,providerType:t.providerType,repoId:t.repoId,repoName:t.repoName,body:t.body}});return}let p=await i(t),m=t.local?f:await e(p);if(t.accountId=m,t.body){let e=s(t.body);c(await u(`Updating`,async()=>p.put(`/accounts/${m}/builds/repos/connections`,{body:e})),{successLabel:`Updated`});return}t.providerAccountId===void 0&&(t.providerAccountId=await n(`provider-account-id`,`Provider account identifier.`)),t.providerAccountName===void 0&&(t.providerAccountName=await n(`provider-account-name`,``)),t.providerType===void 0&&(t.providerType=await r(`provider-type`,``,[`github`])),t.repoId===void 0&&(t.repoId=await n(`repo-id`,`Repository identifier.`)),t.repoName===void 0&&(t.repoName=await n(`repo-name`,``));let h={};t.providerAccountId!==void 0&&o(h,[`provider_account_id`],d(t.providerAccountId,`providerAccountId`,`text`)),t.providerAccountName!==void 0&&o(h,[`provider_account_name`],d(t.providerAccountName,`providerAccountName`,`text`)),t.providerType!==void 0&&o(h,[`provider_type`],d(t.providerType,`providerType`,`text`)),t.repoId!==void 0&&o(h,[`repo_id`],d(t.repoId,`repoId`,`text`)),t.repoName!==void 0&&o(h,[`repo_name`],d(t.repoName,`repoName`,`text`)),c(await u(`Updating`,async()=>p.put(`/accounts/${m}/builds/repos/connections`,{body:Object.keys(h).length>0?h:void 0})),{successLabel:`Updated`})}},F={command:`connections`,describe:`Repos operations`,builder:e=>e.command(M).command(P).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},I={command:`repos`,describe:`Operations for repos`,builder:e=>e.command(A).command(F).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function L(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 R={command:`create`,describe:`Create a new build authentication token`,builder:L,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds tokens create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/tokens`,pathParams:{},bodyKind:`json`,body:{buildTokenName:t.buildTokenName,buildTokenSecret:t.buildTokenSecret,cloudflareTokenId:t.cloudflareTokenId,body:t.body}});return}let r=await i(t),p=t.local?f:await e(r);if(t.accountId=p,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${p}/builds/tokens`,{body:e})),{successLabel:`Created`});return}t.buildTokenName===void 0&&(t.buildTokenName=await n(`build-token-name`,``)),t.buildTokenSecret===void 0&&(t.buildTokenSecret=await n(`build-token-secret`,``)),t.cloudflareTokenId===void 0&&(t.cloudflareTokenId=await n(`cloudflare-token-id`,``));let m={};t.buildTokenName!==void 0&&o(m,[`build_token_name`],d(t.buildTokenName,`buildTokenName`,`text`)),t.buildTokenSecret!==void 0&&o(m,[`build_token_secret`],d(t.buildTokenSecret,`buildTokenSecret`,`text`)),t.cloudflareTokenId!==void 0&&o(m,[`cloudflare_token_id`],d(t.cloudflareTokenId,`cloudflareTokenId`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${p}/builds/tokens`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function z(e){return e.positional(`buildTokenUuid`,{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 te={command:`delete <buildTokenUuid>`,describe:`Remove a build authentication token`,builder:z,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds tokens delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/tokens/${n.buildTokenUuid??`<buildTokenUuid>`}`,pathParams:{buildTokenUuid:String(n.buildTokenUuid??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
4
- `);return}c(await u(`Deleting`,async()=>r.workersBuilds.tokens.delete(o,n.buildTokenUuid)),{successLabel:`Deleted`})}};function B(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 V={command:`list`,describe:`Get all build tokens with pagination`,builder:B,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf workers-builds tokens list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/tokens`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workersBuilds.tokens.list(o,n)),{successLabel:`Loaded`})}},H={command:`tokens`,describe:`Tokens operations`,builder:e=>e.command(R).command(te).command(V).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function U(e){return e.positional(`triggerUuid`,{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`]}).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 W={command:`create-build <triggerUuid>`,describe:`Trigger a manual build for a specific trigger`,builder:U,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers create-build`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${t.triggerUuid??`<triggerUuid>`}/builds`,pathParams:{triggerUuid:String(t.triggerUuid??``)},bodyKind:`json`,body:{seedRepoBranch:t.seedRepoBranch,seedRepoOwner:t.seedRepoOwner,seedRepoPath:t.seedRepoPath,seedRepoProvider:t.seedRepoProvider,seedRepoRepository:t.seedRepoRepository,body:t.body}});return}let n=await i(t),r=t.local?f:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/builds/triggers/${t.triggerUuid}/builds`,{body:e})),{successLabel:`Created`});return}let p={};t.seedRepoBranch!==void 0&&o(p,[`seed_repo`,`branch`],d(t.seedRepoBranch,`seedRepoBranch`,`text`)),t.seedRepoOwner!==void 0&&o(p,[`seed_repo`,`owner`],d(t.seedRepoOwner,`seedRepoOwner`,`text`)),t.seedRepoPath!==void 0&&o(p,[`seed_repo`,`path`],d(t.seedRepoPath,`seedRepoPath`,`text`)),t.seedRepoProvider!==void 0&&o(p,[`seed_repo`,`provider`],d(t.seedRepoProvider,`seedRepoProvider`,`text`)),t.seedRepoRepository!==void 0&&o(p,[`seed_repo`,`repository`],d(t.seedRepoRepository,`seedRepoRepository`,`text`)),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/builds/triggers/${t.triggerUuid}/builds`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Created`})}};function G(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 K={command:`create`,describe:`Create a new CI/CD trigger`,builder:G,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers`,pathParams:{},bodyKind:`json`,body:{branchExcludes:t.branchExcludes,branchIncludes:t.branchIncludes,buildCachingEnabled:t.buildCachingEnabled,buildCommand:t.buildCommand,buildTokenUuid:t.buildTokenUuid,deployCommand:t.deployCommand,externalScriptId:t.externalScriptId,pathExcludes:t.pathExcludes,pathIncludes:t.pathIncludes,repoConnectionUuid:t.repoConnectionUuid,rootDirectory:t.rootDirectory,triggerName:t.triggerName,body:t.body}});return}let r=await i(t),p=t.local?f:await e(r);if(t.accountId=p,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${p}/builds/triggers`,{body:e})),{successLabel:`Created`});return}if(t.branchExcludes===void 0)throw Error(`--branch-excludes is required (or pass --body with this field set).`);if(t.branchIncludes===void 0)throw Error(`--branch-includes is required (or pass --body with this field set).`);if(t.buildCommand===void 0&&(t.buildCommand=await n(`build-command`,``)),t.buildTokenUuid===void 0&&(t.buildTokenUuid=await n(`build-token-uuid`,`Build token UUID.`)),t.deployCommand===void 0&&(t.deployCommand=await n(`deploy-command`,``)),t.externalScriptId===void 0&&(t.externalScriptId=await n(`external-script-id`,`System-generated worker script tag.`)),t.pathExcludes===void 0)throw Error(`--path-excludes is required (or pass --body with this field set).`);if(t.pathIncludes===void 0)throw Error(`--path-includes is required (or pass --body with this field set).`);t.repoConnectionUuid===void 0&&(t.repoConnectionUuid=await n(`repo-connection-uuid`,`Repository connection UUID.`)),t.rootDirectory===void 0&&(t.rootDirectory=await n(`root-directory`,`Root directory path.`)),t.triggerName===void 0&&(t.triggerName=await n(`trigger-name`,``));let m={};t.branchExcludes!==void 0&&o(m,[`branch_excludes`],t.branchExcludes),t.branchIncludes!==void 0&&o(m,[`branch_includes`],t.branchIncludes),t.buildCachingEnabled!==void 0&&o(m,[`build_caching_enabled`],t.buildCachingEnabled),t.buildCommand!==void 0&&o(m,[`build_command`],d(t.buildCommand,`buildCommand`,`text`)),t.buildTokenUuid!==void 0&&o(m,[`build_token_uuid`],d(t.buildTokenUuid,`buildTokenUuid`,`text`)),t.deployCommand!==void 0&&o(m,[`deploy_command`],d(t.deployCommand,`deployCommand`,`text`)),t.externalScriptId!==void 0&&o(m,[`external_script_id`],d(t.externalScriptId,`externalScriptId`,`text`)),t.pathExcludes!==void 0&&o(m,[`path_excludes`],t.pathExcludes),t.pathIncludes!==void 0&&o(m,[`path_includes`],t.pathIncludes),t.repoConnectionUuid!==void 0&&o(m,[`repo_connection_uuid`],d(t.repoConnectionUuid,`repoConnectionUuid`,`text`)),t.rootDirectory!==void 0&&o(m,[`root_directory`],d(t.rootDirectory,`rootDirectory`,`text`)),t.triggerName!==void 0&&o(m,[`trigger_name`],d(t.triggerName,`triggerName`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${p}/builds/triggers`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function q(e){return e.positional(`triggerUuid`,{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 J={command:`delete <triggerUuid>`,describe:`Remove a CI/CD trigger`,builder:q,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds triggers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${n.triggerUuid??`<triggerUuid>`}`,pathParams:{triggerUuid:String(n.triggerUuid??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
5
- `);return}c(await u(`Deleting`,async()=>r.workersBuilds.triggers.delete(o,n.triggerUuid)),{successLabel:`Deleted`})}};function Y(e){return e.positional(`environmentVariableKey`,{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 X={command:`delete <environmentVariableKey>`,describe:`Remove a specific environment variable from a trigger`,builder:Y,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds triggers environment-variables delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${n.triggerUuid??`<triggerUuid>`}/environment_variables/${n.environmentVariableKey??`<environmentVariableKey>`}`,pathParams:{triggerUuid:String(n.triggerUuid??``),environmentVariableKey:String(n.environmentVariableKey??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
6
- `);return}c(await u(`Deleting`,async()=>r.workersBuilds.triggers.environmentVariables.delete(o,n.triggerUuid,n.environmentVariableKey)),{successLabel:`Deleted`})}};function Z(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 Q={command:`list`,describe:`Get all environment variables for a trigger`,builder:Z,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers environment-variables list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${t.triggerUuid??`<triggerUuid>`}/environment_variables`,pathParams:{triggerUuid:String(t.triggerUuid??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workersBuilds.triggers.environmentVariables.list(r,t.triggerUuid)),{successLabel:`Loaded`})}};function ne(e){return e.positional(`triggerUuid`,{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 re={command:`upsert <triggerUuid>`,describe:`Create or update environment variables for a trigger`,builder:ne,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers environment-variables upsert`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${t.triggerUuid??`<triggerUuid>`}/environment_variables`,pathParams:{triggerUuid:String(t.triggerUuid??``)},bodyKind:`json`,body:{body:t.body}});return}let n=await i(t),r=t.local?f:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${r}/builds/triggers/${t.triggerUuid}/environment_variables`,{body:e})),{successLabel:`Updated`});return}c(await u(`Updating`,async()=>n.workersBuilds.triggers.environmentVariables.upsert(r,t.triggerUuid)),{successLabel:`Updated`})}},ie={command:`environment-variables`,describe:`Triggers operations`,builder:e=>e.command(X).command(Q).command(re).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ae(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 oe={command:`list`,describe:`Get all triggers for a specific worker script`,builder:ae,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/workers/${t.externalScriptId??`<externalScriptId>`}/triggers`,pathParams:{externalScriptId:String(t.externalScriptId??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workersBuilds.triggers.list(r,t.externalScriptId)),{successLabel:`Loaded`})}};function $(e){return e.positional(`triggerUuid`,{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 se={command:`purge-cache <triggerUuid>`,describe:`Clear the build cache for a specific trigger`,builder:$,handler:async n=>{if(n.dryRun){l({command:`cf workers-builds triggers purge-cache`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${n.triggerUuid??`<triggerUuid>`}/purge_build_cache`,pathParams:{triggerUuid:String(n.triggerUuid??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force,message:`This operation wipes the workers-build cache.`})){process.stderr.write(`Aborted.
7
- `);return}c(await u(`Deleting`,async()=>r.workersBuilds.triggers.purgeCache(o,n.triggerUuid)),{successLabel:`Deleted`})}};function ce(e){return e.positional(`triggerUuid`,{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`,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(`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 le={command:`update <triggerUuid>`,describe:`Update an existing CI/CD trigger`,builder:ce,handler:async t=>{if(t.dryRun){l({command:`cf workers-builds triggers update`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/builds/triggers/${t.triggerUuid??`<triggerUuid>`}`,pathParams:{triggerUuid:String(t.triggerUuid??``)},bodyKind:`json`,body:{branchExcludes:t.branchExcludes,branchIncludes:t.branchIncludes,buildCachingEnabled:t.buildCachingEnabled,buildCommand:t.buildCommand,buildTokenUuid:t.buildTokenUuid,deployCommand:t.deployCommand,pathExcludes:t.pathExcludes,pathIncludes:t.pathIncludes,rootDirectory:t.rootDirectory,triggerName:t.triggerName,body:t.body}});return}let n=await i(t),r=t.local?f:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${r}/builds/triggers/${t.triggerUuid}`,{body:e})),{successLabel:`Updated`});return}let p={};t.branchExcludes!==void 0&&o(p,[`branch_excludes`],t.branchExcludes),t.branchIncludes!==void 0&&o(p,[`branch_includes`],t.branchIncludes),t.buildCachingEnabled!==void 0&&o(p,[`build_caching_enabled`],t.buildCachingEnabled),t.buildCommand!==void 0&&o(p,[`build_command`],d(t.buildCommand,`buildCommand`,`text`)),t.buildTokenUuid!==void 0&&o(p,[`build_token_uuid`],d(t.buildTokenUuid,`buildTokenUuid`,`text`)),t.deployCommand!==void 0&&o(p,[`deploy_command`],d(t.deployCommand,`deployCommand`,`text`)),t.pathExcludes!==void 0&&o(p,[`path_excludes`],t.pathExcludes),t.pathIncludes!==void 0&&o(p,[`path_includes`],t.pathIncludes),t.rootDirectory!==void 0&&o(p,[`root_directory`],d(t.rootDirectory,`rootDirectory`,`text`)),t.triggerName!==void 0&&o(p,[`trigger_name`],d(t.triggerName,`triggerName`,`text`)),c(await u(`Updating`,async()=>n.patch(`/accounts/${r}/builds/triggers/${t.triggerUuid}`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Updated`})}},ue={command:`triggers`,describe:`Triggers operations`,builder:e=>e.command(K).command(W).command(J).command(oe).command(se).command(le).command(ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},de={command:`workers-builds`,describe:`Automated build and deployment pipeline for Workers — track builds, logs, and repo connections`,builder:e=>e.command(C).command(T).command(D).command(x).command(I).command(H).command(ue).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{de as default};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as e,f as t,m as n,p as r,t as i,u as a}from"./auth-BlSmtIKd.mjs";import{n as o,t as s}from"./body-parser-Br-BoYk-.mjs";import{t as c}from"./output-D7_yAFVR.mjs";import{n as l,t as u}from"./progress-DZfTxbrx.mjs";import{n as d}from"./input-validation-zEO81MWN.mjs";import{t as f}from"./local-VJaJ3BZ1.mjs";function p(e){return e.positional(`workflowName`,{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 m={command:`delete <workflowName>`,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:p,handler:async n=>{if(n.dryRun){l({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${n.workflowName??`<workflowName>`}`,pathParams:{workflowName:String(n.workflowName??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
3
- `);return}c(await u(`Deleting`,async()=>r.workflows.delete(n.workflowName,o)),{successLabel:`Deleted`})}};function h(e){return e.positional(`workflowName`,{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 <workflowName>`,describe:`Retrieves configuration and metadata for a specific workflow.`,builder:h,handler:async t=>{if(t.dryRun){l({command:`cf workflows get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}`,pathParams:{workflowName:String(t.workflowName??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workflows.get(t.workflowName,r)),{successLabel:`Loaded`})}};function _(e){return e.positional(`workflowName`,{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 v={command:`batch-terminate <workflowName>`,describe:`Terminates multiple workflow instances in a single batch operation.`,builder:_,handler:async n=>{if(n.dryRun){l({command:`cf workflows instances batch-terminate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${n.workflowName??`<workflowName>`}/instances/batch/terminate`,pathParams:{workflowName:String(n.workflowName??``)},bodyKind:`json`,body:{body:n.body}});return}let r=await i(n),o=n.local?f:await e(r);if(n.accountId=o,!await t({force:!!n.force,message:`This operation terminates running instances in bulk.`})){process.stderr.write(`Aborted.
4
- `);return}if(n.body){let e=s(n.body);if(Array.isArray(e)&&e.length>100){let t=Math.ceil(e.length/100),i=null;for(let a=0;a<e.length;a+=100){let s=e.slice(a,a+100);i=await u(`Deleting: batch ${Math.floor(a/100)+1}/${t}`,async()=>r.post(`/accounts/${o}/workflows/${n.workflowName}/instances/batch/terminate`,{body:s}))}c(i,{successLabel:`Deleted`});return}c(await u(`Deleting`,async()=>r.post(`/accounts/${o}/workflows/${n.workflowName}/instances/batch/terminate`,{body:e})),{successLabel:`Deleted`});return}if(n.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function y(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 b={command:`bulk`,describe:`Creates multiple workflow instances in a single batch operation.`,builder:y,handler:async t=>{if(t.dryRun){l({command:`cf workflows instances bulk`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances/batch`,pathParams:{workflowName:String(t.workflowName??``)},bodyKind:`json`,body:{body:t.body}});return}let n=await i(t),r=t.local?f:await e(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),a=null;for(let o=0;o<e.length;o+=100){let s=e.slice(o,o+100);a=await u(`Creating: batch ${Math.floor(o/100)+1}/${i}`,async()=>n.post(`/accounts/${r}/workflows/${t.workflowName}/instances/batch`,{body:s}))}c(a,{successLabel:`Created`});return}c(await u(`Creating`,async()=>n.post(`/accounts/${r}/workflows/${t.workflowName}/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 x(e){return e.positional(`workflowName`,{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 S={command:`create <workflowName>`,describe:`Creates a new instance of a workflow, starting its execution.`,builder:x,handler:async t=>{if(t.dryRun){l({command:`cf workflows instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances`,pathParams:{workflowName:String(t.workflowName??``)},bodyKind:`json`,body:{instanceId:t.instanceId,body:t.body}});return}let n=await i(t),r=t.local?f:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/workflows/${t.workflowName}/instances`,{body:e})),{successLabel:`Created`});return}let p={};t.instanceId!==void 0&&o(p,[`instance_id`],d(t.instanceId,`instanceId`,`text`)),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/workflows/${t.workflowName}/instances`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Created`})}};function C(e){return e.positional(`eventType`,{type:`string`,description:`Event type`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:`Instance ID`,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 w={command:`create <eventType>`,describe:`Sends an event to a running workflow instance to trigger state transitions.`,builder:C,handler:async t=>{if(t.dryRun){l({command:`cf workflows instances events create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances/${t.instanceId??`<instanceId>`}/events/${t.eventType??`<eventType>`}`,pathParams:{workflowName:String(t.workflowName??``),instanceId:String(t.instanceId??``),eventType:String(t.eventType??``)},bodyKind:`json`,body:{body:t.body}});return}let n=await i(t),r=t.local?f:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/workflows/${t.workflowName}/instances/${t.instanceId}/events/${t.eventType}`,{body:e})),{successLabel:`Created`});return}c(await u(`Creating`,async()=>n.workflows.instances.events.create(t.workflowName,t.instanceId,t.eventType,r)),{successLabel:`Created`})}},T={command:`events`,describe:`Workflow instance operations`,builder:e=>e.command(w).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function E(e){return e.positional(`instanceId`,{type:`string`,description:`Instance ID`,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 D={command:`get <instanceId>`,describe:`Retrieves logs and execution status for a specific workflow instance.`,builder:E,handler:async t=>{let n={simple:t.simple,order:t.order};if(t.dryRun){l({command:`cf workflows instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances/${t.instanceId??`<instanceId>`}`,pathParams:{workflowName:String(t.workflowName??``),instanceId:String(t.instanceId??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workflows.instances.get(t.workflowName,t.instanceId,o,n)),{successLabel:`Loaded`})}};function O(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`]}).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 k={command:`list`,describe:`Lists all instances of a workflow with their execution status.`,builder:O,handler:async t=>{let n={page:t.page,per_page:t.perPage,cursor:t.cursor,direction:t.direction,status:t.status,date_start:t.dateStart,date_end:t.dateEnd};if(t.dryRun){l({command:`cf workflows instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances`,pathParams:{workflowName:String(t.workflowName??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workflows.instances.list(t.workflowName,o,n)),{successLabel:`Loaded`})}};function A(e){return e.positional(`workflowName`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`status-terminate <workflowName>`,describe:`Gets the status of a bulk workflow instance termination job.`,builder:A,handler:async t=>{if(t.dryRun){l({command:`cf workflows instances status-terminate`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances/terminate`,pathParams:{workflowName:String(t.workflowName??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workflows.instances.statusTerminate(t.workflowName,r)),{successLabel:`Loaded`})}};function M(e){return e.positional(`instanceId`,{type:`string`,description:`Instance ID`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).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(`status`,{type:`string`,description:`Apply action to instance.`,choices:[`resume`,`pause`,`terminate`,`restart`]}).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([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t=[`from-name`].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 --from-* flag is set`)}return!0})}const N={command:`edit <instanceId>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:M,handler:async t=>{if(t.dryRun){l({command:`cf workflows instances status edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/instances/${t.instanceId??`<instanceId>`}/status`,pathParams:{workflowName:String(t.workflowName??``),instanceId:String(t.instanceId??``)},bodyKind:`json`,body:{fromCount:t.fromCount,fromName:t.fromName,fromType:t.fromType,status:t.status,body:t.body}});return}let n=await i(t),p=t.local?f:await e(n);if(t.accountId=p,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${p}/workflows/${t.workflowName}/instances/${t.instanceId}/status`,{body:e})),{successLabel:`Updated`});return}t.status===void 0&&(t.status=await r(`status`,`Apply action to instance.`,[`resume`,`pause`,`terminate`,`restart`]));let m={};t.fromCount!==void 0&&o(m,[`from`,`count`],t.fromCount),t.fromName!==void 0&&o(m,[`from`,`name`],d(t.fromName,`fromName`,`text`)),t.fromType!==void 0&&o(m,[`from`,`type`],d(t.fromType,`fromType`,`text`)),t.status!==void 0&&o(m,[`status`],d(t.status,`status`,`text`)),c(await u(`Updating`,async()=>n.patch(`/accounts/${p}/workflows/${t.workflowName}/instances/${t.instanceId}/status`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},P={command:`status`,describe:`Workflow instance operations`,builder:e=>e.command(N).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},F={command:`instances`,describe:`Workflow instance operations`,builder:e=>e.command(v).command(b).command(S).command(D).command(k).command(j).command(T).command(P).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function I(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 L={command:`list`,describe:`Lists all workflows configured for the account.`,builder:I,handler:async t=>{let n={per_page:t.perPage,page:t.page,search:t.search};if(t.dryRun){l({command:`cf workflows list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workflows.list(o,n)),{successLabel:`Loaded`})}};function R(e){return e.positional(`workflowName`,{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 z={command:`update <workflowName>`,describe:`Creates a new workflow or updates an existing workflow definition.`,builder:R,handler:async t=>{if(t.dryRun){l({command:`cf workflows update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}`,pathParams:{workflowName:String(t.workflowName??``)},bodyKind:`json`,body:{className:t.className,limitsSteps:t.limitsSteps,scriptName:t.scriptName,body:t.body}});return}let r=await i(t),p=t.local?f:await e(r);if(t.accountId=p,t.body){let e=s(t.body);c(await u(`Updating`,async()=>r.put(`/accounts/${p}/workflows/${t.workflowName}`,{body:e})),{successLabel:`Updated`});return}t.className===void 0&&(t.className=await n(`class-name`,``)),t.scriptName===void 0&&(t.scriptName=await n(`script-name`,``));let m={};t.className!==void 0&&o(m,[`class_name`],d(t.className,`className`,`text`)),t.limitsSteps!==void 0&&o(m,[`limits`,`steps`],t.limitsSteps),t.scriptName!==void 0&&o(m,[`script_name`],d(t.scriptName,`scriptName`,`text`)),c(await u(`Updating`,async()=>r.put(`/accounts/${p}/workflows/${t.workflowName}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}};function B(e){return e.positional(`versionId`,{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 V={command:`dag <versionId>`,describe:`Retrieves the directed acyclic graph (DAG) representation of a workflow version.`,builder:B,handler:async t=>{if(t.dryRun){l({command:`cf workflows versions dag`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/versions/${t.versionId??`<versionId>`}/dag`,pathParams:{workflowName:String(t.workflowName??``),versionId:String(t.versionId??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workflows.versions.dag(t.workflowName,t.versionId,r)),{successLabel:`Loaded`})}};function H(e){return e.positional(`versionId`,{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:`get <versionId>`,describe:`Retrieves details for a specific deployed workflow version.`,builder:H,handler:async t=>{if(t.dryRun){l({command:`cf workflows versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/versions/${t.versionId??`<versionId>`}`,pathParams:{workflowName:String(t.workflowName??``),versionId:String(t.versionId??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workflows.versions.get(t.workflowName,t.versionId,r)),{successLabel:`Loaded`})}};function W(e){return e.positional(`versionId`,{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:`graph <versionId>`,describe:`Retrieves the graph visualization of a workflow version.`,builder:W,handler:async t=>{if(t.dryRun){l({command:`cf workflows versions graph`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/versions/${t.versionId??`<versionId>`}/graph`,pathParams:{workflowName:String(t.workflowName??``),versionId:String(t.versionId??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?f:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.workflows.versions.graph(t.workflowName,t.versionId,r)),{successLabel:`Loaded`})}};function K(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 q={command:`list`,describe:`Lists all deployed versions of a workflow.`,builder:K,handler:async t=>{let n={per_page:t.perPage,page:t.page};if(t.dryRun){l({command:`cf workflows versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/workflows/${t.workflowName??`<workflowName>`}/versions`,pathParams:{workflowName:String(t.workflowName??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?f:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.workflows.versions.list(t.workflowName,o,n)),{successLabel:`Loaded`})}},J={command:`versions`,describe:`Workflow version operations`,builder:e=>e.command(V).command(U).command(G).command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Y={command:`workflows`,describe:`Durable, multi-step workflows that run on Workers with automatic retries and state persistence`,builder:e=>e.command(m).command(g).command(L).command(z).command(F).command(J).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Y as default};