alchemy 2.0.0-beta.41 → 2.0.0-beta.43

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 (514) hide show
  1. package/bin/exec.js +2 -9
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts +1 -1
  4. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts.map +1 -1
  5. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts +1 -1
  6. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts.map +1 -1
  7. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts +1 -1
  8. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts.map +1 -1
  9. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts +1 -1
  10. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts.map +1 -1
  11. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts +1 -1
  12. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts.map +1 -1
  13. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts +1 -1
  14. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts.map +1 -1
  15. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts +1 -1
  16. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts.map +1 -1
  17. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts +1 -1
  18. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts.map +1 -1
  19. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts +1 -1
  20. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts.map +1 -1
  21. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts +1 -1
  22. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts.map +1 -1
  23. package/lib/AWS/CloudWatch/GetDashboard.d.ts +1 -1
  24. package/lib/AWS/CloudWatch/GetDashboard.d.ts.map +1 -1
  25. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts +1 -1
  26. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts.map +1 -1
  27. package/lib/AWS/CloudWatch/GetMetricData.d.ts +1 -1
  28. package/lib/AWS/CloudWatch/GetMetricData.d.ts.map +1 -1
  29. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts +1 -1
  30. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts.map +1 -1
  31. package/lib/AWS/CloudWatch/GetMetricStream.d.ts +1 -1
  32. package/lib/AWS/CloudWatch/GetMetricStream.d.ts.map +1 -1
  33. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts +1 -1
  34. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts.map +1 -1
  35. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts +1 -1
  36. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts.map +1 -1
  37. package/lib/AWS/CloudWatch/ListDashboards.d.ts +1 -1
  38. package/lib/AWS/CloudWatch/ListDashboards.d.ts.map +1 -1
  39. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts +1 -1
  40. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts.map +1 -1
  41. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts +1 -1
  42. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts.map +1 -1
  43. package/lib/AWS/CloudWatch/ListMetrics.d.ts +1 -1
  44. package/lib/AWS/CloudWatch/ListMetrics.d.ts.map +1 -1
  45. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts +1 -1
  46. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts.map +1 -1
  47. package/lib/AWS/CloudWatch/PutMetricData.d.ts +1 -1
  48. package/lib/AWS/CloudWatch/PutMetricData.d.ts.map +1 -1
  49. package/lib/AWS/CloudWatch/SetAlarmState.d.ts +1 -1
  50. package/lib/AWS/CloudWatch/SetAlarmState.d.ts.map +1 -1
  51. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts +1 -1
  52. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts.map +1 -1
  53. package/lib/AWS/DynamoDB/BatchGetItem.d.ts +1 -1
  54. package/lib/AWS/DynamoDB/BatchGetItem.d.ts.map +1 -1
  55. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts +1 -1
  56. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts.map +1 -1
  57. package/lib/AWS/DynamoDB/DeleteItem.d.ts +1 -1
  58. package/lib/AWS/DynamoDB/DeleteItem.d.ts.map +1 -1
  59. package/lib/AWS/DynamoDB/DescribeTable.d.ts +1 -1
  60. package/lib/AWS/DynamoDB/DescribeTable.d.ts.map +1 -1
  61. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts +1 -1
  62. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts.map +1 -1
  63. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts +1 -1
  64. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts.map +1 -1
  65. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts +1 -1
  66. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts.map +1 -1
  67. package/lib/AWS/DynamoDB/GetItem.d.ts +1 -1
  68. package/lib/AWS/DynamoDB/GetItem.d.ts.map +1 -1
  69. package/lib/AWS/DynamoDB/ListTables.d.ts +1 -1
  70. package/lib/AWS/DynamoDB/ListTables.d.ts.map +1 -1
  71. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts +1 -1
  72. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts.map +1 -1
  73. package/lib/AWS/DynamoDB/PutItem.d.ts +1 -1
  74. package/lib/AWS/DynamoDB/PutItem.d.ts.map +1 -1
  75. package/lib/AWS/DynamoDB/Query.d.ts +1 -1
  76. package/lib/AWS/DynamoDB/Query.d.ts.map +1 -1
  77. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts +1 -1
  78. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts.map +1 -1
  79. package/lib/AWS/DynamoDB/Scan.d.ts +1 -1
  80. package/lib/AWS/DynamoDB/Scan.d.ts.map +1 -1
  81. package/lib/AWS/DynamoDB/TransactGetItems.d.ts +1 -1
  82. package/lib/AWS/DynamoDB/TransactGetItems.d.ts.map +1 -1
  83. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts +1 -1
  84. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts.map +1 -1
  85. package/lib/AWS/DynamoDB/UpdateItem.d.ts +1 -1
  86. package/lib/AWS/DynamoDB/UpdateItem.d.ts.map +1 -1
  87. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts +1 -1
  88. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts.map +1 -1
  89. package/lib/AWS/ECS/DescribeTasks.d.ts +1 -1
  90. package/lib/AWS/ECS/DescribeTasks.d.ts.map +1 -1
  91. package/lib/AWS/ECS/ListTasks.d.ts +1 -1
  92. package/lib/AWS/ECS/ListTasks.d.ts.map +1 -1
  93. package/lib/AWS/ECS/RunTask.d.ts +1 -1
  94. package/lib/AWS/ECS/RunTask.d.ts.map +1 -1
  95. package/lib/AWS/ECS/StopTask.d.ts +1 -1
  96. package/lib/AWS/ECS/StopTask.d.ts.map +1 -1
  97. package/lib/AWS/EventBridge/DescribeEventBus.d.ts +1 -1
  98. package/lib/AWS/EventBridge/DescribeEventBus.d.ts.map +1 -1
  99. package/lib/AWS/EventBridge/DescribeRule.d.ts +1 -1
  100. package/lib/AWS/EventBridge/DescribeRule.d.ts.map +1 -1
  101. package/lib/AWS/EventBridge/EventSource.d.ts +2 -2
  102. package/lib/AWS/EventBridge/ListEventBuses.d.ts +1 -1
  103. package/lib/AWS/EventBridge/ListEventBuses.d.ts.map +1 -1
  104. package/lib/AWS/EventBridge/ListRules.d.ts +1 -1
  105. package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
  106. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts +1 -1
  107. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts.map +1 -1
  108. package/lib/AWS/EventBridge/PutEvents.d.ts +1 -1
  109. package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
  110. package/lib/AWS/EventBridge/TestEventPattern.d.ts +1 -1
  111. package/lib/AWS/EventBridge/TestEventPattern.d.ts.map +1 -1
  112. package/lib/AWS/EventBridge/ToLambda.d.ts +1 -1
  113. package/lib/AWS/EventBridge/ToLambda.d.ts.map +1 -1
  114. package/lib/AWS/EventBridge/ToQueue.d.ts +1 -1
  115. package/lib/AWS/EventBridge/ToQueue.d.ts.map +1 -1
  116. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts +1 -1
  117. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts.map +1 -1
  118. package/lib/AWS/Kinesis/DescribeLimits.d.ts +1 -1
  119. package/lib/AWS/Kinesis/DescribeLimits.d.ts.map +1 -1
  120. package/lib/AWS/Kinesis/DescribeStream.d.ts +1 -1
  121. package/lib/AWS/Kinesis/DescribeStream.d.ts.map +1 -1
  122. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts +1 -1
  123. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts.map +1 -1
  124. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts +1 -1
  125. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts.map +1 -1
  126. package/lib/AWS/Kinesis/GetRecords.d.ts +1 -1
  127. package/lib/AWS/Kinesis/GetRecords.d.ts.map +1 -1
  128. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts +1 -1
  129. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts.map +1 -1
  130. package/lib/AWS/Kinesis/GetShardIterator.d.ts +1 -1
  131. package/lib/AWS/Kinesis/GetShardIterator.d.ts.map +1 -1
  132. package/lib/AWS/Kinesis/ListShards.d.ts +1 -1
  133. package/lib/AWS/Kinesis/ListShards.d.ts.map +1 -1
  134. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts +1 -1
  135. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts.map +1 -1
  136. package/lib/AWS/Kinesis/ListStreams.d.ts +1 -1
  137. package/lib/AWS/Kinesis/ListStreams.d.ts.map +1 -1
  138. package/lib/AWS/Kinesis/ListTagsForResource.d.ts +1 -1
  139. package/lib/AWS/Kinesis/ListTagsForResource.d.ts.map +1 -1
  140. package/lib/AWS/Kinesis/PutRecord.d.ts +1 -1
  141. package/lib/AWS/Kinesis/PutRecord.d.ts.map +1 -1
  142. package/lib/AWS/Kinesis/PutRecords.d.ts +1 -1
  143. package/lib/AWS/Kinesis/PutRecords.d.ts.map +1 -1
  144. package/lib/AWS/Kinesis/StreamSink.d.ts +1 -1
  145. package/lib/AWS/Kinesis/StreamSink.d.ts.map +1 -1
  146. package/lib/AWS/Kinesis/SubscribeToShard.d.ts +1 -1
  147. package/lib/AWS/Kinesis/SubscribeToShard.d.ts.map +1 -1
  148. package/lib/AWS/Lambda/BucketEventSource.d.ts +2 -1
  149. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  150. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +2 -1
  151. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  152. package/lib/AWS/Lambda/InvokeFunction.d.ts +1 -1
  153. package/lib/AWS/Lambda/InvokeFunction.d.ts.map +1 -1
  154. package/lib/AWS/Lambda/QueueEventSource.d.ts +2 -1
  155. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  156. package/lib/AWS/Lambda/StreamEventSource.d.ts +2 -1
  157. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  158. package/lib/AWS/Lambda/TableEventSource.d.ts +2 -1
  159. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  160. package/lib/AWS/Lambda/TopicEventSource.d.ts +2 -1
  161. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  162. package/lib/AWS/RDS/Connect.d.ts +1 -1
  163. package/lib/AWS/RDS/Connect.d.ts.map +1 -1
  164. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts +1 -1
  165. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts.map +1 -1
  166. package/lib/AWS/RDSData/BeginTransaction.d.ts +1 -1
  167. package/lib/AWS/RDSData/BeginTransaction.d.ts.map +1 -1
  168. package/lib/AWS/RDSData/CommitTransaction.d.ts +1 -1
  169. package/lib/AWS/RDSData/CommitTransaction.d.ts.map +1 -1
  170. package/lib/AWS/RDSData/ExecuteSql.d.ts +1 -1
  171. package/lib/AWS/RDSData/ExecuteSql.d.ts.map +1 -1
  172. package/lib/AWS/RDSData/ExecuteStatement.d.ts +1 -1
  173. package/lib/AWS/RDSData/ExecuteStatement.d.ts.map +1 -1
  174. package/lib/AWS/RDSData/RollbackTransaction.d.ts +1 -1
  175. package/lib/AWS/RDSData/RollbackTransaction.d.ts.map +1 -1
  176. package/lib/AWS/S3/AbortMultipartUpload.d.ts +1 -1
  177. package/lib/AWS/S3/AbortMultipartUpload.d.ts.map +1 -1
  178. package/lib/AWS/S3/CompleteMultipartUpload.d.ts +1 -1
  179. package/lib/AWS/S3/CompleteMultipartUpload.d.ts.map +1 -1
  180. package/lib/AWS/S3/CopyObject.d.ts +1 -1
  181. package/lib/AWS/S3/CopyObject.d.ts.map +1 -1
  182. package/lib/AWS/S3/CreateMultipartUpload.d.ts +1 -1
  183. package/lib/AWS/S3/CreateMultipartUpload.d.ts.map +1 -1
  184. package/lib/AWS/S3/DeleteObject.d.ts +1 -1
  185. package/lib/AWS/S3/DeleteObject.d.ts.map +1 -1
  186. package/lib/AWS/S3/GetObject.d.ts +1 -1
  187. package/lib/AWS/S3/GetObject.d.ts.map +1 -1
  188. package/lib/AWS/S3/HeadObject.d.ts +1 -1
  189. package/lib/AWS/S3/HeadObject.d.ts.map +1 -1
  190. package/lib/AWS/S3/ListObjectsV2.d.ts +1 -1
  191. package/lib/AWS/S3/ListObjectsV2.d.ts.map +1 -1
  192. package/lib/AWS/S3/PutObject.d.ts +1 -1
  193. package/lib/AWS/S3/PutObject.d.ts.map +1 -1
  194. package/lib/AWS/S3/UploadPart.d.ts +1 -1
  195. package/lib/AWS/S3/UploadPart.d.ts.map +1 -1
  196. package/lib/AWS/SNS/AddPermission.d.ts +1 -1
  197. package/lib/AWS/SNS/AddPermission.d.ts.map +1 -1
  198. package/lib/AWS/SNS/ConfirmSubscription.d.ts +1 -1
  199. package/lib/AWS/SNS/ConfirmSubscription.d.ts.map +1 -1
  200. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts +1 -1
  201. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts.map +1 -1
  202. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts +1 -1
  203. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts.map +1 -1
  204. package/lib/AWS/SNS/GetTopicAttributes.d.ts +1 -1
  205. package/lib/AWS/SNS/GetTopicAttributes.d.ts.map +1 -1
  206. package/lib/AWS/SNS/ListSubscriptions.d.ts +1 -1
  207. package/lib/AWS/SNS/ListSubscriptions.d.ts.map +1 -1
  208. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts +1 -1
  209. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts.map +1 -1
  210. package/lib/AWS/SNS/ListTagsForResource.d.ts +1 -1
  211. package/lib/AWS/SNS/ListTagsForResource.d.ts.map +1 -1
  212. package/lib/AWS/SNS/ListTopics.d.ts +1 -1
  213. package/lib/AWS/SNS/ListTopics.d.ts.map +1 -1
  214. package/lib/AWS/SNS/Publish.d.ts +1 -1
  215. package/lib/AWS/SNS/Publish.d.ts.map +1 -1
  216. package/lib/AWS/SNS/PublishBatch.d.ts +1 -1
  217. package/lib/AWS/SNS/PublishBatch.d.ts.map +1 -1
  218. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts +1 -1
  219. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts.map +1 -1
  220. package/lib/AWS/SNS/RemovePermission.d.ts +1 -1
  221. package/lib/AWS/SNS/RemovePermission.d.ts.map +1 -1
  222. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts +1 -1
  223. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts.map +1 -1
  224. package/lib/AWS/SNS/SetTopicAttributes.d.ts +1 -1
  225. package/lib/AWS/SNS/SetTopicAttributes.d.ts.map +1 -1
  226. package/lib/AWS/SNS/TagResource.d.ts +1 -1
  227. package/lib/AWS/SNS/TagResource.d.ts.map +1 -1
  228. package/lib/AWS/SNS/TopicSink.d.ts +1 -1
  229. package/lib/AWS/SNS/TopicSink.d.ts.map +1 -1
  230. package/lib/AWS/SNS/UntagResource.d.ts +1 -1
  231. package/lib/AWS/SNS/UntagResource.d.ts.map +1 -1
  232. package/lib/AWS/SQS/DeleteMessage.d.ts +1 -1
  233. package/lib/AWS/SQS/DeleteMessage.d.ts.map +1 -1
  234. package/lib/AWS/SQS/DeleteMessageBatch.d.ts +1 -1
  235. package/lib/AWS/SQS/DeleteMessageBatch.d.ts.map +1 -1
  236. package/lib/AWS/SQS/QueueSink.d.ts +1 -1
  237. package/lib/AWS/SQS/QueueSink.d.ts.map +1 -1
  238. package/lib/AWS/SQS/ReceiveMessage.d.ts +1 -1
  239. package/lib/AWS/SQS/ReceiveMessage.d.ts.map +1 -1
  240. package/lib/AWS/SQS/SendMessage.d.ts +1 -1
  241. package/lib/AWS/SQS/SendMessage.d.ts.map +1 -1
  242. package/lib/AWS/SQS/SendMessageBatch.d.ts +1 -1
  243. package/lib/AWS/SQS/SendMessageBatch.d.ts.map +1 -1
  244. package/lib/AWS/SecretsManager/DescribeSecret.d.ts +1 -1
  245. package/lib/AWS/SecretsManager/DescribeSecret.d.ts.map +1 -1
  246. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts +1 -1
  247. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts.map +1 -1
  248. package/lib/AWS/SecretsManager/GetSecretValue.d.ts +1 -1
  249. package/lib/AWS/SecretsManager/GetSecretValue.d.ts.map +1 -1
  250. package/lib/AWS/SecretsManager/ListSecrets.d.ts +1 -1
  251. package/lib/AWS/SecretsManager/ListSecrets.d.ts.map +1 -1
  252. package/lib/AWS/SecretsManager/PutSecretValue.d.ts +1 -1
  253. package/lib/AWS/SecretsManager/PutSecretValue.d.ts.map +1 -1
  254. package/lib/Binding.d.ts +1 -1
  255. package/lib/Binding.d.ts.map +1 -1
  256. package/lib/Bundle/Docker.d.ts.map +1 -1
  257. package/lib/Bundle/Docker.js +12 -13
  258. package/lib/Bundle/Docker.js.map +1 -1
  259. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  260. package/lib/Cli/commands/deploy.js +1 -0
  261. package/lib/Cli/commands/deploy.js.map +1 -1
  262. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +8 -7
  263. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  264. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js +2 -6
  265. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  266. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +4 -3
  267. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -1
  268. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +2 -1
  269. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
  270. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts +8 -7
  271. package/lib/Cloudflare/Artifacts/ArtifactsBinding.d.ts.map +1 -1
  272. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +2 -2
  273. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
  274. package/lib/Cloudflare/D1/D1Connection.d.ts +12 -10
  275. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  276. package/lib/Cloudflare/D1/D1Connection.js +2 -2
  277. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  278. package/lib/Cloudflare/D1/D1Database.js +1 -1
  279. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  280. package/lib/Cloudflare/D1/D1Migrations.d.ts +2 -2
  281. package/lib/Cloudflare/D1/D1Migrations.d.ts.map +1 -1
  282. package/lib/Cloudflare/Email/SendEmailBinding.d.ts +5 -4
  283. package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -1
  284. package/lib/Cloudflare/Email/SendEmailBinding.js +2 -1
  285. package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -1
  286. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts +10 -8
  287. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.d.ts.map +1 -1
  288. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js +2 -2
  289. package/lib/Cloudflare/Hyperdrive/HyperdriveBinding.js.map +1 -1
  290. package/lib/Cloudflare/Images/ImagesBinding.d.ts +5 -4
  291. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -1
  292. package/lib/Cloudflare/Images/ImagesBinding.js +4 -2
  293. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
  294. package/lib/Cloudflare/KV/KVNamespaceBinding.d.ts +33 -32
  295. package/lib/Cloudflare/KV/KVNamespaceBinding.d.ts.map +1 -1
  296. package/lib/Cloudflare/KV/KVNamespaceBinding.js +5 -2
  297. package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
  298. package/lib/Cloudflare/Queue/QueueBinding.d.ts +5 -4
  299. package/lib/Cloudflare/Queue/QueueBinding.d.ts.map +1 -1
  300. package/lib/Cloudflare/Queue/QueueBinding.js +2 -2
  301. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  302. package/lib/Cloudflare/Queue/QueueEventSource.d.ts +1 -2
  303. package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -1
  304. package/lib/Cloudflare/R2/R2BucketBinding.d.ts +13 -12
  305. package/lib/Cloudflare/R2/R2BucketBinding.d.ts.map +1 -1
  306. package/lib/Cloudflare/R2/R2BucketBinding.js +2 -2
  307. package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
  308. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts +5 -4
  309. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts.map +1 -1
  310. package/lib/Cloudflare/SecretsStore/SecretBinding.js +2 -2
  311. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  312. package/lib/Cloudflare/StateStore/Api.d.ts +1 -1
  313. package/lib/Cloudflare/Workers/CronEventSource.d.ts +1 -2
  314. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
  315. package/lib/Cloudflare/Workers/DurableObjectNamespace.d.ts.map +1 -1
  316. package/lib/Cloudflare/Workers/DurableObjectNamespace.js +6 -3
  317. package/lib/Cloudflare/Workers/DurableObjectNamespace.js.map +1 -1
  318. package/lib/Cloudflare/Workers/DynamicWorkerLoader.d.ts.map +1 -1
  319. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js +3 -3
  320. package/lib/Cloudflare/Workers/DynamicWorkerLoader.js.map +1 -1
  321. package/lib/Cloudflare/Workers/Fetch.d.ts +1 -1
  322. package/lib/Cloudflare/Workers/Fetch.d.ts.map +1 -1
  323. package/lib/Cloudflare/Workers/RpcAsync.d.ts +55 -0
  324. package/lib/Cloudflare/Workers/RpcAsync.d.ts.map +1 -1
  325. package/lib/Cloudflare/Workers/RpcAsync.js +55 -0
  326. package/lib/Cloudflare/Workers/RpcAsync.js.map +1 -1
  327. package/lib/Cloudflare/Workers/Worker.d.ts +3 -3
  328. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  329. package/lib/Cloudflare/Workers/Worker.js +9 -2
  330. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  331. package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
  332. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +2 -0
  333. package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
  334. package/lib/Cloudflare/Workers/Workflow.d.ts +4 -4
  335. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  336. package/lib/Cloudflare/Workers/Workflow.js +6 -3
  337. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  338. package/lib/Neon/Branch.js +1 -1
  339. package/lib/Neon/Branch.js.map +1 -1
  340. package/lib/Neon/Migrations.d.ts +1 -1
  341. package/lib/Neon/Migrations.d.ts.map +1 -1
  342. package/lib/Neon/Project.d.ts.map +1 -1
  343. package/lib/Neon/Project.js +1 -15
  344. package/lib/Neon/Project.js.map +1 -1
  345. package/lib/Phase.d.ts +2 -2
  346. package/lib/Phase.d.ts.map +1 -1
  347. package/lib/Phase.js +2 -1
  348. package/lib/Phase.js.map +1 -1
  349. package/lib/Planetscale/AuthProvider.d.ts +59 -0
  350. package/lib/Planetscale/AuthProvider.d.ts.map +1 -0
  351. package/lib/Planetscale/AuthProvider.js +131 -0
  352. package/lib/Planetscale/AuthProvider.js.map +1 -0
  353. package/lib/Planetscale/Branch.d.ts +113 -0
  354. package/lib/Planetscale/Branch.d.ts.map +1 -0
  355. package/lib/Planetscale/Branch.js +287 -0
  356. package/lib/Planetscale/Branch.js.map +1 -0
  357. package/lib/Planetscale/Credentials.d.ts +35 -0
  358. package/lib/Planetscale/Credentials.d.ts.map +1 -0
  359. package/lib/Planetscale/Credentials.js +56 -0
  360. package/lib/Planetscale/Credentials.js.map +1 -0
  361. package/lib/Planetscale/Database.d.ts +117 -0
  362. package/lib/Planetscale/Database.d.ts.map +1 -0
  363. package/lib/Planetscale/Database.js +1 -0
  364. package/lib/Planetscale/Database.js.map +1 -0
  365. package/lib/Planetscale/MySQL/MySQLBranch.d.ts +86 -0
  366. package/lib/Planetscale/MySQL/MySQLBranch.d.ts.map +1 -0
  367. package/lib/Planetscale/MySQL/MySQLBranch.js +14 -0
  368. package/lib/Planetscale/MySQL/MySQLBranch.js.map +1 -0
  369. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +23 -0
  370. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -0
  371. package/lib/Planetscale/MySQL/MySQLClusterSize.js +44 -0
  372. package/lib/Planetscale/MySQL/MySQLClusterSize.js.map +1 -0
  373. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +119 -0
  374. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -0
  375. package/lib/Planetscale/MySQL/MySQLDatabase.js +237 -0
  376. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -0
  377. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts +18 -0
  378. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts.map +1 -0
  379. package/lib/Planetscale/MySQL/MySQLMigrations.js +157 -0
  380. package/lib/Planetscale/MySQL/MySQLMigrations.js.map +1 -0
  381. package/lib/Planetscale/MySQL/MySQLOrigin.d.ts +15 -0
  382. package/lib/Planetscale/MySQL/MySQLOrigin.d.ts.map +1 -0
  383. package/lib/Planetscale/MySQL/MySQLOrigin.js +2 -0
  384. package/lib/Planetscale/MySQL/MySQLOrigin.js.map +1 -0
  385. package/lib/Planetscale/MySQL/MySQLPassword.d.ts +115 -0
  386. package/lib/Planetscale/MySQL/MySQLPassword.d.ts.map +1 -0
  387. package/lib/Planetscale/MySQL/MySQLPassword.js +197 -0
  388. package/lib/Planetscale/MySQL/MySQLPassword.js.map +1 -0
  389. package/lib/Planetscale/MySQL/index.d.ts +6 -0
  390. package/lib/Planetscale/MySQL/index.d.ts.map +1 -0
  391. package/lib/Planetscale/MySQL/index.js +6 -0
  392. package/lib/Planetscale/MySQL/index.js.map +1 -0
  393. package/lib/Planetscale/Postgres/PostgresBranch.d.ts +67 -0
  394. package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -0
  395. package/lib/Planetscale/Postgres/PostgresBranch.js +14 -0
  396. package/lib/Planetscale/Postgres/PostgresBranch.js.map +1 -0
  397. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +44 -0
  398. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -0
  399. package/lib/Planetscale/Postgres/PostgresClusterSize.js +72 -0
  400. package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -0
  401. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +73 -0
  402. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -0
  403. package/lib/Planetscale/Postgres/PostgresDatabase.js +241 -0
  404. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -0
  405. package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts +85 -0
  406. package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts.map +1 -0
  407. package/lib/Planetscale/Postgres/PostgresDefaultRole.js +142 -0
  408. package/lib/Planetscale/Postgres/PostgresDefaultRole.js.map +1 -0
  409. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts +18 -0
  410. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts.map +1 -0
  411. package/lib/Planetscale/Postgres/PostgresMigrations.js +148 -0
  412. package/lib/Planetscale/Postgres/PostgresMigrations.js.map +1 -0
  413. package/lib/Planetscale/Postgres/PostgresOrigin.d.ts +15 -0
  414. package/lib/Planetscale/Postgres/PostgresOrigin.d.ts.map +1 -0
  415. package/lib/Planetscale/Postgres/PostgresOrigin.js +2 -0
  416. package/lib/Planetscale/Postgres/PostgresOrigin.js.map +1 -0
  417. package/lib/Planetscale/Postgres/PostgresRole.d.ts +121 -0
  418. package/lib/Planetscale/Postgres/PostgresRole.d.ts.map +1 -0
  419. package/lib/Planetscale/Postgres/PostgresRole.js +228 -0
  420. package/lib/Planetscale/Postgres/PostgresRole.js.map +1 -0
  421. package/lib/Planetscale/Postgres/index.d.ts +7 -0
  422. package/lib/Planetscale/Postgres/index.d.ts.map +1 -0
  423. package/lib/Planetscale/Postgres/index.js +7 -0
  424. package/lib/Planetscale/Postgres/index.js.map +1 -0
  425. package/lib/Planetscale/Providers.d.ts +25 -0
  426. package/lib/Planetscale/Providers.d.ts.map +1 -0
  427. package/lib/Planetscale/Providers.js +40 -0
  428. package/lib/Planetscale/Providers.js.map +1 -0
  429. package/lib/Planetscale/Util.d.ts +182 -0
  430. package/lib/Planetscale/Util.d.ts.map +1 -0
  431. package/lib/Planetscale/Util.js +98 -0
  432. package/lib/Planetscale/Util.js.map +1 -0
  433. package/lib/Planetscale/index.d.ts +9 -0
  434. package/lib/Planetscale/index.d.ts.map +1 -0
  435. package/lib/Planetscale/index.js +9 -0
  436. package/lib/Planetscale/index.js.map +1 -0
  437. package/lib/Platform.d.ts.map +1 -1
  438. package/lib/Platform.js +7 -2
  439. package/lib/Platform.js.map +1 -1
  440. package/lib/RuntimeContext.d.ts +7 -3
  441. package/lib/RuntimeContext.d.ts.map +1 -1
  442. package/lib/RuntimeContext.js +3 -2
  443. package/lib/RuntimeContext.js.map +1 -1
  444. package/lib/Server/S3BucketEventSource.d.ts +1 -1
  445. package/lib/Server/S3BucketEventSource.d.ts.map +1 -1
  446. package/lib/{Neon → Sql}/SqlFile.d.ts +2 -0
  447. package/lib/Sql/SqlFile.d.ts.map +1 -0
  448. package/lib/{Neon → Sql}/SqlFile.js +14 -0
  449. package/lib/Sql/SqlFile.js.map +1 -0
  450. package/lib/Sql/index.d.ts +2 -0
  451. package/lib/Sql/index.d.ts.map +1 -0
  452. package/lib/Sql/index.js +2 -0
  453. package/lib/Sql/index.js.map +1 -0
  454. package/lib/tsconfig.test.tsbuildinfo +1 -1
  455. package/package.json +20 -6
  456. package/src/Binding.ts +1 -1
  457. package/src/Bundle/Docker.ts +12 -15
  458. package/src/Cli/commands/deploy.ts +1 -0
  459. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +11 -16
  460. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +7 -9
  461. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +11 -22
  462. package/src/Cloudflare/D1/D1Connection.ts +31 -18
  463. package/src/Cloudflare/D1/D1Database.ts +1 -1
  464. package/src/Cloudflare/D1/D1Migrations.ts +2 -2
  465. package/src/Cloudflare/Email/SendEmailBinding.ts +7 -5
  466. package/src/Cloudflare/Hyperdrive/HyperdriveBinding.ts +16 -12
  467. package/src/Cloudflare/Images/ImagesBinding.ts +8 -8
  468. package/src/Cloudflare/KV/KVNamespaceBinding.ts +38 -38
  469. package/src/Cloudflare/Queue/QueueBinding.ts +7 -6
  470. package/src/Cloudflare/R2/R2BucketBinding.ts +16 -19
  471. package/src/Cloudflare/SecretsStore/SecretBinding.ts +11 -13
  472. package/src/Cloudflare/Workers/DurableObjectNamespace.ts +6 -6
  473. package/src/Cloudflare/Workers/DynamicWorkerLoader.ts +4 -5
  474. package/src/Cloudflare/Workers/RpcAsync.ts +55 -0
  475. package/src/Cloudflare/Workers/Worker.ts +17 -5
  476. package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +2 -0
  477. package/src/Cloudflare/Workers/Workflow.ts +10 -11
  478. package/src/Neon/Branch.ts +1 -1
  479. package/src/Neon/Migrations.ts +1 -1
  480. package/src/Neon/Project.ts +6 -20
  481. package/src/Phase.ts +2 -0
  482. package/src/Planetscale/AuthProvider.ts +285 -0
  483. package/src/Planetscale/Branch.ts +508 -0
  484. package/src/Planetscale/Credentials.ts +96 -0
  485. package/src/Planetscale/Database.ts +129 -0
  486. package/src/Planetscale/MySQL/MySQLBranch.ts +112 -0
  487. package/src/Planetscale/MySQL/MySQLClusterSize.ts +102 -0
  488. package/src/Planetscale/MySQL/MySQLDatabase.ts +446 -0
  489. package/src/Planetscale/MySQL/MySQLMigrations.ts +271 -0
  490. package/src/Planetscale/MySQL/MySQLOrigin.ts +15 -0
  491. package/src/Planetscale/MySQL/MySQLPassword.ts +387 -0
  492. package/src/Planetscale/MySQL/index.ts +5 -0
  493. package/src/Planetscale/Postgres/PostgresBranch.ts +97 -0
  494. package/src/Planetscale/Postgres/PostgresClusterSize.ts +125 -0
  495. package/src/Planetscale/Postgres/PostgresDatabase.ts +404 -0
  496. package/src/Planetscale/Postgres/PostgresDefaultRole.ts +270 -0
  497. package/src/Planetscale/Postgres/PostgresMigrations.ts +256 -0
  498. package/src/Planetscale/Postgres/PostgresOrigin.ts +15 -0
  499. package/src/Planetscale/Postgres/PostgresRole.ts +469 -0
  500. package/src/Planetscale/Postgres/index.ts +6 -0
  501. package/src/Planetscale/Providers.ts +80 -0
  502. package/src/Planetscale/Util.ts +160 -0
  503. package/src/Planetscale/index.ts +18 -0
  504. package/src/Platform.ts +13 -1
  505. package/src/RuntimeContext.ts +7 -8
  506. package/src/{Neon → Sql}/SqlFile.ts +22 -0
  507. package/src/Sql/index.ts +1 -0
  508. package/lib/Cloudflare/D1/D1SqlFile.d.ts +0 -20
  509. package/lib/Cloudflare/D1/D1SqlFile.d.ts.map +0 -1
  510. package/lib/Cloudflare/D1/D1SqlFile.js +0 -46
  511. package/lib/Cloudflare/D1/D1SqlFile.js.map +0 -1
  512. package/lib/Neon/SqlFile.d.ts.map +0 -1
  513. package/lib/Neon/SqlFile.js.map +0 -1
  514. package/src/Cloudflare/D1/D1SqlFile.ts +0 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLMigrations.js","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/MySQLMigrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as Redacted from "effect/Redacted";
