alchemy 2.0.0-beta.36 → 2.0.0-beta.38

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 (741) hide show
  1. package/bin/exec.js +646 -104
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +1 -1
  4. package/lib/AWS/CloudWatch/common.d.ts +1 -1
  5. package/lib/AWS/Credentials.d.ts.map +1 -1
  6. package/lib/AWS/Credentials.js +1 -2
  7. package/lib/AWS/Credentials.js.map +1 -1
  8. package/lib/AWS/DynamoDB/Stream.d.ts.map +1 -1
  9. package/lib/AWS/DynamoDB/Stream.js +1 -1
  10. package/lib/AWS/DynamoDB/Stream.js.map +1 -1
  11. package/lib/AWS/EC2/Instance.d.ts +1 -1
  12. package/lib/AWS/EC2/hosted.d.ts +1 -1
  13. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  14. package/lib/AWS/EC2/hosted.js +3 -5
  15. package/lib/AWS/EC2/hosted.js.map +1 -1
  16. package/lib/AWS/ECS/Task.d.ts +1 -1
  17. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  18. package/lib/AWS/ECS/Task.js +3 -5
  19. package/lib/AWS/ECS/Task.js.map +1 -1
  20. package/lib/AWS/Endpoint.d.ts.map +1 -1
  21. package/lib/AWS/Endpoint.js +1 -2
  22. package/lib/AWS/Endpoint.js.map +1 -1
  23. package/lib/AWS/Environment.d.ts +2 -2
  24. package/lib/AWS/EventBridge/EventSource.d.ts.map +1 -1
  25. package/lib/AWS/EventBridge/EventSource.js +1 -1
  26. package/lib/AWS/EventBridge/EventSource.js.map +1 -1
  27. package/lib/AWS/Kinesis/StreamEventSource.d.ts.map +1 -1
  28. package/lib/AWS/Kinesis/StreamEventSource.js +1 -1
  29. package/lib/AWS/Kinesis/StreamEventSource.js.map +1 -1
  30. package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
  31. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
  32. package/lib/AWS/Lambda/Function.d.ts +1 -1
  33. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  34. package/lib/AWS/Lambda/Function.js +29 -13
  35. package/lib/AWS/Lambda/Function.js.map +1 -1
  36. package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
  37. package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
  38. package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
  39. package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
  40. package/lib/AWS/Organizations/common.d.ts +1 -1
  41. package/lib/AWS/Providers.d.ts.map +1 -1
  42. package/lib/AWS/Providers.js +21 -3
  43. package/lib/AWS/Providers.js.map +1 -1
  44. package/lib/AWS/Region.d.ts +1 -1
  45. package/lib/AWS/Region.d.ts.map +1 -1
  46. package/lib/AWS/Region.js +2 -3
  47. package/lib/AWS/Region.js.map +1 -1
  48. package/lib/AWS/S3/Bucket.d.ts.map +1 -1
  49. package/lib/AWS/S3/Bucket.js +5 -2
  50. package/lib/AWS/S3/Bucket.js.map +1 -1
  51. package/lib/AWS/S3/BucketNotifications.d.ts.map +1 -1
  52. package/lib/AWS/S3/BucketNotifications.js +1 -1
  53. package/lib/AWS/S3/BucketNotifications.js.map +1 -1
  54. package/lib/AWS/SNS/TopicEventSource.d.ts.map +1 -1
  55. package/lib/AWS/SNS/TopicEventSource.js +1 -1
  56. package/lib/AWS/SNS/TopicEventSource.js.map +1 -1
  57. package/lib/AWS/SQS/Queue.d.ts.map +1 -1
  58. package/lib/AWS/SQS/Queue.js +23 -5
  59. package/lib/AWS/SQS/Queue.js.map +1 -1
  60. package/lib/Action.d.ts +77 -0
  61. package/lib/Action.d.ts.map +1 -0
  62. package/lib/Action.js +89 -0
  63. package/lib/Action.js.map +1 -0
  64. package/lib/AlchemyContext.d.ts +1 -1
  65. package/lib/Apply.d.ts.map +1 -1
  66. package/lib/Apply.js +228 -4
  67. package/lib/Apply.js.map +1 -1
  68. package/lib/Artifacts.d.ts +1 -1
  69. package/lib/Artifacts.d.ts.map +1 -1
  70. package/lib/Artifacts.js +1 -1
  71. package/lib/Artifacts.js.map +1 -1
  72. package/lib/Auth/AuthProvider.js +1 -1
  73. package/lib/Auth/AuthProvider.js.map +1 -1
  74. package/lib/Auth/Env.d.ts.map +1 -1
  75. package/lib/Auth/Env.js +4 -12
  76. package/lib/Auth/Env.js.map +1 -1
  77. package/lib/Binding.d.ts.map +1 -1
  78. package/lib/Binding.js +5 -5
  79. package/lib/Binding.js.map +1 -1
  80. package/lib/Build/Command.d.ts +1 -1
  81. package/lib/Build/Memo.d.ts +1 -1
  82. package/lib/Bundle/Docker.d.ts +3 -3
  83. package/lib/Bundle/Docker.js +1 -1
  84. package/lib/Bundle/Docker.js.map +1 -1
  85. package/lib/Bundle/TempRoot.d.ts +3 -3
  86. package/lib/Cli/Event.d.ts +1 -1
  87. package/lib/Cli/Event.d.ts.map +1 -1
  88. package/lib/Cli/NamespaceTree.d.ts +11 -5
  89. package/lib/Cli/NamespaceTree.d.ts.map +1 -1
  90. package/lib/Cli/NamespaceTree.js +28 -1
  91. package/lib/Cli/NamespaceTree.js.map +1 -1
  92. package/lib/Cli/commands/_shared.d.ts +1 -1
  93. package/lib/Cli/commands/_shared.js +2 -2
  94. package/lib/Cli/commands/_shared.js.map +1 -1
  95. package/lib/Cli/commands/aws.d.ts +1 -1
  96. package/lib/Cli/commands/cloudflare.d.ts +2 -2
  97. package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
  98. package/lib/Cli/commands/deploy.d.ts +9 -9
  99. package/lib/Cli/commands/deploy.js +1 -1
  100. package/lib/Cli/commands/deploy.js.map +1 -1
  101. package/lib/Cli/commands/login.d.ts +1 -1
  102. package/lib/Cli/commands/logs.d.ts +1 -1
  103. package/lib/Cli/commands/logs.js.map +1 -1
  104. package/lib/Cli/commands/profile.d.ts +1 -3
  105. package/lib/Cli/commands/profile.d.ts.map +1 -1
  106. package/lib/Cli/commands/state.d.ts +1 -1
  107. package/lib/Cli/commands/state.d.ts.map +1 -1
  108. package/lib/Cli/commands/tail.d.ts +1 -1
  109. package/lib/Cli/commands/tail.js.map +1 -1
  110. package/lib/Cli/tui/components/Plan.d.ts.map +1 -1
  111. package/lib/Cli/tui/components/Plan.js +27 -13
  112. package/lib/Cli/tui/components/Plan.js.map +1 -1
  113. package/lib/Cli/tui/components/PlanProgress.d.ts +8 -1
  114. package/lib/Cli/tui/components/PlanProgress.d.ts.map +1 -1
  115. package/lib/Cli/tui/components/PlanProgress.js +95 -16
  116. package/lib/Cli/tui/components/PlanProgress.js.map +1 -1
  117. package/lib/Cloudflare/Access.js +0 -1
  118. package/lib/Cloudflare/Access.js.map +1 -1
  119. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts +54 -0
  120. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -0
  121. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +17 -0
  122. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -0
  123. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +37 -0
  124. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -0
  125. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +45 -0
  126. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -0
  127. package/lib/Cloudflare/AnalyticsEngine/index.d.ts +3 -0
  128. package/lib/Cloudflare/AnalyticsEngine/index.d.ts.map +1 -0
  129. package/lib/Cloudflare/AnalyticsEngine/index.js +3 -0
  130. package/lib/Cloudflare/AnalyticsEngine/index.js.map +1 -0
  131. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +1 -1
  132. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
  133. package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
  134. package/lib/Cloudflare/Container/Container.js +0 -1
  135. package/lib/Cloudflare/Container/Container.js.map +1 -1
  136. package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
  137. package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
  138. package/lib/Cloudflare/Container/ContainerApplication.js +4 -6
  139. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  140. package/lib/Cloudflare/Container/ContainerBinding.js +2 -2
  141. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  142. package/lib/Cloudflare/D1/D1Connection.d.ts +47 -3
  143. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  144. package/lib/Cloudflare/D1/D1Connection.js +62 -5
  145. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  146. package/lib/Cloudflare/D1/D1Database.d.ts +1 -1
  147. package/lib/Cloudflare/D1/D1SqlFile.d.ts +2 -2
  148. package/lib/Cloudflare/Email/EmailAddress.d.ts +45 -0
  149. package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -0
  150. package/lib/Cloudflare/Email/EmailAddress.js +99 -0
  151. package/lib/Cloudflare/Email/EmailAddress.js.map +1 -0
  152. package/lib/Cloudflare/Email/EmailRouting.d.ts +42 -0
  153. package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -0
  154. package/lib/Cloudflare/Email/EmailRouting.js +89 -0
  155. package/lib/Cloudflare/Email/EmailRouting.js.map +1 -0
  156. package/lib/Cloudflare/Email/EmailRule.d.ts +80 -0
  157. package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -0
  158. package/lib/Cloudflare/Email/EmailRule.js +110 -0
  159. package/lib/Cloudflare/Email/EmailRule.js.map +1 -0
  160. package/lib/Cloudflare/Email/SendEmail.d.ts +74 -0
  161. package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -0
  162. package/lib/Cloudflare/Email/SendEmail.js +19 -0
  163. package/lib/Cloudflare/Email/SendEmail.js.map +1 -0
  164. package/lib/Cloudflare/Email/SendEmailBinding.d.ts +64 -0
  165. package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -0
  166. package/lib/Cloudflare/Email/SendEmailBinding.js +54 -0
  167. package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -0
  168. package/lib/Cloudflare/Email/index.d.ts +6 -0
  169. package/lib/Cloudflare/Email/index.d.ts.map +1 -0
  170. package/lib/Cloudflare/Email/index.js +6 -0
  171. package/lib/Cloudflare/Email/index.js.map +1 -0
  172. package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts +1 -1
  173. package/lib/Cloudflare/Images/ImagesBinding.js +1 -1
  174. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
  175. package/lib/Cloudflare/KV/KVNamespaceBinding.js +1 -1
  176. package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
  177. package/lib/Cloudflare/Local/Sidecar.d.ts +1 -1
  178. package/lib/Cloudflare/Local/SidecarHandlers.d.ts +1 -1
  179. package/lib/Cloudflare/Local/SidecarHandlers.js +9 -1
  180. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
  181. package/lib/Cloudflare/Local/SidecarServer.js +1 -1
  182. package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
  183. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  184. package/lib/Cloudflare/Providers.js +9 -1
  185. package/lib/Cloudflare/Providers.js.map +1 -1
  186. package/lib/Cloudflare/Queue/QueueBinding.js +1 -1
  187. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  188. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  189. package/lib/Cloudflare/R2/R2Bucket.js +16 -0
  190. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  191. package/lib/Cloudflare/R2/R2BucketBinding.js +1 -1
  192. package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
  193. package/lib/Cloudflare/SecretsStore/SecretBinding.js +1 -1
  194. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  195. package/lib/Cloudflare/StateStore/Api.d.ts +7 -2
  196. package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
  197. package/lib/Cloudflare/StateStore/Api.js +23 -1
  198. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  199. package/lib/Cloudflare/StateStore/State.d.ts +2 -2
  200. package/lib/Cloudflare/StateStore/Store.d.ts +16 -1
  201. package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
  202. package/lib/Cloudflare/StateStore/Store.js +22 -5
  203. package/lib/Cloudflare/StateStore/Store.js.map +1 -1
  204. package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
  205. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  206. package/lib/Cloudflare/Workers/Assets.js +5 -4
  207. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  208. package/lib/Cloudflare/Workers/CronEventSource.d.ts +35 -0
  209. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -0
  210. package/lib/Cloudflare/Workers/CronEventSource.js +55 -0
  211. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -0
  212. package/lib/Cloudflare/Workers/InferEnv.d.ts +37 -2
  213. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  214. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  215. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +2 -1
  216. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  217. package/lib/Cloudflare/Workers/Rpc.d.ts +76 -3
  218. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  219. package/lib/Cloudflare/Workers/Rpc.js +197 -13
  220. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  221. package/lib/Cloudflare/Workers/Worker.d.ts +24 -4
  222. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  223. package/lib/Cloudflare/Workers/Worker.js +187 -45
  224. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  225. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +1 -1
  226. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  227. package/lib/Cloudflare/Workers/WorkerBundle.js +19 -11
  228. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  229. package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
  230. package/lib/Cloudflare/Workers/Workflow.d.ts +50 -47
  231. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  232. package/lib/Cloudflare/Workers/Workflow.js +43 -37
  233. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  234. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  235. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  236. package/lib/Cloudflare/Workers/index.js +1 -0
  237. package/lib/Cloudflare/Workers/index.js.map +1 -1
  238. package/lib/Cloudflare/index.d.ts +2 -0
  239. package/lib/Cloudflare/index.d.ts.map +1 -1
  240. package/lib/Cloudflare/index.js +2 -0
  241. package/lib/Cloudflare/index.js.map +1 -1
  242. package/lib/Construct.d.ts +3 -3
  243. package/lib/Construct.d.ts.map +1 -1
  244. package/lib/Construct.js.map +1 -1
  245. package/lib/Deploy.d.ts +5 -2
  246. package/lib/Deploy.d.ts.map +1 -1
  247. package/lib/Deploy.js +2 -2
  248. package/lib/Deploy.js.map +1 -1
  249. package/lib/Destroy.d.ts +5 -2
  250. package/lib/Destroy.d.ts.map +1 -1
  251. package/lib/Destroy.js +3 -2
  252. package/lib/Destroy.js.map +1 -1
  253. package/lib/Drizzle/Providers.d.ts +1 -1
  254. package/lib/Drizzle/Schema.d.ts +1 -1
  255. package/lib/GitHub/Providers.d.ts +1 -1
  256. package/lib/Http.d.ts +1 -1
  257. package/lib/Http.d.ts.map +1 -1
  258. package/lib/Http.js +1 -1
  259. package/lib/Http.js.map +1 -1
  260. package/lib/Namespace.d.ts.map +1 -1
  261. package/lib/Namespace.js +3 -4
  262. package/lib/Namespace.js.map +1 -1
  263. package/lib/Neon/Branch.d.ts +2 -2
  264. package/lib/Neon/Branch.d.ts.map +1 -1
  265. package/lib/Neon/Branch.js +59 -27
  266. package/lib/Neon/Branch.js.map +1 -1
  267. package/lib/Neon/Credentials.d.ts +2 -2
  268. package/lib/Neon/Credentials.d.ts.map +1 -1
  269. package/lib/Neon/Credentials.js +2 -2
  270. package/lib/Neon/Credentials.js.map +1 -1
  271. package/lib/Neon/NeonEnvironment.d.ts +1 -1
  272. package/lib/Neon/Project.d.ts +25 -1
  273. package/lib/Neon/Project.d.ts.map +1 -1
  274. package/lib/Neon/Project.js +121 -42
  275. package/lib/Neon/Project.js.map +1 -1
  276. package/lib/Neon/Providers.d.ts +1 -1
  277. package/lib/Neon/SqlFile.d.ts +2 -2
  278. package/lib/Output.d.ts +47 -8
  279. package/lib/Output.d.ts.map +1 -1
  280. package/lib/Output.js +106 -7
  281. package/lib/Output.js.map +1 -1
  282. package/lib/PhysicalName.d.ts +1 -1
  283. package/lib/Plan.d.ts +36 -1
  284. package/lib/Plan.d.ts.map +1 -1
  285. package/lib/Plan.js +284 -37
  286. package/lib/Plan.js.map +1 -1
  287. package/lib/Platform.d.ts.map +1 -1
  288. package/lib/Platform.js +22 -9
  289. package/lib/Platform.js.map +1 -1
  290. package/lib/Provider.d.ts +1 -1
  291. package/lib/Provider.d.ts.map +1 -1
  292. package/lib/Provider.js +1 -1
  293. package/lib/Provider.js.map +1 -1
  294. package/lib/Random.d.ts +1 -1
  295. package/lib/Random.d.ts.map +1 -1
  296. package/lib/Random.js +1 -1
  297. package/lib/Random.js.map +1 -1
  298. package/lib/Ref.d.ts +4 -1
  299. package/lib/Ref.d.ts.map +1 -1
  300. package/lib/Ref.js +1 -1
  301. package/lib/Ref.js.map +1 -1
  302. package/lib/Resource.d.ts +8 -0
  303. package/lib/Resource.d.ts.map +1 -1
  304. package/lib/Resource.js +12 -25
  305. package/lib/Resource.js.map +1 -1
  306. package/lib/Runtime.d.ts +24 -0
  307. package/lib/Runtime.d.ts.map +1 -0
  308. package/lib/Runtime.js +31 -0
  309. package/lib/Runtime.js.map +1 -0
  310. package/lib/RuntimeContext.d.ts +3 -1
  311. package/lib/RuntimeContext.d.ts.map +1 -1
  312. package/lib/RuntimeContext.js.map +1 -1
  313. package/lib/Secret.d.ts +50 -0
  314. package/lib/Secret.d.ts.map +1 -0
  315. package/lib/Secret.js +23 -0
  316. package/lib/Secret.js.map +1 -0
  317. package/lib/Serverless/Function.d.ts +9 -1
  318. package/lib/Serverless/Function.d.ts.map +1 -1
  319. package/lib/Sidecar/RpcClient.d.ts +1 -1
  320. package/lib/Sidecar/RpcPaths.d.ts +1 -1
  321. package/lib/Sidecar/RpcServer.d.ts +1 -1
  322. package/lib/Sidecar/RpcServices.d.ts +1 -1
  323. package/lib/Stack.d.ts +20 -6
  324. package/lib/Stack.d.ts.map +1 -1
  325. package/lib/Stack.js +35 -23
  326. package/lib/Stack.js.map +1 -1
  327. package/lib/State/ActionState.d.ts +48 -0
  328. package/lib/State/ActionState.d.ts.map +1 -0
  329. package/lib/State/ActionState.js +1 -0
  330. package/lib/State/ActionState.js.map +1 -0
  331. package/lib/State/HttpStateApi.d.ts +15 -1
  332. package/lib/State/HttpStateApi.d.ts.map +1 -1
  333. package/lib/State/HttpStateApi.js +11 -0
  334. package/lib/State/HttpStateApi.js.map +1 -1
  335. package/lib/State/HttpStateStore.d.ts.map +1 -1
  336. package/lib/State/HttpStateStore.js +12 -1
  337. package/lib/State/HttpStateStore.js.map +1 -1
  338. package/lib/State/InMemoryState.d.ts +2 -2
  339. package/lib/State/InMemoryState.d.ts.map +1 -1
  340. package/lib/State/InMemoryState.js +12 -6
  341. package/lib/State/InMemoryState.js.map +1 -1
  342. package/lib/State/LocalState.d.ts +2 -2
  343. package/lib/State/LocalState.d.ts.map +1 -1
  344. package/lib/State/LocalState.js +11 -2
  345. package/lib/State/LocalState.js.map +1 -1
  346. package/lib/State/ResourceState.d.ts +5 -0
  347. package/lib/State/ResourceState.d.ts.map +1 -1
  348. package/lib/State/State.d.ts +31 -2
  349. package/lib/State/State.d.ts.map +1 -1
  350. package/lib/State/State.js +2 -0
  351. package/lib/State/State.js.map +1 -1
  352. package/lib/State/index.d.ts +1 -0
  353. package/lib/State/index.d.ts.map +1 -1
  354. package/lib/State/index.js +1 -0
  355. package/lib/State/index.js.map +1 -1
  356. package/lib/Test/Bun.d.ts.map +1 -1
  357. package/lib/Test/Bun.js +30 -7
  358. package/lib/Test/Bun.js.map +1 -1
  359. package/lib/Test/Core.d.ts +19 -4
  360. package/lib/Test/Core.d.ts.map +1 -1
  361. package/lib/Test/Core.js +33 -12
  362. package/lib/Test/Core.js.map +1 -1
  363. package/lib/Test/Vitest.d.ts.map +1 -1
  364. package/lib/Test/Vitest.js +24 -5
  365. package/lib/Test/Vitest.js.map +1 -1
  366. package/lib/Util/FileLogger.d.ts +1 -1
  367. package/lib/Util/LocalhostDns.d.ts +14 -10
  368. package/lib/Util/LocalhostDns.d.ts.map +1 -1
  369. package/lib/Util/LocalhostDns.js +27 -36
  370. package/lib/Util/LocalhostDns.js.map +1 -1
  371. package/lib/Util/effect.d.ts +7 -0
  372. package/lib/Util/effect.d.ts.map +1 -1
  373. package/lib/Util/effect.js +10 -4
  374. package/lib/Util/effect.js.map +1 -1
  375. package/lib/Util/exec.d.ts.map +1 -0
  376. package/lib/Util/exec.js.map +1 -0
  377. package/lib/Util/hash.d.ts +8 -0
  378. package/lib/Util/hash.d.ts.map +1 -0
  379. package/lib/Util/hash.js +11 -0
  380. package/lib/Util/hash.js.map +1 -0
  381. package/lib/Util/ignore.d.ts +40 -0
  382. package/lib/Util/ignore.d.ts.map +1 -0
  383. package/lib/Util/ignore.js +591 -0
  384. package/lib/Util/ignore.js.map +1 -0
  385. package/lib/Variable.d.ts +29 -0
  386. package/lib/Variable.d.ts.map +1 -0
  387. package/lib/Variable.js +9 -0
  388. package/lib/Variable.js.map +1 -0
  389. package/lib/index.d.ts +4 -0
  390. package/lib/index.d.ts.map +1 -1
  391. package/lib/index.js +4 -0
  392. package/lib/index.js.map +1 -1
  393. package/lib/tsconfig.test.tsbuildinfo +1 -1
  394. package/package.json +22 -29
  395. package/src/AWS/Credentials.ts +1 -2
  396. package/src/AWS/DynamoDB/Stream.ts +1 -4
  397. package/src/AWS/EC2/hosted.ts +14 -16
  398. package/src/AWS/ECS/Task.ts +14 -16
  399. package/src/AWS/Endpoint.ts +2 -5
  400. package/src/AWS/EventBridge/EventSource.ts +1 -4
  401. package/src/AWS/Kinesis/StreamEventSource.ts +1 -4
  402. package/src/AWS/Lambda/Function.ts +47 -23
  403. package/src/AWS/Providers.ts +22 -3
  404. package/src/AWS/Region.ts +2 -3
  405. package/src/AWS/S3/Bucket.ts +7 -2
  406. package/src/AWS/S3/BucketNotifications.ts +1 -4
  407. package/src/AWS/SNS/TopicEventSource.ts +1 -4
  408. package/src/AWS/SQS/Queue.ts +40 -6
  409. package/src/Action.ts +280 -0
  410. package/src/Apply.ts +359 -24
  411. package/src/Artifacts.ts +2 -4
  412. package/src/Auth/AuthProvider.ts +1 -1
  413. package/src/Auth/Env.ts +12 -20
  414. package/src/Binding.ts +5 -9
  415. package/src/Bundle/Docker.ts +1 -1
  416. package/src/Cli/Event.ts +4 -0
  417. package/src/Cli/NamespaceTree.ts +52 -5
  418. package/src/Cli/commands/_shared.ts +2 -2
  419. package/src/Cli/commands/deploy.ts +1 -1
  420. package/src/Cli/commands/logs.ts +4 -4
  421. package/src/Cli/commands/tail.ts +4 -4
  422. package/src/Cli/tui/components/Plan.tsx +65 -17
  423. package/src/Cli/tui/components/PlanProgress.tsx +142 -32
  424. package/src/Cloudflare/Access.ts +1 -1
  425. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +82 -0
  426. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +106 -0
  427. package/src/Cloudflare/AnalyticsEngine/index.ts +2 -0
  428. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +1 -1
  429. package/src/Cloudflare/Container/Container.ts +1 -1
  430. package/src/Cloudflare/Container/ContainerApplication.ts +4 -6
  431. package/src/Cloudflare/Container/ContainerBinding.ts +2 -2
  432. package/src/Cloudflare/D1/D1Connection.ts +95 -12
  433. package/src/Cloudflare/Email/EmailAddress.ts +155 -0
  434. package/src/Cloudflare/Email/EmailRouting.ts +138 -0
  435. package/src/Cloudflare/Email/EmailRule.ts +210 -0
  436. package/src/Cloudflare/Email/SendEmail.ts +95 -0
  437. package/src/Cloudflare/Email/SendEmailBinding.ts +124 -0
  438. package/src/Cloudflare/Email/index.ts +5 -0
  439. package/src/Cloudflare/Images/ImagesBinding.ts +1 -1
  440. package/src/Cloudflare/KV/KVNamespaceBinding.ts +1 -1
  441. package/src/Cloudflare/Local/SidecarHandlers.ts +9 -1
  442. package/src/Cloudflare/Local/SidecarServer.ts +1 -1
  443. package/src/Cloudflare/Providers.ts +14 -0
  444. package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
  445. package/src/Cloudflare/R2/R2Bucket.ts +31 -0
  446. package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
  447. package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
  448. package/src/Cloudflare/StateStore/Api.ts +34 -1
  449. package/src/Cloudflare/StateStore/Store.ts +40 -10
  450. package/src/Cloudflare/Workers/Assets.ts +5 -6
  451. package/src/Cloudflare/Workers/CronEventSource.ts +89 -0
  452. package/src/Cloudflare/Workers/InferEnv.ts +94 -20
  453. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
  454. package/src/Cloudflare/Workers/Rpc.ts +227 -18
  455. package/src/Cloudflare/Workers/Worker.ts +294 -65
  456. package/src/Cloudflare/Workers/WorkerBundle.ts +19 -11
  457. package/src/Cloudflare/Workers/Workflow.ts +76 -72
  458. package/src/Cloudflare/Workers/index.ts +1 -0
  459. package/src/Cloudflare/index.ts +2 -0
  460. package/src/Construct.ts +3 -7
  461. package/src/Deploy.ts +5 -1
  462. package/src/Destroy.ts +6 -1
  463. package/src/Http.ts +1 -1
  464. package/src/Namespace.ts +4 -4
  465. package/src/Neon/Branch.ts +93 -59
  466. package/src/Neon/Credentials.ts +2 -2
  467. package/src/Neon/Project.ts +193 -64
  468. package/src/Output.ts +129 -18
  469. package/src/Plan.ts +375 -36
  470. package/src/Platform.ts +26 -11
  471. package/src/Provider.ts +8 -3
  472. package/src/Random.ts +1 -1
  473. package/src/Ref.ts +10 -5
  474. package/src/Resource.ts +24 -25
  475. package/src/Runtime.ts +38 -0
  476. package/src/RuntimeContext.ts +1 -0
  477. package/src/Secret.ts +87 -0
  478. package/src/Serverless/Function.ts +10 -1
  479. package/src/Stack.ts +62 -35
  480. package/src/State/ActionState.ts +51 -0
  481. package/src/State/HttpStateApi.ts +21 -0
  482. package/src/State/HttpStateStore.ts +27 -2
  483. package/src/State/InMemoryState.ts +31 -10
  484. package/src/State/LocalState.ts +28 -4
  485. package/src/State/ResourceState.ts +5 -0
  486. package/src/State/State.ts +38 -2
  487. package/src/State/index.ts +1 -0
  488. package/src/Test/Bun.ts +43 -7
  489. package/src/Test/Core.ts +33 -11
  490. package/src/Test/Vitest.ts +33 -4
  491. package/src/Util/LocalhostDns.ts +30 -36
  492. package/src/Util/effect.ts +29 -4
  493. package/src/Util/hash.ts +14 -0
  494. package/src/Util/ignore.ts +815 -0
  495. package/src/Variable.ts +44 -0
  496. package/src/index.ts +9 -0
  497. package/lib/Agent/Agent.d.ts +0 -9
  498. package/lib/Agent/Agent.d.ts.map +0 -1
  499. package/lib/Agent/Agent.js +0 -10
  500. package/lib/Agent/Agent.js.map +0 -1
  501. package/lib/Agent/Aspect.d.ts +0 -51
  502. package/lib/Agent/Aspect.d.ts.map +0 -1
  503. package/lib/Agent/Aspect.js +0 -45
  504. package/lib/Agent/Aspect.js.map +0 -1
  505. package/lib/Agent/AspectGraph.d.ts +0 -45
  506. package/lib/Agent/AspectGraph.d.ts.map +0 -1
  507. package/lib/Agent/AspectGraph.js +0 -39
  508. package/lib/Agent/AspectGraph.js.map +0 -1
  509. package/lib/Agent/ContextPlugin.d.ts +0 -8
  510. package/lib/Agent/ContextPlugin.d.ts.map +0 -1
  511. package/lib/Agent/ContextPlugin.js +0 -3
  512. package/lib/Agent/ContextPlugin.js.map +0 -1
  513. package/lib/Agent/Plugin.d.ts +0 -18
  514. package/lib/Agent/Plugin.d.ts.map +0 -1
  515. package/lib/Agent/Plugin.js +0 -8
  516. package/lib/Agent/Plugin.js.map +0 -1
  517. package/lib/Agent/chat/channel.d.ts +0 -9
  518. package/lib/Agent/chat/channel.d.ts.map +0 -1
  519. package/lib/Agent/chat/channel.js +0 -10
  520. package/lib/Agent/chat/channel.js.map +0 -1
  521. package/lib/Agent/chat/event.d.ts +0 -32
  522. package/lib/Agent/chat/event.d.ts.map +0 -1
  523. package/lib/Agent/chat/event.js +0 -32
  524. package/lib/Agent/chat/event.js.map +0 -1
  525. package/lib/Agent/chat/message.d.ts +0 -22
  526. package/lib/Agent/chat/message.d.ts.map +0 -1
  527. package/lib/Agent/chat/message.js +0 -31
  528. package/lib/Agent/chat/message.js.map +0 -1
  529. package/lib/Agent/chat/service.d.ts +0 -102
  530. package/lib/Agent/chat/service.d.ts.map +0 -1
  531. package/lib/Agent/chat/service.js +0 -79
  532. package/lib/Agent/chat/service.js.map +0 -1
  533. package/lib/Agent/chat/thread.d.ts +0 -13
  534. package/lib/Agent/chat/thread.d.ts.map +0 -1
  535. package/lib/Agent/chat/thread.js +0 -16
  536. package/lib/Agent/chat/thread.js.map +0 -1
  537. package/lib/Agent/coding/bash.d.ts +0 -36
  538. package/lib/Agent/coding/bash.d.ts.map +0 -1
  539. package/lib/Agent/coding/bash.js +0 -170
  540. package/lib/Agent/coding/bash.js.map +0 -1
  541. package/lib/Agent/coding/edit.d.ts +0 -31
  542. package/lib/Agent/coding/edit.d.ts.map +0 -1
  543. package/lib/Agent/coding/edit.js +0 -90
  544. package/lib/Agent/coding/edit.js.map +0 -1
  545. package/lib/Agent/coding/glob.d.ts +0 -23
  546. package/lib/Agent/coding/glob.d.ts.map +0 -1
  547. package/lib/Agent/coding/glob.js +0 -78
  548. package/lib/Agent/coding/glob.js.map +0 -1
  549. package/lib/Agent/coding/grep.d.ts +0 -26
  550. package/lib/Agent/coding/grep.d.ts.map +0 -1
  551. package/lib/Agent/coding/grep.js +0 -105
  552. package/lib/Agent/coding/grep.js.map +0 -1
  553. package/lib/Agent/coding/index.d.ts +0 -8
  554. package/lib/Agent/coding/index.d.ts.map +0 -1
  555. package/lib/Agent/coding/index.js +0 -8
  556. package/lib/Agent/coding/index.js.map +0 -1
  557. package/lib/Agent/coding/read.d.ts +0 -27
  558. package/lib/Agent/coding/read.d.ts.map +0 -1
  559. package/lib/Agent/coding/read.js +0 -89
  560. package/lib/Agent/coding/read.js.map +0 -1
  561. package/lib/Agent/coding/readlints.d.ts +0 -19
  562. package/lib/Agent/coding/readlints.d.ts.map +0 -1
  563. package/lib/Agent/coding/readlints.js +0 -53
  564. package/lib/Agent/coding/readlints.js.map +0 -1
  565. package/lib/Agent/coding/write.d.ts +0 -22
  566. package/lib/Agent/coding/write.d.ts.map +0 -1
  567. package/lib/Agent/coding/write.js +0 -53
  568. package/lib/Agent/coding/write.js.map +0 -1
  569. package/lib/Agent/fs/file.d.ts +0 -12
  570. package/lib/Agent/fs/file.d.ts.map +0 -1
  571. package/lib/Agent/fs/file.js +0 -8
  572. package/lib/Agent/fs/file.js.map +0 -1
  573. package/lib/Agent/fs/folder.d.ts +0 -5
  574. package/lib/Agent/fs/folder.d.ts.map +0 -1
  575. package/lib/Agent/fs/folder.js +0 -3
  576. package/lib/Agent/fs/folder.js.map +0 -1
  577. package/lib/Agent/index.d.ts +0 -9
  578. package/lib/Agent/index.d.ts.map +0 -1
  579. package/lib/Agent/index.js +0 -9
  580. package/lib/Agent/index.js.map +0 -1
  581. package/lib/Agent/llm/error.d.ts +0 -208
  582. package/lib/Agent/llm/error.d.ts.map +0 -1
  583. package/lib/Agent/llm/error.js +0 -209
  584. package/lib/Agent/llm/error.js.map +0 -1
  585. package/lib/Agent/llm/index.d.ts +0 -5
  586. package/lib/Agent/llm/index.d.ts.map +0 -1
  587. package/lib/Agent/llm/index.js +0 -5
  588. package/lib/Agent/llm/index.js.map +0 -1
  589. package/lib/Agent/llm/llm.d.ts +0 -32
  590. package/lib/Agent/llm/llm.d.ts.map +0 -1
  591. package/lib/Agent/llm/llm.js +0 -74
  592. package/lib/Agent/llm/llm.js.map +0 -1
  593. package/lib/Agent/llm/stream-collectors.d.ts +0 -46
  594. package/lib/Agent/llm/stream-collectors.d.ts.map +0 -1
  595. package/lib/Agent/llm/stream-collectors.js +0 -33
  596. package/lib/Agent/llm/stream-collectors.js.map +0 -1
  597. package/lib/Agent/llm/stream-text-part.d.ts +0 -5
  598. package/lib/Agent/llm/stream-text-part.d.ts.map +0 -1
  599. package/lib/Agent/llm/stream-text-part.js +0 -4
  600. package/lib/Agent/llm/stream-text-part.js.map +0 -1
  601. package/lib/Agent/lsp/client.d.ts +0 -122
  602. package/lib/Agent/lsp/client.d.ts.map +0 -1
  603. package/lib/Agent/lsp/client.js +0 -180
  604. package/lib/Agent/lsp/client.js.map +0 -1
  605. package/lib/Agent/lsp/diagnostics.d.ts +0 -16
  606. package/lib/Agent/lsp/diagnostics.d.ts.map +0 -1
  607. package/lib/Agent/lsp/diagnostics.js +0 -48
  608. package/lib/Agent/lsp/diagnostics.js.map +0 -1
  609. package/lib/Agent/lsp/jsonrpc.d.ts +0 -90
  610. package/lib/Agent/lsp/jsonrpc.d.ts.map +0 -1
  611. package/lib/Agent/lsp/jsonrpc.js +0 -178
  612. package/lib/Agent/lsp/jsonrpc.js.map +0 -1
  613. package/lib/Agent/lsp/manager.d.ts +0 -38
  614. package/lib/Agent/lsp/manager.d.ts.map +0 -1
  615. package/lib/Agent/lsp/manager.js +0 -98
  616. package/lib/Agent/lsp/manager.js.map +0 -1
  617. package/lib/Agent/lsp/servers.d.ts +0 -28
  618. package/lib/Agent/lsp/servers.d.ts.map +0 -1
  619. package/lib/Agent/lsp/servers.js +0 -21
  620. package/lib/Agent/lsp/servers.js.map +0 -1
  621. package/lib/Agent/process/driver.d.ts +0 -10
  622. package/lib/Agent/process/driver.d.ts.map +0 -1
  623. package/lib/Agent/process/driver.js +0 -153
  624. package/lib/Agent/process/driver.js.map +0 -1
  625. package/lib/Agent/process/issue-service.d.ts +0 -44
  626. package/lib/Agent/process/issue-service.d.ts.map +0 -1
  627. package/lib/Agent/process/issue-service.js +0 -28
  628. package/lib/Agent/process/issue-service.js.map +0 -1
  629. package/lib/Agent/process/issue-tools.d.ts +0 -28
  630. package/lib/Agent/process/issue-tools.d.ts.map +0 -1
  631. package/lib/Agent/process/issue-tools.js +0 -28
  632. package/lib/Agent/process/issue-tools.js.map +0 -1
  633. package/lib/Agent/process/issue.d.ts +0 -16
  634. package/lib/Agent/process/issue.d.ts.map +0 -1
  635. package/lib/Agent/process/issue.js +0 -17
  636. package/lib/Agent/process/issue.js.map +0 -1
  637. package/lib/Agent/process/organization.d.ts +0 -4
  638. package/lib/Agent/process/organization.d.ts.map +0 -1
  639. package/lib/Agent/process/organization.js +0 -3
  640. package/lib/Agent/process/organization.js.map +0 -1
  641. package/lib/Agent/process/process.d.ts +0 -5
  642. package/lib/Agent/process/process.d.ts.map +0 -1
  643. package/lib/Agent/process/process.js +0 -3
  644. package/lib/Agent/process/process.js.map +0 -1
  645. package/lib/Agent/process/reply.d.ts +0 -16
  646. package/lib/Agent/process/reply.d.ts.map +0 -1
  647. package/lib/Agent/process/reply.js +0 -18
  648. package/lib/Agent/process/reply.js.map +0 -1
  649. package/lib/Agent/process/task.d.ts +0 -25
  650. package/lib/Agent/process/task.d.ts.map +0 -1
  651. package/lib/Agent/process/task.js +0 -26
  652. package/lib/Agent/process/task.js.map +0 -1
  653. package/lib/Agent/tool/index.d.ts +0 -4
  654. package/lib/Agent/tool/index.d.ts.map +0 -1
  655. package/lib/Agent/tool/index.js +0 -4
  656. package/lib/Agent/tool/index.js.map +0 -1
  657. package/lib/Agent/tool/parameter.d.ts +0 -12
  658. package/lib/Agent/tool/parameter.d.ts.map +0 -1
  659. package/lib/Agent/tool/parameter.js +0 -6
  660. package/lib/Agent/tool/parameter.js.map +0 -1
  661. package/lib/Agent/tool/result.d.ts +0 -17
  662. package/lib/Agent/tool/result.d.ts.map +0 -1
  663. package/lib/Agent/tool/result.js +0 -6
  664. package/lib/Agent/tool/result.js.map +0 -1
  665. package/lib/Agent/tool/tool.d.ts +0 -32
  666. package/lib/Agent/tool/tool.d.ts.map +0 -1
  667. package/lib/Agent/tool/tool.js +0 -16
  668. package/lib/Agent/tool/tool.js.map +0 -1
  669. package/lib/Agent/util/command-validator.d.ts +0 -12
  670. package/lib/Agent/util/command-validator.d.ts.map +0 -1
  671. package/lib/Agent/util/command-validator.js +0 -74
  672. package/lib/Agent/util/command-validator.js.map +0 -1
  673. package/lib/Agent/util/exec.d.ts.map +0 -1
  674. package/lib/Agent/util/exec.js.map +0 -1
  675. package/lib/Agent/util/parser.d.ts +0 -5
  676. package/lib/Agent/util/parser.d.ts.map +0 -1
  677. package/lib/Agent/util/parser.js +0 -41
  678. package/lib/Agent/util/parser.js.map +0 -1
  679. package/lib/Agent/util/replace.d.ts +0 -38
  680. package/lib/Agent/util/replace.d.ts.map +0 -1
  681. package/lib/Agent/util/replace.js +0 -458
  682. package/lib/Agent/util/replace.js.map +0 -1
  683. package/lib/Agent/util/ripgrep.d.ts +0 -109
  684. package/lib/Agent/util/ripgrep.d.ts.map +0 -1
  685. package/lib/Agent/util/ripgrep.js +0 -221
  686. package/lib/Agent/util/ripgrep.js.map +0 -1
  687. package/lib/Neon/api.d.ts +0 -258
  688. package/lib/Neon/api.d.ts.map +0 -1
  689. package/lib/Neon/api.js +0 -215
  690. package/lib/Neon/api.js.map +0 -1
  691. package/src/Agent/Agent.ts +0 -26
  692. package/src/Agent/Aspect.ts +0 -173
  693. package/src/Agent/AspectGraph.ts +0 -98
  694. package/src/Agent/ContextPlugin.ts +0 -18
  695. package/src/Agent/Plugin.ts +0 -29
  696. package/src/Agent/chat/channel.ts +0 -26
  697. package/src/Agent/chat/event.ts +0 -43
  698. package/src/Agent/chat/message.ts +0 -35
  699. package/src/Agent/chat/service.ts +0 -133
  700. package/src/Agent/chat/thread.ts +0 -17
  701. package/src/Agent/coding/bash.ts +0 -197
  702. package/src/Agent/coding/edit.ts +0 -152
  703. package/src/Agent/coding/glob.ts +0 -96
  704. package/src/Agent/coding/grep.ts +0 -143
  705. package/src/Agent/coding/index.ts +0 -7
  706. package/src/Agent/coding/read.ts +0 -119
  707. package/src/Agent/coding/readlints.ts +0 -78
  708. package/src/Agent/coding/write.ts +0 -79
  709. package/src/Agent/fs/file.ts +0 -22
  710. package/src/Agent/fs/folder.ts +0 -16
  711. package/src/Agent/index.ts +0 -9
  712. package/src/Agent/llm/error.ts +0 -330
  713. package/src/Agent/llm/index.ts +0 -4
  714. package/src/Agent/llm/llm.ts +0 -131
  715. package/src/Agent/llm/stream-collectors.ts +0 -58
  716. package/src/Agent/llm/stream-text-part.ts +0 -7
  717. package/src/Agent/lsp/client.ts +0 -293
  718. package/src/Agent/lsp/diagnostics.ts +0 -64
  719. package/src/Agent/lsp/jsonrpc.ts +0 -317
  720. package/src/Agent/lsp/manager.ts +0 -213
  721. package/src/Agent/lsp/servers.ts +0 -37
  722. package/src/Agent/process/driver.ts +0 -168
  723. package/src/Agent/process/issue-service.ts +0 -48
  724. package/src/Agent/process/issue-tools.ts +0 -33
  725. package/src/Agent/process/issue.ts +0 -22
  726. package/src/Agent/process/organization.ts +0 -16
  727. package/src/Agent/process/process.ts +0 -16
  728. package/src/Agent/process/reply.ts +0 -21
  729. package/src/Agent/process/task.ts +0 -34
  730. package/src/Agent/tool/index.ts +0 -3
  731. package/src/Agent/tool/parameter.ts +0 -35
  732. package/src/Agent/tool/result.ts +0 -51
  733. package/src/Agent/tool/tool.ts +0 -74
  734. package/src/Agent/util/command-validator.ts +0 -98
  735. package/src/Agent/util/parser.ts +0 -39
  736. package/src/Agent/util/replace.ts +0 -559
  737. package/src/Agent/util/ripgrep.ts +0 -256
  738. package/src/Neon/api.ts +0 -579
  739. /package/lib/{Agent/util → Util}/exec.d.ts +0 -0
  740. /package/lib/{Agent/util → Util}/exec.js +0 -0
  741. /package/src/{Agent/util → Util}/exec.ts +0 -0
