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,518 @@
1
+ /** @effect-diagnostics anyUnknownInErrorContext:off */
2
+
3
+ import * as Effect from "effect/Effect";
4
+ import * as Exit from "effect/Exit";
5
+ import * as Fiber from "effect/Fiber";
6
+ import * as Redacted from "effect/Redacted";
7
+ import * as Scope from "effect/Scope";
8
+ import * as Semaphore from "effect/Semaphore";
9
+ import type { ScopedPlanStatusSession } from "../Cli/Cli.ts";
10
+ import { isResolved, stripEffects, type Diff } from "../Diff.ts";
11
+ import type { Platform } from "../Platform.ts";
12
+ import type { ProviderService } from "../Provider.ts";
13
+ import type {
14
+ ResourceBinding,
15
+ ResourceClassLike,
16
+ ResourceLike,
17
+ } from "../Resource.ts";
18
+ import { sha256 } from "../Util/sha256.ts";
19
+ import * as RpcProvider from "./RpcProvider.ts";
20
+
21
+ /**
22
+ * # LocalProvider — the standard shape of a long-running local provider
23
+ *
24
+ * A local provider's "physical resource" is a running process (a spawned
25
+ * dev server, a workerd instance) that lives in the dev sidecar and is
26
+ * invisible to the state store: a state row can say `created` while the
27
+ * process is dead (the previous dev session ended), and a redundant
28
+ * reconcile can arrive while the process is healthy. Every local provider
29
+ * therefore needs the same machinery:
30
+ *
31
+ * - an **instance registry** answering "is something running for this
32
+ * resource right now?",
33
+ * - a **config comparison** answering "was it started with the config I'm
34
+ * being asked for?",
35
+ * - restart/teardown choreography that keeps the process alive across
36
+ * deploys (scopes forked from the provider root scope) and kills it on
37
+ * change or delete.
38
+ *
39
+ * {@link make} generates `diff` / `reconcile` / `delete` / `list` from that
40
+ * machinery; the provider author writes {@link LocalProviderSpec.start}
41
+ * (how to boot one instance) and optionally
42
+ * {@link LocalProviderSpec.resolveConfig} (what the restart-relevant config
43
+ * is) and {@link LocalProviderSpec.stop} (cleanup that outlives instance
44
+ * scopes).
45
+ *
46
+ * The produced layer wraps {@link RpcProvider.effect}, so during
47
+ * `alchemy dev` the provider (and its registry of running processes) lives
48
+ * in the sidecar process and survives user-code hot reloads.
49
+ */
50
+
51
+ /** Inputs common to every generated lifecycle call. */
52
+ export interface LocalProviderInput<R extends ResourceLike> {
53
+ id: string;
54
+ fqn: string;
55
+ instanceId: string;
56
+ news: R["Props"];
57
+ bindings: ResourceBinding<R["Binding"]>[];
58
+ }
59
+
60
+ export interface StartContext<
61
+ R extends ResourceLike,
62
+ Config,
63
+ > extends LocalProviderInput<R> {
64
+ /**
65
+ * The value produced by {@link LocalProviderSpec.resolveConfig} for this
66
+ * reconcile — the same value whose canonical hash decided that a
67
+ * (re)start was needed, so "what changed?" and "what starts?" can never
68
+ * drift.
69
+ */
70
+ config: Config;
71
+ session: ScopedPlanStatusSession;
72
+ /**
73
+ * Removes this instance from the running registry (a no-op if it has
74
+ * already been replaced), so the next `diff` reports `update` and the
75
+ * next reconcile boots a fresh instance. Fork this after the process's
76
+ * exit — e.g. `child.exitCode.pipe(Effect.exit, Effect.flatMap(() =>
77
+ * invalidate), Effect.forkScoped)` — for processes that can die on their
78
+ * own.
79
+ */
80
+ invalidate: Effect.Effect<void>;
81
+ }
82
+
83
+ export interface StopContext {
84
+ id: string;
85
+ instanceId: string;
86
+ }
87
+
88
+ export interface StablesContext<
89
+ R extends ResourceLike,
90
+ Config,
91
+ > extends LocalProviderInput<R> {
92
+ config: Config;
93
+ output: R["Attributes"] | undefined;
94
+ }
95
+
96
+ /** The default restart-relevant config when `resolveConfig` is omitted. */
97
+ export interface DefaultLocalConfig<R extends ResourceLike> {
98
+ news: R["Props"];
99
+ bindings: ResourceBinding<R["Binding"]>[];
100
+ }
101
+
102
+ export interface LocalProviderSpec<
103
+ R extends ResourceLike,
104
+ Config = DefaultLocalConfig<R>,
105
+ StartR = never,
106
+ > {
107
+ /**
108
+ * Derive the restart-relevant desired config from resolved inputs.
109
+ *
110
+ * MUST return plain, canonically-serializable data (no closures, no
111
+ * Effects — `Redacted` values are unwrapped by the hasher) and must be
112
+ * cheap and side-effect-free: it runs inside `diff` on every plan. The
113
+ * helper canonically hashes the result for the noop-vs-restart decision,
114
+ * records it on the registry entry, and passes it to {@link start} so a
115
+ * restart consumes exactly what was compared.
116
+ *
117
+ * Lifecycle-scoped services (`Stack`, `Stage`, `InstanceId`, `Artifacts`)
118
+ * are available ambiently (e.g. for `createPhysicalName`); resolve
119
+ * anything else in the spec effect and close over it.
120
+ *
121
+ * @default `{ news: stripEffects(news), bindings }`
122
+ */
123
+ resolveConfig?: (
124
+ ctx: LocalProviderInput<R>,
125
+ ) => Effect.Effect<Config, any, any>;
126
+ /**
127
+ * Boot one instance: acquire the long-running process in the ambient
128
+ * `Scope` and return the resource's Attributes once it is *ready* (URL
129
+ * extracted, first serve succeeded, ...). The scope outlives the
130
+ * reconcile that started it — it is forked from the provider root scope
131
+ * and closed only when the instance is restarted (config change) or
132
+ * deleted. The returned Effect MAY complete after readiness; liveness is
133
+ * "registry entry with an open scope", not "unfinished fiber".
134
+ *
135
+ * Extra requirements beyond `Scope` (`StartR`) become requirements of
136
+ * the provider layer — they must be present at layer build so the
137
+ * lifecycle wrapper can hand them to `start` at runtime.
138
+ */
139
+ start: (
140
+ ctx: StartContext<R, Config>,
141
+ ) => Effect.Effect<R["Attributes"], any, Scope.Scope | StartR>;
142
+ /**
143
+ * Extra cleanup on delete, after the instance scope has closed — for
144
+ * state that intentionally spans restarts and therefore cannot live in
145
+ * the instance scope (proxy servers kept for URL stability, restart
146
+ * hooks, ...). NOT called on restarts: a restarting instance keeps that
147
+ * shared state. Must be idempotent; also called when nothing is running
148
+ * (e.g. cleaning up a local row during a live deploy).
149
+ */
150
+ stop?: (ctx: StopContext) => Effect.Effect<void, any>;
151
+ /**
152
+ * Attributes that remain stable across the update the generated `diff`
153
+ * is about to report (see `Diff.stables`). Called only when the diff is
154
+ * an `update`.
155
+ */
156
+ stables?: (
157
+ ctx: StablesContext<R, Config>,
158
+ ) => Effect.Effect<
159
+ Extract<keyof R["Attributes"], string>[] | undefined,
160
+ any,
161
+ any
162
+ >;
163
+ precreate?: AnyReqProviderService<R>["precreate"];
164
+ tail?: AnyReqProviderService<R>["tail"];
165
+ logs?: AnyReqProviderService<R>["logs"];
166
+ /**
167
+ * Override the generated `list` (which joins every registered instance's
168
+ * fiber to its Attributes).
169
+ */
170
+ list?: AnyReqProviderService<R>["list"];
171
+ }
172
+
173
+ /**
174
+ * {@link ProviderService} with every requirement channel widened to `any` —
175
+ * passthrough spec hooks may use lifecycle-scoped services (`Stack`,
176
+ * `InstanceId`, ...) that the RpcProvider wrapper provides per call.
177
+ */
178
+ type AnyReqProviderService<R extends ResourceLike> = ProviderService<
179
+ R,
180
+ any,
181
+ any,
182
+ any,
183
+ any,
184
+ any,
185
+ any,
186
+ any,
187
+ any
188
+ >;
189
+
190
+ interface Instance<Attributes> {
191
+ /** Identity guard so a replaced generation's delete cannot kill its successor. */
192
+ instanceId: string;
193
+ /** The resolved config the running instance was started with (for diagnostics). */
194
+ config: unknown;
195
+ configHash: string;
196
+ fiber: Fiber.Fiber<Attributes, any>;
197
+ scope: Scope.Closeable;
198
+ /** Unique per start; guards invalidate/cleanup against racing restarts. */
199
+ token: object;
200
+ }
201
+
202
+ /**
203
+ * Canonical, collision-free hash of a plain-data value: SHA-256 over a
204
+ * canonical JSON serialization (sorted keys, unwrapped `Redacted`,
205
+ * `Uint8Array` and `bigint` encodings, cycle-safe).
206
+ *
207
+ * We deliberately do NOT use `Hash.structure`: Effect's structural hash
208
+ * folds sibling fields together with XOR, so the same value change
209
+ * appearing in two sibling subtrees cancels out and the hash is unchanged
210
+ * — exactly the shape of a Worker config that mirrors `env` values into
211
+ * derived `bindings`. An exact canonical serialization avoids the lossy
212
+ * fingerprint; SHA-256 keeps the retained signature a fixed 64-char digest.
213
+ */
214
+ export const canonicalHash = (value: unknown): Effect.Effect<string> => {
215
+ const seen = new WeakSet<object>();
216
+ const normalize = (input: unknown): unknown => {
217
+ if (typeof input === "bigint") return `bigint:${input.toString()}`;
218
+ if (input === null || typeof input !== "object") return input;
219
+ if (Redacted.isRedacted(input)) {
220
+ return { __redacted: normalize(Redacted.value(input)) };
221
+ }
222
+ if (seen.has(input)) return "[circular]";
223
+ seen.add(input);
224
+ if (input instanceof Uint8Array) return { __bytes: Array.from(input) };
225
+ if (Array.isArray(input)) return input.map(normalize);
226
+ return Object.fromEntries(
227
+ Object.keys(input)
228
+ .sort()
229
+ .map((key) => [
230
+ key,
231
+ normalize((input as Record<string, unknown>)[key]),
232
+ ]),
233
+ );
234
+ };
235
+ return sha256(JSON.stringify(normalize(value)));
236
+ };
237
+
238
+ /**
239
+ * Build a local provider layer from a {@link LocalProviderSpec}.
240
+ *
241
+ * Generated lifecycle:
242
+ *
243
+ * - **diff** — `undefined` while inputs are unresolved; otherwise resolve
244
+ * the config and compare its canonical hash against the running
245
+ * instance: running + equal → `noop`, anything else → `update`. This is
246
+ * what encodes "the process may or may not be running" — state alone can
247
+ * never answer it.
248
+ * - **reconcile** — same hash + running instance → join its fiber for the
249
+ * Attributes (redundant reconciles are free). Otherwise tear the old
250
+ * instance down and fork {@link LocalProviderSpec.start} in a fresh
251
+ * scope forked from the provider root scope, so the process outlives the
252
+ * deploy and dies with the sidecar.
253
+ * - **delete** — tear down only if the registered instance belongs to the
254
+ * deleted `instanceId` (create-first replacement safety), then run
255
+ * {@link LocalProviderSpec.stop}. Idempotent.
256
+ * - **list** — join every registered instance's fiber to its Attributes.
257
+ *
258
+ * All reconcile/delete work for one logical resource is serialized behind
259
+ * a per-id semaphore so restarts never interleave.
260
+ *
261
+ * @param cls - the resource class (or Platform) this provider serves.
262
+ * @param serverEntryUrl - sidecar entry module (see {@link RpcProvider.effect}).
263
+ * @param spec - Effect constructing the {@link LocalProviderSpec}; resolve
264
+ * the services your callbacks need here and close over them.
265
+ */
266
+ export const make = <
267
+ R extends ResourceLike,
268
+ Config = DefaultLocalConfig<R>,
269
+ StartR = never,
270
+ Req = never,
271
+ >(
272
+ cls: ResourceClassLike<R> | Platform<R, any, any, any, any>,
273
+ serverEntryUrl: string,
274
+ spec: Effect.Effect<LocalProviderSpec<R, Config, StartR>, never, Req>,
275
+ ) =>
276
+ RpcProvider.effect(
277
+ cls,
278
+ serverEntryUrl,
279
+ Effect.gen(function* () {
280
+ const {
281
+ resolveConfig = defaultResolveConfig<R, Config>,
282
+ start,
283
+ stop,
284
+ stables,
285
+ precreate,
286
+ tail,
287
+ logs,
288
+ list,
289
+ } = yield* spec;
290
+
291
+ // The provider layer scope: in the sidecar this closes at session
292
+ // shutdown, interrupting every registered instance and running its
293
+ // finalizers (killing the processes).
294
+ const rootScope = yield* Effect.scope;
295
+
296
+ // Keyed by logical id: a restart replaces the entry, a replacement's
297
+ // new generation overwrites it (and the old generation's delete is
298
+ // gated on `instanceId` so it cannot kill the successor).
299
+ const instances = new Map<string, Instance<R["Attributes"]>>();
300
+
301
+ // Serializes reconcile/delete per logical id so a restart can never
302
+ // interleave with another restart or a delete and leak a scope.
303
+ const locks = new Map<string, Semaphore.Semaphore>();
304
+ const lock = (id: string) => {
305
+ let semaphore = locks.get(id);
306
+ if (!semaphore) {
307
+ semaphore = Semaphore.makeUnsafe(1);
308
+ locks.set(id, semaphore);
309
+ }
310
+ return semaphore;
311
+ };
312
+ const withLock = <A, E, RR>(
313
+ id: string,
314
+ effect: Effect.Effect<A, E, RR>,
315
+ ) => Semaphore.withPermits(lock(id), 1)(effect);
316
+
317
+ const resolveDesired = Effect.fn(function* (
318
+ input: LocalProviderInput<R>,
319
+ ) {
320
+ const config = yield* resolveConfig(input);
321
+ const configHash = yield* canonicalHash(config);
322
+ return { config, configHash };
323
+ });
324
+
325
+ const teardown = Effect.fn(function* (
326
+ instance: Instance<R["Attributes"]>,
327
+ ) {
328
+ yield* Fiber.interrupt(instance.fiber);
329
+ yield* Scope.close(instance.scope, Exit.void);
330
+ });
331
+
332
+ const startInstance = Effect.fn(function* (
333
+ input: LocalProviderInput<R>,
334
+ session: ScopedPlanStatusSession,
335
+ config: Config,
336
+ configHash: string,
337
+ ) {
338
+ const token = {};
339
+ const invalidate = Effect.sync(() => {
340
+ if (instances.get(input.id)?.token === token) {
341
+ instances.delete(input.id);
342
+ }
343
+ });
344
+ const scope = yield* Scope.fork(rootScope);
345
+ const fiber = yield* start({
346
+ ...input,
347
+ config,
348
+ session,
349
+ invalidate,
350
+ }).pipe(Effect.forkDetach, Scope.provide(scope));
351
+ instances.set(input.id, {
352
+ instanceId: input.instanceId,
353
+ config,
354
+ configHash,
355
+ fiber,
356
+ scope,
357
+ token,
358
+ });
359
+ return yield* Fiber.join(fiber).pipe(
360
+ Effect.onExit((exit) =>
361
+ exit._tag === "Failure"
362
+ ? // A failed start must not linger as "running" — the next
363
+ // plan should report `update` and try again.
364
+ invalidate
365
+ : Effect.void,
366
+ ),
367
+ );
368
+ });
369
+
370
+ const provider = {
371
+ list:
372
+ list ??
373
+ (() =>
374
+ Effect.forEach(
375
+ Array.from(instances.values()),
376
+ (instance) => Fiber.join(instance.fiber),
377
+ { concurrency: "unbounded" },
378
+ )),
379
+ diff: Effect.fn(function* ({
380
+ id,
381
+ fqn,
382
+ instanceId,
383
+ news: rawNews,
384
+ newBindings,
385
+ output,
386
+ }: {
387
+ id: string;
388
+ fqn: string;
389
+ instanceId: string;
390
+ news: any;
391
+ newBindings: any;
392
+ output: R["Attributes"] | undefined;
393
+ }) {
394
+ // Effect-valued leaves (tagged Worker classes in `env`, ...) never
395
+ // resolve at plan time; their identity is carried by the resolved
396
+ // binding data. Strip them so the config-based diff still runs.
397
+ const news = stripEffects(rawNews);
398
+ if (!isResolved(news) || !isResolved(newBindings)) return undefined;
399
+ const input: LocalProviderInput<R> = {
400
+ id,
401
+ fqn,
402
+ instanceId,
403
+ news: news as R["Props"],
404
+ bindings: newBindings as ResourceBinding<R["Binding"]>[],
405
+ };
406
+ const { config, configHash } = yield* resolveDesired(input);
407
+ const existing = instances.get(id);
408
+ if (existing && existing.configHash === configHash) {
409
+ return { action: "noop" } satisfies Diff;
410
+ }
411
+ return {
412
+ action: "update",
413
+ stables: stables
414
+ ? yield* stables({ ...input, config, output })
415
+ : undefined,
416
+ } satisfies Diff;
417
+ }),
418
+ reconcile: Effect.fn(function* ({
419
+ id,
420
+ fqn,
421
+ instanceId,
422
+ news,
423
+ bindings,
424
+ session,
425
+ }: {
426
+ id: string;
427
+ fqn: string;
428
+ instanceId: string;
429
+ news: R["Props"];
430
+ bindings: ResourceBinding<R["Binding"]>[];
431
+ session: ScopedPlanStatusSession;
432
+ }) {
433
+ return yield* withLock(
434
+ id,
435
+ Effect.gen(function* () {
436
+ const input: LocalProviderInput<R> = {
437
+ id,
438
+ fqn,
439
+ instanceId,
440
+ news: stripEffects(news) as R["Props"],
441
+ bindings,
442
+ };
443
+ const { config, configHash } = yield* resolveDesired(input);
444
+ const existing = instances.get(id);
445
+ if (existing) {
446
+ if (existing.configHash === configHash) {
447
+ yield* Effect.log(
448
+ `[${id}] No changes, using existing instance`,
449
+ );
450
+ // Adopt the newest instanceId so a later replacement's
451
+ // old-generation delete cannot tear this instance down.
452
+ existing.instanceId = instanceId;
453
+ return yield* Fiber.join(existing.fiber);
454
+ }
455
+ yield* Effect.log(
456
+ `[${id}] Changes detected, restarting instance`,
457
+ );
458
+ yield* teardown(existing);
459
+ instances.delete(id);
460
+ }
461
+ return yield* startInstance(input, session, config, configHash);
462
+ }),
463
+ );
464
+ }),
465
+ delete: Effect.fn(function* ({
466
+ id,
467
+ instanceId,
468
+ }: {
469
+ id: string;
470
+ instanceId: string;
471
+ }) {
472
+ yield* withLock(
473
+ id,
474
+ Effect.gen(function* () {
475
+ const existing = instances.get(id);
476
+ if (existing && existing.instanceId !== instanceId) {
477
+ // A replacement's new generation is registered under this
478
+ // logical id — the old generation's delete must not touch
479
+ // it (nor the cross-restart state `stop` would clean up).
480
+ return;
481
+ }
482
+ if (existing) {
483
+ yield* teardown(existing);
484
+ instances.delete(id);
485
+ }
486
+ // Runs even when nothing is registered: cross-restart state
487
+ // (proxies, restart hooks) and out-of-session cleanup (e.g.
488
+ // deleting a local row during a live deploy) still need it.
489
+ if (stop) {
490
+ yield* stop({ id, instanceId });
491
+ }
492
+ }),
493
+ );
494
+ }),
495
+ ...(precreate ? { precreate } : {}),
496
+ ...(tail ? { tail } : {}),
497
+ ...(logs ? { logs } : {}),
498
+ };
499
+
500
+ return provider as any;
501
+ // `StartR` (start's requirements beyond Scope) is surfaced as a layer
502
+ // requirement: the RpcProvider wrapper captures the layer-build
503
+ // context and provides it to every lifecycle call, so services the
504
+ // layer demanded at build are available to `start` at runtime.
505
+ }) as Effect.Effect<
506
+ ProviderService<R>,
507
+ never,
508
+ Req | Exclude<StartR, Scope.Scope>
509
+ >,
510
+ );
511
+
512
+ const defaultResolveConfig = <R extends ResourceLike, Config>(
513
+ input: LocalProviderInput<R>,
514
+ ): Effect.Effect<Config, any> =>
515
+ Effect.succeed({
516
+ news: stripEffects(input.news),
517
+ bindings: input.bindings,
518
+ } as Config);
@@ -1,24 +1,126 @@
1
1
  /** @effect-diagnostics anyUnknownInErrorContext:off */
