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
@@ -3,11 +3,12 @@ import * as Console from "effect/Console";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as Option from "effect/Option";
5
5
  import * as Redacted from "effect/Redacted";
6
+ import * as Schedule from "effect/Schedule";
6
7
  import * as Stream from "effect/Stream";
7
8
  import { Unowned } from "../../AdoptPolicy.ts";
8
9
  import { isResolved } from "../../Diff.ts";
9
10
  import * as Provider from "../../Provider.ts";
10
- import { Resource } from "../../Resource.ts";
11
+ import { isResourceOfType, Resource } from "../../Resource.ts";
11
12
  import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
12
13
  import type { Providers } from "../Providers.ts";
13
14
 
@@ -56,8 +57,7 @@ export type Secret = Resource<
56
57
  >;
57
58
 
58
59
  export const isSecret = (value: unknown): value is Secret =>
59
- typeof value === "object" &&
60
- (value as any)?.Type === "Cloudflare.SecretsStore.Secret";
60
+ isResourceOfType(value, "Cloudflare.SecretsStore.Secret");
61
61
 
62
62
  export type SecretStatus = "pending" | "active" | "deleted";
63
63
 
@@ -181,12 +181,21 @@ export const StoreSecretProvider = () =>
181
181
  );
182
182
  if (created) {
183
183
  const secret = created.result[0]!;
184
+ // Freshly created secrets report "pending" until Cloudflare
185
+ // activates them; a worker deploy that references a pending
186
+ // secret is rejected with "Secrets Store binding ... which
187
+ // were not found". Wait (bounded) for activation so
188
+ // downstream deploys in the same run see an active secret.
189
+ const status = yield* waitForSecretActive(
190
+ { accountId, storeId, secretId: secret.id },
191
+ asSecretStatus(secret.status),
192
+ );
184
193
  return {
185
194
  secretId: secret.id,
186
195
  secretName: secret.name,
187
196
  storeId: secret.storeId,
188
197
  accountId,
189
- status: asSecretStatus(secret.status),
198
+ status,
190
199
  scopes,
191
200
  comment: secret.comment ?? undefined,
192
201
  };
@@ -216,12 +225,16 @@ export const StoreSecretProvider = () =>
216
225
  comment: news.comment,
217
226
  value: Redacted.value(news.value),
218
227
  });
228
+ const status = yield* waitForSecretActive(
229
+ { accountId, storeId, secretId: observed.id },
230
+ asSecretStatus(patched.status),
231
+ );
219
232
  return {
220
233
  secretId: observed.id,
221
234
  secretName: observed.name,
222
235
  storeId: observed.storeId,
223
236
  accountId,
224
- status: asSecretStatus(patched.status),
237
+ status,
225
238
  scopes,
226
239
  comment: patched.comment ?? undefined,
227
240
  };
@@ -337,6 +350,34 @@ export const StoreSecretProvider = () =>
337
350
  }),
338
351
  });
339
352
 
353
+ /**
354
+ * Poll a secret until Cloudflare reports it "active" (bounded at
355
+ * ~10s). Returns the last observed status rather than failing on
356
+ * timeout — consumers that bind the secret retry the
357
+ * `SecretsStoreBindingNotFound` deploy rejection themselves, so a
358
+ * slow activation degrades to a retried deploy instead of a hard
359
+ * error here.
360
+ */
361
+ const waitForSecretActive = (
362
+ key: { accountId: string; storeId: string; secretId: string },
363
+ initialStatus: SecretStatus,
364
+ ) =>
365
+ initialStatus === "active"
366
+ ? Effect.succeed<SecretStatus>("active")
367
+ : secretsStore.getStoreSecret(key).pipe(
368
+ Effect.map((s) => asSecretStatus(s.status)),
369
+ Effect.repeat({
370
+ schedule: Schedule.spaced("500 millis"),
371
+ until: (status) => status === "active",
372
+ times: 20,
373
+ }),
374
+ // The secret was observed moments ago; a NotFound here is a
375
+ // read-replica lag blip, not a deletion. Report the last known
376
+ // status and let the deploy-side retry take over.
377
+ Effect.catchTag("SecretNotFound", () => Effect.succeed(initialStatus)),
378
+ Effect.catchTag("StoreNotFound", () => Effect.succeed(initialStatus)),
379
+ );
380
+
340
381
  const resolveScopes = (scopes: string[] | undefined): string[] =>
