alchemy 2.0.0-beta.52 → 2.0.0-beta.53

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 (804) hide show
  1. package/bin/exec.js +8 -8
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/ACM/Certificate.d.ts +1 -1
  4. package/lib/AWS/ApiGateway/Account.d.ts +1 -1
  5. package/lib/AWS/ApiGateway/ApiKey.d.ts +2 -2
  6. package/lib/AWS/ApiGateway/ApiKey.d.ts.map +1 -1
  7. package/lib/AWS/ApiGateway/ApiKey.js +3 -3
  8. package/lib/AWS/ApiGateway/ApiKey.js.map +1 -1
  9. package/lib/AWS/ApiGateway/Authorizer.d.ts +1 -1
  10. package/lib/AWS/ApiGateway/BasePathMapping.d.ts +1 -1
  11. package/lib/AWS/ApiGateway/Deployment.d.ts +1 -1
  12. package/lib/AWS/ApiGateway/DomainName.d.ts +1 -1
  13. package/lib/AWS/ApiGateway/GatewayResource.d.ts +1 -1
  14. package/lib/AWS/ApiGateway/GatewayResponse.d.ts +1 -1
  15. package/lib/AWS/ApiGateway/Method.d.ts +1 -1
  16. package/lib/AWS/ApiGateway/RestApi.d.ts +2 -2
  17. package/lib/AWS/ApiGateway/RestApi.d.ts.map +1 -1
  18. package/lib/AWS/ApiGateway/RestApi.js +4 -4
  19. package/lib/AWS/ApiGateway/RestApi.js.map +1 -1
  20. package/lib/AWS/ApiGateway/Stage.d.ts +2 -2
  21. package/lib/AWS/ApiGateway/Stage.d.ts.map +1 -1
  22. package/lib/AWS/ApiGateway/Stage.js +3 -3
  23. package/lib/AWS/ApiGateway/Stage.js.map +1 -1
  24. package/lib/AWS/ApiGateway/UsagePlan.d.ts +2 -2
  25. package/lib/AWS/ApiGateway/UsagePlan.d.ts.map +1 -1
  26. package/lib/AWS/ApiGateway/UsagePlan.js +3 -3
  27. package/lib/AWS/ApiGateway/UsagePlan.js.map +1 -1
  28. package/lib/AWS/ApiGateway/UsagePlanKey.d.ts +1 -1
  29. package/lib/AWS/ApiGateway/VpcLink.d.ts +2 -2
  30. package/lib/AWS/ApiGateway/VpcLink.d.ts.map +1 -1
  31. package/lib/AWS/ApiGateway/VpcLink.js +3 -3
  32. package/lib/AWS/ApiGateway/VpcLink.js.map +1 -1
  33. package/lib/AWS/ApiGateway/common.d.ts +1 -1
  34. package/lib/AWS/Assets.d.ts +21 -12
  35. package/lib/AWS/Assets.d.ts.map +1 -1
  36. package/lib/AWS/Assets.js +95 -70
  37. package/lib/AWS/Assets.js.map +1 -1
  38. package/lib/AWS/AuthProvider.d.ts +12 -6
  39. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  40. package/lib/AWS/AuthProvider.js +120 -75
  41. package/lib/AWS/AuthProvider.js.map +1 -1
  42. package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts +1 -1
  43. package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +1 -2
  44. package/lib/AWS/AutoScaling/LaunchTemplate.d.ts.map +1 -1
  45. package/lib/AWS/AutoScaling/LaunchTemplate.js +21 -27
  46. package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
  47. package/lib/AWS/AutoScaling/ScalingPolicy.d.ts +1 -1
  48. package/lib/AWS/Bootstrap.d.ts +2 -14
  49. package/lib/AWS/Bootstrap.d.ts.map +1 -1
  50. package/lib/AWS/Bootstrap.js +46 -133
  51. package/lib/AWS/Bootstrap.js.map +1 -1
  52. package/lib/AWS/CloudFront/CachePolicy.d.ts +1 -1
  53. package/lib/AWS/CloudFront/Distribution.d.ts +1 -1
  54. package/lib/AWS/CloudFront/Function.d.ts +1 -1
  55. package/lib/AWS/CloudFront/Invalidation.d.ts +1 -1
  56. package/lib/AWS/CloudFront/KeyGroup.d.ts +1 -1
  57. package/lib/AWS/CloudFront/KeyValueStore.d.ts +1 -1
  58. package/lib/AWS/CloudFront/OriginAccessControl.d.ts +1 -1
  59. package/lib/AWS/CloudFront/OriginRequestPolicy.d.ts +1 -1
  60. package/lib/AWS/CloudFront/PublicKey.d.ts +1 -1
  61. package/lib/AWS/CloudFront/ResponseHeadersPolicy.d.ts +1 -1
  62. package/lib/AWS/CloudFront/common.d.ts +1 -1
  63. package/lib/AWS/CloudWatch/Alarm.d.ts +2 -3
  64. package/lib/AWS/CloudWatch/Alarm.d.ts.map +1 -1
  65. package/lib/AWS/CloudWatch/Alarm.js +3 -6
  66. package/lib/AWS/CloudWatch/Alarm.js.map +1 -1
  67. package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts +2 -3
  68. package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts.map +1 -1
  69. package/lib/AWS/CloudWatch/AlarmMuteRule.js +2 -5
  70. package/lib/AWS/CloudWatch/AlarmMuteRule.js.map +1 -1
  71. package/lib/AWS/CloudWatch/AnomalyDetector.d.ts +1 -1
  72. package/lib/AWS/CloudWatch/CompositeAlarm.d.ts +2 -3
  73. package/lib/AWS/CloudWatch/CompositeAlarm.d.ts.map +1 -1
  74. package/lib/AWS/CloudWatch/CompositeAlarm.js +3 -6
  75. package/lib/AWS/CloudWatch/CompositeAlarm.js.map +1 -1
  76. package/lib/AWS/CloudWatch/Dashboard.d.ts +2 -2
  77. package/lib/AWS/CloudWatch/Dashboard.d.ts.map +1 -1
  78. package/lib/AWS/CloudWatch/Dashboard.js +3 -4
  79. package/lib/AWS/CloudWatch/Dashboard.js.map +1 -1
  80. package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts +1 -1
  81. package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts +1 -1
  82. package/lib/AWS/CloudWatch/DescribeAlarms.d.ts +1 -1
  83. package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts +1 -1
  84. package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts +1 -1
  85. package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts +1 -1
  86. package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts +1 -1
  87. package/lib/AWS/CloudWatch/DisableInsightRules.d.ts +1 -1
  88. package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts +1 -1
  89. package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts +1 -1
  90. package/lib/AWS/CloudWatch/GetDashboard.d.ts +1 -1
  91. package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts +1 -1
  92. package/lib/AWS/CloudWatch/GetMetricData.d.ts +1 -1
  93. package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts +1 -1
  94. package/lib/AWS/CloudWatch/GetMetricStream.d.ts +1 -1
  95. package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts +1 -1
  96. package/lib/AWS/CloudWatch/InsightRule.d.ts +2 -3
  97. package/lib/AWS/CloudWatch/InsightRule.d.ts.map +1 -1
  98. package/lib/AWS/CloudWatch/InsightRule.js +4 -7
  99. package/lib/AWS/CloudWatch/InsightRule.js.map +1 -1
  100. package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts +1 -1
  101. package/lib/AWS/CloudWatch/ListDashboards.d.ts +1 -1
  102. package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts +1 -1
  103. package/lib/AWS/CloudWatch/ListMetricStreams.d.ts +1 -1
  104. package/lib/AWS/CloudWatch/ListMetrics.d.ts +1 -1
  105. package/lib/AWS/CloudWatch/ListTagsForResource.d.ts +1 -1
  106. package/lib/AWS/CloudWatch/MetricStream.d.ts +2 -3
  107. package/lib/AWS/CloudWatch/MetricStream.d.ts.map +1 -1
  108. package/lib/AWS/CloudWatch/MetricStream.js +3 -6
  109. package/lib/AWS/CloudWatch/MetricStream.js.map +1 -1
  110. package/lib/AWS/CloudWatch/PutMetricData.d.ts +1 -1
  111. package/lib/AWS/CloudWatch/SetAlarmState.d.ts +1 -1
  112. package/lib/AWS/CloudWatch/common.d.ts +2 -2
  113. package/lib/AWS/Credentials.d.ts.map +1 -1
  114. package/lib/AWS/Credentials.js +4 -1
  115. package/lib/AWS/Credentials.js.map +1 -1
  116. package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts +1 -1
  117. package/lib/AWS/DynamoDB/BatchGetItem.d.ts +1 -1
  118. package/lib/AWS/DynamoDB/BatchWriteItem.d.ts +1 -1
  119. package/lib/AWS/DynamoDB/DeleteItem.d.ts +1 -1
  120. package/lib/AWS/DynamoDB/DescribeTable.d.ts +1 -1
  121. package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts +1 -1
  122. package/lib/AWS/DynamoDB/ExecuteStatement.d.ts +1 -1
  123. package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts +1 -1
  124. package/lib/AWS/DynamoDB/GetItem.d.ts +1 -1
  125. package/lib/AWS/DynamoDB/ListTables.d.ts +1 -1
  126. package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts +1 -1
  127. package/lib/AWS/DynamoDB/PutItem.d.ts +1 -1
  128. package/lib/AWS/DynamoDB/Query.d.ts +1 -1
  129. package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts +1 -1
  130. package/lib/AWS/DynamoDB/Scan.d.ts +1 -1
  131. package/lib/AWS/DynamoDB/Table.d.ts +1 -1
  132. package/lib/AWS/DynamoDB/TransactGetItems.d.ts +1 -1
  133. package/lib/AWS/DynamoDB/TransactWriteItems.d.ts +1 -1
  134. package/lib/AWS/DynamoDB/UpdateItem.d.ts +1 -1
  135. package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts +1 -1
  136. package/lib/AWS/EC2/EIP.d.ts +2 -3
  137. package/lib/AWS/EC2/EIP.d.ts.map +1 -1
  138. package/lib/AWS/EC2/EIP.js +2 -3
  139. package/lib/AWS/EC2/EIP.js.map +1 -1
  140. package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts +2 -3
  141. package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
  142. package/lib/AWS/EC2/EgressOnlyInternetGateway.js +5 -8
  143. package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
  144. package/lib/AWS/EC2/Image.d.ts +6 -6
  145. package/lib/AWS/EC2/Instance.d.ts +2 -2
  146. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  147. package/lib/AWS/EC2/Instance.js +30 -36
  148. package/lib/AWS/EC2/Instance.js.map +1 -1
  149. package/lib/AWS/EC2/InternetGateway.d.ts +2 -4
  150. package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
  151. package/lib/AWS/EC2/InternetGateway.js +2 -4
  152. package/lib/AWS/EC2/InternetGateway.js.map +1 -1
  153. package/lib/AWS/EC2/NatGateway.d.ts +2 -3
  154. package/lib/AWS/EC2/NatGateway.d.ts.map +1 -1
  155. package/lib/AWS/EC2/NatGateway.js +6 -8
  156. package/lib/AWS/EC2/NatGateway.js.map +1 -1
  157. package/lib/AWS/EC2/Network.d.ts +2 -2
  158. package/lib/AWS/EC2/Network.d.ts.map +1 -1
  159. package/lib/AWS/EC2/Network.js +2 -2
  160. package/lib/AWS/EC2/Network.js.map +1 -1
  161. package/lib/AWS/EC2/NetworkAcl.d.ts +2 -3
  162. package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
  163. package/lib/AWS/EC2/NetworkAcl.js +36 -36
  164. package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
  165. package/lib/AWS/EC2/NetworkAclAssociation.d.ts +1 -1
  166. package/lib/AWS/EC2/NetworkAclEntry.d.ts +1 -1
  167. package/lib/AWS/EC2/Route.d.ts +1 -1
  168. package/lib/AWS/EC2/RouteTable.d.ts +2 -3
  169. package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
  170. package/lib/AWS/EC2/RouteTable.js +2 -4
  171. package/lib/AWS/EC2/RouteTable.js.map +1 -1
  172. package/lib/AWS/EC2/RouteTableAssociation.d.ts +1 -1
  173. package/lib/AWS/EC2/SecurityGroup.d.ts +2 -3
  174. package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
  175. package/lib/AWS/EC2/SecurityGroup.js +40 -40
  176. package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
  177. package/lib/AWS/EC2/SecurityGroupRule.d.ts +1 -1
  178. package/lib/AWS/EC2/Subnet.d.ts +1 -1
  179. package/lib/AWS/EC2/Vpc.d.ts +2 -3
  180. package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
  181. package/lib/AWS/EC2/Vpc.js +1 -3
  182. package/lib/AWS/EC2/Vpc.js.map +1 -1
  183. package/lib/AWS/EC2/VpcEndpoint.d.ts +1 -2
  184. package/lib/AWS/EC2/VpcEndpoint.d.ts.map +1 -1
  185. package/lib/AWS/EC2/VpcEndpoint.js +44 -43
  186. package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
  187. package/lib/AWS/EC2/hosted.d.ts +3 -6
  188. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  189. package/lib/AWS/EC2/hosted.js +17 -18
  190. package/lib/AWS/EC2/hosted.js.map +1 -1
  191. package/lib/AWS/ECR/Repository.d.ts +1 -1
  192. package/lib/AWS/ECS/CapacityProvider.d.ts +1 -2
  193. package/lib/AWS/ECS/CapacityProvider.d.ts.map +1 -1
  194. package/lib/AWS/ECS/CapacityProvider.js +1 -3
  195. package/lib/AWS/ECS/CapacityProvider.js.map +1 -1
  196. package/lib/AWS/ECS/Cluster.d.ts +2 -3
  197. package/lib/AWS/ECS/Cluster.d.ts.map +1 -1
  198. package/lib/AWS/ECS/Cluster.js +1 -3
  199. package/lib/AWS/ECS/Cluster.js.map +1 -1
  200. package/lib/AWS/ECS/DescribeTasks.d.ts +1 -1
  201. package/lib/AWS/ECS/ListTasks.d.ts +1 -1
  202. package/lib/AWS/ECS/RunTask.d.ts +1 -1
  203. package/lib/AWS/ECS/Service.d.ts +1 -1
  204. package/lib/AWS/ECS/StopTask.d.ts +1 -1
  205. package/lib/AWS/ECS/Task.d.ts +2 -2
  206. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  207. package/lib/AWS/ECS/Task.js +2 -2
  208. package/lib/AWS/ECS/Task.js.map +1 -1
  209. package/lib/AWS/EKS/AccessEntry.d.ts +1 -1
  210. package/lib/AWS/EKS/Addon.d.ts +1 -1
  211. package/lib/AWS/EKS/Cluster.d.ts +1 -1
  212. package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
  213. package/lib/AWS/EKS/PodIdentityAssociation.d.ts +1 -1
  214. package/lib/AWS/ELBv2/Listener.d.ts +1 -1
  215. package/lib/AWS/ELBv2/LoadBalancer.d.ts +1 -1
  216. package/lib/AWS/ELBv2/TargetGroup.d.ts +1 -1
  217. package/lib/AWS/Endpoint.d.ts.map +1 -1
  218. package/lib/AWS/Endpoint.js +5 -2
  219. package/lib/AWS/Endpoint.js.map +1 -1
  220. package/lib/AWS/Environment.d.ts +6 -50
  221. package/lib/AWS/Environment.d.ts.map +1 -1
  222. package/lib/AWS/Environment.js +11 -80
  223. package/lib/AWS/Environment.js.map +1 -1
  224. package/lib/AWS/EventBridge/DescribeEventBus.d.ts +1 -1
  225. package/lib/AWS/EventBridge/DescribeRule.d.ts +1 -1
  226. package/lib/AWS/EventBridge/EventBus.d.ts +2 -3
  227. package/lib/AWS/EventBridge/EventBus.d.ts.map +1 -1
  228. package/lib/AWS/EventBridge/EventBus.js +1 -3
  229. package/lib/AWS/EventBridge/EventBus.js.map +1 -1
  230. package/lib/AWS/EventBridge/ListEventBuses.d.ts +1 -1
  231. package/lib/AWS/EventBridge/ListRules.d.ts +2 -3
  232. package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
  233. package/lib/AWS/EventBridge/ListRules.js +2 -3
  234. package/lib/AWS/EventBridge/ListRules.js.map +1 -1
  235. package/lib/AWS/EventBridge/ListTargetsByRule.d.ts +1 -1
  236. package/lib/AWS/EventBridge/Permission.d.ts +1 -1
  237. package/lib/AWS/EventBridge/PutEvents.d.ts +2 -3
  238. package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
  239. package/lib/AWS/EventBridge/PutEvents.js +2 -3
  240. package/lib/AWS/EventBridge/PutEvents.js.map +1 -1
  241. package/lib/AWS/EventBridge/Rule.d.ts +2 -3
  242. package/lib/AWS/EventBridge/Rule.d.ts.map +1 -1
  243. package/lib/AWS/EventBridge/Rule.js +2 -3
  244. package/lib/AWS/EventBridge/Rule.js.map +1 -1
  245. package/lib/AWS/EventBridge/TestEventPattern.d.ts +1 -1
  246. package/lib/AWS/IAM/AccessKey.d.ts +1 -1
  247. package/lib/AWS/IAM/AccountAlias.d.ts +1 -1
  248. package/lib/AWS/IAM/AccountPasswordPolicy.d.ts +1 -1
  249. package/lib/AWS/IAM/Group.d.ts +1 -1
  250. package/lib/AWS/IAM/GroupMembership.d.ts +1 -1
  251. package/lib/AWS/IAM/InstanceProfile.d.ts +1 -1
  252. package/lib/AWS/IAM/LoginProfile.d.ts +1 -1
  253. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts +1 -1
  254. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
  255. package/lib/AWS/IAM/OpenIDConnectProvider.js +5 -4
  256. package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
  257. package/lib/AWS/IAM/Policy.d.ts +1 -1
  258. package/lib/AWS/IAM/Policy.d.ts.map +1 -1
  259. package/lib/AWS/IAM/Policy.js +1 -1
  260. package/lib/AWS/IAM/Policy.js.map +1 -1
  261. package/lib/AWS/IAM/Role.d.ts +2 -2
  262. package/lib/AWS/IAM/Role.d.ts.map +1 -1
  263. package/lib/AWS/IAM/Role.js +1 -1
  264. package/lib/AWS/IAM/Role.js.map +1 -1
  265. package/lib/AWS/IAM/SAMLProvider.d.ts +2 -2
  266. package/lib/AWS/IAM/SAMLProvider.d.ts.map +1 -1
  267. package/lib/AWS/IAM/SAMLProvider.js +2 -2
  268. package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
  269. package/lib/AWS/IAM/SSHPublicKey.d.ts +1 -1
  270. package/lib/AWS/IAM/ServerCertificate.d.ts +1 -1
  271. package/lib/AWS/IAM/ServiceSpecificCredential.d.ts +1 -1
  272. package/lib/AWS/IAM/SigningCertificate.d.ts +1 -1
  273. package/lib/AWS/IAM/User.d.ts +1 -1
  274. package/lib/AWS/IAM/VirtualMFADevice.d.ts +1 -1
  275. package/lib/AWS/IdentityCenter/AccountAssignment.d.ts +1 -1
  276. package/lib/AWS/IdentityCenter/Group.d.ts +1 -1
  277. package/lib/AWS/IdentityCenter/Instance.d.ts +1 -1
  278. package/lib/AWS/IdentityCenter/PermissionSet.d.ts +1 -1
  279. package/lib/AWS/IdentityCenter/common.d.ts +4 -4
  280. package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts +1 -1
  281. package/lib/AWS/Kinesis/DescribeLimits.d.ts +1 -1
  282. package/lib/AWS/Kinesis/DescribeStream.d.ts +1 -1
  283. package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts +1 -1
  284. package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts +1 -1
  285. package/lib/AWS/Kinesis/GetRecords.d.ts +1 -1
  286. package/lib/AWS/Kinesis/GetResourcePolicy.d.ts +1 -1
  287. package/lib/AWS/Kinesis/GetShardIterator.d.ts +1 -1
  288. package/lib/AWS/Kinesis/ListShards.d.ts +1 -1
  289. package/lib/AWS/Kinesis/ListStreamConsumers.d.ts +1 -1
  290. package/lib/AWS/Kinesis/ListStreams.d.ts +1 -1
  291. package/lib/AWS/Kinesis/ListTagsForResource.d.ts +1 -1
  292. package/lib/AWS/Kinesis/PutRecord.d.ts +1 -1
  293. package/lib/AWS/Kinesis/PutRecords.d.ts +1 -1
  294. package/lib/AWS/Kinesis/Stream.d.ts +2 -3
  295. package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
  296. package/lib/AWS/Kinesis/Stream.js +1 -3
  297. package/lib/AWS/Kinesis/Stream.js.map +1 -1
  298. package/lib/AWS/Kinesis/StreamConsumer.d.ts +1 -1
  299. package/lib/AWS/Kinesis/SubscribeToShard.d.ts +1 -1
  300. package/lib/AWS/Lambda/EventSourceMapping.d.ts +2 -3
  301. package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
  302. package/lib/AWS/Lambda/EventSourceMapping.js +1 -3
  303. package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
  304. package/lib/AWS/Lambda/Function.d.ts +2 -2
  305. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  306. package/lib/AWS/Lambda/Function.js +9 -7
  307. package/lib/AWS/Lambda/Function.js.map +1 -1
  308. package/lib/AWS/Lambda/InvokeFunction.d.ts +1 -1
  309. package/lib/AWS/Lambda/Permission.d.ts +2 -2
  310. package/lib/AWS/Lambda/Permission.js +1 -1
  311. package/lib/AWS/Logs/LogGroup.d.ts +2 -3
  312. package/lib/AWS/Logs/LogGroup.d.ts.map +1 -1
  313. package/lib/AWS/Logs/LogGroup.js +1 -3
  314. package/lib/AWS/Logs/LogGroup.js.map +1 -1
  315. package/lib/AWS/Organizations/Account.d.ts +1 -1
  316. package/lib/AWS/Organizations/DelegatedAdministrator.d.ts +1 -1
  317. package/lib/AWS/Organizations/Organization.d.ts +1 -1
  318. package/lib/AWS/Organizations/OrganizationResourcePolicy.d.ts +1 -1
  319. package/lib/AWS/Organizations/OrganizationalUnit.d.ts +1 -1
  320. package/lib/AWS/Organizations/Policy.d.ts +1 -1
  321. package/lib/AWS/Organizations/PolicyAttachment.d.ts +1 -1
  322. package/lib/AWS/Organizations/Root.d.ts +1 -1
  323. package/lib/AWS/Organizations/RootPolicyType.d.ts +1 -1
  324. package/lib/AWS/Organizations/TrustedServiceAccess.d.ts +1 -1
  325. package/lib/AWS/Organizations/common.d.ts +2 -2
  326. package/lib/AWS/Providers.d.ts +3 -2
  327. package/lib/AWS/Providers.d.ts.map +1 -1
  328. package/lib/AWS/Providers.js +2 -2
  329. package/lib/AWS/Providers.js.map +1 -1
  330. package/lib/AWS/RDS/Connect.d.ts +1 -1
  331. package/lib/AWS/RDS/DBCluster.d.ts +1 -1
  332. package/lib/AWS/RDS/DBClusterEndpoint.d.ts +1 -1
  333. package/lib/AWS/RDS/DBClusterParameterGroup.d.ts +1 -1
  334. package/lib/AWS/RDS/DBInstance.d.ts +1 -1
  335. package/lib/AWS/RDS/DBParameterGroup.d.ts +1 -1
  336. package/lib/AWS/RDS/DBProxy.d.ts +1 -1
  337. package/lib/AWS/RDS/DBProxyEndpoint.d.ts +1 -1
  338. package/lib/AWS/RDS/DBProxyTargetGroup.d.ts +1 -1
  339. package/lib/AWS/RDS/DBSubnetGroup.d.ts +1 -1
  340. package/lib/AWS/RDSData/BatchExecuteStatement.d.ts +1 -1
  341. package/lib/AWS/RDSData/BeginTransaction.d.ts +1 -1
  342. package/lib/AWS/RDSData/CommitTransaction.d.ts +1 -1
  343. package/lib/AWS/RDSData/ExecuteSql.d.ts +1 -1
  344. package/lib/AWS/RDSData/ExecuteStatement.d.ts +1 -1
  345. package/lib/AWS/RDSData/RollbackTransaction.d.ts +1 -1
  346. package/lib/AWS/Region.d.ts +2 -0
  347. package/lib/AWS/Region.d.ts.map +1 -1
  348. package/lib/AWS/Region.js +8 -3
  349. package/lib/AWS/Region.js.map +1 -1
  350. package/lib/AWS/Route53/Record.d.ts +1 -1
  351. package/lib/AWS/S3/AbortMultipartUpload.d.ts +1 -1
  352. package/lib/AWS/S3/Bucket.d.ts +6 -3
  353. package/lib/AWS/S3/Bucket.d.ts.map +1 -1
  354. package/lib/AWS/S3/Bucket.js +3 -4
  355. package/lib/AWS/S3/Bucket.js.map +1 -1
  356. package/lib/AWS/S3/CompleteMultipartUpload.d.ts +1 -1
  357. package/lib/AWS/S3/CopyObject.d.ts +1 -1
  358. package/lib/AWS/S3/CreateMultipartUpload.d.ts +1 -1
  359. package/lib/AWS/S3/DeleteObject.d.ts +1 -1
  360. package/lib/AWS/S3/GetObject.d.ts +1 -1
  361. package/lib/AWS/S3/HeadObject.d.ts +1 -1
  362. package/lib/AWS/S3/ListObjectsV2.d.ts +1 -1
  363. package/lib/AWS/S3/PutObject.d.ts +1 -1
  364. package/lib/AWS/S3/UploadPart.d.ts +1 -1
  365. package/lib/AWS/SNS/AddPermission.d.ts +1 -1
  366. package/lib/AWS/SNS/ConfirmSubscription.d.ts +1 -1
  367. package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts +1 -1
  368. package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts +1 -1
  369. package/lib/AWS/SNS/GetTopicAttributes.d.ts +1 -1
  370. package/lib/AWS/SNS/ListSubscriptions.d.ts +1 -1
  371. package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts +1 -1
  372. package/lib/AWS/SNS/ListTagsForResource.d.ts +1 -1
  373. package/lib/AWS/SNS/ListTopics.d.ts +1 -1
  374. package/lib/AWS/SNS/Publish.d.ts +1 -1
  375. package/lib/AWS/SNS/PublishBatch.d.ts +1 -1
  376. package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts +1 -1
  377. package/lib/AWS/SNS/RemovePermission.d.ts +1 -1
  378. package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts +1 -1
  379. package/lib/AWS/SNS/SetTopicAttributes.d.ts +1 -1
  380. package/lib/AWS/SNS/Subscription.d.ts +1 -1
  381. package/lib/AWS/SNS/TagResource.d.ts +1 -1
  382. package/lib/AWS/SNS/Topic.d.ts +1 -1
  383. package/lib/AWS/SNS/UntagResource.d.ts +1 -1
  384. package/lib/AWS/SQS/DeleteMessage.d.ts +1 -1
  385. package/lib/AWS/SQS/DeleteMessageBatch.d.ts +1 -1
  386. package/lib/AWS/SQS/Queue.d.ts +1 -2
  387. package/lib/AWS/SQS/Queue.d.ts.map +1 -1
  388. package/lib/AWS/SQS/Queue.js +2 -3
  389. package/lib/AWS/SQS/Queue.js.map +1 -1
  390. package/lib/AWS/SQS/ReceiveMessage.d.ts +1 -1
  391. package/lib/AWS/SQS/SendMessage.d.ts +1 -1
  392. package/lib/AWS/SQS/SendMessageBatch.d.ts +1 -1
  393. package/lib/AWS/Scheduler/Schedule.d.ts +1 -1
  394. package/lib/AWS/Scheduler/ScheduleGroup.d.ts +1 -1
  395. package/lib/AWS/SecretsManager/DescribeSecret.d.ts +1 -1
  396. package/lib/AWS/SecretsManager/GetRandomPassword.d.ts +1 -1
  397. package/lib/AWS/SecretsManager/GetSecretValue.d.ts +1 -1
  398. package/lib/AWS/SecretsManager/ListSecrets.d.ts +1 -1
  399. package/lib/AWS/SecretsManager/PutSecretValue.d.ts +1 -1
  400. package/lib/AWS/SecretsManager/Secret.d.ts +1 -1
  401. package/lib/AWS/Website/AssetDeployment.d.ts +1 -1
  402. package/lib/AWS/index.d.ts +0 -1
  403. package/lib/AWS/index.d.ts.map +1 -1
  404. package/lib/AWS/index.js +0 -1
  405. package/lib/AWS/index.js.map +1 -1
  406. package/lib/Auth/Profile.d.ts +10 -10
  407. package/lib/Auth/Profile.d.ts.map +1 -1
  408. package/lib/Auth/Profile.js +4 -4
  409. package/lib/Auth/Profile.js.map +1 -1
  410. package/lib/Axiom/Credentials.d.ts +2 -3
  411. package/lib/Axiom/Credentials.d.ts.map +1 -1
  412. package/lib/Axiom/Credentials.js +3 -3
  413. package/lib/Axiom/Credentials.js.map +1 -1
  414. package/lib/Axiom/Dataset.js +1 -1
  415. package/lib/Axiom/Dataset.js.map +1 -1
  416. package/lib/Axiom/Providers.d.ts +1 -1
  417. package/lib/Axiom/Providers.d.ts.map +1 -1
  418. package/lib/Axiom/Providers.js +1 -1
  419. package/lib/Axiom/Providers.js.map +1 -1
  420. package/lib/Binding.d.ts +2 -2
  421. package/lib/Binding.d.ts.map +1 -1
  422. package/lib/Binding.js.map +1 -1
  423. package/lib/Cli/commands/_shared.d.ts +3 -3
  424. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  425. package/lib/Cli/commands/_shared.js.map +1 -1
  426. package/lib/Cli/commands/aws.d.ts +1 -1
  427. package/lib/Cli/commands/aws.d.ts.map +1 -1
  428. package/lib/Cli/commands/aws.js +3 -3
  429. package/lib/Cli/commands/aws.js.map +1 -1
  430. package/lib/Cli/commands/cloudflare.js +1 -1
  431. package/lib/Cli/commands/cloudflare.js.map +1 -1
  432. package/lib/Cli/commands/deploy.d.ts +4 -4
  433. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  434. package/lib/Cli/commands/login.d.ts +2 -3
  435. package/lib/Cli/commands/login.d.ts.map +1 -1
  436. package/lib/Cli/commands/login.js +6 -15
  437. package/lib/Cli/commands/login.js.map +1 -1
  438. package/lib/Cli/commands/logs.d.ts +1 -1
  439. package/lib/Cli/commands/logs.d.ts.map +1 -1
  440. package/lib/Cli/commands/profile.js +3 -3
  441. package/lib/Cli/commands/profile.js.map +1 -1
  442. package/lib/Cli/commands/tail.d.ts +1 -1
  443. package/lib/Cli/commands/tail.d.ts.map +1 -1
  444. package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
  445. package/lib/Cloudflare/AiGateway/AiGateway.js +185 -180
  446. package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
  447. package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
  448. package/lib/Cloudflare/ApiToken/AccountApiToken.js +103 -102
  449. package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
  450. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
  451. package/lib/Cloudflare/ApiToken/UserApiToken.js +77 -81
  452. package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
  453. package/lib/Cloudflare/CloudflareEnvironment.d.ts +4 -3
  454. package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
  455. package/lib/Cloudflare/CloudflareEnvironment.js +3 -4
  456. package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
  457. package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
  458. package/lib/Cloudflare/Container/ContainerApplication.js +18 -18
  459. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  460. package/lib/Cloudflare/Credentials.d.ts +2 -2
  461. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  462. package/lib/Cloudflare/Credentials.js +2 -2
  463. package/lib/Cloudflare/Credentials.js.map +1 -1
  464. package/lib/Cloudflare/D1/D1Database.d.ts +3 -1
  465. package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
  466. package/lib/Cloudflare/D1/D1Database.js +205 -201
  467. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  468. package/lib/Cloudflare/EdgeSession.d.ts.map +1 -1
  469. package/lib/Cloudflare/EdgeSession.js +6 -5
  470. package/lib/Cloudflare/EdgeSession.js.map +1 -1
  471. package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -1
  472. package/lib/Cloudflare/Email/EmailAddress.js +69 -61
  473. package/lib/Cloudflare/Email/EmailAddress.js.map +1 -1
  474. package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -1
  475. package/lib/Cloudflare/Email/EmailRouting.js +63 -56
  476. package/lib/Cloudflare/Email/EmailRouting.js.map +1 -1
  477. package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -1
  478. package/lib/Cloudflare/Email/EmailRule.js +67 -63
  479. package/lib/Cloudflare/Email/EmailRule.js.map +1 -1
  480. package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts.map +1 -1
  481. package/lib/Cloudflare/Hyperdrive/Hyperdrive.js +139 -137
  482. package/lib/Cloudflare/Hyperdrive/Hyperdrive.js.map +1 -1
  483. package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
  484. package/lib/Cloudflare/KV/KVNamespace.js +115 -108
  485. package/lib/Cloudflare/KV/KVNamespace.js.map +1 -1
  486. package/lib/Cloudflare/Providers.d.ts +1 -1
  487. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  488. package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
  489. package/lib/Cloudflare/Queue/Queue.js +109 -101
  490. package/lib/Cloudflare/Queue/Queue.js.map +1 -1
  491. package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
  492. package/lib/Cloudflare/Queue/QueueConsumer.js +260 -250
  493. package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -1
  494. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  495. package/lib/Cloudflare/R2/R2Bucket.js +101 -66
  496. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  497. package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
  498. package/lib/Cloudflare/Ruleset/Ruleset.js +81 -81
  499. package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
  500. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
  501. package/lib/Cloudflare/SecretsStore/Secret.js +144 -143
  502. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
  503. package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -1
  504. package/lib/Cloudflare/SecretsStore/SecretsStore.js +74 -75
  505. package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -1
  506. package/lib/Cloudflare/StateStore/State.d.ts +1 -1
  507. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  508. package/lib/Cloudflare/StateStore/State.js +3 -3
  509. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  510. package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
  511. package/lib/Cloudflare/Tunnel/Tunnel.js +166 -158
  512. package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
  513. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +2 -2
  514. package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
  515. package/lib/Cloudflare/Tunnel/TunnelBinding.js +10 -11
  516. package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
  517. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts +4 -3
  518. package/lib/Cloudflare/Tunnel/TunnelRead.d.ts.map +1 -1
  519. package/lib/Cloudflare/Tunnel/TunnelRead.js.map +1 -1
  520. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts +4 -3
  521. package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts.map +1 -1
  522. package/lib/Cloudflare/Tunnel/TunnelReadWrite.js.map +1 -1
  523. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts +4 -3
  524. package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts.map +1 -1
  525. package/lib/Cloudflare/Tunnel/TunnelWrite.js.map +1 -1
  526. package/lib/Cloudflare/Vectorize/VectorizeIndex.d.ts.map +1 -1
  527. package/lib/Cloudflare/Vectorize/VectorizeIndex.js +79 -75
  528. package/lib/Cloudflare/Vectorize/VectorizeIndex.js.map +1 -1
  529. package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.d.ts.map +1 -1
  530. package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.js +85 -82
  531. package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.js.map +1 -1
  532. package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
  533. package/lib/Cloudflare/VpcService/VpcService.js +112 -106
  534. package/lib/Cloudflare/VpcService/VpcService.js.map +1 -1
  535. package/lib/Cloudflare/VpcService/VpcServiceRef.js +1 -1
  536. package/lib/Cloudflare/VpcService/VpcServiceRef.js.map +1 -1
  537. package/lib/Cloudflare/Workers/Assets.js +2 -2
  538. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  539. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +1 -1
  540. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  541. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +3 -2
  542. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  543. package/lib/Cloudflare/Workers/Worker.d.ts +2 -2
  544. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  545. package/lib/Cloudflare/Workers/Worker.js +111 -61
  546. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  547. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  548. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +2 -14
  549. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  550. package/lib/Cloudflare/Workers/Workflow.js +6 -6
  551. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  552. package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
  553. package/lib/Cloudflare/Zaraz/ZarazConfig.js +68 -75
  554. package/lib/Cloudflare/Zaraz/ZarazConfig.js.map +1 -1
  555. package/lib/Cloudflare/Zone/Zone.d.ts.map +1 -1
  556. package/lib/Cloudflare/Zone/Zone.js +18 -13
  557. package/lib/Cloudflare/Zone/Zone.js.map +1 -1
  558. package/lib/GitHub/Comment.d.ts +1 -6
  559. package/lib/GitHub/Comment.d.ts.map +1 -1
  560. package/lib/GitHub/Comment.js +3 -9
  561. package/lib/GitHub/Comment.js.map +1 -1
  562. package/lib/GitHub/Credentials.d.ts +4 -3
  563. package/lib/GitHub/Credentials.d.ts.map +1 -1
  564. package/lib/GitHub/Credentials.js +5 -5
  565. package/lib/GitHub/Credentials.js.map +1 -1
  566. package/lib/GitHub/Octokit.d.ts +5 -0
  567. package/lib/GitHub/Octokit.d.ts.map +1 -0
  568. package/lib/GitHub/Octokit.js +7 -0
  569. package/lib/GitHub/Octokit.js.map +1 -0
  570. package/lib/GitHub/Providers.d.ts +1 -1
  571. package/lib/GitHub/Providers.d.ts.map +1 -1
  572. package/lib/GitHub/Secret.d.ts +1 -2
  573. package/lib/GitHub/Secret.d.ts.map +1 -1
  574. package/lib/GitHub/Secret.js +8 -12
  575. package/lib/GitHub/Secret.js.map +1 -1
  576. package/lib/GitHub/Variable.d.ts +1 -2
  577. package/lib/GitHub/Variable.d.ts.map +1 -1
  578. package/lib/GitHub/Variable.js +3 -7
  579. package/lib/GitHub/Variable.js.map +1 -1
  580. package/lib/Kubernetes/client.d.ts +11 -11
  581. package/lib/Kubernetes/client.d.ts.map +1 -1
  582. package/lib/Kubernetes/client.js +2 -2
  583. package/lib/Kubernetes/client.js.map +1 -1
  584. package/lib/Local/RpcServerEnvironment.d.ts +2 -2
  585. package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
  586. package/lib/Neon/AuthProvider.d.ts +2 -2
  587. package/lib/Neon/AuthProvider.d.ts.map +1 -1
  588. package/lib/Neon/AuthProvider.js +2 -2
  589. package/lib/Neon/AuthProvider.js.map +1 -1
  590. package/lib/Neon/Branch.d.ts.map +1 -1
  591. package/lib/Neon/Branch.js +213 -215
  592. package/lib/Neon/Branch.js.map +1 -1
  593. package/lib/Neon/Credentials.d.ts +2 -3
  594. package/lib/Neon/Credentials.d.ts.map +1 -1
  595. package/lib/Neon/Credentials.js +3 -3
  596. package/lib/Neon/Credentials.js.map +1 -1
  597. package/lib/Neon/Project.d.ts +22 -22
  598. package/lib/Neon/Project.d.ts.map +1 -1
  599. package/lib/Neon/Project.js +263 -266
  600. package/lib/Neon/Project.js.map +1 -1
  601. package/lib/Neon/Providers.d.ts +2 -4
  602. package/lib/Neon/Providers.d.ts.map +1 -1
  603. package/lib/Neon/Providers.js +1 -3
  604. package/lib/Neon/Providers.js.map +1 -1
  605. package/lib/Neon/index.d.ts +0 -1
  606. package/lib/Neon/index.d.ts.map +1 -1
  607. package/lib/Neon/index.js +0 -1
  608. package/lib/Neon/index.js.map +1 -1
  609. package/lib/Output.d.ts +2 -1
  610. package/lib/Output.d.ts.map +1 -1
  611. package/lib/Output.js +7 -3
  612. package/lib/Output.js.map +1 -1
  613. package/lib/Plan.d.ts.map +1 -1
  614. package/lib/Plan.js +14 -6
  615. package/lib/Plan.js.map +1 -1
  616. package/lib/Planetscale/Branch.d.ts +1 -2
  617. package/lib/Planetscale/Branch.d.ts.map +1 -1
  618. package/lib/Planetscale/Branch.js +230 -235
  619. package/lib/Planetscale/Branch.js.map +1 -1
  620. package/lib/Planetscale/Credentials.d.ts +2 -3
  621. package/lib/Planetscale/Credentials.d.ts.map +1 -1
  622. package/lib/Planetscale/Credentials.js +6 -6
  623. package/lib/Planetscale/Credentials.js.map +1 -1
  624. package/lib/Planetscale/MySQL/MySQLBranch.d.ts +1 -1
  625. package/lib/Planetscale/MySQL/MySQLBranch.d.ts.map +1 -1
  626. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +2 -2
  627. package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -1
  628. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +1 -1
  629. package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
  630. package/lib/Planetscale/MySQL/MySQLDatabase.js +215 -215
  631. package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
  632. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts +2 -2
  633. package/lib/Planetscale/MySQL/MySQLMigrations.d.ts.map +1 -1
  634. package/lib/Planetscale/MySQL/MySQLPassword.d.ts.map +1 -1
  635. package/lib/Planetscale/MySQL/MySQLPassword.js +145 -145
  636. package/lib/Planetscale/MySQL/MySQLPassword.js.map +1 -1
  637. package/lib/Planetscale/Postgres/PostgresBranch.d.ts +1 -1
  638. package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -1
  639. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +3 -2
  640. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
  641. package/lib/Planetscale/Postgres/PostgresClusterSize.js +4 -4
  642. package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
  643. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +1 -1
  644. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  645. package/lib/Planetscale/Postgres/PostgresDatabase.js +220 -218
  646. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  647. package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts.map +1 -1
  648. package/lib/Planetscale/Postgres/PostgresDefaultRole.js +123 -121
  649. package/lib/Planetscale/Postgres/PostgresDefaultRole.js.map +1 -1
  650. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts +2 -2
  651. package/lib/Planetscale/Postgres/PostgresMigrations.d.ts.map +1 -1
  652. package/lib/Planetscale/Postgres/PostgresRole.d.ts.map +1 -1
  653. package/lib/Planetscale/Postgres/PostgresRole.js +159 -160
  654. package/lib/Planetscale/Postgres/PostgresRole.js.map +1 -1
  655. package/lib/Planetscale/Providers.d.ts +1 -2
  656. package/lib/Planetscale/Providers.d.ts.map +1 -1
  657. package/lib/Planetscale/Providers.js.map +1 -1
  658. package/lib/Planetscale/Util.d.ts +2 -2
  659. package/lib/Planetscale/Util.d.ts.map +1 -1
  660. package/lib/Server/S3BucketEventSource.d.ts +1 -1
  661. package/lib/Server/S3BucketEventSource.d.ts.map +1 -1
  662. package/lib/Server/SQSQueueEventSource.d.ts +2 -2
  663. package/lib/Server/SQSQueueEventSource.d.ts.map +1 -1
  664. package/lib/Server/SQSQueueEventSource.js +3 -2
  665. package/lib/Server/SQSQueueEventSource.js.map +1 -1
  666. package/lib/Stack.d.ts +4 -4
  667. package/lib/Stack.d.ts.map +1 -1
  668. package/lib/Stack.js +1 -1
  669. package/lib/Stack.js.map +1 -1
  670. package/lib/tsconfig.test.tsbuildinfo +1 -1
  671. package/package.json +12 -11
  672. package/src/AWS/ApiGateway/ApiKey.ts +4 -5
  673. package/src/AWS/ApiGateway/RestApi.ts +5 -6
  674. package/src/AWS/ApiGateway/Stage.ts +4 -5
  675. package/src/AWS/ApiGateway/UsagePlan.ts +4 -5
  676. package/src/AWS/ApiGateway/VpcLink.ts +4 -6
  677. package/src/AWS/Assets.ts +161 -108
  678. package/src/AWS/AuthProvider.ts +221 -124
  679. package/src/AWS/AutoScaling/LaunchTemplate.ts +31 -32
  680. package/src/AWS/Bootstrap.ts +66 -195
  681. package/src/AWS/CloudWatch/Alarm.ts +9 -8
  682. package/src/AWS/CloudWatch/AlarmMuteRule.ts +8 -7
  683. package/src/AWS/CloudWatch/CompositeAlarm.ts +9 -8
  684. package/src/AWS/CloudWatch/Dashboard.ts +9 -6
  685. package/src/AWS/CloudWatch/InsightRule.ts +10 -9
  686. package/src/AWS/CloudWatch/MetricStream.ts +9 -7
  687. package/src/AWS/Credentials.ts +4 -1
  688. package/src/AWS/EC2/EIP.ts +5 -5
  689. package/src/AWS/EC2/EgressOnlyInternetGateway.ts +20 -17
  690. package/src/AWS/EC2/Instance.ts +42 -41
  691. package/src/AWS/EC2/InternetGateway.ts +4 -8
  692. package/src/AWS/EC2/NatGateway.ts +10 -11
  693. package/src/AWS/EC2/Network.ts +2 -2
  694. package/src/AWS/EC2/NetworkAcl.ts +38 -39
  695. package/src/AWS/EC2/RouteTable.ts +3 -6
  696. package/src/AWS/EC2/SecurityGroup.ts +43 -44
  697. package/src/AWS/EC2/Vpc.ts +2 -5
  698. package/src/AWS/EC2/VpcEndpoint.ts +47 -47
  699. package/src/AWS/EC2/hosted.ts +19 -33
  700. package/src/AWS/ECS/CapacityProvider.ts +1 -3
  701. package/src/AWS/ECS/Cluster.ts +2 -5
  702. package/src/AWS/ECS/Task.ts +4 -3
  703. package/src/AWS/Endpoint.ts +12 -6
  704. package/src/AWS/Environment.ts +22 -120
  705. package/src/AWS/EventBridge/EventBus.ts +2 -5
  706. package/src/AWS/EventBridge/ListRules.ts +2 -5
  707. package/src/AWS/EventBridge/PutEvents.ts +2 -3
  708. package/src/AWS/EventBridge/Rule.ts +3 -5
  709. package/src/AWS/IAM/OpenIDConnectProvider.ts +10 -4
  710. package/src/AWS/IAM/Policy.ts +1 -2
  711. package/src/AWS/IAM/Role.ts +2 -2
  712. package/src/AWS/IAM/SAMLProvider.ts +3 -3
  713. package/src/AWS/Kinesis/Stream.ts +2 -5
  714. package/src/AWS/Lambda/EventSourceMapping.ts +2 -5
  715. package/src/AWS/Lambda/Function.ts +10 -8
  716. package/src/AWS/Lambda/Permission.ts +1 -1
  717. package/src/AWS/Logs/LogGroup.ts +2 -5
  718. package/src/AWS/Providers.ts +2 -2
  719. package/src/AWS/Region.ts +15 -3
  720. package/src/AWS/S3/Bucket.ts +15 -15
  721. package/src/AWS/SQS/Queue.ts +2 -3
  722. package/src/AWS/index.ts +0 -1
  723. package/src/Auth/Profile.ts +13 -12
  724. package/src/Axiom/Credentials.ts +4 -2
  725. package/src/Axiom/Dataset.ts +1 -1
  726. package/src/Axiom/Providers.ts +1 -1
  727. package/src/Binding.ts +2 -5
  728. package/src/Cli/commands/_shared.ts +2 -2
  729. package/src/Cli/commands/aws.ts +12 -9
  730. package/src/Cli/commands/cloudflare.ts +1 -1
  731. package/src/Cli/commands/login.ts +6 -22
  732. package/src/Cli/commands/profile.ts +3 -3
  733. package/src/Cloudflare/AiGateway/AiGateway.ts +219 -218
  734. package/src/Cloudflare/ApiToken/AccountApiToken.ts +142 -153
  735. package/src/Cloudflare/ApiToken/UserApiToken.ts +105 -121
  736. package/src/Cloudflare/CloudflareEnvironment.ts +10 -5
  737. package/src/Cloudflare/Container/ContainerApplication.ts +32 -29
  738. package/src/Cloudflare/Credentials.ts +2 -2
  739. package/src/Cloudflare/D1/D1Database.ts +268 -263
  740. package/src/Cloudflare/EdgeSession.ts +6 -5
  741. package/src/Cloudflare/Email/EmailAddress.ts +74 -71
  742. package/src/Cloudflare/Email/EmailRouting.ts +73 -75
  743. package/src/Cloudflare/Email/EmailRule.ts +79 -80
  744. package/src/Cloudflare/Hyperdrive/Hyperdrive.ts +155 -158
  745. package/src/Cloudflare/KV/KVNamespace.ts +139 -138
  746. package/src/Cloudflare/Queue/Queue.ts +122 -119
  747. package/src/Cloudflare/Queue/QueueConsumer.ts +334 -330
  748. package/src/Cloudflare/R2/R2Bucket.ts +200 -165
  749. package/src/Cloudflare/Ruleset/Ruleset.ts +93 -98
  750. package/src/Cloudflare/SecretsStore/Secret.ts +187 -194
  751. package/src/Cloudflare/SecretsStore/SecretsStore.ts +82 -87
  752. package/src/Cloudflare/StateStore/State.ts +5 -3
  753. package/src/Cloudflare/Tunnel/Tunnel.ts +187 -186
  754. package/src/Cloudflare/Tunnel/TunnelBinding.ts +16 -9
  755. package/src/Cloudflare/Tunnel/TunnelRead.ts +3 -2
  756. package/src/Cloudflare/Tunnel/TunnelReadWrite.ts +7 -2
  757. package/src/Cloudflare/Tunnel/TunnelWrite.ts +3 -2
  758. package/src/Cloudflare/Vectorize/VectorizeIndex.ts +98 -98
  759. package/src/Cloudflare/Vectorize/VectorizeMetadataIndex.ts +97 -109
  760. package/src/Cloudflare/VpcService/VpcService.ts +126 -125
  761. package/src/Cloudflare/VpcService/VpcServiceRef.ts +1 -1
  762. package/src/Cloudflare/Workers/Assets.ts +2 -2
  763. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +3 -2
  764. package/src/Cloudflare/Workers/Worker.ts +323 -269
  765. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +7 -21
  766. package/src/Cloudflare/Workers/Workflow.ts +8 -8
  767. package/src/Cloudflare/Zaraz/ZarazConfig.ts +87 -99
  768. package/src/Cloudflare/Zone/Zone.ts +36 -33
  769. package/src/GitHub/Comment.ts +3 -20
  770. package/src/GitHub/Credentials.ts +9 -5
  771. package/src/GitHub/Octokit.ts +9 -0
  772. package/src/GitHub/Secret.ts +8 -21
  773. package/src/GitHub/Variable.ts +3 -8
  774. package/src/Kubernetes/client.ts +2 -2
  775. package/src/Neon/AuthProvider.ts +2 -2
  776. package/src/Neon/Branch.ts +264 -272
  777. package/src/Neon/Credentials.ts +4 -2
  778. package/src/Neon/Project.ts +372 -378
  779. package/src/Neon/Providers.ts +0 -6
  780. package/src/Neon/index.ts +0 -1
  781. package/src/Output.ts +8 -4
  782. package/src/Plan.ts +15 -7
  783. package/src/Planetscale/Branch.ts +311 -321
  784. package/src/Planetscale/Credentials.ts +20 -15
  785. package/src/Planetscale/MySQL/MySQLDatabase.ts +269 -280
  786. package/src/Planetscale/MySQL/MySQLPassword.ts +161 -168
  787. package/src/Planetscale/Postgres/PostgresClusterSize.ts +4 -4
  788. package/src/Planetscale/Postgres/PostgresDatabase.ts +287 -296
  789. package/src/Planetscale/Postgres/PostgresDefaultRole.ts +143 -146
  790. package/src/Planetscale/Postgres/PostgresRole.ts +188 -195
  791. package/src/Planetscale/Providers.ts +2 -7
  792. package/src/Server/SQSQueueEventSource.ts +3 -2
  793. package/src/Stack.ts +3 -3
  794. package/bin/alchemy.sh +0 -15
  795. package/lib/AWS/Context.d.ts +0 -8
  796. package/lib/AWS/Context.d.ts.map +0 -1
  797. package/lib/AWS/Context.js +0 -16
  798. package/lib/AWS/Context.js.map +0 -1
  799. package/lib/Neon/NeonEnvironment.d.ts +0 -11
  800. package/lib/Neon/NeonEnvironment.d.ts.map +0 -1
  801. package/lib/Neon/NeonEnvironment.js +0 -18
  802. package/lib/Neon/NeonEnvironment.js.map +0 -1
  803. package/src/AWS/Context.ts +0 -30
  804. package/src/Neon/NeonEnvironment.ts +0 -32