@@ -50,12 +50,21 @@ export class WorkflowStep extends Context.Service<
50
50
  * Execute a named, durable workflow step. The effect is run inside the
51
51
  * Cloudflare step transaction so its result is automatically persisted
52
52
  * and replayed on retries.
53
+ *
54
+ * Any services the inner effect requires (e.g. `WorkerEnvironment` from a
55
+ * binding like `kv.put` / `kv.get`) are threaded through automatically by
56
+ * capturing the surrounding workflow body's context and providing it to
57
+ * the inner effect before it runs inside `step.do`.
53
58
  */
54
- export const task = <T>(
59
+ export const task = <T, R = never>(
55
60
  name: string,
56
- effect: Effect.Effect<T>,
57
- ): Effect.Effect<T, never, WorkflowStep> =>
58
- WorkflowStep.asEffect().pipe(Effect.flatMap((step) => step.do(name, effect)));
61
+ effect: Effect.Effect<T, never, R>,
62
+ ): Effect.Effect<T, never, WorkflowStep | R> =>
63
+ Effect.gen(function* () {
64
+ const step = yield* WorkflowStep;
65
+ const context = yield* Effect.context<R>();
66
+ return yield* step.do(name, effect.pipe(Effect.provide(context)));
67
+ });
59
68
 
