@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.
Files changed (560) hide show
  1. package/README.md +41 -7
  2. package/lib/auth.d.ts +13 -0
  3. package/lib/auth.d.ts.map +1 -0
  4. package/lib/auth.js +12 -0
  5. package/lib/auth.js.map +1 -0
  6. package/lib/category.d.ts +2 -0
  7. package/lib/category.d.ts.map +1 -0
  8. package/lib/category.js +2 -0
  9. package/lib/category.js.map +1 -0
  10. package/lib/client/api.d.ts +14 -0
  11. package/lib/client/api.d.ts.map +1 -0
  12. package/lib/client/api.js +245 -0
  13. package/lib/client/api.js.map +1 -0
  14. package/lib/client/index.d.ts +8 -0
  15. package/lib/client/index.d.ts.map +1 -0
  16. package/lib/client/index.js +8 -0
  17. package/lib/client/index.js.map +1 -0
  18. package/lib/credentials.d.ts +14 -0
  19. package/lib/credentials.d.ts.map +1 -0
  20. package/lib/credentials.js +17 -0
  21. package/lib/credentials.js.map +1 -0
  22. package/lib/errors.d.ts +37 -0
  23. package/lib/errors.d.ts.map +1 -0
  24. package/lib/errors.js +31 -0
  25. package/lib/errors.js.map +1 -0
  26. package/lib/index.d.ts +10 -0
  27. package/lib/index.d.ts.map +1 -0
  28. package/lib/index.js +10 -0
  29. package/lib/index.js.map +1 -0
  30. package/lib/retry.d.ts +14 -0
  31. package/lib/retry.d.ts.map +1 -0
  32. package/lib/retry.js +14 -0
  33. package/lib/retry.js.map +1 -0
  34. package/lib/schemas.d.ts +29 -0
  35. package/lib/schemas.d.ts.map +1 -0
  36. package/lib/schemas.js +34 -0
  37. package/lib/schemas.js.map +1 -0
  38. package/lib/services/abuse-reports.d.ts +224 -0
  39. package/lib/services/abuse-reports.d.ts.map +1 -0
  40. package/lib/services/abuse-reports.js +353 -0
  41. package/lib/services/abuse-reports.js.map +1 -0
  42. package/lib/services/accounts.d.ts +682 -0
  43. package/lib/services/accounts.d.ts.map +1 -0
  44. package/lib/services/accounts.js +805 -0
  45. package/lib/services/accounts.js.map +1 -0
  46. package/lib/services/acm.d.ts +73 -0
  47. package/lib/services/acm.d.ts.map +1 -0
  48. package/lib/services/acm.js +76 -0
  49. package/lib/services/acm.js.map +1 -0
  50. package/lib/services/addressing.d.ts +1208 -0
  51. package/lib/services/addressing.d.ts.map +1 -0
  52. package/lib/services/addressing.js +1776 -0
  53. package/lib/services/addressing.js.map +1 -0
  54. package/lib/services/ai-gateway.d.ts +956 -0
  55. package/lib/services/ai-gateway.d.ts.map +1 -0
  56. package/lib/services/ai-gateway.js +1706 -0
  57. package/lib/services/ai-gateway.js.map +1 -0
  58. package/lib/services/ai.d.ts +243 -0
  59. package/lib/services/ai.d.ts.map +1 -0
  60. package/lib/services/ai.js +299 -0
  61. package/lib/services/ai.js.map +1 -0
  62. package/lib/services/aisearch.d.ts +915 -0
  63. package/lib/services/aisearch.d.ts.map +1 -0
  64. package/lib/services/aisearch.js +2425 -0
  65. package/lib/services/aisearch.js.map +1 -0
  66. package/lib/services/alerting.d.ts +718 -0
  67. package/lib/services/alerting.d.ts.map +1 -0
  68. package/lib/services/alerting.js +1388 -0
  69. package/lib/services/alerting.js.map +1 -0
  70. package/lib/services/api-gateway.d.ts +830 -0
  71. package/lib/services/api-gateway.d.ts.map +1 -0
  72. package/lib/services/api-gateway.js +1548 -0
  73. package/lib/services/api-gateway.js.map +1 -0
  74. package/lib/services/argo.d.ts +101 -0
  75. package/lib/services/argo.d.ts.map +1 -0
  76. package/lib/services/argo.js +105 -0
  77. package/lib/services/argo.js.map +1 -0
  78. package/lib/services/audit-logs.d.ts +46 -0
  79. package/lib/services/audit-logs.d.ts.map +1 -0
  80. package/lib/services/audit-logs.js +37 -0
  81. package/lib/services/audit-logs.js.map +1 -0
  82. package/lib/services/billing.d.ts +62 -0
  83. package/lib/services/billing.d.ts.map +1 -0
  84. package/lib/services/billing.js +100 -0
  85. package/lib/services/billing.js.map +1 -0
  86. package/lib/services/bot-management.d.ts +124 -0
  87. package/lib/services/bot-management.d.ts.map +1 -0
  88. package/lib/services/bot-management.js +262 -0
  89. package/lib/services/bot-management.js.map +1 -0
  90. package/lib/services/botnet-feed.d.ts +65 -0
  91. package/lib/services/botnet-feed.d.ts.map +1 -0
  92. package/lib/services/botnet-feed.js +84 -0
  93. package/lib/services/botnet-feed.js.map +1 -0
  94. package/lib/services/brand-protection.d.ts +188 -0
  95. package/lib/services/brand-protection.d.ts.map +1 -0
  96. package/lib/services/brand-protection.js +214 -0
  97. package/lib/services/brand-protection.js.map +1 -0
  98. package/lib/services/browser-rendering.d.ts +857 -0
  99. package/lib/services/browser-rendering.d.ts.map +1 -0
  100. package/lib/services/browser-rendering.js +1141 -0
  101. package/lib/services/browser-rendering.js.map +1 -0
  102. package/lib/services/cache.d.ts +287 -0
  103. package/lib/services/cache.d.ts.map +1 -0
  104. package/lib/services/cache.js +330 -0
  105. package/lib/services/cache.js.map +1 -0
  106. package/lib/services/calls.d.ts +202 -0
  107. package/lib/services/calls.d.ts.map +1 -0
  108. package/lib/services/calls.js +175 -0
  109. package/lib/services/calls.js.map +1 -0
  110. package/lib/services/certificate-authorities.d.ts +40 -0
  111. package/lib/services/certificate-authorities.d.ts.map +1 -0
  112. package/lib/services/certificate-authorities.js +49 -0
  113. package/lib/services/certificate-authorities.js.map +1 -0
  114. package/lib/services/client-certificates.d.ts +254 -0
  115. package/lib/services/client-certificates.d.ts.map +1 -0
  116. package/lib/services/client-certificates.js +350 -0
  117. package/lib/services/client-certificates.js.map +1 -0
  118. package/lib/services/cloud-connector.d.ts +59 -0
  119. package/lib/services/cloud-connector.d.ts.map +1 -0
  120. package/lib/services/cloud-connector.js +84 -0
  121. package/lib/services/cloud-connector.js.map +1 -0
  122. package/lib/services/cloudforce-one.d.ts +1318 -0
  123. package/lib/services/cloudforce-one.d.ts.map +1 -0
  124. package/lib/services/cloudforce-one.js +1684 -0
  125. package/lib/services/cloudforce-one.js.map +1 -0
  126. package/lib/services/connectivity.d.ts +248 -0
  127. package/lib/services/connectivity.d.ts.map +1 -0
  128. package/lib/services/connectivity.js +377 -0
  129. package/lib/services/connectivity.js.map +1 -0
  130. package/lib/services/content-scanning.d.ts +131 -0
  131. package/lib/services/content-scanning.d.ts.map +1 -0
  132. package/lib/services/content-scanning.js +156 -0
  133. package/lib/services/content-scanning.js.map +1 -0
  134. package/lib/services/custom-certificates.d.ts +211 -0
  135. package/lib/services/custom-certificates.d.ts.map +1 -0
  136. package/lib/services/custom-certificates.js +309 -0
  137. package/lib/services/custom-certificates.js.map +1 -0
  138. package/lib/services/custom-hostnames.d.ts +525 -0
  139. package/lib/services/custom-hostnames.d.ts.map +1 -0
  140. package/lib/services/custom-hostnames.js +1164 -0
  141. package/lib/services/custom-hostnames.js.map +1 -0
  142. package/lib/services/custom-nameservers.d.ts +67 -0
  143. package/lib/services/custom-nameservers.d.ts.map +1 -0
  144. package/lib/services/custom-nameservers.js +80 -0
  145. package/lib/services/custom-nameservers.js.map +1 -0
  146. package/lib/services/custom-pages.d.ts +74 -0
  147. package/lib/services/custom-pages.d.ts.map +1 -0
  148. package/lib/services/custom-pages.js +125 -0
  149. package/lib/services/custom-pages.js.map +1 -0
  150. package/lib/services/d1.d.ts +326 -0
  151. package/lib/services/d1.d.ts.map +1 -0
  152. package/lib/services/d1.js +448 -0
  153. package/lib/services/d1.js.map +1 -0
  154. package/lib/services/dcv-delegation.d.ts +24 -0
  155. package/lib/services/dcv-delegation.d.ts.map +1 -0
  156. package/lib/services/dcv-delegation.js +24 -0
  157. package/lib/services/dcv-delegation.js.map +1 -0
  158. package/lib/services/diagnostics.d.ts +175 -0
  159. package/lib/services/diagnostics.d.ts.map +1 -0
  160. package/lib/services/diagnostics.js +273 -0
  161. package/lib/services/diagnostics.js.map +1 -0
  162. package/lib/services/dns-firewall.d.ts +288 -0
  163. package/lib/services/dns-firewall.d.ts.map +1 -0
  164. package/lib/services/dns-firewall.js +373 -0
  165. package/lib/services/dns-firewall.js.map +1 -0
  166. package/lib/services/dns.d.ts +2946 -0
  167. package/lib/services/dns.d.ts.map +1 -0
  168. package/lib/services/dns.js +4511 -0
  169. package/lib/services/dns.js.map +1 -0
  170. package/lib/services/durable-objects.d.ts +61 -0
  171. package/lib/services/durable-objects.d.ts.map +1 -0
  172. package/lib/services/durable-objects.js +66 -0
  173. package/lib/services/durable-objects.js.map +1 -0
  174. package/lib/services/email-routing.d.ts +542 -0
  175. package/lib/services/email-routing.d.ts.map +1 -0
  176. package/lib/services/email-routing.js +662 -0
  177. package/lib/services/email-routing.js.map +1 -0
  178. package/lib/services/email-security.d.ts +1131 -0
  179. package/lib/services/email-security.d.ts.map +1 -0
  180. package/lib/services/email-security.js +2065 -0
  181. package/lib/services/email-security.js.map +1 -0
  182. package/lib/services/filters.d.ts +157 -0
  183. package/lib/services/filters.d.ts.map +1 -0
  184. package/lib/services/filters.js +135 -0
  185. package/lib/services/filters.js.map +1 -0
  186. package/lib/services/firewall.d.ts +1080 -0
  187. package/lib/services/firewall.d.ts.map +1 -0
  188. package/lib/services/firewall.js +1881 -0
  189. package/lib/services/firewall.js.map +1 -0
  190. package/lib/services/healthchecks.d.ts +464 -0
  191. package/lib/services/healthchecks.d.ts.map +1 -0
  192. package/lib/services/healthchecks.js +838 -0
  193. package/lib/services/healthchecks.js.map +1 -0
  194. package/lib/services/hostnames.d.ts +74 -0
  195. package/lib/services/hostnames.d.ts.map +1 -0
  196. package/lib/services/hostnames.js +100 -0
  197. package/lib/services/hostnames.js.map +1 -0
  198. package/lib/services/hyperdrive.d.ts +203 -0
  199. package/lib/services/hyperdrive.d.ts.map +1 -0
  200. package/lib/services/hyperdrive.js +299 -0
  201. package/lib/services/hyperdrive.js.map +1 -0
  202. package/lib/services/iam.d.ts +554 -0
  203. package/lib/services/iam.d.ts.map +1 -0
  204. package/lib/services/iam.js +743 -0
  205. package/lib/services/iam.js.map +1 -0
  206. package/lib/services/images.d.ts +403 -0
  207. package/lib/services/images.d.ts.map +1 -0
  208. package/lib/services/images.js +417 -0
  209. package/lib/services/images.js.map +1 -0
  210. package/lib/services/intel.d.ts +768 -0
  211. package/lib/services/intel.d.ts.map +1 -0
  212. package/lib/services/intel.js +1179 -0
  213. package/lib/services/intel.js.map +1 -0
  214. package/lib/services/ips.d.ts +28 -0
  215. package/lib/services/ips.d.ts.map +1 -0
  216. package/lib/services/ips.js +39 -0
  217. package/lib/services/ips.js.map +1 -0
  218. package/lib/services/keyless-certificates.d.ts +177 -0
  219. package/lib/services/keyless-certificates.d.ts.map +1 -0
  220. package/lib/services/keyless-certificates.js +216 -0
  221. package/lib/services/keyless-certificates.js.map +1 -0
  222. package/lib/services/kv.d.ts +339 -0
  223. package/lib/services/kv.d.ts.map +1 -0
  224. package/lib/services/kv.js +402 -0
  225. package/lib/services/kv.js.map +1 -0
  226. package/lib/services/leaked-credential-checks.d.ts +119 -0
  227. package/lib/services/leaked-credential-checks.d.ts.map +1 -0
  228. package/lib/services/leaked-credential-checks.js +130 -0
  229. package/lib/services/leaked-credential-checks.js.map +1 -0
  230. package/lib/services/load-balancers.d.ts +1767 -0
  231. package/lib/services/load-balancers.d.ts.map +1 -0
  232. package/lib/services/load-balancers.js +3068 -0
  233. package/lib/services/load-balancers.js.map +1 -0
  234. package/lib/services/logpush.d.ts +401 -0
  235. package/lib/services/logpush.d.ts.map +1 -0
  236. package/lib/services/logpush.js +724 -0
  237. package/lib/services/logpush.js.map +1 -0
  238. package/lib/services/logs.d.ts +125 -0
  239. package/lib/services/logs.d.ts.map +1 -0
  240. package/lib/services/logs.js +145 -0
  241. package/lib/services/logs.js.map +1 -0
  242. package/lib/services/magic-cloud-networking.d.ts +1599 -0
  243. package/lib/services/magic-cloud-networking.d.ts.map +1 -0
  244. package/lib/services/magic-cloud-networking.js +5205 -0
  245. package/lib/services/magic-cloud-networking.js.map +1 -0
  246. package/lib/services/magic-network-monitoring.d.ts +379 -0
  247. package/lib/services/magic-network-monitoring.d.ts.map +1 -0
  248. package/lib/services/magic-network-monitoring.js +535 -0
  249. package/lib/services/magic-network-monitoring.js.map +1 -0
  250. package/lib/services/magic-transit.d.ts +3650 -0
  251. package/lib/services/magic-transit.d.ts.map +1 -0
  252. package/lib/services/magic-transit.js +6120 -0
  253. package/lib/services/magic-transit.js.map +1 -0
  254. package/lib/services/managed-transforms.d.ts +79 -0
  255. package/lib/services/managed-transforms.d.ts.map +1 -0
  256. package/lib/services/managed-transforms.js +107 -0
  257. package/lib/services/managed-transforms.js.map +1 -0
  258. package/lib/services/memberships.d.ts +172 -0
  259. package/lib/services/memberships.d.ts.map +1 -0
  260. package/lib/services/memberships.js +282 -0
  261. package/lib/services/memberships.js.map +1 -0
  262. package/lib/services/mtls-certificates.d.ts +140 -0
  263. package/lib/services/mtls-certificates.d.ts.map +1 -0
  264. package/lib/services/mtls-certificates.js +173 -0
  265. package/lib/services/mtls-certificates.js.map +1 -0
  266. package/lib/services/network-interconnects.d.ts +410 -0
  267. package/lib/services/network-interconnects.d.ts.map +1 -0
  268. package/lib/services/network-interconnects.js +583 -0
  269. package/lib/services/network-interconnects.js.map +1 -0
  270. package/lib/services/organizations.d.ts +201 -0
  271. package/lib/services/organizations.d.ts.map +1 -0
  272. package/lib/services/organizations.js +355 -0
  273. package/lib/services/organizations.js.map +1 -0
  274. package/lib/services/origin-ca-certificates.d.ts +99 -0
  275. package/lib/services/origin-ca-certificates.d.ts.map +1 -0
  276. package/lib/services/origin-ca-certificates.js +156 -0
  277. package/lib/services/origin-ca-certificates.js.map +1 -0
  278. package/lib/services/origin-post-quantum-encryption.d.ts +50 -0
  279. package/lib/services/origin-post-quantum-encryption.d.ts.map +1 -0
  280. package/lib/services/origin-post-quantum-encryption.js +60 -0
  281. package/lib/services/origin-post-quantum-encryption.js.map +1 -0
  282. package/lib/services/origin-tls-client-auth.d.ts +273 -0
  283. package/lib/services/origin-tls-client-auth.d.ts.map +1 -0
  284. package/lib/services/origin-tls-client-auth.js +401 -0
  285. package/lib/services/origin-tls-client-auth.js.map +1 -0
  286. package/lib/services/page-rules.d.ts +773 -0
  287. package/lib/services/page-rules.d.ts.map +1 -0
  288. package/lib/services/page-rules.js +1365 -0
  289. package/lib/services/page-rules.js.map +1 -0
  290. package/lib/services/page-shield.d.ts +426 -0
  291. package/lib/services/page-shield.d.ts.map +1 -0
  292. package/lib/services/page-shield.js +484 -0
  293. package/lib/services/page-shield.js.map +1 -0
  294. package/lib/services/pages.d.ts +1654 -0
  295. package/lib/services/pages.d.ts.map +1 -0
  296. package/lib/services/pages.js +2954 -0
  297. package/lib/services/pages.js.map +1 -0
  298. package/lib/services/pipelines.d.ts +1461 -0
  299. package/lib/services/pipelines.d.ts.map +1 -0
  300. package/lib/services/pipelines.js +2912 -0
  301. package/lib/services/pipelines.js.map +1 -0
  302. package/lib/services/queues.d.ts +807 -0
  303. package/lib/services/queues.d.ts.map +1 -0
  304. package/lib/services/queues.js +1194 -0
  305. package/lib/services/queues.js.map +1 -0
  306. package/lib/services/r2-data-catalog.d.ts +341 -0
  307. package/lib/services/r2-data-catalog.d.ts.map +1 -0
  308. package/lib/services/r2-data-catalog.js +499 -0
  309. package/lib/services/r2-data-catalog.js.map +1 -0
  310. package/lib/services/r2.d.ts +1041 -0
  311. package/lib/services/r2.d.ts.map +1 -0
  312. package/lib/services/r2.js +1384 -0
  313. package/lib/services/r2.js.map +1 -0
  314. package/lib/services/radar.d.ts +9276 -0
  315. package/lib/services/radar.d.ts.map +1 -0
  316. package/lib/services/radar.js +20491 -0
  317. package/lib/services/radar.js.map +1 -0
  318. package/lib/services/rate-limits.d.ts +315 -0
  319. package/lib/services/rate-limits.d.ts.map +1 -0
  320. package/lib/services/rate-limits.js +521 -0
  321. package/lib/services/rate-limits.js.map +1 -0
  322. package/lib/services/realtime-kit.d.ts +2728 -0
  323. package/lib/services/realtime-kit.d.ts.map +1 -0
  324. package/lib/services/realtime-kit.js +5401 -0
  325. package/lib/services/realtime-kit.js.map +1 -0
  326. package/lib/services/registrar.d.ts +81 -0
  327. package/lib/services/registrar.d.ts.map +1 -0
  328. package/lib/services/registrar.js +154 -0
  329. package/lib/services/registrar.js.map +1 -0
  330. package/lib/services/request-tracers.d.ts +61 -0
  331. package/lib/services/request-tracers.d.ts.map +1 -0
  332. package/lib/services/request-tracers.js +82 -0
  333. package/lib/services/request-tracers.js.map +1 -0
  334. package/lib/services/resource-sharing.d.ts +540 -0
  335. package/lib/services/resource-sharing.d.ts.map +1 -0
  336. package/lib/services/resource-sharing.js +846 -0
  337. package/lib/services/resource-sharing.js.map +1 -0
  338. package/lib/services/rules.d.ts +297 -0
  339. package/lib/services/rules.d.ts.map +1 -0
  340. package/lib/services/rules.js +396 -0
  341. package/lib/services/rules.js.map +1 -0
  342. package/lib/services/rulesets.d.ts +3300 -0
  343. package/lib/services/rulesets.d.ts.map +1 -0
  344. package/lib/services/rulesets.js +7852 -0
  345. package/lib/services/rulesets.js.map +1 -0
  346. package/lib/services/rum.d.ts +289 -0
  347. package/lib/services/rum.d.ts.map +1 -0
  348. package/lib/services/rum.js +409 -0
  349. package/lib/services/rum.js.map +1 -0
  350. package/lib/services/schema-validation.d.ts +240 -0
  351. package/lib/services/schema-validation.d.ts.map +1 -0
  352. package/lib/services/schema-validation.js +306 -0
  353. package/lib/services/schema-validation.js.map +1 -0
  354. package/lib/services/secrets-store.d.ts +321 -0
  355. package/lib/services/secrets-store.d.ts.map +1 -0
  356. package/lib/services/secrets-store.js +385 -0
  357. package/lib/services/secrets-store.js.map +1 -0
  358. package/lib/services/security-center.d.ts +102 -0
  359. package/lib/services/security-center.d.ts.map +1 -0
  360. package/lib/services/security-center.js +170 -0
  361. package/lib/services/security-center.js.map +1 -0
  362. package/lib/services/security-txt.d.ts +105 -0
  363. package/lib/services/security-txt.d.ts.map +1 -0
  364. package/lib/services/security-txt.js +136 -0
  365. package/lib/services/security-txt.js.map +1 -0
  366. package/lib/services/snippets.d.ts +138 -0
  367. package/lib/services/snippets.d.ts.map +1 -0
  368. package/lib/services/snippets.js +178 -0
  369. package/lib/services/snippets.js.map +1 -0
  370. package/lib/services/spectrum.d.ts +316 -0
  371. package/lib/services/spectrum.d.ts.map +1 -0
  372. package/lib/services/spectrum.js +510 -0
  373. package/lib/services/spectrum.js.map +1 -0
  374. package/lib/services/speed.d.ts +227 -0
  375. package/lib/services/speed.d.ts.map +1 -0
  376. package/lib/services/speed.js +444 -0
  377. package/lib/services/speed.js.map +1 -0
  378. package/lib/services/ssl.d.ts +370 -0
  379. package/lib/services/ssl.d.ts.map +1 -0
  380. package/lib/services/ssl.js +732 -0
  381. package/lib/services/ssl.js.map +1 -0
  382. package/lib/services/stream.d.ts +1014 -0
  383. package/lib/services/stream.d.ts.map +1 -0
  384. package/lib/services/stream.js +1049 -0
  385. package/lib/services/stream.js.map +1 -0
  386. package/lib/services/token-validation.d.ts +547 -0
  387. package/lib/services/token-validation.d.ts.map +1 -0
  388. package/lib/services/token-validation.js +768 -0
  389. package/lib/services/token-validation.js.map +1 -0
  390. package/lib/services/turnstile.d.ts +248 -0
  391. package/lib/services/turnstile.d.ts.map +1 -0
  392. package/lib/services/turnstile.js +308 -0
  393. package/lib/services/turnstile.js.map +1 -0
  394. package/lib/services/url-normalization.d.ts +53 -0
  395. package/lib/services/url-normalization.d.ts.map +1 -0
  396. package/lib/services/url-normalization.js +52 -0
  397. package/lib/services/url-normalization.js.map +1 -0
  398. package/lib/services/url-scanner.d.ts +612 -0
  399. package/lib/services/url-scanner.d.ts.map +1 -0
  400. package/lib/services/url-scanner.js +915 -0
  401. package/lib/services/url-scanner.js.map +1 -0
  402. package/lib/services/user.d.ts +441 -0
  403. package/lib/services/user.d.ts.map +1 -0
  404. package/lib/services/user.js +567 -0
  405. package/lib/services/user.js.map +1 -0
  406. package/lib/services/vectorize.d.ts +282 -0
  407. package/lib/services/vectorize.d.ts.map +1 -0
  408. package/lib/services/vectorize.js +340 -0
  409. package/lib/services/vectorize.js.map +1 -0
  410. package/lib/services/waiting-rooms.d.ts +1009 -0
  411. package/lib/services/waiting-rooms.d.ts.map +1 -0
  412. package/lib/services/waiting-rooms.js +1757 -0
  413. package/lib/services/waiting-rooms.js.map +1 -0
  414. package/lib/services/web3.d.ts +274 -0
  415. package/lib/services/web3.d.ts.map +1 -0
  416. package/lib/services/web3.js +362 -0
  417. package/lib/services/web3.js.map +1 -0
  418. package/lib/services/workers-for-platforms.d.ts +1224 -0
  419. package/lib/services/workers-for-platforms.d.ts.map +1 -0
  420. package/lib/services/workers-for-platforms.js +2078 -0
  421. package/lib/services/workers-for-platforms.js.map +1 -0
  422. package/lib/services/workers.d.ts +3498 -0
  423. package/lib/services/workers.d.ts.map +1 -0
  424. package/lib/services/workers.js +5967 -0
  425. package/lib/services/workers.js.map +1 -0
  426. package/lib/services/workflows.d.ts +359 -0
  427. package/lib/services/workflows.d.ts.map +1 -0
  428. package/lib/services/workflows.js +516 -0
  429. package/lib/services/workflows.js.map +1 -0
  430. package/lib/services/zaraz.d.ts +300 -0
  431. package/lib/services/zaraz.d.ts.map +1 -0
  432. package/lib/services/zaraz.js +298 -0
  433. package/lib/services/zaraz.js.map +1 -0
  434. package/lib/services/zero-trust.d.ts +15449 -0
  435. package/lib/services/zero-trust.d.ts.map +1 -0
  436. package/lib/services/zero-trust.js +29194 -0
  437. package/lib/services/zero-trust.js.map +1 -0
  438. package/lib/services/zones.d.ts +1278 -0
  439. package/lib/services/zones.d.ts.map +1 -0
  440. package/lib/services/zones.js +2416 -0
  441. package/lib/services/zones.js.map +1 -0
  442. package/lib/traits.d.ts +28 -0
  443. package/lib/traits.d.ts.map +1 -0
  444. package/lib/traits.js +26 -0
  445. package/lib/traits.js.map +1 -0
  446. package/package.json +68 -5
  447. package/src/auth.ts +14 -0
  448. package/src/category.ts +1 -0
  449. package/src/client/api.ts +329 -0
  450. package/src/client/index.ts +7 -0
  451. package/src/credentials.ts +30 -0
  452. package/src/errors.ts +57 -0
  453. package/src/index.ts +9 -0
  454. package/src/retry.ts +35 -0
  455. package/src/schemas.ts +51 -0
  456. package/src/services/abuse-reports.ts +747 -0
  457. package/src/services/accounts.ts +1947 -0
  458. package/src/services/acm.ts +170 -0
  459. package/src/services/addressing.ts +3947 -0
  460. package/src/services/ai-gateway.ts +3335 -0
  461. package/src/services/ai.ts +727 -0
  462. package/src/services/aisearch.ts +4750 -0
  463. package/src/services/alerting.ts +2947 -0
  464. package/src/services/api-gateway.ts +3391 -0
  465. package/src/services/argo.ts +254 -0
  466. package/src/services/audit-logs.ts +90 -0
  467. package/src/services/billing.ts +172 -0
  468. package/src/services/bot-management.ts +541 -0
  469. package/src/services/botnet-feed.ts +193 -0
  470. package/src/services/brand-protection.ts +553 -0
  471. package/src/services/browser-rendering.ts +2707 -0
  472. package/src/services/cache.ts +827 -0
  473. package/src/services/calls.ts +483 -0
  474. package/src/services/certificate-authorities.ts +110 -0
  475. package/src/services/client-certificates.ts +718 -0
  476. package/src/services/cloud-connector.ts +181 -0
  477. package/src/services/cloudforce-one.ts +3876 -0
  478. package/src/services/connectivity.ts +629 -0
  479. package/src/services/content-scanning.ts +385 -0
  480. package/src/services/custom-certificates.ts +611 -0
  481. package/src/services/custom-hostnames.ts +2453 -0
  482. package/src/services/custom-nameservers.ts +182 -0
  483. package/src/services/custom-pages.ts +264 -0
  484. package/src/services/d1.ts +1034 -0
  485. package/src/services/dcv-delegation.ts +52 -0
  486. package/src/services/diagnostics.ts +603 -0
  487. package/src/services/dns-firewall.ts +823 -0
  488. package/src/services/dns.ts +8897 -0
  489. package/src/services/durable-objects.ts +148 -0
  490. package/src/services/email-routing.ts +1602 -0
  491. package/src/services/email-security.ts +4283 -0
  492. package/src/services/filters.ts +370 -0
  493. package/src/services/firewall.ts +3896 -0
  494. package/src/services/healthchecks.ts +1750 -0
  495. package/src/services/hostnames.ts +218 -0
  496. package/src/services/hyperdrive.ts +592 -0
  497. package/src/services/iam.ts +1668 -0
  498. package/src/services/images.ts +1086 -0
  499. package/src/services/intel.ts +2768 -0
  500. package/src/services/ips.ts +88 -0
  501. package/src/services/keyless-certificates.ts +462 -0
  502. package/src/services/kv.ts +1011 -0
  503. package/src/services/leaked-credential-checks.ts +325 -0
  504. package/src/services/load-balancers.ts +6438 -0
  505. package/src/services/logpush.ts +1667 -0
  506. package/src/services/logs.ts +375 -0
  507. package/src/services/magic-cloud-networking.ts +10020 -0
  508. package/src/services/magic-network-monitoring.ts +1156 -0
  509. package/src/services/magic-transit.ts +13050 -0
  510. package/src/services/managed-transforms.ts +237 -0
  511. package/src/services/memberships.ts +615 -0
  512. package/src/services/mtls-certificates.ts +374 -0
  513. package/src/services/network-interconnects.ts +1253 -0
  514. package/src/services/organizations.ts +674 -0
  515. package/src/services/origin-ca-certificates.ts +303 -0
  516. package/src/services/origin-post-quantum-encryption.ts +128 -0
  517. package/src/services/origin-tls-client-auth.ts +878 -0
  518. package/src/services/page-rules.ts +2612 -0
  519. package/src/services/page-shield.ts +1195 -0
  520. package/src/services/pages.ts +5709 -0
  521. package/src/services/pipelines.ts +6000 -0
  522. package/src/services/queues.ts +2629 -0
  523. package/src/services/r2-data-catalog.ts +1119 -0
  524. package/src/services/r2.ts +3348 -0
  525. package/src/services/radar.ts +42152 -0
  526. package/src/services/rate-limits.ts +1150 -0
  527. package/src/services/realtime-kit.ts +11079 -0
  528. package/src/services/registrar.ts +295 -0
  529. package/src/services/request-tracers.ts +158 -0
  530. package/src/services/resource-sharing.ts +1832 -0
  531. package/src/services/rules.ts +837 -0
  532. package/src/services/rulesets.ts +15144 -0
  533. package/src/services/rum.ts +901 -0
  534. package/src/services/schema-validation.ts +733 -0
  535. package/src/services/secrets-store.ts +860 -0
  536. package/src/services/security-center.ts +397 -0
  537. package/src/services/security-txt.ts +315 -0
  538. package/src/services/snippets.ts +420 -0
  539. package/src/services/spectrum.ts +1103 -0
  540. package/src/services/speed.ts +1056 -0
  541. package/src/services/ssl.ts +1587 -0
  542. package/src/services/stream.ts +2756 -0
  543. package/src/services/token-validation.ts +1585 -0
  544. package/src/services/turnstile.ts +643 -0
  545. package/src/services/url-normalization.ts +129 -0
  546. package/src/services/url-scanner.ts +1851 -0
  547. package/src/services/user.ts +1384 -0
  548. package/src/services/vectorize.ts +816 -0
  549. package/src/services/waiting-rooms.ts +3807 -0
  550. package/src/services/web3.ts +834 -0
  551. package/src/services/workers-for-platforms.ts +3859 -0
  552. package/src/services/workers.ts +11637 -0
  553. package/src/services/workflows.ts +1124 -0
  554. package/src/services/zaraz.ts +797 -0
  555. package/src/services/zero-trust.ts +58929 -0
  556. package/src/services/zones.ts +4875 -0
  557. package/src/traits.ts +47 -0
  558. package/bun.lock +0 -26
  559. package/index.ts +0 -1
  560. package/tsconfig.json +0 -29
