alchemy 2.0.0-beta.65 → 2.0.0-beta.67

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 (959) hide show
  1. package/bin/exec.js +578 -224
  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/_shared.d.ts.map +1 -1
  210. package/lib/Cli/commands/_shared.js +2 -1
  211. package/lib/Cli/commands/_shared.js.map +1 -1
  212. package/lib/Cli/commands/cloudflare.d.ts +1 -1
  213. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  214. package/lib/Cli/commands/deploy.js +3 -11
  215. package/lib/Cli/commands/deploy.js.map +1 -1
  216. package/lib/Cli/commands/logs.d.ts.map +1 -1
  217. package/lib/Cli/commands/logs.js +3 -1
  218. package/lib/Cli/commands/logs.js.map +1 -1
  219. package/lib/Cli/commands/tail.d.ts.map +1 -1
  220. package/lib/Cli/commands/tail.js +3 -1
  221. package/lib/Cli/commands/tail.js.map +1 -1
  222. package/lib/Cli/main.d.ts.map +1 -1
  223. package/lib/Cli/main.js +5 -4
  224. package/lib/Cli/main.js.map +1 -1
  225. package/lib/Cloudflare/AI/Search.d.ts +4 -15
  226. package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
  227. package/lib/Cloudflare/AI/Search.js +4 -6
  228. package/lib/Cloudflare/AI/Search.js.map +1 -1
  229. package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
  230. package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
  231. package/lib/Cloudflare/AI/SearchInstance.js +7 -26
  232. package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
  233. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
  234. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  235. package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
  236. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  237. package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
  238. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  239. package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
  240. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  241. package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
  242. package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
  243. package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
  244. package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
  245. package/lib/Cloudflare/Containers/Container.d.ts +81 -3
  246. package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
  247. package/lib/Cloudflare/Containers/Container.js +70 -0
  248. package/lib/Cloudflare/Containers/Container.js.map +1 -1
  249. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
  250. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  251. package/lib/Cloudflare/Containers/ContainerApplication.js +4 -1
  252. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  253. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  254. package/lib/Cloudflare/Containers/ContainerBundle.js +10 -2
  255. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  256. package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
  257. package/lib/Cloudflare/Containers/ContainerProvider.js +43 -0
  258. package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
  259. package/lib/Cloudflare/Credentials.d.ts +21 -1
  260. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  261. package/lib/Cloudflare/Credentials.js +52 -9
  262. package/lib/Cloudflare/Credentials.js.map +1 -1
  263. package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
  264. package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
  265. package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
  266. package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
  267. package/lib/Cloudflare/D1/Database.d.ts +18 -1
  268. package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
  269. package/lib/Cloudflare/D1/Database.js +134 -2
  270. package/lib/Cloudflare/D1/Database.js.map +1 -1
  271. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
  272. package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
  273. package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
  274. package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
  275. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
  276. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
  277. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
  278. package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
  279. package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
  280. package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
  281. package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
  282. package/lib/Cloudflare/DNS/Record.d.ts +3 -1
  283. package/lib/Cloudflare/DNS/Record.d.ts.map +1 -1
  284. package/lib/Cloudflare/DNS/Record.js +23 -4
  285. package/lib/Cloudflare/DNS/Record.js.map +1 -1
  286. package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
  287. package/lib/Cloudflare/Email/Address.js +15 -1
  288. package/lib/Cloudflare/Email/Address.js.map +1 -1
  289. package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
  290. package/lib/Cloudflare/Email/SendBinding.js +1 -0
  291. package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
  292. package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
  293. package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
  294. package/lib/Cloudflare/Email/SendEmail.js +1 -0
  295. package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
  296. package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
  297. package/lib/Cloudflare/Flagship/App.js +8 -3
  298. package/lib/Cloudflare/Flagship/App.js.map +1 -1
  299. package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
  300. package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
  301. package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
  302. package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
  303. package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
  304. package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
  305. package/lib/Cloudflare/KV/Namespace.js +45 -1
  306. package/lib/Cloudflare/KV/Namespace.js.map +1 -1
  307. package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
  308. package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
  309. package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
  310. package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
  311. package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
  312. package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
  313. package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
  314. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
  315. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
  316. package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
  317. package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
  318. package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
  319. package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
  320. package/lib/Cloudflare/LocalGateway.d.ts +25 -0
  321. package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
  322. package/lib/Cloudflare/LocalGateway.js +70 -0
  323. package/lib/Cloudflare/LocalGateway.js.map +1 -0
  324. package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
  325. package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
  326. package/lib/Cloudflare/LocalRuntime.js +16 -1
  327. package/lib/Cloudflare/LocalRuntime.js.map +1 -1
  328. package/lib/Cloudflare/Logs.d.ts.map +1 -1
  329. package/lib/Cloudflare/Logs.js +18 -6
  330. package/lib/Cloudflare/Logs.js.map +1 -1
  331. package/lib/Cloudflare/Providers.d.ts +1 -1
  332. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  333. package/lib/Cloudflare/Providers.js +6 -2
  334. package/lib/Cloudflare/Providers.js.map +1 -1
  335. package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
  336. package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
  337. package/lib/Cloudflare/Queues/Consumer.js +51 -3
  338. package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
  339. package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
  340. package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
  341. package/lib/Cloudflare/Queues/Queue.js +7 -17
  342. package/lib/Cloudflare/Queues/Queue.js.map +1 -1
  343. package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
  344. package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
  345. package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
  346. package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
  347. package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
  348. package/lib/Cloudflare/Queues/QueueShim.js +177 -0
  349. package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
  350. package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
  351. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
  352. package/lib/Cloudflare/R2/Bucket.js +53 -1
  353. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  354. package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
  355. package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
  356. package/lib/Cloudflare/R2/BucketBinding.js +14 -3
  357. package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
  358. package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
  359. package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
  360. package/lib/Cloudflare/R2/BucketLocal.js +19 -6
  361. package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
  362. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
  363. package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
  364. package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
  365. package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
  366. package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
  367. package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
  368. package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
  369. package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
  370. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
  371. package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
  372. package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
  373. package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
  374. package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
  375. package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
  376. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
  377. package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
  378. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
  379. package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
  380. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
  381. package/lib/Cloudflare/Rum/Site.js +10 -2
  382. package/lib/Cloudflare/Rum/Site.js.map +1 -1
  383. package/lib/Cloudflare/StateStore/Api.d.ts +31 -2
  384. package/lib/Cloudflare/StateStore/Api.js +1 -1
  385. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  386. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  387. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  388. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  389. package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
  390. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  391. package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
  392. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  393. package/lib/Cloudflare/Website/StaticSite.js +108 -24
  394. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  395. package/lib/Cloudflare/Website/Vite.d.ts +33 -19
  396. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  397. package/lib/Cloudflare/Website/Vite.js +33 -19
  398. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  399. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
  400. package/lib/Cloudflare/Workers/Compatibility.js +26 -7
  401. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
  402. package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
  403. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  404. package/lib/Cloudflare/Workers/DurableObject.js +22 -0
  405. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  406. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  407. package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
  408. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  409. package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
  410. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  411. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
  412. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  413. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +483 -298
  414. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  415. package/lib/Cloudflare/Workers/Worker.d.ts +612 -13
  416. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  417. package/lib/Cloudflare/Workers/Worker.js +222 -1
  418. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  419. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
  420. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  421. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
  422. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  423. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
  424. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  425. package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
  426. package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
  427. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  428. package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
  429. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  430. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  431. package/lib/Cloudflare/Workers/WorkerBundle.js +4 -1
  432. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  433. package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
  434. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  435. package/lib/Cloudflare/Workers/WorkerProvider.js +1765 -236
  436. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  437. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +7 -1
  438. package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
  439. package/lib/Cloudflare/Workflows/WorkflowBridge.js +14 -4
  440. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  441. package/lib/Command/Build.d.ts +2 -2
  442. package/lib/Command/Build.d.ts.map +1 -1
  443. package/lib/Command/Build.js +4 -7
  444. package/lib/Command/Build.js.map +1 -1
  445. package/lib/Command/Command.d.ts +34 -4
  446. package/lib/Command/Command.d.ts.map +1 -1
  447. package/lib/Command/Command.js +125 -30
  448. package/lib/Command/Command.js.map +1 -1
  449. package/lib/Command/Dev.d.ts +2 -2
  450. package/lib/Command/Dev.d.ts.map +1 -1
  451. package/lib/Command/Dev.js +51 -73
  452. package/lib/Command/Dev.js.map +1 -1
  453. package/lib/Command/Exec.d.ts +11 -2
  454. package/lib/Command/Exec.d.ts.map +1 -1
  455. package/lib/Command/Exec.js +9 -0
  456. package/lib/Command/Exec.js.map +1 -1
  457. package/lib/Command/Memo.d.ts +9 -1
  458. package/lib/Command/Memo.d.ts.map +1 -1
  459. package/lib/Command/Memo.js +14 -2
  460. package/lib/Command/Memo.js.map +1 -1
  461. package/lib/Command/Providers.d.ts +1 -1
  462. package/lib/Command/Providers.d.ts.map +1 -1
  463. package/lib/Command/Redaction.d.ts +10 -0
  464. package/lib/Command/Redaction.d.ts.map +1 -0
  465. package/lib/Command/Redaction.js +119 -0
  466. package/lib/Command/Redaction.js.map +1 -0
  467. package/lib/Deploy.d.ts +2 -1
  468. package/lib/Deploy.d.ts.map +1 -1
  469. package/lib/Destroy.d.ts +2 -1
  470. package/lib/Destroy.d.ts.map +1 -1
  471. package/lib/Destroy.js +1 -9
  472. package/lib/Destroy.js.map +1 -1
  473. package/lib/Docker/Container.d.ts +15 -1
  474. package/lib/Docker/Container.d.ts.map +1 -1
  475. package/lib/Docker/Container.js +34 -11
  476. package/lib/Docker/Container.js.map +1 -1
  477. package/lib/Docker/Context.d.ts +84 -0
  478. package/lib/Docker/Context.d.ts.map +1 -0
  479. package/lib/Docker/Context.js +145 -0
  480. package/lib/Docker/Context.js.map +1 -0
  481. package/lib/Docker/Docker.d.ts +190 -14
  482. package/lib/Docker/Docker.d.ts.map +1 -1
  483. package/lib/Docker/Docker.js +149 -28
  484. package/lib/Docker/Docker.js.map +1 -1
  485. package/lib/Docker/Image.d.ts +12 -0
  486. package/lib/Docker/Image.d.ts.map +1 -1
  487. package/lib/Docker/Image.js +24 -7
  488. package/lib/Docker/Image.js.map +1 -1
  489. package/lib/Docker/Network.d.ts +7 -0
  490. package/lib/Docker/Network.d.ts.map +1 -1
  491. package/lib/Docker/Network.js +16 -7
  492. package/lib/Docker/Network.js.map +1 -1
  493. package/lib/Docker/Providers.d.ts +1 -1
  494. package/lib/Docker/Providers.d.ts.map +1 -1
  495. package/lib/Docker/Providers.js +13 -1
  496. package/lib/Docker/Providers.js.map +1 -1
  497. package/lib/Docker/RemoteImage.d.ts +12 -0
  498. package/lib/Docker/RemoteImage.d.ts.map +1 -1
  499. package/lib/Docker/RemoteImage.js +22 -8
  500. package/lib/Docker/RemoteImage.js.map +1 -1
  501. package/lib/Docker/Service.d.ts +445 -0
  502. package/lib/Docker/Service.d.ts.map +1 -0
  503. package/lib/Docker/Service.js +578 -0
  504. package/lib/Docker/Service.js.map +1 -0
  505. package/lib/Docker/ServiceImage.d.ts +78 -0
  506. package/lib/Docker/ServiceImage.d.ts.map +1 -0
  507. package/lib/Docker/ServiceImage.js +232 -0
  508. package/lib/Docker/ServiceImage.js.map +1 -0
  509. package/lib/Docker/Swarm.d.ts +117 -0
  510. package/lib/Docker/Swarm.d.ts.map +1 -0
  511. package/lib/Docker/Swarm.js +149 -0
  512. package/lib/Docker/Swarm.js.map +1 -0
  513. package/lib/Docker/Volume.d.ts +11 -0
  514. package/lib/Docker/Volume.d.ts.map +1 -1
  515. package/lib/Docker/Volume.js +21 -6
  516. package/lib/Docker/Volume.js.map +1 -1
  517. package/lib/Docker/index.d.ts +3 -0
  518. package/lib/Docker/index.d.ts.map +1 -1
  519. package/lib/Docker/index.js +3 -0
  520. package/lib/Docker/index.js.map +1 -1
  521. package/lib/Http.d.ts +8 -1
  522. package/lib/Http.d.ts.map +1 -1
  523. package/lib/Http.js +7 -2
  524. package/lib/Http.js.map +1 -1
  525. package/lib/Local/LocalProvider.d.ts +182 -0
  526. package/lib/Local/LocalProvider.d.ts.map +1 -0
  527. package/lib/Local/LocalProvider.js +226 -0
  528. package/lib/Local/LocalProvider.js.map +1 -0
  529. package/lib/Local/ProviderLayer.d.ts +43 -2
  530. package/lib/Local/ProviderLayer.d.ts.map +1 -1
  531. package/lib/Local/ProviderLayer.js +80 -2
  532. package/lib/Local/ProviderLayer.js.map +1 -1
  533. package/lib/Local/RpcProvider.d.ts +7 -0
  534. package/lib/Local/RpcProvider.d.ts.map +1 -1
  535. package/lib/Local/RpcProvider.js +8 -3
  536. package/lib/Local/RpcProvider.js.map +1 -1
  537. package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
  538. package/lib/Local/RpcProviderProxy.js +3 -0
  539. package/lib/Local/RpcProviderProxy.js.map +1 -1
  540. package/lib/Local/RpcServer.d.ts +8 -1
  541. package/lib/Local/RpcServer.d.ts.map +1 -1
  542. package/lib/Local/RpcServer.js +4 -1
  543. package/lib/Local/RpcServer.js.map +1 -1
  544. package/lib/Plan.d.ts +34 -0
  545. package/lib/Plan.d.ts.map +1 -1
  546. package/lib/Plan.js +127 -40
  547. package/lib/Plan.js.map +1 -1
  548. package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
  549. package/lib/Planetscale/AuthProvider.js +6 -2
  550. package/lib/Planetscale/AuthProvider.js.map +1 -1
  551. package/lib/Planetscale/Branch.d.ts.map +1 -1
  552. package/lib/Planetscale/Branch.js +36 -6
  553. package/lib/Planetscale/Branch.js.map +1 -1
  554. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  555. package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
  556. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  557. package/lib/Planetscale/OAuthClient.d.ts +7 -1
  558. package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
  559. package/lib/Planetscale/OAuthClient.js +51 -4
  560. package/lib/Planetscale/OAuthClient.js.map +1 -1
  561. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  562. package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
  563. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  564. package/lib/Platform.d.ts.map +1 -1
  565. package/lib/Platform.js +25 -14
  566. package/lib/Platform.js.map +1 -1
  567. package/lib/Prisma/App.d.ts +93 -0
  568. package/lib/Prisma/App.d.ts.map +1 -0
  569. package/lib/Prisma/App.js +251 -0
  570. package/lib/Prisma/App.js.map +1 -0
  571. package/lib/Prisma/AuthProvider.d.ts +28 -0
  572. package/lib/Prisma/AuthProvider.d.ts.map +1 -0
  573. package/lib/Prisma/AuthProvider.js +131 -0
  574. package/lib/Prisma/AuthProvider.js.map +1 -0
  575. package/lib/Prisma/Branch.d.ts +96 -0
  576. package/lib/Prisma/Branch.d.ts.map +1 -0
  577. package/lib/Prisma/Branch.js +236 -0
  578. package/lib/Prisma/Branch.js.map +1 -0
  579. package/lib/Prisma/Client.d.ts +178 -0
  580. package/lib/Prisma/Client.d.ts.map +1 -0
  581. package/lib/Prisma/Client.js +562 -0
  582. package/lib/Prisma/Client.js.map +1 -0
  583. package/lib/Prisma/Compute.d.ts +585 -0
  584. package/lib/Prisma/Compute.d.ts.map +1 -0
  585. package/lib/Prisma/Compute.js +1545 -0
  586. package/lib/Prisma/Compute.js.map +1 -0
  587. package/lib/Prisma/ComputeArchive.d.ts +63 -0
  588. package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
  589. package/lib/Prisma/ComputeArchive.js +227 -0
  590. package/lib/Prisma/ComputeArchive.js.map +1 -0
  591. package/lib/Prisma/ComputeBuild.d.ts +106 -0
  592. package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
  593. package/lib/Prisma/ComputeBuild.js +987 -0
  594. package/lib/Prisma/ComputeBuild.js.map +1 -0
  595. package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
  596. package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
  597. package/lib/Prisma/ComputeLifecycle.js +186 -0
  598. package/lib/Prisma/ComputeLifecycle.js.map +1 -0
  599. package/lib/Prisma/Connect.d.ts +122 -0
  600. package/lib/Prisma/Connect.d.ts.map +1 -0
  601. package/lib/Prisma/Connect.js +187 -0
  602. package/lib/Prisma/Connect.js.map +1 -0
  603. package/lib/Prisma/Connection.d.ts +219 -0
  604. package/lib/Prisma/Connection.d.ts.map +1 -0
  605. package/lib/Prisma/Connection.js +360 -0
  606. package/lib/Prisma/Connection.js.map +1 -0
  607. package/lib/Prisma/CustomDomain.d.ts +91 -0
  608. package/lib/Prisma/CustomDomain.d.ts.map +1 -0
  609. package/lib/Prisma/CustomDomain.js +184 -0
  610. package/lib/Prisma/CustomDomain.js.map +1 -0
  611. package/lib/Prisma/Database.d.ts +222 -0
  612. package/lib/Prisma/Database.d.ts.map +1 -0
  613. package/lib/Prisma/Database.js +418 -0
  614. package/lib/Prisma/Database.js.map +1 -0
  615. package/lib/Prisma/Deployment.d.ts +141 -0
  616. package/lib/Prisma/Deployment.d.ts.map +1 -0
  617. package/lib/Prisma/Deployment.js +353 -0
  618. package/lib/Prisma/Deployment.js.map +1 -0
  619. package/lib/Prisma/EnvironmentVariable.d.ts +105 -0
  620. package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
  621. package/lib/Prisma/EnvironmentVariable.js +229 -0
  622. package/lib/Prisma/EnvironmentVariable.js.map +1 -0
  623. package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
  624. package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
  625. package/lib/Prisma/Internal/AppIdentity.js +6 -0
  626. package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
  627. package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
  628. package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
  629. package/lib/Prisma/Internal/AppPromotion.js +107 -0
  630. package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
  631. package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
  632. package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
  633. package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
  634. package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
  635. package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
  636. package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
  637. package/lib/Prisma/Internal/ArtifactFile.js +134 -0
  638. package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
  639. package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
  640. package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
  641. package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
  642. package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
  643. package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
  644. package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
  645. package/lib/Prisma/Internal/BundlePaths.js +16 -0
  646. package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
  647. package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
  648. package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
  649. package/lib/Prisma/Internal/CleanupFailure.js +8 -0
  650. package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
  651. package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
  652. package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
  653. package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
  654. package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
  655. package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
  656. package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
  657. package/lib/Prisma/Internal/DeploymentActions.js +16 -0
  658. package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
  659. package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
  660. package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
  661. package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
  662. package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
  663. package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
  664. package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
  665. package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
  666. package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
  667. package/lib/Prisma/Internal/EnvName.d.ts +7 -0
  668. package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
  669. package/lib/Prisma/Internal/EnvName.js +23 -0
  670. package/lib/Prisma/Internal/EnvName.js.map +1 -0
  671. package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
  672. package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
  673. package/lib/Prisma/Internal/HttpClient.js +23 -0
  674. package/lib/Prisma/Internal/HttpClient.js.map +1 -0
  675. package/lib/Prisma/Operations.d.ts +143 -0
  676. package/lib/Prisma/Operations.d.ts.map +1 -0
  677. package/lib/Prisma/Operations.js +75 -0
  678. package/lib/Prisma/Operations.js.map +1 -0
  679. package/lib/Prisma/Postgres.d.ts +25 -0
  680. package/lib/Prisma/Postgres.d.ts.map +1 -0
  681. package/lib/Prisma/Postgres.js +24 -0
  682. package/lib/Prisma/Postgres.js.map +1 -0
  683. package/lib/Prisma/PostgresOrigin.d.ts +31 -0
  684. package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
  685. package/lib/Prisma/PostgresOrigin.js +30 -0
  686. package/lib/Prisma/PostgresOrigin.js.map +1 -0
  687. package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
  688. package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
  689. package/lib/Prisma/PrismaDevDatabase.js +280 -0
  690. package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
  691. package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
  692. package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
  693. package/lib/Prisma/PrismaEnvironment.js +50 -0
  694. package/lib/Prisma/PrismaEnvironment.js.map +1 -0
  695. package/lib/Prisma/PrismaLogs.d.ts +42 -0
  696. package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
  697. package/lib/Prisma/PrismaLogs.js +318 -0
  698. package/lib/Prisma/PrismaLogs.js.map +1 -0
  699. package/lib/Prisma/Project.d.ts +123 -0
  700. package/lib/Prisma/Project.d.ts.map +1 -0
  701. package/lib/Prisma/Project.js +366 -0
  702. package/lib/Prisma/Project.js.map +1 -0
  703. package/lib/Prisma/Providers.d.ts +63 -0
  704. package/lib/Prisma/Providers.d.ts.map +1 -0
  705. package/lib/Prisma/Providers.js +306 -0
  706. package/lib/Prisma/Providers.js.map +1 -0
  707. package/lib/Prisma/Refs.d.ts +19 -0
  708. package/lib/Prisma/Refs.d.ts.map +1 -0
  709. package/lib/Prisma/Refs.js +25 -0
  710. package/lib/Prisma/Refs.js.map +1 -0
  711. package/lib/Prisma/SourceRepository.d.ts +127 -0
  712. package/lib/Prisma/SourceRepository.d.ts.map +1 -0
  713. package/lib/Prisma/SourceRepository.js +239 -0
  714. package/lib/Prisma/SourceRepository.js.map +1 -0
  715. package/lib/Prisma/Types.d.ts +539 -0
  716. package/lib/Prisma/Types.d.ts.map +1 -0
  717. package/lib/Prisma/Types.js +13 -0
  718. package/lib/Prisma/Types.js.map +1 -0
  719. package/lib/Prisma/index.d.ts +25 -0
  720. package/lib/Prisma/index.d.ts.map +1 -0
  721. package/lib/Prisma/index.js +24 -0
  722. package/lib/Prisma/index.js.map +1 -0
  723. package/lib/Provider.d.ts +57 -5
  724. package/lib/Provider.d.ts.map +1 -1
  725. package/lib/Provider.js +54 -30
  726. package/lib/Provider.js.map +1 -1
  727. package/lib/ProviderMode.d.ts +93 -0
  728. package/lib/ProviderMode.d.ts.map +1 -0
  729. package/lib/ProviderMode.js +77 -0
  730. package/lib/ProviderMode.js.map +1 -0
  731. package/lib/Resource.d.ts +8 -0
  732. package/lib/Resource.d.ts.map +1 -1
  733. package/lib/Resource.js +31 -0
  734. package/lib/Resource.js.map +1 -1
  735. package/lib/RuntimeContext.d.ts +7 -0
  736. package/lib/RuntimeContext.d.ts.map +1 -1
  737. package/lib/RuntimeContext.js.map +1 -1
  738. package/lib/Server/Process.d.ts +8 -0
  739. package/lib/Server/Process.d.ts.map +1 -1
  740. package/lib/Server/Process.js +29 -0
  741. package/lib/Server/Process.js.map +1 -1
  742. package/lib/State/InMemoryState.d.ts.map +1 -1
  743. package/lib/State/InMemoryState.js +2 -0
  744. package/lib/State/InMemoryState.js.map +1 -1
  745. package/lib/State/ResourceState.d.ts +18 -0
  746. package/lib/State/ResourceState.d.ts.map +1 -1
  747. package/lib/Sync.d.ts.map +1 -1
  748. package/lib/Sync.js +8 -2
  749. package/lib/Sync.js.map +1 -1
  750. package/lib/Telemetry.d.ts +150 -0
  751. package/lib/Telemetry.d.ts.map +1 -0
  752. package/lib/Telemetry.js +512 -0
  753. package/lib/Telemetry.js.map +1 -0
  754. package/lib/Test/Alchemy.d.ts.map +1 -1
  755. package/lib/Test/Alchemy.js +3 -1
  756. package/lib/Test/Alchemy.js.map +1 -1
  757. package/lib/Test/Core.d.ts +2 -2
  758. package/lib/Test/Core.d.ts.map +1 -1
  759. package/lib/Test/Core.js +1 -8
  760. package/lib/Test/Core.js.map +1 -1
  761. package/lib/Util/Clank.d.ts +11 -6
  762. package/lib/Util/Clank.d.ts.map +1 -1
  763. package/lib/Util/Clank.js +22 -9
  764. package/lib/Util/Clank.js.map +1 -1
  765. package/lib/Util/zip.d.ts +11 -0
  766. package/lib/Util/zip.d.ts.map +1 -1
  767. package/lib/Util/zip.js +30 -0
  768. package/lib/Util/zip.js.map +1 -1
  769. package/lib/index.d.ts +3 -0
  770. package/lib/index.d.ts.map +1 -1
  771. package/lib/index.js +3 -0
  772. package/lib/index.js.map +1 -1
  773. package/package.json +46 -13
  774. package/src/AWS/ApiGateway/common.ts +9 -0
  775. package/src/AWS/Bedrock/LanguageModel.ts +883 -0
  776. package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
  777. package/src/AWS/Bedrock/index.ts +2 -0
  778. package/src/AWS/CloudFront/Distribution.ts +116 -6
  779. package/src/AWS/CostExplorer/common.ts +23 -2
  780. package/src/AWS/DataSync/Task.ts +30 -15
  781. package/src/AWS/EC2/Vpc.ts +35 -21
  782. package/src/AWS/EC2/hosted.ts +10 -2
  783. package/src/AWS/ECR/ImageSource.ts +10 -2
  784. package/src/AWS/ECR/Repository.ts +39 -4
  785. package/src/AWS/ECS/Service.ts +322 -22
  786. package/src/AWS/ECS/Task.ts +82 -32
  787. package/src/AWS/EKS/Deployment.ts +10 -2
  788. package/src/AWS/EKS/Job.ts +10 -2
  789. package/src/AWS/Lambda/Function.ts +101 -43
  790. package/src/AWS/Lambda/HttpServer.ts +7 -1
  791. package/src/AWS/Lambda/LayerVersion.ts +490 -0
  792. package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
  793. package/src/AWS/Lambda/index.ts +1 -0
  794. package/src/AWS/Providers.ts +10 -0
  795. package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
  796. package/src/AWS/SES/ReceiptFilter.ts +169 -0
  797. package/src/AWS/SES/ReceiptRule.ts +300 -0
  798. package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
  799. package/src/AWS/SES/SendBounce.ts +44 -0
  800. package/src/AWS/SES/SendBounceHttp.ts +13 -0
  801. package/src/AWS/SES/index.ts +6 -0
  802. package/src/AWS/StateStore/State.ts +159 -42
  803. package/src/Apply.ts +199 -83
  804. package/src/Axiom/Telemetry.ts +119 -0
  805. package/src/Axiom/index.ts +1 -0
  806. package/src/Bundle/Bundle.ts +17 -7
  807. package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
  808. package/src/Bundle/PurePlugin.ts +19 -9
  809. package/src/Cli/checkVersion.ts +102 -16
  810. package/src/Cli/commands/_shared.ts +2 -0
  811. package/src/Cli/commands/deploy.ts +3 -14
  812. package/src/Cli/commands/logs.ts +6 -1
  813. package/src/Cli/commands/tail.ts +6 -1
  814. package/src/Cli/main.ts +5 -4
  815. package/src/Cloudflare/AI/Search.ts +4 -18
  816. package/src/Cloudflare/AI/SearchInstance.ts +7 -26
  817. package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
  818. package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
  819. package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
  820. package/src/Cloudflare/Containers/Container.ts +92 -3
  821. package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
  822. package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
  823. package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
  824. package/src/Cloudflare/Credentials.ts +69 -9
  825. package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
  826. package/src/Cloudflare/D1/Database.ts +169 -2
  827. package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
  828. package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
  829. package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
  830. package/src/Cloudflare/DNS/Record.ts +30 -4
  831. package/src/Cloudflare/Email/Address.ts +18 -1
  832. package/src/Cloudflare/Email/SendBinding.ts +1 -0
  833. package/src/Cloudflare/Email/SendEmail.ts +13 -0
  834. package/src/Cloudflare/Flagship/App.ts +18 -6
  835. package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
  836. package/src/Cloudflare/KV/Namespace.ts +47 -1
  837. package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
  838. package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
  839. package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
  840. package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
  841. package/src/Cloudflare/LocalGateway.ts +86 -0
  842. package/src/Cloudflare/LocalRuntime.ts +21 -1
  843. package/src/Cloudflare/Logs.ts +58 -28
  844. package/src/Cloudflare/Providers.ts +4 -2
  845. package/src/Cloudflare/Queues/Consumer.ts +70 -2
  846. package/src/Cloudflare/Queues/Queue.ts +7 -16
  847. package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
  848. package/src/Cloudflare/Queues/QueueShim.ts +193 -0
  849. package/src/Cloudflare/R2/Bucket.ts +55 -1
  850. package/src/Cloudflare/R2/BucketBinding.ts +17 -3
  851. package/src/Cloudflare/R2/BucketLocal.ts +25 -8
  852. package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
  853. package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
  854. package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
  855. package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
  856. package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
  857. package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
  858. package/src/Cloudflare/Rum/Site.ts +11 -4
  859. package/src/Cloudflare/StateStore/Api.ts +1 -1
  860. package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
  861. package/src/Cloudflare/Website/StaticSite.ts +117 -28
  862. package/src/Cloudflare/Website/Vite.ts +33 -19
  863. package/src/Cloudflare/Workers/Compatibility.ts +27 -7
  864. package/src/Cloudflare/Workers/DurableObject.ts +22 -0
  865. package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
  866. package/src/Cloudflare/Workers/InferEnv.ts +74 -59
  867. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +619 -401
  868. package/src/Cloudflare/Workers/Worker.ts +676 -28
  869. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
  870. package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
  871. package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
  872. package/src/Cloudflare/Workers/WorkerBundle.ts +6 -1
  873. package/src/Cloudflare/Workers/WorkerProvider.ts +2269 -277
  874. package/src/Cloudflare/Workflows/WorkflowBridge.ts +31 -13
  875. package/src/Command/Build.ts +8 -8
  876. package/src/Command/Command.ts +217 -42
  877. package/src/Command/Dev.ts +79 -107
  878. package/src/Command/Exec.ts +11 -2
  879. package/src/Command/Memo.ts +27 -3
  880. package/src/Command/Redaction.ts +181 -0
  881. package/src/Destroy.ts +1 -10
  882. package/src/Docker/Container.ts +55 -15
  883. package/src/Docker/Context.ts +236 -0
  884. package/src/Docker/Docker.ts +393 -43
  885. package/src/Docker/Image.ts +28 -7
  886. package/src/Docker/Network.ts +38 -14
  887. package/src/Docker/Providers.ts +16 -1
  888. package/src/Docker/RemoteImage.ts +23 -7
  889. package/src/Docker/Service.ts +1119 -0
  890. package/src/Docker/ServiceImage.ts +331 -0
  891. package/src/Docker/Swarm.ts +226 -0
  892. package/src/Docker/Volume.ts +25 -6
  893. package/src/Docker/index.ts +3 -0
  894. package/src/Http.ts +15 -2
  895. package/src/Local/LocalProvider.ts +518 -0
  896. package/src/Local/ProviderLayer.ts +113 -11
  897. package/src/Local/RpcProvider.ts +10 -5
  898. package/src/Local/RpcProviderProxy.ts +4 -1
  899. package/src/Local/RpcServer.ts +20 -2
  900. package/src/Plan.ts +182 -54
  901. package/src/Planetscale/AuthProvider.ts +15 -2
  902. package/src/Planetscale/Branch.ts +39 -6
  903. package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
  904. package/src/Planetscale/OAuthClient.ts +59 -3
  905. package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
  906. package/src/Platform.ts +29 -17
  907. package/src/Prisma/App.ts +433 -0
  908. package/src/Prisma/AuthProvider.ts +260 -0
  909. package/src/Prisma/Branch.ts +417 -0
  910. package/src/Prisma/Client.ts +1337 -0
  911. package/src/Prisma/Compute.ts +2878 -0
  912. package/src/Prisma/ComputeArchive.ts +432 -0
  913. package/src/Prisma/ComputeBuild.ts +1652 -0
  914. package/src/Prisma/ComputeLifecycle.ts +391 -0
  915. package/src/Prisma/Connect.ts +433 -0
  916. package/src/Prisma/Connection.ts +643 -0
  917. package/src/Prisma/CustomDomain.ts +373 -0
  918. package/src/Prisma/Database.ts +850 -0
  919. package/src/Prisma/Deployment.ts +661 -0
  920. package/src/Prisma/EnvironmentVariable.ts +417 -0
  921. package/src/Prisma/Internal/AppIdentity.ts +19 -0
  922. package/src/Prisma/Internal/AppPromotion.ts +172 -0
  923. package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
  924. package/src/Prisma/Internal/ArtifactFile.ts +242 -0
  925. package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
  926. package/src/Prisma/Internal/BundlePaths.ts +28 -0
  927. package/src/Prisma/Internal/CleanupFailure.ts +17 -0
  928. package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
  929. package/src/Prisma/Internal/DeploymentActions.ts +59 -0
  930. package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
  931. package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
  932. package/src/Prisma/Internal/EnvName.ts +24 -0
  933. package/src/Prisma/Internal/HttpClient.ts +30 -0
  934. package/src/Prisma/Operations.ts +259 -0
  935. package/src/Prisma/Postgres.ts +25 -0
  936. package/src/Prisma/PostgresOrigin.ts +52 -0
  937. package/src/Prisma/PrismaDevDatabase.ts +395 -0
  938. package/src/Prisma/PrismaEnvironment.ts +89 -0
  939. package/src/Prisma/PrismaLogs.ts +434 -0
  940. package/src/Prisma/Project.ts +687 -0
  941. package/src/Prisma/Providers.ts +471 -0
  942. package/src/Prisma/Refs.ts +69 -0
  943. package/src/Prisma/SourceRepository.ts +455 -0
  944. package/src/Prisma/Types.ts +611 -0
  945. package/src/Prisma/index.ts +24 -0
  946. package/src/Provider.ts +155 -39
  947. package/src/ProviderMode.ts +123 -0
  948. package/src/Resource.ts +46 -0
  949. package/src/RuntimeContext.ts +7 -0
  950. package/src/Server/Process.ts +33 -0
  951. package/src/State/InMemoryState.ts +2 -0
  952. package/src/State/ResourceState.ts +18 -0
  953. package/src/Sync.ts +14 -2
  954. package/src/Telemetry.ts +736 -0
  955. package/src/Test/Alchemy.ts +3 -1
  956. package/src/Test/Core.ts +1 -8
  957. package/src/Util/Clank.ts +37 -11
  958. package/src/Util/zip.ts +39 -0
  959. package/src/index.ts +3 -0
