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
@@ -10,19 +10,193 @@ import { isWorkerEvent, Worker } from "./Worker.ts";
10
10
  /**
11
11
  * Subscribe to Cloudflare Cron Triggers with an Effect handler.
12
12
  *
13
- * This wires both pieces of a scheduled Worker:
13
+ * A single call wires both pieces of a scheduled Worker:
14
+ *
15
+ * - **Deploy-time**: attaches the cron expression to the host Worker's
16
+ * Cron Triggers.
17
+ * - **Runtime**: registers a `scheduled` listener that runs your Effect on
18
+ * each fire. The handler receives Cloudflare's `ScheduledController`,
19
+ * which has three members:
20
+ * - `controller.scheduledTime` — the fire time in milliseconds since the
21
+ * Unix epoch.
22
+ * - `controller.cron` — the cron expression that fired.
23
+ * - `controller.noRetry()` — opts the invocation out of Cloudflare's
24
+ * retry-on-failure. Only meaningful when the scheduled invocation can
25
+ * actually fail — see the failure & retry section below.
26
+ *
27
+ * Each member has its own section below with an Effect example first and
28
+ * an async example second.
29
+ *
30
+ * Requires `CronEventSourceLive` provided on the Worker's Effect.
31
+ *
32
+ * **Failure & retry semantics**: a failing handler won't crash the Worker —
33
+ * the event source catches the failure and moves on. That also means
34
+ * Cloudflare never observes a failed invocation, so its platform-level
35
+ * retry (and `controller.noRetry()`) never comes into play here. Express
36
+ * retry declaratively with `Effect.retry` inside the handler, and log or
37
+ * report errors if you need visibility into failed runs. In async Workers
38
+ * the opposite holds: a `scheduled` handler that throws (or rejects) marks
39
+ * the invocation failed and Cloudflare may retry it — call
40
+ * `controller.noRetry()` before rethrowing to suppress that.
41
+ *
42
+ * Async (non-Effect) Workers don't use `cron` — they attach schedules with
43
+ * the Worker's `crons` prop and export their own `scheduled` handler from
44
+ * the entry module (each section below includes the async variant). Pass
45
+ * `crons: []` to remove all Cron Triggers from a Worker.
14
46
  *
15
- * - **Runtime**: registers a `scheduled` listener on the Worker.
16
- * - **Deploy-time**: attaches the cron expression to the host Worker.
17
47
  * @binding
18
48
  * @product Workers
19
49
  * @category Workers & Compute
20
- * @example
50
+ *
51
+ * @section Declare a schedule
52
+ * @example Effect-native Worker (recommended)
53
+ * ```typescript
54
+ * import * as Cloudflare from "alchemy/Cloudflare";
55
+ * import * as Effect from "effect/Effect";
56
+ * import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
57
+ *
58
+ * export default Cloudflare.Worker(
59
+ * "Worker",
60
+ * { main: import.meta.url },
61
+ * Effect.gen(function* () {
62
+ * yield* Cloudflare.Workers.cron("0 12 * * *", () =>
63
+ * Effect.log("cron fired"),
64
+ * );
65
+ *
66
+ * return {
67
+ * fetch: Effect.succeed(HttpServerResponse.text("ok")),
68
+ * };
69
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
70
+ * );
71
+ * ```
72
+ *
73
+ * @example Async Worker — `crons` prop + exported `scheduled` handler
74
+ * ```typescript
75
+ * // alchemy.run.ts — attach the cron expressions at deploy time
76
+ * export const Worker = Cloudflare.Worker("Worker", {
77
+ * main: "./src/worker.ts",
78
+ * crons: ["0 12 * * *"],
79
+ * });
80
+ *
81
+ * // src/worker.ts — the entry module handles the fires itself
82
+ * export default {
83
+ * async scheduled(controller: ScheduledController) {
84
+ * console.log("cron fired");
85
+ * },
86
+ * };
87
+ * ```
88
+ *
89
+ * @section `controller.scheduledTime` — the fire time
90
+ * @example Effect: record each fire on a Durable Object
91
+ * ```typescript
92
+ * export default class Worker extends Cloudflare.Worker<Worker>()(
93
+ * "Worker",
94
+ * { main: import.meta.url },
95
+ * Effect.gen(function* () {
96
+ * const counters = yield* CronCounter;
97
+ *
98
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
99
+ * counters.getByName("default").record(controller.scheduledTime),
100
+ * );
101
+ *
102
+ * return {
103
+ * fetch: Effect.gen(function* () {
104
+ * const { times } = yield* counters.getByName("default").snapshot();
105
+ * return yield* HttpServerResponse.json({ times });
106
+ * }),
107
+ * };
108
+ * }).pipe(Effect.provide(Cloudflare.Workers.CronEventSourceLive)),
109
+ * ) {}
110
+ * ```
111
+ *
112
+ * @example Async: use the fire time as an idempotency key
113
+ * ```typescript
114
+ * // scheduledTime is the time the fire was *scheduled* for (not when it
115
+ * // ran), so it is stable across retries of the same fire — a natural
116
+ * // idempotency key for at-most-once side effects.
117
+ * export default {
118
+ * async scheduled(controller: ScheduledController, env: WorkerEnv) {
119
+ * const key = `run:${controller.scheduledTime}`;
120
+ * if (await env.RUNS.get(key)) return;
121
+ * await syncFeeds();
122
+ * await env.RUNS.put(key, "done");
123
+ * },
124
+ * };
125
+ * ```
126
+ *
127
+ * @section `controller.cron` — dispatch multiple schedules
128
+ * @example Effect: one handler per expression
129
+ * ```typescript
130
+ * // Each handler only runs for fires of its own expression — the listener
131
+ * // checks controller.cron, so a midnight fire never runs the hourly handler.
132
+ * yield* Cloudflare.Workers.cron("0 * * * *", () => syncFeeds);
133
+ * yield* Cloudflare.Workers.cron("0 0 * * *", () => purgeExpired);
134
+ * ```
135
+ *
136
+ * @example Async: switch on `controller.cron`
21
137
  * ```typescript
22
- * yield* Cloudflare.Workers.cron("0 12 * * *", (controller) =>
23
- * Effect.log(`scheduled at ${controller.scheduledTime}`),
138
+ * export const Worker = Cloudflare.Worker("Worker", {
139
+ * main: "./src/worker.ts",
140
+ * crons: ["0 * * * *", "0 0 * * *"],
141
+ * });
142
+ *
143
+ * // src/worker.ts — one scheduled handler receives every fire
144
+ * export default {
145
+ * async scheduled(controller: ScheduledController) {
146
+ * switch (controller.cron) {
147
+ * case "0 * * * *":
148
+ * await syncFeeds();
149
+ * break;
150
+ * case "0 0 * * *":
151
+ * await purgeExpired();
152
+ * break;
153
+ * }
154
+ * },
155
+ * };
156
+ * ```
157
+ *
158
+ * @section `controller.noRetry()` — failure & retry control
159
+ * @example Effect: bound retries with `Effect.retry`
160
+ * ```typescript
161
+ * import * as Schedule from "effect/Schedule";
162
+ *
163
+ * // The event source reports the invocation as successful even when the
164
+ * // handler fails, so Cloudflare's platform retry rarely engages for Effect
165
+ * // handlers — Effect.retry is the primary retry control. Calling
166
+ * // controller.noRetry() once retries are exhausted defensively covers
167
+ * // anything that can still mark the invocation failed (e.g. a failing
168
+ * // waitUntil task).
169
+ * yield* Cloudflare.Workers.cron("0 * * * *", (controller) =>
170
+ * syncFeeds.pipe(
171
+ * Effect.retry({ schedule: Schedule.exponential("1 second"), times: 3 }),
172
+ * Effect.tapError((error) =>
173
+ * Effect.logError("syncFeeds failed permanently", error).pipe(
174
+ * Effect.andThen(Effect.sync(() => controller.noRetry())),
175
+ * ),
176
+ * ),
177
+ * ),
24
178
  * );
25
179
  * ```
180
+ *
181
+ * @example Async: suppress retry for permanent failures
182
+ * ```typescript
183
+ * // src/worker.ts — a thrown error marks the invocation failed and
184
+ * // Cloudflare may retry it; noRetry() opts this fire out of that.
185
+ * export default {
186
+ * async scheduled(controller: ScheduledController) {
187
+ * try {
188
+ * await syncFeeds();
189
+ * } catch (error) {
190
+ * if (isPermanentFailure(error)) {
191
+ * controller.noRetry();
192
+ * }
193
+ * throw error; // still recorded as a failed invocation
194
+ * }
195
+ * },
196
+ * };
197
+ * ```
198
+ *
199
+ * @see https://developers.cloudflare.com/workers/configuration/cron-triggers/
26
200
  */