@@ -21,146 +21,19 @@ import { isResolved } from "../Diff.ts";
21
21
  import { createPhysicalName } from "../PhysicalName.ts";
22
22
  import * as Provider from "../Provider.ts";
23
23
  import { Resource } from "../Resource.ts";
24
- import { applyMigrations, runSql } from "./Migrations.ts";
25
- import { parsePostgresOrigin, type PostgresOrigin } from "./PostgresOrigin.ts";
26
- import type { Providers } from "./Providers.ts";
27
24
  import {
25
+ hashImports,
26
+ hashMigrations,
28
27
  listSqlFiles,
29
28
  readSqlFile,
30
- hashMigrations,
31
- hashImports,
32
29
  } from "../Sql/SqlFile.ts";
30
+ import { applyMigrations, runSql } from "./Migrations.ts";
31
+ import { parsePostgresOrigin, type PostgresOrigin } from "./PostgresOrigin.ts";
32
+ import type { Providers } from "./Providers.ts";
33
33
 
34
- type NeonOperationStatus =
35
- | "scheduling"
36
- | "running"
37
- | "finished"
38
- | "failed"
39
- | "error"
40
- | "cancelling"
41
- | "cancelled"
42
- | "skipped";
43
-
44
- export class OperationFailed extends Data.TaggedError("OperationFailed")<{
45
- operationId: string;
46
- action: string;
47
- status: NeonOperationStatus;
48
- error?: string;
49
- }> {}
50
-
51
- class OperationPending extends Data.TaggedError("OperationPending")<{
52
- operationId: string;
53
- }> {}
54
-
55
- const isOperationComplete = (status: NeonOperationStatus): boolean =>
56
- status === "finished" ||
57
- status === "failed" ||
58
- status === "error" ||
59
- status === "cancelled" ||
60
- status === "skipped";
61
-
62
- /**
63
- * Wait for the given operations to reach a terminal state. Polls every
64
- * 500ms with exponential backoff up to ~30s per operation.
65
- */
66
- export const waitForOperations = (
67
- operations: ReadonlyArray<{
68
- readonly id: string;
69
- readonly project_id: string;
70
- readonly action: string;
71
- readonly status: NeonOperationStatus;
72
- readonly error?: string;
73
- }>,
74
- ) =>
75
- Effect.gen(function* () {
76
- for (const op of operations) {
77
- if (isOperationComplete(op.status)) {
78
- if (op.status === "failed" || op.status === "error") {
79
- return yield* new OperationFailed({
80
- operationId: op.id,
81
- action: op.action,
82
- status: op.status,
83
- error: op.error,
84
- });
85
- }
86
- continue;
87
- }
88
- yield* getProjectOperation({
89
- project_id: op.project_id,
90
- operation_id: op.id,
91
- }).pipe(
92
- Effect.flatMap(
93
- ({
94
- operation,
95
- }): Effect.Effect<void, OperationFailed | OperationPending> => {
96
- const status = operation.status as NeonOperationStatus;
97
- if (status === "failed" || status === "error") {
98
- return Effect.fail(
99
- new OperationFailed({
100
- operationId: operation.id,
101
- action: operation.action,
102
- status,
103
- error: operation.error,
104
- }),
105
- );
106
- }
107
- if (!isOperationComplete(status)) {
108
- return Effect.fail(new OperationPending({ operationId: op.id }));
109
- }
110
- return Effect.void;
111
- },
112
- ),
113
- Effect.retry({
114
- while: (e: unknown) => {
115
- const tag = (e as { _tag?: string })._tag;
116
- return (
117
- tag === "OperationPending" ||
118
- tag === "TooManyRequests" ||
119
- tag === "ServiceUnavailable" ||
120
- tag === "InternalServerError" ||
121
- tag === "BadGateway" ||
122
- tag === "GatewayTimeout"
123
- );
124
- },
125
- schedule: Schedule.both(
126
- Schedule.exponential(Duration.millis(500), 1.5),
127
- Schedule.recurs(60),
128
- ),
129
- }),
130
- Effect.catchTag("OperationPending", () => Effect.void),
131
- );
132
- }
133
- });
134
-
135
- const findProjectByName = (name: string) =>
136
- Effect.gen(function* () {
137
- const matches: ListProjectsOutput["projects"][number][] = [];
138
- let cursor: string | undefined;
139
- while (true) {
140
- const page = yield* listProjects({
141
- search: name,
142
- ...(cursor !== undefined ? { cursor } : {}),
143
- });
144
- for (const p of page.projects) {
145
- if (p.name === name) matches.push(p);
146
- }
147
- const nextCursor = page.pagination?.cursor;
148
- // Neon returns a `pagination.cursor` on every response — it's the
149
- // `created_at` of the last row, not a "has next page" flag — so we
150
- // can't loop on cursor presence alone or we spin forever re-fetching
151
- // empty/identical pages. Stop once a page comes back empty or the
152
- // cursor stops advancing.
153
- if (
154
- page.projects.length === 0 ||
155
- nextCursor === undefined ||
156
- nextCursor === cursor
157
- ) {
158
- break;
159
- }
160
- cursor = nextCursor;
161
- }
162
- return matches;
163
- });
34
+ const DEFAULT_MIGRATIONS_TABLE = "neon_migrations";
35
+ const DEFAULT_REGION: NeonRegion = "aws-us-east-1";
36
+ const DEFAULT_PG_VERSION: NeonPgVersion = 17;
164
37
 
