alchemy 2.0.0-beta.61 → 2.0.0-beta.63

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 (1017) hide show
  1. package/README.md +26 -11
  2. package/bin/exec.js +2023 -75
  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 +16 -4
  6. package/lib/AWS/ACM/Certificate.js.map +1 -1
  7. package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
  8. package/lib/AWS/ApiGateway/common.js +6 -3
  9. package/lib/AWS/ApiGateway/common.js.map +1 -1
  10. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  11. package/lib/AWS/AuthProvider.js +2 -2
  12. package/lib/AWS/AuthProvider.js.map +1 -1
  13. package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts.map +1 -1
  14. package/lib/AWS/AutoScaling/AutoScalingGroup.js +8 -2
  15. package/lib/AWS/AutoScaling/AutoScalingGroup.js.map +1 -1
  16. package/lib/AWS/Bootstrap.d.ts.map +1 -1
  17. package/lib/AWS/Bootstrap.js +5 -2
  18. package/lib/AWS/Bootstrap.js.map +1 -1
  19. package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
  20. package/lib/AWS/CloudFront/Distribution.js +20 -5
  21. package/lib/AWS/CloudFront/Distribution.js.map +1 -1
  22. package/lib/AWS/CloudFront/Function.js +5 -2
  23. package/lib/AWS/CloudFront/Function.js.map +1 -1
  24. package/lib/AWS/CloudFront/Invalidation.d.ts.map +1 -1
  25. package/lib/AWS/CloudFront/Invalidation.js +4 -1
  26. package/lib/AWS/CloudFront/Invalidation.js.map +1 -1
  27. package/lib/AWS/CloudFront/KvEntries.d.ts.map +1 -1
  28. package/lib/AWS/CloudFront/KvEntries.js +4 -1
  29. package/lib/AWS/CloudFront/KvEntries.js.map +1 -1
  30. package/lib/AWS/CloudFront/KvRoutesUpdate.d.ts.map +1 -1
  31. package/lib/AWS/CloudFront/KvRoutesUpdate.js +8 -2
  32. package/lib/AWS/CloudFront/KvRoutesUpdate.js.map +1 -1
  33. package/lib/AWS/CloudFront/VpcOrigin.d.ts.map +1 -1
  34. package/lib/AWS/CloudFront/VpcOrigin.js +12 -3
  35. package/lib/AWS/CloudFront/VpcOrigin.js.map +1 -1
  36. package/lib/AWS/CloudFront/common.d.ts.map +1 -1
  37. package/lib/AWS/CloudFront/common.js +5 -2
  38. package/lib/AWS/CloudFront/common.js.map +1 -1
  39. package/lib/AWS/CloudWatch/AnomalyDetector.d.ts.map +1 -1
  40. package/lib/AWS/CloudWatch/AnomalyDetector.js +4 -1
  41. package/lib/AWS/CloudWatch/AnomalyDetector.js.map +1 -1
  42. package/lib/AWS/CloudWatch/common.d.ts.map +1 -1
  43. package/lib/AWS/CloudWatch/common.js +1 -1
  44. package/lib/AWS/CloudWatch/common.js.map +1 -1
  45. package/lib/AWS/DynamoDB/Table.d.ts.map +1 -1
  46. package/lib/AWS/DynamoDB/Table.js +53 -20
  47. package/lib/AWS/DynamoDB/Table.js.map +1 -1
  48. package/lib/AWS/EC2/EIP.d.ts.map +1 -1
  49. package/lib/AWS/EC2/EIP.js +4 -1
  50. package/lib/AWS/EC2/EIP.js.map +1 -1
  51. package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
  52. package/lib/AWS/EC2/EgressOnlyInternetGateway.js +4 -2
  53. package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
  54. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  55. package/lib/AWS/EC2/Instance.js +12 -3
  56. package/lib/AWS/EC2/Instance.js.map +1 -1
  57. package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
  58. package/lib/AWS/EC2/InternetGateway.js +12 -5
  59. package/lib/AWS/EC2/InternetGateway.js.map +1 -1
  60. package/lib/AWS/EC2/NatGateway.js +2 -4
  61. package/lib/AWS/EC2/NatGateway.js.map +1 -1
  62. package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
  63. package/lib/AWS/EC2/NetworkAcl.js +4 -1
  64. package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
  65. package/lib/AWS/EC2/NetworkAclEntry.d.ts.map +1 -1
  66. package/lib/AWS/EC2/NetworkAclEntry.js +4 -1
  67. package/lib/AWS/EC2/NetworkAclEntry.js.map +1 -1
  68. package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
  69. package/lib/AWS/EC2/RouteTable.js +8 -6
  70. package/lib/AWS/EC2/RouteTable.js.map +1 -1
  71. package/lib/AWS/EC2/RouteTableAssociation.js +2 -5
  72. package/lib/AWS/EC2/RouteTableAssociation.js.map +1 -1
  73. package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
  74. package/lib/AWS/EC2/SecurityGroup.js +8 -3
  75. package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
  76. package/lib/AWS/EC2/Subnet.d.ts.map +1 -1
  77. package/lib/AWS/EC2/Subnet.js +10 -6
  78. package/lib/AWS/EC2/Subnet.js.map +1 -1
  79. package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
  80. package/lib/AWS/EC2/Vpc.js +7 -7
  81. package/lib/AWS/EC2/Vpc.js.map +1 -1
  82. package/lib/AWS/EC2/VpcEndpoint.js +2 -4
  83. package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
  84. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  85. package/lib/AWS/EC2/hosted.js +2 -1
  86. package/lib/AWS/EC2/hosted.js.map +1 -1
  87. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  88. package/lib/AWS/ECS/Service.js +4 -1
  89. package/lib/AWS/ECS/Service.js.map +1 -1
  90. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  91. package/lib/AWS/ECS/Task.js +2 -1
  92. package/lib/AWS/ECS/Task.js.map +1 -1
  93. package/lib/AWS/EKS/Addon.js +8 -2
  94. package/lib/AWS/EKS/Addon.js.map +1 -1
  95. package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
  96. package/lib/AWS/EKS/Cluster.js +4 -1
  97. package/lib/AWS/EKS/Cluster.js.map +1 -1
  98. package/lib/AWS/ELBv2/TargetGroup.d.ts.map +1 -1
  99. package/lib/AWS/ELBv2/TargetGroup.js +4 -1
  100. package/lib/AWS/ELBv2/TargetGroup.js.map +1 -1
  101. package/lib/AWS/ELBv2/TrustStore.d.ts.map +1 -1
  102. package/lib/AWS/ELBv2/TrustStore.js +4 -1
  103. package/lib/AWS/ELBv2/TrustStore.js.map +1 -1
  104. package/lib/AWS/IAM/SAMLProvider.js +4 -1
  105. package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
  106. package/lib/AWS/IdentityCenter/AccountAssignment.js +8 -2
  107. package/lib/AWS/IdentityCenter/AccountAssignment.js.map +1 -1
  108. package/lib/AWS/IdentityCenter/common.d.ts.map +1 -1
  109. package/lib/AWS/IdentityCenter/common.js +1 -1
  110. package/lib/AWS/IdentityCenter/common.js.map +1 -1
  111. package/lib/AWS/KMS/Alias.js +4 -1
  112. package/lib/AWS/KMS/Alias.js.map +1 -1
  113. package/lib/AWS/KMS/Key.js +4 -1
  114. package/lib/AWS/KMS/Key.js.map +1 -1
  115. package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
  116. package/lib/AWS/Kinesis/Stream.js +2 -2
  117. package/lib/AWS/Kinesis/Stream.js.map +1 -1
  118. package/lib/AWS/Kinesis/StreamConsumer.d.ts.map +1 -1
  119. package/lib/AWS/Kinesis/StreamConsumer.js +7 -4
  120. package/lib/AWS/Kinesis/StreamConsumer.js.map +1 -1
  121. package/lib/AWS/Lambda/Alias.d.ts.map +1 -1
  122. package/lib/AWS/Lambda/Alias.js +4 -1
  123. package/lib/AWS/Lambda/Alias.js.map +1 -1
  124. package/lib/AWS/Lambda/EventInvokeConfig.d.ts.map +1 -1
  125. package/lib/AWS/Lambda/EventInvokeConfig.js +2 -2
  126. package/lib/AWS/Lambda/EventInvokeConfig.js.map +1 -1
  127. package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
  128. package/lib/AWS/Lambda/EventSourceMapping.js +10 -4
  129. package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
  130. package/lib/AWS/Lambda/Function.d.ts +16 -1
  131. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  132. package/lib/AWS/Lambda/Function.js +113 -65
  133. package/lib/AWS/Lambda/Function.js.map +1 -1
  134. package/lib/AWS/Lambda/MicrovmProvider.d.ts.map +1 -1
  135. package/lib/AWS/Lambda/MicrovmProvider.js +13 -5
  136. package/lib/AWS/Lambda/MicrovmProvider.js.map +1 -1
  137. package/lib/AWS/Lambda/MicrovmRuntimeContext.d.ts.map +1 -1
  138. package/lib/AWS/Lambda/MicrovmRuntimeContext.js +9 -21
  139. package/lib/AWS/Lambda/MicrovmRuntimeContext.js.map +1 -1
  140. package/lib/AWS/Lambda/NetworkConnector.js +13 -5
  141. package/lib/AWS/Lambda/NetworkConnector.js.map +1 -1
  142. package/lib/AWS/Lambda/RuntimeExtension.d.ts +27 -0
  143. package/lib/AWS/Lambda/RuntimeExtension.d.ts.map +1 -0
  144. package/lib/AWS/Lambda/RuntimeExtension.js +49 -0
  145. package/lib/AWS/Lambda/RuntimeExtension.js.map +1 -0
  146. package/lib/AWS/Organizations/Account.js +5 -2
  147. package/lib/AWS/Organizations/Account.js.map +1 -1
  148. package/lib/AWS/Organizations/common.d.ts.map +1 -1
  149. package/lib/AWS/Organizations/common.js +1 -1
  150. package/lib/AWS/Organizations/common.js.map +1 -1
  151. package/lib/AWS/Providers.js +14 -12
  152. package/lib/AWS/Providers.js.map +1 -1
  153. package/lib/AWS/RDS/DBCluster.d.ts.map +1 -1
  154. package/lib/AWS/RDS/DBCluster.js +8 -2
  155. package/lib/AWS/RDS/DBCluster.js.map +1 -1
  156. package/lib/AWS/RDS/DBInstance.d.ts.map +1 -1
  157. package/lib/AWS/RDS/DBInstance.js +8 -2
  158. package/lib/AWS/RDS/DBInstance.js.map +1 -1
  159. package/lib/AWS/RDS/DBProxy.d.ts.map +1 -1
  160. package/lib/AWS/RDS/DBProxy.js +4 -1
  161. package/lib/AWS/RDS/DBProxy.js.map +1 -1
  162. package/lib/AWS/RDS/DBProxyEndpoint.d.ts.map +1 -1
  163. package/lib/AWS/RDS/DBProxyEndpoint.js +4 -1
  164. package/lib/AWS/RDS/DBProxyEndpoint.js.map +1 -1
  165. package/lib/AWS/Route53/HealthCheck.d.ts.map +1 -1
  166. package/lib/AWS/Route53/HealthCheck.js +8 -2
  167. package/lib/AWS/Route53/HealthCheck.js.map +1 -1
  168. package/lib/AWS/Route53/HostedZone.d.ts.map +1 -1
  169. package/lib/AWS/Route53/HostedZone.js +8 -2
  170. package/lib/AWS/Route53/HostedZone.js.map +1 -1
  171. package/lib/AWS/Route53/Record.d.ts.map +1 -1
  172. package/lib/AWS/Route53/Record.js +4 -1
  173. package/lib/AWS/Route53/Record.js.map +1 -1
  174. package/lib/AWS/S3/Bucket.d.ts.map +1 -1
  175. package/lib/AWS/S3/Bucket.js +5 -2
  176. package/lib/AWS/S3/Bucket.js.map +1 -1
  177. package/lib/AWS/SQS/Queue.d.ts.map +1 -1
  178. package/lib/AWS/SQS/Queue.js +25 -7
  179. package/lib/AWS/SQS/Queue.js.map +1 -1
  180. package/lib/AWS/StateStore/State.js +5 -2
  181. package/lib/AWS/StateStore/State.js.map +1 -1
  182. package/lib/AWS/Website/AssetDeployment.js +5 -2
  183. package/lib/AWS/Website/AssetDeployment.js.map +1 -1
  184. package/lib/Action.d.ts +8 -0
  185. package/lib/Action.d.ts.map +1 -1
  186. package/lib/Action.js +16 -5
  187. package/lib/Action.js.map +1 -1
  188. package/lib/ActionRuntimeContext.d.ts +14 -0
  189. package/lib/ActionRuntimeContext.d.ts.map +1 -0
  190. package/lib/ActionRuntimeContext.js +56 -0
  191. package/lib/ActionRuntimeContext.js.map +1 -0
  192. package/lib/Apply.d.ts.map +1 -1
  193. package/lib/Apply.js +48 -6
  194. package/lib/Apply.js.map +1 -1
  195. package/lib/Auth/AuthProvider.d.ts +10 -0
  196. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  197. package/lib/Auth/AuthProvider.js +10 -0
  198. package/lib/Auth/AuthProvider.js.map +1 -1
  199. package/lib/Auth/Lock.d.ts.map +1 -1
  200. package/lib/Auth/Lock.js +5 -2
  201. package/lib/Auth/Lock.js.map +1 -1
  202. package/lib/Axiom/AuthProvider.d.ts.map +1 -1
  203. package/lib/Axiom/AuthProvider.js +1 -1
  204. package/lib/Axiom/AuthProvider.js.map +1 -1
  205. package/lib/Bundle/PurePlugin.d.ts.map +1 -1
  206. package/lib/Bundle/PurePlugin.js +26 -1
  207. package/lib/Bundle/PurePlugin.js.map +1 -1
  208. package/lib/Bundle/Vite.d.ts +3 -1
  209. package/lib/Bundle/Vite.d.ts.map +1 -1
  210. package/lib/Bundle/Vite.js +38 -13
  211. package/lib/Bundle/Vite.js.map +1 -1
  212. package/lib/Cli/LoggingCli.d.ts.map +1 -1
  213. package/lib/Cli/LoggingCli.js +7 -4
  214. package/lib/Cli/LoggingCli.js.map +1 -1
  215. package/lib/Cli/commands/_shared.d.ts +74 -5
  216. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  217. package/lib/Cli/commands/_shared.js +84 -2
  218. package/lib/Cli/commands/_shared.js.map +1 -1
  219. package/lib/Cli/commands/login.d.ts +7 -3
  220. package/lib/Cli/commands/login.d.ts.map +1 -1
  221. package/lib/Cli/commands/login.js +71 -24
  222. package/lib/Cli/commands/login.js.map +1 -1
  223. package/lib/Cli/commands/logs.d.ts.map +1 -1
  224. package/lib/Cli/commands/logs.js +1 -0
  225. package/lib/Cli/commands/logs.js.map +1 -1
  226. package/lib/Cli/commands/nuke.d.ts.map +1 -1
  227. package/lib/Cli/commands/nuke.js +15 -24
  228. package/lib/Cli/commands/nuke.js.map +1 -1
  229. package/lib/Cli/commands/profile.d.ts +23 -1
  230. package/lib/Cli/commands/profile.d.ts.map +1 -1
  231. package/lib/Cli/commands/profile.js +46 -22
  232. package/lib/Cli/commands/profile.js.map +1 -1
  233. package/lib/Cli/commands/tail.d.ts.map +1 -1
  234. package/lib/Cli/commands/tail.js +1 -0
  235. package/lib/Cli/commands/tail.js.map +1 -1
  236. package/lib/Cloudflare/AI/GatewayDynamicRouting.d.ts.map +1 -1
  237. package/lib/Cloudflare/AI/GatewayDynamicRouting.js +31 -2
  238. package/lib/Cloudflare/AI/GatewayDynamicRouting.js.map +1 -1
  239. package/lib/Cloudflare/AI/LanguageModel.js +21 -4
  240. package/lib/Cloudflare/AI/LanguageModel.js.map +1 -1
  241. package/lib/Cloudflare/AI/QuerySearchLocal.d.ts +37 -0
  242. package/lib/Cloudflare/AI/QuerySearchLocal.d.ts.map +1 -0
  243. package/lib/Cloudflare/AI/QuerySearchLocal.js +53 -0
  244. package/lib/Cloudflare/AI/QuerySearchLocal.js.map +1 -0
  245. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts +35 -0
  246. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts.map +1 -0
  247. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js +47 -0
  248. package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js.map +1 -0
  249. package/lib/Cloudflare/AI/SearchHttpClient.d.ts +34 -0
  250. package/lib/Cloudflare/AI/SearchHttpClient.d.ts.map +1 -0
  251. package/lib/Cloudflare/AI/SearchHttpClient.js +262 -0
  252. package/lib/Cloudflare/AI/SearchHttpClient.js.map +1 -0
  253. package/lib/Cloudflare/AI/SearchInstance.js +4 -1
  254. package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
  255. package/lib/Cloudflare/AI/index.d.ts +2 -0
  256. package/lib/Cloudflare/AI/index.d.ts.map +1 -1
  257. package/lib/Cloudflare/AI/index.js +2 -0
  258. package/lib/Cloudflare/AI/index.js.map +1 -1
  259. package/lib/Cloudflare/Access/Application.d.ts.map +1 -1
  260. package/lib/Cloudflare/Access/Application.js +7 -1
  261. package/lib/Cloudflare/Access/Application.js.map +1 -1
  262. package/lib/Cloudflare/Alerting/Silence.d.ts.map +1 -1
  263. package/lib/Cloudflare/Alerting/Silence.js +4 -1
  264. package/lib/Cloudflare/Alerting/Silence.js.map +1 -1
  265. package/lib/Cloudflare/Alerting/Webhook.d.ts.map +1 -1
  266. package/lib/Cloudflare/Alerting/Webhook.js +8 -2
  267. package/lib/Cloudflare/Alerting/Webhook.js.map +1 -1
  268. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  269. package/lib/Cloudflare/Auth/AuthProvider.js +23 -8
  270. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  271. package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
  272. package/lib/Cloudflare/Auth/OAuthClient.js +6 -7
  273. package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
  274. package/lib/Cloudflare/Cache/RegionalTieredCache.d.ts.map +1 -1
  275. package/lib/Cloudflare/Cache/RegionalTieredCache.js +7 -1
  276. package/lib/Cloudflare/Cache/RegionalTieredCache.js.map +1 -1
  277. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +18 -2
  278. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  279. package/lib/Cloudflare/Containers/ContainerApplication.js +1 -0
  280. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  281. package/lib/Cloudflare/Containers/ContainerBundle.d.ts +29 -3
  282. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  283. package/lib/Cloudflare/Containers/ContainerBundle.js +84 -23
  284. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  285. package/lib/Cloudflare/Containers/ContainerPlatform.d.ts.map +1 -1
  286. package/lib/Cloudflare/Containers/ContainerPlatform.js +12 -33
  287. package/lib/Cloudflare/Containers/ContainerPlatform.js.map +1 -1
  288. package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
  289. package/lib/Cloudflare/Containers/ContainerProvider.js +53 -14
  290. package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
  291. package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts +6 -6
  292. package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts.map +1 -1
  293. package/lib/Cloudflare/Containers/LocalContainerProvider.js +69 -47
  294. package/lib/Cloudflare/Containers/LocalContainerProvider.js.map +1 -1
  295. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +24 -0
  296. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -0
  297. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +106 -0
  298. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -0
  299. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts +38 -0
  300. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -0
  301. package/lib/Cloudflare/D1/QueryDatabaseLocal.js +54 -0
  302. package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -0
  303. package/lib/Cloudflare/D1/index.d.ts +1 -0
  304. package/lib/Cloudflare/D1/index.d.ts.map +1 -1
  305. package/lib/Cloudflare/D1/index.js +1 -0
  306. package/lib/Cloudflare/D1/index.js.map +1 -1
  307. package/lib/Cloudflare/DNS/DnsHttp.d.ts +16 -1
  308. package/lib/Cloudflare/DNS/DnsHttp.d.ts.map +1 -1
  309. package/lib/Cloudflare/DNS/DnsHttp.js +6 -1
  310. package/lib/Cloudflare/DNS/DnsHttp.js.map +1 -1
  311. package/lib/Cloudflare/DNS/DnsLocal.d.ts +22 -0
  312. package/lib/Cloudflare/DNS/DnsLocal.d.ts.map +1 -0
  313. package/lib/Cloudflare/DNS/DnsLocal.js +31 -0
  314. package/lib/Cloudflare/DNS/DnsLocal.js.map +1 -0
  315. package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts +3 -3
  316. package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts.map +1 -1
  317. package/lib/Cloudflare/DNS/ReadDnsHttp.js +3 -4
  318. package/lib/Cloudflare/DNS/ReadDnsHttp.js.map +1 -1
  319. package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts +32 -0
  320. package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts.map +1 -0
  321. package/lib/Cloudflare/DNS/ReadDnsLocal.js +35 -0
  322. package/lib/Cloudflare/DNS/ReadDnsLocal.js.map +1 -0
  323. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts +3 -3
  324. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts.map +1 -1
  325. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js +4 -4
  326. package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js.map +1 -1
  327. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts +40 -0
  328. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts.map +1 -0
  329. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js +43 -0
  330. package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js.map +1 -0
  331. package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts +3 -3
  332. package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts.map +1 -1
  333. package/lib/Cloudflare/DNS/WriteDnsHttp.js +3 -4
  334. package/lib/Cloudflare/DNS/WriteDnsHttp.js.map +1 -1
  335. package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts +38 -0
  336. package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts.map +1 -0
  337. package/lib/Cloudflare/DNS/WriteDnsLocal.js +41 -0
  338. package/lib/Cloudflare/DNS/WriteDnsLocal.js.map +1 -0
  339. package/lib/Cloudflare/DNS/index.d.ts +3 -0
  340. package/lib/Cloudflare/DNS/index.d.ts.map +1 -1
  341. package/lib/Cloudflare/DNS/index.js +3 -0
  342. package/lib/Cloudflare/DNS/index.js.map +1 -1
  343. package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js +4 -1
  344. package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js.map +1 -1
  345. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts +27 -0
  346. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts.map +1 -0
  347. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js +86 -0
  348. package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js.map +1 -0
  349. package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts +41 -0
  350. package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts.map +1 -0
  351. package/lib/Cloudflare/Flagship/ReadFlagsLocal.js +57 -0
  352. package/lib/Cloudflare/Flagship/ReadFlagsLocal.js.map +1 -0
  353. package/lib/Cloudflare/Flagship/index.d.ts +1 -0
  354. package/lib/Cloudflare/Flagship/index.d.ts.map +1 -1
  355. package/lib/Cloudflare/Flagship/index.js +1 -0
  356. package/lib/Cloudflare/Flagship/index.js.map +1 -1
  357. package/lib/Cloudflare/Images/Variant.d.ts.map +1 -1
  358. package/lib/Cloudflare/Images/Variant.js +4 -1
  359. package/lib/Cloudflare/Images/Variant.js.map +1 -1
  360. package/lib/Cloudflare/KV/NamespaceHttp.d.ts +16 -1
  361. package/lib/Cloudflare/KV/NamespaceHttp.d.ts.map +1 -1
  362. package/lib/Cloudflare/KV/NamespaceHttp.js +8 -2
  363. package/lib/Cloudflare/KV/NamespaceHttp.js.map +1 -1
  364. package/lib/Cloudflare/KV/NamespaceLocal.d.ts +22 -0
  365. package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -0
  366. package/lib/Cloudflare/KV/NamespaceLocal.js +32 -0
  367. package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -0
  368. package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts +2 -2
  369. package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts.map +1 -1
  370. package/lib/Cloudflare/KV/ReadNamespaceHttp.js +5 -6
  371. package/lib/Cloudflare/KV/ReadNamespaceHttp.js.map +1 -1
  372. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts +27 -0
  373. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -0
  374. package/lib/Cloudflare/KV/ReadNamespaceLocal.js +30 -0
  375. package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -0
  376. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts +3 -3
  377. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts.map +1 -1
  378. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js +6 -6
  379. package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js.map +1 -1
  380. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts +34 -0
  381. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -0
  382. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +37 -0
  383. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -0
  384. package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts +2 -2
  385. package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts.map +1 -1
  386. package/lib/Cloudflare/KV/WriteNamespaceHttp.js +5 -6
  387. package/lib/Cloudflare/KV/WriteNamespaceHttp.js.map +1 -1
  388. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts +27 -0
  389. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -0
  390. package/lib/Cloudflare/KV/WriteNamespaceLocal.js +30 -0
  391. package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -0
  392. package/lib/Cloudflare/KV/index.d.ts +3 -0
  393. package/lib/Cloudflare/KV/index.d.ts.map +1 -1
  394. package/lib/Cloudflare/KV/index.js +3 -0
  395. package/lib/Cloudflare/KV/index.js.map +1 -1
  396. package/lib/Cloudflare/LoadBalancer/Monitor.d.ts.map +1 -1
  397. package/lib/Cloudflare/LoadBalancer/Monitor.js +4 -1
  398. package/lib/Cloudflare/LoadBalancer/Monitor.js.map +1 -1
  399. package/lib/Cloudflare/LoadBalancer/MonitorGroup.d.ts.map +1 -1
  400. package/lib/Cloudflare/LoadBalancer/MonitorGroup.js +4 -1
  401. package/lib/Cloudflare/LoadBalancer/MonitorGroup.js.map +1 -1
  402. package/lib/Cloudflare/LoadBalancer/Pool.d.ts.map +1 -1
  403. package/lib/Cloudflare/LoadBalancer/Pool.js +4 -1
  404. package/lib/Cloudflare/LoadBalancer/Pool.js.map +1 -1
  405. package/lib/Cloudflare/LocalRuntime.d.ts +14 -0
  406. package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
  407. package/lib/Cloudflare/LocalRuntime.js +1 -0
  408. package/lib/Cloudflare/LocalRuntime.js.map +1 -1
  409. package/lib/Cloudflare/MagicNetworkMonitoring/Rule.d.ts.map +1 -1
  410. package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js +4 -1
  411. package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js.map +1 -1
  412. package/lib/Cloudflare/Pipelines/Pipeline.d.ts.map +1 -1
  413. package/lib/Cloudflare/Pipelines/Pipeline.js +8 -2
  414. package/lib/Cloudflare/Pipelines/Pipeline.js.map +1 -1
  415. package/lib/Cloudflare/Pipelines/Sink.d.ts.map +1 -1
  416. package/lib/Cloudflare/Pipelines/Sink.js +8 -2
  417. package/lib/Cloudflare/Pipelines/Sink.js.map +1 -1
  418. package/lib/Cloudflare/Pipelines/Stream.d.ts.map +1 -1
  419. package/lib/Cloudflare/Pipelines/Stream.js +4 -1
  420. package/lib/Cloudflare/Pipelines/Stream.js.map +1 -1
  421. package/lib/Cloudflare/Providers.js +14 -11
  422. package/lib/Cloudflare/Providers.js.map +1 -1
  423. package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
  424. package/lib/Cloudflare/Queues/Consumer.js +30 -3
  425. package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
  426. package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
  427. package/lib/Cloudflare/Queues/Queue.js +4 -1
  428. package/lib/Cloudflare/Queues/Queue.js.map +1 -1
  429. package/lib/Cloudflare/Queues/QueueHttp.d.ts +20 -1
  430. package/lib/Cloudflare/Queues/QueueHttp.d.ts.map +1 -1
  431. package/lib/Cloudflare/Queues/QueueHttp.js +2 -2
  432. package/lib/Cloudflare/Queues/QueueHttp.js.map +1 -1
  433. package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts +9 -3
  434. package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts.map +1 -1
  435. package/lib/Cloudflare/Queues/WriteQueueHttp.js +11 -6
  436. package/lib/Cloudflare/Queues/WriteQueueHttp.js.map +1 -1
  437. package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts +36 -0
  438. package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts.map +1 -0
  439. package/lib/Cloudflare/Queues/WriteQueueLocal.js +51 -0
  440. package/lib/Cloudflare/Queues/WriteQueueLocal.js.map +1 -0
  441. package/lib/Cloudflare/Queues/index.d.ts +1 -0
  442. package/lib/Cloudflare/Queues/index.d.ts.map +1 -1
  443. package/lib/Cloudflare/Queues/index.js +1 -0
  444. package/lib/Cloudflare/Queues/index.js.map +1 -1
  445. package/lib/Cloudflare/R2/Bucket.js +12 -3
  446. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  447. package/lib/Cloudflare/R2/BucketEventNotification.js +4 -1
  448. package/lib/Cloudflare/R2/BucketEventNotification.js.map +1 -1
  449. package/lib/Cloudflare/R2/BucketHttp.d.ts +15 -1
  450. package/lib/Cloudflare/R2/BucketHttp.d.ts.map +1 -1
  451. package/lib/Cloudflare/R2/BucketHttp.js +3 -3
  452. package/lib/Cloudflare/R2/BucketHttp.js.map +1 -1
  453. package/lib/Cloudflare/R2/BucketLocal.d.ts +21 -0
  454. package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -0
  455. package/lib/Cloudflare/R2/BucketLocal.js +32 -0
  456. package/lib/Cloudflare/R2/BucketLocal.js.map +1 -0
  457. package/lib/Cloudflare/R2/DataCatalog.js +4 -1
  458. package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
  459. package/lib/Cloudflare/R2/ReadBucketHttp.d.ts +2 -2
  460. package/lib/Cloudflare/R2/ReadBucketHttp.d.ts.map +1 -1
  461. package/lib/Cloudflare/R2/ReadBucketHttp.js +4 -4
  462. package/lib/Cloudflare/R2/ReadBucketHttp.js.map +1 -1
  463. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts +27 -0
  464. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -0
  465. package/lib/Cloudflare/R2/ReadBucketLocal.js +30 -0
  466. package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -0
  467. package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts +2 -2
  468. package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts.map +1 -1
  469. package/lib/Cloudflare/R2/ReadWriteBucketHttp.js +5 -4
  470. package/lib/Cloudflare/R2/ReadWriteBucketHttp.js.map +1 -1
  471. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts +30 -0
  472. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -0
  473. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +33 -0
  474. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -0
  475. package/lib/Cloudflare/R2/WriteBucketHttp.d.ts +2 -2
  476. package/lib/Cloudflare/R2/WriteBucketHttp.d.ts.map +1 -1
  477. package/lib/Cloudflare/R2/WriteBucketHttp.js +4 -4
  478. package/lib/Cloudflare/R2/WriteBucketHttp.js.map +1 -1
  479. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts +27 -0
  480. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -0
  481. package/lib/Cloudflare/R2/WriteBucketLocal.js +30 -0
  482. package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -0
  483. package/lib/Cloudflare/R2/index.d.ts +3 -0
  484. package/lib/Cloudflare/R2/index.d.ts.map +1 -1
  485. package/lib/Cloudflare/R2/index.js +3 -0
  486. package/lib/Cloudflare/R2/index.js.map +1 -1
  487. package/lib/Cloudflare/Rum/Rule.d.ts.map +1 -1
  488. package/lib/Cloudflare/Rum/Rule.js +4 -1
  489. package/lib/Cloudflare/Rum/Rule.js.map +1 -1
  490. package/lib/Cloudflare/Snippets/Snippet.d.ts.map +1 -1
  491. package/lib/Cloudflare/Snippets/Snippet.js +4 -1
  492. package/lib/Cloudflare/Snippets/Snippet.js.map +1 -1
  493. package/lib/Cloudflare/StateStore/Api.d.ts +2 -0
  494. package/lib/Cloudflare/StateStore/CredentialsFile.d.ts +42 -0
  495. package/lib/Cloudflare/StateStore/CredentialsFile.d.ts.map +1 -0
  496. package/lib/Cloudflare/StateStore/CredentialsFile.js +23 -0
  497. package/lib/Cloudflare/StateStore/CredentialsFile.js.map +1 -0
  498. package/lib/Cloudflare/StateStore/State.d.ts +2 -2
  499. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  500. package/lib/Cloudflare/StateStore/State.js +46 -9
  501. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  502. package/lib/Cloudflare/Tags/ZoneResourceTags.d.ts.map +1 -1
  503. package/lib/Cloudflare/Tags/ZoneResourceTags.js +4 -1
  504. package/lib/Cloudflare/Tags/ZoneResourceTags.js.map +1 -1
  505. package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts +3 -3
  506. package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts.map +1 -1
  507. package/lib/Cloudflare/Tunnel/ReadTunnel.js +7 -8
  508. package/lib/Cloudflare/Tunnel/ReadTunnel.js.map +1 -1
  509. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts +29 -0
  510. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts.map +1 -0
  511. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js +30 -0
  512. package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js.map +1 -0
  513. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts +3 -3
  514. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts.map +1 -1
  515. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js +4 -4
  516. package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js.map +1 -1
  517. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts +35 -0
  518. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts.map +1 -0
  519. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js +36 -0
  520. package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js.map +1 -0
  521. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +17 -1
  522. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
  523. package/lib/Cloudflare/Tunnel/TunnelBinding.js +7 -1
  524. package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
  525. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts +19 -0
  526. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts.map +1 -0
  527. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js +29 -0
  528. package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js.map +1 -0
  529. package/lib/Cloudflare/Tunnel/WarpConnector.d.ts +3 -3
  530. package/lib/Cloudflare/Tunnel/WarpConnector.d.ts.map +1 -1
  531. package/lib/Cloudflare/Tunnel/WarpConnector.js +7 -4
  532. package/lib/Cloudflare/Tunnel/WarpConnector.js.map +1 -1
  533. package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts +3 -3
  534. package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts.map +1 -1
  535. package/lib/Cloudflare/Tunnel/WriteTunnel.js +7 -8
  536. package/lib/Cloudflare/Tunnel/WriteTunnel.js.map +1 -1
  537. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts +29 -0
  538. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts.map +1 -0
  539. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js +30 -0
  540. package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js.map +1 -0
  541. package/lib/Cloudflare/Tunnel/index.d.ts +3 -0
  542. package/lib/Cloudflare/Tunnel/index.d.ts.map +1 -1
  543. package/lib/Cloudflare/Tunnel/index.js +3 -0
  544. package/lib/Cloudflare/Tunnel/index.js.map +1 -1
  545. package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
  546. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +7 -1
  547. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
  548. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts +30 -0
  549. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts.map +1 -0
  550. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js +100 -0
  551. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js.map +1 -0
  552. package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts +42 -0
  553. package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts.map +1 -0
  554. package/lib/Cloudflare/Vectorize/SearchIndexLocal.js +58 -0
  555. package/lib/Cloudflare/Vectorize/SearchIndexLocal.js.map +1 -0
  556. package/lib/Cloudflare/Vectorize/index.d.ts +1 -0
  557. package/lib/Cloudflare/Vectorize/index.d.ts.map +1 -1
  558. package/lib/Cloudflare/Vectorize/index.js +1 -0
  559. package/lib/Cloudflare/Vectorize/index.js.map +1 -1
  560. package/lib/Cloudflare/WaitingRoom/Settings.d.ts.map +1 -1
  561. package/lib/Cloudflare/WaitingRoom/Settings.js +7 -1
  562. package/lib/Cloudflare/WaitingRoom/Settings.js.map +1 -1
  563. package/lib/Cloudflare/Website/Vite.d.ts +19 -0
  564. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  565. package/lib/Cloudflare/Website/Vite.js +20 -0
  566. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  567. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts +32 -0
  568. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts.map +1 -0
  569. package/lib/Cloudflare/Workers/BrowserHttpClient.js +100 -0
  570. package/lib/Cloudflare/Workers/BrowserHttpClient.js.map +1 -0
  571. package/lib/Cloudflare/Workers/BrowserLocal.d.ts +37 -0
  572. package/lib/Cloudflare/Workers/BrowserLocal.d.ts.map +1 -0
  573. package/lib/Cloudflare/Workers/BrowserLocal.js +53 -0
  574. package/lib/Cloudflare/Workers/BrowserLocal.js.map +1 -0
  575. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
  576. package/lib/Cloudflare/Workers/Compatibility.js +43 -7
  577. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
  578. package/lib/Cloudflare/Workers/ConfigProvider.d.ts +8 -0
  579. package/lib/Cloudflare/Workers/ConfigProvider.d.ts.map +1 -1
  580. package/lib/Cloudflare/Workers/ConfigProvider.js +10 -1
  581. package/lib/Cloudflare/Workers/ConfigProvider.js.map +1 -1
  582. package/lib/Cloudflare/Workers/CronEventSource.d.ts +3 -2
  583. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
  584. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
  585. package/lib/Cloudflare/Workers/DurableObject.d.ts +137 -3
  586. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  587. package/lib/Cloudflare/Workers/DurableObject.js +141 -6
  588. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  589. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  590. package/lib/Cloudflare/Workers/DurableObjectBridge.js +86 -82
  591. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  592. package/lib/Cloudflare/Workers/HttpServer.d.ts +1 -4
  593. package/lib/Cloudflare/Workers/HttpServer.d.ts.map +1 -1
  594. package/lib/Cloudflare/Workers/HttpServer.js +1 -3
  595. package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
  596. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +2 -185
  597. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  598. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +74 -11
  599. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  600. package/lib/Cloudflare/Workers/ObservabilityDestination.d.ts.map +1 -1
  601. package/lib/Cloudflare/Workers/ObservabilityDestination.js +4 -1
  602. package/lib/Cloudflare/Workers/ObservabilityDestination.js.map +1 -1
  603. package/lib/Cloudflare/Workers/Vite.d.ts +1 -1
  604. package/lib/Cloudflare/Workers/Vite.d.ts.map +1 -1
  605. package/lib/Cloudflare/Workers/Vite.js +81 -2
  606. package/lib/Cloudflare/Workers/Vite.js.map +1 -1
  607. package/lib/Cloudflare/Workers/Worker.d.ts +42 -6
  608. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  609. package/lib/Cloudflare/Workers/Worker.js +10 -5
  610. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  611. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  612. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +26 -16
  613. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  614. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +22 -1
  615. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  616. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  617. package/lib/Cloudflare/Workers/WorkerBridge.d.ts +13 -5
  618. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  619. package/lib/Cloudflare/Workers/WorkerBridge.js +133 -52
  620. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  621. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +81 -0
  622. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  623. package/lib/Cloudflare/Workers/WorkerProvider.js +476 -68
  624. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  625. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  626. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +11 -37
  627. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  628. package/lib/Cloudflare/Workers/cloudflare_workers.d.ts.map +1 -1
  629. package/lib/Cloudflare/Workers/cloudflare_workers.js +10 -3
  630. package/lib/Cloudflare/Workers/cloudflare_workers.js.map +1 -1
  631. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  632. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  633. package/lib/Cloudflare/Workers/index.js +1 -0
  634. package/lib/Cloudflare/Workers/index.js.map +1 -1
  635. package/lib/Cloudflare/Workflows/Workflow.d.ts +10 -7
  636. package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
  637. package/lib/Cloudflare/Workflows/Workflow.js +38 -13
  638. package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
  639. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
  640. package/lib/Cloudflare/Workflows/WorkflowBridge.js +39 -37
  641. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  642. package/lib/Cloudflare/Workflows/WorkflowName.d.ts +11 -0
  643. package/lib/Cloudflare/Workflows/WorkflowName.d.ts.map +1 -0
  644. package/lib/Cloudflare/Workflows/WorkflowName.js +28 -0
  645. package/lib/Cloudflare/Workflows/WorkflowName.js.map +1 -0
  646. package/lib/Cloudflare/Zone/Hold.d.ts.map +1 -1
  647. package/lib/Cloudflare/Zone/Hold.js +7 -1
  648. package/lib/Cloudflare/Zone/Hold.js.map +1 -1
  649. package/lib/Command/Dev.d.ts +16 -6
  650. package/lib/Command/Dev.d.ts.map +1 -1
  651. package/lib/Command/Dev.js +37 -7
  652. package/lib/Command/Dev.js.map +1 -1
  653. package/lib/Diff.d.ts +16 -0
  654. package/lib/Diff.d.ts.map +1 -1
  655. package/lib/Diff.js +33 -0
  656. package/lib/Diff.js.map +1 -1
  657. package/lib/Docker/Container.js +4 -1
  658. package/lib/Docker/Container.js.map +1 -1
  659. package/lib/Drizzle/Postgres.d.ts +14 -13
  660. package/lib/Drizzle/Postgres.d.ts.map +1 -1
  661. package/lib/Drizzle/Postgres.js +39 -19
  662. package/lib/Drizzle/Postgres.js.map +1 -1
  663. package/lib/GitHub/AuthProvider.d.ts.map +1 -1
  664. package/lib/GitHub/AuthProvider.js +1 -1
  665. package/lib/GitHub/AuthProvider.js.map +1 -1
  666. package/lib/GitHub/Env.d.ts +20 -0
  667. package/lib/GitHub/Env.d.ts.map +1 -0
  668. package/lib/GitHub/Env.js +27 -0
  669. package/lib/GitHub/Env.js.map +1 -0
  670. package/lib/GitHub/Secrets.d.ts +1 -1
  671. package/lib/GitHub/Secrets.js +1 -1
  672. package/lib/GitHub/Variables.d.ts +1 -1
  673. package/lib/GitHub/Variables.js +1 -1
  674. package/lib/GitHub/index.d.ts +1 -0
  675. package/lib/GitHub/index.d.ts.map +1 -1
  676. package/lib/GitHub/index.js +1 -0
  677. package/lib/GitHub/index.js.map +1 -1
  678. package/lib/Http.d.ts +9 -0
  679. package/lib/Http.d.ts.map +1 -1
  680. package/lib/Http.js +9 -0
  681. package/lib/Http.js.map +1 -1
  682. package/lib/Local/RpcProviderProxy.js +1 -1
  683. package/lib/Local/RpcProviderProxy.js.map +1 -1
  684. package/lib/Local/RpcSerialization.d.ts.map +1 -1
  685. package/lib/Local/RpcSerialization.js +6 -2
  686. package/lib/Local/RpcSerialization.js.map +1 -1
  687. package/lib/Local/RpcSpawner.d.ts.map +1 -1
  688. package/lib/Local/RpcSpawner.js +14 -8
  689. package/lib/Local/RpcSpawner.js.map +1 -1
  690. package/lib/Neon/AuthProvider.d.ts.map +1 -1
  691. package/lib/Neon/AuthProvider.js +2 -2
  692. package/lib/Neon/AuthProvider.js.map +1 -1
  693. package/lib/Neon/Project.js +4 -1
  694. package/lib/Neon/Project.js.map +1 -1
  695. package/lib/Plan.d.ts.map +1 -1
  696. package/lib/Plan.js +37 -13
  697. package/lib/Plan.js.map +1 -1
  698. package/lib/Planetscale/AuthProvider.d.ts +26 -9
  699. package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
  700. package/lib/Planetscale/AuthProvider.js +142 -11
  701. package/lib/Planetscale/AuthProvider.js.map +1 -1
  702. package/lib/Planetscale/Branch.d.ts.map +1 -1
  703. package/lib/Planetscale/Branch.js +4 -1
  704. package/lib/Planetscale/Branch.js.map +1 -1
  705. package/lib/Planetscale/Credentials.d.ts.map +1 -1
  706. package/lib/Planetscale/Credentials.js +14 -6
  707. package/lib/Planetscale/Credentials.js.map +1 -1
  708. package/lib/Planetscale/Database.d.ts +2 -1
  709. package/lib/Planetscale/Database.d.ts.map +1 -1
  710. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +41 -3
  711. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -1
  712. package/lib/Planetscale/MySQL/MySQLClusterSize.js +88 -11
  713. package/lib/Planetscale/MySQL/MySQLClusterSize.js.map +1 -1
  714. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +14 -0
  715. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  716. package/lib/Planetscale/MySQL/MySQLDatabase.js +24 -11
  717. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  718. package/lib/Planetscale/MySQL/MySQLMigrations.js +4 -1
  719. package/lib/Planetscale/MySQL/MySQLMigrations.js.map +1 -1
  720. package/lib/Planetscale/OAuthClient.d.ts +72 -0
  721. package/lib/Planetscale/OAuthClient.d.ts.map +1 -0
  722. package/lib/Planetscale/OAuthClient.js +227 -0
  723. package/lib/Planetscale/OAuthClient.js.map +1 -0
  724. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
  725. package/lib/Planetscale/Postgres/PostgresClusterSize.js +4 -1
  726. package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
  727. package/lib/Planetscale/Postgres/PostgresMigrations.js +4 -1
  728. package/lib/Planetscale/Postgres/PostgresMigrations.js.map +1 -1
  729. package/lib/Planetscale/Util.d.ts.map +1 -1
  730. package/lib/Planetscale/Util.js +4 -1
  731. package/lib/Planetscale/Util.js.map +1 -1
  732. package/lib/Platform.d.ts +2 -3
  733. package/lib/Platform.d.ts.map +1 -1
  734. package/lib/Platform.js +62 -3
  735. package/lib/Platform.js.map +1 -1
  736. package/lib/Provider.d.ts +35 -0
  737. package/lib/Provider.d.ts.map +1 -1
  738. package/lib/Provider.js.map +1 -1
  739. package/lib/Runtime.d.ts +23 -0
  740. package/lib/Runtime.d.ts.map +1 -1
  741. package/lib/Runtime.js +83 -0
  742. package/lib/Runtime.js.map +1 -1
  743. package/lib/RuntimeContext.d.ts +46 -0
  744. package/lib/RuntimeContext.d.ts.map +1 -1
  745. package/lib/RuntimeContext.js +60 -0
  746. package/lib/RuntimeContext.js.map +1 -1
  747. package/lib/Server/Process.d.ts +1 -1
  748. package/lib/Server/Process.d.ts.map +1 -1
  749. package/lib/Server/Process.js +8 -8
  750. package/lib/Server/Process.js.map +1 -1
  751. package/lib/Stack.js +1 -1
  752. package/lib/Stack.js.map +1 -1
  753. package/lib/State/HttpStateApi.d.ts +10 -10
  754. package/lib/State/HttpStateStore.js +5 -2
  755. package/lib/State/HttpStateStore.js.map +1 -1
  756. package/lib/Sync.d.ts.map +1 -1
  757. package/lib/Sync.js +3 -0
  758. package/lib/Sync.js.map +1 -1
  759. package/lib/Test/Alchemy.d.ts +74 -0
  760. package/lib/Test/Alchemy.d.ts.map +1 -0
  761. package/lib/Test/Alchemy.js +143 -0
  762. package/lib/Test/Alchemy.js.map +1 -0
  763. package/lib/Test/Http.d.ts.map +1 -1
  764. package/lib/Test/Http.js +8 -2
  765. package/lib/Test/Http.js.map +1 -1
  766. package/lib/Util/cached-function.d.ts +1 -1
  767. package/lib/Util/cached-function.d.ts.map +1 -1
  768. package/lib/Util/cached-function.js +2 -2
  769. package/lib/Util/cached-function.js.map +1 -1
  770. package/lib/Util/data.d.ts +6 -1
  771. package/lib/Util/data.d.ts.map +1 -1
  772. package/lib/Util/data.js.map +1 -1
  773. package/lib/Util/poll.js +1 -1
  774. package/lib/Util/poll.js.map +1 -1
  775. package/lib/Util/proxy-chain.js +3 -0
  776. package/lib/Util/proxy-chain.js.map +1 -1
  777. package/package.json +23 -23
  778. package/src/AWS/ACM/Certificate.ts +16 -12
  779. package/src/AWS/ApiGateway/common.ts +11 -8
  780. package/src/AWS/AuthProvider.ts +1 -4
  781. package/src/AWS/AutoScaling/AutoScalingGroup.ts +8 -6
  782. package/src/AWS/Bootstrap.ts +5 -6
  783. package/src/AWS/CloudFront/Distribution.ts +20 -16
  784. package/src/AWS/CloudFront/Function.ts +10 -6
  785. package/src/AWS/CloudFront/Invalidation.ts +4 -3
  786. package/src/AWS/CloudFront/KvEntries.ts +4 -3
  787. package/src/AWS/CloudFront/KvRoutesUpdate.ts +8 -6
  788. package/src/AWS/CloudFront/VpcOrigin.ts +12 -9
  789. package/src/AWS/CloudFront/common.ts +10 -6
  790. package/src/AWS/CloudWatch/AnomalyDetector.ts +4 -3
  791. package/src/AWS/CloudWatch/common.ts +1 -3
  792. package/src/AWS/DynamoDB/Table.ts +57 -47
  793. package/src/AWS/EC2/EIP.ts +6 -4
  794. package/src/AWS/EC2/EgressOnlyInternetGateway.ts +6 -4
  795. package/src/AWS/EC2/Instance.ts +12 -9
  796. package/src/AWS/EC2/InternetGateway.ts +18 -12
  797. package/src/AWS/EC2/NatGateway.ts +6 -10
  798. package/src/AWS/EC2/NetworkAcl.ts +6 -4
  799. package/src/AWS/EC2/NetworkAclEntry.ts +4 -3
  800. package/src/AWS/EC2/RouteTable.ts +12 -9
  801. package/src/AWS/EC2/RouteTableAssociation.ts +3 -5
  802. package/src/AWS/EC2/SecurityGroup.ts +10 -7
  803. package/src/AWS/EC2/Subnet.ts +15 -15
  804. package/src/AWS/EC2/Vpc.ts +12 -12
  805. package/src/AWS/EC2/VpcEndpoint.ts +6 -8
  806. package/src/AWS/EC2/hosted.ts +2 -1
  807. package/src/AWS/ECS/Service.ts +4 -3
  808. package/src/AWS/ECS/Task.ts +2 -1
  809. package/src/AWS/EKS/Addon.ts +8 -6
  810. package/src/AWS/EKS/Cluster.ts +4 -3
  811. package/src/AWS/ELBv2/TargetGroup.ts +4 -3
  812. package/src/AWS/ELBv2/TrustStore.ts +4 -3
  813. package/src/AWS/IAM/SAMLProvider.ts +4 -4
  814. package/src/AWS/IdentityCenter/AccountAssignment.ts +8 -6
  815. package/src/AWS/IdentityCenter/common.ts +1 -3
  816. package/src/AWS/KMS/Alias.ts +4 -3
  817. package/src/AWS/KMS/Key.ts +4 -3
  818. package/src/AWS/Kinesis/Stream.ts +2 -6
  819. package/src/AWS/Kinesis/StreamConsumer.ts +7 -12
  820. package/src/AWS/Lambda/Alias.ts +4 -3
  821. package/src/AWS/Lambda/EventInvokeConfig.ts +2 -6
  822. package/src/AWS/Lambda/EventSourceMapping.ts +10 -8
  823. package/src/AWS/Lambda/Function.ts +123 -77
  824. package/src/AWS/Lambda/MicrovmProvider.ts +18 -16
  825. package/src/AWS/Lambda/MicrovmRuntimeContext.ts +11 -38
  826. package/src/AWS/Lambda/NetworkConnector.ts +19 -15
  827. package/src/AWS/Lambda/RuntimeExtension.ts +46 -0
  828. package/src/AWS/Organizations/Account.ts +5 -6
  829. package/src/AWS/Organizations/common.ts +1 -3
  830. package/src/AWS/Providers.ts +22 -20
  831. package/src/AWS/RDS/DBCluster.ts +8 -6
  832. package/src/AWS/RDS/DBInstance.ts +8 -6
  833. package/src/AWS/RDS/DBProxy.ts +4 -3
  834. package/src/AWS/RDS/DBProxyEndpoint.ts +4 -3
  835. package/src/AWS/Route53/HealthCheck.ts +8 -6
  836. package/src/AWS/Route53/HostedZone.ts +8 -6
  837. package/src/AWS/Route53/Record.ts +4 -3
  838. package/src/AWS/S3/Bucket.ts +5 -4
  839. package/src/AWS/SQS/Queue.ts +26 -20
  840. package/src/AWS/StateStore/State.ts +5 -4
  841. package/src/AWS/Website/AssetDeployment.ts +10 -6
  842. package/src/Action.ts +39 -6
  843. package/src/ActionRuntimeContext.ts +68 -0
  844. package/src/Apply.ts +54 -8
  845. package/src/Auth/AuthProvider.ts +11 -0
  846. package/src/Auth/Lock.ts +5 -2
  847. package/src/Axiom/AuthProvider.ts +0 -3
  848. package/src/Bundle/PurePlugin.ts +34 -1
  849. package/src/Bundle/Vite.ts +67 -16
  850. package/src/Cli/LoggingCli.ts +7 -4
  851. package/src/Cli/commands/_shared.ts +171 -5
  852. package/src/Cli/commands/login.ts +91 -46
  853. package/src/Cli/commands/logs.ts +1 -0
  854. package/src/Cli/commands/nuke.ts +16 -44
  855. package/src/Cli/commands/profile.ts +67 -39
  856. package/src/Cli/commands/tail.ts +1 -0
  857. package/src/Cloudflare/AI/GatewayDynamicRouting.ts +38 -6
  858. package/src/Cloudflare/AI/LanguageModel.ts +25 -5
  859. package/src/Cloudflare/AI/QuerySearchLocal.ts +66 -0
  860. package/src/Cloudflare/AI/QuerySearchNamespaceLocal.ts +60 -0
  861. package/src/Cloudflare/AI/SearchHttpClient.ts +423 -0
  862. package/src/Cloudflare/AI/SearchInstance.ts +4 -3
  863. package/src/Cloudflare/AI/index.ts +2 -0
  864. package/src/Cloudflare/Access/Application.ts +7 -4
  865. package/src/Cloudflare/Alerting/Silence.ts +4 -3
  866. package/src/Cloudflare/Alerting/Webhook.ts +8 -6
  867. package/src/Cloudflare/Auth/AuthProvider.ts +55 -39
  868. package/src/Cloudflare/Auth/OAuthClient.ts +6 -7
  869. package/src/Cloudflare/Cache/RegionalTieredCache.ts +7 -4
  870. package/src/Cloudflare/Containers/ContainerApplication.ts +22 -2
  871. package/src/Cloudflare/Containers/ContainerBundle.ts +110 -34
  872. package/src/Cloudflare/Containers/ContainerPlatform.ts +14 -52
  873. package/src/Cloudflare/Containers/ContainerProvider.ts +73 -19
  874. package/src/Cloudflare/Containers/LocalContainerProvider.ts +78 -72
  875. package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +176 -0
  876. package/src/Cloudflare/D1/QueryDatabaseLocal.ts +66 -0
  877. package/src/Cloudflare/D1/index.ts +1 -0
  878. package/src/Cloudflare/DNS/DnsHttp.ts +24 -2
  879. package/src/Cloudflare/DNS/DnsLocal.ts +41 -0
  880. package/src/Cloudflare/DNS/ReadDnsHttp.ts +4 -5
  881. package/src/Cloudflare/DNS/ReadDnsLocal.ts +38 -0
  882. package/src/Cloudflare/DNS/ReadWriteDnsHttp.ts +5 -5
  883. package/src/Cloudflare/DNS/ReadWriteDnsLocal.ts +46 -0
  884. package/src/Cloudflare/DNS/WriteDnsHttp.ts +4 -5
  885. package/src/Cloudflare/DNS/WriteDnsLocal.ts +44 -0
  886. package/src/Cloudflare/DNS/index.ts +3 -0
  887. package/src/Cloudflare/Diagnostics/EndpointHealthcheck.ts +4 -3
  888. package/src/Cloudflare/Flagship/ReadFlagsHttpClient.ts +183 -0
  889. package/src/Cloudflare/Flagship/ReadFlagsLocal.ts +69 -0
  890. package/src/Cloudflare/Flagship/index.ts +1 -0
  891. package/src/Cloudflare/Images/Variant.ts +4 -3
  892. package/src/Cloudflare/KV/NamespaceHttp.ts +25 -2
  893. package/src/Cloudflare/KV/NamespaceLocal.ts +42 -0
  894. package/src/Cloudflare/KV/ReadNamespaceHttp.ts +7 -6
  895. package/src/Cloudflare/KV/ReadNamespaceLocal.ts +35 -0
  896. package/src/Cloudflare/KV/ReadWriteNamespaceHttp.ts +11 -6
  897. package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +42 -0
  898. package/src/Cloudflare/KV/WriteNamespaceHttp.ts +7 -6
  899. package/src/Cloudflare/KV/WriteNamespaceLocal.ts +35 -0
  900. package/src/Cloudflare/KV/index.ts +3 -0
  901. package/src/Cloudflare/LoadBalancer/Monitor.ts +4 -3
  902. package/src/Cloudflare/LoadBalancer/MonitorGroup.ts +4 -3
  903. package/src/Cloudflare/LoadBalancer/Pool.ts +4 -3
  904. package/src/Cloudflare/LocalRuntime.ts +17 -0
  905. package/src/Cloudflare/MagicNetworkMonitoring/Rule.ts +4 -3
  906. package/src/Cloudflare/Pipelines/Pipeline.ts +8 -6
  907. package/src/Cloudflare/Pipelines/Sink.ts +8 -6
  908. package/src/Cloudflare/Pipelines/Stream.ts +4 -3
  909. package/src/Cloudflare/Providers.ts +21 -19
  910. package/src/Cloudflare/Queues/Consumer.ts +45 -9
  911. package/src/Cloudflare/Queues/Queue.ts +4 -3
  912. package/src/Cloudflare/Queues/QueueHttp.ts +24 -2
  913. package/src/Cloudflare/Queues/WriteQueueHttp.ts +16 -7
  914. package/src/Cloudflare/Queues/WriteQueueLocal.ts +64 -0
  915. package/src/Cloudflare/Queues/index.ts +1 -0
  916. package/src/Cloudflare/R2/Bucket.ts +12 -9
  917. package/src/Cloudflare/R2/BucketEventNotification.ts +4 -3
  918. package/src/Cloudflare/R2/BucketHttp.ts +20 -3
  919. package/src/Cloudflare/R2/BucketLocal.ts +47 -0
  920. package/src/Cloudflare/R2/DataCatalog.ts +4 -3
  921. package/src/Cloudflare/R2/ReadBucketHttp.ts +10 -5
  922. package/src/Cloudflare/R2/ReadBucketLocal.ts +33 -0
  923. package/src/Cloudflare/R2/ReadWriteBucketHttp.ts +11 -5
  924. package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +36 -0
  925. package/src/Cloudflare/R2/WriteBucketHttp.ts +10 -5
  926. package/src/Cloudflare/R2/WriteBucketLocal.ts +33 -0
  927. package/src/Cloudflare/R2/index.ts +3 -0
  928. package/src/Cloudflare/Rum/Rule.ts +4 -3
  929. package/src/Cloudflare/Snippets/Snippet.ts +4 -3
  930. package/src/Cloudflare/StateStore/CredentialsFile.ts +48 -0
  931. package/src/Cloudflare/StateStore/State.ts +61 -25
  932. package/src/Cloudflare/Tags/ZoneResourceTags.ts +4 -3
  933. package/src/Cloudflare/Tunnel/ReadTunnel.ts +8 -9
  934. package/src/Cloudflare/Tunnel/ReadTunnelLocal.ts +33 -0
  935. package/src/Cloudflare/Tunnel/ReadWriteTunnel.ts +5 -5
  936. package/src/Cloudflare/Tunnel/ReadWriteTunnelLocal.ts +39 -0
  937. package/src/Cloudflare/Tunnel/TunnelBinding.ts +26 -2
  938. package/src/Cloudflare/Tunnel/TunnelLocalBinding.ts +38 -0
  939. package/src/Cloudflare/Tunnel/WarpConnector.ts +8 -5
  940. package/src/Cloudflare/Tunnel/WriteTunnel.ts +8 -9
  941. package/src/Cloudflare/Tunnel/WriteTunnelLocal.ts +33 -0
  942. package/src/Cloudflare/Tunnel/index.ts +3 -0
  943. package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +7 -4
  944. package/src/Cloudflare/Vectorize/SearchIndexHttpClient.ts +183 -0
  945. package/src/Cloudflare/Vectorize/SearchIndexLocal.ts +70 -0
  946. package/src/Cloudflare/Vectorize/index.ts +1 -0
  947. package/src/Cloudflare/WaitingRoom/Settings.ts +7 -4
  948. package/src/Cloudflare/Website/Vite.ts +20 -0
  949. package/src/Cloudflare/Workers/BrowserHttpClient.ts +201 -0
  950. package/src/Cloudflare/Workers/BrowserLocal.ts +65 -0
  951. package/src/Cloudflare/Workers/Compatibility.ts +50 -7
  952. package/src/Cloudflare/Workers/ConfigProvider.ts +15 -1
  953. package/src/Cloudflare/Workers/CronEventSource.ts +3 -2
  954. package/src/Cloudflare/Workers/DurableObject.ts +227 -6
  955. package/src/Cloudflare/Workers/DurableObjectBridge.ts +38 -33
  956. package/src/Cloudflare/Workers/HttpServer.ts +1 -4
  957. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +132 -26
  958. package/src/Cloudflare/Workers/ObservabilityDestination.ts +4 -3
  959. package/src/Cloudflare/Workers/Vite.ts +93 -11
  960. package/src/Cloudflare/Workers/Worker.ts +46 -6
  961. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +33 -21
  962. package/src/Cloudflare/Workers/WorkerBinding.ts +20 -1
  963. package/src/Cloudflare/Workers/WorkerBridge.ts +239 -108
  964. package/src/Cloudflare/Workers/WorkerProvider.ts +689 -135
  965. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +14 -45
  966. package/src/Cloudflare/Workers/cloudflare_workers.ts +20 -12
  967. package/src/Cloudflare/Workers/index.ts +1 -0
  968. package/src/Cloudflare/Workflows/Workflow.ts +54 -20
  969. package/src/Cloudflare/Workflows/WorkflowBridge.ts +19 -23
  970. package/src/Cloudflare/Workflows/WorkflowName.ts +41 -0
  971. package/src/Cloudflare/Zone/Hold.ts +7 -4
  972. package/src/Command/Dev.ts +42 -10
  973. package/src/Diff.ts +33 -0
  974. package/src/Docker/Container.ts +4 -1
  975. package/src/Drizzle/Postgres.ts +51 -23
  976. package/src/GitHub/AuthProvider.ts +0 -3
  977. package/src/GitHub/Env.ts +57 -0
  978. package/src/GitHub/Secrets.ts +1 -1
  979. package/src/GitHub/Variables.ts +1 -1
  980. package/src/GitHub/index.ts +1 -0
  981. package/src/Http.ts +11 -0
  982. package/src/Local/RpcProviderProxy.ts +1 -1
  983. package/src/Local/RpcSerialization.ts +6 -2
  984. package/src/Local/RpcSpawner.ts +21 -8
  985. package/src/Neon/AuthProvider.ts +1 -4
  986. package/src/Neon/Project.ts +2 -2
  987. package/src/Plan.ts +43 -13
  988. package/src/Planetscale/AuthProvider.ts +267 -27
  989. package/src/Planetscale/Branch.ts +4 -3
  990. package/src/Planetscale/Credentials.ts +18 -6
  991. package/src/Planetscale/Database.ts +2 -1
  992. package/src/Planetscale/MySQL/MySQLClusterSize.ts +120 -21
  993. package/src/Planetscale/MySQL/MySQLDatabase.ts +84 -44
  994. package/src/Planetscale/MySQL/MySQLMigrations.ts +4 -3
  995. package/src/Planetscale/OAuthClient.ts +307 -0
  996. package/src/Planetscale/Postgres/PostgresClusterSize.ts +4 -3
  997. package/src/Planetscale/Postgres/PostgresMigrations.ts +4 -3
  998. package/src/Planetscale/Util.ts +4 -3
  999. package/src/Platform.ts +83 -7
  1000. package/src/Provider.ts +35 -0
  1001. package/src/Runtime.ts +92 -0
  1002. package/src/RuntimeContext.ts +79 -0
  1003. package/src/Server/Process.ts +11 -18
  1004. package/src/Stack.ts +1 -1
  1005. package/src/State/HttpStateStore.ts +5 -5
  1006. package/src/Sync.ts +3 -0
  1007. package/src/Test/Alchemy.ts +282 -0
  1008. package/src/Test/Http.ts +8 -6
  1009. package/src/Util/cached-function.ts +5 -5
  1010. package/src/Util/data.ts +14 -5
  1011. package/src/Util/poll.ts +1 -1
  1012. package/src/Util/proxy-chain.ts +3 -0
  1013. package/lib/ExecutionContext.d.ts +0 -18
  1014. package/lib/ExecutionContext.d.ts.map +0 -1
  1015. package/lib/ExecutionContext.js +0 -10
  1016. package/lib/ExecutionContext.js.map +0 -1
  1017. package/src/ExecutionContext.ts +0 -18
