alchemy 2.0.0-beta.60 → 2.0.0-beta.61

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 (607) hide show
  1. package/bin/cli.js +9 -1
  2. package/bin/exec.js +15 -5
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
  5. package/lib/AWS/ACM/Certificate.js +9 -2
  6. package/lib/AWS/ACM/Certificate.js.map +1 -1
  7. package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts.map +1 -1
  8. package/lib/AWS/AutoScaling/AutoScalingGroup.js +18 -11
  9. package/lib/AWS/AutoScaling/AutoScalingGroup.js.map +1 -1
  10. package/lib/AWS/AutoScaling/LaunchTemplate.js +6 -1
  11. package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
  12. package/lib/AWS/AutoScaling/ScalingPolicy.d.ts.map +1 -1
  13. package/lib/AWS/AutoScaling/ScalingPolicy.js +28 -10
  14. package/lib/AWS/AutoScaling/ScalingPolicy.js.map +1 -1
  15. package/lib/AWS/CloudFront/PublicKey.d.ts.map +1 -1
  16. package/lib/AWS/CloudFront/PublicKey.js +5 -1
  17. package/lib/AWS/CloudFront/PublicKey.js.map +1 -1
  18. package/lib/AWS/DynamoDB/Table.js +1 -1
  19. package/lib/AWS/DynamoDB/Table.js.map +1 -1
  20. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  21. package/lib/AWS/ECS/Service.js +29 -4
  22. package/lib/AWS/ECS/Service.js.map +1 -1
  23. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
  24. package/lib/AWS/IAM/OpenIDConnectProvider.js +9 -1
  25. package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
  26. package/lib/AWS/Lambda/Alias.d.ts +26 -0
  27. package/lib/AWS/Lambda/Alias.d.ts.map +1 -1
  28. package/lib/AWS/Lambda/Alias.js +31 -0
  29. package/lib/AWS/Lambda/Alias.js.map +1 -1
  30. package/lib/AWS/Lambda/EventInvokeConfig.d.ts +36 -0
  31. package/lib/AWS/Lambda/EventInvokeConfig.d.ts.map +1 -0
  32. package/lib/AWS/Lambda/EventInvokeConfig.js +76 -0
  33. package/lib/AWS/Lambda/EventInvokeConfig.js.map +1 -0
  34. package/lib/AWS/Lambda/Function.d.ts +27 -2
  35. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  36. package/lib/AWS/Lambda/Function.js +23 -2
  37. package/lib/AWS/Lambda/Function.js.map +1 -1
  38. package/lib/AWS/Lambda/index.d.ts +1 -0
  39. package/lib/AWS/Lambda/index.d.ts.map +1 -1
  40. package/lib/AWS/Lambda/index.js +1 -0
  41. package/lib/AWS/Lambda/index.js.map +1 -1
  42. package/lib/AWS/Organizations/DelegatedAdministrator.d.ts.map +1 -1
  43. package/lib/AWS/Organizations/DelegatedAdministrator.js +10 -2
  44. package/lib/AWS/Organizations/DelegatedAdministrator.js.map +1 -1
  45. package/lib/AWS/Organizations/PolicyAttachment.d.ts.map +1 -1
  46. package/lib/AWS/Organizations/PolicyAttachment.js +10 -4
  47. package/lib/AWS/Organizations/PolicyAttachment.js.map +1 -1
  48. package/lib/AWS/Organizations/RootPolicyType.d.ts.map +1 -1
  49. package/lib/AWS/Organizations/RootPolicyType.js +9 -4
  50. package/lib/AWS/Organizations/RootPolicyType.js.map +1 -1
  51. package/lib/AWS/Organizations/TrustedServiceAccess.d.ts.map +1 -1
  52. package/lib/AWS/Organizations/TrustedServiceAccess.js +8 -1
  53. package/lib/AWS/Organizations/TrustedServiceAccess.js.map +1 -1
  54. package/lib/AWS/Route53/HostedZone.d.ts.map +1 -1
  55. package/lib/AWS/Route53/HostedZone.js +20 -4
  56. package/lib/AWS/Route53/HostedZone.js.map +1 -1
  57. package/lib/AWS/Route53/Record.d.ts.map +1 -1
  58. package/lib/AWS/Route53/Record.js +32 -9
  59. package/lib/AWS/Route53/Record.js.map +1 -1
  60. package/lib/Apply.js +7 -1
  61. package/lib/Apply.js.map +1 -1
  62. package/lib/Auth/Lock.d.ts +17 -0
  63. package/lib/Auth/Lock.d.ts.map +1 -1
  64. package/lib/Auth/Lock.js +53 -18
  65. package/lib/Auth/Lock.js.map +1 -1
  66. package/lib/Bundle/PurePlugin.d.ts.map +1 -1
  67. package/lib/Bundle/PurePlugin.js +15 -2
  68. package/lib/Bundle/PurePlugin.js.map +1 -1
  69. package/lib/Cli/commands/sync.d.ts +22 -0
  70. package/lib/Cli/commands/sync.d.ts.map +1 -0
  71. package/lib/Cli/commands/sync.js +64 -0
  72. package/lib/Cli/commands/sync.js.map +1 -0
  73. package/lib/Cli/main.d.ts.map +1 -1
  74. package/lib/Cli/main.js +2 -0
  75. package/lib/Cli/main.js.map +1 -1
  76. package/lib/Cloudflare/AI/CustomTopics.d.ts.map +1 -1
  77. package/lib/Cloudflare/AI/CustomTopics.js +3 -1
  78. package/lib/Cloudflare/AI/CustomTopics.js.map +1 -1
  79. package/lib/Cloudflare/AI/Dataset.d.ts.map +1 -1
  80. package/lib/Cloudflare/AI/Dataset.js +3 -1
  81. package/lib/Cloudflare/AI/Dataset.js.map +1 -1
  82. package/lib/Cloudflare/AI/Evaluation.d.ts.map +1 -1
  83. package/lib/Cloudflare/AI/Evaluation.js +3 -1
  84. package/lib/Cloudflare/AI/Evaluation.js.map +1 -1
  85. package/lib/Cloudflare/AI/Gateway.d.ts.map +1 -1
  86. package/lib/Cloudflare/AI/Gateway.js +5 -6
  87. package/lib/Cloudflare/AI/Gateway.js.map +1 -1
  88. package/lib/Cloudflare/AI/GatewayDynamicRouting.d.ts.map +1 -1
  89. package/lib/Cloudflare/AI/GatewayDynamicRouting.js +3 -1
  90. package/lib/Cloudflare/AI/GatewayDynamicRouting.js.map +1 -1
  91. package/lib/Cloudflare/AI/GatewayProvider.d.ts +2 -1
  92. package/lib/Cloudflare/AI/GatewayProvider.d.ts.map +1 -1
  93. package/lib/Cloudflare/AI/GatewayProvider.js +5 -2
  94. package/lib/Cloudflare/AI/GatewayProvider.js.map +1 -1
  95. package/lib/Cloudflare/AI/ProviderKey.d.ts +135 -0
  96. package/lib/Cloudflare/AI/ProviderKey.d.ts.map +1 -0
  97. package/lib/Cloudflare/AI/ProviderKey.js +90 -0
  98. package/lib/Cloudflare/AI/ProviderKey.js.map +1 -0
  99. package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
  100. package/lib/Cloudflare/AI/SearchInstance.js +5 -4
  101. package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
  102. package/lib/Cloudflare/AI/SearchNamespace.d.ts.map +1 -1
  103. package/lib/Cloudflare/AI/SearchNamespace.js +5 -4
  104. package/lib/Cloudflare/AI/SearchNamespace.js.map +1 -1
  105. package/lib/Cloudflare/AI/SearchToken.d.ts.map +1 -1
  106. package/lib/Cloudflare/AI/SearchToken.js +3 -1
  107. package/lib/Cloudflare/AI/SearchToken.js.map +1 -1
  108. package/lib/Cloudflare/AI/SecuritySettings.d.ts.map +1 -1
  109. package/lib/Cloudflare/AI/SecuritySettings.js +3 -1
  110. package/lib/Cloudflare/AI/SecuritySettings.js.map +1 -1
  111. package/lib/Cloudflare/AI/index.d.ts +1 -0
  112. package/lib/Cloudflare/AI/index.d.ts.map +1 -1
  113. package/lib/Cloudflare/AI/index.js +1 -0
  114. package/lib/Cloudflare/AI/index.js.map +1 -1
  115. package/lib/Cloudflare/Access/InfrastructureTarget.d.ts.map +1 -1
  116. package/lib/Cloudflare/Access/InfrastructureTarget.js +3 -1
  117. package/lib/Cloudflare/Access/InfrastructureTarget.js.map +1 -1
  118. package/lib/Cloudflare/Access/Organization.d.ts.map +1 -1
  119. package/lib/Cloudflare/Access/Organization.js +1 -1
  120. package/lib/Cloudflare/Access/Organization.js.map +1 -1
  121. package/lib/Cloudflare/Access/Policy.d.ts.map +1 -1
  122. package/lib/Cloudflare/Access/Policy.js +3 -1
  123. package/lib/Cloudflare/Access/Policy.js.map +1 -1
  124. package/lib/Cloudflare/Account/Account.d.ts.map +1 -1
  125. package/lib/Cloudflare/Account/Account.js +3 -1
  126. package/lib/Cloudflare/Account/Account.js.map +1 -1
  127. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  128. package/lib/Cloudflare/ApiToken/AccountApiToken.js +1 -1
  129. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  130. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
  131. package/lib/Cloudflare/ApiToken/UserApiToken.js +1 -1
  132. package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
  133. package/lib/Cloudflare/Auth/AuthProvider.d.ts +3 -0
  134. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  135. package/lib/Cloudflare/Auth/AuthProvider.js +51 -14
  136. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  137. package/lib/Cloudflare/BotManagement/BotManagement.d.ts.map +1 -1
  138. package/lib/Cloudflare/BotManagement/BotManagement.js +3 -1
  139. package/lib/Cloudflare/BotManagement/BotManagement.js.map +1 -1
  140. package/lib/Cloudflare/Cache/Reserve.d.ts.map +1 -1
  141. package/lib/Cloudflare/Cache/Reserve.js +3 -1
  142. package/lib/Cloudflare/Cache/Reserve.js.map +1 -1
  143. package/lib/Cloudflare/ClientCertificate/ClientCertificate.d.ts.map +1 -1
  144. package/lib/Cloudflare/ClientCertificate/ClientCertificate.js +3 -1
  145. package/lib/Cloudflare/ClientCertificate/ClientCertificate.js.map +1 -1
  146. package/lib/Cloudflare/Containers/Container.d.ts +2 -2
  147. package/lib/Cloudflare/Containers/Container.js +2 -2
  148. package/lib/Cloudflare/ContentScanning/ContentScanning.d.ts.map +1 -1
  149. package/lib/Cloudflare/ContentScanning/ContentScanning.js +3 -1
  150. package/lib/Cloudflare/ContentScanning/ContentScanning.js.map +1 -1
  151. package/lib/Cloudflare/CustomCertificate/CustomCertificate.d.ts.map +1 -1
  152. package/lib/Cloudflare/CustomCertificate/CustomCertificate.js +3 -1
  153. package/lib/Cloudflare/CustomCertificate/CustomCertificate.js.map +1 -1
  154. package/lib/Cloudflare/CustomHostname/CustomHostname.d.ts.map +1 -1
  155. package/lib/Cloudflare/CustomHostname/CustomHostname.js +1 -1
  156. package/lib/Cloudflare/CustomHostname/CustomHostname.js.map +1 -1
  157. package/lib/Cloudflare/CustomHostname/FallbackOrigin.d.ts.map +1 -1
  158. package/lib/Cloudflare/CustomHostname/FallbackOrigin.js +1 -1
  159. package/lib/Cloudflare/CustomHostname/FallbackOrigin.js.map +1 -1
  160. package/lib/Cloudflare/CustomNameserver/CustomNameserver.d.ts.map +1 -1
  161. package/lib/Cloudflare/CustomNameserver/CustomNameserver.js +3 -1
  162. package/lib/Cloudflare/CustomNameserver/CustomNameserver.js.map +1 -1
  163. package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
  164. package/lib/Cloudflare/D1/Database.js +2 -2
  165. package/lib/Cloudflare/D1/Database.js.map +1 -1
  166. package/lib/Cloudflare/DNS/AccountSettings.d.ts.map +1 -1
  167. package/lib/Cloudflare/DNS/AccountSettings.js +3 -1
  168. package/lib/Cloudflare/DNS/AccountSettings.js.map +1 -1
  169. package/lib/Cloudflare/DNS/Dnssec.d.ts.map +1 -1
  170. package/lib/Cloudflare/DNS/Dnssec.js +3 -1
  171. package/lib/Cloudflare/DNS/Dnssec.js.map +1 -1
  172. package/lib/Cloudflare/DNS/Firewall.d.ts.map +1 -1
  173. package/lib/Cloudflare/DNS/Firewall.js +3 -1
  174. package/lib/Cloudflare/DNS/Firewall.js.map +1 -1
  175. package/lib/Cloudflare/DNS/Record.d.ts.map +1 -1
  176. package/lib/Cloudflare/DNS/Record.js +3 -1
  177. package/lib/Cloudflare/DNS/Record.js.map +1 -1
  178. package/lib/Cloudflare/DNS/View.d.ts.map +1 -1
  179. package/lib/Cloudflare/DNS/View.js +3 -1
  180. package/lib/Cloudflare/DNS/View.js.map +1 -1
  181. package/lib/Cloudflare/DNS/ZoneSettings.d.ts.map +1 -1
  182. package/lib/Cloudflare/DNS/ZoneSettings.js +3 -1
  183. package/lib/Cloudflare/DNS/ZoneSettings.js.map +1 -1
  184. package/lib/Cloudflare/DNS/ZoneTransferAcl.d.ts.map +1 -1
  185. package/lib/Cloudflare/DNS/ZoneTransferAcl.js +3 -1
  186. package/lib/Cloudflare/DNS/ZoneTransferAcl.js.map +1 -1
  187. package/lib/Cloudflare/DNS/ZoneTransferIncoming.d.ts.map +1 -1
  188. package/lib/Cloudflare/DNS/ZoneTransferIncoming.js +3 -1
  189. package/lib/Cloudflare/DNS/ZoneTransferIncoming.js.map +1 -1
  190. package/lib/Cloudflare/DNS/ZoneTransferOutgoing.d.ts.map +1 -1
  191. package/lib/Cloudflare/DNS/ZoneTransferOutgoing.js +3 -1
  192. package/lib/Cloudflare/DNS/ZoneTransferOutgoing.js.map +1 -1
  193. package/lib/Cloudflare/DNS/ZoneTransferPeer.d.ts.map +1 -1
  194. package/lib/Cloudflare/DNS/ZoneTransferPeer.js +3 -1
  195. package/lib/Cloudflare/DNS/ZoneTransferPeer.js.map +1 -1
  196. package/lib/Cloudflare/DNS/ZoneTransferTsig.d.ts.map +1 -1
  197. package/lib/Cloudflare/DNS/ZoneTransferTsig.js +3 -1
  198. package/lib/Cloudflare/DNS/ZoneTransferTsig.js.map +1 -1
  199. package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
  200. package/lib/Cloudflare/Email/Address.js +3 -1
  201. package/lib/Cloudflare/Email/Address.js.map +1 -1
  202. package/lib/Cloudflare/Email/AllowPolicy.d.ts.map +1 -1
  203. package/lib/Cloudflare/Email/AllowPolicy.js +1 -1
  204. package/lib/Cloudflare/Email/AllowPolicy.js.map +1 -1
  205. package/lib/Cloudflare/Email/BlockSender.d.ts.map +1 -1
  206. package/lib/Cloudflare/Email/BlockSender.js +1 -1
  207. package/lib/Cloudflare/Email/BlockSender.js.map +1 -1
  208. package/lib/Cloudflare/Email/CatchAll.d.ts.map +1 -1
  209. package/lib/Cloudflare/Email/CatchAll.js +8 -2
  210. package/lib/Cloudflare/Email/CatchAll.js.map +1 -1
  211. package/lib/Cloudflare/Email/Domain.d.ts.map +1 -1
  212. package/lib/Cloudflare/Email/Domain.js +3 -1
  213. package/lib/Cloudflare/Email/Domain.js.map +1 -1
  214. package/lib/Cloudflare/Email/ImpersonationRegistryEntry.d.ts.map +1 -1
  215. package/lib/Cloudflare/Email/ImpersonationRegistryEntry.js +1 -1
  216. package/lib/Cloudflare/Email/ImpersonationRegistryEntry.js.map +1 -1
  217. package/lib/Cloudflare/Email/Routing.d.ts.map +1 -1
  218. package/lib/Cloudflare/Email/Routing.js +3 -1
  219. package/lib/Cloudflare/Email/Routing.js.map +1 -1
  220. package/lib/Cloudflare/Email/Rule.d.ts.map +1 -1
  221. package/lib/Cloudflare/Email/Rule.js +3 -1
  222. package/lib/Cloudflare/Email/Rule.js.map +1 -1
  223. package/lib/Cloudflare/Email/SendingSubdomain.d.ts.map +1 -1
  224. package/lib/Cloudflare/Email/SendingSubdomain.js +1 -1
  225. package/lib/Cloudflare/Email/SendingSubdomain.js.map +1 -1
  226. package/lib/Cloudflare/Email/TrustedDomain.d.ts.map +1 -1
  227. package/lib/Cloudflare/Email/TrustedDomain.js +1 -1
  228. package/lib/Cloudflare/Email/TrustedDomain.js.map +1 -1
  229. package/lib/Cloudflare/Fetcher.d.ts.map +1 -1
  230. package/lib/Cloudflare/Fetcher.js +10 -3
  231. package/lib/Cloudflare/Fetcher.js.map +1 -1
  232. package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
  233. package/lib/Cloudflare/Flagship/App.js +2 -3
  234. package/lib/Cloudflare/Flagship/App.js.map +1 -1
  235. package/lib/Cloudflare/Fraud/DetectionSettings.d.ts.map +1 -1
  236. package/lib/Cloudflare/Fraud/DetectionSettings.js +3 -1
  237. package/lib/Cloudflare/Fraud/DetectionSettings.js.map +1 -1
  238. package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.d.ts.map +1 -1
  239. package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js +8 -2
  240. package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js.map +1 -1
  241. package/lib/Cloudflare/Healthcheck/Healthcheck.d.ts.map +1 -1
  242. package/lib/Cloudflare/Healthcheck/Healthcheck.js +3 -1
  243. package/lib/Cloudflare/Healthcheck/Healthcheck.js.map +1 -1
  244. package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.d.ts.map +1 -1
  245. package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.js +3 -1
  246. package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.js.map +1 -1
  247. package/lib/Cloudflare/Hyperdrive/Connection.d.ts.map +1 -1
  248. package/lib/Cloudflare/Hyperdrive/Connection.js +2 -4
  249. package/lib/Cloudflare/Hyperdrive/Connection.js.map +1 -1
  250. package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
  251. package/lib/Cloudflare/KV/Namespace.js +5 -4
  252. package/lib/Cloudflare/KV/Namespace.js.map +1 -1
  253. package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.d.ts.map +1 -1
  254. package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.js +3 -1
  255. package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.js.map +1 -1
  256. package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.d.ts.map +1 -1
  257. package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.js +3 -1
  258. package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.js.map +1 -1
  259. package/lib/Cloudflare/LoadBalancer/LoadBalancer.d.ts.map +1 -1
  260. package/lib/Cloudflare/LoadBalancer/LoadBalancer.js +3 -1
  261. package/lib/Cloudflare/LoadBalancer/LoadBalancer.js.map +1 -1
  262. package/lib/Cloudflare/ManagedTransforms/ManagedTransforms.d.ts.map +1 -1
  263. package/lib/Cloudflare/ManagedTransforms/ManagedTransforms.js +3 -1
  264. package/lib/Cloudflare/ManagedTransforms/ManagedTransforms.js.map +1 -1
  265. package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.d.ts.map +1 -1
  266. package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.js +3 -1
  267. package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.js.map +1 -1
  268. package/lib/Cloudflare/Organization/Organization.d.ts.map +1 -1
  269. package/lib/Cloudflare/Organization/Organization.js +3 -1
  270. package/lib/Cloudflare/Organization/Organization.js.map +1 -1
  271. package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.d.ts.map +1 -1
  272. package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.js +7 -2
  273. package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.js.map +1 -1
  274. package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.d.ts.map +1 -1
  275. package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.js +3 -1
  276. package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.js.map +1 -1
  277. package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.d.ts.map +1 -1
  278. package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.js +5 -1
  279. package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.js.map +1 -1
  280. package/lib/Cloudflare/PageRule/PageRule.d.ts.map +1 -1
  281. package/lib/Cloudflare/PageRule/PageRule.js +3 -1
  282. package/lib/Cloudflare/PageRule/PageRule.js.map +1 -1
  283. package/lib/Cloudflare/Providers.d.ts +29 -0
  284. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  285. package/lib/Cloudflare/Providers.js +30 -19
  286. package/lib/Cloudflare/Providers.js.map +1 -1
  287. package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
  288. package/lib/Cloudflare/Queues/Consumer.js +3 -1
  289. package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
  290. package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
  291. package/lib/Cloudflare/Queues/Queue.js +5 -4
  292. package/lib/Cloudflare/Queues/Queue.js.map +1 -1
  293. package/lib/Cloudflare/Queues/Subscription.d.ts.map +1 -1
  294. package/lib/Cloudflare/Queues/Subscription.js +3 -1
  295. package/lib/Cloudflare/Queues/Subscription.js.map +1 -1
  296. package/lib/Cloudflare/R2/Bucket.d.ts +98 -0
  297. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
  298. package/lib/Cloudflare/R2/Bucket.js +141 -3
  299. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  300. package/lib/Cloudflare/RegionalHostname/RegionalHostname.d.ts.map +1 -1
  301. package/lib/Cloudflare/RegionalHostname/RegionalHostname.js +3 -1
  302. package/lib/Cloudflare/RegionalHostname/RegionalHostname.js.map +1 -1
  303. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
  304. package/lib/Cloudflare/Ruleset/Ruleset.js +8 -3
  305. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
  306. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  307. package/lib/Cloudflare/SecretsStore/Secret.js +31 -5
  308. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  309. package/lib/Cloudflare/SecurityTxt/SecurityTxt.d.ts.map +1 -1
  310. package/lib/Cloudflare/SecurityTxt/SecurityTxt.js +3 -1
  311. package/lib/Cloudflare/SecurityTxt/SecurityTxt.js.map +1 -1
  312. package/lib/Cloudflare/StateStore/Api.d.ts +15 -0
  313. package/lib/Cloudflare/StateStore/State.d.ts +30 -1
  314. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  315. package/lib/Cloudflare/StateStore/State.js +85 -16
  316. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  317. package/lib/Cloudflare/Tags/AccountResourceTags.d.ts.map +1 -1
  318. package/lib/Cloudflare/Tags/AccountResourceTags.js +8 -3
  319. package/lib/Cloudflare/Tags/AccountResourceTags.js.map +1 -1
  320. package/lib/Cloudflare/Tunnel/Route.d.ts.map +1 -1
  321. package/lib/Cloudflare/Tunnel/Route.js +3 -1
  322. package/lib/Cloudflare/Tunnel/Route.js.map +1 -1
  323. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  324. package/lib/Cloudflare/Tunnel/Tunnel.js +3 -1
  325. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  326. package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
  327. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +3 -1
  328. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
  329. package/lib/Cloudflare/Vectorize/VectorizeIndex.d.ts.map +1 -1
  330. package/lib/Cloudflare/Vectorize/VectorizeIndex.js +2 -3
  331. package/lib/Cloudflare/Vectorize/VectorizeIndex.js.map +1 -1
  332. package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
  333. package/lib/Cloudflare/VpcService/VpcService.js +1 -1
  334. package/lib/Cloudflare/VpcService/VpcService.js.map +1 -1
  335. package/lib/Cloudflare/WaitingRoom/WaitingRoom.d.ts.map +1 -1
  336. package/lib/Cloudflare/WaitingRoom/WaitingRoom.js +3 -1
  337. package/lib/Cloudflare/WaitingRoom/WaitingRoom.js.map +1 -1
  338. package/lib/Cloudflare/Web3/ContentList.d.ts.map +1 -1
  339. package/lib/Cloudflare/Web3/ContentList.js +3 -1
  340. package/lib/Cloudflare/Web3/ContentList.js.map +1 -1
  341. package/lib/Cloudflare/Web3/Hostname.d.ts.map +1 -1
  342. package/lib/Cloudflare/Web3/Hostname.js +3 -1
  343. package/lib/Cloudflare/Web3/Hostname.js.map +1 -1
  344. package/lib/Cloudflare/Workers/Cache.d.ts +71 -0
  345. package/lib/Cloudflare/Workers/Cache.d.ts.map +1 -0
  346. package/lib/Cloudflare/Workers/Cache.js +64 -0
  347. package/lib/Cloudflare/Workers/Cache.js.map +1 -0
  348. package/lib/Cloudflare/Workers/CronEventSource.d.ts +180 -6
  349. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
  350. package/lib/Cloudflare/Workers/CronEventSource.js +180 -6
  351. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
  352. package/lib/Cloudflare/Workers/DurableObject.d.ts +36 -1
  353. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  354. package/lib/Cloudflare/Workers/DurableObject.js +36 -1
  355. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  356. package/lib/Cloudflare/Workers/DurableObjectState.d.ts +11 -0
  357. package/lib/Cloudflare/Workers/DurableObjectState.d.ts.map +1 -1
  358. package/lib/Cloudflare/Workers/DurableObjectState.js +7 -0
  359. package/lib/Cloudflare/Workers/DurableObjectState.js.map +1 -1
  360. package/lib/Cloudflare/Workers/Fetch.js +2 -2
  361. package/lib/Cloudflare/Workers/Fetch.js.map +1 -1
  362. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  363. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +3 -0
  364. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  365. package/lib/Cloudflare/Workers/Worker.d.ts +230 -4
  366. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  367. package/lib/Cloudflare/Workers/Worker.js +161 -7
  368. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  369. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +9 -0
  370. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  371. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +15 -0
  372. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  373. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +30 -0
  374. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  375. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  376. package/lib/Cloudflare/Workers/WorkerBridge.js +27 -5
  377. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  378. package/lib/Cloudflare/Workers/WorkerLoader.js +9 -1
  379. package/lib/Cloudflare/Workers/WorkerLoader.js.map +1 -1
  380. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  381. package/lib/Cloudflare/Workers/WorkerProvider.js +365 -18
  382. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  383. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  384. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +20 -3
  385. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  386. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  387. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  388. package/lib/Cloudflare/Workers/index.js +1 -0
  389. package/lib/Cloudflare/Workers/index.js.map +1 -1
  390. package/lib/Cloudflare/WorkersForPlatforms/DispatchNamespace.d.ts.map +1 -1
  391. package/lib/Cloudflare/WorkersForPlatforms/DispatchNamespace.js +2 -3
  392. package/lib/Cloudflare/WorkersForPlatforms/DispatchNamespace.js.map +1 -1
  393. package/lib/Cloudflare/Workflows/Workflow.d.ts +200 -24
  394. package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
  395. package/lib/Cloudflare/Workflows/Workflow.js +126 -28
  396. package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
  397. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
  398. package/lib/Cloudflare/Workflows/WorkflowBridge.js +42 -3
  399. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  400. package/lib/Cloudflare/Zaraz/Config.d.ts +1 -0
  401. package/lib/Cloudflare/Zaraz/Config.d.ts.map +1 -1
  402. package/lib/Cloudflare/Zaraz/Config.js +8 -2
  403. package/lib/Cloudflare/Zaraz/Config.js.map +1 -1
  404. package/lib/Cloudflare/Zone/Zone.d.ts.map +1 -1
  405. package/lib/Cloudflare/Zone/Zone.js +1 -0
  406. package/lib/Cloudflare/Zone/Zone.js.map +1 -1
  407. package/lib/Docker/Container.d.ts.map +1 -1
  408. package/lib/Docker/Container.js +11 -1
  409. package/lib/Docker/Container.js.map +1 -1
  410. package/lib/Drizzle/Schema.d.ts.map +1 -1
  411. package/lib/Drizzle/Schema.js +12 -5
  412. package/lib/Drizzle/Schema.js.map +1 -1
  413. package/lib/Neon/Branch.d.ts.map +1 -1
  414. package/lib/Neon/Branch.js +15 -3
  415. package/lib/Neon/Branch.js.map +1 -1
  416. package/lib/Output.d.ts +13 -1
  417. package/lib/Output.d.ts.map +1 -1
  418. package/lib/Output.js +17 -3
  419. package/lib/Output.js.map +1 -1
  420. package/lib/Planetscale/Postgres/PostgresRole.js +2 -2
  421. package/lib/Planetscale/Postgres/PostgresRole.js.map +1 -1
  422. package/lib/Provider.d.ts +8 -0
  423. package/lib/Provider.d.ts.map +1 -1
  424. package/lib/Provider.js +38 -3
  425. package/lib/Provider.js.map +1 -1
  426. package/lib/Ref.d.ts +9 -1
  427. package/lib/Ref.d.ts.map +1 -1
  428. package/lib/Ref.js +2 -1
  429. package/lib/Ref.js.map +1 -1
  430. package/lib/Resource.d.ts +44 -0
  431. package/lib/Resource.d.ts.map +1 -1
  432. package/lib/Resource.js +22 -1
  433. package/lib/Resource.js.map +1 -1
  434. package/lib/Stack.js +1 -1
  435. package/lib/Stack.js.map +1 -1
  436. package/lib/State/HttpStateApi.d.ts +4 -4
  437. package/lib/State/HttpStateStore.d.ts +12 -0
  438. package/lib/State/HttpStateStore.d.ts.map +1 -1
  439. package/lib/State/HttpStateStore.js +46 -5
  440. package/lib/State/HttpStateStore.js.map +1 -1
  441. package/lib/Sync.d.ts +109 -0
  442. package/lib/Sync.d.ts.map +1 -0
  443. package/lib/Sync.js +312 -0
  444. package/lib/Sync.js.map +1 -0
  445. package/lib/Test/Bun.d.ts +1 -1
  446. package/lib/Test/Bun.d.ts.map +1 -1
  447. package/lib/Test/Bun.js +1 -1
  448. package/lib/Test/Bun.js.map +1 -1
  449. package/lib/Test/Http.d.ts +67 -0
  450. package/lib/Test/Http.d.ts.map +1 -1
  451. package/lib/Test/Http.js +69 -0
  452. package/lib/Test/Http.js.map +1 -1
  453. package/lib/Test/Vitest.d.ts +1 -1
  454. package/lib/Test/Vitest.d.ts.map +1 -1
  455. package/lib/Test/Vitest.js +1 -0
  456. package/lib/Test/Vitest.js.map +1 -1
  457. package/lib/Util/proxy-chain.js +14 -15
  458. package/lib/Util/proxy-chain.js.map +1 -1
  459. package/lib/index.d.ts +1 -0
  460. package/lib/index.d.ts.map +1 -1
  461. package/lib/index.js +1 -0
  462. package/lib/index.js.map +1 -1
  463. package/package.json +19 -19
  464. package/src/AWS/ACM/Certificate.ts +13 -2
  465. package/src/AWS/AutoScaling/AutoScalingGroup.ts +21 -15
  466. package/src/AWS/AutoScaling/LaunchTemplate.ts +6 -1
  467. package/src/AWS/AutoScaling/ScalingPolicy.ts +31 -17
  468. package/src/AWS/CloudFront/PublicKey.ts +4 -0
  469. package/src/AWS/DynamoDB/Table.ts +1 -1
  470. package/src/AWS/ECS/Service.ts +35 -6
  471. package/src/AWS/IAM/OpenIDConnectProvider.ts +9 -1
  472. package/src/AWS/Lambda/Alias.ts +42 -0
  473. package/src/AWS/Lambda/EventInvokeConfig.ts +150 -0
  474. package/src/AWS/Lambda/Function.ts +35 -2
  475. package/src/AWS/Lambda/index.ts +1 -0
  476. package/src/AWS/Organizations/DelegatedAdministrator.ts +11 -3
  477. package/src/AWS/Organizations/PolicyAttachment.ts +10 -4
  478. package/src/AWS/Organizations/RootPolicyType.ts +9 -4
  479. package/src/AWS/Organizations/TrustedServiceAccess.ts +9 -3
  480. package/src/AWS/Route53/HostedZone.ts +30 -13
  481. package/src/AWS/Route53/Record.ts +44 -22
  482. package/src/Apply.ts +7 -1
  483. package/src/Auth/Lock.ts +62 -18
  484. package/src/Bundle/PurePlugin.ts +15 -2
  485. package/src/Cli/commands/sync.ts +123 -0
  486. package/src/Cli/main.ts +2 -0
  487. package/src/Cloudflare/AI/CustomTopics.ts +3 -1
  488. package/src/Cloudflare/AI/Dataset.ts +3 -1
  489. package/src/Cloudflare/AI/Evaluation.ts +3 -1
  490. package/src/Cloudflare/AI/Gateway.ts +5 -6
  491. package/src/Cloudflare/AI/GatewayDynamicRouting.ts +3 -1
  492. package/src/Cloudflare/AI/GatewayProvider.ts +5 -2
  493. package/src/Cloudflare/AI/ProviderKey.ts +161 -0
  494. package/src/Cloudflare/AI/SearchInstance.ts +5 -4
  495. package/src/Cloudflare/AI/SearchNamespace.ts +5 -4
  496. package/src/Cloudflare/AI/SearchToken.ts +3 -1
  497. package/src/Cloudflare/AI/SecuritySettings.ts +3 -0
  498. package/src/Cloudflare/AI/index.ts +1 -0
  499. package/src/Cloudflare/Access/InfrastructureTarget.ts +4 -1
  500. package/src/Cloudflare/Access/Organization.ts +1 -0
  501. package/src/Cloudflare/Access/Policy.ts +3 -1
  502. package/src/Cloudflare/Account/Account.ts +3 -1
  503. package/src/Cloudflare/ApiToken/AccountApiToken.ts +1 -0
  504. package/src/Cloudflare/ApiToken/UserApiToken.ts +1 -0
  505. package/src/Cloudflare/Auth/AuthProvider.ts +69 -8
  506. package/src/Cloudflare/BotManagement/BotManagement.ts +3 -1
  507. package/src/Cloudflare/Cache/Reserve.ts +3 -1
  508. package/src/Cloudflare/ClientCertificate/ClientCertificate.ts +3 -1
  509. package/src/Cloudflare/Containers/Container.ts +2 -2
  510. package/src/Cloudflare/ContentScanning/ContentScanning.ts +3 -1
  511. package/src/Cloudflare/CustomCertificate/CustomCertificate.ts +3 -1
  512. package/src/Cloudflare/CustomHostname/CustomHostname.ts +1 -0
  513. package/src/Cloudflare/CustomHostname/FallbackOrigin.ts +1 -0
  514. package/src/Cloudflare/CustomNameserver/CustomNameserver.ts +3 -1
  515. package/src/Cloudflare/D1/Database.ts +2 -2
  516. package/src/Cloudflare/DNS/AccountSettings.ts +3 -1
  517. package/src/Cloudflare/DNS/Dnssec.ts +3 -1
  518. package/src/Cloudflare/DNS/Firewall.ts +3 -1
  519. package/src/Cloudflare/DNS/Record.ts +3 -1
  520. package/src/Cloudflare/DNS/View.ts +3 -1
  521. package/src/Cloudflare/DNS/ZoneSettings.ts +3 -1
  522. package/src/Cloudflare/DNS/ZoneTransferAcl.ts +3 -1
  523. package/src/Cloudflare/DNS/ZoneTransferIncoming.ts +3 -1
  524. package/src/Cloudflare/DNS/ZoneTransferOutgoing.ts +3 -1
  525. package/src/Cloudflare/DNS/ZoneTransferPeer.ts +3 -1
  526. package/src/Cloudflare/DNS/ZoneTransferTsig.ts +3 -1
  527. package/src/Cloudflare/Email/Address.ts +3 -1
  528. package/src/Cloudflare/Email/AllowPolicy.ts +1 -0
  529. package/src/Cloudflare/Email/BlockSender.ts +1 -0
  530. package/src/Cloudflare/Email/CatchAll.ts +7 -2
  531. package/src/Cloudflare/Email/Domain.ts +3 -1
  532. package/src/Cloudflare/Email/ImpersonationRegistryEntry.ts +1 -0
  533. package/src/Cloudflare/Email/Routing.ts +3 -1
  534. package/src/Cloudflare/Email/Rule.ts +3 -1
  535. package/src/Cloudflare/Email/SendingSubdomain.ts +1 -0
  536. package/src/Cloudflare/Email/TrustedDomain.ts +1 -0
  537. package/src/Cloudflare/Fetcher.ts +12 -5
  538. package/src/Cloudflare/Flagship/App.ts +2 -3
  539. package/src/Cloudflare/Fraud/DetectionSettings.ts +3 -1
  540. package/src/Cloudflare/GoogleTagGateway/GoogleTagGateway.ts +7 -2
  541. package/src/Cloudflare/Healthcheck/Healthcheck.ts +3 -1
  542. package/src/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.ts +3 -1
  543. package/src/Cloudflare/Hyperdrive/Connection.ts +2 -4
  544. package/src/Cloudflare/KV/Namespace.ts +5 -4
  545. package/src/Cloudflare/KeylessCertificate/KeylessCertificate.ts +3 -1
  546. package/src/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.ts +3 -1
  547. package/src/Cloudflare/LoadBalancer/LoadBalancer.ts +3 -1
  548. package/src/Cloudflare/ManagedTransforms/ManagedTransforms.ts +3 -1
  549. package/src/Cloudflare/MtlsCertificate/MtlsCertificate.ts +3 -1
  550. package/src/Cloudflare/Organization/Organization.ts +3 -1
  551. package/src/Cloudflare/OriginCaCertificate/OriginCaCertificate.ts +7 -2
  552. package/src/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.ts +3 -1
  553. package/src/Cloudflare/OriginTlsClientAuth/HostnameCertificate.ts +5 -1
  554. package/src/Cloudflare/PageRule/PageRule.ts +3 -1
  555. package/src/Cloudflare/Providers.ts +34 -19
  556. package/src/Cloudflare/Queues/Consumer.ts +3 -1
  557. package/src/Cloudflare/Queues/Queue.ts +5 -4
  558. package/src/Cloudflare/Queues/Subscription.ts +3 -1
  559. package/src/Cloudflare/R2/Bucket.ts +230 -3
  560. package/src/Cloudflare/RegionalHostname/RegionalHostname.ts +3 -1
  561. package/src/Cloudflare/Ruleset/Ruleset.ts +9 -4
  562. package/src/Cloudflare/SecretsStore/Secret.ts +46 -5
  563. package/src/Cloudflare/SecurityTxt/SecurityTxt.ts +3 -1
  564. package/src/Cloudflare/StateStore/State.ts +89 -24
  565. package/src/Cloudflare/Tags/AccountResourceTags.ts +9 -5
  566. package/src/Cloudflare/Tunnel/Route.ts +3 -1
  567. package/src/Cloudflare/Tunnel/Tunnel.ts +3 -1
  568. package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +3 -1
  569. package/src/Cloudflare/Vectorize/VectorizeIndex.ts +2 -3
  570. package/src/Cloudflare/VpcService/VpcService.ts +1 -0
  571. package/src/Cloudflare/WaitingRoom/WaitingRoom.ts +3 -1
  572. package/src/Cloudflare/Web3/ContentList.ts +3 -1
  573. package/src/Cloudflare/Web3/Hostname.ts +3 -1
  574. package/src/Cloudflare/Workers/Cache.ts +102 -0
  575. package/src/Cloudflare/Workers/CronEventSource.ts +180 -6
  576. package/src/Cloudflare/Workers/DurableObject.ts +36 -1
  577. package/src/Cloudflare/Workers/DurableObjectState.ts +25 -0
  578. package/src/Cloudflare/Workers/Fetch.ts +2 -2
  579. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +3 -0
  580. package/src/Cloudflare/Workers/Worker.ts +315 -9
  581. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +18 -0
  582. package/src/Cloudflare/Workers/WorkerBridge.ts +37 -10
  583. package/src/Cloudflare/Workers/WorkerLoader.ts +10 -1
  584. package/src/Cloudflare/Workers/WorkerProvider.ts +576 -40
  585. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +23 -2
  586. package/src/Cloudflare/Workers/index.ts +1 -0
  587. package/src/Cloudflare/WorkersForPlatforms/DispatchNamespace.ts +2 -4
  588. package/src/Cloudflare/Workflows/Workflow.ts +296 -38
  589. package/src/Cloudflare/Workflows/WorkflowBridge.ts +62 -12
  590. package/src/Cloudflare/Zaraz/Config.ts +7 -2
  591. package/src/Cloudflare/Zone/Zone.ts +1 -0
  592. package/src/Docker/Container.ts +10 -1
  593. package/src/Drizzle/Schema.ts +12 -5
  594. package/src/Neon/Branch.ts +15 -3
  595. package/src/Output.ts +18 -2
  596. package/src/Planetscale/Postgres/PostgresRole.ts +2 -2
  597. package/src/Provider.ts +53 -3
  598. package/src/Ref.ts +10 -0
  599. package/src/Resource.ts +50 -1
  600. package/src/Stack.ts +1 -1
  601. package/src/State/HttpStateStore.ts +47 -5
  602. package/src/Sync.ts +494 -0
  603. package/src/Test/Bun.ts +4 -0
  604. package/src/Test/Http.ts +133 -0
  605. package/src/Test/Vitest.ts +11 -0
  606. package/src/Util/proxy-chain.ts +9 -12
  607. package/src/index.ts +1 -0