60
69
  /**
61
70
  * Pause the workflow for the given duration.
@@ -64,7 +73,7 @@ export const sleep = (
64
73
  name: string,
65
74
  duration: string | number,
66
75
  ): Effect.Effect<void, never, WorkflowStep> =>
67
- WorkflowStep.asEffect().pipe(
76
+ WorkflowStep.pipe(
68
77
  Effect.flatMap((step) => step.sleep(name, duration)),
69
78
  Effect.orDie,
70
79
  );
@@ -76,7 +85,7 @@ export const sleepUntil = (
76
85
  name: string,
77
86
  timestamp: Date | number,
78
87
  ): Effect.Effect<void, never, WorkflowStep> =>
79
- WorkflowStep.asEffect().pipe(
88
+ WorkflowStep.pipe(
80
89
  Effect.flatMap((step) => step.sleepUntil(name, timestamp)),
81
90
  Effect.orDie,
82
91
  );
@@ -103,20 +112,17 @@ export type WorkflowServices = WorkerServices | PlatformServices;
103
112
  */
104
113
  export interface WorkflowExport {
105
114
  readonly kind: "workflow";
106
- readonly make: (
107
- env: unknown,
108
- ) => Effect.Effect<Effect.Effect<unknown, never, WorkflowRunServices>>;
115
+ readonly make: (env: unknown) => Effect.Effect<WorkflowImpl<any, any>>;
109
116
  }
