alchemy 2.0.0-beta.64 → 2.0.0-beta.66

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 (1047) hide show
  1. package/bin/exec.js +433 -181
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
  4. package/lib/AWS/ApiGateway/common.js +8 -1
  5. package/lib/AWS/ApiGateway/common.js.map +1 -1
  6. package/lib/AWS/Bedrock/LanguageModel.d.ts +208 -0
  7. package/lib/AWS/Bedrock/LanguageModel.d.ts.map +1 -0
  8. package/lib/AWS/Bedrock/LanguageModel.js +508 -0
  9. package/lib/AWS/Bedrock/LanguageModel.js.map +1 -0
  10. package/lib/AWS/Bedrock/LanguageModelHttp.d.ts +10 -0
  11. package/lib/AWS/Bedrock/LanguageModelHttp.d.ts.map +1 -0
  12. package/lib/AWS/Bedrock/LanguageModelHttp.js +26 -0
  13. package/lib/AWS/Bedrock/LanguageModelHttp.js.map +1 -0
  14. package/lib/AWS/Bedrock/index.d.ts +2 -0
  15. package/lib/AWS/Bedrock/index.d.ts.map +1 -1
  16. package/lib/AWS/Bedrock/index.js +2 -0
  17. package/lib/AWS/Bedrock/index.js.map +1 -1
  18. package/lib/AWS/CloudFront/Distribution.d.ts +24 -0
  19. package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
  20. package/lib/AWS/CloudFront/Distribution.js +89 -4
  21. package/lib/AWS/CloudFront/Distribution.js.map +1 -1
  22. package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts +1 -1
  23. package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts.map +1 -1
  24. package/lib/AWS/CostExplorer/AnomalySubscription.d.ts +1 -1
  25. package/lib/AWS/CostExplorer/AnomalySubscription.d.ts.map +1 -1
  26. package/lib/AWS/CostExplorer/BindingHttp.d.ts +3 -3
  27. package/lib/AWS/CostExplorer/BindingHttp.d.ts.map +1 -1
  28. package/lib/AWS/CostExplorer/CostCategory.d.ts +1 -1
  29. package/lib/AWS/CostExplorer/CostCategory.d.ts.map +1 -1
  30. package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts +1 -1
  31. package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts.map +1 -1
  32. package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts +1 -1
  33. package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts.map +1 -1
  34. package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts +1 -1
  35. package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
  36. package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts +1 -1
  37. package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts.map +1 -1
  38. package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts +1 -1
  39. package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts.map +1 -1
  40. package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts +1 -1
  41. package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts.map +1 -1
  42. package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts +1 -1
  43. package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts.map +1 -1
  44. package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts +1 -1
  45. package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts.map +1 -1
  46. package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts +1 -1
  47. package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts.map +1 -1
  48. package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts +1 -1
  49. package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts.map +1 -1
  50. package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts +1 -1
  51. package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts.map +1 -1
  52. package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts +1 -1
  53. package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts.map +1 -1
  54. package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts +1 -1
  55. package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts.map +1 -1
  56. package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts +1 -1
  57. package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts.map +1 -1
  58. package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts +1 -1
  59. package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts.map +1 -1
  60. package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts +1 -1
  61. package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts.map +1 -1
  62. package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts +1 -1
  63. package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts.map +1 -1
  64. package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts +1 -1
  65. package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts.map +1 -1
  66. package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts +1 -1
  67. package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts.map +1 -1
  68. package/lib/AWS/CostExplorer/GetTagsHttp.d.ts +1 -1
  69. package/lib/AWS/CostExplorer/GetTagsHttp.d.ts.map +1 -1
  70. package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts +1 -1
  71. package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts.map +1 -1
  72. package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts +1 -1
  73. package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts.map +1 -1
  74. package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts +1 -1
  75. package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts.map +1 -1
  76. package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts +1 -1
  77. package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts.map +1 -1
  78. package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts +1 -1
  79. package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts.map +1 -1
  80. package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
  81. package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
  82. package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts +1 -1
  83. package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts.map +1 -1
  84. package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts +1 -1
  85. package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
  86. package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts +1 -1
  87. package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts.map +1 -1
  88. package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
  89. package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
  90. package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts +1 -1
  91. package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts.map +1 -1
  92. package/lib/AWS/CostExplorer/common.d.ts +5 -3
  93. package/lib/AWS/CostExplorer/common.d.ts.map +1 -1
  94. package/lib/AWS/CostExplorer/common.js +16 -1
  95. package/lib/AWS/CostExplorer/common.js.map +1 -1
  96. package/lib/AWS/DataSync/Task.d.ts.map +1 -1
  97. package/lib/AWS/DataSync/Task.js +16 -2
  98. package/lib/AWS/DataSync/Task.js.map +1 -1
  99. package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
  100. package/lib/AWS/EC2/InternetGateway.js +8 -3
  101. package/lib/AWS/EC2/InternetGateway.js.map +1 -1
  102. package/lib/AWS/EC2/LingeringEnis.d.ts +26 -0
  103. package/lib/AWS/EC2/LingeringEnis.d.ts.map +1 -0
  104. package/lib/AWS/EC2/LingeringEnis.js +128 -0
  105. package/lib/AWS/EC2/LingeringEnis.js.map +1 -0
  106. package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
  107. package/lib/AWS/EC2/SecurityGroup.js +14 -14
  108. package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
  109. package/lib/AWS/EC2/Subnet.d.ts.map +1 -1
  110. package/lib/AWS/EC2/Subnet.js +13 -21
  111. package/lib/AWS/EC2/Subnet.js.map +1 -1
  112. package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
  113. package/lib/AWS/EC2/Vpc.js +15 -2
  114. package/lib/AWS/EC2/Vpc.js.map +1 -1
  115. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  116. package/lib/AWS/EC2/hosted.js +10 -2
  117. package/lib/AWS/EC2/hosted.js.map +1 -1
  118. package/lib/AWS/ECR/Image.d.ts +133 -13
  119. package/lib/AWS/ECR/Image.d.ts.map +1 -1
  120. package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
  121. package/lib/AWS/ECR/ImageSource.js +10 -2
  122. package/lib/AWS/ECR/ImageSource.js.map +1 -1
  123. package/lib/AWS/ECR/Repository.d.ts +2 -0
  124. package/lib/AWS/ECR/Repository.d.ts.map +1 -1
  125. package/lib/AWS/ECR/Repository.js +28 -3
  126. package/lib/AWS/ECR/Repository.js.map +1 -1
  127. package/lib/AWS/ECS/Service.d.ts +27 -1
  128. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  129. package/lib/AWS/ECS/Service.js +184 -22
  130. package/lib/AWS/ECS/Service.js.map +1 -1
  131. package/lib/AWS/ECS/Task.d.ts +32 -8
  132. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  133. package/lib/AWS/ECS/Task.js +62 -29
  134. package/lib/AWS/ECS/Task.js.map +1 -1
  135. package/lib/AWS/EKS/Addon.d.ts.map +1 -1
  136. package/lib/AWS/EKS/Addon.js +15 -3
  137. package/lib/AWS/EKS/Addon.js.map +1 -1
  138. package/lib/AWS/EKS/Deployment.d.ts +10 -1
  139. package/lib/AWS/EKS/Deployment.d.ts.map +1 -1
  140. package/lib/AWS/EKS/Deployment.js +20 -6
  141. package/lib/AWS/EKS/Deployment.js.map +1 -1
  142. package/lib/AWS/EKS/HyperPod.d.ts +57 -0
  143. package/lib/AWS/EKS/HyperPod.d.ts.map +1 -0
  144. package/lib/AWS/EKS/HyperPod.js +46 -0
  145. package/lib/AWS/EKS/HyperPod.js.map +1 -0
  146. package/lib/AWS/EKS/Job.d.ts +10 -1
  147. package/lib/AWS/EKS/Job.d.ts.map +1 -1
  148. package/lib/AWS/EKS/Job.js +26 -8
  149. package/lib/AWS/EKS/Job.js.map +1 -1
  150. package/lib/AWS/EKS/internal/client.d.ts +4 -3
  151. package/lib/AWS/EKS/internal/client.d.ts.map +1 -1
  152. package/lib/AWS/EKS/internal/client.js +33 -2
  153. package/lib/AWS/EKS/internal/client.js.map +1 -1
  154. package/lib/AWS/Lambda/Function.d.ts +15 -0
  155. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  156. package/lib/AWS/Lambda/Function.js +68 -30
  157. package/lib/AWS/Lambda/Function.js.map +1 -1
  158. package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
  159. package/lib/AWS/Lambda/HttpServer.js +7 -1
  160. package/lib/AWS/Lambda/HttpServer.js.map +1 -1
  161. package/lib/AWS/Lambda/LayerVersion.d.ts +176 -0
  162. package/lib/AWS/Lambda/LayerVersion.d.ts.map +1 -0
  163. package/lib/AWS/Lambda/LayerVersion.js +288 -0
  164. package/lib/AWS/Lambda/LayerVersion.js.map +1 -0
  165. package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
  166. package/lib/AWS/Lambda/MicrovmBundle.js +10 -2
  167. package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
  168. package/lib/AWS/Lambda/index.d.ts +1 -0
  169. package/lib/AWS/Lambda/index.d.ts.map +1 -1
  170. package/lib/AWS/Lambda/index.js +1 -0
  171. package/lib/AWS/Lambda/index.js.map +1 -1
  172. package/lib/AWS/Providers.d.ts.map +1 -1
  173. package/lib/AWS/Providers.js +9 -1
  174. package/lib/AWS/Providers.js.map +1 -1
  175. package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts +40 -0
  176. package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts.map +1 -0
  177. package/lib/AWS/SES/ActiveReceiptRuleSet.js +58 -0
  178. package/lib/AWS/SES/ActiveReceiptRuleSet.js.map +1 -0
  179. package/lib/AWS/SES/ReceiptFilter.d.ts +67 -0
  180. package/lib/AWS/SES/ReceiptFilter.d.ts.map +1 -0
  181. package/lib/AWS/SES/ReceiptFilter.js +92 -0
  182. package/lib/AWS/SES/ReceiptFilter.js.map +1 -0
  183. package/lib/AWS/SES/ReceiptRule.d.ts +133 -0
  184. package/lib/AWS/SES/ReceiptRule.d.ts.map +1 -0
  185. package/lib/AWS/SES/ReceiptRule.js +178 -0
  186. package/lib/AWS/SES/ReceiptRule.js.map +1 -0
  187. package/lib/AWS/SES/ReceiptRuleSet.d.ts +55 -0
  188. package/lib/AWS/SES/ReceiptRuleSet.d.ts.map +1 -0
  189. package/lib/AWS/SES/ReceiptRuleSet.js +112 -0
  190. package/lib/AWS/SES/ReceiptRuleSet.js.map +1 -0
  191. package/lib/AWS/SES/SendBounce.d.ts +37 -0
  192. package/lib/AWS/SES/SendBounce.d.ts.map +1 -0
  193. package/lib/AWS/SES/SendBounce.js +3 -0
  194. package/lib/AWS/SES/SendBounce.js.map +1 -0
  195. package/lib/AWS/SES/SendBounceHttp.d.ts +4 -0
  196. package/lib/AWS/SES/SendBounceHttp.d.ts.map +1 -0
  197. package/lib/AWS/SES/SendBounceHttp.js +10 -0
  198. package/lib/AWS/SES/SendBounceHttp.js.map +1 -0
  199. package/lib/AWS/SES/index.d.ts +6 -0
  200. package/lib/AWS/SES/index.d.ts.map +1 -1
  201. package/lib/AWS/SES/index.js +6 -0
  202. package/lib/AWS/SES/index.js.map +1 -1
  203. package/lib/AWS/SageMaker/Cluster.d.ts +327 -0
  204. package/lib/AWS/SageMaker/Cluster.d.ts.map +1 -0
  205. package/lib/AWS/SageMaker/Cluster.js +469 -0
  206. package/lib/AWS/SageMaker/Cluster.js.map +1 -0
  207. package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts +96 -0
  208. package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts.map +1 -0
  209. package/lib/AWS/SageMaker/ClusterSchedulerConfig.js +270 -0
  210. package/lib/AWS/SageMaker/ClusterSchedulerConfig.js.map +1 -0
  211. package/lib/AWS/SageMaker/ComputeQuota.d.ts +106 -0
  212. package/lib/AWS/SageMaker/ComputeQuota.d.ts.map +1 -0
  213. package/lib/AWS/SageMaker/ComputeQuota.js +268 -0
  214. package/lib/AWS/SageMaker/ComputeQuota.js.map +1 -0
  215. package/lib/AWS/SageMaker/index.d.ts +3 -0
  216. package/lib/AWS/SageMaker/index.d.ts.map +1 -1
  217. package/lib/AWS/SageMaker/index.js +3 -0
  218. package/lib/AWS/SageMaker/index.js.map +1 -1
  219. package/lib/AWS/StateStore/State.d.ts +11 -0
  220. package/lib/AWS/StateStore/State.d.ts.map +1 -1
  221. package/lib/AWS/StateStore/State.js +117 -38
  222. package/lib/AWS/StateStore/State.js.map +1 -1
  223. package/lib/Apply.d.ts +37 -1
  224. package/lib/Apply.d.ts.map +1 -1
  225. package/lib/Apply.js +270 -194
  226. package/lib/Apply.js.map +1 -1
  227. package/lib/Axiom/Telemetry.d.ts +66 -0
  228. package/lib/Axiom/Telemetry.d.ts.map +1 -0
  229. package/lib/Axiom/Telemetry.js +69 -0
  230. package/lib/Axiom/Telemetry.js.map +1 -0
  231. package/lib/Axiom/index.d.ts +1 -0
  232. package/lib/Axiom/index.d.ts.map +1 -1
  233. package/lib/Axiom/index.js +1 -0
  234. package/lib/Axiom/index.js.map +1 -1
  235. package/lib/Bundle/Bundle.d.ts +1 -1
  236. package/lib/Bundle/Bundle.d.ts.map +1 -1
  237. package/lib/Bundle/Bundle.js +14 -6
  238. package/lib/Bundle/Bundle.js.map +1 -1
  239. package/lib/Bundle/BundleAnalyzerPlugin.d.ts +1 -1
  240. package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -1
  241. package/lib/Bundle/BundleAnalyzerPlugin.js +10 -5
  242. package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -1
  243. package/lib/Bundle/PurePlugin.d.ts +29 -7
  244. package/lib/Bundle/PurePlugin.d.ts.map +1 -1
  245. package/lib/Bundle/PurePlugin.js +71 -40
  246. package/lib/Bundle/PurePlugin.js.map +1 -1
  247. package/lib/Cli/checkVersion.d.ts +11 -5
  248. package/lib/Cli/checkVersion.d.ts.map +1 -1
  249. package/lib/Cli/checkVersion.js +73 -12
  250. package/lib/Cli/checkVersion.js.map +1 -1
  251. package/lib/Cli/commands/cloudflare.d.ts +1 -1
  252. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  253. package/lib/Cli/commands/deploy.js +3 -11
  254. package/lib/Cli/commands/deploy.js.map +1 -1
  255. package/lib/Cli/commands/logs.d.ts.map +1 -1
  256. package/lib/Cli/commands/logs.js +3 -1
  257. package/lib/Cli/commands/logs.js.map +1 -1
  258. package/lib/Cli/commands/nuke.d.ts.map +1 -1
  259. package/lib/Cli/commands/nuke.js +231 -37
  260. package/lib/Cli/commands/nuke.js.map +1 -1
  261. package/lib/Cli/commands/tail.d.ts.map +1 -1
  262. package/lib/Cli/commands/tail.js +3 -1
  263. package/lib/Cli/commands/tail.js.map +1 -1
  264. package/lib/Cli/main.d.ts.map +1 -1
  265. package/lib/Cli/main.js +5 -4
  266. package/lib/Cli/main.js.map +1 -1
  267. package/lib/Cloudflare/AI/Search.d.ts +4 -15
  268. package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
  269. package/lib/Cloudflare/AI/Search.js +4 -6
  270. package/lib/Cloudflare/AI/Search.js.map +1 -1
  271. package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
  272. package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
  273. package/lib/Cloudflare/AI/SearchInstance.js +7 -26
  274. package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
  275. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
  276. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  277. package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
  278. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  279. package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
  280. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  281. package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
  282. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  283. package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
  284. package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
  285. package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
  286. package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
  287. package/lib/Cloudflare/Containers/Container.d.ts +81 -3
  288. package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
  289. package/lib/Cloudflare/Containers/Container.js +70 -0
  290. package/lib/Cloudflare/Containers/Container.js.map +1 -1
  291. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
  292. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  293. package/lib/Cloudflare/Containers/ContainerApplication.js +4 -1
  294. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  295. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  296. package/lib/Cloudflare/Containers/ContainerBundle.js +10 -2
  297. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  298. package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
  299. package/lib/Cloudflare/Containers/ContainerProvider.js +43 -0
  300. package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
  301. package/lib/Cloudflare/Credentials.d.ts +21 -1
  302. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  303. package/lib/Cloudflare/Credentials.js +52 -9
  304. package/lib/Cloudflare/Credentials.js.map +1 -1
  305. package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
  306. package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
  307. package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
  308. package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
  309. package/lib/Cloudflare/D1/Database.d.ts +18 -1
  310. package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
  311. package/lib/Cloudflare/D1/Database.js +134 -2
  312. package/lib/Cloudflare/D1/Database.js.map +1 -1
  313. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
  314. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
  315. package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
  316. package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
  317. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
  318. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
  319. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
  320. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
  321. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
  322. package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
  323. package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
  324. package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
  325. package/lib/Cloudflare/Email/Address.js +15 -1
  326. package/lib/Cloudflare/Email/Address.js.map +1 -1
  327. package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
  328. package/lib/Cloudflare/Email/SendBinding.js +1 -0
  329. package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
  330. package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
  331. package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
  332. package/lib/Cloudflare/Email/SendEmail.js +1 -0
  333. package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
  334. package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
  335. package/lib/Cloudflare/Flagship/App.js +8 -3
  336. package/lib/Cloudflare/Flagship/App.js.map +1 -1
  337. package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
  338. package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
  339. package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
  340. package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
  341. package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
  342. package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
  343. package/lib/Cloudflare/KV/Namespace.js +45 -1
  344. package/lib/Cloudflare/KV/Namespace.js.map +1 -1
  345. package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
  346. package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
  347. package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
  348. package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
  349. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
  350. package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
  351. package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
  352. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
  353. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
  354. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
  355. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
  356. package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
  357. package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
  358. package/lib/Cloudflare/LocalGateway.d.ts +25 -0
  359. package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
  360. package/lib/Cloudflare/LocalGateway.js +70 -0
  361. package/lib/Cloudflare/LocalGateway.js.map +1 -0
  362. package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
  363. package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
  364. package/lib/Cloudflare/LocalRuntime.js +16 -1
  365. package/lib/Cloudflare/LocalRuntime.js.map +1 -1
  366. package/lib/Cloudflare/Logs.d.ts.map +1 -1
  367. package/lib/Cloudflare/Logs.js +18 -6
  368. package/lib/Cloudflare/Logs.js.map +1 -1
  369. package/lib/Cloudflare/Providers.d.ts +1 -1
  370. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  371. package/lib/Cloudflare/Providers.js +6 -2
  372. package/lib/Cloudflare/Providers.js.map +1 -1
  373. package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
  374. package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
  375. package/lib/Cloudflare/Queues/Consumer.js +51 -3
  376. package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
  377. package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
  378. package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
  379. package/lib/Cloudflare/Queues/Queue.js +7 -17
  380. package/lib/Cloudflare/Queues/Queue.js.map +1 -1
  381. package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
  382. package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
  383. package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
  384. package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
  385. package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
  386. package/lib/Cloudflare/Queues/QueueShim.js +177 -0
  387. package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
  388. package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
  389. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
  390. package/lib/Cloudflare/R2/Bucket.js +53 -1
  391. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  392. package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
  393. package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
  394. package/lib/Cloudflare/R2/BucketBinding.js +14 -3
  395. package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
  396. package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
  397. package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
  398. package/lib/Cloudflare/R2/BucketLocal.js +19 -6
  399. package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
  400. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
  401. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
  402. package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
  403. package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
  404. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
  405. package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
  406. package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
  407. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
  408. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
  409. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
  410. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
  411. package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
  412. package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
  413. package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
  414. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
  415. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
  416. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
  417. package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
  418. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
  419. package/lib/Cloudflare/Rum/Site.js +10 -2
  420. package/lib/Cloudflare/Rum/Site.js.map +1 -1
  421. package/lib/Cloudflare/StateStore/Api.d.ts +32 -3
  422. package/lib/Cloudflare/StateStore/Api.js +1 -1
  423. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  424. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  425. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  426. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  427. package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
  428. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  429. package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
  430. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  431. package/lib/Cloudflare/Website/StaticSite.js +108 -24
  432. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  433. package/lib/Cloudflare/Website/Vite.d.ts +33 -19
  434. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  435. package/lib/Cloudflare/Website/Vite.js +33 -19
  436. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  437. package/lib/Cloudflare/Workers/Assets.d.ts +26 -8
  438. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  439. package/lib/Cloudflare/Workers/Assets.js +46 -1
  440. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  441. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
  442. package/lib/Cloudflare/Workers/Compatibility.js +26 -7
  443. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
  444. package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
  445. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  446. package/lib/Cloudflare/Workers/DurableObject.js +22 -0
  447. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  448. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  449. package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
  450. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  451. package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
  452. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  453. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
  454. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  455. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +520 -302
  456. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  457. package/lib/Cloudflare/Workers/Worker.d.ts +619 -18
  458. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  459. package/lib/Cloudflare/Workers/Worker.js +222 -2
  460. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  461. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
  462. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  463. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
  464. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  465. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
  466. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  467. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  468. package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
  469. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  470. package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
  471. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  472. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +20 -1
  473. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  474. package/lib/Cloudflare/Workers/WorkerBundle.js +15 -1
  475. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  476. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
  477. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  478. package/lib/Cloudflare/Workers/WorkerProvider.js +1775 -240
  479. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  480. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +9 -2
  481. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
  482. package/lib/Cloudflare/Workflows/WorkflowBridge.js +19 -9
  483. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  484. package/lib/Cloudflare/Workflows/index.d.ts +1 -1
  485. package/lib/Cloudflare/Workflows/index.d.ts.map +1 -1
  486. package/lib/Cloudflare/Workflows/index.js +1 -1
  487. package/lib/Cloudflare/Workflows/index.js.map +1 -1
  488. package/lib/Command/Build.d.ts +2 -2
  489. package/lib/Command/Build.d.ts.map +1 -1
  490. package/lib/Command/Build.js +4 -7
  491. package/lib/Command/Build.js.map +1 -1
  492. package/lib/Command/Command.d.ts +34 -4
  493. package/lib/Command/Command.d.ts.map +1 -1
  494. package/lib/Command/Command.js +125 -30
  495. package/lib/Command/Command.js.map +1 -1
  496. package/lib/Command/Dev.d.ts +2 -2
  497. package/lib/Command/Dev.d.ts.map +1 -1
  498. package/lib/Command/Dev.js +51 -73
  499. package/lib/Command/Dev.js.map +1 -1
  500. package/lib/Command/Exec.d.ts +11 -2
  501. package/lib/Command/Exec.d.ts.map +1 -1
  502. package/lib/Command/Exec.js +9 -0
  503. package/lib/Command/Exec.js.map +1 -1
  504. package/lib/Command/Memo.d.ts +9 -1
  505. package/lib/Command/Memo.d.ts.map +1 -1
  506. package/lib/Command/Memo.js +14 -2
  507. package/lib/Command/Memo.js.map +1 -1
  508. package/lib/Command/Providers.d.ts +1 -1
  509. package/lib/Command/Providers.d.ts.map +1 -1
  510. package/lib/Command/Redaction.d.ts +10 -0
  511. package/lib/Command/Redaction.d.ts.map +1 -0
  512. package/lib/Command/Redaction.js +119 -0
  513. package/lib/Command/Redaction.js.map +1 -0
  514. package/lib/Deploy.d.ts +2 -1
  515. package/lib/Deploy.d.ts.map +1 -1
  516. package/lib/Destroy.d.ts +2 -1
  517. package/lib/Destroy.d.ts.map +1 -1
  518. package/lib/Destroy.js +1 -9
  519. package/lib/Destroy.js.map +1 -1
  520. package/lib/Docker/Container.d.ts +41 -1
  521. package/lib/Docker/Container.d.ts.map +1 -1
  522. package/lib/Docker/Container.js +54 -12
  523. package/lib/Docker/Container.js.map +1 -1
  524. package/lib/Docker/Context.d.ts +84 -0
  525. package/lib/Docker/Context.d.ts.map +1 -0
  526. package/lib/Docker/Context.js +145 -0
  527. package/lib/Docker/Context.js.map +1 -0
  528. package/lib/Docker/Docker.d.ts +192 -14
  529. package/lib/Docker/Docker.d.ts.map +1 -1
  530. package/lib/Docker/Docker.js +149 -28
  531. package/lib/Docker/Docker.js.map +1 -1
  532. package/lib/Docker/Image.d.ts +12 -0
  533. package/lib/Docker/Image.d.ts.map +1 -1
  534. package/lib/Docker/Image.js +24 -7
  535. package/lib/Docker/Image.js.map +1 -1
  536. package/lib/Docker/Network.d.ts +7 -0
  537. package/lib/Docker/Network.d.ts.map +1 -1
  538. package/lib/Docker/Network.js +16 -7
  539. package/lib/Docker/Network.js.map +1 -1
  540. package/lib/Docker/Providers.d.ts +1 -1
  541. package/lib/Docker/Providers.d.ts.map +1 -1
  542. package/lib/Docker/Providers.js +13 -1
  543. package/lib/Docker/Providers.js.map +1 -1
  544. package/lib/Docker/RemoteImage.d.ts +12 -0
  545. package/lib/Docker/RemoteImage.d.ts.map +1 -1
  546. package/lib/Docker/RemoteImage.js +22 -8
  547. package/lib/Docker/RemoteImage.js.map +1 -1
  548. package/lib/Docker/Service.d.ts +445 -0
  549. package/lib/Docker/Service.d.ts.map +1 -0
  550. package/lib/Docker/Service.js +578 -0
  551. package/lib/Docker/Service.js.map +1 -0
  552. package/lib/Docker/ServiceImage.d.ts +78 -0
  553. package/lib/Docker/ServiceImage.d.ts.map +1 -0
  554. package/lib/Docker/ServiceImage.js +232 -0
  555. package/lib/Docker/ServiceImage.js.map +1 -0
  556. package/lib/Docker/Swarm.d.ts +117 -0
  557. package/lib/Docker/Swarm.d.ts.map +1 -0
  558. package/lib/Docker/Swarm.js +149 -0
  559. package/lib/Docker/Swarm.js.map +1 -0
  560. package/lib/Docker/Volume.d.ts +11 -0
  561. package/lib/Docker/Volume.d.ts.map +1 -1
  562. package/lib/Docker/Volume.js +21 -6
  563. package/lib/Docker/Volume.js.map +1 -1
  564. package/lib/Docker/index.d.ts +3 -0
  565. package/lib/Docker/index.d.ts.map +1 -1
  566. package/lib/Docker/index.js +3 -0
  567. package/lib/Docker/index.js.map +1 -1
  568. package/lib/Http.d.ts +8 -1
  569. package/lib/Http.d.ts.map +1 -1
  570. package/lib/Http.js +7 -2
  571. package/lib/Http.js.map +1 -1
  572. package/lib/Local/LocalProvider.d.ts +182 -0
  573. package/lib/Local/LocalProvider.d.ts.map +1 -0
  574. package/lib/Local/LocalProvider.js +226 -0
  575. package/lib/Local/LocalProvider.js.map +1 -0
  576. package/lib/Local/ProviderLayer.d.ts +43 -2
  577. package/lib/Local/ProviderLayer.d.ts.map +1 -1
  578. package/lib/Local/ProviderLayer.js +80 -2
  579. package/lib/Local/ProviderLayer.js.map +1 -1
  580. package/lib/Local/RpcProvider.d.ts +7 -0
  581. package/lib/Local/RpcProvider.d.ts.map +1 -1
  582. package/lib/Local/RpcProvider.js +8 -3
  583. package/lib/Local/RpcProvider.js.map +1 -1
  584. package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
  585. package/lib/Local/RpcProviderProxy.js +3 -0
  586. package/lib/Local/RpcProviderProxy.js.map +1 -1
  587. package/lib/Local/RpcServer.d.ts +8 -1
  588. package/lib/Local/RpcServer.d.ts.map +1 -1
  589. package/lib/Local/RpcServer.js +4 -1
  590. package/lib/Local/RpcServer.js.map +1 -1
  591. package/lib/Output.d.ts +4 -1
  592. package/lib/Output.d.ts.map +1 -1
  593. package/lib/Output.js.map +1 -1
  594. package/lib/Plan.d.ts +34 -0
  595. package/lib/Plan.d.ts.map +1 -1
  596. package/lib/Plan.js +127 -40
  597. package/lib/Plan.js.map +1 -1
  598. package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
  599. package/lib/Planetscale/AuthProvider.js +6 -2
  600. package/lib/Planetscale/AuthProvider.js.map +1 -1
  601. package/lib/Planetscale/Branch.d.ts.map +1 -1
  602. package/lib/Planetscale/Branch.js +36 -6
  603. package/lib/Planetscale/Branch.js.map +1 -1
  604. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  605. package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
  606. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  607. package/lib/Planetscale/OAuthClient.d.ts +7 -1
  608. package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
  609. package/lib/Planetscale/OAuthClient.js +51 -4
  610. package/lib/Planetscale/OAuthClient.js.map +1 -1
  611. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  612. package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
  613. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  614. package/lib/Platform.d.ts.map +1 -1
  615. package/lib/Platform.js +25 -14
  616. package/lib/Platform.js.map +1 -1
  617. package/lib/Prisma/App.d.ts +80 -0
  618. package/lib/Prisma/App.d.ts.map +1 -0
  619. package/lib/Prisma/App.js +238 -0
  620. package/lib/Prisma/App.js.map +1 -0
  621. package/lib/Prisma/AuthProvider.d.ts +28 -0
  622. package/lib/Prisma/AuthProvider.d.ts.map +1 -0
  623. package/lib/Prisma/AuthProvider.js +131 -0
  624. package/lib/Prisma/AuthProvider.js.map +1 -0
  625. package/lib/Prisma/Branch.d.ts +75 -0
  626. package/lib/Prisma/Branch.d.ts.map +1 -0
  627. package/lib/Prisma/Branch.js +216 -0
  628. package/lib/Prisma/Branch.js.map +1 -0
  629. package/lib/Prisma/Client.d.ts +178 -0
  630. package/lib/Prisma/Client.d.ts.map +1 -0
  631. package/lib/Prisma/Client.js +562 -0
  632. package/lib/Prisma/Client.js.map +1 -0
  633. package/lib/Prisma/Compute.d.ts +583 -0
  634. package/lib/Prisma/Compute.d.ts.map +1 -0
  635. package/lib/Prisma/Compute.js +1543 -0
  636. package/lib/Prisma/Compute.js.map +1 -0
  637. package/lib/Prisma/ComputeArchive.d.ts +63 -0
  638. package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
  639. package/lib/Prisma/ComputeArchive.js +227 -0
  640. package/lib/Prisma/ComputeArchive.js.map +1 -0
  641. package/lib/Prisma/ComputeBuild.d.ts +106 -0
  642. package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
  643. package/lib/Prisma/ComputeBuild.js +987 -0
  644. package/lib/Prisma/ComputeBuild.js.map +1 -0
  645. package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
  646. package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
  647. package/lib/Prisma/ComputeLifecycle.js +186 -0
  648. package/lib/Prisma/ComputeLifecycle.js.map +1 -0
  649. package/lib/Prisma/Connect.d.ts +99 -0
  650. package/lib/Prisma/Connect.d.ts.map +1 -0
  651. package/lib/Prisma/Connect.js +187 -0
  652. package/lib/Prisma/Connect.js.map +1 -0
  653. package/lib/Prisma/Connection.d.ts +202 -0
  654. package/lib/Prisma/Connection.d.ts.map +1 -0
  655. package/lib/Prisma/Connection.js +346 -0
  656. package/lib/Prisma/Connection.js.map +1 -0
  657. package/lib/Prisma/CustomDomain.d.ts +81 -0
  658. package/lib/Prisma/CustomDomain.d.ts.map +1 -0
  659. package/lib/Prisma/CustomDomain.js +175 -0
  660. package/lib/Prisma/CustomDomain.js.map +1 -0
  661. package/lib/Prisma/Database.d.ts +208 -0
  662. package/lib/Prisma/Database.d.ts.map +1 -0
  663. package/lib/Prisma/Database.js +405 -0
  664. package/lib/Prisma/Database.js.map +1 -0
  665. package/lib/Prisma/Deployment.d.ts +135 -0
  666. package/lib/Prisma/Deployment.d.ts.map +1 -0
  667. package/lib/Prisma/Deployment.js +348 -0
  668. package/lib/Prisma/Deployment.js.map +1 -0
  669. package/lib/Prisma/EnvironmentVariable.d.ts +89 -0
  670. package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
  671. package/lib/Prisma/EnvironmentVariable.js +213 -0
  672. package/lib/Prisma/EnvironmentVariable.js.map +1 -0
  673. package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
  674. package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
  675. package/lib/Prisma/Internal/AppIdentity.js +6 -0
  676. package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
  677. package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
  678. package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
  679. package/lib/Prisma/Internal/AppPromotion.js +107 -0
  680. package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
  681. package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
  682. package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
  683. package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
  684. package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
  685. package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
  686. package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
  687. package/lib/Prisma/Internal/ArtifactFile.js +134 -0
  688. package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
  689. package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
  690. package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
  691. package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
  692. package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
  693. package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
  694. package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
  695. package/lib/Prisma/Internal/BundlePaths.js +16 -0
  696. package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
  697. package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
  698. package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
  699. package/lib/Prisma/Internal/CleanupFailure.js +8 -0
  700. package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
  701. package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
  702. package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
  703. package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
  704. package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
  705. package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
  706. package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
  707. package/lib/Prisma/Internal/DeploymentActions.js +16 -0
  708. package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
  709. package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
  710. package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
  711. package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
  712. package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
  713. package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
  714. package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
  715. package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
  716. package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
  717. package/lib/Prisma/Internal/EnvName.d.ts +7 -0
  718. package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
  719. package/lib/Prisma/Internal/EnvName.js +23 -0
  720. package/lib/Prisma/Internal/EnvName.js.map +1 -0
  721. package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
  722. package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
  723. package/lib/Prisma/Internal/HttpClient.js +23 -0
  724. package/lib/Prisma/Internal/HttpClient.js.map +1 -0
  725. package/lib/Prisma/Operations.d.ts +143 -0
  726. package/lib/Prisma/Operations.d.ts.map +1 -0
  727. package/lib/Prisma/Operations.js +75 -0
  728. package/lib/Prisma/Operations.js.map +1 -0
  729. package/lib/Prisma/Postgres.d.ts +24 -0
  730. package/lib/Prisma/Postgres.d.ts.map +1 -0
  731. package/lib/Prisma/Postgres.js +23 -0
  732. package/lib/Prisma/Postgres.js.map +1 -0
  733. package/lib/Prisma/PostgresOrigin.d.ts +31 -0
  734. package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
  735. package/lib/Prisma/PostgresOrigin.js +30 -0
  736. package/lib/Prisma/PostgresOrigin.js.map +1 -0
  737. package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
  738. package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
  739. package/lib/Prisma/PrismaDevDatabase.js +280 -0
  740. package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
  741. package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
  742. package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
  743. package/lib/Prisma/PrismaEnvironment.js +50 -0
  744. package/lib/Prisma/PrismaEnvironment.js.map +1 -0
  745. package/lib/Prisma/PrismaLogs.d.ts +42 -0
  746. package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
  747. package/lib/Prisma/PrismaLogs.js +318 -0
  748. package/lib/Prisma/PrismaLogs.js.map +1 -0
  749. package/lib/Prisma/Project.d.ts +117 -0
  750. package/lib/Prisma/Project.d.ts.map +1 -0
  751. package/lib/Prisma/Project.js +361 -0
  752. package/lib/Prisma/Project.js.map +1 -0
  753. package/lib/Prisma/Providers.d.ts +61 -0
  754. package/lib/Prisma/Providers.d.ts.map +1 -0
  755. package/lib/Prisma/Providers.js +282 -0
  756. package/lib/Prisma/Providers.js.map +1 -0
  757. package/lib/Prisma/Refs.d.ts +19 -0
  758. package/lib/Prisma/Refs.d.ts.map +1 -0
  759. package/lib/Prisma/Refs.js +25 -0
  760. package/lib/Prisma/Refs.js.map +1 -0
  761. package/lib/Prisma/SourceRepository.d.ts +104 -0
  762. package/lib/Prisma/SourceRepository.d.ts.map +1 -0
  763. package/lib/Prisma/SourceRepository.js +221 -0
  764. package/lib/Prisma/SourceRepository.js.map +1 -0
  765. package/lib/Prisma/Types.d.ts +539 -0
  766. package/lib/Prisma/Types.d.ts.map +1 -0
  767. package/lib/Prisma/Types.js +13 -0
  768. package/lib/Prisma/Types.js.map +1 -0
  769. package/lib/Prisma/index.d.ts +25 -0
  770. package/lib/Prisma/index.d.ts.map +1 -0
  771. package/lib/Prisma/index.js +24 -0
  772. package/lib/Prisma/index.js.map +1 -0
  773. package/lib/Provider.d.ts +77 -5
  774. package/lib/Provider.d.ts.map +1 -1
  775. package/lib/Provider.js +54 -30
  776. package/lib/Provider.js.map +1 -1
  777. package/lib/ProviderMode.d.ts +93 -0
  778. package/lib/ProviderMode.d.ts.map +1 -0
  779. package/lib/ProviderMode.js +77 -0
  780. package/lib/ProviderMode.js.map +1 -0
  781. package/lib/Random.d.ts +1 -1
  782. package/lib/Random.d.ts.map +1 -1
  783. package/lib/Resource.d.ts +22 -1
  784. package/lib/Resource.d.ts.map +1 -1
  785. package/lib/Resource.js +31 -0
  786. package/lib/Resource.js.map +1 -1
  787. package/lib/RuntimeContext.d.ts +7 -0
  788. package/lib/RuntimeContext.d.ts.map +1 -1
  789. package/lib/RuntimeContext.js.map +1 -1
  790. package/lib/SQL/D1.d.ts +1 -1
  791. package/lib/SQL/D1.js +1 -1
  792. package/lib/SQL/Postgres.d.ts +1 -1
  793. package/lib/SQL/Postgres.js +1 -1
  794. package/lib/Server/Process.d.ts +8 -0
  795. package/lib/Server/Process.d.ts.map +1 -1
  796. package/lib/Server/Process.js +29 -0
  797. package/lib/Server/Process.js.map +1 -1
  798. package/lib/State/HttpStateApi.d.ts +11 -11
  799. package/lib/State/InMemoryState.d.ts.map +1 -1
  800. package/lib/State/InMemoryState.js +2 -0
  801. package/lib/State/InMemoryState.js.map +1 -1
  802. package/lib/State/ResourceState.d.ts +18 -0
  803. package/lib/State/ResourceState.d.ts.map +1 -1
  804. package/lib/Sync.d.ts.map +1 -1
  805. package/lib/Sync.js +8 -2
  806. package/lib/Sync.js.map +1 -1
  807. package/lib/Telemetry.d.ts +150 -0
  808. package/lib/Telemetry.d.ts.map +1 -0
  809. package/lib/Telemetry.js +512 -0
  810. package/lib/Telemetry.js.map +1 -0
  811. package/lib/Test/Alchemy.d.ts +1 -1
  812. package/lib/Test/Alchemy.d.ts.map +1 -1
  813. package/lib/Test/Alchemy.js +4 -2
  814. package/lib/Test/Alchemy.js.map +1 -1
  815. package/lib/Test/Core.d.ts +2 -2
  816. package/lib/Test/Core.d.ts.map +1 -1
  817. package/lib/Test/Core.js +1 -8
  818. package/lib/Test/Core.js.map +1 -1
  819. package/lib/Test/Vitest.d.ts +58 -0
  820. package/lib/Test/Vitest.d.ts.map +1 -0
  821. package/lib/Test/Vitest.js +114 -0
  822. package/lib/Test/Vitest.js.map +1 -0
  823. package/lib/Util/Clank.d.ts +11 -6
  824. package/lib/Util/Clank.d.ts.map +1 -1
  825. package/lib/Util/Clank.js +22 -9
  826. package/lib/Util/Clank.js.map +1 -1
  827. package/lib/Util/proxy-chain.d.ts +5 -0
  828. package/lib/Util/proxy-chain.d.ts.map +1 -1
  829. package/lib/Util/proxy-chain.js +52 -4
  830. package/lib/Util/proxy-chain.js.map +1 -1
  831. package/lib/Util/zip.d.ts +11 -0
  832. package/lib/Util/zip.d.ts.map +1 -1
  833. package/lib/Util/zip.js +30 -0
  834. package/lib/Util/zip.js.map +1 -1
  835. package/lib/index.d.ts +3 -0
  836. package/lib/index.d.ts.map +1 -1
  837. package/lib/index.js +3 -0
  838. package/lib/index.js.map +1 -1
  839. package/package.json +59 -18
  840. package/src/AWS/ApiGateway/common.ts +9 -0
  841. package/src/AWS/Bedrock/LanguageModel.ts +883 -0
  842. package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
  843. package/src/AWS/Bedrock/index.ts +2 -0
  844. package/src/AWS/CloudFront/Distribution.ts +116 -6
  845. package/src/AWS/CostExplorer/common.ts +23 -2
  846. package/src/AWS/DataSync/Task.ts +30 -15
  847. package/src/AWS/EC2/InternetGateway.ts +8 -3
  848. package/src/AWS/EC2/LingeringEnis.ts +169 -0
  849. package/src/AWS/EC2/SecurityGroup.ts +24 -28
  850. package/src/AWS/EC2/Subnet.ts +23 -34
  851. package/src/AWS/EC2/Vpc.ts +35 -21
  852. package/src/AWS/EC2/hosted.ts +10 -2
  853. package/src/AWS/ECR/ImageSource.ts +10 -2
  854. package/src/AWS/ECR/Repository.ts +39 -4
  855. package/src/AWS/ECS/Service.ts +322 -22
  856. package/src/AWS/ECS/Task.ts +82 -32
  857. package/src/AWS/EKS/Addon.ts +17 -4
  858. package/src/AWS/EKS/Deployment.ts +36 -7
  859. package/src/AWS/EKS/HyperPod.ts +97 -0
  860. package/src/AWS/EKS/Job.ts +42 -9
  861. package/src/AWS/EKS/internal/client.ts +40 -3
  862. package/src/AWS/Lambda/Function.ts +106 -46
  863. package/src/AWS/Lambda/HttpServer.ts +7 -1
  864. package/src/AWS/Lambda/LayerVersion.ts +490 -0
  865. package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
  866. package/src/AWS/Lambda/index.ts +1 -0
  867. package/src/AWS/Providers.ts +16 -0
  868. package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
  869. package/src/AWS/SES/ReceiptFilter.ts +169 -0
  870. package/src/AWS/SES/ReceiptRule.ts +300 -0
  871. package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
  872. package/src/AWS/SES/SendBounce.ts +44 -0
  873. package/src/AWS/SES/SendBounceHttp.ts +13 -0
  874. package/src/AWS/SES/index.ts +6 -0
  875. package/src/AWS/SageMaker/Cluster.ts +775 -0
  876. package/src/AWS/SageMaker/ClusterSchedulerConfig.ts +430 -0
  877. package/src/AWS/SageMaker/ComputeQuota.ts +426 -0
  878. package/src/AWS/SageMaker/index.ts +3 -0
  879. package/src/AWS/StateStore/State.ts +159 -42
  880. package/src/Apply.ts +199 -83
  881. package/src/Axiom/Telemetry.ts +119 -0
  882. package/src/Axiom/index.ts +1 -0
  883. package/src/Bundle/Bundle.ts +17 -7
  884. package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
  885. package/src/Bundle/PurePlugin.ts +109 -46
  886. package/src/Cli/checkVersion.ts +102 -16
  887. package/src/Cli/commands/deploy.ts +3 -14
  888. package/src/Cli/commands/logs.ts +6 -1
  889. package/src/Cli/commands/nuke.ts +295 -56
  890. package/src/Cli/commands/tail.ts +6 -1
  891. package/src/Cli/main.ts +5 -4
  892. package/src/Cloudflare/AI/Search.ts +4 -18
  893. package/src/Cloudflare/AI/SearchInstance.ts +7 -26
  894. package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
  895. package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
  896. package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
  897. package/src/Cloudflare/Containers/Container.ts +92 -3
  898. package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
  899. package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
  900. package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
  901. package/src/Cloudflare/Credentials.ts +69 -9
  902. package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
  903. package/src/Cloudflare/D1/Database.ts +154 -2
  904. package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
  905. package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
  906. package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
  907. package/src/Cloudflare/Email/Address.ts +18 -1
  908. package/src/Cloudflare/Email/SendBinding.ts +1 -0
  909. package/src/Cloudflare/Email/SendEmail.ts +13 -0
  910. package/src/Cloudflare/Flagship/App.ts +18 -6
  911. package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
  912. package/src/Cloudflare/KV/Namespace.ts +47 -1
  913. package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
  914. package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
  915. package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
  916. package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
  917. package/src/Cloudflare/LocalGateway.ts +86 -0
  918. package/src/Cloudflare/LocalRuntime.ts +21 -1
  919. package/src/Cloudflare/Logs.ts +58 -28
  920. package/src/Cloudflare/Providers.ts +4 -2
  921. package/src/Cloudflare/Queues/Consumer.ts +70 -2
  922. package/src/Cloudflare/Queues/Queue.ts +7 -16
  923. package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
  924. package/src/Cloudflare/Queues/QueueShim.ts +193 -0
  925. package/src/Cloudflare/R2/Bucket.ts +55 -1
  926. package/src/Cloudflare/R2/BucketBinding.ts +17 -3
  927. package/src/Cloudflare/R2/BucketLocal.ts +25 -8
  928. package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
  929. package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
  930. package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
  931. package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
  932. package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
  933. package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
  934. package/src/Cloudflare/Rum/Site.ts +11 -4
  935. package/src/Cloudflare/StateStore/Api.ts +1 -1
  936. package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
  937. package/src/Cloudflare/Website/StaticSite.ts +117 -28
  938. package/src/Cloudflare/Website/Vite.ts +33 -19
  939. package/src/Cloudflare/Workers/Assets.ts +53 -1
  940. package/src/Cloudflare/Workers/Compatibility.ts +27 -7
  941. package/src/Cloudflare/Workers/DurableObject.ts +22 -0
  942. package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
  943. package/src/Cloudflare/Workers/InferEnv.ts +74 -59
  944. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +662 -405
  945. package/src/Cloudflare/Workers/Worker.ts +683 -33
  946. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
  947. package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
  948. package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
  949. package/src/Cloudflare/Workers/WorkerBundle.ts +37 -2
  950. package/src/Cloudflare/Workers/WorkerProvider.ts +2287 -281
  951. package/src/Cloudflare/Workflows/WorkflowBridge.ts +36 -18
  952. package/src/Cloudflare/Workflows/index.ts +1 -1
  953. package/src/Command/Build.ts +8 -8
  954. package/src/Command/Command.ts +217 -42
  955. package/src/Command/Dev.ts +79 -107
  956. package/src/Command/Exec.ts +11 -2
  957. package/src/Command/Memo.ts +27 -3
  958. package/src/Command/Redaction.ts +181 -0
  959. package/src/Destroy.ts +1 -10
  960. package/src/Docker/Container.ts +85 -16
  961. package/src/Docker/Context.ts +236 -0
  962. package/src/Docker/Docker.ts +395 -43
  963. package/src/Docker/Image.ts +28 -7
  964. package/src/Docker/Network.ts +38 -14
  965. package/src/Docker/Providers.ts +16 -1
  966. package/src/Docker/RemoteImage.ts +23 -7
  967. package/src/Docker/Service.ts +1119 -0
  968. package/src/Docker/ServiceImage.ts +331 -0
  969. package/src/Docker/Swarm.ts +226 -0
  970. package/src/Docker/Volume.ts +25 -6
  971. package/src/Docker/index.ts +3 -0
  972. package/src/Http.ts +15 -2
  973. package/src/Local/LocalProvider.ts +518 -0
  974. package/src/Local/ProviderLayer.ts +113 -11
  975. package/src/Local/RpcProvider.ts +10 -5
  976. package/src/Local/RpcProviderProxy.ts +4 -1
  977. package/src/Local/RpcServer.ts +20 -2
  978. package/src/Output.ts +19 -11
  979. package/src/Plan.ts +182 -54
  980. package/src/Planetscale/AuthProvider.ts +15 -2
  981. package/src/Planetscale/Branch.ts +39 -6
  982. package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
  983. package/src/Planetscale/OAuthClient.ts +59 -3
  984. package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
  985. package/src/Platform.ts +29 -17
  986. package/src/Prisma/App.ts +420 -0
  987. package/src/Prisma/AuthProvider.ts +260 -0
  988. package/src/Prisma/Branch.ts +396 -0
  989. package/src/Prisma/Client.ts +1337 -0
  990. package/src/Prisma/Compute.ts +2876 -0
  991. package/src/Prisma/ComputeArchive.ts +432 -0
  992. package/src/Prisma/ComputeBuild.ts +1652 -0
  993. package/src/Prisma/ComputeLifecycle.ts +391 -0
  994. package/src/Prisma/Connect.ts +410 -0
  995. package/src/Prisma/Connection.ts +626 -0
  996. package/src/Prisma/CustomDomain.ts +363 -0
  997. package/src/Prisma/Database.ts +836 -0
  998. package/src/Prisma/Deployment.ts +655 -0
  999. package/src/Prisma/EnvironmentVariable.ts +401 -0
  1000. package/src/Prisma/Internal/AppIdentity.ts +19 -0
  1001. package/src/Prisma/Internal/AppPromotion.ts +172 -0
  1002. package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
  1003. package/src/Prisma/Internal/ArtifactFile.ts +242 -0
  1004. package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
  1005. package/src/Prisma/Internal/BundlePaths.ts +28 -0
  1006. package/src/Prisma/Internal/CleanupFailure.ts +17 -0
  1007. package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
  1008. package/src/Prisma/Internal/DeploymentActions.ts +59 -0
  1009. package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
  1010. package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
  1011. package/src/Prisma/Internal/EnvName.ts +24 -0
  1012. package/src/Prisma/Internal/HttpClient.ts +30 -0
  1013. package/src/Prisma/Operations.ts +259 -0
  1014. package/src/Prisma/Postgres.ts +24 -0
  1015. package/src/Prisma/PostgresOrigin.ts +52 -0
  1016. package/src/Prisma/PrismaDevDatabase.ts +395 -0
  1017. package/src/Prisma/PrismaEnvironment.ts +89 -0
  1018. package/src/Prisma/PrismaLogs.ts +434 -0
  1019. package/src/Prisma/Project.ts +681 -0
  1020. package/src/Prisma/Providers.ts +411 -0
  1021. package/src/Prisma/Refs.ts +69 -0
  1022. package/src/Prisma/SourceRepository.ts +432 -0
  1023. package/src/Prisma/Types.ts +611 -0
  1024. package/src/Prisma/index.ts +24 -0
  1025. package/src/Provider.ts +175 -39
  1026. package/src/ProviderMode.ts +123 -0
  1027. package/src/Resource.ts +64 -1
  1028. package/src/RuntimeContext.ts +7 -0
  1029. package/src/SQL/D1.ts +1 -1
  1030. package/src/SQL/Postgres.ts +1 -1
  1031. package/src/Server/Process.ts +33 -0
  1032. package/src/State/InMemoryState.ts +2 -0
  1033. package/src/State/ResourceState.ts +18 -0
  1034. package/src/Sync.ts +14 -2
  1035. package/src/Telemetry.ts +736 -0
  1036. package/src/Test/Alchemy.ts +4 -2
  1037. package/src/Test/Core.ts +1 -8
  1038. package/src/Test/Vitest.ts +244 -0
  1039. package/src/Util/Clank.ts +37 -11
  1040. package/src/Util/proxy-chain.ts +73 -4
  1041. package/src/Util/zip.ts +39 -0
  1042. package/src/index.ts +3 -0
  1043. package/lib/SQL/index.d.ts +0 -4
  1044. package/lib/SQL/index.d.ts.map +0 -1
  1045. package/lib/SQL/index.js +0 -4
  1046. package/lib/SQL/index.js.map +0 -1
  1047. package/src/SQL/index.ts +0 -3