@@ -5,9 +5,12 @@ export * from "./DataCatalog.ts";
5
5
  export * from "./ReadBucket.ts";
6
6
  export * from "./ReadBucketBinding.ts";
7
7
  export * from "./ReadBucketHttp.ts";
8
+ export * from "./ReadBucketLocal.ts";
8
9
  export * from "./ReadWriteBucket.ts";
9
10
  export * from "./ReadWriteBucketBinding.ts";
10
11
  export * from "./ReadWriteBucketHttp.ts";
12
+ export * from "./ReadWriteBucketLocal.ts";
11
13
  export * from "./WriteBucket.ts";
12
14
  export * from "./WriteBucketBinding.ts";
13
15
  export * from "./WriteBucketHttp.ts";
16
+ export * from "./WriteBucketLocal.ts";
@@ -274,9 +274,10 @@ export const RuleProvider = () =>
274
274
  // visible. Ride out the propagation window with a bounded retry.
275
275
  Effect.retry({
276
276
  while: (e) => e._tag === "RulesetNotFound",
277
- schedule: Schedule.exponential("500 millis").pipe(
278
- Schedule.both(Schedule.recurs(8)),
279
- ),
277
+ schedule: Schedule.max([
278
+ Schedule.exponential("500 millis"),
279
+ Schedule.recurs(8),
280
+ ]),
280
281
  }),