2
2
 
3
+ import * as Context from "effect/Context";
4
+ import * as Effect from "effect/Effect";
3
5
  import * as Layer from "effect/Layer";
4
6
  import { AlchemyContext } from "../AlchemyContext.ts";
7
+ import type { Platform } from "../Platform.ts";
8
+ import { Provider, type ProviderService } from "../Provider.ts";
9
+ import { defaultProviderMode, type ProviderMode } from "../ProviderMode.ts";
10
+ import type { ResourceClassLike, ResourceLike } from "../Resource.ts";
5
11
 
6
12
  /**
7
- * Returns a layer that selects the live or local provider based on the `AlchemyContext.dev` flag.
13
+ * Registers a resource provider with both a **live** and a **local**
14
+ * implementation, making provider mode a first-class, per-run *and*
15
+ * per-resource concern:
16
+ *
17
+ * - The `Provider(type)` service placed in context is the variant for the
18
+ * run's default mode (`AlchemyContext.dev ? "local" : "live"`), so
19
+ * existing lookups keep working unchanged.
20
+ * - Both variants are additionally exposed via
21
+ * {@link ProviderService.modes} as lazy, memoized builders. The
22
+ * non-default variant (and its mode-specific dependency layers, composed
23
+ * inside the thunk) is only constructed when something actually demands
24
+ * it — e.g. deleting a `providerMode: "local"` state row during a live
25
+ * deploy.
26
+ *
27
+ * Laziness mechanics: the layer is a {@link Layer.fromBuildMemo}, so the
28
+ * build itself is memoized by layer identity (one provider instance — and
29
+ * one instance registry for local providers — per memo-map ancestry, i.e.
30
+ * shared across every stack build that forks the same root, exactly like
31
+ * ordinary layers). The build receives its `MemoMap` and `Scope`; variant
32
+ * layers are built with `Layer.buildWithMemoMap` against that same memo
33
+ * map and scope, which means:
34
+ *
35
+ * - dependency layers shared between different providers' local variants
36
+ * (e.g. Cloudflare's `localRuntimeServices()`) are constructed exactly
37
+ * once, provided the thunks share the layer *reference*;
38
+ * - lazily-built services live until the memoized entry's scope closes
39
+ * (when every borrowing scope has closed), like any eagerly-built
40
+ * provider.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * export const WorkerProvider = () =>
45
+ * ProviderLayer.dual(Worker, {
46
+ * live: () => LiveWorkerProvider(),
47
+ * local: () =>
48
+ * LocalWorkerProvider().pipe(Layer.provide(localRuntimeServices())),
49
+ * });
50
+ * ```
8
51
  */
