cf 0.10.0 → 0.12.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.
- package/README.md +15 -5
- package/dist/_meta/agent-context.json +13 -5
- package/dist/_meta/commands.json +2393 -262
- package/dist/_meta/hand-written-commands.json +960 -0
- package/dist/_meta/schemas.json +1882 -155
- package/dist/{abuse-reports-CGF4zcKf.mjs → abuse-reports-D40QFl-y.mjs} +2 -2
- package/dist/{access-lhLJo1v2.mjs → access-Dl2IU1ID.mjs} +1 -1
- package/dist/account-CPbieCZ4.mjs +2 -0
- package/dist/{account-tags-B88TotoH.mjs → account-tags-skfP7H8k.mjs} +4 -4
- package/dist/{accounts-BSIAT_iP.mjs → accounts-CSgR6909.mjs} +12 -12
- package/dist/{acm-VULm1djv.mjs → acm-CVvCTaNk.mjs} +1 -1
- package/dist/{addressing-BHPBIkRY.mjs → addressing-Uq5hEDDP.mjs} +11 -11
- package/dist/{agent-context-KBy48G1b.mjs → agent-context-BvuDdaJb.mjs} +1 -1
- package/dist/agent-memory-BrHMIU0E.mjs +6 -0
- package/dist/ai-audit-BoZuL84i.mjs +2 -0
- package/dist/ai-gateway-DE50Jem1.mjs +13 -0
- package/dist/ai-search-Fx7NHCHB.mjs +7 -0
- package/dist/ai-security-DyLbY9kv.mjs +4 -0
- package/dist/ai-v2fP1r0s.mjs +5 -0
- package/dist/{alerting-Bl8OqViR.mjs → alerting-5mFZjTcD.mjs} +1 -1
- package/dist/analytics-BygTfozw.mjs +3 -0
- package/dist/analytics_engine-4L-q362P.mjs +2 -0
- package/dist/{api-security-4FVrD4n8.mjs → api-security-DjFsRYWx.mjs} +20 -20
- package/dist/argo-TzXPN7tz.mjs +2 -0
- package/dist/args-CDgWUP4J.mjs +2 -0
- package/dist/{artifacts-CVDGnr2V.mjs → artifacts-dEw2UUBV.mjs} +1 -1
- package/dist/audit-logs-CqY7zzwv.mjs +2 -0
- package/dist/auth-CPLdkOC7.mjs +5 -0
- package/dist/{auth-MQEamPN9.mjs → auth-DY_Y2bXC.mjs} +3 -3
- package/dist/billing-DHQuRT8S.mjs +3 -0
- package/dist/body-parser-BGVbwPeM.mjs +2 -0
- package/dist/bot-management-CfqG79hF.mjs +5 -0
- package/dist/botnet-feed-BOeNnDoH.mjs +3 -0
- package/dist/brand-protection-DYttrKIM.mjs +3 -0
- package/dist/{browser-extension-BtpCbh-2.mjs → browser-extension-CTUCdgfn.mjs} +1 -1
- package/dist/browser-run-373D4e1i.mjs +4 -0
- package/dist/build-D0ir_S70.mjs +2 -0
- package/dist/{cache-VyWK1SjY.mjs → cache-DJXBmc3w.mjs} +1 -1
- package/dist/{calls-BxoRYxs4.mjs → calls-COO0Eoz1.mjs} +1 -1
- package/dist/certificate-authorities-DbHLmKbd.mjs +2 -0
- package/dist/cf-yPz_IqW6.mjs +18 -0
- package/dist/chunk-LQW53VED-9MACsvSG.mjs +119 -0
- package/dist/chunk-QBZBEHZB-yeyhVUeD.mjs +2 -0
- package/dist/{client-certificates-DDUv8K0a.mjs → client-certificates-RBRqYP3f.mjs} +1 -1
- package/dist/{client-side-security-D4ysjwWT.mjs → client-side-security-HOmA37et.mjs} +1 -1
- package/dist/cloud-connector-C7hw1c1f.mjs +2 -0
- package/dist/cloudforce-one-DLOj76q4.mjs +36 -0
- package/dist/command-BV87D4tR.mjs +2 -0
- package/dist/{completions-BHE4pRjB.mjs → completions-BnD46cXe.mjs} +3 -3
- package/dist/config.d.mts +1451 -1366
- package/dist/config.mjs +1 -1
- package/dist/connector-interrupts-DY-z_LrH.mjs +2 -0
- package/dist/connector-telemetry-events-DCXmcAc9.mjs +2 -0
- package/dist/connector-telemetry-snapshots-D8GNuzx3.mjs +2 -0
- package/dist/{connectors-BqxYMMtQ.mjs → connectors-fEOn-J_i.mjs} +1 -1
- package/dist/containers-BDBsEs7-.mjs +58 -0
- package/dist/{content-scan-Dgd7A8KF.mjs → content-scan-Cmj9--XY.mjs} +1 -1
- package/dist/{csamScanner-DYL37wLc.mjs → csamScanner-BRXyMCyH.mjs} +1 -1
- package/dist/{ct-alerting-CkhSbfAs.mjs → ct-alerting-9AvYys-f.mjs} +1 -1
- package/dist/custom-certificates-C5qrlyhb.mjs +5 -0
- package/dist/custom-csrs-BgOnTbBW.mjs +3 -0
- package/dist/{custom-hostnames-q_nsnlye.mjs → custom-hostnames-CbQD9aYo.mjs} +1 -1
- package/dist/custom-nameservers-2ZajBkRC.mjs +3 -0
- package/dist/custom-pages-Buki_Cb8.mjs +3 -0
- package/dist/d1-n2in0cSF.mjs +20 -0
- package/dist/data-security-DzOQMkv3.mjs +7 -0
- package/dist/dcv-delegation-BTP9LCOm.mjs +2 -0
- package/dist/delegate.mjs +1 -1
- package/dist/deploy-BUSz35vq.mjs +2 -0
- package/dist/deploy-input-BvD9aRP1.mjs +2 -0
- package/dist/dev-DY_DquQx.mjs +4 -0
- package/dist/{diagnostics-BTH-8nJH.mjs → diagnostics-BvHV8kQb.mjs} +1 -1
- package/dist/{directory-BlH6N6Qy.mjs → directory-BeiSyg8A.mjs} +1 -1
- package/dist/{dispatch-namespaces-BCjH1JzB.mjs → dispatch-namespaces-Dp8Jjpwy.mjs} +1 -1
- package/dist/dist-BBx1io2f.mjs +2 -0
- package/dist/dist-Cb9TJ2VV.mjs +9 -0
- package/dist/dist-DV7LR38l.mjs +387 -0
- package/dist/dist-DvizctjW.mjs +48 -0
- package/dist/{dls-BF5iN78p.mjs → dls-BwoU29mS.mjs} +1 -1
- package/dist/{dns-CeCTNqRk.mjs → dns-DISAfuzj.mjs} +13 -13
- package/dist/{dns-firewall-B54MaLGm.mjs → dns-firewall-wBcCx_ua.mjs} +1 -1
- package/dist/{dot-prop-6SRZBKHT-wIVDg_fl.mjs → dot-prop-6SRZBKHT-wwGHcwAa.mjs} +1 -1
- package/dist/dry-run-ILZRVpnp.mjs +2 -0
- package/dist/durable-objects-DhDL3San.mjs +2 -0
- package/dist/email-auth-BROqK6-C.mjs +2 -0
- package/dist/email-routing-BZXHDAOO.mjs +6 -0
- package/dist/email-security-DVumybrk.mjs +18 -0
- package/dist/email-sending-CDQ3_wyz.mjs +7 -0
- package/dist/fieldExtractors-Cy1rxHEF.mjs +3 -0
- package/dist/{firewall-CBPGJ43p.mjs → firewall-C0g5X7Zd.mjs} +9 -9
- package/dist/flagship-fFBiZUz-.mjs +4 -0
- package/dist/{fraud-BIhS8pLf.mjs → fraud-CjIETOaM.mjs} +1 -1
- package/dist/google-tag-gateway-hPa5IHUx.mjs +2 -0
- package/dist/{healthchecks-FiXIk-KP.mjs → healthchecks-CoycpTf9.mjs} +1 -1
- package/dist/{hostnames-Bx0mykMR.mjs → hostnames-x_Yezxpr.mjs} +1 -1
- package/dist/{hyperdrive-C8qCabBF.mjs → hyperdrive-BlfrTwSq.mjs} +1 -1
- package/dist/iam-Bk7K_PPO.mjs +6 -0
- package/dist/images-BAEFb9q1.mjs +8 -0
- package/dist/index.mjs +1 -1
- package/dist/{intel-B-9Z_sJs.mjs → intel-DDkyJVaP.mjs} +1 -1
- package/dist/interactive-CRnq-B5I.mjs +11 -0
- package/dist/{interactive-DtsCYfrK.mjs → interactive-cytQzL94.mjs} +1 -1
- package/dist/ips-DU0ti0i0.mjs +2 -0
- package/dist/{keyless-certificates-THHvoXX3.mjs → keyless-certificates-E1P9jBTb.mjs} +1 -1
- package/dist/keys-DqldTZqH.mjs +2 -0
- package/dist/{kv-BFDUCnft.mjs → kv-CcfCfnwq.mjs} +1 -1
- package/dist/{leaked-credential-checks-DUlUCOoJ.mjs → leaked-credential-checks-CqmKaEbd.mjs} +1 -1
- package/dist/load-balancers-Dg4pDad1.mjs +6 -0
- package/dist/{local-D-aVNu6A.mjs → local-DGiIS1uM.mjs} +1 -1
- package/dist/local-runtime--IQr44qq.mjs +2 -0
- package/dist/logexplorer-Bu2mG5rh.mjs +17 -0
- package/dist/logo-matches-CWUzxY7G.mjs +2 -0
- package/dist/logos-BTfdkDPi.mjs +3 -0
- package/dist/{logpush-BK34mMQs.mjs → logpush-BZyay3h2.mjs} +1 -1
- package/dist/{logs-CLAqX9h2.mjs → logs-BqF7jjQO.mjs} +1 -1
- package/dist/{magic-cloud-networking-h_ozrC5S.mjs → magic-cloud-networking-Dhd8pTyM.mjs} +4 -4
- package/dist/magic-network-monitoring-D0FnkjuN.mjs +4 -0
- package/dist/magic-transit-B5skt0G7.mjs +111 -0
- package/dist/managed-transforms-B6X_crcJ.mjs +3 -0
- package/dist/matches-DeYaB4I0.mjs +2 -0
- package/dist/mcp-ChjBiMx2.mjs +4 -0
- package/dist/mesh-DRVAFLBX.mjs +4 -0
- package/dist/{moq-qmuVPAO0.mjs → moq-DE7VDEFS.mjs} +1 -1
- package/dist/mtls-certificates-Cbc3uAkN.mjs +3 -0
- package/dist/{network-D74cSy3t.mjs → network-CDPZNFbn.mjs} +1 -1
- package/dist/{network-interconnects-BJ0Nc48J.mjs → network-interconnects-CMRs_chR.mjs} +1 -1
- package/dist/oauth-DAa7SwkM.mjs +14 -0
- package/dist/{oauth-clients-Br-smLxQ.mjs → oauth-clients-DAI_gcuL.mjs} +1 -1
- package/dist/oauth-scopes-BE6xF4_h.mjs +2 -0
- package/dist/observability-DnyI8rPJ.mjs +4 -0
- package/dist/{open-PBXRGS4R-R-qesf18.mjs → open-PBXRGS4R-DIiYQyU9.mjs} +3 -3
- package/dist/{organization-NX7yCZrq.mjs → organization-yh0mSUdI.mjs} +6 -6
- package/dist/organizations-B3aU-RCG.mjs +2 -0
- package/dist/origin-ca-certificates-BaNWfVqf.mjs +3 -0
- package/dist/origin-post-quantum-encryption-CIUtQgyv.mjs +2 -0
- package/dist/origin-tls-client-auth-CvEpbX2Q.mjs +4 -0
- package/dist/{output-DrpYYfnB.mjs → output-BqDR9h74.mjs} +1 -1
- package/dist/page-rules-CzbyXbt6.mjs +27 -0
- package/dist/pages-CX8yefTI.mjs +14 -0
- package/dist/pay-per-crawl-v4vBOMWD.mjs +4 -0
- package/dist/pipelines-BZ1KGupx.mjs +6 -0
- package/dist/precursor-D42A9ay5.mjs +4 -0
- package/dist/progress-jYW64HY7.mjs +2 -0
- package/dist/project-settings-BN7tL0c7.mjs +3 -0
- package/dist/prompt-CyATfGUu.mjs +3 -0
- package/dist/{public-BwQqexwo-CNW_dPly.mjs → public-BMg6-Hxh-DgIH5obr.mjs} +1 -1
- package/dist/queries-xvETUjUE.mjs +3 -0
- package/dist/queues-CpqHDtxF.mjs +6 -0
- package/dist/{r2-data-catalog-Du7hN9jA.mjs → r2-data-catalog-DgKmlTKR.mjs} +1 -1
- package/dist/r2-jhmLvD1z.mjs +24 -0
- package/dist/radar-C2J16wpX.mjs +2 -0
- package/dist/{rate-limits-yBF3qoYD.mjs → rate-limits-CoH9Xma0.mjs} +1 -1
- package/dist/raw-fetch-CNKIypJ7.mjs +2 -0
- package/dist/{realtimekit-CIP7lP-a.mjs → realtimekit-CDs0Z5WW.mjs} +1 -1
- package/dist/registrar-BI5ewTAk.mjs +23 -0
- package/dist/{registrar-sandbox-DiXg8p_1.mjs → registrar-sandbox-al1znWMc.mjs} +4 -4
- package/dist/{registry-Bck_zFkz.mjs → registry-5-I2XLwF.mjs} +1 -1
- package/dist/reporting-CxsdHAH3.mjs +2 -0
- package/dist/request-tracers-DJJCncft.mjs +2 -0
- package/dist/{resource-sharing-D1pSDvtf.mjs → resource-sharing-qQGn8AEn.mjs} +1 -1
- package/dist/resource-tagging-aTtpX5e5.mjs +2 -0
- package/dist/rules-PpsDU89Q.mjs +4 -0
- package/dist/rulesets-DP12Aqik.mjs +5 -0
- package/dist/rum-DxvpzJYc.mjs +4 -0
- package/dist/{schema-B34Q9tLF.mjs → schema-DlLbiOJj.mjs} +1 -1
- package/dist/schema-flags-CTfQVGCs.mjs +5 -0
- package/dist/schemas-BFCBlp_W.mjs +65 -0
- package/dist/{scim-CcSyfKCH.mjs → scim-DJ4AVU20.mjs} +1 -1
- package/dist/{secrets-store-DFmvtphu.mjs → secrets-store-D6KDNo_s.mjs} +1 -1
- package/dist/security-center-008FMs_z.mjs +2 -0
- package/dist/{security-txt-DqnFpjMI.mjs → security-txt-CqcfrhlN.mjs} +1 -1
- package/dist/{share-BuwYUzOL.mjs → share-D5fzsVAJ.mjs} +4 -4
- package/dist/{deploy-input-CrvuoDGJ.mjs → shared-DlKGNPiT.mjs} +97 -99
- package/dist/smart-shield-DpFscIk8.mjs +4 -0
- package/dist/snippets-CCKgI2ZX.mjs +4 -0
- package/dist/spawn-C3_tJ3RB.mjs +526 -0
- package/dist/{spectrum-b7N1ZRAm.mjs → spectrum-LmdqY3ki.mjs} +1 -1
- package/dist/{speed-cw31yFva.mjs → speed-CEK36h3A.mjs} +1 -1
- package/dist/src-CEb2fgtT.mjs +108 -0
- package/dist/{ssl-CsEhRVTO.mjs → ssl-ChHUyaQm.mjs} +1 -1
- package/dist/startup-profile-Dpxg-MjV.mjs +17 -0
- package/dist/{state-Bb5Cbc_L.mjs → state-DeX23Kmg.mjs} +1 -1
- package/dist/{stream-DFOao6Gu.mjs → stream-DfUSELMX.mjs} +13 -13
- package/dist/submit-DF2G5CIz.mjs +2 -0
- package/dist/tags-nFJJHlLJ.mjs +2 -0
- package/dist/tenant-CRLw1oRU.mjs +2 -0
- package/dist/tenant-custom-nameservers-BvBQRDcs.mjs +3 -0
- package/dist/{tools-BHfBOZOU.mjs → tools-j8UGEtP1.mjs} +1 -1
- package/dist/{tunnel-DkMiNtVY.mjs → tunnel-CMQeBgmb.mjs} +1 -1
- package/dist/tunnels-iVA3MrdS.mjs +2 -0
- package/dist/turnstile-DQHP6-_b.mjs +23 -0
- package/dist/{ui-DE8CNn6c.mjs → ui-DJFcf61J.mjs} +1 -1
- package/dist/url-info-BVgdb_pf.mjs +2 -0
- package/dist/{url-normalization-ClfFiruK.mjs → url-normalization-BTcxLxIQ.mjs} +1 -1
- package/dist/url-scanner-DwuDZLPk.mjs +2 -0
- package/dist/user-I_MbB_KX.mjs +12 -0
- package/dist/values-S-Q7-5o8.mjs +2 -0
- package/dist/{vectorize-CVKu7lEt.mjs → vectorize-CNZdF_0A.mjs} +1 -1
- package/dist/waiting-rooms-Bo-OSsxu.mjs +11 -0
- package/dist/{web-assets-C2s9kzWf.mjs → web-assets-tlFzKdNL.mjs} +1 -1
- package/dist/web3-CdbfoZ2x.mjs +4 -0
- package/dist/workers-DQ9Q7czn.mjs +28 -0
- package/dist/{workers-builds-B55-oXOa.mjs → workers-builds-CGRhYx-x.mjs} +1 -1
- package/dist/{workflows-B-kGHxFu.mjs → workflows-BhEy-crm.mjs} +1 -1
- package/dist/zaraz-DbKvA_8C.mjs +2 -0
- package/dist/{zero-trust-DV3sIOvu.mjs → zero-trust-DrHCPVOc.mjs} +67 -66
- package/dist/zone-D2zrbJI2.mjs +2 -0
- package/dist/zones-DrpxQ_-A.mjs +21 -0
- package/package.json +12 -8
- package/dist/account-CYRm3yoN.mjs +0 -2
- package/dist/agent-memory-DDv_Gxr7.mjs +0 -6
- package/dist/ai-audit-BWZGvbca.mjs +0 -2
- package/dist/ai-gateway-jeB-sAgP.mjs +0 -13
- package/dist/ai-search-BmdskMjR.mjs +0 -7
- package/dist/ai-security-CsmfcaUx.mjs +0 -4
- package/dist/ai-viHB1tgI.mjs +0 -5
- package/dist/analytics-vOxw8Hy0.mjs +0 -3
- package/dist/analytics_engine-DO4-C0wD.mjs +0 -2
- package/dist/argo-CQfCgazW.mjs +0 -2
- package/dist/args-DlUhyGU0.mjs +0 -2
- package/dist/audit-logs-CzpwvQ6A.mjs +0 -2
- package/dist/auth-D0xZxAEa.mjs +0 -5
- package/dist/billing-aJgapeRm.mjs +0 -3
- package/dist/body-parser-C-c9gfH1.mjs +0 -2
- package/dist/bot-management-Y2q5d-pi.mjs +0 -5
- package/dist/botnet-feed-DANJqfmE.mjs +0 -3
- package/dist/brand-protection-CjpZWBjp.mjs +0 -3
- package/dist/browser-run-BFn9h2Tz.mjs +0 -4
- package/dist/build-DcflwvqN.mjs +0 -2
- package/dist/certificate-authorities-D7OAFxF_.mjs +0 -2
- package/dist/cf-C7DU4819.mjs +0 -18
- package/dist/chunk-LQW53VED-DLrXV-hE.mjs +0 -499
- package/dist/cloud-connector-Bhec6z2P.mjs +0 -2
- package/dist/cloudforce-one-J_hn9ss9.mjs +0 -36
- package/dist/connector-interrupts-Dycx8zFx.mjs +0 -2
- package/dist/connector-telemetry-events-BmxOSNtN.mjs +0 -2
- package/dist/connector-telemetry-snapshots-CdcqfKnH.mjs +0 -2
- package/dist/containers-CKW081JA.mjs +0 -54
- package/dist/custom-certificates-BzAOnEoT.mjs +0 -5
- package/dist/custom-csrs-CgzG3pd3.mjs +0 -3
- package/dist/custom-nameservers-BUBmfhUe.mjs +0 -3
- package/dist/custom-pages-M7jA2Hit.mjs +0 -3
- package/dist/d1-BFvMd6-S.mjs +0 -20
- package/dist/data-security-Bji4Or_j.mjs +0 -7
- package/dist/dcv-delegation-BuoRQ1Yh.mjs +0 -2
- package/dist/deploy-CZ7bgNDu.mjs +0 -2
- package/dist/dev-V10MG-Bg.mjs +0 -4
- package/dist/dist-CgrMkXFx.mjs +0 -72
- package/dist/durable-objects-D8FQORrL.mjs +0 -2
- package/dist/email-auth-DJK0Eb30.mjs +0 -2
- package/dist/email-routing-NpmiKIrl.mjs +0 -6
- package/dist/email-security-BLZ7WZ9Z.mjs +0 -18
- package/dist/email-sending-dn-353Nx.mjs +0 -7
- package/dist/fieldExtractors-ahysj57J.mjs +0 -3
- package/dist/flagship-BusjRNIb.mjs +0 -4
- package/dist/google-tag-gateway-TZZ3F1tV.mjs +0 -2
- package/dist/iam-Cj63Kjc6.mjs +0 -6
- package/dist/images-CBWXCDhy.mjs +0 -8
- package/dist/ips-qs9eGJnI.mjs +0 -2
- package/dist/keys-D7N0j4-x.mjs +0 -2
- package/dist/load-balancers-D2zbQ8fT.mjs +0 -6
- package/dist/local-runtime-Dh3keC5v.mjs +0 -2
- package/dist/logexplorer-CUsfZ_bS.mjs +0 -13
- package/dist/logo-matches-CJcthPHf.mjs +0 -2
- package/dist/logos-BS65zN8q.mjs +0 -3
- package/dist/magic-network-monitoring-C7tAPNKP.mjs +0 -4
- package/dist/magic-transit-BtsFePMx.mjs +0 -111
- package/dist/managed-transforms-Cm_KVCMB.mjs +0 -3
- package/dist/matches-InA1hwII.mjs +0 -2
- package/dist/mcp-mJ7bekNJ.mjs +0 -4
- package/dist/mesh-BK4S1Ezy.mjs +0 -4
- package/dist/mtls-certificates-CU4OAAXY.mjs +0 -3
- package/dist/oauth-B0ETkNcX.mjs +0 -15
- package/dist/oauth-scopes-D5bF11ju.mjs +0 -2
- package/dist/observability-BWE0Gg3V.mjs +0 -4
- package/dist/organizations-DLhiRt8g.mjs +0 -2
- package/dist/origin-ca-certificates-Ff4McZRQ.mjs +0 -3
- package/dist/origin-post-quantum-encryption-UuTr4_SW.mjs +0 -2
- package/dist/origin-tls-client-auth-DOJ1zlH3.mjs +0 -4
- package/dist/page-rules-BSz1gO-_.mjs +0 -18
- package/dist/pages-DVDogxPs.mjs +0 -14
- package/dist/pay-per-crawl-BrLXK7gT.mjs +0 -4
- package/dist/pipelines-BszRk4sM.mjs +0 -6
- package/dist/precursor-BPNjQr76.mjs +0 -4
- package/dist/progress-CsHIt3Tp.mjs +0 -2
- package/dist/prompt-DdegNPpg.mjs +0 -3
- package/dist/queries-JL1H1Biz.mjs +0 -3
- package/dist/queues-DpkYdRUE.mjs +0 -6
- package/dist/r2-CKozthw_.mjs +0 -24
- package/dist/radar-C-92vggG.mjs +0 -2
- package/dist/raw-fetch-CteyTOM2.mjs +0 -2
- package/dist/registrar-DKKN0M29.mjs +0 -21
- package/dist/reporting-fg_GKXe1.mjs +0 -2
- package/dist/request-tracers-CkMya96z.mjs +0 -2
- package/dist/resource-tagging-z48JGHCq.mjs +0 -2
- package/dist/rules-BTmNjDN-.mjs +0 -4
- package/dist/rulesets-CsoSM-17.mjs +0 -5
- package/dist/rum-DB4iO2q5.mjs +0 -4
- package/dist/schema-flags-iGoOriJt.mjs +0 -5
- package/dist/security-center-DFKeHq5c.mjs +0 -2
- package/dist/session-D6KHthHf.mjs +0 -2
- package/dist/shared-VppSAQf4.mjs +0 -2
- package/dist/smart-shield-D6X8L7p8.mjs +0 -4
- package/dist/snippets-DIpc9pb_.mjs +0 -4
- package/dist/spawn-O1RS01vr.mjs +0 -523
- package/dist/src-D_HETJNy.mjs +0 -108
- package/dist/submit--xTzyNPy.mjs +0 -2
- package/dist/tags-efICDkah.mjs +0 -2
- package/dist/tenant-CerHuToJ.mjs +0 -2
- package/dist/tenant-custom-nameservers-C4otMBm2.mjs +0 -3
- package/dist/triggers-BEsiiKAf.mjs +0 -2
- package/dist/tunnels-D0J8lJoI.mjs +0 -2
- package/dist/turnstile-CFmtY5bn.mjs +0 -23
- package/dist/url-info-DBCeRWwb.mjs +0 -2
- package/dist/url-scanner-CNyvg65L.mjs +0 -2
- package/dist/user-bifVEQq5.mjs +0 -12
- package/dist/values-OxkdP1tV.mjs +0 -2
- package/dist/versions-BVL-Ludh.mjs +0 -2
- package/dist/waiting-rooms-CmRAl51T.mjs +0 -11
- package/dist/web3-y_cY91V_.mjs +0 -4
- package/dist/workers-jDcq14GH.mjs +0 -24
- package/dist/zaraz-27zwjLvv.mjs +0 -2
- package/dist/zone-BJix2KQ9.mjs +0 -2
- package/dist/zones-Bkj5i92c.mjs +0 -21
- /package/dist/{alerts-CRmjqOZi.mjs → alerts-9PR5sQ_z.mjs} +0 -0
- /package/dist/{autorag-BD7cu5NU.mjs → autorag-Bevo1kIH.mjs} +0 -0
- /package/dist/{brands-BhALBkX2.mjs → brands-C4M04Man.mjs} +0 -0
- /package/dist/{chunk-6EUZQHAF-B7bSMYLe.mjs → chunk-6EUZQHAF-C3w62dek.mjs} +0 -0
- /package/dist/{clear-BgF8No7D.mjs → clear-DS0eRXOc.mjs} +0 -0
- /package/dist/{cli-types-BsTty22w.mjs → cli-types-C3nVfpSG.mjs} +0 -0
- /package/dist/{connector-telemetry-events-latest-BY2556uL.mjs → connector-telemetry-events-latest-CKKG6_pD.mjs} +0 -0
- /package/dist/{connector-telemetry-snapshots-latest-BHYdxUEF.mjs → connector-telemetry-snapshots-latest-Bv5OddJr.mjs} +0 -0
- /package/dist/{domain-info-C50W5GhA.mjs → domain-info-BUiaGCEq.mjs} +0 -0
- /package/dist/{health-BFNZqiAm.mjs → health-vX6Ml2Na.mjs} +0 -0
- /package/dist/{input-validation-Bav2M9F-.mjs → input-validation-1esLElok.mjs} +0 -0
- /package/dist/{internal-BTeSewwB.mjs → internal-ROz7anul.mjs} +0 -0
- /package/dist/{live-Dkiyu30_.mjs → live-CSxvigCS.mjs} +0 -0
- /package/dist/{metadata-8AkOftcB.mjs → metadata-DEqBUaSv.mjs} +0 -0
- /package/dist/{rate-limit-analytics-Dz-Wv1T0.mjs → rate-limit-analytics-CgHgKjmV.mjs} +0 -0
- /package/dist/{ready-TKOkKeRg.mjs → ready-6G9zVGPJ.mjs} +0 -0
- /package/dist/{recent-submissions-3Asm6eIi.mjs → recent-submissions-B3Smh-QM.mjs} +0 -0
- /package/dist/{refute-BVz9nMyd.mjs → refute-DjkmLSNe.mjs} +0 -0
- /package/dist/{resolve-CeBbH6Pq.mjs → resolve-DEvdeprv.mjs} +0 -0
- /package/dist/{scan-logo-ZteA-PUV.mjs → scan-logo-545qLcGs.mjs} +0 -0
- /package/dist/{scan-page-DWDSyzQ7.mjs → scan-page-DRQiVufl.mjs} +0 -0
- /package/dist/{search-DGNc37HK.mjs → search-CXbqFoqe.mjs} +0 -0
- /package/dist/{signed-url-B5Qpn2mn.mjs → signed-url-rU_nvgFA.mjs} +0 -0
- /package/dist/{submission-info-FjUolE6A.mjs → submission-info-D6PgXNQP.mjs} +0 -0
- /package/dist/{theme-CeVf-5qG.mjs → theme-CrIBazAF.mjs} +0 -0
- /package/dist/{total-queries-NHJj1HGq.mjs → total-queries-XkFyu8H5.mjs} +0 -0
- /package/dist/{tracked-domains-CniKVHIp.mjs → tracked-domains-CmcRXHj_.mjs} +0 -0
- /package/dist/{verify-DS1PWAJe.mjs → verify-CM1NakP0.mjs} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as e}from"./src-CEb2fgtT.mjs";import{a as t,o as n}from"./theme-CrIBazAF.mjs";import"./ui-DJFcf61J.mjs";import{t as r}from"./local-DGiIS1uM.mjs";import{f as i,g as a,h as o,m as s}from"./oauth-DAa7SwkM.mjs";import{c}from"./interactive-cytQzL94.mjs";import{a as l,i as ee,r as u}from"./auth-DY_Y2bXC.mjs";import{t as d}from"./output-BqDR9h74.mjs";import{t as f}from"./dry-run-ILZRVpnp.mjs";import{t as p}from"./progress-jYW64HY7.mjs";import{i as m,n as h,r as g,t as _}from"./body-parser-BGVbwPeM.mjs";import{n as v,t as y}from"./input-validation-1esLElok.mjs";import{a as b,i as x,n as S}from"./prompt-CyATfGUu.mjs";import{t as C}from"./cli-types-C3nVfpSG.mjs";import{n as te,t as w}from"./raw-fetch-CNKIypJ7.mjs";import{E as T}from"./dist-DvizctjW.mjs";import{r as E}from"./dist-BBx1io2f.mjs";import{i as D,n as O,r as k,t as A}from"./shared-DlKGNPiT.mjs";import{n as j,r as M}from"./build-D0ir_S70.mjs";import{r as N}from"./deploy-input-BvD9aRP1.mjs";var P=e(`check`,`Profile a Worker's startup performance`,()=>import(`./command-BV87D4tR.mjs`));function F(e){return e.option(`prebuilt`,{type:`boolean`,description:`Use existing Build Output Specification files without building`,default:!1}).option(`dry-run`,{type:`boolean`,description:`Run checks without applying triggers`,default:!1})}const I={command:`deploy`,describe:`Apply triggers (Routes, Workflows, Cron triggers etc.)`,builder:F,handler:async e=>{e.prebuilt||(await j(e.mode),c.message(``,{spacing:0}));let{workers:{default:r},rootConfig:a}=await E(process.cwd()),{wranglerConfig:o}=M(r,a),s=await ee(),l=await i();D(T(s)),c.message(t.bold(`Deploy triggers`),{symbol:n.dim(`├`),spacing:0}),await k(N(r,o,l,e)),c.success(e[`dry-run`]?`Dry run complete`:`Trigger deploy complete`)}},L={command:`triggers`,describe:`Manage triggers (Routes, Workflows, Cron triggers etc.)`,builder:e=>e.command(I).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function R(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const z={command:`get`,describe:`Fetches Worker account settings for an account.`,builder:R,handler:async e=>{if(e.dryRun){f({command:`cf workers account-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.accountSettings.get({account_id:n})),{successLabel:`Loaded`})}};function B(e){return e.option(`default-usage-model`,{type:`string`,description:`The default_usage_model field`}).option(`green-compute`,{type:`boolean`,description:`The green_compute field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const V={command:`update`,describe:`Creates Worker account settings for an account.`,builder:B,handler:async e=>{if(e.dryRun){f({command:`cf workers account-settings update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/account-settings`,pathParams:{},bodyKind:`json`,body:e.body===void 0?_({default_usage_model:v(e[`default-usage-model`],`default-usage-model`,`text`),green_compute:e[`green-compute`]}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.accountSettings.update({body:r,account_id:n})),{successLabel:`Updated`});return}let o=_({default_usage_model:v(e[`default-usage-model`],`default-usage-model`,`text`),green_compute:e[`green-compute`]});d(await p(`Updating`,async()=>t.workers.accountSettings.update({body:o,account_id:n})),{successLabel:`Updated`})}},H={command:`account-settings`,describe:`Operations for account-settings`,builder:e=>e.command(z).command(V).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function U(e){return e.option(`base64`,{type:`string`,description:"Whether the file contents are base64-encoded. Must be `true`.",choices:[`true`],demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const W={command:`create`,describe:`Upload assets ahead of creating a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:C(U),handler:async e=>{let t={base64:e.base64};if(e.dryRun){f({command:`cf workers assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/assets/upload`,pathParams:{},query:t,bodyKind:`octet-stream`,body:e.body});return}let n=await u(e),o=e.local?r:await i();if(e.accountId=o,e.file){let t=y(e.file),r=new FormData;r.append(`file`,new Blob([t]),e.file.split(/[\\/]/).filter(Boolean).pop()),d(await p(`Creating`,async()=>l(n,`POST`,`/accounts/${o}/workers/assets/upload`,{body:r})),{successLabel:`Created`});return}if(e.body){let r=v(e.body,`body`,`binary`),i=new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();d(await p(`Creating`,async()=>l(n,`POST`,`/accounts/${o}/workers/assets/upload${i?`?`+i:``}`,{body:r,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Created`});return}d(await p(`Creating`,async()=>n.workers.assets.upload.create({account_id:o,...t})),{successLabel:`Created`})}},G={command:`upload`,describe:`Operations for assets.upload`,builder:e=>e.command(W).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},K={command:`assets`,describe:`Operations for assets`,builder:e=>e.command(G).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function q(e){return e.option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`,default:!1}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`,default:!1}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`,default:!1}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`,default:!0}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`,default:!0}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`,default:!1}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`,default:!1}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`,default:1}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`,default:!0}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`,default:!1}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`tail-consumers`,{type:`string`,description:`Other Workers that should consume logs from the Worker. Provide as a JSON array of objects or @path/to/file.json.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker creation parameters.`})}const J={command:`create`,describe:`Create a new Worker.`,builder:q,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers`,pathParams:{},bodyKind:`json`,body:e.body===void 0?_({logpush:e.logpush,name:v(e.name,`name`,`text`),observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:e[`subdomain-enabled`],previews_enabled:e[`subdomain-previews-enabled`]},tags:e.tags,tail_consumers:g(e[`tail-consumers`],`tail-consumers`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Creating`,async()=>t.workers.beta.workers.create({...r,account_id:n})),{successLabel:`Created`});return}if(e.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(e.name===void 0&&(e.name=await b(`name`,`Name of the Worker.`)),e.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);if(e[`tail-consumers`]===void 0)throw Error(`--tail-consumers is required (or pass --body with this field set).`);let o=_({logpush:e.logpush,name:v(e.name,`name`,`text`),observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:e[`subdomain-enabled`],previews_enabled:e[`subdomain-previews-enabled`]},tags:e.tags,tail_consumers:g(e[`tail-consumers`],`tail-consumers`)});d(await p(`Creating`,async()=>t.workers.beta.workers.create({...o,account_id:n})),{successLabel:`Created`})}};function Y(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const X={command:`delete <worker-id>`,describe:`Delete a Worker and all its associated resources (versions, deployments, etc.).`,builder:Y,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
3
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.beta.workers.delete({account_id:n,worker_id:e[`worker-id`]})),{successLabel:`Deleted`})}};function Z(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`tail-consumers`,{type:`string`,description:`Other Workers that should consume logs from the Worker. Provide as a JSON array of objects or @path/to/file.json.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker partial update parameters.`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const Q={command:`edit <worker-id>`,describe:`Perform a partial update on a Worker, where omitted properties are left unchanged from their current values.`,builder:Z,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``)},bodyKind:`json`,body:e.body===void 0?_({logpush:e.logpush,name:v(e.name,`name`,`text`),observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:e[`subdomain-enabled`],previews_enabled:e[`subdomain-previews-enabled`]},tags:e.tags,tail_consumers:g(e[`tail-consumers`],`tail-consumers`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.file){let r=y(e.file);d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}`,{body:r,headers:{"Content-Type":`application/merge-patch+json`}})),{successLabel:`Updated`});return}if(e.body){let r=h(e.body);d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}`,{body:r})),{successLabel:`Updated`});return}if(e.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(e.name===void 0&&(e.name=await b(`name`,`Name of the Worker.`)),e.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);if(e[`tail-consumers`]===void 0)throw Error(`--tail-consumers is required (or pass --body with this field set).`);let o={};e.logpush!==void 0&&m(o,[`logpush`],e.logpush),e.name!==void 0&&m(o,[`name`],v(e.name,`name`,`text`)),e[`observability-enabled`]!==void 0&&m(o,[`observability`,`enabled`],e[`observability-enabled`]),e[`observability-head-sampling-rate`]!==void 0&&m(o,[`observability`,`head_sampling_rate`],e[`observability-head-sampling-rate`]),e[`observability-logs-destinations`]!==void 0&&m(o,[`observability`,`logs`,`destinations`],e[`observability-logs-destinations`]),e[`observability-logs-enabled`]!==void 0&&m(o,[`observability`,`logs`,`enabled`],e[`observability-logs-enabled`]),e[`observability-logs-head-sampling-rate`]!==void 0&&m(o,[`observability`,`logs`,`head_sampling_rate`],e[`observability-logs-head-sampling-rate`]),e[`observability-logs-invocation-logs`]!==void 0&&m(o,[`observability`,`logs`,`invocation_logs`],e[`observability-logs-invocation-logs`]),e[`observability-logs-persist`]!==void 0&&m(o,[`observability`,`logs`,`persist`],e[`observability-logs-persist`]),e[`observability-redact-query-string`]!==void 0&&m(o,[`observability`,`redact_query_string`],e[`observability-redact-query-string`]),e[`observability-traces-destinations`]!==void 0&&m(o,[`observability`,`traces`,`destinations`],e[`observability-traces-destinations`]),e[`observability-traces-enabled`]!==void 0&&m(o,[`observability`,`traces`,`enabled`],e[`observability-traces-enabled`]),e[`observability-traces-head-sampling-rate`]!==void 0&&m(o,[`observability`,`traces`,`head_sampling_rate`],e[`observability-traces-head-sampling-rate`]),e[`observability-traces-persist`]!==void 0&&m(o,[`observability`,`traces`,`persist`],e[`observability-traces-persist`]),e[`observability-traces-propagation-policy`]!==void 0&&m(o,[`observability`,`traces`,`propagation_policy`],v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)),e[`subdomain-enabled`]!==void 0&&m(o,[`subdomain`,`enabled`],e[`subdomain-enabled`]),e[`subdomain-previews-enabled`]!==void 0&&m(o,[`subdomain`,`previews_enabled`],e[`subdomain-previews-enabled`]),e.tags!==void 0&&m(o,[`tags`],e.tags),e[`tail-consumers`]!==void 0&&m(o,[`tail_consumers`],g(e[`tail-consumers`],`tail-consumers`)),d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}`,{body:Object.keys(o).length>0?o:void 0})),{successLabel:`Updated`})}};function ne(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const re={command:`get <worker-id>`,describe:`Get details about a specific Worker.`,builder:ne,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.beta.workers.get({account_id:n,worker_id:e[`worker-id`]})),{successLabel:`Loaded`})}};function ie(e){return e.option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`order-by`,{type:`string`,description:`Property to sort results by.`,choices:[`deployed_on`,`updated_on`,`created_on`,`name`]}).option(`order`,{type:`string`,description:`Sort direction.`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ae={command:`list`,describe:`List all Workers for an account.`,builder:C(ie),handler:async e=>{let t={page:e.page,per_page:e[`per-page`],order_by:e[`order-by`],order:e.order};if(e.dryRun){f({command:`cf workers beta workers list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers`,pathParams:{},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.beta.workers.list({account_id:o,...t})),{successLabel:`Loaded`})}};function oe(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`logpush`,{type:`boolean`,description:`Whether logpush is enabled for the Worker.`}).option(`name`,{type:`string`,description:`Name of the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for observability. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%).`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`subdomain-enabled`,{type:`boolean`,description:`Whether the *.workers.dev subdomain is enabled for the Worker.`}).option(`subdomain-previews-enabled`,{type:`boolean`,description:`Whether [preview URLs](https://developers.cloudflare.com/workers/configuration/previews/) are enabled for the Worker.`}).option(`tags`,{type:`string`,array:!0,description:`Tags associated with the Worker.`}).option(`tail-consumers`,{type:`string`,description:`Other Workers that should consume logs from the Worker. Provide as a JSON array of objects or @path/to/file.json.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Worker update parameters.`})}const se={command:`update <worker-id>`,describe:`Perform a complete replacement of a Worker, where omitted properties are set to their default values. This is the exact same as the Create Worker endpoint, but operates on an existing Worker. To perform a partial update instead, use the Edit Worker endpoint.`,builder:oe,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``)},bodyKind:`json`,body:e.body===void 0?_({logpush:e.logpush,name:v(e.name,`name`,`text`),observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:e[`subdomain-enabled`],previews_enabled:e[`subdomain-previews-enabled`]},tags:e.tags,tail_consumers:g(e[`tail-consumers`],`tail-consumers`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.beta.workers.update({...r,account_id:n,worker_id:e[`worker-id`]})),{successLabel:`Updated`});return}if(e.logpush===void 0)throw Error(`--logpush is required (or pass --body with this field set).`);if(e.name===void 0&&(e.name=await b(`name`,`Name of the Worker.`)),e.tags===void 0)throw Error(`--tags is required (or pass --body with this field set).`);if(e[`tail-consumers`]===void 0)throw Error(`--tail-consumers is required (or pass --body with this field set).`);let o=_({logpush:e.logpush,name:v(e.name,`name`,`text`),observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},subdomain:{enabled:e[`subdomain-enabled`],previews_enabled:e[`subdomain-previews-enabled`]},tags:e.tags,tail_consumers:g(e[`tail-consumers`],`tail-consumers`)});d(await p(`Updating`,async()=>t.workers.beta.workers.update({...o,account_id:n,worker_id:e[`worker-id`]})),{successLabel:`Updated`})}};function ce(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`deploy`,{type:`boolean`,description:`If true, a deployment will be created that sends 100% of traffic to the new version.`}).option(`assets-config-html-handling`,{type:`string`,description:`Determines the redirects and rewrites of requests for HTML content.`,choices:[`auto-trailing-slash`,`force-trailing-slash`,`drop-trailing-slash`,`none`]}).option(`assets-config-not-found-handling`,{type:`string`,description:`Determines the response when a request does not match a static asset, and there is no Worker script.`,choices:[`none`,`404-page`,`single-page-application`]}).option(`assets-jwt`,{type:`string`,description:`Token provided upon successful upload of all files from a registered manifest.`}).option(`bindings`,{type:`string`,description:`List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings. Provide as a JSON array of objects or @path/to/file.json.`}).option(`cache-options-cross-version-cache`,{type:`boolean`,description:`Whether cached responses are shared across Worker version
|
|
4
|
+
uploads. This is independent of \`enabled\`. It can stay true
|
|
5
|
+
while caching is off, so the preference survives turning
|
|
6
|
+
caching off and back on.
|
|
7
|
+
`}).option(`cache-options-enabled`,{type:`boolean`,description:`Whether caching is enabled for this Worker.`}).option(`compatibility-date`,{type:`string`,description:`Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.`}).option(`compatibility-flags`,{type:`string`,array:!0,description:"Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a `compatibility_date`."}).option(`containers`,{type:`string`,description:`List of containers attached to a Worker. Containers can only be attached to Durable Object classes of this Worker script. Provide as a JSON array of objects or @path/to/file.json.`}).option(`exports-reconciliation-created`,{type:`string`,array:!0,description:`Class names for which a new namespace was provisioned.`}).option(`exports-reconciliation-deleted`,{type:`string`,array:!0,description:"Class names whose namespace was deleted by a `deleted` tombstone."}).option(`exports-reconciliation-removable-entries`,{type:`string`,array:!0,description:`Source class names whose tombstone entry is now stale and safe
|
|
8
|
+
to delete from \`exports\` (no remaining referencing scripts).
|
|
9
|
+
`}).option(`exports-reconciliation-updated`,{type:`string`,array:!0,description:`Class names whose provisioned namespace was mutated in place.`}).option(`limits-cpu-ms`,{type:`number`,description:`CPU time limit in milliseconds.`}).option(`limits-subrequests`,{type:`number`,description:`Subrequest limit per request.`}).option(`main-module`,{type:`string`,description:"The name of the main module in the `modules` array (e.g. the name of the module that exports a `fetch` handler)."}).option(`migrations-new-tag`,{type:`string`,description:`Tag to set as the latest migration tag.`}).option(`migrations-old-tag`,{type:`string`,description:`Tag used to verify against the latest migration tag for this Worker. If they don't match, the upload is rejected.`}).option(`migrations-deleted-classes`,{type:`string`,array:!0,description:`A list of classes to delete Durable Object namespaces from.`}).option(`migrations-new-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces from.`}).option(`migrations-new-sqlite-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces with SQLite from.`}).option(`modules`,{type:`string`,description:"Code, sourcemaps, and other content used at runtime.\n\nThis includes [`_headers`](https://developers.cloudflare.com/workers/static-assets/headers/#custom-headers) and\n[`_redirects`](https://developers.cloudflare.com/workers/static-assets/redirects/) files used to configure \n[Static Assets](https://developers.cloudflare.com/workers/static-assets/). `_headers` and `_redirects` files should be \nincluded as modules named `_headers` and `_redirects` with content type `text/plain`.\n. Provide as a JSON array of objects or @path/to/file.json."}).option(`package-dependencies`,{type:`string`,description:`The list of npm packages that were installed and used when this Worker
|
|
10
|
+
version was built.
|
|
11
|
+
. Provide as a JSON array of objects or @path/to/file.json.`}).option(`placement-mode`,{type:`string`,description:`Enables [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement).`,choices:[`smart`,`targeted`]}).option(`placement-region`,{type:`string`,description:`Cloud region for targeted placement in format 'provider:region'.`}).option(`placement-hostname`,{type:`string`,description:`HTTP hostname for targeted placement.`}).option(`placement-host`,{type:`string`,description:`TCP host and port for targeted placement.`}).option(`usage-model`,{type:`string`,description:`Usage model for the version.`,choices:[`standard`,`bundled`,`unbound`],default:`standard`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Version creation parameters.`}).conflicts(`placement-mode`,[`placement-region`,`placement-hostname`,`placement-host`]).conflicts(`placement-region`,[`placement-mode`,`placement-hostname`,`placement-host`]).conflicts(`placement-hostname`,[`placement-mode`,`placement-region`,`placement-host`]).conflicts(`placement-host`,[`placement-mode`,`placement-region`,`placement-hostname`]).check(e=>{if([`cache-options-cross-version-cache`,`cache-options-enabled`].some(t=>e[t]!==void 0)){let t=[`cache-options-enabled`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --cache_options-* flag is set`)}return!0}).check(e=>{if([`exports-reconciliation-created`,`exports-reconciliation-deleted`,`exports-reconciliation-removable-entries`,`exports-reconciliation-updated`].some(t=>e[t]!==void 0)){let t=[`exports-reconciliation-created`,`exports-reconciliation-deleted`,`exports-reconciliation-removable-entries`,`exports-reconciliation-updated`].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 --exports_reconciliation-* flag is set`)}return!0})}const le={command:`create <worker-id>`,describe:`Create a new version.`,builder:ce,handler:async e=>{let t={deploy:e.deploy};if(e.dryRun){f({command:`cf workers beta workers versions create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}/versions`,pathParams:{"worker-id":String(e[`worker-id`]??``)},query:t,bodyKind:`json`,body:e.body===void 0?_({assets:{config:{html_handling:v(e[`assets-config-html-handling`],`assets-config-html-handling`,`text`),not_found_handling:v(e[`assets-config-not-found-handling`],`assets-config-not-found-handling`,`text`)},jwt:v(e[`assets-jwt`],`assets-jwt`,`text`)},bindings:g(e.bindings,`bindings`),cache_options:{cross_version_cache:e[`cache-options-cross-version-cache`],enabled:e[`cache-options-enabled`]},compatibility_date:v(e[`compatibility-date`],`compatibility-date`,`text`),compatibility_flags:e[`compatibility-flags`],containers:g(e.containers,`containers`),exports_reconciliation:{created:e[`exports-reconciliation-created`],deleted:e[`exports-reconciliation-deleted`],removable_entries:e[`exports-reconciliation-removable-entries`],updated:e[`exports-reconciliation-updated`]},limits:{cpu_ms:e[`limits-cpu-ms`],subrequests:e[`limits-subrequests`]},main_module:v(e[`main-module`],`main-module`,`text`),migrations:{new_tag:v(e[`migrations-new-tag`],`migrations-new-tag`,`text`),old_tag:v(e[`migrations-old-tag`],`migrations-old-tag`,`text`),deleted_classes:e[`migrations-deleted-classes`],new_classes:e[`migrations-new-classes`],new_sqlite_classes:e[`migrations-new-sqlite-classes`]},modules:g(e.modules,`modules`),package_dependencies:g(e[`package-dependencies`],`package-dependencies`),placement:{mode:v(e[`placement-mode`],`placement-mode`,`text`),region:v(e[`placement-region`],`placement-region`,`text`),hostname:v(e[`placement-hostname`],`placement-hostname`,`text`),host:v(e[`placement-host`],`placement-host`,`text`)},usage_model:v(e[`usage-model`],`usage-model`,`text`)}):h(e.body)});return}let n=await u(e),o=e.local?r:await i();if(e.accountId=o,e.body){let r=h(e.body);new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),d(await p(`Creating`,async()=>n.workers.beta.workers.versions.create({body:r,account_id:o,worker_id:e[`worker-id`],...t})),{successLabel:`Created`});return}let s=_({assets:{config:{html_handling:v(e[`assets-config-html-handling`],`assets-config-html-handling`,`text`),not_found_handling:v(e[`assets-config-not-found-handling`],`assets-config-not-found-handling`,`text`)},jwt:v(e[`assets-jwt`],`assets-jwt`,`text`)},bindings:g(e.bindings,`bindings`),cache_options:{cross_version_cache:e[`cache-options-cross-version-cache`],enabled:e[`cache-options-enabled`]},compatibility_date:v(e[`compatibility-date`],`compatibility-date`,`text`),compatibility_flags:e[`compatibility-flags`],containers:g(e.containers,`containers`),exports_reconciliation:{created:e[`exports-reconciliation-created`],deleted:e[`exports-reconciliation-deleted`],removable_entries:e[`exports-reconciliation-removable-entries`],updated:e[`exports-reconciliation-updated`]},limits:{cpu_ms:e[`limits-cpu-ms`],subrequests:e[`limits-subrequests`]},main_module:v(e[`main-module`],`main-module`,`text`),migrations:{new_tag:v(e[`migrations-new-tag`],`migrations-new-tag`,`text`),old_tag:v(e[`migrations-old-tag`],`migrations-old-tag`,`text`),deleted_classes:e[`migrations-deleted-classes`],new_classes:e[`migrations-new-classes`],new_sqlite_classes:e[`migrations-new-sqlite-classes`]},modules:g(e.modules,`modules`),package_dependencies:g(e[`package-dependencies`],`package-dependencies`),placement:{mode:v(e[`placement-mode`],`placement-mode`,`text`),region:v(e[`placement-region`],`placement-region`,`text`),hostname:v(e[`placement-hostname`],`placement-hostname`,`text`),host:v(e[`placement-host`],`placement-host`,`text`)},usage_model:v(e[`usage-model`],`usage-model`,`text`)});new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),d(await p(`Creating`,async()=>n.workers.beta.workers.versions.create({body:s,account_id:o,worker_id:e[`worker-id`],...t})),{successLabel:`Created`})}};function ue(e){return e.positional(`version-id`,{type:`string`,description:`Identifier for the version, which can be a UUID, a UUID prefix (minimum length 8), or the literal "latest" to operate on the most recently created version.`,demandOption:!0}).option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const de={command:`delete <version-id>`,describe:`Delete a version.`,builder:ue,handler:async e=>{if(e.dryRun){f({command:`cf workers beta workers versions delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``),"version-id":String(e[`version-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
12
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.beta.workers.versions.delete({account_id:n,worker_id:e[`worker-id`],version_id:e[`version-id`]})),{successLabel:`Deleted`})}};function fe(e){return e.positional(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`deploy`,{type:`boolean`,description:`If true, a deployment will be created that sends 100% of traffic to the new version.`}).option(`assets-config-html-handling`,{type:`string`,description:`Determines the redirects and rewrites of requests for HTML content.`,choices:[`auto-trailing-slash`,`force-trailing-slash`,`drop-trailing-slash`,`none`]}).option(`assets-config-not-found-handling`,{type:`string`,description:`Determines the response when a request does not match a static asset, and there is no Worker script.`,choices:[`none`,`404-page`,`single-page-application`]}).option(`assets-jwt`,{type:`string`,description:`Token provided upon successful upload of all files from a registered manifest.`}).option(`bindings`,{type:`string`,description:`List of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings. Provide as a JSON array of objects or @path/to/file.json.`}).option(`cache-options-cross-version-cache`,{type:`boolean`,description:`Whether cached responses are shared across Worker version
|
|
13
|
+
uploads. This is independent of \`enabled\`. It can stay true
|
|
14
|
+
while caching is off, so the preference survives turning
|
|
15
|
+
caching off and back on.
|
|
16
|
+
`}).option(`cache-options-enabled`,{type:`boolean`,description:`Whether caching is enabled for this Worker.`}).option(`compatibility-date`,{type:`string`,description:`Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.`}).option(`compatibility-flags`,{type:`string`,array:!0,description:"Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a `compatibility_date`."}).option(`containers`,{type:`string`,description:`List of containers attached to a Worker. Containers can only be attached to Durable Object classes of this Worker script. Provide as a JSON array of objects or @path/to/file.json.`}).option(`exports-reconciliation-created`,{type:`string`,array:!0,description:`Class names for which a new namespace was provisioned.`}).option(`exports-reconciliation-deleted`,{type:`string`,array:!0,description:"Class names whose namespace was deleted by a `deleted` tombstone."}).option(`exports-reconciliation-removable-entries`,{type:`string`,array:!0,description:`Source class names whose tombstone entry is now stale and safe
|
|
17
|
+
to delete from \`exports\` (no remaining referencing scripts).
|
|
18
|
+
`}).option(`exports-reconciliation-updated`,{type:`string`,array:!0,description:`Class names whose provisioned namespace was mutated in place.`}).option(`limits-cpu-ms`,{type:`number`,description:`CPU time limit in milliseconds.`}).option(`limits-subrequests`,{type:`number`,description:`Subrequest limit per request.`}).option(`main-module`,{type:`string`,description:"The name of the main module in the `modules` array (e.g. the name of the module that exports a `fetch` handler)."}).option(`migrations-new-tag`,{type:`string`,description:`Tag to set as the latest migration tag.`}).option(`migrations-old-tag`,{type:`string`,description:`Tag used to verify against the latest migration tag for this Worker. If they don't match, the upload is rejected.`}).option(`migrations-deleted-classes`,{type:`string`,array:!0,description:`A list of classes to delete Durable Object namespaces from.`}).option(`migrations-new-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces from.`}).option(`migrations-new-sqlite-classes`,{type:`string`,array:!0,description:`A list of classes to create Durable Object namespaces with SQLite from.`}).option(`modules`,{type:`string`,description:"Code, sourcemaps, and other content used at runtime.\n\nThis includes [`_headers`](https://developers.cloudflare.com/workers/static-assets/headers/#custom-headers) and\n[`_redirects`](https://developers.cloudflare.com/workers/static-assets/redirects/) files used to configure \n[Static Assets](https://developers.cloudflare.com/workers/static-assets/). `_headers` and `_redirects` files should be \nincluded as modules named `_headers` and `_redirects` with content type `text/plain`.\n. Provide as a JSON array of objects or @path/to/file.json."}).option(`package-dependencies`,{type:`string`,description:`The list of npm packages that were installed and used when this Worker
|
|
19
|
+
version was built.
|
|
20
|
+
. Provide as a JSON array of objects or @path/to/file.json.`}).option(`placement-mode`,{type:`string`,description:`Enables [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement).`,choices:[`smart`,`targeted`]}).option(`placement-region`,{type:`string`,description:`Cloud region for targeted placement in format 'provider:region'.`}).option(`placement-hostname`,{type:`string`,description:`HTTP hostname for targeted placement.`}).option(`placement-host`,{type:`string`,description:`TCP host and port for targeted placement.`}).option(`usage-model`,{type:`string`,description:`Usage model for the version.`,choices:[`standard`,`bundled`,`unbound`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`JSON Merge Patch to apply to the latest version. An empty object creates a new version with no changes.`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).conflicts(`placement-mode`,[`placement-region`,`placement-hostname`,`placement-host`]).conflicts(`placement-region`,[`placement-mode`,`placement-hostname`,`placement-host`]).conflicts(`placement-hostname`,[`placement-mode`,`placement-region`,`placement-host`]).conflicts(`placement-host`,[`placement-mode`,`placement-region`,`placement-hostname`]).check(e=>{if([`cache-options-cross-version-cache`,`cache-options-enabled`].some(t=>e[t]!==void 0)){let t=[`cache-options-enabled`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --cache_options-* flag is set`)}return!0}).check(e=>{if([`exports-reconciliation-created`,`exports-reconciliation-deleted`,`exports-reconciliation-removable-entries`,`exports-reconciliation-updated`].some(t=>e[t]!==void 0)){let t=[`exports-reconciliation-created`,`exports-reconciliation-deleted`,`exports-reconciliation-removable-entries`,`exports-reconciliation-updated`].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 --exports_reconciliation-* flag is set`)}return!0})}const pe={command:`edit <worker-id>`,describe:"Only `/versions/latest` is supported. Creates a new version by applying a JSON Merge Patch (RFC 7396) to the latest version. Patching a specific version ID is not supported. Omitted fields are inherited from the latest version.",builder:fe,handler:async e=>{let t={deploy:e.deploy};if(e.dryRun){f({command:`cf workers beta workers versions edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}/versions/latest`,pathParams:{"worker-id":String(e[`worker-id`]??``)},query:t,bodyKind:`json`,body:e.body===void 0?_({assets:{config:{html_handling:v(e[`assets-config-html-handling`],`assets-config-html-handling`,`text`),not_found_handling:v(e[`assets-config-not-found-handling`],`assets-config-not-found-handling`,`text`)},jwt:v(e[`assets-jwt`],`assets-jwt`,`text`)},bindings:g(e.bindings,`bindings`),cache_options:{cross_version_cache:e[`cache-options-cross-version-cache`],enabled:e[`cache-options-enabled`]},compatibility_date:v(e[`compatibility-date`],`compatibility-date`,`text`),compatibility_flags:e[`compatibility-flags`],containers:g(e.containers,`containers`),exports_reconciliation:{created:e[`exports-reconciliation-created`],deleted:e[`exports-reconciliation-deleted`],removable_entries:e[`exports-reconciliation-removable-entries`],updated:e[`exports-reconciliation-updated`]},limits:{cpu_ms:e[`limits-cpu-ms`],subrequests:e[`limits-subrequests`]},main_module:v(e[`main-module`],`main-module`,`text`),migrations:{new_tag:v(e[`migrations-new-tag`],`migrations-new-tag`,`text`),old_tag:v(e[`migrations-old-tag`],`migrations-old-tag`,`text`),deleted_classes:e[`migrations-deleted-classes`],new_classes:e[`migrations-new-classes`],new_sqlite_classes:e[`migrations-new-sqlite-classes`]},modules:g(e.modules,`modules`),package_dependencies:g(e[`package-dependencies`],`package-dependencies`),placement:{mode:v(e[`placement-mode`],`placement-mode`,`text`),region:v(e[`placement-region`],`placement-region`,`text`),hostname:v(e[`placement-hostname`],`placement-hostname`,`text`),host:v(e[`placement-host`],`placement-host`,`text`)},usage_model:v(e[`usage-model`],`usage-model`,`text`)}):h(e.body)});return}let n=await u(e),o=e.local?r:await i();if(e.accountId=o,e.file){let t=y(e.file);d(await p(`Updating`,async()=>l(n,`PATCH`,`/accounts/${o}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}/versions/latest`,{body:t,headers:{"Content-Type":`application/merge-patch+json`}})),{successLabel:`Updated`});return}if(e.body){let r=h(e.body),i=new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();d(await p(`Updating`,async()=>l(n,`PATCH`,`/accounts/${o}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}/versions/latest${i?`?`+i:``}`,{body:r})),{successLabel:`Updated`});return}let s={};e[`assets-config-html-handling`]!==void 0&&m(s,[`assets`,`config`,`html_handling`],v(e[`assets-config-html-handling`],`assets-config-html-handling`,`text`)),e[`assets-config-not-found-handling`]!==void 0&&m(s,[`assets`,`config`,`not_found_handling`],v(e[`assets-config-not-found-handling`],`assets-config-not-found-handling`,`text`)),e[`assets-jwt`]!==void 0&&m(s,[`assets`,`jwt`],v(e[`assets-jwt`],`assets-jwt`,`text`)),e.bindings!==void 0&&m(s,[`bindings`],g(e.bindings,`bindings`)),e[`cache-options-cross-version-cache`]!==void 0&&m(s,[`cache_options`,`cross_version_cache`],e[`cache-options-cross-version-cache`]),e[`cache-options-enabled`]!==void 0&&m(s,[`cache_options`,`enabled`],e[`cache-options-enabled`]),e[`compatibility-date`]!==void 0&&m(s,[`compatibility_date`],v(e[`compatibility-date`],`compatibility-date`,`text`)),e[`compatibility-flags`]!==void 0&&m(s,[`compatibility_flags`],e[`compatibility-flags`]),e.containers!==void 0&&m(s,[`containers`],g(e.containers,`containers`)),e[`exports-reconciliation-created`]!==void 0&&m(s,[`exports_reconciliation`,`created`],e[`exports-reconciliation-created`]),e[`exports-reconciliation-deleted`]!==void 0&&m(s,[`exports_reconciliation`,`deleted`],e[`exports-reconciliation-deleted`]),e[`exports-reconciliation-removable-entries`]!==void 0&&m(s,[`exports_reconciliation`,`removable_entries`],e[`exports-reconciliation-removable-entries`]),e[`exports-reconciliation-updated`]!==void 0&&m(s,[`exports_reconciliation`,`updated`],e[`exports-reconciliation-updated`]),e[`limits-cpu-ms`]!==void 0&&m(s,[`limits`,`cpu_ms`],e[`limits-cpu-ms`]),e[`limits-subrequests`]!==void 0&&m(s,[`limits`,`subrequests`],e[`limits-subrequests`]),e[`main-module`]!==void 0&&m(s,[`main_module`],v(e[`main-module`],`main-module`,`text`)),e[`migrations-new-tag`]!==void 0&&m(s,[`migrations`,`new_tag`],v(e[`migrations-new-tag`],`migrations-new-tag`,`text`)),e[`migrations-old-tag`]!==void 0&&m(s,[`migrations`,`old_tag`],v(e[`migrations-old-tag`],`migrations-old-tag`,`text`)),e[`migrations-deleted-classes`]!==void 0&&m(s,[`migrations`,`deleted_classes`],e[`migrations-deleted-classes`]),e[`migrations-new-classes`]!==void 0&&m(s,[`migrations`,`new_classes`],e[`migrations-new-classes`]),e[`migrations-new-sqlite-classes`]!==void 0&&m(s,[`migrations`,`new_sqlite_classes`],e[`migrations-new-sqlite-classes`]),e.modules!==void 0&&m(s,[`modules`],g(e.modules,`modules`)),e[`package-dependencies`]!==void 0&&m(s,[`package_dependencies`],g(e[`package-dependencies`],`package-dependencies`)),e[`placement-mode`]!==void 0&&m(s,[`placement`,`mode`],v(e[`placement-mode`],`placement-mode`,`text`)),e[`placement-region`]!==void 0&&m(s,[`placement`,`region`],v(e[`placement-region`],`placement-region`,`text`)),e[`placement-hostname`]!==void 0&&m(s,[`placement`,`hostname`],v(e[`placement-hostname`],`placement-hostname`,`text`)),e[`placement-host`]!==void 0&&m(s,[`placement`,`host`],v(e[`placement-host`],`placement-host`,`text`)),e[`usage-model`]!==void 0&&m(s,[`usage_model`],v(e[`usage-model`],`usage-model`,`text`));let c=new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();d(await p(`Updating`,async()=>l(n,`PATCH`,`/accounts/${o}/workers/workers/${encodeURIComponent(String(e[`worker-id`]))}/versions/latest${c?`?`+c:``}`,{body:Object.keys(s).length>0?s:void 0})),{successLabel:`Updated`})}};function me(e){return e.positional(`version-id`,{type:`string`,description:`Identifier for the version, which can be a UUID, a UUID prefix (minimum length 8), or the literal "latest" to operate on the most recently created version.`,demandOption:!0}).option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`include`,{type:`string`,description:"Whether to include the `modules` property of the version in the response, which contains code and sourcemap content and may add several megabytes to the response size.",choices:[`modules`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const he={command:`get <version-id>`,describe:`Get details about a specific version.`,builder:C(me),handler:async e=>{let t={include:e.include};if(e.dryRun){f({command:`cf workers beta workers versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}`,pathParams:{"worker-id":String(e[`worker-id`]??``),"version-id":String(e[`version-id`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.beta.workers.versions.get({account_id:o,worker_id:e[`worker-id`],version_id:e[`version-id`],...t})),{successLabel:`Loaded`})}};function ge(e){return e.option(`worker-id`,{type:`string`,description:`Identifier for the Worker, which can be ID or name.`,demandOption:!0}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _e={command:`list`,describe:`List all versions for a Worker.`,builder:ge,handler:async e=>{let t={page:e.page,per_page:e[`per-page`]};if(e.dryRun){f({command:`cf workers beta workers versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/workers/${e[`worker-id`]==null?`<worker-id>`:encodeURIComponent(String(e[`worker-id`]))}/versions`,pathParams:{"worker-id":String(e[`worker-id`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.beta.workers.versions.list({account_id:o,worker_id:e[`worker-id`],...t})),{successLabel:`Loaded`})}},ve={command:`versions`,describe:`Operations for beta.workers.versions`,builder:e=>e.command(le).command(de).command(pe).command(he).command(_e).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},ye={command:`workers`,describe:`Operations for beta.workers`,builder:e=>e.command(J).command(X).command(Q).command(re).command(ae).command(se).command(ve).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},be={command:`beta`,describe:`Operations for beta`,builder:e=>e.command(ye).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function xe(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`force`,{type:`boolean`,description:`If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.`}).option(`strategy`,{type:`string`,description:`The strategy field`,choices:[`percentage`]}).option(`versions`,{type:`string`,description:`The versions field. Provide as a JSON array of objects or @path/to/file.json.`}).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 Se={command:`create`,describe:`Deployments configure how [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions) are deployed to traffic. A deployment can consist of one or two versions of a Worker.`,builder:xe,handler:async e=>{let t={force:e.force};if(e.dryRun){f({command:`cf workers deployments create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/deployments`,pathParams:{"script-name":String(e[`script-name`]??``)},query:t,bodyKind:`json`,body:e.body===void 0?_({strategy:v(e.strategy,`strategy`,`text`),versions:g(e.versions,`versions`)}):h(e.body)});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});if(e.worker=c,e.body){let r=h(e.body);new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),d(await p(`Creating`,async()=>n.workers.deployments.create({body:r,account_id:o,script_name:c,...t})),{successLabel:`Created`});return}if(e.strategy===void 0&&(e.strategy=await x(`strategy`,`The strategy field`,[`percentage`])),e.versions===void 0)throw Error(`--versions is required (or pass --body with this field set).`);let l=_({strategy:v(e.strategy,`strategy`,`text`),versions:g(e.versions,`versions`)});new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),d(await p(`Creating`,async()=>n.workers.deployments.create({body:l,account_id:o,script_name:c,...t})),{successLabel:`Created`})}};function Ce(e){return e.positional(`deployment-id`,{type:`string`,description:`Deployment ID`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const we={command:`delete <deployment-id>`,describe:`Delete a Worker Deployment. The latest deployment, which is actively serving traffic, cannot be deleted. All other deployments can be deleted.`,builder:Ce,handler:async e=>{if(e.dryRun){f({command:`cf workers deployments delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/deployments/${e[`deployment-id`]==null?`<deployment-id>`:encodeURIComponent(String(e[`deployment-id`]))}`,pathParams:{"script-name":String(e[`script-name`]??``),"deployment-id":String(e[`deployment-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
21
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.deployments.delete({account_id:n,script_name:o,deployment_id:e[`deployment-id`]})),{successLabel:`Deleted`})}};function Te(e){return e.positional(`deployment-id`,{type:`string`,description:`Deployment ID`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ee={command:`get <deployment-id>`,describe:`Get information about a Worker Deployment.`,builder:Te,handler:async e=>{if(e.dryRun){f({command:`cf workers deployments get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/deployments/${e[`deployment-id`]==null?`<deployment-id>`:encodeURIComponent(String(e[`deployment-id`]))}`,pathParams:{"script-name":String(e[`script-name`]??``),"deployment-id":String(e[`deployment-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.deployments.get({account_id:n,script_name:o,deployment_id:e[`deployment-id`]})),{successLabel:`Loaded`})}};function De(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Oe={command:`list`,describe:`List of Worker Deployments. The first deployment in the list is the latest deployment actively serving traffic.`,builder:De,handler:async e=>{if(e.dryRun){f({command:`cf workers deployments list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/deployments`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.deployments.list({account_id:n,script_name:o})),{successLabel:`Loaded`})}},ke={command:`deployments`,describe:`Operations for deployments`,builder:e=>e.command(Se).command(we).command(Ee).command(Oe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ae(e){return e.positional(`domain-id`,{type:`string`,description:`ID of the domain.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const je={command:`delete <domain-id>`,describe:`Detaches a domain from a Worker. Both the Worker and all of its previews are no longer routable using this domain.`,builder:Ae,handler:async e=>{if(e.dryRun){f({command:`cf workers domains delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/domains/${e[`domain-id`]==null?`<domain-id>`:encodeURIComponent(String(e[`domain-id`]))}`,pathParams:{"domain-id":String(e[`domain-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
22
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.domains.delete({account_id:n,domain_id:e[`domain-id`]})),{successLabel:`Deleted`})}};function Me(e){return e.positional(`domain-id`,{type:`string`,description:`ID of the domain.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ne={command:`get <domain-id>`,describe:`Gets information about a domain.`,builder:Me,handler:async e=>{if(e.dryRun){f({command:`cf workers domains get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/domains/${e[`domain-id`]==null?`<domain-id>`:encodeURIComponent(String(e[`domain-id`]))}`,pathParams:{"domain-id":String(e[`domain-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.domains.get({account_id:n,domain_id:e[`domain-id`]})),{successLabel:`Loaded`})}};function Pe(e){return e.option(`zone-id`,{type:`string`,description:`ID of the zone containing the domain hostname.`}).option(`zone-name`,{type:`string`,description:`Name of the zone containing the domain hostname.`}).option(`service`,{type:`string`,description:`Name of the Worker associated with the domain.`}).option(`hostname`,{type:`string`,description:`Hostname of the domain.`}).option(`environment`,{type:`string`,description:`Worker environment associated with the domain.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Fe={command:`list`,describe:`Lists all domains for an account.`,builder:Pe,handler:async e=>{let t={zone_id:e[`zone-id`],zone_name:e[`zone-name`],service:e.service,hostname:e.hostname,environment:e.environment};if(e.dryRun){f({command:`cf workers domains list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/domains`,pathParams:{},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.domains.list({account_id:o,...t})),{successLabel:`Loaded`})}};function Ie(e){return e.option(`hostname`,{type:`string`,description:`Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.`}).option(`service`,{type:`string`,description:`Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.`}).option(`zone-id`,{type:`string`,description:`ID of the zone containing the domain hostname.`}).option(`zone-name`,{type:`string`,description:`Name of the zone containing the domain hostname.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Le={command:`update`,describe:`Attaches a domain that routes traffic to a Worker.`,builder:Ie,handler:async e=>{if(e.dryRun){f({command:`cf workers domains update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/domains`,pathParams:{},bodyKind:`json`,body:e.body===void 0?_({hostname:v(e.hostname,`hostname`,`text`),service:v(e.service,`service`,`text`),zone_id:v(e[`zone-id`],`zone-id`,`text`),zone_name:v(e[`zone-name`],`zone-name`,`text`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.domains.update({...r,account_id:n})),{successLabel:`Updated`});return}e.hostname===void 0&&(e.hostname=await b(`hostname`,`Hostname of the domain. Can be either the zone apex or a subdomain of the zone. Requests to this hostname will be routed to the configured Worker.`)),e.service===void 0&&(e.service=await b(`service`,`Name of the Worker associated with the domain. Requests to the configured hostname will be routed to this Worker.`)),e[`zone-id`]===void 0&&(e[`zone-id`]=await b(`zone-id`,`ID of the zone containing the domain hostname.`)),e[`zone-name`]===void 0&&(e[`zone-name`]=await b(`zone-name`,`Name of the zone containing the domain hostname.`));let o=_({hostname:v(e.hostname,`hostname`,`text`),service:v(e.service,`service`,`text`),zone_id:v(e[`zone-id`],`zone-id`,`text`),zone_name:v(e[`zone-name`],`zone-name`,`text`)});d(await p(`Updating`,async()=>t.workers.domains.update({...o,account_id:n})),{successLabel:`Updated`})}},Re={command:`domains`,describe:`Operations for domains`,builder:e=>e.command(je).command(Ne).command(Fe).command(Le).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ze(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Be={command:`list`,describe:`Returns a list of available placement regions organized by cloud provider. These regions can be used to configure Smart Placement for Workers.`,builder:ze,handler:async e=>{if(e.dryRun){f({command:`cf workers placement regions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/placement/regions`,pathParams:{},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.placement.regions.list({account_id:n})),{successLabel:`Loaded`})}},Ve={command:`regions`,describe:`Operations for placement.regions`,builder:e=>e.command(Be).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},He={command:`placement`,describe:`Operations for placement`,builder:e=>e.command(Ve).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ue(e){return e.option(`pattern`,{type:`string`,description:`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`}).option(`script`,{type:`string`,description:`Name of the script to run if the route matches.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const We={command:`create`,describe:`Creates a route that maps a URL pattern to a Worker.`,builder:Ue,handler:async e=>{if(e.dryRun){f({command:`cf workers routes create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/workers/routes`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`json`,body:e.body===void 0?_({pattern:v(e.pattern,`pattern`,`text`),script:v(e.script,`script`,`text`)}):h(e.body)});return}let t=await u(e),n=await o({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=n,e.body){let r=h(e.body);d(await p(`Creating`,async()=>t.workers.routes.create({body:r,zone_id:n})),{successLabel:`Created`});return}e.pattern===void 0&&(e.pattern=await b(`pattern`,`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`));let r=_({pattern:v(e.pattern,`pattern`,`text`),script:v(e.script,`script`,`text`)});d(await p(`Creating`,async()=>t.workers.routes.create({body:r,zone_id:n})),{successLabel:`Created`})}};function Ge(e){return e.positional(`route-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const Ke={command:`delete <route-id>`,describe:`Deletes a route.`,builder:Ge,handler:async e=>{if(e.dryRun){f({command:`cf workers routes delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/workers/routes/${e[`route-id`]==null?`<route-id>`:encodeURIComponent(String(e[`route-id`]))}`,pathParams:{"route-id":String(e[`route-id`]??``),"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=await o({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=n,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
23
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.routes.delete({zone_id:n,route_id:e[`route-id`]})),{successLabel:`Deleted`})}};function qe(e){return e.positional(`route-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Je={command:`get <route-id>`,describe:`Returns information about a route, including URL pattern and Worker.`,builder:qe,handler:async e=>{if(e.dryRun){f({command:`cf workers routes get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/workers/routes/${e[`route-id`]==null?`<route-id>`:encodeURIComponent(String(e[`route-id`]))}`,pathParams:{"route-id":String(e[`route-id`]??``),"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=await o({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,d(await p(`Loading`,async()=>t.workers.routes.get({zone_id:n,route_id:e[`route-id`]})),{successLabel:`Loaded`})}};function Ye(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Xe={command:`list`,describe:`Returns routes for a zone.`,builder:Ye,handler:async e=>{if(e.dryRun){f({command:`cf workers routes list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/workers/routes`,pathParams:{"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=await o({zone:e.zone},t,{quiet:e.quiet});e.zoneId=n,d(await p(`Loading`,async()=>t.workers.routes.list({zone_id:n})),{successLabel:`Loaded`})}};function Ze(e){return e.positional(`route-id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`pattern`,{type:`string`,description:`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`}).option(`script`,{type:`string`,description:`Name of the script to run if the route matches.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Qe={command:`update <route-id>`,describe:`Updates the URL pattern or Worker associated with a route.`,builder:Ze,handler:async e=>{if(e.dryRun){f({command:`cf workers routes update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/zones/${e.zone??e.zoneId??`<zone>`}/workers/routes/${e[`route-id`]==null?`<route-id>`:encodeURIComponent(String(e[`route-id`]))}`,pathParams:{"route-id":String(e[`route-id`]??``),"zone-id":String(e.zone??e[`zone-id`]??``)},bodyKind:`json`,body:e.body===void 0?_({pattern:v(e.pattern,`pattern`,`text`),script:v(e.script,`script`,`text`)}):h(e.body)});return}let t=await u(e),n=await o({zone:e.zone},t,{quiet:e.quiet});if(e.zoneId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.routes.update({body:r,zone_id:n,route_id:e[`route-id`]})),{successLabel:`Updated`});return}e.pattern===void 0&&(e.pattern=await b(`pattern`,`Pattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).`));let r=_({pattern:v(e.pattern,`pattern`,`text`),script:v(e.script,`script`,`text`)});d(await p(`Updating`,async()=>t.workers.routes.update({body:r,zone_id:n,route_id:e[`route-id`]})),{successLabel:`Updated`})}},$e={command:`routes`,describe:`Operations for routes`,builder:e=>e.command(We).command(Ke).command(Je).command(Xe).command(Qe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function et(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const tt={command:`create`,describe:`Start uploading a collection of assets for use in a Worker version. To learn more about the direct uploads of assets, see https://developers.cloudflare.com/workers/static-assets/direct-upload/.`,builder:et,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts assets upload create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/assets-upload-session`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Creating`,async()=>t.workers.scripts.assets.upload.create({body:r,account_id:n,script_name:o})),{successLabel:`Created`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},nt={command:`upload`,describe:`Operations for scripts.assets.upload`,builder:e=>e.command(tt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},rt={command:`assets`,describe:`Operations for scripts.assets`,builder:e=>e.command(nt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function it(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const at={command:`get`,describe:`Fetch script content only.`,builder:it,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts content get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/content/v2`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.content.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}};function ot(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`cf-worker-body-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.`}).option(`cf-worker-main-module-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`files`,{type:`string`,description:"An array of modules (often JavaScript files) comprising a Worker script. At least one module must be present and referenced in the metadata as `main_module` or `body_part` by filename.<br/>Possible Content-Type(s) are: `application/javascript+module`, `text/javascript+module`, `application/javascript`, `text/javascript`, `text/x-python`, `text/x-python-requirement`, `application/wasm`, `text/plain`, `application/octet-stream`, `application/source-map`."}).option(`metadata`,{type:`string`,description:`JSON-encoded metadata about the uploaded parts and Worker configuration.`})}const st={command:`update`,describe:`Put script content without touching config or metadata.`,builder:ot,handler:async e=>{let t={};if(e[`cf-worker-body-part`]!==void 0&&(t[`CF-WORKER-BODY-PART`]=String(e[`cf-worker-body-part`])),e[`cf-worker-main-module-part`]!==void 0&&(t[`CF-WORKER-MAIN-MODULE-PART`]=String(e[`cf-worker-main-module-part`])),e.dryRun){f({command:`cf workers scripts content update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/content`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`multipart`,body:{body:e.body,file:e.file,files:e.files,metadata:e.metadata}});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});if(e.worker=c,e.file!==void 0||e.body!==void 0||e.files!==void 0||e.metadata!==void 0){let r=new FormData;if(e.file){let t=y(e.file);r.append(`file`,new Blob([t]),e.file.split(/[\\/]/).filter(Boolean).pop())}else e.body!==void 0&&r.append(`file`,e.body);if(e.files!==void 0){let t=typeof e.files==`string`?v(e.files,`files`,`text`):e.files;r.append(`files`,typeof t==`string`?t:JSON.stringify(t))}if(e.metadata!==void 0){let t=typeof e.metadata==`string`?v(e.metadata,`metadata`,`text`):e.metadata;r.append(`metadata`,typeof t==`string`?t:JSON.stringify(t))}d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/scripts/${c}/content`,{body:r,headers:Object.keys(t).length>0?t:void 0})),{successLabel:`Updated`});return}if(e.body){let r=v(e.body,`body`,`binary`);d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/scripts/${c}/content`,{body:r,headers:{"Content-Type":`multipart/form-data`,...t}})),{successLabel:`Updated`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},ct={command:`content`,describe:`Operations for scripts.content`,builder:e=>e.command(at).command(st).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function lt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`force`,{type:`boolean`,description:`If set to true, delete will not be stopped by associated service binding, durable object, or other binding. Any of these associated bindings/durable objects will be deleted along with the script.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ut={command:`delete`,describe:`Delete your worker. This call has no response body on a successful delete.`,builder:lt,handler:async e=>{let t={force:e.force};if(e.dryRun){f({command:`cf workers scripts delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}`,pathParams:{"script-name":String(e[`script-name`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});if(e.worker=c,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
24
|
+
`);return}d(await p(`Deleting`,async()=>n.workers.scripts.delete({account_id:o,script_name:c,...t})),{successLabel:`Deleted`})}};function dt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const ft={command:`get`,describe:`Fetch raw script content for your worker. Note this is the original script content, not JSON encoded.`,builder:dt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}await u(e);let t=e.local?r:await i();e.accountId=t;let n=s({scriptName:e.worker});e.worker=n;let o=await p(`Loading`,async()=>w(`/accounts/${t}/workers/scripts/${n}`,{method:`GET`,local:e.local===!0,persistTo:e.persistTo}));te(e.text===!0?o.toString(`utf-8`):o)}};function pt(e){return e.option(`tags`,{type:`string`,description:`Filter scripts by tags. Format: comma-separated list of tag:allowed pairs where allowed is 'yes' or 'no'.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const mt={command:`list`,describe:`Fetch a list of uploaded workers.`,builder:pt,handler:async e=>{let t={tags:e.tags};if(e.dryRun){f({command:`cf workers scripts list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts`,pathParams:{},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.scripts.list({account_id:o,...t})),{successLabel:`Loaded`})}};function ht(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const gt={command:`get`,describe:`Fetches Cron Triggers for a Worker.`,builder:ht,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts schedules get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/schedules`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.schedules.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}};function _t(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const vt={command:`update`,describe:`Updates Cron Triggers for a Worker.`,builder:_t,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts schedules update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/schedules`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.scripts.schedules.update({body:r,account_id:n,script_name:o})),{successLabel:`Updated`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},yt={command:`schedules`,describe:`Operations for scripts.schedules`,builder:e=>e.command(gt).command(vt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function bt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`settings`,{type:`string`,description:`The settings`})}const xt={command:`edit`,describe:`Patch metadata or config, such as bindings or usage model.`,builder:bt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts script-and-version-settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/settings`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`multipart`,body:{body:e.body,file:e.file,settings:e.settings}});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.file!==void 0||e.body!==void 0||e.settings!==void 0){let r=new FormData;if(e.file){let t=y(e.file);r.append(`file`,new Blob([t]),e.file.split(/[\\/]/).filter(Boolean).pop())}else e.body!==void 0&&r.append(`file`,e.body);if(e.settings!==void 0){let t=typeof e.settings==`string`?v(e.settings,`settings`,`text`):e.settings;r.append(`settings`,typeof t==`string`?t:JSON.stringify(t))}d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/scripts/${o}/settings`,{body:r})),{successLabel:`Updated`});return}if(e.body){let r=v(e.body,`body`,`binary`);d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/scripts/${o}/settings`,{body:r,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Updated`});return}d(await p(`Updating`,async()=>t.workers.scripts.scriptAndVersionSettings.edit({account_id:n,script_name:o})),{successLabel:`Updated`})}};function St(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ct={command:`get`,describe:`Get metadata and config, such as bindings or usage model.`,builder:St,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts script-and-version-settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/settings`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.scriptAndVersionSettings.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}},wt={command:`script-and-version-settings`,describe:`Operations for scripts.script-and-version-settings`,builder:e=>e.command(xt).command(Ct).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Tt(e){return e.option(`name`,{type:`string`,description:`Worker name to search for. Both exact and partial matches are returned.`}).option(`id`,{type:`string`,description:`Worker ID (also called tag) to search for. Only exact matches are returned.`}).option(`order-by`,{type:`string`,description:`Property to sort results by. Results are sorted in ascending order.`,choices:[`created_on`,`modified_on`,`name`]}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Et={command:`search`,describe:`Search for Workers in an account.`,builder:C(Tt),handler:async e=>{let t={name:e.name,id:e.id,order_by:e[`order-by`],page:e.page,per_page:e[`per-page`]};if(e.dryRun){f({command:`cf workers scripts search`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts-search`,pathParams:{},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o,d(await p(`Loading`,async()=>n.workers.scripts.search({account_id:o,...t})),{successLabel:`Loaded`})}};function Dt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`logpush`,{type:`boolean`,description:`Whether Logpush is turned on for the Worker.`}).option(`observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`tail-consumers`,{type:`string`,description:`List of Workers that will consume logs from the attached Worker. Provide as a JSON array of objects or @path/to/file.json.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).check(e=>{if([`observability-enabled`,`observability-head-sampling-rate`,`observability-logs-destinations`,`observability-logs-enabled`,`observability-logs-head-sampling-rate`,`observability-logs-invocation-logs`,`observability-logs-persist`,`observability-redact-query-string`,`observability-traces-destinations`,`observability-traces-enabled`,`observability-traces-head-sampling-rate`,`observability-traces-persist`,`observability-traces-propagation-policy`].some(t=>e[t]!==void 0)){let t=[`observability-enabled`,`observability-logs-enabled`,`observability-logs-invocation-logs`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --observability-* flag is set`)}return!0})}const Ot={command:`edit`,describe:`Patch script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Including but not limited to Logpush and Tail Consumers.`,builder:Dt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/script-settings`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?_({logpush:e.logpush,observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},tail_consumers:g(e[`tail-consumers`],`tail-consumers`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.scripts.settings.edit({body:r,account_id:n,script_name:o})),{successLabel:`Updated`});return}let c=_({logpush:e.logpush,observability:{enabled:e[`observability-enabled`],head_sampling_rate:e[`observability-head-sampling-rate`],logs:{destinations:e[`observability-logs-destinations`],enabled:e[`observability-logs-enabled`],head_sampling_rate:e[`observability-logs-head-sampling-rate`],invocation_logs:e[`observability-logs-invocation-logs`],persist:e[`observability-logs-persist`]},redact_query_string:e[`observability-redact-query-string`],traces:{destinations:e[`observability-traces-destinations`],enabled:e[`observability-traces-enabled`],head_sampling_rate:e[`observability-traces-head-sampling-rate`],persist:e[`observability-traces-persist`],propagation_policy:v(e[`observability-traces-propagation-policy`],`observability-traces-propagation-policy`,`text`)}},tail_consumers:g(e[`tail-consumers`],`tail-consumers`)});d(await p(`Updating`,async()=>t.workers.scripts.settings.edit({body:c,account_id:n,script_name:o})),{successLabel:`Updated`})}};function kt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const At={command:`get`,describe:`Get script-level settings when using [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions). Includes Logpush and Tail Consumers.`,builder:kt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/script-settings`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.settings.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}},jt={command:`settings`,describe:`Operations for scripts.settings`,builder:e=>e.command(Ot).command(At).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Mt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`enabled`,{type:`boolean`,description:`Whether the Worker should be available on the workers.dev subdomain.`}).option(`previews-enabled`,{type:`boolean`,description:`Whether the Worker's Preview URLs should be available on the workers.dev subdomain.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Nt={command:`create`,describe:`Enable or disable the Worker on the workers.dev subdomain.`,builder:Mt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts subdomain create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/subdomain`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?_({enabled:e.enabled,previews_enabled:e[`previews-enabled`]}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Creating`,async()=>t.workers.scripts.subdomain.create({...r,account_id:n,script_name:o})),{successLabel:`Created`});return}if(e.enabled===void 0)throw Error(`--enabled is required (or pass --body with this field set).`);let c=_({enabled:e.enabled,previews_enabled:e[`previews-enabled`]});d(await p(`Creating`,async()=>t.workers.scripts.subdomain.create({...c,account_id:n,script_name:o})),{successLabel:`Created`})}};function Pt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const Ft={command:`delete`,describe:`Disable all workers.dev subdomains for a Worker.`,builder:Pt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts subdomain delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/subdomain`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
25
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.scripts.subdomain.delete({account_id:n,script_name:o})),{successLabel:`Deleted`})}};function It(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Lt={command:`get`,describe:`Get if the Worker is available on the workers.dev subdomain.`,builder:It,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts subdomain get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/subdomain`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.subdomain.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}},Rt={command:`subdomain`,describe:`Operations for scripts.subdomain`,builder:e=>e.command(Nt).command(Ft).command(Lt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function zt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Bt={command:`create`,describe:`Starts a tail that receives logs and exception from a Worker.`,builder:zt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts tail create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/tails`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Creating`,async()=>t.workers.scripts.tail.create({account_id:n,script_name:o})),{successLabel:`Created`})}};function Vt(e){return e.positional(`id`,{type:`string`,description:`Identifier.`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const Ht={command:`delete <id>`,describe:`Deletes a tail from a Worker.`,builder:Vt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts tail delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/tails/${e.id==null?`<id>`:encodeURIComponent(String(e.id))}`,pathParams:{"script-name":String(e[`script-name`]??``),id:String(e.id??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
26
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.scripts.tail.delete({account_id:n,script_name:o,id:e.id})),{successLabel:`Deleted`})}};function Ut(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Wt={command:`get`,describe:`Get list of tails currently deployed on a Worker.`,builder:Ut,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts tail get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/tails`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.tail.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}},Gt={command:`tail`,describe:`Operations for scripts.tail`,builder:e=>e.command(Bt).command(Ht).command(Wt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Kt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`bindings-inherit`,{type:`string`,description:'When set to "strict", the upload will fail if any `inherit` type bindings cannot be resolved against the previous version of the Worker. Without this, unresolvable inherit bindings are silently dropped.',choices:[`strict`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const qt={command:`update`,describe:`Upload a worker module. You can find more about the multipart metadata on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/.`,builder:C(Kt),handler:async e=>{let t={bindings_inherit:e[`bindings-inherit`]};if(e.dryRun){f({command:`cf workers scripts update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}`,pathParams:{"script-name":String(e[`script-name`]??``)},query:t,bodyKind:`octet-stream`,body:e.body});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});if(e.worker=c,e.file){let t=y(e.file);d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/scripts/${c}`,{body:t,headers:{"Content-Type":`application/javascript`}})),{successLabel:`Updated`});return}if(e.body){let r=v(e.body,`body`,`binary`),i=new URLSearchParams(Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString();d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/scripts/${c}${i?`?`+i:``}`,{body:r,headers:{"Content-Type":`application/javascript`}})),{successLabel:`Updated`});return}d(await p(`Updating`,async()=>n.workers.scripts.update({account_id:o,script_name:c,...t})),{successLabel:`Updated`})}};function Jt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Yt={command:`get`,describe:`Fetches the Usage Model for a given Worker.`,builder:Jt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts usage-model get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/usage-model`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.scripts.usageModel.get({account_id:n,script_name:o})),{successLabel:`Loaded`})}};function Xt(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`usage-model`,{type:`string`,description:`Usage model for the Worker invocations.`,choices:[`standard`,`bundled`,`unbound`]}).option(`user-limits-cpu-ms`,{type:`number`,description:`The amount of CPU time this Worker can use in milliseconds.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Zt={command:`update`,describe:`Updates the Usage Model for a given Worker. Requires a Workers Paid subscription.`,builder:Xt,handler:async e=>{if(e.dryRun){f({command:`cf workers scripts usage-model update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/usage-model`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?_({usage_model:v(e[`usage-model`],`usage-model`,`text`),user_limits:{cpu_ms:e[`user-limits-cpu-ms`]}}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.scripts.usageModel.update({...r,account_id:n,script_name:o})),{successLabel:`Updated`});return}let c=_({usage_model:v(e[`usage-model`],`usage-model`,`text`),user_limits:{cpu_ms:e[`user-limits-cpu-ms`]}});d(await p(`Updating`,async()=>t.workers.scripts.usageModel.update({...c,account_id:n,script_name:o})),{successLabel:`Updated`})}},Qt={command:`usage-model`,describe:`Operations for scripts.usage-model`,builder:e=>e.command(Yt).command(Zt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},$t={command:`scripts`,describe:`Operations for scripts`,builder:e=>e.command(ut).command(ft).command(mt).command(Et).command(qt).command(rt).command(ct).command(yt).command(wt).command(jt).command(Rt).command(Gt).command(Qt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function en(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`JSON Merge Patch (RFC 7396) request body for bulk secret changes. `}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`})}const tn={command:`bulk-edit`,describe:"Create, update, or delete multiple secrets on a script in a single operation using JSON Merge Patch (RFC 7396). Usage: - To create or update a secret, set its value to a secret object. - To delete a secret, set its value to `null`. - Secrets not included in the request are left unchanged.",builder:en,handler:async e=>{if(e.dryRun){f({command:`cf workers secrets bulk-edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/secrets-bulk`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?void 0:h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.file){let r=y(e.file);d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/scripts/${o}/secrets-bulk`,{body:r,headers:{"Content-Type":`application/merge-patch+json`}})),{successLabel:`Updated`});return}if(e.body){let r=h(e.body);d(await p(`Updating`,async()=>l(t,`PATCH`,`/accounts/${n}/workers/scripts/${o}/secrets-bulk`,{body:r})),{successLabel:`Updated`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}};function nn(e){return e.positional(`secret-name`,{type:`string`,description:`A JavaScript variable name for the secret binding.`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`url-encoded`,{type:`boolean`,description:`Flag that indicates whether the secret name is URL encoded.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const rn={command:`delete <secret-name>`,describe:`Remove a secret from a script.`,builder:nn,handler:async e=>{let t={url_encoded:e[`url-encoded`]};if(e.dryRun){f({command:`cf workers secrets delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/secrets/${e[`secret-name`]==null?`<secret-name>`:encodeURIComponent(String(e[`secret-name`]))}`,pathParams:{"script-name":String(e[`script-name`]??``),"secret-name":String(e[`secret-name`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});if(e.worker=c,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
27
|
+
`);return}d(await p(`Deleting`,async()=>n.workers.secrets.delete({account_id:o,script_name:c,secret_name:e[`secret-name`],...t})),{successLabel:`Deleted`})}};function an(e){return e.positional(`secret-name`,{type:`string`,description:`A JavaScript variable name for the secret binding.`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`url-encoded`,{type:`boolean`,description:`Flag that indicates whether the secret name is URL encoded.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const on={command:`get <secret-name>`,describe:`Get a given secret binding (value omitted) on a script.`,builder:an,handler:async e=>{let t={url_encoded:e[`url-encoded`]};if(e.dryRun){f({command:`cf workers secrets get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/secrets/${e[`secret-name`]==null?`<secret-name>`:encodeURIComponent(String(e[`secret-name`]))}`,pathParams:{"script-name":String(e[`script-name`]??``),"secret-name":String(e[`secret-name`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});e.worker=c,d(await p(`Loading`,async()=>n.workers.secrets.get({account_id:o,script_name:c,secret_name:e[`secret-name`],...t})),{successLabel:`Loaded`})}};function sn(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const cn={command:`list`,describe:`List secrets bound to a script.`,builder:sn,handler:async e=>{if(e.dryRun){f({command:`cf workers secrets list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/secrets`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.secrets.list({account_id:n,script_name:o})),{successLabel:`Loaded`})}};function ln(e){return e.positional(`name`,{type:`string`,description:`A JavaScript variable name for the binding.`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script, used in URLs and route configuration.`}).option(`text`,{type:`string`,description:`The secret value to use.`}).option(`type`,{type:`string`,description:`The kind of resource that the binding provides.`,choices:[`secret_text`,`secret_key`]}).option(`format`,{type:`string`,description:`Data format of the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).`,choices:[`raw`,`pkcs8`,`spki`,`jwk`]}).option(`key-base64`,{type:`string`,description:'Base64-encoded key data. Required if `format` is "raw", "pkcs8", or "spki".'}).option(`usages`,{type:`string`,array:!0,description:`Allowed operations with the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`A secret value accessible through a binding.`}).conflicts(`text`,[`format`,`key-base64`,`usages`]).conflicts(`format`,[`text`]).implies(`format`,[`usages`]).conflicts(`key-base64`,[`text`]).conflicts(`usages`,[`text`]).implies(`usages`,[`format`])}const un={command:`update <name>`,describe:`Add a secret to a script.`,builder:ln,handler:async e=>{if(e.dryRun){f({command:`cf workers secrets update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/secrets`,pathParams:{"script-name":String(e[`script-name`]??``)},bodyKind:`json`,body:e.body===void 0?_({text:v(e.text,`text`,`text`),type:v(e.type,`type`,`text`),format:v(e.format,`format`,`text`),key_base64:v(e[`key-base64`],`key-base64`,`text`),usages:e.usages,name:e.name}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});if(e.worker=o,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.secrets.update({body:r,account_id:n,script_name:o})),{successLabel:`Updated`});return}if(e.type===void 0&&(e.type=await x(`type`,`The kind of resource that the binding provides.`,[`secret_text`,`secret_key`])),e.type===`secret_text`&&e.text===void 0&&(e.text=await b(`text`,`The secret value to use.`,{kind:`secret`,question:`Enter value for --text`})),e.type===`secret_key`&&e.format===void 0&&(e.format=await b(`format`,`Data format of the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format).`,{question:`Enter value for --format`})),e.type===`secret_key`&&e.usages===void 0)throw Error(`--usages is required (or pass --body with this field set).`);let c=_({text:v(e.text,`text`,`text`),type:v(e.type,`type`,`text`),format:v(e.format,`format`,`text`),key_base64:v(e[`key-base64`],`key-base64`,`text`),usages:e.usages,name:e.name});d(await p(`Updating`,async()=>t.workers.secrets.update({body:c,account_id:n,script_name:o})),{successLabel:`Updated`})}},dn={command:`secrets`,describe:`Operations for secrets`,builder:e=>e.command(tn).command(rn).command(on).command(cn).command(un).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function fn(e){return e.positional(`environment-name`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const pn={command:`get <environment-name>`,describe:`Get script content from a worker with an environment.`,builder:fn,handler:async e=>{if(e.dryRun){f({command:`cf workers services environments content get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/services/${e[`service-name`]==null?`<service-name>`:encodeURIComponent(String(e[`service-name`]))}/environments/${e[`environment-name`]==null?`<environment-name>`:encodeURIComponent(String(e[`environment-name`]))}/content`,pathParams:{"service-name":String(e[`service-name`]??``),"environment-name":String(e[`environment-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.services.environments.content.get({account_id:n,service_name:e[`service-name`],environment_name:e[`environment-name`]})),{successLabel:`Loaded`})}};function mn(e){return e.positional(`environment-name`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`cf-worker-body-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in service worker format. Alternative to including in a metadata part.`}).option(`cf-worker-main-module-part`,{type:`string`,description:`The multipart name of a script upload part containing script content in es module format. Alternative to including in a metadata part.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`files`,{type:`string`,description:"An array of modules (often JavaScript files) comprising a Worker script. At least one module must be present and referenced in the metadata as `main_module` or `body_part` by filename.<br/>Possible Content-Type(s) are: `application/javascript+module`, `text/javascript+module`, `application/javascript`, `text/javascript`, `text/x-python`, `text/x-python-requirement`, `application/wasm`, `text/plain`, `application/octet-stream`, `application/source-map`."}).option(`metadata`,{type:`string`,description:`JSON-encoded metadata about the uploaded parts and Worker configuration.`})}const hn={command:`update <environment-name>`,describe:`Put script content from a worker with an environment.`,builder:mn,handler:async e=>{let t={};if(e[`cf-worker-body-part`]!==void 0&&(t[`CF-WORKER-BODY-PART`]=String(e[`cf-worker-body-part`])),e[`cf-worker-main-module-part`]!==void 0&&(t[`CF-WORKER-MAIN-MODULE-PART`]=String(e[`cf-worker-main-module-part`])),e.dryRun){f({command:`cf workers services environments content update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/services/${e[`service-name`]==null?`<service-name>`:encodeURIComponent(String(e[`service-name`]))}/environments/${e[`environment-name`]==null?`<environment-name>`:encodeURIComponent(String(e[`environment-name`]))}/content`,pathParams:{"service-name":String(e[`service-name`]??``),"environment-name":String(e[`environment-name`]??``)},bodyKind:`multipart`,body:{body:e.body,file:e.file,files:e.files,metadata:e.metadata}});return}let n=await u(e),o=e.local?r:await i();if(e.accountId=o,e.file!==void 0||e.body!==void 0||e.files!==void 0||e.metadata!==void 0){let r=new FormData;if(e.file){let t=y(e.file);r.append(`file`,new Blob([t]),e.file.split(/[\\/]/).filter(Boolean).pop())}else e.body!==void 0&&r.append(`file`,e.body);if(e.files!==void 0){let t=typeof e.files==`string`?v(e.files,`files`,`text`):e.files;r.append(`files`,typeof t==`string`?t:JSON.stringify(t))}if(e.metadata!==void 0){let t=typeof e.metadata==`string`?v(e.metadata,`metadata`,`text`):e.metadata;r.append(`metadata`,typeof t==`string`?t:JSON.stringify(t))}d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/services/${encodeURIComponent(String(e[`service-name`]))}/environments/${encodeURIComponent(String(e[`environment-name`]))}/content`,{body:r,headers:Object.keys(t).length>0?t:void 0})),{successLabel:`Updated`});return}if(e.body){let r=v(e.body,`body`,`binary`);d(await p(`Updating`,async()=>l(n,`PUT`,`/accounts/${o}/workers/services/${encodeURIComponent(String(e[`service-name`]))}/environments/${encodeURIComponent(String(e[`environment-name`]))}/content`,{body:r,headers:{"Content-Type":`multipart/form-data`,...t}})),{successLabel:`Updated`});return}if(e.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},gn={command:`content`,describe:`Operations for services.environments.content`,builder:e=>e.command(pn).command(hn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function _n(e){return e.positional(`environment-name`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`errors`,{type:`string`,description:`The errors field. Provide as a JSON array of objects or @path/to/file.json.`}).option(`messages`,{type:`string`,description:`The messages field. Provide as a JSON array of objects or @path/to/file.json.`}).option(`success`,{type:`boolean`,description:`Whether the API call was successful.`}).option(`result-logpush`,{type:`boolean`,description:`Whether Logpush is turned on for the Worker.`}).option(`result-observability-enabled`,{type:`boolean`,description:`Whether observability is enabled for the Worker.`}).option(`result-observability-head-sampling-rate`,{type:`number`,description:`The sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-logs-destinations`,{type:`string`,array:!0,description:`A list of destinations where logs will be exported to.`}).option(`result-observability-logs-enabled`,{type:`boolean`,description:`Whether logs are enabled for the Worker.`}).option(`result-observability-logs-head-sampling-rate`,{type:`number`,description:`The sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-logs-invocation-logs`,{type:`boolean`,description:`Whether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.`}).option(`result-observability-logs-persist`,{type:`boolean`,description:`Whether log persistence is enabled for the Worker.`}).option(`result-observability-redact-query-string`,{type:`boolean`,description:`Whether query strings are removed from request URLs in logs and traces.`}).option(`result-observability-traces-destinations`,{type:`string`,array:!0,description:`A list of destinations where traces will be exported to.`}).option(`result-observability-traces-enabled`,{type:`boolean`,description:`Whether traces are enabled for the Worker.`}).option(`result-observability-traces-head-sampling-rate`,{type:`number`,description:`The sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.`}).option(`result-observability-traces-persist`,{type:`boolean`,description:`Whether trace persistence is enabled for the Worker.`}).option(`result-observability-traces-propagation-policy`,{type:`string`,description:`Controls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled. "authenticated" honors inbound trace context only when accompanied by a valid trace auth token. "accept" unconditionally accepts inbound trace context. Requires the trace propagation feature to be enabled. Returns null when the trace propagation feature is not enabled for the account.`,choices:[`authenticated`,`accept`]}).option(`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 vn={command:`edit <environment-name>`,describe:`Patch script metadata, such as bindings.`,builder:_n,handler:async e=>{if(e.dryRun){f({command:`cf workers services environments settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/services/${e[`service-name`]==null?`<service-name>`:encodeURIComponent(String(e[`service-name`]))}/environments/${e[`environment-name`]==null?`<environment-name>`:encodeURIComponent(String(e[`environment-name`]))}/settings`,pathParams:{"service-name":String(e[`service-name`]??``),"environment-name":String(e[`environment-name`]??``)},bodyKind:`json`,body:e.body===void 0?_({errors:g(e.errors,`errors`),messages:g(e.messages,`messages`),success:e.success,result:{logpush:e[`result-logpush`],observability:{enabled:e[`result-observability-enabled`],head_sampling_rate:e[`result-observability-head-sampling-rate`],logs:{destinations:e[`result-observability-logs-destinations`],enabled:e[`result-observability-logs-enabled`],head_sampling_rate:e[`result-observability-logs-head-sampling-rate`],invocation_logs:e[`result-observability-logs-invocation-logs`],persist:e[`result-observability-logs-persist`]},redact_query_string:e[`result-observability-redact-query-string`],traces:{destinations:e[`result-observability-traces-destinations`],enabled:e[`result-observability-traces-enabled`],head_sampling_rate:e[`result-observability-traces-head-sampling-rate`],persist:e[`result-observability-traces-persist`],propagation_policy:v(e[`result-observability-traces-propagation-policy`],`result-observability-traces-propagation-policy`,`text`)}}}}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.services.environments.settings.edit({...r,account_id:n,service_name:e[`service-name`],environment_name:e[`environment-name`]})),{successLabel:`Updated`});return}if(e.errors===void 0)throw Error(`--errors is required (or pass --body with this field set).`);if(e.messages===void 0)throw Error(`--messages is required (or pass --body with this field set).`);if(e.success===void 0)throw Error(`--success is required (or pass --body with this field set).`);if(e[`result-observability-enabled`]===void 0)throw Error(`--result-observability-enabled is required (or pass --body with this field set).`);if(e[`result-observability-logs-enabled`]===void 0)throw Error(`--result-observability-logs-enabled is required (or pass --body with this field set).`);if(e[`result-observability-logs-invocation-logs`]===void 0)throw Error(`--result-observability-logs-invocation-logs is required (or pass --body with this field set).`);let o=_({errors:g(e.errors,`errors`),messages:g(e.messages,`messages`),success:e.success,result:{logpush:e[`result-logpush`],observability:{enabled:e[`result-observability-enabled`],head_sampling_rate:e[`result-observability-head-sampling-rate`],logs:{destinations:e[`result-observability-logs-destinations`],enabled:e[`result-observability-logs-enabled`],head_sampling_rate:e[`result-observability-logs-head-sampling-rate`],invocation_logs:e[`result-observability-logs-invocation-logs`],persist:e[`result-observability-logs-persist`]},redact_query_string:e[`result-observability-redact-query-string`],traces:{destinations:e[`result-observability-traces-destinations`],enabled:e[`result-observability-traces-enabled`],head_sampling_rate:e[`result-observability-traces-head-sampling-rate`],persist:e[`result-observability-traces-persist`],propagation_policy:v(e[`result-observability-traces-propagation-policy`],`result-observability-traces-propagation-policy`,`text`)}}}});d(await p(`Updating`,async()=>t.workers.services.environments.settings.edit({...o,account_id:n,service_name:e[`service-name`],environment_name:e[`environment-name`]})),{successLabel:`Updated`})}};function yn(e){return e.positional(`environment-name`,{type:`string`,description:`Optional environment if the Worker utilizes one.`,demandOption:!0}).option(`service-name`,{type:`string`,description:`Name of Worker to bind to.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const $={command:`get <environment-name>`,describe:`Get script settings from a worker with an environment.`,builder:yn,handler:async e=>{if(e.dryRun){f({command:`cf workers services environments settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/services/${e[`service-name`]==null?`<service-name>`:encodeURIComponent(String(e[`service-name`]))}/environments/${e[`environment-name`]==null?`<environment-name>`:encodeURIComponent(String(e[`environment-name`]))}/settings`,pathParams:{"service-name":String(e[`service-name`]??``),"environment-name":String(e[`environment-name`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.services.environments.settings.get({account_id:n,service_name:e[`service-name`],environment_name:e[`environment-name`]})),{successLabel:`Loaded`})}},bn={command:`settings`,describe:`Operations for services.environments.settings`,builder:e=>e.command(vn).command($).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},xn={command:`environments`,describe:`Operations for services.environments`,builder:e=>e.command(gn).command(bn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Sn={command:`services`,describe:`Operations for services`,builder:e=>e.command(xn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Cn(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const wn={command:`delete`,describe:`Deletes a Workers subdomain for an account.`,builder:Cn,handler:async e=>{if(e.dryRun){f({command:`cf workers subdomains delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,!await S({force:!!e.force})){process.stderr.write(`Aborted.
|
|
28
|
+
`);return}d(await p(`Deleting`,async()=>t.workers.subdomains.delete({account_id:n})),{successLabel:`Deleted`})}};function Tn(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const En={command:`get`,describe:`Returns a Workers subdomain for an account.`,builder:Tn,handler:async e=>{if(e.dryRun){f({command:`cf workers subdomains get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n,d(await p(`Loading`,async()=>t.workers.subdomains.get({account_id:n})),{successLabel:`Loaded`})}};function Dn(e){return e.option(`subdomain`,{type:`string`,description:`The subdomain field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const On={command:`update`,describe:`Creates a Workers subdomain for an account.`,builder:Dn,handler:async e=>{if(e.dryRun){f({command:`cf workers subdomains update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/subdomain`,pathParams:{},bodyKind:`json`,body:e.body===void 0?_({subdomain:v(e.subdomain,`subdomain`,`text`)}):h(e.body)});return}let t=await u(e),n=e.local?r:await i();if(e.accountId=n,e.body){let r=h(e.body);d(await p(`Updating`,async()=>t.workers.subdomains.update({body:r,account_id:n})),{successLabel:`Updated`});return}e.subdomain===void 0&&(e.subdomain=await b(`subdomain`,`The subdomain field`));let o=_({subdomain:v(e.subdomain,`subdomain`,`text`)});d(await p(`Updating`,async()=>t.workers.subdomains.update({body:o,account_id:n})),{successLabel:`Updated`})}},kn={command:`subdomains`,describe:`Operations for subdomains`,builder:e=>e.command(wn).command(En).command(On).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function An(e){return O(e).option(`preview-alias`,{type:`string`,description:`Preview alias for this Worker Version`,requiresArg:!0})}const jn={command:`create`,describe:`Upload a new Worker Version without deploying it`,builder:An,handler:async e=>{await A(e,{command:`Version upload`})}};function Mn(e){return e.positional(`version-id`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Nn={command:`get <version-id>`,describe:`Retrieves detailed information about a specific version of a Workers script.`,builder:Mn,handler:async e=>{if(e.dryRun){f({command:`cf workers versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/versions/${e[`version-id`]==null?`<version-id>`:encodeURIComponent(String(e[`version-id`]))}`,pathParams:{"script-name":String(e[`script-name`]??``),"version-id":String(e[`version-id`]??``)},bodyKind:`none`});return}let t=await u(e),n=e.local?r:await i();e.accountId=n;let o=s({scriptName:e.worker});e.worker=o,d(await p(`Loading`,async()=>t.workers.versions.get({account_id:n,script_name:o,version_id:e[`version-id`]})),{successLabel:`Loaded`})}};function Pn(e){return e.option(`worker`,{type:`string`,alias:`script-name`,description:`Name of the script.`}).option(`deployable`,{type:`boolean`,description:`Only return versions that can be used in a deployment. Ignores pagination.`}).option(`page`,{type:`number`,description:`Current page.`}).option(`per-page`,{type:`number`,description:`Items per-page.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Fn={command:`list`,describe:`List of Worker Versions. The first version in the list is the latest version.`,builder:Pn,handler:async e=>{let t={deployable:e.deployable,page:e.page,per_page:e[`per-page`]};if(e.dryRun){f({command:`cf workers versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await a()??`<account-id>`}/workers/scripts/${e.worker??`<worker>`}/versions`,pathParams:{"script-name":String(e[`script-name`]??``)},query:t,bodyKind:`none`});return}let n=await u(e),o=e.local?r:await i();e.accountId=o;let c=s({scriptName:e.worker});e.worker=c,d(await p(`Loading`,async()=>n.workers.versions.list({account_id:o,script_name:c,...t})),{successLabel:`Loaded`})}},In={command:`versions`,describe:`Operations for versions`,builder:e=>e.command(jn).command(Nn).command(Fn).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Ln={command:`workers`,describe:`workers`,builder:e=>e.command(P).command(H).command(K).command(be).command(ke).command(Re).command(He).command($e).command($t).command(dn).command(Sn).command(kn).command(L).command(In).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Ln as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{t as e}from"./local-
|
|
2
|
+
import{t as e}from"./local-DGiIS1uM.mjs";import{f as t,g as n}from"./oauth-DAa7SwkM.mjs";import{r}from"./auth-DY_Y2bXC.mjs";import{t as i}from"./output-BqDR9h74.mjs";import{t as a}from"./dry-run-ILZRVpnp.mjs";import{t as o}from"./progress-jYW64HY7.mjs";import{n as s,t as c}from"./body-parser-BGVbwPeM.mjs";import{n as l}from"./input-validation-1esLElok.mjs";import{a as u,i as d,n as f}from"./prompt-CyATfGUu.mjs";function p(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const m={command:`cancel <build-uuid>`,describe:`Cancel a running or queued build`,builder:p,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds cancel`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/cancel`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Updating`,async()=>c.workersBuilds.builds.cancel({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Updated`})}};function h(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ee={command:`get <build-uuid>`,describe:`Retrieve detailed information about a specific build`,builder:h,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds builds get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.builds.get({account_id:l,build_uuid:s[`build-uuid`]})),{successLabel:`Loaded`})}};function g(e){return e.option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`list`,describe:`Get all builds for a specific worker script with pagination`,builder:g,handler:async s=>{let c={page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf workers-builds builds list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`external-script-id`]==null?`<external-script-id>`:encodeURIComponent(String(s[`external-script-id`]))}/builds`,pathParams:{"external-script-id":String(s[`external-script-id`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.list({account_id:u,external_script_id:s[`external-script-id`],...c})),{successLabel:`Loaded`})}};function v(e){return e.positional(`build-uuid`,{type:`string`,description:`Build UUID.`,demandOption:!0}).option(`cursor`,{type:`string`,description:`Pagination cursor for log retrieval.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <build-uuid>`,describe:`Retrieve logs for a specific build with cursor-based pagination`,builder:v,handler:async s=>{let c={cursor:s.cursor};if(s.dryRun){a({command:`cf workers-builds builds logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/${s[`build-uuid`]==null?`<build-uuid>`:encodeURIComponent(String(s[`build-uuid`]))}/logs`,pathParams:{"build-uuid":String(s[`build-uuid`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.builds.logs.get({account_id:u,build_uuid:s[`build-uuid`],...c})),{successLabel:`Loaded`})}},b={command:`logs`,describe:`Operations for builds.logs`,builder:e=>e.command(y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},x={command:`builds`,describe:`Build job operations`,builder:e=>e.command(m).command(ee).command(_).command(b).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function S(e){return e.positional(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`}).option(`deploy-hook-name`,{type:`string`,description:`Deploy hook name (1-58 characters).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const C={command:`create <script-name>`,describe:`Create a new deploy hook for a worker script.`,builder:S,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds deploy-hooks create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${d[`script-name`]==null?`<script-name>`:encodeURIComponent(String(d[`script-name`]))}/deploy_hooks`,pathParams:{"script-name":String(d[`script-name`]??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:e,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`});return}d.branch===void 0&&(d.branch=await u(`branch`,`Git branch name.`)),d[`deploy-hook-name`]===void 0&&(d[`deploy-hook-name`]=await u(`deploy-hook-name`,`Deploy hook name (1-58 characters).`));let m=c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.deployHooks.create({body:m,account_id:p,script_name:d[`script-name`]})),{successLabel:`Created`})}};function w(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const T={command:`delete <deploy-hook-uuid>`,describe:`Delete a deploy hook.`,builder:w,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks/${s[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(s[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(s[`script-name`]??``),"deploy-hook-uuid":String(s[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
|
|
3
3
|
`);return}i(await o(`Deleting`,async()=>c.workersBuilds.deployHooks.delete({account_id:l,script_name:s[`script-name`],deploy_hook_uuid:s[`deploy-hook-uuid`]})),{successLabel:`Deleted`})}};function E(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const D={command:`get <deploy-hook-uuid>`,describe:`Get details of a specific deploy hook.`,builder:E,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks/${s[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(s[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(s[`script-name`]??``),"deploy-hook-uuid":String(s[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.deployHooks.get({account_id:l,script_name:s[`script-name`],deploy_hook_uuid:s[`deploy-hook-uuid`]})),{successLabel:`Loaded`})}};function O(e){return e.option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const k={command:`list`,describe:`Get all deploy hooks for a specific worker script.`,builder:O,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds deploy-hooks list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${s[`script-name`]==null?`<script-name>`:encodeURIComponent(String(s[`script-name`]))}/deploy_hooks`,pathParams:{"script-name":String(s[`script-name`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.deployHooks.list({account_id:l,script_name:s[`script-name`]})),{successLabel:`Loaded`})}};function A(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`trigger <deploy-hook-uuid>`,describe:`Trigger a build using a deploy hook. This endpoint does not require authentication - the deploy_hook_uuid acts as a secret token.`,builder:A,handler:async e=>{if(e.dryRun){a({command:`cf workers-builds deploy-hooks trigger`,method:`POST`,url:`https://api.cloudflare.com/client/v4/workers/builds/deploy_hooks/${e[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(e[`deploy-hook-uuid`]))}`,pathParams:{"deploy-hook-uuid":String(e[`deploy-hook-uuid`]??``)},bodyKind:`none`});return}let t=await r(e);i(await o(`Creating`,async()=>t.workersBuilds.deployHooks.trigger({deploy_hook_uuid:e[`deploy-hook-uuid`]})),{successLabel:`Created`})}};function M(e){return e.positional(`deploy-hook-uuid`,{type:`string`,description:`Deploy hook UUID`,demandOption:!0}).option(`script-name`,{type:`string`,description:`Human-readable name of the worker.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`}).option(`deploy-hook-name`,{type:`string`,description:`Deploy hook name (1-58 characters).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const N={command:`update <deploy-hook-uuid>`,describe:`Update an existing deploy hook.`,builder:M,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds deploy-hooks update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/workers/${d[`script-name`]==null?`<script-name>`:encodeURIComponent(String(d[`script-name`]))}/deploy_hooks/${d[`deploy-hook-uuid`]==null?`<deploy-hook-uuid>`:encodeURIComponent(String(d[`deploy-hook-uuid`]))}`,pathParams:{"script-name":String(d[`script-name`]??``),"deploy-hook-uuid":String(d[`deploy-hook-uuid`]??``)},bodyKind:`json`,body:d.body===void 0?c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Updating`,async()=>f.workersBuilds.deployHooks.update({body:e,account_id:p,script_name:d[`script-name`],deploy_hook_uuid:d[`deploy-hook-uuid`]})),{successLabel:`Updated`});return}d.branch===void 0&&(d.branch=await u(`branch`,`Git branch name.`)),d[`deploy-hook-name`]===void 0&&(d[`deploy-hook-name`]=await u(`deploy-hook-name`,`Deploy hook name (1-58 characters).`));let m=c({branch:l(d.branch,`branch`,`text`),deploy_hook_name:l(d[`deploy-hook-name`],`deploy-hook-name`,`text`)});i(await o(`Updating`,async()=>f.workersBuilds.deployHooks.update({body:m,account_id:p,script_name:d[`script-name`],deploy_hook_uuid:d[`deploy-hook-uuid`]})),{successLabel:`Updated`})}},P={command:`deploy-hooks`,describe:`Deploy hooks operations`,builder:e=>e.command(C).command(T).command(D).command(k).command(j).command(N).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function F(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const I={command:`get-account-limits`,describe:`Retrieve account limits and usage information`,builder:F,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds get-account-limits`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/account/limits`,pathParams:{},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();s.accountId=l,i(await o(`Loading`,async()=>c.workersBuilds.getAccountLimits({account_id:l})),{successLabel:`Loaded`})}};function L(e){return e.option(`version-ids`,{type:`string`,description:`Comma-separated list of version UUIDs (max 20).`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const R={command:`get-builds-by-version`,describe:`Retrieve builds for specific version IDs`,builder:L,handler:async s=>{let c={version_ids:s[`version-ids`]};if(s.dryRun){a({command:`cf workers-builds get-builds-by-version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.getBuildsByVersion({account_id:u,...c})),{successLabel:`Loaded`})}};function z(e){return e.option(`external-script-ids`,{type:`string`,description:`Comma-separated list of system-generated worker script tags (max 20).`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const B={command:`get-latest-builds`,describe:`Retrieve the most recent builds for multiple worker scripts`,builder:z,handler:async s=>{let c={external_script_ids:s[`external-script-ids`]};if(s.dryRun){a({command:`cf workers-builds get-latest-builds`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/builds/latest`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.getLatestBuilds({account_id:u,...c})),{successLabel:`Loaded`})}};function V(e){return e.positional(`repo-id`,{type:`string`,description:`Repository identifier.`,demandOption:!0}).option(`provider-type`,{type:`string`,description:`SCM provider type`,demandOption:!0}).option(`provider-account-id`,{type:`string`,description:`Provider account identifier.`,demandOption:!0}).option(`branch`,{type:`string`,description:`Git branch name.`,demandOption:!0}).option(`root-directory`,{type:`string`,description:`Root directory path.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const H={command:`get <repo-id>`,describe:`Analyze repository for automatic configuration detection`,builder:V,handler:async s=>{let c={branch:s.branch,root_directory:s[`root-directory`]};if(s.dryRun){a({command:`cf workers-builds repos config-autofill get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/${s[`provider-type`]==null?`<provider-type>`:encodeURIComponent(String(s[`provider-type`]))}/${s[`provider-account-id`]==null?`<provider-account-id>`:encodeURIComponent(String(s[`provider-account-id`]))}/${s[`repo-id`]==null?`<repo-id>`:encodeURIComponent(String(s[`repo-id`]))}/config_autofill`,pathParams:{"provider-type":String(s[`provider-type`]??``),"provider-account-id":String(s[`provider-account-id`]??``),"repo-id":String(s[`repo-id`]??``)},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.repos.configAutofill.get({account_id:u,provider_type:s[`provider-type`],provider_account_id:s[`provider-account-id`],repo_id:s[`repo-id`],...c})),{successLabel:`Loaded`})}},U={command:`config-autofill`,describe:`Operations for repos.config-autofill`,builder:e=>e.command(H).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function W(e){return e.positional(`repo-connection-uuid`,{type:`string`,description:`Repository connection UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const G={command:`delete <repo-connection-uuid>`,describe:`Remove a repository connection`,builder:W,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds repos connections delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/connections/${s[`repo-connection-uuid`]==null?`<repo-connection-uuid>`:encodeURIComponent(String(s[`repo-connection-uuid`]))}`,pathParams:{"repo-connection-uuid":String(s[`repo-connection-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
|
|
4
4
|
`);return}i(await o(`Deleting`,async()=>c.workersBuilds.repos.connections.delete({account_id:l,repo_connection_uuid:s[`repo-connection-uuid`]})),{successLabel:`Deleted`})}};function K(e){return e.option(`provider-account-id`,{type:`string`,description:`Provider account identifier.`}).option(`provider-account-name`,{type:`string`,description:`The provider_account_name field`}).option(`provider-type`,{type:`string`,description:`The provider_type field`,choices:[`github`,`gitlab`,`gitlab_internal`,`origin`]}).option(`repo-id`,{type:`string`,description:`Repository identifier.`}).option(`repo-name`,{type:`string`,description:`The repo_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const q={command:`upsert`,describe:`Upsert a repository connection for CI/CD integration`,builder:K,handler:async f=>{if(f.dryRun){a({command:`cf workers-builds repos connections upsert`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/repos/connections`,pathParams:{},bodyKind:`json`,body:f.body===void 0?c({provider_account_id:l(f[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:l(f[`provider-account-name`],`provider-account-name`,`text`),provider_type:l(f[`provider-type`],`provider-type`,`text`),repo_id:l(f[`repo-id`],`repo-id`,`text`),repo_name:l(f[`repo-name`],`repo-name`,`text`)}):s(f.body)});return}let p=await r(f),m=f.local?e:await t();if(f.accountId=m,f.body){let e=s(f.body);i(await o(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...e,account_id:m})),{successLabel:`Updated`});return}f[`provider-account-id`]===void 0&&(f[`provider-account-id`]=await u(`provider-account-id`,`Provider account identifier.`)),f[`provider-account-name`]===void 0&&(f[`provider-account-name`]=await u(`provider-account-name`,`The provider_account_name field`)),f[`provider-type`]===void 0&&(f[`provider-type`]=await d(`provider-type`,`The provider_type field`,[`github`,`gitlab`,`gitlab_internal`,`origin`])),f[`repo-id`]===void 0&&(f[`repo-id`]=await u(`repo-id`,`Repository identifier.`)),f[`repo-name`]===void 0&&(f[`repo-name`]=await u(`repo-name`,`The repo_name field`));let h=c({provider_account_id:l(f[`provider-account-id`],`provider-account-id`,`text`),provider_account_name:l(f[`provider-account-name`],`provider-account-name`,`text`),provider_type:l(f[`provider-type`],`provider-type`,`text`),repo_id:l(f[`repo-id`],`repo-id`,`text`),repo_name:l(f[`repo-name`],`repo-name`,`text`)});i(await o(`Updating`,async()=>p.workersBuilds.repos.connections.upsert({...h,account_id:m})),{successLabel:`Updated`})}},J={command:`connections`,describe:`Operations for repos.connections`,builder:e=>e.command(G).command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Y={command:`repos`,describe:`Repos operations`,builder:e=>e.command(U).command(J).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function X(e){return e.option(`build-token-name`,{type:`string`,description:`The build_token_name field`}).option(`build-token-secret`,{type:`string`,description:`The build_token_secret field`}).option(`cloudflare-token-id`,{type:`string`,description:`The cloudflare_token_id field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Z={command:`create`,describe:`Create a new build authentication token`,builder:X,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds tokens create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens`,pathParams:{},bodyKind:`json`,body:d.body===void 0?c({build_token_name:l(d[`build-token-name`],`build-token-name`,`text`),build_token_secret:l(d[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:l(d[`cloudflare-token-id`],`cloudflare-token-id`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.tokens.create({...e,account_id:p})),{successLabel:`Created`});return}d[`build-token-name`]===void 0&&(d[`build-token-name`]=await u(`build-token-name`,`The build_token_name field`)),d[`build-token-secret`]===void 0&&(d[`build-token-secret`]=await u(`build-token-secret`,`The build_token_secret field`)),d[`cloudflare-token-id`]===void 0&&(d[`cloudflare-token-id`]=await u(`cloudflare-token-id`,`The cloudflare_token_id field`));let m=c({build_token_name:l(d[`build-token-name`],`build-token-name`,`text`),build_token_secret:l(d[`build-token-secret`],`build-token-secret`,`text`),cloudflare_token_id:l(d[`cloudflare-token-id`],`cloudflare-token-id`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.tokens.create({...m,account_id:p})),{successLabel:`Created`})}};function te(e){return e.positional(`build-token-uuid`,{type:`string`,description:`Build token UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const Q={command:`delete <build-token-uuid>`,describe:`Remove a build authentication token`,builder:te,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds tokens delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens/${s[`build-token-uuid`]==null?`<build-token-uuid>`:encodeURIComponent(String(s[`build-token-uuid`]))}`,pathParams:{"build-token-uuid":String(s[`build-token-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
|
|
5
5
|
`);return}i(await o(`Deleting`,async()=>c.workersBuilds.tokens.delete({account_id:l,build_token_uuid:s[`build-token-uuid`]})),{successLabel:`Deleted`})}};function ne(e){return e.option(`page`,{type:`number`,description:`Page number for pagination`}).option(`per-page`,{type:`number`,description:`Number of items per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const re={command:`list`,describe:`Get all build tokens with pagination`,builder:ne,handler:async s=>{let c={page:s.page,per_page:s[`per-page`]};if(s.dryRun){a({command:`cf workers-builds tokens list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/tokens`,pathParams:{},query:c,bodyKind:`none`});return}let l=await r(s),u=s.local?e:await t();s.accountId=u,i(await o(`Loading`,async()=>l.workersBuilds.tokens.list({account_id:u,...c})),{successLabel:`Loaded`})}},ie={command:`tokens`,describe:`Tokens operations`,builder:e=>e.command(Z).command(Q).command(re).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function ae(e){return e.positional(`trigger-uuid`,{type:`string`,description:`Trigger UUID.`,demandOption:!0}).option(`seed-repo-branch`,{type:`string`,description:`Git branch name.`}).option(`seed-repo-owner`,{type:`string`,description:`The seed_repo.owner field`}).option(`seed-repo-path`,{type:`string`,description:`The seed_repo.path field`}).option(`seed-repo-provider`,{type:`string`,description:`The seed_repo.provider field`,choices:[`github`,`gitlab`,`gitlab_internal`,`origin`]}).option(`seed-repo-repository`,{type:`string`,description:`The seed_repo.repository field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).check(e=>{if([`seed-repo-branch`,`seed-repo-owner`,`seed-repo-path`,`seed-repo-provider`,`seed-repo-repository`].some(t=>e[t]!==void 0)){let t=[`seed-repo-branch`,`seed-repo-owner`,`seed-repo-path`,`seed-repo-provider`,`seed-repo-repository`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --seed_repo-* flag is set`)}return!0})}const oe={command:`create-build <trigger-uuid>`,describe:`Trigger a manual build for a specific trigger`,builder:ae,handler:async u=>{if(u.dryRun){a({command:`cf workers-builds triggers create-build`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers/${u[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(u[`trigger-uuid`]))}/builds`,pathParams:{"trigger-uuid":String(u[`trigger-uuid`]??``)},bodyKind:`json`,body:u.body===void 0?c({seed_repo:{branch:l(u[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:l(u[`seed-repo-owner`],`seed-repo-owner`,`text`),path:l(u[`seed-repo-path`],`seed-repo-path`,`text`),provider:l(u[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:l(u[`seed-repo-repository`],`seed-repo-repository`,`text`)}}):s(u.body)});return}let d=await r(u),f=u.local?e:await t();if(u.accountId=f,u.body){let e=s(u.body);i(await o(`Creating`,async()=>d.workersBuilds.triggers.createBuild({...e,account_id:f,trigger_uuid:u[`trigger-uuid`]})),{successLabel:`Created`});return}let p=c({seed_repo:{branch:l(u[`seed-repo-branch`],`seed-repo-branch`,`text`),owner:l(u[`seed-repo-owner`],`seed-repo-owner`,`text`),path:l(u[`seed-repo-path`],`seed-repo-path`,`text`),provider:l(u[`seed-repo-provider`],`seed-repo-provider`,`text`),repository:l(u[`seed-repo-repository`],`seed-repo-repository`,`text`)}});i(await o(`Creating`,async()=>d.workersBuilds.triggers.createBuild({...p,account_id:f,trigger_uuid:u[`trigger-uuid`]})),{successLabel:`Created`})}};function se(e){return e.option(`branch-excludes`,{type:`string`,array:!0,description:`The branch_excludes field`}).option(`branch-includes`,{type:`string`,array:!0,description:`The branch_includes field`}).option(`build-caching-enabled`,{type:`boolean`,description:`The build_caching_enabled field`,default:!1}).option(`build-command`,{type:`string`,description:`The build_command field`}).option(`build-token-uuid`,{type:`string`,description:`Build token UUID.`}).option(`deploy-command`,{type:`string`,description:`The deploy_command field`}).option(`external-script-id`,{type:`string`,description:`System-generated worker script tag.`}).option(`path-excludes`,{type:`string`,array:!0,description:`The path_excludes field`}).option(`path-includes`,{type:`string`,array:!0,description:`The path_includes field`}).option(`repo-connection-uuid`,{type:`string`,description:`Repository connection UUID.`}).option(`root-directory`,{type:`string`,description:`Root directory path.`}).option(`trigger-name`,{type:`string`,description:`The trigger_name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ce={command:`create`,describe:`Create a new CI/CD trigger`,builder:se,handler:async d=>{if(d.dryRun){a({command:`cf workers-builds triggers create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers`,pathParams:{},bodyKind:`json`,body:d.body===void 0?c({branch_excludes:d[`branch-excludes`],branch_includes:d[`branch-includes`],build_caching_enabled:d[`build-caching-enabled`],build_command:l(d[`build-command`],`build-command`,`text`),build_token_uuid:l(d[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:l(d[`deploy-command`],`deploy-command`,`text`),external_script_id:l(d[`external-script-id`],`external-script-id`,`text`),path_excludes:d[`path-excludes`],path_includes:d[`path-includes`],repo_connection_uuid:l(d[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:l(d[`root-directory`],`root-directory`,`text`),trigger_name:l(d[`trigger-name`],`trigger-name`,`text`)}):s(d.body)});return}let f=await r(d),p=d.local?e:await t();if(d.accountId=p,d.body){let e=s(d.body);i(await o(`Creating`,async()=>f.workersBuilds.triggers.create({...e,account_id:p})),{successLabel:`Created`});return}if(d[`branch-excludes`]===void 0)throw Error(`--branch-excludes is required (or pass --body with this field set).`);if(d[`branch-includes`]===void 0)throw Error(`--branch-includes is required (or pass --body with this field set).`);if(d[`build-command`]===void 0&&(d[`build-command`]=await u(`build-command`,`The build_command field`)),d[`build-token-uuid`]===void 0&&(d[`build-token-uuid`]=await u(`build-token-uuid`,`Build token UUID.`)),d[`deploy-command`]===void 0&&(d[`deploy-command`]=await u(`deploy-command`,`The deploy_command field`)),d[`external-script-id`]===void 0&&(d[`external-script-id`]=await u(`external-script-id`,`System-generated worker script tag.`)),d[`path-excludes`]===void 0)throw Error(`--path-excludes is required (or pass --body with this field set).`);if(d[`path-includes`]===void 0)throw Error(`--path-includes is required (or pass --body with this field set).`);d[`repo-connection-uuid`]===void 0&&(d[`repo-connection-uuid`]=await u(`repo-connection-uuid`,`Repository connection UUID.`)),d[`root-directory`]===void 0&&(d[`root-directory`]=await u(`root-directory`,`Root directory path.`)),d[`trigger-name`]===void 0&&(d[`trigger-name`]=await u(`trigger-name`,`The trigger_name field`));let m=c({branch_excludes:d[`branch-excludes`],branch_includes:d[`branch-includes`],build_caching_enabled:d[`build-caching-enabled`],build_command:l(d[`build-command`],`build-command`,`text`),build_token_uuid:l(d[`build-token-uuid`],`build-token-uuid`,`text`),deploy_command:l(d[`deploy-command`],`deploy-command`,`text`),external_script_id:l(d[`external-script-id`],`external-script-id`,`text`),path_excludes:d[`path-excludes`],path_includes:d[`path-includes`],repo_connection_uuid:l(d[`repo-connection-uuid`],`repo-connection-uuid`,`text`),root_directory:l(d[`root-directory`],`root-directory`,`text`),trigger_name:l(d[`trigger-name`],`trigger-name`,`text`)});i(await o(`Creating`,async()=>f.workersBuilds.triggers.create({...m,account_id:p})),{successLabel:`Created`})}};function le(e){return e.positional(`trigger-uuid`,{type:`string`,description:`Trigger UUID.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const ue={command:`delete <trigger-uuid>`,describe:`Remove a CI/CD trigger`,builder:le,handler:async s=>{if(s.dryRun){a({command:`cf workers-builds triggers delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/builds/triggers/${s[`trigger-uuid`]==null?`<trigger-uuid>`:encodeURIComponent(String(s[`trigger-uuid`]))}`,pathParams:{"trigger-uuid":String(s[`trigger-uuid`]??``)},bodyKind:`none`});return}let c=await r(s),l=s.local?e:await t();if(s.accountId=l,!await f({force:!!s.force})){process.stderr.write(`Aborted.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{t as e}from"./local-
|
|
2
|
+
import{t as e}from"./local-DGiIS1uM.mjs";import{f as t,g as n}from"./oauth-DAa7SwkM.mjs";import{a as r,r as i}from"./auth-DY_Y2bXC.mjs";import{t as a}from"./output-BqDR9h74.mjs";import{t as o}from"./dry-run-ILZRVpnp.mjs";import{t as s}from"./progress-jYW64HY7.mjs";import{n as c,t as l}from"./body-parser-BGVbwPeM.mjs";import{n as u}from"./input-validation-1esLElok.mjs";import{i as d,n as f}from"./prompt-CyATfGUu.mjs";import{t as p}from"./cli-types-C3nVfpSG.mjs";import{n as m,t as h}from"./raw-fetch-CNKIypJ7.mjs";function g(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const _={command:`delete <workflow-name>`,describe:`Deletes a Workflow. This only deletes the Workflow and does not delete or modify any Worker associated to this Workflow or bounded to it.`,builder:g,handler:async r=>{if(r.dryRun){o({command:`cf workflows delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force,message:`This operation permanently deletes the Workflow.`})){process.stderr.write(`Aborted.
|
|
3
3
|
`);return}a(await s(`Deleting`,async()=>c.workflows.delete({account_id:l,workflow_name:r[`workflow-name`]})),{successLabel:`Deleted`})}};function v(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`get <workflow-name>`,describe:`Retrieves configuration and metadata for a specific workflow.`,builder:v,handler:async r=>{if(r.dryRun){o({command:`cf workflows get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.get({account_id:l,workflow_name:r[`workflow-name`]})),{successLabel:`Loaded`})}};function b(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const x={command:`create <workflow-name>`,describe:`Creates multiple workflow instances in a single batch operation.`,builder:b,handler:async l=>{if(l.dryRun){o({command:`cf workflows instances batch create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${l[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,pathParams:{"workflow-name":String(l[`workflow-name`]??``)},bodyKind:`json`,body:l.body===void 0?void 0:c(l.body)});return}let u=await i(l),d=l.local?e:await t();if(l.accountId=d,l.body){let e=c(l.body);if(Array.isArray(e)&&e.length>100){let t=Math.ceil(e.length/100),n=null;for(let i=0;i<e.length;i+=100){let a=e.slice(i,i+100);n=await s(`Creating: batch ${Math.floor(i/100)+1}/${t}`,async()=>r(u,`POST`,`/accounts/${d}/workflows/${encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,{body:a}))}a(n,{successLabel:`Created`});return}a(await s(`Creating`,async()=>r(u,`POST`,`/accounts/${d}/workflows/${encodeURIComponent(String(l[`workflow-name`]))}/instances/batch`,{body:e})),{successLabel:`Created`});return}if(l.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},S={command:`batch`,describe:`Operations for instances.batch`,builder:e=>e.command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.positional(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:"The system reserves IDs that consist of the `cf_` prefix and exactly 64 lowercase hexadecimal characters."}).option(`location-hint`,{type:`string`,description:`The location_hint field`,choices:[`wnam`,`weur`,`enam`,`eeur`,`apac`,`apac-ne`,`apac-se`,`oc`,`sam`,`afr`,`me`]}).option(`params`,{type:`string`,description:`JSON-encoded event payload passed into the new instance.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const w={command:`create <workflow-name>`,describe:`Creates a new instance of a workflow, starting its execution.`,builder:C,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},bodyKind:`json`,body:r.body===void 0?l({instance_id:u(r[`instance-id`],`instance-id`,`text`),location_hint:u(r[`location-hint`],`location-hint`,`text`),params:u(r.params,`params`,`json`)}):c(r.body)});return}let d=await i(r),f=r.local?e:await t();if(r.accountId=f,r.body){let e=c(r.body);a(await s(`Creating`,async()=>d.workflows.instances.create({...e,account_id:f,workflow_name:r[`workflow-name`]})),{successLabel:`Created`});return}let p=l({instance_id:u(r[`instance-id`],`instance-id`,`text`),location_hint:u(r[`location-hint`],`location-hint`,`text`),params:u(r.params,`params`,`json`)});a(await s(`Creating`,async()=>d.workflows.instances.create({...p,account_id:f,workflow_name:r[`workflow-name`]})),{successLabel:`Created`})}};function T(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const E={command:`delete <instance-id>`,describe:`Deletes a workflow instance and its stored state.`,builder:T,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();if(r.accountId=l,!await f({force:!!r.force})){process.stderr.write(`Aborted.
|
|
4
4
|
`);return}a(await s(`Deleting`,async()=>c.workflows.instances.delete({account_id:l,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`})}};function D(e){return e.positional(`event-type`,{type:`string`,description:`Event type`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const O={command:`send <event-type>`,describe:`Sends an event to a running workflow instance to trigger state transitions.`,builder:D,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances events send`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/events/${r[`event-type`]==null?`<event-type>`:encodeURIComponent(String(r[`event-type`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``),"event-type":String(r[`event-type`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Creating`,async()=>c.workflows.instances.events.send({account_id:l,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`],event_type:r[`event-type`]})),{successLabel:`Created`})}},k={command:`events`,describe:`Operations for instances.events`,builder:e=>e.command(O).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function A(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`simple`,{type:`string`,description:`When true, omits step details and returns only metadata with step_count.`,choices:[`true`,`false`]}).option(`order`,{type:`string`,description:`Step ordering: "asc" (default, oldest first) or "desc" (newest first).`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const j={command:`get <instance-id>`,describe:`Retrieves logs and execution status for a specific workflow instance.`,builder:p(A),handler:async r=>{let c={simple:r.simple,order:r.order};if(r.dryRun){o({command:`cf workflows instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.instances.get({account_id:u,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`],...c})),{successLabel:`Loaded`})}};function M(e){return e.option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`page`,{type:`number`,description:"Deprecated: use `cursor` for pagination instead."}).option(`per-page`,{type:`number`,description:`Per page`}).option(`cursor`,{type:`string`,description:"Opaque token for cursor-based pagination. Mutually exclusive with `page`."}).option(`direction`,{type:`string`,description:`Defines the direction for cursor-based pagination.`,choices:[`asc`,`desc`]}).option(`status`,{type:`string`,description:`Status`,choices:[`queued`,`running`,`paused`,`errored`,`terminated`,`complete`,`waitingForPause`,`waiting`,`rollingBack`]}).option(`start`,{type:`string`,description:`Accepts ISO 8601 with no timezone offsets and in UTC.`}).option(`end`,{type:`string`,description:`Accepts ISO 8601 with no timezone offsets and in UTC.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const N={command:`list`,describe:`Lists all instances of a workflow with their execution status.`,builder:p(M),handler:async r=>{let c={page:r.page,per_page:r[`per-page`],cursor:r.cursor,direction:r.direction,status:r.status,date_start:r.start,date_end:r.end};if(r.dryRun){o({command:`cf workflows instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.instances.list({account_id:u,workflow_name:r[`workflow-name`],...c})),{successLabel:`Loaded`})}};function P(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const F={command:`pause <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:P,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances pause`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function I(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const ee={command:`restart <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:I,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances restart`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function L(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const R={command:`resume <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:L,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances resume`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let f=await i(r),p=r.local?e:await t();if(r.accountId=p,r.body){let e=c(r.body);a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:e,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let m=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Updating`,async()=>f.workflows.instances.status.edit({body:m,account_id:p,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Updated`})}};function z(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`name`,{type:`string`,description:`Exact step name from the instance logs response, including the generated counter suffix.`,demandOption:!0}).option(`type`,{type:`string`,description:`Step type to disambiguate step.do and waitForEvent entries that share the same name.`,choices:[`step`,`waitForEvent`],demandOption:!0}).option(`attempt`,{type:`number`,description:`Specific attempt number to retrieve output or error for.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const B={command:`get <instance-id>`,describe:"Retrieves the full, untruncated output for a specific step on a workflow instance. Returns a flat status-shaped JSON body with step `status` ('running' | 'waiting' | 'complete' | 'errored'), `error` (nullable), and `output` (the step value, or null while running/waiting/errored). When the step returned a ReadableStream from step.do, the response is served as 'application/octet-stream' with the raw bytes as the body instead of JSON. A `status='running'` response with non-null `error` indicates the step is currently retrying after a prior attempt failed.",builder:z,handler:async r=>{let a={name:r.name,type:r.type,attempt:r.attempt};if(r.dryRun){o({command:`cf workflows instances step get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/step`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},query:a,bodyKind:`none`});return}await i(r);let c=r.local?e:await t();r.accountId=c;let l=new URLSearchParams(Object.entries(a).filter(([,e])=>e!==void 0).map(([e,t])=>[e,String(t)])).toString(),u=await s(`Loading`,async()=>h(`/accounts/${c}/workflows/${encodeURIComponent(String(r[`workflow-name`]))}/instances/${encodeURIComponent(String(r[`instance-id`]))}/step${l?`?`+l:``}`,{method:`GET`,local:r.local===!0,persistTo:r.persistTo}));m(r.text===!0?u.toString(`utf-8`):u)}},V={command:`step`,describe:`Operations for instances.step`,builder:e=>e.command(B).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function H(e){return e.positional(`instance-id`,{type:`string`,description:"Instance identifier. User-created instances match `^[a-zA-Z0-9_][a-zA-Z0-9-_]*$` (max 100 characters); cron-triggered instances can use a longer, system-generated id derived from the cron expression.",demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`status`,{type:`string`,description:`The status field`,choices:[`pause`,`resume`,`terminate`,`restart`]}).option(`rollback`,{type:`boolean`,description:`Run rollback before terminating.`}).option(`from-count`,{type:`number`,description:`The from.count field`}).option(`from-name`,{type:`string`,description:`The from.name field`}).option(`from-type`,{type:`string`,description:`The from.type field`,choices:[`do`,`sleep`,`waitForEvent`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`}).conflicts(`rollback`,[`from-count`,`from-name`,`from-type`]).conflicts(`from-count`,[`rollback`]).conflicts(`from-name`,[`rollback`]).conflicts(`from-type`,[`rollback`]).check(e=>{if([`from-count`,`from-name`,`from-type`].some(t=>e[t]!==void 0)){let t={"from-name":[`rollback`]},n=[`from-name`].filter(n=>e[n]===void 0&&!(t[n]??[]).some(t=>e[t]!==void 0));if(n.length>0)throw Error(`${n.map(e=>`--`+e).join(`, `)} ${n.length===1?`is`:`are`} required when any --from-* flag is set`)}return!0})}const U={command:`terminate <instance-id>`,describe:`Changes the execution status of a workflow instance (e.g., pause, resume, terminate).`,builder:H,handler:async r=>{if(r.dryRun){o({command:`cf workflows instances terminate`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/instances/${r[`instance-id`]==null?`<instance-id>`:encodeURIComponent(String(r[`instance-id`]))}/status`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"instance-id":String(r[`instance-id`]??``)},bodyKind:`json`,body:r.body===void 0?l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}}):c(r.body)});return}let p=await i(r),m=r.local?e:await t();if(r.accountId=m,!await f({force:!!r.force,message:`This operation terminates the running Workflow instance.`})){process.stderr.write(`Aborted.
|
|
5
5
|
`);return}if(r.body){let e=c(r.body);a(await s(`Deleting`,async()=>p.workflows.instances.status.edit({body:e,account_id:m,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`});return}r.status===void 0&&(r.status=await d(`status`,`The status field`,[`pause`,`resume`,`terminate`,`restart`]));let h=l({status:u(r.status,`status`,`text`),rollback:r.rollback,from:{count:r[`from-count`],name:u(r[`from-name`],`from-name`,`text`),type:u(r[`from-type`],`from-type`,`text`)}});a(await s(`Deleting`,async()=>p.workflows.instances.status.edit({body:h,account_id:m,workflow_name:r[`workflow-name`],instance_id:r[`instance-id`]})),{successLabel:`Deleted`})}},W={command:`instances`,describe:`Workflow instance operations`,builder:e=>e.command(w).command(E).command(j).command(N).command(F).command(ee).command(R).command(U).command(S).command(k).command(V).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function G(e){return e.option(`per-page`,{type:`number`,description:`Per page`}).option(`page`,{type:`number`,description:`Page`}).option(`search`,{type:`string`,description:"Allows filtering workflows` name."}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const K={command:`list`,describe:`Lists all workflows configured for the account.`,builder:G,handler:async r=>{let c={per_page:r[`per-page`],page:r.page,search:r.search};if(r.dryRun){o({command:`cf workflows list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows`,pathParams:{},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.list({account_id:u,...c})),{successLabel:`Loaded`})}};function q(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const J={command:`edit`,describe:`Updates only the account-level Workflows settings fields present in the request body.`,builder:q,handler:async r=>{if(r.dryRun){o({command:`cf workflows settings edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/settings`,pathParams:{},bodyKind:`json`,body:r.body===void 0?void 0:c(r.body)});return}let l=await i(r),u=r.local?e:await t();if(r.accountId=u,r.body){let e=c(r.body);a(await s(`Updating`,async()=>l.workflows.settings.edit({...e,account_id:u})),{successLabel:`Updated`});return}a(await s(`Updating`,async()=>l.workflows.settings.edit({account_id:u})),{successLabel:`Updated`})}};function Y(e){return e.option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const X={command:`get`,describe:`Retrieves account-level Workflows settings, such as the default instance retention.`,builder:Y,handler:async r=>{if(r.dryRun){o({command:`cf workflows settings get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/settings`,pathParams:{},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.settings.get({account_id:l})),{successLabel:`Loaded`})}},Z={command:`settings`,describe:`Operations for settings`,builder:e=>e.command(J).command(X).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Q(e){return e.positional(`version-id`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const $={command:`get <version-id>`,describe:`Retrieves details for a specific deployed workflow version.`,builder:Q,handler:async r=>{if(r.dryRun){o({command:`cf workflows versions get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions/${r[`version-id`]==null?`<version-id>`:encodeURIComponent(String(r[`version-id`]))}`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"version-id":String(r[`version-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.versions.get({account_id:l,workflow_name:r[`workflow-name`],version_id:r[`version-id`]})),{successLabel:`Loaded`})}};function te(e){return e.positional(`version-id`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ne={command:`graph <version-id>`,describe:`Retrieves the graph visualization of a workflow version.`,builder:te,handler:async r=>{if(r.dryRun){o({command:`cf workflows versions graph`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions/${r[`version-id`]==null?`<version-id>`:encodeURIComponent(String(r[`version-id`]))}/graph`,pathParams:{"workflow-name":String(r[`workflow-name`]??``),"version-id":String(r[`version-id`]??``)},bodyKind:`none`});return}let c=await i(r),l=r.local?e:await t();r.accountId=l,a(await s(`Loading`,async()=>c.workflows.versions.graph({account_id:l,workflow_name:r[`workflow-name`],version_id:r[`version-id`]})),{successLabel:`Loaded`})}};function re(e){return e.option(`workflow-name`,{type:`string`,description:`Workflow name`,demandOption:!0}).option(`per-page`,{type:`number`,description:`Per page`}).option(`page`,{type:`number`,description:`Page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ie={command:`list`,describe:`Lists all deployed versions of a workflow.`,builder:re,handler:async r=>{let c={per_page:r[`per-page`],page:r.page};if(r.dryRun){o({command:`cf workflows versions list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${await n()??`<account-id>`}/workflows/${r[`workflow-name`]==null?`<workflow-name>`:encodeURIComponent(String(r[`workflow-name`]))}/versions`,pathParams:{"workflow-name":String(r[`workflow-name`]??``)},query:c,bodyKind:`none`});return}let l=await i(r),u=r.local?e:await t();r.accountId=u,a(await s(`Loading`,async()=>l.workflows.versions.list({account_id:u,workflow_name:r[`workflow-name`],...c})),{successLabel:`Loaded`})}},ae={command:`versions`,describe:`Workflow version operations`,builder:e=>e.command($).command(ne).command(ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},oe={command:`workflows`,describe:`Durable, multi-step workflows that run on Workers with automatic retries and state persistence`,builder:e=>e.command(_).command(y).command(K).command(W).command(Z).command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{oe as default};
|