@@ -0,0 +1,329 @@
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 * as AST from "effect/SchemaAST";
11
+ import {
12
+ makeAPI,
13
+ type ApiErrorClass,
14
+ type OperationMethod,
15
+ type PaginatedOperationMethod,
16
+ } from "@distilled.cloud/core/client";
17
+ import {
18
+ CloudflareHttpError,
19
+ HTTP_STATUS_MAP,
20
+ InternalServerError,
21
+ TooManyRequests,
22
+ UnknownCloudflareError,
23
+ } from "../errors.ts";
24
+ import { Credentials } from "../credentials.ts";
25
+ import { type ErrorMatcher, getErrorMatchers } from "../traits.ts";
26
+
27
+ // ============================================================================
28
+ // Global Cloudflare error codes
29
+ // ============================================================================
30
+
31
+ /**
32
+ * Cloudflare error codes that map to global/default errors regardless of operation.
33
+ * These are infrastructure-level errors that can occur on any endpoint.
34
+ */
35
+ const GLOBAL_ERROR_CODE_MAP: Record<number, (message: string) => unknown> = {
36
+ // "Please wait and consider throttling your request speed"
37
+ 971: (message) => new TooManyRequests({ message }),
38
+ };
39
+
40
+ /**
41
+ * Create an appropriate error for an HTTP status code.
42
+ *
43
+ * For status codes in HTTP_STATUS_MAP (400, 401, 500, 502, 503, 504, etc.),
44
+ * returns the properly categorized error (with retry categories for 5xx).
45
+ * For unmapped 5xx codes (e.g., Cloudflare-specific 520-530), returns a
46
+ * CloudflareHttpError so the status is preserved.
47
+ */
48
+ function httpStatusError(status: number, body?: string): unknown {
49
+ const ErrorClass = HTTP_STATUS_MAP[status as keyof typeof HTTP_STATUS_MAP];
50
+ if (ErrorClass) {
51
+ return new ErrorClass({ message: body ?? String(status) });
52
+ }
53
+ // For unmapped 5xx codes (e.g., Cloudflare-specific 520-530), use
54
+ // InternalServerError so they get ServerError + Retryable categories
55
+ if (status >= 500) {
56
+ return new InternalServerError({ message: body ?? String(status) });
57
+ }
58
+ return new CloudflareHttpError({
59
+ status,
60
+ statusText: String(status),
61
+ body,
62
+ });
63
+ }
64
+
65
+ export type { OperationMethod, PaginatedOperationMethod };
66
+
67
+ // ============================================================================
68
+ // Error matching
69
+ // ============================================================================
70
+
71
+ /**
72
+ * Extract the _tag literal value from a TaggedError schema AST.
73
+ */
74
+ function extractTagFromAst(ast: AST.AST): string | undefined {
75
+ if (ast.encoding && ast.encoding.length > 0) {
76
+ return extractTagFromAst(ast.encoding[0].to);
77
+ }
78
+ if (ast._tag === "Objects") {
79
+ const tagProp = ast.propertySignatures.find(
80
+ (p: { name: PropertyKey }) => p.name === "_tag",
81
+ );
82
+ if (
83
+ tagProp &&
84
+ tagProp.type._tag === "Literal" &&
85
+ typeof tagProp.type.literal === "string"
86
+ ) {
87
+ return tagProp.type.literal;
88
+ }
89
+ }
90
+ return undefined;
91
+ }
92
+
93
+ /**
94
+ * Check if an error matches an expression-based matcher.
95
+ */
96
+ function matchesExpression(
97
+ matcher: ErrorMatcher,
98
+ code: number | undefined,
99
+ status: number,
100
+ message: string,
101
+ ): boolean {
102
+ if (matcher.code === undefined && matcher.status === undefined) return false;
103
+ if (matcher.code !== undefined && matcher.code !== code) return false;
104
+ if (matcher.status !== undefined && matcher.status !== status) return false;
105
+ if (matcher.message !== undefined) {
106
+ if (typeof matcher.message === "string") {
107
+ if (matcher.message !== message) return false;
108
+ } else if (matcher.message.includes !== undefined) {
109
+ if (!message.includes(matcher.message.includes)) return false;
110
+ }
111
+ }
112
+ return true;
113
+ }
114
+
115
+ /**
116
+ * Calculate specificity score for a matcher.
117
+ */
118
+ function matcherSpecificity(matcher: ErrorMatcher): number {
119
+ let score = 0;
120
+ if (matcher.code !== undefined) score += 1;
121
+ if (matcher.status !== undefined) score += 1;
122
+ if (matcher.message !== undefined) score += 1;
123
+ return score;
124
+ }
125
+
126
+ interface MatchedError {
127
+ schema: Schema.Top;
128
+ tag: string;
129
+ }
130
+
131
+ /**
132
+ * Find matching error schema using annotations from the schema AST.
133
+ */
134
+ function findMatchingError(
135
+ errorSchemas: Map<string, Schema.Top>,
136
+ code: number | undefined,
137
+ status: number,
138
+ message: string,
139
+ ): MatchedError | undefined {
140
+ let bestMatch: MatchedError | undefined;
141
+ let bestScore = 0;
142
+
143
+ for (const [name, schema] of errorSchemas) {
144
+ const ast = schema.ast;
145
+ const matchers = getErrorMatchers(ast);
146
+ if (!matchers || matchers.length === 0) continue;
147
+
148
+ for (const matcher of matchers) {
149
+ if (matchesExpression(matcher, code, status, message)) {
150
+ const score = matcherSpecificity(matcher);
151
+ if (score > bestScore) {
152
+ bestScore = score;
153
+ bestMatch = { schema, tag: name };
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ return bestMatch;
160
+ }
161
+
162
+ /**
163
+ * Match a Cloudflare API error response using per-operation error schemas.
164
+ */
165
+ const matchError = (
166
+ status: number,
167
+ errorBody: unknown,
168
+ errors?: readonly ApiErrorClass[],
169
+ ): Effect.Effect<never, unknown> => {
170
+ // Handle non-JSON error responses (e.g., HTML from malformed URLs, 520 pages)
171
+ const isNonJsonError =
172
+ typeof errorBody === "object" &&
173
+ errorBody !== null &&
174
+ "_nonJsonError" in errorBody;
175
+ if (isNonJsonError) {
176
+ // For 5xx errors, return a properly categorized error so retries work
177
+ if (status >= 500) {
178
+ return Effect.fail(
179
+ httpStatusError(status, String((errorBody as any).body)),
180
+ );
181
+ }
182
+ return Effect.fail(
183
+ new CloudflareHttpError({
184
+ status,
185
+ statusText: String(status),
186
+ body: String((errorBody as any).body),
187
+ }),
188
+ );
189
+ }
190
+
191
+ // Parse the Cloudflare error envelope
192
+ const envelope =
193
+ typeof errorBody === "object" && errorBody !== null ? errorBody : undefined;
194
+ const cfErrors =
195
+ envelope && "errors" in envelope && Array.isArray((envelope as any).errors)
196
+ ? ((envelope as any).errors as Array<{
197
+ code?: number;
198
+ message?: string;
199
+ }>)
200
+ : undefined;
201
+ const firstError = cfErrors?.[0];
202
+ // Cloudflare sometimes omits the code field entirely (e.g., webhook errors).
203
+ // Treat missing code as 0 (the default) so matchers with { code: 0 } can match.
204
+ const errorCode =
205
+ firstError && typeof firstError.code === "number"
206
+ ? firstError.code
207
+ : firstError
208
+ ? 0
209
+ : undefined;
210
+ const errorMessage = firstError?.message ?? String(status);
211
+
212
+ // Check if this is a valid Cloudflare envelope (has success field)
213
+ const isEnvelope =
214
+ envelope && "success" in envelope && (envelope as any).success === false;
215
+
216
+ if (!isEnvelope) {
217
+ // Not a Cloudflare envelope — HTTP-level error
218
+ // For 5xx errors, return a properly categorized error so retries work
219
+ const bodyStr =
220
+ typeof errorBody === "string" ? errorBody : JSON.stringify(errorBody);
221
+ if (status >= 500) {
222
+ return Effect.fail(httpStatusError(status, bodyStr));
223
+ }
224
+ return Effect.fail(
225
+ new CloudflareHttpError({
226
+ status,
227
+ statusText: String(status),
228
+ body: bodyStr,
229
+ }),
230
+ );
231
+ }
232
+
233
+ // Build error schema map from the per-operation errors
234
+ if (errors && errors.length > 0) {
235
+ const errorSchemas = new Map<string, Schema.Top>();
236
+ for (const errorSchema of errors) {
237
+ const identifier = extractTagFromAst(
238
+ (errorSchema as unknown as Schema.Top).ast,
239
+ );
240
+ if (identifier) {
241
+ errorSchemas.set(identifier, errorSchema as unknown as Schema.Top);
242
+ }
243
+ }
244
+
245
+ const matched = findMatchingError(
246
+ errorSchemas,
247
+ errorCode,
248
+ status,
249
+ errorMessage,
250
+ );
251
+
252
+ if (matched) {
253
+ // Decode using the schema - properly instantiates TaggedError classes
254
+ const errorData = {
255
+ _tag: matched.tag,
256
+ code: errorCode ?? 0,
257
+ message: errorMessage,
258
+ };
259
+ return Schema.decodeUnknownEffect(matched.schema)(errorData).pipe(
260
+ Effect.flatMap((decoded: unknown) => Effect.fail(decoded)),
261
+ Effect.catchIf(
262
+ (e: unknown) =>
263
+ typeof e === "object" &&
264
+ e !== null &&
265
+ "_tag" in e &&
266
+ (e as any)._tag === "SchemaError",
267
+ () =>
268
+ Effect.fail(
269
+ new UnknownCloudflareError({
270
+ code: errorCode,
271
+ message: errorMessage,
272
+ }),
273
+ ),
274
+ ),
275
+ ) as Effect.Effect<never, unknown>;
276
+ }
277
+ }
278
+
279
+ // Check global error codes before falling through to unknown
280
+ if (errorCode !== undefined && errorCode in GLOBAL_ERROR_CODE_MAP) {
281
+ return Effect.fail(GLOBAL_ERROR_CODE_MAP[errorCode](errorMessage));
282
+ }
283
+
284
+ // No match — return unknown Cloudflare error
285
+ return Effect.fail(
286
+ new UnknownCloudflareError({
287
+ code: errorCode,
288
+ message: errorMessage,
289
+ }),
290
+ );
291
+ };
292
+
293
+ /**
294
+ * Wrap schema decode failures as CloudflareHttpError to match the original's behavior.
295
+ * The original project maps all decode errors to CloudflareHttpError (not a separate parse error type).
296
+ */
297
+ class CloudflareDecodeError extends CloudflareHttpError {
298
+ constructor(props: { body: unknown; cause: unknown }) {
299
+ super({
300
+ status: 200,
301
+ statusText: "Schema decode failed",
302
+ body:
303
+ typeof props.body === "string"
304
+ ? props.body
305
+ : JSON.stringify(props.body),
306
+ });
307
+ }
308
+ }
309
+
310
+ const _API = makeAPI({
311
+ credentials: Credentials as any,
312
+ getBaseUrl: (creds: any) => creds.apiBaseUrl,
313
+ getAuthHeaders: (creds: any) => ({
314
+ Authorization: `Bearer ${creds.apiToken}`,
315
+ }),
316
+ matchError,
317
+ ParseError: CloudflareDecodeError as any,
318
+ transformResponse: (body: unknown) => {
319
+ // Cloudflare API wraps responses in { result: <data>, success, errors, messages }
320
+ if (typeof body === "object" && body !== null && "result" in body) {
321
+ // result: null is common for delete operations — treat as empty object
322
+ return (body as any).result ?? {};
323
+ }
324
+ return body;
325
+ },
326
+ });
327
+
328
+ export const make = _API.make;
329
+ export const makePaginated = _API.makePaginated;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Cloudflare API Client.
3
+ *
4
+ * Re-exports the API operations factory for use by generated services
5
+ * and by external consumers.
6
+ */
7
+ export * from "./api.ts";
@@ -0,0 +1,30 @@
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
+
6
+ export const DEFAULT_API_BASE_URL = "https://api.cloudflare.com/client/v4";
7
+
8
+ export interface Config {
9
+ readonly apiToken: string;
10
+ readonly apiBaseUrl: string;
11
+ }
12
+
13
+ export class Credentials extends ServiceMap.Service<Credentials, Config>()(
14
+ "CloudflareCredentials",
15
+ ) {}
16
+
17
+ export const CredentialsFromEnv = Layer.effect(
18
+ Credentials,
19
+ Effect.gen(function* () {
20
+ const apiToken = process.env.CLOUDFLARE_API_TOKEN;
21
+
22
+ if (!apiToken) {
23
+ return yield* new ConfigError({
24
+ message: "CLOUDFLARE_API_TOKEN environment variable is required",
25
+ });
26
+ }
27
+
28
+ return { apiToken, apiBaseUrl: DEFAULT_API_BASE_URL };
29
+ }),
30
+ );
package/src/errors.ts ADDED
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Cloudflare-specific error types.
3
+ */
4
+ export {
5
+ BadGateway,
6
+ BadRequest,
7
+ Conflict,
8
+ ConfigError,
9
+ Forbidden,
10
+ GatewayTimeout,
11
+ InternalServerError,
12
+ NotFound,
13
+ ServiceUnavailable,
14
+ TooManyRequests,
15
+ Unauthorized,
16
+ UnprocessableEntity,
17
+ HTTP_STATUS_MAP,
18
+ DEFAULT_ERRORS,
19
+ API_ERRORS,
20
+ } from "@distilled.cloud/core/errors";
21
+ export type { DefaultErrors } from "@distilled.cloud/core/errors";
22
+
23
+ import * as Schema from "effect/Schema";
24
+ import * as Category from "@distilled.cloud/core/category";
25
+
26
+ // Schema parse error wrapper
27
+ export class CloudflareParseError extends Schema.TaggedErrorClass<CloudflareParseError>()(
28
+ "CloudflareParseError",
29
+ {
30
+ body: Schema.Unknown,
31
+ cause: Schema.Unknown,
32
+ },
33
+ ).pipe(Category.withParseError) {}
34
+
35
+ /**
36
+ * Unknown Cloudflare error - returned when an error code is not recognized.
37
+ * Contains the raw error code for later cataloging.
38
+ */
39
+ export class UnknownCloudflareError extends Schema.TaggedErrorClass<UnknownCloudflareError>()(
40
+ "UnknownCloudflareError",
41
+ {
42
+ code: Schema.optional(Schema.Number),
43
+ message: Schema.String,
44
+ },
45
+ ) {}
46
+
47
+ /**
48
+ * HTTP error - non-2xx response without a parseable Cloudflare error body.
49
+ */
50
+ export class CloudflareHttpError extends Schema.TaggedErrorClass<CloudflareHttpError>()(
51
+ "CloudflareHttpError",
52
+ {
53
+ status: Schema.Number,
54
+ statusText: Schema.String,
55
+ body: Schema.optional(Schema.String),
56
+ },
57
+ ) {}
package/src/index.ts ADDED
@@ -0,0 +1,9 @@
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";
package/src/retry.ts ADDED
@@ -0,0 +1,35 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import * as ServiceMap from "effect/ServiceMap";
4
+ export {
5
+ type Options,
6
+ type Factory,
7
+ type Policy,
8
+ makeDefault,
9
+ jittered,
10
+ capped,
11
+ throttlingOptions,
12
+ transientOptions,
13
+ } from "@distilled.cloud/core/retry";
14
+ import {
15
+ type Policy,
16
+ throttlingOptions,
17
+ transientOptions,
18
+ } from "@distilled.cloud/core/retry";
19
+
20
+ export class Retry extends ServiceMap.Service<Retry, Policy>()(
21
+ "CloudflareRetry",
22
+ ) {}
23
+
24
+ export const policy = (optionsOrFactory: Policy) =>
25
+ Effect.provide(Layer.succeed(Retry, optionsOrFactory));
26
+
27
+ export const none = Effect.provide(
28
+ Layer.succeed(Retry, { while: () => false }),
29
+ );
30
+
31
+ /** Apply throttling retry policy (retries throttling errors indefinitely) */
32
+ export const throttling = policy(throttlingOptions);
33
+
34
+ /** Apply transient retry policy (retries all transient errors indefinitely) */
35
+ export const transient = policy(transientOptions);
package/src/schemas.ts ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Common schemas for Cloudflare API types.
3
+ *
4
+ * Includes file upload schemas for multipart form-data operations.
5
+ */
6
+
7
+ import * as Schema from "effect/Schema";
8
+
9
+ // =============================================================================
10
+ // File Upload Schemas
11
+ // =============================================================================
12
+
13
+ /**
14
+ * Schema for File objects (browser File API).
15
+ *
16
+ * Used for multipart form-data file uploads.
17
+ */
18
+ export const FileSchema = Schema.declare(
19
+ (input): input is File =>
20
+ typeof File !== "undefined" && input instanceof File,
21
+ {
22
+ identifier: "File",
23
+ description: "A File object for upload",
24
+ },
25
+ );
26
+
27
+ /**
28
+ * Schema for Blob objects.
29
+ *
30
+ * Used for binary data uploads.
31
+ */
32
+ export const BlobSchema = Schema.declare(
33
+ (input): input is Blob =>
34
+ typeof Blob !== "undefined" && input instanceof Blob,
35
+ {
36
+ identifier: "Blob",
37
+ description: "A Blob object for upload",
38
+ },
39
+ );
40
+
41
+ /**
42
+ * Schema for uploadable content (File or Blob).
43
+ *
44
+ * Accepts any file-like object that can be uploaded via multipart form.
45
+ */
46
+ export const UploadableSchema = Schema.Union([FileSchema, BlobSchema]);
47
+
48
+ /**
49
+ * TypeScript type for uploadable content.
50
+ */
51
+ export type Uploadable = File | Blob;