9
- export const select = <
52
+ export const dual = <
53
+ R extends ResourceLike,
10
54
  LayerLive extends Layer.Layer<any, any, any>,
11
55
  LayerLocal extends Layer.Layer<any, any, any>,
12
- >(input: {
13
- live: () => LayerLive;
14
- local: () => LayerLocal;
15
- }): Layer.Layer<
56
+ >(
57
+ // Only the resource type string is needed — a ResourceClass, a Platform,
58
+ // or a bare `{ Type }` (useful when importing the class would create a
59
+ // module cycle) all satisfy this.
60
+ cls:
61
+ | ResourceClassLike<R>
62
+ | Platform<R, any, any, any, any>
63
+ | { Type: R["Type"] },
64
+ input: {
65
+ live: () => LayerLive;
66
+ local: () => LayerLocal;
67
+ },
68
+ ): Layer.Layer<
16
69
  Layer.Success<LayerLive | LayerLocal>,
17
70
  Layer.Error<LayerLive | LayerLocal>,
18
71
  Layer.Services<LayerLive | LayerLocal> | AlchemyContext
19
72
  > =>
20
- Layer.unwrap(
21
- AlchemyContext.useSync((context) =>
22
- context.dev ? input.local() : input.live(),
23
- ),
24
- );
73
+ Layer.fromBuildMemo((memoMap, scope) =>
74
+ Effect.gen(function* () {
75
+ // The layer-build context contains everything provided to the
76
+ // provider stack (API clients, environments, ...). Captured here so
77
+ // lazily-built variants see the same services as an eager build.
78
+ const context = yield* Effect.context<never>();
79
+ const defaultMode = yield* defaultProviderMode;
80
+
81
+ const buildVariant = (mode: ProviderMode) =>
82
+ Layer.buildWithMemoMap(
83
+ (mode === "live" ? input.live() : input.local()).pipe(
84
+ Layer.provide(Layer.succeedContext(context)),
85
+ ) as Layer.Layer<any, any, never>,
86
+ memoMap,
87
+ scope,
88
+ ).pipe(
89
+ Effect.map(
90
+ (built): ProviderService<R> => ({
91
+ ...(built.mapUnsafe.get(cls.Type) as ProviderService<R>),
92
+ mode,
93
+ }),
94
+ ),
95
+ );
96
+
97
+ // Memoized so each variant is constructed at most once per stack
98
+ // build, no matter how many resources/deletes resolve it.
99
+ const cached = {
100
+ live: yield* Effect.cached(buildVariant("live")),
101
+ local: yield* Effect.cached(buildVariant("local")),
102
+ };
103
+
104
+ // Lazy accessors die on construction failure: a provider layer that
105
+ // cannot be built is fatal (Providers.ts pipes `Layer.orDie` around
106
+ // the eager path for the same reason).
107
+ const modes: {
108
+ readonly [M in ProviderMode]: Effect.Effect<ProviderService<R>>;
109
+ } = {
110
+ live: Effect.orDie(cached.live),
111
+ local: Effect.orDie(cached.local),
112
+ };
113
+
114
+ // The default-mode variant builds eagerly — matching today's cost
115
+ // profile (`select` built exactly this variant) and guaranteeing the
116
+ // registered service has real method presence (`provider.read`,
117
+ // `provider.precreate`, ...) for Plan's capability checks.
118
+ const defaultService = yield* cached[defaultMode];
119
+
120
+ return Context.make(Provider(cls.Type) as any, {
121
+ ...defaultService,
122
+ mode: defaultMode,
123
+ modes,
124
+ } satisfies ProviderService<R>);
125
+ }),
126
+ ) as any;
@@ -254,16 +254,21 @@ export const providerServices = <ROut, E, RIn>(
254
254
  * Conditionally constructs a layer for use by an RpcProvider.
255
255
  * If the {@link RpcProviderProxy} is present in context, the layer is empty because it will not be used in this process.
256
256
  * Otherwise, the given layer is returned.
257
+ *
258
+ * Note that unlike earlier versions this is no longer gated on
259
+ * `AlchemyContext.dev`: local providers are registered via
260
+ * `ProviderLayer.dual` and their dependency layers are composed inside the
261
+ * *lazily built* local variant, so in a live run these services are only
262
+ * constructed when the local provider is actually demanded (e.g. deleting a
263
+ * `providerMode: "local"` state row during `alchemy deploy`).
257
264
  * @param self - An effect which returns a layer that is used by the RpcProvider.
258
265
  */
259
266
  export const providerServicesEffect = <A, E1, R1, E, R>(
260
267
  self: Effect.Effect<Layer.Layer<A, E1, R1>, E, R>,
261
268
  ): Layer.Layer<A, E | E1, R1 | Exclude<R, Scope> | AlchemyContext> =>
262
- Effect.zip(AlchemyContext, Effect.serviceOption(RpcProviderProxy)).pipe(
263
- Effect.flatMap(([context, client]) =>
264
- context.dev && client._tag === "None"
265
- ? self
266
- : (Effect.succeed(Layer.empty) as never),
269
+ Effect.serviceOption(RpcProviderProxy).pipe(
270
+ Effect.flatMap((client) =>
271
+ client._tag === "None" ? self : (Effect.succeed(Layer.empty) as never),
267
272
  ),
268
273
  Layer.unwrap,
269
274
  );
@@ -72,7 +72,10 @@ const make = Effect.fn(function* (spawnerUrl: string) {
72
72
  RpcProxyApi["getProvider"]
73
73
  >,
74
74
  );
75
- return unwrapRpcHandlers(provider, ["tail"]);
75
+ // The served shape omits the process-local `mode`/`modes` variant
76
+ // machinery (see RpcProviderService); the unwrapped stub is a plain
77
+ // (mode-agnostic) ProviderService.
78
+ return unwrapRpcHandlers(provider, ["tail"]) as ProviderService<any>;
76
79
  }),
77
80
  });
78
81
  });