281
282
  );
282
283
  const fresh = yield* listRules(accountId, rulesetId);
@@ -256,9 +256,10 @@ export const SnippetProvider = () =>
256
256
  .pipe(
257
257
  Effect.retry({
258
258
  while: (e) => e._tag === "SnippetInUse",
259
- schedule: Schedule.exponential("1 second").pipe(
260
- Schedule.both(Schedule.recurs(8)),
261
- ),
259
+ schedule: Schedule.max([
260
+ Schedule.exponential("1 second"),
261
+ Schedule.recurs(8),
262
+ ]),
262
263
  }),
263
264
  Effect.catchTag("SnippetNotFound", () => Effect.void),
264
265
  );
@@ -0,0 +1,48 @@
1
+ import type { HttpStateStoreCredentials } from "../../State/HttpStateStore.ts";
2
+
3
+ /**
4
+ * Filename (under `~/.alchemy/credentials/{profile}/`) used to cache the
5
+ * Cloudflare-deployed HTTP state store's endpoint + bearer token.
6
+ *
7
+ * Kept in this leaf module (rather than `StateStore/State.ts`) so the
8
+ * Cloudflare auth provider can invalidate the cache on
9
+ * `login --configure` / `logout` without importing the heavy state-store
10
+ * module and creating an import cycle
11
+ * (`StateStore/State.ts` -> `Providers.ts` -> `Auth/AuthProvider.ts`).
12
+ */
13
+ export const CREDENTIALS_FILE = "cloudflare-state-store";
14
+
15
+ /**
16
+ * On-disk shape of the cached Cloudflare state-store credentials.
17
+ *
18
+ * Extends the generic {@link HttpStateStoreCredentials} (`{ url, authToken }`)
19
+ * with the `accountId` the credentials were minted against. The `url` already
20
+ * encodes the account (via the `*.workers.dev` subdomain), so a cache written
21
+ * while logged into account A keeps pointing at account A's state store even
22
+ * after the user re-authenticates against account B. Persisting `accountId`
23
+ * lets `state()` detect that mismatch and re-derive.
24
+ *
25
+ * `accountId` is optional so legacy files written before this field existed
26
+ * still parse — they are treated as stale (see
27
+ * {@link isStateStoreCredentialsStale}) and re-derived on next use.
28
+ */
29
+ export interface StoredStateStoreCredentials extends HttpStateStoreCredentials {
30
+ /** Cloudflare account ID the `url`/`authToken` were minted against. */
31
+ accountId?: string;
32
+ }
33
+
34
+ /**
35
+ * `true` when cached state-store credentials must not be trusted for the
36
+ * current account:
37
+ *
38
+ * - the file predates the `accountId` field (legacy cache — exactly the
39
+ * artifact that caused deploys to silently target the wrong account), or
40
+ * - it was minted against a different account than the one now in use.
41
+ *
42
+ * A stale cache is discarded and re-derived from the current account.
43
+ */
44
+ export const isStateStoreCredentialsStale = (
45
+ credentials: StoredStateStoreCredentials,
46
+ currentAccountId: string,
47
+ ): boolean =>
48
+ credentials.accountId == null || credentials.accountId !== currentAccountId;
@@ -39,6 +39,11 @@ import * as Access from "../Access.ts";
39
39
  import * as CloudflareEnvironment from "../CloudflareEnvironment.ts";