341
382
  scopes && scopes.length > 0 ? scopes : ["workers"];
342
383
 
@@ -150,7 +150,9 @@ export type SecurityTxt = Resource<TypeId, Props, Attributes, never, Providers>;
150
150
  *
151
151
  * @see https://developers.cloudflare.com/security-center/infrastructure/security-file/
152
152
  */
153
- export const SecurityTxt = Resource<SecurityTxt>(TypeId);
153
+ export const SecurityTxt = Resource<SecurityTxt>(TypeId, {
154
+ aliases: ["Cloudflare.SecurityTxt"],
155
+ });
154
156
 
155
157
  /**
156
158
  * Returns true if the given value is a SecurityTxt resource.
@@ -15,11 +15,8 @@ import { isHttpClientError } from "effect/unstable/http/HttpClientError";
15
15
  import { adopt } from "../../AdoptPolicy.ts";
16
16
  import { AlchemyContext } from "../../AlchemyContext.ts";
17
17
  import { AuthError } from "../../Auth/AuthProvider.ts";
18
- import {
19
- CredentialsStore,
20
- CredentialsStoreLive,
21
- } from "../../Auth/Credentials.ts";
22
- import { ALCHEMY_PROFILE, ProfileLive } from "../../Auth/Profile.ts";
18
+ import { CredentialsStore } from "../../Auth/Credentials.ts";
19
+ import { ALCHEMY_PROFILE } from "../../Auth/Profile.ts";
23
20
  import * as Cloudflare from "../../Cloudflare/Providers.ts";
24
21
  import { deploy } from "../../Deploy.ts";
25
22
  import * as Output from "../../Output.ts";
@@ -39,9 +36,7 @@ import {
39
36
  } from "../../Telemetry/Metrics.ts";
40
37
  import * as Clank from "../../Util/Clank.ts";
41
38
  import * as Access from "../Access.ts";
42
- import { CloudflareAuth } from "../Auth/AuthProvider.ts";
43
39
  import * as CloudflareEnvironment from "../CloudflareEnvironment.ts";
44
- import * as Credentials from "../Credentials.ts";
45
40
  import { EdgeSessionError, createEdgeSession } from "../EdgeSession.ts";
46
41
  import Api, { STATE_STORE_SCRIPT_NAME, STATE_STORE_VERSION } from "./Api.ts";
47
42
  import {
@@ -217,12 +212,14 @@ export const state = () =>
217
212
  return yield* Effect.cached(init.pipe(Effect.provideContext(context)));
218
213
  }),
219
214
  ).pipe(
220
- Layer.provideMerge(Credentials.fromAuthProvider()),
221
- Layer.provideMerge(CloudflareEnvironment.fromProfile()),
222
- Layer.provideMerge(CloudflareAuth),
223
- Layer.provideMerge(Access.AccessLive),
224
- Layer.provideMerge(ProfileLive),
225
- Layer.provideMerge(CredentialsStoreLive),
215
+ // The Cloudflare API foundation shared with `providers()` —
216
+ // credentials, environment, auth/access, profile + credential
217
+ // store, and the same blanket retry policy. Without the retry
218
+ // policy the init-time subdomain/script/secrets probes run on the
219
+ // SDK default and give up early under Cloudflare rate limiting.
220
+ // `provide` (not `provideMerge`) so the distilled Retry tag stays
221
+ // out of this layer's public type.
222
+ Layer.provide(Cloudflare.CloudflareApiLive()),
226
223
  Layer.orDie,
227
224
  );
228
225
 
@@ -578,6 +575,34 @@ const deployWithLocalState = ({
578
575
  }),
579
576
  );
580
577
 
578
+ /**
579
+ * Writes against a *just-deployed* state-store worker can fail
580
+ * transiently while Cloudflare propagates the script, its route, and
581
+ * its Secrets Store bindings to the edge:
582
+ *
583
+ * - 404 — the workers.dev route isn't serving the new script yet
584
+ * - 401 — the worker is up but its auth-token secret binding hasn't
585
+ * propagated, so token validation reads a stale/absent value
586
+ * - 5xx — the Store DO dies while its encryption-key secret binding
587
+ * is still propagating
588
+ * - transport errors (no response) — cold workers.dev host blips
589
+ *
590
+ * @internal exported for unit testing.
591
+ */
592
+ export const isTransientBootstrapWriteError = (error: {
593
+ cause?: unknown;
594
+ }): boolean => {
595
+ const cause = error.cause;
596
+ if (cause == null) return false;
597
+ const tag = (cause as { _tag?: unknown })._tag;
598
+ if (typeof tag === "string" && tag.startsWith("Unauthorized")) return true;
599
+ if (isHttpClientError(cause)) {
600
+ const status = cause.response?.status;
601
+ return status === undefined || status === 404 || status >= 500;
602
+ }
603
+ return false;
604
+ };
605
+
581
606
  // check if there's a local stack that wasn't properly hoisted