@@ -0,0 +1,36 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { Converse } from "./Converse.ts";
4
+ import { ConverseHttp } from "./ConverseHttp.ts";
5
+ import { ConverseStream } from "./ConverseStream.ts";
6
+ import { ConverseStreamHttp } from "./ConverseStreamHttp.ts";
7
+ import {
8
+ LanguageModel,
9
+ type LanguageModelOptions,
10
+ makeLanguageModelLayer,
11
+ } from "./LanguageModel.ts";
12
+
13
+ /**
14
+ * HTTP implementation of {@link LanguageModel}. Composes the {@link Converse}
15
+ * and {@link ConverseStream} bindings, so binding a model registers both
16
+ * `bedrock:InvokeModel` and `bedrock:InvokeModelWithResponseStream` scoped to
17
+ * exactly that model.
18
+ */
19
+ export const LanguageModelHttp = Layer.effect(
20
+ LanguageModel,
21
+ Effect.gen(function* () {
22
+ const converse = yield* Converse;
23
+ const converseStream = yield* ConverseStream;
24
+ return Effect.fn(function* (
25
+ model: string | readonly [string, ...string[]],
26
+ options?: LanguageModelOptions,
27
+ ) {
28
+ const [first, ...rest] = typeof model === "string" ? [model] : model;
29
+ return makeLanguageModelLayer({
30
+ converse: yield* converse(first, ...rest),
31
+ converseStream: yield* converseStream(first, ...rest),
32
+ parameters: options?.parameters,
33
+ });
34
+ });
35
+ }),
36
+ ).pipe(Layer.provide(Layer.mergeAll(ConverseHttp, ConverseStreamHttp)));
@@ -26,6 +26,8 @@ export * from "./InvokeModelHttp.ts";
26
26
  export * from "./InvokeModelWithResponseStream.ts";