40
40
  import { EdgeSessionError, createEdgeSession } from "../EdgeSession.ts";
41
41
  import Api, { STATE_STORE_SCRIPT_NAME, STATE_STORE_VERSION } from "./Api.ts";
42
+ import {
43
+ CREDENTIALS_FILE,
44
+ type StoredStateStoreCredentials,
45
+ isStateStoreCredentialsStale,
46
+ } from "./CredentialsFile.ts";
42
47
  import {
43
48
  AuthToken,
44
49
  AuthTokenSecretName,
@@ -48,9 +53,6 @@ import {
48
53
 
49
54
  const CI = Config.boolean("CI").pipe(Config.withDefault(false));
50
55
 
51
- /** Filename used for stored credentials under the profile directory. */
52
- const CREDENTIALS_FILE = "cloudflare-state-store";
53
-
54
56
  export const state = () =>
55
57
  Layer.effect(
56
58
  State,
@@ -173,15 +175,32 @@ export const state = () =>
173
175
  return yield* makeCloudflareStateStore(credentials);
174
176
  });
175
177
 
176
- const credentials = yield* credStore.read<HttpStateStoreCredentials>(
178
+ const { accountId } =
179
+ yield* yield* CloudflareEnvironment.CloudflareEnvironment;
180
+
181
+ const credentials = yield* credStore.read<StoredStateStoreCredentials>(
177
182
  profileName,
178
183
  CREDENTIALS_FILE,
179
184
  );
180
185
  if (credentials) {
181
- return yield* ensureLatest(credentials);
186
+ // The cached `url`/`authToken` are minted per-account (the `url`
187
+ // encodes the account via its workers.dev subdomain). If the
188
+ // active account changed since they were written — or the file
189
+ // predates the `accountId` field — trusting the cache would
190
+ // silently read/write state in the wrong account, so discard it
191
+ // and fall through to re-derivation from the current account.
192
+ if (isStateStoreCredentialsStale(credentials, accountId)) {
193
+ yield* Clank.info(
194
+ `Cloudflare State Store credentials were minted for a different ` +
195
+ `Cloudflare account; re-deriving for the current account.`,
196
+ );
197
+ yield* credStore
198
+ .delete(profileName, CREDENTIALS_FILE)
199
+ .pipe(Effect.ignore);
200
+ } else {
201
+ return yield* ensureLatest(credentials);
202
+ }
182
203
  }
183
- const { accountId } =
184
- yield* yield* CloudflareEnvironment.CloudflareEnvironment;
185
204
  if (yield* isStateStoreServing(accountId)) {
186
205
  return yield* ensureLatest(
187
206
  yield* loginWithCloudflare(profileName, false),
@@ -283,7 +302,7 @@ export const bootstrap = (options: BootstrapOptions = {}) =>
283
302
  if (!isCI) {
284
303
  // we don't write credentials in CI because the file system is ephemeral
285
304
  const store = yield* CredentialsStore;
286
- yield* store.write<HttpStateStoreCredentials>(
305
+ yield* store.write<StoredStateStoreCredentials>(
287
306
  profileName,
288
307
  CREDENTIALS_FILE,
289
308
  credentials,
@@ -667,9 +686,10 @@ const hoistBootstrapStack = Effect.fn(function* ({
667
686
  // Secrets Store bindings) can take a while to serve
668
687
  // consistently; anything persisting past that is a real
669
688
  // failure to surface, not to spin on.
670
- schedule: Schedule.fixed(500).pipe(
671
- Schedule.both(Schedule.recurs(60)),
672
- ),
689
+ schedule: Schedule.max([
690
+ Schedule.fixed(500),
691
+ Schedule.recurs(60),
692
+ ]),
673
693
  }),
674
694
  );
675
695
  }
@@ -703,11 +723,17 @@ export const loginWithCloudflare = (profileName: string, force: boolean) =>
703
723
 
704
724
  if (!force) {
705
725
  // try and read from the cached credentials first if not forcing (force will always refresh)
706
- const credentials = yield* credStore.read<HttpStateStoreCredentials>(
726
+ const credentials = yield* credStore.read<StoredStateStoreCredentials>(
707
727
  profileName,
708
728
  CREDENTIALS_FILE,
709
729
  );
710
- if (credentials) {
730
+ // Ignore a cache minted for a different account (or a legacy file with
731
+ // no `accountId`) — reusing it would hand back the wrong account's
732
+ // state-store URL. Fall through to re-derive against `accountId`.
733
+ if (
734
+ credentials &&
735
+ !isStateStoreCredentialsStale(credentials, accountId)
736
+ ) {
711
737
  return credentials;
712
738
  }
713
739
  }
@@ -736,10 +762,13 @@ export const loginWithCloudflare = (profileName: string, force: boolean) =>
736
762
  isTransientEdgeSessionError(error),
737
763
  // Cap the exponential delay at 2s so 15 retries stay within
738
764
  // ~30s instead of doubling unboundedly.
739
- schedule: Schedule.exponential(200).pipe(
740
- Schedule.either(Schedule.spaced("2 seconds")),
741
- Schedule.both(Schedule.recurs(15)),
742
- ),
765
+ schedule: Schedule.max([
766
+ Schedule.min([
767
+ Schedule.exponential(200),
768
+ Schedule.spaced("2 seconds"),
769
+ ]),
770
+ Schedule.recurs(15),
771
+ ]),
743
772
  }),
744
773
  );
745
774
 
@@ -751,9 +780,10 @@ export const loginWithCloudflare = (profileName: string, force: boolean) =>
751
780
  // 4. Persist credentials. The profile entry is managed by
752
781
  // `loadOrConfigure` when this is invoked through `configure`.
753
782
  yield* credStore
754
- .write<HttpStateStoreCredentials>(profileName, CREDENTIALS_FILE, {
783
+ .write<StoredStateStoreCredentials>(profileName, CREDENTIALS_FILE, {
755
784
  url,
756
785
  authToken: authToken.trim(),
786
+ accountId,
757
787
  })
758
788
  .pipe(
759
789
  Effect.mapError(
@@ -774,6 +804,7 @@ export const loginWithCloudflare = (profileName: string, force: boolean) =>
774
804
  return {
775
805
  url,
776
806
  authToken: authToken.trim(),
807
+ accountId,
777
808
  };
778
809
  }).pipe(
779
810
  Effect.catchTag("EdgeSessionError", (e) =>
@@ -871,9 +902,10 @@ const waitForStateStoreVersion = (url: string) =>
871
902
  // Edge propagation is usually sub-second but production traces
872
903
  // show redeploys occasionally serving the old version for well
873
904
  // over 10s. Poll for ~30s before failing loudly.
874
- schedule: Schedule.spaced("500 millis").pipe(
875
- Schedule.both(Schedule.recurs(60)),
876
- ),
905
+ schedule: Schedule.max([
906
+ Schedule.spaced("500 millis"),
907
+ Schedule.recurs(60),
908
+ ]),
877
909
  }),
878
910
  Effect.withSpan("state_store.wait_for_version", {
879
911
  attributes: {
@@ -911,9 +943,10 @@ const checkStateStoreVersion = (url: string) =>
911
943
  : Effect.fail(e),
912
944
  ),
913
945
  Effect.retry({
914
- schedule: Schedule.spaced("250 millis").pipe(
915
- Schedule.both(Schedule.recurs(40)),
916
- ),
946
+ schedule: Schedule.max([
947
+ Schedule.spaced("250 millis"),
948
+ Schedule.recurs(40),
949
+ ]),
917
950
  }),
918
951
  Effect.catch(() => Effect.succeed(undefined)),
919
952
  );
@@ -1022,12 +1055,15 @@ const writeCredentials = (url: string, authToken: string) =>
1022
1055
  Effect.gen(function* () {
1023
1056
  const profileName = yield* ALCHEMY_PROFILE;
1024
1057
  const credStore = yield* CredentialsStore;
1025
- yield* credStore.write<HttpStateStoreCredentials>(
1058
+ const { accountId } =
1059
+ yield* yield* CloudflareEnvironment.CloudflareEnvironment;
1060
+ yield* credStore.write<StoredStateStoreCredentials>(
1026
1061
  profileName,
1027
1062
  CREDENTIALS_FILE,
1028
1063
  {
1029
1064
  url,
1030
1065
  authToken,
1066
+ accountId,
1031
1067
  },
1032
1068
  );
1033
1069
  });
@@ -21,9 +21,10 @@ type TypeId = typeof TypeId;
21
21
  // calls on that typed tag so reconcile waits out the propagation window.
22
22
  const targetVisibleRetry = {
23
23
  while: (e: { _tag: string }) => e._tag === "ZoneTagResourceNotFound",
24
- schedule: Schedule.exponential("500 millis").pipe(
25
- Schedule.both(Schedule.recurs(10)),
26
- ),
24
+ schedule: Schedule.max([
25
+ Schedule.exponential("500 millis"),
26
+ Schedule.recurs(10),
27
+ ]),
27
28
  } as const;
28
29
 
29
30
  /**
@@ -15,8 +15,7 @@ import * as Binding from "../../Binding.ts";
15
15
  import type { Worker } from "../Workers/Worker.ts";
16
16
  import type { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
17
17
  import type { RuntimeContext } from "../../RuntimeContext.ts";
18
- import { type Token } from "./TunnelBinding.ts";
19
- import { authorizeWith } from "../HttpClientUtils.ts";
18
+ import { type TunnelAuth } from "./TunnelBinding.ts";
20
19
 
21
20
  /**
22
21
  * Binding that lets a Worker read Cloudflare Tunnels at runtime.
@@ -117,31 +116,31 @@ export interface ReadTunnelClient {
117
116
  >;
118
117
  }
119
118
 
120
- /** Build the read-only client over a bound token. */
121
- export const readClient = (token: Token): ReadTunnelClient => {
122
- const authorize = authorizeWith(token);
119
+ /** Build the read-only client over an injectable {@link TunnelAuth}. */
120
+ export const readClient = (auth: TunnelAuth): ReadTunnelClient => {
121
+ const { authorize } = auth;
123
122
  return {
124
123
  get: Effect.fn("Cloudflare.Tunnel.get")(function* (tunnelId) {
125
- const accountId = yield* token.accountId;
124
+ const accountId = yield* auth.accountId;
126
125
  return yield* authorize(
127
126
  zeroTrust.getTunnelCloudflared({ accountId, tunnelId }),
128
127
  );
129
128
  }),
130
129
  list: Effect.fn("Cloudflare.Tunnel.list")(function* (request) {
131
- const accountId = yield* token.accountId;
130
+ const accountId = yield* auth.accountId;
132
131
  return yield* authorize(
133
132
  zeroTrust.listTunnelCloudflareds({ accountId, ...request }),
134
133
  );
135
134
  }),
136
135
  getToken: Effect.fn("Cloudflare.Tunnel.getToken")(function* (tunnelId) {
137
- const accountId = yield* token.accountId;
136
+ const accountId = yield* auth.accountId;
138
137
  return yield* authorize(
139
138
  zeroTrust.getTunnelCloudflaredToken({ accountId, tunnelId }),
140
139
  );
141
140
  }),
142
141
  getConfiguration: Effect.fn("Cloudflare.Tunnel.getConfiguration")(
143
142
  function* (tunnelId) {
144
- const accountId = yield* token.accountId;
143
+ const accountId = yield* auth.accountId;
145
144
  return yield* authorize(
146
145
  zeroTrust.getTunnelCloudflaredConfiguration({ accountId, tunnelId }),
147
146
  );
@@ -0,0 +1,33 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { readClient, ReadTunnel } from "./ReadTunnel.ts";
3
+ import { makeLocalTunnelClient } from "./TunnelLocalBinding.ts";
4
+
5
+ /**
6
+ * Local implementation of the {@link ReadTunnel} binding — reads Cloudflare
7
+ * Tunnels over the cfd_tunnel HTTP API using the **current credentials**
8
+ * instead of a native Worker binding (`ReadTunnelBinding`) or a scoped API
9
+ * token. No `host.bind`, no minted token, no Worker host.
10
+ *
11
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can read
12
+ * tunnels with the same `get`/`list`/`getToken`/`getConfiguration` client you'd
13
+ * use inside a Worker.
14
+ *
15
+ * @example Read a tunnel's connector token from an Action
16
+ * ```typescript
17
+ * const Inspect = Alchemy.Action(
18
+ * "Inspect",
19
+ * Effect.gen(function* () {
20
+ * const tunnels = yield* Cloudflare.Tunnel.ReadTunnel();
21
+ * const tunnelId = yield* tunnel.tunnelId;
22
+ * return Effect.fn(function* () {
23
+ * const t = yield* tunnels.get(yield* tunnelId);
24
+ * return t.result?.name;
25
+ * });
26
+ * }).pipe(Effect.provide(Cloudflare.Tunnel.ReadTunnelLocal)),
27
+ * );
28
+ * ```
29
+ */
30
+ export const ReadTunnelLocal = Layer.effect(
31
+ ReadTunnel,
32
+ makeLocalTunnelClient(readClient),
33
+ );
@@ -2,7 +2,7 @@ import * as Effect from "effect/Effect";
2
2
  import * as Binding from "../../Binding.ts";
3
3
  import type { Worker } from "../Workers/Worker.ts";
4
4
  import type { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
5
- import { type Token } from "./TunnelBinding.ts";
5
+ import { type TunnelAuth } from "./TunnelBinding.ts";
6
6
  import { readClient, type ReadTunnelClient } from "./ReadTunnel.ts";
7
7
  import { writeClient, type WriteTunnelClient } from "./WriteTunnel.ts";
8
8
 
@@ -68,8 +68,8 @@ export const ReadWriteTunnel = Binding.Service<ReadWriteTunnel>(
68
68
  export interface ReadWriteTunnelClient
69
69
  extends ReadTunnelClient, WriteTunnelClient {}
70
70
 
71
- /** Build the combined read + write client over a bound token. */
72
- export const readWriteClient = (token: Token): ReadWriteTunnelClient => ({
73
- ...readClient(token),
74
- ...writeClient(token),
71
+ /** Build the combined read + write client over an injectable {@link TunnelAuth}. */
72
+ export const readWriteClient = (auth: TunnelAuth): ReadWriteTunnelClient => ({
73
+ ...readClient(auth),
74
+ ...writeClient(auth),
75
75
  });
@@ -0,0 +1,39 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { readWriteClient, ReadWriteTunnel } from "./ReadWriteTunnel.ts";
3
+ import { makeLocalTunnelClient } from "./TunnelLocalBinding.ts";
4
+
5
+ /**
6
+ * Local implementation of the {@link ReadWriteTunnel} binding — performs the
7
+ * full cfd_tunnel CRUD surface over the HTTP API using the **current
8
+ * credentials** instead of a native Worker binding (`ReadWriteTunnelBinding`)
9
+ * or a scoped API token. No `host.bind`, no minted token, no Worker host.
10
+ *
11
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can manage
12
+ * tunnels with the same combined read + write client you'd use inside a Worker.
13
+ *
14
+ * @example Configure a deployed tunnel from an Action
15
+ * ```typescript
16
+ * const Configure = Alchemy.Action(
17
+ * "Configure",
18
+ * Effect.gen(function* () {
19
+ * const tunnels = yield* Cloudflare.Tunnel.ReadWriteTunnel();
20
+ * const tunnelId = yield* tunnel.tunnelId;
21
+ * return Effect.fn(function* () {
22
+ * const id = yield* tunnelId;
23
+ * yield* tunnels.putConfiguration(id, {
24
+ * ingress: [
25
+ * { hostname: "app.example.com", service: "http://localhost:3000" },
26
+ * { service: "http_status:404" },
27
+ * ],
28
+ * });
29
+ * const { config } = yield* tunnels.getConfiguration(id);
30
+ * return config;
31
+ * });
32
+ * }).pipe(Effect.provide(Cloudflare.Tunnel.ReadWriteTunnelLocal)),
33
+ * );
34
+ * ```
35
+ */
36
+ export const ReadWriteTunnelLocal = Layer.effect(
37
+ ReadWriteTunnel,
38
+ makeLocalTunnelClient(readWriteClient),
39
+ );
@@ -1,8 +1,12 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import type * as Redacted from "effect/Redacted";
3
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
4
+ import type { RuntimeContext } from "../../RuntimeContext.ts";
3
5
  import { AccountApiToken } from "../ApiToken/AccountApiToken.ts";
4
6
  import type { PermissionGroupRef } from "../ApiToken/Common.ts";
5
7
  import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
8
+ import type { Credentials } from "../Credentials.ts";
9
+ import { authorizeWith } from "../HttpClientUtils.ts";
6
10
  import { Worker } from "../Workers/Worker.ts";
7
11
 
8
12
  /**
@@ -16,7 +20,7 @@ import { Worker } from "../Workers/Worker.ts";
16
20
  export const makeTunnelClient = <C>(
17
21
  sid: string,
18
22
  permissionGroups: PermissionGroupRef[],
19
- makeClient: (token: Token) => C,
23
+ makeClient: (auth: TunnelAuth) => C,
20
24
  ) =>
21
25
  Effect.gen(function* () {
22
26
  const Token = yield* AccountApiToken;
@@ -39,10 +43,30 @@ export const makeTunnelClient = <C>(
39
43
  ],
40
44
  });
41
45
  }
42
- return makeClient(yield* bindTunnelToken(token));
46
+ return makeClient(makeTunnelAuth(yield* bindTunnelToken(token)));
43
47
  });
44
48
  });
45
49
 
50
+ /**
51
+ * Injectable auth for the tunnel client builders. Both the scoped-token
52
+ * (`*Binding`) and current-credentials (`*Local`) variants supply an
53
+ * `authorize` (which provides `Credentials` + `HttpClient` to a raw SDK op)
54
+ * and an `accountId`, so the client builders are agnostic to how creds are
55
+ * obtained.
56
+ */
57
+ export interface TunnelAuth {
58
+ authorize: <A, E>(
59
+ eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
60
+ ) => Effect.Effect<A, E, RuntimeContext>;
61
+ accountId: Effect.Effect<string>;
62
+ }
63
+
64
+ /** Build a scoped-token {@link TunnelAuth} from a bound {@link Token}. */
65
+ export const makeTunnelAuth = (token: Token): TunnelAuth => ({
66
+ authorize: authorizeWith(token),
67
+ accountId: token.accountId,
68
+ });
69
+
46
70
  /**
47
71
  * Runtime accessors for a tunnel binding's token, obtained by binding the
48
72
  * {@link AccountApiToken}'s outputs in the Worker's Init phase. Each accessor
@@ -0,0 +1,38 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
3
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
4
+ import type { Credentials } from "../Credentials.ts";
5
+ import type { TunnelAuth } from "./TunnelBinding.ts";
6
+
7
+ /**
8
+ * Shared scaffolding for the `*Local` tunnel services.
9
+ *
10
+ * Instead of minting a scoped {@link AccountApiToken} (the `*Binding` path), it
11
+ * captures the ambient current-credentials context available during stack-eval
12
+ * and builds a {@link TunnelAuth} that provides those credentials directly to
13
+ * the cfd_tunnel HTTP ops. It then delegates to the same client builders the
14
+ * `*Binding` variant uses.
15
+ *
16
+ * NOT exported from `index.ts` — this is internal scaffolding shared by the
17
+ * three access-level Local layers.
18
+ */
19
+ export const makeLocalTunnelClient = <Client>(
20
+ makeClient: (auth: TunnelAuth) => Client,
21
+ ) =>
22
+ Effect.gen(function* () {
23
+ // Account + credentials are ambient during stack-eval (the stack's
24
+ // providers layer). Capture the full context so cfd_tunnel HTTP ops can run
25
+ // with the current credentials — no `host.bind`, no minted token.
26
+ const { accountId } = yield* yield* CloudflareEnvironment;
27
+ const context = yield* Effect.context<
28
+ Credentials | HttpClient.HttpClient
29
+ >();
30
+
31
+ return Effect.fn(function* () {
32
+ const auth: TunnelAuth = {
33
+ authorize: (eff) => eff.pipe(Effect.provideContext(context)),
34
+ accountId: Effect.succeed(accountId),
35
+ };
36
+ return makeClient(auth);
37
+ });
38
+ });
@@ -6,6 +6,7 @@ import * as Redacted from "effect/Redacted";
6
6
  import * as Stream from "effect/Stream";
7
7
 
8
8
  import { Unowned } from "../../AdoptPolicy.ts";
9
+ import { isResolved } from "../../Diff.ts";
9
10
  import { createPhysicalName } from "../../PhysicalName.ts";
10
11
  import * as Provider from "../../Provider.ts";
11
12
  import { Resource } from "../../Resource.ts";
@@ -19,7 +20,7 @@ export interface WarpConnectorProps {
19
20
  /**
20
21
  * User-friendly name for the WARP Connector tunnel. Tunnel names are
21
22
  * unique per account, which makes the name the resource's identity
22
- * during adoption and state recovery. Mutable — patched in place.
23
+ * during adoption and state recovery. Changing it replaces the tunnel.
23
24
  *
24
25
  * @default ${app}-${stage}-${id}
25
26
  */
@@ -85,9 +86,9 @@ export type WarpConnector = Resource<
85
86
  * ```
86
87
  *
87
88
  * @section Renaming
88
- * @example Rename in place
89
+ * @example Replace with a new name
89
90
  * ```typescript
90
- * // Renaming patches the existing tunnel — same tunnelId, no replacement.
91
+ * // Renaming creates a new tunnel with a new tunnelId.
91
92
  * const connector = yield* Cloudflare.Tunnel.WarpConnector("SiteA", {
92
93
  * name: "site-a-connector-v2",
93
94
  * });
@@ -107,12 +108,14 @@ export const WarpConnectorProvider = () =>
107
108
  Provider.succeed(WarpConnector, {
108
109
  stables: ["tunnelId", "accountId", "createdAt"],
109
110
 
110
- diff: Effect.fn(function* ({ output }) {
111
+ diff: Effect.fn(function* ({ olds, news, output }) {
111
112
  const { accountId } = yield* yield* CloudflareEnvironment;
112
113
  if ((output?.accountId ?? accountId) !== accountId) {
113
114
  return { action: "replace" } as const;
114
115
  }
115
- // name converges via PATCH.
116
+ if (isResolved(news) && olds !== undefined && olds.name !== news.name) {
117
+ return { action: "replace" } as const;
118
+ }
116
119
  return undefined;
117
120
  }),
118
121
 
@@ -17,8 +17,7 @@ import * as Binding from "../../Binding.ts";
17
17
  import type { Worker } from "../Workers/Worker.ts";
18
18
  import type { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
19
19
  import type { RuntimeContext } from "../../RuntimeContext.ts";
20
- import { type Token } from "./TunnelBinding.ts";
21
- import { authorizeWith } from "../HttpClientUtils.ts";
20
+ import { type TunnelAuth } from "./TunnelBinding.ts";
22
21
 
23
22
  /**
24
23
  * Binding that lets a Worker create, update, and delete Cloudflare Tunnels at
@@ -137,33 +136,33 @@ export interface WriteTunnelClient {
137
136
  >;
138
137
  }
139
138
 
140
- /** Build the write client over a bound token. */
141
- export const writeClient = (token: Token): WriteTunnelClient => {
142
- const authorize = authorizeWith(token);
139
+ /** Build the write client over an injectable {@link TunnelAuth}. */
140
+ export const writeClient = (auth: TunnelAuth): WriteTunnelClient => {
141
+ const { authorize } = auth;
143
142
  return {
144
143
  create: Effect.fn("Cloudflare.Tunnel.create")(function* (request) {
145
- const accountId = yield* token.accountId;
144
+ const accountId = yield* auth.accountId;
146
145
  return yield* authorize(
147
146
  zeroTrust.createTunnelCloudflared({ accountId, ...request }),
148
147
  );
149
148
  }),
150
149
  update: Effect.fn("Cloudflare.Tunnel.update")(
151
150
  function* (tunnelId, request) {
152
- const accountId = yield* token.accountId;
151
+ const accountId = yield* auth.accountId;
153
152
  return yield* authorize(
154
153
  zeroTrust.patchTunnelCloudflared({ accountId, tunnelId, ...request }),
155
154
  );
156
155
  },
157
156
  ),
158
157
  delete: Effect.fn("Cloudflare.Tunnel.delete")(function* (tunnelId) {
159
- const accountId = yield* token.accountId;
158
+ const accountId = yield* auth.accountId;
160
159
  return yield* authorize(
161
160
  zeroTrust.deleteTunnelCloudflared({ accountId, tunnelId }),
162
161
  );
163
162
  }),
164
163
  putConfiguration: Effect.fn("Cloudflare.Tunnel.putConfiguration")(
165
164
  function* (tunnelId, config) {
166
- const accountId = yield* token.accountId;
165
+ const accountId = yield* auth.accountId;
167
166
  return yield* authorize(
168
167
  zeroTrust.putTunnelCloudflaredConfiguration({
169
168
  accountId,
@@ -0,0 +1,33 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { makeLocalTunnelClient } from "./TunnelLocalBinding.ts";
3
+ import { WriteTunnel, writeClient } from "./WriteTunnel.ts";
4
+
5
+ /**
6
+ * Local implementation of the {@link WriteTunnel} binding — creates, updates,
7
+ * and deletes Cloudflare Tunnels over the cfd_tunnel HTTP API using the
8
+ * **current credentials** instead of a native Worker binding
9
+ * (`WriteTunnelBinding`) or a scoped API token. No `host.bind`, no minted
10
+ * token, no Worker host.
11
+ *
12
+ * Provide it on an {@link Action} (or any deploy-time Effect) so you can mutate
13
+ * tunnels with the same `create`/`update`/`delete`/`putConfiguration` client
14
+ * you'd use inside a Worker.
15
+ *
16
+ * @example Provision a tunnel from an Action
17
+ * ```typescript
18
+ * const Provision = Alchemy.Action(
19
+ * "Provision",
20
+ * Effect.gen(function* () {
21
+ * const tunnels = yield* Cloudflare.Tunnel.WriteTunnel();
22
+ * return Effect.fn(function* () {
23
+ * const tunnel = yield* tunnels.create({ name: "on-demand-tunnel" });
24
+ * return tunnel.result?.id;
25
+ * });
26
+ * }).pipe(Effect.provide(Cloudflare.Tunnel.WriteTunnelLocal)),
27
+ * );
28
+ * ```
29
+ */
30
+ export const WriteTunnelLocal = Layer.effect(
31
+ WriteTunnel,
32
+ makeLocalTunnelClient(writeClient),
33
+ );