582
607
  const hasLocalStack = (stage: string) =>
583
608
  Effect.gen(function* () {
@@ -637,11 +662,14 @@ const hoistBootstrapStack = Effect.fn(function* ({
637
662
  })
638
663
  .pipe(
639
664
  Effect.retry({
640
- while: (error) =>
641
- isHttpClientError(error.cause) &&
642
- // worker can 404 for a bit on first deploy, retry these
643
- error.cause.response?.status === 404,
644
- schedule: Schedule.fixed(200),
665
+ while: isTransientBootstrapWriteError,
666
+ // Bounded at ~30s: the freshly deployed worker (and its
667
+ // Secrets Store bindings) can take a while to serve
668
+ // consistently; anything persisting past that is a real
669
+ // failure to surface, not to spin on.
670
+ schedule: Schedule.fixed(500).pipe(
671
+ Schedule.both(Schedule.recurs(60)),
672
+ ),
645
673
  }),
646
674
  );
647
675
  }
@@ -703,8 +731,13 @@ export const loginWithCloudflare = (profileName: string, force: boolean) =>
703
731
  AuthTokenSecretName,
704
732
  ).pipe(
705
733
  Effect.retry({
706
- while: isWorkersPreviewConfigurationError,
734
+ while: (error) =>
735
+ isWorkersPreviewConfigurationError(error) ||
736
+ isTransientEdgeSessionError(error),
737
+ // Cap the exponential delay at 2s so 15 retries stay within
738
+ // ~30s instead of doubling unboundedly.
707
739
  schedule: Schedule.exponential(200).pipe(
740
+ Schedule.either(Schedule.spaced("2 seconds")),
708
741
  Schedule.both(Schedule.recurs(15)),
709
742
  ),
710
743
  }),
@@ -768,6 +801,10 @@ const isStateStoreAvailable = (scriptName: string = "alchemy-state-store") =>
768
801
  Effect.map((setting) => setting !== undefined),
769
802
  Effect.catchTag("WorkerNotFound", () => Effect.succeed(false)),
770
803
  Effect.catchTag("InvalidRoute", () => Effect.succeed(false)),
804
+ // A worker that exists but has no versions (a previous deploy was
805
+ // interrupted before any content upload) can't serve — treat it
806
+ // as absent so bootstrap redeploys it.
807
+ Effect.catchTag("WorkerHasNoVersions", () => Effect.succeed(false)),
771
808
  );
772
809
  });
773
810
 