165
38
  export type NeonRegion =
166
39
  | "aws-us-east-1"
@@ -177,10 +50,6 @@ export type NeonRegion =
177
50
 
178
51
  export type NeonPgVersion = 14 | 15 | 16 | 17 | 18;
179
52
 
180
- const DEFAULT_MIGRATIONS_TABLE = "neon_migrations";
181
- const DEFAULT_REGION: NeonRegion = "aws-us-east-1";
182
- const DEFAULT_PG_VERSION: NeonPgVersion = 17;
183
-
184
53
  export type ProjectProps = {
185
54
  /**
186
55
  * Name of the project. If omitted, a unique name is generated from
@@ -336,6 +205,247 @@ export type Project = Resource<
336
205
  */
337
206
  export const Project = Resource<Project>("Neon.Project");
338
207
 
208
+ export const ProjectProvider = () =>
209
+ Provider.succeed(Project, {
210
+ stables: ["projectId", "defaultBranchId"],
211
+ diff: Effect.fn(function* ({ id, olds = {}, news = {}, output }) {
212
+ if (!isResolved(news)) return undefined;
213
+ const name = yield* createProjectName(id, news.name);
214
+ const oldName = output?.projectName
215
+ ? output.projectName
216
+ : yield* createProjectName(id, olds.name);
217
+ if (
218
+ oldName !== name ||
219
+ (news.region ?? DEFAULT_REGION) !==
220
+ (output?.region ?? olds.region ?? DEFAULT_REGION) ||
221
+ (news.pgVersion ?? DEFAULT_PG_VERSION) !==
222
+ (output?.pgVersion ?? olds.pgVersion ?? DEFAULT_PG_VERSION) ||
223
+ (news.defaultBranchName ?? output?.defaultBranchName) !==
224
+ output?.defaultBranchName
225
+ ) {
226
+ return { action: "replace" } as const;
227
+ }
228
+ if (
229
+ (news.historyRetentionSeconds ?? 86400) !==
230
+ (output?.historyRetentionSeconds ?? 86400)
231
+ ) {
232
+ return { action: "update" } as const;
233
+ }
234
+ if (
235
+ (news.enableLogicalReplication ?? false) !==
236
+ (output?.enableLogicalReplication ?? false)
237
+ ) {
238
+ return { action: "update" } as const;
239
+ }
240
+ if (news.migrationsDir) {
241
+ const newHashes = yield* hashMigrations(news.migrationsDir);
242
+ if (!recordsEqual(newHashes, output?.migrationsHashes ?? {})) {
243
+ return { action: "update" } as const;
244
+ }
245
+ if (
246
+ (news.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE) !==
247
+ (output?.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE)
248
+ ) {
249
+ return { action: "update" } as const;
250
+ }
251
+ }
252
+ if (news.importFiles?.length) {
253
+ const newHashes = yield* hashImports(news.importFiles, yield* rootDir);
254
+ if (!recordsEqual(newHashes, output?.importHashes ?? {})) {
255
+ return { action: "update" } as const;
256
+ }
257
+ }
258
+ return undefined;
259
+ }),
260
+ read: Effect.fn(function* ({ id, output, olds }) {
261
+ if (output?.projectId) {
262
+ return yield* getProject({ project_id: output.projectId }).pipe(
263
+ Effect.map(({ project }) => ({
264
+ ...output,
265
+ projectName: project.name,
266
+ historyRetentionSeconds: project.history_retention_seconds,
267
+ enableLogicalReplication:
268
+ project.settings?.enable_logical_replication === true,
269
+ })),
270
+ Effect.catchTag("NotFound", () => Effect.succeed(undefined)),
271
+ );
272
+ }
273
+ const name = yield* createProjectName(id, olds?.name);
274
+ const matches = yield* findProjectByName(name);
275
+ const match = matches[0];
276
+ if (!match) return undefined;
277
+ const branches = yield* listProjectBranches({
278
+ project_id: match.id,
279
+ search: olds?.defaultBranchName ?? "main",
280
+ });
281
+ const defaultBranch =
282
+ branches.branches.find((b) => b.default) ?? branches.branches[0];
283
+ if (!defaultBranch) return undefined;
284
+ const databases = yield* listProjectBranchDatabases({
285
+ project_id: match.id,
286
+ branch_id: defaultBranch.id,
287
+ });
288
+ const db = databases.databases[0];
289
+ if (!db) return undefined;
290
+ const conn = yield* resolveConnection(
291
+ match.id,
292
+ defaultBranch.id,
293
+ db.name,
294
+ db.owner_name,
295
+ );
296
+ return {
297
+ projectId: match.id,
298
+ projectName: match.name,
299
+ region: match.region_id as NeonRegion,
300
+ pgVersion: match.pg_version as NeonPgVersion,
301
+ defaultBranchId: defaultBranch.id,
302
+ defaultBranchName: defaultBranch.name,
303
+ databaseName: db.name,
304
+ roleName: db.owner_name,
305
+ connectionUri: conn.uri,
306
+ pooledConnectionUri: conn.pooled,
307
+ origin: parsePostgresOrigin(conn.uri),
308
+ historyRetentionSeconds: match.history_retention_seconds ?? 86400,
309
+ enableLogicalReplication:
310
+ match.settings?.enable_logical_replication === true,
311
+ migrationsDir: olds?.migrationsDir,
312
+ migrationsTable: olds?.migrationsTable,
313
+ migrationsHashes: {},
314
+ importHashes: {},
315
+ };
316
+ }),
317
+ reconcile: Effect.fn(function* ({ id, news = {}, output }) {
318
+ // Ensure — when no prior output exists we create the project
319
+ // (and let `read` upstream decide adoption); otherwise update
320
+ // the mutable scalar fields on the existing project.
321
+ const projectInfo = output
322
+ ? yield* updateProject({
323
+ project_id: output.projectId,
324
+ project: {
325
+ name: news.name,
326
+ history_retention_seconds: news.historyRetentionSeconds,
327
+ settings:
328
+ (news.enableLogicalReplication ?? false) !==
329
+ (output.enableLogicalReplication ?? false)
330
+ ? {
331
+ enable_logical_replication:
332
+ news.enableLogicalReplication ?? false,
333
+ }
334
+ : undefined,
335
+ },
336
+ }).pipe(
337
+ Effect.map((r) => ({
338
+ projectId: output.projectId,
339
+ projectName: r.project.name,
340
+ region: output.region,
341
+ pgVersion: output.pgVersion,
342
+ defaultBranchId: output.defaultBranchId,
343
+ defaultBranchName: output.defaultBranchName,
344
+ databaseName: output.databaseName,
345
+ roleName: output.roleName,
346
+ connectionUri: output.connectionUri,
347
+ pooledConnectionUri: output.pooledConnectionUri,
348
+ origin: output.origin,
349
+ historyRetentionSeconds:
350
+ r.project.history_retention_seconds ??
351
+ output.historyRetentionSeconds,
352
+ enableLogicalReplication:
353
+ r.project.settings?.enable_logical_replication === true,
354
+ })),
355
+ )
356
+ : yield* Effect.gen(function* () {
357
+ const name = yield* createProjectName(id, news.name);
358
+ const created = yield* sdkCreateProject({
359
+ project: {
360
+ name,
361
+ region_id: news.region,
362
+ pg_version: news.pgVersion,
363
+ branch: {
364
+ name: news.defaultBranchName,
365
+ role_name: news.roleName,
366
+ database_name: news.databaseName,
367
+ },
368
+ history_retention_seconds: news.historyRetentionSeconds,
369
+ org_id: news.orgId,
370
+ settings: news.enableLogicalReplication
371
+ ? { enable_logical_replication: true }
372
+ : undefined,
373
+ },
374
+ });
375
+ yield* waitForOperations(created.operations);
376
+
377
+ const branchId = created.branch.id;
378
+ const databaseName = getDatabaseName(created);
379
+ const roleName = getRoleName(created) ?? "neondb_owner";
380
+ const conn = yield* resolveConnection(
381
+ created.project.id,
382
+ branchId,
383
+ databaseName,
384
+ roleName,
385
+ );
386
+ return {
387
+ projectId: created.project.id,
388
+ projectName: created.project.name,
389
+ region: created.project.region_id as NeonRegion,
390
+ pgVersion: created.project.pg_version as NeonPgVersion,
391
+ defaultBranchId: branchId,
392
+ defaultBranchName: created.branch.name,
393
+ databaseName,
394
+ roleName,
395
+ connectionUri: conn.uri,
396
+ pooledConnectionUri: conn.pooled,
397
+ origin: parsePostgresOrigin(conn.uri),
398
+ historyRetentionSeconds:
399
+ created.project.history_retention_seconds ?? 86400,
400
+ enableLogicalReplication:
401
+ created.project.settings?.enable_logical_replication === true,
402
+ };
403
+ });
404
+
405
+ const connectionUri = Redacted.make(projectInfo.connectionUri);
406
+ const migrationsTable =
407
+ news.migrationsTable ??
408
+ output?.migrationsTable ??
409
+ DEFAULT_MIGRATIONS_TABLE;
410
+ const migrationsHashes = news.migrationsDir
411
+ ? yield* runMigrations(
412
+ connectionUri,
413
+ news.migrationsDir,
414
+ migrationsTable,
415
+ )
416
+ : (output?.migrationsHashes ?? {});
417
+ const importHashes = news.importFiles?.length
418
+ ? yield* runImports(
419
+ connectionUri,
420
+ news.importFiles,
421
+ yield* rootDir,
422
+ output?.importHashes ?? {},
423
+ )
424
+ : {};
425
+
426
+ return {
427
+ ...projectInfo,
428
+ migrationsDir: news.migrationsDir,
429
+ migrationsTable: news.migrationsDir ? migrationsTable : undefined,
430
+ migrationsHashes,
431
+ importHashes,
432
+ };
433
+ }),
434
+ delete: Effect.fn(function* ({ output }) {
435
+ yield* deleteProject({ project_id: output.projectId }).pipe(
436
+ Effect.tapError(Console.log),
437
+ Effect.catchTag("NotFound", () => Effect.void),
438
+ );
439
+ }),
440
+ });
441
+
442
+ const rootDir = Effect.sync(process.cwd);
443
+
444
+ const createProjectName = (id: string, name: string | undefined) =>
445
+ Effect.gen(function* () {
446
+ return name ?? (yield* createPhysicalName({ id }));
447
+ });
448
+
339
449
  const getRoleName = (creation: CreateProjectOutput) =>
340
450
  creation.roles.find((r) => !r.protected)?.name ?? creation.roles[0]?.name;
341
451
 
@@ -366,252 +476,136 @@ const resolveConnection = (
366
476
  return { uri: direct.uri, pooled: pooled.uri };
367
477
  });