@@ -0,0 +1,883 @@
1
+ import type * as bedrock from "@distilled.cloud/aws/bedrock-runtime";
2
+ import * as Context from "effect/Context";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Stream from "effect/Stream";
6
+ import {
7
+ AiError,
8
+ LanguageModel as AiLanguageModel,
9
+ IdGenerator,
10
+ Prompt,
11
+ Response,
12
+ Tool,
13
+ } from "effect/unstable/ai";
14
+ import * as Binding from "../../Binding.ts";
15
+ import type { ConverseRequest } from "./Converse.ts";
16
+ import type { ConverseStreamRequest } from "./ConverseStream.ts";
17
+
18
+ /**
19
+ * Inference parameters applied to every request made through the
20
+ * {@link LanguageModel}. They translate to the Converse API's
21
+ * `inferenceConfig` (plus `additionalModelRequestFields` for
22
+ * model-specific extensions like `top_k` or reasoning budgets).
23
+ */
24
+ export interface LanguageModelParameters {
25
+ /**
26
+ * Maximum number of tokens the model may generate in the response.
27
+ */
28
+ maxTokens?: number;
29
+ /**
30
+ * Sampling temperature. Lower values make the output more deterministic.
31
+ */
32
+ temperature?: number;
33
+ /**
34
+ * Nucleus-sampling probability mass.
35
+ */
36
+ topP?: number;
37
+ /**
38
+ * Sequences that stop generation when the model emits them.
39
+ */
40
+ stopSequences?: string[];
41
+ /**
42
+ * Model-specific request fields passed through verbatim as the Converse
43
+ * API's `additionalModelRequestFields` — e.g. `{ top_k: 50 }` for
44
+ * Anthropic models or `{ inferenceConfig: { topK: 5 } }` for Amazon Nova.
45
+ */
46
+ additionalModelRequestFields?: unknown;
47
+ }
48
+
49
+ /**
50
+ * Options for constructing a Bedrock-backed Effect AI `LanguageModel`.
51
+ */
52
+ export interface LanguageModelOptions {
53
+ /**
54
+ * Default inference parameters. Every field can be overridden per call
55
+ * with {@link withModelParameters}.
56
+ */
57
+ parameters?: LanguageModelParameters;
58
+ }
59
+
60
+ /**
61
+ * Per-call overrides applied with {@link withModelParameters}: any
62
+ * {@link LanguageModelParameters} field plus the model to run the call on.
63
+ */
64
+ export interface LanguageModelCallParameters extends LanguageModelParameters {
65
+ /**
66
+ * The model to run inference on for this call. Must be one of the model
67
+ * ids the {@link LanguageModel} binding was created with (IAM is scoped to
68
+ * exactly those).
69
+ * @default the first bound model id
70
+ */
71
+ modelId?: string;
72
+ }
73
+
74
+ /**
75
+ * Fiber-scoped {@link LanguageModelCallParameters} consulted on every
76
+ * generateText / streamText call made through a Bedrock-backed
77
+ * `LanguageModel`. Set it for a region of your program with
78
+ * {@link withModelParameters}.
79
+ */
80
+ export const CurrentModelParameters =
81
+ Context.Reference<LanguageModelCallParameters>(
82
+ "AWS.Bedrock.CurrentModelParameters",
83
+ {
84
+ defaultValue: () => ({}),
85
+ },
86
+ );
87
+
88
+ /**
89
+ * Scope per-call inference parameters (and optionally the target model)
90
+ * onto an Effect or Stream that talks to a Bedrock-backed `LanguageModel`.
91
+ * Defined fields override the binding's construction-time `parameters`;
92
+ * everything else falls through to those defaults.
93
+ *
94
+ * ```typescript
95
+ * const response = yield* LanguageModel.generateText({ prompt }).pipe(
96
+ * Bedrock.withModelParameters({ temperature: 0, maxTokens: 64 }),
97
+ * );
98
+ * ```
99
+ */
100
+ export const withModelParameters =
101
+ (parameters: LanguageModelCallParameters) =>
102
+ <S extends Effect.Effect<any, any, any> | Stream.Stream<any, any, any>>(
103
+ self: S,
104
+ ): S =>
105
+ (Effect.isEffect(self)
106
+ ? Effect.provideService(CurrentModelParameters, parameters)(self)
107
+ : Stream.provideService(
108
+ CurrentModelParameters,
109
+ parameters,
110
+ )(self as Stream.Stream<any, any, any>)) as S;
111
+
112
+ /**
113
+ * Runtime binding that turns an Amazon Bedrock model into an
114
+ * `effect/unstable/ai` {@link AiLanguageModel.LanguageModel} `Layer`, so any
115
+ * Effect AI program (`LanguageModel.generateText`, `streamText`, `Chat`,
116
+ * toolkits, ...) runs against Bedrock without code changes.
117
+ *
118
+ * Calls are translated to the Bedrock Converse API — Bedrock's unified
119
+ * messages API that works across all conversational foundation models
120
+ * (Amazon Nova, Anthropic Claude, Meta Llama, Mistral, ...) — so one binding
121
+ * covers every model. Bind one model or a list of models: the function is
122
+ * granted `bedrock:InvokeModel` and `bedrock:InvokeModelWithResponseStream`
123
+ * scoped to exactly those models, the first is the default, and runtime code
124
+ * picks between them (and tunes inference parameters) per call with
125
+ * {@link withModelParameters}. A model reference may be a foundation-model
126
+ * id, a cross-region inference profile id (e.g. `us.amazon.nova-micro-v1:0`),
127
+ * or a full Bedrock ARN.
128
+ *
129
+ * Model access is an account entitlement — enable the model in the Bedrock
130
+ * console (Model access) before invoking, otherwise calls fail with
131
+ * `AccessDeniedException`. Many newer models are only invocable through a
132
+ * cross-region inference profile id, not their bare foundation-model id.
133
+ *
134
+ * @binding
135
+ * @section Effect AI on Bedrock
136
+ * @example Generate Text
137
+ * ```typescript
138
+ * import { LanguageModel } from "effect/unstable/ai";
139
+ *
140
+ * // init: bind the model and get a LanguageModel Layer
141
+ * const model = yield* Bedrock.LanguageModel("us.amazon.nova-micro-v1:0", {
142
+ * parameters: { maxTokens: 1024, temperature: 0.7 },
143
+ * });
144
+ *
145
+ * // runtime: any Effect AI program works against Bedrock
146
+ * const response = yield* LanguageModel.generateText({
147
+ * prompt: "Say hello.",
148
+ * }).pipe(Effect.provide(model));
149
+ * ```
150
+ *
151
+ * @example Stream Text
152
+ * ```typescript
153
+ * const parts = LanguageModel.streamText({ prompt }).pipe(
154
+ * Stream.provide(model),
155
+ * );
156
+ * // parts is a Stream of text-start / text-delta / ... / finish parts
157
+ * ```
158
+ *
159
+ * @section Runtime Configuration
160
+ * @example Override Parameters Per Call
161
+ * The binding's `parameters` are only defaults — scope overrides onto any
162
+ * call with `withModelParameters`.
163
+ * ```typescript
164
+ * const response = yield* LanguageModel.generateText({ prompt }).pipe(
165
+ * Bedrock.withModelParameters({ temperature: 0, maxTokens: 64 }),
166
+ * );
167
+ * ```
168
+ *
169
+ * @example Bind Multiple Models and Pick Per Call
170
+ * IAM access is fixed at deploy time (scoped to the bound list); which of
171
+ * those models serves a given request is a runtime decision.
172
+ * ```typescript
173
+ * // init: one Layer, IAM for both models, Nova Micro is the default
174
+ * const model = yield* Bedrock.LanguageModel([
175
+ * "us.amazon.nova-micro-v1:0",
176
+ * "us.anthropic.claude-sonnet-4-20250514-v1:0",
177
+ * ]);
178
+ *
179
+ * // runtime: route this call to Claude
180
+ * const response = yield* LanguageModel.generateText({ prompt }).pipe(
181
+ * Bedrock.withModelParameters({
182
+ * modelId: "us.anthropic.claude-sonnet-4-20250514-v1:0",
183
+ * }),
184
+ * );
185
+ * ```
186
+ *
187
+ * @section Tool Calling
188
+ * @example Call Tools with a Toolkit
189
+ * ```typescript
190
+ * import { Tool, Toolkit } from "effect/unstable/ai";
191
+ * import * as Schema from "effect/Schema";
192
+ *
193
+ * const GetWeather = Tool.make("get_weather", {
194
+ * description: "Get the current weather for a city.",
195
+ * parameters: Schema.Struct({ city: Schema.String }),
196
+ * success: Schema.Struct({ temperatureF: Schema.Number }),
197
+ * });
198
+ * const WeatherToolkit = Toolkit.make(GetWeather);
199
+ *
200
+ * const response = yield* LanguageModel.generateText({
201
+ * prompt: "What's the weather in Seattle?",
202
+ * toolkit: WeatherToolkit,
203
+ * }).pipe(
204
+ * Effect.provide(WeatherToolkit.toLayer({
205
+ * get_weather: ({ city }) => Effect.succeed({ temperatureF: 72 }),
206
+ * })),
207
+ * Effect.provide(model),
208
+ * );
209
+ * ```
210
+ */
211
+ export interface LanguageModel extends Binding.Service<
212
+ LanguageModel,
213
+ "AWS.Bedrock.LanguageModel",
214
+ (
215
+ model: string | readonly [string, ...string[]],
216
+ options?: LanguageModelOptions,
217
+ ) => Effect.Effect<Layer.Layer<AiLanguageModel.LanguageModel>>
218
+ > {}
219
+ export const LanguageModel = Binding.Service<LanguageModel>(
220
+ "AWS.Bedrock.LanguageModel",
221
+ );
222
+
223
+ /**
224
+ * The already-bound Converse callables the adapter drives. Produced by
225
+ * `yield* Bedrock.Converse(model)` / `yield* Bedrock.ConverseStream(model)`
226
+ * (or any function of the same shape).
227
+ */
228
+ export interface MakeLanguageModelOptions {
229
+ /** Non-streaming Converse callable (modelId already bound). */
230
+ readonly converse: (
231
+ request: ConverseRequest,
232
+ ) => Effect.Effect<bedrock.ConverseResponse, bedrock.ConverseError>;
233
+ /** Streaming Converse callable (modelId already bound). */
234
+ readonly converseStream: (
235
+ request: ConverseStreamRequest,
236
+ ) => Effect.Effect<
237
+ bedrock.ConverseStreamResponse,
238
+ bedrock.ConverseStreamError
239
+ >;
240
+ /** Default inference parameters for every call. */
241
+ readonly parameters?: LanguageModelParameters;
242
+ }
243
+
244
+ /**
245
+ * Provide an {@link AiLanguageModel.LanguageModel} layer backed by the
246
+ * supplied Bedrock Converse callables.
247
+ */
248
+ export const makeLanguageModelLayer = (
249
+ options: MakeLanguageModelOptions,
250
+ ): Layer.Layer<AiLanguageModel.LanguageModel> =>
251
+ Layer.effect(AiLanguageModel.LanguageModel, makeLanguageModel(options));
252
+
253
+ /**
254
+ * Build an {@link AiLanguageModel.Service} that proxies generateText /
255
+ * streamText through the Bedrock Converse API.
256
+ */
257
+ export const makeLanguageModel = ({
258
+ converse,
259
+ converseStream,
260
+ parameters,
261
+ }: MakeLanguageModelOptions): Effect.Effect<AiLanguageModel.Service> =>
262
+ AiLanguageModel.make({
263
+ generateText: (options) =>
264
+ Effect.gen(function* () {
265
+ // Read the fiber-scoped per-call overrides (withModelParameters)
266
+ // and merge them over the binding's construction-time defaults.
267
+ const call = yield* CurrentModelParameters;
268
+ const request = toConverseRequest({
269
+ options,
270
+ parameters: mergeParameters(parameters, call),
271
+ modelId: call.modelId,
272
+ });
273
+ const response = yield* converse(request).pipe(
274
+ Effect.mapError((cause) => toAiError(cause, "generateText")),
275
+ );
276
+ return toResponseParts(response);
277
+ }),
278
+ streamText: (options) =>
279
+ Stream.unwrap(
280
+ Effect.gen(function* () {
281
+ const idGen = yield* IdGenerator.IdGenerator;
282
+ const call = yield* CurrentModelParameters;
283
+ const request = toConverseRequest({
284
+ options,
285
+ parameters: mergeParameters(parameters, call),
286
+ modelId: call.modelId,
287
+ });
288
+ const response = yield* converseStream(request).pipe(
289
+ Effect.mapError((cause) => toAiError(cause, "streamText")),
290
+ );
291
+ return parseStream(response, idGen);
292
+ }),
293
+ ),
294
+ });
295
+
296
+ // ---------------------------------------------------------------------------
297
+ // Prompt → Converse messages
298
+ //
299
+ // The Converse API separates system prompts from the message list, requires
300
+ // strict user/assistant alternation, and carries tool results inside *user*
301
+ // messages — so conversion merges consecutive same-role messages after
302
+ // mapping.
303
+ // ---------------------------------------------------------------------------
304
+
305
+ const IMAGE_FORMATS: Record<string, bedrock.ImageFormat> = {
306
+ "image/png": "png",
307
+ "image/jpeg": "jpeg",
308
+ "image/gif": "gif",
309
+ "image/webp": "webp",
310
+ };
311
+
312
+ const base64ToUint8Array = (data: string): Uint8Array => {
313
+ const binary = atob(data);
314
+ const bytes = new Uint8Array(binary.length);
315
+ for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
316
+ return bytes;
317
+ };
318
+
319
+ const fileToImageBlock = (
320
+ data: string | Uint8Array | URL,
321
+ mediaType: string,
322
+ ): bedrock.ContentBlock | undefined => {
323
+ const format = IMAGE_FORMATS[mediaType];
324
+ // Converse only accepts inline bytes (or S3 locations) — remote URLs and
325
+ // non-image documents are not representable, so they are dropped.
326
+ if (format === undefined || data instanceof URL) return undefined;
327
+ const bytes =
328
+ data instanceof Uint8Array
329
+ ? data
330
+ : base64ToUint8Array(
331
+ data.startsWith("data:") ? data.slice(data.indexOf(",") + 1) : data,
332
+ );
333
+ return { image: { format, source: { bytes } } };
334
+ };
335
+
336
+ const toolCallInput = (params: unknown): unknown => {
337
+ if (typeof params !== "string") return params ?? {};
338
+ try {
339
+ return JSON.parse(params);
340
+ } catch {
341
+ return {};
342
+ }
343
+ };
344
+
345
+ interface ConverseMessages {
346
+ readonly system: bedrock.SystemContentBlock[];
347
+ readonly messages: bedrock.Message[];
348
+ }
349
+
350
+ const toUserContent = (
351
+ parts: Prompt.UserMessage["content"],
352
+ ): bedrock.ContentBlock[] =>
353
+ parts.flatMap((p): bedrock.ContentBlock[] => {
354
+ if (p.type === "text") return p.text.length > 0 ? [{ text: p.text }] : [];
355
+ if (p.type === "file") {
356
+ const block = fileToImageBlock(p.data, p.mediaType);
357
+ return block === undefined ? [] : [block];
358
+ }
359
+ return [];
360
+ });
361
+
362
+ const toAssistantContent = (
363
+ parts: Prompt.AssistantMessage["content"],
364
+ ): bedrock.ContentBlock[] =>
365
+ parts.flatMap((p): bedrock.ContentBlock[] => {
366
+ // Reasoning parts are not replayed: Bedrock requires the original
367
+ // cryptographic signature alongside replayed reasoning, which the
368
+ // framework does not round-trip. Models tolerate its absence.
369
+ if (p.type === "text") return p.text.length > 0 ? [{ text: p.text }] : [];
370
+ if (p.type === "tool-call") {
371
+ return [
372
+ {
373
+ toolUse: {
374
+ toolUseId: p.id,
375
+ name: p.name,
376
+ input: toolCallInput(p.params),
377
+ },
378
+ },
379
+ ];
380
+ }
381
+ return [];
382
+ });
383
+
384
+ const toToolResultContent = (
385
+ parts: Prompt.ToolMessage["content"],
386
+ ): bedrock.ContentBlock[] =>
387
+ parts.flatMap((p): bedrock.ContentBlock[] =>
388
+ p.type === "tool-result"
389
+ ? [
390
+ {
391
+ toolResult: {
392
+ toolUseId: p.id,
393
+ content:
394
+ typeof p.result === "string"
395
+ ? [{ text: p.result }]
396
+ : [{ json: p.result ?? {} }],
397
+ ...(p.isFailure ? { status: "error" as const } : {}),
398
+ },
399
+ },
400
+ ]
401
+ : [],
402
+ );
403
+
404
+ const convertPrompt = (prompt: Prompt.Prompt): ConverseMessages => {
405
+ const system: bedrock.SystemContentBlock[] = [];
406
+ const messages: bedrock.Message[] = [];
407
+
408
+ const append = (
409
+ role: bedrock.ConversationRole,
410
+ content: bedrock.ContentBlock[],
411
+ ) => {
412
+ if (content.length === 0) return;
413
+ const last = messages[messages.length - 1];
414
+ // Converse requires user/assistant alternation; merge consecutive
415
+ // same-role messages (tool results become user messages, so a tool
416
+ // message followed by a user message must fuse).
417
+ if (last !== undefined && last.role === role) {
418
+ last.content.push(...content);
419
+ } else {
420
+ messages.push({ role, content });
421
+ }
422
+ };
423
+
424
+ for (const message of prompt.content) {
425
+ switch (message.role) {
426
+ case "system":
427
+ if (message.content.length > 0) system.push({ text: message.content });
428
+ break;
429
+ case "user":
430
+ append("user", toUserContent(message.content));
431
+ break;
432
+ case "assistant":
433
+ append("assistant", toAssistantContent(message.content));
434
+ break;
435
+ case "tool":
436
+ append("user", toToolResultContent(message.content));
437
+ break;
438
+ }
439
+ }
440
+
441
+ return { system, messages };
442
+ };
443
+
444
+ // ---------------------------------------------------------------------------
445
+ // Tools / toolChoice
446
+ // ---------------------------------------------------------------------------
447
+
448
+ const toToolSpec = (tool: Tool.Any): bedrock.Tool => ({
449
+ toolSpec: {
450
+ name: tool.name,
451
+ description: Tool.getDescription(tool),
452
+ inputSchema: { json: Tool.getJsonSchema(tool) },
453
+ },
454
+ });
455
+
456
+ const hasToolBlocks = (messages: ReadonlyArray<bedrock.Message>): boolean =>
457
+ messages.some((m) =>
458
+ m.content.some(
459
+ (block) => block.toolUse !== undefined || block.toolResult !== undefined,
460
+ ),
461
+ );
462
+
463
+ const toToolConfig = (
464
+ tools: ReadonlyArray<Tool.Any>,
465
+ toolChoice: AiLanguageModel.ProviderOptions["toolChoice"],
466
+ messages: ReadonlyArray<bedrock.Message>,
467
+ ): bedrock.ToolConfiguration | undefined => {
468
+ if (tools.length === 0) return undefined;
469
+ const mapped = tools.map(toToolSpec);
470
+
471
+ if (toolChoice === "none") {
472
+ // Converse has no "none" mode. Omit toolConfig entirely — unless the
473
+ // conversation already contains toolUse/toolResult blocks, which the API
474
+ // rejects without a toolConfig; then send the tools with auto choice.
475
+ return hasToolBlocks(messages)
476
+ ? { tools: mapped, toolChoice: { auto: {} } }
477
+ : undefined;
478
+ }
479
+ if (toolChoice === "required") {
480
+ return { tools: mapped, toolChoice: { any: {} } };
481
+ }
482
+ if (typeof toolChoice === "object" && "tool" in toolChoice) {
483
+ return {
484
+ tools: mapped,
485
+ toolChoice: { tool: { name: toolChoice.tool } },
486
+ };
487
+ }
488
+ if (typeof toolChoice === "object" && "oneOf" in toolChoice) {
489
+ const allowed = new Set(toolChoice.oneOf);
490
+ return {
491
+ tools: mapped.filter(
492
+ (t) => t.toolSpec !== undefined && allowed.has(t.toolSpec.name),
493
+ ),
494
+ toolChoice: toolChoice.mode === "required" ? { any: {} } : { auto: {} },
495
+ };
496
+ }
497
+ return { tools: mapped, toolChoice: { auto: {} } };
498
+ };
499
+
500
+ // ---------------------------------------------------------------------------
501
+ // Request assembly
502
+ // ---------------------------------------------------------------------------
503
+
504
+ /**
505
+ * Merge per-call overrides over construction-time defaults, field by field —
506
+ * an undefined override field never clobbers a configured default.
507
+ */
508
+ const mergeParameters = (
509
+ defaults: LanguageModelParameters | undefined,
510
+ overrides: LanguageModelCallParameters,
511
+ ): LanguageModelParameters => ({
512
+ maxTokens: overrides.maxTokens ?? defaults?.maxTokens,
513
+ temperature: overrides.temperature ?? defaults?.temperature,
514
+ topP: overrides.topP ?? defaults?.topP,
515
+ stopSequences: overrides.stopSequences ?? defaults?.stopSequences,
516
+ additionalModelRequestFields:
517
+ overrides.additionalModelRequestFields ??
518
+ defaults?.additionalModelRequestFields,
519
+ });
520
+
521
+ const toConverseRequest = ({
522
+ options,
523
+ parameters,
524
+ modelId,
525
+ }: {
526
+ readonly options: AiLanguageModel.ProviderOptions;
527
+ readonly parameters: LanguageModelParameters | undefined;
528
+ readonly modelId?: string | undefined;
529
+ }): ConverseRequest & ConverseStreamRequest => {
530
+ const { system, messages } = convertPrompt(options.prompt);
531
+ const toolConfig = toToolConfig(options.tools, options.toolChoice, messages);
532
+ const inferenceConfig: bedrock.InferenceConfiguration = {
533
+ ...(parameters?.maxTokens !== undefined
534
+ ? { maxTokens: parameters.maxTokens }
535
+ : {}),
536
+ ...(parameters?.temperature !== undefined
537
+ ? { temperature: parameters.temperature }
538
+ : {}),
539
+ ...(parameters?.topP !== undefined ? { topP: parameters.topP } : {}),
540
+ ...(parameters?.stopSequences !== undefined
541
+ ? { stopSequences: parameters.stopSequences }
542
+ : {}),
543
+ };
544
+ return {
545
+ messages,
546
+ ...(modelId !== undefined ? { modelId } : {}),
547
+ ...(system.length > 0 ? { system } : {}),
548
+ ...(Object.keys(inferenceConfig).length > 0 ? { inferenceConfig } : {}),
549
+ ...(toolConfig !== undefined ? { toolConfig } : {}),
550
+ ...(parameters?.additionalModelRequestFields !== undefined
551
+ ? {
552
+ additionalModelRequestFields: parameters.additionalModelRequestFields,
553
+ }
554
+ : {}),
555
+ };
556
+ };
557
+
558
+ // ---------------------------------------------------------------------------
559
+ // Finish reason / usage mapping
560
+ // ---------------------------------------------------------------------------
561
+
562
+ const mapStopReason = (
563
+ raw: bedrock.StopReason | undefined,
564
+ ): Response.FinishReason => {
565
+ switch (raw) {
566
+ case "end_turn":
567
+ case "stop_sequence":
568
+ return "stop";
569
+ case "tool_use":
570
+ return "tool-calls";
571
+ case "max_tokens":
572
+ case "model_context_window_exceeded":
573
+ return "length";
574
+ case "guardrail_intervened":
575
+ case "content_filtered":
576
+ return "content-filter";
577
+ case "malformed_model_output":
578
+ case "malformed_tool_use":
579
+ return "error";
580
+ case undefined:
581
+ return "unknown";
582
+ default:
583
+ return "other";
584
+ }
585
+ };
586
+
587
+ const mapUsage = (usage: bedrock.TokenUsage | undefined): Response.Usage => {
588
+ // Bedrock's `inputTokens` excludes cache reads/writes, which are reported
589
+ // separately — so `total` is the sum of all three.
590
+ const input = usage?.inputTokens ?? 0;
591
+ const cacheRead = usage?.cacheReadInputTokens ?? 0;
592
+ const cacheWrite = usage?.cacheWriteInputTokens ?? 0;
593
+ return new Response.Usage({
594
+ inputTokens: {
595
+ uncached: input,
596
+ total: input + cacheRead + cacheWrite,
597
+ cacheRead,
598
+ cacheWrite,
599
+ },
600
+ outputTokens: {
601
+ total: usage?.outputTokens ?? 0,
602
+ text: 0,
603
+ reasoning: 0,
604
+ },
605
+ });
606
+ };
607
+
608
+ // ---------------------------------------------------------------------------
609
+ // generateText: ConverseResponse → Response.PartEncoded[]
610
+ // ---------------------------------------------------------------------------
611
+
612
+ const toResponseParts = (
613
+ response: bedrock.ConverseResponse,
614
+ ): Array<Response.PartEncoded> => {
615
+ const content = response.output.message?.content ?? [];
616
+ const parts = content.flatMap((block): Response.PartEncoded[] => {
617
+ if (block.text !== undefined && block.text.length > 0) {
618
+ return [{ type: "text", text: block.text }];
619
+ }
620
+ if (block.reasoningContent?.reasoningText !== undefined) {
621
+ const text = block.reasoningContent.reasoningText.text;
622
+ return text.length > 0 ? [{ type: "reasoning", text }] : [];
623
+ }
624
+ if (block.toolUse !== undefined) {
625
+ return [
626
+ {
627
+ type: "tool-call",
628
+ id: block.toolUse.toolUseId,
629
+ name: block.toolUse.name,
630
+ params: block.toolUse.input ?? {},
631
+ },
632
+ ];
633
+ }
634
+ return [];
635
+ });
636
+ return [
637
+ ...parts,
638
+ {
639
+ type: "finish",
640
+ reason: mapStopReason(response.stopReason),
641
+ usage: mapUsage(response.usage),
642
+ response: undefined,
643
+ },
644
+ ];
645
+ };
646
+
647
+ // ---------------------------------------------------------------------------
648
+ // streamText: ConverseStreamOutput events → Stream<Response.StreamPartEncoded>
649
+ //
650
+ // Bedrock's stream is fully structured: content blocks are opened by index
651
+ // (`contentBlockStart` for tool use; text/reasoning open implicitly on the
652
+ // first delta), advanced by `contentBlockDelta`, and closed by
653
+ // `contentBlockStop`. `messageStop` carries the stop reason and `metadata`
654
+ // carries usage. State threads through `Stream.mapAccumEffect`; the
655
+ // per-event `parts` buffer is mutable but scoped to one event.
656
+ // ---------------------------------------------------------------------------
657
+
658
+ interface OpenBlock {
659
+ readonly kind: "text" | "reasoning" | "tool";
660
+ readonly id: string;
661
+ }
662
+
663
+ interface StreamState {
664
+ readonly blocks: ReadonlyMap<number, OpenBlock>;
665
+ readonly usage: bedrock.TokenUsage | undefined;
666
+ readonly stopReason: bedrock.StopReason | undefined;
667
+ }
668
+
669
+ const initialStreamState: StreamState = {
670
+ blocks: new Map(),
671
+ usage: undefined,
672
+ stopReason: undefined,
673
+ };
674
+
675
+ type StreamParts = Array<Response.StreamPartEncoded>;
676
+
677
+ // Text/reasoning blocks open implicitly on their first delta; tool blocks
678
+ // are opened by handleBlockStart (Bedrock names them via contentBlockStart).
679
+ const openBlock = (
680
+ state: StreamState,
681
+ index: number,
682
+ block: OpenBlock & { readonly kind: "text" | "reasoning" },
683
+ parts: StreamParts,
684
+ ): StreamState => {
685
+ parts.push(
686
+ block.kind === "text"
687
+ ? { type: "text-start", id: block.id }
688
+ : { type: "reasoning-start", id: block.id },
689
+ );
690
+ const blocks = new Map(state.blocks);
691
+ blocks.set(index, block);
692
+ return { ...state, blocks };
693
+ };
694
+
695
+ const closeBlock = (
696
+ state: StreamState,
697
+ index: number,
698
+ parts: StreamParts,
699
+ ): StreamState => {
700
+ const block = state.blocks.get(index);
701
+ if (block === undefined) return state;
702
+ parts.push(
703
+ block.kind === "text"
704
+ ? { type: "text-end", id: block.id }
705
+ : block.kind === "reasoning"
706
+ ? { type: "reasoning-end", id: block.id }
707
+ : { type: "tool-params-end", id: block.id },
708
+ );
709
+ const blocks = new Map(state.blocks);
710
+ blocks.delete(index);
711
+ return { ...state, blocks };
712
+ };
713
+
714
+ const handleBlockStart = (
715
+ state: StreamState,
716
+ event: bedrock.ContentBlockStartEvent,
717
+ parts: StreamParts,
718
+ ): StreamState => {
719
+ const toolUse = event.start.toolUse;
720
+ if (toolUse === undefined) return state;
721
+ parts.push({
722
+ type: "tool-params-start",
723
+ id: toolUse.toolUseId,
724
+ name: toolUse.name,
725
+ });
726
+ const blocks = new Map(state.blocks);
727
+ blocks.set(event.contentBlockIndex, { kind: "tool", id: toolUse.toolUseId });
728
+ return { ...state, blocks };
729
+ };
730
+
731
+ const handleBlockDelta = (
732
+ state: StreamState,
733
+ event: bedrock.ContentBlockDeltaEvent,
734
+ parts: StreamParts,
735
+ idGen: IdGenerator.Service,
736
+ ): Effect.Effect<StreamState> =>
737
+ Effect.gen(function* () {
738
+ const index = event.contentBlockIndex;
739
+ const delta = event.delta;
740
+ let s = state;
741
+
742
+ if (delta.text !== undefined) {
743
+ let block = s.blocks.get(index);
744
+ if (block === undefined) {
745
+ const opened = {
746
+ kind: "text",
747
+ id: yield* idGen.generateId(),
748
+ } as const;
749
+ s = openBlock(s, index, opened, parts);
750
+ block = opened;
751
+ }
752
+ if (delta.text.length > 0) {
753
+ parts.push({ type: "text-delta", id: block.id, delta: delta.text });
754
+ }
755
+ return s;
756
+ }
757
+
758
+ if (delta.reasoningContent !== undefined) {
759
+ const text = delta.reasoningContent.text;
760
+ // Signature / redacted-content deltas carry no displayable text.
761
+ if (text === undefined) return s;
762
+ let block = s.blocks.get(index);
763
+ if (block === undefined) {
764
+ const opened = {
765
+ kind: "reasoning",
766
+ id: yield* idGen.generateId(),
767
+ } as const;
768
+ s = openBlock(s, index, opened, parts);
769
+ block = opened;
770
+ }
771
+ if (text.length > 0) {
772
+ parts.push({ type: "reasoning-delta", id: block.id, delta: text });
773
+ }
774
+ return s;
775
+ }
776
+
777
+ if (delta.toolUse !== undefined) {
778
+ const block = s.blocks.get(index);
779
+ if (block !== undefined && delta.toolUse.input.length > 0) {
780
+ parts.push({
781
+ type: "tool-params-delta",
782
+ id: block.id,
783
+ delta: delta.toolUse.input,
784
+ });
785
+ }
786
+ return s;
787
+ }
788
+
789
+ return s;
790
+ });
791
+
792
+ const streamExceptionOf = (event: bedrock.ConverseStreamOutput): unknown =>
793
+ event.internalServerException ??
794
+ event.modelStreamErrorException ??
795
+ event.validationException ??
796
+ event.throttlingException ??
797
+ event.serviceUnavailableException;
798
+
799
+ const handleStreamEvent = (
800
+ state: StreamState,
801
+ event: bedrock.ConverseStreamOutput,
802
+ idGen: IdGenerator.Service,
803
+ ): Effect.Effect<
804
+ readonly [StreamState, ReadonlyArray<Response.StreamPartEncoded>],
805
+ AiError.AiError
806
+ > =>
807
+ Effect.gen(function* () {
808
+ const exception = streamExceptionOf(event);
809
+ if (exception !== undefined) {
810
+ return yield* Effect.fail(toAiError(exception, "streamText"));
811
+ }
812
+ const parts: StreamParts = [];
813
+ let s = state;
814
+ if (event.contentBlockStart !== undefined) {
815
+ s = handleBlockStart(s, event.contentBlockStart, parts);
816
+ } else if (event.contentBlockDelta !== undefined) {
817
+ s = yield* handleBlockDelta(s, event.contentBlockDelta, parts, idGen);
818
+ } else if (event.contentBlockStop !== undefined) {
819
+ s = closeBlock(s, event.contentBlockStop.contentBlockIndex, parts);
820
+ } else if (event.messageStop !== undefined) {
821
+ s = { ...s, stopReason: event.messageStop.stopReason };
822
+ } else if (event.metadata !== undefined) {
823
+ s = { ...s, usage: event.metadata.usage };
824
+ }
825
+ return [s, parts] as const;
826
+ });
827
+
828
+ const finalizeStream = (
829
+ state: StreamState,
830
+ ): ReadonlyArray<Response.StreamPartEncoded> => {
831
+ const parts: StreamParts = [];
832
+ let s = state;
833
+ for (const index of [...s.blocks.keys()].sort((a, b) => a - b)) {
834
+ s = closeBlock(s, index, parts);
835
+ }
836
+ parts.push({
837
+ type: "finish",
838
+ reason: mapStopReason(s.stopReason),
839
+ usage: mapUsage(s.usage),
840
+ response: undefined,
841
+ });
842
+ return parts;
843
+ };
844
+
845
+ const parseStream = (
846
+ response: bedrock.ConverseStreamResponse,
847
+ idGen: IdGenerator.Service,
848
+ ): Stream.Stream<Response.StreamPartEncoded, AiError.AiError> => {
849
+ const events = response.stream;
850
+ if (events === undefined) {
851
+ return Stream.fromIterable(finalizeStream(initialStreamState));
852
+ }
853
+ return events.pipe(
854
+ Stream.mapError((cause) => toAiError(cause, "streamText")),
855
+ Stream.mapAccumEffect(
856
+ () => initialStreamState,
857
+ (state, event) => handleStreamEvent(state, event, idGen),
858
+ { onHalt: (state) => finalizeStream(state) },
859
+ ),
860
+ );
861
+ };
862
+
863
+ // ---------------------------------------------------------------------------
864
+ // Error mapping
865
+ // ---------------------------------------------------------------------------
866
+
867
+ const toAiError = (
868
+ cause: unknown,
869
+ method: "generateText" | "streamText",
870
+ ): AiError.AiError => {
871
+ const tagged = cause as { _tag?: string; message?: string } | undefined;
872
+ const description = [
873
+ tagged?._tag ?? (cause instanceof Error ? cause.name : undefined),
874
+ tagged?.message ?? "Bedrock Converse request failed",
875
+ ]
876
+ .filter((s): s is string => s !== undefined && s.length > 0)
877
+ .join(": ");
878
+ return AiError.AiError.make({
879
+ module: "AWS.Bedrock.LanguageModel",
880
+ method,
881
+ reason: new AiError.UnknownError({ description }),
882
+ });
883
+ };