@@ -831,11 +868,11 @@ const waitForStateStoreVersion = (url: string) =>
831
868
  }).pipe(
832
869
  Effect.retry({
833
870
  while: (error) => error instanceof StateStoreVersionNotReady,
834
- // Edge propagation is usually sub-second; poll fast and cap the
835
- // overall wait at ~10s so we fail loudly if something is really
836
- // wrong rather than silently hanging.
837
- schedule: Schedule.spaced("200 millis").pipe(
838
- Schedule.both(Schedule.recurs(50)),
871
+ // Edge propagation is usually sub-second but production traces
872
+ // show redeploys occasionally serving the old version for well
873
+ // over 10s. Poll for ~30s before failing loudly.
874
+ schedule: Schedule.spaced("500 millis").pipe(
875
+ Schedule.both(Schedule.recurs(60)),
839
876
  ),
840
877
  }),
841
878
  Effect.withSpan("state_store.wait_for_version", {
@@ -1000,6 +1037,34 @@ const isWorkersPreviewConfigurationError = (error: unknown) =>
1000
1037
  (error.message.includes("Invalid Workers Preview configuration") ||
1001
1038
  error.message.includes("Error 1031"));
1002
1039
 
1040
+ /**
1041
+ * Edge-preview reads are flaky in ways that clear up on their own:
1042
+ * the workers.dev edge can serve a generic Cloudflare 400/502 HTML
1043
+ * page while preview routing propagates ("Secret probe returned
1044
+ * ..."), the session-create call can hit transient API blips, and the
1045
+ * probe fetch can fail at the transport level ("fetch failed").
1046
+ * Retry everything except causes that are clearly permanent
1047
+ * (bad credentials, invalid routes).
1048
+ *
1049
+ * @internal exported for unit testing.
1050
+ */
1051
+ export const isTransientEdgeSessionError = (error: unknown): boolean => {
1052
+ if (!(error instanceof EdgeSessionError)) return false;
1053
+ // Non-200 probe responses are edge-propagation flakes, not client bugs.
1054
+ if (error.message.startsWith("Secret probe returned")) return true;
1055
+ const tag = (error.cause as { _tag?: unknown } | undefined)?._tag;
1056
+ if (
1057
+ typeof tag === "string" &&
1058
+ (tag.startsWith("Unauthorized") ||
1059
+ tag === "Forbidden" ||
1060
+ tag === "InvalidRoute" ||
1061
+ tag === "AuthError")
1062
+ ) {
1063
+ return false;
1064
+ }
1065
+ return true;
1066
+ };
1067
+
1003
1068
  /**
1004
1069
  * SHA-256 hex digest of the Cloudflare account ID. Used as a stable
1005
1070
  * pseudonymous identifier on telemetry spans so the dashboard can
@@ -4,6 +4,7 @@ import * as Predicate from "effect/Predicate";
4
4
  import * as Stream from "effect/Stream";
5
5
 
6
6
  import { Unowned } from "../../AdoptPolicy.ts";
7
+ import { isResolved } from "../../Diff.ts";
7
8
  import type { Input } from "../../Input.ts";
8
9
  import * as Provider from "../../Provider.ts";
9
10
  import { Resource } from "../../Resource.ts";
@@ -208,11 +209,14 @@ export const AccountResourceTagsProvider = () =>
208
209
  read: Effect.fn(function* ({ output, olds }) {
209
210
  const { accountId } = yield* yield* CloudflareEnvironment;
210
211
  const acct = output?.accountId ?? accountId;
211
- const resourceId =
212
- output?.resourceId ?? (olds?.resourceId as string | undefined);
213
- const resourceType = output?.resourceType ?? olds?.resourceType;
214
- const workerId =
215
- output?.workerId ?? (olds?.workerId as string | undefined);
212
+ // At plan time `olds` may still hold unresolved Output proxies (e.g.
213
+ // an adoption pre-check before the referenced resource deploys) —
214
+ // only fall back to them once resolved.
215
+ const resolvedOlds =
216
+ olds !== undefined && isResolved(olds) ? olds : undefined;
217
+ const resourceId = output?.resourceId ?? resolvedOlds?.resourceId;
218
+ const resourceType = output?.resourceType ?? resolvedOlds?.resourceType;
219
+ const workerId = output?.workerId ?? resolvedOlds?.workerId;
216
220
  if (!resourceId || !resourceType) return undefined;
217
221
 
218
222
  const observed = yield* resourceTagging.getAccountTag({
@@ -114,7 +114,9 @@ export type Route = Resource<
114
114
  * });
115
115
  * ```
116
116
  */
117
- export const Route = Resource<Route>("Cloudflare.Tunnel.Route");
117
+ export const Route = Resource<Route>("Cloudflare.Tunnel.Route", {
118
+ aliases: ["Cloudflare.TunnelRoute"],
119
+ });
118
120
 
119
121
  export const RouteProvider = () =>
120
122
  Provider.succeed(Route, {
@@ -150,7 +150,9 @@ export type Tunnel = Resource<
150
150
  * };
151
151
  * ```
152
152
  */
153
- export const Tunnel = Resource<Tunnel>("Cloudflare.Tunnel.Tunnel");
153
+ export const Tunnel = Resource<Tunnel>("Cloudflare.Tunnel.Tunnel", {
154
+ aliases: ["Cloudflare.Tunnel"],
155
+ });
154
156
 
155
157
  export const TunnelProvider = () =>
156
158
  Provider.succeed(Tunnel, {
@@ -119,7 +119,9 @@ export type UrlNormalization = Resource<
119
119
  *
120
120
  * @see https://developers.cloudflare.com/rules/normalization/
121
121
  */
122
- export const UrlNormalization = Resource<UrlNormalization>(TypeId);
122
+ export const UrlNormalization = Resource<UrlNormalization>(TypeId, {
123
+ aliases: ["Cloudflare.UrlNormalization"],
124
+ });
123
125
 
124
126
  /**
125
127
  * Returns true if the given value is a UrlNormalization resource.
@@ -1,12 +1,11 @@
1
1
  import * as vectorize from "@distilled.cloud/cloudflare/vectorize";
2
2
  import * as Effect from "effect/Effect";
3
- import * as Predicate from "effect/Predicate";
4
3
  import * as Stream from "effect/Stream";
5
4
 
6
5
  import { isResolved } from "../../Diff.ts";
7
6
  import { createPhysicalName } from "../../PhysicalName.ts";
8
7
  import * as Provider from "../../Provider.ts";
9
- import { Resource } from "../../Resource.ts";
8
+ import { isResourceOfType, Resource } from "../../Resource.ts";
10
9
  import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
11
10
  import type { Providers } from "../Providers.ts";
12
11
 
@@ -137,7 +136,7 @@ export const Index = Resource<Index>(TypeId);
137
136
  * Returns true if the given value is a Vectorize Index resource.
138
137
  */
139
138
  export const isIndex = (value: unknown): value is Index =>
140
- Predicate.hasProperty(value, "Type") && value.Type === TypeId;
139
+ isResourceOfType(value, TypeId);
141
140
 
142
141
  export const IndexProvider = () =>
143
142
  Provider.succeed(Index, {
@@ -122,6 +122,7 @@ export type VpcService = Resource<
122
122
  */
123
123
  export const VpcService = Resource<VpcService>(
124
124
  "Cloudflare.VpcService.VpcService",
125
+ { aliases: ["Cloudflare.VpcService"] },
125
126
  );
126
127
 
127
128
  const createServiceName = (id: string, name: string | undefined) =>
@@ -290,7 +290,9 @@ export type WaitingRoom = Resource<TypeId, Props, Attributes, never, Providers>;
290
290
  *
291
291
  * @see https://developers.cloudflare.com/waiting-room/
292
292
  */
293
- export const WaitingRoom = Resource<WaitingRoom>(TypeId);
293
+ export const WaitingRoom = Resource<WaitingRoom>(TypeId, {
294
+ aliases: ["Cloudflare.WaitingRoom"],
295
+ });
294
296
 
295
297
  /**
296
298
  * Returns true if the given value is a WaitingRoom resource.
@@ -136,7 +136,9 @@ export type HostnameContentList = Resource<
136
136
  *
137
137
  * @see https://developers.cloudflare.com/web3/
138
138
  */
139
- export const HostnameContentList = Resource<HostnameContentList>(TypeId);
139
+ export const HostnameContentList = Resource<HostnameContentList>(TypeId, {
140
+ aliases: ["Cloudflare.Web3HostnameContentList"],
141
+ });
140
142
 
141
143
  /**
142
144
  * Returns true if the given value is a HostnameContentList resource.
@@ -143,7 +143,9 @@ export type Hostname = Resource<
143
143
  *
144
144
  * @see https://developers.cloudflare.com/web3/
145
145
  */
146
- export const Hostname = Resource<Hostname>(TypeId);
146
+ export const Hostname = Resource<Hostname>(TypeId, {
147
+ aliases: ["Cloudflare.Web3Hostname"],
148
+ });
147
149
 
148
150
  /**
149
151
  * Returns true if the given value is a Hostname resource.
@@ -0,0 +1,102 @@
1
+ import type * as cf from "@cloudflare/workers-types";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Namespace from "../../Namespace.ts";
4
+ import type { RuntimeContext } from "../../RuntimeContext.ts";
5
+ import {
6
+ Worker,
7
+ WorkerExecutionContext,
8
+ type CachePurgeError,
9
+ } from "./Worker.ts";
10
+
11
+ export interface CacheOptions {
12
+ /**
13
+ * Whether Workers Cache checks the cache before invoking the Worker.
14
+ * @default true
15
+ */
16
+ enabled?: boolean;
17
+ /**
18
+ * Share cached responses across Worker versions. By default the cache is
19
+ * scoped to a single version, so every deploy starts cold.
20
+ * @default false
21
+ */
22
+ crossVersionCache?: boolean;
23
+ }
24
+
25
+ /**
26
+ * Runtime client for Workers Cache, returned by `yield* Cloudflare.cache()`.
27
+ */
28
+ export interface CacheClient {
29
+ /**
30
+ * Purge cached responses by `Cache-Tag`, path prefix, or everything.
31
+ */
32
+ purge(
33
+ options: cf.CachePurgeOptions,
34
+ ): Effect.Effect<cf.CachePurgeResult, CachePurgeError, RuntimeContext>;
35
+ }
36
+
37
+ /**
38
+ * Enable [Workers Cache](https://blog.cloudflare.com/workers-cache/) on the
39
+ * surrounding Worker and get the runtime cache client.
40
+ *
41
+ * Yielding `cache()` in an Effect-native Worker's init phase turns the cache
42
+ * on at deploy time (the equivalent of setting `cache: { enabled: true }` on
43
+ * the Worker's props) and returns a client whose `purge` drives the runtime
44
+ * `ctx.cache` API from your handlers.
45
+ *
46
+ * What gets cached is controlled by standard response headers —
47
+ * `Cache-Control` (including `stale-while-revalidate`), `Cache-Tag` for
48
+ * tag-based purging, and `Vary` for content negotiation.
49
+ *
50
+ * For async (non-Effect) Workers, set the `cache` prop on the Worker
51
+ * instead.
52
+ *
53
+ * @binding
54
+ * @product Workers
55
+ * @category Workers & Compute
56
+ * @example
57
+ * ```typescript
58
+ * Effect.gen(function* () {
59
+ * // init: enable Workers Cache on this Worker
60
+ * const { purge } = yield* Cloudflare.cache();
61
+ *
62
+ * return {
63
+ * fetch: Effect.gen(function* () {
64
+ * const request = yield* HttpServerRequest;
65
+ * if (request.url.startsWith("/invalidate")) {
66
+ * yield* purge({ tags: ["products"] });
67
+ * return HttpServerResponse.text("purged");
68
+ * }
69
+ * return HttpServerResponse.text("hello", {
70
+ * headers: {
71
+ * "Cache-Control": "public, max-age=300",
72
+ * "Cache-Tag": "products",
73
+ * },
74
+ * });
75
+ * }),
76
+ * };
77
+ * })
78
+ * ```
79
+ */
80
+ export const cache = (
81
+ options?: CacheOptions,
82
+ ): Effect.Effect<CacheClient, never, Worker | WorkerExecutionContext> =>
83
+ Effect.gen(function* () {
84
+ const host = yield* Worker;
85
+ const exec = yield* WorkerExecutionContext;
86
+ if (!globalThis.__ALCHEMY_RUNTIME__) {
87
+ yield* Namespace.push(
88
+ host.LogicalId,
89
+ host.bind("Cache", {
90
+ cache: {
91
+ enabled: options?.enabled ?? true,
92
+ crossVersionCache: options?.crossVersionCache,
93
+ },
94
+ }),
95
+ );
96
+ }
97
+ return {
98
+ // `exec` is the init-phase deferred context; purge resolves the live
99
+ // per-event context from the calling handler's fiber.
100
+ purge: (purgeOptions) => exec.cache.purge(purgeOptions),
101
+ };
102
+ });