@@ -6,19 +6,193 @@ import { Worker } from "./Worker.ts";
6
6
  /**
7
7
  * Subscribe to Cloudflare Cron Triggers with an Effect handler.
8
8
  *
9
- * This wires both pieces of a scheduled Worker:
9
+ * A single call wires both pieces of a scheduled Worker:
10
+ *
11
+ * - **Deploy-time**: attaches the cron expression to the host Worker's
12
+ * Cron Triggers.
13
+ * - **Runtime**: registers a `scheduled` listener that runs your Effect on
14
+ * each fire. The handler receives Cloudflare's `ScheduledController`,
15
+ * which has three members:
16
+ * - `controller.scheduledTime` — the fire time in milliseconds since the
17
+ * Unix epoch.
18
+ * - `controller.cron` — the cron expression that fired.
19
+ * - `controller.noRetry()` — opts the invocation out of Cloudflare's
20
+ * retry-on-failure. Only meaningful when the scheduled invocation can
21
+ * actually fail — see the failure & retry section below.
22
+ *
23
+ * Each member has its own section below with an Effect example first and
24
+ * an async example second.
25
+ *
26
+ * Requires `CronEventSourceLive` provided on the Worker's Effect.
27
+ *
28
+ * **Failure & retry semantics**: a failing handler won't crash the Worker —
29
+ * the event source catches the failure and moves on. That also means
30
+ * Cloudflare never observes a failed invocation, so its platform-level
31
+ * retry (and `controller.noRetry()`) never comes into play here. Express
32
+ * retry declaratively with `Effect.retry` inside the handler, and log or
33
+ * report errors if you need visibility into failed runs. In async Workers
34
+ * the opposite holds: a `scheduled` handler that throws (or rejects) marks
35
+ * the invocation failed and Cloudflare may retry it — call
36
+ * `controller.noRetry()` before rethrowing to suppress that.
37
+ *
38
+ * Async (non-Effect) Workers don't use `cron` — they attach schedules with
39
+ * the Worker's `crons` prop and export their own `scheduled` handler from
40
+ * the entry module (each section below includes the async variant). Pass
41
+ * `crons: []` to remove all Cron Triggers from a Worker.
10
42
  *
11
- * - **Runtime**: registers a `scheduled` listener on the Worker.
12
- * - **Deploy-time**: attaches the cron expression to the host Worker.
13
43
  * @binding
14
44
  * @product Workers
15
45
  * @category Workers & Compute
16
- * @example
46
+ *
47
+ * @section Declare a schedule
48
+ * @example Effect-native Worker (recommended)
49
+ * ```typescript
50
+ * import * as Cloudflare from "alchemy/Cloudflare";
51
+ * import * as Effect from "effect/Effect";
52
+ * import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
53
+ *
54
+ * export default Cloudflare.Worker(
55
+ * "Worker",
56
+ * { main: import.meta.url },
57
+ * Effect.gen(function* () {
58
+ * yield* Cloudflare.Workers.cron("0 12 * * *", () =>
59
+ * Effect.log("cron fired"),
60
+ * );
61
+ *
62
+ * return {
63
+ * fetch: Effect.succeed(HttpServerResponse.text("ok")),
64
+ * };
65
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
66
+ * );
67
+ * ```
68
+ *
69
+ * @example Async Worker — `crons` prop + exported `scheduled` handler
70
+ * ```typescript
71
+ * // alchemy.run.ts — attach the cron expressions at deploy time
72
+ * export const Worker = Cloudflare.Worker("Worker", {
73
+ * main: "./src/worker.ts",
74
+ * crons: ["0 12 * * *"],
75
+ * });
76
+ *
77
+ * // src/worker.ts — the entry module handles the fires itself
78
+ * export default {
79
+ * async scheduled(controller: ScheduledController) {
80
+ * console.log("cron fired");
81
+ * },
82
+ * };
83
+ * ```
84
+ *
85
+ * @section `controller.scheduledTime` — the fire time
86
+ * @example Effect: record each fire on a Durable Object
87
+ * ```typescript
88
+ * export default class Worker extends Cloudflare.Worker<Worker>()(
89
+ * "Worker",
90
+ * { main: import.meta.url },
91
+ * Effect.gen(function* () {
92
+ * const counters = yield* CronCounter;
93
+ *
94
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
95
+ * counters.getByName("default").record(controller.scheduledTime),
96
+ * );
97
+ *
98
+ * return {
99
+ * fetch: Effect.gen(function* () {
100
+ * const { times } = yield* counters.getByName("default").snapshot();
101
+ * return yield* HttpServerResponse.json({ times });
102
+ * }),
103
+ * };
104
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
105
+ * ) {}
106
+ * ```
107
+ *
108
+ * @example Async: use the fire time as an idempotency key
109
+ * ```typescript
110
+ * // scheduledTime is the time the fire was *scheduled* for (not when it
111
+ * // ran), so it is stable across retries of the same fire — a natural
112
+ * // idempotency key for at-most-once side effects.
113
+ * export default {
114
+ * async scheduled(controller: ScheduledController, env: WorkerEnv) {
115
+ * const key = `run:${controller.scheduledTime}`;
116
+ * if (await env.RUNS.get(key)) return;
117
+ * await syncFeeds();
118
+ * await env.RUNS.put(key, "done");
119
+ * },
120
+ * };
121
+ * ```
122
+ *
123
+ * @section `controller.cron` — dispatch multiple schedules
124
+ * @example Effect: one handler per expression
125
+ * ```typescript
126
+ * // Each handler only runs for fires of its own expression — the listener
127
+ * // checks controller.cron, so a midnight fire never runs the hourly handler.
128
+ * yield* Cloudflare.Workers.cron("0 * * * *", () => syncFeeds);
129
+ * yield* Cloudflare.Workers.cron("0 0 * * *", () => purgeExpired);
130
+ * ```
131
+ *
132
+ * @example Async: switch on `controller.cron`
17
133
  * ```typescript
18
- * yield* Cloudflare.Workers.cron("0 12 * * *", (controller) =>
19
- * Effect.log(`scheduled at ${controller.scheduledTime}`),
134
+ * export const Worker = Cloudflare.Worker("Worker", {
135
+ * main: "./src/worker.ts",
136
+ * crons: ["0 * * * *", "0 0 * * *"],
137
+ * });
138
+ *
139
+ * // src/worker.ts — one scheduled handler receives every fire
140
+ * export default {
141
+ * async scheduled(controller: ScheduledController) {
142
+ * switch (controller.cron) {
143
+ * case "0 * * * *":
144
+ * await syncFeeds();
145
+ * break;
146
+ * case "0 0 * * *":
147
+ * await purgeExpired();
148
+ * break;
149
+ * }
150
+ * },
151
+ * };
152
+ * ```
153
+ *
154
+ * @section `controller.noRetry()` — failure & retry control
155
+ * @example Effect: bound retries with `Effect.retry`
156
+ * ```typescript
157
+ * import * as Schedule from "effect/Schedule";
158
+ *
159
+ * // The event source reports the invocation as successful even when the
160
+ * // handler fails, so Cloudflare's platform retry rarely engages for Effect
161
+ * // handlers — Effect.retry is the primary retry control. Calling
162
+ * // controller.noRetry() once retries are exhausted defensively covers
163
+ * // anything that can still mark the invocation failed (e.g. a failing
164
+ * // waitUntil task).
165
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
166
+ * syncFeeds.pipe(
167
+ * Effect.retry({ schedule: Schedule.exponential("1 second"), times: 3 }),
168
+ * Effect.tapError((error) =>
169
+ * Effect.logError("syncFeeds failed permanently", error).pipe(
170
+ * Effect.andThen(Effect.sync(() => controller.noRetry())),
171
+ * ),
172
+ * ),
173
+ * ),
20
174
  * );
21
175
  * ```
176
+ *
177
+ * @example Async: suppress retry for permanent failures
178
+ * ```typescript
179
+ * // src/worker.ts — a thrown error marks the invocation failed and
180
+ * // Cloudflare may retry it; noRetry() opts this fire out of that.
181
+ * export default {
182
+ * async scheduled(controller: ScheduledController) {
183
+ * try {
184
+ * await syncFeeds();
185
+ * } catch (error) {
186
+ * if (isPermanentFailure(error)) {
187
+ * controller.noRetry();
188
+ * }
189
+ * throw error; // still recorded as a failed invocation
190
+ * }
191
+ * },
192
+ * };
193
+ * ```
194
+ *
195
+ * @see https://developers.cloudflare.com/workers/configuration/cron-triggers/
22
196
  */
