alchemy 2.0.0-beta.57 → 2.0.0-beta.58

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 (1507) hide show
  1. package/README.md +1 -1
  2. package/bin/exec.js +68 -49
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AI/Agent.d.ts +30 -0
  5. package/lib/AI/Agent.d.ts.map +1 -0
  6. package/lib/AI/Agent.js +14 -0
  7. package/lib/AI/Agent.js.map +1 -0
  8. package/lib/AI/Parameter.d.ts +19 -0
  9. package/lib/AI/Parameter.d.ts.map +1 -0
  10. package/lib/AI/Parameter.js +12 -0
  11. package/lib/AI/Parameter.js.map +1 -0
  12. package/lib/AI/Tool.d.ts +37 -0
  13. package/lib/AI/Tool.d.ts.map +1 -0
  14. package/lib/AI/Tool.js +11 -0
  15. package/lib/AI/Tool.js.map +1 -0
  16. package/lib/AI/index.d.ts +4 -0
  17. package/lib/AI/index.d.ts.map +1 -0
  18. package/lib/AI/index.js +4 -0
  19. package/lib/AI/index.js.map +1 -0
  20. package/lib/AWS/ACM/Certificate.d.ts +4 -0
  21. package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
  22. package/lib/AWS/ACM/Certificate.js +18 -11
  23. package/lib/AWS/ACM/Certificate.js.map +1 -1
  24. package/lib/AWS/Assets.js +1 -1
  25. package/lib/AWS/Assets.js.map +1 -1
  26. package/lib/AWS/AuthProvider.js +3 -3
  27. package/lib/AWS/AuthProvider.js.map +1 -1
  28. package/lib/AWS/AutoScaling/LaunchTemplate.js +1 -1
  29. package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
  30. package/lib/AWS/CloudFront/Distribution.js +1 -1
  31. package/lib/AWS/CloudFront/Distribution.js.map +1 -1
  32. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts +4 -3
  33. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts.map +1 -1
  34. package/lib/AWS/CloudWatch/DescribeAlarmContributors.js.map +1 -1
  35. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts +4 -3
  36. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts.map +1 -1
  37. package/lib/AWS/CloudWatch/DescribeAlarmHistory.js.map +1 -1
  38. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts +4 -3
  39. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts.map +1 -1
  40. package/lib/AWS/CloudWatch/DescribeAlarms.js.map +1 -1
  41. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts +4 -3
  42. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts.map +1 -1
  43. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.js.map +1 -1
  44. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts +4 -3
  45. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts.map +1 -1
  46. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.js.map +1 -1
  47. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts +4 -3
  48. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts.map +1 -1
  49. package/lib/AWS/CloudWatch/DescribeInsightRules.js.map +1 -1
  50. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts +4 -3
  51. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts.map +1 -1
  52. package/lib/AWS/CloudWatch/DisableAlarmActions.js.map +1 -1
  53. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts +4 -3
  54. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts.map +1 -1
  55. package/lib/AWS/CloudWatch/DisableInsightRules.js.map +1 -1
  56. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts +4 -3
  57. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts.map +1 -1
  58. package/lib/AWS/CloudWatch/EnableAlarmActions.js.map +1 -1
  59. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts +4 -3
  60. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts.map +1 -1
  61. package/lib/AWS/CloudWatch/GetAlarmMuteRule.js.map +1 -1
  62. package/lib/AWS/CloudWatch/GetDashboard.d.ts +4 -3
  63. package/lib/AWS/CloudWatch/GetDashboard.d.ts.map +1 -1
  64. package/lib/AWS/CloudWatch/GetDashboard.js.map +1 -1
  65. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts +4 -3
  66. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts.map +1 -1
  67. package/lib/AWS/CloudWatch/GetInsightRuleReport.js.map +1 -1
  68. package/lib/AWS/CloudWatch/GetMetricData.d.ts +4 -3
  69. package/lib/AWS/CloudWatch/GetMetricData.d.ts.map +1 -1
  70. package/lib/AWS/CloudWatch/GetMetricData.js.map +1 -1
  71. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts +4 -3
  72. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts.map +1 -1
  73. package/lib/AWS/CloudWatch/GetMetricStatistics.js.map +1 -1
  74. package/lib/AWS/CloudWatch/GetMetricStream.d.ts +4 -3
  75. package/lib/AWS/CloudWatch/GetMetricStream.d.ts.map +1 -1
  76. package/lib/AWS/CloudWatch/GetMetricStream.js.map +1 -1
  77. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts +4 -3
  78. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts.map +1 -1
  79. package/lib/AWS/CloudWatch/GetMetricWidgetImage.js.map +1 -1
  80. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts +4 -3
  81. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts.map +1 -1
  82. package/lib/AWS/CloudWatch/ListAlarmMuteRules.js.map +1 -1
  83. package/lib/AWS/CloudWatch/ListDashboards.d.ts +4 -3
  84. package/lib/AWS/CloudWatch/ListDashboards.d.ts.map +1 -1
  85. package/lib/AWS/CloudWatch/ListDashboards.js.map +1 -1
  86. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts +4 -3
  87. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts.map +1 -1
  88. package/lib/AWS/CloudWatch/ListManagedInsightRules.js.map +1 -1
  89. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts +4 -3
  90. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts.map +1 -1
  91. package/lib/AWS/CloudWatch/ListMetricStreams.js.map +1 -1
  92. package/lib/AWS/CloudWatch/ListMetrics.d.ts +4 -3
  93. package/lib/AWS/CloudWatch/ListMetrics.d.ts.map +1 -1
  94. package/lib/AWS/CloudWatch/ListMetrics.js.map +1 -1
  95. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts +4 -3
  96. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts.map +1 -1
  97. package/lib/AWS/CloudWatch/ListTagsForResource.js.map +1 -1
  98. package/lib/AWS/CloudWatch/PutMetricData.d.ts +4 -3
  99. package/lib/AWS/CloudWatch/PutMetricData.d.ts.map +1 -1
  100. package/lib/AWS/CloudWatch/PutMetricData.js.map +1 -1
  101. package/lib/AWS/CloudWatch/SetAlarmState.d.ts +4 -3
  102. package/lib/AWS/CloudWatch/SetAlarmState.d.ts.map +1 -1
  103. package/lib/AWS/CloudWatch/SetAlarmState.js.map +1 -1
  104. package/lib/AWS/Credentials.d.ts +5 -0
  105. package/lib/AWS/Credentials.d.ts.map +1 -1
  106. package/lib/AWS/Credentials.js.map +1 -1
  107. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts +4 -3
  108. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts.map +1 -1
  109. package/lib/AWS/DynamoDB/BatchExecuteStatement.js.map +1 -1
  110. package/lib/AWS/DynamoDB/BatchGetItem.d.ts +4 -3
  111. package/lib/AWS/DynamoDB/BatchGetItem.d.ts.map +1 -1
  112. package/lib/AWS/DynamoDB/BatchGetItem.js +4 -4
  113. package/lib/AWS/DynamoDB/BatchGetItem.js.map +1 -1
  114. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts +4 -3
  115. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts.map +1 -1
  116. package/lib/AWS/DynamoDB/BatchWriteItem.js +4 -4
  117. package/lib/AWS/DynamoDB/BatchWriteItem.js.map +1 -1
  118. package/lib/AWS/DynamoDB/DeleteItem.d.ts +4 -3
  119. package/lib/AWS/DynamoDB/DeleteItem.d.ts.map +1 -1
  120. package/lib/AWS/DynamoDB/DeleteItem.js.map +1 -1
  121. package/lib/AWS/DynamoDB/DescribeTable.d.ts +4 -3
  122. package/lib/AWS/DynamoDB/DescribeTable.d.ts.map +1 -1
  123. package/lib/AWS/DynamoDB/DescribeTable.js.map +1 -1
  124. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts +4 -3
  125. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts.map +1 -1
  126. package/lib/AWS/DynamoDB/DescribeTimeToLive.js.map +1 -1
  127. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts +4 -3
  128. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts.map +1 -1
  129. package/lib/AWS/DynamoDB/ExecuteStatement.js.map +1 -1
  130. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts +4 -3
  131. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts.map +1 -1
  132. package/lib/AWS/DynamoDB/ExecuteTransaction.js.map +1 -1
  133. package/lib/AWS/DynamoDB/GetItem.d.ts +4 -3
  134. package/lib/AWS/DynamoDB/GetItem.d.ts.map +1 -1
  135. package/lib/AWS/DynamoDB/GetItem.js.map +1 -1
  136. package/lib/AWS/DynamoDB/ListTables.d.ts +4 -3
  137. package/lib/AWS/DynamoDB/ListTables.d.ts.map +1 -1
  138. package/lib/AWS/DynamoDB/ListTables.js.map +1 -1
  139. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts +4 -3
  140. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts.map +1 -1
  141. package/lib/AWS/DynamoDB/ListTagsOfResource.js.map +1 -1
  142. package/lib/AWS/DynamoDB/PutItem.d.ts +4 -3
  143. package/lib/AWS/DynamoDB/PutItem.d.ts.map +1 -1
  144. package/lib/AWS/DynamoDB/PutItem.js.map +1 -1
  145. package/lib/AWS/DynamoDB/Query.d.ts +4 -3
  146. package/lib/AWS/DynamoDB/Query.d.ts.map +1 -1
  147. package/lib/AWS/DynamoDB/Query.js.map +1 -1
  148. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts +4 -3
  149. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts.map +1 -1
  150. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.js.map +1 -1
  151. package/lib/AWS/DynamoDB/Scan.d.ts +4 -3
  152. package/lib/AWS/DynamoDB/Scan.d.ts.map +1 -1
  153. package/lib/AWS/DynamoDB/Scan.js.map +1 -1
  154. package/lib/AWS/DynamoDB/TransactGetItems.d.ts +4 -3
  155. package/lib/AWS/DynamoDB/TransactGetItems.d.ts.map +1 -1
  156. package/lib/AWS/DynamoDB/TransactGetItems.js +4 -4
  157. package/lib/AWS/DynamoDB/TransactGetItems.js.map +1 -1
  158. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts +4 -3
  159. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts.map +1 -1
  160. package/lib/AWS/DynamoDB/TransactWriteItems.js +5 -5
  161. package/lib/AWS/DynamoDB/TransactWriteItems.js.map +1 -1
  162. package/lib/AWS/DynamoDB/UpdateItem.d.ts +4 -3
  163. package/lib/AWS/DynamoDB/UpdateItem.d.ts.map +1 -1
  164. package/lib/AWS/DynamoDB/UpdateItem.js.map +1 -1
  165. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts +4 -3
  166. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts.map +1 -1
  167. package/lib/AWS/DynamoDB/UpdateTimeToLive.js.map +1 -1
  168. package/lib/AWS/EC2/Image.js +2 -2
  169. package/lib/AWS/EC2/Image.js.map +1 -1
  170. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  171. package/lib/AWS/EC2/Instance.js +1 -1
  172. package/lib/AWS/EC2/Instance.js.map +1 -1
  173. package/lib/AWS/EC2/NatGateway.js +1 -1
  174. package/lib/AWS/EC2/NatGateway.js.map +1 -1
  175. package/lib/AWS/EC2/NetworkAcl.js +1 -1
  176. package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
  177. package/lib/AWS/EC2/SecurityGroup.js +1 -1
  178. package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
  179. package/lib/AWS/EC2/VpcEndpoint.js +1 -1
  180. package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
  181. package/lib/AWS/EC2/hosted.js +2 -2
  182. package/lib/AWS/EC2/hosted.js.map +1 -1
  183. package/lib/AWS/ECS/DescribeTasks.d.ts +4 -3
  184. package/lib/AWS/ECS/DescribeTasks.d.ts.map +1 -1
  185. package/lib/AWS/ECS/DescribeTasks.js.map +1 -1
  186. package/lib/AWS/ECS/ListTasks.d.ts +4 -3
  187. package/lib/AWS/ECS/ListTasks.d.ts.map +1 -1
  188. package/lib/AWS/ECS/ListTasks.js.map +1 -1
  189. package/lib/AWS/ECS/RunTask.d.ts +4 -3
  190. package/lib/AWS/ECS/RunTask.d.ts.map +1 -1
  191. package/lib/AWS/ECS/RunTask.js.map +1 -1
  192. package/lib/AWS/ECS/StopTask.d.ts +4 -3
  193. package/lib/AWS/ECS/StopTask.d.ts.map +1 -1
  194. package/lib/AWS/ECS/StopTask.js.map +1 -1
  195. package/lib/AWS/ECS/Task.js +1 -1
  196. package/lib/AWS/ECS/Task.js.map +1 -1
  197. package/lib/AWS/Environment.d.ts +2 -1
  198. package/lib/AWS/Environment.d.ts.map +1 -1
  199. package/lib/AWS/Environment.js +1 -1
  200. package/lib/AWS/Environment.js.map +1 -1
  201. package/lib/AWS/EventBridge/DescribeEventBus.d.ts +4 -3
  202. package/lib/AWS/EventBridge/DescribeEventBus.d.ts.map +1 -1
  203. package/lib/AWS/EventBridge/DescribeEventBus.js.map +1 -1
  204. package/lib/AWS/EventBridge/DescribeRule.d.ts +4 -3
  205. package/lib/AWS/EventBridge/DescribeRule.d.ts.map +1 -1
  206. package/lib/AWS/EventBridge/DescribeRule.js.map +1 -1
  207. package/lib/AWS/EventBridge/EventSource.d.ts +2 -2
  208. package/lib/AWS/EventBridge/ListEventBuses.d.ts +4 -3
  209. package/lib/AWS/EventBridge/ListEventBuses.d.ts.map +1 -1
  210. package/lib/AWS/EventBridge/ListEventBuses.js.map +1 -1
  211. package/lib/AWS/EventBridge/ListRules.d.ts +4 -3
  212. package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
  213. package/lib/AWS/EventBridge/ListRules.js.map +1 -1
  214. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts +4 -3
  215. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts.map +1 -1
  216. package/lib/AWS/EventBridge/ListTargetsByRule.js.map +1 -1
  217. package/lib/AWS/EventBridge/PutEvents.d.ts +4 -3
  218. package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
  219. package/lib/AWS/EventBridge/PutEvents.js.map +1 -1
  220. package/lib/AWS/EventBridge/TestEventPattern.d.ts +4 -3
  221. package/lib/AWS/EventBridge/TestEventPattern.d.ts.map +1 -1
  222. package/lib/AWS/EventBridge/TestEventPattern.js.map +1 -1
  223. package/lib/AWS/EventBridge/ToLambda.d.ts +4 -3
  224. package/lib/AWS/EventBridge/ToLambda.d.ts.map +1 -1
  225. package/lib/AWS/EventBridge/ToLambda.js.map +1 -1
  226. package/lib/AWS/EventBridge/ToQueue.d.ts +4 -3
  227. package/lib/AWS/EventBridge/ToQueue.d.ts.map +1 -1
  228. package/lib/AWS/EventBridge/ToQueue.js.map +1 -1
  229. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts +4 -3
  230. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts.map +1 -1
  231. package/lib/AWS/Kinesis/DescribeAccountSettings.js.map +1 -1
  232. package/lib/AWS/Kinesis/DescribeLimits.d.ts +4 -3
  233. package/lib/AWS/Kinesis/DescribeLimits.d.ts.map +1 -1
  234. package/lib/AWS/Kinesis/DescribeLimits.js.map +1 -1
  235. package/lib/AWS/Kinesis/DescribeStream.d.ts +4 -3
  236. package/lib/AWS/Kinesis/DescribeStream.d.ts.map +1 -1
  237. package/lib/AWS/Kinesis/DescribeStream.js.map +1 -1
  238. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts +4 -3
  239. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts.map +1 -1
  240. package/lib/AWS/Kinesis/DescribeStreamConsumer.js.map +1 -1
  241. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts +4 -3
  242. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts.map +1 -1
  243. package/lib/AWS/Kinesis/DescribeStreamSummary.js.map +1 -1
  244. package/lib/AWS/Kinesis/GetRecords.d.ts +4 -3
  245. package/lib/AWS/Kinesis/GetRecords.d.ts.map +1 -1
  246. package/lib/AWS/Kinesis/GetRecords.js.map +1 -1
  247. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts +4 -3
  248. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts.map +1 -1
  249. package/lib/AWS/Kinesis/GetResourcePolicy.js.map +1 -1
  250. package/lib/AWS/Kinesis/GetShardIterator.d.ts +4 -3
  251. package/lib/AWS/Kinesis/GetShardIterator.d.ts.map +1 -1
  252. package/lib/AWS/Kinesis/GetShardIterator.js.map +1 -1
  253. package/lib/AWS/Kinesis/ListShards.d.ts +4 -3
  254. package/lib/AWS/Kinesis/ListShards.d.ts.map +1 -1
  255. package/lib/AWS/Kinesis/ListShards.js.map +1 -1
  256. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts +4 -3
  257. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts.map +1 -1
  258. package/lib/AWS/Kinesis/ListStreamConsumers.js.map +1 -1
  259. package/lib/AWS/Kinesis/ListStreams.d.ts +4 -3
  260. package/lib/AWS/Kinesis/ListStreams.d.ts.map +1 -1
  261. package/lib/AWS/Kinesis/ListStreams.js.map +1 -1
  262. package/lib/AWS/Kinesis/ListTagsForResource.d.ts +4 -3
  263. package/lib/AWS/Kinesis/ListTagsForResource.d.ts.map +1 -1
  264. package/lib/AWS/Kinesis/ListTagsForResource.js.map +1 -1
  265. package/lib/AWS/Kinesis/PutRecord.d.ts +4 -3
  266. package/lib/AWS/Kinesis/PutRecord.d.ts.map +1 -1
  267. package/lib/AWS/Kinesis/PutRecord.js.map +1 -1
  268. package/lib/AWS/Kinesis/PutRecords.d.ts +4 -3
  269. package/lib/AWS/Kinesis/PutRecords.d.ts.map +1 -1
  270. package/lib/AWS/Kinesis/PutRecords.js.map +1 -1
  271. package/lib/AWS/Kinesis/StreamSink.d.ts +4 -3
  272. package/lib/AWS/Kinesis/StreamSink.d.ts.map +1 -1
  273. package/lib/AWS/Kinesis/StreamSink.js.map +1 -1
  274. package/lib/AWS/Kinesis/SubscribeToShard.d.ts +4 -3
  275. package/lib/AWS/Kinesis/SubscribeToShard.d.ts.map +1 -1
  276. package/lib/AWS/Kinesis/SubscribeToShard.js.map +1 -1
  277. package/lib/AWS/Lambda/BucketEventSource.d.ts +4 -3
  278. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  279. package/lib/AWS/Lambda/BucketEventSource.js.map +1 -1
  280. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +4 -3
  281. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  282. package/lib/AWS/Lambda/EventBridgeEventSource.js.map +1 -1
  283. package/lib/AWS/Lambda/Function.d.ts +45 -3
  284. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  285. package/lib/AWS/Lambda/Function.js +121 -47
  286. package/lib/AWS/Lambda/Function.js.map +1 -1
  287. package/lib/AWS/Lambda/InvokeFunction.d.ts +4 -3
  288. package/lib/AWS/Lambda/InvokeFunction.d.ts.map +1 -1
  289. package/lib/AWS/Lambda/InvokeFunction.js.map +1 -1
  290. package/lib/AWS/Lambda/QueueEventSource.d.ts +4 -3
  291. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  292. package/lib/AWS/Lambda/QueueEventSource.js.map +1 -1
  293. package/lib/AWS/Lambda/StreamEventSource.d.ts +4 -3
  294. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  295. package/lib/AWS/Lambda/StreamEventSource.js.map +1 -1
  296. package/lib/AWS/Lambda/TableEventSource.d.ts +4 -3
  297. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  298. package/lib/AWS/Lambda/TableEventSource.js.map +1 -1
  299. package/lib/AWS/Lambda/TopicEventSource.d.ts +4 -3
  300. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  301. package/lib/AWS/Lambda/TopicEventSource.js.map +1 -1
  302. package/lib/AWS/Organizations/Root.js +1 -1
  303. package/lib/AWS/Organizations/Root.js.map +1 -1
  304. package/lib/AWS/Providers.d.ts +2 -2
  305. package/lib/AWS/Providers.d.ts.map +1 -1
  306. package/lib/AWS/Providers.js +4 -5
  307. package/lib/AWS/Providers.js.map +1 -1
  308. package/lib/AWS/RDS/Connect.d.ts +4 -3
  309. package/lib/AWS/RDS/Connect.d.ts.map +1 -1
  310. package/lib/AWS/RDS/Connect.js.map +1 -1
  311. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts +4 -3
  312. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts.map +1 -1
  313. package/lib/AWS/RDSData/BatchExecuteStatement.js.map +1 -1
  314. package/lib/AWS/RDSData/BeginTransaction.d.ts +4 -3
  315. package/lib/AWS/RDSData/BeginTransaction.d.ts.map +1 -1
  316. package/lib/AWS/RDSData/BeginTransaction.js.map +1 -1
  317. package/lib/AWS/RDSData/CommitTransaction.d.ts +4 -3
  318. package/lib/AWS/RDSData/CommitTransaction.d.ts.map +1 -1
  319. package/lib/AWS/RDSData/CommitTransaction.js.map +1 -1
  320. package/lib/AWS/RDSData/ExecuteSql.d.ts +4 -3
  321. package/lib/AWS/RDSData/ExecuteSql.d.ts.map +1 -1
  322. package/lib/AWS/RDSData/ExecuteSql.js.map +1 -1
  323. package/lib/AWS/RDSData/ExecuteStatement.d.ts +4 -3
  324. package/lib/AWS/RDSData/ExecuteStatement.d.ts.map +1 -1
  325. package/lib/AWS/RDSData/ExecuteStatement.js.map +1 -1
  326. package/lib/AWS/RDSData/RollbackTransaction.d.ts +4 -3
  327. package/lib/AWS/RDSData/RollbackTransaction.d.ts.map +1 -1
  328. package/lib/AWS/RDSData/RollbackTransaction.js.map +1 -1
  329. package/lib/AWS/Region.d.ts +5 -0
  330. package/lib/AWS/Region.d.ts.map +1 -1
  331. package/lib/AWS/Region.js.map +1 -1
  332. package/lib/AWS/S3/AbortMultipartUpload.d.ts +4 -3
  333. package/lib/AWS/S3/AbortMultipartUpload.d.ts.map +1 -1
  334. package/lib/AWS/S3/AbortMultipartUpload.js.map +1 -1
  335. package/lib/AWS/S3/Bucket.js +18 -18
  336. package/lib/AWS/S3/Bucket.js.map +1 -1
  337. package/lib/AWS/S3/CompleteMultipartUpload.d.ts +4 -3
  338. package/lib/AWS/S3/CompleteMultipartUpload.d.ts.map +1 -1
  339. package/lib/AWS/S3/CompleteMultipartUpload.js.map +1 -1
  340. package/lib/AWS/S3/CopyObject.d.ts +4 -3
  341. package/lib/AWS/S3/CopyObject.d.ts.map +1 -1
  342. package/lib/AWS/S3/CopyObject.js.map +1 -1
  343. package/lib/AWS/S3/CreateMultipartUpload.d.ts +4 -3
  344. package/lib/AWS/S3/CreateMultipartUpload.d.ts.map +1 -1
  345. package/lib/AWS/S3/CreateMultipartUpload.js.map +1 -1
  346. package/lib/AWS/S3/DeleteObject.d.ts +4 -3
  347. package/lib/AWS/S3/DeleteObject.d.ts.map +1 -1
  348. package/lib/AWS/S3/DeleteObject.js.map +1 -1
  349. package/lib/AWS/S3/GetObject.d.ts +4 -3
  350. package/lib/AWS/S3/GetObject.d.ts.map +1 -1
  351. package/lib/AWS/S3/GetObject.js.map +1 -1
  352. package/lib/AWS/S3/HeadObject.d.ts +4 -3
  353. package/lib/AWS/S3/HeadObject.d.ts.map +1 -1
  354. package/lib/AWS/S3/HeadObject.js.map +1 -1
  355. package/lib/AWS/S3/ListObjectsV2.d.ts +4 -3
  356. package/lib/AWS/S3/ListObjectsV2.d.ts.map +1 -1
  357. package/lib/AWS/S3/ListObjectsV2.js.map +1 -1
  358. package/lib/AWS/S3/PutObject.d.ts +4 -3
  359. package/lib/AWS/S3/PutObject.d.ts.map +1 -1
  360. package/lib/AWS/S3/PutObject.js.map +1 -1
  361. package/lib/AWS/S3/UploadPart.d.ts +4 -3
  362. package/lib/AWS/S3/UploadPart.d.ts.map +1 -1
  363. package/lib/AWS/S3/UploadPart.js.map +1 -1
  364. package/lib/AWS/SNS/AddPermission.d.ts +4 -3
  365. package/lib/AWS/SNS/AddPermission.d.ts.map +1 -1
  366. package/lib/AWS/SNS/AddPermission.js.map +1 -1
  367. package/lib/AWS/SNS/ConfirmSubscription.d.ts +4 -3
  368. package/lib/AWS/SNS/ConfirmSubscription.d.ts.map +1 -1
  369. package/lib/AWS/SNS/ConfirmSubscription.js.map +1 -1
  370. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts +4 -3
  371. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts.map +1 -1
  372. package/lib/AWS/SNS/GetDataProtectionPolicy.js.map +1 -1
  373. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts +4 -3
  374. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts.map +1 -1
  375. package/lib/AWS/SNS/GetSubscriptionAttributes.js.map +1 -1
  376. package/lib/AWS/SNS/GetTopicAttributes.d.ts +4 -3
  377. package/lib/AWS/SNS/GetTopicAttributes.d.ts.map +1 -1
  378. package/lib/AWS/SNS/GetTopicAttributes.js.map +1 -1
  379. package/lib/AWS/SNS/ListSubscriptions.d.ts +4 -3
  380. package/lib/AWS/SNS/ListSubscriptions.d.ts.map +1 -1
  381. package/lib/AWS/SNS/ListSubscriptions.js.map +1 -1
  382. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts +4 -3
  383. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts.map +1 -1
  384. package/lib/AWS/SNS/ListSubscriptionsByTopic.js.map +1 -1
  385. package/lib/AWS/SNS/ListTagsForResource.d.ts +4 -3
  386. package/lib/AWS/SNS/ListTagsForResource.d.ts.map +1 -1
  387. package/lib/AWS/SNS/ListTagsForResource.js.map +1 -1
  388. package/lib/AWS/SNS/ListTopics.d.ts +4 -3
  389. package/lib/AWS/SNS/ListTopics.d.ts.map +1 -1
  390. package/lib/AWS/SNS/ListTopics.js.map +1 -1
  391. package/lib/AWS/SNS/Publish.d.ts +4 -3
  392. package/lib/AWS/SNS/Publish.d.ts.map +1 -1
  393. package/lib/AWS/SNS/Publish.js.map +1 -1
  394. package/lib/AWS/SNS/PublishBatch.d.ts +4 -3
  395. package/lib/AWS/SNS/PublishBatch.d.ts.map +1 -1
  396. package/lib/AWS/SNS/PublishBatch.js.map +1 -1
  397. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts +4 -3
  398. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts.map +1 -1
  399. package/lib/AWS/SNS/PutDataProtectionPolicy.js.map +1 -1
  400. package/lib/AWS/SNS/RemovePermission.d.ts +4 -3
  401. package/lib/AWS/SNS/RemovePermission.d.ts.map +1 -1
  402. package/lib/AWS/SNS/RemovePermission.js.map +1 -1
  403. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts +4 -3
  404. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts.map +1 -1
  405. package/lib/AWS/SNS/SetSubscriptionAttributes.js.map +1 -1
  406. package/lib/AWS/SNS/SetTopicAttributes.d.ts +4 -3
  407. package/lib/AWS/SNS/SetTopicAttributes.d.ts.map +1 -1
  408. package/lib/AWS/SNS/SetTopicAttributes.js.map +1 -1
  409. package/lib/AWS/SNS/TagResource.d.ts +4 -3
  410. package/lib/AWS/SNS/TagResource.d.ts.map +1 -1
  411. package/lib/AWS/SNS/TagResource.js.map +1 -1
  412. package/lib/AWS/SNS/TopicSink.d.ts +4 -3
  413. package/lib/AWS/SNS/TopicSink.d.ts.map +1 -1
  414. package/lib/AWS/SNS/TopicSink.js.map +1 -1
  415. package/lib/AWS/SNS/UntagResource.d.ts +4 -3
  416. package/lib/AWS/SNS/UntagResource.d.ts.map +1 -1
  417. package/lib/AWS/SNS/UntagResource.js.map +1 -1
  418. package/lib/AWS/SQS/DeleteMessage.d.ts +4 -3
  419. package/lib/AWS/SQS/DeleteMessage.d.ts.map +1 -1
  420. package/lib/AWS/SQS/DeleteMessage.js.map +1 -1
  421. package/lib/AWS/SQS/DeleteMessageBatch.d.ts +4 -3
  422. package/lib/AWS/SQS/DeleteMessageBatch.d.ts.map +1 -1
  423. package/lib/AWS/SQS/DeleteMessageBatch.js.map +1 -1
  424. package/lib/AWS/SQS/Queue.js +1 -1
  425. package/lib/AWS/SQS/Queue.js.map +1 -1
  426. package/lib/AWS/SQS/QueueSink.d.ts +4 -3
  427. package/lib/AWS/SQS/QueueSink.d.ts.map +1 -1
  428. package/lib/AWS/SQS/QueueSink.js.map +1 -1
  429. package/lib/AWS/SQS/ReceiveMessage.d.ts +4 -3
  430. package/lib/AWS/SQS/ReceiveMessage.d.ts.map +1 -1
  431. package/lib/AWS/SQS/ReceiveMessage.js.map +1 -1
  432. package/lib/AWS/SQS/SendMessage.d.ts +4 -3
  433. package/lib/AWS/SQS/SendMessage.d.ts.map +1 -1
  434. package/lib/AWS/SQS/SendMessage.js.map +1 -1
  435. package/lib/AWS/SQS/SendMessageBatch.d.ts +4 -3
  436. package/lib/AWS/SQS/SendMessageBatch.d.ts.map +1 -1
  437. package/lib/AWS/SQS/SendMessageBatch.js.map +1 -1
  438. package/lib/AWS/SecretsManager/DescribeSecret.d.ts +4 -3
  439. package/lib/AWS/SecretsManager/DescribeSecret.d.ts.map +1 -1
  440. package/lib/AWS/SecretsManager/DescribeSecret.js.map +1 -1
  441. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts +4 -3
  442. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts.map +1 -1
  443. package/lib/AWS/SecretsManager/GetRandomPassword.js.map +1 -1
  444. package/lib/AWS/SecretsManager/GetSecretValue.d.ts +4 -3
  445. package/lib/AWS/SecretsManager/GetSecretValue.d.ts.map +1 -1
  446. package/lib/AWS/SecretsManager/GetSecretValue.js.map +1 -1
  447. package/lib/AWS/SecretsManager/ListSecrets.d.ts +4 -3
  448. package/lib/AWS/SecretsManager/ListSecrets.d.ts.map +1 -1
  449. package/lib/AWS/SecretsManager/ListSecrets.js.map +1 -1
  450. package/lib/AWS/SecretsManager/PutSecretValue.d.ts +4 -3
  451. package/lib/AWS/SecretsManager/PutSecretValue.d.ts.map +1 -1
  452. package/lib/AWS/SecretsManager/PutSecretValue.js.map +1 -1
  453. package/lib/AWS/StateStore/State.js +30 -6
  454. package/lib/AWS/StateStore/State.js.map +1 -1
  455. package/lib/AWS/Website/Router.d.ts.map +1 -1
  456. package/lib/AWS/Website/Router.js +7 -4
  457. package/lib/AWS/Website/Router.js.map +1 -1
  458. package/lib/AWS/Website/SsrSite.d.ts.map +1 -1
  459. package/lib/AWS/Website/SsrSite.js +3 -3
  460. package/lib/AWS/Website/SsrSite.js.map +1 -1
  461. package/lib/AWS/Website/StaticSite.d.ts +3 -3
  462. package/lib/AWS/Website/StaticSite.d.ts.map +1 -1
  463. package/lib/AWS/Website/StaticSite.js +9 -6
  464. package/lib/AWS/Website/StaticSite.js.map +1 -1
  465. package/lib/AdoptPolicy.d.ts +1 -1
  466. package/lib/AdoptPolicy.js +1 -1
  467. package/lib/Apply.d.ts.map +1 -1
  468. package/lib/Apply.js +16 -8
  469. package/lib/Apply.js.map +1 -1
  470. package/lib/Auth/Lock.d.ts.map +1 -1
  471. package/lib/Auth/Lock.js +4 -1
  472. package/lib/Auth/Lock.js.map +1 -1
  473. package/lib/Auth/Profile.d.ts +2 -1
  474. package/lib/Auth/Profile.d.ts.map +1 -1
  475. package/lib/Auth/Profile.js +28 -3
  476. package/lib/Auth/Profile.js.map +1 -1
  477. package/lib/Axiom/AuthProvider.js +2 -2
  478. package/lib/Axiom/AuthProvider.js.map +1 -1
  479. package/lib/Binding.d.ts +1 -1
  480. package/lib/Binding.d.ts.map +1 -1
  481. package/lib/Binding.js.map +1 -1
  482. package/lib/Bundle/Bundle.d.ts.map +1 -1
  483. package/lib/Bundle/Bundle.js +46 -4
  484. package/lib/Bundle/Bundle.js.map +1 -1
  485. package/lib/Bundle/Docker.d.ts +4 -1
  486. package/lib/Bundle/Docker.d.ts.map +1 -1
  487. package/lib/Bundle/Docker.js +21 -4
  488. package/lib/Bundle/Docker.js.map +1 -1
  489. package/lib/Bundle/InstalledPackages.d.ts +79 -0
  490. package/lib/Bundle/InstalledPackages.d.ts.map +1 -0
  491. package/lib/Bundle/InstalledPackages.js +364 -0
  492. package/lib/Bundle/InstalledPackages.js.map +1 -0
  493. package/lib/Bundle/TempRoot.js +1 -1
  494. package/lib/Bundle/TempRoot.js.map +1 -1
  495. package/lib/Bundle/index.d.ts +1 -0
  496. package/lib/Bundle/index.d.ts.map +1 -1
  497. package/lib/Bundle/index.js +1 -0
  498. package/lib/Bundle/index.js.map +1 -1
  499. package/lib/Cli/commands/aws.js +1 -1
  500. package/lib/Cli/commands/aws.js.map +1 -1
  501. package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
  502. package/lib/Cli/commands/cloudflare.js +3 -3
  503. package/lib/Cli/commands/cloudflare.js.map +1 -1
  504. package/lib/Cli/commands/login.js +1 -1
  505. package/lib/Cli/commands/login.js.map +1 -1
  506. package/lib/Cli/commands/logs.js +1 -1
  507. package/lib/Cli/commands/logs.js.map +1 -1
  508. package/lib/Cli/commands/nuke.js +1 -1
  509. package/lib/Cli/commands/nuke.js.map +1 -1
  510. package/lib/Cli/commands/profile.js +2 -2
  511. package/lib/Cli/commands/profile.js.map +1 -1
  512. package/lib/Cli/commands/state.d.ts.map +1 -1
  513. package/lib/Cli/commands/state.js +6 -6
  514. package/lib/Cli/commands/state.js.map +1 -1
  515. package/lib/Cli/commands/tail.js +1 -1
  516. package/lib/Cli/commands/tail.js.map +1 -1
  517. package/lib/Cli/selectCli.d.ts +1 -8
  518. package/lib/Cli/selectCli.d.ts.map +1 -1
  519. package/lib/Cli/selectCli.js +2 -27
  520. package/lib/Cli/selectCli.js.map +1 -1
  521. package/lib/Cloudflare/Access/Application.d.ts.map +1 -1
  522. package/lib/Cloudflare/Access/Application.js +36 -3
  523. package/lib/Cloudflare/Access/Application.js.map +1 -1
  524. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +96 -0
  525. package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
  526. package/lib/Cloudflare/AiGateway/AiGateway.js +87 -0
  527. package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
  528. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +4 -3
  529. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  530. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  531. package/lib/Cloudflare/AiGateway/DurableObjectChatPersistence.d.ts +7 -0
  532. package/lib/Cloudflare/AiGateway/DurableObjectChatPersistence.d.ts.map +1 -0
  533. package/lib/Cloudflare/AiGateway/DurableObjectChatPersistence.js +45 -0
  534. package/lib/Cloudflare/AiGateway/DurableObjectChatPersistence.js.map +1 -0
  535. package/lib/Cloudflare/AiGateway/LanguageModel.js +1 -1
  536. package/lib/Cloudflare/AiGateway/LanguageModel.js.map +1 -1
  537. package/lib/Cloudflare/AiGateway/index.d.ts +1 -1
  538. package/lib/Cloudflare/AiGateway/index.d.ts.map +1 -1
  539. package/lib/Cloudflare/AiGateway/index.js +1 -1
  540. package/lib/Cloudflare/AiGateway/index.js.map +1 -1
  541. package/lib/Cloudflare/AiSearch/AiSearch.d.ts +3 -2
  542. package/lib/Cloudflare/AiSearch/AiSearch.d.ts.map +1 -1
  543. package/lib/Cloudflare/AiSearch/AiSearch.js +4 -3
  544. package/lib/Cloudflare/AiSearch/AiSearch.js.map +1 -1
  545. package/lib/Cloudflare/AiSearch/AiSearchBinding.d.ts +7 -6
  546. package/lib/Cloudflare/AiSearch/AiSearchBinding.d.ts.map +1 -1
  547. package/lib/Cloudflare/AiSearch/AiSearchBinding.js.map +1 -1
  548. package/lib/Cloudflare/AiSearch/AiSearchInstance.js +28 -14
  549. package/lib/Cloudflare/AiSearch/AiSearchInstance.js.map +1 -1
  550. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -1
  551. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +1 -1
  552. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -1
  553. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +4 -3
  554. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -1
  555. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +2 -2
  556. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
  557. package/lib/Cloudflare/ApiShield/UserSchema.d.ts.map +1 -1
  558. package/lib/Cloudflare/ApiShield/UserSchema.js +4 -1
  559. package/lib/Cloudflare/ApiShield/UserSchema.js.map +1 -1
  560. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts +4 -3
  561. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts.map +1 -1
  562. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
  563. package/lib/Cloudflare/Auth/AuthProvider.d.ts +1 -0
  564. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  565. package/lib/Cloudflare/Auth/AuthProvider.js +5 -3
  566. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  567. package/lib/Cloudflare/Browser/BrowserBinding.d.ts +4 -3
  568. package/lib/Cloudflare/Browser/BrowserBinding.d.ts.map +1 -1
  569. package/lib/Cloudflare/Browser/BrowserBinding.js.map +1 -1
  570. package/lib/Cloudflare/Cache/RegionalTieredCache.d.ts.map +1 -1
  571. package/lib/Cloudflare/Cache/RegionalTieredCache.js +15 -1
  572. package/lib/Cloudflare/Cache/RegionalTieredCache.js.map +1 -1
  573. package/lib/Cloudflare/ClientCertificate/ClientCertificate.d.ts.map +1 -1
  574. package/lib/Cloudflare/ClientCertificate/ClientCertificate.js +17 -10
  575. package/lib/Cloudflare/ClientCertificate/ClientCertificate.js.map +1 -1
  576. package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -0
  577. package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
  578. package/lib/Cloudflare/CloudflareEnvironment.js +1 -0
  579. package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
  580. package/lib/Cloudflare/Container/Container.d.ts +233 -81
  581. package/lib/Cloudflare/Container/Container.d.ts.map +1 -1
  582. package/lib/Cloudflare/Container/Container.js +181 -116
  583. package/lib/Cloudflare/Container/Container.js.map +1 -1
  584. package/lib/Cloudflare/Container/ContainerApplication.d.ts +67 -13
  585. package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
  586. package/lib/Cloudflare/Container/ContainerApplication.js +2 -557
  587. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  588. package/lib/Cloudflare/Container/ContainerBundle.d.ts +26 -0
  589. package/lib/Cloudflare/Container/ContainerBundle.d.ts.map +1 -1
  590. package/lib/Cloudflare/Container/ContainerBundle.js +65 -2
  591. package/lib/Cloudflare/Container/ContainerBundle.js.map +1 -1
  592. package/lib/Cloudflare/Container/ContainerPlatform.d.ts +5 -0
  593. package/lib/Cloudflare/Container/ContainerPlatform.d.ts.map +1 -0
  594. package/lib/Cloudflare/Container/ContainerPlatform.js +129 -0
  595. package/lib/Cloudflare/Container/ContainerPlatform.js.map +1 -0
  596. package/lib/Cloudflare/Container/ContainerProvider.d.ts +10 -0
  597. package/lib/Cloudflare/Container/ContainerProvider.d.ts.map +1 -0
  598. package/lib/Cloudflare/Container/ContainerProvider.js +684 -0
  599. package/lib/Cloudflare/Container/ContainerProvider.js.map +1 -0
  600. package/lib/Cloudflare/Container/LocalContainerProvider.d.ts.map +1 -1
  601. package/lib/Cloudflare/Container/LocalContainerProvider.js +8 -8
  602. package/lib/Cloudflare/Container/LocalContainerProvider.js.map +1 -1
  603. package/lib/Cloudflare/Container/StartContainer.d.ts +3 -19
  604. package/lib/Cloudflare/Container/StartContainer.d.ts.map +1 -1
  605. package/lib/Cloudflare/Container/StartContainer.js +41 -7
  606. package/lib/Cloudflare/Container/StartContainer.js.map +1 -1
  607. package/lib/Cloudflare/Container/index.d.ts +2 -1
  608. package/lib/Cloudflare/Container/index.d.ts.map +1 -1
  609. package/lib/Cloudflare/Container/index.js +2 -1
  610. package/lib/Cloudflare/Container/index.js.map +1 -1
  611. package/lib/Cloudflare/Credentials.d.ts +5 -0
  612. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  613. package/lib/Cloudflare/Credentials.js.map +1 -1
  614. package/lib/Cloudflare/D1/D1Connection.d.ts +4 -3
  615. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  616. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  617. package/lib/Cloudflare/Dns/DnsBinding.d.ts +2 -11
  618. package/lib/Cloudflare/Dns/DnsBinding.d.ts.map +1 -1
  619. package/lib/Cloudflare/Dns/DnsBinding.js +0 -11
  620. package/lib/Cloudflare/Dns/DnsBinding.js.map +1 -1
  621. package/lib/Cloudflare/Dns/DnsRead.d.ts +3 -2
  622. package/lib/Cloudflare/Dns/DnsRead.d.ts.map +1 -1
  623. package/lib/Cloudflare/Dns/DnsRead.js +3 -2
  624. package/lib/Cloudflare/Dns/DnsRead.js.map +1 -1
  625. package/lib/Cloudflare/Dns/DnsReadWrite.d.ts +3 -2
  626. package/lib/Cloudflare/Dns/DnsReadWrite.d.ts.map +1 -1
  627. package/lib/Cloudflare/Dns/DnsReadWrite.js.map +1 -1
  628. package/lib/Cloudflare/Dns/DnsWrite.d.ts +3 -2
  629. package/lib/Cloudflare/Dns/DnsWrite.d.ts.map +1 -1
  630. package/lib/Cloudflare/Dns/DnsWrite.js +3 -2
  631. package/lib/Cloudflare/Dns/DnsWrite.js.map +1 -1
  632. package/lib/Cloudflare/Email/EmailCatchAll.js +1 -1
  633. package/lib/Cloudflare/Email/EmailCatchAll.js.map +1 -1
  634. package/lib/Cloudflare/Email/EmailRouting.js +1 -1
  635. package/lib/Cloudflare/Email/EmailRouting.js.map +1 -1
  636. package/lib/Cloudflare/Email/EmailRule.js +1 -1
  637. package/lib/Cloudflare/Email/EmailRule.js.map +1 -1
  638. package/lib/Cloudflare/Email/SendEmail.js +1 -1
  639. package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
  640. package/lib/Cloudflare/Email/SendEmailBinding.d.ts +4 -3
  641. package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -1
  642. package/lib/Cloudflare/Email/SendEmailBinding.js +2 -2
  643. package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -1
  644. package/lib/Cloudflare/Fetcher.d.ts +1 -5
  645. package/lib/Cloudflare/Fetcher.d.ts.map +1 -1
  646. package/lib/Cloudflare/Fetcher.js +77 -12
  647. package/lib/Cloudflare/Fetcher.js.map +1 -1
  648. package/lib/Cloudflare/Flagship/FlagshipBinding.d.ts +4 -3
  649. package/lib/Cloudflare/Flagship/FlagshipBinding.d.ts.map +1 -1
  650. package/lib/Cloudflare/Flagship/FlagshipBinding.js.map +1 -1
  651. package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js +1 -1
  652. package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js.map +1 -1
  653. package/lib/Cloudflare/HttpClientUtils.d.ts +13 -0
  654. package/lib/Cloudflare/HttpClientUtils.d.ts.map +1 -0
  655. package/lib/Cloudflare/HttpClientUtils.js +11 -0
  656. package/lib/Cloudflare/HttpClientUtils.js.map +1 -0
  657. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts +4 -3
  658. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts.map +1 -1
  659. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js.map +1 -1
  660. package/lib/Cloudflare/Iam/UserGroupMembership.d.ts.map +1 -1
  661. package/lib/Cloudflare/Iam/UserGroupMembership.js +6 -1
  662. package/lib/Cloudflare/Iam/UserGroupMembership.js.map +1 -1
  663. package/lib/Cloudflare/Images/ImagesBinding.d.ts +4 -3
  664. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -1
  665. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
  666. package/lib/Cloudflare/Images/Variant.d.ts.map +1 -1
  667. package/lib/Cloudflare/Images/Variant.js +15 -3
  668. package/lib/Cloudflare/Images/Variant.js.map +1 -1
  669. package/lib/Cloudflare/KV/{KVNamespace.d.ts → Namespace.d.ts} +9 -7
  670. package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -0
  671. package/lib/Cloudflare/KV/{KVNamespace.js → Namespace.js} +10 -7
  672. package/lib/Cloudflare/KV/Namespace.js.map +1 -0
  673. package/lib/Cloudflare/KV/NamespaceBinding.d.ts +24 -0
  674. package/lib/Cloudflare/KV/NamespaceBinding.d.ts.map +1 -0
  675. package/lib/Cloudflare/KV/NamespaceBinding.js +46 -0
  676. package/lib/Cloudflare/KV/NamespaceBinding.js.map +1 -0
  677. package/lib/Cloudflare/KV/NamespaceHttp.d.ts +36 -0
  678. package/lib/Cloudflare/KV/NamespaceHttp.d.ts.map +1 -0
  679. package/lib/Cloudflare/KV/NamespaceHttp.js +57 -0
  680. package/lib/Cloudflare/KV/NamespaceHttp.js.map +1 -0
  681. package/lib/Cloudflare/KV/{KVNamespaceBinding.d.ts → NamespaceRead.d.ts} +15 -30
  682. package/lib/Cloudflare/KV/NamespaceRead.d.ts.map +1 -0
  683. package/lib/Cloudflare/KV/NamespaceRead.js +11 -0
  684. package/lib/Cloudflare/KV/NamespaceRead.js.map +1 -0
  685. package/lib/Cloudflare/KV/NamespaceReadBinding.d.ts +11 -0
  686. package/lib/Cloudflare/KV/NamespaceReadBinding.d.ts.map +1 -0
  687. package/lib/Cloudflare/KV/NamespaceReadBinding.js +19 -0
  688. package/lib/Cloudflare/KV/NamespaceReadBinding.js.map +1 -0
  689. package/lib/Cloudflare/KV/NamespaceReadHttp.d.ts +16 -0
  690. package/lib/Cloudflare/KV/NamespaceReadHttp.d.ts.map +1 -0
  691. package/lib/Cloudflare/KV/NamespaceReadHttp.js +93 -0
  692. package/lib/Cloudflare/KV/NamespaceReadHttp.js.map +1 -0
  693. package/lib/Cloudflare/KV/NamespaceReadWrite.d.ts +20 -0
  694. package/lib/Cloudflare/KV/NamespaceReadWrite.d.ts.map +1 -0
  695. package/lib/Cloudflare/KV/NamespaceReadWrite.js +11 -0
  696. package/lib/Cloudflare/KV/NamespaceReadWrite.js.map +1 -0
  697. package/lib/Cloudflare/KV/NamespaceReadWriteBinding.d.ts +11 -0
  698. package/lib/Cloudflare/KV/NamespaceReadWriteBinding.d.ts.map +1 -0
  699. package/lib/Cloudflare/KV/NamespaceReadWriteBinding.js +17 -0
  700. package/lib/Cloudflare/KV/NamespaceReadWriteBinding.js.map +1 -0
  701. package/lib/Cloudflare/KV/NamespaceReadWriteHttp.d.ts +17 -0
  702. package/lib/Cloudflare/KV/NamespaceReadWriteHttp.d.ts.map +1 -0
  703. package/lib/Cloudflare/KV/NamespaceReadWriteHttp.js +22 -0
  704. package/lib/Cloudflare/KV/NamespaceReadWriteHttp.js.map +1 -0
  705. package/lib/Cloudflare/KV/NamespaceTypes.d.ts +10 -0
  706. package/lib/Cloudflare/KV/NamespaceTypes.d.ts.map +1 -0
  707. package/lib/Cloudflare/KV/NamespaceTypes.js +4 -0
  708. package/lib/Cloudflare/KV/NamespaceTypes.js.map +1 -0
  709. package/lib/Cloudflare/KV/NamespaceWrite.d.ts +22 -0
  710. package/lib/Cloudflare/KV/NamespaceWrite.d.ts.map +1 -0
  711. package/lib/Cloudflare/KV/NamespaceWrite.js +11 -0
  712. package/lib/Cloudflare/KV/NamespaceWrite.js.map +1 -0
  713. package/lib/Cloudflare/KV/NamespaceWriteBinding.d.ts +11 -0
  714. package/lib/Cloudflare/KV/NamespaceWriteBinding.d.ts.map +1 -0
  715. package/lib/Cloudflare/KV/NamespaceWriteBinding.js +17 -0
  716. package/lib/Cloudflare/KV/NamespaceWriteBinding.js.map +1 -0
  717. package/lib/Cloudflare/KV/NamespaceWriteHttp.d.ts +16 -0
  718. package/lib/Cloudflare/KV/NamespaceWriteHttp.d.ts.map +1 -0
  719. package/lib/Cloudflare/KV/NamespaceWriteHttp.js +54 -0
  720. package/lib/Cloudflare/KV/NamespaceWriteHttp.js.map +1 -0
  721. package/lib/Cloudflare/KV/index.d.ts +11 -2
  722. package/lib/Cloudflare/KV/index.d.ts.map +1 -1
  723. package/lib/Cloudflare/KV/index.js +11 -2
  724. package/lib/Cloudflare/KV/index.js.map +1 -1
  725. package/lib/Cloudflare/Providers.d.ts +2 -2
  726. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  727. package/lib/Cloudflare/Providers.js +5 -13
  728. package/lib/Cloudflare/Providers.js.map +1 -1
  729. package/lib/Cloudflare/Queue/Queue.d.ts +8 -8
  730. package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
  731. package/lib/Cloudflare/Queue/Queue.js +9 -9
  732. package/lib/Cloudflare/Queue/Queue.js.map +1 -1
  733. package/lib/Cloudflare/Queue/QueueBinding.d.ts +17 -65
  734. package/lib/Cloudflare/Queue/QueueBinding.d.ts.map +1 -1
  735. package/lib/Cloudflare/Queue/QueueBinding.js +35 -78
  736. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  737. package/lib/Cloudflare/Queue/QueueEventSource.d.ts +5 -4
  738. package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -1
  739. package/lib/Cloudflare/Queue/QueueEventSource.js +1 -1
  740. package/lib/Cloudflare/Queue/QueueEventSource.js.map +1 -1
  741. package/lib/Cloudflare/Queue/QueueHttp.d.ts +36 -0
  742. package/lib/Cloudflare/Queue/QueueHttp.d.ts.map +1 -0
  743. package/lib/Cloudflare/Queue/QueueHttp.js +57 -0
  744. package/lib/Cloudflare/Queue/QueueHttp.js.map +1 -0
  745. package/lib/Cloudflare/Queue/QueueTypes.d.ts +19 -0
  746. package/lib/Cloudflare/Queue/QueueTypes.d.ts.map +1 -0
  747. package/lib/Cloudflare/Queue/QueueTypes.js +4 -0
  748. package/lib/Cloudflare/Queue/QueueTypes.js.map +1 -0
  749. package/lib/Cloudflare/Queue/QueueWrite.d.ts +55 -0
  750. package/lib/Cloudflare/Queue/QueueWrite.d.ts.map +1 -0
  751. package/lib/Cloudflare/Queue/QueueWrite.js +42 -0
  752. package/lib/Cloudflare/Queue/QueueWrite.js.map +1 -0
  753. package/lib/Cloudflare/Queue/QueueWriteBinding.d.ts +11 -0
  754. package/lib/Cloudflare/Queue/QueueWriteBinding.d.ts.map +1 -0
  755. package/lib/Cloudflare/Queue/QueueWriteBinding.js +19 -0
  756. package/lib/Cloudflare/Queue/QueueWriteBinding.js.map +1 -0
  757. package/lib/Cloudflare/Queue/QueueWriteHttp.d.ts +22 -0
  758. package/lib/Cloudflare/Queue/QueueWriteHttp.d.ts.map +1 -0
  759. package/lib/Cloudflare/Queue/QueueWriteHttp.js +50 -0
  760. package/lib/Cloudflare/Queue/QueueWriteHttp.js.map +1 -0
  761. package/lib/Cloudflare/Queue/index.d.ts +4 -1
  762. package/lib/Cloudflare/Queue/index.d.ts.map +1 -1
  763. package/lib/Cloudflare/Queue/index.js +4 -1
  764. package/lib/Cloudflare/Queue/index.js.map +1 -1
  765. package/lib/Cloudflare/R2/{R2Bucket.d.ts → Bucket.d.ts} +5 -9
  766. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -0
  767. package/lib/Cloudflare/R2/{R2Bucket.js → Bucket.js} +6 -9
  768. package/lib/Cloudflare/R2/Bucket.js.map +1 -0
  769. package/lib/Cloudflare/R2/BucketBinding.d.ts +31 -0
  770. package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -0
  771. package/lib/Cloudflare/R2/BucketBinding.js +83 -0
  772. package/lib/Cloudflare/R2/BucketBinding.js.map +1 -0
  773. package/lib/Cloudflare/R2/BucketEventNotification.d.ts +1 -1
  774. package/lib/Cloudflare/R2/BucketEventNotification.d.ts.map +1 -1
  775. package/lib/Cloudflare/R2/BucketHttp.d.ts +59 -0
  776. package/lib/Cloudflare/R2/BucketHttp.d.ts.map +1 -0
  777. package/lib/Cloudflare/R2/BucketHttp.js +129 -0
  778. package/lib/Cloudflare/R2/BucketHttp.js.map +1 -0
  779. package/lib/Cloudflare/R2/BucketRead.d.ts +28 -0
  780. package/lib/Cloudflare/R2/BucketRead.d.ts.map +1 -0
  781. package/lib/Cloudflare/R2/BucketRead.js +11 -0
  782. package/lib/Cloudflare/R2/BucketRead.js.map +1 -0
  783. package/lib/Cloudflare/R2/BucketReadBinding.d.ts +10 -0
  784. package/lib/Cloudflare/R2/BucketReadBinding.d.ts.map +1 -0
  785. package/lib/Cloudflare/R2/BucketReadBinding.js +24 -0
  786. package/lib/Cloudflare/R2/BucketReadBinding.js.map +1 -0
  787. package/lib/Cloudflare/R2/BucketReadHttp.d.ts +15 -0
  788. package/lib/Cloudflare/R2/BucketReadHttp.d.ts.map +1 -0
  789. package/lib/Cloudflare/R2/BucketReadHttp.js +109 -0
  790. package/lib/Cloudflare/R2/BucketReadHttp.js.map +1 -0
  791. package/lib/Cloudflare/R2/BucketReadWrite.d.ts +20 -0
  792. package/lib/Cloudflare/R2/BucketReadWrite.d.ts.map +1 -0
  793. package/lib/Cloudflare/R2/BucketReadWrite.js +11 -0
  794. package/lib/Cloudflare/R2/BucketReadWrite.js.map +1 -0
  795. package/lib/Cloudflare/R2/BucketReadWriteBinding.d.ts +10 -0
  796. package/lib/Cloudflare/R2/BucketReadWriteBinding.d.ts.map +1 -0
  797. package/lib/Cloudflare/R2/BucketReadWriteBinding.js +16 -0
  798. package/lib/Cloudflare/R2/BucketReadWriteBinding.js.map +1 -0
  799. package/lib/Cloudflare/R2/BucketReadWriteHttp.d.ts +16 -0
  800. package/lib/Cloudflare/R2/BucketReadWriteHttp.d.ts.map +1 -0
  801. package/lib/Cloudflare/R2/BucketReadWriteHttp.js +21 -0
  802. package/lib/Cloudflare/R2/BucketReadWriteHttp.js.map +1 -0
  803. package/lib/Cloudflare/R2/BucketSippy.d.ts +1 -1
  804. package/lib/Cloudflare/R2/BucketSippy.d.ts.map +1 -1
  805. package/lib/Cloudflare/R2/BucketTypes.d.ts +52 -0
  806. package/lib/Cloudflare/R2/BucketTypes.d.ts.map +1 -0
  807. package/lib/Cloudflare/R2/BucketTypes.js +6 -0
  808. package/lib/Cloudflare/R2/BucketTypes.js.map +1 -0
  809. package/lib/Cloudflare/R2/BucketWrite.d.ts +32 -0
  810. package/lib/Cloudflare/R2/BucketWrite.d.ts.map +1 -0
  811. package/lib/Cloudflare/R2/BucketWrite.js +12 -0
  812. package/lib/Cloudflare/R2/BucketWrite.js.map +1 -0
  813. package/lib/Cloudflare/R2/BucketWriteBinding.d.ts +10 -0
  814. package/lib/Cloudflare/R2/BucketWriteBinding.d.ts.map +1 -0
  815. package/lib/Cloudflare/R2/BucketWriteBinding.js +46 -0
  816. package/lib/Cloudflare/R2/BucketWriteBinding.js.map +1 -0
  817. package/lib/Cloudflare/R2/BucketWriteHttp.d.ts +16 -0
  818. package/lib/Cloudflare/R2/BucketWriteHttp.d.ts.map +1 -0
  819. package/lib/Cloudflare/R2/BucketWriteHttp.js +72 -0
  820. package/lib/Cloudflare/R2/BucketWriteHttp.js.map +1 -0
  821. package/lib/Cloudflare/R2/index.d.ts +10 -2
  822. package/lib/Cloudflare/R2/index.d.ts.map +1 -1
  823. package/lib/Cloudflare/R2/index.js +10 -2
  824. package/lib/Cloudflare/R2/index.js.map +1 -1
  825. package/lib/Cloudflare/RateLimit/RateLimitBinding.d.ts +4 -3
  826. package/lib/Cloudflare/RateLimit/RateLimitBinding.d.ts.map +1 -1
  827. package/lib/Cloudflare/RateLimit/RateLimitBinding.js.map +1 -1
  828. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts +4 -3
  829. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts.map +1 -1
  830. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  831. package/lib/Cloudflare/StateStore/Api.d.ts +6 -6
  832. package/lib/Cloudflare/StateStore/Api.js +1 -1
  833. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  834. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  835. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  836. package/lib/Cloudflare/StateStore/State.js +6 -5
  837. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  838. package/lib/Cloudflare/StateStore/Store.d.ts +13 -13
  839. package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
  840. package/lib/Cloudflare/StateStore/Store.js +5 -7
  841. package/lib/Cloudflare/StateStore/Store.js.map +1 -1
  842. package/lib/Cloudflare/Tunnel/Tunnel.js +1 -1
  843. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  844. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +2 -11
  845. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
  846. package/lib/Cloudflare/Tunnel/TunnelBinding.js +0 -10
  847. package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
  848. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts +3 -2
  849. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts.map +1 -1
  850. package/lib/Cloudflare/Tunnel/TunnelRead.js +2 -1
  851. package/lib/Cloudflare/Tunnel/TunnelRead.js.map +1 -1
  852. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts +3 -2
  853. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts.map +1 -1
  854. package/lib/Cloudflare/Tunnel/TunnelReadWrite.js.map +1 -1
  855. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts +3 -2
  856. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts.map +1 -1
  857. package/lib/Cloudflare/Tunnel/TunnelWrite.js +2 -1
  858. package/lib/Cloudflare/Tunnel/TunnelWrite.js.map +1 -1
  859. package/lib/Cloudflare/Tunnel/WarpConnector.js +1 -1
  860. package/lib/Cloudflare/Tunnel/WarpConnector.js.map +1 -1
  861. package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
  862. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +10 -1
  863. package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
  864. package/lib/Cloudflare/Vectorize/VectorizeIndexBinding.d.ts +4 -3
  865. package/lib/Cloudflare/Vectorize/VectorizeIndexBinding.d.ts.map +1 -1
  866. package/lib/Cloudflare/Vectorize/VectorizeIndexBinding.js.map +1 -1
  867. package/lib/Cloudflare/VpcService/VpcService.js +1 -1
  868. package/lib/Cloudflare/VpcService/VpcService.js.map +1 -1
  869. package/lib/Cloudflare/WaitingRoom/Settings.d.ts.map +1 -1
  870. package/lib/Cloudflare/WaitingRoom/Settings.js +17 -3
  871. package/lib/Cloudflare/WaitingRoom/Settings.js.map +1 -1
  872. package/lib/Cloudflare/Website/StaticSite.d.ts +5 -4
  873. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  874. package/lib/Cloudflare/Website/StaticSite.js +8 -8
  875. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  876. package/lib/Cloudflare/Website/Vite.d.ts +1 -1
  877. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  878. package/lib/Cloudflare/Workers/AccountSetting.d.ts.map +1 -1
  879. package/lib/Cloudflare/Workers/AccountSetting.js +12 -4
  880. package/lib/Cloudflare/Workers/AccountSetting.js.map +1 -1
  881. package/lib/Cloudflare/Workers/Assets.js +6 -6
  882. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  883. package/lib/Cloudflare/Workers/CronEventSource.d.ts +4 -3
  884. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
  885. package/lib/Cloudflare/Workers/CronEventSource.js +1 -1
  886. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
  887. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  888. package/lib/Cloudflare/Workers/DurableObjectBridge.js +15 -9
  889. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  890. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.d.ts.map +1 -1
  891. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.js +7 -6
  892. package/lib/Cloudflare/Workers/DurableObjectChatPersistence.js.map +1 -1
  893. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts +67 -52
  894. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  895. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +75 -50
  896. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  897. package/lib/Cloudflare/Workers/DurableObjectState.d.ts +11 -10
  898. package/lib/Cloudflare/Workers/DurableObjectState.d.ts.map +1 -1
  899. package/lib/Cloudflare/Workers/DurableObjectState.js.map +1 -1
  900. package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts +35 -35
  901. package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts.map +1 -1
  902. package/lib/Cloudflare/Workers/DurableObjectStorage.js +0 -1
  903. package/lib/Cloudflare/Workers/DurableObjectStorage.js.map +1 -1
  904. package/lib/Cloudflare/Workers/Fetch.d.ts +4 -3
  905. package/lib/Cloudflare/Workers/Fetch.d.ts.map +1 -1
  906. package/lib/Cloudflare/Workers/Fetch.js.map +1 -1
  907. package/lib/Cloudflare/Workers/GitHubRepositoryEventSource.d.ts +4 -3
  908. package/lib/Cloudflare/Workers/GitHubRepositoryEventSource.d.ts.map +1 -1
  909. package/lib/Cloudflare/Workers/GitHubRepositoryEventSource.js.map +1 -1
  910. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  911. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  912. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  913. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +14 -15
  914. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  915. package/lib/Cloudflare/Workers/Rpc.d.ts +1 -75
  916. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  917. package/lib/Cloudflare/Workers/Rpc.js +7 -162
  918. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  919. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts +8 -6
  920. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.d.ts.map +1 -1
  921. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js +5 -4
  922. package/lib/Cloudflare/Workers/RpcDurableObjectNamespace.js.map +1 -1
  923. package/lib/Cloudflare/Workers/RpcWorker.d.ts +4 -3
  924. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
  925. package/lib/Cloudflare/Workers/RpcWorker.js +3 -3
  926. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
  927. package/lib/Cloudflare/Workers/ScheduledEvents.d.ts +5 -4
  928. package/lib/Cloudflare/Workers/ScheduledEvents.d.ts.map +1 -1
  929. package/lib/Cloudflare/Workers/ScheduledEvents.js +2 -2
  930. package/lib/Cloudflare/Workers/ScheduledEvents.js.map +1 -1
  931. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts +4 -3
  932. package/lib/Cloudflare/Workers/VersionMetadataBinding.d.ts.map +1 -1
  933. package/lib/Cloudflare/Workers/VersionMetadataBinding.js.map +1 -1
  934. package/lib/Cloudflare/Workers/WebSocket.d.ts +1 -1
  935. package/lib/Cloudflare/Workers/WebSocket.d.ts.map +1 -1
  936. package/lib/Cloudflare/Workers/WebSocket.js +1 -1
  937. package/lib/Cloudflare/Workers/WebSocket.js.map +1 -1
  938. package/lib/Cloudflare/Workers/Worker.d.ts +64 -33
  939. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  940. package/lib/Cloudflare/Workers/Worker.js +22 -1297
  941. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  942. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  943. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +5 -5
  944. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  945. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +15 -14
  946. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  947. package/lib/Cloudflare/Workers/WorkerBinding.js +1 -1
  948. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  949. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  950. package/lib/Cloudflare/Workers/WorkerBridge.js +22 -18
  951. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  952. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  953. package/lib/Cloudflare/Workers/WorkerBundle.js +3 -3
  954. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  955. package/lib/Cloudflare/Workers/{DynamicWorkerLoader.d.ts → WorkerLoader.d.ts} +47 -98
  956. package/lib/Cloudflare/Workers/WorkerLoader.d.ts.map +1 -0
  957. package/lib/Cloudflare/Workers/{DynamicWorkerLoader.js → WorkerLoader.js} +40 -32
  958. package/lib/Cloudflare/Workers/WorkerLoader.js.map +1 -0
  959. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +9 -0
  960. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -0
  961. package/lib/Cloudflare/Workers/WorkerProvider.js +1318 -0
  962. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -0
  963. package/lib/Cloudflare/Workers/Workflow.d.ts +3 -2
  964. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  965. package/lib/Cloudflare/Workers/Workflow.js +4 -4
  966. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  967. package/lib/Cloudflare/Workers/index.d.ts +2 -2
  968. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  969. package/lib/Cloudflare/Workers/index.js +2 -2
  970. package/lib/Cloudflare/Workers/index.js.map +1 -1
  971. package/lib/Cloudflare/Zaraz/ZarazConfig.js +1 -1
  972. package/lib/Cloudflare/Zaraz/ZarazConfig.js.map +1 -1
  973. package/lib/Cloudflare/Zone/Hold.d.ts.map +1 -1
  974. package/lib/Cloudflare/Zone/Hold.js +15 -1
  975. package/lib/Cloudflare/Zone/Hold.js.map +1 -1
  976. package/lib/Cloudflare/index.d.ts +3 -0
  977. package/lib/Cloudflare/index.d.ts.map +1 -1
  978. package/lib/Cloudflare/index.js +3 -0
  979. package/lib/Cloudflare/index.js.map +1 -1
  980. package/lib/Command/Build.d.ts +98 -0
  981. package/lib/Command/Build.d.ts.map +1 -0
  982. package/lib/Command/Build.js +118 -0
  983. package/lib/Command/Build.js.map +1 -0
  984. package/lib/Command/Command.d.ts +99 -0
  985. package/lib/Command/Command.d.ts.map +1 -0
  986. package/lib/Command/Command.js +118 -0
  987. package/lib/Command/Command.js.map +1 -0
  988. package/lib/Command/Dev.d.ts +73 -0
  989. package/lib/Command/Dev.d.ts.map +1 -0
  990. package/lib/Command/Dev.js +145 -0
  991. package/lib/Command/Dev.js.map +1 -0
  992. package/lib/Command/Exec.d.ts +70 -0
  993. package/lib/Command/Exec.d.ts.map +1 -0
  994. package/lib/Command/Exec.js +87 -0
  995. package/lib/Command/Exec.js.map +1 -0
  996. package/lib/{Build → Command}/Local.d.ts.map +1 -1
  997. package/lib/Command/Local.js +6 -0
  998. package/lib/Command/Local.js.map +1 -0
  999. package/lib/Command/Memo.d.ts.map +1 -0
  1000. package/lib/{Build → Command}/Memo.js +5 -5
  1001. package/lib/Command/Memo.js.map +1 -0
  1002. package/lib/Command/Providers.d.ts +4 -0
  1003. package/lib/Command/Providers.d.ts.map +1 -0
  1004. package/lib/Command/Providers.js +31 -0
  1005. package/lib/Command/Providers.js.map +1 -0
  1006. package/lib/Command/index.d.ts +6 -0
  1007. package/lib/Command/index.d.ts.map +1 -0
  1008. package/lib/Command/index.js +6 -0
  1009. package/lib/Command/index.js.map +1 -0
  1010. package/lib/Drizzle/Providers.d.ts +1 -1
  1011. package/lib/Drizzle/Providers.d.ts.map +1 -1
  1012. package/lib/Drizzle/Schema.d.ts +1 -1
  1013. package/lib/Drizzle/Schema.d.ts.map +1 -1
  1014. package/lib/Drizzle/Schema.js +147 -12
  1015. package/lib/Drizzle/Schema.js.map +1 -1
  1016. package/lib/GitHub/AuthProvider.js +2 -2
  1017. package/lib/GitHub/AuthProvider.js.map +1 -1
  1018. package/lib/GitHub/Secrets.d.ts.map +1 -1
  1019. package/lib/GitHub/Secrets.js +12 -9
  1020. package/lib/GitHub/Secrets.js.map +1 -1
  1021. package/lib/Local/RpcProvider.d.ts +2 -2
  1022. package/lib/Local/RpcProvider.d.ts.map +1 -1
  1023. package/lib/Local/RpcProvider.js.map +1 -1
  1024. package/lib/Local/RpcProviderProxy.js +3 -3
  1025. package/lib/Local/RpcProviderProxy.js.map +1 -1
  1026. package/lib/Local/RpcServerBun.js +1 -1
  1027. package/lib/Local/RpcServerBun.js.map +1 -1
  1028. package/lib/Local/RpcServerNode.js +1 -1
  1029. package/lib/Local/RpcServerNode.js.map +1 -1
  1030. package/lib/Local/RpcSpawner.js +3 -3
  1031. package/lib/Local/RpcSpawner.js.map +1 -1
  1032. package/lib/Named.d.ts +7 -0
  1033. package/lib/Named.d.ts.map +1 -0
  1034. package/lib/Named.js +1 -0
  1035. package/lib/Named.js.map +1 -0
  1036. package/lib/Neon/AuthProvider.js +2 -2
  1037. package/lib/Neon/AuthProvider.js.map +1 -1
  1038. package/lib/Neon/Branch.d.ts +0 -2
  1039. package/lib/Neon/Branch.d.ts.map +1 -1
  1040. package/lib/Neon/Branch.js +22 -8
  1041. package/lib/Neon/Branch.js.map +1 -1
  1042. package/lib/Neon/Project.js +2 -2
  1043. package/lib/Neon/Project.js.map +1 -1
  1044. package/lib/Phase.d.ts +15 -0
  1045. package/lib/Phase.d.ts.map +1 -1
  1046. package/lib/Phase.js.map +1 -1
  1047. package/lib/Plan.d.ts.map +1 -1
  1048. package/lib/Plan.js +12 -0
  1049. package/lib/Plan.js.map +1 -1
  1050. package/lib/Planetscale/AuthProvider.js +2 -2
  1051. package/lib/Planetscale/AuthProvider.js.map +1 -1
  1052. package/lib/Platform.d.ts +23 -14
  1053. package/lib/Platform.d.ts.map +1 -1
  1054. package/lib/Platform.js +9 -9
  1055. package/lib/Platform.js.map +1 -1
  1056. package/lib/Provider.d.ts +4 -4
  1057. package/lib/Provider.d.ts.map +1 -1
  1058. package/lib/Provider.js +1 -1
  1059. package/lib/Provider.js.map +1 -1
  1060. package/lib/Resource.d.ts +12 -6
  1061. package/lib/Resource.d.ts.map +1 -1
  1062. package/lib/Resource.js.map +1 -1
  1063. package/lib/Rpc.d.ts +124 -1
  1064. package/lib/Rpc.d.ts.map +1 -1
  1065. package/lib/Rpc.js +342 -0
  1066. package/lib/Rpc.js.map +1 -1
  1067. package/lib/RuntimeContext.d.ts +1 -0
  1068. package/lib/RuntimeContext.d.ts.map +1 -1
  1069. package/lib/RuntimeContext.js +1 -0
  1070. package/lib/RuntimeContext.js.map +1 -1
  1071. package/lib/Self.d.ts +4 -0
  1072. package/lib/Self.d.ts.map +1 -1
  1073. package/lib/Self.js.map +1 -1
  1074. package/lib/Server/S3BucketEventSource.d.ts +4 -3
  1075. package/lib/Server/S3BucketEventSource.d.ts.map +1 -1
  1076. package/lib/Server/S3BucketEventSource.js.map +1 -1
  1077. package/lib/Stack.d.ts +11 -3
  1078. package/lib/Stack.d.ts.map +1 -1
  1079. package/lib/Stack.js +6 -2
  1080. package/lib/Stack.js.map +1 -1
  1081. package/lib/State/HttpStateApi.d.ts +15 -15
  1082. package/lib/State/LocalState.js +1 -1
  1083. package/lib/State/LocalState.js.map +1 -1
  1084. package/lib/State/Sync.js +4 -4
  1085. package/lib/State/Sync.js.map +1 -1
  1086. package/lib/Tags.d.ts.map +1 -1
  1087. package/lib/Tags.js +3 -3
  1088. package/lib/Tags.js.map +1 -1
  1089. package/lib/Test/Bun.d.ts +1 -1
  1090. package/lib/Test/Bun.d.ts.map +1 -1
  1091. package/lib/Test/Bun.js +1 -0
  1092. package/lib/Test/Bun.js.map +1 -1
  1093. package/lib/Test/Http.d.ts +42 -0
  1094. package/lib/Test/Http.d.ts.map +1 -0
  1095. package/lib/Test/Http.js +48 -0
  1096. package/lib/Test/Http.js.map +1 -0
  1097. package/lib/Util/FileLogger.js +1 -1
  1098. package/lib/Util/FileLogger.js.map +1 -1
  1099. package/lib/Util/effect.d.ts.map +1 -1
  1100. package/lib/Util/effect.js +2 -1
  1101. package/lib/Util/effect.js.map +1 -1
  1102. package/lib/Util/interactive.d.ts +16 -0
  1103. package/lib/Util/interactive.d.ts.map +1 -0
  1104. package/lib/Util/interactive.js +35 -0
  1105. package/lib/Util/interactive.js.map +1 -0
  1106. package/lib/index.d.ts +2 -1
  1107. package/lib/index.d.ts.map +1 -1
  1108. package/lib/index.js +1 -1
  1109. package/lib/index.js.map +1 -1
  1110. package/package.json +23 -10
  1111. package/src/AI/Agent.ts +78 -0
  1112. package/src/AI/Parameter.ts +57 -0
  1113. package/src/AI/Tool.ts +98 -0
  1114. package/src/AI/index.ts +3 -0
  1115. package/src/AWS/ACM/Certificate.ts +30 -20
  1116. package/src/AWS/Assets.ts +1 -1
  1117. package/src/AWS/AuthProvider.ts +3 -3
  1118. package/src/AWS/AutoScaling/LaunchTemplate.ts +1 -1
  1119. package/src/AWS/CloudFront/Distribution.ts +1 -1
  1120. package/src/AWS/CloudWatch/DescribeAlarmContributors.ts +3 -1
  1121. package/src/AWS/CloudWatch/DescribeAlarmHistory.ts +3 -1
  1122. package/src/AWS/CloudWatch/DescribeAlarms.ts +3 -1
  1123. package/src/AWS/CloudWatch/DescribeAlarmsForMetric.ts +3 -1
  1124. package/src/AWS/CloudWatch/DescribeAnomalyDetectors.ts +3 -1
  1125. package/src/AWS/CloudWatch/DescribeInsightRules.ts +3 -1
  1126. package/src/AWS/CloudWatch/DisableAlarmActions.ts +3 -1
  1127. package/src/AWS/CloudWatch/DisableInsightRules.ts +3 -1
  1128. package/src/AWS/CloudWatch/EnableAlarmActions.ts +3 -1
  1129. package/src/AWS/CloudWatch/GetAlarmMuteRule.ts +3 -1
  1130. package/src/AWS/CloudWatch/GetDashboard.ts +3 -1
  1131. package/src/AWS/CloudWatch/GetInsightRuleReport.ts +3 -1
  1132. package/src/AWS/CloudWatch/GetMetricData.ts +3 -1
  1133. package/src/AWS/CloudWatch/GetMetricStatistics.ts +3 -1
  1134. package/src/AWS/CloudWatch/GetMetricStream.ts +3 -1
  1135. package/src/AWS/CloudWatch/GetMetricWidgetImage.ts +3 -1
  1136. package/src/AWS/CloudWatch/ListAlarmMuteRules.ts +3 -1
  1137. package/src/AWS/CloudWatch/ListDashboards.ts +3 -1
  1138. package/src/AWS/CloudWatch/ListManagedInsightRules.ts +3 -1
  1139. package/src/AWS/CloudWatch/ListMetricStreams.ts +3 -1
  1140. package/src/AWS/CloudWatch/ListMetrics.ts +3 -1
  1141. package/src/AWS/CloudWatch/ListTagsForResource.ts +3 -1
  1142. package/src/AWS/CloudWatch/PutMetricData.ts +3 -1
  1143. package/src/AWS/CloudWatch/SetAlarmState.ts +3 -1
  1144. package/src/AWS/Credentials.ts +6 -0
  1145. package/src/AWS/DynamoDB/BatchExecuteStatement.ts +3 -1
  1146. package/src/AWS/DynamoDB/BatchGetItem.ts +10 -6
  1147. package/src/AWS/DynamoDB/BatchWriteItem.ts +10 -6
  1148. package/src/AWS/DynamoDB/DeleteItem.ts +3 -1
  1149. package/src/AWS/DynamoDB/DescribeTable.ts +3 -1
  1150. package/src/AWS/DynamoDB/DescribeTimeToLive.ts +3 -1
  1151. package/src/AWS/DynamoDB/ExecuteStatement.ts +3 -1
  1152. package/src/AWS/DynamoDB/ExecuteTransaction.ts +3 -1
  1153. package/src/AWS/DynamoDB/GetItem.ts +3 -1
  1154. package/src/AWS/DynamoDB/ListTables.ts +3 -1
  1155. package/src/AWS/DynamoDB/ListTagsOfResource.ts +3 -1
  1156. package/src/AWS/DynamoDB/PutItem.ts +3 -1
  1157. package/src/AWS/DynamoDB/Query.ts +3 -1
  1158. package/src/AWS/DynamoDB/RestoreTableToPointInTime.ts +3 -1
  1159. package/src/AWS/DynamoDB/Scan.ts +3 -1
  1160. package/src/AWS/DynamoDB/TransactGetItems.ts +10 -6
  1161. package/src/AWS/DynamoDB/TransactWriteItems.ts +14 -8
  1162. package/src/AWS/DynamoDB/UpdateItem.ts +3 -1
  1163. package/src/AWS/DynamoDB/UpdateTimeToLive.ts +3 -1
  1164. package/src/AWS/EC2/Image.ts +2 -2
  1165. package/src/AWS/EC2/Instance.ts +1 -3
  1166. package/src/AWS/EC2/NatGateway.ts +1 -1
  1167. package/src/AWS/EC2/NetworkAcl.ts +1 -1
  1168. package/src/AWS/EC2/SecurityGroup.ts +1 -1
  1169. package/src/AWS/EC2/VpcEndpoint.ts +1 -1
  1170. package/src/AWS/EC2/hosted.ts +2 -2
  1171. package/src/AWS/ECS/DescribeTasks.ts +3 -1
  1172. package/src/AWS/ECS/ListTasks.ts +3 -1
  1173. package/src/AWS/ECS/RunTask.ts +3 -1
  1174. package/src/AWS/ECS/StopTask.ts +3 -1
  1175. package/src/AWS/ECS/Task.ts +1 -1
  1176. package/src/AWS/Environment.ts +4 -3
  1177. package/src/AWS/EventBridge/DescribeEventBus.ts +3 -1
  1178. package/src/AWS/EventBridge/DescribeRule.ts +3 -1
  1179. package/src/AWS/EventBridge/ListEventBuses.ts +3 -1
  1180. package/src/AWS/EventBridge/ListRules.ts +3 -1
  1181. package/src/AWS/EventBridge/ListTargetsByRule.ts +3 -1
  1182. package/src/AWS/EventBridge/PutEvents.ts +3 -1
  1183. package/src/AWS/EventBridge/TestEventPattern.ts +3 -1
  1184. package/src/AWS/EventBridge/ToLambda.ts +3 -1
  1185. package/src/AWS/EventBridge/ToQueue.ts +3 -1
  1186. package/src/AWS/Kinesis/DescribeAccountSettings.ts +3 -1
  1187. package/src/AWS/Kinesis/DescribeLimits.ts +3 -1
  1188. package/src/AWS/Kinesis/DescribeStream.ts +3 -1
  1189. package/src/AWS/Kinesis/DescribeStreamConsumer.ts +3 -1
  1190. package/src/AWS/Kinesis/DescribeStreamSummary.ts +3 -1
  1191. package/src/AWS/Kinesis/GetRecords.ts +3 -1
  1192. package/src/AWS/Kinesis/GetResourcePolicy.ts +3 -1
  1193. package/src/AWS/Kinesis/GetShardIterator.ts +3 -1
  1194. package/src/AWS/Kinesis/ListShards.ts +3 -1
  1195. package/src/AWS/Kinesis/ListStreamConsumers.ts +3 -1
  1196. package/src/AWS/Kinesis/ListStreams.ts +3 -1
  1197. package/src/AWS/Kinesis/ListTagsForResource.ts +3 -1
  1198. package/src/AWS/Kinesis/PutRecord.ts +3 -1
  1199. package/src/AWS/Kinesis/PutRecords.ts +3 -1
  1200. package/src/AWS/Kinesis/StreamSink.ts +3 -1
  1201. package/src/AWS/Kinesis/SubscribeToShard.ts +3 -1
  1202. package/src/AWS/Lambda/BucketEventSource.ts +3 -1
  1203. package/src/AWS/Lambda/EventBridgeEventSource.ts +3 -1
  1204. package/src/AWS/Lambda/Function.ts +182 -55
  1205. package/src/AWS/Lambda/InvokeFunction.ts +3 -1
  1206. package/src/AWS/Lambda/QueueEventSource.ts +3 -1
  1207. package/src/AWS/Lambda/StreamEventSource.ts +3 -1
  1208. package/src/AWS/Lambda/TableEventSource.ts +3 -1
  1209. package/src/AWS/Lambda/TopicEventSource.ts +3 -1
  1210. package/src/AWS/Organizations/Root.ts +1 -1
  1211. package/src/AWS/Providers.ts +4 -5
  1212. package/src/AWS/RDS/Connect.ts +3 -1
  1213. package/src/AWS/RDSData/BatchExecuteStatement.ts +3 -1
  1214. package/src/AWS/RDSData/BeginTransaction.ts +3 -1
  1215. package/src/AWS/RDSData/CommitTransaction.ts +6 -1
  1216. package/src/AWS/RDSData/ExecuteSql.ts +3 -1
  1217. package/src/AWS/RDSData/ExecuteStatement.ts +3 -1
  1218. package/src/AWS/RDSData/RollbackTransaction.ts +3 -1
  1219. package/src/AWS/Region.ts +6 -0
  1220. package/src/AWS/S3/AbortMultipartUpload.ts +3 -1
  1221. package/src/AWS/S3/Bucket.ts +18 -18
  1222. package/src/AWS/S3/CompleteMultipartUpload.ts +3 -1
  1223. package/src/AWS/S3/CopyObject.ts +3 -1
  1224. package/src/AWS/S3/CreateMultipartUpload.ts +3 -1
  1225. package/src/AWS/S3/DeleteObject.ts +3 -1
  1226. package/src/AWS/S3/GetObject.ts +3 -1
  1227. package/src/AWS/S3/HeadObject.ts +3 -1
  1228. package/src/AWS/S3/ListObjectsV2.ts +3 -1
  1229. package/src/AWS/S3/PutObject.ts +3 -1
  1230. package/src/AWS/S3/UploadPart.ts +3 -1
  1231. package/src/AWS/SNS/AddPermission.ts +3 -1
  1232. package/src/AWS/SNS/ConfirmSubscription.ts +3 -1
  1233. package/src/AWS/SNS/GetDataProtectionPolicy.ts +3 -1
  1234. package/src/AWS/SNS/GetSubscriptionAttributes.ts +3 -1
  1235. package/src/AWS/SNS/GetTopicAttributes.ts +3 -1
  1236. package/src/AWS/SNS/ListSubscriptions.ts +3 -1
  1237. package/src/AWS/SNS/ListSubscriptionsByTopic.ts +3 -1
  1238. package/src/AWS/SNS/ListTagsForResource.ts +3 -1
  1239. package/src/AWS/SNS/ListTopics.ts +3 -1
  1240. package/src/AWS/SNS/Publish.ts +3 -1
  1241. package/src/AWS/SNS/PublishBatch.ts +3 -1
  1242. package/src/AWS/SNS/PutDataProtectionPolicy.ts +3 -1
  1243. package/src/AWS/SNS/RemovePermission.ts +3 -1
  1244. package/src/AWS/SNS/SetSubscriptionAttributes.ts +3 -1
  1245. package/src/AWS/SNS/SetTopicAttributes.ts +3 -1
  1246. package/src/AWS/SNS/TagResource.ts +3 -1
  1247. package/src/AWS/SNS/TopicSink.ts +3 -1
  1248. package/src/AWS/SNS/UntagResource.ts +3 -1
  1249. package/src/AWS/SQS/DeleteMessage.ts +3 -1
  1250. package/src/AWS/SQS/DeleteMessageBatch.ts +3 -1
  1251. package/src/AWS/SQS/Queue.ts +1 -1
  1252. package/src/AWS/SQS/QueueSink.ts +3 -1
  1253. package/src/AWS/SQS/ReceiveMessage.ts +3 -1
  1254. package/src/AWS/SQS/SendMessage.ts +3 -1
  1255. package/src/AWS/SQS/SendMessageBatch.ts +3 -1
  1256. package/src/AWS/SecretsManager/DescribeSecret.ts +3 -1
  1257. package/src/AWS/SecretsManager/GetRandomPassword.ts +3 -1
  1258. package/src/AWS/SecretsManager/GetSecretValue.ts +3 -1
  1259. package/src/AWS/SecretsManager/ListSecrets.ts +3 -1
  1260. package/src/AWS/SecretsManager/PutSecretValue.ts +3 -1
  1261. package/src/AWS/StateStore/State.ts +41 -9
  1262. package/src/AWS/Website/Router.ts +212 -208
  1263. package/src/AWS/Website/SsrSite.ts +208 -209
  1264. package/src/AWS/Website/StaticSite.ts +284 -281
  1265. package/src/AdoptPolicy.ts +1 -1
  1266. package/src/Apply.ts +16 -7
  1267. package/src/Auth/Lock.ts +4 -2
  1268. package/src/Auth/Profile.ts +34 -12
  1269. package/src/Axiom/AuthProvider.ts +2 -2
  1270. package/src/Binding.ts +6 -2
  1271. package/src/Bundle/Bundle.ts +53 -4
  1272. package/src/Bundle/Docker.ts +23 -4
  1273. package/src/Bundle/InstalledPackages.ts +615 -0
  1274. package/src/Bundle/TempRoot.ts +1 -1
  1275. package/src/Bundle/index.ts +1 -0
  1276. package/src/Cli/commands/aws.ts +1 -1
  1277. package/src/Cli/commands/cloudflare.ts +3 -10
  1278. package/src/Cli/commands/login.ts +1 -1
  1279. package/src/Cli/commands/logs.ts +1 -1
  1280. package/src/Cli/commands/nuke.ts +1 -1
  1281. package/src/Cli/commands/profile.ts +2 -2
  1282. package/src/Cli/commands/state.ts +6 -11
  1283. package/src/Cli/commands/tail.ts +1 -1
  1284. package/src/Cli/selectCli.ts +2 -25
  1285. package/src/Cloudflare/Access/Application.ts +63 -20
  1286. package/src/Cloudflare/AiGateway/AiGateway.ts +186 -0
  1287. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +3 -1
  1288. package/src/Cloudflare/AiGateway/DurableObjectChatPersistence.ts +88 -0
  1289. package/src/Cloudflare/AiGateway/LanguageModel.ts +1 -3
  1290. package/src/Cloudflare/AiGateway/index.ts +1 -1
  1291. package/src/Cloudflare/AiSearch/AiSearch.ts +89 -90
  1292. package/src/Cloudflare/AiSearch/AiSearchBinding.ts +5 -2
  1293. package/src/Cloudflare/AiSearch/AiSearchInstance.ts +31 -14
  1294. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +1 -4
  1295. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +5 -3
  1296. package/src/Cloudflare/ApiShield/UserSchema.ts +5 -0
  1297. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +3 -1
  1298. package/src/Cloudflare/Auth/AuthProvider.ts +6 -3
  1299. package/src/Cloudflare/Browser/BrowserBinding.ts +3 -1
  1300. package/src/Cloudflare/Cache/RegionalTieredCache.ts +18 -0
  1301. package/src/Cloudflare/ClientCertificate/ClientCertificate.ts +19 -12
  1302. package/src/Cloudflare/CloudflareEnvironment.ts +3 -1
  1303. package/src/Cloudflare/Container/Container.ts +313 -171
  1304. package/src/Cloudflare/Container/ContainerApplication.ts +73 -893
  1305. package/src/Cloudflare/Container/ContainerBundle.ts +78 -2
  1306. package/src/Cloudflare/Container/ContainerPlatform.ts +220 -0
  1307. package/src/Cloudflare/Container/ContainerProvider.ts +1052 -0
  1308. package/src/Cloudflare/Container/LocalContainerProvider.ts +14 -7
  1309. package/src/Cloudflare/Container/StartContainer.ts +65 -14
  1310. package/src/Cloudflare/Container/index.ts +2 -1
  1311. package/src/Cloudflare/Credentials.ts +6 -0
  1312. package/src/Cloudflare/D1/D1Connection.ts +3 -1
  1313. package/src/Cloudflare/Dns/DnsBinding.ts +1 -30
  1314. package/src/Cloudflare/Dns/DnsRead.ts +5 -3
  1315. package/src/Cloudflare/Dns/DnsReadWrite.ts +3 -1
  1316. package/src/Cloudflare/Dns/DnsWrite.ts +5 -3
  1317. package/src/Cloudflare/Email/EmailCatchAll.ts +1 -1
  1318. package/src/Cloudflare/Email/EmailRouting.ts +1 -1
  1319. package/src/Cloudflare/Email/EmailRule.ts +1 -1
  1320. package/src/Cloudflare/Email/SendEmail.ts +1 -1
  1321. package/src/Cloudflare/Email/SendEmailBinding.ts +5 -3
  1322. package/src/Cloudflare/Fetcher.ts +86 -15
  1323. package/src/Cloudflare/Flagship/FlagshipBinding.ts +3 -1
  1324. package/src/Cloudflare/GoogleTagGateway/GoogleTagGateway.ts +1 -1
  1325. package/src/Cloudflare/HttpClientUtils.ts +31 -0
  1326. package/src/Cloudflare/Hyperdrive/HyperdriveBinding.ts +3 -1
  1327. package/src/Cloudflare/Iam/UserGroupMembership.ts +7 -0
  1328. package/src/Cloudflare/Images/ImagesBinding.ts +3 -1
  1329. package/src/Cloudflare/Images/Variant.ts +20 -3
  1330. package/src/Cloudflare/KV/{KVNamespace.ts → Namespace.ts} +9 -6
  1331. package/src/Cloudflare/KV/NamespaceBinding.ts +68 -0
  1332. package/src/Cloudflare/KV/NamespaceHttp.ts +89 -0
  1333. package/src/Cloudflare/KV/{KVNamespaceBinding.ts → NamespaceRead.ts} +15 -104
  1334. package/src/Cloudflare/KV/NamespaceReadBinding.ts +39 -0
  1335. package/src/Cloudflare/KV/NamespaceReadHttp.ts +171 -0
  1336. package/src/Cloudflare/KV/NamespaceReadWrite.ts +20 -0
  1337. package/src/Cloudflare/KV/NamespaceReadWriteBinding.ts +32 -0
  1338. package/src/Cloudflare/KV/NamespaceReadWriteHttp.ts +38 -0
  1339. package/src/Cloudflare/KV/NamespaceTypes.ts +6 -0
  1340. package/src/Cloudflare/KV/NamespaceWrite.ts +26 -0
  1341. package/src/Cloudflare/KV/NamespaceWriteBinding.ts +34 -0
  1342. package/src/Cloudflare/KV/NamespaceWriteHttp.ts +105 -0
  1343. package/src/Cloudflare/KV/index.ts +11 -2
  1344. package/src/Cloudflare/Providers.ts +4 -22
  1345. package/src/Cloudflare/Queue/Queue.ts +9 -9
  1346. package/src/Cloudflare/Queue/QueueBinding.ts +48 -131
  1347. package/src/Cloudflare/Queue/QueueEventSource.ts +4 -2
  1348. package/src/Cloudflare/Queue/QueueHttp.ts +86 -0
  1349. package/src/Cloudflare/Queue/QueueTypes.ts +17 -0
  1350. package/src/Cloudflare/Queue/QueueWrite.ts +64 -0
  1351. package/src/Cloudflare/Queue/QueueWriteBinding.ts +33 -0
  1352. package/src/Cloudflare/Queue/QueueWriteHttp.ts +82 -0
  1353. package/src/Cloudflare/Queue/index.ts +4 -1
  1354. package/src/Cloudflare/R2/{R2Bucket.ts → Bucket.ts} +6 -9
  1355. package/src/Cloudflare/R2/BucketBinding.ts +115 -0
  1356. package/src/Cloudflare/R2/BucketEventNotification.ts +1 -1
  1357. package/src/Cloudflare/R2/BucketHttp.ts +201 -0
  1358. package/src/Cloudflare/R2/BucketRead.ts +43 -0
  1359. package/src/Cloudflare/R2/BucketReadBinding.ts +44 -0
  1360. package/src/Cloudflare/R2/BucketReadHttp.ts +181 -0
  1361. package/src/Cloudflare/R2/BucketReadWrite.ts +20 -0
  1362. package/src/Cloudflare/R2/BucketReadWriteBinding.ts +26 -0
  1363. package/src/Cloudflare/R2/BucketReadWriteHttp.ts +35 -0
  1364. package/src/Cloudflare/R2/BucketSippy.ts +1 -1
  1365. package/src/Cloudflare/R2/BucketTypes.ts +59 -0
  1366. package/src/Cloudflare/R2/BucketWrite.ts +77 -0
  1367. package/src/Cloudflare/R2/BucketWriteBinding.ts +111 -0
  1368. package/src/Cloudflare/R2/BucketWriteHttp.ts +144 -0
  1369. package/src/Cloudflare/R2/index.ts +10 -2
  1370. package/src/Cloudflare/RateLimit/RateLimitBinding.ts +3 -1
  1371. package/src/Cloudflare/SecretsStore/SecretBinding.ts +3 -1
  1372. package/src/Cloudflare/StateStore/Api.ts +1 -1
  1373. package/src/Cloudflare/StateStore/State.ts +6 -4
  1374. package/src/Cloudflare/StateStore/Store.ts +5 -8
  1375. package/src/Cloudflare/Tunnel/Tunnel.ts +1 -1
  1376. package/src/Cloudflare/Tunnel/TunnelBinding.ts +1 -30
  1377. package/src/Cloudflare/Tunnel/TunnelRead.ts +4 -2
  1378. package/src/Cloudflare/Tunnel/TunnelReadWrite.ts +3 -1
  1379. package/src/Cloudflare/Tunnel/TunnelWrite.ts +4 -2
  1380. package/src/Cloudflare/Tunnel/WarpConnector.ts +1 -1
  1381. package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +12 -0
  1382. package/src/Cloudflare/Vectorize/VectorizeIndexBinding.ts +3 -1
  1383. package/src/Cloudflare/VpcService/VpcService.ts +1 -1
  1384. package/src/Cloudflare/WaitingRoom/Settings.ts +19 -1
  1385. package/src/Cloudflare/Website/StaticSite.ts +12 -11
  1386. package/src/Cloudflare/Website/Vite.ts +1 -1
  1387. package/src/Cloudflare/Workers/AccountSetting.ts +9 -6
  1388. package/src/Cloudflare/Workers/Assets.ts +6 -6
  1389. package/src/Cloudflare/Workers/CronEventSource.ts +4 -2
  1390. package/src/Cloudflare/Workers/DurableObjectBridge.ts +22 -17
  1391. package/src/Cloudflare/Workers/DurableObjectChatPersistence.ts +20 -4
  1392. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +125 -73
  1393. package/src/Cloudflare/Workers/DurableObjectState.ts +25 -11
  1394. package/src/Cloudflare/Workers/DurableObjectStorage.ts +50 -37
  1395. package/src/Cloudflare/Workers/Fetch.ts +3 -1
  1396. package/src/Cloudflare/Workers/GitHubRepositoryEventSource.ts +3 -1
  1397. package/src/Cloudflare/Workers/InferEnv.ts +2 -2
  1398. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +15 -18
  1399. package/src/Cloudflare/Workers/Rpc.ts +7 -273
  1400. package/src/Cloudflare/Workers/RpcDurableObjectNamespace.ts +10 -8
  1401. package/src/Cloudflare/Workers/RpcWorker.ts +8 -8
  1402. package/src/Cloudflare/Workers/ScheduledEvents.ts +24 -20
  1403. package/src/Cloudflare/Workers/VersionMetadataBinding.ts +3 -1
  1404. package/src/Cloudflare/Workers/WebSocket.ts +1 -1
  1405. package/src/Cloudflare/Workers/Worker.ts +157 -1799
  1406. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +5 -5
  1407. package/src/Cloudflare/Workers/WorkerBinding.ts +8 -6
  1408. package/src/Cloudflare/Workers/WorkerBridge.ts +22 -18
  1409. package/src/Cloudflare/Workers/WorkerBundle.ts +3 -5
  1410. package/src/Cloudflare/Workers/{DynamicWorkerLoader.ts → WorkerLoader.ts} +137 -140
  1411. package/src/Cloudflare/Workers/WorkerProvider.ts +1771 -0
  1412. package/src/Cloudflare/Workers/Workflow.ts +9 -5
  1413. package/src/Cloudflare/Workers/index.ts +2 -2
  1414. package/src/Cloudflare/Zaraz/ZarazConfig.ts +1 -1
  1415. package/src/Cloudflare/Zone/Hold.ts +18 -0
  1416. package/src/Cloudflare/index.ts +3 -0
  1417. package/src/Command/Build.ts +187 -0
  1418. package/src/Command/Command.ts +244 -0
  1419. package/src/Command/Dev.ts +219 -0
  1420. package/src/Command/Exec.ts +121 -0
  1421. package/src/Command/Local.ts +6 -0
  1422. package/src/{Build → Command}/Memo.ts +5 -5
  1423. package/src/Command/Providers.ts +41 -0
  1424. package/src/Command/index.ts +5 -0
  1425. package/src/Drizzle/Schema.ts +213 -26
  1426. package/src/GitHub/AuthProvider.ts +2 -2
  1427. package/src/GitHub/Secrets.ts +15 -12
  1428. package/src/Local/RpcProvider.ts +2 -2
  1429. package/src/Local/RpcProviderProxy.ts +3 -3
  1430. package/src/Local/RpcServerBun.ts +1 -1
  1431. package/src/Local/RpcServerNode.ts +1 -1
  1432. package/src/Local/RpcSpawner.ts +3 -3
  1433. package/src/Named.ts +6 -0
  1434. package/src/Neon/AuthProvider.ts +2 -2
  1435. package/src/Neon/Branch.ts +25 -12
  1436. package/src/Neon/Project.ts +2 -2
  1437. package/src/Phase.ts +16 -0
  1438. package/src/Plan.ts +12 -0
  1439. package/src/Planetscale/AuthProvider.ts +2 -2
  1440. package/src/Platform.ts +137 -96
  1441. package/src/Provider.ts +5 -6
  1442. package/src/Resource.ts +14 -7
  1443. package/src/Rpc.ts +552 -1
  1444. package/src/RuntimeContext.ts +3 -1
  1445. package/src/Self.ts +5 -2
  1446. package/src/Server/S3BucketEventSource.ts +3 -1
  1447. package/src/Stack.ts +26 -5
  1448. package/src/State/LocalState.ts +1 -1
  1449. package/src/State/Sync.ts +4 -4
  1450. package/src/Tags.ts +3 -5
  1451. package/src/Test/Bun.ts +7 -0
  1452. package/src/Test/Http.ts +74 -0
  1453. package/src/Util/FileLogger.ts +1 -1
  1454. package/src/Util/effect.ts +2 -1
  1455. package/src/Util/interactive.ts +32 -0
  1456. package/src/index.ts +2 -2
  1457. package/lib/Build/Command.d.ts +0 -114
  1458. package/lib/Build/Command.d.ts.map +0 -1
  1459. package/lib/Build/Command.js +0 -191
  1460. package/lib/Build/Command.js.map +0 -1
  1461. package/lib/Build/DevServer.d.ts +0 -113
  1462. package/lib/Build/DevServer.d.ts.map +0 -1
  1463. package/lib/Build/DevServer.js +0 -220
  1464. package/lib/Build/DevServer.js.map +0 -1
  1465. package/lib/Build/Local.js +0 -4
  1466. package/lib/Build/Local.js.map +0 -1
  1467. package/lib/Build/Memo.d.ts.map +0 -1
  1468. package/lib/Build/Memo.js.map +0 -1
  1469. package/lib/Build/index.d.ts +0 -2
  1470. package/lib/Build/index.d.ts.map +0 -1
  1471. package/lib/Build/index.js +0 -2
  1472. package/lib/Build/index.js.map +0 -1
  1473. package/lib/Cloudflare/AiGateway/AiGatewaySpendingLimit.d.ts +0 -167
  1474. package/lib/Cloudflare/AiGateway/AiGatewaySpendingLimit.d.ts.map +0 -1
  1475. package/lib/Cloudflare/AiGateway/AiGatewaySpendingLimit.js +0 -263
  1476. package/lib/Cloudflare/AiGateway/AiGatewaySpendingLimit.js.map +0 -1
  1477. package/lib/Cloudflare/Container/ContainerBinding.d.ts +0 -8
  1478. package/lib/Cloudflare/Container/ContainerBinding.d.ts.map +0 -1
  1479. package/lib/Cloudflare/Container/ContainerBinding.js +0 -39
  1480. package/lib/Cloudflare/Container/ContainerBinding.js.map +0 -1
  1481. package/lib/Cloudflare/KV/KVNamespace.d.ts.map +0 -1
  1482. package/lib/Cloudflare/KV/KVNamespace.js.map +0 -1
  1483. package/lib/Cloudflare/KV/KVNamespaceBinding.d.ts.map +0 -1
  1484. package/lib/Cloudflare/KV/KVNamespaceBinding.js +0 -63
  1485. package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +0 -1
  1486. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +0 -1
  1487. package/lib/Cloudflare/R2/R2Bucket.js.map +0 -1
  1488. package/lib/Cloudflare/R2/R2BucketBinding.d.ts +0 -92
  1489. package/lib/Cloudflare/R2/R2BucketBinding.d.ts.map +0 -1
  1490. package/lib/Cloudflare/R2/R2BucketBinding.js +0 -121
  1491. package/lib/Cloudflare/R2/R2BucketBinding.js.map +0 -1
  1492. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts.map +0 -1
  1493. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js.map +0 -1
  1494. package/lib/Construct.d.ts +0 -56
  1495. package/lib/Construct.d.ts.map +0 -1
  1496. package/lib/Construct.js +0 -51
  1497. package/lib/Construct.js.map +0 -1
  1498. package/src/Build/Command.ts +0 -293
  1499. package/src/Build/DevServer.ts +0 -338
  1500. package/src/Build/Local.ts +0 -4
  1501. package/src/Build/index.ts +0 -1
  1502. package/src/Cloudflare/AiGateway/AiGatewaySpendingLimit.ts +0 -398
  1503. package/src/Cloudflare/Container/ContainerBinding.ts +0 -74
  1504. package/src/Cloudflare/R2/R2BucketBinding.ts +0 -339
  1505. package/src/Construct.ts +0 -71
  1506. /package/lib/{Build → Command}/Local.d.ts +0 -0
  1507. /package/lib/{Build → Command}/Memo.d.ts +0 -0