27
27
  export * from "./InvokeModelWithResponseStreamHttp.ts";
28
28
  export * from "./KnowledgeBase.ts";
29
+ export * from "./LanguageModel.ts";
30
+ export * from "./LanguageModelHttp.ts";
29
31
  export * from "./ListIngestionJobs.ts";
30
32
  export * from "./ListIngestionJobsHttp.ts";
31
33
  export * from "./ListKnowledgeBaseDocuments.ts";
@@ -954,7 +954,10 @@ export const DistributionProvider = () =>
954
954
  // Sync config — diff observed config against desired and patch
955
955
  // via `updateDistribution` with the freshly observed ETag. We
956
956
  // keep the observed `CallerReference` because CloudFront does
957
- // not allow it to change.
957
+ // not allow it to change, and fill every member the props don't
958
+ // express from the observed config: UpdateDistribution replaces
959
+ // the whole config and rejects requests with missing members
960
+ // (see `mergeWithObservedConfig`).
958
961
  yield* Effect.logInfo(
959
962
  `CloudFront Distribution reconcile: updating config for ${observed.distribution.Id} with etag=${observed.etag ?? "missing"}`,
960
963
  );
@@ -962,9 +965,9 @@ export const DistributionProvider = () =>
962
965
  .updateDistribution({
963
966
  Id: observed.distribution.Id,
964
967
  IfMatch: observed.etag,
965
- DistributionConfig: toConfig(
966
- observed.config.CallerReference,
967
- news,
968
+ DistributionConfig: mergeWithObservedConfig(
969
+ toConfig(observed.config.CallerReference, news),
970
+ observed.config,
968
971
  ),
969
972
  })
970
973
  .pipe(
@@ -1146,8 +1149,16 @@ const toBehavior = (
1146
1149
  CachePolicyId: behavior.cachePolicyId,
1147
1150
  OriginRequestPolicyId: behavior.originRequestPolicyId,
1148
1151
  ResponseHeadersPolicyId: behavior.responseHeadersPolicyId,
1149
- ForwardedValues: behavior.forwardedValues,
1150
- MinTTL: toWireSeconds(behavior.minTtl),
1152
+ // Without a cache policy, CloudFront is in legacy mode and rejects the
1153
+ // request unless both ForwardedValues and MinTTL are present.
1154
+ ForwardedValues:
1155
+ behavior.forwardedValues ??
1156
+ (behavior.cachePolicyId === undefined
1157
+ ? { QueryString: false, Cookies: { Forward: "none" } }
1158
+ : undefined),
1159
+ MinTTL:
1160
+ toWireSeconds(behavior.minTtl) ??
1161
+ (behavior.cachePolicyId === undefined ? 0 : undefined),
1151
1162
  DefaultTTL: toWireSeconds(behavior.defaultTtl),
1152
1163
  MaxTTL: toWireSeconds(behavior.maxTtl),
1153
1164
  TrustedKeyGroups: behavior.trustedKeyGroups
@@ -1277,6 +1288,105 @@ const toOrigin = (origin: DistributionOrigin): cloudfront.Origin => {
1277
1288
  };
1278
1289
  };
1279
1290
 
1291
+ /**
1292
+ * Recursively fills `undefined` members of `desired` from `observed`.
1293
+ * Defined values in `desired` always win; arrays are taken from `desired`
1294
+ * wholesale (item-level merging is the caller's concern).
1295
+ */
1296
+ const fillUndefined = <T>(desired: T, observed: T): T => {
1297
+ if (desired === undefined) return observed;
1298
+ if (
1299
+ desired === null ||
1300
+ typeof desired !== "object" ||
1301
+ Array.isArray(desired) ||
1302
+ observed === null ||
1303
+ typeof observed !== "object" ||
1304
+ Array.isArray(observed)
1305
+ ) {
1306
+ return desired;
1307
+ }
1308
+ const out: Record<string, unknown> = {
1309
+ ...(desired as Record<string, unknown>),
1310
+ };
1311
+ const desiredObj = desired as Record<string, unknown>;
1312
+ for (const key of Object.keys(observed as Record<string, unknown>)) {
1313
+ // CloudFront list shapes pair `Quantity` with `Items`. A desired node
1314
+ // that declares a `Quantity` but no `Items` (e.g. a geo restriction of
1315
+ // `{ RestrictionType: "none", Quantity: 0 }`) is fully specified —
1316
+ // filling `Items` from the observed config would desynchronize the two
1317
+ // and CloudFront rejects the update with `InconsistentQuantities`.
1318
+ if (
1319
+ key === "Items" &&
1320
+ typeof desiredObj.Quantity === "number" &&
1321
+ desiredObj.Items === undefined
1322
+ ) {
1323
+ continue;
1324
+ }
1325
+ out[key] = fillUndefined(
1326
+ desiredObj[key],
1327
+ (observed as Record<string, unknown>)[key],
1328
+ );
1329
+ }
1330
+ return out as T;
1331
+ };
1332
+
1333
+ /**
1334
+ * Completes a desired `DistributionConfig` with the freshly observed live
1335
+ * config before an `updateDistribution` call.
1336
+ *
1337
+ * CloudFront's `UpdateDistribution` replaces the ENTIRE distribution config:
1338
+ * any member missing from the request is rejected with `IllegalUpdate`
1339
+ * (observed in practice: "Default root object is missing for the resource",
1340
+ * "The 'OriginCustomHeaders' field is missing"). `toConfig` emits only the
1341
+ * members the props express, so updating a live distribution fails on every
1342
+ * member the props don't model — some of which (e.g. per-origin
1343
+ * `CustomHeaders`, per-behavior `TrustedSigners`) are nested inside
1344
+ * collections and not expressible as props at all.
1345
+ *
1346
+ * The standard CloudFront update pattern is read-modify-write, which the
1347
+ * delete path here already uses (`{ ...current.config, Enabled: false }`).
1348
+ * This applies the same idea to updates: desired values always win — the
1349
+ * declared props still fully control drift — and only `undefined` members
1350
+ * are carried over from the observed config. `Origins` and `CacheBehaviors`
1351
+ * items are additionally merged by identity (`Id` / `PathPattern`) so their
1352
+ * nested unexpressed members carry over too.
1353
+ *
1354
+ * Exported for unit tests.
1355
+ */
1356
+ export const mergeWithObservedConfig = (
1357
+ desired: cloudfront.DistributionConfig,
1358
+ observed: cloudfront.DistributionConfig,
1359
+ ): cloudfront.DistributionConfig => {
1360
+ const merged = fillUndefined(desired, observed);
1361
+ if (merged.Origins?.Items && observed.Origins?.Items) {
1362
+ const observedOrigins = observed.Origins.Items;
1363
+ merged.Origins = {
1364
+ ...merged.Origins,
1365
+ Items: merged.Origins.Items.map((item) =>
1366
+ fillUndefined(
1367
+ item,
1368
+ observedOrigins.find((origin) => origin.Id === item.Id) ?? item,
1369
+ ),
1370
+ ),
1371
+ };
1372
+ }
1373
+ if (merged.CacheBehaviors?.Items && observed.CacheBehaviors?.Items) {
1374
+ const observedBehaviors = observed.CacheBehaviors.Items;
1375
+ merged.CacheBehaviors = {
1376
+ ...merged.CacheBehaviors,
1377
+ Items: merged.CacheBehaviors.Items.map((item) =>
1378
+ fillUndefined(
1379
+ item,
1380
+ observedBehaviors.find(
1381
+ (behavior) => behavior.PathPattern === item.PathPattern,
1382
+ ) ?? item,
1383
+ ),
1384
+ ),
1385
+ };
1386
+ }
1387
+ return merged;
1388
+ };
1389
+
1280
1390
  const toConfig = (
1281
1391
  callerReference: string,
1282
1392
  props: DistributionProps,
@@ -1,5 +1,6 @@
1
1
  import * as ce from "@distilled.cloud/aws/cost-explorer";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Schedule from "effect/Schedule";
3
4
  import { diffTags } from "../../Tags.ts";
4
5
  import { Region } from "../Region.ts";
5
6
 
@@ -11,8 +12,28 @@ import { Region } from "../Region.ts";
11
12
  // (same pattern as CloudFront KVS / ECR Public / WAFv2 / GlobalAccelerator).
12
13
  export const CE_REGION = "us-east-1" as const;
13
14
 
14
- export const pinCe = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
15
- effect.pipe(Effect.provideService(Region, Effect.succeed(CE_REGION)));
15
+ // Cost Explorer's control-plane rate limits are extremely low and shared
16
+ // account-wide, so concurrent deploys readily trip `LimitExceededException:
17
+ // Rate limit exceeded`. Retry it with capped exponential backoff, bounded
18
+ // (~47s total) so a genuine quota LimitExceeded still surfaces quickly.
19
+ const ceThrottleRetrySchedule = Schedule.max([
20
+ Schedule.min([
21
+ Schedule.exponential("1 second"),
22
+ Schedule.spaced("8 seconds"),
23
+ ]),
24
+ Schedule.recurs(8),
25
+ ]);
26
+
27
+ export const pinCe = <A, E extends { _tag: string }, R>(
28
+ effect: Effect.Effect<A, E, R>,
29
+ ): Effect.Effect<A, E, R> =>
30
+ effect.pipe(
31
+ Effect.provideService(Region, Effect.succeed(CE_REGION)),
32
+ Effect.retry({
33
+ while: (e) => e._tag === "LimitExceededException",
34
+ schedule: ceThrottleRetrySchedule,
35
+ }),
36
+ );
16
37
 
17
38
  /** Convert a plain tag record to Cost Explorer's `ResourceTag` list shape. */
18
39
  export const toResourceTags = (
@@ -1,5 +1,6 @@
1
1
  import * as datasync from "@distilled.cloud/aws/datasync";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Schedule from "effect/Schedule";
3
4
  import * as Stream from "effect/Stream";
4
5
  import { isResolved } from "../../Diff.ts";
5
6
  import { createPhysicalName } from "../../PhysicalName.ts";
@@ -201,21 +202,35 @@ export const TaskProvider = () =>
201
202
 
202
203
  // 2. ENSURE — create if missing.
203
204
  if (t === undefined) {
204
- const created = yield* datasync.createTask({
205
- SourceLocationArn: news.sourceLocationArn,
206
- DestinationLocationArn: news.destinationLocationArn,
207
- Name: name,
208
- Options: news.options,
209
- Excludes: news.excludes,
210
- Includes: news.includes,
211
- Schedule: news.schedule,
212
- CloudWatchLogGroupArn: news.cloudWatchLogGroupArn,
213
- TaskMode: news.taskMode,
214
- Tags: Object.entries(desiredTags).map(([Key, Value]) => ({
215
- Key,
216
- Value,
217
- })),
218
- });
205
+ const created = yield* datasync
206
+ .createTask({
207
+ SourceLocationArn: news.sourceLocationArn,
208
+ DestinationLocationArn: news.destinationLocationArn,
209
+ Name: name,
210
+ Options: news.options,
211
+ Excludes: news.excludes,
212
+ Includes: news.includes,
213
+ Schedule: news.schedule,
214
+ CloudWatchLogGroupArn: news.cloudWatchLogGroupArn,
215
+ TaskMode: news.taskMode,
216
+ Tags: Object.entries(desiredTags).map(([Key, Value]) => ({
217
+ Key,
218
+ Value,
219
+ })),
220
+ })
221
+ .pipe(
222
+ // createTask synchronously probes the locations' S3 access,
223
+ // and a freshly-created location role's IAM policy can lag
224
+ // (typed `LocationAccessTestFailed`). Retry bounded through
225
+ // the propagation window.
226
+ Effect.retry({
227
+ while: (e) => e._tag === "LocationAccessTestFailed",
228
+ schedule: Schedule.max([
229
+ Schedule.spaced("5 seconds"),
230
+ Schedule.recurs(9),
231
+ ]),
232
+ }),
233
+ );
219
234
  arn = created.TaskArn!;
220
235
  t = yield* describe(arn);
221
236
  } else {
@@ -396,9 +396,12 @@ export const InternetGatewayProvider = () =>
396
396
  while: (e) => {
397
397
  return e._tag === "DependencyViolation";
398
398
  },
399
+ // Public addresses on a draining EKS/HyperPod control
400
+ // plane's ENIs can take several minutes to release —
401
+ // 5s x 60 = ~5 min.
399
402
  schedule: Schedule.max([
400
403
  Schedule.fixed(5000),
401
- Schedule.recurs(10),
404
+ Schedule.recurs(60),
402
405
  ]).pipe(
403
406
  Schedule.tap(({ attempt }) =>
404
407
  session.note(
@@ -424,7 +427,9 @@ export const InternetGatewayProvider = () =>
424
427
  "InvalidInternetGatewayID.NotFound",
425
428
  () => Effect.void,
426
429
  ),
427
- // Retry on dependency violations
430
+ // Retry on dependency violations. Public addresses on a
431
+ // draining EKS/HyperPod control plane's ENIs can take
432
+ // several minutes to release — 5s x 60 = ~5 min.
428
433
  Effect.retry({
429
434
  while: (e) => {
430
435
  return (
@@ -435,7 +440,7 @@ export const InternetGatewayProvider = () =>
435
440
  },
436
441
  schedule: Schedule.max([
437
442
  Schedule.fixed(5000),
438
- Schedule.recurs(10),
443
+ Schedule.recurs(60),
439
444
  ]).pipe(
440
445
  Schedule.tap(({ attempt }) =>
441
446
  session.note(
@@ -0,0 +1,169 @@
1
+ import * as ec2 from "@distilled.cloud/aws/ec2";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Result from "effect/Result";
4
+
5
+ /**
6
+ * Shared teardown accelerator for network interfaces that AWS releases
7
+ * *asynchronously* after their owning resource is deleted.
8
+ *
9
+ * The canonical case is a VPC-attached Lambda Function: `DeleteFunction`
10
+ * returns immediately, but the function's Hyperplane ENIs stay `in-use` in
11
+ * their subnets/security groups for several minutes, and Lambda's own reaper
12
+ * may not delete the detached ENI for up to ~20 minutes. Until the ENI is
13
+ * gone, `DeleteSubnet`/`DeleteSecurityGroup` fail with `DependencyViolation`
14
+ * — historically forcing users to run `destroy` twice, minutes apart.
15
+ *
16
+ * `retryWhileLingeringEnis` wraps a subnet/security-group delete call:
17
+ * on every `DependencyViolation` it observes the ENIs still occupying the
18
+ * resource, explicitly deletes any *detached* (status `available`) Lambda
19
+ * ENI instead of waiting for Lambda's reaper, and — while the blockers are
20
+ * exclusively Lambda ENIs that are provably on their way out — keeps waiting
21
+ * on an extended budget that covers AWS's worst-case release window. Any
22
+ * other lingering dependency keeps today's shorter budget.
23
+ */
24
+
25
+ /**
26
+ * ENIs that their owning service tears down asynchronously and that are safe
27
+ * for us to delete once detached. Only Lambda Hyperplane ENIs qualify today:
28
+ * every other managed type (NAT gateways, VPC endpoints, ELB, EFS mount
29
+ * targets, ECS task ENIs) is deleted by the API call that deletes its owner
30
+ * — and their owners are proper alchemy resources ordered ahead of the
31
+ * subnet/SG by the deletion graph.
32
+ *
33
+ * Matching note (observed live): while attached, a Hyperplane ENI reports
34
+ * `InterfaceType: "lambda"` — but the moment Lambda detaches it, the type
35
+ * flips to plain `"interface"` and only the description (`AWS Lambda VPC
36
+ * ENI-{functionName}`) still identifies it. Match both, like Terraform does.
37
+ */
38
+ const isReapableEni = (eni: ec2.NetworkInterface): boolean =>
39
+ eni.InterfaceType === "lambda" ||
40
+ (eni.Description?.startsWith("AWS Lambda VPC ENI") ?? false);
41
+
42
+ export interface LingeringEniScope {
43
+ /** ENI filter naming the resource being deleted. */
44
+ readonly name: "subnet-id" | "group-id";
45
+ readonly value: string;
46
+ }
47
+
48
+ /**
49
+ * Observe ENIs still occupying the resource and delete any detached
50
+ * reapable ones. Best-effort by design: the reaper only accelerates the
51
+ * outer DependencyViolation retry, so an account that cannot describe or
52
+ * delete ENIs degrades to plain waiting instead of failing the destroy.
53
+ */
54
+ const reapLingeringEnis = Effect.fn(function* (
55
+ scope: LingeringEniScope,
56
+ session: { note: (note: string) => Effect.Effect<void> },
57
+ ) {
58
+ const described = yield* ec2
59
+ .describeNetworkInterfaces({
60
+ Filters: [{ Name: scope.name, Values: [scope.value] }],
61
+ })
62
+ .pipe(Effect.catch(() => Effect.succeed({ NetworkInterfaces: [] })));
63
+
64
+ const lingering = (described.NetworkInterfaces ?? []).filter(isReapableEni);
65
+
66
+ let reaped = 0;
67
+ let pending = 0;
68
+ for (const eni of lingering) {
69
+ if (eni.Status !== "available" || eni.NetworkInterfaceId === undefined) {
70
+ pending += 1;
71
+ continue;
72
+ }
73
+ const outcome = yield* ec2
74
+ .deleteNetworkInterface({
75
+ NetworkInterfaceId: eni.NetworkInterfaceId,
76
+ })
77
+ .pipe(
78
+ Effect.as("deleted" as const),
79
+ // Already gone counts as progress; anything else (raced back to
80
+ // in-use, throttle, missing IAM permission) must not fail the
81
+ // destroy — reaping is purely an accelerator, so degrade to the
82
+ // outer retry's plain waiting.
83
+ Effect.catchTag("InvalidNetworkInterfaceID.NotFound", () =>
84
+ Effect.succeed("deleted" as const),
85
+ ),
86
+ Effect.catch(() => Effect.succeed("pending" as const)),
87
+ );
88
+ if (outcome === "deleted") {
89
+ yield* session.note(
90
+ `Deleted detached Lambda ENI ${eni.NetworkInterfaceId}`,
91
+ );
92
+ reaped += 1;
93
+ } else {
94
+ pending += 1;
95
+ }
96
+ }
97
+
98
+ return {
99
+ /** Reapable ENIs still occupying the resource after this pass. */
100
+ pendingReapable: pending,
101
+ /** Detached reapable ENIs actually deleted this pass. */
102
+ reaped,
103
+ };
104
+ });
105
+
106
+ /**
107
+ * Retry `deleteCall` while it fails with a dependency violation, reaping
108
+ * lingering ENIs between attempts.
109
+ *
110
+ * - Base budget (~12 min) matches the historical subnet schedule: fast
111
+ * exponential start, capped at 30-second steps.
112
+ * - While the observed blockers include reapable ENIs (attached or just
113
+ * reaped), the budget extends to ~25 min — Lambda's documented worst-case
114
+ * ENI release window — because those blockers are guaranteed to clear.
115
+ */
116
+ export const retryWhileLingeringEnis = <A, E extends { _tag: string }, R>(
117
+ deleteCall: Effect.Effect<A, E, R>,
118
+ options: {
119
+ scope: LingeringEniScope;
120
+ isDependencyViolation: (error: E) => boolean;
121
+ session: { note: (note: string) => Effect.Effect<void> };
122
+ },
123
+ ) =>
124
+ Effect.gen(function* () {
125
+ const BASE_BUDGET_MILLIS = 12 * 60 * 1000;
126
+ const EXTENDED_BUDGET_MILLIS = 25 * 60 * 1000;
127
+
128
+ let elapsedMillis = 0;
129
+ let sawReapable = false;
130
+
131
+ for (let attempt = 1; ; attempt++) {
132
+ const result = yield* Effect.result(deleteCall);
133
+ if (Result.isSuccess(result)) {
134
+ return result.success;
135
+ }
136
+ const error = result.failure;
137
+ if (!options.isDependencyViolation(error)) {
138
+ return yield* Effect.fail(error);
139
+ }
140
+
141
+ const { pendingReapable, reaped } = yield* reapLingeringEnis(
142
+ options.scope,
143
+ options.session,
144
+ );
145
+ if (reaped > 0) {
146
+ // An ENI just left — the next attempt has a real chance; skip the
147
+ // backoff sleep and try immediately.
148
+ continue;
149
+ }
150
+ sawReapable ||= pendingReapable > 0;
151
+
152
+ const budget = sawReapable ? EXTENDED_BUDGET_MILLIS : BASE_BUDGET_MILLIS;
153
+ if (elapsedMillis >= budget) {
154
+ return yield* Effect.fail(error);
155
+ }
156
+
157
+ yield* options.session.note(
158
+ pendingReapable > 0
159
+ ? `Waiting for AWS to release ${pendingReapable} lingering ENI(s)... (attempt ${attempt})`
160
+ : `Waiting for dependencies to clear... (attempt ${attempt})`,
161
+ );
162
+
163
+ // Fast exponential start capped at 30-second steps (the historical
164
+ // subnet schedule).
165
+ const delayMillis = Math.min(1000 * 1.5 ** (attempt - 1), 30_000);
166
+ yield* Effect.sleep(delayMillis);
167
+ elapsedMillis += delayMillis;
168
+ }
169
+ });
@@ -11,6 +11,7 @@ import type { AccountID } from "../Environment.ts";
11
11
  import { AWSEnvironment } from "../Environment.ts";
12
12
  import type { Providers } from "../Providers.ts";
13
13
  import type { RegionID } from "../Region.ts";
14
+ import { retryWhileLingeringEnis } from "./LingeringEnis.ts";
14
15
  import type { VpcId } from "./Vpc.ts";
15
16
 
16
17
  export type SecurityGroupId<ID extends string = string> = `sg-${ID}`;
@@ -681,34 +682,29 @@ export const SecurityGroupProvider = () =>
681
682
 
682
683
  yield* session.note(`Deleting Security Group: ${groupId}`);
683
684
 
684
- yield* ec2
685
- .deleteSecurityGroup({
686
- GroupId: groupId,
687
- DryRun: false,
688
- })
689
- .pipe(
690
- Effect.catchTag("InvalidGroup.NotFound", () => Effect.void),
691
- // Retry on dependency violations (e.g., ENIs still using the security group)
692
- Effect.retry({
693
- while: (e) => {
694
- return (
695
- e._tag === "DependencyViolation" ||
696
- (e._tag === "ValidationError" &&
697
- e.message?.includes("DependencyViolation"))
698
- );
699
- },
700
- schedule: Schedule.max([
701
- Schedule.fixed(5000),
702
- Schedule.recurs(30),
703
- ]).pipe(
704
- Schedule.tap(({ attempt }) =>
705
- session.note(
706
- `Waiting for dependencies to clear... (attempt ${attempt})`,
707
- ),
708
- ),
709
- ),
710
- }),
711
- );
685
+ // DependencyViolation means ENIs still reference the group — ALB,
686
+ // ECS task, or VPC-attached Lambda ENIs release minutes after the
687
+ // owning resource is deleted. Lambda Hyperplane ENIs are reaped
688
+ // explicitly between attempts (they otherwise linger up to ~20
689
+ // minutes and used to force a second `destroy` run).
690
+ yield* retryWhileLingeringEnis(
691
+ ec2
692
+ .deleteSecurityGroup({
693
+ GroupId: groupId,
694
+ DryRun: false,
695
+ })
696
+ .pipe(
697
+ Effect.catchTag("InvalidGroup.NotFound", () => Effect.void),
698
+ ),
699
+ {
700
+ scope: { name: "group-id", value: groupId },
701
+ isDependencyViolation: (e) =>
702
+ e._tag === "DependencyViolation" ||
703
+ (e._tag === "ValidationError" &&
704
+ (e.message?.includes("DependencyViolation") ?? false)),
705
+ session,
706
+ },
707
+ );
712
708
 
713
709
  yield* session.note(`Security Group ${groupId} deleted`);
714
710
  }),
@@ -7,6 +7,7 @@ import * as Stream from "effect/Stream";
7
7
 
8
8
  import type { ScopedPlanStatusSession } from "../../Cli/Cli.ts";
9
9
  import { isResolved, somePropsAreDifferent } from "../../Diff.ts";
10
+ import { retryWhileLingeringEnis } from "./LingeringEnis.ts";
10
11
  import * as Provider from "../../Provider.ts";
11
12
  import { Resource } from "../../Resource.ts";
12
13
  import type { Providers } from "../Providers.ts";
@@ -597,40 +598,28 @@ export const SubnetProvider = () =>
597
598
 
598
599
  yield* session.note(`Deleting subnet: ${subnetId}`);
599
600
 
600
- // 1. Attempt to delete subnet
601
- yield* ec2
602
- .deleteSubnet({
603
- SubnetId: subnetId,
604
- DryRun: false,
605
- })
606
- .pipe(
607
- Effect.tapError(Effect.logDebug),
608
- Effect.catchTag("InvalidSubnetID.NotFound", () => Effect.void),
609
- // Retry on dependency violations (resources still being deleted).
610
- // ENIs from a just-deleted ALB or CloudFront VPC origin can take
611
- // several minutes to detach after the owning resource is gone, so
612
- // budget ~12 min (fast exponential start, capped at 30s steps).
613
- Effect.retry({
614
- while: (e) => {
615
- // DependencyViolation means there are still dependent resources
616
- // This can happen if ENIs/instances are being deleted concurrently
617
- return e._tag === "DependencyViolation";
618
- },
619
- schedule: Schedule.max([
620
- Schedule.min([
621
- Schedule.exponential(1000, 1.5),
622
- Schedule.spaced("30 seconds"),
623
- ]),
624
- Schedule.recurs(30),
625
- ]).pipe(
626
- Schedule.tap(({ attempt }) =>
627
- session.note(
628
- `Waiting for dependencies to clear... (attempt ${attempt})`,
629
- ),
630
- ),
631
- ),
632
- }),
633
- );
601
+ // 1. Attempt to delete subnet. DependencyViolation means resources
602
+ // still occupy it — ENIs from a just-deleted ALB, CloudFront VPC
603
+ // origin, or a VPC-attached Lambda can take minutes to release
604
+ // after the owning resource is gone. Lambda Hyperplane ENIs are
605
+ // reaped explicitly between attempts (they otherwise linger up to
606
+ // ~20 minutes and used to force a second `destroy` run).
607
+ yield* retryWhileLingeringEnis(
608
+ ec2
609
+ .deleteSubnet({
610
+ SubnetId: subnetId,
611
+ DryRun: false,
612
+ })
613
+ .pipe(
614
+ Effect.tapError(Effect.logDebug),
615
+ Effect.catchTag("InvalidSubnetID.NotFound", () => Effect.void),
616
+ ),
617
+ {
618
+ scope: { name: "subnet-id", value: subnetId },
619
+ isDependencyViolation: (e) => e._tag === "DependencyViolation",
620
+ session,
621
+ },
622
+ );
634
623
 
635
624
  // 2. Wait for subnet to be fully deleted
636
625
  yield* waitForSubnetDeleted(subnetId, session);