alchemy 2.0.0-beta.65 → 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 (950) 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/Vpc.d.ts.map +1 -1
  100. package/lib/AWS/EC2/Vpc.js +15 -2
  101. package/lib/AWS/EC2/Vpc.js.map +1 -1
  102. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  103. package/lib/AWS/EC2/hosted.js +10 -2
  104. package/lib/AWS/EC2/hosted.js.map +1 -1
  105. package/lib/AWS/ECR/Image.d.ts +132 -13
  106. package/lib/AWS/ECR/Image.d.ts.map +1 -1
  107. package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
  108. package/lib/AWS/ECR/ImageSource.js +10 -2
  109. package/lib/AWS/ECR/ImageSource.js.map +1 -1
  110. package/lib/AWS/ECR/Repository.d.ts +2 -0
  111. package/lib/AWS/ECR/Repository.d.ts.map +1 -1
  112. package/lib/AWS/ECR/Repository.js +28 -3
  113. package/lib/AWS/ECR/Repository.js.map +1 -1
  114. package/lib/AWS/ECS/Service.d.ts +27 -1
  115. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  116. package/lib/AWS/ECS/Service.js +184 -22
  117. package/lib/AWS/ECS/Service.js.map +1 -1
  118. package/lib/AWS/ECS/Task.d.ts +32 -8
  119. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  120. package/lib/AWS/ECS/Task.js +62 -29
  121. package/lib/AWS/ECS/Task.js.map +1 -1
  122. package/lib/AWS/EKS/Deployment.d.ts.map +1 -1
  123. package/lib/AWS/EKS/Deployment.js +10 -2
  124. package/lib/AWS/EKS/Deployment.js.map +1 -1
  125. package/lib/AWS/EKS/Job.d.ts.map +1 -1
  126. package/lib/AWS/EKS/Job.js +10 -2
  127. package/lib/AWS/EKS/Job.js.map +1 -1
  128. package/lib/AWS/Lambda/Function.d.ts +15 -0
  129. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  130. package/lib/AWS/Lambda/Function.js +67 -29
  131. package/lib/AWS/Lambda/Function.js.map +1 -1
  132. package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
  133. package/lib/AWS/Lambda/HttpServer.js +7 -1
  134. package/lib/AWS/Lambda/HttpServer.js.map +1 -1
  135. package/lib/AWS/Lambda/LayerVersion.d.ts +176 -0
  136. package/lib/AWS/Lambda/LayerVersion.d.ts.map +1 -0
  137. package/lib/AWS/Lambda/LayerVersion.js +288 -0
  138. package/lib/AWS/Lambda/LayerVersion.js.map +1 -0
  139. package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
  140. package/lib/AWS/Lambda/MicrovmBundle.js +10 -2
  141. package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
  142. package/lib/AWS/Lambda/index.d.ts +1 -0
  143. package/lib/AWS/Lambda/index.d.ts.map +1 -1
  144. package/lib/AWS/Lambda/index.js +1 -0
  145. package/lib/AWS/Lambda/index.js.map +1 -1
  146. package/lib/AWS/Providers.d.ts.map +1 -1
  147. package/lib/AWS/Providers.js +6 -1
  148. package/lib/AWS/Providers.js.map +1 -1
  149. package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts +40 -0
  150. package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts.map +1 -0
  151. package/lib/AWS/SES/ActiveReceiptRuleSet.js +58 -0
  152. package/lib/AWS/SES/ActiveReceiptRuleSet.js.map +1 -0
  153. package/lib/AWS/SES/ReceiptFilter.d.ts +67 -0
  154. package/lib/AWS/SES/ReceiptFilter.d.ts.map +1 -0
  155. package/lib/AWS/SES/ReceiptFilter.js +92 -0
  156. package/lib/AWS/SES/ReceiptFilter.js.map +1 -0
  157. package/lib/AWS/SES/ReceiptRule.d.ts +133 -0
  158. package/lib/AWS/SES/ReceiptRule.d.ts.map +1 -0
  159. package/lib/AWS/SES/ReceiptRule.js +178 -0
  160. package/lib/AWS/SES/ReceiptRule.js.map +1 -0
  161. package/lib/AWS/SES/ReceiptRuleSet.d.ts +55 -0
  162. package/lib/AWS/SES/ReceiptRuleSet.d.ts.map +1 -0
  163. package/lib/AWS/SES/ReceiptRuleSet.js +112 -0
  164. package/lib/AWS/SES/ReceiptRuleSet.js.map +1 -0
  165. package/lib/AWS/SES/SendBounce.d.ts +37 -0
  166. package/lib/AWS/SES/SendBounce.d.ts.map +1 -0
  167. package/lib/AWS/SES/SendBounce.js +3 -0
  168. package/lib/AWS/SES/SendBounce.js.map +1 -0
  169. package/lib/AWS/SES/SendBounceHttp.d.ts +4 -0
  170. package/lib/AWS/SES/SendBounceHttp.d.ts.map +1 -0
  171. package/lib/AWS/SES/SendBounceHttp.js +10 -0
  172. package/lib/AWS/SES/SendBounceHttp.js.map +1 -0
  173. package/lib/AWS/SES/index.d.ts +6 -0
  174. package/lib/AWS/SES/index.d.ts.map +1 -1
  175. package/lib/AWS/SES/index.js +6 -0
  176. package/lib/AWS/SES/index.js.map +1 -1
  177. package/lib/AWS/StateStore/State.d.ts +11 -0
  178. package/lib/AWS/StateStore/State.d.ts.map +1 -1
  179. package/lib/AWS/StateStore/State.js +117 -38
  180. package/lib/AWS/StateStore/State.js.map +1 -1
  181. package/lib/Apply.d.ts +37 -1
  182. package/lib/Apply.d.ts.map +1 -1
  183. package/lib/Apply.js +270 -194
  184. package/lib/Apply.js.map +1 -1
  185. package/lib/Axiom/Telemetry.d.ts +66 -0
  186. package/lib/Axiom/Telemetry.d.ts.map +1 -0
  187. package/lib/Axiom/Telemetry.js +69 -0
  188. package/lib/Axiom/Telemetry.js.map +1 -0
  189. package/lib/Axiom/index.d.ts +1 -0
  190. package/lib/Axiom/index.d.ts.map +1 -1
  191. package/lib/Axiom/index.js +1 -0
  192. package/lib/Axiom/index.js.map +1 -1
  193. package/lib/Bundle/Bundle.d.ts +1 -1
  194. package/lib/Bundle/Bundle.d.ts.map +1 -1
  195. package/lib/Bundle/Bundle.js +14 -6
  196. package/lib/Bundle/Bundle.js.map +1 -1
  197. package/lib/Bundle/BundleAnalyzerPlugin.d.ts +1 -1
  198. package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -1
  199. package/lib/Bundle/BundleAnalyzerPlugin.js +10 -5
  200. package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -1
  201. package/lib/Bundle/PurePlugin.d.ts +1 -1
  202. package/lib/Bundle/PurePlugin.d.ts.map +1 -1
  203. package/lib/Bundle/PurePlugin.js +15 -7
  204. package/lib/Bundle/PurePlugin.js.map +1 -1
  205. package/lib/Cli/checkVersion.d.ts +11 -5
  206. package/lib/Cli/checkVersion.d.ts.map +1 -1
  207. package/lib/Cli/checkVersion.js +73 -12
  208. package/lib/Cli/checkVersion.js.map +1 -1
  209. package/lib/Cli/commands/cloudflare.d.ts +1 -1
  210. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  211. package/lib/Cli/commands/deploy.js +3 -11
  212. package/lib/Cli/commands/deploy.js.map +1 -1
  213. package/lib/Cli/commands/logs.d.ts.map +1 -1
  214. package/lib/Cli/commands/logs.js +3 -1
  215. package/lib/Cli/commands/logs.js.map +1 -1
  216. package/lib/Cli/commands/tail.d.ts.map +1 -1
  217. package/lib/Cli/commands/tail.js +3 -1
  218. package/lib/Cli/commands/tail.js.map +1 -1
  219. package/lib/Cli/main.d.ts.map +1 -1
  220. package/lib/Cli/main.js +5 -4
  221. package/lib/Cli/main.js.map +1 -1
  222. package/lib/Cloudflare/AI/Search.d.ts +4 -15
  223. package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
  224. package/lib/Cloudflare/AI/Search.js +4 -6
  225. package/lib/Cloudflare/AI/Search.js.map +1 -1
  226. package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
  227. package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
  228. package/lib/Cloudflare/AI/SearchInstance.js +7 -26
  229. package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
  230. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
  231. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  232. package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
  233. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  234. package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
  235. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  236. package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
  237. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  238. package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
  239. package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
  240. package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
  241. package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
  242. package/lib/Cloudflare/Containers/Container.d.ts +81 -3
  243. package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
  244. package/lib/Cloudflare/Containers/Container.js +70 -0
  245. package/lib/Cloudflare/Containers/Container.js.map +1 -1
  246. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
  247. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  248. package/lib/Cloudflare/Containers/ContainerApplication.js +4 -1
  249. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  250. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  251. package/lib/Cloudflare/Containers/ContainerBundle.js +10 -2
  252. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  253. package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
  254. package/lib/Cloudflare/Containers/ContainerProvider.js +43 -0
  255. package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
  256. package/lib/Cloudflare/Credentials.d.ts +21 -1
  257. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  258. package/lib/Cloudflare/Credentials.js +52 -9
  259. package/lib/Cloudflare/Credentials.js.map +1 -1
  260. package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
  261. package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
  262. package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
  263. package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
  264. package/lib/Cloudflare/D1/Database.d.ts +18 -1
  265. package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
  266. package/lib/Cloudflare/D1/Database.js +134 -2
  267. package/lib/Cloudflare/D1/Database.js.map +1 -1
  268. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
  269. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
  270. package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
  271. package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
  272. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
  273. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
  274. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
  275. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
  276. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
  277. package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
  278. package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
  279. package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
  280. package/lib/Cloudflare/Email/Address.js +15 -1
  281. package/lib/Cloudflare/Email/Address.js.map +1 -1
  282. package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
  283. package/lib/Cloudflare/Email/SendBinding.js +1 -0
  284. package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
  285. package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
  286. package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
  287. package/lib/Cloudflare/Email/SendEmail.js +1 -0
  288. package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
  289. package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
  290. package/lib/Cloudflare/Flagship/App.js +8 -3
  291. package/lib/Cloudflare/Flagship/App.js.map +1 -1
  292. package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
  293. package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
  294. package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
  295. package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
  296. package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
  297. package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
  298. package/lib/Cloudflare/KV/Namespace.js +45 -1
  299. package/lib/Cloudflare/KV/Namespace.js.map +1 -1
  300. package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
  301. package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
  302. package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
  303. package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
  304. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
  305. package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
  306. package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
  307. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
  308. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
  309. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
  310. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
  311. package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
  312. package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
  313. package/lib/Cloudflare/LocalGateway.d.ts +25 -0
  314. package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
  315. package/lib/Cloudflare/LocalGateway.js +70 -0
  316. package/lib/Cloudflare/LocalGateway.js.map +1 -0
  317. package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
  318. package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
  319. package/lib/Cloudflare/LocalRuntime.js +16 -1
  320. package/lib/Cloudflare/LocalRuntime.js.map +1 -1
  321. package/lib/Cloudflare/Logs.d.ts.map +1 -1
  322. package/lib/Cloudflare/Logs.js +18 -6
  323. package/lib/Cloudflare/Logs.js.map +1 -1
  324. package/lib/Cloudflare/Providers.d.ts +1 -1
  325. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  326. package/lib/Cloudflare/Providers.js +6 -2
  327. package/lib/Cloudflare/Providers.js.map +1 -1
  328. package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
  329. package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
  330. package/lib/Cloudflare/Queues/Consumer.js +51 -3
  331. package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
  332. package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
  333. package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
  334. package/lib/Cloudflare/Queues/Queue.js +7 -17
  335. package/lib/Cloudflare/Queues/Queue.js.map +1 -1
  336. package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
  337. package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
  338. package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
  339. package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
  340. package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
  341. package/lib/Cloudflare/Queues/QueueShim.js +177 -0
  342. package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
  343. package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
  344. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
  345. package/lib/Cloudflare/R2/Bucket.js +53 -1
  346. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  347. package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
  348. package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
  349. package/lib/Cloudflare/R2/BucketBinding.js +14 -3
  350. package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
  351. package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
  352. package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
  353. package/lib/Cloudflare/R2/BucketLocal.js +19 -6
  354. package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
  355. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
  356. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
  357. package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
  358. package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
  359. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
  360. package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
  361. package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
  362. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
  363. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
  364. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
  365. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
  366. package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
  367. package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
  368. package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
  369. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
  370. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
  371. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
  372. package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
  373. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
  374. package/lib/Cloudflare/Rum/Site.js +10 -2
  375. package/lib/Cloudflare/Rum/Site.js.map +1 -1
  376. package/lib/Cloudflare/StateStore/Api.d.ts +31 -2
  377. package/lib/Cloudflare/StateStore/Api.js +1 -1
  378. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  379. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  380. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  381. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  382. package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
  383. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  384. package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
  385. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  386. package/lib/Cloudflare/Website/StaticSite.js +108 -24
  387. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  388. package/lib/Cloudflare/Website/Vite.d.ts +33 -19
  389. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  390. package/lib/Cloudflare/Website/Vite.js +33 -19
  391. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  392. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
  393. package/lib/Cloudflare/Workers/Compatibility.js +26 -7
  394. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
  395. package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
  396. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  397. package/lib/Cloudflare/Workers/DurableObject.js +22 -0
  398. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  399. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  400. package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
  401. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  402. package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
  403. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  404. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
  405. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  406. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +483 -298
  407. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  408. package/lib/Cloudflare/Workers/Worker.d.ts +612 -13
  409. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  410. package/lib/Cloudflare/Workers/Worker.js +222 -1
  411. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  412. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
  413. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  414. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
  415. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  416. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
  417. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  418. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  419. package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
  420. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  421. package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
  422. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  423. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  424. package/lib/Cloudflare/Workers/WorkerBundle.js +4 -1
  425. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  426. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
  427. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  428. package/lib/Cloudflare/Workers/WorkerProvider.js +1765 -236
  429. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  430. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +7 -1
  431. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
  432. package/lib/Cloudflare/Workflows/WorkflowBridge.js +14 -4
  433. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  434. package/lib/Command/Build.d.ts +2 -2
  435. package/lib/Command/Build.d.ts.map +1 -1
  436. package/lib/Command/Build.js +4 -7
  437. package/lib/Command/Build.js.map +1 -1
  438. package/lib/Command/Command.d.ts +34 -4
  439. package/lib/Command/Command.d.ts.map +1 -1
  440. package/lib/Command/Command.js +125 -30
  441. package/lib/Command/Command.js.map +1 -1
  442. package/lib/Command/Dev.d.ts +2 -2
  443. package/lib/Command/Dev.d.ts.map +1 -1
  444. package/lib/Command/Dev.js +51 -73
  445. package/lib/Command/Dev.js.map +1 -1
  446. package/lib/Command/Exec.d.ts +11 -2
  447. package/lib/Command/Exec.d.ts.map +1 -1
  448. package/lib/Command/Exec.js +9 -0
  449. package/lib/Command/Exec.js.map +1 -1
  450. package/lib/Command/Memo.d.ts +9 -1
  451. package/lib/Command/Memo.d.ts.map +1 -1
  452. package/lib/Command/Memo.js +14 -2
  453. package/lib/Command/Memo.js.map +1 -1
  454. package/lib/Command/Providers.d.ts +1 -1
  455. package/lib/Command/Providers.d.ts.map +1 -1
  456. package/lib/Command/Redaction.d.ts +10 -0
  457. package/lib/Command/Redaction.d.ts.map +1 -0
  458. package/lib/Command/Redaction.js +119 -0
  459. package/lib/Command/Redaction.js.map +1 -0
  460. package/lib/Deploy.d.ts +2 -1
  461. package/lib/Deploy.d.ts.map +1 -1
  462. package/lib/Destroy.d.ts +2 -1
  463. package/lib/Destroy.d.ts.map +1 -1
  464. package/lib/Destroy.js +1 -9
  465. package/lib/Destroy.js.map +1 -1
  466. package/lib/Docker/Container.d.ts +15 -1
  467. package/lib/Docker/Container.d.ts.map +1 -1
  468. package/lib/Docker/Container.js +34 -11
  469. package/lib/Docker/Container.js.map +1 -1
  470. package/lib/Docker/Context.d.ts +84 -0
  471. package/lib/Docker/Context.d.ts.map +1 -0
  472. package/lib/Docker/Context.js +145 -0
  473. package/lib/Docker/Context.js.map +1 -0
  474. package/lib/Docker/Docker.d.ts +190 -14
  475. package/lib/Docker/Docker.d.ts.map +1 -1
  476. package/lib/Docker/Docker.js +149 -28
  477. package/lib/Docker/Docker.js.map +1 -1
  478. package/lib/Docker/Image.d.ts +12 -0
  479. package/lib/Docker/Image.d.ts.map +1 -1
  480. package/lib/Docker/Image.js +24 -7
  481. package/lib/Docker/Image.js.map +1 -1
  482. package/lib/Docker/Network.d.ts +7 -0
  483. package/lib/Docker/Network.d.ts.map +1 -1
  484. package/lib/Docker/Network.js +16 -7
  485. package/lib/Docker/Network.js.map +1 -1
  486. package/lib/Docker/Providers.d.ts +1 -1
  487. package/lib/Docker/Providers.d.ts.map +1 -1
  488. package/lib/Docker/Providers.js +13 -1
  489. package/lib/Docker/Providers.js.map +1 -1
  490. package/lib/Docker/RemoteImage.d.ts +12 -0
  491. package/lib/Docker/RemoteImage.d.ts.map +1 -1
  492. package/lib/Docker/RemoteImage.js +22 -8
  493. package/lib/Docker/RemoteImage.js.map +1 -1
  494. package/lib/Docker/Service.d.ts +445 -0
  495. package/lib/Docker/Service.d.ts.map +1 -0
  496. package/lib/Docker/Service.js +578 -0
  497. package/lib/Docker/Service.js.map +1 -0
  498. package/lib/Docker/ServiceImage.d.ts +78 -0
  499. package/lib/Docker/ServiceImage.d.ts.map +1 -0
  500. package/lib/Docker/ServiceImage.js +232 -0
  501. package/lib/Docker/ServiceImage.js.map +1 -0
  502. package/lib/Docker/Swarm.d.ts +117 -0
  503. package/lib/Docker/Swarm.d.ts.map +1 -0
  504. package/lib/Docker/Swarm.js +149 -0
  505. package/lib/Docker/Swarm.js.map +1 -0
  506. package/lib/Docker/Volume.d.ts +11 -0
  507. package/lib/Docker/Volume.d.ts.map +1 -1
  508. package/lib/Docker/Volume.js +21 -6
  509. package/lib/Docker/Volume.js.map +1 -1
  510. package/lib/Docker/index.d.ts +3 -0
  511. package/lib/Docker/index.d.ts.map +1 -1
  512. package/lib/Docker/index.js +3 -0
  513. package/lib/Docker/index.js.map +1 -1
  514. package/lib/Http.d.ts +8 -1
  515. package/lib/Http.d.ts.map +1 -1
  516. package/lib/Http.js +7 -2
  517. package/lib/Http.js.map +1 -1
  518. package/lib/Local/LocalProvider.d.ts +182 -0
  519. package/lib/Local/LocalProvider.d.ts.map +1 -0
  520. package/lib/Local/LocalProvider.js +226 -0
  521. package/lib/Local/LocalProvider.js.map +1 -0
  522. package/lib/Local/ProviderLayer.d.ts +43 -2
  523. package/lib/Local/ProviderLayer.d.ts.map +1 -1
  524. package/lib/Local/ProviderLayer.js +80 -2
  525. package/lib/Local/ProviderLayer.js.map +1 -1
  526. package/lib/Local/RpcProvider.d.ts +7 -0
  527. package/lib/Local/RpcProvider.d.ts.map +1 -1
  528. package/lib/Local/RpcProvider.js +8 -3
  529. package/lib/Local/RpcProvider.js.map +1 -1
  530. package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
  531. package/lib/Local/RpcProviderProxy.js +3 -0
  532. package/lib/Local/RpcProviderProxy.js.map +1 -1
  533. package/lib/Local/RpcServer.d.ts +8 -1
  534. package/lib/Local/RpcServer.d.ts.map +1 -1
  535. package/lib/Local/RpcServer.js +4 -1
  536. package/lib/Local/RpcServer.js.map +1 -1
  537. package/lib/Plan.d.ts +34 -0
  538. package/lib/Plan.d.ts.map +1 -1
  539. package/lib/Plan.js +127 -40
  540. package/lib/Plan.js.map +1 -1
  541. package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
  542. package/lib/Planetscale/AuthProvider.js +6 -2
  543. package/lib/Planetscale/AuthProvider.js.map +1 -1
  544. package/lib/Planetscale/Branch.d.ts.map +1 -1
  545. package/lib/Planetscale/Branch.js +36 -6
  546. package/lib/Planetscale/Branch.js.map +1 -1
  547. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  548. package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
  549. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  550. package/lib/Planetscale/OAuthClient.d.ts +7 -1
  551. package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
  552. package/lib/Planetscale/OAuthClient.js +51 -4
  553. package/lib/Planetscale/OAuthClient.js.map +1 -1
  554. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  555. package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
  556. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  557. package/lib/Platform.d.ts.map +1 -1
  558. package/lib/Platform.js +25 -14
  559. package/lib/Platform.js.map +1 -1
  560. package/lib/Prisma/App.d.ts +80 -0
  561. package/lib/Prisma/App.d.ts.map +1 -0
  562. package/lib/Prisma/App.js +238 -0
  563. package/lib/Prisma/App.js.map +1 -0
  564. package/lib/Prisma/AuthProvider.d.ts +28 -0
  565. package/lib/Prisma/AuthProvider.d.ts.map +1 -0
  566. package/lib/Prisma/AuthProvider.js +131 -0
  567. package/lib/Prisma/AuthProvider.js.map +1 -0
  568. package/lib/Prisma/Branch.d.ts +75 -0
  569. package/lib/Prisma/Branch.d.ts.map +1 -0
  570. package/lib/Prisma/Branch.js +216 -0
  571. package/lib/Prisma/Branch.js.map +1 -0
  572. package/lib/Prisma/Client.d.ts +178 -0
  573. package/lib/Prisma/Client.d.ts.map +1 -0
  574. package/lib/Prisma/Client.js +562 -0
  575. package/lib/Prisma/Client.js.map +1 -0
  576. package/lib/Prisma/Compute.d.ts +583 -0
  577. package/lib/Prisma/Compute.d.ts.map +1 -0
  578. package/lib/Prisma/Compute.js +1543 -0
  579. package/lib/Prisma/Compute.js.map +1 -0
  580. package/lib/Prisma/ComputeArchive.d.ts +63 -0
  581. package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
  582. package/lib/Prisma/ComputeArchive.js +227 -0
  583. package/lib/Prisma/ComputeArchive.js.map +1 -0
  584. package/lib/Prisma/ComputeBuild.d.ts +106 -0
  585. package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
  586. package/lib/Prisma/ComputeBuild.js +987 -0
  587. package/lib/Prisma/ComputeBuild.js.map +1 -0
  588. package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
  589. package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
  590. package/lib/Prisma/ComputeLifecycle.js +186 -0
  591. package/lib/Prisma/ComputeLifecycle.js.map +1 -0
  592. package/lib/Prisma/Connect.d.ts +99 -0
  593. package/lib/Prisma/Connect.d.ts.map +1 -0
  594. package/lib/Prisma/Connect.js +187 -0
  595. package/lib/Prisma/Connect.js.map +1 -0
  596. package/lib/Prisma/Connection.d.ts +202 -0
  597. package/lib/Prisma/Connection.d.ts.map +1 -0
  598. package/lib/Prisma/Connection.js +346 -0
  599. package/lib/Prisma/Connection.js.map +1 -0
  600. package/lib/Prisma/CustomDomain.d.ts +81 -0
  601. package/lib/Prisma/CustomDomain.d.ts.map +1 -0
  602. package/lib/Prisma/CustomDomain.js +175 -0
  603. package/lib/Prisma/CustomDomain.js.map +1 -0
  604. package/lib/Prisma/Database.d.ts +208 -0
  605. package/lib/Prisma/Database.d.ts.map +1 -0
  606. package/lib/Prisma/Database.js +405 -0
  607. package/lib/Prisma/Database.js.map +1 -0
  608. package/lib/Prisma/Deployment.d.ts +135 -0
  609. package/lib/Prisma/Deployment.d.ts.map +1 -0
  610. package/lib/Prisma/Deployment.js +348 -0
  611. package/lib/Prisma/Deployment.js.map +1 -0
  612. package/lib/Prisma/EnvironmentVariable.d.ts +89 -0
  613. package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
  614. package/lib/Prisma/EnvironmentVariable.js +213 -0
  615. package/lib/Prisma/EnvironmentVariable.js.map +1 -0
  616. package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
  617. package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
  618. package/lib/Prisma/Internal/AppIdentity.js +6 -0
  619. package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
  620. package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
  621. package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
  622. package/lib/Prisma/Internal/AppPromotion.js +107 -0
  623. package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
  624. package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
  625. package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
  626. package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
  627. package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
  628. package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
  629. package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
  630. package/lib/Prisma/Internal/ArtifactFile.js +134 -0
  631. package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
  632. package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
  633. package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
  634. package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
  635. package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
  636. package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
  637. package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
  638. package/lib/Prisma/Internal/BundlePaths.js +16 -0
  639. package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
  640. package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
  641. package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
  642. package/lib/Prisma/Internal/CleanupFailure.js +8 -0
  643. package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
  644. package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
  645. package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
  646. package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
  647. package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
  648. package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
  649. package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
  650. package/lib/Prisma/Internal/DeploymentActions.js +16 -0
  651. package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
  652. package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
  653. package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
  654. package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
  655. package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
  656. package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
  657. package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
  658. package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
  659. package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
  660. package/lib/Prisma/Internal/EnvName.d.ts +7 -0
  661. package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
  662. package/lib/Prisma/Internal/EnvName.js +23 -0
  663. package/lib/Prisma/Internal/EnvName.js.map +1 -0
  664. package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
  665. package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
  666. package/lib/Prisma/Internal/HttpClient.js +23 -0
  667. package/lib/Prisma/Internal/HttpClient.js.map +1 -0
  668. package/lib/Prisma/Operations.d.ts +143 -0
  669. package/lib/Prisma/Operations.d.ts.map +1 -0
  670. package/lib/Prisma/Operations.js +75 -0
  671. package/lib/Prisma/Operations.js.map +1 -0
  672. package/lib/Prisma/Postgres.d.ts +24 -0
  673. package/lib/Prisma/Postgres.d.ts.map +1 -0
  674. package/lib/Prisma/Postgres.js +23 -0
  675. package/lib/Prisma/Postgres.js.map +1 -0
  676. package/lib/Prisma/PostgresOrigin.d.ts +31 -0
  677. package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
  678. package/lib/Prisma/PostgresOrigin.js +30 -0
  679. package/lib/Prisma/PostgresOrigin.js.map +1 -0
  680. package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
  681. package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
  682. package/lib/Prisma/PrismaDevDatabase.js +280 -0
  683. package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
  684. package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
  685. package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
  686. package/lib/Prisma/PrismaEnvironment.js +50 -0
  687. package/lib/Prisma/PrismaEnvironment.js.map +1 -0
  688. package/lib/Prisma/PrismaLogs.d.ts +42 -0
  689. package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
  690. package/lib/Prisma/PrismaLogs.js +318 -0
  691. package/lib/Prisma/PrismaLogs.js.map +1 -0
  692. package/lib/Prisma/Project.d.ts +117 -0
  693. package/lib/Prisma/Project.d.ts.map +1 -0
  694. package/lib/Prisma/Project.js +361 -0
  695. package/lib/Prisma/Project.js.map +1 -0
  696. package/lib/Prisma/Providers.d.ts +61 -0
  697. package/lib/Prisma/Providers.d.ts.map +1 -0
  698. package/lib/Prisma/Providers.js +282 -0
  699. package/lib/Prisma/Providers.js.map +1 -0
  700. package/lib/Prisma/Refs.d.ts +19 -0
  701. package/lib/Prisma/Refs.d.ts.map +1 -0
  702. package/lib/Prisma/Refs.js +25 -0
  703. package/lib/Prisma/Refs.js.map +1 -0
  704. package/lib/Prisma/SourceRepository.d.ts +104 -0
  705. package/lib/Prisma/SourceRepository.d.ts.map +1 -0
  706. package/lib/Prisma/SourceRepository.js +221 -0
  707. package/lib/Prisma/SourceRepository.js.map +1 -0
  708. package/lib/Prisma/Types.d.ts +539 -0
  709. package/lib/Prisma/Types.d.ts.map +1 -0
  710. package/lib/Prisma/Types.js +13 -0
  711. package/lib/Prisma/Types.js.map +1 -0
  712. package/lib/Prisma/index.d.ts +25 -0
  713. package/lib/Prisma/index.d.ts.map +1 -0
  714. package/lib/Prisma/index.js +24 -0
  715. package/lib/Prisma/index.js.map +1 -0
  716. package/lib/Provider.d.ts +57 -5
  717. package/lib/Provider.d.ts.map +1 -1
  718. package/lib/Provider.js +54 -30
  719. package/lib/Provider.js.map +1 -1
  720. package/lib/ProviderMode.d.ts +93 -0
  721. package/lib/ProviderMode.d.ts.map +1 -0
  722. package/lib/ProviderMode.js +77 -0
  723. package/lib/ProviderMode.js.map +1 -0
  724. package/lib/Resource.d.ts +8 -0
  725. package/lib/Resource.d.ts.map +1 -1
  726. package/lib/Resource.js +31 -0
  727. package/lib/Resource.js.map +1 -1
  728. package/lib/RuntimeContext.d.ts +7 -0
  729. package/lib/RuntimeContext.d.ts.map +1 -1
  730. package/lib/RuntimeContext.js.map +1 -1
  731. package/lib/Server/Process.d.ts +8 -0
  732. package/lib/Server/Process.d.ts.map +1 -1
  733. package/lib/Server/Process.js +29 -0
  734. package/lib/Server/Process.js.map +1 -1
  735. package/lib/State/InMemoryState.d.ts.map +1 -1
  736. package/lib/State/InMemoryState.js +2 -0
  737. package/lib/State/InMemoryState.js.map +1 -1
  738. package/lib/State/ResourceState.d.ts +18 -0
  739. package/lib/State/ResourceState.d.ts.map +1 -1
  740. package/lib/Sync.d.ts.map +1 -1
  741. package/lib/Sync.js +8 -2
  742. package/lib/Sync.js.map +1 -1
  743. package/lib/Telemetry.d.ts +150 -0
  744. package/lib/Telemetry.d.ts.map +1 -0
  745. package/lib/Telemetry.js +512 -0
  746. package/lib/Telemetry.js.map +1 -0
  747. package/lib/Test/Alchemy.d.ts.map +1 -1
  748. package/lib/Test/Alchemy.js +3 -1
  749. package/lib/Test/Alchemy.js.map +1 -1
  750. package/lib/Test/Core.d.ts +2 -2
  751. package/lib/Test/Core.d.ts.map +1 -1
  752. package/lib/Test/Core.js +1 -8
  753. package/lib/Test/Core.js.map +1 -1
  754. package/lib/Util/Clank.d.ts +11 -6
  755. package/lib/Util/Clank.d.ts.map +1 -1
  756. package/lib/Util/Clank.js +22 -9
  757. package/lib/Util/Clank.js.map +1 -1
  758. package/lib/Util/zip.d.ts +11 -0
  759. package/lib/Util/zip.d.ts.map +1 -1
  760. package/lib/Util/zip.js +30 -0
  761. package/lib/Util/zip.js.map +1 -1
  762. package/lib/index.d.ts +3 -0
  763. package/lib/index.d.ts.map +1 -1
  764. package/lib/index.js +3 -0
  765. package/lib/index.js.map +1 -1
  766. package/package.json +46 -13
  767. package/src/AWS/ApiGateway/common.ts +9 -0
  768. package/src/AWS/Bedrock/LanguageModel.ts +883 -0
  769. package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
  770. package/src/AWS/Bedrock/index.ts +2 -0
  771. package/src/AWS/CloudFront/Distribution.ts +116 -6
  772. package/src/AWS/CostExplorer/common.ts +23 -2
  773. package/src/AWS/DataSync/Task.ts +30 -15
  774. package/src/AWS/EC2/Vpc.ts +35 -21
  775. package/src/AWS/EC2/hosted.ts +10 -2
  776. package/src/AWS/ECR/ImageSource.ts +10 -2
  777. package/src/AWS/ECR/Repository.ts +39 -4
  778. package/src/AWS/ECS/Service.ts +322 -22
  779. package/src/AWS/ECS/Task.ts +82 -32
  780. package/src/AWS/EKS/Deployment.ts +10 -2
  781. package/src/AWS/EKS/Job.ts +10 -2
  782. package/src/AWS/Lambda/Function.ts +101 -43
  783. package/src/AWS/Lambda/HttpServer.ts +7 -1
  784. package/src/AWS/Lambda/LayerVersion.ts +490 -0
  785. package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
  786. package/src/AWS/Lambda/index.ts +1 -0
  787. package/src/AWS/Providers.ts +10 -0
  788. package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
  789. package/src/AWS/SES/ReceiptFilter.ts +169 -0
  790. package/src/AWS/SES/ReceiptRule.ts +300 -0
  791. package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
  792. package/src/AWS/SES/SendBounce.ts +44 -0
  793. package/src/AWS/SES/SendBounceHttp.ts +13 -0
  794. package/src/AWS/SES/index.ts +6 -0
  795. package/src/AWS/StateStore/State.ts +159 -42
  796. package/src/Apply.ts +199 -83
  797. package/src/Axiom/Telemetry.ts +119 -0
  798. package/src/Axiom/index.ts +1 -0
  799. package/src/Bundle/Bundle.ts +17 -7
  800. package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
  801. package/src/Bundle/PurePlugin.ts +19 -9
  802. package/src/Cli/checkVersion.ts +102 -16
  803. package/src/Cli/commands/deploy.ts +3 -14
  804. package/src/Cli/commands/logs.ts +6 -1
  805. package/src/Cli/commands/tail.ts +6 -1
  806. package/src/Cli/main.ts +5 -4
  807. package/src/Cloudflare/AI/Search.ts +4 -18
  808. package/src/Cloudflare/AI/SearchInstance.ts +7 -26
  809. package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
  810. package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
  811. package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
  812. package/src/Cloudflare/Containers/Container.ts +92 -3
  813. package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
  814. package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
  815. package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
  816. package/src/Cloudflare/Credentials.ts +69 -9
  817. package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
  818. package/src/Cloudflare/D1/Database.ts +154 -2
  819. package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
  820. package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
  821. package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
  822. package/src/Cloudflare/Email/Address.ts +18 -1
  823. package/src/Cloudflare/Email/SendBinding.ts +1 -0
  824. package/src/Cloudflare/Email/SendEmail.ts +13 -0
  825. package/src/Cloudflare/Flagship/App.ts +18 -6
  826. package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
  827. package/src/Cloudflare/KV/Namespace.ts +47 -1
  828. package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
  829. package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
  830. package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
  831. package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
  832. package/src/Cloudflare/LocalGateway.ts +86 -0
  833. package/src/Cloudflare/LocalRuntime.ts +21 -1
  834. package/src/Cloudflare/Logs.ts +58 -28
  835. package/src/Cloudflare/Providers.ts +4 -2
  836. package/src/Cloudflare/Queues/Consumer.ts +70 -2
  837. package/src/Cloudflare/Queues/Queue.ts +7 -16
  838. package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
  839. package/src/Cloudflare/Queues/QueueShim.ts +193 -0
  840. package/src/Cloudflare/R2/Bucket.ts +55 -1
  841. package/src/Cloudflare/R2/BucketBinding.ts +17 -3
  842. package/src/Cloudflare/R2/BucketLocal.ts +25 -8
  843. package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
  844. package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
  845. package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
  846. package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
  847. package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
  848. package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
  849. package/src/Cloudflare/Rum/Site.ts +11 -4
  850. package/src/Cloudflare/StateStore/Api.ts +1 -1
  851. package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
  852. package/src/Cloudflare/Website/StaticSite.ts +117 -28
  853. package/src/Cloudflare/Website/Vite.ts +33 -19
  854. package/src/Cloudflare/Workers/Compatibility.ts +27 -7
  855. package/src/Cloudflare/Workers/DurableObject.ts +22 -0
  856. package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
  857. package/src/Cloudflare/Workers/InferEnv.ts +74 -59
  858. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +619 -401
  859. package/src/Cloudflare/Workers/Worker.ts +676 -28
  860. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
  861. package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
  862. package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
  863. package/src/Cloudflare/Workers/WorkerBundle.ts +6 -1
  864. package/src/Cloudflare/Workers/WorkerProvider.ts +2269 -277
  865. package/src/Cloudflare/Workflows/WorkflowBridge.ts +31 -13
  866. package/src/Command/Build.ts +8 -8
  867. package/src/Command/Command.ts +217 -42
  868. package/src/Command/Dev.ts +79 -107
  869. package/src/Command/Exec.ts +11 -2
  870. package/src/Command/Memo.ts +27 -3
  871. package/src/Command/Redaction.ts +181 -0
  872. package/src/Destroy.ts +1 -10
  873. package/src/Docker/Container.ts +55 -15
  874. package/src/Docker/Context.ts +236 -0
  875. package/src/Docker/Docker.ts +393 -43
  876. package/src/Docker/Image.ts +28 -7
  877. package/src/Docker/Network.ts +38 -14
  878. package/src/Docker/Providers.ts +16 -1
  879. package/src/Docker/RemoteImage.ts +23 -7
  880. package/src/Docker/Service.ts +1119 -0
  881. package/src/Docker/ServiceImage.ts +331 -0
  882. package/src/Docker/Swarm.ts +226 -0
  883. package/src/Docker/Volume.ts +25 -6
  884. package/src/Docker/index.ts +3 -0
  885. package/src/Http.ts +15 -2
  886. package/src/Local/LocalProvider.ts +518 -0
  887. package/src/Local/ProviderLayer.ts +113 -11
  888. package/src/Local/RpcProvider.ts +10 -5
  889. package/src/Local/RpcProviderProxy.ts +4 -1
  890. package/src/Local/RpcServer.ts +20 -2
  891. package/src/Plan.ts +182 -54
  892. package/src/Planetscale/AuthProvider.ts +15 -2
  893. package/src/Planetscale/Branch.ts +39 -6
  894. package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
  895. package/src/Planetscale/OAuthClient.ts +59 -3
  896. package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
  897. package/src/Platform.ts +29 -17
  898. package/src/Prisma/App.ts +420 -0
  899. package/src/Prisma/AuthProvider.ts +260 -0
  900. package/src/Prisma/Branch.ts +396 -0
  901. package/src/Prisma/Client.ts +1337 -0
  902. package/src/Prisma/Compute.ts +2876 -0
  903. package/src/Prisma/ComputeArchive.ts +432 -0
  904. package/src/Prisma/ComputeBuild.ts +1652 -0
  905. package/src/Prisma/ComputeLifecycle.ts +391 -0
  906. package/src/Prisma/Connect.ts +410 -0
  907. package/src/Prisma/Connection.ts +626 -0
  908. package/src/Prisma/CustomDomain.ts +363 -0
  909. package/src/Prisma/Database.ts +836 -0
  910. package/src/Prisma/Deployment.ts +655 -0
  911. package/src/Prisma/EnvironmentVariable.ts +401 -0
  912. package/src/Prisma/Internal/AppIdentity.ts +19 -0
  913. package/src/Prisma/Internal/AppPromotion.ts +172 -0
  914. package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
  915. package/src/Prisma/Internal/ArtifactFile.ts +242 -0
  916. package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
  917. package/src/Prisma/Internal/BundlePaths.ts +28 -0
  918. package/src/Prisma/Internal/CleanupFailure.ts +17 -0
  919. package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
  920. package/src/Prisma/Internal/DeploymentActions.ts +59 -0
  921. package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
  922. package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
  923. package/src/Prisma/Internal/EnvName.ts +24 -0
  924. package/src/Prisma/Internal/HttpClient.ts +30 -0
  925. package/src/Prisma/Operations.ts +259 -0
  926. package/src/Prisma/Postgres.ts +24 -0
  927. package/src/Prisma/PostgresOrigin.ts +52 -0
  928. package/src/Prisma/PrismaDevDatabase.ts +395 -0
  929. package/src/Prisma/PrismaEnvironment.ts +89 -0
  930. package/src/Prisma/PrismaLogs.ts +434 -0
  931. package/src/Prisma/Project.ts +681 -0
  932. package/src/Prisma/Providers.ts +411 -0
  933. package/src/Prisma/Refs.ts +69 -0
  934. package/src/Prisma/SourceRepository.ts +432 -0
  935. package/src/Prisma/Types.ts +611 -0
  936. package/src/Prisma/index.ts +24 -0
  937. package/src/Provider.ts +155 -39
  938. package/src/ProviderMode.ts +123 -0
  939. package/src/Resource.ts +46 -0
  940. package/src/RuntimeContext.ts +7 -0
  941. package/src/Server/Process.ts +33 -0
  942. package/src/State/InMemoryState.ts +2 -0
  943. package/src/State/ResourceState.ts +18 -0
  944. package/src/Sync.ts +14 -2
  945. package/src/Telemetry.ts +736 -0
  946. package/src/Test/Alchemy.ts +3 -1
  947. package/src/Test/Core.ts +1 -8
  948. package/src/Util/Clank.ts +37 -11
  949. package/src/Util/zip.ts +39 -0
  950. package/src/index.ts +3 -0