27
201
  export const cron = <Req = never>(
28
202
  expression: string,
@@ -230,7 +230,7 @@ export class DurableObjectScope extends Context.Service<
230
230
  * ```
231
231
  *
232
232
  * There are two ways to define a Durable Object. See the
233
- * {@link https://alchemy.run/concepts/platform | Platform concept} page
233
+ * [Functions & Servers](/infrastructure-as-effects/functions-and-servers) page
234
234
  * for the full explanation.
235
235
  *
236
236
  * - **Inline** — Effect implementation passed directly, single file.
@@ -518,6 +518,41 @@ export class DurableObjectScope extends Context.Service<
518
518
  * const value = yield* state.storage.get("counter");
519
519
  * ```
520
520
  *
521
+ * @section Background Work & Scopes
522
+ * Every RPC call and fetch into a Durable Object gets its own Effect
523
+ * `Scope`. When the method finishes, the bridge closes that scope and
524
+ * registers the close promise with workerd's `state.waitUntil` — so
525
+ * finalizers added with `Effect.addFinalizer` inside a method run *after*
526
+ * the result is returned to the caller, without blocking it, and the
527
+ * object stays alive until they settle.
528
+ *
529
+ * For ad-hoc background work, `state.waitUntil(effect)` forks an Effect
530
+ * with the caller's full context and keeps the object alive until it
531
+ * settles.
532
+ *
533
+ * Attach cleanup to method scopes, not the constructor (init) closure —
534
+ * the constructor runs once per in-memory instance under
535
+ * `blockConcurrencyWhile`, and its scope is not tied to any call.
536
+ *
537
+ * @example Responding before finishing the work
538
+ * ```typescript
539
+ * return {
540
+ * record: Effect.fn(function* (entry: string) {
541
+ * // runs after `record` returns; the DO stays alive until it settles
542
+ * yield* Effect.addFinalizer(() =>
543
+ * state.storage.put(`audit:${entry}`, Date.now()).pipe(Effect.ignore),
544
+ * );
545
+ * return "accepted" as const;
546
+ * }),
547
+ *
548
+ * refresh: Effect.fn(function* () {
549
+ * // same idea, explicit form
550
+ * yield* state.waitUntil(recomputeExpensiveView());
551
+ * return "scheduled" as const;
552
+ * }),
553
+ * };
554
+ * ```
555
+ *
521
556
  * @section WebSocket Hibernation
522
557
  * Durable Objects support WebSocket hibernation — the runtime can
523
558
  * evict the object from memory while keeping connections open. Use
@@ -14,6 +14,19 @@ export class DurableObjectState extends Context.Service<
14
14
  readonly id: cf.DurableObjectId;
15
15
  readonly storage: DurableObjectStorage;
16
16
  container?: cf.Container;
17
+ /**
18
+ * Run an Effect in the background without blocking the current event,
19
+ * keeping the Durable Object alive until it settles. The Effect runs with
20
+ * the caller's full context (services, tracing), and the resulting
21
+ * promise is registered with workerd's `state.waitUntil`.
22
+ */
23
+ waitUntil<A, E, R>(
24
+ effect: Effect.Effect<A, E, R>,
25
+ ): Effect.Effect<void, never, R | RuntimeContext>;
26
+ /**
27
+ * The raw workerd DurableObjectState, for interop with async APIs.
28
+ */
29
+ readonly raw: cf.DurableObjectState;
17
30
  blockConcurrencyWhile<T>(
18
31
  callback: () => Effect.Effect<T, never, RuntimeContext>,
19
32
  ): Effect.Effect<T, never, RuntimeContext>;
@@ -54,6 +67,18 @@ export const fromDurableObjectState = (
54
67
  id: state.id,
55
68
  container: state.container,
56
69
  storage: fromDurableObjectStorage(state.storage),
70
+ raw: state,
71
+ waitUntil: <A, E, R>(effect: Effect.Effect<A, E, R>) =>
72
+ Effect.gen(function* () {
73
+ const context = yield* Effect.context<R>();
74
+ // Register the promise with workerd un-awaited — waitUntil extends the
75
+ // event's lifetime without blocking the caller.
76
+ yield* Effect.sync(() =>
77
+ state.waitUntil(
78
+ Effect.runPromise(effect.pipe(Effect.provide(context))),
79
+ ),
80
+ );
81
+ }),
57
82
  blockConcurrencyWhile: <T>(callback: () => Effect.Effect<T>) =>
58
83
  Effect.tryPromise(() =>
59
84
  state.blockConcurrencyWhile(() => Effect.runPromise(callback())),
@@ -7,7 +7,7 @@ import * as Stream from "effect/Stream";
7
7
  import * as HttpClientError from "effect/unstable/http/HttpClientError";
8
8
  import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
9
9
  import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
10
- import * as UrlParams from "effect/unstable/http/UrlParams";
10
+ import * as Url from "effect/unstable/http/Url";
11
11
  import * as Binding from "../../Binding.ts";
12
12
  import { isWorker, type Worker, WorkerEnvironment } from "./Worker.ts";
13
13
 
@@ -70,7 +70,7 @@ const doFetch = (
70
70
  HttpClientResponse.HttpClientResponse,
71
71
  HttpClientError.RequestError
72
72
  > => {
73
- const urlResult = UrlParams.makeUrl(
73
+ const urlResult = Url.make(
74
74
  request.url,
75
75
  request.urlParams,
76
76
  request.hash.pipe(Option.getOrUndefined),
@@ -478,6 +478,7 @@ export const LocalWorkerProvider = () =>
478
478
  ]),
479
479
  ),
480
480
  domains: [url],
481
+ routes: [],
481
482
  crons: Array.from(
482
483
  new Set([...getCronBindings(bindings), ...(props.crons ?? [])]),
483
484
  ),
@@ -545,6 +546,7 @@ export const LocalWorkerProvider = () =>
545
546
  tags: [],
546
547
  durableObjectNamespaces,
547
548
  domains: url ? [url] : [],
549
+ routes: [],
548
550
  crons: Array.from(
549
551
  new Set([...getCronBindings(bindings), ...(news.crons ?? [])]),
550
552
  ),
@@ -576,6 +578,7 @@ export const LocalWorkerProvider = () =>
576
578
  durableObjectNamespaces: {},
577
579
  accountId,
578
580
  domains: [],
581
+ routes: [],
579
582
  crons: news.crons ?? [],
580
583
  } satisfies Worker["Attributes"];
581
584
  }