@distilled.cloud/cloudflare 0.0.0 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -7
- package/lib/auth.d.ts +13 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +12 -0
- package/lib/auth.js.map +1 -0
- package/lib/category.d.ts +2 -0
- package/lib/category.d.ts.map +1 -0
- package/lib/category.js +2 -0
- package/lib/category.js.map +1 -0
- package/lib/client/api.d.ts +14 -0
- package/lib/client/api.d.ts.map +1 -0
- package/lib/client/api.js +245 -0
- package/lib/client/api.js.map +1 -0
- package/lib/client/index.d.ts +8 -0
- package/lib/client/index.d.ts.map +1 -0
- package/lib/client/index.js +8 -0
- package/lib/client/index.js.map +1 -0
- package/lib/credentials.d.ts +14 -0
- package/lib/credentials.d.ts.map +1 -0
- package/lib/credentials.js +17 -0
- package/lib/credentials.js.map +1 -0
- package/lib/errors.d.ts +37 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +31 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib/retry.d.ts +14 -0
- package/lib/retry.d.ts.map +1 -0
- package/lib/retry.js +14 -0
- package/lib/retry.js.map +1 -0
- package/lib/schemas.d.ts +29 -0
- package/lib/schemas.d.ts.map +1 -0
- package/lib/schemas.js +34 -0
- package/lib/schemas.js.map +1 -0
- package/lib/services/abuse-reports.d.ts +224 -0
- package/lib/services/abuse-reports.d.ts.map +1 -0
- package/lib/services/abuse-reports.js +353 -0
- package/lib/services/abuse-reports.js.map +1 -0
- package/lib/services/accounts.d.ts +682 -0
- package/lib/services/accounts.d.ts.map +1 -0
- package/lib/services/accounts.js +805 -0
- package/lib/services/accounts.js.map +1 -0
- package/lib/services/acm.d.ts +73 -0
- package/lib/services/acm.d.ts.map +1 -0
- package/lib/services/acm.js +76 -0
- package/lib/services/acm.js.map +1 -0
- package/lib/services/addressing.d.ts +1208 -0
- package/lib/services/addressing.d.ts.map +1 -0
- package/lib/services/addressing.js +1776 -0
- package/lib/services/addressing.js.map +1 -0
- package/lib/services/ai-gateway.d.ts +956 -0
- package/lib/services/ai-gateway.d.ts.map +1 -0
- package/lib/services/ai-gateway.js +1706 -0
- package/lib/services/ai-gateway.js.map +1 -0
- package/lib/services/ai.d.ts +243 -0
- package/lib/services/ai.d.ts.map +1 -0
- package/lib/services/ai.js +299 -0
- package/lib/services/ai.js.map +1 -0
- package/lib/services/aisearch.d.ts +915 -0
- package/lib/services/aisearch.d.ts.map +1 -0
- package/lib/services/aisearch.js +2425 -0
- package/lib/services/aisearch.js.map +1 -0
- package/lib/services/alerting.d.ts +718 -0
- package/lib/services/alerting.d.ts.map +1 -0
- package/lib/services/alerting.js +1388 -0
- package/lib/services/alerting.js.map +1 -0
- package/lib/services/api-gateway.d.ts +830 -0
- package/lib/services/api-gateway.d.ts.map +1 -0
- package/lib/services/api-gateway.js +1548 -0
- package/lib/services/api-gateway.js.map +1 -0
- package/lib/services/argo.d.ts +101 -0
- package/lib/services/argo.d.ts.map +1 -0
- package/lib/services/argo.js +105 -0
- package/lib/services/argo.js.map +1 -0
- package/lib/services/audit-logs.d.ts +46 -0
- package/lib/services/audit-logs.d.ts.map +1 -0
- package/lib/services/audit-logs.js +37 -0
- package/lib/services/audit-logs.js.map +1 -0
- package/lib/services/billing.d.ts +62 -0
- package/lib/services/billing.d.ts.map +1 -0
- package/lib/services/billing.js +100 -0
- package/lib/services/billing.js.map +1 -0
- package/lib/services/bot-management.d.ts +124 -0
- package/lib/services/bot-management.d.ts.map +1 -0
- package/lib/services/bot-management.js +262 -0
- package/lib/services/bot-management.js.map +1 -0
- package/lib/services/botnet-feed.d.ts +65 -0
- package/lib/services/botnet-feed.d.ts.map +1 -0
- package/lib/services/botnet-feed.js +84 -0
- package/lib/services/botnet-feed.js.map +1 -0
- package/lib/services/brand-protection.d.ts +188 -0
- package/lib/services/brand-protection.d.ts.map +1 -0
- package/lib/services/brand-protection.js +214 -0
- package/lib/services/brand-protection.js.map +1 -0
- package/lib/services/browser-rendering.d.ts +857 -0
- package/lib/services/browser-rendering.d.ts.map +1 -0
- package/lib/services/browser-rendering.js +1141 -0
- package/lib/services/browser-rendering.js.map +1 -0
- package/lib/services/cache.d.ts +287 -0
- package/lib/services/cache.d.ts.map +1 -0
- package/lib/services/cache.js +330 -0
- package/lib/services/cache.js.map +1 -0
- package/lib/services/calls.d.ts +202 -0
- package/lib/services/calls.d.ts.map +1 -0
- package/lib/services/calls.js +175 -0
- package/lib/services/calls.js.map +1 -0
- package/lib/services/certificate-authorities.d.ts +40 -0
- package/lib/services/certificate-authorities.d.ts.map +1 -0
- package/lib/services/certificate-authorities.js +49 -0
- package/lib/services/certificate-authorities.js.map +1 -0
- package/lib/services/client-certificates.d.ts +254 -0
- package/lib/services/client-certificates.d.ts.map +1 -0
- package/lib/services/client-certificates.js +350 -0
- package/lib/services/client-certificates.js.map +1 -0
- package/lib/services/cloud-connector.d.ts +59 -0
- package/lib/services/cloud-connector.d.ts.map +1 -0
- package/lib/services/cloud-connector.js +84 -0
- package/lib/services/cloud-connector.js.map +1 -0
- package/lib/services/cloudforce-one.d.ts +1318 -0
- package/lib/services/cloudforce-one.d.ts.map +1 -0
- package/lib/services/cloudforce-one.js +1684 -0
- package/lib/services/cloudforce-one.js.map +1 -0
- package/lib/services/connectivity.d.ts +248 -0
- package/lib/services/connectivity.d.ts.map +1 -0
- package/lib/services/connectivity.js +377 -0
- package/lib/services/connectivity.js.map +1 -0
- package/lib/services/content-scanning.d.ts +131 -0
- package/lib/services/content-scanning.d.ts.map +1 -0
- package/lib/services/content-scanning.js +156 -0
- package/lib/services/content-scanning.js.map +1 -0
- package/lib/services/custom-certificates.d.ts +211 -0
- package/lib/services/custom-certificates.d.ts.map +1 -0
- package/lib/services/custom-certificates.js +309 -0
- package/lib/services/custom-certificates.js.map +1 -0
- package/lib/services/custom-hostnames.d.ts +525 -0
- package/lib/services/custom-hostnames.d.ts.map +1 -0
- package/lib/services/custom-hostnames.js +1164 -0
- package/lib/services/custom-hostnames.js.map +1 -0
- package/lib/services/custom-nameservers.d.ts +67 -0
- package/lib/services/custom-nameservers.d.ts.map +1 -0
- package/lib/services/custom-nameservers.js +80 -0
- package/lib/services/custom-nameservers.js.map +1 -0
- package/lib/services/custom-pages.d.ts +74 -0
- package/lib/services/custom-pages.d.ts.map +1 -0
- package/lib/services/custom-pages.js +125 -0
- package/lib/services/custom-pages.js.map +1 -0
- package/lib/services/d1.d.ts +326 -0
- package/lib/services/d1.d.ts.map +1 -0
- package/lib/services/d1.js +448 -0
- package/lib/services/d1.js.map +1 -0
- package/lib/services/dcv-delegation.d.ts +24 -0
- package/lib/services/dcv-delegation.d.ts.map +1 -0
- package/lib/services/dcv-delegation.js +24 -0
- package/lib/services/dcv-delegation.js.map +1 -0
- package/lib/services/diagnostics.d.ts +175 -0
- package/lib/services/diagnostics.d.ts.map +1 -0
- package/lib/services/diagnostics.js +273 -0
- package/lib/services/diagnostics.js.map +1 -0
- package/lib/services/dns-firewall.d.ts +288 -0
- package/lib/services/dns-firewall.d.ts.map +1 -0
- package/lib/services/dns-firewall.js +373 -0
- package/lib/services/dns-firewall.js.map +1 -0
- package/lib/services/dns.d.ts +2946 -0
- package/lib/services/dns.d.ts.map +1 -0
- package/lib/services/dns.js +4511 -0
- package/lib/services/dns.js.map +1 -0
- package/lib/services/durable-objects.d.ts +61 -0
- package/lib/services/durable-objects.d.ts.map +1 -0
- package/lib/services/durable-objects.js +66 -0
- package/lib/services/durable-objects.js.map +1 -0
- package/lib/services/email-routing.d.ts +542 -0
- package/lib/services/email-routing.d.ts.map +1 -0
- package/lib/services/email-routing.js +662 -0
- package/lib/services/email-routing.js.map +1 -0
- package/lib/services/email-security.d.ts +1131 -0
- package/lib/services/email-security.d.ts.map +1 -0
- package/lib/services/email-security.js +2065 -0
- package/lib/services/email-security.js.map +1 -0
- package/lib/services/filters.d.ts +157 -0
- package/lib/services/filters.d.ts.map +1 -0
- package/lib/services/filters.js +135 -0
- package/lib/services/filters.js.map +1 -0
- package/lib/services/firewall.d.ts +1080 -0
- package/lib/services/firewall.d.ts.map +1 -0
- package/lib/services/firewall.js +1881 -0
- package/lib/services/firewall.js.map +1 -0
- package/lib/services/healthchecks.d.ts +464 -0
- package/lib/services/healthchecks.d.ts.map +1 -0
- package/lib/services/healthchecks.js +838 -0
- package/lib/services/healthchecks.js.map +1 -0
- package/lib/services/hostnames.d.ts +74 -0
- package/lib/services/hostnames.d.ts.map +1 -0
- package/lib/services/hostnames.js +100 -0
- package/lib/services/hostnames.js.map +1 -0
- package/lib/services/hyperdrive.d.ts +203 -0
- package/lib/services/hyperdrive.d.ts.map +1 -0
- package/lib/services/hyperdrive.js +299 -0
- package/lib/services/hyperdrive.js.map +1 -0
- package/lib/services/iam.d.ts +554 -0
- package/lib/services/iam.d.ts.map +1 -0
- package/lib/services/iam.js +743 -0
- package/lib/services/iam.js.map +1 -0
- package/lib/services/images.d.ts +403 -0
- package/lib/services/images.d.ts.map +1 -0
- package/lib/services/images.js +417 -0
- package/lib/services/images.js.map +1 -0
- package/lib/services/intel.d.ts +768 -0
- package/lib/services/intel.d.ts.map +1 -0
- package/lib/services/intel.js +1179 -0
- package/lib/services/intel.js.map +1 -0
- package/lib/services/ips.d.ts +28 -0
- package/lib/services/ips.d.ts.map +1 -0
- package/lib/services/ips.js +39 -0
- package/lib/services/ips.js.map +1 -0
- package/lib/services/keyless-certificates.d.ts +177 -0
- package/lib/services/keyless-certificates.d.ts.map +1 -0
- package/lib/services/keyless-certificates.js +216 -0
- package/lib/services/keyless-certificates.js.map +1 -0
- package/lib/services/kv.d.ts +339 -0
- package/lib/services/kv.d.ts.map +1 -0
- package/lib/services/kv.js +402 -0
- package/lib/services/kv.js.map +1 -0
- package/lib/services/leaked-credential-checks.d.ts +119 -0
- package/lib/services/leaked-credential-checks.d.ts.map +1 -0
- package/lib/services/leaked-credential-checks.js +130 -0
- package/lib/services/leaked-credential-checks.js.map +1 -0
- package/lib/services/load-balancers.d.ts +1767 -0
- package/lib/services/load-balancers.d.ts.map +1 -0
- package/lib/services/load-balancers.js +3068 -0
- package/lib/services/load-balancers.js.map +1 -0
- package/lib/services/logpush.d.ts +401 -0
- package/lib/services/logpush.d.ts.map +1 -0
- package/lib/services/logpush.js +724 -0
- package/lib/services/logpush.js.map +1 -0
- package/lib/services/logs.d.ts +125 -0
- package/lib/services/logs.d.ts.map +1 -0
- package/lib/services/logs.js +145 -0
- package/lib/services/logs.js.map +1 -0
- package/lib/services/magic-cloud-networking.d.ts +1599 -0
- package/lib/services/magic-cloud-networking.d.ts.map +1 -0
- package/lib/services/magic-cloud-networking.js +5205 -0
- package/lib/services/magic-cloud-networking.js.map +1 -0
- package/lib/services/magic-network-monitoring.d.ts +379 -0
- package/lib/services/magic-network-monitoring.d.ts.map +1 -0
- package/lib/services/magic-network-monitoring.js +535 -0
- package/lib/services/magic-network-monitoring.js.map +1 -0
- package/lib/services/magic-transit.d.ts +3650 -0
- package/lib/services/magic-transit.d.ts.map +1 -0
- package/lib/services/magic-transit.js +6120 -0
- package/lib/services/magic-transit.js.map +1 -0
- package/lib/services/managed-transforms.d.ts +79 -0
- package/lib/services/managed-transforms.d.ts.map +1 -0
- package/lib/services/managed-transforms.js +107 -0
- package/lib/services/managed-transforms.js.map +1 -0
- package/lib/services/memberships.d.ts +172 -0
- package/lib/services/memberships.d.ts.map +1 -0
- package/lib/services/memberships.js +282 -0
- package/lib/services/memberships.js.map +1 -0
- package/lib/services/mtls-certificates.d.ts +140 -0
- package/lib/services/mtls-certificates.d.ts.map +1 -0
- package/lib/services/mtls-certificates.js +173 -0
- package/lib/services/mtls-certificates.js.map +1 -0
- package/lib/services/network-interconnects.d.ts +410 -0
- package/lib/services/network-interconnects.d.ts.map +1 -0
- package/lib/services/network-interconnects.js +583 -0
- package/lib/services/network-interconnects.js.map +1 -0
- package/lib/services/organizations.d.ts +201 -0
- package/lib/services/organizations.d.ts.map +1 -0
- package/lib/services/organizations.js +355 -0
- package/lib/services/organizations.js.map +1 -0
- package/lib/services/origin-ca-certificates.d.ts +99 -0
- package/lib/services/origin-ca-certificates.d.ts.map +1 -0
- package/lib/services/origin-ca-certificates.js +156 -0
- package/lib/services/origin-ca-certificates.js.map +1 -0
- package/lib/services/origin-post-quantum-encryption.d.ts +50 -0
- package/lib/services/origin-post-quantum-encryption.d.ts.map +1 -0
- package/lib/services/origin-post-quantum-encryption.js +60 -0
- package/lib/services/origin-post-quantum-encryption.js.map +1 -0
- package/lib/services/origin-tls-client-auth.d.ts +273 -0
- package/lib/services/origin-tls-client-auth.d.ts.map +1 -0
- package/lib/services/origin-tls-client-auth.js +401 -0
- package/lib/services/origin-tls-client-auth.js.map +1 -0
- package/lib/services/page-rules.d.ts +773 -0
- package/lib/services/page-rules.d.ts.map +1 -0
- package/lib/services/page-rules.js +1365 -0
- package/lib/services/page-rules.js.map +1 -0
- package/lib/services/page-shield.d.ts +426 -0
- package/lib/services/page-shield.d.ts.map +1 -0
- package/lib/services/page-shield.js +484 -0
- package/lib/services/page-shield.js.map +1 -0
- package/lib/services/pages.d.ts +1654 -0
- package/lib/services/pages.d.ts.map +1 -0
- package/lib/services/pages.js +2954 -0
- package/lib/services/pages.js.map +1 -0
- package/lib/services/pipelines.d.ts +1461 -0
- package/lib/services/pipelines.d.ts.map +1 -0
- package/lib/services/pipelines.js +2912 -0
- package/lib/services/pipelines.js.map +1 -0
- package/lib/services/queues.d.ts +807 -0
- package/lib/services/queues.d.ts.map +1 -0
- package/lib/services/queues.js +1194 -0
- package/lib/services/queues.js.map +1 -0
- package/lib/services/r2-data-catalog.d.ts +341 -0
- package/lib/services/r2-data-catalog.d.ts.map +1 -0
- package/lib/services/r2-data-catalog.js +499 -0
- package/lib/services/r2-data-catalog.js.map +1 -0
- package/lib/services/r2.d.ts +1041 -0
- package/lib/services/r2.d.ts.map +1 -0
- package/lib/services/r2.js +1384 -0
- package/lib/services/r2.js.map +1 -0
- package/lib/services/radar.d.ts +9276 -0
- package/lib/services/radar.d.ts.map +1 -0
- package/lib/services/radar.js +20491 -0
- package/lib/services/radar.js.map +1 -0
- package/lib/services/rate-limits.d.ts +315 -0
- package/lib/services/rate-limits.d.ts.map +1 -0
- package/lib/services/rate-limits.js +521 -0
- package/lib/services/rate-limits.js.map +1 -0
- package/lib/services/realtime-kit.d.ts +2728 -0
- package/lib/services/realtime-kit.d.ts.map +1 -0
- package/lib/services/realtime-kit.js +5401 -0
- package/lib/services/realtime-kit.js.map +1 -0
- package/lib/services/registrar.d.ts +81 -0
- package/lib/services/registrar.d.ts.map +1 -0
- package/lib/services/registrar.js +154 -0
- package/lib/services/registrar.js.map +1 -0
- package/lib/services/request-tracers.d.ts +61 -0
- package/lib/services/request-tracers.d.ts.map +1 -0
- package/lib/services/request-tracers.js +82 -0
- package/lib/services/request-tracers.js.map +1 -0
- package/lib/services/resource-sharing.d.ts +540 -0
- package/lib/services/resource-sharing.d.ts.map +1 -0
- package/lib/services/resource-sharing.js +846 -0
- package/lib/services/resource-sharing.js.map +1 -0
- package/lib/services/rules.d.ts +297 -0
- package/lib/services/rules.d.ts.map +1 -0
- package/lib/services/rules.js +396 -0
- package/lib/services/rules.js.map +1 -0
- package/lib/services/rulesets.d.ts +3300 -0
- package/lib/services/rulesets.d.ts.map +1 -0
- package/lib/services/rulesets.js +7852 -0
- package/lib/services/rulesets.js.map +1 -0
- package/lib/services/rum.d.ts +289 -0
- package/lib/services/rum.d.ts.map +1 -0
- package/lib/services/rum.js +409 -0
- package/lib/services/rum.js.map +1 -0
- package/lib/services/schema-validation.d.ts +240 -0
- package/lib/services/schema-validation.d.ts.map +1 -0
- package/lib/services/schema-validation.js +306 -0
- package/lib/services/schema-validation.js.map +1 -0
- package/lib/services/secrets-store.d.ts +321 -0
- package/lib/services/secrets-store.d.ts.map +1 -0
- package/lib/services/secrets-store.js +385 -0
- package/lib/services/secrets-store.js.map +1 -0
- package/lib/services/security-center.d.ts +102 -0
- package/lib/services/security-center.d.ts.map +1 -0
- package/lib/services/security-center.js +170 -0
- package/lib/services/security-center.js.map +1 -0
- package/lib/services/security-txt.d.ts +105 -0
- package/lib/services/security-txt.d.ts.map +1 -0
- package/lib/services/security-txt.js +136 -0
- package/lib/services/security-txt.js.map +1 -0
- package/lib/services/snippets.d.ts +138 -0
- package/lib/services/snippets.d.ts.map +1 -0
- package/lib/services/snippets.js +178 -0
- package/lib/services/snippets.js.map +1 -0
- package/lib/services/spectrum.d.ts +316 -0
- package/lib/services/spectrum.d.ts.map +1 -0
- package/lib/services/spectrum.js +510 -0
- package/lib/services/spectrum.js.map +1 -0
- package/lib/services/speed.d.ts +227 -0
- package/lib/services/speed.d.ts.map +1 -0
- package/lib/services/speed.js +444 -0
- package/lib/services/speed.js.map +1 -0
- package/lib/services/ssl.d.ts +370 -0
- package/lib/services/ssl.d.ts.map +1 -0
- package/lib/services/ssl.js +732 -0
- package/lib/services/ssl.js.map +1 -0
- package/lib/services/stream.d.ts +1014 -0
- package/lib/services/stream.d.ts.map +1 -0
- package/lib/services/stream.js +1049 -0
- package/lib/services/stream.js.map +1 -0
- package/lib/services/token-validation.d.ts +547 -0
- package/lib/services/token-validation.d.ts.map +1 -0
- package/lib/services/token-validation.js +768 -0
- package/lib/services/token-validation.js.map +1 -0
- package/lib/services/turnstile.d.ts +248 -0
- package/lib/services/turnstile.d.ts.map +1 -0
- package/lib/services/turnstile.js +308 -0
- package/lib/services/turnstile.js.map +1 -0
- package/lib/services/url-normalization.d.ts +53 -0
- package/lib/services/url-normalization.d.ts.map +1 -0
- package/lib/services/url-normalization.js +52 -0
- package/lib/services/url-normalization.js.map +1 -0
- package/lib/services/url-scanner.d.ts +612 -0
- package/lib/services/url-scanner.d.ts.map +1 -0
- package/lib/services/url-scanner.js +915 -0
- package/lib/services/url-scanner.js.map +1 -0
- package/lib/services/user.d.ts +441 -0
- package/lib/services/user.d.ts.map +1 -0
- package/lib/services/user.js +567 -0
- package/lib/services/user.js.map +1 -0
- package/lib/services/vectorize.d.ts +282 -0
- package/lib/services/vectorize.d.ts.map +1 -0
- package/lib/services/vectorize.js +340 -0
- package/lib/services/vectorize.js.map +1 -0
- package/lib/services/waiting-rooms.d.ts +1009 -0
- package/lib/services/waiting-rooms.d.ts.map +1 -0
- package/lib/services/waiting-rooms.js +1757 -0
- package/lib/services/waiting-rooms.js.map +1 -0
- package/lib/services/web3.d.ts +274 -0
- package/lib/services/web3.d.ts.map +1 -0
- package/lib/services/web3.js +362 -0
- package/lib/services/web3.js.map +1 -0
- package/lib/services/workers-for-platforms.d.ts +1224 -0
- package/lib/services/workers-for-platforms.d.ts.map +1 -0
- package/lib/services/workers-for-platforms.js +2078 -0
- package/lib/services/workers-for-platforms.js.map +1 -0
- package/lib/services/workers.d.ts +3498 -0
- package/lib/services/workers.d.ts.map +1 -0
- package/lib/services/workers.js +5967 -0
- package/lib/services/workers.js.map +1 -0
- package/lib/services/workflows.d.ts +359 -0
- package/lib/services/workflows.d.ts.map +1 -0
- package/lib/services/workflows.js +516 -0
- package/lib/services/workflows.js.map +1 -0
- package/lib/services/zaraz.d.ts +300 -0
- package/lib/services/zaraz.d.ts.map +1 -0
- package/lib/services/zaraz.js +298 -0
- package/lib/services/zaraz.js.map +1 -0
- package/lib/services/zero-trust.d.ts +15449 -0
- package/lib/services/zero-trust.d.ts.map +1 -0
- package/lib/services/zero-trust.js +29194 -0
- package/lib/services/zero-trust.js.map +1 -0
- package/lib/services/zones.d.ts +1278 -0
- package/lib/services/zones.d.ts.map +1 -0
- package/lib/services/zones.js +2416 -0
- package/lib/services/zones.js.map +1 -0
- package/lib/traits.d.ts +28 -0
- package/lib/traits.d.ts.map +1 -0
- package/lib/traits.js +26 -0
- package/lib/traits.js.map +1 -0
- package/package.json +68 -5
- package/src/auth.ts +14 -0
- package/src/category.ts +1 -0
- package/src/client/api.ts +329 -0
- package/src/client/index.ts +7 -0
- package/src/credentials.ts +30 -0
- package/src/errors.ts +57 -0
- package/src/index.ts +9 -0
- package/src/retry.ts +35 -0
- package/src/schemas.ts +51 -0
- package/src/services/abuse-reports.ts +747 -0
- package/src/services/accounts.ts +1947 -0
- package/src/services/acm.ts +170 -0
- package/src/services/addressing.ts +3947 -0
- package/src/services/ai-gateway.ts +3335 -0
- package/src/services/ai.ts +727 -0
- package/src/services/aisearch.ts +4750 -0
- package/src/services/alerting.ts +2947 -0
- package/src/services/api-gateway.ts +3391 -0
- package/src/services/argo.ts +254 -0
- package/src/services/audit-logs.ts +90 -0
- package/src/services/billing.ts +172 -0
- package/src/services/bot-management.ts +541 -0
- package/src/services/botnet-feed.ts +193 -0
- package/src/services/brand-protection.ts +553 -0
- package/src/services/browser-rendering.ts +2707 -0
- package/src/services/cache.ts +827 -0
- package/src/services/calls.ts +483 -0
- package/src/services/certificate-authorities.ts +110 -0
- package/src/services/client-certificates.ts +718 -0
- package/src/services/cloud-connector.ts +181 -0
- package/src/services/cloudforce-one.ts +3876 -0
- package/src/services/connectivity.ts +629 -0
- package/src/services/content-scanning.ts +385 -0
- package/src/services/custom-certificates.ts +611 -0
- package/src/services/custom-hostnames.ts +2453 -0
- package/src/services/custom-nameservers.ts +182 -0
- package/src/services/custom-pages.ts +264 -0
- package/src/services/d1.ts +1034 -0
- package/src/services/dcv-delegation.ts +52 -0
- package/src/services/diagnostics.ts +603 -0
- package/src/services/dns-firewall.ts +823 -0
- package/src/services/dns.ts +8897 -0
- package/src/services/durable-objects.ts +148 -0
- package/src/services/email-routing.ts +1602 -0
- package/src/services/email-security.ts +4283 -0
- package/src/services/filters.ts +370 -0
- package/src/services/firewall.ts +3896 -0
- package/src/services/healthchecks.ts +1750 -0
- package/src/services/hostnames.ts +218 -0
- package/src/services/hyperdrive.ts +592 -0
- package/src/services/iam.ts +1668 -0
- package/src/services/images.ts +1086 -0
- package/src/services/intel.ts +2768 -0
- package/src/services/ips.ts +88 -0
- package/src/services/keyless-certificates.ts +462 -0
- package/src/services/kv.ts +1011 -0
- package/src/services/leaked-credential-checks.ts +325 -0
- package/src/services/load-balancers.ts +6438 -0
- package/src/services/logpush.ts +1667 -0
- package/src/services/logs.ts +375 -0
- package/src/services/magic-cloud-networking.ts +10020 -0
- package/src/services/magic-network-monitoring.ts +1156 -0
- package/src/services/magic-transit.ts +13050 -0
- package/src/services/managed-transforms.ts +237 -0
- package/src/services/memberships.ts +615 -0
- package/src/services/mtls-certificates.ts +374 -0
- package/src/services/network-interconnects.ts +1253 -0
- package/src/services/organizations.ts +674 -0
- package/src/services/origin-ca-certificates.ts +303 -0
- package/src/services/origin-post-quantum-encryption.ts +128 -0
- package/src/services/origin-tls-client-auth.ts +878 -0
- package/src/services/page-rules.ts +2612 -0
- package/src/services/page-shield.ts +1195 -0
- package/src/services/pages.ts +5709 -0
- package/src/services/pipelines.ts +6000 -0
- package/src/services/queues.ts +2629 -0
- package/src/services/r2-data-catalog.ts +1119 -0
- package/src/services/r2.ts +3348 -0
- package/src/services/radar.ts +42152 -0
- package/src/services/rate-limits.ts +1150 -0
- package/src/services/realtime-kit.ts +11079 -0
- package/src/services/registrar.ts +295 -0
- package/src/services/request-tracers.ts +158 -0
- package/src/services/resource-sharing.ts +1832 -0
- package/src/services/rules.ts +837 -0
- package/src/services/rulesets.ts +15144 -0
- package/src/services/rum.ts +901 -0
- package/src/services/schema-validation.ts +733 -0
- package/src/services/secrets-store.ts +860 -0
- package/src/services/security-center.ts +397 -0
- package/src/services/security-txt.ts +315 -0
- package/src/services/snippets.ts +420 -0
- package/src/services/spectrum.ts +1103 -0
- package/src/services/speed.ts +1056 -0
- package/src/services/ssl.ts +1587 -0
- package/src/services/stream.ts +2756 -0
- package/src/services/token-validation.ts +1585 -0
- package/src/services/turnstile.ts +643 -0
- package/src/services/url-normalization.ts +129 -0
- package/src/services/url-scanner.ts +1851 -0
- package/src/services/user.ts +1384 -0
- package/src/services/vectorize.ts +816 -0
- package/src/services/waiting-rooms.ts +3807 -0
- package/src/services/web3.ts +834 -0
- package/src/services/workers-for-platforms.ts +3859 -0
- package/src/services/workers.ts +11637 -0
- package/src/services/workflows.ts +1124 -0
- package/src/services/zaraz.ts +797 -0
- package/src/services/zero-trust.ts +58929 -0
- package/src/services/zones.ts +4875 -0
- package/src/traits.ts +47 -0
- package/bun.lock +0 -26
- package/index.ts +0 -1
- package/tsconfig.json +0 -29
package/README.md
CHANGED
|
@@ -1,15 +1,49 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @distilled.cloud/cloudflare
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Effect-native Cloudflare SDK generated from the [Cloudflare TypeScript SDK](https://github.com/cloudflare/cloudflare-typescript) source. Covers Workers, R2, KV, D1, Queues, DNS, and more with exhaustive error typing.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
4
6
|
|
|
5
7
|
```bash
|
|
6
|
-
|
|
8
|
+
npm install @distilled.cloud/cloudflare effect
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
## Quick Start
|
|
10
12
|
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
+
```typescript
|
|
14
|
+
import { Effect, Layer } from "effect";
|
|
15
|
+
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
16
|
+
import * as R2 from "@distilled.cloud/cloudflare/r2";
|
|
17
|
+
import { Auth } from "@distilled.cloud/cloudflare";
|
|
18
|
+
|
|
19
|
+
const program = R2.listBuckets({ account_id: "your-account-id" });
|
|
20
|
+
|
|
21
|
+
const CloudflareLive = Layer.mergeAll(FetchHttpClient.layer, Auth.fromEnv());
|
|
22
|
+
|
|
23
|
+
program.pipe(Effect.provide(CloudflareLive), Effect.runPromise);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Error Handling
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
R2.getBucket({ account_id: "...", bucket_name: "missing" }).pipe(
|
|
30
|
+
Effect.catchTags({
|
|
31
|
+
NoSuchBucket: () => Effect.succeed({ found: false }),
|
|
32
|
+
UnknownCloudflareError: (e) => Effect.fail(new Error(`Unknown: ${e.message}`)),
|
|
33
|
+
}),
|
|
34
|
+
);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Services
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import * as R2 from "@distilled.cloud/cloudflare/r2";
|
|
41
|
+
import * as Workers from "@distilled.cloud/cloudflare/workers";
|
|
42
|
+
import * as KV from "@distilled.cloud/cloudflare/kv";
|
|
43
|
+
import * as Queues from "@distilled.cloud/cloudflare/queues";
|
|
44
|
+
import * as DNS from "@distilled.cloud/cloudflare/dns";
|
|
13
45
|
```
|
|
14
46
|
|
|
15
|
-
|
|
47
|
+
## License
|
|
48
|
+
|
|
49
|
+
MIT
|
package/lib/auth.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backwards-compatible auth module.
|
|
3
|
+
*
|
|
4
|
+
* The test harness imports `~/auth.ts` expecting `ApiToken` and `fromEnv()`.
|
|
5
|
+
* This module re-exports the credentials under the old names.
|
|
6
|
+
*/
|
|
7
|
+
import { Credentials } from "./credentials.ts";
|
|
8
|
+
/** ApiToken is an alias for Credentials (used by the test harness) */
|
|
9
|
+
export declare const ApiToken: typeof Credentials;
|
|
10
|
+
export type ApiToken = Credentials;
|
|
11
|
+
/** Create an ApiToken layer from environment variables. */
|
|
12
|
+
export declare const fromEnv: () => import("effect/Layer").Layer<Credentials, import("@distilled.cloud/core/errors").ConfigError, never>;
|
|
13
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAEnE,sEAAsE;AACtE,eAAO,MAAM,QAAQ,oBAAc,CAAC;AACpC,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AAEnC,2DAA2D;AAC3D,eAAO,MAAM,OAAO,4GAA2B,CAAC"}
|
package/lib/auth.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backwards-compatible auth module.
|
|
3
|
+
*
|
|
4
|
+
* The test harness imports `~/auth.ts` expecting `ApiToken` and `fromEnv()`.
|
|
5
|
+
* This module re-exports the credentials under the old names.
|
|
6
|
+
*/
|
|
7
|
+
import { Credentials, CredentialsFromEnv } from "./credentials.js";
|
|
8
|
+
/** ApiToken is an alias for Credentials (used by the test harness) */
|
|
9
|
+
export const ApiToken = Credentials;
|
|
10
|
+
/** Create an ApiToken layer from environment variables. */
|
|
11
|
+
export const fromEnv = () => CredentialsFromEnv;
|
|
12
|
+
//# sourceMappingURL=auth.js.map
|
package/lib/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,sEAAsE;AACtE,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AAGpC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../src/category.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
package/lib/category.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.js","sourceRoot":"","sources":["../src/category.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare API operations factory.
|
|
3
|
+
*
|
|
4
|
+
* This module is imported as `import * as API from "../client/api.ts"` by
|
|
5
|
+
* generated service files so that `API.make()`, `API.OperationMethod`, etc.
|
|
6
|
+
* are all accessible as namespace members.
|
|
7
|
+
*/
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import * as Schema from "effect/Schema";
|
|
10
|
+
import { type ApiErrorClass, type OperationMethod, type PaginatedOperationMethod } from "@distilled.cloud/core/client";
|
|
11
|
+
export type { OperationMethod, PaginatedOperationMethod };
|
|
12
|
+
export declare const make: <I extends Schema.Top, O extends Schema.Top, const E extends readonly ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").OperationConfig<I, O, E>) => any;
|
|
13
|
+
export declare const makePaginated: <I extends Schema.Top, O extends Schema.Top, const E extends readonly ApiErrorClass[] = readonly []>(configFn: () => import("@distilled.cloud/core/client").PaginatedOperationConfig<I, O, E>, paginateFn?: ((baseFn: (input: any) => Effect.Effect<any, any, any>, input: any, pagination: import("@distilled.cloud/core/pagination").PaginatedTrait) => import("effect/Stream").Stream<any, any, any>) | undefined) => any;
|
|
14
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AAiDtC,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC;AAuQ1D,eAAO,MAAM,IAAI,8LAAY,CAAC;AAC9B,eAAO,MAAM,aAAa,8ZAAqB,CAAC"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare API operations factory.
|
|
3
|
+
*
|
|
4
|
+
* This module is imported as `import * as API from "../client/api.ts"` by
|
|
5
|
+
* generated service files so that `API.make()`, `API.OperationMethod`, etc.
|
|
6
|
+
* are all accessible as namespace members.
|
|
7
|
+
*/
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import * as Schema from "effect/Schema";
|
|
10
|
+
import { makeAPI, } from "@distilled.cloud/core/client";
|
|
11
|
+
import { CloudflareHttpError, HTTP_STATUS_MAP, InternalServerError, TooManyRequests, UnknownCloudflareError, } from "../errors.js";
|
|
12
|
+
import { Credentials } from "../credentials.js";
|
|
13
|
+
import { getErrorMatchers } from "../traits.js";
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Global Cloudflare error codes
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Cloudflare error codes that map to global/default errors regardless of operation.
|
|
19
|
+
* These are infrastructure-level errors that can occur on any endpoint.
|
|
20
|
+
*/
|
|
21
|
+
const GLOBAL_ERROR_CODE_MAP = {
|
|
22
|
+
// "Please wait and consider throttling your request speed"
|
|
23
|
+
971: (message) => new TooManyRequests({ message }),
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Create an appropriate error for an HTTP status code.
|
|
27
|
+
*
|
|
28
|
+
* For status codes in HTTP_STATUS_MAP (400, 401, 500, 502, 503, 504, etc.),
|
|
29
|
+
* returns the properly categorized error (with retry categories for 5xx).
|
|
30
|
+
* For unmapped 5xx codes (e.g., Cloudflare-specific 520-530), returns a
|
|
31
|
+
* CloudflareHttpError so the status is preserved.
|
|
32
|
+
*/
|
|
33
|
+
function httpStatusError(status, body) {
|
|
34
|
+
const ErrorClass = HTTP_STATUS_MAP[status];
|
|
35
|
+
if (ErrorClass) {
|
|
36
|
+
return new ErrorClass({ message: body ?? String(status) });
|
|
37
|
+
}
|
|
38
|
+
// For unmapped 5xx codes (e.g., Cloudflare-specific 520-530), use
|
|
39
|
+
// InternalServerError so they get ServerError + Retryable categories
|
|
40
|
+
if (status >= 500) {
|
|
41
|
+
return new InternalServerError({ message: body ?? String(status) });
|
|
42
|
+
}
|
|
43
|
+
return new CloudflareHttpError({
|
|
44
|
+
status,
|
|
45
|
+
statusText: String(status),
|
|
46
|
+
body,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// Error matching
|
|
51
|
+
// ============================================================================
|
|
52
|
+
/**
|
|
53
|
+
* Extract the _tag literal value from a TaggedError schema AST.
|
|
54
|
+
*/
|
|
55
|
+
function extractTagFromAst(ast) {
|
|
56
|
+
if (ast.encoding && ast.encoding.length > 0) {
|
|
57
|
+
return extractTagFromAst(ast.encoding[0].to);
|
|
58
|
+
}
|
|
59
|
+
if (ast._tag === "Objects") {
|
|
60
|
+
const tagProp = ast.propertySignatures.find((p) => p.name === "_tag");
|
|
61
|
+
if (tagProp &&
|
|
62
|
+
tagProp.type._tag === "Literal" &&
|
|
63
|
+
typeof tagProp.type.literal === "string") {
|
|
64
|
+
return tagProp.type.literal;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if an error matches an expression-based matcher.
|
|
71
|
+
*/
|
|
72
|
+
function matchesExpression(matcher, code, status, message) {
|
|
73
|
+
if (matcher.code === undefined && matcher.status === undefined)
|
|
74
|
+
return false;
|
|
75
|
+
if (matcher.code !== undefined && matcher.code !== code)
|
|
76
|
+
return false;
|
|
77
|
+
if (matcher.status !== undefined && matcher.status !== status)
|
|
78
|
+
return false;
|
|
79
|
+
if (matcher.message !== undefined) {
|
|
80
|
+
if (typeof matcher.message === "string") {
|
|
81
|
+
if (matcher.message !== message)
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
else if (matcher.message.includes !== undefined) {
|
|
85
|
+
if (!message.includes(matcher.message.includes))
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Calculate specificity score for a matcher.
|
|
93
|
+
*/
|
|
94
|
+
function matcherSpecificity(matcher) {
|
|
95
|
+
let score = 0;
|
|
96
|
+
if (matcher.code !== undefined)
|
|
97
|
+
score += 1;
|
|
98
|
+
if (matcher.status !== undefined)
|
|
99
|
+
score += 1;
|
|
100
|
+
if (matcher.message !== undefined)
|
|
101
|
+
score += 1;
|
|
102
|
+
return score;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Find matching error schema using annotations from the schema AST.
|
|
106
|
+
*/
|
|
107
|
+
function findMatchingError(errorSchemas, code, status, message) {
|
|
108
|
+
let bestMatch;
|
|
109
|
+
let bestScore = 0;
|
|
110
|
+
for (const [name, schema] of errorSchemas) {
|
|
111
|
+
const ast = schema.ast;
|
|
112
|
+
const matchers = getErrorMatchers(ast);
|
|
113
|
+
if (!matchers || matchers.length === 0)
|
|
114
|
+
continue;
|
|
115
|
+
for (const matcher of matchers) {
|
|
116
|
+
if (matchesExpression(matcher, code, status, message)) {
|
|
117
|
+
const score = matcherSpecificity(matcher);
|
|
118
|
+
if (score > bestScore) {
|
|
119
|
+
bestScore = score;
|
|
120
|
+
bestMatch = { schema, tag: name };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return bestMatch;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Match a Cloudflare API error response using per-operation error schemas.
|
|
129
|
+
*/
|
|
130
|
+
const matchError = (status, errorBody, errors) => {
|
|
131
|
+
// Handle non-JSON error responses (e.g., HTML from malformed URLs, 520 pages)
|
|
132
|
+
const isNonJsonError = typeof errorBody === "object" &&
|
|
133
|
+
errorBody !== null &&
|
|
134
|
+
"_nonJsonError" in errorBody;
|
|
135
|
+
if (isNonJsonError) {
|
|
136
|
+
// For 5xx errors, return a properly categorized error so retries work
|
|
137
|
+
if (status >= 500) {
|
|
138
|
+
return Effect.fail(httpStatusError(status, String(errorBody.body)));
|
|
139
|
+
}
|
|
140
|
+
return Effect.fail(new CloudflareHttpError({
|
|
141
|
+
status,
|
|
142
|
+
statusText: String(status),
|
|
143
|
+
body: String(errorBody.body),
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
// Parse the Cloudflare error envelope
|
|
147
|
+
const envelope = typeof errorBody === "object" && errorBody !== null ? errorBody : undefined;
|
|
148
|
+
const cfErrors = envelope && "errors" in envelope && Array.isArray(envelope.errors)
|
|
149
|
+
? envelope.errors
|
|
150
|
+
: undefined;
|
|
151
|
+
const firstError = cfErrors?.[0];
|
|
152
|
+
// Cloudflare sometimes omits the code field entirely (e.g., webhook errors).
|
|
153
|
+
// Treat missing code as 0 (the default) so matchers with { code: 0 } can match.
|
|
154
|
+
const errorCode = firstError && typeof firstError.code === "number"
|
|
155
|
+
? firstError.code
|
|
156
|
+
: firstError
|
|
157
|
+
? 0
|
|
158
|
+
: undefined;
|
|
159
|
+
const errorMessage = firstError?.message ?? String(status);
|
|
160
|
+
// Check if this is a valid Cloudflare envelope (has success field)
|
|
161
|
+
const isEnvelope = envelope && "success" in envelope && envelope.success === false;
|
|
162
|
+
if (!isEnvelope) {
|
|
163
|
+
// Not a Cloudflare envelope — HTTP-level error
|
|
164
|
+
// For 5xx errors, return a properly categorized error so retries work
|
|
165
|
+
const bodyStr = typeof errorBody === "string" ? errorBody : JSON.stringify(errorBody);
|
|
166
|
+
if (status >= 500) {
|
|
167
|
+
return Effect.fail(httpStatusError(status, bodyStr));
|
|
168
|
+
}
|
|
169
|
+
return Effect.fail(new CloudflareHttpError({
|
|
170
|
+
status,
|
|
171
|
+
statusText: String(status),
|
|
172
|
+
body: bodyStr,
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
// Build error schema map from the per-operation errors
|
|
176
|
+
if (errors && errors.length > 0) {
|
|
177
|
+
const errorSchemas = new Map();
|
|
178
|
+
for (const errorSchema of errors) {
|
|
179
|
+
const identifier = extractTagFromAst(errorSchema.ast);
|
|
180
|
+
if (identifier) {
|
|
181
|
+
errorSchemas.set(identifier, errorSchema);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
const matched = findMatchingError(errorSchemas, errorCode, status, errorMessage);
|
|
185
|
+
if (matched) {
|
|
186
|
+
// Decode using the schema - properly instantiates TaggedError classes
|
|
187
|
+
const errorData = {
|
|
188
|
+
_tag: matched.tag,
|
|
189
|
+
code: errorCode ?? 0,
|
|
190
|
+
message: errorMessage,
|
|
191
|
+
};
|
|
192
|
+
return Schema.decodeUnknownEffect(matched.schema)(errorData).pipe(Effect.flatMap((decoded) => Effect.fail(decoded)), Effect.catchIf((e) => typeof e === "object" &&
|
|
193
|
+
e !== null &&
|
|
194
|
+
"_tag" in e &&
|
|
195
|
+
e._tag === "SchemaError", () => Effect.fail(new UnknownCloudflareError({
|
|
196
|
+
code: errorCode,
|
|
197
|
+
message: errorMessage,
|
|
198
|
+
}))));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Check global error codes before falling through to unknown
|
|
202
|
+
if (errorCode !== undefined && errorCode in GLOBAL_ERROR_CODE_MAP) {
|
|
203
|
+
return Effect.fail(GLOBAL_ERROR_CODE_MAP[errorCode](errorMessage));
|
|
204
|
+
}
|
|
205
|
+
// No match — return unknown Cloudflare error
|
|
206
|
+
return Effect.fail(new UnknownCloudflareError({
|
|
207
|
+
code: errorCode,
|
|
208
|
+
message: errorMessage,
|
|
209
|
+
}));
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Wrap schema decode failures as CloudflareHttpError to match the original's behavior.
|
|
213
|
+
* The original project maps all decode errors to CloudflareHttpError (not a separate parse error type).
|
|
214
|
+
*/
|
|
215
|
+
class CloudflareDecodeError extends CloudflareHttpError {
|
|
216
|
+
constructor(props) {
|
|
217
|
+
super({
|
|
218
|
+
status: 200,
|
|
219
|
+
statusText: "Schema decode failed",
|
|
220
|
+
body: typeof props.body === "string"
|
|
221
|
+
? props.body
|
|
222
|
+
: JSON.stringify(props.body),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const _API = makeAPI({
|
|
227
|
+
credentials: Credentials,
|
|
228
|
+
getBaseUrl: (creds) => creds.apiBaseUrl,
|
|
229
|
+
getAuthHeaders: (creds) => ({
|
|
230
|
+
Authorization: `Bearer ${creds.apiToken}`,
|
|
231
|
+
}),
|
|
232
|
+
matchError,
|
|
233
|
+
ParseError: CloudflareDecodeError,
|
|
234
|
+
transformResponse: (body) => {
|
|
235
|
+
// Cloudflare API wraps responses in { result: <data>, success, errors, messages }
|
|
236
|
+
if (typeof body === "object" && body !== null && "result" in body) {
|
|
237
|
+
// result: null is common for delete operations — treat as empty object
|
|
238
|
+
return body.result ?? {};
|
|
239
|
+
}
|
|
240
|
+
return body;
|
|
241
|
+
},
|
|
242
|
+
});
|
|
243
|
+
export const make = _API.make;
|
|
244
|
+
export const makePaginated = _API.makePaginated;
|
|
245
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,OAAO,GAIR,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnE,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,qBAAqB,GAAiD;IAC1E,2DAA2D;IAC3D,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAc,EAAE,IAAa;IACpD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAsC,CAAC,CAAC;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,kEAAkE;IAClE,qEAAqE;IACrE,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC;QAC7B,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAID,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CACzC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAChD,CAAC;QACF,IACE,OAAO;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAC/B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EACxC,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,OAAqB,EACrB,IAAwB,EACxB,MAAc,EACd,OAAe;IAEf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAqB;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,IAAI,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,IAAI,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAOD;;GAEG;AACH,SAAS,iBAAiB,CACxB,YAAqC,EACrC,IAAwB,EACxB,MAAc,EACd,OAAe;IAEf,IAAI,SAAmC,CAAC;IACxC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;oBAClB,SAAS,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CACjB,MAAc,EACd,SAAkB,EAClB,MAAiC,EACF,EAAE;IACjC,8EAA8E;IAC9E,MAAM,cAAc,GAClB,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,eAAe,IAAI,SAAS,CAAC;IAC/B,IAAI,cAAc,EAAE,CAAC;QACnB,sEAAsE;QACtE,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,IAAI,CAChB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAE,SAAiB,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,mBAAmB,CAAC;YACtB,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAE,SAAiB,CAAC,IAAI,CAAC;SACtC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,QAAQ,GACZ,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,QAAgB,CAAC,MAAM,CAAC;QACzE,CAAC,CAAG,QAAgB,CAAC,MAGhB;QACL,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,6EAA6E;IAC7E,gFAAgF;IAChF,MAAM,SAAS,GACb,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QAC/C,CAAC,CAAC,UAAU,CAAC,IAAI;QACjB,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,YAAY,GAAG,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3D,mEAAmE;IACnE,MAAM,UAAU,GACd,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAK,QAAgB,CAAC,OAAO,KAAK,KAAK,CAAC;IAE3E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,+CAA+C;QAC/C,sEAAsE;QACtE,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,mBAAmB,CAAC;YACtB,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,OAAO;SACd,CAAC,CACH,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;QACnD,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,iBAAiB,CACjC,WAAqC,CAAC,GAAG,CAC3C,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,WAAoC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAC/B,YAAY,EACZ,SAAS,EACT,MAAM,EACN,YAAY,CACb,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,sEAAsE;YACtE,MAAM,SAAS,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,GAAG;gBACjB,IAAI,EAAE,SAAS,IAAI,CAAC;gBACpB,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,OAAO,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1D,MAAM,CAAC,OAAO,CACZ,CAAC,CAAU,EAAE,EAAE,CACb,OAAO,CAAC,KAAK,QAAQ;gBACrB,CAAC,KAAK,IAAI;gBACV,MAAM,IAAI,CAAC;gBACV,CAAS,CAAC,IAAI,KAAK,aAAa,EACnC,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,CACT,IAAI,sBAAsB,CAAC;gBACzB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,YAAY;aACtB,CAAC,CACH,CACJ,CAC+B,CAAC;QACrC,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,6CAA6C;IAC7C,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,sBAAsB,CAAC;QACzB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;KACtB,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAsB,SAAQ,mBAAmB;IACrD,YAAY,KAAwC;QAClD,KAAK,CAAC;YACJ,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,sBAAsB;YAClC,IAAI,EACF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,IAAI,GAAG,OAAO,CAAC;IACnB,WAAW,EAAE,WAAkB;IAC/B,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;IAC5C,cAAc,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;QAC/B,aAAa,EAAE,UAAU,KAAK,CAAC,QAAQ,EAAE;KAC1C,CAAC;IACF,UAAU;IACV,UAAU,EAAE,qBAA4B;IACxC,iBAAiB,EAAE,CAAC,IAAa,EAAE,EAAE;QACnC,kFAAkF;QAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YAClE,uEAAuE;YACvE,OAAQ,IAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Layer from "effect/Layer";
|
|
2
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
3
|
+
import { ConfigError } from "@distilled.cloud/core/errors";
|
|
4
|
+
export declare const DEFAULT_API_BASE_URL = "https://api.cloudflare.com/client/v4";
|
|
5
|
+
export interface Config {
|
|
6
|
+
readonly apiToken: string;
|
|
7
|
+
readonly apiBaseUrl: string;
|
|
8
|
+
}
|
|
9
|
+
declare const Credentials_base: ServiceMap.ServiceClass<Credentials, "CloudflareCredentials", Config>;
|
|
10
|
+
export declare class Credentials extends Credentials_base {
|
|
11
|
+
}
|
|
12
|
+
export declare const CredentialsFromEnv: Layer.Layer<Credentials, ConfigError, never>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAE3E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;;AAED,qBAAa,WAAY,SAAQ,gBAEhC;CAAG;AAEJ,eAAO,MAAM,kBAAkB,8CAa9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
4
|
+
import { ConfigError } from "@distilled.cloud/core/errors";
|
|
5
|
+
export const DEFAULT_API_BASE_URL = "https://api.cloudflare.com/client/v4";
|
|
6
|
+
export class Credentials extends ServiceMap.Service()("CloudflareCredentials") {
|
|
7
|
+
}
|
|
8
|
+
export const CredentialsFromEnv = Layer.effect(Credentials, Effect.gen(function* () {
|
|
9
|
+
const apiToken = process.env.CLOUDFLARE_API_TOKEN;
|
|
10
|
+
if (!apiToken) {
|
|
11
|
+
return yield* new ConfigError({
|
|
12
|
+
message: "CLOUDFLARE_API_TOKEN environment variable is required",
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return { apiToken, apiBaseUrl: DEFAULT_API_BASE_URL };
|
|
16
|
+
}));
|
|
17
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;AAO3E,MAAM,OAAO,WAAY,SAAQ,UAAU,CAAC,OAAO,EAAuB,CACxE,uBAAuB,CACxB;CAAG;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAElD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;YAC5B,OAAO,EAAE,uDAAuD;SACjE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AACxD,CAAC,CAAC,CACH,CAAC"}
|
package/lib/errors.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare-specific error types.
|
|
3
|
+
*/
|
|
4
|
+
export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
5
|
+
export type { DefaultErrors } from "@distilled.cloud/core/errors";
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
declare const CloudflareParseError_base: Schema.ErrorClass<CloudflareParseError, Schema.TaggedStruct<"CloudflareParseError", {
|
|
8
|
+
readonly body: Schema.Unknown;
|
|
9
|
+
readonly cause: Schema.Unknown;
|
|
10
|
+
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
|
|
11
|
+
"@distilled.cloud/error/categories": {
|
|
12
|
+
ParseError: true;
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
export declare class CloudflareParseError extends CloudflareParseError_base {
|
|
16
|
+
}
|
|
17
|
+
declare const UnknownCloudflareError_base: Schema.ErrorClass<UnknownCloudflareError, Schema.TaggedStruct<"UnknownCloudflareError", {
|
|
18
|
+
readonly code: Schema.optional<Schema.Number>;
|
|
19
|
+
readonly message: Schema.String;
|
|
20
|
+
}>, import("effect/Cause").YieldableError>;
|
|
21
|
+
/**
|
|
22
|
+
* Unknown Cloudflare error - returned when an error code is not recognized.
|
|
23
|
+
* Contains the raw error code for later cataloging.
|
|
24
|
+
*/
|
|
25
|
+
export declare class UnknownCloudflareError extends UnknownCloudflareError_base {
|
|
26
|
+
}
|
|
27
|
+
declare const CloudflareHttpError_base: Schema.ErrorClass<CloudflareHttpError, Schema.TaggedStruct<"CloudflareHttpError", {
|
|
28
|
+
readonly status: Schema.Number;
|
|
29
|
+
readonly statusText: Schema.String;
|
|
30
|
+
readonly body: Schema.optional<Schema.String>;
|
|
31
|
+
}>, import("effect/Cause").YieldableError>;
|
|
32
|
+
/**
|
|
33
|
+
* HTTP error - non-2xx response without a parseable Cloudflare error body.
|
|
34
|
+
*/
|
|
35
|
+
export declare class CloudflareHttpError extends CloudflareHttpError_base {
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;;;;;;AAIxC,qBAAa,oBAAqB,SAAQ,yBAMX;CAAG;;;;;AAElC;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;;;;;;AAEJ;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAOxC;CAAG"}
|
package/lib/errors.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare-specific error types.
|
|
3
|
+
*/
|
|
4
|
+
export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
|
|
5
|
+
import * as Schema from "effect/Schema";
|
|
6
|
+
import * as Category from "@distilled.cloud/core/category";
|
|
7
|
+
// Schema parse error wrapper
|
|
8
|
+
export class CloudflareParseError extends Schema.TaggedErrorClass()("CloudflareParseError", {
|
|
9
|
+
body: Schema.Unknown,
|
|
10
|
+
cause: Schema.Unknown,
|
|
11
|
+
}).pipe(Category.withParseError) {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Unknown Cloudflare error - returned when an error code is not recognized.
|
|
15
|
+
* Contains the raw error code for later cataloging.
|
|
16
|
+
*/
|
|
17
|
+
export class UnknownCloudflareError extends Schema.TaggedErrorClass()("UnknownCloudflareError", {
|
|
18
|
+
code: Schema.optional(Schema.Number),
|
|
19
|
+
message: Schema.String,
|
|
20
|
+
}) {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* HTTP error - non-2xx response without a parseable Cloudflare error body.
|
|
24
|
+
*/
|
|
25
|
+
export class CloudflareHttpError extends Schema.TaggedErrorClass()("CloudflareHttpError", {
|
|
26
|
+
status: Schema.Number,
|
|
27
|
+
statusText: Schema.String,
|
|
28
|
+
body: Schema.optional(Schema.String),
|
|
29
|
+
}) {
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAE3D,6BAA6B;AAC7B,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,gBAAgB,EAAwB,CACvF,sBAAsB,EACtB;IACE,IAAI,EAAE,MAAM,CAAC,OAAO;IACpB,KAAK,EAAE,MAAM,CAAC,OAAO;CACtB,CACF,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAAG;AAElC;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,gBAAgB,EAA0B,CAC3F,wBAAwB,EACxB;IACE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,gBAAgB,EAAuB,CACrF,qBAAqB,EACrB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACrC,CACF;CAAG"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare SDK for Effect
|
|
3
|
+
*/
|
|
4
|
+
export * from "./credentials.ts";
|
|
5
|
+
export * as Category from "./category.ts";
|
|
6
|
+
export * as T from "./traits.ts";
|
|
7
|
+
export * as Retry from "./retry.ts";
|
|
8
|
+
export * as API from "./client/api.ts";
|
|
9
|
+
export * from "./errors.ts";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare SDK for Effect
|
|
3
|
+
*/
|
|
4
|
+
export * from "./credentials.js";
|
|
5
|
+
export * as Category from "./category.js";
|
|
6
|
+
export * as T from "./traits.js";
|
|
7
|
+
export * as Retry from "./retry.js";
|
|
8
|
+
export * as API from "./client/api.js";
|
|
9
|
+
export * from "./errors.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
package/lib/retry.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
3
|
+
export { type Options, type Factory, type Policy, makeDefault, jittered, capped, throttlingOptions, transientOptions, } from "@distilled.cloud/core/retry";
|
|
4
|
+
import { type Policy } from "@distilled.cloud/core/retry";
|
|
5
|
+
declare const Retry_base: ServiceMap.ServiceClass<Retry, "CloudflareRetry", Policy>;
|
|
6
|
+
export declare class Retry extends Retry_base {
|
|
7
|
+
}
|
|
8
|
+
export declare const policy: (optionsOrFactory: Policy) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Retry>>;
|
|
9
|
+
export declare const none: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Retry>>;
|
|
10
|
+
/** Apply throttling retry policy (retries throttling errors indefinitely) */
|
|
11
|
+
export declare const throttling: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Retry>>;
|
|
12
|
+
/** Apply transient retry policy (retries all transient errors indefinitely) */
|
|
13
|
+
export declare const transient: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Retry>>;
|
|
14
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,6BAA6B,CAAC;;AAErC,qBAAa,KAAM,SAAQ,UAE1B;CAAG;AAEJ,eAAO,MAAM,MAAM,iHACqC,CAAC;AAEzD,eAAO,MAAM,IAAI,mFAEhB,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,UAAU,mFAA4B,CAAC;AAEpD,+EAA+E;AAC/E,eAAO,MAAM,SAAS,mFAA2B,CAAC"}
|
package/lib/retry.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
4
|
+
export { makeDefault, jittered, capped, throttlingOptions, transientOptions, } from "@distilled.cloud/core/retry";
|
|
5
|
+
import { throttlingOptions, transientOptions, } from "@distilled.cloud/core/retry";
|
|
6
|
+
export class Retry extends ServiceMap.Service()("CloudflareRetry") {
|
|
7
|
+
}
|
|
8
|
+
export const policy = (optionsOrFactory) => Effect.provide(Layer.succeed(Retry, optionsOrFactory));
|
|
9
|
+
export const none = Effect.provide(Layer.succeed(Retry, { while: () => false }));
|
|
10
|
+
/** Apply throttling retry policy (retries throttling errors indefinitely) */
|
|
11
|
+
export const throttling = policy(throttlingOptions);
|
|
12
|
+
/** Apply transient retry policy (retries all transient errors indefinitely) */
|
|
13
|
+
export const transient = policy(transientOptions);
|
|
14
|
+
//# sourceMappingURL=retry.js.map
|
package/lib/retry.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAIL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,OAAO,KAAM,SAAQ,UAAU,CAAC,OAAO,EAAiB,CAC5D,iBAAiB,CAClB;CAAG;AAEJ,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,gBAAwB,EAAE,EAAE,CACjD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAChC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAC7C,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
|
package/lib/schemas.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common schemas for Cloudflare API types.
|
|
3
|
+
*
|
|
4
|
+
* Includes file upload schemas for multipart form-data operations.
|
|
5
|
+
*/
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
/**
|
|
8
|
+
* Schema for File objects (browser File API).
|
|
9
|
+
*
|
|
10
|
+
* Used for multipart form-data file uploads.
|
|
11
|
+
*/
|
|
12
|
+
export declare const FileSchema: Schema.declare<File, File>;
|
|
13
|
+
/**
|
|
14
|
+
* Schema for Blob objects.
|
|
15
|
+
*
|
|
16
|
+
* Used for binary data uploads.
|
|
17
|
+
*/
|
|
18
|
+
export declare const BlobSchema: Schema.declare<Blob, Blob>;
|
|
19
|
+
/**
|
|
20
|
+
* Schema for uploadable content (File or Blob).
|
|
21
|
+
*
|
|
22
|
+
* Accepts any file-like object that can be uploaded via multipart form.
|
|
23
|
+
*/
|
|
24
|
+
export declare const UploadableSchema: Schema.Union<readonly [Schema.declare<File, File>, Schema.declare<Blob, Blob>]>;
|
|
25
|
+
/**
|
|
26
|
+
* TypeScript type for uploadable content.
|
|
27
|
+
*/
|
|
28
|
+
export type Uploadable = File | Blob;
|
|
29
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;GAIG;AACH,eAAO,MAAM,UAAU,4BAOtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,4BAOtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iFAAyC,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC"}
|