alchemy 2.0.0-beta.42 → 2.0.0-beta.44

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 (712) hide show
  1. package/bin/cli.js +18 -5
  2. package/bin/exec.js +317 -242
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts +1 -1
  5. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts.map +1 -1
  6. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts +1 -1
  7. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts.map +1 -1
  8. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts +1 -1
  9. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts.map +1 -1
  10. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts +1 -1
  11. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts.map +1 -1
  12. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts +1 -1
  13. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts.map +1 -1
  14. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts +1 -1
  15. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts.map +1 -1
  16. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts +1 -1
  17. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts.map +1 -1
  18. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts +1 -1
  19. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts.map +1 -1
  20. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts +1 -1
  21. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts.map +1 -1
  22. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts +1 -1
  23. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts.map +1 -1
  24. package/lib/AWS/CloudWatch/GetDashboard.d.ts +1 -1
  25. package/lib/AWS/CloudWatch/GetDashboard.d.ts.map +1 -1
  26. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts +1 -1
  27. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts.map +1 -1
  28. package/lib/AWS/CloudWatch/GetMetricData.d.ts +1 -1
  29. package/lib/AWS/CloudWatch/GetMetricData.d.ts.map +1 -1
  30. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts +1 -1
  31. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts.map +1 -1
  32. package/lib/AWS/CloudWatch/GetMetricStream.d.ts +1 -1
  33. package/lib/AWS/CloudWatch/GetMetricStream.d.ts.map +1 -1
  34. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts +1 -1
  35. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts.map +1 -1
  36. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts +1 -1
  37. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts.map +1 -1
  38. package/lib/AWS/CloudWatch/ListDashboards.d.ts +1 -1
  39. package/lib/AWS/CloudWatch/ListDashboards.d.ts.map +1 -1
  40. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts +1 -1
  41. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts.map +1 -1
  42. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts +1 -1
  43. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts.map +1 -1
  44. package/lib/AWS/CloudWatch/ListMetrics.d.ts +1 -1
  45. package/lib/AWS/CloudWatch/ListMetrics.d.ts.map +1 -1
  46. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts +1 -1
  47. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts.map +1 -1
  48. package/lib/AWS/CloudWatch/PutMetricData.d.ts +1 -1
  49. package/lib/AWS/CloudWatch/PutMetricData.d.ts.map +1 -1
  50. package/lib/AWS/CloudWatch/SetAlarmState.d.ts +1 -1
  51. package/lib/AWS/CloudWatch/SetAlarmState.d.ts.map +1 -1
  52. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts +1 -1
  53. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts.map +1 -1
  54. package/lib/AWS/DynamoDB/BatchGetItem.d.ts +1 -1
  55. package/lib/AWS/DynamoDB/BatchGetItem.d.ts.map +1 -1
  56. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts +1 -1
  57. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts.map +1 -1
  58. package/lib/AWS/DynamoDB/DeleteItem.d.ts +1 -1
  59. package/lib/AWS/DynamoDB/DeleteItem.d.ts.map +1 -1
  60. package/lib/AWS/DynamoDB/DescribeTable.d.ts +1 -1
  61. package/lib/AWS/DynamoDB/DescribeTable.d.ts.map +1 -1
  62. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts +1 -1
  63. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts.map +1 -1
  64. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts +1 -1
  65. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts.map +1 -1
  66. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts +1 -1
  67. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts.map +1 -1
  68. package/lib/AWS/DynamoDB/GetItem.d.ts +1 -1
  69. package/lib/AWS/DynamoDB/GetItem.d.ts.map +1 -1
  70. package/lib/AWS/DynamoDB/ListTables.d.ts +1 -1
  71. package/lib/AWS/DynamoDB/ListTables.d.ts.map +1 -1
  72. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts +1 -1
  73. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts.map +1 -1
  74. package/lib/AWS/DynamoDB/PutItem.d.ts +1 -1
  75. package/lib/AWS/DynamoDB/PutItem.d.ts.map +1 -1
  76. package/lib/AWS/DynamoDB/Query.d.ts +1 -1
  77. package/lib/AWS/DynamoDB/Query.d.ts.map +1 -1
  78. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts +1 -1
  79. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts.map +1 -1
  80. package/lib/AWS/DynamoDB/Scan.d.ts +1 -1
  81. package/lib/AWS/DynamoDB/Scan.d.ts.map +1 -1
  82. package/lib/AWS/DynamoDB/TransactGetItems.d.ts +1 -1
  83. package/lib/AWS/DynamoDB/TransactGetItems.d.ts.map +1 -1
  84. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts +1 -1
  85. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts.map +1 -1
  86. package/lib/AWS/DynamoDB/UpdateItem.d.ts +1 -1
  87. package/lib/AWS/DynamoDB/UpdateItem.d.ts.map +1 -1
  88. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts +1 -1
  89. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts.map +1 -1
  90. package/lib/AWS/ECS/DescribeTasks.d.ts +1 -1
  91. package/lib/AWS/ECS/DescribeTasks.d.ts.map +1 -1
  92. package/lib/AWS/ECS/ListTasks.d.ts +1 -1
  93. package/lib/AWS/ECS/ListTasks.d.ts.map +1 -1
  94. package/lib/AWS/ECS/RunTask.d.ts +1 -1
  95. package/lib/AWS/ECS/RunTask.d.ts.map +1 -1
  96. package/lib/AWS/ECS/StopTask.d.ts +1 -1
  97. package/lib/AWS/ECS/StopTask.d.ts.map +1 -1
  98. package/lib/AWS/EventBridge/DescribeEventBus.d.ts +1 -1
  99. package/lib/AWS/EventBridge/DescribeEventBus.d.ts.map +1 -1
  100. package/lib/AWS/EventBridge/DescribeRule.d.ts +1 -1
  101. package/lib/AWS/EventBridge/DescribeRule.d.ts.map +1 -1
  102. package/lib/AWS/EventBridge/EventSource.d.ts +2 -2
  103. package/lib/AWS/EventBridge/ListEventBuses.d.ts +1 -1
  104. package/lib/AWS/EventBridge/ListEventBuses.d.ts.map +1 -1
  105. package/lib/AWS/EventBridge/ListRules.d.ts +1 -1
  106. package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
  107. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts +1 -1
  108. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts.map +1 -1
  109. package/lib/AWS/EventBridge/PutEvents.d.ts +1 -1
  110. package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
  111. package/lib/AWS/EventBridge/TestEventPattern.d.ts +1 -1
  112. package/lib/AWS/EventBridge/TestEventPattern.d.ts.map +1 -1
  113. package/lib/AWS/EventBridge/ToLambda.d.ts +1 -1
  114. package/lib/AWS/EventBridge/ToLambda.d.ts.map +1 -1
  115. package/lib/AWS/EventBridge/ToQueue.d.ts +1 -1
  116. package/lib/AWS/EventBridge/ToQueue.d.ts.map +1 -1
  117. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts +1 -1
  118. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts.map +1 -1
  119. package/lib/AWS/Kinesis/DescribeLimits.d.ts +1 -1
  120. package/lib/AWS/Kinesis/DescribeLimits.d.ts.map +1 -1
  121. package/lib/AWS/Kinesis/DescribeStream.d.ts +1 -1
  122. package/lib/AWS/Kinesis/DescribeStream.d.ts.map +1 -1
  123. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts +1 -1
  124. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts.map +1 -1
  125. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts +1 -1
  126. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts.map +1 -1
  127. package/lib/AWS/Kinesis/GetRecords.d.ts +1 -1
  128. package/lib/AWS/Kinesis/GetRecords.d.ts.map +1 -1
  129. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts +1 -1
  130. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts.map +1 -1
  131. package/lib/AWS/Kinesis/GetShardIterator.d.ts +1 -1
  132. package/lib/AWS/Kinesis/GetShardIterator.d.ts.map +1 -1
  133. package/lib/AWS/Kinesis/ListShards.d.ts +1 -1
  134. package/lib/AWS/Kinesis/ListShards.d.ts.map +1 -1
  135. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts +1 -1
  136. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts.map +1 -1
  137. package/lib/AWS/Kinesis/ListStreams.d.ts +1 -1
  138. package/lib/AWS/Kinesis/ListStreams.d.ts.map +1 -1
  139. package/lib/AWS/Kinesis/ListTagsForResource.d.ts +1 -1
  140. package/lib/AWS/Kinesis/ListTagsForResource.d.ts.map +1 -1
  141. package/lib/AWS/Kinesis/PutRecord.d.ts +1 -1
  142. package/lib/AWS/Kinesis/PutRecord.d.ts.map +1 -1
  143. package/lib/AWS/Kinesis/PutRecords.d.ts +1 -1
  144. package/lib/AWS/Kinesis/PutRecords.d.ts.map +1 -1
  145. package/lib/AWS/Kinesis/StreamSink.d.ts +1 -1
  146. package/lib/AWS/Kinesis/StreamSink.d.ts.map +1 -1
  147. package/lib/AWS/Kinesis/SubscribeToShard.d.ts +1 -1
  148. package/lib/AWS/Kinesis/SubscribeToShard.d.ts.map +1 -1
  149. package/lib/AWS/Lambda/BucketEventSource.d.ts +2 -1
  150. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  151. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +2 -1
  152. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  153. package/lib/AWS/Lambda/InvokeFunction.d.ts +1 -1
  154. package/lib/AWS/Lambda/InvokeFunction.d.ts.map +1 -1
  155. package/lib/AWS/Lambda/QueueEventSource.d.ts +2 -1
  156. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  157. package/lib/AWS/Lambda/StreamEventSource.d.ts +2 -1
  158. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  159. package/lib/AWS/Lambda/TableEventSource.d.ts +2 -1
  160. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  161. package/lib/AWS/Lambda/TopicEventSource.d.ts +2 -1
  162. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  163. package/lib/AWS/RDS/Connect.d.ts +1 -1
  164. package/lib/AWS/RDS/Connect.d.ts.map +1 -1
  165. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts +1 -1
  166. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts.map +1 -1
  167. package/lib/AWS/RDSData/BeginTransaction.d.ts +1 -1
  168. package/lib/AWS/RDSData/BeginTransaction.d.ts.map +1 -1
  169. package/lib/AWS/RDSData/CommitTransaction.d.ts +1 -1
  170. package/lib/AWS/RDSData/CommitTransaction.d.ts.map +1 -1
  171. package/lib/AWS/RDSData/ExecuteSql.d.ts +1 -1
  172. package/lib/AWS/RDSData/ExecuteSql.d.ts.map +1 -1
  173. package/lib/AWS/RDSData/ExecuteStatement.d.ts +1 -1
  174. package/lib/AWS/RDSData/ExecuteStatement.d.ts.map +1 -1
  175. package/lib/AWS/RDSData/RollbackTransaction.d.ts +1 -1
  176. package/lib/AWS/RDSData/RollbackTransaction.d.ts.map +1 -1
  177. package/lib/AWS/S3/AbortMultipartUpload.d.ts +1 -1
  178. package/lib/AWS/S3/AbortMultipartUpload.d.ts.map +1 -1
  179. package/lib/AWS/S3/CompleteMultipartUpload.d.ts +1 -1
  180. package/lib/AWS/S3/CompleteMultipartUpload.d.ts.map +1 -1
  181. package/lib/AWS/S3/CopyObject.d.ts +1 -1
  182. package/lib/AWS/S3/CopyObject.d.ts.map +1 -1
  183. package/lib/AWS/S3/CreateMultipartUpload.d.ts +1 -1
  184. package/lib/AWS/S3/CreateMultipartUpload.d.ts.map +1 -1
  185. package/lib/AWS/S3/DeleteObject.d.ts +1 -1
  186. package/lib/AWS/S3/DeleteObject.d.ts.map +1 -1
  187. package/lib/AWS/S3/GetObject.d.ts +1 -1
  188. package/lib/AWS/S3/GetObject.d.ts.map +1 -1
  189. package/lib/AWS/S3/HeadObject.d.ts +1 -1
  190. package/lib/AWS/S3/HeadObject.d.ts.map +1 -1
  191. package/lib/AWS/S3/ListObjectsV2.d.ts +1 -1
  192. package/lib/AWS/S3/ListObjectsV2.d.ts.map +1 -1
  193. package/lib/AWS/S3/PutObject.d.ts +1 -1
  194. package/lib/AWS/S3/PutObject.d.ts.map +1 -1
  195. package/lib/AWS/S3/UploadPart.d.ts +1 -1
  196. package/lib/AWS/S3/UploadPart.d.ts.map +1 -1
  197. package/lib/AWS/SNS/AddPermission.d.ts +1 -1
  198. package/lib/AWS/SNS/AddPermission.d.ts.map +1 -1
  199. package/lib/AWS/SNS/ConfirmSubscription.d.ts +1 -1
  200. package/lib/AWS/SNS/ConfirmSubscription.d.ts.map +1 -1
  201. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts +1 -1
  202. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts.map +1 -1
  203. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts +1 -1
  204. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts.map +1 -1
  205. package/lib/AWS/SNS/GetTopicAttributes.d.ts +1 -1
  206. package/lib/AWS/SNS/GetTopicAttributes.d.ts.map +1 -1
  207. package/lib/AWS/SNS/ListSubscriptions.d.ts +1 -1
  208. package/lib/AWS/SNS/ListSubscriptions.d.ts.map +1 -1
  209. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts +1 -1
  210. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts.map +1 -1
  211. package/lib/AWS/SNS/ListTagsForResource.d.ts +1 -1
  212. package/lib/AWS/SNS/ListTagsForResource.d.ts.map +1 -1
  213. package/lib/AWS/SNS/ListTopics.d.ts +1 -1
  214. package/lib/AWS/SNS/ListTopics.d.ts.map +1 -1
  215. package/lib/AWS/SNS/Publish.d.ts +1 -1
  216. package/lib/AWS/SNS/Publish.d.ts.map +1 -1
  217. package/lib/AWS/SNS/PublishBatch.d.ts +1 -1
  218. package/lib/AWS/SNS/PublishBatch.d.ts.map +1 -1
  219. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts +1 -1
  220. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts.map +1 -1
  221. package/lib/AWS/SNS/RemovePermission.d.ts +1 -1
  222. package/lib/AWS/SNS/RemovePermission.d.ts.map +1 -1
  223. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts +1 -1
  224. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts.map +1 -1
  225. package/lib/AWS/SNS/SetTopicAttributes.d.ts +1 -1
  226. package/lib/AWS/SNS/SetTopicAttributes.d.ts.map +1 -1
  227. package/lib/AWS/SNS/TagResource.d.ts +1 -1
  228. package/lib/AWS/SNS/TagResource.d.ts.map +1 -1
  229. package/lib/AWS/SNS/TopicSink.d.ts +1 -1
  230. package/lib/AWS/SNS/TopicSink.d.ts.map +1 -1
  231. package/lib/AWS/SNS/UntagResource.d.ts +1 -1
  232. package/lib/AWS/SNS/UntagResource.d.ts.map +1 -1
  233. package/lib/AWS/SQS/DeleteMessage.d.ts +1 -1
  234. package/lib/AWS/SQS/DeleteMessage.d.ts.map +1 -1
  235. package/lib/AWS/SQS/DeleteMessageBatch.d.ts +1 -1
  236. package/lib/AWS/SQS/DeleteMessageBatch.d.ts.map +1 -1
  237. package/lib/AWS/SQS/QueueSink.d.ts +1 -1
  238. package/lib/AWS/SQS/QueueSink.d.ts.map +1 -1
  239. package/lib/AWS/SQS/ReceiveMessage.d.ts +1 -1
  240. package/lib/AWS/SQS/ReceiveMessage.d.ts.map +1 -1
  241. package/lib/AWS/SQS/SendMessage.d.ts +1 -1
  242. package/lib/AWS/SQS/SendMessage.d.ts.map +1 -1
  243. package/lib/AWS/SQS/SendMessageBatch.d.ts +1 -1
  244. package/lib/AWS/SQS/SendMessageBatch.d.ts.map +1 -1
  245. package/lib/AWS/SecretsManager/DescribeSecret.d.ts +1 -1
  246. package/lib/AWS/SecretsManager/DescribeSecret.d.ts.map +1 -1
  247. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts +1 -1
  248. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts.map +1 -1
  249. package/lib/AWS/SecretsManager/GetSecretValue.d.ts +1 -1
  250. package/lib/AWS/SecretsManager/GetSecretValue.d.ts.map +1 -1
  251. package/lib/AWS/SecretsManager/ListSecrets.d.ts +1 -1
  252. package/lib/AWS/SecretsManager/ListSecrets.d.ts.map +1 -1
  253. package/lib/AWS/SecretsManager/PutSecretValue.d.ts +1 -1
  254. package/lib/AWS/SecretsManager/PutSecretValue.d.ts.map +1 -1
  255. package/lib/Auth/Lock.js +2 -2
  256. package/lib/Auth/Lock.js.map +1 -1
  257. package/lib/Binding.d.ts +1 -1
  258. package/lib/Binding.d.ts.map +1 -1
  259. package/lib/Bundle/Bundle.d.ts +11 -0
  260. package/lib/Bundle/Bundle.d.ts.map +1 -1
  261. package/lib/Bundle/Bundle.js +19 -12
  262. package/lib/Bundle/Bundle.js.map +1 -1
  263. package/lib/Bundle/BundleAnalyzerPlugin.d.ts +25 -0
  264. package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -0
  265. package/lib/Bundle/BundleAnalyzerPlugin.js +16 -0
  266. package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -0
  267. package/lib/Bundle/Docker.d.ts.map +1 -1
  268. package/lib/Bundle/Docker.js +12 -13
  269. package/lib/Bundle/Docker.js.map +1 -1
  270. package/lib/Bundle/RawPlugin.d.ts +36 -0
  271. package/lib/Bundle/RawPlugin.d.ts.map +1 -0
  272. package/lib/Bundle/RawPlugin.js +80 -0
  273. package/lib/Bundle/RawPlugin.js.map +1 -0
  274. package/lib/Bundle/index.d.ts +2 -0
  275. package/lib/Bundle/index.d.ts.map +1 -1
  276. package/lib/Bundle/index.js +2 -0
  277. package/lib/Bundle/index.js.map +1 -1
  278. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  279. package/lib/Cli/commands/deploy.js +1 -0
  280. package/lib/Cli/commands/deploy.js.map +1 -1
  281. package/lib/Cli/commands/dev.d.ts +3 -2
  282. package/lib/Cli/commands/dev.d.ts.map +1 -1
  283. package/lib/Cli/commands/dev.js +9 -1
  284. package/lib/Cli/commands/dev.js.map +1 -1
  285. package/lib/Cli/exec.d.ts.map +1 -1
  286. package/lib/Cli/exec.js +2 -1
  287. package/lib/Cli/exec.js.map +1 -1
  288. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +8 -7
  289. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  290. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js +2 -6
  291. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  292. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +4 -3
  293. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -1
  294. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +2 -1
  295. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
  296. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts +8 -7
  297. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts.map +1 -1
  298. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +2 -2
  299. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
  300. package/lib/Cloudflare/D1/D1Connection.d.ts +12 -10
  301. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  302. package/lib/Cloudflare/D1/D1Connection.js +2 -2
  303. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  304. package/lib/Cloudflare/D1/D1Database.js +1 -1
  305. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  306. package/lib/Cloudflare/D1/D1Migrations.d.ts +2 -2
  307. package/lib/Cloudflare/D1/D1Migrations.d.ts.map +1 -1
  308. package/lib/Cloudflare/Email/SendEmailBinding.d.ts +5 -4
  309. package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -1
  310. package/lib/Cloudflare/Email/SendEmailBinding.js +2 -1
  311. package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -1
  312. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts +10 -8
  313. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts.map +1 -1
  314. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js +2 -2
  315. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js.map +1 -1
  316. package/lib/Cloudflare/Images/ImagesBinding.d.ts +5 -4
  317. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -1
  318. package/lib/Cloudflare/Images/ImagesBinding.js +4 -2
  319. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
  320. package/lib/Cloudflare/KV/KVNamespaceBinding.d.ts +33 -32
  321. package/lib/Cloudflare/KV/KVNamespaceBinding.d.ts.map +1 -1
  322. package/lib/Cloudflare/KV/KVNamespaceBinding.js +5 -2
  323. package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
  324. package/lib/Cloudflare/Local.d.ts +2 -0
  325. package/lib/Cloudflare/Local.d.ts.map +1 -0
  326. package/lib/Cloudflare/Local.js +9 -0
  327. package/lib/Cloudflare/Local.js.map +1 -0
  328. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  329. package/lib/Cloudflare/Providers.js +3 -1
  330. package/lib/Cloudflare/Providers.js.map +1 -1
  331. package/lib/Cloudflare/Queue/QueueBinding.d.ts +5 -4
  332. package/lib/Cloudflare/Queue/QueueBinding.d.ts.map +1 -1
  333. package/lib/Cloudflare/Queue/QueueBinding.js +2 -2
  334. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  335. package/lib/Cloudflare/Queue/QueueEventSource.d.ts +1 -2
  336. package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -1
  337. package/lib/Cloudflare/R2/R2BucketBinding.d.ts +13 -12
  338. package/lib/Cloudflare/R2/R2BucketBinding.d.ts.map +1 -1
  339. package/lib/Cloudflare/R2/R2BucketBinding.js +2 -2
  340. package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
  341. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts +5 -4
  342. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts.map +1 -1
  343. package/lib/Cloudflare/SecretsStore/SecretBinding.js +2 -2
  344. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  345. package/lib/Cloudflare/StateStore/Api.d.ts +1 -1
  346. package/lib/Cloudflare/Workers/CronEventSource.d.ts +1 -2
  347. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
  348. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  349. package/lib/Cloudflare/Workers/DurableObjectBridge.js +0 -1
  350. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  351. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  352. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +6 -3
  353. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  354. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts.map +1 -1
  355. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js +3 -3
  356. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js.map +1 -1
  357. package/lib/Cloudflare/Workers/Fetch.d.ts +1 -1
  358. package/lib/Cloudflare/Workers/Fetch.d.ts.map +1 -1
  359. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +22 -3
  360. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  361. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +413 -21
  362. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  363. package/lib/Cloudflare/Workers/RpcAsync.d.ts +55 -0
  364. package/lib/Cloudflare/Workers/RpcAsync.d.ts.map +1 -1
  365. package/lib/Cloudflare/Workers/RpcAsync.js +55 -0
  366. package/lib/Cloudflare/Workers/RpcAsync.js.map +1 -1
  367. package/lib/Cloudflare/Workers/Worker.d.ts +9 -22
  368. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  369. package/lib/Cloudflare/Workers/Worker.js +3 -4
  370. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  371. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  372. package/lib/Cloudflare/Workers/WorkerBridge.js +3 -5
  373. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  374. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +1 -2
  375. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  376. package/lib/Cloudflare/Workers/WorkerBundle.js +3 -6
  377. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  378. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  379. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +2 -0
  380. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  381. package/lib/Cloudflare/Workers/Workflow.d.ts +4 -4
  382. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  383. package/lib/Cloudflare/Workers/Workflow.js +6 -3
  384. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  385. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts +184 -0
  386. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -0
  387. package/lib/Cloudflare/Zaraz/ZarazConfig.js +216 -0
  388. package/lib/Cloudflare/Zaraz/ZarazConfig.js.map +1 -0
  389. package/lib/Cloudflare/Zaraz/ZarazEventTypes.d.ts +188 -0
  390. package/lib/Cloudflare/Zaraz/ZarazEventTypes.d.ts.map +1 -0
  391. package/lib/Cloudflare/Zaraz/ZarazEventTypes.js +4 -0
  392. package/lib/Cloudflare/Zaraz/ZarazEventTypes.js.map +1 -0
  393. package/lib/Cloudflare/Zaraz/index.d.ts +3 -0
  394. package/lib/Cloudflare/Zaraz/index.d.ts.map +1 -0
  395. package/lib/Cloudflare/Zaraz/index.js +2 -0
  396. package/lib/Cloudflare/Zaraz/index.js.map +1 -0
  397. package/lib/Cloudflare/index.d.ts +1 -0
  398. package/lib/Cloudflare/index.d.ts.map +1 -1
  399. package/lib/Cloudflare/index.js +1 -0
  400. package/lib/Cloudflare/index.js.map +1 -1
  401. package/lib/Local/RpcProvider.d.ts +54 -0
  402. package/lib/Local/RpcProvider.d.ts.map +1 -0
  403. package/lib/Local/RpcProvider.js +57 -0
  404. package/lib/Local/RpcProvider.js.map +1 -0
  405. package/lib/Local/RpcProviderProxy.d.ts +19 -0
  406. package/lib/Local/RpcProviderProxy.d.ts.map +1 -0
  407. package/lib/Local/RpcProviderProxy.js +48 -0
  408. package/lib/Local/RpcProviderProxy.js.map +1 -0
  409. package/lib/Local/RpcSerialization.d.ts +34 -0
  410. package/lib/Local/RpcSerialization.d.ts.map +1 -0
  411. package/lib/Local/RpcSerialization.js +120 -0
  412. package/lib/Local/RpcSerialization.js.map +1 -0
  413. package/lib/Local/RpcServer.d.ts +63 -0
  414. package/lib/Local/RpcServer.d.ts.map +1 -0
  415. package/lib/Local/RpcServer.js +72 -0
  416. package/lib/Local/RpcServer.js.map +1 -0
  417. package/lib/Local/RpcServerBun.d.ts +3 -0
  418. package/lib/Local/RpcServerBun.d.ts.map +1 -0
  419. package/lib/Local/RpcServerBun.js +47 -0
  420. package/lib/Local/RpcServerBun.js.map +1 -0
  421. package/lib/Local/RpcServerEnvironment.d.ts +20 -0
  422. package/lib/Local/RpcServerEnvironment.d.ts.map +1 -0
  423. package/lib/Local/RpcServerEnvironment.js +22 -0
  424. package/lib/Local/RpcServerEnvironment.js.map +1 -0
  425. package/lib/Local/RpcServerNode.d.ts +3 -0
  426. package/lib/Local/RpcServerNode.d.ts.map +1 -0
  427. package/lib/Local/RpcServerNode.js +43 -0
  428. package/lib/Local/RpcServerNode.js.map +1 -0
  429. package/lib/Local/RpcServerSession.d.ts +27 -0
  430. package/lib/Local/RpcServerSession.d.ts.map +1 -0
  431. package/lib/Local/RpcServerSession.js +68 -0
  432. package/lib/Local/RpcServerSession.js.map +1 -0
  433. package/lib/Local/RpcSpawner.d.ts +21 -0
  434. package/lib/Local/RpcSpawner.d.ts.map +1 -0
  435. package/lib/Local/RpcSpawner.js +132 -0
  436. package/lib/Local/RpcSpawner.js.map +1 -0
  437. package/lib/Neon/Branch.js +1 -1
  438. package/lib/Neon/Branch.js.map +1 -1
  439. package/lib/Neon/Migrations.d.ts +1 -1
  440. package/lib/Neon/Migrations.d.ts.map +1 -1
  441. package/lib/Neon/Project.d.ts.map +1 -1
  442. package/lib/Neon/Project.js +1 -15
  443. package/lib/Neon/Project.js.map +1 -1
  444. package/lib/Phase.d.ts +2 -2
  445. package/lib/Phase.d.ts.map +1 -1
  446. package/lib/Phase.js +2 -1
  447. package/lib/Phase.js.map +1 -1
  448. package/lib/Planetscale/AuthProvider.d.ts +59 -0
  449. package/lib/Planetscale/AuthProvider.d.ts.map +1 -0
  450. package/lib/Planetscale/AuthProvider.js +131 -0
  451. package/lib/Planetscale/AuthProvider.js.map +1 -0
  452. package/lib/Planetscale/Branch.d.ts +113 -0
  453. package/lib/Planetscale/Branch.d.ts.map +1 -0
  454. package/lib/Planetscale/Branch.js +287 -0
  455. package/lib/Planetscale/Branch.js.map +1 -0
  456. package/lib/Planetscale/Credentials.d.ts +35 -0
  457. package/lib/Planetscale/Credentials.d.ts.map +1 -0
  458. package/lib/Planetscale/Credentials.js +56 -0
  459. package/lib/Planetscale/Credentials.js.map +1 -0
  460. package/lib/Planetscale/Database.d.ts +117 -0
  461. package/lib/Planetscale/Database.d.ts.map +1 -0
  462. package/lib/Planetscale/Database.js +1 -0
  463. package/lib/Planetscale/Database.js.map +1 -0
  464. package/lib/Planetscale/MySQL/MySQLBranch.d.ts +86 -0
  465. package/lib/Planetscale/MySQL/MySQLBranch.d.ts.map +1 -0
  466. package/lib/Planetscale/MySQL/MySQLBranch.js +14 -0
  467. package/lib/Planetscale/MySQL/MySQLBranch.js.map +1 -0
  468. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +23 -0
  469. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -0
  470. package/lib/Planetscale/MySQL/MySQLClusterSize.js +44 -0
  471. package/lib/Planetscale/MySQL/MySQLClusterSize.js.map +1 -0
  472. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +119 -0
  473. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -0
  474. package/lib/Planetscale/MySQL/MySQLDatabase.js +237 -0
  475. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -0
  476. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts +18 -0
  477. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts.map +1 -0
  478. package/lib/Planetscale/MySQL/MySQLMigrations.js +157 -0
  479. package/lib/Planetscale/MySQL/MySQLMigrations.js.map +1 -0
  480. package/lib/Planetscale/MySQL/MySQLOrigin.d.ts +15 -0
  481. package/lib/Planetscale/MySQL/MySQLOrigin.d.ts.map +1 -0
  482. package/lib/Planetscale/MySQL/MySQLOrigin.js +2 -0
  483. package/lib/Planetscale/MySQL/MySQLOrigin.js.map +1 -0
  484. package/lib/Planetscale/MySQL/MySQLPassword.d.ts +115 -0
  485. package/lib/Planetscale/MySQL/MySQLPassword.d.ts.map +1 -0
  486. package/lib/Planetscale/MySQL/MySQLPassword.js +197 -0
  487. package/lib/Planetscale/MySQL/MySQLPassword.js.map +1 -0
  488. package/lib/Planetscale/MySQL/index.d.ts +6 -0
  489. package/lib/Planetscale/MySQL/index.d.ts.map +1 -0
  490. package/lib/Planetscale/MySQL/index.js +6 -0
  491. package/lib/Planetscale/MySQL/index.js.map +1 -0
  492. package/lib/Planetscale/Postgres/PostgresBranch.d.ts +67 -0
  493. package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -0
  494. package/lib/Planetscale/Postgres/PostgresBranch.js +14 -0
  495. package/lib/Planetscale/Postgres/PostgresBranch.js.map +1 -0
  496. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +44 -0
  497. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -0
  498. package/lib/Planetscale/Postgres/PostgresClusterSize.js +72 -0
  499. package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -0
  500. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +73 -0
  501. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -0
  502. package/lib/Planetscale/Postgres/PostgresDatabase.js +241 -0
  503. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -0
  504. package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts +85 -0
  505. package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts.map +1 -0
  506. package/lib/Planetscale/Postgres/PostgresDefaultRole.js +142 -0
  507. package/lib/Planetscale/Postgres/PostgresDefaultRole.js.map +1 -0
  508. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts +18 -0
  509. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts.map +1 -0
  510. package/lib/Planetscale/Postgres/PostgresMigrations.js +148 -0
  511. package/lib/Planetscale/Postgres/PostgresMigrations.js.map +1 -0
  512. package/lib/Planetscale/Postgres/PostgresOrigin.d.ts +15 -0
  513. package/lib/Planetscale/Postgres/PostgresOrigin.d.ts.map +1 -0
  514. package/lib/Planetscale/Postgres/PostgresOrigin.js +2 -0
  515. package/lib/Planetscale/Postgres/PostgresOrigin.js.map +1 -0
  516. package/lib/Planetscale/Postgres/PostgresRole.d.ts +121 -0
  517. package/lib/Planetscale/Postgres/PostgresRole.d.ts.map +1 -0
  518. package/lib/Planetscale/Postgres/PostgresRole.js +228 -0
  519. package/lib/Planetscale/Postgres/PostgresRole.js.map +1 -0
  520. package/lib/Planetscale/Postgres/index.d.ts +7 -0
  521. package/lib/Planetscale/Postgres/index.d.ts.map +1 -0
  522. package/lib/Planetscale/Postgres/index.js +7 -0
  523. package/lib/Planetscale/Postgres/index.js.map +1 -0
  524. package/lib/Planetscale/Providers.d.ts +25 -0
  525. package/lib/Planetscale/Providers.d.ts.map +1 -0
  526. package/lib/Planetscale/Providers.js +40 -0
  527. package/lib/Planetscale/Providers.js.map +1 -0
  528. package/lib/Planetscale/Util.d.ts +182 -0
  529. package/lib/Planetscale/Util.d.ts.map +1 -0
  530. package/lib/Planetscale/Util.js +98 -0
  531. package/lib/Planetscale/Util.js.map +1 -0
  532. package/lib/Planetscale/index.d.ts +9 -0
  533. package/lib/Planetscale/index.d.ts.map +1 -0
  534. package/lib/Planetscale/index.js +9 -0
  535. package/lib/Planetscale/index.js.map +1 -0
  536. package/lib/Platform.d.ts.map +1 -1
  537. package/lib/Platform.js +7 -2
  538. package/lib/Platform.js.map +1 -1
  539. package/lib/RuntimeContext.d.ts +7 -3
  540. package/lib/RuntimeContext.d.ts.map +1 -1
  541. package/lib/RuntimeContext.js +3 -2
  542. package/lib/RuntimeContext.js.map +1 -1
  543. package/lib/Server/S3BucketEventSource.d.ts +1 -1
  544. package/lib/Server/S3BucketEventSource.d.ts.map +1 -1
  545. package/lib/{Neon → Sql}/SqlFile.d.ts +2 -0
  546. package/lib/Sql/SqlFile.d.ts.map +1 -0
  547. package/lib/{Neon → Sql}/SqlFile.js +14 -0
  548. package/lib/Sql/SqlFile.js.map +1 -0
  549. package/lib/Sql/index.d.ts +2 -0
  550. package/lib/Sql/index.d.ts.map +1 -0
  551. package/lib/Sql/index.js +2 -0
  552. package/lib/Sql/index.js.map +1 -0
  553. package/lib/Util/PlatformServices.d.ts +7 -0
  554. package/lib/Util/PlatformServices.d.ts.map +1 -1
  555. package/lib/Util/PlatformServices.js +22 -11
  556. package/lib/Util/PlatformServices.js.map +1 -1
  557. package/lib/Util/camel.d.ts.map +1 -1
  558. package/lib/Util/camel.js +2 -3
  559. package/lib/Util/camel.js.map +1 -1
  560. package/lib/Util/data.d.ts +5 -0
  561. package/lib/Util/data.d.ts.map +1 -1
  562. package/lib/Util/data.js +29 -0
  563. package/lib/Util/data.js.map +1 -1
  564. package/lib/Util/stable.d.ts.map +1 -1
  565. package/lib/Util/stable.js +3 -6
  566. package/lib/Util/stable.js.map +1 -1
  567. package/lib/tsconfig.test.tsbuildinfo +1 -1
  568. package/package.json +25 -13
  569. package/src/Auth/Lock.ts +2 -2
  570. package/src/Binding.ts +1 -1
  571. package/src/Bundle/Bundle.ts +35 -13
  572. package/src/Bundle/BundleAnalyzerPlugin.ts +33 -0
  573. package/src/Bundle/Docker.ts +12 -15
  574. package/src/Bundle/RawPlugin.ts +82 -0
  575. package/src/Bundle/index.ts +2 -0
  576. package/src/Cli/commands/deploy.ts +1 -0
  577. package/src/Cli/commands/dev.ts +51 -37
  578. package/src/Cli/exec.ts +12 -7
  579. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +11 -16
  580. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +7 -9
  581. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +11 -22
  582. package/src/Cloudflare/D1/D1Connection.ts +31 -18
  583. package/src/Cloudflare/D1/D1Database.ts +1 -1
  584. package/src/Cloudflare/D1/D1Migrations.ts +2 -2
  585. package/src/Cloudflare/Email/SendEmailBinding.ts +7 -5
  586. package/src/Cloudflare/Hyperdrive/HyperdriveBinding.ts +16 -12
  587. package/src/Cloudflare/Images/ImagesBinding.ts +8 -8
  588. package/src/Cloudflare/KV/KVNamespaceBinding.ts +38 -38
  589. package/src/Cloudflare/Local.ts +23 -0
  590. package/src/Cloudflare/Providers.ts +3 -0
  591. package/src/Cloudflare/Queue/QueueBinding.ts +7 -6
  592. package/src/Cloudflare/R2/R2BucketBinding.ts +16 -19
  593. package/src/Cloudflare/SecretsStore/SecretBinding.ts +11 -13
  594. package/src/Cloudflare/Workers/DurableObjectBridge.ts +0 -1
  595. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +6 -6
  596. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +4 -5
  597. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +547 -21
  598. package/src/Cloudflare/Workers/RpcAsync.ts +55 -0
  599. package/src/Cloudflare/Workers/Worker.ts +18 -25
  600. package/src/Cloudflare/Workers/WorkerBridge.ts +3 -5
  601. package/src/Cloudflare/Workers/WorkerBundle.ts +4 -8
  602. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +2 -0
  603. package/src/Cloudflare/Workers/Workflow.ts +10 -11
  604. package/src/Cloudflare/Zaraz/ZarazConfig.ts +403 -0
  605. package/src/Cloudflare/Zaraz/ZarazEventTypes.ts +257 -0
  606. package/src/Cloudflare/Zaraz/index.ts +25 -0
  607. package/src/Cloudflare/index.ts +1 -0
  608. package/src/Local/RpcProvider.ts +102 -0
  609. package/src/Local/RpcProviderProxy.ts +86 -0
  610. package/src/Local/RpcSerialization.ts +225 -0
  611. package/src/Local/RpcServer.ts +138 -0
  612. package/src/Local/RpcServerBun.ts +59 -0
  613. package/src/Local/RpcServerEnvironment.ts +55 -0
  614. package/src/Local/RpcServerNode.ts +58 -0
  615. package/src/Local/RpcServerSession.ts +87 -0
  616. package/src/Local/RpcSpawner.ts +196 -0
  617. package/src/Neon/Branch.ts +1 -1
  618. package/src/Neon/Migrations.ts +1 -1
  619. package/src/Neon/Project.ts +6 -20
  620. package/src/Phase.ts +2 -0
  621. package/src/Planetscale/AuthProvider.ts +285 -0
  622. package/src/Planetscale/Branch.ts +508 -0
  623. package/src/Planetscale/Credentials.ts +96 -0
  624. package/src/Planetscale/Database.ts +129 -0
  625. package/src/Planetscale/MySQL/MySQLBranch.ts +112 -0
  626. package/src/Planetscale/MySQL/MySQLClusterSize.ts +102 -0
  627. package/src/Planetscale/MySQL/MySQLDatabase.ts +446 -0
  628. package/src/Planetscale/MySQL/MySQLMigrations.ts +271 -0
  629. package/src/Planetscale/MySQL/MySQLOrigin.ts +15 -0
  630. package/src/Planetscale/MySQL/MySQLPassword.ts +387 -0
  631. package/src/Planetscale/MySQL/index.ts +5 -0
  632. package/src/Planetscale/Postgres/PostgresBranch.ts +97 -0
  633. package/src/Planetscale/Postgres/PostgresClusterSize.ts +125 -0
  634. package/src/Planetscale/Postgres/PostgresDatabase.ts +404 -0
  635. package/src/Planetscale/Postgres/PostgresDefaultRole.ts +270 -0
  636. package/src/Planetscale/Postgres/PostgresMigrations.ts +256 -0
  637. package/src/Planetscale/Postgres/PostgresOrigin.ts +15 -0
  638. package/src/Planetscale/Postgres/PostgresRole.ts +469 -0
  639. package/src/Planetscale/Postgres/index.ts +6 -0
  640. package/src/Planetscale/Providers.ts +80 -0
  641. package/src/Planetscale/Util.ts +160 -0
  642. package/src/Planetscale/index.ts +18 -0
  643. package/src/Platform.ts +13 -1
  644. package/src/RuntimeContext.ts +7 -8
  645. package/src/{Neon → Sql}/SqlFile.ts +22 -0
  646. package/src/Sql/index.ts +1 -0
  647. package/src/Util/PlatformServices.ts +41 -27
  648. package/src/Util/camel.ts +3 -5
  649. package/src/Util/data.ts +38 -0
  650. package/src/Util/stable.ts +4 -10
  651. package/lib/Cloudflare/D1/D1SqlFile.d.ts +0 -20
  652. package/lib/Cloudflare/D1/D1SqlFile.d.ts.map +0 -1
  653. package/lib/Cloudflare/D1/D1SqlFile.js +0 -46
  654. package/lib/Cloudflare/D1/D1SqlFile.js.map +0 -1
  655. package/lib/Cloudflare/Local/Sidecar.d.ts +0 -63
  656. package/lib/Cloudflare/Local/Sidecar.d.ts.map +0 -1
  657. package/lib/Cloudflare/Local/Sidecar.js +0 -50
  658. package/lib/Cloudflare/Local/Sidecar.js.map +0 -1
  659. package/lib/Cloudflare/Local/SidecarHandlers.d.ts +0 -8
  660. package/lib/Cloudflare/Local/SidecarHandlers.d.ts.map +0 -1
  661. package/lib/Cloudflare/Local/SidecarHandlers.js +0 -381
  662. package/lib/Cloudflare/Local/SidecarHandlers.js.map +0 -1
  663. package/lib/Cloudflare/Local/SidecarServer.d.ts +0 -2
  664. package/lib/Cloudflare/Local/SidecarServer.d.ts.map +0 -1
  665. package/lib/Cloudflare/Local/SidecarServer.js +0 -34
  666. package/lib/Cloudflare/Local/SidecarServer.js.map +0 -1
  667. package/lib/Neon/SqlFile.d.ts.map +0 -1
  668. package/lib/Neon/SqlFile.js.map +0 -1
  669. package/lib/Sidecar/Lock.d.ts +0 -23
  670. package/lib/Sidecar/Lock.d.ts.map +0 -1
  671. package/lib/Sidecar/Lock.js +0 -39
  672. package/lib/Sidecar/Lock.js.map +0 -1
  673. package/lib/Sidecar/RpcClient.d.ts +0 -15
  674. package/lib/Sidecar/RpcClient.d.ts.map +0 -1
  675. package/lib/Sidecar/RpcClient.js +0 -78
  676. package/lib/Sidecar/RpcClient.js.map +0 -1
  677. package/lib/Sidecar/RpcHandler.d.ts +0 -51
  678. package/lib/Sidecar/RpcHandler.d.ts.map +0 -1
  679. package/lib/Sidecar/RpcHandler.js +0 -87
  680. package/lib/Sidecar/RpcHandler.js.map +0 -1
  681. package/lib/Sidecar/RpcPaths.d.ts +0 -19
  682. package/lib/Sidecar/RpcPaths.d.ts.map +0 -1
  683. package/lib/Sidecar/RpcPaths.js +0 -31
  684. package/lib/Sidecar/RpcPaths.js.map +0 -1
  685. package/lib/Sidecar/RpcServer.d.ts +0 -30
  686. package/lib/Sidecar/RpcServer.d.ts.map +0 -1
  687. package/lib/Sidecar/RpcServer.js +0 -105
  688. package/lib/Sidecar/RpcServer.js.map +0 -1
  689. package/lib/Sidecar/RpcServerBun.d.ts +0 -4
  690. package/lib/Sidecar/RpcServerBun.d.ts.map +0 -1
  691. package/lib/Sidecar/RpcServerBun.js +0 -28
  692. package/lib/Sidecar/RpcServerBun.js.map +0 -1
  693. package/lib/Sidecar/RpcServerNode.d.ts +0 -4
  694. package/lib/Sidecar/RpcServerNode.d.ts.map +0 -1
  695. package/lib/Sidecar/RpcServerNode.js +0 -39
  696. package/lib/Sidecar/RpcServerNode.js.map +0 -1
  697. package/lib/Sidecar/RpcServices.d.ts +0 -6
  698. package/lib/Sidecar/RpcServices.d.ts.map +0 -1
  699. package/lib/Sidecar/RpcServices.js +0 -29
  700. package/lib/Sidecar/RpcServices.js.map +0 -1
  701. package/src/Cloudflare/D1/D1SqlFile.ts +0 -55
  702. package/src/Cloudflare/Local/Sidecar.ts +0 -81
  703. package/src/Cloudflare/Local/SidecarHandlers.ts +0 -491
  704. package/src/Cloudflare/Local/SidecarServer.ts +0 -70
  705. package/src/Sidecar/Lock.ts +0 -66
  706. package/src/Sidecar/RpcClient.ts +0 -142
  707. package/src/Sidecar/RpcHandler.ts +0 -205
  708. package/src/Sidecar/RpcPaths.ts +0 -39
  709. package/src/Sidecar/RpcServer.ts +0 -153
  710. package/src/Sidecar/RpcServerBun.ts +0 -41
  711. package/src/Sidecar/RpcServerNode.ts +0 -51
  712. package/src/Sidecar/RpcServices.ts +0 -48