23
197
  export declare const cron: <Req = never>(expression: string, process: (controller: cf.ScheduledController) => Effect.Effect<void, unknown, Req>) => Effect.Effect<void, never, CronEventSource>;
24
198
  export type CronEventSourceService = <Req = never>(expression: string, process: (controller: cf.ScheduledController) => Effect.Effect<void, unknown, Req>) => Effect.Effect<void, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"CronEventSource.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/CronEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAiB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,GAAG,KAAK,cAClB,MAAM,WACT,CACP,UAAU,EAAE,EAAE,CAAC,mBAAmB,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,gDACyB,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,KAAK,EAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,EAAE,CAAC,mBAAmB,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;AAEvC,qBAAa,eAAgB,SAAQ,oBAGI;CAAG;AAE5C,eAAO,MAAM,mBAAmB,kDAkC/B,CAAC"}
1
+ {"version":3,"file":"CronEventSource.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/CronEventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAiB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8LG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,GAAG,KAAK,cAClB,MAAM,WACT,CACP,UAAU,EAAE,EAAE,CAAC,mBAAmB,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,gDACyB,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,GAAG,KAAK,EAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,EAAE,CAAC,mBAAmB,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;AAEvC,qBAAa,eAAgB,SAAQ,oBAGI;CAAG;AAE5C,eAAO,MAAM,mBAAmB,kDAkC/B,CAAC"}
@@ -7,19 +7,193 @@ import { isWorkerEvent, Worker } from "./Worker.js";
7
7
  /**
8
8
  * Subscribe to Cloudflare Cron Triggers with an Effect handler.
9
9
  *
10
- * This wires both pieces of a scheduled Worker:
10
+ * A single call wires both pieces of a scheduled Worker:
11
+ *
12
+ * - **Deploy-time**: attaches the cron expression to the host Worker's
13
+ * Cron Triggers.
14
+ * - **Runtime**: registers a `scheduled` listener that runs your Effect on
15
+ * each fire. The handler receives Cloudflare's `ScheduledController`,
16
+ * which has three members:
17
+ * - `controller.scheduledTime` — the fire time in milliseconds since the
18
+ * Unix epoch.
19
+ * - `controller.cron` — the cron expression that fired.
20
+ * - `controller.noRetry()` — opts the invocation out of Cloudflare's
21
+ * retry-on-failure. Only meaningful when the scheduled invocation can
22
+ * actually fail — see the failure & retry section below.
23
+ *
24
+ * Each member has its own section below with an Effect example first and
25
+ * an async example second.
26
+ *
27
+ * Requires `CronEventSourceLive` provided on the Worker's Effect.
28
+ *
29
+ * **Failure & retry semantics**: a failing handler won't crash the Worker —
30
+ * the event source catches the failure and moves on. That also means
31
+ * Cloudflare never observes a failed invocation, so its platform-level
32
+ * retry (and `controller.noRetry()`) never comes into play here. Express
33
+ * retry declaratively with `Effect.retry` inside the handler, and log or
34
+ * report errors if you need visibility into failed runs. In async Workers
35
+ * the opposite holds: a `scheduled` handler that throws (or rejects) marks
36
+ * the invocation failed and Cloudflare may retry it — call
37
+ * `controller.noRetry()` before rethrowing to suppress that.
38
+ *
39
+ * Async (non-Effect) Workers don't use `cron` — they attach schedules with
40
+ * the Worker's `crons` prop and export their own `scheduled` handler from
41
+ * the entry module (each section below includes the async variant). Pass
42
+ * `crons: []` to remove all Cron Triggers from a Worker.
11
43
  *
12
- * - **Runtime**: registers a `scheduled` listener on the Worker.
13
- * - **Deploy-time**: attaches the cron expression to the host Worker.
14
44
  * @binding
15
45
  * @product Workers
16
46
  * @category Workers & Compute
17
- * @example
47
+ *
48
+ * @section Declare a schedule
49
+ * @example Effect-native Worker (recommended)
50
+ * ```typescript
51
+ * import * as Cloudflare from "alchemy/Cloudflare";
52
+ * import * as Effect from "effect/Effect";
53
+ * import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
54
+ *
55
+ * export default Cloudflare.Worker(
56
+ * "Worker",
57
+ * { main: import.meta.url },
58
+ * Effect.gen(function* () {
59
+ * yield* Cloudflare.Workers.cron("0 12 * * *", () =>
60
+ * Effect.log("cron fired"),
61
+ * );
62
+ *
63
+ * return {
64
+ * fetch: Effect.succeed(HttpServerResponse.text("ok")),
65
+ * };
66
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
67
+ * );
68
+ * ```
69
+ *
70
+ * @example Async Worker — `crons` prop + exported `scheduled` handler
71
+ * ```typescript
72
+ * // alchemy.run.ts — attach the cron expressions at deploy time
73
+ * export const Worker = Cloudflare.Worker("Worker", {
74
+ * main: "./src/worker.ts",
75
+ * crons: ["0 12 * * *"],
76
+ * });
77
+ *
78
+ * // src/worker.ts — the entry module handles the fires itself
79
+ * export default {
80
+ * async scheduled(controller: ScheduledController) {
81
+ * console.log("cron fired");
82
+ * },
83
+ * };
84
+ * ```
85
+ *
86
+ * @section `controller.scheduledTime` — the fire time
87
+ * @example Effect: record each fire on a Durable Object
88
+ * ```typescript
89
+ * export default class Worker extends Cloudflare.Worker<Worker>()(
90
+ * "Worker",
91
+ * { main: import.meta.url },
92
+ * Effect.gen(function* () {
93
+ * const counters = yield* CronCounter;
94
+ *
95
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
96
+ * counters.getByName("default").record(controller.scheduledTime),
97
+ * );
98
+ *
99
+ * return {
100
+ * fetch: Effect.gen(function* () {
101
+ * const { times } = yield* counters.getByName("default").snapshot();
102
+ * return yield* HttpServerResponse.json({ times });
103
+ * }),
104
+ * };
105
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
106
+ * ) {}
107
+ * ```
108
+ *
109
+ * @example Async: use the fire time as an idempotency key
110
+ * ```typescript
111
+ * // scheduledTime is the time the fire was *scheduled* for (not when it
112
+ * // ran), so it is stable across retries of the same fire — a natural
113
+ * // idempotency key for at-most-once side effects.
114
+ * export default {
115
+ * async scheduled(controller: ScheduledController, env: WorkerEnv) {
116
+ * const key = `run:${controller.scheduledTime}`;
117
+ * if (await env.RUNS.get(key)) return;
118
+ * await syncFeeds();
119
+ * await env.RUNS.put(key, "done");
120
+ * },
121
+ * };
122
+ * ```
123
+ *
124
+ * @section `controller.cron` — dispatch multiple schedules
125
+ * @example Effect: one handler per expression
126
+ * ```typescript
127
+ * // Each handler only runs for fires of its own expression — the listener
128
+ * // checks controller.cron, so a midnight fire never runs the hourly handler.
129
+ * yield* Cloudflare.Workers.cron("0 * * * *", () => syncFeeds);
130
+ * yield* Cloudflare.Workers.cron("0 0 * * *", () => purgeExpired);
131
+ * ```
132
+ *
133
+ * @example Async: switch on `controller.cron`
18
134
  * ```typescript
19
- * yield* Cloudflare.Workers.cron("0 12 * * *", (controller) =>
20
- * Effect.log(`scheduled at ${controller.scheduledTime}`),
135
+ * export const Worker = Cloudflare.Worker("Worker", {
136
+ * main: "./src/worker.ts",
137
+ * crons: ["0 * * * *", "0 0 * * *"],
138
+ * });
139
+ *
140
+ * // src/worker.ts — one scheduled handler receives every fire
141
+ * export default {
142
+ * async scheduled(controller: ScheduledController) {
143
+ * switch (controller.cron) {
144
+ * case "0 * * * *":
145
+ * await syncFeeds();
146
+ * break;
147
+ * case "0 0 * * *":
148
+ * await purgeExpired();
149
+ * break;
150
+ * }
151
+ * },
152
+ * };
153
+ * ```
154
+ *
155
+ * @section `controller.noRetry()` — failure & retry control
156
+ * @example Effect: bound retries with `Effect.retry`
157
+ * ```typescript
158
+ * import * as Schedule from "effect/Schedule";
159
+ *
160
+ * // The event source reports the invocation as successful even when the
161
+ * // handler fails, so Cloudflare's platform retry rarely engages for Effect
162
+ * // handlers — Effect.retry is the primary retry control. Calling
163
+ * // controller.noRetry() once retries are exhausted defensively covers
164
+ * // anything that can still mark the invocation failed (e.g. a failing
165
+ * // waitUntil task).
166
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
167
+ * syncFeeds.pipe(
168
+ * Effect.retry({ schedule: Schedule.exponential("1 second"), times: 3 }),
169
+ * Effect.tapError((error) =>
170
+ * Effect.logError("syncFeeds failed permanently", error).pipe(
171
+ * Effect.andThen(Effect.sync(() => controller.noRetry())),
172
+ * ),
173
+ * ),
174
+ * ),
21
175
  * );
22
176
  * ```
177
+ *
178
+ * @example Async: suppress retry for permanent failures
179
+ * ```typescript
180
+ * // src/worker.ts — a thrown error marks the invocation failed and
181
+ * // Cloudflare may retry it; noRetry() opts this fire out of that.
182
+ * export default {
183
+ * async scheduled(controller: ScheduledController) {
184
+ * try {
185
+ * await syncFeeds();
186
+ * } catch (error) {
187
+ * if (isPermanentFailure(error)) {
188
+ * controller.noRetry();
189
+ * }
190
+ * throw error; // still recorded as a failed invocation
191
+ * }
192
+ * },
193
+ * };
194
+ * ```
195
+ *
196
+ * @see https://developers.cloudflare.com/workers/configuration/cron-triggers/
23
197
  */