368
478
 
369
- export const ProjectProvider = () =>
370
- Provider.effect(
371
- Project,
372
- Effect.gen(function* () {
373
- const rootDir = process.cwd();
479
+ class OperationFailed extends Data.TaggedError("OperationFailed")<{
480
+ operationId: string;
481
+ action: string;
482
+ status: NeonOperationStatus;
483
+ error?: string;
484
+ }> {}
374
485
 
375
- const createProjectName = (id: string, name: string | undefined) =>
376
- Effect.gen(function* () {
377
- return name ?? (yield* createPhysicalName({ id }));
378
- });
486
+ class OperationPending extends Data.TaggedError("OperationPending")<{
487
+ operationId: string;
488
+ }> {}
379
489
 
380
- return {
381
- stables: ["projectId", "defaultBranchId"],
382
- diff: Effect.fn(function* ({ id, olds = {}, news = {}, output }) {
383
- if (!isResolved(news)) return undefined;
384
- const name = yield* createProjectName(id, news.name);
385
- const oldName = output?.projectName
386
- ? output.projectName
387
- : yield* createProjectName(id, olds.name);
388
- if (
389
- oldName !== name ||
390
- (news.region ?? DEFAULT_REGION) !==
391
- (output?.region ?? olds.region ?? DEFAULT_REGION) ||
392
- (news.pgVersion ?? DEFAULT_PG_VERSION) !==
393
- (output?.pgVersion ?? olds.pgVersion ?? DEFAULT_PG_VERSION) ||
394
- (news.defaultBranchName ?? output?.defaultBranchName) !==
395
- output?.defaultBranchName
396
- ) {
397
- return { action: "replace" } as const;
398
- }
399
- if (
400
- (news.historyRetentionSeconds ?? 86400) !==
401
- (output?.historyRetentionSeconds ?? 86400)
402
- ) {
403
- return { action: "update" } as const;
404
- }
405
- if (
406
- (news.enableLogicalReplication ?? false) !==
407
- (output?.enableLogicalReplication ?? false)
408
- ) {
409
- return { action: "update" } as const;
410
- }
411
- if (news.migrationsDir) {
412
- const newHashes = yield* hashMigrations(news.migrationsDir);
413
- if (!recordsEqual(newHashes, output?.migrationsHashes ?? {})) {
414
- return { action: "update" } as const;
415
- }
416
- if (
417
- (news.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE) !==
418
- (output?.migrationsTable ?? DEFAULT_MIGRATIONS_TABLE)
419
- ) {
420
- return { action: "update" } as const;
490
+ type NeonOperationStatus =
491
+ | "scheduling"
492
+ | "running"
493
+ | "finished"
494
+ | "failed"
495
+ | "error"
496
+ | "cancelling"
497
+ | "cancelled"
498
+ | "skipped";
499
+
500
+ const isOperationComplete = (status: NeonOperationStatus): boolean =>
501
+ status === "finished" ||
502
+ status === "failed" ||
503
+ status === "error" ||
504
+ status === "cancelled" ||
505
+ status === "skipped";
506
+
507
+ /**
508
+ * Wait for the given operations to reach a terminal state. Polls every
509
+ * 500ms with exponential backoff up to ~30s per operation.
510
+ */
511
+ export const waitForOperations = (
512
+ operations: ReadonlyArray<{
513
+ readonly id: string;
514
+ readonly project_id: string;
515
+ readonly action: string;
516
+ readonly status: NeonOperationStatus;
517
+ readonly error?: string;
518
+ }>,
519
+ ) =>
520
+ Effect.gen(function* () {
521
+ for (const op of operations) {
522
+ if (isOperationComplete(op.status)) {
523
+ if (op.status === "failed" || op.status === "error") {
524
+ return yield* new OperationFailed({
525
+ operationId: op.id,
526
+ action: op.action,
527
+ status: op.status,
528
+ error: op.error,
529
+ });
530
+ }
531
+ continue;
532
+ }
533
+ yield* getProjectOperation({
534
+ project_id: op.project_id,
535
+ operation_id: op.id,
536
+ }).pipe(
537
+ Effect.flatMap(
538
+ ({
539
+ operation,
540
+ }): Effect.Effect<void, OperationFailed | OperationPending> => {
541
+ const status = operation.status as NeonOperationStatus;
542
+ if (status === "failed" || status === "error") {
543
+ return Effect.fail(
544
+ new OperationFailed({
545
+ operationId: operation.id,
546
+ action: operation.action,
547
+ status,
548
+ error: operation.error,
549
+ }),
550
+ );
421
551
  }
422
- }
423
- if (news.importFiles?.length) {
424
- const newHashes = yield* hashImports(news.importFiles, rootDir);
425
- if (!recordsEqual(newHashes, output?.importHashes ?? {})) {
426
- return { action: "update" } as const;
552
+ if (!isOperationComplete(status)) {
553
+ return Effect.fail(new OperationPending({ operationId: op.id }));
427
554
  }
428
- }
429
- return undefined;
430
- }),
431
- read: Effect.fn(function* ({ id, output, olds }) {
432
- if (output?.projectId) {
433
- return yield* getProject({ project_id: output.projectId }).pipe(
434
- Effect.map(({ project }) => ({
435
- ...output,
436
- projectName: project.name,
437
- historyRetentionSeconds: project.history_retention_seconds,
438
- enableLogicalReplication:
439
- project.settings?.enable_logical_replication === true,
440
- })),
441
- Effect.catchTag("NotFound", () => Effect.succeed(undefined)),
555
+ return Effect.void;
556
+ },
557
+ ),
558
+ Effect.retry({
559
+ while: (e: unknown) => {
560
+ const tag = (e as { _tag?: string })._tag;
561
+ return (
562
+ tag === "OperationPending" ||
563
+ tag === "TooManyRequests" ||
564
+ tag === "ServiceUnavailable" ||
565
+ tag === "InternalServerError" ||
566
+ tag === "BadGateway" ||
567
+ tag === "GatewayTimeout"
442
568
  );
443
- }
444
- const name = yield* createProjectName(id, olds?.name);
445
- const matches = yield* findProjectByName(name);
446
- const match = matches[0];
447
- if (!match) return undefined;
448
- const branches = yield* listProjectBranches({
449
- project_id: match.id,
450
- search: olds?.defaultBranchName ?? "main",
451
- });
452
- const defaultBranch =
453
- branches.branches.find((b) => b.default) ?? branches.branches[0];
454
- if (!defaultBranch) return undefined;
455
- const databases = yield* listProjectBranchDatabases({
456
- project_id: match.id,
457
- branch_id: defaultBranch.id,
458
- });
459
- const db = databases.databases[0];
460
- if (!db) return undefined;
461
- const conn = yield* resolveConnection(
462
- match.id,
463
- defaultBranch.id,
464
- db.name,
465
- db.owner_name,
466
- );
467
- return {
468
- projectId: match.id,
469
- projectName: match.name,
470
- region: match.region_id as NeonRegion,
471
- pgVersion: match.pg_version as NeonPgVersion,
472
- defaultBranchId: defaultBranch.id,
473
- defaultBranchName: defaultBranch.name,
474
- databaseName: db.name,
475
- roleName: db.owner_name,
476
- connectionUri: conn.uri,
477
- pooledConnectionUri: conn.pooled,
478
- origin: parsePostgresOrigin(conn.uri),
479
- historyRetentionSeconds: match.history_retention_seconds ?? 86400,
480
- enableLogicalReplication:
481
- match.settings?.enable_logical_replication === true,
482
- migrationsDir: olds?.migrationsDir,
483
- migrationsTable: olds?.migrationsTable,
484
- migrationsHashes: {},
485
- importHashes: {},
486
- };
569
+ },
570
+ schedule: Schedule.both(
571
+ Schedule.exponential(Duration.millis(500), 1.5),
572
+ Schedule.recurs(60),
573
+ ),
487
574
  }),
488
- reconcile: Effect.fn(function* ({ id, news = {}, output }) {
489
- // Ensure — when no prior output exists we create the project
490
- // (and let `read` upstream decide adoption); otherwise update
491
- // the mutable scalar fields on the existing project.
492
- const projectInfo = output
493
- ? yield* updateProject({
494
- project_id: output.projectId,
495
- project: {
496
- name: news.name,
497
- history_retention_seconds: news.historyRetentionSeconds,
498
- settings:
499
- (news.enableLogicalReplication ?? false) !==
500
- (output.enableLogicalReplication ?? false)
501
- ? {
502
- enable_logical_replication:
503
- news.enableLogicalReplication ?? false,
504
- }
505
- : undefined,
506
- },
507
- }).pipe(
508
- Effect.map((r) => ({
509
- projectId: output.projectId,
510
- projectName: r.project.name,
511
- region: output.region,
512
- pgVersion: output.pgVersion,
513
- defaultBranchId: output.defaultBranchId,
514
- defaultBranchName: output.defaultBranchName,
515
- databaseName: output.databaseName,
516
- roleName: output.roleName,
517
- connectionUri: output.connectionUri,
518
- pooledConnectionUri: output.pooledConnectionUri,
519
- origin: output.origin,
520
- historyRetentionSeconds:
521
- r.project.history_retention_seconds ??
522
- output.historyRetentionSeconds,
523
- enableLogicalReplication:
524
- r.project.settings?.enable_logical_replication === true,
525
- })),
526
- )
527
- : yield* Effect.gen(function* () {
528
- const name = yield* createProjectName(id, news.name);
529
- const created = yield* sdkCreateProject({
530
- project: {
531
- name,
532
- region_id: news.region,
533
- pg_version: news.pgVersion,
534
- branch: {
535
- name: news.defaultBranchName,
536
- role_name: news.roleName,
537
- database_name: news.databaseName,
538
- },
539
- history_retention_seconds: news.historyRetentionSeconds,
540
- org_id: news.orgId,
541
- settings: news.enableLogicalReplication
542
- ? { enable_logical_replication: true }
543
- : undefined,
544
- },
545
- });
546
- yield* waitForOperations(created.operations);
547
-
548
- const branchId = created.branch.id;
549
- const databaseName = getDatabaseName(created);
550
- const roleName = getRoleName(created) ?? "neondb_owner";
551
- const conn = yield* resolveConnection(
552
- created.project.id,
553
- branchId,
554
- databaseName,
555
- roleName,
556
- );
557
- return {
558
- projectId: created.project.id,
559
- projectName: created.project.name,
560
- region: created.project.region_id as NeonRegion,
561
- pgVersion: created.project.pg_version as NeonPgVersion,
562
- defaultBranchId: branchId,
563
- defaultBranchName: created.branch.name,
564
- databaseName,
565
- roleName,
566
- connectionUri: conn.uri,
567
- pooledConnectionUri: conn.pooled,
568
- origin: parsePostgresOrigin(conn.uri),
569
- historyRetentionSeconds:
570
- created.project.history_retention_seconds ?? 86400,
571
- enableLogicalReplication:
572
- created.project.settings?.enable_logical_replication ===
573
- true,
574
- };
575
- });
576
-
577
- const connectionUri = Redacted.make(projectInfo.connectionUri);
578
- const migrationsTable =
579
- news.migrationsTable ??
580
- output?.migrationsTable ??
581
- DEFAULT_MIGRATIONS_TABLE;
582
- const migrationsHashes = news.migrationsDir
583
- ? yield* runMigrations(
584
- connectionUri,
585
- news.migrationsDir,
586
- migrationsTable,
587
- )
588
- : (output?.migrationsHashes ?? {});
589
- const importHashes = news.importFiles?.length
590
- ? yield* runImports(
591
- connectionUri,
592
- news.importFiles,
593
- rootDir,
594
- output?.importHashes ?? {},
595
- )
596
- : {};
575
+ Effect.catchTag("OperationPending", () => Effect.void),
576
+ );
577
+ }
578
+ });
597
579
 
598
- return {
599
- ...projectInfo,
600
- migrationsDir: news.migrationsDir,
601
- migrationsTable: news.migrationsDir ? migrationsTable : undefined,
602
- migrationsHashes,
603
- importHashes,
604
- };
605
- }),
606
- delete: Effect.fn(function* ({ output }) {
607
- yield* deleteProject({ project_id: output.projectId }).pipe(
608
- Effect.tapError(Console.log),
609
- Effect.catchTag("NotFound", () => Effect.void),
610
- );
611
- }),
612
- };
613
- }),
614
- );
580
+ const findProjectByName = (name: string) =>
581
+ Effect.gen(function* () {
582
+ const matches: ListProjectsOutput["projects"][number][] = [];
583
+ let cursor: string | undefined;
584
+ while (true) {
585
+ const page = yield* listProjects({
586
+ search: name,
587
+ ...(cursor !== undefined ? { cursor } : {}),
588
+ });
589
+ for (const p of page.projects) {
590
+ if (p.name === name) matches.push(p);
591
+ }
592
+ const nextCursor = page.pagination?.cursor;
593
+ // Neon returns a `pagination.cursor` on every response — it's the
594
+ // `created_at` of the last row, not a "has next page" flag — so we
595
+ // can't loop on cursor presence alone or we spin forever re-fetching
596
+ // empty/identical pages. Stop once a page comes back empty or the
597
+ // cursor stops advancing.
598
+ if (
599
+ page.projects.length === 0 ||
600
+ nextCursor === undefined ||
601
+ nextCursor === cursor
602
+ ) {
603
+ break;
604
+ }
605
+ cursor = nextCursor;
606
+ }
607
+ return matches;
608
+ });
615
609
 
616
610
  const runMigrations = (
617
611
  connectionUri: Redacted.Redacted<string>,