@@ -1,34 +1,17 @@
1
1
  import * as workers from "@distilled.cloud/cloudflare/workers";
2
- import * as zones from "@distilled.cloud/cloudflare/zones";
3
2
  import * as Context from "effect/Context";
4
- import * as Data from "effect/Data";
5
3
  import * as Effect from "effect/Effect";
6
- import * as Path from "effect/Path";
7
- import * as Predicate from "effect/Predicate";
8
4
  import * as Redacted from "effect/Redacted";
9
- import * as Schedule from "effect/Schedule";
10
- import * as Stream from "effect/Stream";
11
- import * as crypto from "node:crypto";
12
- import { Unowned } from "../../AdoptPolicy.js";
13
- import * as Artifacts from "../../Artifacts.js";
14
- import { hashDirectory } from "../../Build/Memo.js";
5
+ import {} from "../../Command/Memo.js";
15
6
  import * as Bundle from "../../Bundle/Bundle.js";
16
- import { isResolved } from "../../Diff.js";
17
- import * as ProviderLayer from "../../Local/ProviderLayer.js";
18
- import { Platform } from "../../Platform.js";
19
- import * as Provider from "../../Provider.js";
7
+ import { Platform, } from "../../Platform.js";
20
8
  import { Resource } from "../../Resource.js";