@@ -1,9 +1,29 @@
1
- import type { Credentials } from "@distilled.cloud/cloudflare/Credentials";
2
1
  import * as d1 from "@distilled.cloud/cloudflare/d1";
3
2
  import * as Effect from "effect/Effect";
4
- import type * as HttpClient from "effect/unstable/http/HttpClient";
5
3
  import type { SqlFile } from "../../SQL/SqlFile.ts";
6
4
 
5
+ /**
6
+ * The minimal query surface the migration flow needs: run (possibly
7
+ * multi-statement) SQL and return the D1 HTTP API's result envelope. Two
8
+ * implementations exist:
9
+ *
10
+ * - the cloud executor ({@link applyMigrations}), backed by distilled's
11
+ * `d1.queryDatabase`;
12
+ * - the local executor (`LocalD1Gateway.ts`), which tunnels the same
13
+ * protocol into the local workerd D1 simulator.
14
+ */
15
+ export interface D1QueryResult {
16
+ result: Array<{
17
+ results?: unknown;
18
+ success?: boolean | null;
19
+ meta?: unknown;
20
+ }>;
21
+ }
22
+
23
+ export type D1SqlExecutor<E = unknown, R = never> = (
24
+ sql: string,
25
+ ) => Effect.Effect<D1QueryResult, E, R>;
26
+
7
27
  export interface ApplyMigrationsOptions {
8
28
  accountId: string;
9
29
  databaseId: string;
@@ -12,19 +32,38 @@ export interface ApplyMigrationsOptions {
12
32
  }
13
33
 
14
34
  /**
15
- * Apply pending D1 migrations in order. Uses the wrangler-compatible
16
- * 3-column schema `(id TEXT PK, name TEXT, applied_at TEXT)`.
35
+ * Apply pending D1 migrations in order against the live cloud API. Uses the
36
+ * wrangler-compatible 3-column schema `(id TEXT PK, name TEXT, applied_at
37
+ * TEXT)`.
17
38
  */
18
39
  export const applyMigrations = (options: ApplyMigrationsOptions) =>
19
40
  Effect.gen(function* () {
20
- const { accountId, databaseId, migrationsTable, migrationsFiles } = options;
21
- yield* ensureMigrationsTable(accountId, databaseId, migrationsTable);
22
- const applied = yield* getAppliedMigrations(
23
- accountId,
24
- databaseId,
25
- migrationsTable,
26
- );
27
- let nextSeq = yield* getNextSeq(accountId, databaseId, migrationsTable);
41
+ const queryDb = yield* d1.queryDatabase;
42
+ const executor: D1SqlExecutor<d1.QueryDatabaseError> = (sql) =>
43
+ queryDb({
44
+ accountId: options.accountId,
45
+ databaseId: options.databaseId,
46
+ sql,
47
+ });
48
+ yield* applyMigrationsWith(executor, options);
49
+ });
50
+
51
+ /**
52
+ * Apply pending D1 migrations in order through the given SQL executor —
53
+ * the executor-agnostic core shared by the cloud and local flows.
54
+ */
55
+ export const applyMigrationsWith = <E, R>(
56
+ executor: D1SqlExecutor<E, R>,
57
+ options: {
58
+ migrationsTable: string;
59
+ migrationsFiles: ReadonlyArray<SqlFile>;
60
+ },
61
+ ): Effect.Effect<void, E, R> =>
62
+ Effect.gen(function* () {
63
+ const { migrationsTable, migrationsFiles } = options;
64
+ yield* ensureMigrationsTable(executor, migrationsTable);
65
+ const applied = yield* getAppliedMigrations(executor, migrationsTable);
66
+ let nextSeq = yield* getNextSeq(executor, migrationsTable);
28
67
 
29
68
  for (const migration of migrationsFiles) {
30
69
  if (applied.has(migration.id)) continue;
@@ -32,9 +71,7 @@ export const applyMigrations = (options: ApplyMigrationsOptions) =>
32
71
  nextSeq += 1;
33
72
  // D1 over HTTP doesn't support transactions; run migration + record
34
73
  // in a single batched query.
35
- yield* executeSQL(
36
- accountId,
37
- databaseId,
74
+ yield* executor(
38
75
  [
39
76
  migration.sql,
40
77
  `INSERT INTO ${migrationsTable} (id, name, applied_at) VALUES ('${migrationId}', '${migration.id}', datetime('now'));`,
@@ -57,29 +94,12 @@ interface SchemaInfo {
57
94
  columns: TableColumn[];
58
95
  }
59
96
 
60
- const executeSQL = (
61
- accountId: string,
62
- databaseId: string,
63
- sql: string,
64
- ): Effect.Effect<
65
- d1.QueryDatabaseResponse,
66
- d1.QueryDatabaseError,
67
- Credentials | HttpClient.HttpClient
68
- > =>
69
- Effect.gen(function* () {
70
- const queryDb = yield* d1.queryDatabase;
71
- return yield* queryDb({ accountId, databaseId, sql });
72
- });
73
-
74
- const detectSchema = (
75
- accountId: string,
76
- databaseId: string,
97
+ const detectSchema = <E, R>(
98
+ executor: D1SqlExecutor<E, R>,
77
99
  migrationsTable: string,
78
100
  ) =>
79
101
  Effect.gen(function* () {
80
- const result = yield* executeSQL(
81
- accountId,
82
- databaseId,
102
+ const result = yield* executor(
83
103
  `PRAGMA table_info(${migrationsTable});`,
84
104
  ).pipe(Effect.option);
85
105
 
@@ -120,9 +140,8 @@ const detectSchema = (
120
140
  } satisfies SchemaInfo;
121
141
  });
122
142
 
123
- const migrateLegacySchema = (
124
- accountId: string,
125
- databaseId: string,
143
+ const migrateLegacySchema = <E, R>(
144
+ executor: D1SqlExecutor<E, R>,
126
145
  migrationsTable: string,
127
146
  schema: SchemaInfo,
128
147
  ) =>
@@ -135,18 +154,14 @@ const migrateLegacySchema = (
135
154
  );
136
155
  }
137
156
  const tempTable = `${migrationsTable}_temp_migration`;
138
- yield* executeSQL(
139
- accountId,
140
- databaseId,
157
+ yield* executor(
141
158
  `CREATE TABLE ${tempTable} (
142
159
  id TEXT PRIMARY KEY,
143
160
  name TEXT NOT NULL,
144
161
  applied_at TEXT NOT NULL
145
162
  );`,
146
163
  );
147
- yield* executeSQL(
148
- accountId,
149
- databaseId,
164
+ yield* executor(
150
165
  `INSERT INTO ${tempTable} (id, name, applied_at)
151
166
  SELECT
152
167
  printf('%05d', row_number() OVER (ORDER BY applied_at)) as id,
@@ -155,25 +170,18 @@ const migrateLegacySchema = (
155
170
  FROM ${migrationsTable}
156
171
  ORDER BY applied_at;`,
157
172
  );
158
- yield* executeSQL(accountId, databaseId, `DROP TABLE ${migrationsTable};`);
159
- yield* executeSQL(
160
- accountId,
161
- databaseId,
162
- `ALTER TABLE ${tempTable} RENAME TO ${migrationsTable};`,
163
- );
173
+ yield* executor(`DROP TABLE ${migrationsTable};`);
174
+ yield* executor(`ALTER TABLE ${tempTable} RENAME TO ${migrationsTable};`);
164
175
  });
165
176
 
166
- const ensureMigrationsTable = (
167
- accountId: string,
168
- databaseId: string,
177
+ const ensureMigrationsTable = <E, R>(
178
+ executor: D1SqlExecutor<E, R>,
169
179
  migrationsTable: string,
170
180
  ) =>
171
181
  Effect.gen(function* () {
172
- const schema = yield* detectSchema(accountId, databaseId, migrationsTable);
182
+ const schema = yield* detectSchema(executor, migrationsTable);
173
183
  if (!schema.exists) {
174
- yield* executeSQL(
175
- accountId,
176
- databaseId,
184
+ yield* executor(
177
185
  `CREATE TABLE ${migrationsTable} (
178
186
  id TEXT PRIMARY KEY,
179
187
  name TEXT NOT NULL,
@@ -183,39 +191,26 @@ const ensureMigrationsTable = (
183
191
  return;
184
192
  }
185
193
  if (schema.isLegacySchema || !schema.hasIdColumn || !schema.hasNameColumn) {
186
- yield* migrateLegacySchema(
187
- accountId,
188
- databaseId,
189
- migrationsTable,
190
- schema,
191
- );
194
+ yield* migrateLegacySchema(executor, migrationsTable, schema);
192
195
  }
193
196
  });
194
197
 
195
- const getAppliedMigrations = (
196
- accountId: string,
197
- databaseId: string,
198
+ const getAppliedMigrations = <E, R>(
199
+ executor: D1SqlExecutor<E, R>,
198
200
  migrationsTable: string,
199
201
  ) =>
200
202
  Effect.gen(function* () {
201
- const result = yield* executeSQL(
202
- accountId,
203
- databaseId,
204
- `SELECT name FROM ${migrationsTable};`,
205
- );
203
+ const result = yield* executor(`SELECT name FROM ${migrationsTable};`);
206
204
  const rows = (result.result[0]?.results ?? []) as Array<{ name: string }>;
207
205
  return new Set(rows.map((r) => r.name));
208
206
  });
209
207
 
210
- const getNextSeq = (
211
- accountId: string,
212
- databaseId: string,
208
+ const getNextSeq = <E, R>(
209
+ executor: D1SqlExecutor<E, R>,
213
210
  migrationsTable: string,
214
211
  ) =>
215
212
  Effect.gen(function* () {
216
- const result = yield* executeSQL(
217
- accountId,
218
- databaseId,
213
+ const result = yield* executor(
219
214
  `SELECT id FROM ${migrationsTable} ORDER BY id;`,
220
215
  );
221
216
  const rows = (result.result[0]?.results ?? []) as Array<{ id: string }>;
@@ -1,19 +1,25 @@
1
+ import type { RuntimeServices } from "@distilled.cloud/cloudflare-runtime";
1
2
  import * as d1 from "@distilled.cloud/cloudflare/d1";
2
3
  import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
3
5
  import * as Option from "effect/Option";
4
6
  import * as Stream from "effect/Stream";
7
+ import * as HttpClient from "effect/unstable/http/HttpClient";
5
8
 
6
9
  import { isResolved } from "../../Diff.ts";
10
+ import * as ProviderLayer from "../../Local/ProviderLayer.ts";
7
11
  import { createPhysicalName } from "../../PhysicalName.ts";
8
12
  import * as Provider from "../../Provider.ts";
9
13
  import { isResourceOfType, Resource } from "../../Resource.ts";
10
14
  import { listSqlFiles, readSqlFile } from "../../SQL/SqlFile.ts";
11
15
  import { recordsEqual } from "../../Util/equal.ts";
12
16
  import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
17
+ import { generateLocalId, localRuntimeServices } from "../LocalRuntime.ts";
13
18
  import type { Providers } from "../Providers.ts";
14
- import { applyMigrations } from "./ApplyMigrations.ts";
19
+ import { applyMigrations, applyMigrationsWith } from "./ApplyMigrations.ts";
15
20
  import { cloneDatabase } from "./CloneDatabase.ts";
16
21
  import { importD1Database } from "./ImportDatabase.ts";
22
+ import { withLocalD1Executor } from "./LocalD1Gateway.ts";
17
23
 
18
24
  export const isDatabase = (value: unknown): value is Database =>
19
25
  isResourceOfType(value, "Cloudflare.D1Database");
@@ -248,7 +254,7 @@ export type Database = Resource<
248
254
  */
249
255
  export const Database = Resource<Database>("Cloudflare.D1Database");
250
256
 
251
- export const DatabaseProvider = () =>
257
+ export const ProviderLive = () =>
252
258
  Provider.succeed(Database, {
253
259
  stables: ["databaseId", "accountId"],
254
260
  diff: Effect.fn(function* ({ id, olds = {}, news = {}, output }) {
@@ -552,6 +558,152 @@ export const DatabaseProvider = () =>
552
558
  }),
553
559
  });
554
560
 
561
+ /**
562
+ * Local (dev) provider — the database is purely virtual: a `dev:` id keyed
563
+ * into the local workerd D1 simulator (DO SQLite under `.alchemy/local/d1`).
564
+ * `toRuntimeBinding` lowers a `d1` binding whose id is `dev:`-prefixed onto
565
+ * the local D1 service.
566
+ *
567
+ * Migrations ARE applied locally: reconcile boots an ephemeral gateway
568
+ * workerd (see `LocalD1Gateway.ts`) and drives the same executor-agnostic
569
+ * migration flow the live provider uses, against the simulator's storage.
570
+ * Imports (`importFiles`) are still cloud-only — the import flow is a
571
+ * multi-step HTTP upload with no local counterpart.
572
+ */
573
+ export const ProviderLocal = () =>
574
+ Provider.effect(
575
+ Database,
576
+ Effect.gen(function* () {
577
+ // The local runtime services (workerd `Runtime`, binding plugins) and
578
+ // the HTTP client are resolved once at layer build and closed over —
579
+ // lifecycle effects run with the engine's call-time context, which
580
+ // doesn't include them.
581
+ const runtimeContext = yield* Effect.context<
582
+ RuntimeServices | HttpClient.HttpClient
583
+ >();
584
+
585
+ return {
586
+ stables: ["accountId"],
587
+ diff: Effect.fn(function* ({ news = {}, output }) {
588
+ const { accountId } = yield* yield* CloudflareEnvironment;
589
+ if (!output?.databaseId) return { action: "update" } as const;
590
+ if (!isResolved(news)) return undefined;
591
+ if (output.accountId !== accountId) {
592
+ return { action: "replace" } as const;
593
+ }
594
+ // Detect migration/import file drift — same rules as the live
595
+ // provider.
596
+ if (news.migrationsDir) {
597
+ const newHashes = yield* hashMigrations(news.migrationsDir);
598
+ if (!recordsEqual(newHashes, output.migrationsHashes ?? {})) {
599
+ return { action: "update" } as const;
600
+ }
601
+ if (
602
+ (news.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE) !==
603
+ (output.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE)
604
+ ) {
605
+ return { action: "update" } as const;
606
+ }
607
+ }
608
+ if (news.importFiles?.length) {
609
+ const newHashes = yield* hashImports(
610
+ news.importFiles,
611
+ yield* rootDir,
612
+ );
613
+ if (!recordsEqual(newHashes, output.importHashes ?? {})) {
614
+ return { action: "update" } as const;
615
+ }
616
+ }
617
+ // Fall through to the engine's default prop diff.
618
+ }),
619
+ read: Effect.fn(function* ({ output }) {
620
+ // Purely virtual — the persisted state row is the source of truth.
621
+ return output ?? undefined;
622
+ }),
623
+ reconcile: Effect.fn(function* ({ id, news = {}, output }) {
624
+ const { accountId } = yield* yield* CloudflareEnvironment;
625
+ const databaseId = output?.databaseId ?? generateLocalId();
626
+
627
+ // Sync migrations — the shared flow is idempotent (skips applied
628
+ // entries), driven through the ephemeral local gateway.
629
+ const migrationsTable =
630
+ news.migrationsTable ??
631
+ output?.migrationsTable ??
632
+ DEFAULT_MIGRATIONS_TABLE;
633
+ let migrationsHashes: Record<string, string> = {};
634
+ if (news.migrationsDir) {
635
+ const files = yield* listSqlFiles(news.migrationsDir);
636
+ if (files.length > 0) {
637
+ yield* withLocalD1Executor(databaseId, (executor) =>
638
+ applyMigrationsWith(executor, {
639
+ migrationsTable,
640
+ migrationsFiles: files,
641
+ }),
642
+ ).pipe(Effect.provideContext(runtimeContext));
643
+ }
644
+ for (const file of files) migrationsHashes[file.id] = file.hash;
645
+ } else {
646
+ migrationsHashes = output?.migrationsHashes ?? {};
647
+ }
648
+
649
+ // Sync imports — locally an import file is just multi-statement
650
+ // SQL, executed through the same gateway. Files whose hash matches
651
+ // previously-imported state are skipped (mirroring `runImports`).
652
+ const importHashes: Record<string, string> = {
653
+ ...(output?.importHashes ?? {}),
654
+ };
655
+ if (news.importFiles?.length) {
656
+ const importRootDir = yield* rootDir;
657
+ const pending: Array<{ path: string; sql: string; hash: string }> =
658
+ [];
659
+ for (const filePath of news.importFiles) {
660
+ const file = yield* readSqlFile(importRootDir, filePath);
661
+ if (importHashes[filePath] === file.hash) continue;
662
+ pending.push({ path: filePath, sql: file.sql, hash: file.hash });
663
+ }
664
+ if (pending.length > 0) {
665
+ yield* withLocalD1Executor(databaseId, (executor) =>
666
+ Effect.forEach(pending, (file) => executor(file.sql), {
667
+ discard: true,
668
+ }),
669
+ ).pipe(Effect.provideContext(runtimeContext));
670
+ for (const file of pending) {
671
+ importHashes[file.path] = file.hash;
672
+ }
673
+ }
674
+ }
675
+
676
+ return {
677
+ databaseId,
678
+ databaseName: yield* createDatabaseName(id, news.name),
679
+ jurisdiction: (news.jurisdiction ?? "default") as Jurisdiction,
680
+ readReplication: news.readReplication,
681
+ accountId: output?.accountId ?? accountId,
682
+ migrationsDir: news.migrationsDir,
683
+ migrationsTable: news.migrationsDir ? migrationsTable : undefined,
684
+ migrationsHashes,
685
+ importHashes,
686
+ };
687
+ }),
688
+ delete: Effect.fn(function* () {
689
+ // The simulator's on-disk data is keyed by the dev id; dropping
690
+ // the state row is enough — orphaned data is reclaimed with
691
+ // `.alchemy`.
692
+ }),
693
+ };
694
+ }),
695
+ );
696
+
697
+ export const DatabaseProvider = () =>
698
+ ProviderLayer.dual(Database, {
699
+ // The local provider's reconcile boots an ephemeral workerd gateway to
700
+ // apply migrations, so it needs the shared local runtime layer (the
701
+ // module-memoized reference — one runtime instance per stack build,
702
+ // shared with the Worker/Queue/Container local providers).
703
+ local: () => ProviderLocal().pipe(Layer.provide(localRuntimeServices())),
704
+ live: () => ProviderLive(),
705
+ });
706
+
555
707
  const createDatabaseName = (id: string, name: string | undefined) =>
556
708
  Effect.gen(function* () {
557
709
  return name ?? (yield* createPhysicalName({ id }));
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Node-side query path into the local workerd D1 simulator, built on the
3
+ * runtime's platform proxy (`PlatformProxy.open` — our `getPlatformProxy`).
4
+ *
5
+ * The simulator (a `d1` service routing to a per-database
6
+ * `D1DatabaseObject` Durable Object over DO SQLite) is only reachable from
7
+ * inside workerd — but alchemy's migration runner and the
8
+ * `QueryDatabaseLocal` capability run in Node. The platform proxy bridges
9
+ * the two: it hosts the binding in a scoped workerd instance and exposes it
10
+ * to Node. We bind the raw `d1` service (the same designator the
11
+ * `cloudflare-internal:d1-api` wrapped binding targets) so Node speaks the
12
+ * full D1 HTTP protocol (`POST /query`, multi-statement SQL) rather than
13
+ * the line-based `exec()` surface of the wrapped binding:
14
+ *
15
+ * Node ── proxy.env.D1_RAW.fetch({sql}) ──▶ `d1` service ──▶ D1DatabaseObject
16
+ *
17
+ * Data lands in the same `{storage}/d1` directory every local worker
18
+ * binding reads.
19
+ *
20
+ * NOT exported from `index.ts` — provider-internal scaffolding.
21
+ */
22
+ import { open } from "@distilled.cloud/cloudflare-runtime/platform-proxy";
23
+ import { D1 } from "@distilled.cloud/cloudflare-runtime/bindings";
24
+ import { SERVICE_D1 } from "@distilled.cloud/cloudflare-runtime/bindings/d1/D1Options";
25
+ import type { BindingHook } from "@distilled.cloud/cloudflare-runtime/PluginContext";
26
+ import * as Data from "effect/Data";
27
+ import * as Effect from "effect/Effect";
28
+ import { gatewayName, localGatewayRuntime } from "../LocalGateway.ts";
29
+ import type { D1QueryResult, D1SqlExecutor } from "./ApplyMigrations.ts";
30
+
31
+ export { localGatewayRuntime as localD1GatewayRuntime };
32
+
33
+ export class LocalD1QueryError extends Data.TaggedError("LocalD1QueryError")<{
34
+ message: string;
35
+ cause?: unknown;
36
+ }> {}
37
+
38
+ /**
39
+ * A single query or batch in the shape the cloud `d1.queryDatabase` op
40
+ * accepts — the local gateway speaks the same surface so client code can
41
+ * swap transports without translation.
42
+ */
43
+ export type D1QueryBody =
44
+ | { sql: string; params?: unknown[] }
45
+ | { batch: Array<{ sql: string; params?: unknown[] }> };
46
+
47
+ interface D1StatementResponse {
48
+ success: boolean;
49
+ results?: unknown;
50
+ meta?: unknown;
51
+ error?: string;
52
+ }
53
+
54
+ /**
55
+ * A plain service binding onto the raw `d1` service for `databaseId` —
56
+ * bypassing the `cloudflare-internal:d1-api` wrapper so the proxy's fetch
57
+ * passthrough can POST the full D1 HTTP protocol.
58
+ */
59
+ const rawD1Binding = (databaseId: string): BindingHook =>
60
+ Effect.succeed({
61
+ name: "D1_RAW",
62
+ service: {
63
+ name: SERVICE_D1,
64
+ props: { json: JSON.stringify({ databaseId }) },
65
+ },
66
+ });
67
+
68
+ /**
69
+ * Boot a scoped platform proxy for `databaseId`, hand `use` a query
70
+ * function that tunnels {@link D1QueryBody} requests into the local
71
+ * simulator, and tear the instance down when `use` completes.
72
+ */
73
+ export const withLocalD1Query = <A, E, R>(
74
+ databaseId: string,
75
+ use: (
76
+ query: (
77
+ body: D1QueryBody,
78
+ ) => Effect.Effect<D1QueryResult, LocalD1QueryError>,
79
+ ) => Effect.Effect<A, E, R>,
80
+ ) =>
81
+ Effect.scoped(
82
+ Effect.gen(function* () {
83
+ const proxy = yield* open({
84
+ name: gatewayName("alchemy-d1-gateway", databaseId),
85
+ bindings: [
86
+ // The wrapped binding is unused by the gateway itself, but its
87
+ // hook registers the database with the D1 plugin so the `d1`
88
+ // service is emitted into this workerd config.
89
+ D1.local({ binding: "DB", id: databaseId }),
90
+ rawD1Binding(databaseId),
91
+ ],
92
+ });
93
+ const raw = (proxy.env as Record<string, unknown>).D1_RAW as {
94
+ fetch: (input: string, init?: RequestInit) => Promise<Response>;
95
+ };
96
+
97
+ const query = (body: D1QueryBody) =>
98
+ Effect.tryPromise({
99
+ try: async () => {
100
+ const response = await raw.fetch("http://d1/query", {
101
+ method: "POST",
102
+ headers: { "content-type": "application/json" },
103
+ // The DO accepts a single D1Query or an array (one
104
+ // transaction) — a batch maps to the array form.
105
+ body: JSON.stringify("batch" in body ? body.batch : body),
106
+ });
107
+ return (await response.json()) as unknown;
108
+ },
109
+ catch: (cause) =>
110
+ new LocalD1QueryError({
111
+ message: "Failed to reach the local D1 gateway",
112
+ cause,
113
+ }),
114
+ }).pipe(
115
+ Effect.flatMap((responseBody) => {
116
+ // Protocol errors come back `{ success: false, error }` (a
117
+ // single object); successes are one envelope per statement.
118
+ const responses = (
119
+ Array.isArray(responseBody) ? responseBody : [responseBody]
120
+ ) as D1StatementResponse[];
121
+ const failed = responses.find((r) => !r.success);
122
+ if (failed) {
123
+ return Effect.fail(
124
+ new LocalD1QueryError({
125
+ message: failed.error ?? "Local D1 query failed",
126
+ }),
127
+ );
128
+ }
129
+ return Effect.succeed({
130
+ result: responses.map((r) => ({
131
+ results: r.results,
132
+ success: true,
133
+ meta: r.meta,
134
+ })),
135
+ } as D1QueryResult);
136
+ }),
137
+ );
138
+
139
+ return yield* use(query);
140
+ }),
141
+ );
142
+
143
+ /**
144
+ * SQL-only view of {@link withLocalD1Query} matching the migration flow's
145
+ * {@link D1SqlExecutor} contract.
146
+ */
147
+ export const withLocalD1Executor = <A, E, R>(
148
+ databaseId: string,
149
+ use: (executor: D1SqlExecutor<LocalD1QueryError>) => Effect.Effect<A, E, R>,
150
+ ) => withLocalD1Query(databaseId, (query) => use((sql) => query({ sql })));
@@ -43,9 +43,19 @@ export interface D1Auth {
43
43
  export const makeHttpQueryDatabaseClient = (
44
44
  auth: D1Auth,
45
45
  databaseId: Effect.Effect<string>,
46
- ): QueryDatabaseClient => {
47
- const rawEff = Effect.map(databaseId, (id) => makeHttpD1Database(auth, id));
46
+ ): QueryDatabaseClient =>
47
+ makeQueryDatabaseClientFrom(
48
+ Effect.map(databaseId, (id) => makeHttpD1Database(auth, id)),
49
+ );
48
50
 
51
+ /**
52
+ * Build a {@link QueryDatabaseClient} from a deferred `D1Database` — shared
53
+ * by the cloud HTTP transport above and the local-simulator gateway
54
+ * transport (`QueryDatabaseLocal` with a `dev:` id).
55
+ */
56
+ export const makeQueryDatabaseClientFrom = (
57
+ rawEff: Effect.Effect<runtime.D1Database>,
58
+ ): QueryDatabaseClient => {
49
59
  return {
50
60
  raw: rawEff,
51
61
  prepare: (query: string) => new PreparedStatement(query, [], rawEff),
@@ -78,7 +88,9 @@ const runQuery = (
78
88
  .pipe(Effect.runPromise);
79
89
 
80
90
  const toResult = <T>(
81
- r: d1.QueryDatabaseResponse["result"][number] | undefined,
91
+ r:
92
+ | { results?: unknown; success?: boolean | null; meta?: unknown }
93
+ | undefined,
82
94
  ): runtime.D1Result<T> =>
83
95
  ({
84
96
  results: (r?.results ?? []) as T[],
@@ -106,16 +118,40 @@ const normalizeBind = (value: unknown): unknown => {
106
118
  return value;
107
119
  };
108
120
 
109
- const makeHttpD1Database = (
121
+ /** A `D1Database` facade over the cloud HTTP query API. */
122
+ export const makeHttpD1Database = (
110
123
  auth: D1Auth,
111
124
  databaseId: string,
125
+ ): runtime.D1Database =>
126
+ makeD1DatabaseFromTransport((body) => runQuery(auth, databaseId, body));
127
+
128
+ /**
129
+ * The transport a {@link runtime.D1Database} facade is built over: run one
130
+ * query (or batch) and return the D1 result envelope(s). Two transports
131
+ * exist — the cloud HTTP API (`runQuery`) and the local-simulator gateway
132
+ * (`withLocalD1Query`).
133
+ */
134
+ export type D1QueryTransport = (
135
+ body:
136
+ | { sql: string; params?: unknown[] }
137
+ | { batch: { sql: string; params?: unknown[] }[] },
138
+ ) => Promise<{
139
+ result: Array<{
140
+ results?: unknown;
141
+ success?: boolean | null;
142
+ meta?: unknown;
143
+ }>;
144
+ }>;
145
+
146
+ export const makeD1DatabaseFromTransport = (
147
+ transport: D1QueryTransport,
112
148
  ): runtime.D1Database => {
113
149
  const makeStatement = (
114
150
  query: string,
115
151
  binds: ReadonlyArray<unknown>,
116
152
  ): runtime.D1PreparedStatement => {
117
153
  const exec = async () => {
118
- const res = await runQuery(auth, databaseId, {
154
+ const res = await transport({
119
155
  sql: query,
120
156
  params: binds.length ? binds.map(normalizeBind) : undefined,
121
157
  });
@@ -124,9 +160,9 @@ const makeHttpD1Database = (
124
160
  return {
125
161
  bind: (...values: unknown[]) => makeStatement(query, values),
126
162
  first: (async (column?: string) => {
127
- const first = (await exec())?.results?.[0] as
128
- | Record<string, unknown>
129
- | undefined;
163
+ const first = (
164
+ (await exec())?.results as Record<string, unknown>[] | undefined
165
+ )?.[0];
130
166
  if (first == null) return null;
131
167
  return column !== undefined ? (first[column] ?? null) : first;
132
168
  }) as runtime.D1PreparedStatement["first"],
@@ -154,15 +190,17 @@ const makeHttpD1Database = (
154
190
  return {
155
191
  prepare: (query: string) => makeStatement(query, []),
156
192
  exec: async (query: string) => {
157
- const res = await runQuery(auth, databaseId, { sql: query });
158
- const meta = res.result[res.result.length - 1]?.meta;
193
+ const res = await transport({ sql: query });
194
+ const meta = res.result[res.result.length - 1]?.meta as
195
+ | { duration?: number }
196
+ | undefined;
159
197
  return {
160
198
  count: res.result.length,
161
199
  duration: meta?.duration ?? 0,
162
200
  } as runtime.D1ExecResult;
163
201
  },
164
202
  batch: async <T = unknown>(statements: runtime.D1PreparedStatement[]) => {
165
- const res = await runQuery(auth, databaseId, {
203
+ const res = await transport({
166
204
  batch: statements.map((s) => ({
167
205
  sql: (s as any).__query as string,
168
206
  params: ((s as any).__params as unknown[]).length