24
198
  export const cron = (expression, process) => CronEventSource.use((source) => source(expression, process));
25
199
  export class CronEventSource extends Context.Service()("Cloudflare.Workers.CronEventSource") {
@@ -1 +1 @@
1
- {"version":3,"file":"CronEventSource.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/CronEventSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,UAAkB,EAClB,OAEsC,EACtC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AASlE,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,oCAAoC,CAAC;CAAG;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAC7C,eAAe,EACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EACxB,UAAkB,EAClB,OAEsC;QAEtC,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAA+B,CAAC;QAClE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAY,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO;YAEhE,MAAM,UAAU,GAAG,KAAK,CAAC,KAA+B,CAAC;YACzD,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO;YAE3C,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAA2B,CAAC;AAC/B,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"CronEventSource.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/CronEventSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8LG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,UAAkB,EAClB,OAEsC,EACtC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AASlE,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,oCAAoC,CAAC;CAAG;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAC7C,eAAe,EACf,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EACxB,UAAkB,EAClB,OAEsC;QAEtC,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,CAAC,QAAQ,UAAU,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC,UAAU,CAAC;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAA+B,CAAC;QAClE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAY,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO;YAEhE,MAAM,UAAU,GAAG,KAAK,CAAC,KAA+B,CAAC;YACzD,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO;YAE3C,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAA2B,CAAC;AAC/B,CAAC,CAAC,CACH,CAAC"}
@@ -125,7 +125,7 @@ export declare class DurableObjectScope extends DurableObjectScope_base {
125
125
  * ```
126
126
  *
127
127
  * There are two ways to define a Durable Object. See the
128
- * {@link https://alchemy.run/concepts/platform | Platform concept} page
128
+ * [Functions & Servers](/infrastructure-as-effects/functions-and-servers) page
129
129
  * for the full explanation.
130
130
  *
131
131
  * - **Inline** — Effect implementation passed directly, single file.
@@ -413,6 +413,41 @@ export declare class DurableObjectScope extends DurableObjectScope_base {
413
413
  * const value = yield* state.storage.get("counter");
414
414
  * ```
415
415
  *
416
+ * @section Background Work & Scopes
417
+ * Every RPC call and fetch into a Durable Object gets its own Effect
418
+ * `Scope`. When the method finishes, the bridge closes that scope and
419
+ * registers the close promise with workerd's `state.waitUntil` — so
420
+ * finalizers added with `Effect.addFinalizer` inside a method run *after*
421
+ * the result is returned to the caller, without blocking it, and the
422
+ * object stays alive until they settle.
423
+ *
424
+ * For ad-hoc background work, `state.waitUntil(effect)` forks an Effect
425
+ * with the caller's full context and keeps the object alive until it
426
+ * settles.
427
+ *
428
+ * Attach cleanup to method scopes, not the constructor (init) closure —
429
+ * the constructor runs once per in-memory instance under
430
+ * `blockConcurrencyWhile`, and its scope is not tied to any call.
431
+ *
432
+ * @example Responding before finishing the work
433
+ * ```typescript
434
+ * return {
435
+ * record: Effect.fn(function* (entry: string) {
436
+ * // runs after `record` returns; the DO stays alive until it settles
437
+ * yield* Effect.addFinalizer(() =>
438
+ * state.storage.put(`audit:${entry}`, Date.now()).pipe(Effect.ignore),
439
+ * );
440
+ * return "accepted" as const;
441
+ * }),
442
+ *
443
+ * refresh: Effect.fn(function* () {
444
+ * // same idea, explicit form
445
+ * yield* state.waitUntil(recomputeExpensiveView());
446
+ * return "scheduled" as const;
447
+ * }),
448
+ * };
449
+ * ```
450
+ *
416
451
  * @section WebSocket Hibernation
417
452
  * Durable Objects support WebSocket hibernation — the runtime can
418
453
  * evict the object from memory while keeping connections open. Use
@@ -1 +1 @@
1
- {"version":3,"file":"DurableObject.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DurableObject.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObject.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export class DurableObjectScope extends Context.Service()("Cloudflare.DurableObj
48
48
  * ```
49
49
  *
50
50
  * There are two ways to define a Durable Object. See the
51
- * {@link https://alchemy.run/concepts/platform | Platform concept} page
51
+ * [Functions & Servers](/infrastructure-as-effects/functions-and-servers) page
52
52
  * for the full explanation.
53
53
  *
54
54
  * - **Inline** — Effect implementation passed directly, single file.
@@ -336,6 +336,41 @@ export class DurableObjectScope extends Context.Service()("Cloudflare.DurableObj
336
336
  * const value = yield* state.storage.get("counter");
337
337
  * ```
338
338
  *
339
+ * @section Background Work & Scopes
340
+ * Every RPC call and fetch into a Durable Object gets its own Effect
341
+ * `Scope`. When the method finishes, the bridge closes that scope and
342
+ * registers the close promise with workerd's `state.waitUntil` — so
343
+ * finalizers added with `Effect.addFinalizer` inside a method run *after*
344
+ * the result is returned to the caller, without blocking it, and the
345
+ * object stays alive until they settle.
346
+ *
347
+ * For ad-hoc background work, `state.waitUntil(effect)` forks an Effect
348
+ * with the caller's full context and keeps the object alive until it
349
+ * settles.
350
+ *
351
+ * Attach cleanup to method scopes, not the constructor (init) closure —
352
+ * the constructor runs once per in-memory instance under
353
+ * `blockConcurrencyWhile`, and its scope is not tied to any call.
354
+ *
355
+ * @example Responding before finishing the work
356
+ * ```typescript
357
+ * return {
358
+ * record: Effect.fn(function* (entry: string) {
359
+ * // runs after `record` returns; the DO stays alive until it settles
360
+ * yield* Effect.addFinalizer(() =>
361
+ * state.storage.put(`audit:${entry}`, Date.now()).pipe(Effect.ignore),
362
+ * );
363
+ * return "accepted" as const;
364
+ * }),
365
+ *
366
+ * refresh: Effect.fn(function* () {
367
+ * // same idea, explicit form
368
+ * yield* state.waitUntil(recomputeExpensiveView());
369
+ * return "scheduled" as const;
370
+ * }),
371
+ * };
372
+ * ```
373
+ *
339
374
  * @section WebSocket Hibernation
340
375
  * Durable Objects support WebSocket hibernation — the runtime can
341
376
  * evict the object from memory while keeping connections open. Use
@@ -1 +1 @@
1
- {"version":3,"file":"DurableObject.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DurableObject.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObject.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,17 @@ declare const DurableObjectState_base: Context.ServiceClass<DurableObjectState,
8
8
  readonly id: cf.DurableObjectId;
9
9
  readonly storage: DurableObjectStorage;
10
10
  container?: cf.Container;
11
+ /**
12
+ * Run an Effect in the background without blocking the current event,
13
+ * keeping the Durable Object alive until it settles. The Effect runs with
14
+ * the caller's full context (services, tracing), and the resulting
15
+ * promise is registered with workerd's `state.waitUntil`.
16
+ */
17
+ waitUntil<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<void, never, R | RuntimeContext>;
18
+ /**
19
+ * The raw workerd DurableObjectState, for interop with async APIs.
20
+ */
21
+ readonly raw: cf.DurableObjectState;
11
22
  blockConcurrencyWhile<T>(callback: () => Effect.Effect<T, never, RuntimeContext>): Effect.Effect<T, never, RuntimeContext>;
12
23
  acceptWebSocket(ws: WebSocket, tags?: string[]): Effect.Effect<void, never, RuntimeContext>;
13
24
  getWebSockets(tag?: string): Effect.Effect<WebSocket[], never, RuntimeContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"DurableObjectState.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;;iBAK9C,EAAE,CAAC,eAAe;sBACb,oBAAoB;gBAC1B,EAAE,CAAC,SAAS;0BACF,CAAC,YACX,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,GACtD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC;wBAEpC,SAAS,SACN,MAAM,EAAE,GACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;wBAErC,MAAM,GACX,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC;4CAEnC,EAAE,CAAC,4BAA4B,GAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;gCACjB,MAAM,CAAC,MAAM,CACvC,EAAE,CAAC,4BAA4B,GAAG,IAAI,EACtC,KAAK,EACL,cAAc,CACf;0CAEK,EAAE,CAAC,SAAS,GACf,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;qDAEtC,MAAM,GACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;4CACL,MAAM,CAAC,MAAM,CACnD,MAAM,GAAG,IAAI,EACb,KAAK,EACL,cAAc,CACf;gBACW,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC;mBAC1D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;;AApCtE,qBAAa,kBAAmB,SAAQ,uBAsCJ;CAAG;AAEvC,eAAO,MAAM,sBAAsB,UAC1B,EAAE,CAAC,kBAAkB,KAC3B,kBAAkB,CAAC,SAAS,CAwB7B,CAAC"}
1
+ {"version":3,"file":"DurableObjectState.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;;iBAK9C,EAAE,CAAC,eAAe;sBACb,oBAAoB;gBAC1B,EAAE,CAAC,SAAS;IACxB;;;;;OAKG;cACO,CAAC,EAAE,CAAC,EAAE,CAAC,UACP,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC;IACjD;;OAEG;kBACW,EAAE,CAAC,kBAAkB;0BACb,CAAC,YACX,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,GACtD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC;wBAEpC,SAAS,SACN,MAAM,EAAE,GACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;wBAErC,MAAM,GACX,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC;4CAEnC,EAAE,CAAC,4BAA4B,GAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;gCACjB,MAAM,CAAC,MAAM,CACvC,EAAE,CAAC,4BAA4B,GAAG,IAAI,EACtC,KAAK,EACL,cAAc,CACf;0CAEK,EAAE,CAAC,SAAS,GACf,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;qDAEtC,MAAM,GACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;4CACL,MAAM,CAAC,MAAM,CACnD,MAAM,GAAG,IAAI,EACb,KAAK,EACL,cAAc,CACf;gBACW,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC;mBAC1D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC;;AAjDtE,qBAAa,kBAAmB,SAAQ,uBAmDJ;CAAG;AAEvC,eAAO,MAAM,sBAAsB,UAC1B,EAAE,CAAC,kBAAkB,KAC3B,kBAAkB,CAAC,SAAS,CAoC7B,CAAC"}
@@ -8,6 +8,13 @@ export const fromDurableObjectState = (state) => ({
8
8
  id: state.id,
9
9
  container: state.container,
10
10
  storage: fromDurableObjectStorage(state.storage),
11
+ raw: state,
12
+ waitUntil: (effect) => Effect.gen(function* () {
13
+ const context = yield* Effect.context();
14
+ // Register the promise with workerd un-awaited — waitUntil extends the
15
+ // event's lifetime without blocking the caller.
16
+ yield* Effect.sync(() => state.waitUntil(Effect.runPromise(effect.pipe(Effect.provide(context)))));
17
+ }),
11
18
  blockConcurrencyWhile: (callback) => Effect.tryPromise(() => state.blockConcurrencyWhile(() => Effect.runPromise(callback()))),
12
19
  acceptWebSocket: (ws, tags) => Effect.sync(() => state.acceptWebSocket(ws.ws, tags)),
13
20
  getWebSockets: (tag) => Effect.sync(() => state.getWebSockets(tag).map(fromWebSocket)),
@@ -1 +1 @@
1
- {"version":3,"file":"DurableObjectState.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,OAAO,EAsCpD,CAAC,+BAA+B,CAAC;CAAG;AAEvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAA4B,EACG,EAAE,CAAC,CAAC;IACnC,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;IAChD,qBAAqB,EAAE,CAAI,QAAgC,EAAE,EAAE,CAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CACrB,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CACjE;IACH,eAAe,EAAE,CAAC,EAAa,EAAE,IAAe,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvD,aAAa,EAAE,CAAC,GAAY,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChE,wBAAwB,EAAE,CAAC,YAA8C,EAAE,EAAE,CAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACjE,wBAAwB,EAAE,GAAG,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACrD,iCAAiC,EAAE,CAAC,EAAgB,EAAE,EAAE,CACtD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAChE,oCAAoC,EAAE,CAAC,SAAkB,EAAE,EAAE,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAC1E,oCAAoC,EAAE,GAAG,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC;IACjE,OAAO,EAAE,CAAC,EAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC,CAAC"}
1
+ {"version":3,"file":"DurableObjectState.js","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/DurableObjectState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,OAAO,EAmDpD,CAAC,+BAA+B,CAAC;CAAG;AAEvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAA4B,EACG,EAAE,CAAC,CAAC;IACnC,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;IAChD,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,CAAU,MAA8B,EAAE,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAK,CAAC;QAC3C,uEAAuE;QACvE,gDAAgD;QAChD,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,KAAK,CAAC,SAAS,CACb,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACxD,CACF,CAAC;IACJ,CAAC,CAAC;IACJ,qBAAqB,EAAE,CAAI,QAAgC,EAAE,EAAE,CAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CACrB,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CACjE;IACH,eAAe,EAAE,CAAC,EAAa,EAAE,IAAe,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvD,aAAa,EAAE,CAAC,GAAY,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChE,wBAAwB,EAAE,CAAC,YAA8C,EAAE,EAAE,CAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACjE,wBAAwB,EAAE,GAAG,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACrD,iCAAiC,EAAE,CAAC,EAAgB,EAAE,EAAE,CACtD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAChE,oCAAoC,EAAE,CAAC,SAAkB,EAAE,EAAE,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAC1E,oCAAoC,EAAE,GAAG,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC;IACjE,OAAO,EAAE,CAAC,EAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import * as Stream from "effect/Stream";
6
6
  import * as HttpClientError from "effect/unstable/http/HttpClientError";
7
7
  import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
8
8
  import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
9
- import * as UrlParams from "effect/unstable/http/UrlParams";
9
+ import * as Url from "effect/unstable/http/Url";
10
10
  import * as Binding from "../../Binding.js";
11
11
  import { isWorker, WorkerEnvironment } from "./Worker.js";
12
12
  export const Fetch = Binding.Service("Cloudflare.Workers.Fetch");
@@ -32,7 +32,7 @@ export const FetchBinding = Layer.effect(Fetch, Effect.gen(function* () {
32
32
  });
33
33
  }));
34
34
  const doFetch = (fetcher, request) => {
35
- const urlResult = UrlParams.makeUrl(request.url, request.urlParams, request.hash.pipe(Option.getOrUndefined));
35
+ const urlResult = Url.make(request.url, request.urlParams, request.hash.pipe(Option.getOrUndefined));
36
36
  if (Result.isFailure(urlResult)) {
37
37
  return Effect.fail(new HttpClientError.InvalidUrlError({
38
38
  request,