21
- import { Stack } from "../../Stack.js";
22
9
  import { CloudflareEnvironment } from "../CloudflareEnvironment.js";
23
- import { CloudflareLogs } from "../Logs.js";
24
- import { readAssets, uploadAssets, } from "./Assets.js";
25
- import { getCompatibility } from "./Compatibility.js";
26
- import { isDurableObjectExport, } from "./DurableObjectNamespace.js";
27
- import { LocalWorkerProvider } from "./LocalWorkerProvider.js";
10
+ import {} from "./Assets.js";
11
+ import {} from "./DurableObjectNamespace.js";
28
12
  import { Request } from "./Request.js";
29
- import { bindWorkerAsyncBindings, getCronBindings, } from "./WorkerAsyncBindings.js";
30
- import { readPrebuiltWorkerBundle, WorkerBundle, } from "./WorkerBundle.js";
31
- import { createWorkerName } from "./WorkerName.js";
13
+ import { bindWorkerAsyncBindings } from "./WorkerAsyncBindings.js";
14
+ import {} from "./WorkerBundle.js";
32
15
  import { makeWorkerRuntimeContext, } from "./WorkerRuntimeContext.js";
33
16
  export const WorkerTypeId = "Cloudflare.Worker";
34
17
  export const isWorker = (value) => typeof value === "object" &&