@@ -1,55 +0,0 @@
1
- import crypto from "node:crypto";
2
- import * as Effect from "effect/Effect";
3
- import * as FileSystem from "effect/FileSystem";
4
- import * as Path from "effect/Path";
5
-
6
- export interface D1SqlFile {
7
- id: string;
8
- sql: string;
9
- hash: string;
10
- }
11
-
12
- /**
13
- * Recursively list `.sql` files under `directory`, sorted by their numeric
14
- * prefix (e.g. `0001_init.sql`) and then by name.
15
- */
16
- export const listSqlFiles = (directory: string) =>
17
- Effect.gen(function* () {
18
- const fs = yield* FileSystem.FileSystem;
19
- const entries = yield* fs.readDirectory(directory, { recursive: true });
20
-
21
- const sqlFiles = entries
22
- .filter((name) => name.endsWith(".sql"))
23
- .sort((a, b) => {
24
- const aNum = getPrefix(a);
25
- const bNum = getPrefix(b);
26
- if (aNum !== null && bNum !== null) return aNum - bNum;
27
- if (aNum !== null) return -1;
28
- if (bNum !== null) return 1;
29
- return a.localeCompare(b);
30
- });
31
-
32
- return yield* Effect.all(sqlFiles.map((id) => readSqlFile(directory, id)));
33
- });
34
-
35
- /**
36
- * Read a single `.sql` file relative to `directory` and compute its content
37
- * hash. The `sql` field is marked non-enumerable so it isn't serialized into
38
- * resource state.
39
- */
40
- export const readSqlFile = (directory: string, name: string) =>
41
- Effect.gen(function* () {
42
- const fs = yield* FileSystem.FileSystem;
43
- const path = yield* Path.Path;
44
- const sql = yield* fs.readFileString(path.resolve(directory, name));
45
- const hash = crypto.createHash("sha256").update(sql).digest("hex");
46
- const file: D1SqlFile = { id: name, sql, hash };
47
- Object.defineProperty(file, "sql", { enumerable: false });
48
- return file;
49
- });
50
-
51
- const getPrefix = (name: string): number | null => {
52
- const prefix = name.split("_")[0];
53
- const num = Number.parseInt(prefix, 10);
54
- return Number.isNaN(num) ? null : num;
55
- };
@@ -1,81 +0,0 @@
1
- import { RuntimeError } from "@distilled.cloud/cloudflare-runtime/RuntimeError";
2
- import * as Effect from "effect/Effect";
3
- import * as Schema from "effect/Schema";
4
- import { BundleError } from "../../Bundle/Bundle.ts";
5
- import type { ResourceBinding } from "../../Resource.ts";
6
- import * as RpcClient from "../../Sidecar/RpcClient.ts";
7
- import { defineSchema } from "../../Sidecar/RpcHandler.ts";
8
- import type { Worker, WorkerProps } from "../Workers/Worker.ts";
9
-
10
- export interface ReconcileOptions {
11
- id: string;
12
- props: WorkerProps;
13
- bindings: ResourceBinding<Worker["Binding"]>[];
14
- stack: { name: string; stage: string };
15
- instanceId: string;
16
- }
17
-
18
- export class ValidationError extends Schema.TaggedErrorClass<ValidationError>()(
19
- "ValidationError",
20
- {
21
- message: Schema.String,
22
- hint: Schema.optional(Schema.String),
23
- value: Schema.Unknown,
24
- },
25
- ) {}
26
-
27
- export const ServeResult = Schema.Struct({
28
- workerId: Schema.String,
29
- workerName: Schema.String,
30
- logpush: Schema.UndefinedOr(Schema.Boolean),
31
- url: Schema.String,
32
- tags: Schema.Array(Schema.String).pipe(Schema.mutable),
33
- durableObjectNamespaces: Schema.Record(Schema.String, Schema.String),
34
- domains: Schema.Array(
35
- Schema.Struct({
36
- hostname: Schema.String,
37
- id: Schema.String,
38
- zoneId: Schema.String,
39
- }),
40
- ).pipe(Schema.mutable),
41
- crons: Schema.Array(Schema.String).pipe(Schema.mutable),
42
- accountId: Schema.String,
43
- });
44
- export type ServeResult = typeof ServeResult.Type;
45
-
46
- export const ServeError = Schema.Union([
47
- RuntimeError,
48
- BundleError,
49
- ValidationError,
50
- ]);
51
- export type ServeError = typeof ServeError.Type;
52
-
53
- export const DiffResult = Schema.Struct({
54
- action: Schema.Literals(["update", "noop"]),
55
- });
56
- export type DiffResult = typeof DiffResult.Type;
57
-
58
- export const SidecarSchema = defineSchema<Sidecar["Service"]>({
59
- diff: { success: DiffResult, error: Schema.Never },
60
- reconcile: {
61
- success: ServeResult,
62
- error: ServeError,
63
- },
64
- delete: { success: Schema.Void, error: Schema.Never },
65
- });
66
-
67
- export class Sidecar extends RpcClient.RpcClientService<
68
- Sidecar,
69
- {
70
- readonly diff: (options: ReconcileOptions) => Effect.Effect<DiffResult>;
71
- readonly reconcile: (
72
- options: ReconcileOptions,
73
- ) => Effect.Effect<ServeResult, ServeError>;
74
- readonly delete: (id: string) => Effect.Effect<void>;
75
- }
76
- >()("Sidecar") {}
77
-
78
- export const SidecarLive = RpcClient.layer(Sidecar, {
79
- main: import.meta.resolve("./SidecarServer.ts", import.meta.url),
80
- schema: SidecarSchema,
81
- });
@@ -1,491 +0,0 @@
1
- import {
2
- Runtime,
3
- type BindingHook,
4
- type BindingServices,
5
- type HyperdriveOrigin,
6
- type Module,
7
- type Assets as RuntimeAssets,
8
- type DurableObjectNamespace as RuntimeDurableObjectNamespace,
9
- type RuntimeServices,
10
- } from "@distilled.cloud/cloudflare-runtime";
11
- import {
12
- Ai,
13
- Assets,
14
- Browser,
15
- D1,
16
- Data,
17
- DurableObjectNamespace,
18
- Hyperdrive,
19
- Images,
20
- Json,
21
- KvNamespace,
22
- R2Bucket,
23
- Service,
24
- Text,
25
- VersionMetadata,
26
- WasmModule,
27
- WorkerLoader,
28
- } from "@distilled.cloud/cloudflare-runtime/bindings";
29
- import * as LocalProxy from "@distilled.cloud/cloudflare-runtime/proxy/LocalProxy";
30
- import * as Cause from "effect/Cause";
31
- import * as Effect from "effect/Effect";
32
- import * as Exit from "effect/Exit";
33
- import * as Fiber from "effect/Fiber";
34
- import * as Hash from "effect/Hash";
35
- import * as Layer from "effect/Layer";
36
- import * as Path from "effect/Path";
37
- import * as Redacted from "effect/Redacted";
38
- import * as Result from "effect/Result";
39
- import * as Scope from "effect/Scope";
40
- import * as Stream from "effect/Stream";
41
- import type * as Bundle from "../../Bundle/Bundle.ts";
42
- import { InstanceId } from "../../InstanceId.ts";
43
- import { Stack } from "../../Stack.ts";
44
- import { Stage } from "../../Stage.ts";
45
- import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
46
- import { getCompatibility } from "../Workers/Compatibility.ts";
47
- import * as Vite from "../Workers/Vite.ts";
48
- import type { Worker, WorkerAssetsConfig } from "../Workers/Worker.ts";
49
- import { getCronBindings } from "../Workers/WorkerAsyncBindings.ts";
50
- import type { WorkerBinding } from "../Workers/WorkerBinding.ts";
51
- import {
52
- WorkerBundle,
53
- type WorkerBundleOptions,
54
- } from "../Workers/WorkerBundle.ts";
55
- import { createWorkerName } from "../Workers/WorkerName.ts";
56
- import {
57
- ServeError,
58
- ServeResult,
59
- Sidecar,
60
- ValidationError,
61
- type ReconcileOptions,
62
- } from "./Sidecar.ts";
63
-
64
- export const SidecarHandlers = Layer.effect(
65
- Sidecar,
66
- Effect.gen(function* () {
67
- const { accountId } = yield* CloudflareEnvironment;
68
- const bundler = yield* WorkerBundle;
69
- const runtime = yield* Runtime;
70
- const path = yield* Path.Path;
71
- const localProxy = yield* LocalProxy.LocalProxy;
72
-
73
- const toRuntimeModules = Effect.fn(function* (bundle: Bundle.BundleOutput) {
74
- const modules: Module[] = [];
75
- for (const file of bundle.files) {
76
- const ext = path.extname(file.path);
77
- const type = moduleTypeFromExtension(ext);
78
- if (type === "SourceMap") continue;
79
- if (type === "Data" || type === "Wasm") {
80
- if (!(file.content instanceof Uint8Array)) {
81
- return yield* new ValidationError({
82
- message: `Expected Uint8Array for ${file.path} (${type})`,
83
- value: file.content,
84
- });
85
- }
86
- modules.push({
87
- name: file.path,
88
- type,
89
- content: file.content,
90
- });
91
- } else {
92
- if (typeof file.content !== "string") {
93
- return yield* new ValidationError({
94
- message: `Expected string for ${file.path} (${type})`,
95
- value: file.content,
96
- });
97
- }
98
- modules.push({
99
- name: file.path,
100
- type,
101
- content: file.content,
102
- });
103
- }
104
- }
105
- return modules;
106
- });
107
-
108
- const serveScoped = Effect.fnUntraced(function* (
109
- worker: WorkerConfig,
110
- bundle: Bundle.BundleOutput,
111
- ) {
112
- const scope = yield* Effect.flatMap(Effect.scope, Scope.fork);
113
- const address = yield* runtime
114
- .start({
115
- name: worker.name,
116
- compatibilityDate: worker.compatibility.date,
117
- compatibilityFlags: worker.compatibility.flags,
118
- bindings: worker.workerBindings as never,
119
- hyperdrives: worker.hyperdrives,
120
- durableObjectNamespaces: toRuntimeDurableObjectNamespaces(
121
- worker.durableObjectNamespaces,
122
- ),
123
- modules: yield* toRuntimeModules(bundle),
124
- assets: toRuntimeAssets(worker.assets),
125
- })
126
- .pipe(Scope.provide(scope));
127
- const previous = workerdScopes.get(worker.id);
128
- if (previous) {
129
- yield* Effect.forkDetach(Scope.close(previous, Exit.void));
130
- }
131
- workerdScopes.set(worker.id, scope);
132
- yield* localProxy.setLocalAddress(worker.id, address);
133
- return address;
134
- });
135
-
136
- const buildConfig = Effect.fn(function* ({
137
- id,
138
- props,
139
- bindings,
140
- stack,
141
- instanceId,
142
- }: ReconcileOptions) {
143
- const name = yield* createWorkerName(id, props.name).pipe(
144
- Effect.provideService(Stack, stack),
145
- Effect.provideService(Stage, stack.stage),
146
- Effect.provideService(InstanceId, instanceId),
147
- );
148
- const compatibility = getCompatibility(props);
149
- const workerBindings: BindingHook<BindingServices>[] = [];
150
- const durableObjectNamespaces: Record<string, string> = {};
151
- const hyperdrives: Record<string, Required<HyperdriveOrigin>> = {};
152
- for (const { data } of bindings) {
153
- for (const binding of data.bindings ?? []) {
154
- if (binding.type === "durable_object_namespace") {
155
- durableObjectNamespaces[binding.name] = binding.className!;
156
- }
157
- workerBindings.push(yield* toRuntimeBinding(binding));
158
- }
159
- if (data.hyperdrives) {
160
- for (const [id, origin] of Object.entries(data.hyperdrives)) {
161
- hyperdrives[id] = {
162
- scheme: origin.scheme,
163
- host: origin.host,
164
- port: origin.port,
165
- user: origin.user,
166
- database: origin.database,
167
- password: Redacted.isRedacted(origin.password)
168
- ? Redacted.value(origin.password)
169
- : origin.password,
170
- sslmode: origin.sslmode,
171
- };
172
- }
173
- }
174
- }
175
- for (const [key, value] of Object.entries(props.env ?? {})) {
176
- if (value === undefined) continue;
177
- if (Redacted.isRedacted(value)) {
178
- workerBindings.push(Text.binding(key, Redacted.value(value)));
179
- } else if (typeof value === "string") {
180
- workerBindings.push(Text.binding(key, value));
181
- } else {
182
- workerBindings.push(Json.binding(key, value));
183
- }
184
- }
185
- return {
186
- id,
187
- name,
188
- compatibility,
189
- workerBindings,
190
- durableObjectNamespaces,
191
- hyperdrives,
192
- bundleOptions: {
193
- id,
194
- main: props.main,
195
- compatibility,
196
- entry: props.isExternal
197
- ? { kind: "external" }
198
- : { kind: "effect", exports: (props.exports ?? {}) as any },
199
- stack: { name: stack.name, stage: stack.stage },
200
- userOptions: props.build,
201
- } satisfies WorkerBundleOptions,
202
- assets: props.assets,
203
- };
204
- });
205
-
206
- type WorkerConfig = Effect.Success<ReturnType<typeof buildConfig>>;
207
-
208
- const runServer = Effect.fnUntraced(function* (worker: WorkerConfig) {
209
- let start = Date.now();
210
- let status: "start" | "update" = "start";
211
- yield* bundler.watch(worker.bundleOptions).pipe(
212
- Stream.tap((event) => {
213
- if (event._tag === "Start") {
214
- start = Date.now();
215
- if (status === "update") {
216
- return Effect.log(`[${worker.id}] Rebuilding`);
217
- }
218
- } else if (event._tag === "Error") {
219
- return Effect.logError(`[${worker.id}] Bundle error`, event.error);
220
- }
221
- return Effect.void;
222
- }),
223
- Stream.filterMap((event) =>
224
- event._tag === "Success"
225
- ? Result.succeed(event.output)
226
- : Result.failVoid,
227
- ),
228
- Stream.mapEffect((bundle) =>
229
- serveScoped(worker, bundle).pipe(
230
- Effect.exit,
231
- Effect.tap((exit) => {
232
- if (exit._tag === "Success") {
233
- const message = Effect.log(
234
- `[${worker.id}] ${status === "update" ? "Updated" : "Started"} in ${Math.round(Date.now() - start)}ms`,
235
- );
236
- status = "update";
237
- return message;
238
- } else {
239
- return Effect.logError(
240
- `[${worker.id}] Error`,
241
- Cause.squash(exit.cause),
242
- );
243
- }
244
- }),
245
- ),
246
- ),
247
- Stream.runDrain,
248
- Effect.forkScoped,
249
- );
250
- });
251
-
252
- const rootScope = yield* Effect.scope;
253
- const workerdScopes = new Map<string, Scope.Closeable>();
254
-
255
- const context = yield* Effect.context<RuntimeServices>();
256
- const instances = new Map<
257
- string,
258
- {
259
- hash: number;
260
- fiber: Fiber.Fiber<ServeResult, ServeError>;
261
- scope: Scope.Closeable;
262
- }
263
- >();
264
-
265
- const runInstance = Effect.fn(function* (options: ReconcileOptions) {
266
- const { id, props, bindings } = options;
267
- const config = yield* buildConfig(options);
268
- const url = yield* localProxy.registerWorker(id);
269
- if (props.vite) {
270
- console.log("starting vite dev server", id);
271
- const devServer = yield* Vite.viteDev(
272
- props.vite.rootDir,
273
- props.env ?? {},
274
- {
275
- compatibilityDate: config.compatibility.date,
276
- compatibilityFlags: config.compatibility.flags,
277
- worker: {
278
- name: config.name,
279
- bindings: config.workerBindings,
280
- durableObjectNamespaces: toRuntimeDurableObjectNamespaces(
281
- config.durableObjectNamespaces,
282
- ),
283
- hyperdrives: config.hyperdrives,
284
- assets: toRuntimeAssets(config.assets),
285
- },
286
- context,
287
- },
288
- );
289
- console.log("vite dev server started", id);
290
- const localAddress = devServer.resolvedUrls!.local[0].slice(0, -1);
291
- yield* localProxy.setLocalAddress(id, localAddress);
292
- } else {
293
- yield* runServer(config);
294
- }
295
- return {
296
- workerId: config.name,
297
- workerName: config.name,
298
- logpush: undefined,
299
- url,
300
- tags: [],
301
- durableObjectNamespaces: config.durableObjectNamespaces,
302
- domains: [],
303
- crons: Array.from(
304
- new Set([...getCronBindings(bindings), ...(props.crons ?? [])]),
305
- ),
306
- accountId,
307
- } satisfies Worker["Attributes"];
308
- });
309
-
310
- return Sidecar.of({
311
- diff: Effect.fn(function* (options) {
312
- const hash = Hash.structure(options);
313
- return {
314
- action: instances.get(options.id)?.hash === hash ? "noop" : "update",
315
- };
316
- }),
317
- reconcile: Effect.fn(function* (options) {
318
- const hash = Hash.structure(options);
319
- const existing = instances.get(options.id);
320
- if (existing) {
321
- if (existing.hash === hash) {
322
- yield* Effect.log(
323
- `[${options.id}] No changes, using existing instance`,
324
- );
325
- return yield* Fiber.join(existing.fiber);
326
- }
327
- yield* Effect.log(
328
- `[${options.id}] Changes detected, interrupting existing instance`,
329
- );
330
- yield* Fiber.interrupt(existing.fiber);
331
- yield* Scope.close(existing.scope, Exit.void);
332
- instances.delete(options.id);
333
- }
334
- const scope = yield* Scope.fork(rootScope);
335
- const fiber = yield* runInstance(options).pipe(
336
- Effect.forkDetach,
337
- Scope.provide(scope),
338
- );
339
- instances.set(options.id, { hash, fiber, scope });
340
- return yield* Fiber.join(fiber).pipe(
341
- Effect.onExit((exit) =>
342
- Effect.sync(() => {
343
- if (exit._tag === "Failure") {
344
- instances.delete(options.id);
345
- }
346
- }),
347
- ),
348
- );
349
- }),
350
- delete: Effect.fn(function* (id) {
351
- const existing = instances.get(id);
352
- if (existing) {
353
- yield* Fiber.interrupt(existing.fiber);
354
- yield* Scope.close(existing.scope, Exit.void);
355
- instances.delete(id);
356
- }
357
- }),
358
- });
359
- }),
360
- );
361
-
362
- const toRuntimeBinding = Effect.fnUntraced(function* (b: WorkerBinding) {
363
- const unsupported = () =>
364
- new ValidationError({
365
- message: `${b.type} bindings are not supported in local mode`,
366
- value: b,
367
- });
368
- switch (b.type) {
369
- case "ai":
370
- return Ai.remote(b.name);
371
- case "analytics_engine":
372
- return yield* unsupported();
373
- case "artifacts":
374
- return yield* unsupported();
375
- case "assets":
376
- return Assets.binding(b.name);
377
- case "browser":
378
- return Browser.binding(b.name);
379
- case "d1":
380
- return D1.remote(b.name, b.id);
381
- case "data_blob":
382
- return Data.binding(b.name, Buffer.from(b.part));
383
- case "dispatch_namespace":
384
- return yield* unsupported();
385
- case "durable_object_namespace":
386
- return DurableObjectNamespace.local({
387
- name: b.name,
388
- className: b.className!,
389
- scriptName: b.scriptName,
390
- });
391
- case "hyperdrive":
392
- return Hyperdrive.binding(b.name, b.id);
393
- case "images":
394
- return Images.remote(b.name);
395
- case "inherit":
396
- return yield* unsupported();
397
- case "json":
398
- return Json.binding(b.name, b.json);
399
- case "kv_namespace":
400
- return KvNamespace.remote(b.name, b.namespaceId);
401
- case "mtls_certificate":
402
- return yield* unsupported();
403
- case "pipelines":
404
- return yield* unsupported();
405
- case "plain_text":
406
- return Text.binding(b.name, b.text);
407
- case "queue":
408
- return yield* unsupported();
409
- case "r2_bucket":
410
- return R2Bucket.remote(b.name, b.bucketName, b.jurisdiction);
411
- case "ratelimit":
412
- return yield* unsupported();
413
- case "secret_key":
414
- return yield* unsupported();
415
- case "secret_text":
416
- return Text.binding(b.name, b.text);
417
- case "secrets_store_secret":
418
- return yield* unsupported();
419
- case "send_email":
420
- return yield* unsupported();
421
- case "service":
422
- return Service.local({ name: b.name, scriptName: b.service });
423
- case "text_blob":
424
- return Data.binding(b.name, Buffer.from(b.part));
425
- case "vectorize":
426
- return yield* unsupported();
427
- case "version_metadata":
428
- return VersionMetadata.binding(b.name);
429
- case "wasm_module":
430
- return WasmModule.binding(b.name, Buffer.from(b.part));
431
- case "worker_loader":
432
- return WorkerLoader.binding(b.name);
433
- case "workflow":
434
- return yield* unsupported();
435
- default:
436
- return yield* unsupported();
437
- }
438
- });
439
-
440
- const toRuntimeAssets = (
441
- assets: WorkerAssetsConfig | undefined,
442
- ): RuntimeAssets | undefined => {
443
- if (!assets) return undefined;
444
- if (typeof assets === "string") {
445
- return {
446
- directory: assets,
447
- };
448
- }
449
- return {
450
- directory: "directory" in assets ? assets.directory : assets.path,
451
- headers: assets.config?.headers,
452
- redirects: assets.config?.redirects,
453
- htmlHandling: assets.config?.htmlHandling,
454
- notFoundHandling: assets.config?.notFoundHandling,
455
- runWorkerFirst: assets.config?.runWorkerFirst,
456
- serveDirectly: assets.config?.serveDirectly,
457
- };
458
- };
459
-
460
- const toRuntimeDurableObjectNamespaces = (
461
- namespaces: Record<string, string>,
462
- ): RuntimeDurableObjectNamespace[] => {
463
- return Object.entries(namespaces).map(([className, namespaceId]) => ({
464
- className,
465
- uniqueKey: namespaceId,
466
- sql: true,
467
- }));
468
- };
469
-
470
- const moduleTypeFromExtension = (ext: string): Module["type"] | "SourceMap" => {
471
- switch (ext) {
472
- case ".wasm":
473
- return "Wasm";
474
- case ".txt":
475
- case ".html":
476
- case ".sql":
477
- case ".custom":
478
- return "Text";
479
- case ".bin":
480
- return "Data";
481
- case ".mjs":
482
- case ".js":
483
- return "ESModule";
484
- case ".cjs":
485
- return "CommonJsModule";
486
- case ".map":
487
- return "SourceMap";
488
- default:
489
- return "Text";
490
- }
491
- };
@@ -1,70 +0,0 @@
1
- import {
2
- layerLocalProxy,
3
- layerRuntime,
4
- } from "@distilled.cloud/cloudflare-runtime/RuntimeServices";
5
- import * as Effect from "effect/Effect";
6
- import * as Layer from "effect/Layer";
7
- import * as Path from "effect/Path";
8
- import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
9
- import * as AlchemyContext from "../../AlchemyContext.ts";
10
- import { AuthProviders } from "../../Auth/AuthProvider.ts";
11
- import { CredentialsStoreLive } from "../../Auth/Credentials.ts";
12
- import { ProfileLive } from "../../Auth/Profile.ts";
13
- import * as RpcServer from "../../Sidecar/RpcServer.ts";
14
- import * as RpcServices from "../../Sidecar/RpcServices.ts";
15
- import {
16
- httpServer,
17
- PlatformServices,
18
- runMain,
19
- } from "../../Util/PlatformServices.ts";
20
- import { CloudflareAuth } from "../Auth/AuthProvider.ts";
21
- import * as CloudflareEnvironment from "../CloudflareEnvironment.ts";
22
- import * as Credentials from "../Credentials.ts";
23
- import { Sidecar, SidecarSchema } from "./Sidecar.ts";
24
- import { SidecarHandlers } from "./SidecarHandlers.ts";
25
-
26
- const apiServices = Layer.merge(
27
- Credentials.fromAuthProvider(),
28
- CloudflareEnvironment.fromProfile(),
29
- ).pipe(
30
- Layer.provide(CloudflareAuth),
31
- Layer.provide(Layer.succeed(AuthProviders, {})),
32
- Layer.provide(ProfileLive),
33
- Layer.provide(CredentialsStoreLive),
34
- );
35
-
36
- const runtimeServices = SidecarHandlers.pipe(
37
- Layer.provide(layerLocalProxy(1337)),
38
- Layer.provide(
39
- Layer.unwrap(
40
- Effect.gen(function* () {
41
- const { accountId } =
42
- yield* CloudflareEnvironment.CloudflareEnvironment;
43
- const { dotAlchemy } = yield* AlchemyContext.AlchemyContext;
44
- const path = yield* Path.Path;
45
- return layerRuntime({
46
- api: {
47
- accountId,
48
- },
49
- storage: {
50
- directory: path.join(dotAlchemy, "local"),
51
- },
52
- });
53
- }),
54
- ),
55
- ),
56
- Layer.provide(
57
- Layer.mergeAll(apiServices, FetchHttpClient.layer, httpServer()),
58
- ),
59
- );
60
-
61
- const services = Layer.provideMerge(
62
- Layer.provideMerge(runtimeServices, RpcServices.layer(import.meta.url)),
63
- PlatformServices,
64
- );
65
-
66
- RpcServer.makeRpcServer(Sidecar, SidecarSchema).pipe(
67
- Effect.provide(services),
68
- Effect.scoped,
69
- runMain,
70
- );