2
+ /**
3
+ * The shape `Cloudflare.Hyperdrive` and other MySQL consumers accept as an
4
+ * origin. Materialized on `Planetscale.MySQLPassword` so callers can wire
5
+ * password credentials into Hyperdrive directly.
6
+ */
7
+ export type MySQLOrigin = {
8
+ scheme: "mysql";
9
+ host: string;
10
+ port: number;
11
+ database: string;
12
+ user: string;
13
+ password: Redacted.Redacted<string>;
14
+ };
15
+ //# sourceMappingURL=MySQLOrigin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLOrigin.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/MySQLOrigin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as Redacted from "effect/Redacted";
2
+ //# sourceMappingURL=MySQLOrigin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLOrigin.js","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/MySQLOrigin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { Credentials } from "@distilled.cloud/planetscale/Credentials";
2
+ import * as Redacted from "effect/Redacted";
3
+ import * as Provider from "../../Provider.ts";
4
+ import { Resource } from "../../Resource.ts";
5
+ import type { Providers } from "../Providers.ts";
6
+ import type { MySQLBranch } from "./MySQLBranch.ts";
7
+ import type { MySQLDatabase } from "./MySQLDatabase.ts";
8
+ import type { MySQLOrigin } from "./MySQLOrigin.ts";
9
+ /**
10
+ * Properties for creating or updating a PlanetScale MySQL password.
11
+ *
12
+ * Passwords are only meant for MySQL databases. For PostgreSQL,
13
+ * use {@link PostgresRole} instead.
14
+ */
15
+ export interface MySQLPasswordProps {
16
+ /**
17
+ * Password name. If omitted, a unique name is generated from
18
+ * `${app}-${stage}-${id}`.
19
+ */
20
+ name?: string;
21
+ /**
22
+ * MySQL database — string name or {@link MySQLDatabase} resource.
23
+ */
24
+ database: string | MySQLDatabase;
25
+ /**
26
+ * Branch — string name or {@link MySQLBranch} resource.
27
+ * @default "main"
28
+ */
29
+ branch?: string | MySQLBranch;
30
+ /**
31
+ * The MySQL role granted to the password.
32
+ */
33
+ role: "reader" | "writer" | "admin" | "readwriter";
34
+ /**
35
+ * Whether the password is for a read replica.
36
+ */
37
+ replica?: boolean;
38
+ /**
39
+ * Time to live (seconds). The password is invalidated after this period.
40
+ */
41
+ ttl?: number;
42
+ /**
43
+ * IP CIDR ranges allowed to use this password.
44
+ */
45
+ cidrs?: string[];
46
+ }
47
+ /**
48
+ * Output attributes of a deployed PlanetScale password.
49
+ */
50
+ export interface MySQLPasswordAttributes {
51
+ /** Unique identifier for the password (stable). */
52
+ id: string;
53
+ /** Password name. If omitted, a unique name is generated from `${app}-${stage}-${id}`. */
54
+ name: string;
55
+ /** ISO 8601 timestamp at which the password expires. `null` if no TTL. */
56
+ expiresAt: string | null;
57
+ /** Hostname for the database connection. */
58
+ host: string;
59
+ /** Username for database authentication. */
60
+ username: string;
61
+ /** Password for database authentication (Redacted). */
62
+ password: Redacted.Redacted<string>;
63
+ /** Parsed connection components ready to feed into Cloudflare Hyperdrive. */
64
+ origin: MySQLOrigin;
65
+ /** Resolved organization slug. */
66
+ organization: string;
67
+ /** Resolved database name. */
68
+ database: string;
69
+ /** Resolved branch name. */
70
+ branch: string;
71
+ /** The role granted. */
72
+ role: "reader" | "writer" | "admin" | "readwriter";
73
+ /** Whether this password is for a read replica. */
74
+ replica: boolean | undefined;
75
+ /** TTL in seconds (if set). */
76
+ ttl: number | undefined;
77
+ /** IP CIDR ranges allowed to use this password. */
78
+ cidrs: readonly string[] | undefined;
79
+ }
80
+ /**
81
+ * A PlanetScale password for accessing a MySQL database branch.
82
+ *
83
+ * For PostgreSQL databases, use {@link PostgresRole} instead.
84
+ *
85
+ * @section Creating a Password
86
+ * @example Reader password
87
+ * ```typescript
88
+ * const reader = yield* Planetscale.MySQLPassword("AppReader", {
89
+ * database: "my-db",
90
+ * role: "reader",
91
+ * });
92
+ * ```
93
+ *
94
+ * @example Writer password with TTL
95
+ * ```typescript
96
+ * const writer = yield* Planetscale.MySQLPassword("AppWriter", {
97
+ * database: "my-db",
98
+ * role: "writer",
99
+ * ttl: 86400,
100
+ * });
101
+ * ```
102
+ *
103
+ * @example Admin password with IP allowlist
104
+ * ```typescript
105
+ * const admin = yield* Planetscale.MySQLPassword("Admin", {
106
+ * database: "my-db",
107
+ * role: "admin",
108
+ * cidrs: ["203.0.113.0/24", "198.51.100.0/24"],
109
+ * });
110
+ * ```
111
+ */
112
+ export type MySQLPassword = Resource<"Planetscale.MySQLPassword", MySQLPasswordProps, MySQLPasswordAttributes, never, Providers>;
113
+ export declare const MySQLPassword: import("../../Resource.ts").ResourceClass<MySQLPassword>;
114
+ export declare const MySQLPasswordProvider: () => import("effect/Layer").Layer<Provider.Provider<MySQLPassword>, never, import("../../Stage.ts").Stage | import("../../Stack.ts").Stack | Credentials>;
115
+ //# sourceMappingURL=MySQLPassword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLPassword.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/MySQLPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAGvE,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;IAEjC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAE9B;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IAEnD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,6EAA6E;IAC7E,MAAM,EAAE,WAAW,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACnD,mDAAmD;IACnD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,mDAAmD;IACnD,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,EACL,SAAS,CACV,CAAC;AAEF,eAAO,MAAM,aAAa,0DAEzB,CAAC;AAuFF,eAAO,MAAM,qBAAqB,4JAqK/B,CAAC"}
@@ -0,0 +1,197 @@
1
+ import { Credentials } from "@distilled.cloud/planetscale/Credentials";
2
+ import * as ops from "@distilled.cloud/planetscale/Operations";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Redacted from "effect/Redacted";
5
+ import { deepEqual, isResolved } from "../../Diff.js";
6
+ import { createPhysicalName } from "../../PhysicalName.js";
7
+ import * as Provider from "../../Provider.js";
8
+ import { Resource } from "../../Resource.js";
9
+ export const MySQLPassword = Resource("Planetscale.MySQLPassword");
10
+ const resolveDatabaseName = (database) => {
11
+ const ref = database;
12
+ return typeof ref === "string" ? ref : ref.name;
13
+ };
14
+ const resolveDatabaseOrg = (database) => {
15
+ const ref = database;
16
+ return typeof ref === "string" ? undefined : ref.organization;
17
+ };
18
+ const resolveBranchName = (branch) => {
19
+ const ref = branch;
20
+ return !ref ? "main" : typeof ref === "string" ? ref : ref.name;
21
+ };
22
+ const createPasswordName = (id, name) => Effect.gen(function* () {
23
+ return (name ??
24
+ (yield* createPhysicalName({ id, lowercase: true, maxLength: 63 })));
25
+ });
26
+ // Normalize the API's nullable `cidrs` field into the `string[] | undefined`
27
+ // shape we persist so downstream comparisons line up regardless of the
28
+ // API returning `null` vs `[]` vs an actual list.
29
+ const normalizeCidrs = (cidrs) => cidrs == null || cidrs.length === 0 ? undefined : cidrs;
30
+ const buildAttributes = (password, plaintext, context) => ({
31
+ id: password.id,
32
+ name: password.name,
33
+ expiresAt: password.expires_at,
34
+ host: password.access_host_url,
35
+ username: password.username,
36
+ password: plaintext,
37
+ origin: {
38
+ scheme: "mysql",
39
+ host: password.access_host_url,
40
+ port: 3306,
41
+ database: context.database,
42
+ user: password.username,
43
+ password: plaintext,
44
+ },
45
+ organization: context.organization,
46
+ database: context.database,
47
+ branch: context.branch,
48
+ role: password.role,
49
+ replica: password.replica,
50
+ ttl: password.ttl_seconds ?? undefined,
51
+ cidrs: normalizeCidrs(password.cidrs),
52
+ });
53
+ export const MySQLPasswordProvider = () => Provider.effect(MySQLPassword, Effect.gen(function* () {
54
+ const createPwd = yield* ops.createPassword;
55
+ const getPwd = yield* ops.getPassword;
56
+ const updatePwd = yield* ops.updatePassword;
57
+ const deletePwd = yield* ops.deletePassword;
58
+ return {
59
+ stables: ["id"],
60
+ diff: Effect.fn(function* ({ olds = {}, news }) {
61
+ if (!isResolved(news))
62
+ return undefined;
63
+ // Replace on any immutable-in-place change; engine falls through
64
+ // to reconcile for everything else (which authoritatively diffs
65
+ // against observed cloud state).
66
+ if (news.role !== olds.role)
67
+ return { action: "replace" };
68
+ if (news.replica !== olds.replica) {
69
+ return { action: "replace" };
70
+ }
71
+ if (news.ttl !== olds.ttl)
72
+ return { action: "replace" };
73
+ const newDb = resolveDatabaseName(news.database);
74
+ const oldDb = olds.database
75
+ ? resolveDatabaseName(olds.database)
76
+ : undefined;
77
+ if (oldDb && newDb !== oldDb) {
78
+ return { action: "replace" };
79
+ }
80
+ const newBranch = resolveBranchName(news.branch);
81
+ const oldBranch = resolveBranchName(olds.branch);
82
+ if (newBranch !== oldBranch) {
83
+ return { action: "replace" };
84
+ }
85
+ return undefined;
86
+ }),
87
+ read: Effect.fn(function* ({ output }) {
88
+ // Adoption (no cached output) is impossible: the PlanetScale API
89
+ // never re-issues plaintext, so even if we found a matching live
90
+ // password by listing+name we couldn't deliver the `password`
91
+ // attribute. Fall through to greenfield create in `reconcile`.
92
+ if (!output)
93
+ return undefined;
94
+ // Refresh — verify the cached password still exists and
95
+ // re-emit the persisted output (with plaintext intact).
96
+ // If it's gone, return undefined so the engine routes to
97
+ // reconcile, which will surface the unrecoverable-rotation
98
+ // condition explicitly.
99
+ return yield* getPwd({
100
+ organization: output.organization,
101
+ database: output.database,
102
+ branch: output.branch,
103
+ id: output.id,
104
+ }).pipe(Effect.map((password) => buildAttributes(password, output.password, {
105
+ organization: output.organization,
106
+ database: output.database,
107
+ branch: output.branch,
108
+ })), Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
109
+ }),
110
+ reconcile: Effect.fn(function* ({ id, news, output }) {
111
+ const newName = yield* createPasswordName(id, news.name);
112
+ // Identifiers — stable across update (diff replaces on
113
+ // database/branch changes), so we can pull from `output` first
114
+ // and fall back to `news` for greenfield.
115
+ const { organization: envOrg } = yield* Credentials;
116
+ const organization = output?.organization ?? resolveDatabaseOrg(news.database) ?? envOrg;
117
+ const databaseName = output?.database ?? resolveDatabaseName(news.database);
118
+ const branchName = output?.branch ?? resolveBranchName(news.branch);
119
+ // 1. Observe — read live state. The PlanetScale API has no
120
+ // "lookup by name" path (names aren't unique within a branch)
121
+ // so the only way to find the live password is by id. Without
122
+ // a cached output we cannot observe and fall straight through
123
+ // to ensure (greenfield create).
124
+ const observed = output
125
+ ? yield* getPwd({
126
+ organization,
127
+ database: databaseName,
128
+ branch: branchName,
129
+ id: output.id,
130
+ }).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)))
131
+ : undefined;
132
+ // 2. Ensure — create the password if it doesn't exist live.
133
+ // This single branch covers greenfield (no output) AND the
134
+ // out-of-band-deletion case (output cached but cloud lost it).
135
+ // The latter is structurally a rotation: the new password
136
+ // has a fresh id/host/username/plaintext that propagate
137
+ // downstream through the dependency graph. There is no path
138
+ // to recover the original plaintext, so recreating is the
139
+ // only way to converge.
140
+ let live;
141
+ let plaintext;
142
+ if (observed) {
143
+ live = observed;
144
+ // We re-use the cached plaintext: the API never re-issues it.
145
+ plaintext = output.password;
146
+ }
147
+ else {
148
+ const created = yield* createPwd({
149
+ organization,
150
+ database: databaseName,
151
+ branch: branchName,
152
+ name: newName,
153
+ role: news.role,
154
+ replica: news.replica,
155
+ ttl: news.ttl,
156
+ cidrs: news.cidrs,
157
+ });
158
+ plaintext = created.plain_text;
159
+ live = created;
160
+ }
161
+ // 3. Sync — diff observed cloud state against desired and patch
162
+ // only what changed. Only `name` and `cidrs` are mutable in
163
+ // place; everything else triggers a replace via diff().
164
+ // Skip the API entirely when there's no delta.
165
+ const wantsRename = newName !== live.name;
166
+ const observedCidrs = normalizeCidrs(live.cidrs);
167
+ const desiredCidrs = normalizeCidrs(news.cidrs);
168
+ const wantsCidrs = !deepEqual(desiredCidrs, observedCidrs);
169
+ if (wantsRename || wantsCidrs) {
170
+ live = yield* updatePwd({
171
+ organization,
172
+ database: databaseName,
173
+ branch: branchName,
174
+ id: live.id,
175
+ name: wantsRename ? newName : undefined,
176
+ cidrs: wantsCidrs ? news.cidrs : undefined,
177
+ });
178
+ }
179
+ // 4. Return — fresh attrs sourced from observed cloud state,
180
+ // re-using cached plaintext when we didn't just create.
181
+ return buildAttributes(live, plaintext, {
182
+ organization,
183
+ database: databaseName,
184
+ branch: branchName,
185
+ });
186
+ }),
187
+ delete: Effect.fn(function* ({ output }) {
188
+ yield* deletePwd({
189
+ organization: output.organization,
190
+ database: output.database,
191
+ branch: output.branch,
192
+ id: output.id,
193
+ }).pipe(Effect.catchTag("NotFound", () => Effect.void));
194
+ }),
195
+ };
196
+ }));
197
+ //# sourceMappingURL=MySQLPassword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLPassword.js","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/MySQLPassword.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./MySQLClusterSize.ts";
2
+ export * from "./MySQLBranch.ts";
3
+ export * from "./MySQLDatabase.ts";
4
+ export * from "./MySQLOrigin.ts";
5
+ export * from "./MySQLPassword.ts";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./MySQLClusterSize.js";
2
+ export * from "./MySQLBranch.js";
3
+ export * from "./MySQLDatabase.js";
4
+ export * from "./MySQLOrigin.js";
5
+ export * from "./MySQLPassword.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Planetscale/MySQL/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { Resource } from "../../Resource.ts";
2
+ import { type BaseBranchAttributes, type BaseBranchProps } from "../Branch.ts";
3
+ import type { Providers } from "../Providers.ts";
4
+ import type { PostgresClusterSize } from "./PostgresClusterSize.ts";
5
+ import type { PostgresDatabase } from "./PostgresDatabase.ts";
6
+ /**
7
+ * Properties for creating or updating a {@link PostgresBranch}.
8
+ */
9
+ export interface PostgresBranchProps extends BaseBranchProps {
10
+ /**
11
+ * The Postgres database. Either a string database name or a
12
+ * {@link PostgresDatabase} resource.
13
+ */
14
+ database: string | PostgresDatabase;
15
+ /**
16
+ * PostgreSQL cluster size for the branch. Required if `backupId` is provided.
17
+ * Short sizes are expanded using the target branch region.
18
+ */
19
+ clusterSize?: PostgresClusterSize;
20
+ /**
21
+ * Parent branch — either a string name or another {@link PostgresBranch}.
22
+ * @default "main"
23
+ */
24
+ parentBranch?: string | PostgresBranch;
25
+ }
26
+ /**
27
+ * Output attributes of a deployed {@link PostgresBranch}.
28
+ */
29
+ export interface PostgresBranchAttributes extends BaseBranchAttributes {
30
+ }
31
+ /**
32
+ * A PlanetScale branch of a {@link PostgresDatabase}. For MySQL branches
33
+ * use {@link MySQLBranch} instead.
34
+ *
35
+ * @section Creating a Branch
36
+ * @example Branch from main
37
+ * ```typescript
38
+ * const branch = yield* Planetscale.PostgresBranch("Feature123", {
39
+ * database: "my-db",
40
+ * parentBranch: "main",
41
+ * });
42
+ * ```
43
+ *
44
+ * @example Branch from a PostgresDatabase resource
45
+ * ```typescript
46
+ * const db = yield* Planetscale.PostgresDatabase("MyDb", { clusterSize: "PS_10" });
47
+ * const branch = yield* Planetscale.PostgresBranch("Feature456", {
48
+ * database: db,
49
+ * parentBranch: "main",
50
+ * });
51
+ * ```
52
+ *
53
+ * @section Migrations and seed data
54
+ * @example Apply migrations on a branch
55
+ * ```typescript
56
+ * const branch = yield* Planetscale.PostgresBranch("Feature123", {
57
+ * database: db,
58
+ * parentBranch: "main",
59
+ * migrationsDir: "./migrations",
60
+ * importFiles: ["./seed.sql"],
61
+ * });
62
+ * ```
63
+ */
64
+ export type PostgresBranch = Resource<"Planetscale.PostgresBranch", PostgresBranchProps, PostgresBranchAttributes, never, Providers>;
65
+ export declare const PostgresBranch: import("../../Resource.ts").ResourceClass<PostgresBranch>;
66
+ export declare const PostgresBranchProvider: () => import("effect/Layer").Layer<import("../../Provider.ts").Provider<PostgresBranch>, never, import("@distilled.cloud/planetscale/Credentials").Credentials>;
67
+ //# sourceMappingURL=PostgresBranch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresBranch.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;CAAG;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,EACL,SAAS,CACV,CAAC;AAEF,eAAO,MAAM,cAAc,2DAE1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,iKAS/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Resource } from "../../Resource.js";
2
+ import { makeBranchProvider, } from "../Branch.js";
3
+ import { runPostgresImports, runPostgresMigrations, } from "./PostgresMigrations.js";
4
+ export const PostgresBranch = Resource("Planetscale.PostgresBranch");
5
+ export const PostgresBranchProvider = () => makeBranchProvider({
6
+ resource: PostgresBranch,
7
+ expectedKind: "postgresql",
8
+ engineLabel: "PostgresBranch",
9
+ runners: {
10
+ runMigrations: runPostgresMigrations,
11
+ runImports: runPostgresImports,
12
+ },
13
+ });
14
+ //# sourceMappingURL=PostgresBranch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresBranch.js","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresBranch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAGL,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAuEjC,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CACpC,4BAA4B,CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,kBAAkB,CAAC;IACjB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE;QACP,aAAa,EAAE,qBAAqB;QACpC,UAAU,EAAE,kBAAkB;KAC/B;CACF,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import * as Effect from "effect/Effect";
2
+ /**
3
+ * Available PlanetScale PostgreSQL cluster sizes.
4
+ *
5
+ * `PS_*` sizes are backed by network-attached storage (NAS) and can be
6
+ * specified either as the short size (`"PS_10"`) or the API SKU
7
+ * (`"PS_10_AWS_X86"`). Short NAS sizes are expanded to a SKU by
8
+ * {@link toPostgresClusterSku} using the target region and arch.
9
+ *
10
+ * @see https://planetscale.com/docs/postgres/pricing
11
+ */
12
+ export type PostgresClusterSize = "PS_DEV" | "PS_5" | "PS_10" | "PS_20" | "PS_40" | "PS_80" | "PS_160" | "PS_320" | "PS_640" | "PS_1280" | "PS_2560" | (string & {});
13
+ /**
14
+ * Converts a {@link PostgresClusterSize} into the SKU string expected by
15
+ * the PlanetScale API.
16
+ *
17
+ * For NAS-backed clusters, the API expects a suffixed name like
18
+ * `PS_<size>_<provider>_<arch>`. Short `PS_*` sizes are expanded using the
19
+ * supplied region and arch.
20
+ *
21
+ * Metal-backed sizes (anything starting with `M`) are passed through
22
+ * unchanged. The short `M_*` form is not a valid SKU on its own — the API
23
+ * requires the full Metal SKU (e.g. `M6_640_AWS_INTEL_D_METAL_474`), which
24
+ * encodes the CPU series, provider, arch, and storage size
25
+ *
26
+ * Already-suffixed NAS sizes are also passed through unchanged.
27
+ */
28
+ export declare function toPostgresClusterSku(input: {
29
+ size: PostgresClusterSize;
30
+ arch?: "x86" | "arm";
31
+ region?: string;
32
+ }): string;
33
+ /**
34
+ * Polls branch change requests until all visible changes are in a terminal
35
+ * state (`completed` or `canceled`), or — if `changeId` is provided — until
36
+ * that specific change reaches a terminal state.
37
+ */
38
+ export declare const waitForPendingPostgresChanges: (organization: string, database: string, branch: string, changeId?: string | undefined) => Effect.Effect<void, import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden, import("@distilled.cloud/planetscale/Credentials").Credentials>;
39
+ /**
40
+ * Ensures a PostgreSQL production branch has the expected cluster size,
41
+ * queuing the change via the change-request API if it doesn't.
42
+ */
43
+ export declare const ensurePostgresProductionBranchClusterSize: (organization: string, database: string, branch: string, expectedClusterSize: PostgresClusterSize) => Effect.Effect<void, import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden, import("@distilled.cloud/planetscale/Credentials").Credentials>;
44
+ //# sourceMappingURL=PostgresClusterSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresClusterSize.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresClusterSize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAOT;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,wQA2BxC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yCAAyC,mRA8BpD,CAAC"}
@@ -0,0 +1,72 @@
1
+ import * as ops from "@distilled.cloud/planetscale/Operations";
2
+ import * as Effect from "effect/Effect";
3
+ import { pollUntil } from "../Util.js";
4
+ /**
5
+ * Converts a {@link PostgresClusterSize} into the SKU string expected by
6
+ * the PlanetScale API.
7
+ *
8
+ * For NAS-backed clusters, the API expects a suffixed name like
9
+ * `PS_<size>_<provider>_<arch>`. Short `PS_*` sizes are expanded using the
10
+ * supplied region and arch.
11
+ *
12
+ * Metal-backed sizes (anything starting with `M`) are passed through
13
+ * unchanged. The short `M_*` form is not a valid SKU on its own — the API
14
+ * requires the full Metal SKU (e.g. `M6_640_AWS_INTEL_D_METAL_474`), which
15
+ * encodes the CPU series, provider, arch, and storage size
16
+ *
17
+ * Already-suffixed NAS sizes are also passed through unchanged.
18
+ */
19
+ export function toPostgresClusterSku(input) {
20
+ const size = input.size;
21
+ if (!size.startsWith("PS_") || size.match(/(AWS|GCP)/))
22
+ return size;
23
+ // Not all AWS regions start with "aws-", but all GCP regions start with "gcp-".
24
+ const provider = input.region?.startsWith("gcp") ? "GCP" : "AWS";
25
+ const arch = (input.arch ?? "x86").toUpperCase();
26
+ return `${size}_${provider}_${arch}`;
27
+ }
28
+ /**
29
+ * Polls branch change requests until all visible changes are in a terminal
30
+ * state (`completed` or `canceled`), or — if `changeId` is provided — until
31
+ * that specific change reaches a terminal state.
32
+ */
33
+ export const waitForPendingPostgresChanges = Effect.fn(function* (organization, database, branch, changeId) {
34
+ yield* pollUntil(`changes for branch "${branch}"`, ops.listBranchChangeRequests({
35
+ organization,
36
+ database,
37
+ branch,
38
+ page: 1,
39
+ per_page: 25,
40
+ }), (page) => {
41
+ const isTerminal = (state) => state === "completed" || state === "canceled";
42
+ if (changeId) {
43
+ const change = page.data.find((change) => change.id === changeId);
44
+ return change ? isTerminal(change.state) : false;
45
+ }
46
+ return page.data.every((change) => isTerminal(change.state));
47
+ });
48
+ });
49
+ /**
50
+ * Ensures a PostgreSQL production branch has the expected cluster size,
51
+ * queuing the change via the change-request API if it doesn't.
52
+ */
53
+ export const ensurePostgresProductionBranchClusterSize = Effect.fn(function* (organization, database, branch, expectedClusterSize) {
54
+ const data = yield* ops.getBranch({ organization, database, branch });
55
+ const sku = toPostgresClusterSku({
56
+ size: expectedClusterSize,
57
+ arch: data.cluster_architecture === "aarch64" ? "arm" : "x86",
58
+ region: data.region.slug,
59
+ });
60
+ if (data.cluster_name === sku) {
61
+ return;
62
+ }
63
+ yield* waitForPendingPostgresChanges(organization, database, branch);
64
+ const change = yield* ops.updateBranchChangeRequest({
65
+ organization,
66
+ database,
67
+ branch,
68
+ cluster_size: sku,
69
+ });
70
+ yield* waitForPendingPostgresChanges(organization, database, branch, change.id);
71
+ });
72
+ //# sourceMappingURL=PostgresClusterSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresClusterSize.js","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresClusterSize.ts"],"names":[],"mappings":"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"}