@@ -62,7 +45,7 @@ export const ExportedHandlerMethods = [
62
45
  * ```typescript
63
46
  * Effect.gen(function* () {
64
47
  * // Phase 1: bind resources (runs at deploy time)
65
- * const kv = yield* Cloudflare.KVNamespace.bind(MyKV);
48
+ * const kv = yield* Cloudflare.KV.ReadWriteNamespace(MyKV);
66
49
  *
67
50
  * return {
68
51
  * // Phase 2: runtime handlers (runs on each request)
@@ -143,7 +126,7 @@ export const ExportedHandlerMethods = [
143
126
  * { main: import.meta.filename },
144
127
  * Effect.gen(function* () {
145
128
  * // init: bind resources
146
- * const kv = yield* Cloudflare.KVNamespace.bind(MyKV);
129
+ * const kv = yield* Cloudflare.KV.ReadWriteNamespace(MyKV);
147
130
  *
148
131
  * return {
149
132
  * // runtime: use them
@@ -172,16 +155,18 @@ export const ExportedHandlerMethods = [
172
155
  *
173
156
  * @example Worker Layer (class + .make() in one file)
174
157
  * ```typescript
175
- * // src/WorkerB.ts
176
- * export default class WorkerB extends Cloudflare.Worker<WorkerB>()(
177
- * "WorkerB",
178
- * { main: import.meta.filename },
179
- * ) {}
158
+ * // src/WorkerB.ts — the tag carries the name + RPC shape; props live
159
+ * // on `.make()`.
160
+ * export class WorkerB extends Cloudflare.Worker<
161
+ * WorkerB,
162
+ * { greet: (name: string) => Effect.Effect<string> }
163
+ * >()("WorkerB") {}
180
164
  *
181
165
  * export default WorkerB.make(
166
+ * { main: import.meta.filename },
182
167
  * Effect.gen(function* () {
183
168
  * // init: bind resources
184
- * const kv = yield* Cloudflare.KVNamespace.bind(MyKV);
169
+ * const kv = yield* Cloudflare.KV.ReadWriteNamespace(MyKV);
185
170
  *
186
171
  * return {
187
172
  * // runtime: use them
@@ -292,7 +277,7 @@ export const ExportedHandlerMethods = [
292
277
  * @example Binding and using R2
293
278
  * ```typescript
294
279
  * // init
295
- * const bucket = yield* Cloudflare.R2Bucket.bind(MyBucket);
280
+ * const bucket = yield* Cloudflare.R2.ReadWrite(MyBucket);
296
281
  *
297
282
  * return {
298
283
  * fetch: Effect.gen(function* () {
@@ -313,14 +298,14 @@ export const ExportedHandlerMethods = [
313
298
  * ```
314
299
  *
315
300
  * @section KV Namespace
316
- * Bind a KV namespace with `Cloudflare.KVNamespace.bind`. KV provides
301
+ * Bind a KV namespace with `Cloudflare.KV.ReadWriteNamespace`. KV provides
317
302
  * eventually-consistent, low-latency key-value reads replicated
318
303
  * globally across Cloudflare's edge.
319
304
  *
320
305
  * @example Binding and using KV
321
306
  * ```typescript
322
307
  * // init
323
- * const kv = yield* Cloudflare.KVNamespace.bind(MyKV);
308
+ * const kv = yield* Cloudflare.KV.ReadWriteNamespace(MyKV);
324
309
  *
325
310
  * return {
326
311
  * fetch: Effect.gen(function* () {
@@ -396,18 +381,18 @@ export const ExportedHandlerMethods = [
396
381
  * ```
397
382
  *
398
383
  * @section Dynamic Workers
399
- * `DynamicWorkerLoader` lets you spin up ephemeral Workers at runtime
384
+ * `WorkerLoader` lets you spin up ephemeral Workers at runtime
400
385
  * from inline JavaScript modules. This is useful for sandboxing
401
386
  * user-provided code or running untrusted scripts in isolation.
402
387
  *
403
388
  * @example Loading a dynamic Worker
404
389
  * ```typescript
405
390
  * // init
406
- * const loader = yield* Cloudflare.DynamicWorkerLoader("Loader");
391
+ * const loader = yield* Cloudflare.WorkerLoader("Loader");
407
392
  *
408
393
  * return {
409
394
  * fetch: Effect.gen(function* () {
410
- * const worker = loader.load({
395
+ * const worker = yield* loader.load({
411
396
  * compatibilityDate: "2026-01-28",
412
397
  * mainModule: "worker.js",
413
398
  * modules: {
@@ -436,1264 +421,4 @@ export const Worker = Platform(WorkerTypeId, {
436
421
  onCreate: (resource, props) => bindWorkerAsyncBindings(resource, props),
437
422
  createRuntimeContext: (id) => makeWorkerRuntimeContext(id),
438
423
  });
439
- class MissingDurableObjectNamespaces extends Data.TaggedError("MissingDurableObjectNamespaces") {
440
- }
441
- export const WorkerProvider = () => ProviderLayer.select({
442
- live: () => LiveWorkerProvider(),
443
- local: () => LocalWorkerProvider(),
444
- });
445
- export const LiveWorkerProvider = () => Provider.effect(Worker, Effect.gen(function* () {
446
- const path = yield* Path.Path;
447
- const bundler = yield* WorkerBundle;
448
- const stack = yield* Stack;
449
- // const createScriptSubdomain = yield* workers.createScriptSubdomain;
450
- // const deleteScript = yield* workers.deleteScript;
451
- // const getScriptSubdomain = yield* workers.getScriptSubdomain;
452
- // const getScriptSchedule = yield* workers.getScriptSchedule;
453
- // const getScriptSettings = yield* workers.getScriptScriptAndVersionSetting;
454
- // const getSubdomain = yield* workers.getSubdomain;
455
- // const putScript = yield* workers.putScript;
456
- // const putScriptSchedule = yield* workers.putScriptSchedule;
457
- // const putDomain = yield* workers.putDomain;
458
- // const listDomains = yield* workers.listDomains;
459
- // const deleteDomain = yield* workers.deleteDomain;
460
- // const listZones = yield* zones.listZones;
461
- const telemetry = yield* CloudflareLogs;
462
- const getAccountSubdomain = (accountId) => workers
463
- .getSubdomain({
464
- accountId,
465
- })
466
- .pipe(Effect.map((result) => result.subdomain));
467
- // Toggle the workers.dev subdomain via `POST /subdomain` with
468
- // `enabled: true | false`. Mirrors the upstream Alchemy
469
- // implementation in `.vendor/alchemy/.../worker-subdomain.ts`.
470
- // When enabling we also set `previewsEnabled: true` so the
471
- // script is reachable both at its stable workers.dev URL and at
472
- // version-preview URLs; on disable we send just `enabled: false`.
473
- const setWorkerSubdomain = Effect.fn(function* (name, enabled) {
474
- const { accountId } = yield* yield* CloudflareEnvironment;
475
- return yield* workers.createScriptSubdomain({
476
- accountId,
477
- scriptName: name,
478
- enabled,
479
- previewsEnabled: enabled ? true : undefined,
480
- });
481
- });
482
- // Convert non-ASCII hostnames (emoji, IDN, etc.) to punycode so the
483
- // Cloudflare API receives the form it stores domains in. `new URL(...)`
484
- // does IDNA via WHATWG URL parsing — `📦.alchemy.run` → `xn--5z8h.alchemy.run`.
485
- const toPunycode = (hostname) => {
486
- try {
487
- return new URL(`https://${hostname}`).hostname;
488
- }
489
- catch {
490
- return hostname;
491
- }
492
- };
493
- const normalizeDomains = (domain) => domain === undefined
494
- ? []
495
- : Array.from(new Set((Array.isArray(domain) ? domain : [domain]).map(toPunycode)));
496
- const normalizeCrons = (crons) => Array.from(new Set(crons ?? []));
497
- const getWorkerCrons = Effect.fn(function* (scriptName) {
498
- const { accountId } = yield* yield* CloudflareEnvironment;
499
- return yield* workers
500
- .getScriptSchedule({
501
- accountId,
502
- scriptName,
503
- })
504
- .pipe(Effect.map((response) => normalizeCrons(response.schedules.map((schedule) => schedule.cron))), Effect.catchTag("WorkerNotFound", () => Effect.succeed([])));
505
- });
506
- const reconcileCrons = (scriptName, desired, previous, session) => Effect.gen(function* () {
507
- const { accountId } = yield* yield* CloudflareEnvironment;
508
- const live = yield* getWorkerCrons(scriptName);
509
- const desiredSorted = [...desired].sort();
510
- const liveSorted = [...live].sort();
511
- const changed = desiredSorted.length !== liveSorted.length ||
512
- desiredSorted.some((cron, index) => cron !== liveSorted[index]);
513
- if (!changed)
514
- return live;
515
- if (desired.length > 0 || previous.length > 0 || live.length > 0) {
516
- yield* session.note(`Reconciling Cron Triggers (${desired.length}) ...`);
517
- }
518
- const result = yield* workers
519
- .putScriptSchedule({
520
- accountId,
521
- scriptName,
522
- body: desired.map((cron) => ({ cron })),
523
- })
524
- .pipe(Effect.retry({
525
- while: (error) => error._tag === "WorkerNotFound",
526
- schedule: Schedule.exponential(200).pipe(Schedule.both(Schedule.recurs(15))),
527
- }));
528
- return normalizeCrons(result.schedules.map((schedule) => schedule.cron));
529
- });
530
- /**
531
- * Infer the Cloudflare Zone ID for a given hostname by listing the
532
- * account's zones and matching the hostname against each zone's name —
533
- * walking up the DNS label hierarchy until a match is found.
534
- */
535
- const inferZoneIdForHostname = (hostname, zoneCache) => Effect.gen(function* () {
536
- const cached = zoneCache.get(hostname);
537
- if (cached)
538
- return cached;
539
- const zoneList = yield* zones
540
- .listZones({})
541
- .pipe(Effect.map((response) => response.result ?? []));
542
- for (const zone of zoneList) {
543
- zoneCache.set(zone.name, zone.id);
544
- }
545
- const parts = hostname.split(".");
546
- for (let i = 0; i < parts.length - 1; i++) {
547
- const candidate = parts.slice(i).join(".");
548
- const match = zoneList.find((z) => z.name === candidate);
549
- if (match) {
550
- zoneCache.set(hostname, match.id);
551
- return match.id;
552
- }
553
- }
554
- return yield* Effect.die(`Could not infer Cloudflare Zone for hostname "${hostname}". ` +
555
- "Ensure the parent zone exists in this account.");
556
- });
557
- const reconcileDomains = (scriptName, desired) => Effect.gen(function* () {
558
- const { accountId } = yield* yield* CloudflareEnvironment;
559
- // Always query the live state of domains attached to *this*
560
- // Worker rather than trusting `_previous` from local state.
561
- // State may have been wiped, populated by another machine, or
562
- // simply be out of date. Without this we PUT domains that are
563
- // already registered to this same Worker and Cloudflare
564
- // returns a confusing "hostname already in use" error.
565
- const liveAll = yield* workers
566
- .listDomains({
567
- accountId,
568
- service: scriptName,
569
- })
570
- .pipe(Effect.map((r) => (r.result ?? []).flatMap((d) => d.id && d.hostname && d.zoneId
571
- ? [
572
- {
573
- id: d.id,
574
- hostname: d.hostname,
575
- zoneId: d.zoneId,
576
- service: d.service ?? undefined,
577
- },
578
- ]
579
- : [])), Effect.catch(() => Effect.succeed([])));
580
- const desiredSet = new Set(desired);
581
- const liveByHostname = new Map(liveAll.map((d) => [d.hostname, d]));
582
- // Detach what's no longer wanted. Use the live list so we
583
- // don't try to delete domains we no longer track.
584
- const toRemove = liveAll.filter((d) => !desiredSet.has(d.hostname));
585
- yield* Effect.all(toRemove.map((d) => workers
586
- .deleteDomain({ accountId, domainId: d.id })
587
- .pipe(Effect.catchTag("DomainNotFound", () => Effect.void))), { concurrency: "unbounded" });
588
- if (desired.length === 0)
589
- return [];
590
- const zoneCache = new Map();
591
- // Attach `hostname` to this Worker. Skip the PUT entirely if
592
- // the hostname is already attached to *this* Worker — that's a
593
- // no-op for Cloudflare and avoids the "already in use" 409.
594
- // If it's attached to a *different* Worker, refuse with a
595
- // clear message rather than silently re-routing traffic.
596
- const attachDomain = Effect.fn(function* (hostname) {
597
- const live = liveByHostname.get(hostname);
598
- if (live) {
599
- return {
600
- hostname: live.hostname,
601
- id: live.id,
602
- zoneId: live.zoneId,
603
- };
604
- }
605
- // Not attached to this Worker — but it could still belong
606
- // to another Worker. Check before we try to PUT so we can
607
- // emit a helpful error instead of the raw 409.
608
- const otherOwner = yield* workers
609
- .listDomains({
610
- accountId,
611
- hostname,
612
- })
613
- .pipe(Effect.map((r) => (r.result ?? []).find((d) => d.hostname === hostname && d.service !== scriptName)), Effect.catch(() => Effect.succeed(undefined)));
614
- if (otherOwner?.id) {
615
- return yield* Effect.die(new Error(`Cannot attach hostname '${hostname}' to Worker '${scriptName}': ` +
616
- `it is already attached to Worker '${otherOwner.service ?? "<unknown>"}'. ` +
617
- `Detach it from that Worker first, or pick a different hostname.`));
618
- }
619
- const zoneId = yield* inferZoneIdForHostname(hostname, zoneCache);
620
- // Same eventual-consistency window as `setWorkerSubdomain`:
621
- // PUT /accounts/.../workers/domains right after `putScript`
622
- // can return `WorkerNotFound` until Cloudflare's script
623
- // registry has propagated. Retry on that specific tag.
624
- const res = yield* workers
625
- .putDomain({
626
- accountId,
627
- hostname,
628
- service: scriptName,
629
- zoneId,
630
- })
631
- .pipe(Effect.retry({
632
- while: (error) => error._tag === "WorkerNotFound",
633
- schedule: Schedule.exponential(200).pipe(Schedule.both(Schedule.recurs(15))),
634
- }));
635
- return {
636
- hostname,
637
- id: res.id ?? "",
638
- zoneId: res.zoneId ?? zoneId,
639
- };
640
- });
641
- const applied = yield* Effect.all(desired.map(attachDomain), {
642
- concurrency: "unbounded",
643
- });
644
- return applied;
645
- });
646
- const createAlchemyWorkerTags = (id) => [
647
- `alchemy:stack:${stack.name}`,
648
- `alchemy:stage:${stack.stage}`,
649
- `alchemy:id:${id}`,
650
- ];
651
- const hasAlchemyWorkerTags = (id, tags) => {
652
- const actualTags = new Set(tags ?? []);
653
- return createAlchemyWorkerTags(id).every((tag) => actualTags.has(tag));
654
- };
655
- const getDurableObjectNamespaces = (bindings) => {
656
- const namespaces = Object.fromEntries((bindings ?? []).flatMap((binding) => binding.type === "durable_object_namespace" &&
657
- binding.className &&
658
- binding.namespaceId
659
- ? [[binding.className, binding.namespaceId]]
660
- : []));
661
- return namespaces;
662
- };
663
- const getExpectedDurableObjectClassNames = (bindings, workerName) => Array.from(new Set(bindings?.flatMap((binding) => binding.type === "durable_object_namespace" &&
664
- binding.className &&
665
- (binding.scriptName === undefined ||
666
- binding.scriptName === workerName)
667
- ? [binding.className]
668
- : []) ?? []));
669
- const getWorkerSettingsWithDurableObjects = Effect.fn(function* (scriptName, expectedClassNames) {
670
- const { accountId } = yield* yield* CloudflareEnvironment;
671
- return yield* workers
672
- .getScriptScriptAndVersionSetting({
673
- accountId,
674
- scriptName,
675
- })
676
- .pipe(Effect.map((settings) => {
677
- const namespaces = getDurableObjectNamespaces(settings.bindings);
678
- const missing = expectedClassNames.filter((className) => !namespaces[className]);
679
- if (missing.length > 0) {
680
- return Effect.fail(new MissingDurableObjectNamespaces({
681
- scriptName,
682
- expected: missing,
683
- }));
684
- }
685
- return Effect.succeed({
686
- settings,
687
- durableObjectNamespaces: namespaces,
688
- });
689
- }), Effect.flatten, Effect.retry({
690
- while: (error) => error._tag === "MissingDurableObjectNamespaces",
691
- schedule: Schedule.exponential(100).pipe(Schedule.both(Schedule.recurs(20))),
692
- }));
693
- });
694
- const prepareAssets = Effect.fn(function* (assets) {
695
- if (!assets) {
696
- return undefined;
697
- }
698
- if (typeof assets === "object" && "hash" in assets) {
699
- const { hash: _, ...config } = assets;
700
- return yield* readAssets(config);
701
- }
702
- // Handle string path or AssetsProps
703
- return yield* readAssets(typeof assets === "string" ? { directory: assets } : assets);
704
- });
705
- const prepareBundle = (id, props) => (props.bundle === false
706
- ? readPrebuiltWorkerBundle({
707
- main: props.main,
708
- rules: props.rules,
709
- })
710
- : bundler.build({
711
- id,
712
- main: props.main,
713
- compatibility: getCompatibility(props),
714
- entry: props.isExternal
715
- ? {
716
- kind: "external",
717
- }
718
- : {
719
- kind: "effect",
720
- exports: props.exports ?? {},
721
- },
722
- stack: { name: stack.name, stage: stack.stage },
723
- extraOptions: props.build,
724
- })).pipe(Artifacts.cached("build"));
725
- const hashScript = (script) => Effect.sync(() => crypto.createHash("sha256").update(script).digest("hex"));
726
- const viteBuild = Effect.fn(function* (props) {
727
- const compatibility = getCompatibility(props);
728
- // Loaded lazily: `./Vite.ts` pulls in `@distilled.cloud/cloudflare-vite-plugin`
729
- // (~0.5s), which is only needed for vite-based workers at build time —
730
- // not for every Worker definition at module-load time.
731
- const Vite = yield* Effect.promise(() => import("./Vite.js"));
732
- const { assetsDirectory, serverBundle } = yield* Vite.viteBuild(props.vite?.rootDir, Object.fromEntries((yield* Effect.all(Object.entries(props.env ?? {}).map(Effect.fn(function* ([key, value]) {
733
- return [
734
- key,
735
- typeof value === "string"
736
- ? value
737
- : Redacted.isRedacted(value) &&
738
- typeof Redacted.value(value) === "string"
739
- ? Redacted.value(value)
740
- : Effect.isEffect(value)
741
- ? yield* value
742
- : undefined,
743
- ];
744
- })))).filter(([_, value]) => value !== undefined)), {
745
- compatibilityDate: compatibility.date,
746
- compatibilityFlags: compatibility.flags,
747
- });
748
- if (!assetsDirectory && !serverBundle) {
749
- return yield* Effect.die(new Error("Vite build produced neither server nor client output"));
750
- }
751
- const [assets, bundle] = yield* Effect.all([
752
- assetsDirectory
753
- ? readAssets({
754
- ...(props.assets && typeof props.assets !== "string"
755
- ? props.assets
756
- : undefined),
757
- directory: assetsDirectory,
758
- })
759
- : Effect.succeed(undefined),
760
- serverBundle
761
- ? Bundle.bundleOutputFromRolldownOutputBundle(serverBundle)
762
- : Effect.succeed(undefined),
763
- ], { concurrency: "unbounded" });
764
- return { assets, bundle };
765
- });
766
- const prepareAssetsAndBundle = (id, props, opts = {}) => Effect.gen(function* () {
767
- if (props.script !== undefined) {
768
- const [assets, bundleHash] = yield* Effect.all([
769
- opts.skipAssetsRead
770
- ? Effect.succeed(undefined)
771
- : prepareAssets(props.assets),
772
- hashScript(props.script),
773
- ], { concurrency: "unbounded" });
774
- return {
775
- assets,
776
- bundle: {
777
- files: [{ path: "main.js", content: props.script }],
778
- hash: bundleHash,
779
- },
780
- };
781
- }
782
- if (props.vite) {
783
- const [{ assets, bundle }, input] = yield* Effect.all([
784
- viteBuild(props),
785
- // hashDirectory expects `{ cwd, memo }`. The vite props
786
- // store the project root under `rootDir`, so map it
787
- // here. Without this, `cwd` falls back to
788
- // `process.cwd()` and the input hash is computed over
789
- // the wrong directory tree (often the entire monorepo
790
- // root), making it both slow and unable to detect
791
- // changes scoped to the actual Vite project.
792
- hashDirectory({
793
- cwd: props.vite.rootDir,
794
- memo: props.vite.memo,
795
- }),
796
- ], { concurrency: "unbounded" });
797
- return { assets, bundle, input };
798
- }
799
- const [assets, bundle] = yield* Effect.all([
800
- opts.skipAssetsRead
801
- ? Effect.succeed(undefined)
802
- : prepareAssets(props.assets),
803
- prepareBundle(id, props),
804
- ], { concurrency: "unbounded" });
805
- return { assets, bundle };
806
- }).pipe(Effect.map(({ assets, bundle, input }) => ({
807
- assets,
808
- bundle: {
809
- main: bundle?.files[0].path,
810
- files: bundle?.files.map((file) => new File([file.content], file.path, {
811
- type: contentTypeFromExtension(path.extname(file.path)),
812
- })),
813
- },
814
- hash: {
815
- assets: assets?.hash,
816
- bundle: bundle?.hash,
817
- input,
818
- },
819
- })));
820
- const normalizePrebuiltAssets = (assets, output) => {
821
- if (!Predicate.hasProperty(assets, "hash"))
822
- return undefined;
823
- const { directory: _, hash, ...config } = assets;
824
- return { config, hash, skip: hash === output?.hash?.assets };
825
- };
826
- const putWorker = Effect.fn(function* (id, news, bindings, olds, output, session, existingSettings) {
827
- const { accountId } = yield* yield* CloudflareEnvironment;
828
- const name = yield* createWorkerName(id, news.name);
829
- yield* Effect.logInfo(`Cloudflare Worker ${olds ? "update" : "create"}: preparing bundle for ${name}`);
830
- // If the caller handed us a precomputed asset hash that matches
831
- // what we previously stored, we can skip walking the directory
832
- // entirely and tell Cloudflare to keep the assets it already
833
- // has bound to this script. The disk read is the expensive
834
- // part; the script PUT happens either way.
835
- const prebuiltAssets = normalizePrebuiltAssets(news.assets, output);
836
- const { assets, bundle, hash: preparedHash, } = yield* prepareAssetsAndBundle(id, news, {
837
- skipAssetsRead: prebuiltAssets?.skip,
838
- });
839
- // When the caller supplied a precomputed hash (e.g. via
840
- // `Build.Command`), store *that* hash in output state so the
841
- // next diff can short-circuit by comparing it directly. The
842
- // hash that `readAssets` produces is the manifest-derived
843
- // hash, which is shaped differently from any upstream
844
- // build-input hash and will never match it on the next pass.
845
- const hash = {
846
- ...preparedHash,
847
- assets: prebuiltAssets?.hash ?? preparedHash.assets,
848
- };
849
- const metadataBindings = bindings.flatMap((b) => b.data.bindings ?? []);
850
- const expectedDurableObjectClassNames = getExpectedDurableObjectClassNames(metadataBindings, name);
851
- let metadataAssets;
852
- let keepAssets = false;
853
- if (prebuiltAssets?.skip) {
854
- // Hash matched what's already on Cloudflare: keep the
855
- // existing asset manifest and skip the upload session.
856
- yield* Effect.logInfo(`Cloudflare Worker update: assets unchanged for ${name}, keeping existing`);
857
- keepAssets = true;
858
- metadataAssets = { config: prebuiltAssets.config };
859
- metadataBindings.push({
860
- type: "assets",
861
- name: "ASSETS",
862
- });
863
- }
864
- else if (assets) {
865
- // We had to read the directory. Even after the read, the
866
- // computed hash may match what's already deployed (e.g.
867
- // legacy `string` / `AssetsProps` shapes that don't carry a
868
- // precomputed hash, or a precomputed hash that disagreed with
869
- // disk). In that case still keep the existing manifest and
870
- // skip the upload session — Cloudflare's content-addressed
871
- // session would no-op on every byte anyway.
872
- if (assets.hash === prebuiltAssets?.hash) {
873
- yield* Effect.logInfo(`Cloudflare Worker update: assets unchanged for ${name}, keeping existing`);
874
- keepAssets = true;
875
- metadataAssets = { config: assets.config };
876
- }
877
- else {
878
- yield* Effect.logInfo(`Cloudflare Worker ${olds ? "update" : "create"}: uploading assets for ${name}`);
879
- const { jwt } = yield* uploadAssets(accountId, name, assets, session);
880
- metadataAssets = {
881
- jwt,
882
- config: assets.config,
883
- };
884
- }
885
- metadataBindings.push({
886
- type: "assets",
887
- name: "ASSETS",
888
- });
889
- }
890
- metadataBindings.push({
891
- type: "plain_text",
892
- name: "ALCHEMY_PHASE",
893
- text: "runtime",
894
- }, {
895
- type: "plain_text",
896
- name: "ALCHEMY_STACK_NAME",
897
- text: stack.name,
898
- }, {
899
- type: "plain_text",
900
- name: "ALCHEMY_STAGE",
901
- text: stack.stage,
902
- }, {
903
- type: "plain_text",
904
- name: "ALCHEMY_CLOUDFLARE_ACCOUNT_ID",
905
- text: accountId,
906
- });
907
- // Add environment variables as metadata bindings
908
- if (news.env) {
909
- for (const [key, value] of Object.entries(news.env)) {
910
- if (value === undefined)
911
- continue;
912
- if (metadataBindings.some((b) => b.name === key))
913
- continue;
914
- if (Redacted.isRedacted(value)) {
915
- const unredacted = Redacted.value(value);
916
- metadataBindings.push({
917
- type: "secret_text",
918
- name: key,
919
- text: typeof unredacted === "string"
920
- ? unredacted
921
- : JSON.stringify(unredacted),
922
- });
923
- }
924
- else if (typeof value === "string") {
925
- metadataBindings.push({
926
- type: "plain_text",
927
- name: key,
928
- text: value,
929
- });
930
- }
931
- else {
932
- metadataBindings.push({
933
- type: "json",
934
- name: key,
935
- json: value,
936
- });
937
- }
938
- }
939
- }
940
- yield* Effect.logInfo(`Cloudflare Worker ${olds ? "update" : "create"}: uploading script for ${name}`);
941
- const size = bundle.files
942
- ?.filter((file) => !file.name.endsWith(".map"))
943
- .reduce((acc, file) => acc + file.size, 0) ?? 0;
944
- const sizeKB = size / 1024;
945
- const sizeMB = sizeKB / 1024;
946
- const bundleSize = `${sizeKB > 1024 ? `${sizeMB.toFixed(2)} MB` : `${sizeKB.toFixed(2)} KB`}`;
947
- yield* session.note(`Uploading worker (${bundleSize}) ...`);
948
- // Read existing worker settings for migration tracking
949
- const oldSettings = existingSettings ??
950
- (yield* workers
951
- .getScriptScriptAndVersionSetting({
952
- accountId,
953
- scriptName: name,
954
- })
955
- .pipe(Effect.map((s) => s), Effect.catch(() => Effect.succeed(undefined))));
956
- const oldTags = Array.from(new Set(oldSettings?.tags ?? []));
957
- const oldBindings = oldSettings?.bindings ?? [];
958
- // Parse alchemy:do:{logicalId}:{className} tags
959
- const oldDoClassNameByLogicalId = getDurableObjectTagMap(oldTags);
960
- const currentDoBindings = getDurableObjectBindings(bindings, name);
961
- const currentDoClassNameByLogicalId = Object.fromEntries(currentDoBindings.map((binding) => [
962
- binding.logicalId,
963
- binding.className,
964
- ]));
965
- // Parse alchemy:migration-tag:{version}
966
- const oldMigrationTag = oldTags.flatMap((tag) => tag.startsWith("alchemy:migration-tag:")
967
- ? [tag.slice("alchemy:migration-tag:".length)]
968
- : [])[0];
969
- const newMigrationTag = bumpMigrationTagVersion(oldMigrationTag);
970
- // Compute deleted classes
971
- const deletedClasses = [];
972
- for (const [logicalId, className] of Object.entries(oldDoClassNameByLogicalId)) {
973
- if (!currentDoClassNameByLogicalId[logicalId]) {
974
- deletedClasses.push(className);
975
- }
976
- }
977
- // Backward compatibility for old workers that have DO bindings but no
978
- // alchemy:do tags yet. Cross-script bindings (`scriptName` set to
979
- // anything other than this worker) are NEVER candidates for
980
- // delete-class migrations — the class lives on the foreign script
981
- // and we don't own its lifecycle.
982
- if (Object.keys(oldDoClassNameByLogicalId).length === 0) {
983
- for (const oldBinding of oldBindings) {
984
- const ownedLocally = !("scriptName" in oldBinding) || oldBinding.scriptName === name;
985
- if (oldBinding.type === "durable_object_namespace" &&
986
- "className" in oldBinding &&
987
- oldBinding.className &&
988
- ownedLocally &&
989
- !currentDoBindings.some((binding) => binding.bindingName === oldBinding.name)) {
990
- deletedClasses.push(oldBinding.className);
991
- }
992
- }
993
- }
994
- // Collect container-backed class names so we can send container metadata
995
- const containerClassNames = new Set(bindings.flatMap((b) => (b.data.containers ?? []).map((c) => c.className)));
996
- // Compute new and renamed classes
997
- const newClasses = [];
998
- const newSqliteClasses = [];
999
- const renamedClasses = [];
1000
- for (const binding of currentDoBindings) {
1001
- const previousClassName = oldDoClassNameByLogicalId[binding.logicalId];
1002
- if (!previousClassName) {
1003
- // Default all new Durable Object classes to SQLite. Cloudflare
1004
- // recommends SQLite for new namespaces, and container-backed
1005
- // Durable Objects require it.
1006
- newSqliteClasses.push(binding.className);
1007
- }
1008
- else if (previousClassName !== binding.className) {
1009
- renamedClasses.push({
1010
- from: previousClassName,
1011
- to: binding.className,
1012
- });
1013
- }
1014
- }
1015
- yield* Effect.logInfo(`Cloudflare Worker put: durable object reconciliation ${JSON.stringify({
1016
- oldDoClassNameByLogicalId,
1017
- currentDoClassNameByLogicalId,
1018
- deletedClasses,
1019
- renamedClasses,
1020
- newSqliteClasses,
1021
- })}`);
1022
- // Build alchemy:do:{logicalId}:{className} tags for each DO binding
1023
- const alchemyDoTags = [];
1024
- for (const binding of currentDoBindings) {
1025
- alchemyDoTags.push(`alchemy:do:${binding.logicalId}:${binding.className}`);
1026
- }
1027
- const metadataTags = Array.from(new Set([
1028
- ...createAlchemyWorkerTags(id),
1029
- ...alchemyDoTags,
1030
- ...(newMigrationTag
1031
- ? [`alchemy:migration-tag:${newMigrationTag}`]
1032
- : []),
1033
- ...(news.tags ?? []),
1034
- ]));
1035
- const migrations = {
1036
- oldTag: oldMigrationTag,
1037
- newTag: newMigrationTag,
1038
- newClasses,
1039
- deletedClasses,
1040
- renamedClasses,
1041
- transferredClasses: [],
1042
- newSqliteClasses,
1043
- };
1044
- const metadataContainers = [...containerClassNames].map((className) => ({
1045
- className,
1046
- }));
1047
- const compatibility = getCompatibility(news);
1048
- const metadata = {
1049
- assets: metadataAssets,
1050
- bindings: metadataBindings,
1051
- bodyPart: undefined,
1052
- compatibilityDate: compatibility.date,
1053
- compatibilityFlags: compatibility.flags,
1054
- containers: metadataContainers.length > 0 ? metadataContainers : undefined,
1055
- keepAssets,
1056
- keepBindings: undefined,
1057
- limits: news.limits,
1058
- logpush: news.logpush,
1059
- mainModule: bundle.main,
1060
- migrations,
1061
- observability: news.observability ?? {
1062
- enabled: true,
1063
- logs: {
1064
- enabled: true,
1065
- invocationLogs: true,
1066
- },
1067
- },
1068
- placement: news.placement,
1069
- tags: metadataTags,
1070
- tailConsumers: undefined,
1071
- usageModel: undefined,
1072
- };
1073
- const worker = yield* workers
1074
- .putScript({
1075
- accountId,
1076
- scriptName: name,
1077
- metadata,
1078
- files: bundle.files,
1079
- })
1080
- .pipe(Effect.catch((err) => {
1081
- // When adopting a Worker managed by Wrangler (or after a previous
1082
- // deploy with mismatched migrations), the old_tag precondition
1083
- // fails. The only way to discover the actual tag is through the
1084
- // error message — getScriptSettings is meant to return it but
1085
- // doesn't at runtime.
1086
- const msg = String(typeof err === "object" && err !== null && "message" in err
1087
- ? err.message
1088
- : err);
1089
- const expectedTag = msg.match(/when expected tag is ['"]?([^'"]+)['"]?/)?.[1];
1090
- if (expectedTag) {
1091
- return workers.putScript({
1092
- accountId,
1093
- scriptName: name,
1094
- metadata: {
1095
- ...metadata,
1096
- migrations: {
1097
- ...migrations,
1098
- oldTag: expectedTag,
1099
- newTag: bumpMigrationTagVersion(expectedTag),
1100
- },
1101
- },
1102
- files: bundle.files,
1103
- });
1104
- }
1105
- return Effect.fail(err);
1106
- }));
1107
- const { settings, durableObjectNamespaces } = yield* getWorkerSettingsWithDurableObjects(name, expectedDurableObjectClassNames);
1108
- // Reconcile workers.dev subdomain against observed cloud state.
1109
- // We can't diff `news.url` against `olds.url` here because both
1110
- // default to `undefined` (meaning "enable") — that comparison
1111
- // would skip the API call on every deploy where the user never
1112
- // explicitly set `url`, leaving the subdomain in whatever state
1113
- // Cloudflare currently has it (disabled by default, or whatever
1114
- // a previous failed/external action left it as).
1115
- const desiredSubdomainEnabled = news.url !== false;
1116
- const observedSubdomain = yield* workers
1117
- .getScriptSubdomain({
1118
- accountId,
1119
- scriptName: name,
1120
- })
1121
- .pipe(Effect.orElseSucceed(() => ({
1122
- enabled: false,
1123
- previewsEnabled: false,
1124
- })));
1125
- if (desiredSubdomainEnabled !== observedSubdomain.enabled ||
1126
- desiredSubdomainEnabled !== observedSubdomain.previewsEnabled) {
1127
- yield* session.note(`${desiredSubdomainEnabled ? "Enabling" : "Disabling"} workers.dev subdomain...`);
1128
- // Cloudflare's script registry is eventually consistent — for the
1129
- // first few hundred ms after `putScript` returns, POST /subdomain
1130
- // can still get back `WorkerNotFound` (a generic "unknown error"
1131
- // body), or a bare 500 surfaced as `InternalServerError` /
1132
- // `UnknownCloudflareError` (code 10013). Bigger uploads race harder.
1133
- // Retry the subdomain toggle on those transient tags with a short
1134
- // exponential backoff; same pattern we use elsewhere in this
1135
- // provider for DO-namespace propagation and for `putScript` itself.
1136
- yield* setWorkerSubdomain(name, desiredSubdomainEnabled).pipe(Effect.retry({
1137
- while: (error) => error._tag === "WorkerNotFound" ||
1138
- error._tag === "InternalServerError" ||
1139
- error._tag === "UnknownCloudflareError",
1140
- schedule: Schedule.exponential(200).pipe(Schedule.both(Schedule.recurs(15))),
1141
- }));
1142
- }
1143
- const desiredDomains = normalizeDomains(news.domain);
1144
- const previousDomains = output?.domains ?? [];
1145
- if (desiredDomains.length > 0 || previousDomains.length > 0) {
1146
- yield* session.note(`Reconciling custom domains (${desiredDomains.length}) ...`);
1147
- }
1148
- const reconciled = yield* reconcileDomains(name, desiredDomains);
1149
- const workersDevUrl = news.url !== false
1150
- ? `https://${name}.${yield* getAccountSubdomain(accountId)}.workers.dev`
1151
- : undefined;
1152
- const domains = [
1153
- ...reconciled.map((d) => `https://${d.hostname}`),
1154
- ...(workersDevUrl ? [workersDevUrl] : []),
1155
- ];
1156
- const crons = yield* reconcileCrons(name, normalizeCrons([...getCronBindings(bindings), ...(news.crons ?? [])]), output?.crons ?? [], session);
1157
- return {
1158
- workerId: worker.id ?? name,
1159
- workerName: name,
1160
- logpush: worker.logpush ?? undefined,
1161
- url: domains[0],
1162
- tags: settings.tags ?? metadata.tags,
1163
- durableObjectNamespaces,
1164
- accountId,
1165
- domains,
1166
- crons,
1167
- hash,
1168
- };
1169
- });
1170
- const hasChanged = Effect.fn(function* (id, props, output) {
1171
- if (props.script !== undefined) {
1172
- const scriptHash = yield* hashScript(props.script);
1173
- if (scriptHash !== output.hash?.bundle) {
1174
- return true;
1175
- }
1176
- if (!props.assets) {
1177
- return false;
1178
- }
1179
- const assetsHash = Predicate.hasProperty(props.assets, "hash")
1180
- ? props.assets.hash
1181
- : undefined;
1182
- if (assetsHash === undefined) {
1183
- return true;
1184
- }
1185
- return assetsHash !== output.hash?.assets;
1186
- }
1187
- if (props.vite) {
1188
- const input = yield* hashDirectory({
1189
- cwd: props.vite.rootDir,
1190
- memo: props.vite.memo,
1191
- });
1192
- return input !== output.hash?.input;
1193
- }
1194
- const bundleHash = yield* prepareBundle(id, props).pipe(Effect.map((b) => b.hash));
1195
- if (bundleHash !== output.hash?.bundle) {
1196
- return true;
1197
- }
1198
- if (!props.assets) {
1199
- return false;
1200
- }
1201
- // We deliberately don't read the assets directory during diff.
1202
- // For `AssetsWithHash` (the documented contract) the upstream
1203
- // `Build.Command` already gave us an authoritative hash — we
1204
- // just compare strings. Reading the directory here would
1205
- // (a) hash the same tree twice per apply (`putWorker` reads
1206
- // again when an upload is actually required), and (b) crash
1207
- // when the prior state was written on a different machine
1208
- // and `path` doesn't exist locally — blocking any local
1209
- // reapply even though the precomputed hash is right there
1210
- // in props.
1211
- //
1212
- // For the legacy `string` / `AssetsProps` shapes there's no
1213
- // hash in props to compare against, so we conservatively
1214
- // assume the assets changed; `putWorker` will read once,
1215
- // hash, and use `keepAssets` if it turns out nothing actually
1216
- // changed.
1217
- const assetsHash = Predicate.hasProperty(props.assets, "hash")
1218
- ? props.assets.hash
1219
- : undefined;
1220
- if (assetsHash === undefined) {
1221
- return true;
1222
- }
1223
- return assetsHash !== output.hash?.assets;
1224
- });
1225
- return Worker.Provider.of({
1226
- stables: ["workerId", "workerName"],
1227
- list: () => Effect.gen(function* () {
1228
- const { accountId } = yield* yield* CloudflareEnvironment;
1229
- // Account-scoped enumeration of every Worker script. The
1230
- // per-script `read` makes several extra calls (subdomain,
1231
- // settings, domains, schedule) to fully hydrate
1232
- // url/durableObjectNamespaces/domains/crons. Doing that for
1233
- // every script on the account is both expensive (4 calls × N)
1234
- // and fragile — a single script with a binding shape the
1235
- // settings schema doesn't know about would break the whole
1236
- // listing (the same reason `read` deliberately avoids
1237
- // `listScripts`). For `list()` we hydrate the core identifying
1238
- // and settings fields that come straight from the script
1239
- // metadata and leave the binding-derived fields at the same
1240
- // defaults `read` returns when those sub-resources are absent
1241
- // (`url: undefined`, `durableObjectNamespaces: {}`,
1242
- // `domains: []`, `crons: []`). `accountId` + `workerName` are
1243
- // sufficient for `delete`.
1244
- return yield* workers.listScripts.pages({ accountId }).pipe(Stream.runCollect, Effect.map((chunk) => Array.from(chunk).flatMap((page) =>
1245
- // Annotate the element type as the full `Attributes` shape
1246
- // (incl. the optional `hash`) so it matches `read` exactly.
1247
- // `list()` is an inference source for the provider's resource
1248
- // type; a narrower element (e.g. via `satisfies`, which omits
1249
- // `hash`) would derail `Res` inference and cascade every
1250
- // lifecycle method's requirement channel to `never`.
1251
- (page.result ?? []).flatMap((script) => script.id
1252
- ? [
1253
- {
1254
- accountId,
1255
- workerId: script.id,
1256
- workerName: script.id,
1257
- logpush: script.logpush ?? undefined,
1258
- url: undefined,
1259
- tags: script.tags ?? undefined,
1260
- durableObjectNamespaces: {},
1261
- domains: [],
1262
- crons: [],
1263
- },
1264
- ]
1265
- : []))));
1266
- }),
1267
- diff: Effect.fn(function* ({ id, news, olds, output, newBindings }) {
1268
- const { accountId } = yield* yield* CloudflareEnvironment;
1269
- if (!isResolved(news))
1270
- return undefined;
1271
- if ((output?.accountId ?? accountId) !== accountId) {
1272
- return { action: "replace" };
1273
- }
1274
- const workerName = yield* createWorkerName(id, news.name);
1275
- const oldWorkerName = output?.workerName
1276
- ? output.workerName
1277
- : yield* createWorkerName(id, olds?.name);
1278
- if (workerName !== oldWorkerName) {
1279
- return { action: "replace" };
1280
- }
1281
- if (!output) {
1282
- return;
1283
- }
1284
- const newDomains = normalizeDomains(news.domain)
1285
- .map((h) => `https://${h}`)
1286
- .sort();
1287
- const oldDomains = (output?.domains ?? [])
1288
- .filter((u) => !u.endsWith(".workers.dev"))
1289
- .sort();
1290
- const domainsChanged = newDomains.length !== oldDomains.length ||
1291
- newDomains.some((d, i) => d !== oldDomains[i]);
1292
- const newCrons = normalizeCrons([
1293
- ...(Array.isArray(newBindings)
1294
- ? getCronBindings(newBindings)
1295
- : []),
1296
- ...(news.crons ?? []),
1297
- ]).sort();
1298
- const oldCrons = [...(output?.crons ?? [])].sort();
1299
- const cronsChanged = newCrons.length !== oldCrons.length ||
1300
- newCrons.some((cron, index) => cron !== oldCrons[index]);
1301
- // `url` is `domains[0]`: the first custom domain in user order if
1302
- // any, otherwise the workers.dev URL (derived from the stable
1303
- // worker name + account subdomain). It's stable across this update
1304
- // exactly when that first domain is unchanged — which is NOT the
1305
- // same as "the domain set is unchanged": adding a second custom
1306
- // domain leaves `url` put, while reordering changes it even though
1307
- // the set is equal. Compute the resulting `url` and carry it
1308
- // forward as a stable only when it matches the old one, so
1309
- // downstream resources that reference `worker.url` (e.g. a GitHub
1310
- // Webhook delivery URL built via `Output.interpolate`) resolve it
1311
- // to a concrete value during planning instead of an unresolved
1312
- // Output — otherwise every worker update spuriously re-updates them.
1313
- const newCustomDomains = normalizeDomains(news.domain);
1314
- const newUrl = newCustomDomains.length > 0
1315
- ? `https://${newCustomDomains[0]}`
1316
- : news.url !== false
1317
- ? (output.domains ?? []).find((u) => u.endsWith(".workers.dev"))
1318
- : undefined;
1319
- const urlStable = newUrl !== undefined && newUrl === output.url;
1320
- // `durableObjectNamespaces` maps each hosted DO class name to the
1321
- // namespace id Cloudflare assigned it. Those ids are permanent for
1322
- // the lifetime of a (worker, class) pair, so the map only changes
1323
- // when a class is added or removed — never on a plain code/config
1324
- // update. Carry it forward as a stable whenever the set of local DO
1325
- // class names is unchanged, for the same reason as `url` above:
1326
- // downstream resources that bind a DO namespace via
1327
- // `worker.durableObjectNamespaces[name]` (e.g. a Container attached
1328
- // to a DO) must resolve it to a concrete value during planning.
1329
- // Otherwise the binding holds an unresolved Output, which
1330
- // `diffBindings` treats as "changed", spuriously re-updating the
1331
- // bound resource on every deploy. Class names are structural (not the
1332
- // namespace id), so this comparison holds even when `newBindings` is
1333
- // otherwise unresolved.
1334
- const newDoClassNames = Array.isArray(newBindings)
1335
- ? getExpectedDurableObjectClassNames(newBindings.flatMap((b) => b.data.bindings ?? []), workerName).sort()
1336
- : [];
1337
- const oldDoClassNames = Object.keys(output.durableObjectNamespaces ?? {}).sort();
1338
- const doNamespacesStable = oldWorkerName === workerName &&
1339
- newDoClassNames.length === oldDoClassNames.length &&
1340
- newDoClassNames.every((name, i) => name === oldDoClassNames[i]);
1341
- if (domainsChanged ||
1342
- cronsChanged ||
1343
- (yield* hasChanged(id, news, output))) {
1344
- // `workerId` is always stable across an update; seed it so it
1345
- // survives now that `diff.stables` overrides `provider.stables`
1346
- // rather than being merged with it.
1347
- const stables = ["workerId"];
1348
- if (oldWorkerName === workerName) {
1349
- stables.push("workerName");
1350
- }
1351
- if (urlStable) {
1352
- stables.push("url");
1353
- }
1354
- if (doNamespacesStable) {
1355
- stables.push("durableObjectNamespaces");
1356
- }
1357
- return {
1358
- action: "update",
1359
- stables: stables.length > 0 ? stables : undefined,
1360
- };
1361
- }
1362
- }),
1363
- precreate: Effect.fn(function* ({ id, news, session }) {
1364
- const { accountId } = yield* yield* CloudflareEnvironment;
1365
- const name = yield* createWorkerName(id, news.name);
1366
- const exportMap = news.exports ?? {};
1367
- const durableObjects = Object.keys(exportMap)
1368
- .filter((logicalId) => isDurableObjectExport(exportMap[logicalId]))
1369
- .map((logicalId) => ({
1370
- logicalId,
1371
- className: logicalId,
1372
- }));
1373
- const doClasses = durableObjects.map((binding) => binding.className);
1374
- const containers = doClasses.map((className) => ({ className }));
1375
- const alchemyDoTags = durableObjects.map(({ logicalId, className }) => `alchemy:do:${logicalId}:${className}`);
1376
- const tags = Array.from(new Set([
1377
- ...createAlchemyWorkerTags(id),
1378
- ...alchemyDoTags,
1379
- ...(news.tags ?? []),
1380
- ]));
1381
- yield* Effect.logInfo(`Cloudflare Worker precreate: starting ${name}`);
1382
- yield* Effect.logInfo(`Cloudflare Worker precreate: durable objects ${JSON.stringify(durableObjects)}`);
1383
- const existingSettings = yield* workers
1384
- .getScriptScriptAndVersionSetting({
1385
- accountId,
1386
- scriptName: name,
1387
- })
1388
- .pipe(Effect.catchTag("WorkerNotFound", () => Effect.succeed(undefined)));
1389
- let durableObjectNamespaces = getDurableObjectNamespaces(existingSettings?.bindings);
1390
- if (existingSettings) {
1391
- // Engine has already cleared this resource for write via
1392
- // `read` + AdoptPolicy. Either we own it (matching tags) or
1393
- // the user opted in to a takeover (`--adopt` / `adopt(true)`).
1394
- yield* Effect.logInfo(`Cloudflare Worker precreate: reusing existing ${name}`);
1395
- }
1396
- else {
1397
- yield* session.note("Pre-creating worker...");
1398
- const mainModule = "main.js";
1399
- const placeholderScript = `${doClasses.length > 0 ? 'import { DurableObject } from "cloudflare:workers";\n\n' : ""}export default { fetch() { return new Response("Alchemy worker is being deployed...") } };\n${doClasses
1400
- .map((className) => `export class ${className} extends DurableObject {}`)
1401
- .join("\n")}`;
1402
- yield* workers
1403
- .putScript({
1404
- accountId,
1405
- scriptName: name,
1406
- metadata: {
1407
- mainModule,
1408
- bindings: doClasses.length > 0
1409
- ? doClasses.map((className) => ({
1410
- type: "durable_object_namespace",
1411
- name: className,
1412
- className,
1413
- }))
1414
- : undefined,
1415
- ...getCompatibility(news),
1416
- containers,
1417
- migrations: doClasses.length > 0
1418
- ? {
1419
- oldTag: undefined,
1420
- newTag: undefined,
1421
- newClasses: [],
1422
- deletedClasses: [],
1423
- renamedClasses: [],
1424
- transferredClasses: [],
1425
- newSqliteClasses: doClasses,
1426
- }
1427
- : undefined,
1428
- observability: news.observability ?? {
1429
- enabled: true,
1430
- logs: {
1431
- enabled: true,
1432
- invocationLogs: true,
1433
- },
1434
- },
1435
- tags,
1436
- },
1437
- files: [
1438
- new File([placeholderScript], mainModule, {
1439
- type: "application/javascript+module",
1440
- }),
1441
- ],
1442
- })
1443
- .pipe(
1444
- // Cloudflare's PUT /workers/scripts/{name} intermittently
1445
- // returns code 10002 / "An unknown error has occurred" on the
1446
- // first put for a fresh worker name. Surfaced as the shared
1447
- // `InternalServerError` upstream (alchemy-run/distilled#290).
1448
- // Also match `UnknownCloudflareError` for older
1449
- // @distilled.cloud/cloudflare versions that haven't picked
1450
- // up the patch yet.
1451
- Effect.retry({
1452
- while: (e) => e._tag === "InternalServerError" ||
1453
- e._tag === "UnknownCloudflareError",
1454
- schedule: Schedule.exponential(1000).pipe(Schedule.both(Schedule.recurs(5))),
1455
- }));
1456
- if (doClasses.length > 0) {
1457
- ({ durableObjectNamespaces } =
1458
- yield* getWorkerSettingsWithDurableObjects(name, doClasses));
1459
- }
1460
- }
1461
- if (existingSettings && doClasses.length > 0) {
1462
- ({ durableObjectNamespaces } =
1463
- yield* getWorkerSettingsWithDurableObjects(name, doClasses));
1464
- }
1465
- return {
1466
- workerId: name,
1467
- workerName: name,
1468
- logpush: existingSettings?.logpush ?? undefined,
1469
- url: undefined,
1470
- tags: existingSettings?.tags ?? tags,
1471
- durableObjectNamespaces,
1472
- accountId,
1473
- domains: [],
1474
- crons: [],
1475
- };
1476
- }),
1477
- read: Effect.fn(function* ({ id, output, olds }) {
1478
- const { accountId } = yield* yield* CloudflareEnvironment;
1479
- const workerName = output?.workerName ?? (yield* createWorkerName(id, olds?.name));
1480
- yield* Effect.logInfo(`Cloudflare Worker read: checking ${workerName}`);
1481
- // We deliberately don't call `listScripts({ accountId })` here:
1482
- // it pulls every Worker on the account back through a strict
1483
- // schema decode, and a single existing Worker the schema doesn't
1484
- // know about (e.g. `placement_mode: "targeted"`) breaks the
1485
- // entire read. `getScriptSettings` already fails with
1486
- // `WorkerNotFound` if the script doesn't exist, which the
1487
- // surrounding `Effect.catchTag` turns into `undefined` — that's
1488
- // all the existence check we need.
1489
- const [subdomain, settings, domainsList] = yield* Effect.all([
1490
- workers.getScriptSubdomain({
1491
- accountId,
1492
- scriptName: workerName,
1493
- }),
1494
- workers.getScriptScriptAndVersionSetting({
1495
- accountId,
1496
- scriptName: workerName,
1497
- }),
1498
- workers
1499
- .listDomains({
1500
- accountId,
1501
- service: workerName,
1502
- })
1503
- .pipe(Effect.map((r) => r.result ?? [])),
1504
- ]);
1505
- // Preserve the order the user provided in `olds.domain`. The
1506
- // Cloudflare API returns domains in non-deterministic order,
1507
- // which would cause downstream `worker.domains[0]` reads to flip
1508
- // between deploys. Drift (domains we don't know about) is
1509
- // appended after the user-ordered ones.
1510
- const userOrder = normalizeDomains(olds?.domain);
1511
- const orderedHostnames = [
1512
- ...userOrder.flatMap((h) => domainsList.find((d) => d.hostname === h)?.hostname ?? []),
1513
- ...domainsList.flatMap((d) => d.hostname && !userOrder.includes(d.hostname)
1514
- ? [d.hostname]
1515
- : []),
1516
- ];
1517
- const workersDevUrl = subdomain.enabled
1518
- ? `https://${workerName}.${yield* getAccountSubdomain(accountId)}.workers.dev`
1519
- : undefined;
1520
- const domains = [
1521
- ...orderedHostnames.map((h) => `https://${h}`),
1522
- ...(workersDevUrl ? [workersDevUrl] : []),
1523
- ];
1524
- const crons = yield* getWorkerCrons(workerName);
1525
- yield* Effect.logInfo(`Cloudflare Worker read: found ${workerName}`);
1526
- const attrs = {
1527
- accountId,
1528
- workerId: workerName,
1529
- workerName,
1530
- logpush: settings.logpush ?? undefined,
1531
- url: domains[0],
1532
- tags: settings.tags ?? undefined,
1533
- durableObjectNamespaces: getDurableObjectNamespaces(settings.bindings),
1534
- domains,
1535
- crons,
1536
- };
1537
- // Centralized ownership decision: the engine routes `read`'s
1538
- // return value based on `AdoptPolicy`. We hand it the attrs
1539
- // either as-is (owned: alchemy tags identify this stack/stage/id,
1540
- // safe to silently adopt even without `--adopt`) or branded with
1541
- // `Unowned` (caller must opt in via `--adopt` or the engine
1542
- // raises `OwnedBySomeoneElse`).
1543
- return hasAlchemyWorkerTags(id, settings.tags ?? [])
1544
- ? attrs
1545
- : Unowned(attrs);
1546
- }, (effect) => effect.pipe(Effect.catchTag("WorkerNotFound", () => Effect.succeed(undefined)))),
1547
- reconcile: Effect.fn(function* ({ id, news, olds, bindings, output, session, }) {
1548
- const { accountId } = yield* yield* CloudflareEnvironment;
1549
- const name = output?.workerName ?? (yield* createWorkerName(id, news.name));
1550
- const durableObjects = getDurableObjectBindings(bindings, name).map(({ logicalId, className }) => ({
1551
- logicalId,
1552
- className,
1553
- }));
1554
- yield* Effect.logInfo(`Cloudflare Worker reconcile: starting ${name}`);
1555
- yield* Effect.logInfo(`Cloudflare Worker reconcile: durable objects ${JSON.stringify(durableObjects)}`);
1556
- // Observe — fetch the script's current settings if it already exists.
1557
- // `putWorker` is a true upsert against the Cloudflare API; the
1558
- // existing settings inform asset/migration decisions and let the
1559
- // reconciler converge whether the worker is brand-new, adopted, or
1560
- // an in-place update.
1561
- const existingSettings = yield* workers
1562
- .getScriptScriptAndVersionSetting({
1563
- accountId,
1564
- scriptName: name,
1565
- })
1566
- .pipe(Effect.catchTag("WorkerNotFound", () => Effect.succeed(undefined)));
1567
- yield* Effect.logInfo(`Cloudflare Worker reconcile: existing durable object tags ${JSON.stringify((existingSettings?.tags ?? []).filter((tag) => tag.startsWith("alchemy:do:")))}`);
1568
- yield* Effect.logInfo(`Cloudflare Worker reconcile: previous durable object tags ${JSON.stringify((output?.tags ?? []).filter((tag) => tag.startsWith("alchemy:do:")))}`);
1569
- return yield* putWorker(id, news, bindings, olds, output, session, existingSettings);
1570
- }),
1571
- delete: Effect.fn(function* ({ output }) {
1572
- yield* Effect.logInfo(`Cloudflare Worker delete: deleting ${output.workerName}`);
1573
- // Look up live domain IDs rather than trusting persisted state.
1574
- // We no longer track `{ id, zoneId }` on the output; fetching
1575
- // straight from Cloudflare handles both the normal case and
1576
- // adopted workers whose domains we never recorded.
1577
- const liveDomains = yield* workers
1578
- .listDomains({
1579
- accountId: output.accountId,
1580
- service: output.workerName,
1581
- })
1582
- .pipe(Effect.map((r) => r.result ?? []), Effect.catch(() => Effect.succeed([])));
1583
- if (liveDomains.length) {
1584
- yield* Effect.all(liveDomains.flatMap((d) => d.id
1585
- ? [
1586
- workers
1587
- .deleteDomain({
1588
- accountId: output.accountId,
1589
- domainId: d.id,
1590
- })
1591
- .pipe(Effect.catchTag("DomainNotFound", () => Effect.void)),
1592
- ]
1593
- : []), { concurrency: "unbounded" });
1594
- }
1595
- yield* workers
1596
- .deleteScript({
1597
- accountId: output.accountId,
1598
- scriptName: output.workerName,
1599
- // Force teardown of queue consumers, durable object classes, and
1600
- // service bindings hanging off this worker. Without `force`, those
1601
- // conditions raise QueueConsumerConflict / ServiceBindingConflict
1602
- // and leave the script in CF. Alchemy is the source of truth for
1603
- // the worker, so we want a hard delete on teardown.
1604
- force: true,
1605
- })
1606
- .pipe(Effect.catchTag("WorkerNotFound", () => Effect.void));
1607
- }),
1608
- tail: ({ output }) => telemetry.tailScript({
1609
- accountId: output.accountId,
1610
- scriptName: output.workerName,
1611
- }),
1612
- logs: ({ output, options }) => telemetry.queryLogs({
1613
- accountId: output.accountId,
1614
- filters: [
1615
- {
1616
- key: "$workers.scriptName",
1617
- operation: "eq",
1618
- type: "string",
1619
- value: output.workerName,
1620
- },
1621
- ],
1622
- options,
1623
- }),
1624
- });
1625
- }));
1626
- const contentTypeFromExtension = (extension) => {
1627
- switch (extension) {
1628
- case ".wasm":
1629
- return "application/wasm";
1630
- case ".txt":
1631
- case ".html":
1632
- case ".sql":
1633
- case ".custom":
1634
- return "text/plain";
1635
- case ".bin":
1636
- return "application/octet-stream";
1637
- case ".mjs":
1638
- case ".js":
1639
- return "application/javascript+module";
1640
- case ".cjs":
1641
- return "application/javascript";
1642
- case ".map":
1643
- return "application/source-map";
1644
- default:
1645
- return "application/octet-stream";
1646
- }
1647
- };
1648
- function bumpMigrationTagVersion(oldTag) {
1649
- if (!oldTag)
1650
- return undefined;
1651
- const version = oldTag.match(/^(alchemy:)?v(\d+)$/)?.[2];
1652
- if (!version)
1653
- return "alchemy:v1";
1654
- return `alchemy:v${parseInt(version, 10) + 1}`;
1655
- }
1656
- function getDurableObjectBindings(bindings, workerName) {
1657
- // Resource authors (and the `make`/`yield* Tag`/plan-vs-apply machinery)
1658
- // can register the same DO binding multiple times under the same logical
1659
- // id — `binding()` is a plain `worker.bind` and intentionally has no
1660
- // dedup. Collapse duplicates here so each `(logicalId, bindingName,
1661
- // className)` tuple appears at most once. We also exclude cross-script
1662
- // references: a `scriptName` pointing to *another* worker means this
1663
- // worker just references a foreign class — ship the binding to
1664
- // Cloudflare, but don't drive class migrations for it.
1665
- const seen = new Set();
1666
- return bindings.flatMap((binding) => (binding.data.bindings ?? []).flatMap((item) => {
1667
- if (item.type !== "durable_object_namespace" ||
1668
- !("className" in item) ||
1669
- !item.className) {
1670
- return [];
1671
- }
1672
- if (item.scriptName !== undefined && item.scriptName !== workerName) {
1673
- return [];
1674
- }
1675
- const dedupKey = `${binding.sid}::${item.name}::${item.className}`;
1676
- if (seen.has(dedupKey))
1677
- return [];
1678
- seen.add(dedupKey);
1679
- return [
1680
- {
1681
- logicalId: binding.sid,
1682
- bindingName: item.name,
1683
- className: item.className,
1684
- },
1685
- ];
1686
- }));
1687
- }
1688
- function getDurableObjectTagMap(tags) {
1689
- return Object.fromEntries(tags.flatMap((tag) => {
1690
- if (!tag.startsWith("alchemy:do:")) {
1691
- return [];
1692
- }
1693
- const parts = tag.split(":");
1694
- const logicalId = parts[2];
1695
- const className = parts.slice(3).join(":");
1696
- return logicalId && className ? [[logicalId, className]] : [];
1697
- }));
1698
- }
1699
424
  //# sourceMappingURL=Worker.js.map