cf 0.9.0 → 0.10.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 (262) hide show
  1. package/README.md +5 -0
  2. package/dist/_meta/agent-context.json +34 -35
  3. package/dist/_meta/commands.json +6834 -10044
  4. package/dist/_meta/schemas.json +11228 -12752
  5. package/dist/{abuse-reports-DnNvw2gG.mjs → abuse-reports-CGF4zcKf.mjs} +2 -2
  6. package/dist/{access-RbqBFrSC.mjs → access-lhLJo1v2.mjs} +1 -1
  7. package/dist/{account-D7xvYqDx.mjs → account-CYRm3yoN.mjs} +1 -1
  8. package/dist/account-tags-B88TotoH.mjs +9 -0
  9. package/dist/accounts-BSIAT_iP.mjs +28 -0
  10. package/dist/{acm-Szq4CoQN.mjs → acm-VULm1djv.mjs} +1 -1
  11. package/dist/{addressing-CgTTbuCF.mjs → addressing-BHPBIkRY.mjs} +1 -1
  12. package/dist/{agent-context-Bu6yvDqA.mjs → agent-context-KBy48G1b.mjs} +1 -1
  13. package/dist/{agent-memory-C8pT01pR.mjs → agent-memory-DDv_Gxr7.mjs} +2 -2
  14. package/dist/{ai-audit-CCygMmsh.mjs → ai-audit-BWZGvbca.mjs} +1 -1
  15. package/dist/{ai-gateway-D4tATNRV.mjs → ai-gateway-jeB-sAgP.mjs} +1 -1
  16. package/dist/ai-search-BmdskMjR.mjs +7 -0
  17. package/dist/{ai-security-AUfzagSE.mjs → ai-security-CsmfcaUx.mjs} +1 -1
  18. package/dist/{ai-Cn0BniR4.mjs → ai-viHB1tgI.mjs} +1 -1
  19. package/dist/{alerting-DbXVpGv3.mjs → alerting-Bl8OqViR.mjs} +4 -4
  20. package/dist/analytics-vOxw8Hy0.mjs +3 -0
  21. package/dist/{analytics_engine-B_bMbfxW.mjs → analytics_engine-DO4-C0wD.mjs} +1 -1
  22. package/dist/{api-security-pSJdgmtK.mjs → api-security-4FVrD4n8.mjs} +1 -1
  23. package/dist/argo-CQfCgazW.mjs +2 -0
  24. package/dist/args-DlUhyGU0.mjs +2 -0
  25. package/dist/artifacts-CVDGnr2V.mjs +4 -0
  26. package/dist/{audit-logs-BIHP5-rk.mjs → audit-logs-CzpwvQ6A.mjs} +1 -1
  27. package/dist/{auth-MeSu8lFz.mjs → auth-D0xZxAEa.mjs} +1 -1
  28. package/dist/{auth-C6MhC9EZ.mjs → auth-MQEamPN9.mjs} +2 -2
  29. package/dist/{billing-0RNCYBJM.mjs → billing-aJgapeRm.mjs} +2 -2
  30. package/dist/{bot-management-uhBRnSPl.mjs → bot-management-Y2q5d-pi.mjs} +1 -1
  31. package/dist/{botnet-feed-DEbMknrE.mjs → botnet-feed-DANJqfmE.mjs} +1 -1
  32. package/dist/{brand-protection-DY2qPL8d.mjs → brand-protection-CjpZWBjp.mjs} +1 -1
  33. package/dist/{browser-extension-DBsmLCUj.mjs → browser-extension-BtpCbh-2.mjs} +1 -1
  34. package/dist/browser-run-BFn9h2Tz.mjs +4 -0
  35. package/dist/{build-Nivzj54_.mjs → build-DcflwvqN.mjs} +1 -1
  36. package/dist/{cache-BgRIDcFJ.mjs → cache-VyWK1SjY.mjs} +1 -1
  37. package/dist/{calls-JrRne0U0.mjs → calls-BxoRYxs4.mjs} +1 -1
  38. package/dist/{certificate-authorities-BJ7W8GGQ.mjs → certificate-authorities-D7OAFxF_.mjs} +1 -1
  39. package/dist/{cf-BUKsENG5.mjs → cf-C7DU4819.mjs} +2 -2
  40. package/dist/{chunk-LQW53VED-Xakf_rUn.mjs → chunk-LQW53VED-DLrXV-hE.mjs} +2 -2
  41. package/dist/{client-certificates-6xxvcOgI.mjs → client-certificates-DDUv8K0a.mjs} +1 -1
  42. package/dist/{client-side-security-cU0Z1tql.mjs → client-side-security-D4ysjwWT.mjs} +1 -1
  43. package/dist/{cloud-connector-DFooSAcn.mjs → cloud-connector-Bhec6z2P.mjs} +1 -1
  44. package/dist/cloudforce-one-J_hn9ss9.mjs +36 -0
  45. package/dist/config.mjs +1 -1
  46. package/dist/connector-interrupts-Dycx8zFx.mjs +2 -0
  47. package/dist/{connector-telemetry-events-CTMmX2BA.mjs → connector-telemetry-events-BmxOSNtN.mjs} +1 -1
  48. package/dist/connector-telemetry-events-latest-BY2556uL.mjs +2 -0
  49. package/dist/{connector-telemetry-snapshots-5Y7m8Cw8.mjs → connector-telemetry-snapshots-CdcqfKnH.mjs} +1 -1
  50. package/dist/connector-telemetry-snapshots-latest-BHYdxUEF.mjs +2 -0
  51. package/dist/{connectors-BRCQSsos.mjs → connectors-BqxYMMtQ.mjs} +1 -1
  52. package/dist/{containers-CfKOM_f5.mjs → containers-CKW081JA.mjs} +8 -8
  53. package/dist/{content-scan-CB4xHGv1.mjs → content-scan-Dgd7A8KF.mjs} +1 -1
  54. package/dist/{csamScanner-AQo_QTlq.mjs → csamScanner-DYL37wLc.mjs} +1 -1
  55. package/dist/{ct-alerting-Bai-1Z3k.mjs → ct-alerting-CkhSbfAs.mjs} +1 -1
  56. package/dist/{custom-certificates-D6aQIGu2.mjs → custom-certificates-BzAOnEoT.mjs} +1 -1
  57. package/dist/custom-csrs-CgzG3pd3.mjs +3 -0
  58. package/dist/{custom-hostnames-BiOVGwnR.mjs → custom-hostnames-q_nsnlye.mjs} +4 -4
  59. package/dist/custom-nameservers-BUBmfhUe.mjs +3 -0
  60. package/dist/custom-pages-M7jA2Hit.mjs +3 -0
  61. package/dist/{d1-FmAh7T7l.mjs → d1-BFvMd6-S.mjs} +1 -1
  62. package/dist/{data-security-2fmzF_Me.mjs → data-security-Bji4Or_j.mjs} +2 -2
  63. package/dist/{dcv-delegation-Cmxxgi9V.mjs → dcv-delegation-BuoRQ1Yh.mjs} +1 -1
  64. package/dist/{deploy-BzFbjH6a.mjs → deploy-CZ7bgNDu.mjs} +1 -1
  65. package/dist/{deploy-input-BRMQehgs.mjs → deploy-input-CrvuoDGJ.mjs} +1 -1
  66. package/dist/{dev-CWaf-qW4.mjs → dev-V10MG-Bg.mjs} +1 -1
  67. package/dist/{diagnostics-Ca6r_972.mjs → diagnostics-BTH-8nJH.mjs} +2 -2
  68. package/dist/{directory-CGNWfVQc.mjs → directory-BlH6N6Qy.mjs} +1 -1
  69. package/dist/{dispatch-namespaces-CBo5kuf7.mjs → dispatch-namespaces-BCjH1JzB.mjs} +1 -1
  70. package/dist/{dist-COfwjT96.mjs → dist-CgrMkXFx.mjs} +1 -1
  71. package/dist/{dls-CobKlH4N.mjs → dls-BF5iN78p.mjs} +1 -1
  72. package/dist/{dns-OfJXNYkK.mjs → dns-CeCTNqRk.mjs} +11 -11
  73. package/dist/{dns-firewall-DZ2ij-nX.mjs → dns-firewall-B54MaLGm.mjs} +1 -1
  74. package/dist/{dot-prop-6SRZBKHT-C_xd7eTS.mjs → dot-prop-6SRZBKHT-wIVDg_fl.mjs} +1 -1
  75. package/dist/{durable-objects-Cw_y37WB.mjs → durable-objects-D8FQORrL.mjs} +1 -1
  76. package/dist/{email-auth-DuJHdiwN.mjs → email-auth-DJK0Eb30.mjs} +1 -1
  77. package/dist/email-routing-NpmiKIrl.mjs +6 -0
  78. package/dist/{email-security-D-P8ln2L.mjs → email-security-BLZ7WZ9Z.mjs} +2 -2
  79. package/dist/email-sending-dn-353Nx.mjs +7 -0
  80. package/dist/fieldExtractors-ahysj57J.mjs +3 -0
  81. package/dist/firewall-CBPGJ43p.mjs +11 -0
  82. package/dist/{flagship-CPkQMist.mjs → flagship-BusjRNIb.mjs} +3 -3
  83. package/dist/{fraud-BhX0QNUl.mjs → fraud-BIhS8pLf.mjs} +1 -1
  84. package/dist/{google-tag-gateway-CDtRxao4.mjs → google-tag-gateway-TZZ3F1tV.mjs} +1 -1
  85. package/dist/{healthchecks-D2WwALvQ.mjs → healthchecks-FiXIk-KP.mjs} +2 -2
  86. package/dist/{hostnames-CGAFkYT1.mjs → hostnames-Bx0mykMR.mjs} +1 -1
  87. package/dist/{hyperdrive-zLFPWFQj.mjs → hyperdrive-C8qCabBF.mjs} +1 -1
  88. package/dist/{iam-Su_hpatD.mjs → iam-Cj63Kjc6.mjs} +1 -1
  89. package/dist/{images-D2ZflvBi.mjs → images-CBWXCDhy.mjs} +1 -1
  90. package/dist/index.mjs +1 -1
  91. package/dist/{intel-DPGzVovJ.mjs → intel-B-9Z_sJs.mjs} +2 -2
  92. package/dist/{interactive-CM2G03lr.mjs → interactive-DtsCYfrK.mjs} +1 -1
  93. package/dist/{ips-C5-NH1b0.mjs → ips-qs9eGJnI.mjs} +1 -1
  94. package/dist/{keyless-certificates-Xx-oAN3Z.mjs → keyless-certificates-THHvoXX3.mjs} +1 -1
  95. package/dist/{keys-B0FBtlOD.mjs → keys-D7N0j4-x.mjs} +1 -1
  96. package/dist/{kv-BbZ9st5o.mjs → kv-BFDUCnft.mjs} +1 -1
  97. package/dist/{leaked-credential-checks-Vonw4inx.mjs → leaked-credential-checks-DUlUCOoJ.mjs} +1 -1
  98. package/dist/load-balancers-D2zbQ8fT.mjs +6 -0
  99. package/dist/{local-eEF0NF51.mjs → local-D-aVNu6A.mjs} +1 -1
  100. package/dist/{local-runtime-BNCCOZ8s.mjs → local-runtime-Dh3keC5v.mjs} +1 -1
  101. package/dist/logexplorer-CUsfZ_bS.mjs +13 -0
  102. package/dist/{logo-matches-oHYc8Xaz.mjs → logo-matches-CJcthPHf.mjs} +1 -1
  103. package/dist/{logos-DS0krPAz.mjs → logos-BS65zN8q.mjs} +1 -1
  104. package/dist/logpush-BK34mMQs.mjs +4 -0
  105. package/dist/{logs-C07M9zn-.mjs → logs-CLAqX9h2.mjs} +1 -1
  106. package/dist/{magic-cloud-networking-ZPEK7O5I.mjs → magic-cloud-networking-h_ozrC5S.mjs} +1 -1
  107. package/dist/magic-network-monitoring-C7tAPNKP.mjs +4 -0
  108. package/dist/{magic-transit-CgPZ8iMn.mjs → magic-transit-BtsFePMx.mjs} +5 -5
  109. package/dist/{managed-transforms-2XyQ14s3.mjs → managed-transforms-Cm_KVCMB.mjs} +1 -1
  110. package/dist/{matches-CIaCrdrs.mjs → matches-InA1hwII.mjs} +1 -1
  111. package/dist/{mcp-D2afM8MD.mjs → mcp-mJ7bekNJ.mjs} +1 -1
  112. package/dist/mesh-BK4S1Ezy.mjs +4 -0
  113. package/dist/{moq-BBQVNGo1.mjs → moq-qmuVPAO0.mjs} +1 -1
  114. package/dist/{mtls-certificates-C5j0Gn65.mjs → mtls-certificates-CU4OAAXY.mjs} +1 -1
  115. package/dist/{network-CmuJqtFJ.mjs → network-D74cSy3t.mjs} +1 -1
  116. package/dist/{network-interconnects-BlajBQqs.mjs → network-interconnects-BJ0Nc48J.mjs} +1 -1
  117. package/dist/{oauth-BjHjJtnn.mjs → oauth-B0ETkNcX.mjs} +2 -2
  118. package/dist/{oauth-clients-BSthfZP-.mjs → oauth-clients-Br-smLxQ.mjs} +1 -1
  119. package/dist/{oauth-scopes-ByUp5bLU.mjs → oauth-scopes-D5bF11ju.mjs} +1 -1
  120. package/dist/observability-BWE0Gg3V.mjs +4 -0
  121. package/dist/{open-PBXRGS4R-C46yIm3u.mjs → open-PBXRGS4R-R-qesf18.mjs} +1 -1
  122. package/dist/{organization-DQIfNVCT.mjs → organization-NX7yCZrq.mjs} +1 -1
  123. package/dist/{organizations-L_ycAy6r.mjs → organizations-DLhiRt8g.mjs} +1 -1
  124. package/dist/{origin-ca-certificates-opIcs3_Q.mjs → origin-ca-certificates-Ff4McZRQ.mjs} +1 -1
  125. package/dist/{origin-post-quantum-encryption-TSMXzoEL.mjs → origin-post-quantum-encryption-UuTr4_SW.mjs} +1 -1
  126. package/dist/{origin-tls-client-auth-5CtcPUR6.mjs → origin-tls-client-auth-DOJ1zlH3.mjs} +1 -1
  127. package/dist/{output-DgW1hQGX.mjs → output-DrpYYfnB.mjs} +1 -1
  128. package/dist/{page-rules-DPd1Y3IL.mjs → page-rules-BSz1gO-_.mjs} +1 -1
  129. package/dist/{pages-CskAn5mR.mjs → pages-DVDogxPs.mjs} +4 -4
  130. package/dist/{pay-per-crawl-BMa_V40s.mjs → pay-per-crawl-BrLXK7gT.mjs} +1 -1
  131. package/dist/{pipelines-BbJjj1ZQ.mjs → pipelines-BszRk4sM.mjs} +2 -2
  132. package/dist/{precursor-DgRWBN9_.mjs → precursor-BPNjQr76.mjs} +1 -1
  133. package/dist/progress-CsHIt3Tp.mjs +2 -0
  134. package/dist/{prompt-DM4z101s.mjs → prompt-DdegNPpg.mjs} +1 -1
  135. package/dist/{queries-DrqcK0ZX.mjs → queries-JL1H1Biz.mjs} +1 -1
  136. package/dist/{queues-CutvMZcc.mjs → queues-DpkYdRUE.mjs} +1 -1
  137. package/dist/{r2-sFI62vhq.mjs → r2-CKozthw_.mjs} +4 -4
  138. package/dist/{r2-data-catalog-3vzU6FE1.mjs → r2-data-catalog-Du7hN9jA.mjs} +1 -1
  139. package/dist/radar-C-92vggG.mjs +2 -0
  140. package/dist/{rate-limits-HRZ8zMSl.mjs → rate-limits-yBF3qoYD.mjs} +1 -1
  141. package/dist/{raw-fetch-25gXED6c.mjs → raw-fetch-CteyTOM2.mjs} +1 -1
  142. package/dist/realtimekit-CIP7lP-a.mjs +7 -0
  143. package/dist/{registrar-C0EsXf83.mjs → registrar-DKKN0M29.mjs} +3 -3
  144. package/dist/{registrar-sandbox-CR9Rr7jV.mjs → registrar-sandbox-DiXg8p_1.mjs} +3 -3
  145. package/dist/{registry-CJvn75Bq.mjs → registry-Bck_zFkz.mjs} +1 -1
  146. package/dist/{reporting-BB6sqe6r.mjs → reporting-fg_GKXe1.mjs} +1 -1
  147. package/dist/{request-tracers-BrsM3zXZ.mjs → request-tracers-CkMya96z.mjs} +1 -1
  148. package/dist/{resource-sharing-CusU3kiy.mjs → resource-sharing-D1pSDvtf.mjs} +1 -1
  149. package/dist/{resource-tagging-wXAcblmz.mjs → resource-tagging-z48JGHCq.mjs} +1 -1
  150. package/dist/{rules-C2BxykEe.mjs → rules-BTmNjDN-.mjs} +1 -1
  151. package/dist/rulesets-CsoSM-17.mjs +5 -0
  152. package/dist/{rum-Dyno5zj3.mjs → rum-DB4iO2q5.mjs} +1 -1
  153. package/dist/{schema-BeXPWeK9.mjs → schema-B34Q9tLF.mjs} +1 -1
  154. package/dist/{schema-flags-C1BRprT2.mjs → schema-flags-iGoOriJt.mjs} +1 -1
  155. package/dist/{scim-Bb2xHpIz.mjs → scim-CcSyfKCH.mjs} +1 -1
  156. package/dist/sdk-ZctLa5jW.mjs +3 -0
  157. package/dist/{secrets-store-BMhjbceW.mjs → secrets-store-DFmvtphu.mjs} +1 -1
  158. package/dist/security-center-DFKeHq5c.mjs +2 -0
  159. package/dist/{security-txt-Bh_2gymk.mjs → security-txt-DqnFpjMI.mjs} +1 -1
  160. package/dist/{session-Br-q_UIW.mjs → session-D6KHthHf.mjs} +1 -1
  161. package/dist/{share-DfTpOxhk.mjs → share-BuwYUzOL.mjs} +1 -1
  162. package/dist/{shared-BNjZc02w.mjs → shared-VppSAQf4.mjs} +1 -1
  163. package/dist/{smart-shield-rHn-Lckq.mjs → smart-shield-D6X8L7p8.mjs} +2 -2
  164. package/dist/{snippets-nSLwH8uJ.mjs → snippets-DIpc9pb_.mjs} +1 -1
  165. package/dist/{spawn-Bj8QRFJ5.mjs → spawn-O1RS01vr.mjs} +2 -2
  166. package/dist/{spectrum-DuhSUTZI.mjs → spectrum-b7N1ZRAm.mjs} +1 -1
  167. package/dist/{speed-Dgby_e1J.mjs → speed-cw31yFva.mjs} +1 -1
  168. package/dist/src-D_HETJNy.mjs +108 -0
  169. package/dist/{ssl-BsxTHasY.mjs → ssl-CsEhRVTO.mjs} +1 -1
  170. package/dist/{state-C1m9nwUm.mjs → state-Bb5Cbc_L.mjs} +1 -1
  171. package/dist/{stream-CkEOX5Ko.mjs → stream-DFOao6Gu.mjs} +3 -3
  172. package/dist/{submit-BjdywxTq.mjs → submit--xTzyNPy.mjs} +1 -1
  173. package/dist/{tags-CFAw_Sce.mjs → tags-efICDkah.mjs} +1 -1
  174. package/dist/{tenant-C66iOy5O.mjs → tenant-CerHuToJ.mjs} +1 -1
  175. package/dist/{tenant-custom-nameservers-CyJZ_AB0.mjs → tenant-custom-nameservers-C4otMBm2.mjs} +1 -1
  176. package/dist/{tools-D2Xxfkrc.mjs → tools-BHfBOZOU.mjs} +1 -1
  177. package/dist/{triggers-Dv22ZXM4.mjs → triggers-BEsiiKAf.mjs} +1 -1
  178. package/dist/{tunnel-BatkLdds.mjs → tunnel-DkMiNtVY.mjs} +1 -1
  179. package/dist/{tunnels-CstoXOoq.mjs → tunnels-D0J8lJoI.mjs} +1 -1
  180. package/dist/{turnstile-IoRtama4.mjs → turnstile-CFmtY5bn.mjs} +2 -2
  181. package/dist/{ui-DjQ4AQww.mjs → ui-DE8CNn6c.mjs} +1 -1
  182. package/dist/{url-info-Hjhwr2la.mjs → url-info-DBCeRWwb.mjs} +1 -1
  183. package/dist/{url-normalization-C2BP_Kl0.mjs → url-normalization-ClfFiruK.mjs} +1 -1
  184. package/dist/{url-scanner-DmYVTdAE.mjs → url-scanner-CNyvg65L.mjs} +1 -1
  185. package/dist/{user-CVHm-cnB.mjs → user-bifVEQq5.mjs} +2 -2
  186. package/dist/{values-Cmlw5wGZ.mjs → values-OxkdP1tV.mjs} +1 -1
  187. package/dist/{vectorize-BQtIqiNO.mjs → vectorize-CVKu7lEt.mjs} +1 -1
  188. package/dist/{versions-CU6Av1vh.mjs → versions-BVL-Ludh.mjs} +1 -1
  189. package/dist/waiting-rooms-CmRAl51T.mjs +11 -0
  190. package/dist/{web-assets-DmSKaxzf.mjs → web-assets-C2s9kzWf.mjs} +1 -1
  191. package/dist/{web3-DVv4jNul.mjs → web3-y_cY91V_.mjs} +1 -1
  192. package/dist/{workers-builds-DgrejrUc.mjs → workers-builds-B55-oXOa.mjs} +4 -4
  193. package/dist/{workers-D8czeT64.mjs → workers-jDcq14GH.mjs} +6 -6
  194. package/dist/{workflows-BOi5MTEN.mjs → workflows-B-kGHxFu.mjs} +2 -2
  195. package/dist/{zaraz-CGSSFJng.mjs → zaraz-27zwjLvv.mjs} +1 -1
  196. package/dist/zero-trust-DV3sIOvu.mjs +92 -0
  197. package/dist/{zone-Bx5ElO9U.mjs → zone-BJix2KQ9.mjs} +1 -1
  198. package/dist/{zones-_SnlZMiM.mjs → zones-Bkj5i92c.mjs} +1 -1
  199. package/package.json +2 -2
  200. package/dist/account-tags-CKRh1jra.mjs +0 -9
  201. package/dist/accounts-2pGhN4s8.mjs +0 -28
  202. package/dist/ai-search-2xP8FP_W.mjs +0 -7
  203. package/dist/analytics-UQrIx99t.mjs +0 -3
  204. package/dist/argo-Br60zF3y.mjs +0 -2
  205. package/dist/artifacts-D8HMRQmb.mjs +0 -4
  206. package/dist/browser-run-C5pYOwtf.mjs +0 -4
  207. package/dist/cloudforce-one-Cp4bQmrG.mjs +0 -30
  208. package/dist/connector-interrupts-BR47snkh.mjs +0 -2
  209. package/dist/custom-csrs-D0zBkQT5.mjs +0 -4
  210. package/dist/custom-nameservers-G2MWpRwY.mjs +0 -3
  211. package/dist/custom-pages-BINNZTds.mjs +0 -4
  212. package/dist/email-CGOC_evd.mjs +0 -2
  213. package/dist/email-routing-CRvIUSFm.mjs +0 -6
  214. package/dist/email-sending-BwRN8PMW.mjs +0 -7
  215. package/dist/filters-DczM8qpH.mjs +0 -4
  216. package/dist/firewall-BMiETRmM.mjs +0 -11
  217. package/dist/load-balancers-Ct5cyyF9.mjs +0 -7
  218. package/dist/logexplorer-BhsAWxCr.mjs +0 -24
  219. package/dist/logpush-CFQBi88z.mjs +0 -5
  220. package/dist/magic-network-monitoring-CY3CHSpX.mjs +0 -4
  221. package/dist/media-CnxgOViL.mjs +0 -2
  222. package/dist/mesh-DLNLi3UT.mjs +0 -4
  223. package/dist/observability-B5p3iwrq.mjs +0 -4
  224. package/dist/progress-C-oFUtvC.mjs +0 -2
  225. package/dist/radar-Cu9rsTw_.mjs +0 -2
  226. package/dist/realtimekit-msnGHBbf.mjs +0 -7
  227. package/dist/rulesets-BHvhAeG_.mjs +0 -8
  228. package/dist/sdk-m4xeaua4.mjs +0 -3
  229. package/dist/security-center-DRC4Mf3R.mjs +0 -2
  230. package/dist/src-CgAVPA4I.mjs +0 -108
  231. package/dist/waiting-rooms-ku9UsAr9.mjs +0 -11
  232. package/dist/zero-trust-BmA0VkgF.mjs +0 -102
  233. package/dist/zone-tags-izd3WWmy.mjs +0 -9
  234. /package/dist/{Page-C-JHZnIy.mjs → Page-9ry_XAVC.mjs} +0 -0
  235. /package/dist/{alerts-B85uj2Vx.mjs → alerts-CRmjqOZi.mjs} +0 -0
  236. /package/dist/{autorag-Do9l_LyY.mjs → autorag-BD7cu5NU.mjs} +0 -0
  237. /package/dist/{body-parser-CYD7PKFC.mjs → body-parser-C-c9gfH1.mjs} +0 -0
  238. /package/dist/{brands-DateHCdd.mjs → brands-BhALBkX2.mjs} +0 -0
  239. /package/dist/{chunk-6EUZQHAF-l8tR2Qyj.mjs → chunk-6EUZQHAF-B7bSMYLe.mjs} +0 -0
  240. /package/dist/{chunk-Q72B4Q5Z-CPy_WJKU.mjs → chunk-Q72B4Q5Z-DVMMVVEs.mjs} +0 -0
  241. /package/dist/{clear-CB2kgcEB.mjs → clear-BgF8No7D.mjs} +0 -0
  242. /package/dist/{cli-types-BWdZbsFE.mjs → cli-types-BsTty22w.mjs} +0 -0
  243. /package/dist/{domain-info-DJHEt8JJ.mjs → domain-info-C50W5GhA.mjs} +0 -0
  244. /package/dist/{health-buY5f5pp.mjs → health-BFNZqiAm.mjs} +0 -0
  245. /package/dist/{input-validation-BBKJRoRB.mjs → input-validation-Bav2M9F-.mjs} +0 -0
  246. /package/dist/{internal-CwyoJUHh.mjs → internal-BTeSewwB.mjs} +0 -0
  247. /package/dist/{live-wEpA5V_n.mjs → live-Dkiyu30_.mjs} +0 -0
  248. /package/dist/{public-BwQqexwo-DbWj8rrr.mjs → public-BwQqexwo-CNW_dPly.mjs} +0 -0
  249. /package/dist/{rate-limit-analytics-Bf1uT0lT.mjs → rate-limit-analytics-Dz-Wv1T0.mjs} +0 -0
  250. /package/dist/{ready-CBSCPiHE.mjs → ready-TKOkKeRg.mjs} +0 -0
  251. /package/dist/{recent-submissions-Dpmq1f7z.mjs → recent-submissions-3Asm6eIi.mjs} +0 -0
  252. /package/dist/{refute-u7ZPQJZy.mjs → refute-BVz9nMyd.mjs} +0 -0
  253. /package/dist/{resolve-XgxRJ-Ys.mjs → resolve-CeBbH6Pq.mjs} +0 -0
  254. /package/dist/{scan-logo-Ba8WZAyp.mjs → scan-logo-ZteA-PUV.mjs} +0 -0
  255. /package/dist/{scan-page-Bcq3Ei86.mjs → scan-page-DWDSyzQ7.mjs} +0 -0
  256. /package/dist/{search-D9WDwnV4.mjs → search-DGNc37HK.mjs} +0 -0
  257. /package/dist/{signed-url-CjPbG5zV.mjs → signed-url-B5Qpn2mn.mjs} +0 -0
  258. /package/dist/{submission-info-Z9hhp9Rq.mjs → submission-info-FjUolE6A.mjs} +0 -0
  259. /package/dist/{theme-BePJemMn.mjs → theme-CeVf-5qG.mjs} +0 -0
  260. /package/dist/{total-queries-aKAYX1iX.mjs → total-queries-NHJj1HGq.mjs} +0 -0
  261. /package/dist/{tracked-domains-Ck7Jm4Kn.mjs → tracked-domains-CniKVHIp.mjs} +0 -0
  262. /package/dist/{verify-2yi0H93r.mjs → verify-DS1PWAJe.mjs} +0 -0
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n,h as r}from"./oauth-BjHjJtnn.mjs";import{r as i}from"./auth-C6MhC9EZ.mjs";import{t as a}from"./output-DgW1hQGX.mjs";import{n as o,t as s}from"./progress-C-oFUtvC.mjs";import{n as c,t as l}from"./body-parser-CYD7PKFC.mjs";import{n as u}from"./input-validation-BBKJRoRB.mjs";import{a as d}from"./prompt-DM4z101s.mjs";function f(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const p={command:`get`,describe:`Retrieves Argo Smart Routing analytics broken down by geographic points of presence (PoPs). Shows latency improvements and routing efficiency per location.`,builder:f,handler:async e=>{if(e.dryRun){o({command:`cf analytics latency colos get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/analytics/latency/colos`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let t=await i(e),n=await r({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,a(await s(`Loading`,async()=>t.analytics.latency.colos.get({zone_id:n})),{successLabel:`Loaded`})}},m={command:`colos`,describe:`Operations for latency.colos`,builder:e=>e.command(p).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function h(e){return e.option(`bins`,{type:`string`,description:`Bins`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const g={command:`get`,describe:`Retrieves aggregate Argo Smart Routing analytics for a zone, including latency improvements, bandwidth savings, and routing statistics.`,builder:h,handler:async e=>{let t={bins:e.bins};if(e.dryRun){o({command:`cf analytics latency get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/analytics/latency`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},query:t,bodyKind:`none`});return}let n=await i(e),c=await r({zone:e.zone},n,{quiet:e.quiet});e.zoneId=c,a(await s(`Loading`,async()=>n.analytics.latency.get({zone_id:c,...t})),{successLabel:`Loaded`})}},_={command:`latency`,describe:`Operations for latency`,builder:e=>e.command(g).command(m).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function v(e){return e.positional(`dataset`,{type:`string`,description:"Dataset name to query. Examples: `access-logins`, `gateway-http`, `gateway-dns`, `gateway-http`, `shadow-it`.",demandOption:!0}).option(`from`,{type:`string`,description:"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`)."}).option(`group-by`,{type:`string`,array:!0,description:`Specifies the column names to group results by. Requires valid columns for the target dataset.`}).option(`stats`,{type:`string`,array:!0,description:"Specifies the stat names to include in results. Requires valid stats for the target dataset (e.g. `attemptsTotal`, `bytesTotal`)."}).option(`to`,{type:`string`,description:`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Defines fields that all query types share.`})}const y={command:`artAnalyticsQuerySummary <dataset>`,describe:`Returns aggregate summary stats for a dataset. Includes current-period and previous-period totals for trend comparison.`,builder:v,handler:async r=>{if(r.dryRun){o({command:`cf analytics query artAnalyticsQuerySummary`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/${r.dataset==null?`<dataset>`:encodeURIComponent(String(r.dataset))}/summary`,pathParams:{dataset:String(r.dataset??``)},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQuerySummary({...e,account_id:p,dataset:r.dataset})),{successLabel:`Created`});return}if(r.from===void 0&&(r.from=await d(`from`,"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`).")),r[`group-by`]===void 0)throw Error(`--group-by is required (or pass --body with this field set).`);if(r.stats===void 0)throw Error(`--stats is required (or pass --body with this field set).`);r.to===void 0&&(r.to=await d(`to`,`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`));let m=l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQuerySummary({...m,account_id:p,dataset:r.dataset})),{successLabel:`Created`})}};function b(e){return e.positional(`dataset`,{type:`string`,description:"Dataset name to query. Examples: `access-logins`, `gateway-http`, `gateway-dns`, `gateway-http`, `shadow-it`.",demandOption:!0}).option(`from`,{type:`string`,description:"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`)."}).option(`group-by`,{type:`string`,array:!0,description:`Specifies the column names to group results by. Requires valid columns for the target dataset.`}).option(`stats`,{type:`string`,array:!0,description:"Specifies the stat names to include in results. Requires valid stats for the target dataset (e.g. `attemptsTotal`, `bytesTotal`)."}).option(`to`,{type:`string`,description:`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`}).option(`resolution`,{type:`string`,description:`Time bucket size for grouping results. Controls the granularity of the returned time slots.
3
- `}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Defines fields that all query types share.`})}const x={command:`artAnalyticsQueryTimeseries <dataset>`,describe:"Returns time-bucketed analytics data for a dataset. Includes time slots, each containing the requested stats, group-by dimensions, and resolution-controlled bucket size (e.g. `hour`, `day`).",builder:b,handler:async r=>{if(r.dryRun){o({command:`cf analytics query artAnalyticsQueryTimeseries`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/${r.dataset==null?`<dataset>`:encodeURIComponent(String(r.dataset))}/timeseries`,pathParams:{dataset:String(r.dataset??``)},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`),resolution:u(r.resolution,`resolution`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQueryTimeseries({...e,account_id:p,dataset:r.dataset})),{successLabel:`Created`});return}if(r.from===void 0&&(r.from=await d(`from`,"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`).")),r[`group-by`]===void 0)throw Error(`--group-by is required (or pass --body with this field set).`);if(r.stats===void 0)throw Error(`--stats is required (or pass --body with this field set).`);r.to===void 0&&(r.to=await d(`to`,`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`)),r.resolution===void 0&&(r.resolution=await d(`resolution`,`Time bucket size for grouping results. Controls the granularity of the returned time slots. `));let m=l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`),resolution:u(r.resolution,`resolution`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQueryTimeseries({...m,account_id:p,dataset:r.dataset})),{successLabel:`Created`})}};function S(e){return e.positional(`dataset`,{type:`string`,description:"Dataset name to query. Examples: `access-logins`, `gateway-http`, `gateway-dns`, `gateway-http`, `shadow-it`.",demandOption:!0}).option(`from`,{type:`string`,description:"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`)."}).option(`group-by`,{type:`string`,array:!0,description:`Specifies the column names to group results by. Requires valid columns for the target dataset.`}).option(`stats`,{type:`string`,array:!0,description:"Specifies the stat names to include in results. Requires valid stats for the target dataset (e.g. `attemptsTotal`, `bytesTotal`)."}).option(`to`,{type:`string`,description:`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`}).option(`n`,{type:`number`,description:`Maximum number of results to return.`}).option(`order-by`,{type:`string`,description:`Specifies the stat name for sorting results in descending order. Requires a valid stat for the target dataset.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Defines fields that all query types share.`})}const C={command:`artAnalyticsQueryTopN <dataset>`,describe:`Returns the top N results for a dataset by a specified stat. Includes an array of result rows, each containing the requested stats and group-by dimensions.`,builder:S,handler:async r=>{if(r.dryRun){o({command:`cf analytics query artAnalyticsQueryTopN`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/${r.dataset==null?`<dataset>`:encodeURIComponent(String(r.dataset))}/top-n`,pathParams:{dataset:String(r.dataset??``)},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`),n:r.n,orderBy:u(r[`order-by`],`order-by`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQueryTopN({...e,account_id:p,dataset:r.dataset})),{successLabel:`Created`});return}if(r.from===void 0&&(r.from=await d(`from`,"The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. `2024-11-05T00:00:00Z`).")),r[`group-by`]===void 0)throw Error(`--group-by is required (or pass --body with this field set).`);if(r.stats===void 0)throw Error(`--stats is required (or pass --body with this field set).`);if(r.to===void 0&&(r.to=await d(`to`,`Specifies the end of the query time range (exclusive). Requires RFC3339 format with timezone.`)),r.n===void 0)throw Error(`--n is required (or pass --body with this field set).`);r[`order-by`]===void 0&&(r[`order-by`]=await d(`order-by`,`Specifies the stat name for sorting results in descending order. Requires a valid stat for the target dataset.`));let m=l({from:u(r.from,`from`,`text`),groupBy:r[`group-by`],stats:r.stats,to:u(r.to,`to`,`text`),n:r.n,orderBy:u(r[`order-by`],`order-by`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.artAnalyticsQueryTopN({...m,account_id:p,dataset:r.dataset})),{successLabel:`Created`})}};function w(e){return e.option(`from`,{type:`string`,description:`Start of the query time range (inclusive). RFC3339.`}).option(`n`,{type:`number`,description:`Maximum number of integrations to return.`}).option(`to`,{type:`string`,description:`End of the query time range (exclusive). RFC3339.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Returns the top N integrations for content findings.`})}const T={command:`dataSecurityContentFindingsTopN`,describe:`Returns the top N integrations ranked by total content findings.`,builder:w,handler:async r=>{if(r.dryRun){o({command:`cf analytics query dataSecurityContentFindingsTopN`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/data-security/content-findings/top-n`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),n:r.n,to:u(r.to,`to`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.dataSecurityContentFindingsTopN({...e,account_id:p})),{successLabel:`Created`});return}if(r.from===void 0&&(r.from=await d(`from`,`Start of the query time range (inclusive). RFC3339.`)),r.n===void 0)throw Error(`--n is required (or pass --body with this field set).`);r.to===void 0&&(r.to=await d(`to`,`End of the query time range (exclusive). RFC3339.`));let m=l({from:u(r.from,`from`,`text`),n:r.n,to:u(r.to,`to`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.dataSecurityContentFindingsTopN({...m,account_id:p})),{successLabel:`Created`})}};function E(e){return e.option(`from`,{type:`string`,description:`Start of the query time range (inclusive). RFC3339.`}).option(`to`,{type:`string`,description:`End of the query time range (exclusive). RFC3339.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Query for aggregate findings summary.`})}const D={command:`dataSecurityFindingsSummary`,describe:`Returns aggregate current-period and previous-period totals for CASB findings.`,builder:E,handler:async r=>{if(r.dryRun){o({command:`cf analytics query dataSecurityFindingsSummary`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/data-security/findings/summary`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),to:u(r.to,`to`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.dataSecurityFindingsSummary({...e,account_id:p})),{successLabel:`Created`});return}r.from===void 0&&(r.from=await d(`from`,`Start of the query time range (inclusive). RFC3339.`)),r.to===void 0&&(r.to=await d(`to`,`End of the query time range (exclusive). RFC3339.`));let m=l({from:u(r.from,`from`,`text`),to:u(r.to,`to`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.dataSecurityFindingsSummary({...m,account_id:p})),{successLabel:`Created`})}};function O(e){return e.option(`from`,{type:`string`,description:`Start of the query time range (inclusive). RFC3339.`}).option(`to`,{type:`string`,description:`End of the query time range (exclusive). RFC3339.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Query for findings timeseries.`})}const k={command:`dataSecurityFindingsTimeseries`,describe:`Returns merged time-bucketed CASB findings.`,builder:O,handler:async r=>{if(r.dryRun){o({command:`cf analytics query dataSecurityFindingsTimeseries`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/analytics/query/data-security/findings/timeseries`,pathParams:{},bodyKind:`json`,body:r.body===void 0?l({from:u(r.from,`from`,`text`),to:u(r.to,`to`,`text`)}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Creating`,async()=>f.analytics.query.dataSecurityFindingsTimeseries({...e,account_id:p})),{successLabel:`Created`});return}r.from===void 0&&(r.from=await d(`from`,`Start of the query time range (inclusive). RFC3339.`)),r.to===void 0&&(r.to=await d(`to`,`End of the query time range (exclusive). RFC3339.`));let m=l({from:u(r.from,`from`,`text`),to:u(r.to,`to`,`text`)});a(await s(`Creating`,async()=>f.analytics.query.dataSecurityFindingsTimeseries({...m,account_id:p})),{successLabel:`Created`})}},A={command:`query`,describe:`Operations for query`,builder:e=>e.command(y).command(x).command(C).command(T).command(D).command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},j={command:`analytics`,describe:`Zone-level traffic analytics — dashboard summaries, per-colo breakdowns, and Argo latency metrics`,builder:e=>e.command(_).command(A).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{j as default};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import{h as e}from"./oauth-BjHjJtnn.mjs";import{r as t}from"./auth-C6MhC9EZ.mjs";import{t as n}from"./output-DgW1hQGX.mjs";import{n as r,t as i}from"./progress-C-oFUtvC.mjs";import{n as a,t as o}from"./body-parser-CYD7PKFC.mjs";import{n as s}from"./input-validation-BBKJRoRB.mjs";import{i as c}from"./prompt-DM4z101s.mjs";function l(e){return e.option(`value`,{type:`string`,description:`Specifies the enablement value of Argo Smart Routing.`,choices:[`on`,`off`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Configures the enablement of Argo Smart Routing.`})}const u={command:`edit`,describe:`Configures the value of the Argo Smart Routing enablement setting.`,builder:l,handler:async l=>{if(l.dryRun){r({command:`cf argo smart-routing edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${l.zone??l.zoneId??`<zone>`}/argo/smart_routing`,pathParams:{"zone-id":String(l.zone??l[`zone-id`]??``)},bodyKind:`json`,body:l.body===void 0?o({value:s(l.value,`value`,`text`)}):a(l.body)});return}let u=await t(l),d=await e({zone:l.zone},u,{quiet:l.quiet});if(l.zoneId=d,l.body){let e=a(l.body);n(await i(`Updating`,async()=>u.argo.smartRouting.edit({...e,zone_id:d})),{successLabel:`Updated`});return}l.value===void 0&&(l.value=await c(`value`,`Specifies the enablement value of Argo Smart Routing.`,[`on`,`off`]));let f=o({value:s(l.value,`value`,`text`)});n(await i(`Updating`,async()=>u.argo.smartRouting.edit({...f,zone_id:d})),{successLabel:`Updated`})}};function d(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const f={command:`get`,describe:`Retrieves the value of Argo Smart Routing enablement setting.`,builder:d,handler:async a=>{if(a.dryRun){r({command:`cf argo smart-routing get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/argo/smart_routing`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.argo.smartRouting.get({zone_id:s})),{successLabel:`Loaded`})}},p={command:`smart-routing`,describe:`Operations for smart-routing`,builder:e=>e.command(u).command(f).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function m(e){return e.option(`value`,{type:`string`,description:`Enables Tiered Caching.`,choices:[`on`,`off`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Update enablement of Tiered Caching.`})}const h={command:`edit`,describe:`Tiered Cache works by dividing Cloudflare's data centers into a hierarchy of lower-tiers and upper-tiers. If content is not cached in lower-tier data centers (generally the ones closest to a visitor), the lower-tier must ask an upper-tier to see if it has the content. If the upper-tier does not have the content, only the upper-tier can ask the origin for content. This practice improves bandwidth efficiency by limiting the number of data centers that can ask the origin for content, which reduces origin load and makes websites more cost-effective to operate. Additionally, Tiered Cache concentrates connections to origin servers so they come from a small number of data centers rather than the full set of network locations. This results in fewer open connections using server resources.`,builder:m,handler:async l=>{if(l.dryRun){r({command:`cf argo tiered-caching edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/zones/${l.zone??l.zoneId??`<zone>`}/argo/tiered_caching`,pathParams:{"zone-id":String(l.zone??l[`zone-id`]??``)},bodyKind:`json`,body:l.body===void 0?o({value:s(l.value,`value`,`text`)}):a(l.body)});return}let u=await t(l),d=await e({zone:l.zone},u,{quiet:l.quiet});if(l.zoneId=d,l.body){let e=a(l.body);n(await i(`Updating`,async()=>u.argo.tieredCaching.edit({...e,zone_id:d})),{successLabel:`Updated`});return}l.value===void 0&&(l.value=await c(`value`,`Enables Tiered Caching.`,[`on`,`off`]));let f=o({value:s(l.value,`value`,`text`)});n(await i(`Updating`,async()=>u.argo.tieredCaching.edit({...f,zone_id:d})),{successLabel:`Updated`})}};function g(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`get`,describe:`Tiered Cache works by dividing Cloudflare's data centers into a hierarchy of lower-tiers and upper-tiers. If content is not cached in lower-tier data centers (generally the ones closest to a visitor), the lower-tier must ask an upper-tier to see if it has the content. If the upper-tier does not have the content, only the upper-tier can ask the origin for content. This practice improves bandwidth efficiency by limiting the number of data centers that can ask the origin for content, which reduces origin load and makes websites more cost-effective to operate. Additionally, Tiered Cache concentrates connections to origin servers so they come from a small number of data centers rather than the full set of network locations. This results in fewer open connections using server resources.`,builder:g,handler:async a=>{if(a.dryRun){r({command:`cf argo tiered-caching get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${a.zone??a.zoneId??`<zone>`}/argo/tiered_caching`,pathParams:{"zone-id":String(a.zone??a[`zone-id`]??``)},bodyKind:`none`});return}let o=await t(a),s=await e({zone:a.zone},o,{quiet:a.quiet});a.zoneId=s,n(await i(`Loading`,async()=>o.argo.tieredCaching.get({zone_id:s})),{successLabel:`Loaded`})}},v={command:`tiered-caching`,describe:`Operations for tiered-caching`,builder:e=>e.command(h).command(_).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},y={command:`argo`,describe:`argo`,builder:e=>e.command(p).command(v).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{y as default};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n}from"./oauth-BjHjJtnn.mjs";import{r}from"./auth-C6MhC9EZ.mjs";import{t as i}from"./output-DgW1hQGX.mjs";import{n as a,t as o}from"./progress-C-oFUtvC.mjs";import{n as s,t as c}from"./body-parser-CYD7PKFC.mjs";import{n as l}from"./input-validation-BBKJRoRB.mjs";import{a as u,n as d}from"./prompt-DM4z101s.mjs";import{t as f}from"./cli-types-BWdZbsFE.mjs";import{n as p,t as m}from"./raw-fetch-25gXED6c.mjs";function h(e){return e.positional(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const g={command:`artifactsNamespacesGet <namespace>`,describe:`Returns an Artifacts namespace summary.`,builder:h,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsNamespacesGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}`,pathParams:{namespace:String(s.namespace??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.artifacts.namespaces.artifactsNamespacesGet({account_id:l,namespace:s.namespace})),{successLabel:`Loaded`})}};function _(e){return e.option(`limit`,{type:`number`,description:`Limit`}).option(`cursor`,{type:`string`,description:`Cursor`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const v={command:`artifactsNamespacesList`,describe:`Lists Artifacts namespaces for an account.`,builder:_,handler:async s=>{let c={limit:s.limit,cursor:s.cursor};if(s.dryRun){a({command:`cf artifacts namespaces artifactsNamespacesList`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.artifacts.namespaces.artifactsNamespacesList({account_id:u,...c})),{successLabel:`Loaded`})}};function y(e){return e.positional(`hash`,{type:`string`,description:`40-character lowercase hexadecimal Git object hash.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const b={command:`artifactsReposBlobGet <hash>`,describe:`Returns raw bytes for an immutable Git blob object. Blob responses are cacheable forever by hash.`,builder:y,handler:async i=>{if(i.dryRun){a({command:`cf artifacts namespaces artifactsReposBlobGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${i.namespace==null?`<namespace>`:encodeURIComponent(String(i.namespace))}/repos/${i.name==null?`<name>`:encodeURIComponent(String(i.name))}/blob/${i.hash==null?`<hash>`:encodeURIComponent(String(i.hash))}`,pathParams:{namespace:String(i.namespace??``),name:String(i.name??``),hash:String(i.hash??``)},bodyKind:`none`});return}await r(i);let s=i.local?e:await t();i.accountId=s;let c=await o(`Loading`,async()=>m(`/accounts/${s}/artifacts/namespaces/${encodeURIComponent(String(i.namespace))}/repos/${encodeURIComponent(String(i.name))}/blob/${encodeURIComponent(String(i.hash))}`,{method:`GET`,local:i.local===!0,persistTo:i.persistTo}));p(i.text===!0?c.toString(`utf-8`):c)}};function x(e){return e.positional(`hash`,{type:`string`,description:`40-character lowercase hexadecimal Git object hash.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const S={command:`artifactsReposCommitGet <hash>`,describe:`Returns decoded metadata for an immutable Git commit object. Commit responses are cacheable forever by hash.`,builder:x,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposCommitGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}/commit/${s.hash==null?`<hash>`:encodeURIComponent(String(s.hash))}`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``),hash:String(s.hash??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.artifacts.namespaces.artifactsReposCommitGet({account_id:l,namespace:s.namespace,name:s.name,hash:s.hash})),{successLabel:`Loaded`})}};function C(e){return e.positional(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`default-branch`,{type:`string`,description:`Git branch name. Must match /^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/, must not contain '..', and must not end with '/' or '.'.`}).option(`description`,{type:`string`,description:`The description field`}).option(`name`,{type:`string`,description:`The name field`}).option(`read-only`,{type:`boolean`,description:`The read_only field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const w={command:`artifactsReposCreate <namespace>`,describe:`Creates a Git-compatible Artifacts repository in a namespace.`,builder:C,handler:async d=>{if(d.dryRun){a({command:`cf artifacts namespaces artifactsReposCreate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${d.namespace==null?`<namespace>`:encodeURIComponent(String(d.namespace))}/repos`,pathParams:{namespace:String(d.namespace??``)},bodyKind:`json`,body:d.body===void 0?c({default_branch:l(d[`default-branch`],`default-branch`,`text`),description:l(d.description,`description`,`text`),name:l(d.name,`name`,`text`),read_only:d[`read-only`]}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsReposCreate({...e,account_id:p,namespace:d.namespace})),{successLabel:`Created`});return}d.name===void 0&&(d.name=await u(`name`,`The name field`));let m=c({default_branch:l(d[`default-branch`],`default-branch`,`text`),description:l(d.description,`description`,`text`),name:l(d.name,`name`,`text`),read_only:d[`read-only`]});i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsReposCreate({...m,account_id:p,namespace:d.namespace})),{successLabel:`Created`})}};function T(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const E={command:`artifactsReposDelete <name>`,describe:`Deletes a repository and schedules cleanup of its backing data.`,builder:T,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposDelete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await d({force:!!s.force})){process.stderr.write(`Aborted.
3
- `);return}i(await o(`Deleting`,async()=>c.artifacts.namespaces.artifactsReposDelete({account_id:l,namespace:s.namespace,name:s.name})),{successLabel:`Deleted`})}};function D(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`ref`,{type:`string`,description:`Git ref, branch, tag, or commit hash.`,demandOption:!0}).option(`path`,{type:`string`,description:`File path.`,demandOption:!0}).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 O={command:`artifactsReposFileGet <name>`,describe:`Returns raw bytes for a file resolved by ref and path.`,builder:D,handler:async i=>{let s={ref:i.ref,path:i.path};if(i.dryRun){a({command:`cf artifacts namespaces artifactsReposFileGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${i.namespace==null?`<namespace>`:encodeURIComponent(String(i.namespace))}/repos/${i.name==null?`<name>`:encodeURIComponent(String(i.name))}/file`,pathParams:{namespace:String(i.namespace??``),name:String(i.name??``)},query:s,bodyKind:`none`});return}await r(i);let c=i.local?e:await t();i.accountId=c;let l=new URLSearchParams(Object.entries(s).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),u=await o(`Loading`,async()=>m(`/accounts/${c}/artifacts/namespaces/${encodeURIComponent(String(i.namespace))}/repos/${encodeURIComponent(String(i.name))}/file${l?`?`+l:``}`,{method:`GET`,local:i.local===!0,persistTo:i.persistTo}));p(i.text===!0?u.toString(`utf-8`):u)}};function k(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`default-branch-only`,{type:`boolean`,description:`The default_branch_only field`}).option(`description`,{type:`string`,description:`The description field`}).option(`read-only`,{type:`boolean`,description:`The read_only 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 A={command:`artifactsReposFork <name>`,describe:`Forks a source repository into a new repository.`,builder:k,handler:async u=>{if(u.dryRun){a({command:`cf artifacts namespaces artifactsReposFork`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${u.namespace==null?`<namespace>`:encodeURIComponent(String(u.namespace))}/repos/${u.name==null?`<name>`:encodeURIComponent(String(u.name))}/fork`,pathParams:{namespace:String(u.namespace??``),name:String(u.name??``)},bodyKind:`json`,body:u.body===void 0?c({default_branch_only:u[`default-branch-only`],description:l(u.description,`description`,`text`),read_only:u[`read-only`]}):s(u.body)});return}let d=await r(u),f=u.local?e:await t();if(u.accountId=f,u.body){let e=s(u.body);i(await o(`Creating`,async()=>d.artifacts.namespaces.artifactsReposFork({...e,account_id:f,namespace:u.namespace,name:u.name})),{successLabel:`Created`});return}let p=c({default_branch_only:u[`default-branch-only`],description:l(u.description,`description`,`text`),read_only:u[`read-only`]});i(await o(`Creating`,async()=>d.artifacts.namespaces.artifactsReposFork({...p,account_id:f,namespace:u.namespace,name:u.name})),{successLabel:`Created`})}};function j(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const M={command:`artifactsReposGet <name>`,describe:`Returns repository metadata.`,builder:j,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.artifacts.namespaces.artifactsReposGet({account_id:l,namespace:s.namespace,name:s.name})),{successLabel:`Loaded`})}};function N(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name. Must match /^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/, must not contain '..', and must not end with '/' or '.'.`}).option(`depth`,{type:`number`,description:`The depth field`}).option(`read-only`,{type:`boolean`,description:`The read_only field`}).option(`url`,{type:`string`,description:`The url 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:`artifactsReposImport <name>`,describe:`Imports an HTTPS Git repository into an Artifacts repository.`,builder:N,handler:async d=>{if(d.dryRun){a({command:`cf artifacts namespaces artifactsReposImport`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${d.namespace==null?`<namespace>`:encodeURIComponent(String(d.namespace))}/repos/${d.name==null?`<name>`:encodeURIComponent(String(d.name))}/import`,pathParams:{namespace:String(d.namespace??``),name:String(d.name??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),depth:d.depth,read_only:d[`read-only`],url:l(d.url,`url`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsReposImport({...e,account_id:p,namespace:d.namespace,name:d.name})),{successLabel:`Created`});return}d.url===void 0&&(d.url=await u(`url`,`The url field`));let m=c({branch:l(d.branch,`branch`,`text`),depth:d.depth,read_only:d[`read-only`],url:l(d.url,`url`,`text`)});i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsReposImport({...m,account_id:p,namespace:d.namespace,name:d.name})),{successLabel:`Created`})}};function F(e){return e.positional(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`limit`,{type:`number`,description:`Limit`}).option(`cursor`,{type:`string`,description:`Cursor`}).option(`search`,{type:`string`,description:`Search`}).option(`sort`,{type:`string`,description:`Sort`,choices:[`created_at`,`updated_at`,`last_push_at`,`name`]}).option(`direction`,{type:`string`,description:`Direction`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const I={command:`artifactsReposList <namespace>`,describe:`Lists repositories in a namespace.`,builder:f(F),handler:async s=>{let c={limit:s.limit,cursor:s.cursor,search:s.search,sort:s.sort,direction:s.direction};if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposList`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos`,pathParams:{namespace:String(s.namespace??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.artifacts.namespaces.artifactsReposList({account_id:u,namespace:s.namespace,...c})),{successLabel:`Loaded`})}};function L(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`ref`,{type:`string`,description:`Git ref, branch, tag, or commit hash. Defaults to HEAD.`}).option(`limit`,{type:`number`,description:`Limit`}).option(`offset`,{type:`number`,description:`Offset`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const R={command:`artifactsReposLogGet <name>`,describe:`Returns commit metadata walking backwards from a ref, branch, tag, or HEAD.`,builder:L,handler:async s=>{let c={ref:s.ref,limit:s.limit,offset:s.offset};if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposLogGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}/log`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.artifacts.namespaces.artifactsReposLogGet({account_id:u,namespace:s.namespace,name:s.name,...c})),{successLabel:`Loaded`})}};function z(e){return e.positional(`path`,{type:`string`,description:`File path. May contain slashes.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`ref`,{type:`string`,description:`Git ref, branch, tag, or 40-character commit hash.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const B={command:`artifactsReposRawGet <path>`,describe:`Returns file bytes resolved by ref and path, with a sniffed content type and browser-safe response headers.`,builder:z,handler:async i=>{if(i.dryRun){a({command:`cf artifacts namespaces artifactsReposRawGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${i.namespace==null?`<namespace>`:encodeURIComponent(String(i.namespace))}/repos/${i.name==null?`<name>`:encodeURIComponent(String(i.name))}/raw/${i.ref==null?`<ref>`:encodeURIComponent(String(i.ref))}/${i.path==null?`<path>`:encodeURIComponent(String(i.path))}`,pathParams:{namespace:String(i.namespace??``),name:String(i.name??``),ref:String(i.ref??``),path:String(i.path??``)},bodyKind:`none`});return}await r(i);let s=i.local?e:await t();i.accountId=s;let c=await o(`Loading`,async()=>m(`/accounts/${s}/artifacts/namespaces/${encodeURIComponent(String(i.namespace))}/repos/${encodeURIComponent(String(i.name))}/raw/${encodeURIComponent(String(i.ref))}/${encodeURIComponent(String(i.path))}`,{method:`GET`,local:i.local===!0,persistTo:i.persistTo}));p(i.text===!0?c.toString(`utf-8`):c)}};function V(e){return e.positional(`hash`,{type:`string`,description:`40-character lowercase hexadecimal Git object hash.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const H={command:`artifactsReposTreeGet <hash>`,describe:`Returns decoded entries for an immutable Git tree object. Tree responses are cacheable forever by hash.`,builder:V,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsReposTreeGet`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}/tree/${s.hash==null?`<hash>`:encodeURIComponent(String(s.hash))}`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``),hash:String(s.hash??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.artifacts.namespaces.artifactsReposTreeGet({account_id:l,namespace:s.namespace,name:s.name,hash:s.hash})),{successLabel:`Loaded`})}};function U(e){return e.positional(`name`,{type:`string`,description:`Repository name.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`state`,{type:`string`,description:`State`,choices:[`active`,`expired`,`revoked`,`all`]}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const W={command:`artifactsRepoTokensList <name>`,describe:`Lists tokens for a repository.`,builder:f(U),handler:async s=>{let c={state:s.state,page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf artifacts namespaces artifactsRepoTokensList`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/repos/${s.name==null?`<name>`:encodeURIComponent(String(s.name))}/tokens`,pathParams:{namespace:String(s.namespace??``),name:String(s.name??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.artifacts.namespaces.artifactsRepoTokensList({account_id:u,namespace:s.namespace,name:s.name,...c})),{successLabel:`Loaded`})}};function G(e){return e.positional(`namespace`,{type:`string`,description:`Artifacts namespace name.`,demandOption:!0}).option(`repo`,{type:`string`,description:`The repo field`}).option(`scope`,{type:`string`,description:`The scope field`,choices:[`read`,`write`]}).option(`ttl`,{type:`number`,description:`The ttl 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:`artifactsTokensCreate <namespace>`,describe:`Creates a scoped Git token for a repository.`,builder:G,handler:async d=>{if(d.dryRun){a({command:`cf artifacts namespaces artifactsTokensCreate`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${d.namespace==null?`<namespace>`:encodeURIComponent(String(d.namespace))}/tokens`,pathParams:{namespace:String(d.namespace??``)},bodyKind:`json`,body:d.body===void 0?c({repo:l(d.repo,`repo`,`text`),scope:l(d.scope,`scope`,`text`),ttl:d.ttl}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsTokensCreate({...e,account_id:p,namespace:d.namespace})),{successLabel:`Created`});return}d.repo===void 0&&(d.repo=await u(`repo`,`The repo field`));let m=c({repo:l(d.repo,`repo`,`text`),scope:l(d.scope,`scope`,`text`),ttl:d.ttl});i(await o(`Creating`,async()=>f.artifacts.namespaces.artifactsTokensCreate({...m,account_id:p,namespace:d.namespace})),{successLabel:`Created`})}};function q(e){return e.positional(`id`,{type:`string`,description:`Token ID. Must match /^[0-9a-z]{16}$/.`,demandOption:!0}).option(`namespace`,{type:`string`,description:`Artifacts namespace 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:`artifactsTokensRevoke <id>`,describe:`Revokes an Artifacts repository token.`,builder:q,handler:async s=>{if(s.dryRun){a({command:`cf artifacts namespaces artifactsTokensRevoke`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/artifacts/namespaces/${s.namespace==null?`<namespace>`:encodeURIComponent(String(s.namespace))}/tokens/${s.id==null?`<id>`:encodeURIComponent(String(s.id))}`,pathParams:{namespace:String(s.namespace??``),id:String(s.id??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await d({force:!!s.force})){process.stderr.write(`Aborted.
4
- `);return}i(await o(`Deleting`,async()=>c.artifacts.namespaces.artifactsTokensRevoke({account_id:l,namespace:s.namespace,id:s.id})),{successLabel:`Deleted`})}},Y={command:`namespaces`,describe:`Operations for namespaces`,builder:e=>e.command(g).command(v).command(W).command(b).command(S).command(w).command(E).command(O).command(A).command(M).command(P).command(I).command(R).command(B).command(H).command(K).command(J).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},X={command:`artifacts`,describe:`artifacts`,builder:e=>e.command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{X as default};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import{t as e}from"./local-eEF0NF51.mjs";import{f as t,g as n}from"./oauth-BjHjJtnn.mjs";import{a as r,r as i}from"./auth-C6MhC9EZ.mjs";import{t as a}from"./output-DgW1hQGX.mjs";import{n as o,t as s}from"./progress-C-oFUtvC.mjs";import{n as c,r as l,t as u}from"./body-parser-CYD7PKFC.mjs";import{n as d}from"./input-validation-BBKJRoRB.mjs";import{n as f}from"./prompt-DM4z101s.mjs";import{t as p}from"./cli-types-BWdZbsFE.mjs";import{n as m,t as h}from"./raw-fetch-25gXED6c.mjs";function g(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).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 _={command:`create`,describe:"Starts a crawl job for the provided URL and its children. Check available options like `gotoOptions` and `waitFor*` to control page load behaviour.",builder:g,handler:async l=>{let u={cacheTTL:l[`cache-ttl`]};if(l.dryRun){o({command:`cf browser-run crawl create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/crawl`,pathParams:{},query:u,bodyKind:`json`,body:l.body===void 0?void 0:c(l.body)});return}let d=await i(l),f=l.local?e:await t();if(l.accountId=f,l.body){let e=c(l.body);new URLSearchParams(Object.entries(u).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>d.browserRun.crawl.create({body:e,account_id:f,...u})),{successLabel:`Created`});return}a(await s(`Creating`,async()=>r(d,`POST`,`/accounts/${f}/browser-rendering/crawl`,{query:u})),{successLabel:`Created`})}};function ee(e){return e.positional(`job-id`,{type:`string`,description:`The ID of the crawl job to cancel.`,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 v={command:`delete <job-id>`,describe:`Cancels an ongoing crawl job by setting its status to cancelled and stopping all queued URLs.`,builder:ee,handler:async r=>{if(r.dryRun){o({command:`cf browser-run crawl delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/crawl/${r[`job-id`]==null?`<job-id>`:encodeURIComponent(String(r[`job-id`]))}`,pathParams:{"job-id":String(r[`job-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force})){process.stderr.write(`Aborted.
3
- `);return}a(await s(`Deleting`,async()=>c.browserRun.crawl.delete({account_id:l,job_id:r[`job-id`]})),{successLabel:`Deleted`})}};function y(e){return e.positional(`job-id`,{type:`string`,description:`Crawl job ID.`,demandOption:!0}).option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`status`,{type:`string`,description:`Filter by URL status.`,choices:[`queued`,`errored`,`completed`,`disallowed`,`skipped`,`cancelled`]}).option(`cursor`,{type:`number`,description:`Cursor for pagination.`}).option(`limit`,{type:`number`,description:`Limit for pagination.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const b={command:`get <job-id>`,describe:`Returns the result of a crawl job.`,builder:p(y),handler:async r=>{let c={cacheTTL:r[`cache-ttl`],status:r.status,cursor:r.cursor,limit:r.limit};if(r.dryRun){o({command:`cf browser-run crawl get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/crawl/${r[`job-id`]==null?`<job-id>`:encodeURIComponent(String(r[`job-id`]))}`,pathParams:{"job-id":String(r[`job-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.browserRun.crawl.get({account_id:u,job_id:r[`job-id`],...c})),{successLabel:`Loaded`})}},x={command:`crawl`,describe:`Operations for crawl`,builder:e=>e.command(_).command(v).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID to connect to.`,demandOption:!0}).option(`keep-alive`,{type:`number`,description:`Keep-alive time in ms (only valid when acquiring new session).`}).option(`lab`,{type:`boolean`,description:`Use experimental browser.`}).option(`recording`,{type:`boolean`,description:`Recording`}).option(`cf-brapi-guardrails`,{type:`string`,description:`Optional base64url-encoded JSON connection guardrails (mode)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const C={command:`connect <session-id>`,describe:`Establishes a WebSocket connection to an existing browser session.`,builder:S,handler:async c=>{let l={keep_alive:c[`keep-alive`],lab:c.lab,recording:c.recording},u={};if(c[`cf-brapi-guardrails`]!==void 0&&(u[`cf-brapi-guardrails`]=String(c[`cf-brapi-guardrails`])),c.dryRun){o({command:`cf browser-run devtools browser connect`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${c[`session-id`]==null?`<session-id>`:encodeURIComponent(String(c[`session-id`]))}`,pathParams:{"session-id":String(c[`session-id`]??``)},query:l,bodyKind:`none`});return}let d=await i(c),f=c.local?e:await t();c.accountId=f,a(await s(`Loading`,async()=>r(d,`GET`,`/accounts/${f}/browser-rendering/devtools/browser/${encodeURIComponent(String(c[`session-id`]))}`,{query:l,headers:Object.keys(u).length>0?u:void 0})),{successLabel:`Loaded`})}};function w(e){return e.option(`keep-alive`,{type:`number`,description:`Keep-alive time in milliseconds.`}).option(`lab`,{type:`boolean`,description:`Use experimental browser.`}).option(`targets`,{type:`boolean`,description:`Include browser targets in response.`}).option(`live-view-url-expires-in-ms`,{type:`number`,description:`How long the live view URL remains valid, in milliseconds (max 60 minutes). Only used when targets is true.`}).option(`recording`,{type:`boolean`,description:`Recording`}).option(`guardrails-allowed-domain-sets`,{type:`string`,array:!0,description:`Max 4 entries: curated preset names (common-cdns) and/or https URLs of newline-separated hostname lists.`}).option(`guardrails-allowed-domains`,{type:`string`,array:!0,description:`Hostname patterns, max 50. Supports exact hosts (example.com) or a single * wildcard anywhere. Prefer *.example.com (subdomain wildcard) over *example.com (prefix wildcard) to avoid matching overbroad lookalikes like evilexample.com.`}).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 T={command:`create`,describe:`Acquires a browser and returns its session ID and websocket URL. Optionally accepts a JSON body with session guardrails to restrict outbound HTTP/S traffic.`,builder:w,handler:async r=>{let l={keep_alive:r[`keep-alive`],lab:r.lab,targets:r.targets,liveViewUrlExpiresInMs:r[`live-view-url-expires-in-ms`],recording:r.recording};if(r.dryRun){o({command:`cf browser-run devtools browser create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({guardrails:{allowedDomainSets:r[`guardrails-allowed-domain-sets`],allowedDomains:r[`guardrails-allowed-domains`]}}):c(r.body)});return}let d=await i(r),f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>d.browserRun.devtools.browser.create({...e,account_id:f,...l})),{successLabel:`Created`});return}let p=u({guardrails:{allowedDomainSets:r[`guardrails-allowed-domain-sets`],allowedDomains:r[`guardrails-allowed-domains`]}});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>d.browserRun.devtools.browser.create({...p,account_id:f,...l})),{successLabel:`Created`})}};function E(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID to close.`,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 D={command:`delete <session-id>`,describe:`Closes an existing browser session.`,builder:E,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}`,pathParams:{"session-id":String(r[`session-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force})){process.stderr.write(`Aborted.
4
- `);return}a(await s(`Deleting`,async()=>c.browserRun.devtools.browser.delete({account_id:l,session_id:r[`session-id`]})),{successLabel:`Deleted`})}};function O(e){return e.option(`keep-alive`,{type:`number`,description:`Keep-alive time in ms (only valid when acquiring new session).`}).option(`lab`,{type:`boolean`,description:`Use experimental browser.`}).option(`recording`,{type:`boolean`,description:`Recording`}).option(`cf-brapi-guardrails`,{type:`string`,description:`Optional base64url-encoded JSON session guardrails (allowedDomains and allowedDomainSets)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const k={command:`launch`,describe:'Acquires and establishes a WebSocket connection to a browser session. Session guardrails may be supplied in the `cf-brapi-guardrails` header as base64url-encoded JSON of the same `guardrails` object the POST body accepts (for example `{"allowedDomains":["*.example.com"]}`).',builder:O,handler:async c=>{let l={keep_alive:c[`keep-alive`],lab:c.lab,recording:c.recording},u={};if(c[`cf-brapi-guardrails`]!==void 0&&(u[`cf-brapi-guardrails`]=String(c[`cf-brapi-guardrails`])),c.dryRun){o({command:`cf browser-run devtools browser launch`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser`,pathParams:{},query:l,bodyKind:`none`});return}let d=await i(c),f=c.local?e:await t();c.accountId=f,a(await s(`Loading`,async()=>r(d,`GET`,`/accounts/${f}/browser-rendering/devtools/browser`,{query:l,headers:Object.keys(u).length>0?u:void 0})),{successLabel:`Loaded`})}};function A(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID`,demandOption:!0}).option(`expires-in-ms`,{type:`number`,description:`How long the live view URLs remain valid, in milliseconds. Default: 5 minutes. Max: 60 minutes.`,default:3e5}).option(`guardrails-mode`,{type:`string`,description:`The guardrails.mode field`,choices:[`readonly`]}).option(`mode`,{type:`string`,description:`UI mode: 'devtools' (Chrome DevTools), 'tab' (single tab view), 'full' (multi-tab browser)`,choices:[`devtools`,`tab`,`full`],default:`devtools`}).option(`target-id`,{type:`string`,description:`Target ID (page) to connect to. If omitted, auto-resolves to the first active page.`}).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([`guardrails-mode`].some(t=>e[t]!==void 0)){let t=[`guardrails-mode`].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 --guardrails-* flag is set`)}return!0})}const j={command:`create <session-id>`,describe:"Generates time-limited URLs to view a remote browser session. Set `guardrails: { mode: 'readonly' }` to create a view-only link.",builder:A,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser live-view create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/live_view`,pathParams:{"session-id":String(r[`session-id`]??``)},bodyKind:`json`,body:r.body===void 0?u({expiresInMs:r[`expires-in-ms`],guardrails:{mode:d(r[`guardrails-mode`],`guardrails-mode`,`text`)},mode:d(r.mode,`mode`,`text`),targetId:d(r[`target-id`],`target-id`,`text`)}):c(r.body)});return}let l=await i(r),f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body);a(await s(`Creating`,async()=>l.browserRun.devtools.browser.liveView.create({...e,account_id:f,session_id:r[`session-id`]})),{successLabel:`Created`});return}let p=u({expiresInMs:r[`expires-in-ms`],guardrails:{mode:d(r[`guardrails-mode`],`guardrails-mode`,`text`)},mode:d(r.mode,`mode`,`text`),targetId:d(r[`target-id`],`target-id`,`text`)});a(await s(`Creating`,async()=>l.browserRun.devtools.browser.liveView.create({...p,account_id:f,session_id:r[`session-id`]})),{successLabel:`Created`})}},M={command:`live-view`,describe:`Operations for devtools.browser.live-view`,builder:e=>e.command(j).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function N(e){return e.positional(`target-id`,{type:`string`,description:`Target ID, e.g. page ID.`,demandOption:!0}).option(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`cf-brapi-guardrails`,{type:`string`,description:`Optional base64url-encoded JSON connection guardrails (mode)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const P={command:`get <target-id>`,describe:`Establishes a WebSocket connection to a specific Chrome DevTools target or page.`,builder:N,handler:async c=>{let l={};if(c[`cf-brapi-guardrails`]!==void 0&&(l[`cf-brapi-guardrails`]=String(c[`cf-brapi-guardrails`])),c.dryRun){o({command:`cf browser-run devtools browser page get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${c[`session-id`]==null?`<session-id>`:encodeURIComponent(String(c[`session-id`]))}/page/${c[`target-id`]==null?`<target-id>`:encodeURIComponent(String(c[`target-id`]))}`,pathParams:{"session-id":String(c[`session-id`]??``),"target-id":String(c[`target-id`]??``)},bodyKind:`none`});return}let u=await i(c),d=c.local?e:await t();c.accountId=d,a(await s(`Loading`,async()=>r(u,`GET`,`/accounts/${d}/browser-rendering/devtools/browser/${encodeURIComponent(String(c[`session-id`]))}/page/${encodeURIComponent(String(c[`target-id`]))}`,{headers:Object.keys(l).length>0?l:void 0})),{successLabel:`Loaded`})}},F={command:`page`,describe:`Operations for devtools.browser.page`,builder:e=>e.command(P).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function I(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const L={command:`protocol <session-id>`,describe:`Returns the complete Chrome DevTools Protocol schema including all domains, commands, events, and types. This schema describes the entire CDP API surface.`,builder:I,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser protocol`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/protocol`,pathParams:{"session-id":String(r[`session-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.browser.protocol({account_id:l,session_id:r[`session-id`]})),{successLabel:`Loaded`})}};function R(e){return e.positional(`target-id`,{type:`string`,description:`Target ID to activate.`,demandOption:!0}).option(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const z={command:`activate <target-id>`,describe:`Activates (brings to front) a specific browser target by its ID.`,builder:R,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser targets activate`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/activate/${r[`target-id`]==null?`<target-id>`:encodeURIComponent(String(r[`target-id`]))}`,pathParams:{"session-id":String(r[`session-id`]??``),"target-id":String(r[`target-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.browser.targets.activate({account_id:l,session_id:r[`session-id`],target_id:r[`target-id`]})),{successLabel:`Loaded`})}};function B(e){return e.positional(`target-id`,{type:`string`,description:`Target ID to close.`,demandOption:!0}).option(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const V={command:`close <target-id>`,describe:`Closes a specific browser target (tab, page, etc.) by its ID. Returns 'Target is closing' on success or an error if the target is not found.`,builder:B,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser targets close`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/close/${r[`target-id`]==null?`<target-id>`:encodeURIComponent(String(r[`target-id`]))}`,pathParams:{"session-id":String(r[`session-id`]??``),"target-id":String(r[`target-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.browser.targets.close({account_id:l,session_id:r[`session-id`],target_id:r[`target-id`]})),{successLabel:`Loaded`})}};function H(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`url`,{type:`string`,description:`Url`}).option(`live-view-url-expires-in-ms`,{type:`number`,description:`How long the live view URL remains valid, in milliseconds (max 60 minutes)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const U={command:`create <session-id>`,describe:`Opens a new tab in the browser. Optionally specify a URL to navigate to.`,builder:H,handler:async r=>{let c={url:r.url,liveViewUrlExpiresInMs:r[`live-view-url-expires-in-ms`]};if(r.dryRun){o({command:`cf browser-run devtools browser targets create`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/new`,pathParams:{"session-id":String(r[`session-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Updating`,async()=>l.browserRun.devtools.browser.targets.create({account_id:u,session_id:r[`session-id`],...c})),{successLabel:`Updated`})}};function W(e){return e.positional(`target-id`,{type:`string`,description:`Target ID.`,demandOption:!0}).option(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const G={command:`get <target-id>`,describe:`Returns the debuggable target with the given ID.`,builder:W,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser targets get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/list/${r[`target-id`]==null?`<target-id>`:encodeURIComponent(String(r[`target-id`]))}`,pathParams:{"session-id":String(r[`session-id`]??``),"target-id":String(r[`target-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.browser.targets.get({account_id:l,session_id:r[`session-id`],target_id:r[`target-id`]})),{successLabel:`Loaded`})}};function te(e){return e.option(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`live-view-url-expires-in-ms`,{type:`number`,description:`How long the live view URLs remain valid, in milliseconds (max 60 minutes)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const K={command:`list`,describe:`Returns a list of all debuggable targets including tabs, pages, service workers, and other browser contexts.`,builder:te,handler:async r=>{let c={liveViewUrlExpiresInMs:r[`live-view-url-expires-in-ms`]};if(r.dryRun){o({command:`cf browser-run devtools browser targets list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/list`,pathParams:{"session-id":String(r[`session-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.browserRun.devtools.browser.targets.list({account_id:u,session_id:r[`session-id`],...c})),{successLabel:`Loaded`})}},q={command:`targets`,describe:`Operations for devtools.browser.targets`,builder:e=>e.command(z).command(V).command(U).command(G).command(K).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function J(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Y={command:`version <session-id>`,describe:`Get browser version metadata.`,builder:J,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools browser version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json/version`,pathParams:{"session-id":String(r[`session-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.browser.version({account_id:l,session_id:r[`session-id`]})),{successLabel:`Loaded`})}},X={command:`browser`,describe:`Operations for devtools.browser`,builder:e=>e.command(C).command(T).command(D).command(k).command(L).command(Y).command(M).command(F).command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Z(e){return e.positional(`session-id`,{type:`string`,description:`Browser session ID.`,demandOption:!0}).option(`live-view-url-expires-in-ms`,{type:`number`,description:`How long the live view URLs remain valid, in milliseconds (max 60 minutes)`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Q={command:`get <session-id>`,describe:`Returns a list of all debuggable targets including tabs, pages, service workers, and other browser contexts.`,builder:Z,handler:async r=>{let c={liveViewUrlExpiresInMs:r[`live-view-url-expires-in-ms`]};if(r.dryRun){o({command:`cf browser-run devtools json get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/browser/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}/json`,pathParams:{"session-id":String(r[`session-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.browserRun.devtools.json.get({account_id:u,session_id:r[`session-id`],...c})),{successLabel:`Loaded`})}},ne={command:`json`,describe:`Operations for devtools.json`,builder:e=>e.command(Q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function re(e){return e.positional(`session-id`,{type:`string`,description:`Session ID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ie={command:`get <session-id>`,describe:`Get details for a specific browser session.`,builder:re,handler:async r=>{if(r.dryRun){o({command:`cf browser-run devtools session get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/session/${r[`session-id`]==null?`<session-id>`:encodeURIComponent(String(r[`session-id`]))}`,pathParams:{"session-id":String(r[`session-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.browserRun.devtools.session.get({account_id:l,session_id:r[`session-id`]})),{successLabel:`Loaded`})}};function ae(e){return e.option(`limit`,{type:`number`,description:`Limit`}).option(`offset`,{type:`number`,description:`Offset`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const oe={command:`list`,describe:`List active browser sessions.`,builder:ae,handler:async r=>{let c={limit:r.limit,offset:r.offset};if(r.dryRun){o({command:`cf browser-run devtools session list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/devtools/session`,pathParams:{},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.browserRun.devtools.session.list({account_id:u,...c})),{successLabel:`Loaded`})}},se={command:`session`,describe:`Operations for devtools.session`,builder:e=>e.command(ie).command(oe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},ce={command:`devtools`,describe:`Operations for devtools`,builder:e=>e.command(X).command(ne).command(se).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function le(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`interesting-only`,{type:`boolean`,description:`The interestingOnly field`}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`root`,{type:`string`,description:`The root field`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const ue={command:`accessibility-tree`,describe:"Returns the page's accessibility tree. Use `interestingOnly` to only return semantically meaningful nodes; use `root` to scope the tree to a CSS-selector-anchored subtree. Control page loading with `gotoOptions` and `waitFor*` options.",builder:le,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action accessibility-tree`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/accessibilityTree`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),interestingOnly:r[`interesting-only`],rejectRequestPattern:r[`reject-request-pattern`],root:d(r.root,`root`,`text`),setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.accessibilityTree({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),interestingOnly:r[`interesting-only`],rejectRequestPattern:r[`reject-request-pattern`],root:d(r.root,`root`,`text`),setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.accessibilityTree({...m,account_id:p,...l})),{successLabel:`Created`})}};function de(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const fe={command:`content`,describe:"Fetches rendered HTML content from provided URL or HTML. Check available options like `gotoOptions` and `waitFor*` to control page load behaviour.",builder:de,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action content`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/content`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.content({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.content({...m,account_id:p,...l})),{successLabel:`Created`})}};function pe(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`prompt`,{type:`string`,description:`The prompt field`}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`response-format-type`,{type:`string`,description:`The response_format.type field`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`response-format-type`].some(t=>e[t]!==void 0)){let t=[`response-format-type`].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 --response_format-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const me={command:`json`,describe:"Gets json from a webpage from a provided URL or HTML. Pass `prompt` or `schema` in the body. Control page loading with `gotoOptions` and `waitFor*` options.",builder:pe,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action json`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/json`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),prompt:d(r.prompt,`prompt`,`text`),rejectRequestPattern:r[`reject-request-pattern`],response_format:{type:d(r[`response-format-type`],`response-format-type`,`text`)},setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.json({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),prompt:d(r.prompt,`prompt`,`text`),rejectRequestPattern:r[`reject-request-pattern`],response_format:{type:d(r[`response-format-type`],`response-format-type`,`text`)},setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.json({...m,account_id:p,...l})),{successLabel:`Created`})}};function he(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`exclude-external-links`,{type:`boolean`,description:`The excludeExternalLinks field`,default:!1}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`visible-links-only`,{type:`boolean`,description:`The visibleLinksOnly field`,default:!1}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const ge={command:`links`,describe:`Get links from a web page.`,builder:he,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action links`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/links`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),excludeExternalLinks:r[`exclude-external-links`],gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},visibleLinksOnly:r[`visible-links-only`],waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.links({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),excludeExternalLinks:r[`exclude-external-links`],gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},visibleLinksOnly:r[`visible-links-only`],waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.links({...m,account_id:p,...l})),{successLabel:`Created`})}};function _e(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const ve={command:`markdown`,describe:"Gets markdown of a webpage from provided URL or HTML. Control page loading with `gotoOptions` and `waitFor*` options.",builder:_e,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action markdown`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/markdown`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.markdown({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.markdown({...m,account_id:p,...l})),{successLabel:`Created`})}};function ye(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`pdf-options-display-header-footer`,{type:`boolean`,description:`Whether to show the header and footer.`,default:!1}).option(`pdf-options-footer-template`,{type:`string`,description:`HTML template for the print footer.`}).option(`pdf-options-format`,{type:`string`,description:`Paper format. Takes priority over width and height if set.`,choices:[`letter`,`legal`,`tabloid`,`ledger`,`a0`,`a1`,`a2`,`a3`,`a4`,`a5`,`a6`],default:`letter`}).option(`pdf-options-header-template`,{type:`string`,description:`HTML template for the print header.`}).option(`pdf-options-landscape`,{type:`boolean`,description:`Whether to print in landscape orientation.`,default:!1}).option(`pdf-options-omit-background`,{type:`boolean`,description:`Hides default white background and allows generating pdfs with transparency.`,default:!1}).option(`pdf-options-outline`,{type:`boolean`,description:`Generate document outline.`,default:!1}).option(`pdf-options-page-ranges`,{type:`string`,description:`Paper ranges to print, e.g. '1-5, 8, 11-13'.`}).option(`pdf-options-prefer-csspage-size`,{type:`boolean`,description:`Give CSS @page size priority over other size declarations.`,default:!1}).option(`pdf-options-print-background`,{type:`boolean`,description:`Set to true to print background graphics.`,default:!1}).option(`pdf-options-scale`,{type:`number`,description:`Scales the rendering of the web page. Amount must be between 0.1 and 2.`,default:1}).option(`pdf-options-tagged`,{type:`boolean`,description:`Generate tagged (accessible) PDF.`,default:!0}).option(`pdf-options-timeout`,{type:`number`,description:`Timeout in milliseconds.`,default:3e4}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1}).check(e=>{if([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const be={command:`pdf`,describe:"Fetches rendered PDF from provided URL or HTML. Check available options like `gotoOptions` and `waitFor*` to control page load behaviour.",builder:ye,handler:async r=>{let a={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action pdf`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/pdf`,pathParams:{},query:a,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),pdfOptions:{displayHeaderFooter:r[`pdf-options-display-header-footer`],footerTemplate:d(r[`pdf-options-footer-template`],`pdf-options-footer-template`,`text`),format:d(r[`pdf-options-format`],`pdf-options-format`,`text`),headerTemplate:d(r[`pdf-options-header-template`],`pdf-options-header-template`,`text`),landscape:r[`pdf-options-landscape`],omitBackground:r[`pdf-options-omit-background`],outline:r[`pdf-options-outline`],pageRanges:d(r[`pdf-options-page-ranges`],`pdf-options-page-ranges`,`text`),preferCSSPageSize:r[`pdf-options-prefer-csspage-size`],printBackground:r[`pdf-options-print-background`],scale:r[`pdf-options-scale`],tagged:r[`pdf-options-tagged`],timeout:r[`pdf-options-timeout`]},rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}await i(r);let f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body),t=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),n=await s(`Creating`,async()=>h(`/accounts/${f}/browser-rendering/pdf${t?`?`+t:``}`,{method:`POST`,local:r.local===!0,persistTo:r.persistTo,body:JSON.stringify(e),contentType:`application/json`}));m(r.text===!0?n.toString(`utf-8`):n);return}let p={};r[`action-timeout`]!==void 0&&l(p,[`actionTimeout`],r[`action-timeout`]),r[`allow-request-pattern`]!==void 0&&l(p,[`allowRequestPattern`],r[`allow-request-pattern`]),r[`authenticate-password`]!==void 0&&l(p,[`authenticate`,`password`],d(r[`authenticate-password`],`authenticate-password`,`text`)),r[`authenticate-username`]!==void 0&&l(p,[`authenticate`,`username`],d(r[`authenticate-username`],`authenticate-username`,`text`)),r[`best-attempt`]!==void 0&&l(p,[`bestAttempt`],r[`best-attempt`]),r[`emulate-media-type`]!==void 0&&l(p,[`emulateMediaType`],d(r[`emulate-media-type`],`emulate-media-type`,`text`)),r[`goto-options-referer`]!==void 0&&l(p,[`gotoOptions`,`referer`],d(r[`goto-options-referer`],`goto-options-referer`,`text`)),r[`goto-options-referrer-policy`]!==void 0&&l(p,[`gotoOptions`,`referrerPolicy`],d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`)),r[`goto-options-timeout`]!==void 0&&l(p,[`gotoOptions`,`timeout`],r[`goto-options-timeout`]),r.html!==void 0&&l(p,[`html`],d(r.html,`html`,`text`)),r[`pdf-options-display-header-footer`]!==void 0&&l(p,[`pdfOptions`,`displayHeaderFooter`],r[`pdf-options-display-header-footer`]),r[`pdf-options-footer-template`]!==void 0&&l(p,[`pdfOptions`,`footerTemplate`],d(r[`pdf-options-footer-template`],`pdf-options-footer-template`,`text`)),r[`pdf-options-format`]!==void 0&&l(p,[`pdfOptions`,`format`],d(r[`pdf-options-format`],`pdf-options-format`,`text`)),r[`pdf-options-header-template`]!==void 0&&l(p,[`pdfOptions`,`headerTemplate`],d(r[`pdf-options-header-template`],`pdf-options-header-template`,`text`)),r[`pdf-options-landscape`]!==void 0&&l(p,[`pdfOptions`,`landscape`],r[`pdf-options-landscape`]),r[`pdf-options-omit-background`]!==void 0&&l(p,[`pdfOptions`,`omitBackground`],r[`pdf-options-omit-background`]),r[`pdf-options-outline`]!==void 0&&l(p,[`pdfOptions`,`outline`],r[`pdf-options-outline`]),r[`pdf-options-page-ranges`]!==void 0&&l(p,[`pdfOptions`,`pageRanges`],d(r[`pdf-options-page-ranges`],`pdf-options-page-ranges`,`text`)),r[`pdf-options-prefer-csspage-size`]!==void 0&&l(p,[`pdfOptions`,`preferCSSPageSize`],r[`pdf-options-prefer-csspage-size`]),r[`pdf-options-print-background`]!==void 0&&l(p,[`pdfOptions`,`printBackground`],r[`pdf-options-print-background`]),r[`pdf-options-scale`]!==void 0&&l(p,[`pdfOptions`,`scale`],r[`pdf-options-scale`]),r[`pdf-options-tagged`]!==void 0&&l(p,[`pdfOptions`,`tagged`],r[`pdf-options-tagged`]),r[`pdf-options-timeout`]!==void 0&&l(p,[`pdfOptions`,`timeout`],r[`pdf-options-timeout`]),r[`reject-request-pattern`]!==void 0&&l(p,[`rejectRequestPattern`],r[`reject-request-pattern`]),r[`set-java-script-enabled`]!==void 0&&l(p,[`setJavaScriptEnabled`],r[`set-java-script-enabled`]),r.url!==void 0&&l(p,[`url`],d(r.url,`url`,`text`)),r[`user-agent`]!==void 0&&l(p,[`userAgent`],d(r[`user-agent`],`user-agent`,`text`)),r[`viewport-device-scale-factor`]!==void 0&&l(p,[`viewport`,`deviceScaleFactor`],r[`viewport-device-scale-factor`]),r[`viewport-has-touch`]!==void 0&&l(p,[`viewport`,`hasTouch`],r[`viewport-has-touch`]),r[`viewport-height`]!==void 0&&l(p,[`viewport`,`height`],r[`viewport-height`]),r[`viewport-is-landscape`]!==void 0&&l(p,[`viewport`,`isLandscape`],r[`viewport-is-landscape`]),r[`viewport-is-mobile`]!==void 0&&l(p,[`viewport`,`isMobile`],r[`viewport-is-mobile`]),r[`viewport-width`]!==void 0&&l(p,[`viewport`,`width`],r[`viewport-width`]),r[`wait-for-selector-hidden`]!==void 0&&l(p,[`waitForSelector`,`hidden`],r[`wait-for-selector-hidden`]),r[`wait-for-selector-selector`]!==void 0&&l(p,[`waitForSelector`,`selector`],d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`)),r[`wait-for-selector-timeout`]!==void 0&&l(p,[`waitForSelector`,`timeout`],r[`wait-for-selector-timeout`]),r[`wait-for-selector-visible`]!==void 0&&l(p,[`waitForSelector`,`visible`],r[`wait-for-selector-visible`]),r[`wait-for-timeout`]!==void 0&&l(p,[`waitForTimeout`],r[`wait-for-timeout`]);let g=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),_=await s(`Creating`,async()=>h(`/accounts/${f}/browser-rendering/pdf${g?`?`+g:``}`,{method:`POST`,local:r.local===!0,persistTo:r.persistTo,body:Object.keys(p).length>0?p:void 0}));m(r.text===!0?_.toString(`utf-8`):_)}};function $(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const xe={command:`scrape`,describe:`Get meta attributes like height, width, text and others of selected elements.`,builder:$,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action scrape`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/scrape`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.scrape({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.scrape({...m,account_id:p,...l})),{successLabel:`Created`})}};function Se(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`screenshot-options-capture-beyond-viewport`,{type:`boolean`,description:`The screenshotOptions.captureBeyondViewport field`}).option(`screenshot-options-clip-height`,{type:`number`,description:`The screenshotOptions.clip.height field`}).option(`screenshot-options-clip-scale`,{type:`number`,description:`The screenshotOptions.clip.scale field`}).option(`screenshot-options-clip-width`,{type:`number`,description:`The screenshotOptions.clip.width field`}).option(`screenshot-options-clip-x`,{type:`number`,description:`The screenshotOptions.clip.x field`}).option(`screenshot-options-clip-y`,{type:`number`,description:`The screenshotOptions.clip.y field`}).option(`screenshot-options-from-surface`,{type:`boolean`,description:`The screenshotOptions.fromSurface field`}).option(`screenshot-options-full-page`,{type:`boolean`,description:`The screenshotOptions.fullPage field`}).option(`screenshot-options-omit-background`,{type:`boolean`,description:`The screenshotOptions.omitBackground field`}).option(`screenshot-options-optimize-for-speed`,{type:`boolean`,description:`The screenshotOptions.optimizeForSpeed field`}).option(`screenshot-options-quality`,{type:`number`,description:`The screenshotOptions.quality field`}).option(`scroll-page`,{type:`boolean`,description:`The scrollPage field`}).option(`selector`,{type:`string`,description:`The selector field`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1}).check(e=>{if([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`screenshot-options-capture-beyond-viewport`,`screenshot-options-clip-height`,`screenshot-options-clip-scale`,`screenshot-options-clip-width`,`screenshot-options-clip-x`,`screenshot-options-clip-y`,`screenshot-options-from-surface`,`screenshot-options-full-page`,`screenshot-options-omit-background`,`screenshot-options-optimize-for-speed`,`screenshot-options-quality`].some(t=>e[t]!==void 0)){let t=[`screenshot-options-clip-height`,`screenshot-options-clip-width`,`screenshot-options-clip-x`,`screenshot-options-clip-y`].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 --screenshotOptions-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const Ce={command:`screenshot`,describe:"Takes a screenshot of a webpage from provided URL or HTML. Control page loading with `gotoOptions` and `waitFor*` options. Customize screenshots with `viewport`, `fullPage`, `clip` and others.",builder:Se,handler:async r=>{let a={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action screenshot`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/screenshot`,pathParams:{},query:a,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],screenshotOptions:{captureBeyondViewport:r[`screenshot-options-capture-beyond-viewport`],clip:{height:r[`screenshot-options-clip-height`],scale:r[`screenshot-options-clip-scale`],width:r[`screenshot-options-clip-width`],x:r[`screenshot-options-clip-x`],y:r[`screenshot-options-clip-y`]},fromSurface:r[`screenshot-options-from-surface`],fullPage:r[`screenshot-options-full-page`],omitBackground:r[`screenshot-options-omit-background`],optimizeForSpeed:r[`screenshot-options-optimize-for-speed`],quality:r[`screenshot-options-quality`]},scrollPage:r[`scroll-page`],selector:d(r.selector,`selector`,`text`),setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}await i(r);let f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body),t=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),n=await s(`Creating`,async()=>h(`/accounts/${f}/browser-rendering/screenshot${t?`?`+t:``}`,{method:`POST`,local:r.local===!0,persistTo:r.persistTo,body:JSON.stringify(e),contentType:`application/json`}));m(r.text===!0?n.toString(`utf-8`):n);return}let p={};r[`action-timeout`]!==void 0&&l(p,[`actionTimeout`],r[`action-timeout`]),r[`allow-request-pattern`]!==void 0&&l(p,[`allowRequestPattern`],r[`allow-request-pattern`]),r[`authenticate-password`]!==void 0&&l(p,[`authenticate`,`password`],d(r[`authenticate-password`],`authenticate-password`,`text`)),r[`authenticate-username`]!==void 0&&l(p,[`authenticate`,`username`],d(r[`authenticate-username`],`authenticate-username`,`text`)),r[`best-attempt`]!==void 0&&l(p,[`bestAttempt`],r[`best-attempt`]),r[`emulate-media-type`]!==void 0&&l(p,[`emulateMediaType`],d(r[`emulate-media-type`],`emulate-media-type`,`text`)),r[`goto-options-referer`]!==void 0&&l(p,[`gotoOptions`,`referer`],d(r[`goto-options-referer`],`goto-options-referer`,`text`)),r[`goto-options-referrer-policy`]!==void 0&&l(p,[`gotoOptions`,`referrerPolicy`],d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`)),r[`goto-options-timeout`]!==void 0&&l(p,[`gotoOptions`,`timeout`],r[`goto-options-timeout`]),r.html!==void 0&&l(p,[`html`],d(r.html,`html`,`text`)),r[`reject-request-pattern`]!==void 0&&l(p,[`rejectRequestPattern`],r[`reject-request-pattern`]),r[`screenshot-options-capture-beyond-viewport`]!==void 0&&l(p,[`screenshotOptions`,`captureBeyondViewport`],r[`screenshot-options-capture-beyond-viewport`]),r[`screenshot-options-clip-height`]!==void 0&&l(p,[`screenshotOptions`,`clip`,`height`],r[`screenshot-options-clip-height`]),r[`screenshot-options-clip-scale`]!==void 0&&l(p,[`screenshotOptions`,`clip`,`scale`],r[`screenshot-options-clip-scale`]),r[`screenshot-options-clip-width`]!==void 0&&l(p,[`screenshotOptions`,`clip`,`width`],r[`screenshot-options-clip-width`]),r[`screenshot-options-clip-x`]!==void 0&&l(p,[`screenshotOptions`,`clip`,`x`],r[`screenshot-options-clip-x`]),r[`screenshot-options-clip-y`]!==void 0&&l(p,[`screenshotOptions`,`clip`,`y`],r[`screenshot-options-clip-y`]),r[`screenshot-options-from-surface`]!==void 0&&l(p,[`screenshotOptions`,`fromSurface`],r[`screenshot-options-from-surface`]),r[`screenshot-options-full-page`]!==void 0&&l(p,[`screenshotOptions`,`fullPage`],r[`screenshot-options-full-page`]),r[`screenshot-options-omit-background`]!==void 0&&l(p,[`screenshotOptions`,`omitBackground`],r[`screenshot-options-omit-background`]),r[`screenshot-options-optimize-for-speed`]!==void 0&&l(p,[`screenshotOptions`,`optimizeForSpeed`],r[`screenshot-options-optimize-for-speed`]),r[`screenshot-options-quality`]!==void 0&&l(p,[`screenshotOptions`,`quality`],r[`screenshot-options-quality`]),r[`scroll-page`]!==void 0&&l(p,[`scrollPage`],r[`scroll-page`]),r.selector!==void 0&&l(p,[`selector`],d(r.selector,`selector`,`text`)),r[`set-java-script-enabled`]!==void 0&&l(p,[`setJavaScriptEnabled`],r[`set-java-script-enabled`]),r.url!==void 0&&l(p,[`url`],d(r.url,`url`,`text`)),r[`user-agent`]!==void 0&&l(p,[`userAgent`],d(r[`user-agent`],`user-agent`,`text`)),r[`viewport-device-scale-factor`]!==void 0&&l(p,[`viewport`,`deviceScaleFactor`],r[`viewport-device-scale-factor`]),r[`viewport-has-touch`]!==void 0&&l(p,[`viewport`,`hasTouch`],r[`viewport-has-touch`]),r[`viewport-height`]!==void 0&&l(p,[`viewport`,`height`],r[`viewport-height`]),r[`viewport-is-landscape`]!==void 0&&l(p,[`viewport`,`isLandscape`],r[`viewport-is-landscape`]),r[`viewport-is-mobile`]!==void 0&&l(p,[`viewport`,`isMobile`],r[`viewport-is-mobile`]),r[`viewport-width`]!==void 0&&l(p,[`viewport`,`width`],r[`viewport-width`]),r[`wait-for-selector-hidden`]!==void 0&&l(p,[`waitForSelector`,`hidden`],r[`wait-for-selector-hidden`]),r[`wait-for-selector-selector`]!==void 0&&l(p,[`waitForSelector`,`selector`],d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`)),r[`wait-for-selector-timeout`]!==void 0&&l(p,[`waitForSelector`,`timeout`],r[`wait-for-selector-timeout`]),r[`wait-for-selector-visible`]!==void 0&&l(p,[`waitForSelector`,`visible`],r[`wait-for-selector-visible`]),r[`wait-for-timeout`]!==void 0&&l(p,[`waitForTimeout`],r[`wait-for-timeout`]);let g=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),_=await s(`Creating`,async()=>h(`/accounts/${f}/browser-rendering/screenshot${g?`?`+g:``}`,{method:`POST`,local:r.local===!0,persistTo:r.persistTo,body:Object.keys(p).length>0?p:void 0}));m(r.text===!0?_.toString(`utf-8`):_)}};function we(e){return e.option(`cache-ttl`,{type:`number`,description:`Cache TTL default is 5s. Set to 0 to disable.`}).option(`action-timeout`,{type:`number`,description:`The maximum duration allowed for the browser action to complete after the page has loaded (such as taking screenshots, extracting content, or generating PDFs). If this time limit is exceeded, the action stops and returns a timeout error.`}).option(`allow-request-pattern`,{type:`string`,array:!0,description:`Only allow requests that match the provided regex patterns, eg. '/^.*\\.(css)'. Reject rules are applied first.`}).option(`authenticate-password`,{type:`string`,description:`The authenticate.password field`}).option(`authenticate-username`,{type:`string`,description:`The authenticate.username field`}).option(`best-attempt`,{type:`boolean`,description:`Attempt to proceed when 'awaited' events fail or timeout.`}).option(`emulate-media-type`,{type:`string`,description:`The emulateMediaType field`}).option(`formats`,{type:`string`,array:!0,description:`The formats field`}).option(`goto-options-referer`,{type:`string`,description:`The gotoOptions.referer field`}).option(`goto-options-referrer-policy`,{type:`string`,description:`The gotoOptions.referrerPolicy field`}).option(`goto-options-timeout`,{type:`number`,description:`The gotoOptions.timeout field`,default:3e4}).option(`html`,{type:`string`,description:"Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or `url` must be set."}).option(`reject-request-pattern`,{type:`string`,array:!0,description:`Block undesired requests that match the provided regex patterns, eg. '/^.*\\.(css)'.`}).option(`screenshot-options-capture-beyond-viewport`,{type:`boolean`,description:`The screenshotOptions.captureBeyondViewport field`}).option(`screenshot-options-clip-height`,{type:`number`,description:`The screenshotOptions.clip.height field`}).option(`screenshot-options-clip-scale`,{type:`number`,description:`The screenshotOptions.clip.scale field`}).option(`screenshot-options-clip-width`,{type:`number`,description:`The screenshotOptions.clip.width field`}).option(`screenshot-options-clip-x`,{type:`number`,description:`The screenshotOptions.clip.x field`}).option(`screenshot-options-clip-y`,{type:`number`,description:`The screenshotOptions.clip.y field`}).option(`screenshot-options-from-surface`,{type:`boolean`,description:`The screenshotOptions.fromSurface field`}).option(`screenshot-options-full-page`,{type:`boolean`,description:`The screenshotOptions.fullPage field`}).option(`screenshot-options-omit-background`,{type:`boolean`,description:`The screenshotOptions.omitBackground field`}).option(`screenshot-options-optimize-for-speed`,{type:`boolean`,description:`The screenshotOptions.optimizeForSpeed field`}).option(`screenshot-options-quality`,{type:`number`,description:`The screenshotOptions.quality field`}).option(`set-java-script-enabled`,{type:`boolean`,description:`The setJavaScriptEnabled field`}).option(`url`,{type:`string`,description:"URL to navigate to, eg. `https://example.com`."}).option(`user-agent`,{type:`string`,description:`The userAgent field`,default:`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36`}).option(`viewport-device-scale-factor`,{type:`number`,description:`The viewport.deviceScaleFactor field`}).option(`viewport-has-touch`,{type:`boolean`,description:`The viewport.hasTouch field`}).option(`viewport-height`,{type:`number`,description:`The viewport.height field`}).option(`viewport-is-landscape`,{type:`boolean`,description:`The viewport.isLandscape field`}).option(`viewport-is-mobile`,{type:`boolean`,description:`The viewport.isMobile field`}).option(`viewport-width`,{type:`number`,description:`The viewport.width field`}).option(`wait-for-selector-hidden`,{type:`boolean`,description:`The waitForSelector.hidden field`}).option(`wait-for-selector-selector`,{type:`string`,description:`The waitForSelector.selector field`}).option(`wait-for-selector-timeout`,{type:`number`,description:`The waitForSelector.timeout field`}).option(`wait-for-selector-visible`,{type:`boolean`,description:`The waitForSelector.visible field`}).option(`wait-for-timeout`,{type:`number`,description:`Waits for a specified timeout before continuing.`}).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([`authenticate-password`,`authenticate-username`].some(t=>e[t]!==void 0)){let t=[`authenticate-password`,`authenticate-username`].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 --authenticate-* flag is set`)}return!0}).check(e=>{if([`screenshot-options-capture-beyond-viewport`,`screenshot-options-clip-height`,`screenshot-options-clip-scale`,`screenshot-options-clip-width`,`screenshot-options-clip-x`,`screenshot-options-clip-y`,`screenshot-options-from-surface`,`screenshot-options-full-page`,`screenshot-options-omit-background`,`screenshot-options-optimize-for-speed`,`screenshot-options-quality`].some(t=>e[t]!==void 0)){let t=[`screenshot-options-clip-height`,`screenshot-options-clip-width`,`screenshot-options-clip-x`,`screenshot-options-clip-y`].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 --screenshotOptions-* flag is set`)}return!0}).check(e=>{if([`viewport-device-scale-factor`,`viewport-has-touch`,`viewport-height`,`viewport-is-landscape`,`viewport-is-mobile`,`viewport-width`].some(t=>e[t]!==void 0)){let t=[`viewport-height`,`viewport-width`].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 --viewport-* flag is set`)}return!0}).check(e=>{if([`wait-for-selector-hidden`,`wait-for-selector-selector`,`wait-for-selector-timeout`,`wait-for-selector-visible`].some(t=>e[t]!==void 0)){let t=[`wait-for-selector-selector`].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 --waitForSelector-* flag is set`)}return!0})}const Te={command:`snapshot`,describe:"Returns the page's HTML content and screenshot. Control page loading with `gotoOptions` and `waitFor*` options. Customize screenshots with `viewport`, `fullPage`, `clip` and others.",builder:we,handler:async r=>{let l={cacheTTL:r[`cache-ttl`]};if(r.dryRun){o({command:`cf browser-run quick-action snapshot`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/browser-rendering/snapshot`,pathParams:{},query:l,bodyKind:`json`,body:r.body===void 0?u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),formats:r.formats,gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],screenshotOptions:{captureBeyondViewport:r[`screenshot-options-capture-beyond-viewport`],clip:{height:r[`screenshot-options-clip-height`],scale:r[`screenshot-options-clip-scale`],width:r[`screenshot-options-clip-width`],x:r[`screenshot-options-clip-x`],y:r[`screenshot-options-clip-y`]},fromSurface:r[`screenshot-options-from-surface`],fullPage:r[`screenshot-options-full-page`],omitBackground:r[`screenshot-options-omit-background`],optimizeForSpeed:r[`screenshot-options-optimize-for-speed`],quality:r[`screenshot-options-quality`]},setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.snapshot({...e,account_id:p,...l})),{successLabel:`Created`});return}let m=u({actionTimeout:r[`action-timeout`],allowRequestPattern:r[`allow-request-pattern`],authenticate:{password:d(r[`authenticate-password`],`authenticate-password`,`text`),username:d(r[`authenticate-username`],`authenticate-username`,`text`)},bestAttempt:r[`best-attempt`],emulateMediaType:d(r[`emulate-media-type`],`emulate-media-type`,`text`),formats:r.formats,gotoOptions:{referer:d(r[`goto-options-referer`],`goto-options-referer`,`text`),referrerPolicy:d(r[`goto-options-referrer-policy`],`goto-options-referrer-policy`,`text`),timeout:r[`goto-options-timeout`]},html:d(r.html,`html`,`text`),rejectRequestPattern:r[`reject-request-pattern`],screenshotOptions:{captureBeyondViewport:r[`screenshot-options-capture-beyond-viewport`],clip:{height:r[`screenshot-options-clip-height`],scale:r[`screenshot-options-clip-scale`],width:r[`screenshot-options-clip-width`],x:r[`screenshot-options-clip-x`],y:r[`screenshot-options-clip-y`]},fromSurface:r[`screenshot-options-from-surface`],fullPage:r[`screenshot-options-full-page`],omitBackground:r[`screenshot-options-omit-background`],optimizeForSpeed:r[`screenshot-options-optimize-for-speed`],quality:r[`screenshot-options-quality`]},setJavaScriptEnabled:r[`set-java-script-enabled`],url:d(r.url,`url`,`text`),userAgent:d(r[`user-agent`],`user-agent`,`text`),viewport:{deviceScaleFactor:r[`viewport-device-scale-factor`],hasTouch:r[`viewport-has-touch`],height:r[`viewport-height`],isLandscape:r[`viewport-is-landscape`],isMobile:r[`viewport-is-mobile`],width:r[`viewport-width`]},waitForSelector:{hidden:r[`wait-for-selector-hidden`],selector:d(r[`wait-for-selector-selector`],`wait-for-selector-selector`,`text`),timeout:r[`wait-for-selector-timeout`],visible:r[`wait-for-selector-visible`]},waitForTimeout:r[`wait-for-timeout`]});new URLSearchParams(Object.entries(l).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),a(await s(`Creating`,async()=>f.browserRun.quickAction.snapshot({...m,account_id:p,...l})),{successLabel:`Created`})}},Ee={command:`quick-action`,describe:`Operations for quick-action`,builder:e=>e.command(ue).command(fe).command(me).command(ge).command(ve).command(be).command(xe).command(Ce).command(Te).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},De={command:`browser-run`,describe:`browser-run`,builder:e=>e.command(x).command(ce).command(Ee).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{De as default};