110
117
 
111
118
  /**
112
- * A workflow body is an Effect that requires WorkflowRunServices
113
- * (event + step) to execute.
119
+ * A workflow implementation is a function from a typed `Input` payload to
120
+ * an Effect that produces the workflow's `Result`. The Effect requires
121
+ * `WorkflowRunServices` (event + step + env) to execute.
114
122
  */
115
- export type WorkflowBody<Result = unknown> = Effect.Effect<
116
- Result,
117
- never,
118
- WorkflowRunServices
119
- >;
123
+ export type WorkflowImpl<Input = unknown, Result = unknown> = (
124
+ input: Input,
125
+ ) => Effect.Effect<Result, never, WorkflowRunServices>;
120
126
 
121
127
  export const isWorkflowExport = (value: unknown): value is WorkflowExport =>
122
128
  typeof value === "object" &&
@@ -141,24 +147,24 @@ export const isWorkflowBinding = (binding: {
141
147
  * Handle returned to the caller at deploy/bind time. Allows starting
142
148
  * workflow instances and checking their status from the Api layer.
143
149
  */
144
- export interface WorkflowHandle<Params = unknown> {
150
+ export interface WorkflowHandle<Input = unknown, Result = unknown> {
145
151
  Type: WorkflowTypeId;
146
152
  name: string;
147
- create(params?: Params): Effect.Effect<WorkflowInstance>;
148
- get(instanceId: string): Effect.Effect<WorkflowInstance>;
153
+ create(input: Input): Effect.Effect<WorkflowInstance<Result>>;
154
+ get(instanceId: string): Effect.Effect<WorkflowInstance<Result>>;
149
155
  }
150
156
 
151
- export interface WorkflowInstance {
157
+ export interface WorkflowInstance<Result = unknown> {
152
158
  id: string;
153
- status(): Effect.Effect<WorkflowInstanceStatus>;
159
+ status(): Effect.Effect<WorkflowInstanceStatus<Result>>;
154
160
  pause(): Effect.Effect<void>;
155
161
  resume(): Effect.Effect<void>;
156
162
  terminate(): Effect.Effect<void>;
157
163
  }
158
164
 
159
- export interface WorkflowInstanceStatus {
165
+ export interface WorkflowInstanceStatus<Result = unknown> {
160
166
  status: string;
161
- output?: unknown;
167
+ output?: Result;
162
168
  error?: { name: string; message: string } | null;
163
169
  }
164
170
 
@@ -168,22 +174,22 @@ export interface WorkflowClass extends Effect.Effect<
168
174
  WorkflowHandle
169
175
  > {
170
176
  <_Self>(): {
171
- <Result = unknown, InitReq = never>(
177
+ <Input = unknown, Result = unknown, InitReq = never>(
172
178
  name: string,
173
- impl: Effect.Effect<WorkflowBody<Result>, never, InitReq>,
179
+ impl: Effect.Effect<WorkflowImpl<Input, Result>, never, InitReq>,
174
180
  ): Effect.Effect<
175
- WorkflowHandle,
181
+ WorkflowHandle<Input, Result>,
176
182
  never,
177
183
  Worker | Exclude<InitReq, WorkflowServices>
178
184
  > & {
179
- new (_: never): WorkflowBody<Result>;
185
+ new (_: never): WorkflowImpl<Input, Result>;
180
186
  };
181
187
  };
182
- <Result = unknown, InitReq = never>(
188
+ <Input = unknown, Result = unknown, InitReq = never>(
183
189
  name: string,
184
- impl: Effect.Effect<WorkflowBody<Result>, never, InitReq>,
190
+ impl: Effect.Effect<WorkflowImpl<Input, Result>, never, InitReq>,
185
191
  ): Effect.Effect<
186
- WorkflowHandle,
192
+ WorkflowHandle<Input, Result>,
187
193
  never,
188
194
  Worker | Exclude<InitReq, WorkflowServices>
189
195
  >;
@@ -200,18 +206,18 @@ export class WorkflowScope extends Context.Service<
200
206
  *
201
207
  * A Workflow follows the same two-phase pattern as Workers and Durable
202
208
  * Objects. The outer `Effect.gen` resolves shared dependencies. The inner
203
- * `Effect.gen` is the workflow body — it reads the triggering event and
204
- * runs steps using `task`, `sleep`, and `sleepUntil`.
209
+ * `Effect.fn` is the workflow body — a function from a typed `input`
210
+ * payload to an Effect that runs steps using `task`, `sleep`, and
211
+ * `sleepUntil`.
205
212
  *
206
213
  * ```typescript
207
214
  * Effect.gen(function* () {
208
215
  * // Phase 1: resolve dependencies
209
216
  * const notifier = yield* NotificationService;
210
217
  *
211
- * return Effect.gen(function* () {
218
+ * return Effect.fn(function* (input: { orderId: string }) {
212
219
  * // Phase 2: workflow body (durable steps)
213
- * const event = yield* Cloudflare.WorkflowEvent;
214
- * const result = yield* Cloudflare.task("process", doWork(event.payload));
220
+ * const result = yield* Cloudflare.task("process", doWork(input.orderId));
215
221
  * yield* Cloudflare.sleep("cooldown", "10 seconds");
216
222
  * return result;
217
223
  * });
@@ -226,9 +232,8 @@ export class WorkflowScope extends Context.Service<
226
232
  * export default class MyWorkflow extends Cloudflare.Workflow<MyWorkflow>()(
227
233
  * "MyWorkflow",
228
234
  * Effect.gen(function* () {
229
- * return Effect.gen(function* () {
230
- * const event = yield* Cloudflare.WorkflowEvent;
231
- * return { received: event.payload };
235
+ * return Effect.fn(function* (input: { name: string }) {
236
+ * return { received: input.name };
232
237
  * });
233
238
  * }),
234
239
  * ) {}
@@ -248,33 +253,31 @@ export class WorkflowScope extends Context.Service<
248
253
  * yield* Cloudflare.sleep("cooldown", "30 seconds");
249
254
  * ```
250
255
  *
251
- * @example Accessing env bindings inside a step
252
- * `Cloudflare.WorkerEnvironment` is the same service available
253
- * inside a Worker — it gives you typed access to env bindings (KV,
254
- * R2, etc.) from inside a workflow body. Wrap any side-effecting
255
- * call in `task` so the result is persisted across replays.
256
+ * @example Accessing env bindings inside a task
257
+ * Bind a resource (e.g. `KVNamespace`, `R2Bucket`) in the workflow's
258
+ * outer init phase to get a typed Effect-native client, then use it
259
+ * directly inside `task`. `task` threads the binding's service
260
+ * requirement (`WorkerEnvironment`) through automatically so the inner
261
+ * Effect needs no extra plumbing.
256
262
  *
257
263
  * ```typescript
258
264
  * Effect.gen(function* () {
259
- * const env = yield* Cloudflare.WorkerEnvironment;
260
- * const event = yield* Cloudflare.WorkflowEvent;
261
- * const { roomId, message } = event.payload as {
262
- * roomId: string;
263
- * message: string;
264
- * };
265
+ * const kv = yield* Cloudflare.KVNamespace.bind(KV);
266
+ *
267
+ * return Effect.fn(function* (input: { roomId: string; message: string }) {
268
+ * const { roomId, message } = input;
265
269
  *
266
- * const stored = yield* Cloudflare.task(
267
- * "kv-roundtrip",
268
- * Effect.tryPromise({
269
- * try: async () => {
270
- * await env.KV.put(`workflow:${roomId}`, message);
271
- * return await env.KV.get(`workflow:${roomId}`);
272
- * },
273
- * catch: (cause) =>
274
- * cause instanceof Error ? cause : new Error(String(cause)),
275
- * }).pipe(Effect.orDie),
276
- * );
277
- * return stored;
270
+ * const stored = yield* Cloudflare.task(
271
+ * "kv-roundtrip",
272
+ * Effect.gen(function* () {
273
+ * const key = `workflow:${roomId}`;
274
+ * yield* kv.put(key, message);
275
+ * return yield* kv.get(key);
276
+ * }).pipe(Effect.orDie),
277
+ * );
278
+ *
279
+ * return stored;
280
+ * });
278
281
  * });
279
282
  * ```
280
283
  *
@@ -357,7 +360,7 @@ export class WorkflowScope extends Context.Service<
357
360
  * ```
358
361
  */
359
362
  export const Workflow: WorkflowClass = taggedFunction(WorkflowScope, ((
360
- ...args: [] | [name: string, impl: Effect.Effect<WorkflowBody>]
363
+ ...args: [] | [name: string, impl: Effect.Effect<WorkflowImpl<any, any>>]
361
364
  ) =>
362
365
  args.length === 0
363
366
  ? Workflow
@@ -404,11 +407,11 @@ export const Workflow: WorkflowClass = taggedFunction(WorkflowScope, ((
404
407
  }),
405
408
  );
406
409
 
407
- const self: WorkflowHandle = {
410
+ const self: WorkflowHandle<any, any> = {
408
411
  Type: WorkflowTypeId,
409
412
  name,
410
- create: (params?: unknown) =>
411
- Effect.tryPromise(() => binding.create({ params })).pipe(
413
+ create: (input: unknown) =>
414
+ Effect.tryPromise(() => binding.create({ params: input })).pipe(
412
415
  Effect.map(wrapInstance),
413
416
  Effect.orDie,
414
417
  ),
@@ -419,21 +422,22 @@ export const Workflow: WorkflowClass = taggedFunction(WorkflowScope, ((
419
422
  ),
420
423
  };
421
424
 
422
- const body = yield* impl.pipe(
425
+ const fn = yield* impl.pipe(
423
426
  Effect.provideService(WorkflowScope, self as any),
424
427
  );
425
428
 
426
429
  yield* worker.export(name, {
427
430
  kind: "workflow",
428
431
  make: (env: unknown) =>
429
- Effect.succeed(
430
- body.pipe(
432
+ Effect.succeed(((input: unknown) =>
433
+ fn(input).pipe(
431
434
  Effect.provideService(
432
435
  WorkerEnvironment,
433
436
  env as Record<string, any>,
434
437
  ),
435
- ),
436
- ).pipe(Effect.provideContext(services)),
438
+ )) as WorkflowImpl<any, any>).pipe(
439
+ Effect.provideContext(services),
440
+ ),
437
441
  } satisfies WorkflowExport);
438
442
 
439
443
  return self;
@@ -520,13 +524,13 @@ export const WorkflowProvider = () =>
520
524
  // Helpers
521
525
  // ---------------------------------------------------------------------------
522
526
 
523
- const wrapInstance = (raw: any): WorkflowInstance => ({
527
+ const wrapInstance = <Result>(raw: any): WorkflowInstance<Result> => ({
524
528
  id: raw.id,
525
529
  status: () =>
526
530
  Effect.tryPromise(() => raw.status()).pipe(
527
531
  Effect.map((s: any) => ({
528
532
  status: s.status as string,
529
- output: s.output,
533
+ output: s.output as Result,
530
534
  error: s.error,
531
535
  })),
532
536
  Effect.orDie,
@@ -1,5 +1,6 @@
1
1
  export * from "./Assets.ts";
2
2
  export * from "./ConfigProvider.ts";
3
+ export * from "./CronEventSource.ts";
3
4
  export * from "./DurableObjectNamespace.ts";
4
5
  export * from "./DurableObjectState.ts";
5
6
  export * from "./DurableObjectStorage.ts";
@@ -1,10 +1,12 @@
1
1
  export * from "./ApiToken/index.ts";
2
2
  export * from "./Artifacts/index.ts";
3
3
  export * from "./AiGateway/index.ts";
4
+ export * from "./AnalyticsEngine/index.ts";
4
5
  export * from "./CloudflareEnvironment.ts";
5
6
  export * from "./Container/index.ts";
6
7
  export * from "./D1/index.ts";
7
8
  export * from "./EdgeSession.ts";
9
+ export * from "./Email/index.ts";
8
10
  export * from "./Hyperdrive/index.ts";
9
11
  export * from "./Images/index.ts";
10
12
  export * from "./KV/index.ts";
package/src/Construct.ts CHANGED
@@ -49,11 +49,7 @@ import * as Namespace from "./Namespace.ts";
49
49
  * ```
50
50
  */
51
51
  export const fn: {
52
- <
53
- Eff extends Effect.Yieldable<any, any, any, any>,
54
- AEff,
55
- Props extends object,
56
- >(
52
+ <Eff extends Effect.Effect<any, any, any>, AEff, Props extends object>(
57
53
  body: (id: string, props: Props) => Generator<Eff, AEff, never>,
58
54
  ): (
59
55
  id: string,
@@ -62,12 +58,12 @@ export const fn: {
62
58
  AEff,
63
59
  [Eff] extends [never]
64
60
  ? never
65
- : [Eff] extends [Effect.Yieldable<infer _S, infer _A, infer E, infer _R>]
61
+ : [Eff] extends [Effect.Effect<infer _A, infer E, infer _R>]
66
62
  ? E
67
63
  : never,
68
64
  [Eff] extends [never]
69
65
  ? never
70
- : [Eff] extends [Effect.Yieldable<infer _S, infer _A, infer _E, infer R>]
66
+ : [Eff] extends [Effect.Effect<infer _A, infer _E, infer R>]
71
67
  ? R
72
68
  : never
73
69
  >;
package/src/Deploy.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as Effect from "effect/Effect";
2
+ import type * as Scope from "effect/Scope";
2
3
  import { AlchemyContext } from "./AlchemyContext.ts";
3
4
  import * as Apply from "./Apply.ts";
4
5
  import type { Input } from "./Input.ts";
@@ -10,10 +11,13 @@ export const deploy = <A>({
10
11
  stack,
11
12
  stage,
12
13
  dev,
14
+ scope,
13
15
  }: {
14
16
  stack: StackEffect<CompiledStack<A>, Stage | AlchemyContext>;
15
17
  stage: string;
16
18
  dev?: boolean;
19
+ /** See {@link evalStack} — when set, scoped resources outlive `deploy`. */
20
+ scope?: Scope.Scope;
17
21
  }) =>
18
22
  evalStack(
19
23
  stack,
@@ -23,5 +27,5 @@ export const deploy = <A>({
23
27
  const output = yield* Apply.apply(plan);
24
28
  return output as Input.Resolve<A>;
25
29
  }),
26
- { stage, dev },
30
+ { stage, dev, scope },
27
31
  );
package/src/Destroy.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Effect } from "effect";
2
+ import type * as Scope from "effect/Scope";
2
3
  import type { AlchemyContext } from "./AlchemyContext.ts";
3
4
  import * as Apply from "./Apply.ts";
4
5
  import * as Plan from "./Plan.ts";
@@ -10,10 +11,13 @@ export const destroy = ({
10
11
  stack,
11
12
  stage,
12
13
  dev,
14
+ scope,
13
15
  }: {
14
16
  stack: StackEffect<CompiledStack, Stage | AlchemyContext>;
15
17
  stage: string;
16
18
  dev?: boolean;
19
+ /** See {@link evalStack} — when set, scoped resources outlive `destroy`. */
20
+ scope?: Scope.Scope;
17
21
  }) =>
18
22
  evalStack(
19
23
  stack,
@@ -24,7 +28,8 @@ export const destroy = ({
24
28
  // TODO(sam): probably better to have Plan.destroy and Plan.update
25
29
  resources: {},
26
30
  bindings: {},
31
+ actions: {},
27
32
  output: {},
28
33
  }).pipe(Effect.flatMap(Apply.apply)),
29
- { stage, dev },
34
+ { stage, dev, scope },
30
35
  );
package/src/Http.ts CHANGED
@@ -80,7 +80,7 @@ export const safeHttpEffect = <Req = never>(
80
80
  export const resolvePort = (options: { port?: number } | undefined) =>
81
81
  options?.port !== undefined
82
82
  ? Effect.succeed(options.port)
83
- : Config.number("PORT").pipe(Config.withDefault(3000)).asEffect();
83
+ : Config.number("PORT").pipe(Config.withDefault(3000));
84
84
 
85
85
  export const BunHttpServer = () =>
86
86
  Layer.effect(
package/src/Namespace.ts CHANGED
@@ -40,10 +40,10 @@ export const set = (namespace: string | NamespaceNode) =>
40
40
  );
41
41
 
42
42
  export const CurrentNamespace = Effect.serviceOption(Namespace)
43
- .asEffect()
43
+
44
44
  .pipe(Effect.map(Option.getOrUndefined));
45
45
 
46
- export const CurrentChain = CurrentNamespace.asEffect().pipe(
46
+ export const CurrentChain = CurrentNamespace.pipe(
47
47
  Effect.map(function findRoot(ns): string[] {
48
48
  if (ns?.Parent) {
49
49
  return [ns.Id, ...findRoot(ns.Parent)];
@@ -52,9 +52,9 @@ export const CurrentChain = CurrentNamespace.asEffect().pipe(
52
52
  }),
53
53
  );
54
54
 
55
- export const Parent = Namespace.asEffect().pipe(Effect.map((ns) => ns?.Parent));
55
+ export const Parent = Namespace.pipe(Effect.map((ns) => ns?.Parent));
56
56
 
57
- export const Root = Namespace.asEffect().pipe(
57
+ export const Root = Namespace.pipe(
58
58
  Effect.map(function findRoot(ns) {
59
59
  if (ns.Parent) {
60
60
  return findRoot(ns.Parent);
@@ -1,16 +1,43 @@
1
+ import {
2
+ createProjectBranch,
3
+ deleteProjectBranch,
4
+ getConnectionURI,
5
+ getProjectBranch,
6
+ listProjectBranchDatabases,
7
+ listProjectBranches,
8
+ type ListProjectBranchesOutput,
9
+ updateProjectBranch,
10
+ } from "@distilled.cloud/neon";
1
11
  import * as Effect from "effect/Effect";
2
12
  import * as Redacted from "effect/Redacted";
3
13
  import { isResolved } from "../Diff.ts";
4
14
  import { createPhysicalName } from "../PhysicalName.ts";
5
15
  import * as Provider from "../Provider.ts";
6
16
  import { Resource } from "../Resource.ts";
7
- import * as api from "./api.ts";
8
17
  import { applyMigrations, runSql } from "./Migrations.ts";
9
18
  import { parsePostgresOrigin, type PostgresOrigin } from "./PostgresOrigin.ts";
10
- import type { Project } from "./Project.ts";
19
+ import { type Project, waitForOperations } from "./Project.ts";
11
20
  import type { Providers } from "./Providers.ts";
12
21
  import { listSqlFiles, readSqlFile } from "./SqlFile.ts";
13
22
 
23
+ const findBranchByName = (projectId: string, name: string) =>
24
+ Effect.gen(function* () {
25
+ const matches: ListProjectBranchesOutput["branches"][number][] = [];
26
+ let cursor: string | undefined;
27
+ do {
28
+ const page = yield* listProjectBranches({
29
+ project_id: projectId,
30
+ search: name,
31
+ ...(cursor !== undefined ? { cursor } : {}),
32
+ });
33
+ for (const b of page.branches) {
34
+ if (b.name === name) matches.push(b);
35
+ }
36
+ cursor = page.pagination?.next;
37
+ } while (cursor);
38
+ return matches;
39
+ });
40
+
14
41
  const DEFAULT_MIGRATIONS_TABLE = "neon_migrations";
15
42
 
16
43
  export type BranchSource =
@@ -202,7 +229,7 @@ const resolveParentBranchId = (
202
229
  return source.branchId as unknown as string;
203
230
  }
204
231
  if ("name" in source && source.name) {
205
- const matches = yield* api.findBranchByName(projectId, source.name);
232
+ const matches = yield* findBranchByName(projectId, source.name);
206
233
  if (matches.length === 0) {
207
234
  return yield* Effect.die(
208
235
  `Parent branch "${source.name}" not found in project ${projectId}`,
@@ -218,9 +245,7 @@ const resolveParentBranchId = (
218
245
  return undefined as string | undefined;
219
246
  });
220
247
 
221
- const buildEndpoints = (
222
- endpoints: BranchEndpointConfig[] | undefined,
223
- ): api.CreateBranchEndpoint[] => {
248
+ const buildEndpoints = (endpoints: BranchEndpointConfig[] | undefined) => {
224
249
  const list = endpoints ?? [{ type: "read_write" as const }];
225
250
  return list.map((e) => ({
226
251
  type: e.type,
@@ -237,13 +262,15 @@ const fetchConnection = (
237
262
  roleName: string,
238
263
  ) =>
239
264
  Effect.gen(function* () {
240
- const direct = yield* api.getConnectionUri(projectId, {
265
+ const direct = yield* getConnectionURI({
266
+ project_id: projectId,
241
267
  branch_id: branchId,
242
268
  database_name: databaseName,
243
269
  role_name: roleName,
244
270
  pooled: false,
245
271
  });
246
- const pooled = yield* api.getConnectionUri(projectId, {
272
+ const pooled = yield* getConnectionURI({
273
+ project_id: projectId,
247
274
  branch_id: branchId,
248
275
  database_name: databaseName,
249
276
  role_name: roleName,
@@ -318,31 +345,30 @@ export const BranchProvider = () =>
318
345
  }),
319
346
  read: Effect.fn(function* ({ id, output, olds }) {
320
347
  if (output?.branchId) {
321
- return yield* api
322
- .getProjectBranch(output.projectId, output.branchId)
323
- .pipe(
324
- Effect.map(({ branch }) => ({
325
- ...output,
326
- branchName: branch.name,
327
- protected: branch.protected,
328
- default: branch.default,
329
- expiresAt: branch.expires_at,
330
- })),
331
- Effect.catchTag("BranchNotFound", () =>
332
- Effect.succeed(undefined),
333
- ),
334
- );
348
+ return yield* getProjectBranch({
349
+ project_id: output.projectId,
350
+ branch_id: output.branchId,
351
+ }).pipe(
352
+ Effect.map(({ branch }) => ({
353
+ ...output,
354
+ branchName: branch.name,
355
+ protected: branch.protected,
356
+ default: branch.default,
357
+ expiresAt: branch.expires_at,
358
+ })),
359
+ Effect.catchTag("NotFound", () => Effect.succeed(undefined)),
360
+ );
335
361
  }
336
362
  if (!olds?.project) return undefined;
337
363
  const projectId = resolveProjectId(olds.project as BranchSource);
338
364
  const name = yield* createBranchName(id, olds.name);
339
- const matches = yield* api.findBranchByName(projectId, name);
365
+ const matches = yield* findBranchByName(projectId, name);
340
366
  const match = matches[0];
341
367
  if (!match) return undefined;
342
- const dbs = yield* api.listProjectBranchDatabases(
343
- projectId,
344
- match.id,
345
- );
368
+ const dbs = yield* listProjectBranchDatabases({
369
+ project_id: projectId,
370
+ branch_id: match.id,
371
+ });
346
372
  const db = dbs.databases[0];
347
373
  if (!db) return undefined;
348
374
  const conn = yield* fetchConnection(
@@ -383,31 +409,33 @@ export const BranchProvider = () =>
383
409
  // otherwise sync the mutable scalar fields on the existing
384
410
  // branch via updateProjectBranch.
385
411
  const branchInfo = output
386
- ? yield* api
387
- .updateProjectBranch(output.projectId, output.branchId, {
412
+ ? yield* updateProjectBranch({
413
+ project_id: output.projectId,
414
+ branch_id: output.branchId,
415
+ branch: {
388
416
  name: newName !== output.branchName ? newName : undefined,
389
417
  protected: news.protected,
390
418
  expires_at: news.expiresAt ?? null,
391
- })
392
- .pipe(
393
- Effect.map((r) => ({
394
- branchId: output.branchId,
395
- branchName: r.branch.name,
396
- projectId: output.projectId,
397
- parentBranchId: output.parentBranchId,
398
- parentLsn: output.parentLsn,
399
- parentTimestamp: output.parentTimestamp,
400
- initSource: output.initSource,
401
- protected: r.branch.protected,
402
- default: output.default,
403
- expiresAt: r.branch.expires_at,
404
- databaseName: output.databaseName,
405
- roleName: output.roleName,
406
- connectionUri: output.connectionUri,
407
- pooledConnectionUri: output.pooledConnectionUri,
408
- origin: output.origin,
409
- })),
410
- )
419
+ },
420
+ }).pipe(
421
+ Effect.map((r) => ({
422
+ branchId: output.branchId,
423
+ branchName: r.branch.name,
424
+ projectId: output.projectId,
425
+ parentBranchId: output.parentBranchId,
426
+ parentLsn: output.parentLsn,
427
+ parentTimestamp: output.parentTimestamp,
428
+ initSource: output.initSource,
429
+ protected: r.branch.protected,
430
+ default: output.default,
431
+ expiresAt: r.branch.expires_at,
432
+ databaseName: output.databaseName,
433
+ roleName: output.roleName,
434
+ connectionUri: output.connectionUri,
435
+ pooledConnectionUri: output.pooledConnectionUri,
436
+ origin: output.origin,
437
+ })),
438
+ )
411
439
  : yield* Effect.gen(function* () {
412
440
  const projectId = resolveProjectId(
413
441
  news.project as BranchSource,
@@ -416,17 +444,20 @@ export const BranchProvider = () =>
416
444
  news.parentBranch as ParentBranchSource | undefined,
417
445
  projectId,
418
446
  );
419
- const created = yield* api.createProjectBranch(projectId, {
420
- name: newName,
421
- parent_id: parentBranchId,
422
- parent_lsn: news.parentLsn,
423
- parent_timestamp: news.parentTimestamp,
424
- init_source: news.initSource,
425
- protected: news.protected,
426
- expires_at: news.expiresAt,
447
+ const created = yield* createProjectBranch({
448
+ project_id: projectId,
449
+ branch: {
450
+ name: newName,
451
+ parent_id: parentBranchId,
452
+ parent_lsn: news.parentLsn,
453
+ parent_timestamp: news.parentTimestamp,
454
+ init_source: news.initSource,
455
+ protected: news.protected,
456
+ expires_at: news.expiresAt,
457
+ },
427
458
  endpoints: buildEndpoints(news.endpoints),
428
459
  });
429
- yield* api.waitForOperations(created.operations);
460
+ yield* waitForOperations(created.operations);
430
461
 
431
462
  const db = created.databases[0];
432
463
  if (!db) {
@@ -492,7 +523,10 @@ export const BranchProvider = () =>
492
523
  };
493
524
  }),
494
525
  delete: Effect.fn(function* ({ output }) {
495
- yield* api.deleteProjectBranch(output.projectId, output.branchId);
526
+ yield* deleteProjectBranch({
527
+ project_id: output.projectId,
528
+ branch_id: output.branchId,
529
+ }).pipe(Effect.catchTag("NotFound", () => Effect.void));
496
530
  }),
497
531
  };
498
532
  }),