cf 0.1.0 → 0.2.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/dist/_meta/agent-context.json +88 -88
- package/dist/_meta/commands.json +5268 -5350
- package/dist/_meta/schemas.json +33572 -1148
- package/dist/abuse-reports-KtfZhi6j.mjs +8 -0
- package/dist/accounts-BopMfODC.mjs +21 -0
- package/dist/acm-BT4vlnEJ.mjs +3 -0
- package/dist/addressing-B3uFxHst.mjs +13 -0
- package/dist/ai-DWHqwMap.mjs +2 -0
- package/dist/ai-gateway-CbKEO-3o.mjs +8 -0
- package/dist/ai-search-VnOQ5n--.mjs +7 -0
- package/dist/alerting-BmmgIlIO.mjs +6 -0
- package/dist/analytics-isY03taL.mjs +20 -0
- package/dist/api-gateway-DXurEbA-.mjs +33 -0
- package/dist/argo-B02BL_hp.mjs +2 -0
- package/dist/audit-logs-DcgR9xUc.mjs +2 -0
- package/dist/auth-CQcAgnOy.mjs +135 -0
- package/dist/{auth-DQ8miey6.mjs → auth-DenWm_X0.mjs} +3 -3
- package/dist/autorag-CmrwnGVj.mjs +2 -0
- package/dist/{billing-lwBHNTXC.mjs → billing-CaW1ZAB1.mjs} +1 -1
- package/dist/bot-management-CeBsFx68.mjs +5 -0
- package/dist/botnet-feed-B396vQeQ.mjs +3 -0
- package/dist/brand-protection-D4V1v5Kl.mjs +3 -0
- package/dist/browser-rendering-GF7rNtKI.mjs +4 -0
- package/dist/build-5jmmOZhm.mjs +1054 -0
- package/dist/cache-DmXizSMi.mjs +5 -0
- package/dist/calls-x4KQpTB4.mjs +4 -0
- package/dist/certificate-authorities-hC0SG-Ga.mjs +2 -0
- package/dist/client-certificates-BGVsDyeJ.mjs +3 -0
- package/dist/cloud-connector-BClQpEzI.mjs +2 -0
- package/dist/cloudforce-one-BfhFrO6M.mjs +21 -0
- package/dist/{config-BIfdEY0E.mjs → config-DYzlVxcB.mjs} +1 -1
- package/dist/connectivity-G0NP6LtW.mjs +3 -0
- package/dist/content-scanning-DEtPJ7aF.mjs +4 -0
- package/dist/context-CC0Rhkhy.mjs +2 -0
- package/dist/custom-certificates-rJXFpUWu.mjs +5 -0
- package/dist/custom-hostnames-Be5mgLeF.mjs +5 -0
- package/dist/custom-nameservers-CoFdy6hD.mjs +3 -0
- package/dist/custom-pages-D-oErw57.mjs +4 -0
- package/dist/d1-C95ckPKI.mjs +3 -0
- package/dist/dcv-delegation-CWSkbGuc.mjs +2 -0
- package/dist/delegate.mjs +1 -1
- package/dist/deploy-DbkiIzUr.mjs +2 -0
- package/dist/{dev-BfKYB-R_.mjs → dev-C6iSuQZm.mjs} +1 -1
- package/dist/diagnostics-DEEhPnXj.mjs +3 -0
- package/dist/dispatch-namespaces-BzXeV7PH.mjs +7 -0
- package/dist/{dist-C_bu5HwZ.mjs → dist-CnSubA1Z.mjs} +1 -1
- package/dist/dist-DNBSHor6.mjs +301 -0
- package/dist/dns-firewall-BQXD_NxG.mjs +57 -0
- package/dist/dns-qW-3TZOT.mjs +29 -0
- package/dist/durable-objects-CgWFYEJJ.mjs +2 -0
- package/dist/email-routing-tdNJaCpJ.mjs +10 -0
- package/dist/email-security-DTVHNr2h.mjs +60 -0
- package/dist/email-sending-DsFTvE31.mjs +3 -0
- package/dist/filters-DO1Is_tI.mjs +4 -0
- package/dist/firewall-DbUhVTCg.mjs +11 -0
- package/dist/fraud-Bzr4njYb.mjs +8 -0
- package/dist/google-tag-gateway-BQxkA90M.mjs +2 -0
- package/dist/healthchecks-BBAs-lS_.mjs +4 -0
- package/dist/hostnames-Dz9PEUKS.mjs +3 -0
- package/dist/hyperdrive-B1iUJddG.mjs +18 -0
- package/dist/iam-CJM8gHpG.mjs +6 -0
- package/dist/images-DEoBmtFS.mjs +5 -0
- package/dist/index.mjs +1 -1
- package/dist/intel-BM6xkZ0C.mjs +3 -0
- package/dist/{ips-B0cK7D0_.mjs → ips-B8fwxKZD.mjs} +1 -1
- package/dist/keyless-certificates-DffYnd4b.mjs +3 -0
- package/dist/kv-BTceLtWZ.mjs +5 -0
- package/dist/leaked-credential-checks-CALfvoCo.mjs +3 -0
- package/dist/load-balancers-C1Ho1gCF.mjs +6 -0
- package/dist/logpush-CSYhgevA.mjs +4 -0
- package/dist/logs-DlIwmMpt.mjs +3 -0
- package/dist/magic-cloud-networking-Czu0pZ0a.mjs +5 -0
- package/dist/magic-network-monitoring-d7GJE5Yt.mjs +4 -0
- package/dist/magic-transit-qQmA-981.mjs +89 -0
- package/dist/managed-transforms-Dd6AnbWE.mjs +3 -0
- package/dist/mtls-certificates-C0rlCRGs.mjs +3 -0
- package/dist/network-interconnects-CxG2deY0.mjs +36 -0
- package/dist/organizations-DyEAiGiR.mjs +41 -0
- package/dist/origin-ca-certificates-S8RcoMF6.mjs +3 -0
- package/dist/origin-post-quantum-encryption-B8ZcpLu5.mjs +2 -0
- package/dist/origin-tls-client-auth-BlxMmQrE.mjs +5 -0
- package/dist/page-rules-DP-w6TAm.mjs +18 -0
- package/dist/page-shield-Bf7kFp8c.mjs +37 -0
- package/dist/pages-D0Y_XRqW.mjs +10 -0
- package/dist/pipelines-C-SPESAk.mjs +6 -0
- package/dist/{progress-DZfTxbrx.mjs → progress-CjcQ6ato.mjs} +1 -1
- package/dist/queues-wv6CZsi8.mjs +6 -0
- package/dist/r2-DuXjp9n5.mjs +21 -0
- package/dist/r2-data-catalog-DQCMrmNO.mjs +14 -0
- package/dist/radar-BW_ZHP8X.mjs +2 -0
- package/dist/rate-limits-DLTkIvwr.mjs +5 -0
- package/dist/raw-fetch-hRv-6P3D.mjs +2 -0
- package/dist/realtime-kit-Ch7Vg3vj.mjs +6 -0
- package/dist/{registrar-7Qy50zbW.mjs → registrar-DIIv6fWd.mjs} +6 -6
- package/dist/request-tracers-DMej0Drs.mjs +2 -0
- package/dist/resource-sharing-CYJ7cMWq.mjs +5 -0
- package/dist/resource-tagging-Dnz65MgH.mjs +16 -0
- package/dist/rules-DLJpOYbC.mjs +4 -0
- package/dist/rulesets-D9nqEJT5.mjs +8 -0
- package/dist/rum-DBVmdPkp.mjs +4 -0
- package/dist/schema-validation-MCd3xdtX.mjs +4 -0
- package/dist/scim-DZA3VXog.mjs +3 -0
- package/dist/secrets-store-BrvcZSOM.mjs +21 -0
- package/dist/security-center-BU6f3Cm1.mjs +2 -0
- package/dist/security-txt-BPIbP3dG.mjs +3 -0
- package/dist/{session-mW-s8ghP.mjs → session-H7IV2BrM.mjs} +1 -1
- package/dist/shared-DEzmTsEC.mjs +2 -0
- package/dist/smart-shield-e8XFBkiF.mjs +3 -0
- package/dist/snippets-B4M3MMb8.mjs +4 -0
- package/dist/{spawn-D_cjG87Z.mjs → spawn-13QQ0IwO.mjs} +1 -1
- package/dist/spectrum-B0adfSRI.mjs +59 -0
- package/dist/speed-BVcUtkAz.mjs +4 -0
- package/dist/{src-C5qivNKH.mjs → src-B9cKsgsg.mjs} +8 -8
- package/dist/ssl-BAa91gsc.mjs +15 -0
- package/dist/stream-D53sxKb3.mjs +14 -0
- package/dist/tenants-bH5pt3dJ.mjs +2 -0
- package/dist/token-validation-M61Vx_Tw.mjs +4 -0
- package/dist/turnstile-wAU0Gc2Z.mjs +23 -0
- package/dist/{ui-mP_arYIg.mjs → ui-BXjU1dX1.mjs} +1 -1
- package/dist/url-normalization-DZrWDgB5.mjs +3 -0
- package/dist/url-scanner-Zo49edNp.mjs +2 -0
- package/dist/user-DbXlVReB.mjs +10 -0
- package/dist/vectorize-CUnTM0DT.mjs +4 -0
- package/dist/versions-DzyrlUAi.mjs +2 -0
- package/dist/waiting-rooms-BZW0X69-.mjs +11 -0
- package/dist/web3-DueyOQtx.mjs +4 -0
- package/dist/workers-builds-BM_aoeUR.mjs +7 -0
- package/dist/workers-nV_vBCfV.mjs +16 -0
- package/dist/workflows-CQITmo-s.mjs +4 -0
- package/dist/zaraz-DIbpF5Op.mjs +2 -0
- package/dist/zero-trust-CKp8j512.mjs +119 -0
- package/dist/zones-BZ5tZDbH.mjs +28 -0
- package/package.json +4 -4
- package/dist/abuse-reports-ChV_yD7f.mjs +0 -8
- package/dist/accounts-BCYecXFh.mjs +0 -21
- package/dist/acm-DD8zSds2.mjs +0 -3
- package/dist/addressing-D4Eqw5Bi.mjs +0 -13
- package/dist/ai-DfXMOMx_.mjs +0 -2
- package/dist/ai-gateway-DdRFthMo.mjs +0 -8
- package/dist/ai-search-C_68CDj1.mjs +0 -7
- package/dist/alerting-DbhqhVCp.mjs +0 -6
- package/dist/analytics-BSBBc7ep.mjs +0 -20
- package/dist/api-gateway-CZ4swbkQ.mjs +0 -33
- package/dist/argo-tms9ZwHO.mjs +0 -2
- package/dist/audit-logs-24qyW8cl.mjs +0 -2
- package/dist/auth-BlSmtIKd.mjs +0 -112
- package/dist/autorag-kgNt06GD.mjs +0 -2
- package/dist/bot-management-LKf7BqUr.mjs +0 -5
- package/dist/botnet-feed-nQ-gErTS.mjs +0 -3
- package/dist/brand-protection-DOKv9GRr.mjs +0 -3
- package/dist/browser-rendering-CBExtgGt.mjs +0 -4
- package/dist/build-C_48VvoK.mjs +0 -1056
- package/dist/cache-BBiiNZHP.mjs +0 -5
- package/dist/calls-DA5Xzwev.mjs +0 -4
- package/dist/certificate-authorities-sXyR_yGp.mjs +0 -2
- package/dist/client-certificates-tV0aCLQJ.mjs +0 -3
- package/dist/cloud-connector-DZfHcSso.mjs +0 -2
- package/dist/cloudforce-one-y1PgQmI9.mjs +0 -21
- package/dist/connectivity-8SOqaFDn.mjs +0 -3
- package/dist/content-scanning-B9y6K_G5.mjs +0 -4
- package/dist/context-DTIbtQn5.mjs +0 -2
- package/dist/custom-certificates-sWksR8Ys.mjs +0 -5
- package/dist/custom-hostnames-91QZkdqN.mjs +0 -5
- package/dist/custom-nameservers-DajZaZvE.mjs +0 -3
- package/dist/custom-pages-Cu7gmwzT.mjs +0 -4
- package/dist/d1-H_VRsVmF.mjs +0 -3
- package/dist/dcv-delegation-C-qhEYEZ.mjs +0 -2
- package/dist/deploy--9wYOkHg.mjs +0 -2
- package/dist/diagnostics-D2B2LPZZ.mjs +0 -3
- package/dist/dispatch-namespaces-CyrXBU_w.mjs +0 -7
- package/dist/dist-DvKjT2TT.mjs +0 -303
- package/dist/dns-Bn9Uz_Nj.mjs +0 -29
- package/dist/dns-firewall-BslP4p-j.mjs +0 -57
- package/dist/durable-objects-BN1ZnHhm.mjs +0 -2
- package/dist/email-routing-n2TnTaRR.mjs +0 -10
- package/dist/email-security-C9SEx0kh.mjs +0 -60
- package/dist/email-sending-DayZ7u3I.mjs +0 -3
- package/dist/filters-CI_XTgfQ.mjs +0 -4
- package/dist/firewall-CcaayGig.mjs +0 -11
- package/dist/fraud-Cr7aPCV8.mjs +0 -8
- package/dist/google-tag-gateway-B3GpYgQ4.mjs +0 -2
- package/dist/healthchecks-CVTsR_OC.mjs +0 -4
- package/dist/hostnames-Bd_Wa5l6.mjs +0 -3
- package/dist/hyperdrive-BBJhEDZd.mjs +0 -18
- package/dist/iam-D_FN0pDF.mjs +0 -6
- package/dist/images-CAP2hAlZ.mjs +0 -5
- package/dist/intel-CkxfzqmJ.mjs +0 -3
- package/dist/keyless-certificates-LcLmHZsX.mjs +0 -3
- package/dist/kv-_TkUQ6fs.mjs +0 -5
- package/dist/leaked-credential-checks-Dhvaen22.mjs +0 -3
- package/dist/load-balancers-Ckr0UIpk.mjs +0 -6
- package/dist/logpush-Cj946hxT.mjs +0 -4
- package/dist/logs-DgC9hjvJ.mjs +0 -3
- package/dist/magic-cloud-networking-WbDvPzuG.mjs +0 -5
- package/dist/magic-network-monitoring-BcHShvGQ.mjs +0 -4
- package/dist/magic-transit-B8sCOkt_.mjs +0 -89
- package/dist/managed-transforms-BpOr-8HY.mjs +0 -3
- package/dist/mtls-certificates-fOul8D5g.mjs +0 -3
- package/dist/network-interconnects-BSW65xlh.mjs +0 -36
- package/dist/organizations-T4vKGFAb.mjs +0 -41
- package/dist/origin-ca-certificates-ChM0lZ64.mjs +0 -3
- package/dist/origin-post-quantum-encryption-C7o26ARh.mjs +0 -2
- package/dist/origin-tls-client-auth-D32dpZk_.mjs +0 -5
- package/dist/page-rules-RFoj8CjN.mjs +0 -18
- package/dist/page-shield-VTktzKDN.mjs +0 -37
- package/dist/pages-L1ITjXDZ.mjs +0 -10
- package/dist/pipelines-BPO0Lnil.mjs +0 -6
- package/dist/queues-B0C06L9r.mjs +0 -6
- package/dist/r2-DP020Tmq.mjs +0 -21
- package/dist/r2-data-catalog-Dmipvz5F.mjs +0 -14
- package/dist/radar-DR3VMknH.mjs +0 -2
- package/dist/rate-limits-DnHPBPgU.mjs +0 -5
- package/dist/raw-fetch-DlXYwVA8.mjs +0 -2
- package/dist/realtime-kit-C430aq2d.mjs +0 -6
- package/dist/request-tracers-sv99NDIl.mjs +0 -2
- package/dist/resource-sharing-uEjC7lnQ.mjs +0 -5
- package/dist/resource-tagging-CiODdP3N.mjs +0 -16
- package/dist/rules-FXAyTrwk.mjs +0 -4
- package/dist/rulesets-B6aUsFFB.mjs +0 -8
- package/dist/rum-CyyGJhp5.mjs +0 -4
- package/dist/schema-validation-ByU49h--.mjs +0 -4
- package/dist/scim-DdTS65_C.mjs +0 -3
- package/dist/secrets-store-ClOUVhBJ.mjs +0 -18
- package/dist/security-center-4iSBqTrf.mjs +0 -2
- package/dist/security-txt-kGxdkDY6.mjs +0 -3
- package/dist/smart-shield-B-SQd2Qp.mjs +0 -3
- package/dist/snippets-Aq58ojqw.mjs +0 -4
- package/dist/spectrum-0gFvGI6y.mjs +0 -59
- package/dist/speed-DAZU8w3T.mjs +0 -4
- package/dist/ssl-BRlXa-5w.mjs +0 -15
- package/dist/stream-BAxsVeBX.mjs +0 -14
- package/dist/tenants-Df6xDqoA.mjs +0 -2
- package/dist/token-validation-pO4dCjCy.mjs +0 -4
- package/dist/turnstile-B1dmO8wE.mjs +0 -23
- package/dist/url-normalization-sUDVmrUt.mjs +0 -3
- package/dist/url-scanner-CwOKRkYo.mjs +0 -2
- package/dist/user-D_UrIdNq.mjs +0 -10
- package/dist/vectorize-BEbBn9G9.mjs +0 -4
- package/dist/waiting-rooms-BQC-urV4.mjs +0 -11
- package/dist/web3-CIH2iQeX.mjs +0 -4
- package/dist/workers-B9EvrpH3.mjs +0 -16
- package/dist/workers-builds-DzWSiRd2.mjs +0 -7
- package/dist/workflows-aD81gA4k.mjs +0 -4
- package/dist/zaraz-Cg1dsvrZ.mjs +0 -2
- package/dist/zero-trust-D-xQXWcy.mjs +0 -119
- package/dist/zones-DQzucJDd.mjs +0 -28
- /package/dist/{schema-D0_cbcDt.mjs → schema-CHBfkARI.mjs} +0 -0
- /package/dist/{tools-CtKbk6VS.mjs → tools-B7QiNu-d.mjs} +0 -0
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as e,f as t,m as n,t as r,u as i}from"./auth-BlSmtIKd.mjs";import{n as a,t as o}from"./body-parser-Br-BoYk-.mjs";import{t as s}from"./output-D7_yAFVR.mjs";import{n as c,t as l}from"./progress-DZfTxbrx.mjs";import{n as u}from"./input-validation-zEO81MWN.mjs";import{t as d}from"./local-VJaJ3BZ1.mjs";function f(e){return e.option(`authentication`,{type:`boolean`,description:`The authentication field`}).option(`cache-invalidate-on-update`,{type:`boolean`,description:`The cache_invalidate_on_update field`}).option(`cache-ttl`,{type:`number`,description:`The cache_ttl field`}).option(`collect-logs`,{type:`boolean`,description:`The collect_logs field`}).option(`id`,{type:`string`,description:`gateway id`}).option(`log-management`,{type:`number`,description:`The log_management field`}).option(`log-management-strategy`,{type:`string`,description:`The log_management_strategy field`,choices:[`STOP_INSERTING`,`DELETE_OLDEST`]}).option(`logpush`,{type:`boolean`,description:`The logpush field`}).option(`logpush-public-key`,{type:`string`,description:`The logpush_public_key field`}).option(`rate-limiting-interval`,{type:`number`,description:`The rate_limiting_interval field`}).option(`rate-limiting-limit`,{type:`number`,description:`The rate_limiting_limit field`}).option(`rate-limiting-technique`,{type:`string`,description:`The rate_limiting_technique field`,choices:[`fixed`,`sliding`]}).option(`retry-backoff`,{type:`string`,description:`Backoff strategy for retry delays`,choices:[`constant`,`linear`,`exponential`]}).option(`retry-delay`,{type:`number`,description:`Delay between retry attempts in milliseconds (0-5000)`}).option(`retry-max-attempts`,{type:`number`,description:`Maximum number of retry attempts for failed requests (1-5)`}).option(`workers-ai-billing-mode`,{type:`string`,description:`Controls how Workers AI inference calls routed through this gateway are billed. Only 'postpaid' is currently supported.`,choices:[`postpaid`],default:`postpaid`}).option(`zdr`,{type:`boolean`,description:`The zdr field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const p={command:`create`,describe:`Creates a new AI Gateway.`,builder:f,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways`,pathParams:{},bodyKind:`json`,body:{authentication:t.authentication,cacheInvalidateOnUpdate:t.cacheInvalidateOnUpdate,cacheTtl:t.cacheTtl,collectLogs:t.collectLogs,id:t.id,logManagement:t.logManagement,logManagementStrategy:t.logManagementStrategy,logpush:t.logpush,logpushPublicKey:t.logpushPublicKey,rateLimitingInterval:t.rateLimitingInterval,rateLimitingLimit:t.rateLimitingLimit,rateLimitingTechnique:t.rateLimitingTechnique,retryBackoff:t.retryBackoff,retryDelay:t.retryDelay,retryMaxAttempts:t.retryMaxAttempts,workersAiBillingMode:t.workersAiBillingMode,zdr:t.zdr,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways`,{body:e})),{successLabel:`Created`});return}if(t.cacheInvalidateOnUpdate===void 0)throw Error(`--cache-invalidate-on-update is required (or pass --body with this field set).`);if(t.cacheTtl===void 0)throw Error(`--cache-ttl is required (or pass --body with this field set).`);if(t.collectLogs===void 0)throw Error(`--collect-logs is required (or pass --body with this field set).`);if(t.id===void 0&&(t.id=await n(`id`,`gateway id`)),t.rateLimitingInterval===void 0)throw Error(`--rate-limiting-interval is required (or pass --body with this field set).`);if(t.rateLimitingLimit===void 0)throw Error(`--rate-limiting-limit is required (or pass --body with this field set).`);let m={};t.authentication!==void 0&&a(m,[`authentication`],t.authentication),t.cacheInvalidateOnUpdate!==void 0&&a(m,[`cache_invalidate_on_update`],t.cacheInvalidateOnUpdate),t.cacheTtl!==void 0&&a(m,[`cache_ttl`],t.cacheTtl),t.collectLogs!==void 0&&a(m,[`collect_logs`],t.collectLogs),t.id!==void 0&&a(m,[`id`],u(t.id,`id`,`text`)),t.logManagement!==void 0&&a(m,[`log_management`],t.logManagement),t.logManagementStrategy!==void 0&&a(m,[`log_management_strategy`],u(t.logManagementStrategy,`logManagementStrategy`,`text`)),t.logpush!==void 0&&a(m,[`logpush`],t.logpush),t.logpushPublicKey!==void 0&&a(m,[`logpush_public_key`],u(t.logpushPublicKey,`logpushPublicKey`,`text`)),t.rateLimitingInterval!==void 0&&a(m,[`rate_limiting_interval`],t.rateLimitingInterval),t.rateLimitingLimit!==void 0&&a(m,[`rate_limiting_limit`],t.rateLimitingLimit),t.rateLimitingTechnique!==void 0&&a(m,[`rate_limiting_technique`],u(t.rateLimitingTechnique,`rateLimitingTechnique`,`text`)),t.retryBackoff!==void 0&&a(m,[`retry_backoff`],u(t.retryBackoff,`retryBackoff`,`text`)),t.retryDelay!==void 0&&a(m,[`retry_delay`],t.retryDelay),t.retryMaxAttempts!==void 0&&a(m,[`retry_max_attempts`],t.retryMaxAttempts),t.workersAiBillingMode!==void 0&&a(m,[`workers_ai_billing_mode`],u(t.workersAiBillingMode,`workersAiBillingMode`,`text`)),t.zdr!==void 0&&a(m,[`zdr`],t.zdr),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function m(e){return e.positional(`gatewayId`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`enable`,{type:`boolean`,description:`The enable field`}).option(`name`,{type:`string`,description:`The 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 ee={command:`create <gatewayId>`,describe:`Creates a new AI Gateway.`,builder:m,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway datasets create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/datasets`,pathParams:{gatewayId:String(t.gatewayId??``)},bodyKind:`json`,body:{enable:t.enable,name:t.name,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/datasets`,{body:e})),{successLabel:`Created`});return}if(t.enable===void 0)throw Error(`--enable is required (or pass --body with this field set).`);t.name===void 0&&(t.name=await n(`name`,``));let m={};t.enable!==void 0&&a(m,[`enable`],t.enable),t.name!==void 0&&a(m,[`name`],u(t.name,`name`,`text`)),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/datasets`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function te(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,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 h={command:`delete <id>`,describe:`Deletes an AI Gateway dataset.`,builder:te,handler:async n=>{if(n.dryRun){c({command:`cf ai-gateway datasets delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.gatewayId??`<gatewayId>`}/datasets/${n.id??`<id>`}`,pathParams:{gatewayId:String(n.gatewayId??``),id:String(n.id??``)},bodyKind:`none`});return}let a=await r(n),o=n.local?d:await e(a);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}s(await l(`Deleting`,async()=>a.aiGateway.datasets.delete(o,n.gatewayId,n.id)),{successLabel:`Deleted`})}};function g(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const _={command:`get <id>`,describe:`Retrieves details for a specific AI Gateway dataset.`,builder:g,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway datasets get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/datasets/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.datasets.get(a,t.gatewayId,t.id)),{successLabel:`Loaded`})}};function v(e){return e.option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`name`,{type:`string`,description:`Name`}).option(`enable`,{type:`boolean`,description:`Enable`,default:!1}).option(`search`,{type:`string`,description:`Search by id, name, filters`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const y={command:`list`,describe:`Lists all AI Gateway evaluator types configured for the account.`,builder:v,handler:async t=>{let n={page:t.page,per_page:t.perPage,name:t.name,enable:t.enable,search:t.search};if(t.dryRun){c({command:`cf ai-gateway datasets list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/datasets`,pathParams:{gatewayId:String(t.gatewayId??``)},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.datasets.list(o,t.gatewayId,n)),{successLabel:`Loaded`})}};function b(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`enable`,{type:`boolean`,description:`The enable field`}).option(`name`,{type:`string`,description:`The 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 x={command:`update <id>`,describe:`Updates an existing AI Gateway dataset.`,builder:b,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway datasets update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/datasets/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`json`,body:{enable:t.enable,name:t.name,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Updating`,async()=>f.put(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/datasets/${t.id}`,{body:e})),{successLabel:`Updated`});return}if(t.enable===void 0)throw Error(`--enable is required (or pass --body with this field set).`);t.name===void 0&&(t.name=await n(`name`,``));let m={};t.enable!==void 0&&a(m,[`enable`],t.enable),t.name!==void 0&&a(m,[`name`],u(t.name,`name`,`text`)),s(await l(`Updating`,async()=>f.put(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/datasets/${t.id}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},S={command:`datasets`,describe:`Curated collections of gateway logs used as inputs for evaluations and fine-tuning`,builder:e=>e.command(ee).command(h).command(_).command(y).command(x).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function C(e){return e.positional(`id`,{type:`string`,description:`gateway id`,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 w={command:`delete <id>`,describe:`Deletes an AI Gateway dataset.`,builder:C,handler:async n=>{if(n.dryRun){c({command:`cf ai-gateway delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.id??`<id>`}`,pathParams:{id:String(n.id??``)},bodyKind:`none`});return}let a=await r(n),o=n.local?d:await e(a);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
4
|
-
`);return}s(await l(`Deleting`,async()=>a.aiGateway.delete(o,n.id)),{successLabel:`Deleted`})}};function T(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`version-id`,{type:`string`,description:`The version_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 E={command:`create-deployment <id>`,describe:`Create a new AI Gateway Dynamic Route Deployment.`,builder:T,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing create-deployment`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}/deployments`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`json`,body:{versionId:t.versionId,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes/${t.id}/deployments`,{body:e})),{successLabel:`Created`});return}t.versionId===void 0&&(t.versionId=await n(`version-id`,``));let m={};t.versionId!==void 0&&a(m,[`version_id`],u(t.versionId,`versionId`,`text`)),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes/${t.id}/deployments`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function D(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const O={command:`create-version <id>`,describe:`Create a new AI Gateway Dynamic Route Version.`,builder:D,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing create-version`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}/versions`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`json`,body:{body:t.body}});return}let n=await r(t),a=t.local?d:await e(n);if(t.accountId=a,t.body){let e=o(t.body);s(await l(`Creating`,async()=>n.post(`/accounts/${a}/ai-gateway/gateways/${t.gatewayId}/routes/${t.id}/versions`,{body:e})),{successLabel:`Created`});return}s(await l(`Creating`,async()=>n.aiGateway.dynamicRouting.createVersion(a,t.gatewayId,t.id)),{successLabel:`Created`})}};function k(e){return e.positional(`gatewayId`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`name`,{type:`string`,description:`The 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 A={command:`create <gatewayId>`,describe:`Create a new AI Gateway Dynamic Route.`,builder:k,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes`,pathParams:{gatewayId:String(t.gatewayId??``)},bodyKind:`json`,body:{name:t.name,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes`,{body:e})),{successLabel:`Created`});return}t.name===void 0&&(t.name=await n(`name`,``));let m={};t.name!==void 0&&a(m,[`name`],u(t.name,`name`,`text`)),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function j(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const M={command:`delete <id>`,describe:`Delete an AI Gateway Dynamic Route.`,builder:j,handler:async n=>{if(n.dryRun){c({command:`cf ai-gateway dynamic-routing delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.gatewayId??`<gatewayId>`}/routes/${n.id??`<id>`}`,pathParams:{gatewayId:String(n.gatewayId??``),id:String(n.id??``)},bodyKind:`none`});return}let a=await r(n),o=n.local?d:await e(a);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
5
|
-
`);return}s(await l(`Deleting`,async()=>a.aiGateway.dynamicRouting.delete(o,n.gatewayId,n.id)),{successLabel:`Deleted`})}};function N(e){return e.positional(`versionId`,{type:`string`,description:`Version ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const P={command:`get-version <versionId>`,describe:`Get an AI Gateway Dynamic Route Version.`,builder:N,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing get-version`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}/versions/${t.versionId??`<versionId>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``),versionId:String(t.versionId??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.dynamicRouting.getVersion(a,t.gatewayId,t.id,t.versionId)),{successLabel:`Loaded`})}};function F(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const I={command:`get <id>`,describe:`Get an AI Gateway Dynamic Route.`,builder:F,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.dynamicRouting.get(a,t.gatewayId,t.id)),{successLabel:`Loaded`})}};function L(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const R={command:`list-deployments <id>`,describe:`List all AI Gateway Dynamic Route Deployments.`,builder:L,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing list-deployments`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}/deployments`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.dynamicRouting.listDeployments(a,t.gatewayId,t.id)),{successLabel:`Loaded`})}};function z(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const B={command:`list-versions <id>`,describe:`List all AI Gateway Dynamic Route Versions.`,builder:z,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing list-versions`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}/versions`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.dynamicRouting.listVersions(a,t.gatewayId,t.id)),{successLabel:`Loaded`})}};function V(e){return e.option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const H={command:`list`,describe:`List all AI Gateway Dynamic Routes.`,builder:V,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes`,pathParams:{gatewayId:String(t.gatewayId??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.dynamicRouting.list(a,t.gatewayId)),{successLabel:`Loaded`})}};function U(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`Gateway ID`,demandOption:!0}).option(`name`,{type:`string`,description:`The 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 W={command:`update <id>`,describe:`Update an AI Gateway Dynamic Route.`,builder:U,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway dynamic-routing update`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/routes/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`json`,body:{name:t.name,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Updating`,async()=>f.patch(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes/${t.id}`,{body:e})),{successLabel:`Updated`});return}t.name===void 0&&(t.name=await n(`name`,``));let m={};t.name!==void 0&&a(m,[`name`],u(t.name,`name`,`text`)),s(await l(`Updating`,async()=>f.patch(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/routes/${t.id}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},G={command:`dynamic-routing`,describe:`Route requests across multiple AI providers with fallback, load-balancing, and versioned deployments`,builder:e=>e.command(A).command(E).command(O).command(M).command(I).command(P).command(H).command(R).command(B).command(W).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function K(e){return e.option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`order-by`,{type:`string`,description:`Order by`}).option(`order-by-direction`,{type:`string`,description:`Order by direction`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const q={command:`list`,describe:`Lists all available evaluator types for scoring AI gateway responses.`,builder:K,handler:async t=>{let n={page:t.page,per_page:t.perPage,order_by:t.orderBy,order_by_direction:t.orderByDirection};if(t.dryRun){c({command:`cf ai-gateway evaluation-types list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/evaluation-types`,pathParams:{},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.evaluationTypes.list(o,n)),{successLabel:`Loaded`})}},J={command:`evaluation-types`,describe:`Available evaluator types for scoring AI gateway responses (accuracy, toxicity, etc.)`,builder:e=>e.command(q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Y(e){return e.positional(`gatewayId`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dataset-ids`,{type:`string`,array:!0,description:`The dataset_ids field`}).option(`evaluation-type-ids`,{type:`string`,array:!0,description:`The evaluation_type_ids field`}).option(`name`,{type:`string`,description:`The 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 X={command:`create <gatewayId>`,describe:`Creates a new AI Gateway.`,builder:Y,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway evaluations create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/evaluations`,pathParams:{gatewayId:String(t.gatewayId??``)},bodyKind:`json`,body:{datasetIds:t.datasetIds,evaluationTypeIds:t.evaluationTypeIds,name:t.name,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/evaluations`,{body:e})),{successLabel:`Created`});return}if(t.datasetIds===void 0)throw Error(`--dataset-ids is required (or pass --body with this field set).`);if(t.evaluationTypeIds===void 0)throw Error(`--evaluation-type-ids is required (or pass --body with this field set).`);t.name===void 0&&(t.name=await n(`name`,``));let m={};t.datasetIds!==void 0&&a(m,[`dataset_ids`],t.datasetIds),t.evaluationTypeIds!==void 0&&a(m,[`evaluation_type_ids`],t.evaluationTypeIds),t.name!==void 0&&a(m,[`name`],u(t.name,`name`,`text`)),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/evaluations`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function Z(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,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 <id>`,describe:`Deletes an AI Gateway dataset.`,builder:Z,handler:async n=>{if(n.dryRun){c({command:`cf ai-gateway evaluations delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.gatewayId??`<gatewayId>`}/evaluations/${n.id??`<id>`}`,pathParams:{gatewayId:String(n.gatewayId??``),id:String(n.id??``)},bodyKind:`none`});return}let a=await r(n),o=n.local?d:await e(a);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
6
|
-
`);return}s(await l(`Deleting`,async()=>a.aiGateway.evaluations.delete(o,n.gatewayId,n.id)),{successLabel:`Deleted`})}};function ne(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const re={command:`get <id>`,describe:`Retrieves details for a specific AI Gateway dataset.`,builder:ne,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway evaluations get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/evaluations/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.evaluations.get(a,t.gatewayId,t.id)),{successLabel:`Loaded`})}};function ie(e){return e.option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`name`,{type:`string`,description:`Name`}).option(`processed`,{type:`boolean`,description:`Processed`,default:!1}).option(`search`,{type:`string`,description:`Search by id, name`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ae={command:`list`,describe:`Lists all AI Gateway evaluator types configured for the account.`,builder:ie,handler:async t=>{let n={page:t.page,per_page:t.perPage,name:t.name,processed:t.processed,search:t.search};if(t.dryRun){c({command:`cf ai-gateway evaluations list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/evaluations`,pathParams:{gatewayId:String(t.gatewayId??``)},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.evaluations.list(o,t.gatewayId,n)),{successLabel:`Loaded`})}},oe={command:`evaluations`,describe:`Run quality evaluations against gateway logs or datasets to score model outputs`,builder:e=>e.command(X).command(Q).command(re).command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function se(e){return e.positional(`id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ce={command:`get <id>`,describe:`Retrieves details for a specific AI Gateway dataset.`,builder:se,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.get(a,t.id)),{successLabel:`Loaded`})}};function le(e){return e.option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`search`,{type:`string`,description:`Search by id`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ue={command:`list`,describe:`Lists all AI Gateway evaluator types configured for the account.`,builder:le,handler:async t=>{let n={page:t.page,per_page:t.perPage,search:t.search};if(t.dryRun){c({command:`cf ai-gateway list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways`,pathParams:{},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.list(o,n)),{successLabel:`Loaded`})}};function de(e){return e.positional(`gatewayId`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`order-by`,{type:`string`,description:`Order by`,choices:[`created_at`,`provider`,`model`,`model_type`,`success`,`cached`,`cost`,`tokens_in`,`tokens_out`,`duration`,`feedback`]}).option(`order-by-direction`,{type:`string`,description:`Order by direction`,choices:[`asc`,`desc`]}).option(`filters`,{type:`string`,description:`Filters`}).option(`limit`,{type:`number`,description:`Limit`}).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 fe={command:`delete <gatewayId>`,describe:`Deletes gateway log entries matching the specified criteria.`,builder:de,handler:async n=>{let a={order_by:n.orderBy,order_by_direction:n.orderByDirection,filters:n.filters,limit:n.limit};if(n.dryRun){c({command:`cf ai-gateway logs delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.gatewayId??`<gatewayId>`}/logs`,pathParams:{gatewayId:String(n.gatewayId??``)},query:a,bodyKind:`none`});return}let o=await r(n),u=n.local?d:await e(o);if(n.accountId=u,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
7
|
-
`);return}s(await l(`Deleting`,async()=>o.aiGateway.logs.delete(u,n.gatewayId,a)),{successLabel:`Deleted`})}};function pe(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`feedback`,{type:`number`,description:`The feedback field`}).option(`score`,{type:`number`,description:`The score 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 me={command:`edit <id>`,describe:`Updates metadata for an AI Gateway log entry.`,builder:pe,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway logs edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/logs/${t.id??`<id>`}`,pathParams:{id:String(t.id??``),gatewayId:String(t.gatewayId??``)},bodyKind:`json`,body:{feedback:t.feedback,score:t.score,body:t.body}});return}let n=await r(t),u=t.local?d:await e(n);if(t.accountId=u,t.body){let e=o(t.body);s(await l(`Updating`,async()=>n.patch(`/accounts/${u}/ai-gateway/gateways/${t.gatewayId}/logs/${t.id}`,{body:e})),{successLabel:`Updated`});return}let f={};t.feedback!==void 0&&a(f,[`feedback`],t.feedback),t.score!==void 0&&a(f,[`score`],t.score),s(await l(`Updating`,async()=>n.patch(`/accounts/${u}/ai-gateway/gateways/${t.gatewayId}/logs/${t.id}`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Updated`})}};function he(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ge={command:`get <id>`,describe:`Retrieves detailed information for a specific AI Gateway log entry.`,builder:he,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway logs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/logs/${t.id??`<id>`}`,pathParams:{id:String(t.id??``),gatewayId:String(t.gatewayId??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.logs.get(t.id,t.gatewayId,a)),{successLabel:`Loaded`})}};function _e(e){return e.option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`search`,{type:`string`,description:`Search`}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`order-by`,{type:`string`,description:`Order by`,choices:[`created_at`,`provider`,`model`,`model_type`,`success`,`cached`]}).option(`order-by-direction`,{type:`string`,description:`Order by direction`,choices:[`asc`,`desc`]}).option(`filters`,{type:`string`,description:`Filters`}).option(`meta-info`,{type:`boolean`,description:`Meta info`,default:!1}).option(`direction`,{type:`string`,description:`Direction`,choices:[`asc`,`desc`]}).option(`start-date`,{type:`string`,description:`Start date`}).option(`end-date`,{type:`string`,description:`End date`}).option(`min-cost`,{type:`number`,description:`Min cost`}).option(`max-cost`,{type:`number`,description:`Max cost`}).option(`min-tokens-in`,{type:`number`,description:`Min tokens in`}).option(`max-tokens-in`,{type:`number`,description:`Max tokens in`}).option(`min-tokens-out`,{type:`number`,description:`Min tokens out`}).option(`max-tokens-out`,{type:`number`,description:`Max tokens out`}).option(`min-total-tokens`,{type:`number`,description:`Min total tokens`}).option(`max-total-tokens`,{type:`number`,description:`Max total tokens`}).option(`min-duration`,{type:`number`,description:`Min duration`}).option(`max-duration`,{type:`number`,description:`Max duration`}).option(`feedback`,{type:`string`,description:`Feedback`}).option(`success`,{type:`boolean`,description:`Success`,default:!1}).option(`cached`,{type:`boolean`,description:`Cached`,default:!1}).option(`model`,{type:`string`,description:`Model`}).option(`model-type`,{type:`string`,description:`Model type`}).option(`provider`,{type:`string`,description:`Provider`}).option(`request-content-type`,{type:`string`,description:`Request content type`}).option(`response-content-type`,{type:`string`,description:`Response content type`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ve={command:`list`,describe:`Lists request/response log entries for the AI gateway with filtering and pagination.`,builder:_e,handler:async t=>{let n={search:t.search,page:t.page,per_page:t.perPage,order_by:t.orderBy,order_by_direction:t.orderByDirection,filters:t.filters,meta_info:t.metaInfo,direction:t.direction,start_date:t.startDate,end_date:t.endDate,min_cost:t.minCost,max_cost:t.maxCost,min_tokens_in:t.minTokensIn,max_tokens_in:t.maxTokensIn,min_tokens_out:t.minTokensOut,max_tokens_out:t.maxTokensOut,min_total_tokens:t.minTotalTokens,max_total_tokens:t.maxTotalTokens,min_duration:t.minDuration,max_duration:t.maxDuration,feedback:t.feedback,success:t.success,cached:t.cached,model:t.model,model_type:t.modelType,provider:t.provider,request_content_type:t.requestContentType,response_content_type:t.responseContentType};if(t.dryRun){c({command:`cf ai-gateway logs list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/logs`,pathParams:{gatewayId:String(t.gatewayId??``)},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.logs.list(o,t.gatewayId,n)),{successLabel:`Loaded`})}};function ye(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const be={command:`request <id>`,describe:`Retrieves the original request payload for an AI Gateway log entry.`,builder:ye,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway logs request`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/logs/${t.id??`<id>`}/request`,pathParams:{id:String(t.id??``),gatewayId:String(t.gatewayId??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.logs.request(t.id,t.gatewayId,a)),{successLabel:`Loaded`})}};function xe(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Se={command:`response <id>`,describe:`Retrieves the response payload for an AI Gateway log entry.`,builder:xe,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway logs response`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/logs/${t.id??`<id>`}/response`,pathParams:{id:String(t.id??``),gatewayId:String(t.gatewayId??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.logs.response(t.id,t.gatewayId,a)),{successLabel:`Loaded`})}},Ce={command:`logs`,describe:`Inspect individual request/response pairs that passed through the gateway`,builder:e=>e.command(fe).command(me).command(ge).command(ve).command(be).command(Se).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function we(e){return e.positional(`gatewayId`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`alias`,{type:`string`,description:`The alias field`}).option(`default-config`,{type:`boolean`,description:`The default_config field`}).option(`provider-slug`,{type:`string`,description:`The provider_slug field`}).option(`rate-limit`,{type:`number`,description:`The rate_limit field`}).option(`rate-limit-period`,{type:`number`,description:`The rate_limit_period field`,default:60}).option(`secret`,{type:`string`,description:`The secret field`}).option(`secret-id`,{type:`string`,description:`The secret_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 Te={command:`create <gatewayId>`,describe:`Creates a new AI Gateway.`,builder:we,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway provider-configs create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/provider_configs`,pathParams:{gatewayId:String(t.gatewayId??``)},bodyKind:`json`,body:{alias:t.alias,defaultConfig:t.defaultConfig,providerSlug:t.providerSlug,rateLimit:t.rateLimit,rateLimitPeriod:t.rateLimitPeriod,secret:t.secret,secretId:t.secretId,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/provider_configs`,{body:e})),{successLabel:`Created`});return}if(t.alias===void 0&&(t.alias=await n(`alias`,``)),t.defaultConfig===void 0)throw Error(`--default-config is required (or pass --body with this field set).`);t.providerSlug===void 0&&(t.providerSlug=await n(`provider-slug`,``)),t.secret===void 0&&(t.secret=await n(`secret`,``)),t.secretId===void 0&&(t.secretId=await n(`secret-id`,``));let m={};t.alias!==void 0&&a(m,[`alias`],u(t.alias,`alias`,`text`)),t.defaultConfig!==void 0&&a(m,[`default_config`],t.defaultConfig),t.providerSlug!==void 0&&a(m,[`provider_slug`],u(t.providerSlug,`providerSlug`,`text`)),t.rateLimit!==void 0&&a(m,[`rate_limit`],t.rateLimit),t.rateLimitPeriod!==void 0&&a(m,[`rate_limit_period`],t.rateLimitPeriod),t.secret!==void 0&&a(m,[`secret`],u(t.secret,`secret`,`text`)),t.secretId!==void 0&&a(m,[`secret_id`],u(t.secretId,`secretId`,`text`)),s(await l(`Creating`,async()=>f.post(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/provider_configs`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function Ee(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,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 <id>`,describe:`Deletes an AI Gateway dataset.`,builder:Ee,handler:async n=>{if(n.dryRun){c({command:`cf ai-gateway provider-configs delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${n.gatewayId??`<gatewayId>`}/provider_configs/${n.id??`<id>`}`,pathParams:{gatewayId:String(n.gatewayId??``),id:String(n.id??``)},bodyKind:`none`});return}let a=await r(n),o=n.local?d:await e(a);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
8
|
-
`);return}s(await l(`Deleting`,async()=>a.aiGateway.providerConfigs.delete(o,n.gatewayId,n.id)),{successLabel:`Deleted`})}};function $(e){return e.option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Oe={command:`list`,describe:`Lists all AI Gateway evaluator types configured for the account.`,builder:$,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){c({command:`cf ai-gateway provider-configs list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/provider_configs`,pathParams:{gatewayId:String(t.gatewayId??``)},query:n,bodyKind:`none`});return}let a=await r(t),o=t.local?d:await e(a);t.accountId=o,s(await l(`Loading`,async()=>a.aiGateway.providerConfigs.list(o,t.gatewayId,n)),{successLabel:`Loaded`})}};function ke(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`secret`,{type:`string`,description:`The secret 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 Ae={command:`update <id>`,describe:`Updates an existing AI Gateway dataset.`,builder:ke,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway provider-configs update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/provider_configs/${t.id??`<id>`}`,pathParams:{gatewayId:String(t.gatewayId??``),id:String(t.id??``)},bodyKind:`json`,body:{secret:t.secret,body:t.body}});return}let f=await r(t),p=t.local?d:await e(f);if(t.accountId=p,t.body){let e=o(t.body);s(await l(`Updating`,async()=>f.put(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/provider_configs/${t.id}`,{body:e})),{successLabel:`Updated`});return}t.secret===void 0&&(t.secret=await n(`secret`,``));let m={};t.secret!==void 0&&a(m,[`secret`],u(t.secret,`secret`,`text`)),s(await l(`Updating`,async()=>f.put(`/accounts/${p}/ai-gateway/gateways/${t.gatewayId}/provider_configs/${t.id}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},je={command:`provider-configs`,describe:`Store API keys and endpoint settings for each upstream AI provider`,builder:e=>e.command(Te).command(De).command(Oe).command(Ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Me(e){return e.positional(`id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`authentication`,{type:`boolean`,description:`The authentication field`}).option(`cache-invalidate-on-update`,{type:`boolean`,description:`The cache_invalidate_on_update field`}).option(`cache-ttl`,{type:`number`,description:`The cache_ttl field`}).option(`collect-logs`,{type:`boolean`,description:`The collect_logs field`}).option(`log-management`,{type:`number`,description:`The log_management field`}).option(`log-management-strategy`,{type:`string`,description:`The log_management_strategy field`,choices:[`STOP_INSERTING`,`DELETE_OLDEST`]}).option(`logpush`,{type:`boolean`,description:`The logpush field`}).option(`logpush-public-key`,{type:`string`,description:`The logpush_public_key field`}).option(`rate-limiting-interval`,{type:`number`,description:`The rate_limiting_interval field`}).option(`rate-limiting-limit`,{type:`number`,description:`The rate_limiting_limit field`}).option(`rate-limiting-technique`,{type:`string`,description:`The rate_limiting_technique field`,choices:[`fixed`,`sliding`]}).option(`retry-backoff`,{type:`string`,description:`Backoff strategy for retry delays`,choices:[`constant`,`linear`,`exponential`]}).option(`retry-delay`,{type:`number`,description:`Delay between retry attempts in milliseconds (0-5000)`}).option(`retry-max-attempts`,{type:`number`,description:`Maximum number of retry attempts for failed requests (1-5)`}).option(`store-id`,{type:`string`,description:`The store_id field`}).option(`stripe-authorization`,{type:`string`,description:`The stripe.authorization field`}).option(`workers-ai-billing-mode`,{type:`string`,description:`Controls how Workers AI inference calls routed through this gateway are billed. Only 'postpaid' is currently supported.`,choices:[`postpaid`]}).option(`zdr`,{type:`boolean`,description:`The zdr 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([`stripe-authorization`].some(t=>e[t]!==void 0)){let t=[`stripe-authorization`].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 --stripe-* flag is set`)}return!0})}const Ne={command:`update <id>`,describe:`Updates an existing AI Gateway dataset.`,builder:Me,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{authentication:t.authentication,cacheInvalidateOnUpdate:t.cacheInvalidateOnUpdate,cacheTtl:t.cacheTtl,collectLogs:t.collectLogs,logManagement:t.logManagement,logManagementStrategy:t.logManagementStrategy,logpush:t.logpush,logpushPublicKey:t.logpushPublicKey,rateLimitingInterval:t.rateLimitingInterval,rateLimitingLimit:t.rateLimitingLimit,rateLimitingTechnique:t.rateLimitingTechnique,retryBackoff:t.retryBackoff,retryDelay:t.retryDelay,retryMaxAttempts:t.retryMaxAttempts,storeId:t.storeId,stripeAuthorization:t.stripeAuthorization,workersAiBillingMode:t.workersAiBillingMode,zdr:t.zdr,body:t.body}});return}let n=await r(t),f=t.local?d:await e(n);if(t.accountId=f,t.body){let e=o(t.body);s(await l(`Updating`,async()=>n.put(`/accounts/${f}/ai-gateway/gateways/${t.id}`,{body:e})),{successLabel:`Updated`});return}if(t.cacheInvalidateOnUpdate===void 0)throw Error(`--cache-invalidate-on-update is required (or pass --body with this field set).`);if(t.cacheTtl===void 0)throw Error(`--cache-ttl is required (or pass --body with this field set).`);if(t.collectLogs===void 0)throw Error(`--collect-logs is required (or pass --body with this field set).`);if(t.rateLimitingInterval===void 0)throw Error(`--rate-limiting-interval is required (or pass --body with this field set).`);if(t.rateLimitingLimit===void 0)throw Error(`--rate-limiting-limit is required (or pass --body with this field set).`);let p={};t.authentication!==void 0&&a(p,[`authentication`],t.authentication),t.cacheInvalidateOnUpdate!==void 0&&a(p,[`cache_invalidate_on_update`],t.cacheInvalidateOnUpdate),t.cacheTtl!==void 0&&a(p,[`cache_ttl`],t.cacheTtl),t.collectLogs!==void 0&&a(p,[`collect_logs`],t.collectLogs),t.logManagement!==void 0&&a(p,[`log_management`],t.logManagement),t.logManagementStrategy!==void 0&&a(p,[`log_management_strategy`],u(t.logManagementStrategy,`logManagementStrategy`,`text`)),t.logpush!==void 0&&a(p,[`logpush`],t.logpush),t.logpushPublicKey!==void 0&&a(p,[`logpush_public_key`],u(t.logpushPublicKey,`logpushPublicKey`,`text`)),t.rateLimitingInterval!==void 0&&a(p,[`rate_limiting_interval`],t.rateLimitingInterval),t.rateLimitingLimit!==void 0&&a(p,[`rate_limiting_limit`],t.rateLimitingLimit),t.rateLimitingTechnique!==void 0&&a(p,[`rate_limiting_technique`],u(t.rateLimitingTechnique,`rateLimitingTechnique`,`text`)),t.retryBackoff!==void 0&&a(p,[`retry_backoff`],u(t.retryBackoff,`retryBackoff`,`text`)),t.retryDelay!==void 0&&a(p,[`retry_delay`],t.retryDelay),t.retryMaxAttempts!==void 0&&a(p,[`retry_max_attempts`],t.retryMaxAttempts),t.storeId!==void 0&&a(p,[`store_id`],u(t.storeId,`storeId`,`text`)),t.stripeAuthorization!==void 0&&a(p,[`stripe`,`authorization`],u(t.stripeAuthorization,`stripeAuthorization`,`text`)),t.workersAiBillingMode!==void 0&&a(p,[`workers_ai_billing_mode`],u(t.workersAiBillingMode,`workersAiBillingMode`,`text`)),t.zdr!==void 0&&a(p,[`zdr`],t.zdr),s(await l(`Updating`,async()=>n.put(`/accounts/${f}/ai-gateway/gateways/${t.id}`,{body:Object.keys(p).length>0?p:void 0})),{successLabel:`Updated`})}};function Pe(e){return e.positional(`provider`,{type:`string`,description:`Provider`,demandOption:!0}).option(`gateway-id`,{type:`string`,description:`gateway id`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Fe={command:`get <provider>`,describe:`Retrieves the endpoint URL for an AI Gateway.`,builder:Pe,handler:async t=>{if(t.dryRun){c({command:`cf ai-gateway urls get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${i()??`<account-id>`}/ai-gateway/gateways/${t.gatewayId??`<gatewayId>`}/url/${t.provider??`<provider>`}`,pathParams:{gatewayId:String(t.gatewayId??``),provider:String(t.provider??``)},bodyKind:`none`});return}let n=await r(t),a=t.local?d:await e(n);t.accountId=a,s(await l(`Loading`,async()=>n.aiGateway.urls.get(t.gatewayId,a,t.provider)),{successLabel:`Loaded`})}},Ie={command:`urls`,describe:`Retrieve the gateway's proxy URL used by clients to send inference requests`,builder:e=>e.command(Fe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Le={command:`ai-gateway`,describe:`Proxy, cache, rate-limit, and observe requests to AI providers — OpenAI, Anthropic, Workers AI, and more`,builder:e=>e.command(p).command(w).command(ce).command(ue).command(Ne).command(S).command(G).command(J).command(oe).command(Ce).command(je).command(Ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{Le as default};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as e,f as t,m as n,p as r,t as i,u as a}from"./auth-BlSmtIKd.mjs";import{n as o,t as s}from"./body-parser-Br-BoYk-.mjs";import{t as c}from"./output-D7_yAFVR.mjs";import{n as l,t as u}from"./progress-DZfTxbrx.mjs";import{n as d,t as f}from"./input-validation-zEO81MWN.mjs";import{t as p}from"./local-VJaJ3BZ1.mjs";import{n as m,t as h}from"./raw-fetch-DlXYwVA8.mjs";function ee(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`stream`,{type:`boolean`,description:`The stream 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 te={command:`chat-completions <id>`,describe:`Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses.`,builder:ee,handler:async t=>{if(t.dryRun){l({command:`cf ai-search chat-completions`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/chat/completions`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,stream:t.stream,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/chat/completions`,{body:e})),{successLabel:`Created`});return}let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.stream!==void 0&&o(f,[`stream`],t.stream),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/chat/completions`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Created`})}};function g(e){return e.option(`ai-gateway-id`,{type:`string`,description:`The ai_gateway_id field`}).option(`ai-search-model`,{type:`string`,description:`The ai_search_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`cache`,{type:`boolean`,description:`The cache field`,default:!0}).option(`cache-threshold`,{type:`string`,description:`The cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`],default:`close_enough`}).option(`chunk`,{type:`boolean`,description:`The chunk field`,default:!0}).option(`chunk-overlap`,{type:`number`,description:`The chunk_overlap field`,default:10}).option(`chunk-size`,{type:`number`,description:`The chunk_size field`}).option(`embedding-model`,{type:`string`,description:`The embedding_model field`,choices:[`@cf/qwen/qwen3-embedding-0.6b`,`@cf/baai/bge-m3`,`@cf/baai/bge-large-en-v1.5`,`@cf/google/embeddinggemma-300m`,`google-ai-studio/gemini-embedding-001`,`google-ai-studio/gemini-embedding-2-preview`,`openai/text-embedding-3-small`,`openai/text-embedding-3-large`]}).option(`fusion-method`,{type:`string`,description:`The fusion_method field`,choices:[`max`,`rrf`],default:`rrf`}).option(`hybrid-search-enabled`,{type:`boolean`,description:`Deprecated — use index_method instead.`,default:!1}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`}).option(`index-method-keyword`,{type:`boolean`,description:`Enable keyword (BM25) storage backend.`}).option(`index-method-vector`,{type:`boolean`,description:`Enable vector (embedding) storage backend.`}).option(`indexing-options-keyword-tokenizer`,{type:`string`,description:`Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter.`,choices:[`porter`,`trigram`],default:`porter`}).option(`max-num-results`,{type:`number`,description:`The max_num_results field`,default:10}).option(`metadata-created-from-aisearch-wizard`,{type:`boolean`,description:`The metadata.created_from_aisearch_wizard field`}).option(`metadata-search-for-agents-hostname`,{type:`string`,description:`The metadata.search_for_agents.hostname field`}).option(`metadata-search-for-agents-zone-id`,{type:`string`,description:`The metadata.search_for_agents.zone_id field`}).option(`metadata-search-for-agents-zone-name`,{type:`string`,description:`The metadata.search_for_agents.zone_name field`}).option(`metadata-worker-domain`,{type:`string`,description:`The metadata.worker_domain field`}).option(`public-endpoint-params-authorized-hosts`,{type:`string`,array:!0,description:`The public_endpoint_params.authorized_hosts field`}).option(`public-endpoint-params-chat-completions-endpoint-disabled`,{type:`boolean`,description:`Disable chat completions endpoint for this public endpoint`,default:!1}).option(`public-endpoint-params-enabled`,{type:`boolean`,description:`The public_endpoint_params.enabled field`,default:!1}).option(`public-endpoint-params-mcp-description`,{type:`string`,description:`The public_endpoint_params.mcp.description field`,default:`Finds exactly what you're looking for`}).option(`public-endpoint-params-mcp-disabled`,{type:`boolean`,description:`Disable MCP endpoint for this public endpoint`,default:!1}).option(`public-endpoint-params-rate-limit-period-ms`,{type:`number`,description:`The public_endpoint_params.rate_limit.period_ms field`}).option(`public-endpoint-params-rate-limit-requests`,{type:`number`,description:`The public_endpoint_params.rate_limit.requests field`}).option(`public-endpoint-params-rate-limit-technique`,{type:`string`,description:`The public_endpoint_params.rate_limit.technique field`,choices:[`fixed`,`sliding`]}).option(`public-endpoint-params-search-endpoint-disabled`,{type:`boolean`,description:`Disable search endpoint for this public endpoint`,default:!1}).option(`reranking`,{type:`boolean`,description:`The reranking field`,default:!1}).option(`reranking-model`,{type:`string`,description:`The reranking_model field`,choices:[`@cf/baai/bge-reranker-base`]}).option(`retrieval-options-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`rewrite-model`,{type:`string`,description:`The rewrite_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`rewrite-query`,{type:`boolean`,description:`The rewrite_query field`,default:!1}).option(`score-threshold`,{type:`number`,description:`The score_threshold field`,default:.4}).option(`source`,{type:`string`,description:`The source field`}).option(`source-params-exclude-items`,{type:`string`,array:!0,description:`List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced)`}).option(`source-params-include-items`,{type:`string`,array:!0,description:`List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post)`}).option(`source-params-prefix`,{type:`string`,description:`The source_params.prefix field`}).option(`source-params-r2-jurisdiction`,{type:`string`,description:`The source_params.r2_jurisdiction field`,default:`default`}).option(`source-params-web-crawler-crawl-options-depth`,{type:`number`,description:`The source_params.web_crawler.crawl_options.depth field`}).option(`source-params-web-crawler-crawl-options-include-external-links`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_external_links field`,default:!1}).option(`source-params-web-crawler-crawl-options-include-subdomains`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_subdomains field`,default:!1}).option(`source-params-web-crawler-crawl-options-max-age`,{type:`number`,description:`The source_params.web_crawler.crawl_options.max_age field`}).option(`source-params-web-crawler-crawl-options-source`,{type:`string`,description:`The source_params.web_crawler.crawl_options.source field`,choices:[`all`,`sitemaps`,`links`],default:`all`}).option(`source-params-web-crawler-parse-options-include-images`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.include_images field`,default:!1}).option(`source-params-web-crawler-parse-options-specific-sitemaps`,{type:`string`,array:!0,description:`List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.`}).option(`source-params-web-crawler-parse-options-use-browser-rendering`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.use_browser_rendering field`,default:!1}).option(`source-params-web-crawler-parse-type`,{type:`string`,description:`The source_params.web_crawler.parse_type field`,choices:[`sitemap`,`feed-rss`,`crawl`],default:`sitemap`}).option(`source-params-web-crawler-store-options-r2-jurisdiction`,{type:`string`,description:`The source_params.web_crawler.store_options.r2_jurisdiction field`,default:`default`}).option(`source-params-web-crawler-store-options-storage-id`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_id field`}).option(`source-params-web-crawler-store-options-storage-type`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_type field`,choices:[`r2`],default:`r2`}).option(`token-id`,{type:`string`,description:`The token_id field`}).option(`type`,{type:`string`,description:`The type field`,choices:[`r2`,`web-crawler`]}).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([`index-method-keyword`,`index-method-vector`].some(t=>e[t]!==void 0)){let t=[`index-method-keyword`,`index-method-vector`].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 --index_method-* flag is set`)}return!0}).check(e=>{if([`metadata-created-from-aisearch-wizard`,`metadata-search-for-agents-hostname`,`metadata-search-for-agents-zone-id`,`metadata-search-for-agents-zone-name`,`metadata-worker-domain`].some(t=>e[t]!==void 0)){let t=[`metadata-search-for-agents-hostname`,`metadata-search-for-agents-zone-id`,`metadata-search-for-agents-zone-name`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --metadata-* flag is set`)}return!0}).check(e=>{if([`source-params-exclude-items`,`source-params-include-items`,`source-params-prefix`,`source-params-web-crawler-crawl-options-depth`,`source-params-web-crawler-crawl-options-max-age`,`source-params-web-crawler-parse-options-specific-sitemaps`,`source-params-web-crawler-store-options-storage-id`].some(t=>e[t]!==void 0)){let t=[`source-params-web-crawler-store-options-storage-id`].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 --source_params-* flag is set`)}return!0})}const _={command:`create`,describe:`Create a new instances.`,builder:g,handler:async t=>{if(t.dryRun){l({command:`cf ai-search create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances`,pathParams:{},bodyKind:`json`,body:{aiGatewayId:t.aiGatewayId,aiSearchModel:t.aiSearchModel,cache:t.cache,cacheThreshold:t.cacheThreshold,chunk:t.chunk,chunkOverlap:t.chunkOverlap,chunkSize:t.chunkSize,embeddingModel:t.embeddingModel,fusionMethod:t.fusionMethod,hybridSearchEnabled:t.hybridSearchEnabled,id:t.id,indexMethodKeyword:t.indexMethodKeyword,indexMethodVector:t.indexMethodVector,indexingOptionsKeywordTokenizer:t.indexingOptionsKeywordTokenizer,maxNumResults:t.maxNumResults,metadataCreatedFromAisearchWizard:t.metadataCreatedFromAisearchWizard,metadataSearchForAgentsHostname:t.metadataSearchForAgentsHostname,metadataSearchForAgentsZoneId:t.metadataSearchForAgentsZoneId,metadataSearchForAgentsZoneName:t.metadataSearchForAgentsZoneName,metadataWorkerDomain:t.metadataWorkerDomain,publicEndpointParamsAuthorizedHosts:t.publicEndpointParamsAuthorizedHosts,publicEndpointParamsChatCompletionsEndpointDisabled:t.publicEndpointParamsChatCompletionsEndpointDisabled,publicEndpointParamsEnabled:t.publicEndpointParamsEnabled,publicEndpointParamsMcpDescription:t.publicEndpointParamsMcpDescription,publicEndpointParamsMcpDisabled:t.publicEndpointParamsMcpDisabled,publicEndpointParamsRateLimitPeriodMs:t.publicEndpointParamsRateLimitPeriodMs,publicEndpointParamsRateLimitRequests:t.publicEndpointParamsRateLimitRequests,publicEndpointParamsRateLimitTechnique:t.publicEndpointParamsRateLimitTechnique,publicEndpointParamsSearchEndpointDisabled:t.publicEndpointParamsSearchEndpointDisabled,reranking:t.reranking,rerankingModel:t.rerankingModel,retrievalOptionsKeywordMatchMode:t.retrievalOptionsKeywordMatchMode,rewriteModel:t.rewriteModel,rewriteQuery:t.rewriteQuery,scoreThreshold:t.scoreThreshold,source:t.source,sourceParamsExcludeItems:t.sourceParamsExcludeItems,sourceParamsIncludeItems:t.sourceParamsIncludeItems,sourceParamsPrefix:t.sourceParamsPrefix,sourceParamsR2Jurisdiction:t.sourceParamsR2Jurisdiction,sourceParamsWebCrawlerCrawlOptionsDepth:t.sourceParamsWebCrawlerCrawlOptionsDepth,sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks:t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks,sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains:t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains,sourceParamsWebCrawlerCrawlOptionsMaxAge:t.sourceParamsWebCrawlerCrawlOptionsMaxAge,sourceParamsWebCrawlerCrawlOptionsSource:t.sourceParamsWebCrawlerCrawlOptionsSource,sourceParamsWebCrawlerParseOptionsIncludeImages:t.sourceParamsWebCrawlerParseOptionsIncludeImages,sourceParamsWebCrawlerParseOptionsSpecificSitemaps:t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps,sourceParamsWebCrawlerParseOptionsUseBrowserRendering:t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering,sourceParamsWebCrawlerParseType:t.sourceParamsWebCrawlerParseType,sourceParamsWebCrawlerStoreOptionsR2Jurisdiction:t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,sourceParamsWebCrawlerStoreOptionsStorageId:t.sourceParamsWebCrawlerStoreOptionsStorageId,sourceParamsWebCrawlerStoreOptionsStorageType:t.sourceParamsWebCrawlerStoreOptionsStorageType,tokenId:t.tokenId,type:t.type,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/instances`,{body:e})),{successLabel:`Created`});return}t.id===void 0&&(t.id=await n(`id`,`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`));let m={};t.aiGatewayId!==void 0&&o(m,[`ai_gateway_id`],d(t.aiGatewayId,`aiGatewayId`,`text`)),t.aiSearchModel!==void 0&&o(m,[`ai_search_model`],d(t.aiSearchModel,`aiSearchModel`,`text`)),t.cache!==void 0&&o(m,[`cache`],t.cache),t.cacheThreshold!==void 0&&o(m,[`cache_threshold`],d(t.cacheThreshold,`cacheThreshold`,`text`)),t.chunk!==void 0&&o(m,[`chunk`],t.chunk),t.chunkOverlap!==void 0&&o(m,[`chunk_overlap`],t.chunkOverlap),t.chunkSize!==void 0&&o(m,[`chunk_size`],t.chunkSize),t.embeddingModel!==void 0&&o(m,[`embedding_model`],d(t.embeddingModel,`embeddingModel`,`text`)),t.fusionMethod!==void 0&&o(m,[`fusion_method`],d(t.fusionMethod,`fusionMethod`,`text`)),t.hybridSearchEnabled!==void 0&&o(m,[`hybrid_search_enabled`],t.hybridSearchEnabled),t.id!==void 0&&o(m,[`id`],d(t.id,`id`,`text`)),t.indexMethodKeyword!==void 0&&o(m,[`index_method`,`keyword`],t.indexMethodKeyword),t.indexMethodVector!==void 0&&o(m,[`index_method`,`vector`],t.indexMethodVector),t.indexingOptionsKeywordTokenizer!==void 0&&o(m,[`indexing_options`,`keyword_tokenizer`],d(t.indexingOptionsKeywordTokenizer,`indexingOptionsKeywordTokenizer`,`text`)),t.maxNumResults!==void 0&&o(m,[`max_num_results`],t.maxNumResults),t.metadataCreatedFromAisearchWizard!==void 0&&o(m,[`metadata`,`created_from_aisearch_wizard`],t.metadataCreatedFromAisearchWizard),t.metadataSearchForAgentsHostname!==void 0&&o(m,[`metadata`,`search_for_agents`,`hostname`],d(t.metadataSearchForAgentsHostname,`metadataSearchForAgentsHostname`,`text`)),t.metadataSearchForAgentsZoneId!==void 0&&o(m,[`metadata`,`search_for_agents`,`zone_id`],d(t.metadataSearchForAgentsZoneId,`metadataSearchForAgentsZoneId`,`text`)),t.metadataSearchForAgentsZoneName!==void 0&&o(m,[`metadata`,`search_for_agents`,`zone_name`],d(t.metadataSearchForAgentsZoneName,`metadataSearchForAgentsZoneName`,`text`)),t.metadataWorkerDomain!==void 0&&o(m,[`metadata`,`worker_domain`],d(t.metadataWorkerDomain,`metadataWorkerDomain`,`text`)),t.publicEndpointParamsAuthorizedHosts!==void 0&&o(m,[`public_endpoint_params`,`authorized_hosts`],t.publicEndpointParamsAuthorizedHosts),t.publicEndpointParamsChatCompletionsEndpointDisabled!==void 0&&o(m,[`public_endpoint_params`,`chat_completions_endpoint`,`disabled`],t.publicEndpointParamsChatCompletionsEndpointDisabled),t.publicEndpointParamsEnabled!==void 0&&o(m,[`public_endpoint_params`,`enabled`],t.publicEndpointParamsEnabled),t.publicEndpointParamsMcpDescription!==void 0&&o(m,[`public_endpoint_params`,`mcp`,`description`],d(t.publicEndpointParamsMcpDescription,`publicEndpointParamsMcpDescription`,`text`)),t.publicEndpointParamsMcpDisabled!==void 0&&o(m,[`public_endpoint_params`,`mcp`,`disabled`],t.publicEndpointParamsMcpDisabled),t.publicEndpointParamsRateLimitPeriodMs!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`period_ms`],t.publicEndpointParamsRateLimitPeriodMs),t.publicEndpointParamsRateLimitRequests!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`requests`],t.publicEndpointParamsRateLimitRequests),t.publicEndpointParamsRateLimitTechnique!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`technique`],d(t.publicEndpointParamsRateLimitTechnique,`publicEndpointParamsRateLimitTechnique`,`text`)),t.publicEndpointParamsSearchEndpointDisabled!==void 0&&o(m,[`public_endpoint_params`,`search_endpoint`,`disabled`],t.publicEndpointParamsSearchEndpointDisabled),t.reranking!==void 0&&o(m,[`reranking`],t.reranking),t.rerankingModel!==void 0&&o(m,[`reranking_model`],d(t.rerankingModel,`rerankingModel`,`text`)),t.retrievalOptionsKeywordMatchMode!==void 0&&o(m,[`retrieval_options`,`keyword_match_mode`],d(t.retrievalOptionsKeywordMatchMode,`retrievalOptionsKeywordMatchMode`,`text`)),t.rewriteModel!==void 0&&o(m,[`rewrite_model`],d(t.rewriteModel,`rewriteModel`,`text`)),t.rewriteQuery!==void 0&&o(m,[`rewrite_query`],t.rewriteQuery),t.scoreThreshold!==void 0&&o(m,[`score_threshold`],t.scoreThreshold),t.source!==void 0&&o(m,[`source`],d(t.source,`source`,`text`)),t.sourceParamsExcludeItems!==void 0&&o(m,[`source_params`,`exclude_items`],t.sourceParamsExcludeItems),t.sourceParamsIncludeItems!==void 0&&o(m,[`source_params`,`include_items`],t.sourceParamsIncludeItems),t.sourceParamsPrefix!==void 0&&o(m,[`source_params`,`prefix`],d(t.sourceParamsPrefix,`sourceParamsPrefix`,`text`)),t.sourceParamsR2Jurisdiction!==void 0&&o(m,[`source_params`,`r2_jurisdiction`],d(t.sourceParamsR2Jurisdiction,`sourceParamsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerCrawlOptionsDepth!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`depth`],t.sourceParamsWebCrawlerCrawlOptionsDepth),t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`include_external_links`],t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks),t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`include_subdomains`],t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains),t.sourceParamsWebCrawlerCrawlOptionsMaxAge!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`max_age`],t.sourceParamsWebCrawlerCrawlOptionsMaxAge),t.sourceParamsWebCrawlerCrawlOptionsSource!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`source`],d(t.sourceParamsWebCrawlerCrawlOptionsSource,`sourceParamsWebCrawlerCrawlOptionsSource`,`text`)),t.sourceParamsWebCrawlerParseOptionsIncludeImages!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`include_images`],t.sourceParamsWebCrawlerParseOptionsIncludeImages),t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`specific_sitemaps`],t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps),t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`use_browser_rendering`],t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering),t.sourceParamsWebCrawlerParseType!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_type`],d(t.sourceParamsWebCrawlerParseType,`sourceParamsWebCrawlerParseType`,`text`)),t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`r2_jurisdiction`],d(t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,`sourceParamsWebCrawlerStoreOptionsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageId!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`storage_id`],d(t.sourceParamsWebCrawlerStoreOptionsStorageId,`sourceParamsWebCrawlerStoreOptionsStorageId`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageType!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`storage_type`],d(t.sourceParamsWebCrawlerStoreOptionsStorageType,`sourceParamsWebCrawlerStoreOptionsStorageType`,`text`)),t.tokenId!==void 0&&o(m,[`token_id`],d(t.tokenId,`tokenId`,`text`)),t.type!==void 0&&o(m,[`type`],d(t.type,`type`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/instances`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function v(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const y={command:`delete <id>`,describe:`Delete instances.`,builder:v,handler:async n=>{if(n.dryRun){l({command:`cf ai-search delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${n.id??`<id>`}`,pathParams:{id:String(n.id??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?p:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
3
|
-
`);return}c(await u(`Deleting`,async()=>r.aiSearch.delete(n.id,o)),{successLabel:`Deleted`})}};function b(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`description`,{type:`string`,description:`The description 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 x={command:`create <id>`,describe:`Creates a new indexing job for an AI Search instance.`,builder:b,handler:async t=>{if(t.dryRun){l({command:`cf ai-search jobs create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/jobs`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{description:t.description,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/jobs`,{body:e})),{successLabel:`Created`});return}let f={};t.description!==void 0&&o(f,[`description`],d(t.description,`description`,`text`)),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/jobs`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Created`})}};function S(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`action`,{type:`string`,description:`The action field`,choices:[`cancel`]}).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:`edit <jobId>`,describe:`Updates the status of an AI Search indexing job.`,builder:S,handler:async t=>{if(t.dryRun){l({command:`cf ai-search jobs edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``)},bodyKind:`json`,body:{action:t.action,body:t.body}});return}let n=await i(t),f=t.local?p:await e(n);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/instances/${t.id}/jobs/${t.jobId}`,{body:e})),{successLabel:`Updated`});return}t.action===void 0&&(t.action=await r(`action`,``,[`cancel`]));let m={};t.action!==void 0&&o(m,[`action`],d(t.action,`action`,`text`)),c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/instances/${t.id}/jobs/${t.jobId}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}};function w(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const T={command:`get <jobId>`,describe:`Retrieves details for a specific AI Search indexing job.`,builder:w,handler:async t=>{if(t.dryRun){l({command:`cf ai-search jobs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.jobs.get(t.id,t.jobId,r)),{successLabel:`Loaded`})}};function E(e){return e.option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const D={command:`list`,describe:`Lists indexing jobs for an AI Search instance.`,builder:E,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf ai-search jobs list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/jobs`,pathParams:{id:String(t.id??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.jobs.list(t.id,o,n)),{successLabel:`Loaded`})}};function O(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const k={command:`logs <jobId>`,describe:`Lists log entries for an AI Search indexing job.`,builder:O,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf ai-search jobs logs`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}/logs`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.jobs.logs(t.id,t.jobId,o,n)),{successLabel:`Loaded`})}},A={command:`jobs`,describe:`Ingestion job lifecycle for AI Search instances`,builder:e=>e.command(x).command(C).command(T).command(D).command(k).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function j(e){return e.option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`namespace`,{type:`string`,description:`Namespace`}).option(`search`,{type:`string`,description:`Search by id`}).option(`order-by`,{type:`string`,description:`Order By Column Name`,choices:[`created_at`]}).option(`order-by-direction`,{type:`string`,description:`Order By Direction`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const M={command:`list`,describe:`List instances.`,builder:j,handler:async t=>{let n={page:t.page,per_page:t.perPage,namespace:t.namespace,search:t.search,order_by:t.orderBy,order_by_direction:t.orderByDirection};if(t.dryRun){l({command:`cf ai-search list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.list(o,n)),{successLabel:`Loaded`})}};function N(e){return e.option(`description`,{type:`string`,description:`Optional description for the namespace. Max 256 characters.`}).option(`name`,{type:`string`,description:`The name field`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const P={command:`create`,describe:`Create a new namespace.`,builder:N,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces`,pathParams:{},bodyKind:`json`,body:{description:t.description,name:t.name,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/namespaces`,{body:e})),{successLabel:`Created`});return}t.name===void 0&&(t.name=await n(`name`,``));let m={};t.description!==void 0&&o(m,[`description`],d(t.description,`description`,`text`)),t.name!==void 0&&o(m,[`name`],d(t.name,`name`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/namespaces`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function F(e){return e.positional(`name`,{type:`string`,description:`Name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const I={command:`delete <name>`,describe:`Delete namespace.`,builder:F,handler:async n=>{if(n.dryRun){l({command:`cf ai-search namespaces delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${n.name??`<name>`}`,pathParams:{name:String(n.name??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?p:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
4
|
-
`);return}c(await u(`Deleting`,async()=>r.aiSearch.namespaces.delete(o,n.name)),{successLabel:`Deleted`})}};function L(e){return e.positional(`name`,{type:`string`,description:`Name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const R={command:`get <name>`,describe:`Read namespace.`,builder:L,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}`,pathParams:{name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.namespaces.get(r,t.name)),{successLabel:`Loaded`})}};function z(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`stream`,{type:`boolean`,description:`The stream 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 B={command:`completions <id>`,describe:`Performs a chat completion request against an AI Search instance, using indexed content as context for generating responses.`,builder:z,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances chat completions`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/chat/completions`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,stream:t.stream,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/chat/completions`,{body:e})),{successLabel:`Created`});return}let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.stream!==void 0&&o(f,[`stream`],t.stream),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/chat/completions`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Created`})}},V={command:`chat`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(B).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function H(e){return e.positional(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-gateway-id`,{type:`string`,description:`The ai_gateway_id field`}).option(`ai-search-model`,{type:`string`,description:`The ai_search_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`cache`,{type:`boolean`,description:`The cache field`,default:!0}).option(`cache-threshold`,{type:`string`,description:`The cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`],default:`close_enough`}).option(`chunk`,{type:`boolean`,description:`The chunk field`,default:!0}).option(`chunk-overlap`,{type:`number`,description:`The chunk_overlap field`,default:10}).option(`chunk-size`,{type:`number`,description:`The chunk_size field`}).option(`embedding-model`,{type:`string`,description:`The embedding_model field`,choices:[`@cf/qwen/qwen3-embedding-0.6b`,`@cf/baai/bge-m3`,`@cf/baai/bge-large-en-v1.5`,`@cf/google/embeddinggemma-300m`,`google-ai-studio/gemini-embedding-001`,`google-ai-studio/gemini-embedding-2-preview`,`openai/text-embedding-3-small`,`openai/text-embedding-3-large`]}).option(`fusion-method`,{type:`string`,description:`The fusion_method field`,choices:[`max`,`rrf`],default:`rrf`}).option(`hybrid-search-enabled`,{type:`boolean`,description:`Deprecated — use index_method instead.`,default:!1}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`}).option(`index-method-keyword`,{type:`boolean`,description:`Enable keyword (BM25) storage backend.`}).option(`index-method-vector`,{type:`boolean`,description:`Enable vector (embedding) storage backend.`}).option(`indexing-options-keyword-tokenizer`,{type:`string`,description:`Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter.`,choices:[`porter`,`trigram`],default:`porter`}).option(`max-num-results`,{type:`number`,description:`The max_num_results field`,default:10}).option(`metadata-created-from-aisearch-wizard`,{type:`boolean`,description:`The metadata.created_from_aisearch_wizard field`}).option(`metadata-search-for-agents-hostname`,{type:`string`,description:`The metadata.search_for_agents.hostname field`}).option(`metadata-search-for-agents-zone-id`,{type:`string`,description:`The metadata.search_for_agents.zone_id field`}).option(`metadata-search-for-agents-zone-name`,{type:`string`,description:`The metadata.search_for_agents.zone_name field`}).option(`metadata-worker-domain`,{type:`string`,description:`The metadata.worker_domain field`}).option(`public-endpoint-params-authorized-hosts`,{type:`string`,array:!0,description:`The public_endpoint_params.authorized_hosts field`}).option(`public-endpoint-params-chat-completions-endpoint-disabled`,{type:`boolean`,description:`Disable chat completions endpoint for this public endpoint`,default:!1}).option(`public-endpoint-params-enabled`,{type:`boolean`,description:`The public_endpoint_params.enabled field`,default:!1}).option(`public-endpoint-params-mcp-description`,{type:`string`,description:`The public_endpoint_params.mcp.description field`,default:`Finds exactly what you're looking for`}).option(`public-endpoint-params-mcp-disabled`,{type:`boolean`,description:`Disable MCP endpoint for this public endpoint`,default:!1}).option(`public-endpoint-params-rate-limit-period-ms`,{type:`number`,description:`The public_endpoint_params.rate_limit.period_ms field`}).option(`public-endpoint-params-rate-limit-requests`,{type:`number`,description:`The public_endpoint_params.rate_limit.requests field`}).option(`public-endpoint-params-rate-limit-technique`,{type:`string`,description:`The public_endpoint_params.rate_limit.technique field`,choices:[`fixed`,`sliding`]}).option(`public-endpoint-params-search-endpoint-disabled`,{type:`boolean`,description:`Disable search endpoint for this public endpoint`,default:!1}).option(`reranking`,{type:`boolean`,description:`The reranking field`,default:!1}).option(`reranking-model`,{type:`string`,description:`The reranking_model field`,choices:[`@cf/baai/bge-reranker-base`]}).option(`retrieval-options-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`rewrite-model`,{type:`string`,description:`The rewrite_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`rewrite-query`,{type:`boolean`,description:`The rewrite_query field`,default:!1}).option(`score-threshold`,{type:`number`,description:`The score_threshold field`,default:.4}).option(`source`,{type:`string`,description:`The source field`}).option(`source-params-exclude-items`,{type:`string`,array:!0,description:`List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced)`}).option(`source-params-include-items`,{type:`string`,array:!0,description:`List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post)`}).option(`source-params-prefix`,{type:`string`,description:`The source_params.prefix field`}).option(`source-params-r2-jurisdiction`,{type:`string`,description:`The source_params.r2_jurisdiction field`,default:`default`}).option(`source-params-web-crawler-crawl-options-depth`,{type:`number`,description:`The source_params.web_crawler.crawl_options.depth field`}).option(`source-params-web-crawler-crawl-options-include-external-links`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_external_links field`,default:!1}).option(`source-params-web-crawler-crawl-options-include-subdomains`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_subdomains field`,default:!1}).option(`source-params-web-crawler-crawl-options-max-age`,{type:`number`,description:`The source_params.web_crawler.crawl_options.max_age field`}).option(`source-params-web-crawler-crawl-options-source`,{type:`string`,description:`The source_params.web_crawler.crawl_options.source field`,choices:[`all`,`sitemaps`,`links`],default:`all`}).option(`source-params-web-crawler-parse-options-include-images`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.include_images field`,default:!1}).option(`source-params-web-crawler-parse-options-specific-sitemaps`,{type:`string`,array:!0,description:`List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.`}).option(`source-params-web-crawler-parse-options-use-browser-rendering`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.use_browser_rendering field`,default:!1}).option(`source-params-web-crawler-parse-type`,{type:`string`,description:`The source_params.web_crawler.parse_type field`,choices:[`sitemap`,`feed-rss`,`crawl`],default:`sitemap`}).option(`source-params-web-crawler-store-options-r2-jurisdiction`,{type:`string`,description:`The source_params.web_crawler.store_options.r2_jurisdiction field`,default:`default`}).option(`source-params-web-crawler-store-options-storage-id`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_id field`}).option(`source-params-web-crawler-store-options-storage-type`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_type field`,choices:[`r2`],default:`r2`}).option(`token-id`,{type:`string`,description:`The token_id field`}).option(`type`,{type:`string`,description:`The type field`,choices:[`r2`,`web-crawler`]}).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([`index-method-keyword`,`index-method-vector`].some(t=>e[t]!==void 0)){let t=[`index-method-keyword`,`index-method-vector`].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 --index_method-* flag is set`)}return!0}).check(e=>{if([`metadata-created-from-aisearch-wizard`,`metadata-search-for-agents-hostname`,`metadata-search-for-agents-zone-id`,`metadata-search-for-agents-zone-name`,`metadata-worker-domain`].some(t=>e[t]!==void 0)){let t=[`metadata-search-for-agents-hostname`,`metadata-search-for-agents-zone-id`,`metadata-search-for-agents-zone-name`].filter(t=>e[t]===void 0);if(t.length>0)throw Error(`${t.map(e=>`--`+e).join(`, `)} ${t.length===1?`is`:`are`} required when any --metadata-* flag is set`)}return!0}).check(e=>{if([`source-params-exclude-items`,`source-params-include-items`,`source-params-prefix`,`source-params-web-crawler-crawl-options-depth`,`source-params-web-crawler-crawl-options-max-age`,`source-params-web-crawler-parse-options-specific-sitemaps`,`source-params-web-crawler-store-options-storage-id`].some(t=>e[t]!==void 0)){let t=[`source-params-web-crawler-store-options-storage-id`].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 --source_params-* flag is set`)}return!0})}const U={command:`create <name>`,describe:`Create a new instances.`,builder:H,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances`,pathParams:{name:String(t.name??``)},bodyKind:`json`,body:{aiGatewayId:t.aiGatewayId,aiSearchModel:t.aiSearchModel,cache:t.cache,cacheThreshold:t.cacheThreshold,chunk:t.chunk,chunkOverlap:t.chunkOverlap,chunkSize:t.chunkSize,embeddingModel:t.embeddingModel,fusionMethod:t.fusionMethod,hybridSearchEnabled:t.hybridSearchEnabled,id:t.id,indexMethodKeyword:t.indexMethodKeyword,indexMethodVector:t.indexMethodVector,indexingOptionsKeywordTokenizer:t.indexingOptionsKeywordTokenizer,maxNumResults:t.maxNumResults,metadataCreatedFromAisearchWizard:t.metadataCreatedFromAisearchWizard,metadataSearchForAgentsHostname:t.metadataSearchForAgentsHostname,metadataSearchForAgentsZoneId:t.metadataSearchForAgentsZoneId,metadataSearchForAgentsZoneName:t.metadataSearchForAgentsZoneName,metadataWorkerDomain:t.metadataWorkerDomain,publicEndpointParamsAuthorizedHosts:t.publicEndpointParamsAuthorizedHosts,publicEndpointParamsChatCompletionsEndpointDisabled:t.publicEndpointParamsChatCompletionsEndpointDisabled,publicEndpointParamsEnabled:t.publicEndpointParamsEnabled,publicEndpointParamsMcpDescription:t.publicEndpointParamsMcpDescription,publicEndpointParamsMcpDisabled:t.publicEndpointParamsMcpDisabled,publicEndpointParamsRateLimitPeriodMs:t.publicEndpointParamsRateLimitPeriodMs,publicEndpointParamsRateLimitRequests:t.publicEndpointParamsRateLimitRequests,publicEndpointParamsRateLimitTechnique:t.publicEndpointParamsRateLimitTechnique,publicEndpointParamsSearchEndpointDisabled:t.publicEndpointParamsSearchEndpointDisabled,reranking:t.reranking,rerankingModel:t.rerankingModel,retrievalOptionsKeywordMatchMode:t.retrievalOptionsKeywordMatchMode,rewriteModel:t.rewriteModel,rewriteQuery:t.rewriteQuery,scoreThreshold:t.scoreThreshold,source:t.source,sourceParamsExcludeItems:t.sourceParamsExcludeItems,sourceParamsIncludeItems:t.sourceParamsIncludeItems,sourceParamsPrefix:t.sourceParamsPrefix,sourceParamsR2Jurisdiction:t.sourceParamsR2Jurisdiction,sourceParamsWebCrawlerCrawlOptionsDepth:t.sourceParamsWebCrawlerCrawlOptionsDepth,sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks:t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks,sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains:t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains,sourceParamsWebCrawlerCrawlOptionsMaxAge:t.sourceParamsWebCrawlerCrawlOptionsMaxAge,sourceParamsWebCrawlerCrawlOptionsSource:t.sourceParamsWebCrawlerCrawlOptionsSource,sourceParamsWebCrawlerParseOptionsIncludeImages:t.sourceParamsWebCrawlerParseOptionsIncludeImages,sourceParamsWebCrawlerParseOptionsSpecificSitemaps:t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps,sourceParamsWebCrawlerParseOptionsUseBrowserRendering:t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering,sourceParamsWebCrawlerParseType:t.sourceParamsWebCrawlerParseType,sourceParamsWebCrawlerStoreOptionsR2Jurisdiction:t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,sourceParamsWebCrawlerStoreOptionsStorageId:t.sourceParamsWebCrawlerStoreOptionsStorageId,sourceParamsWebCrawlerStoreOptionsStorageType:t.sourceParamsWebCrawlerStoreOptionsStorageType,tokenId:t.tokenId,type:t.type,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/namespaces/${t.name}/instances`,{body:e})),{successLabel:`Created`});return}t.id===void 0&&(t.id=await n(`id`,`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`));let m={};t.aiGatewayId!==void 0&&o(m,[`ai_gateway_id`],d(t.aiGatewayId,`aiGatewayId`,`text`)),t.aiSearchModel!==void 0&&o(m,[`ai_search_model`],d(t.aiSearchModel,`aiSearchModel`,`text`)),t.cache!==void 0&&o(m,[`cache`],t.cache),t.cacheThreshold!==void 0&&o(m,[`cache_threshold`],d(t.cacheThreshold,`cacheThreshold`,`text`)),t.chunk!==void 0&&o(m,[`chunk`],t.chunk),t.chunkOverlap!==void 0&&o(m,[`chunk_overlap`],t.chunkOverlap),t.chunkSize!==void 0&&o(m,[`chunk_size`],t.chunkSize),t.embeddingModel!==void 0&&o(m,[`embedding_model`],d(t.embeddingModel,`embeddingModel`,`text`)),t.fusionMethod!==void 0&&o(m,[`fusion_method`],d(t.fusionMethod,`fusionMethod`,`text`)),t.hybridSearchEnabled!==void 0&&o(m,[`hybrid_search_enabled`],t.hybridSearchEnabled),t.id!==void 0&&o(m,[`id`],d(t.id,`id`,`text`)),t.indexMethodKeyword!==void 0&&o(m,[`index_method`,`keyword`],t.indexMethodKeyword),t.indexMethodVector!==void 0&&o(m,[`index_method`,`vector`],t.indexMethodVector),t.indexingOptionsKeywordTokenizer!==void 0&&o(m,[`indexing_options`,`keyword_tokenizer`],d(t.indexingOptionsKeywordTokenizer,`indexingOptionsKeywordTokenizer`,`text`)),t.maxNumResults!==void 0&&o(m,[`max_num_results`],t.maxNumResults),t.metadataCreatedFromAisearchWizard!==void 0&&o(m,[`metadata`,`created_from_aisearch_wizard`],t.metadataCreatedFromAisearchWizard),t.metadataSearchForAgentsHostname!==void 0&&o(m,[`metadata`,`search_for_agents`,`hostname`],d(t.metadataSearchForAgentsHostname,`metadataSearchForAgentsHostname`,`text`)),t.metadataSearchForAgentsZoneId!==void 0&&o(m,[`metadata`,`search_for_agents`,`zone_id`],d(t.metadataSearchForAgentsZoneId,`metadataSearchForAgentsZoneId`,`text`)),t.metadataSearchForAgentsZoneName!==void 0&&o(m,[`metadata`,`search_for_agents`,`zone_name`],d(t.metadataSearchForAgentsZoneName,`metadataSearchForAgentsZoneName`,`text`)),t.metadataWorkerDomain!==void 0&&o(m,[`metadata`,`worker_domain`],d(t.metadataWorkerDomain,`metadataWorkerDomain`,`text`)),t.publicEndpointParamsAuthorizedHosts!==void 0&&o(m,[`public_endpoint_params`,`authorized_hosts`],t.publicEndpointParamsAuthorizedHosts),t.publicEndpointParamsChatCompletionsEndpointDisabled!==void 0&&o(m,[`public_endpoint_params`,`chat_completions_endpoint`,`disabled`],t.publicEndpointParamsChatCompletionsEndpointDisabled),t.publicEndpointParamsEnabled!==void 0&&o(m,[`public_endpoint_params`,`enabled`],t.publicEndpointParamsEnabled),t.publicEndpointParamsMcpDescription!==void 0&&o(m,[`public_endpoint_params`,`mcp`,`description`],d(t.publicEndpointParamsMcpDescription,`publicEndpointParamsMcpDescription`,`text`)),t.publicEndpointParamsMcpDisabled!==void 0&&o(m,[`public_endpoint_params`,`mcp`,`disabled`],t.publicEndpointParamsMcpDisabled),t.publicEndpointParamsRateLimitPeriodMs!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`period_ms`],t.publicEndpointParamsRateLimitPeriodMs),t.publicEndpointParamsRateLimitRequests!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`requests`],t.publicEndpointParamsRateLimitRequests),t.publicEndpointParamsRateLimitTechnique!==void 0&&o(m,[`public_endpoint_params`,`rate_limit`,`technique`],d(t.publicEndpointParamsRateLimitTechnique,`publicEndpointParamsRateLimitTechnique`,`text`)),t.publicEndpointParamsSearchEndpointDisabled!==void 0&&o(m,[`public_endpoint_params`,`search_endpoint`,`disabled`],t.publicEndpointParamsSearchEndpointDisabled),t.reranking!==void 0&&o(m,[`reranking`],t.reranking),t.rerankingModel!==void 0&&o(m,[`reranking_model`],d(t.rerankingModel,`rerankingModel`,`text`)),t.retrievalOptionsKeywordMatchMode!==void 0&&o(m,[`retrieval_options`,`keyword_match_mode`],d(t.retrievalOptionsKeywordMatchMode,`retrievalOptionsKeywordMatchMode`,`text`)),t.rewriteModel!==void 0&&o(m,[`rewrite_model`],d(t.rewriteModel,`rewriteModel`,`text`)),t.rewriteQuery!==void 0&&o(m,[`rewrite_query`],t.rewriteQuery),t.scoreThreshold!==void 0&&o(m,[`score_threshold`],t.scoreThreshold),t.source!==void 0&&o(m,[`source`],d(t.source,`source`,`text`)),t.sourceParamsExcludeItems!==void 0&&o(m,[`source_params`,`exclude_items`],t.sourceParamsExcludeItems),t.sourceParamsIncludeItems!==void 0&&o(m,[`source_params`,`include_items`],t.sourceParamsIncludeItems),t.sourceParamsPrefix!==void 0&&o(m,[`source_params`,`prefix`],d(t.sourceParamsPrefix,`sourceParamsPrefix`,`text`)),t.sourceParamsR2Jurisdiction!==void 0&&o(m,[`source_params`,`r2_jurisdiction`],d(t.sourceParamsR2Jurisdiction,`sourceParamsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerCrawlOptionsDepth!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`depth`],t.sourceParamsWebCrawlerCrawlOptionsDepth),t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`include_external_links`],t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks),t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`include_subdomains`],t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains),t.sourceParamsWebCrawlerCrawlOptionsMaxAge!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`max_age`],t.sourceParamsWebCrawlerCrawlOptionsMaxAge),t.sourceParamsWebCrawlerCrawlOptionsSource!==void 0&&o(m,[`source_params`,`web_crawler`,`crawl_options`,`source`],d(t.sourceParamsWebCrawlerCrawlOptionsSource,`sourceParamsWebCrawlerCrawlOptionsSource`,`text`)),t.sourceParamsWebCrawlerParseOptionsIncludeImages!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`include_images`],t.sourceParamsWebCrawlerParseOptionsIncludeImages),t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`specific_sitemaps`],t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps),t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_options`,`use_browser_rendering`],t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering),t.sourceParamsWebCrawlerParseType!==void 0&&o(m,[`source_params`,`web_crawler`,`parse_type`],d(t.sourceParamsWebCrawlerParseType,`sourceParamsWebCrawlerParseType`,`text`)),t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`r2_jurisdiction`],d(t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,`sourceParamsWebCrawlerStoreOptionsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageId!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`storage_id`],d(t.sourceParamsWebCrawlerStoreOptionsStorageId,`sourceParamsWebCrawlerStoreOptionsStorageId`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageType!==void 0&&o(m,[`source_params`,`web_crawler`,`store_options`,`storage_type`],d(t.sourceParamsWebCrawlerStoreOptionsStorageType,`sourceParamsWebCrawlerStoreOptionsStorageType`,`text`)),t.tokenId!==void 0&&o(m,[`token_id`],d(t.tokenId,`tokenId`,`text`)),t.type!==void 0&&o(m,[`type`],d(t.type,`type`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/namespaces/${t.name}/instances`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function W(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const G={command:`delete <id>`,describe:`Delete instances.`,builder:W,handler:async n=>{if(n.dryRun){l({command:`cf ai-search namespaces instances delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${n.name??`<name>`}/instances/${n.id??`<id>`}`,pathParams:{id:String(n.id??``),name:String(n.name??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?p:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
5
|
-
`);return}c(await u(`Deleting`,async()=>r.aiSearch.namespaces.instances.delete(n.id,o,n.name)),{successLabel:`Deleted`})}};function K(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const q={command:`get <id>`,describe:`Read instances.`,builder:K,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.namespaces.instances.get(t.id,r,t.name)),{successLabel:`Loaded`})}};function J(e){return e.option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`item-id`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`limit`,{type:`number`,description:`Limit`}).option(`offset`,{type:`number`,description:`Offset`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Y={command:`list`,describe:`Lists chunks for a specific item in an AI Search instance, including their text content.`,builder:J,handler:async t=>{let n={limit:t.limit,offset:t.offset};if(t.dryRun){l({command:`cf ai-search namespaces instances items chunks list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items/${t.itemId??`<itemId>`}/chunks`,pathParams:{id:String(t.id??``),itemId:String(t.itemId??``),name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.items.chunks.list(t.id,t.itemId,o,t.name,n)),{successLabel:`Loaded`})}},X={command:`chunks`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(Y).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Z(e){return e.positional(`itemId`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`text`,{type:`boolean`,description:`Decode the response body as UTF-8 text instead of writing raw bytes`,default:!1})}const Q={command:`get <itemId>`,describe:`Downloads the raw file content for a specific item from the managed AI Search instance storage.`,builder:Z,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances items content get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items/${t.itemId??`<itemId>`}/download`,pathParams:{id:String(t.id??``),itemId:String(t.itemId??``),name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r;let o=await u(`Loading`,async()=>h(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/items/${t.itemId}/download`,{method:`GET`,localEndpoint:t.local?t.localEndpoint:void 0}));m(t.text===!0?o.toString(`utf-8`):o)}},ne={command:`content`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(Q).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function re(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`key`,{type:`string`,description:`Item key / filename. Must not exceed 128 characters.`}).option(`next-action`,{type:`string`,description:`The next_action field`,choices:[`INDEX`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ie={command:`update <id>`,describe:`Creates or updates an indexed item in an AI Search instance.`,builder:re,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances items create or update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`json`,body:{key:t.key,nextAction:t.nextAction,body:t.body}});return}let f=await i(t),m=t.local?p:await e(f);if(t.accountId=m,t.body){let e=s(t.body);c(await u(`Updating`,async()=>f.put(`/accounts/${m}/ai-search/namespaces/${t.name}/instances/${t.id}/items`,{body:e})),{successLabel:`Updated`});return}t.key===void 0&&(t.key=await n(`key`,`Item key / filename. Must not exceed 128 characters.`)),t.nextAction===void 0&&(t.nextAction=await r(`next-action`,``,[`INDEX`]));let h={};t.key!==void 0&&o(h,[`key`],d(t.key,`key`,`text`)),t.nextAction!==void 0&&o(h,[`next_action`],d(t.nextAction,`nextAction`,`text`)),c(await u(`Updating`,async()=>f.put(`/accounts/${m}/ai-search/namespaces/${t.name}/instances/${t.id}/items`,{body:Object.keys(h).length>0?h:void 0})),{successLabel:`Updated`})}},ae={command:`or`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(ie).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},oe={command:`create`,describe:`Operations for namespaces.instances.items.create`,builder:e=>e.command(ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function se(e){return e.positional(`itemId`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`force`,{type:`boolean`,alias:`f`,description:`Skip confirmation (useful in scripts and CI)`,default:!1})}const ce={command:`delete <itemId>`,describe:`Deletes a file from a managed AI Search instance and triggers a reindex.`,builder:se,handler:async n=>{if(n.dryRun){l({command:`cf ai-search namespaces instances items delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${n.name??`<name>`}/instances/${n.id??`<id>`}/items/${n.itemId??`<itemId>`}`,pathParams:{id:String(n.id??``),itemId:String(n.itemId??``),name:String(n.name??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?p:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
6
|
-
`);return}c(await u(`Deleting`,async()=>r.aiSearch.namespaces.instances.items.delete(n.id,n.itemId,o,n.name)),{successLabel:`Deleted`})}};function le(e){return e.positional(`itemId`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ue={command:`get <itemId>`,describe:`Retrieves a specific indexed item from an AI Search instance.`,builder:le,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances items get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items/${t.itemId??`<itemId>`}`,pathParams:{id:String(t.id??``),itemId:String(t.itemId??``),name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.namespaces.instances.items.get(t.id,t.itemId,r,t.name)),{successLabel:`Loaded`})}};function de(e){return e.option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`search`,{type:`string`,description:`Search`}).option(`sort-by`,{type:`string`,description:`Sort order for items. "status" (default) sorts by status priority then last_seen_at. "modified_at" sorts by file modification time (most recent first), falling back to created_at.`,choices:[`status`,`modified_at`]}).option(`status`,{type:`string`,description:`Status`,choices:[`queued`,`running`,`completed`,`error`,`skipped`,`outdated`]}).option(`source`,{type:`string`,description:`Filter items by source_id. Use "builtin" for uploaded files, or a source identifier like "web-crawler:https://example.com".`}).option(`metadata-filter`,{type:`string`,description:`JSON-encoded metadata filter using Vectorize filter syntax. Examples: {"folder":"reports/"}, {"timestamp":{"$gte":1700000000000}}, {"folder":{"$in":["docs/","reports/"]}}`}).option(`item-id`,{type:`string`,description:`Filter items by their unique ID. Returns at most one item.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const fe={command:`list`,describe:`Lists indexed items in an AI Search instance.`,builder:de,handler:async t=>{let n={page:t.page,per_page:t.perPage,search:t.search,sort_by:t.sortBy,status:t.status,source:t.source,metadata_filter:t.metadataFilter,item_id:t.itemId};if(t.dryRun){l({command:`cf ai-search namespaces instances items list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items`,pathParams:{id:String(t.id??``),name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.items.list(t.id,o,t.name,n)),{successLabel:`Loaded`})}};function pe(e){return e.positional(`itemId`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`limit`,{type:`number`,description:`Limit`}).option(`cursor`,{type:`string`,description:`Cursor`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const me={command:`logs <itemId>`,describe:`Lists processing logs for a specific item in an AI Search instance.`,builder:pe,handler:async t=>{let n={limit:t.limit,cursor:t.cursor};if(t.dryRun){l({command:`cf ai-search namespaces instances items logs`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items/${t.itemId??`<itemId>`}/logs`,pathParams:{id:String(t.id??``),itemId:String(t.itemId??``),name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.items.logs(t.id,t.itemId,o,t.name,n)),{successLabel:`Loaded`})}};function he(e){return e.positional(`itemId`,{type:`string`,description:`Item ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`next-action`,{type:`string`,description:`The next_action field`,choices:[`INDEX`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const ge={command:`sync <itemId>`,describe:`Syncs an item to an AI Search instance index.`,builder:he,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances items sync`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items/${t.itemId??`<itemId>`}`,pathParams:{id:String(t.id??``),itemId:String(t.itemId??``),name:String(t.name??``)},bodyKind:`json`,body:{nextAction:t.nextAction,body:t.body}});return}let n=await i(t),f=t.local?p:await e(n);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}/items/${t.itemId}`,{body:e})),{successLabel:`Updated`});return}t.nextAction===void 0&&(t.nextAction=await r(`next-action`,``,[`INDEX`]));let m={};t.nextAction!==void 0&&o(m,[`next_action`],d(t.nextAction,`nextAction`,`text`)),c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}/items/${t.itemId}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}};function _e(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace 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)`}).option(`file`,{type:`string`,description:`Path to a file to upload as the request body`}).option(`metadata`,{type:`string`,description:`JSON string of custom metadata key-value pairs.`}).option(`wait-for-completion`,{type:`boolean`,description:`Wait for indexing to complete before responding. Defaults to false.`})}const ve={command:`upload <id>`,describe:`Uploads a file to a managed AI Search instance via multipart/form-data (max 4MB).`,builder:_e,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances items upload`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/items`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`multipart`,body:{body:t.body,file:t.file,metadata:t.metadata,waitForCompletion:t.waitForCompletion}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.file!==void 0||t.body!==void 0||t.metadata!==void 0||t.waitForCompletion!==void 0){let e=new FormData;if(t.file){let n=f(t.file);e.append(`file`,new Blob([n]),t.file.split(`/`).pop())}else t.body!==void 0&&e.append(`file`,t.body);t.metadata!==void 0&&e.append(`metadata`,String(d(t.metadata,`metadata`,`text`)??``)),t.waitForCompletion!==void 0&&e.append(`wait_for_completion`,String(t.waitForCompletion)),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/items`,{body:e})),{successLabel:`Created`});return}if(t.body){let e=d(t.body,`body`,`binary`);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/items`,{body:e,headers:{"Content-Type":`multipart/form-data`}})),{successLabel:`Created`});return}if(t.body===void 0)throw Error(`--body is required for this command. Pass --body '<json>' or --body @path/to/file.json.`)}},ye={command:`items`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(ce).command(ue).command(fe).command(me).command(ge).command(ve).command(X).command(ne).command(oe).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function be(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`description`,{type:`string`,description:`The description 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 xe={command:`create <id>`,describe:`Creates a new indexing job for an AI Search instance.`,builder:be,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances jobs create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/jobs`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`json`,body:{description:t.description,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/jobs`,{body:e})),{successLabel:`Created`});return}let f={};t.description!==void 0&&o(f,[`description`],d(t.description,`description`,`text`)),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/jobs`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Created`})}};function Se(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`action`,{type:`string`,description:`The action field`,choices:[`cancel`]}).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:`edit <jobId>`,describe:`Updates the status of an AI Search indexing job.`,builder:Se,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances jobs edit`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``),name:String(t.name??``)},bodyKind:`json`,body:{action:t.action,body:t.body}});return}let n=await i(t),f=t.local?p:await e(n);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}/jobs/${t.jobId}`,{body:e})),{successLabel:`Updated`});return}t.action===void 0&&(t.action=await r(`action`,``,[`cancel`]));let m={};t.action!==void 0&&o(m,[`action`],d(t.action,`action`,`text`)),c(await u(`Updating`,async()=>n.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}/jobs/${t.jobId}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}};function we(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Te={command:`get <jobId>`,describe:`Retrieves details for a specific AI Search indexing job.`,builder:we,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances jobs get`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``),name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.namespaces.instances.jobs.get(t.id,t.jobId,r,t.name)),{successLabel:`Loaded`})}};function Ee(e){return e.option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const De={command:`list`,describe:`Lists indexing jobs for an AI Search instance.`,builder:Ee,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf ai-search namespaces instances jobs list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/jobs`,pathParams:{id:String(t.id??``),name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.jobs.list(t.id,o,t.name,n)),{successLabel:`Loaded`})}};function Oe(e){return e.positional(`jobId`,{type:`string`,description:`Job ID`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ke={command:`logs <jobId>`,describe:`Lists log entries for an AI Search indexing job.`,builder:Oe,handler:async t=>{let n={page:t.page,per_page:t.perPage};if(t.dryRun){l({command:`cf ai-search namespaces instances jobs logs`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/jobs/${t.jobId??`<jobId>`}/logs`,pathParams:{id:String(t.id??``),jobId:String(t.jobId??``),name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.jobs.logs(t.id,t.jobId,o,t.name,n)),{successLabel:`Loaded`})}},Ae={command:`jobs`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(xe).command(Ce).command(Te).command(De).command(ke).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function je(e){return e.option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`page`,{type:`number`,description:`Page`}).option(`per-page`,{type:`number`,description:`Per page`}).option(`namespace`,{type:`string`,description:`Namespace`}).option(`search`,{type:`string`,description:`Search by id`}).option(`order-by`,{type:`string`,description:`Order By Column Name`,choices:[`created_at`]}).option(`order-by-direction`,{type:`string`,description:`Order By Direction`,choices:[`asc`,`desc`]}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Me={command:`list`,describe:`List instances.`,builder:je,handler:async t=>{let n={page:t.page,per_page:t.perPage,namespace:t.namespace,search:t.search,order_by:t.orderBy,order_by_direction:t.orderByDirection};if(t.dryRun){l({command:`cf ai-search namespaces instances list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances`,pathParams:{name:String(t.name??``)},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.instances.list(o,t.name,n)),{successLabel:`Loaded`})}};function Ne(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`query`,{type:`string`,description:`A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both.`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1}).option(`body`,{type:`string`,description:`Raw JSON request body (bypasses individual flags)`})}const Pe={command:`search <id>`,describe:`Executes a semantic search query against an AI Search instance to find relevant indexed content.`,builder:Ne,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances search`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/search`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,query:t.query,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/search`,{body:e})),{successLabel:`Loaded`});return}let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.query!==void 0&&o(f,[`query`],d(t.query,`query`,`text`)),c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}/search`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Loaded`})}};function Fe(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-gateway-id`,{type:`string`,description:`The ai_gateway_id field`}).option(`ai-search-model`,{type:`string`,description:`The ai_search_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`cache`,{type:`boolean`,description:`The cache field`}).option(`cache-threshold`,{type:`string`,description:`The cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`chunk`,{type:`boolean`,description:`The chunk field`}).option(`chunk-overlap`,{type:`number`,description:`The chunk_overlap field`}).option(`chunk-size`,{type:`number`,description:`The chunk_size field`}).option(`embedding-model`,{type:`string`,description:`The embedding_model field`,choices:[`@cf/qwen/qwen3-embedding-0.6b`,`@cf/baai/bge-m3`,`@cf/baai/bge-large-en-v1.5`,`@cf/google/embeddinggemma-300m`,`google-ai-studio/gemini-embedding-001`,`google-ai-studio/gemini-embedding-2-preview`,`openai/text-embedding-3-small`,`openai/text-embedding-3-large`]}).option(`fusion-method`,{type:`string`,description:`The fusion_method field`,choices:[`max`,`rrf`]}).option(`index-method-keyword`,{type:`boolean`,description:`Enable keyword (BM25) storage backend.`}).option(`index-method-vector`,{type:`boolean`,description:`Enable vector (embedding) storage backend.`}).option(`indexing-options-keyword-tokenizer`,{type:`string`,description:`Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter.`,choices:[`porter`,`trigram`]}).option(`max-num-results`,{type:`number`,description:`The max_num_results field`}).option(`metadata-created-from-aisearch-wizard`,{type:`boolean`,description:`The metadata.created_from_aisearch_wizard field`}).option(`metadata-search-for-agents-hostname`,{type:`string`,description:`The metadata.search_for_agents.hostname field`}).option(`metadata-search-for-agents-zone-id`,{type:`string`,description:`The metadata.search_for_agents.zone_id field`}).option(`metadata-search-for-agents-zone-name`,{type:`string`,description:`The metadata.search_for_agents.zone_name field`}).option(`metadata-worker-domain`,{type:`string`,description:`The metadata.worker_domain field`}).option(`paused`,{type:`boolean`,description:`The paused field`}).option(`public-endpoint-params-authorized-hosts`,{type:`string`,array:!0,description:`The public_endpoint_params.authorized_hosts field`}).option(`public-endpoint-params-chat-completions-endpoint-disabled`,{type:`boolean`,description:`Disable chat completions endpoint for this public endpoint`}).option(`public-endpoint-params-enabled`,{type:`boolean`,description:`The public_endpoint_params.enabled field`}).option(`public-endpoint-params-mcp-description`,{type:`string`,description:`The public_endpoint_params.mcp.description field`}).option(`public-endpoint-params-mcp-disabled`,{type:`boolean`,description:`Disable MCP endpoint for this public endpoint`}).option(`public-endpoint-params-rate-limit-period-ms`,{type:`number`,description:`The public_endpoint_params.rate_limit.period_ms field`}).option(`public-endpoint-params-rate-limit-requests`,{type:`number`,description:`The public_endpoint_params.rate_limit.requests field`}).option(`public-endpoint-params-rate-limit-technique`,{type:`string`,description:`The public_endpoint_params.rate_limit.technique field`,choices:[`fixed`,`sliding`]}).option(`public-endpoint-params-search-endpoint-disabled`,{type:`boolean`,description:`Disable search endpoint for this public endpoint`}).option(`reranking`,{type:`boolean`,description:`The reranking field`}).option(`reranking-model`,{type:`string`,description:`The reranking_model field`,choices:[`@cf/baai/bge-reranker-base`]}).option(`retrieval-options-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`]}).option(`rewrite-model`,{type:`string`,description:`The rewrite_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`rewrite-query`,{type:`boolean`,description:`The rewrite_query field`}).option(`score-threshold`,{type:`number`,description:`The score_threshold field`}).option(`source-params-exclude-items`,{type:`string`,array:!0,description:`List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced)`}).option(`source-params-include-items`,{type:`string`,array:!0,description:`List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post)`}).option(`source-params-prefix`,{type:`string`,description:`The source_params.prefix field`}).option(`source-params-r2-jurisdiction`,{type:`string`,description:`The source_params.r2_jurisdiction field`}).option(`source-params-web-crawler-crawl-options-depth`,{type:`number`,description:`The source_params.web_crawler.crawl_options.depth field`}).option(`source-params-web-crawler-crawl-options-include-external-links`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_external_links field`}).option(`source-params-web-crawler-crawl-options-include-subdomains`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_subdomains field`}).option(`source-params-web-crawler-crawl-options-max-age`,{type:`number`,description:`The source_params.web_crawler.crawl_options.max_age field`}).option(`source-params-web-crawler-crawl-options-source`,{type:`string`,description:`The source_params.web_crawler.crawl_options.source field`,choices:[`all`,`sitemaps`,`links`]}).option(`source-params-web-crawler-parse-options-include-images`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.include_images field`}).option(`source-params-web-crawler-parse-options-specific-sitemaps`,{type:`string`,array:!0,description:`List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.`}).option(`source-params-web-crawler-parse-options-use-browser-rendering`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.use_browser_rendering field`}).option(`source-params-web-crawler-parse-type`,{type:`string`,description:`The source_params.web_crawler.parse_type field`,choices:[`sitemap`,`feed-rss`,`crawl`]}).option(`source-params-web-crawler-store-options-r2-jurisdiction`,{type:`string`,description:`The source_params.web_crawler.store_options.r2_jurisdiction field`}).option(`source-params-web-crawler-store-options-storage-id`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_id field`}).option(`source-params-web-crawler-store-options-storage-type`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_type field`,choices:[`r2`]}).option(`summarization`,{type:`boolean`,description:`The summarization field`}).option(`summarization-model`,{type:`string`,description:`The summarization_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`system-prompt-ai-search`,{type:`string`,description:`The system_prompt_ai_search field`}).option(`system-prompt-index-summarization`,{type:`string`,description:`The system_prompt_index_summarization field`}).option(`system-prompt-rewrite-query`,{type:`string`,description:`The system_prompt_rewrite_query field`}).option(`token-id`,{type:`string`,description:`The 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)`}).check(e=>{if([`source-params-exclude-items`,`source-params-include-items`,`source-params-prefix`,`source-params-web-crawler-crawl-options-depth`,`source-params-web-crawler-crawl-options-max-age`,`source-params-web-crawler-parse-options-specific-sitemaps`,`source-params-web-crawler-store-options-storage-id`].some(t=>e[t]!==void 0)){let t=[`source-params-web-crawler-store-options-storage-id`].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 --source_params-* flag is set`)}return!0})}const Ie={command:`update <id>`,describe:`Update instances.`,builder:Fe,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces instances update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`json`,body:{aiGatewayId:t.aiGatewayId,aiSearchModel:t.aiSearchModel,cache:t.cache,cacheThreshold:t.cacheThreshold,chunk:t.chunk,chunkOverlap:t.chunkOverlap,chunkSize:t.chunkSize,embeddingModel:t.embeddingModel,fusionMethod:t.fusionMethod,indexMethodKeyword:t.indexMethodKeyword,indexMethodVector:t.indexMethodVector,indexingOptionsKeywordTokenizer:t.indexingOptionsKeywordTokenizer,maxNumResults:t.maxNumResults,metadataCreatedFromAisearchWizard:t.metadataCreatedFromAisearchWizard,metadataSearchForAgentsHostname:t.metadataSearchForAgentsHostname,metadataSearchForAgentsZoneId:t.metadataSearchForAgentsZoneId,metadataSearchForAgentsZoneName:t.metadataSearchForAgentsZoneName,metadataWorkerDomain:t.metadataWorkerDomain,paused:t.paused,publicEndpointParamsAuthorizedHosts:t.publicEndpointParamsAuthorizedHosts,publicEndpointParamsChatCompletionsEndpointDisabled:t.publicEndpointParamsChatCompletionsEndpointDisabled,publicEndpointParamsEnabled:t.publicEndpointParamsEnabled,publicEndpointParamsMcpDescription:t.publicEndpointParamsMcpDescription,publicEndpointParamsMcpDisabled:t.publicEndpointParamsMcpDisabled,publicEndpointParamsRateLimitPeriodMs:t.publicEndpointParamsRateLimitPeriodMs,publicEndpointParamsRateLimitRequests:t.publicEndpointParamsRateLimitRequests,publicEndpointParamsRateLimitTechnique:t.publicEndpointParamsRateLimitTechnique,publicEndpointParamsSearchEndpointDisabled:t.publicEndpointParamsSearchEndpointDisabled,reranking:t.reranking,rerankingModel:t.rerankingModel,retrievalOptionsKeywordMatchMode:t.retrievalOptionsKeywordMatchMode,rewriteModel:t.rewriteModel,rewriteQuery:t.rewriteQuery,scoreThreshold:t.scoreThreshold,sourceParamsExcludeItems:t.sourceParamsExcludeItems,sourceParamsIncludeItems:t.sourceParamsIncludeItems,sourceParamsPrefix:t.sourceParamsPrefix,sourceParamsR2Jurisdiction:t.sourceParamsR2Jurisdiction,sourceParamsWebCrawlerCrawlOptionsDepth:t.sourceParamsWebCrawlerCrawlOptionsDepth,sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks:t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks,sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains:t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains,sourceParamsWebCrawlerCrawlOptionsMaxAge:t.sourceParamsWebCrawlerCrawlOptionsMaxAge,sourceParamsWebCrawlerCrawlOptionsSource:t.sourceParamsWebCrawlerCrawlOptionsSource,sourceParamsWebCrawlerParseOptionsIncludeImages:t.sourceParamsWebCrawlerParseOptionsIncludeImages,sourceParamsWebCrawlerParseOptionsSpecificSitemaps:t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps,sourceParamsWebCrawlerParseOptionsUseBrowserRendering:t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering,sourceParamsWebCrawlerParseType:t.sourceParamsWebCrawlerParseType,sourceParamsWebCrawlerStoreOptionsR2Jurisdiction:t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,sourceParamsWebCrawlerStoreOptionsStorageId:t.sourceParamsWebCrawlerStoreOptionsStorageId,sourceParamsWebCrawlerStoreOptionsStorageType:t.sourceParamsWebCrawlerStoreOptionsStorageType,summarization:t.summarization,summarizationModel:t.summarizationModel,systemPromptAiSearch:t.systemPromptAiSearch,systemPromptIndexSummarization:t.systemPromptIndexSummarization,systemPromptRewriteQuery:t.systemPromptRewriteQuery,tokenId:t.tokenId,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}`,{body:e})),{successLabel:`Updated`});return}let f={};t.aiGatewayId!==void 0&&o(f,[`ai_gateway_id`],d(t.aiGatewayId,`aiGatewayId`,`text`)),t.aiSearchModel!==void 0&&o(f,[`ai_search_model`],d(t.aiSearchModel,`aiSearchModel`,`text`)),t.cache!==void 0&&o(f,[`cache`],t.cache),t.cacheThreshold!==void 0&&o(f,[`cache_threshold`],d(t.cacheThreshold,`cacheThreshold`,`text`)),t.chunk!==void 0&&o(f,[`chunk`],t.chunk),t.chunkOverlap!==void 0&&o(f,[`chunk_overlap`],t.chunkOverlap),t.chunkSize!==void 0&&o(f,[`chunk_size`],t.chunkSize),t.embeddingModel!==void 0&&o(f,[`embedding_model`],d(t.embeddingModel,`embeddingModel`,`text`)),t.fusionMethod!==void 0&&o(f,[`fusion_method`],d(t.fusionMethod,`fusionMethod`,`text`)),t.indexMethodKeyword!==void 0&&o(f,[`index_method`,`keyword`],t.indexMethodKeyword),t.indexMethodVector!==void 0&&o(f,[`index_method`,`vector`],t.indexMethodVector),t.indexingOptionsKeywordTokenizer!==void 0&&o(f,[`indexing_options`,`keyword_tokenizer`],d(t.indexingOptionsKeywordTokenizer,`indexingOptionsKeywordTokenizer`,`text`)),t.maxNumResults!==void 0&&o(f,[`max_num_results`],t.maxNumResults),t.metadataCreatedFromAisearchWizard!==void 0&&o(f,[`metadata`,`created_from_aisearch_wizard`],t.metadataCreatedFromAisearchWizard),t.metadataSearchForAgentsHostname!==void 0&&o(f,[`metadata`,`search_for_agents`,`hostname`],d(t.metadataSearchForAgentsHostname,`metadataSearchForAgentsHostname`,`text`)),t.metadataSearchForAgentsZoneId!==void 0&&o(f,[`metadata`,`search_for_agents`,`zone_id`],d(t.metadataSearchForAgentsZoneId,`metadataSearchForAgentsZoneId`,`text`)),t.metadataSearchForAgentsZoneName!==void 0&&o(f,[`metadata`,`search_for_agents`,`zone_name`],d(t.metadataSearchForAgentsZoneName,`metadataSearchForAgentsZoneName`,`text`)),t.metadataWorkerDomain!==void 0&&o(f,[`metadata`,`worker_domain`],d(t.metadataWorkerDomain,`metadataWorkerDomain`,`text`)),t.paused!==void 0&&o(f,[`paused`],t.paused),t.publicEndpointParamsAuthorizedHosts!==void 0&&o(f,[`public_endpoint_params`,`authorized_hosts`],t.publicEndpointParamsAuthorizedHosts),t.publicEndpointParamsChatCompletionsEndpointDisabled!==void 0&&o(f,[`public_endpoint_params`,`chat_completions_endpoint`,`disabled`],t.publicEndpointParamsChatCompletionsEndpointDisabled),t.publicEndpointParamsEnabled!==void 0&&o(f,[`public_endpoint_params`,`enabled`],t.publicEndpointParamsEnabled),t.publicEndpointParamsMcpDescription!==void 0&&o(f,[`public_endpoint_params`,`mcp`,`description`],d(t.publicEndpointParamsMcpDescription,`publicEndpointParamsMcpDescription`,`text`)),t.publicEndpointParamsMcpDisabled!==void 0&&o(f,[`public_endpoint_params`,`mcp`,`disabled`],t.publicEndpointParamsMcpDisabled),t.publicEndpointParamsRateLimitPeriodMs!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`period_ms`],t.publicEndpointParamsRateLimitPeriodMs),t.publicEndpointParamsRateLimitRequests!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`requests`],t.publicEndpointParamsRateLimitRequests),t.publicEndpointParamsRateLimitTechnique!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`technique`],d(t.publicEndpointParamsRateLimitTechnique,`publicEndpointParamsRateLimitTechnique`,`text`)),t.publicEndpointParamsSearchEndpointDisabled!==void 0&&o(f,[`public_endpoint_params`,`search_endpoint`,`disabled`],t.publicEndpointParamsSearchEndpointDisabled),t.reranking!==void 0&&o(f,[`reranking`],t.reranking),t.rerankingModel!==void 0&&o(f,[`reranking_model`],d(t.rerankingModel,`rerankingModel`,`text`)),t.retrievalOptionsKeywordMatchMode!==void 0&&o(f,[`retrieval_options`,`keyword_match_mode`],d(t.retrievalOptionsKeywordMatchMode,`retrievalOptionsKeywordMatchMode`,`text`)),t.rewriteModel!==void 0&&o(f,[`rewrite_model`],d(t.rewriteModel,`rewriteModel`,`text`)),t.rewriteQuery!==void 0&&o(f,[`rewrite_query`],t.rewriteQuery),t.scoreThreshold!==void 0&&o(f,[`score_threshold`],t.scoreThreshold),t.sourceParamsExcludeItems!==void 0&&o(f,[`source_params`,`exclude_items`],t.sourceParamsExcludeItems),t.sourceParamsIncludeItems!==void 0&&o(f,[`source_params`,`include_items`],t.sourceParamsIncludeItems),t.sourceParamsPrefix!==void 0&&o(f,[`source_params`,`prefix`],d(t.sourceParamsPrefix,`sourceParamsPrefix`,`text`)),t.sourceParamsR2Jurisdiction!==void 0&&o(f,[`source_params`,`r2_jurisdiction`],d(t.sourceParamsR2Jurisdiction,`sourceParamsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerCrawlOptionsDepth!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`depth`],t.sourceParamsWebCrawlerCrawlOptionsDepth),t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`include_external_links`],t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks),t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`include_subdomains`],t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains),t.sourceParamsWebCrawlerCrawlOptionsMaxAge!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`max_age`],t.sourceParamsWebCrawlerCrawlOptionsMaxAge),t.sourceParamsWebCrawlerCrawlOptionsSource!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`source`],d(t.sourceParamsWebCrawlerCrawlOptionsSource,`sourceParamsWebCrawlerCrawlOptionsSource`,`text`)),t.sourceParamsWebCrawlerParseOptionsIncludeImages!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`include_images`],t.sourceParamsWebCrawlerParseOptionsIncludeImages),t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`specific_sitemaps`],t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps),t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`use_browser_rendering`],t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering),t.sourceParamsWebCrawlerParseType!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_type`],d(t.sourceParamsWebCrawlerParseType,`sourceParamsWebCrawlerParseType`,`text`)),t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`r2_jurisdiction`],d(t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,`sourceParamsWebCrawlerStoreOptionsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageId!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`storage_id`],d(t.sourceParamsWebCrawlerStoreOptionsStorageId,`sourceParamsWebCrawlerStoreOptionsStorageId`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageType!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`storage_type`],d(t.sourceParamsWebCrawlerStoreOptionsStorageType,`sourceParamsWebCrawlerStoreOptionsStorageType`,`text`)),t.summarization!==void 0&&o(f,[`summarization`],t.summarization),t.summarizationModel!==void 0&&o(f,[`summarization_model`],d(t.summarizationModel,`summarizationModel`,`text`)),t.systemPromptAiSearch!==void 0&&o(f,[`system_prompt_ai_search`],d(t.systemPromptAiSearch,`systemPromptAiSearch`,`text`)),t.systemPromptIndexSummarization!==void 0&&o(f,[`system_prompt_index_summarization`],d(t.systemPromptIndexSummarization,`systemPromptIndexSummarization`,`text`)),t.systemPromptRewriteQuery!==void 0&&o(f,[`system_prompt_rewrite_query`],d(t.systemPromptRewriteQuery,`systemPromptRewriteQuery`,`text`)),t.tokenId!==void 0&&o(f,[`token_id`],d(t.tokenId,`tokenId`,`text`)),c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/namespaces/${t.name}/instances/${t.id}`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Updated`})}},Le={command:`instances`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(U).command(G).command(q).command(Me).command(Pe).command(Ie).command(V).command(ye).command(Ae).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Re(e){return e.option(`page`,{type:`number`,description:`Page number (1-indexed).`}).option(`per-page`,{type:`number`,description:`Number of results per page.`}).option(`search`,{type:`string`,description:`Filter namespaces whose name or description contains this string (case-insensitive).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ze={command:`list`,describe:`List namespaces.`,builder:Re,handler:async t=>{let n={page:t.page,per_page:t.perPage,search:t.search};if(t.dryRun){l({command:`cf ai-search namespaces list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.namespaces.list(o,n)),{successLabel:`Loaded`})}};function Be(e){return e.positional(`id`,{type:`string`,description:`Instance id.`,demandOption:!0}).option(`name`,{type:`string`,description:`Current namespace of the instance.`,demandOption:!0}).option(`new-namespace`,{type:`string`,description:`Target namespace to move the instance into.`}).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 Ve={command:`instance <id>`,describe:`Moves an instance from its current namespace to the specified target namespace. Use 'default' as new_namespace to move the instance back to the default namespace. Fails with 400 if the target namespace already has an instance with the same id (ids must be unique within a namespace — the same id can exist in different namespaces).`,builder:Be,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces move instance`,method:`PATCH`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}`,pathParams:{name:String(t.name??``),id:String(t.id??``)},bodyKind:`json`,body:{newNamespace:t.newNamespace,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Updating`,async()=>r.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}`,{body:e})),{successLabel:`Updated`});return}t.newNamespace===void 0&&(t.newNamespace=await n(`new-namespace`,`Target namespace to move the instance into.`));let m={};t.newNamespace!==void 0&&o(m,[`new_namespace`],d(t.newNamespace,`newNamespace`,`text`)),c(await u(`Updating`,async()=>r.patch(`/accounts/${f}/ai-search/namespaces/${t.name}/instances/${t.id}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},He={command:`move`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(Ve).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ue(e){return e.positional(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-instance-ids`,{type:`string`,array:!0,description:`The ai_search_options.instance_ids field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`stream`,{type:`boolean`,description:`The stream 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 We={command:`completions <name>`,describe:`Performs a chat completion request against multiple AI Search instances in parallel, merging retrieved content as context for generating a response.`,builder:Ue,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces multi instance chat completions`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/chat/completions`,pathParams:{name:String(t.name??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsInstanceIds:t.aiSearchOptionsInstanceIds,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,stream:t.stream,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/chat/completions`,{body:e})),{successLabel:`Created`});return}if(t.aiSearchOptionsInstanceIds===void 0)throw Error(`--ai-search-options-instance-ids is required (or pass --body with this field set).`);let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsInstanceIds!==void 0&&o(f,[`ai_search_options`,`instance_ids`],t.aiSearchOptionsInstanceIds),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.stream!==void 0&&o(f,[`stream`],t.stream),c(await u(`Creating`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/chat/completions`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Created`})}},Ge={command:`chat`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(We).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Ke(e){return e.positional(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-instance-ids`,{type:`string`,array:!0,description:`The ai_search_options.instance_ids field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`query`,{type:`string`,description:`A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both.`}).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:`search <name>`,describe:`Search across multiple instances in a namespace`,builder:Ke,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces multi instance search`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/search`,pathParams:{name:String(t.name??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsInstanceIds:t.aiSearchOptionsInstanceIds,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,query:t.query,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/search`,{body:e})),{successLabel:`Loaded`});return}if(t.aiSearchOptionsInstanceIds===void 0)throw Error(`--ai-search-options-instance-ids is required (or pass --body with this field set).`);let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsInstanceIds!==void 0&&o(f,[`ai_search_options`,`instance_ids`],t.aiSearchOptionsInstanceIds),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.query!==void 0&&o(f,[`query`],d(t.query,`query`,`text`)),c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/namespaces/${t.name}/search`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Loaded`})}},Je={command:`instance`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(qe).command(Ge).demandCommand(1,`Please specify a subcommand`),handler:()=>{}},Ye={command:`multi`,describe:`Operations for namespaces.multi`,builder:e=>e.command(Je).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function Xe(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`name`,{type:`string`,description:`Namespace name`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const Ze={command:`stats <id>`,describe:`Retrieves usage statistics for AI Search instances.`,builder:Xe,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces stats`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}/instances/${t.id??`<id>`}/stats`,pathParams:{id:String(t.id??``),name:String(t.name??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.namespaces.stats(t.id,r,t.name)),{successLabel:`Loaded`})}};function Qe(e){return e.positional(`name`,{type:`string`,description:`Name`,demandOption:!0}).option(`description`,{type:`string`,description:`Optional description for the namespace. Max 256 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 $e={command:`update <name>`,describe:`Update namespace.`,builder:Qe,handler:async t=>{if(t.dryRun){l({command:`cf ai-search namespaces update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/namespaces/${t.name??`<name>`}`,pathParams:{name:String(t.name??``)},bodyKind:`json`,body:{description:t.description,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/namespaces/${t.name}`,{body:e})),{successLabel:`Updated`});return}let f={};t.description!==void 0&&o(f,[`description`],d(t.description,`description`,`text`)),c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/namespaces/${t.name}`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Updated`})}},et={command:`namespaces`,describe:`Namespaces for organizing and managing AI Search instances, items, and jobs`,builder:e=>e.command(P).command(I).command(R).command(ze).command(Ze).command($e).command(Le).command(He).command(Ye).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function tt(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const nt={command:`read <id>`,describe:`Read instances.`,builder:tt,handler:async t=>{if(t.dryRun){l({command:`cf ai-search read`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.read(t.id,r)),{successLabel:`Loaded`})}};function rt(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`ai-search-options-cache-cache-threshold`,{type:`string`,description:`The ai_search_options.cache.cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`ai-search-options-cache-enabled`,{type:`boolean`,description:`The ai_search_options.cache.enabled field`}).option(`ai-search-options-query-rewrite-enabled`,{type:`boolean`,description:`The ai_search_options.query_rewrite.enabled field`}).option(`ai-search-options-query-rewrite-rewrite-prompt`,{type:`string`,description:`The ai_search_options.query_rewrite.rewrite_prompt field`}).option(`ai-search-options-reranking-enabled`,{type:`boolean`,description:`The ai_search_options.reranking.enabled field`}).option(`ai-search-options-reranking-match-threshold`,{type:`number`,description:`The ai_search_options.reranking.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-context-expansion`,{type:`number`,description:`The ai_search_options.retrieval.context_expansion field`,default:0}).option(`ai-search-options-retrieval-fusion-method`,{type:`string`,description:`The ai_search_options.retrieval.fusion_method field`,choices:[`max`,`rrf`]}).option(`ai-search-options-retrieval-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`],default:`and`}).option(`ai-search-options-retrieval-match-threshold`,{type:`number`,description:`The ai_search_options.retrieval.match_threshold field`,default:.4}).option(`ai-search-options-retrieval-max-num-results`,{type:`number`,description:`The ai_search_options.retrieval.max_num_results field`,default:10}).option(`ai-search-options-retrieval-retrieval-type`,{type:`string`,description:`The ai_search_options.retrieval.retrieval_type field`,choices:[`vector`,`keyword`,`hybrid`]}).option(`ai-search-options-retrieval-return-on-failure`,{type:`boolean`,description:`The ai_search_options.retrieval.return_on_failure field`,default:!0}).option(`query`,{type:`string`,description:`A simple text query string. Alternative to 'messages' — provide either this or 'messages', not both.`}).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 it={command:`search <id>`,describe:`Executes a semantic search query against an AI Search instance to find relevant indexed content.`,builder:rt,handler:async t=>{if(t.dryRun){l({command:`cf ai-search search`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/search`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{aiSearchOptionsCacheCacheThreshold:t.aiSearchOptionsCacheCacheThreshold,aiSearchOptionsCacheEnabled:t.aiSearchOptionsCacheEnabled,aiSearchOptionsQueryRewriteEnabled:t.aiSearchOptionsQueryRewriteEnabled,aiSearchOptionsQueryRewriteRewritePrompt:t.aiSearchOptionsQueryRewriteRewritePrompt,aiSearchOptionsRerankingEnabled:t.aiSearchOptionsRerankingEnabled,aiSearchOptionsRerankingMatchThreshold:t.aiSearchOptionsRerankingMatchThreshold,aiSearchOptionsRetrievalContextExpansion:t.aiSearchOptionsRetrievalContextExpansion,aiSearchOptionsRetrievalFusionMethod:t.aiSearchOptionsRetrievalFusionMethod,aiSearchOptionsRetrievalKeywordMatchMode:t.aiSearchOptionsRetrievalKeywordMatchMode,aiSearchOptionsRetrievalMatchThreshold:t.aiSearchOptionsRetrievalMatchThreshold,aiSearchOptionsRetrievalMaxNumResults:t.aiSearchOptionsRetrievalMaxNumResults,aiSearchOptionsRetrievalRetrievalType:t.aiSearchOptionsRetrievalRetrievalType,aiSearchOptionsRetrievalReturnOnFailure:t.aiSearchOptionsRetrievalReturnOnFailure,query:t.query,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/search`,{body:e})),{successLabel:`Loaded`});return}let f={};t.aiSearchOptionsCacheCacheThreshold!==void 0&&o(f,[`ai_search_options`,`cache`,`cache_threshold`],d(t.aiSearchOptionsCacheCacheThreshold,`aiSearchOptionsCacheCacheThreshold`,`text`)),t.aiSearchOptionsCacheEnabled!==void 0&&o(f,[`ai_search_options`,`cache`,`enabled`],t.aiSearchOptionsCacheEnabled),t.aiSearchOptionsQueryRewriteEnabled!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`enabled`],t.aiSearchOptionsQueryRewriteEnabled),t.aiSearchOptionsQueryRewriteRewritePrompt!==void 0&&o(f,[`ai_search_options`,`query_rewrite`,`rewrite_prompt`],d(t.aiSearchOptionsQueryRewriteRewritePrompt,`aiSearchOptionsQueryRewriteRewritePrompt`,`text`)),t.aiSearchOptionsRerankingEnabled!==void 0&&o(f,[`ai_search_options`,`reranking`,`enabled`],t.aiSearchOptionsRerankingEnabled),t.aiSearchOptionsRerankingMatchThreshold!==void 0&&o(f,[`ai_search_options`,`reranking`,`match_threshold`],t.aiSearchOptionsRerankingMatchThreshold),t.aiSearchOptionsRetrievalContextExpansion!==void 0&&o(f,[`ai_search_options`,`retrieval`,`context_expansion`],t.aiSearchOptionsRetrievalContextExpansion),t.aiSearchOptionsRetrievalFusionMethod!==void 0&&o(f,[`ai_search_options`,`retrieval`,`fusion_method`],d(t.aiSearchOptionsRetrievalFusionMethod,`aiSearchOptionsRetrievalFusionMethod`,`text`)),t.aiSearchOptionsRetrievalKeywordMatchMode!==void 0&&o(f,[`ai_search_options`,`retrieval`,`keyword_match_mode`],d(t.aiSearchOptionsRetrievalKeywordMatchMode,`aiSearchOptionsRetrievalKeywordMatchMode`,`text`)),t.aiSearchOptionsRetrievalMatchThreshold!==void 0&&o(f,[`ai_search_options`,`retrieval`,`match_threshold`],t.aiSearchOptionsRetrievalMatchThreshold),t.aiSearchOptionsRetrievalMaxNumResults!==void 0&&o(f,[`ai_search_options`,`retrieval`,`max_num_results`],t.aiSearchOptionsRetrievalMaxNumResults),t.aiSearchOptionsRetrievalRetrievalType!==void 0&&o(f,[`ai_search_options`,`retrieval`,`retrieval_type`],d(t.aiSearchOptionsRetrievalRetrievalType,`aiSearchOptionsRetrievalRetrievalType`,`text`)),t.aiSearchOptionsRetrievalReturnOnFailure!==void 0&&o(f,[`ai_search_options`,`retrieval`,`return_on_failure`],t.aiSearchOptionsRetrievalReturnOnFailure),t.query!==void 0&&o(f,[`query`],d(t.query,`query`,`text`)),c(await u(`Loading`,async()=>n.post(`/accounts/${r}/ai-search/instances/${t.id}/search`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Loaded`})}};function at(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ot={command:`stats <id>`,describe:`Retrieves usage statistics for AI Search instances.`,builder:at,handler:async t=>{if(t.dryRun){l({command:`cf ai-search stats`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}/stats`,pathParams:{id:String(t.id??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.stats(t.id,r)),{successLabel:`Loaded`})}};function st(e){return e.option(`cf-api-id`,{type:`string`,description:`The cf_api_id field`}).option(`cf-api-key`,{type:`string`,description:`The cf_api_key field`}).option(`legacy`,{type:`boolean`,description:`The legacy field`,default:!0}).option(`name`,{type:`string`,description:`The 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 ct={command:`create`,describe:`Create a new token.`,builder:st,handler:async t=>{if(t.dryRun){l({command:`cf ai-search tokens create`,method:`POST`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/tokens`,pathParams:{},bodyKind:`json`,body:{cfApiId:t.cfApiId,cfApiKey:t.cfApiKey,legacy:t.legacy,name:t.name,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/tokens`,{body:e})),{successLabel:`Created`});return}t.cfApiId===void 0&&(t.cfApiId=await n(`cf-api-id`,``)),t.cfApiKey===void 0&&(t.cfApiKey=await n(`cf-api-key`,``,{kind:`secret`})),t.name===void 0&&(t.name=await n(`name`,``));let m={};t.cfApiId!==void 0&&o(m,[`cf_api_id`],d(t.cfApiId,`cfApiId`,`text`)),t.cfApiKey!==void 0&&o(m,[`cf_api_key`],d(t.cfApiKey,`cfApiKey`,`text`)),t.legacy!==void 0&&o(m,[`legacy`],t.legacy),t.name!==void 0&&o(m,[`name`],d(t.name,`name`,`text`)),c(await u(`Creating`,async()=>r.post(`/accounts/${f}/ai-search/tokens`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Created`})}};function lt(e){return e.positional(`id`,{type:`string`,description:`ID`,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 ut={command:`delete <id>`,describe:`Delete token.`,builder:lt,handler:async n=>{if(n.dryRun){l({command:`cf ai-search tokens delete`,method:`DELETE`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/tokens/${n.id??`<id>`}`,pathParams:{id:String(n.id??``)},bodyKind:`none`});return}let r=await i(n),o=n.local?p:await e(r);if(n.accountId=o,!await t({force:!!n.force})){process.stderr.write(`Aborted.
|
|
7
|
-
`);return}c(await u(`Deleting`,async()=>r.aiSearch.tokens.delete(o,n.id)),{successLabel:`Deleted`})}};function dt(e){return e.option(`page`,{type:`number`,description:`Page number (1-indexed).`}).option(`per-page`,{type:`number`,description:`Number of results per page.`}).option(`search`,{type:`string`,description:`Filter tokens whose name contains this string (case-insensitive).`}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const ft={command:`list`,describe:`List tokens.`,builder:dt,handler:async t=>{let n={page:t.page,per_page:t.perPage,search:t.search};if(t.dryRun){l({command:`cf ai-search tokens list`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/tokens`,pathParams:{},query:n,bodyKind:`none`});return}let r=await i(t),o=t.local?p:await e(r);t.accountId=o,c(await u(`Loading`,async()=>r.aiSearch.tokens.list(o,n)),{successLabel:`Loaded`})}};function $(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`dry-run`,{type:`boolean`,description:`Validate and show what would happen without executing`,default:!1})}const pt={command:`read <id>`,describe:`Read token.`,builder:$,handler:async t=>{if(t.dryRun){l({command:`cf ai-search tokens read`,method:`GET`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/tokens/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`none`});return}let n=await i(t),r=t.local?p:await e(n);t.accountId=r,c(await u(`Loading`,async()=>n.aiSearch.tokens.read(r,t.id)),{successLabel:`Loaded`})}};function mt(e){return e.positional(`id`,{type:`string`,description:`ID`,demandOption:!0}).option(`cf-api-id`,{type:`string`,description:`The cf_api_id field`}).option(`cf-api-key`,{type:`string`,description:`The cf_api_key field`}).option(`legacy`,{type:`boolean`,description:`The legacy field`}).option(`name`,{type:`string`,description:`The 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 ht={command:`update <id>`,describe:`Update token.`,builder:mt,handler:async t=>{if(t.dryRun){l({command:`cf ai-search tokens update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/tokens/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{cfApiId:t.cfApiId,cfApiKey:t.cfApiKey,legacy:t.legacy,name:t.name,body:t.body}});return}let r=await i(t),f=t.local?p:await e(r);if(t.accountId=f,t.body){let e=s(t.body);c(await u(`Updating`,async()=>r.put(`/accounts/${f}/ai-search/tokens/${t.id}`,{body:e})),{successLabel:`Updated`});return}t.cfApiId===void 0&&(t.cfApiId=await n(`cf-api-id`,``)),t.cfApiKey===void 0&&(t.cfApiKey=await n(`cf-api-key`,``,{kind:`secret`})),t.name===void 0&&(t.name=await n(`name`,``));let m={};t.cfApiId!==void 0&&o(m,[`cf_api_id`],d(t.cfApiId,`cfApiId`,`text`)),t.cfApiKey!==void 0&&o(m,[`cf_api_key`],d(t.cfApiKey,`cfApiKey`,`text`)),t.legacy!==void 0&&o(m,[`legacy`],t.legacy),t.name!==void 0&&o(m,[`name`],d(t.name,`name`,`text`)),c(await u(`Updating`,async()=>r.put(`/accounts/${f}/ai-search/tokens/${t.id}`,{body:Object.keys(m).length>0?m:void 0})),{successLabel:`Updated`})}},gt={command:`tokens`,describe:`Scoped authentication tokens that grant access to specific AI Search instances`,builder:e=>e.command(ct).command(ut).command(ft).command(pt).command(ht).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};function _t(e){return e.positional(`id`,{type:`string`,description:`AI Search instance ID. Lowercase alphanumeric, hyphens, and underscores.`,demandOption:!0}).option(`ai-gateway-id`,{type:`string`,description:`The ai_gateway_id field`}).option(`ai-search-model`,{type:`string`,description:`The ai_search_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`cache`,{type:`boolean`,description:`The cache field`}).option(`cache-threshold`,{type:`string`,description:`The cache_threshold field`,choices:[`super_strict_match`,`close_enough`,`flexible_friend`,`anything_goes`]}).option(`chunk`,{type:`boolean`,description:`The chunk field`}).option(`chunk-overlap`,{type:`number`,description:`The chunk_overlap field`}).option(`chunk-size`,{type:`number`,description:`The chunk_size field`}).option(`embedding-model`,{type:`string`,description:`The embedding_model field`,choices:[`@cf/qwen/qwen3-embedding-0.6b`,`@cf/baai/bge-m3`,`@cf/baai/bge-large-en-v1.5`,`@cf/google/embeddinggemma-300m`,`google-ai-studio/gemini-embedding-001`,`google-ai-studio/gemini-embedding-2-preview`,`openai/text-embedding-3-small`,`openai/text-embedding-3-large`]}).option(`fusion-method`,{type:`string`,description:`The fusion_method field`,choices:[`max`,`rrf`]}).option(`index-method-keyword`,{type:`boolean`,description:`Enable keyword (BM25) storage backend.`}).option(`index-method-vector`,{type:`boolean`,description:`Enable vector (embedding) storage backend.`}).option(`indexing-options-keyword-tokenizer`,{type:`string`,description:`Tokenizer used for keyword search indexing. porter provides word-level tokenization with Porter stemming (good for natural language queries). trigram enables character-level substring matching (good for partial matches, code, identifiers). Changing this triggers a full re-index. Defaults to porter.`,choices:[`porter`,`trigram`]}).option(`max-num-results`,{type:`number`,description:`The max_num_results field`}).option(`metadata-created-from-aisearch-wizard`,{type:`boolean`,description:`The metadata.created_from_aisearch_wizard field`}).option(`metadata-search-for-agents-hostname`,{type:`string`,description:`The metadata.search_for_agents.hostname field`}).option(`metadata-search-for-agents-zone-id`,{type:`string`,description:`The metadata.search_for_agents.zone_id field`}).option(`metadata-search-for-agents-zone-name`,{type:`string`,description:`The metadata.search_for_agents.zone_name field`}).option(`metadata-worker-domain`,{type:`string`,description:`The metadata.worker_domain field`}).option(`paused`,{type:`boolean`,description:`The paused field`}).option(`public-endpoint-params-authorized-hosts`,{type:`string`,array:!0,description:`The public_endpoint_params.authorized_hosts field`}).option(`public-endpoint-params-chat-completions-endpoint-disabled`,{type:`boolean`,description:`Disable chat completions endpoint for this public endpoint`}).option(`public-endpoint-params-enabled`,{type:`boolean`,description:`The public_endpoint_params.enabled field`}).option(`public-endpoint-params-mcp-description`,{type:`string`,description:`The public_endpoint_params.mcp.description field`}).option(`public-endpoint-params-mcp-disabled`,{type:`boolean`,description:`Disable MCP endpoint for this public endpoint`}).option(`public-endpoint-params-rate-limit-period-ms`,{type:`number`,description:`The public_endpoint_params.rate_limit.period_ms field`}).option(`public-endpoint-params-rate-limit-requests`,{type:`number`,description:`The public_endpoint_params.rate_limit.requests field`}).option(`public-endpoint-params-rate-limit-technique`,{type:`string`,description:`The public_endpoint_params.rate_limit.technique field`,choices:[`fixed`,`sliding`]}).option(`public-endpoint-params-search-endpoint-disabled`,{type:`boolean`,description:`Disable search endpoint for this public endpoint`}).option(`reranking`,{type:`boolean`,description:`The reranking field`}).option(`reranking-model`,{type:`string`,description:`The reranking_model field`,choices:[`@cf/baai/bge-reranker-base`]}).option(`retrieval-options-keyword-match-mode`,{type:`string`,description:`Controls which documents are candidates for BM25 scoring. 'and' restricts candidates to documents containing all query terms; 'or' includes any document containing at least one term, ranked by BM25 relevance. Defaults to 'and'.`,choices:[`and`,`or`]}).option(`rewrite-model`,{type:`string`,description:`The rewrite_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`rewrite-query`,{type:`boolean`,description:`The rewrite_query field`}).option(`score-threshold`,{type:`number`,description:`The score_threshold field`}).option(`source-params-exclude-items`,{type:`string`,array:!0,description:`List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced)`}).option(`source-params-include-items`,{type:`string`,array:!0,description:`List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post)`}).option(`source-params-prefix`,{type:`string`,description:`The source_params.prefix field`}).option(`source-params-r2-jurisdiction`,{type:`string`,description:`The source_params.r2_jurisdiction field`}).option(`source-params-web-crawler-crawl-options-depth`,{type:`number`,description:`The source_params.web_crawler.crawl_options.depth field`}).option(`source-params-web-crawler-crawl-options-include-external-links`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_external_links field`}).option(`source-params-web-crawler-crawl-options-include-subdomains`,{type:`boolean`,description:`The source_params.web_crawler.crawl_options.include_subdomains field`}).option(`source-params-web-crawler-crawl-options-max-age`,{type:`number`,description:`The source_params.web_crawler.crawl_options.max_age field`}).option(`source-params-web-crawler-crawl-options-source`,{type:`string`,description:`The source_params.web_crawler.crawl_options.source field`,choices:[`all`,`sitemaps`,`links`]}).option(`source-params-web-crawler-parse-options-include-images`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.include_images field`}).option(`source-params-web-crawler-parse-options-specific-sitemaps`,{type:`string`,array:!0,description:`List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.`}).option(`source-params-web-crawler-parse-options-use-browser-rendering`,{type:`boolean`,description:`The source_params.web_crawler.parse_options.use_browser_rendering field`}).option(`source-params-web-crawler-parse-type`,{type:`string`,description:`The source_params.web_crawler.parse_type field`,choices:[`sitemap`,`feed-rss`,`crawl`]}).option(`source-params-web-crawler-store-options-r2-jurisdiction`,{type:`string`,description:`The source_params.web_crawler.store_options.r2_jurisdiction field`}).option(`source-params-web-crawler-store-options-storage-id`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_id field`}).option(`source-params-web-crawler-store-options-storage-type`,{type:`string`,description:`The source_params.web_crawler.store_options.storage_type field`,choices:[`r2`]}).option(`summarization`,{type:`boolean`,description:`The summarization field`}).option(`summarization-model`,{type:`string`,description:`The summarization_model field`,choices:`@cf/meta/llama-3.3-70b-instruct-fp8-fast,@cf/zai-org/glm-4.7-flash,@cf/meta/llama-3.1-8b-instruct-fast,@cf/meta/llama-3.1-8b-instruct-fp8,@cf/meta/llama-4-scout-17b-16e-instruct,@cf/qwen/qwen3-30b-a3b-fp8,@cf/deepseek-ai/deepseek-r1-distill-qwen-32b,@cf/moonshotai/kimi-k2-instruct,@cf/google/gemma-3-12b-it,@cf/google/gemma-4-26b-a4b-it,@cf/moonshotai/kimi-k2.5,anthropic/claude-3-7-sonnet,anthropic/claude-sonnet-4,anthropic/claude-opus-4,anthropic/claude-3-5-haiku,cerebras/qwen-3-235b-a22b-instruct,cerebras/qwen-3-235b-a22b-thinking,cerebras/llama-3.3-70b,cerebras/llama-4-maverick-17b-128e-instruct,cerebras/llama-4-scout-17b-16e-instruct,cerebras/gpt-oss-120b,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-pro,grok/grok-4,groq/llama-3.3-70b-versatile,groq/llama-3.1-8b-instant,openai/gpt-5,openai/gpt-5-mini,openai/gpt-5-nano`.split(`,`)}).option(`system-prompt-ai-search`,{type:`string`,description:`The system_prompt_ai_search field`}).option(`system-prompt-index-summarization`,{type:`string`,description:`The system_prompt_index_summarization field`}).option(`system-prompt-rewrite-query`,{type:`string`,description:`The system_prompt_rewrite_query field`}).option(`token-id`,{type:`string`,description:`The 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)`}).check(e=>{if([`source-params-exclude-items`,`source-params-include-items`,`source-params-prefix`,`source-params-web-crawler-crawl-options-depth`,`source-params-web-crawler-crawl-options-max-age`,`source-params-web-crawler-parse-options-specific-sitemaps`,`source-params-web-crawler-store-options-storage-id`].some(t=>e[t]!==void 0)){let t=[`source-params-web-crawler-store-options-storage-id`].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 --source_params-* flag is set`)}return!0})}const vt={command:`update <id>`,describe:`Update instances.`,builder:_t,handler:async t=>{if(t.dryRun){l({command:`cf ai-search update`,method:`PUT`,url:`https://api.cloudflare.com/client/v4/accounts/${a()??`<account-id>`}/ai-search/instances/${t.id??`<id>`}`,pathParams:{id:String(t.id??``)},bodyKind:`json`,body:{aiGatewayId:t.aiGatewayId,aiSearchModel:t.aiSearchModel,cache:t.cache,cacheThreshold:t.cacheThreshold,chunk:t.chunk,chunkOverlap:t.chunkOverlap,chunkSize:t.chunkSize,embeddingModel:t.embeddingModel,fusionMethod:t.fusionMethod,indexMethodKeyword:t.indexMethodKeyword,indexMethodVector:t.indexMethodVector,indexingOptionsKeywordTokenizer:t.indexingOptionsKeywordTokenizer,maxNumResults:t.maxNumResults,metadataCreatedFromAisearchWizard:t.metadataCreatedFromAisearchWizard,metadataSearchForAgentsHostname:t.metadataSearchForAgentsHostname,metadataSearchForAgentsZoneId:t.metadataSearchForAgentsZoneId,metadataSearchForAgentsZoneName:t.metadataSearchForAgentsZoneName,metadataWorkerDomain:t.metadataWorkerDomain,paused:t.paused,publicEndpointParamsAuthorizedHosts:t.publicEndpointParamsAuthorizedHosts,publicEndpointParamsChatCompletionsEndpointDisabled:t.publicEndpointParamsChatCompletionsEndpointDisabled,publicEndpointParamsEnabled:t.publicEndpointParamsEnabled,publicEndpointParamsMcpDescription:t.publicEndpointParamsMcpDescription,publicEndpointParamsMcpDisabled:t.publicEndpointParamsMcpDisabled,publicEndpointParamsRateLimitPeriodMs:t.publicEndpointParamsRateLimitPeriodMs,publicEndpointParamsRateLimitRequests:t.publicEndpointParamsRateLimitRequests,publicEndpointParamsRateLimitTechnique:t.publicEndpointParamsRateLimitTechnique,publicEndpointParamsSearchEndpointDisabled:t.publicEndpointParamsSearchEndpointDisabled,reranking:t.reranking,rerankingModel:t.rerankingModel,retrievalOptionsKeywordMatchMode:t.retrievalOptionsKeywordMatchMode,rewriteModel:t.rewriteModel,rewriteQuery:t.rewriteQuery,scoreThreshold:t.scoreThreshold,sourceParamsExcludeItems:t.sourceParamsExcludeItems,sourceParamsIncludeItems:t.sourceParamsIncludeItems,sourceParamsPrefix:t.sourceParamsPrefix,sourceParamsR2Jurisdiction:t.sourceParamsR2Jurisdiction,sourceParamsWebCrawlerCrawlOptionsDepth:t.sourceParamsWebCrawlerCrawlOptionsDepth,sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks:t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks,sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains:t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains,sourceParamsWebCrawlerCrawlOptionsMaxAge:t.sourceParamsWebCrawlerCrawlOptionsMaxAge,sourceParamsWebCrawlerCrawlOptionsSource:t.sourceParamsWebCrawlerCrawlOptionsSource,sourceParamsWebCrawlerParseOptionsIncludeImages:t.sourceParamsWebCrawlerParseOptionsIncludeImages,sourceParamsWebCrawlerParseOptionsSpecificSitemaps:t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps,sourceParamsWebCrawlerParseOptionsUseBrowserRendering:t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering,sourceParamsWebCrawlerParseType:t.sourceParamsWebCrawlerParseType,sourceParamsWebCrawlerStoreOptionsR2Jurisdiction:t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,sourceParamsWebCrawlerStoreOptionsStorageId:t.sourceParamsWebCrawlerStoreOptionsStorageId,sourceParamsWebCrawlerStoreOptionsStorageType:t.sourceParamsWebCrawlerStoreOptionsStorageType,summarization:t.summarization,summarizationModel:t.summarizationModel,systemPromptAiSearch:t.systemPromptAiSearch,systemPromptIndexSummarization:t.systemPromptIndexSummarization,systemPromptRewriteQuery:t.systemPromptRewriteQuery,tokenId:t.tokenId,body:t.body}});return}let n=await i(t),r=t.local?p:await e(n);if(t.accountId=r,t.body){let e=s(t.body);c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/instances/${t.id}`,{body:e})),{successLabel:`Updated`});return}let f={};t.aiGatewayId!==void 0&&o(f,[`ai_gateway_id`],d(t.aiGatewayId,`aiGatewayId`,`text`)),t.aiSearchModel!==void 0&&o(f,[`ai_search_model`],d(t.aiSearchModel,`aiSearchModel`,`text`)),t.cache!==void 0&&o(f,[`cache`],t.cache),t.cacheThreshold!==void 0&&o(f,[`cache_threshold`],d(t.cacheThreshold,`cacheThreshold`,`text`)),t.chunk!==void 0&&o(f,[`chunk`],t.chunk),t.chunkOverlap!==void 0&&o(f,[`chunk_overlap`],t.chunkOverlap),t.chunkSize!==void 0&&o(f,[`chunk_size`],t.chunkSize),t.embeddingModel!==void 0&&o(f,[`embedding_model`],d(t.embeddingModel,`embeddingModel`,`text`)),t.fusionMethod!==void 0&&o(f,[`fusion_method`],d(t.fusionMethod,`fusionMethod`,`text`)),t.indexMethodKeyword!==void 0&&o(f,[`index_method`,`keyword`],t.indexMethodKeyword),t.indexMethodVector!==void 0&&o(f,[`index_method`,`vector`],t.indexMethodVector),t.indexingOptionsKeywordTokenizer!==void 0&&o(f,[`indexing_options`,`keyword_tokenizer`],d(t.indexingOptionsKeywordTokenizer,`indexingOptionsKeywordTokenizer`,`text`)),t.maxNumResults!==void 0&&o(f,[`max_num_results`],t.maxNumResults),t.metadataCreatedFromAisearchWizard!==void 0&&o(f,[`metadata`,`created_from_aisearch_wizard`],t.metadataCreatedFromAisearchWizard),t.metadataSearchForAgentsHostname!==void 0&&o(f,[`metadata`,`search_for_agents`,`hostname`],d(t.metadataSearchForAgentsHostname,`metadataSearchForAgentsHostname`,`text`)),t.metadataSearchForAgentsZoneId!==void 0&&o(f,[`metadata`,`search_for_agents`,`zone_id`],d(t.metadataSearchForAgentsZoneId,`metadataSearchForAgentsZoneId`,`text`)),t.metadataSearchForAgentsZoneName!==void 0&&o(f,[`metadata`,`search_for_agents`,`zone_name`],d(t.metadataSearchForAgentsZoneName,`metadataSearchForAgentsZoneName`,`text`)),t.metadataWorkerDomain!==void 0&&o(f,[`metadata`,`worker_domain`],d(t.metadataWorkerDomain,`metadataWorkerDomain`,`text`)),t.paused!==void 0&&o(f,[`paused`],t.paused),t.publicEndpointParamsAuthorizedHosts!==void 0&&o(f,[`public_endpoint_params`,`authorized_hosts`],t.publicEndpointParamsAuthorizedHosts),t.publicEndpointParamsChatCompletionsEndpointDisabled!==void 0&&o(f,[`public_endpoint_params`,`chat_completions_endpoint`,`disabled`],t.publicEndpointParamsChatCompletionsEndpointDisabled),t.publicEndpointParamsEnabled!==void 0&&o(f,[`public_endpoint_params`,`enabled`],t.publicEndpointParamsEnabled),t.publicEndpointParamsMcpDescription!==void 0&&o(f,[`public_endpoint_params`,`mcp`,`description`],d(t.publicEndpointParamsMcpDescription,`publicEndpointParamsMcpDescription`,`text`)),t.publicEndpointParamsMcpDisabled!==void 0&&o(f,[`public_endpoint_params`,`mcp`,`disabled`],t.publicEndpointParamsMcpDisabled),t.publicEndpointParamsRateLimitPeriodMs!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`period_ms`],t.publicEndpointParamsRateLimitPeriodMs),t.publicEndpointParamsRateLimitRequests!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`requests`],t.publicEndpointParamsRateLimitRequests),t.publicEndpointParamsRateLimitTechnique!==void 0&&o(f,[`public_endpoint_params`,`rate_limit`,`technique`],d(t.publicEndpointParamsRateLimitTechnique,`publicEndpointParamsRateLimitTechnique`,`text`)),t.publicEndpointParamsSearchEndpointDisabled!==void 0&&o(f,[`public_endpoint_params`,`search_endpoint`,`disabled`],t.publicEndpointParamsSearchEndpointDisabled),t.reranking!==void 0&&o(f,[`reranking`],t.reranking),t.rerankingModel!==void 0&&o(f,[`reranking_model`],d(t.rerankingModel,`rerankingModel`,`text`)),t.retrievalOptionsKeywordMatchMode!==void 0&&o(f,[`retrieval_options`,`keyword_match_mode`],d(t.retrievalOptionsKeywordMatchMode,`retrievalOptionsKeywordMatchMode`,`text`)),t.rewriteModel!==void 0&&o(f,[`rewrite_model`],d(t.rewriteModel,`rewriteModel`,`text`)),t.rewriteQuery!==void 0&&o(f,[`rewrite_query`],t.rewriteQuery),t.scoreThreshold!==void 0&&o(f,[`score_threshold`],t.scoreThreshold),t.sourceParamsExcludeItems!==void 0&&o(f,[`source_params`,`exclude_items`],t.sourceParamsExcludeItems),t.sourceParamsIncludeItems!==void 0&&o(f,[`source_params`,`include_items`],t.sourceParamsIncludeItems),t.sourceParamsPrefix!==void 0&&o(f,[`source_params`,`prefix`],d(t.sourceParamsPrefix,`sourceParamsPrefix`,`text`)),t.sourceParamsR2Jurisdiction!==void 0&&o(f,[`source_params`,`r2_jurisdiction`],d(t.sourceParamsR2Jurisdiction,`sourceParamsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerCrawlOptionsDepth!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`depth`],t.sourceParamsWebCrawlerCrawlOptionsDepth),t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`include_external_links`],t.sourceParamsWebCrawlerCrawlOptionsIncludeExternalLinks),t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`include_subdomains`],t.sourceParamsWebCrawlerCrawlOptionsIncludeSubdomains),t.sourceParamsWebCrawlerCrawlOptionsMaxAge!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`max_age`],t.sourceParamsWebCrawlerCrawlOptionsMaxAge),t.sourceParamsWebCrawlerCrawlOptionsSource!==void 0&&o(f,[`source_params`,`web_crawler`,`crawl_options`,`source`],d(t.sourceParamsWebCrawlerCrawlOptionsSource,`sourceParamsWebCrawlerCrawlOptionsSource`,`text`)),t.sourceParamsWebCrawlerParseOptionsIncludeImages!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`include_images`],t.sourceParamsWebCrawlerParseOptionsIncludeImages),t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`specific_sitemaps`],t.sourceParamsWebCrawlerParseOptionsSpecificSitemaps),t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_options`,`use_browser_rendering`],t.sourceParamsWebCrawlerParseOptionsUseBrowserRendering),t.sourceParamsWebCrawlerParseType!==void 0&&o(f,[`source_params`,`web_crawler`,`parse_type`],d(t.sourceParamsWebCrawlerParseType,`sourceParamsWebCrawlerParseType`,`text`)),t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`r2_jurisdiction`],d(t.sourceParamsWebCrawlerStoreOptionsR2Jurisdiction,`sourceParamsWebCrawlerStoreOptionsR2Jurisdiction`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageId!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`storage_id`],d(t.sourceParamsWebCrawlerStoreOptionsStorageId,`sourceParamsWebCrawlerStoreOptionsStorageId`,`text`)),t.sourceParamsWebCrawlerStoreOptionsStorageType!==void 0&&o(f,[`source_params`,`web_crawler`,`store_options`,`storage_type`],d(t.sourceParamsWebCrawlerStoreOptionsStorageType,`sourceParamsWebCrawlerStoreOptionsStorageType`,`text`)),t.summarization!==void 0&&o(f,[`summarization`],t.summarization),t.summarizationModel!==void 0&&o(f,[`summarization_model`],d(t.summarizationModel,`summarizationModel`,`text`)),t.systemPromptAiSearch!==void 0&&o(f,[`system_prompt_ai_search`],d(t.systemPromptAiSearch,`systemPromptAiSearch`,`text`)),t.systemPromptIndexSummarization!==void 0&&o(f,[`system_prompt_index_summarization`],d(t.systemPromptIndexSummarization,`systemPromptIndexSummarization`,`text`)),t.systemPromptRewriteQuery!==void 0&&o(f,[`system_prompt_rewrite_query`],d(t.systemPromptRewriteQuery,`systemPromptRewriteQuery`,`text`)),t.tokenId!==void 0&&o(f,[`token_id`],d(t.tokenId,`tokenId`,`text`)),c(await u(`Updating`,async()=>n.put(`/accounts/${r}/ai-search/instances/${t.id}`,{body:Object.keys(f).length>0?f:void 0})),{successLabel:`Updated`})}},yt={command:`ai-search`,describe:`Managed search-as-a-service — crawl, index, and query content with AI-powered relevance and chat completions`,builder:e=>e.command(te).command(_).command(y).command(M).command(nt).command(it).command(ot).command(vt).command(A).command(et).command(gt).demandCommand(1,`Please specify a subcommand`),handler:()=>{}};export{yt as default};
|