alchemy 2.0.0-beta.37 → 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 (633) hide show
  1. package/bin/exec.js +488 -69
  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 +7 -11
  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 +222 -3
  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/AnalyticsEngineDatasetBinding.js +1 -1
  120. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
  121. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +1 -1
  122. package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
  123. package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
  124. package/lib/Cloudflare/Container/Container.js +0 -1
  125. package/lib/Cloudflare/Container/Container.js.map +1 -1
  126. package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
  127. package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
  128. package/lib/Cloudflare/Container/ContainerApplication.js +4 -6
  129. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  130. package/lib/Cloudflare/Container/ContainerBinding.js +2 -2
  131. package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
  132. package/lib/Cloudflare/D1/D1Database.d.ts +1 -1
  133. package/lib/Cloudflare/D1/D1SqlFile.d.ts +2 -2
  134. package/lib/Cloudflare/Email/EmailAddress.d.ts +45 -0
  135. package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -0
  136. package/lib/Cloudflare/Email/EmailAddress.js +99 -0
  137. package/lib/Cloudflare/Email/EmailAddress.js.map +1 -0
  138. package/lib/Cloudflare/Email/EmailRouting.d.ts +42 -0
  139. package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -0
  140. package/lib/Cloudflare/Email/EmailRouting.js +89 -0
  141. package/lib/Cloudflare/Email/EmailRouting.js.map +1 -0
  142. package/lib/Cloudflare/Email/EmailRule.d.ts +80 -0
  143. package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -0
  144. package/lib/Cloudflare/Email/EmailRule.js +110 -0
  145. package/lib/Cloudflare/Email/EmailRule.js.map +1 -0
  146. package/lib/Cloudflare/Email/SendEmail.d.ts +74 -0
  147. package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -0
  148. package/lib/Cloudflare/Email/SendEmail.js +19 -0
  149. package/lib/Cloudflare/Email/SendEmail.js.map +1 -0
  150. package/lib/Cloudflare/Email/SendEmailBinding.d.ts +64 -0
  151. package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -0
  152. package/lib/Cloudflare/Email/SendEmailBinding.js +54 -0
  153. package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -0
  154. package/lib/Cloudflare/Email/index.d.ts +6 -0
  155. package/lib/Cloudflare/Email/index.d.ts.map +1 -0
  156. package/lib/Cloudflare/Email/index.js +6 -0
  157. package/lib/Cloudflare/Email/index.js.map +1 -0
  158. package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts +1 -1
  159. package/lib/Cloudflare/Images/ImagesBinding.js +1 -1
  160. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
  161. package/lib/Cloudflare/KV/KVNamespaceBinding.js +1 -1
  162. package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
  163. package/lib/Cloudflare/Local/Sidecar.d.ts +1 -1
  164. package/lib/Cloudflare/Local/SidecarHandlers.d.ts +1 -1
  165. package/lib/Cloudflare/Local/SidecarServer.js +1 -1
  166. package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
  167. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  168. package/lib/Cloudflare/Providers.js +6 -1
  169. package/lib/Cloudflare/Providers.js.map +1 -1
  170. package/lib/Cloudflare/Queue/QueueBinding.js +1 -1
  171. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
  172. package/lib/Cloudflare/R2/R2BucketBinding.js +1 -1
  173. package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
  174. package/lib/Cloudflare/SecretsStore/SecretBinding.js +1 -1
  175. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
  176. package/lib/Cloudflare/StateStore/Api.d.ts +1 -1
  177. package/lib/Cloudflare/StateStore/State.d.ts +2 -2
  178. package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
  179. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  180. package/lib/Cloudflare/Workers/Assets.js +5 -4
  181. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  182. package/lib/Cloudflare/Workers/Worker.d.ts +2 -2
  183. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  184. package/lib/Cloudflare/Workers/Worker.js +15 -4
  185. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  186. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +1 -1
  187. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  188. package/lib/Cloudflare/Workers/WorkerBundle.js +4 -6
  189. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  190. package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
  191. package/lib/Cloudflare/Workers/Workflow.js +2 -2
  192. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  193. package/lib/Cloudflare/index.d.ts +1 -0
  194. package/lib/Cloudflare/index.d.ts.map +1 -1
  195. package/lib/Cloudflare/index.js +1 -0
  196. package/lib/Cloudflare/index.js.map +1 -1
  197. package/lib/Construct.d.ts +3 -3
  198. package/lib/Construct.d.ts.map +1 -1
  199. package/lib/Construct.js.map +1 -1
  200. package/lib/Deploy.d.ts +1 -1
  201. package/lib/Destroy.d.ts +1 -1
  202. package/lib/Destroy.d.ts.map +1 -1
  203. package/lib/Destroy.js +1 -0
  204. package/lib/Destroy.js.map +1 -1
  205. package/lib/Drizzle/Providers.d.ts +1 -1
  206. package/lib/Drizzle/Schema.d.ts +1 -1
  207. package/lib/GitHub/Providers.d.ts +1 -1
  208. package/lib/Http.d.ts +1 -1
  209. package/lib/Http.d.ts.map +1 -1
  210. package/lib/Http.js +1 -1
  211. package/lib/Http.js.map +1 -1
  212. package/lib/Namespace.d.ts.map +1 -1
  213. package/lib/Namespace.js +3 -4
  214. package/lib/Namespace.js.map +1 -1
  215. package/lib/Neon/Branch.d.ts +2 -2
  216. package/lib/Neon/Branch.d.ts.map +1 -1
  217. package/lib/Neon/Branch.js +59 -27
  218. package/lib/Neon/Branch.js.map +1 -1
  219. package/lib/Neon/Credentials.d.ts +2 -2
  220. package/lib/Neon/Credentials.d.ts.map +1 -1
  221. package/lib/Neon/Credentials.js +2 -2
  222. package/lib/Neon/Credentials.js.map +1 -1
  223. package/lib/Neon/NeonEnvironment.d.ts +1 -1
  224. package/lib/Neon/Project.d.ts +25 -1
  225. package/lib/Neon/Project.d.ts.map +1 -1
  226. package/lib/Neon/Project.js +121 -42
  227. package/lib/Neon/Project.js.map +1 -1
  228. package/lib/Neon/Providers.d.ts +1 -1
  229. package/lib/Neon/SqlFile.d.ts +2 -2
  230. package/lib/Output.d.ts +3 -4
  231. package/lib/Output.d.ts.map +1 -1
  232. package/lib/Output.js +7 -4
  233. package/lib/Output.js.map +1 -1
  234. package/lib/PhysicalName.d.ts +1 -1
  235. package/lib/Plan.d.ts +36 -1
  236. package/lib/Plan.d.ts.map +1 -1
  237. package/lib/Plan.js +197 -31
  238. package/lib/Plan.js.map +1 -1
  239. package/lib/Platform.js +6 -6
  240. package/lib/Platform.js.map +1 -1
  241. package/lib/Provider.d.ts +1 -1
  242. package/lib/Provider.d.ts.map +1 -1
  243. package/lib/Provider.js +1 -1
  244. package/lib/Provider.js.map +1 -1
  245. package/lib/Random.d.ts +1 -1
  246. package/lib/Random.d.ts.map +1 -1
  247. package/lib/Random.js +1 -1
  248. package/lib/Random.js.map +1 -1
  249. package/lib/Resource.d.ts.map +1 -1
  250. package/lib/Resource.js +2 -25
  251. package/lib/Resource.js.map +1 -1
  252. package/lib/Runtime.d.ts +24 -0
  253. package/lib/Runtime.d.ts.map +1 -0
  254. package/lib/Runtime.js +31 -0
  255. package/lib/Runtime.js.map +1 -0
  256. package/lib/Secret.js +1 -1
  257. package/lib/Secret.js.map +1 -1
  258. package/lib/Sidecar/RpcClient.d.ts +1 -1
  259. package/lib/Sidecar/RpcPaths.d.ts +1 -1
  260. package/lib/Sidecar/RpcServer.d.ts +1 -1
  261. package/lib/Sidecar/RpcServices.d.ts +1 -1
  262. package/lib/Stack.d.ts +7 -2
  263. package/lib/Stack.d.ts.map +1 -1
  264. package/lib/Stack.js +4 -4
  265. package/lib/Stack.js.map +1 -1
  266. package/lib/State/ActionState.d.ts +48 -0
  267. package/lib/State/ActionState.d.ts.map +1 -0
  268. package/lib/State/ActionState.js +1 -0
  269. package/lib/State/ActionState.js.map +1 -0
  270. package/lib/State/HttpStateStore.d.ts.map +1 -1
  271. package/lib/State/HttpStateStore.js +1 -1
  272. package/lib/State/HttpStateStore.js.map +1 -1
  273. package/lib/State/InMemoryState.d.ts.map +1 -1
  274. package/lib/State/InMemoryState.js.map +1 -1
  275. package/lib/State/LocalState.d.ts +2 -2
  276. package/lib/State/ResourceState.d.ts +5 -0
  277. package/lib/State/ResourceState.d.ts.map +1 -1
  278. package/lib/State/State.d.ts +10 -2
  279. package/lib/State/State.d.ts.map +1 -1
  280. package/lib/State/State.js +2 -0
  281. package/lib/State/State.js.map +1 -1
  282. package/lib/State/index.d.ts +1 -0
  283. package/lib/State/index.d.ts.map +1 -1
  284. package/lib/State/index.js +1 -0
  285. package/lib/State/index.js.map +1 -1
  286. package/lib/Test/Core.d.ts +2 -2
  287. package/lib/Test/Core.d.ts.map +1 -1
  288. package/lib/Test/Core.js +4 -1
  289. package/lib/Test/Core.js.map +1 -1
  290. package/lib/Util/FileLogger.d.ts +1 -1
  291. package/lib/Util/effect.js +4 -4
  292. package/lib/Util/effect.js.map +1 -1
  293. package/lib/Util/exec.d.ts.map +1 -0
  294. package/lib/Util/exec.js.map +1 -0
  295. package/lib/Util/hash.d.ts +8 -0
  296. package/lib/Util/hash.d.ts.map +1 -0
  297. package/lib/Util/hash.js +11 -0
  298. package/lib/Util/hash.js.map +1 -0
  299. package/lib/Util/ignore.d.ts +40 -0
  300. package/lib/Util/ignore.d.ts.map +1 -0
  301. package/lib/Util/ignore.js +591 -0
  302. package/lib/Util/ignore.js.map +1 -0
  303. package/lib/index.d.ts +1 -0
  304. package/lib/index.d.ts.map +1 -1
  305. package/lib/index.js +1 -0
  306. package/lib/index.js.map +1 -1
  307. package/lib/tsconfig.test.tsbuildinfo +1 -1
  308. package/package.json +22 -28
  309. package/src/AWS/Credentials.ts +1 -2
  310. package/src/AWS/DynamoDB/Stream.ts +1 -4
  311. package/src/AWS/EC2/hosted.ts +14 -16
  312. package/src/AWS/ECS/Task.ts +14 -16
  313. package/src/AWS/Endpoint.ts +2 -5
  314. package/src/AWS/EventBridge/EventSource.ts +1 -4
  315. package/src/AWS/Kinesis/StreamEventSource.ts +1 -4
  316. package/src/AWS/Lambda/Function.ts +31 -35
  317. package/src/AWS/Providers.ts +22 -3
  318. package/src/AWS/Region.ts +2 -3
  319. package/src/AWS/S3/Bucket.ts +7 -2
  320. package/src/AWS/S3/BucketNotifications.ts +1 -4
  321. package/src/AWS/SNS/TopicEventSource.ts +1 -4
  322. package/src/AWS/SQS/Queue.ts +40 -6
  323. package/src/Action.ts +280 -0
  324. package/src/Apply.ts +351 -23
  325. package/src/Artifacts.ts +2 -4
  326. package/src/Auth/AuthProvider.ts +1 -1
  327. package/src/Auth/Env.ts +12 -20
  328. package/src/Binding.ts +5 -9
  329. package/src/Bundle/Docker.ts +1 -1
  330. package/src/Cli/Event.ts +4 -0
  331. package/src/Cli/NamespaceTree.ts +52 -5
  332. package/src/Cli/commands/_shared.ts +2 -2
  333. package/src/Cli/commands/deploy.ts +1 -1
  334. package/src/Cli/commands/logs.ts +4 -4
  335. package/src/Cli/commands/tail.ts +4 -4
  336. package/src/Cli/tui/components/Plan.tsx +65 -17
  337. package/src/Cli/tui/components/PlanProgress.tsx +142 -32
  338. package/src/Cloudflare/Access.ts +1 -1
  339. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +1 -1
  340. package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +1 -1
  341. package/src/Cloudflare/Container/Container.ts +1 -1
  342. package/src/Cloudflare/Container/ContainerApplication.ts +4 -6
  343. package/src/Cloudflare/Container/ContainerBinding.ts +2 -2
  344. package/src/Cloudflare/Email/EmailAddress.ts +155 -0
  345. package/src/Cloudflare/Email/EmailRouting.ts +138 -0
  346. package/src/Cloudflare/Email/EmailRule.ts +210 -0
  347. package/src/Cloudflare/Email/SendEmail.ts +95 -0
  348. package/src/Cloudflare/Email/SendEmailBinding.ts +124 -0
  349. package/src/Cloudflare/Email/index.ts +5 -0
  350. package/src/Cloudflare/Images/ImagesBinding.ts +1 -1
  351. package/src/Cloudflare/KV/KVNamespaceBinding.ts +1 -1
  352. package/src/Cloudflare/Local/SidecarServer.ts +1 -1
  353. package/src/Cloudflare/Providers.ts +9 -0
  354. package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
  355. package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
  356. package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
  357. package/src/Cloudflare/Workers/Assets.ts +5 -6
  358. package/src/Cloudflare/Workers/Worker.ts +19 -4
  359. package/src/Cloudflare/Workers/WorkerBundle.ts +4 -6
  360. package/src/Cloudflare/Workers/Workflow.ts +2 -2
  361. package/src/Cloudflare/index.ts +1 -0
  362. package/src/Construct.ts +3 -7
  363. package/src/Destroy.ts +1 -0
  364. package/src/Http.ts +1 -1
  365. package/src/Namespace.ts +4 -4
  366. package/src/Neon/Branch.ts +93 -59
  367. package/src/Neon/Credentials.ts +2 -2
  368. package/src/Neon/Project.ts +193 -64
  369. package/src/Output.ts +9 -7
  370. package/src/Plan.ts +303 -53
  371. package/src/Platform.ts +7 -7
  372. package/src/Provider.ts +8 -3
  373. package/src/Random.ts +1 -1
  374. package/src/Resource.ts +2 -25
  375. package/src/Runtime.ts +38 -0
  376. package/src/Secret.ts +1 -1
  377. package/src/Stack.ts +10 -6
  378. package/src/State/ActionState.ts +51 -0
  379. package/src/State/HttpStateStore.ts +6 -2
  380. package/src/State/InMemoryState.ts +3 -3
  381. package/src/State/ResourceState.ts +5 -0
  382. package/src/State/State.ts +17 -2
  383. package/src/State/index.ts +1 -0
  384. package/src/Test/Core.ts +4 -3
  385. package/src/Util/effect.ts +4 -4
  386. package/src/Util/hash.ts +14 -0
  387. package/src/Util/ignore.ts +815 -0
  388. package/src/index.ts +6 -0
  389. package/lib/Agent/Agent.d.ts +0 -9
  390. package/lib/Agent/Agent.d.ts.map +0 -1
  391. package/lib/Agent/Agent.js +0 -10
  392. package/lib/Agent/Agent.js.map +0 -1
  393. package/lib/Agent/Aspect.d.ts +0 -51
  394. package/lib/Agent/Aspect.d.ts.map +0 -1
  395. package/lib/Agent/Aspect.js +0 -45
  396. package/lib/Agent/Aspect.js.map +0 -1
  397. package/lib/Agent/AspectGraph.d.ts +0 -45
  398. package/lib/Agent/AspectGraph.d.ts.map +0 -1
  399. package/lib/Agent/AspectGraph.js +0 -39
  400. package/lib/Agent/AspectGraph.js.map +0 -1
  401. package/lib/Agent/ContextPlugin.d.ts +0 -8
  402. package/lib/Agent/ContextPlugin.d.ts.map +0 -1
  403. package/lib/Agent/ContextPlugin.js +0 -3
  404. package/lib/Agent/ContextPlugin.js.map +0 -1
  405. package/lib/Agent/Plugin.d.ts +0 -18
  406. package/lib/Agent/Plugin.d.ts.map +0 -1
  407. package/lib/Agent/Plugin.js +0 -8
  408. package/lib/Agent/Plugin.js.map +0 -1
  409. package/lib/Agent/chat/channel.d.ts +0 -9
  410. package/lib/Agent/chat/channel.d.ts.map +0 -1
  411. package/lib/Agent/chat/channel.js +0 -10
  412. package/lib/Agent/chat/channel.js.map +0 -1
  413. package/lib/Agent/chat/event.d.ts +0 -32
  414. package/lib/Agent/chat/event.d.ts.map +0 -1
  415. package/lib/Agent/chat/event.js +0 -32
  416. package/lib/Agent/chat/event.js.map +0 -1
  417. package/lib/Agent/chat/message.d.ts +0 -22
  418. package/lib/Agent/chat/message.d.ts.map +0 -1
  419. package/lib/Agent/chat/message.js +0 -31
  420. package/lib/Agent/chat/message.js.map +0 -1
  421. package/lib/Agent/chat/service.d.ts +0 -102
  422. package/lib/Agent/chat/service.d.ts.map +0 -1
  423. package/lib/Agent/chat/service.js +0 -79
  424. package/lib/Agent/chat/service.js.map +0 -1
  425. package/lib/Agent/chat/thread.d.ts +0 -13
  426. package/lib/Agent/chat/thread.d.ts.map +0 -1
  427. package/lib/Agent/chat/thread.js +0 -16
  428. package/lib/Agent/chat/thread.js.map +0 -1
  429. package/lib/Agent/coding/bash.d.ts +0 -36
  430. package/lib/Agent/coding/bash.d.ts.map +0 -1
  431. package/lib/Agent/coding/bash.js +0 -170
  432. package/lib/Agent/coding/bash.js.map +0 -1
  433. package/lib/Agent/coding/edit.d.ts +0 -31
  434. package/lib/Agent/coding/edit.d.ts.map +0 -1
  435. package/lib/Agent/coding/edit.js +0 -90
  436. package/lib/Agent/coding/edit.js.map +0 -1
  437. package/lib/Agent/coding/glob.d.ts +0 -23
  438. package/lib/Agent/coding/glob.d.ts.map +0 -1
  439. package/lib/Agent/coding/glob.js +0 -78
  440. package/lib/Agent/coding/glob.js.map +0 -1
  441. package/lib/Agent/coding/grep.d.ts +0 -26
  442. package/lib/Agent/coding/grep.d.ts.map +0 -1
  443. package/lib/Agent/coding/grep.js +0 -105
  444. package/lib/Agent/coding/grep.js.map +0 -1
  445. package/lib/Agent/coding/index.d.ts +0 -8
  446. package/lib/Agent/coding/index.d.ts.map +0 -1
  447. package/lib/Agent/coding/index.js +0 -8
  448. package/lib/Agent/coding/index.js.map +0 -1
  449. package/lib/Agent/coding/read.d.ts +0 -27
  450. package/lib/Agent/coding/read.d.ts.map +0 -1
  451. package/lib/Agent/coding/read.js +0 -89
  452. package/lib/Agent/coding/read.js.map +0 -1
  453. package/lib/Agent/coding/readlints.d.ts +0 -19
  454. package/lib/Agent/coding/readlints.d.ts.map +0 -1
  455. package/lib/Agent/coding/readlints.js +0 -53
  456. package/lib/Agent/coding/readlints.js.map +0 -1
  457. package/lib/Agent/coding/write.d.ts +0 -22
  458. package/lib/Agent/coding/write.d.ts.map +0 -1
  459. package/lib/Agent/coding/write.js +0 -53
  460. package/lib/Agent/coding/write.js.map +0 -1
  461. package/lib/Agent/fs/file.d.ts +0 -12
  462. package/lib/Agent/fs/file.d.ts.map +0 -1
  463. package/lib/Agent/fs/file.js +0 -8
  464. package/lib/Agent/fs/file.js.map +0 -1
  465. package/lib/Agent/fs/folder.d.ts +0 -5
  466. package/lib/Agent/fs/folder.d.ts.map +0 -1
  467. package/lib/Agent/fs/folder.js +0 -3
  468. package/lib/Agent/fs/folder.js.map +0 -1
  469. package/lib/Agent/index.d.ts +0 -9
  470. package/lib/Agent/index.d.ts.map +0 -1
  471. package/lib/Agent/index.js +0 -9
  472. package/lib/Agent/index.js.map +0 -1
  473. package/lib/Agent/llm/error.d.ts +0 -208
  474. package/lib/Agent/llm/error.d.ts.map +0 -1
  475. package/lib/Agent/llm/error.js +0 -209
  476. package/lib/Agent/llm/error.js.map +0 -1
  477. package/lib/Agent/llm/index.d.ts +0 -5
  478. package/lib/Agent/llm/index.d.ts.map +0 -1
  479. package/lib/Agent/llm/index.js +0 -5
  480. package/lib/Agent/llm/index.js.map +0 -1
  481. package/lib/Agent/llm/llm.d.ts +0 -32
  482. package/lib/Agent/llm/llm.d.ts.map +0 -1
  483. package/lib/Agent/llm/llm.js +0 -74
  484. package/lib/Agent/llm/llm.js.map +0 -1
  485. package/lib/Agent/llm/stream-collectors.d.ts +0 -46
  486. package/lib/Agent/llm/stream-collectors.d.ts.map +0 -1
  487. package/lib/Agent/llm/stream-collectors.js +0 -33
  488. package/lib/Agent/llm/stream-collectors.js.map +0 -1
  489. package/lib/Agent/llm/stream-text-part.d.ts +0 -5
  490. package/lib/Agent/llm/stream-text-part.d.ts.map +0 -1
  491. package/lib/Agent/llm/stream-text-part.js +0 -4
  492. package/lib/Agent/llm/stream-text-part.js.map +0 -1
  493. package/lib/Agent/lsp/client.d.ts +0 -122
  494. package/lib/Agent/lsp/client.d.ts.map +0 -1
  495. package/lib/Agent/lsp/client.js +0 -180
  496. package/lib/Agent/lsp/client.js.map +0 -1
  497. package/lib/Agent/lsp/diagnostics.d.ts +0 -16
  498. package/lib/Agent/lsp/diagnostics.d.ts.map +0 -1
  499. package/lib/Agent/lsp/diagnostics.js +0 -48
  500. package/lib/Agent/lsp/diagnostics.js.map +0 -1
  501. package/lib/Agent/lsp/jsonrpc.d.ts +0 -90
  502. package/lib/Agent/lsp/jsonrpc.d.ts.map +0 -1
  503. package/lib/Agent/lsp/jsonrpc.js +0 -178
  504. package/lib/Agent/lsp/jsonrpc.js.map +0 -1
  505. package/lib/Agent/lsp/manager.d.ts +0 -38
  506. package/lib/Agent/lsp/manager.d.ts.map +0 -1
  507. package/lib/Agent/lsp/manager.js +0 -98
  508. package/lib/Agent/lsp/manager.js.map +0 -1
  509. package/lib/Agent/lsp/servers.d.ts +0 -28
  510. package/lib/Agent/lsp/servers.d.ts.map +0 -1
  511. package/lib/Agent/lsp/servers.js +0 -21
  512. package/lib/Agent/lsp/servers.js.map +0 -1
  513. package/lib/Agent/process/driver.d.ts +0 -10
  514. package/lib/Agent/process/driver.d.ts.map +0 -1
  515. package/lib/Agent/process/driver.js +0 -153
  516. package/lib/Agent/process/driver.js.map +0 -1
  517. package/lib/Agent/process/issue-service.d.ts +0 -44
  518. package/lib/Agent/process/issue-service.d.ts.map +0 -1
  519. package/lib/Agent/process/issue-service.js +0 -28
  520. package/lib/Agent/process/issue-service.js.map +0 -1
  521. package/lib/Agent/process/issue-tools.d.ts +0 -28
  522. package/lib/Agent/process/issue-tools.d.ts.map +0 -1
  523. package/lib/Agent/process/issue-tools.js +0 -28
  524. package/lib/Agent/process/issue-tools.js.map +0 -1
  525. package/lib/Agent/process/issue.d.ts +0 -16
  526. package/lib/Agent/process/issue.d.ts.map +0 -1
  527. package/lib/Agent/process/issue.js +0 -17
  528. package/lib/Agent/process/issue.js.map +0 -1
  529. package/lib/Agent/process/organization.d.ts +0 -4
  530. package/lib/Agent/process/organization.d.ts.map +0 -1
  531. package/lib/Agent/process/organization.js +0 -3
  532. package/lib/Agent/process/organization.js.map +0 -1
  533. package/lib/Agent/process/process.d.ts +0 -5
  534. package/lib/Agent/process/process.d.ts.map +0 -1
  535. package/lib/Agent/process/process.js +0 -3
  536. package/lib/Agent/process/process.js.map +0 -1
  537. package/lib/Agent/process/reply.d.ts +0 -16
  538. package/lib/Agent/process/reply.d.ts.map +0 -1
  539. package/lib/Agent/process/reply.js +0 -18
  540. package/lib/Agent/process/reply.js.map +0 -1
  541. package/lib/Agent/process/task.d.ts +0 -25
  542. package/lib/Agent/process/task.d.ts.map +0 -1
  543. package/lib/Agent/process/task.js +0 -26
  544. package/lib/Agent/process/task.js.map +0 -1
  545. package/lib/Agent/tool/index.d.ts +0 -4
  546. package/lib/Agent/tool/index.d.ts.map +0 -1
  547. package/lib/Agent/tool/index.js +0 -4
  548. package/lib/Agent/tool/index.js.map +0 -1
  549. package/lib/Agent/tool/parameter.d.ts +0 -12
  550. package/lib/Agent/tool/parameter.d.ts.map +0 -1
  551. package/lib/Agent/tool/parameter.js +0 -6
  552. package/lib/Agent/tool/parameter.js.map +0 -1
  553. package/lib/Agent/tool/result.d.ts +0 -17
  554. package/lib/Agent/tool/result.d.ts.map +0 -1
  555. package/lib/Agent/tool/result.js +0 -6
  556. package/lib/Agent/tool/result.js.map +0 -1
  557. package/lib/Agent/tool/tool.d.ts +0 -32
  558. package/lib/Agent/tool/tool.d.ts.map +0 -1
  559. package/lib/Agent/tool/tool.js +0 -16
  560. package/lib/Agent/tool/tool.js.map +0 -1
  561. package/lib/Agent/util/command-validator.d.ts +0 -12
  562. package/lib/Agent/util/command-validator.d.ts.map +0 -1
  563. package/lib/Agent/util/command-validator.js +0 -74
  564. package/lib/Agent/util/command-validator.js.map +0 -1
  565. package/lib/Agent/util/exec.d.ts.map +0 -1
  566. package/lib/Agent/util/exec.js.map +0 -1
  567. package/lib/Agent/util/parser.d.ts +0 -5
  568. package/lib/Agent/util/parser.d.ts.map +0 -1
  569. package/lib/Agent/util/parser.js +0 -41
  570. package/lib/Agent/util/parser.js.map +0 -1
  571. package/lib/Agent/util/replace.d.ts +0 -38
  572. package/lib/Agent/util/replace.d.ts.map +0 -1
  573. package/lib/Agent/util/replace.js +0 -458
  574. package/lib/Agent/util/replace.js.map +0 -1
  575. package/lib/Agent/util/ripgrep.d.ts +0 -109
  576. package/lib/Agent/util/ripgrep.d.ts.map +0 -1
  577. package/lib/Agent/util/ripgrep.js +0 -221
  578. package/lib/Agent/util/ripgrep.js.map +0 -1
  579. package/lib/Neon/api.d.ts +0 -258
  580. package/lib/Neon/api.d.ts.map +0 -1
  581. package/lib/Neon/api.js +0 -215
  582. package/lib/Neon/api.js.map +0 -1
  583. package/src/Agent/Agent.ts +0 -26
  584. package/src/Agent/Aspect.ts +0 -173
  585. package/src/Agent/AspectGraph.ts +0 -98
  586. package/src/Agent/ContextPlugin.ts +0 -18
  587. package/src/Agent/Plugin.ts +0 -29
  588. package/src/Agent/chat/channel.ts +0 -26
  589. package/src/Agent/chat/event.ts +0 -43
  590. package/src/Agent/chat/message.ts +0 -35
  591. package/src/Agent/chat/service.ts +0 -133
  592. package/src/Agent/chat/thread.ts +0 -17
  593. package/src/Agent/coding/bash.ts +0 -197
  594. package/src/Agent/coding/edit.ts +0 -152
  595. package/src/Agent/coding/glob.ts +0 -96
  596. package/src/Agent/coding/grep.ts +0 -143
  597. package/src/Agent/coding/index.ts +0 -7
  598. package/src/Agent/coding/read.ts +0 -119
  599. package/src/Agent/coding/readlints.ts +0 -78
  600. package/src/Agent/coding/write.ts +0 -79
  601. package/src/Agent/fs/file.ts +0 -22
  602. package/src/Agent/fs/folder.ts +0 -16
  603. package/src/Agent/index.ts +0 -9
  604. package/src/Agent/llm/error.ts +0 -330
  605. package/src/Agent/llm/index.ts +0 -4
  606. package/src/Agent/llm/llm.ts +0 -131
  607. package/src/Agent/llm/stream-collectors.ts +0 -58
  608. package/src/Agent/llm/stream-text-part.ts +0 -7
  609. package/src/Agent/lsp/client.ts +0 -293
  610. package/src/Agent/lsp/diagnostics.ts +0 -64
  611. package/src/Agent/lsp/jsonrpc.ts +0 -317
  612. package/src/Agent/lsp/manager.ts +0 -213
  613. package/src/Agent/lsp/servers.ts +0 -37
  614. package/src/Agent/process/driver.ts +0 -168
  615. package/src/Agent/process/issue-service.ts +0 -48
  616. package/src/Agent/process/issue-tools.ts +0 -33
  617. package/src/Agent/process/issue.ts +0 -22
  618. package/src/Agent/process/organization.ts +0 -16
  619. package/src/Agent/process/process.ts +0 -16
  620. package/src/Agent/process/reply.ts +0 -21
  621. package/src/Agent/process/task.ts +0 -34
  622. package/src/Agent/tool/index.ts +0 -3
  623. package/src/Agent/tool/parameter.ts +0 -35
  624. package/src/Agent/tool/result.ts +0 -51
  625. package/src/Agent/tool/tool.ts +0 -74
  626. package/src/Agent/util/command-validator.ts +0 -98
  627. package/src/Agent/util/parser.ts +0 -39
  628. package/src/Agent/util/replace.ts +0 -559
  629. package/src/Agent/util/ripgrep.ts +0 -256
  630. package/src/Neon/api.ts +0 -579
  631. /package/lib/{Agent/util → Util}/exec.d.ts +0 -0
  632. /package/lib/{Agent/util → Util}/exec.js +0 -0
  633. /package/src/{Agent/util → Util}/exec.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/AWS/SQS/Queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/AWS/SQS/Queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import * as Context from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import type { Pipeable } from "effect/Pipeable";
5
+ import type { Input } from "./Input.ts";
6
+ import { type NamespaceNode } from "./Namespace.ts";
7
+ import * as Output from "./Output.ts";
8
+ import { Stack } from "./Stack.ts";
9
+ /**
10
+ * An Action is a node in the dependency graph that runs an Effect with its
11
+ * resolved input during {@link plan}/{@link apply}. It is similar to a
12
+ * Resource but without a Provider lifecycle:
13
+ *
14
+ * - It has a LogicalId and typed Input.
15
+ * - The body Effect is called when input changes (diff) or `--force` is set.
16
+ * - There is no replace/precreate/read/delete: removing an Action from the
17
+ * stack simply drops its persisted state without invoking the body.
18
+ * - Dependencies pulled in by the init Effect surface as `Req` on the
19
+ * call site, exactly like a Resource's provider services.
20
+ *
21
+ * Actions are recorded on {@link Stack.actions} and produce a single output
22
+ * value; `yield*` on the constructor returns `Output<Out>` for use as
23
+ * input to downstream Resources / Actions.
24
+ */
25
+ export interface ActionLike<Type extends string = string, In extends object | undefined = any, Out = any> {
26
+ readonly Kind: "action";
27
+ readonly Namespace: NamespaceNode | undefined;
28
+ readonly FQN: string;
29
+ readonly Type: Type;
30
+ readonly LogicalId: string;
31
+ readonly Input: In;
32
+ /** Resolved runner — populated by the init effect (if any). */
33
+ readonly Run: (input: In) => Effect.Effect<Out, any, any>;
34
+ /** @internal phantom */
35
+ Output: Out;
36
+ }
37
+ export declare const isAction: (value: any) => value is ActionLike;
38
+ /** Body function — runs each time the resolved input changes. */
39
+ export type ActionRunner<In extends object | undefined, Out, Req = any> = (input: In) => Effect.Effect<Out, any, Req>;
40
+ /**
41
+ * Init Effect — declares dependencies via `yield*` and returns the runner.
42
+ * Lets multiple Action definitions share resolved services.
43
+ */
44
+ export type ActionInit<In extends object | undefined, Out, Req> = Effect.Effect<ActionRunner<In, Out, any>, any, Req>;
45
+ export declare function Action<Type extends string, In extends object | undefined, Out, Req = never>(type: Type, initOrRun: ActionRunner<In, Out, Req> | ActionInit<In, Out, Req>): ActionClass<never, Type, In, Out, Req>;
46
+ export declare function Action<Self, In extends object | undefined, Out>(): <Type extends string>(type: Type) => ActionClass<Self, Type, In, Out, Self>;
47
+ export interface ActionClass<Self, Type extends string, In extends object | undefined, Out, Req> {
48
+ readonly Type: Type;
49
+ /**
50
+ * Default form — uses `Type` as the LogicalId. One instance per Action
51
+ * definition (the common case for deploy-time work). Returns the Action's
52
+ * output as `Output<Out>`.
53
+ */
54
+ (input: {
55
+ [k in keyof In]: Input<In[k]>;
56
+ }): Effect.Effect<Output.ToOutput<Out, never>, never, Req | Stack>;
57
+ /**
58
+ * Explicit-id form — register multiple instances of the same Action
59
+ * definition under distinct logical ids.
60
+ */
61
+ (id: string, input: {
62
+ [k in keyof In]: Input<In[k]>;
63
+ }): Effect.Effect<Output.ToOutput<Out, never>, never, Req | Stack>;
64
+ /**
65
+ * Tagged-only: bind an init Effect to this Action's Self tag. Add the
66
+ * returned Layer to the stack's `providers`.
67
+ */
68
+ make: [Self] extends [never] ? never : <R = never>(init: ActionRunner<In, Out, R> | ActionInit<In, Out, R>) => Layer.Layer<Self, never, R>;
69
+ /** Tagged-only: the Context tag holding the resolved runner. */
70
+ readonly Self: [Self] extends [never] ? never : Context.Service<Self, ActionRunner<In, Out, any>>;
71
+ }
72
+ /**
73
+ * Pipeable Action instance used internally by Plan/Apply. Users get an
74
+ * `Output<Out>` from `yield*` and don't normally see this.
75
+ */
76
+ export type Action<Type extends string = string, In extends object | undefined = any, Out = any> = Pipeable & ActionLike<Type, In, Out>;
77
+ //# sourceMappingURL=Action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
package/lib/Action.js ADDED
@@ -0,0 +1,89 @@
1
+ import * as Context from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import { toFqn } from "./FQN.js";
5
+ import { CurrentNamespace } from "./Namespace.js";
6
+ import * as Output from "./Output.js";
7
+ import { Stack } from "./Stack.js";
8
+ export const isAction = (value) => typeof value === "object" && value !== null && value?.Kind === "action";
9
+ export function Action(...args) {
10
+ if (args.length === 0) {
11
+ // Tagged form: Action<Self, In, Out>()(type)
12
+ return (type) => makeActionClass(type, undefined);
13
+ }
14
+ // Inline form: Action(type, runnerOrInit)
15
+ const [type, initOrRun] = args;
16
+ return makeActionClass(type, initOrRun);
17
+ }
18
+ const isRunnerEffect = (v) => Effect.isEffect(v);
19
+ const makeActionClass = (type, baked) => {
20
+ // Pre-resolve baked init/runner into a single Effect<Runner, _, Req>. Use
21
+ // Effect.cached so the init's body runs at most once per process — every
22
+ // action instance after the first reuses the resolved runner without paying
23
+ // the init cost (or re-yielding its dependencies).
24
+ let resolveRunner;
25
+ if (baked !== undefined) {
26
+ resolveRunner = isRunnerEffect(baked)
27
+ ? Effect.runSync(Effect.cached(baked))
28
+ : Effect.succeed(baked);
29
+ }
30
+ // Tagged form needs a Context tag so the user can supply the runner
31
+ // through a Layer. Inline form bakes the runner in and skips the tag.
32
+ const SelfTag = baked
33
+ ? undefined
34
+ : Context.Service(`alchemy/Action<${type}>`);
35
+ const constructor = (...args) => {
36
+ const [id, input] = args.length === 1 ? [type, args[0]] : args;
37
+ return Effect.gen(function* () {
38
+ const run = resolveRunner
39
+ ? yield* resolveRunner
40
+ : (yield* SelfTag);
41
+ return yield* registerAction(type, id, input, run);
42
+ });
43
+ };
44
+ const extra = { Type: type };
45
+ if (SelfTag) {
46
+ extra.Self = SelfTag;
47
+ // `.make(initOrRun)` — accepts either a direct runner or an init Effect.
48
+ // For init form we use `Layer.effect` so the init's Req surfaces on the
49
+ // Layer; for runners we use `Layer.succeed`.
50
+ extra.make = (initOrRun) => isRunnerEffect(initOrRun)
51
+ ? Layer.effect(SelfTag, initOrRun)
52
+ : Layer.succeed(SelfTag, initOrRun);
53
+ }
54
+ return Object.assign(constructor, extra);
55
+ };
56
+ const registerAction = (type, id, input, run) => Effect.gen(function* () {
57
+ const stack = yield* Stack;
58
+ const namespace = yield* CurrentNamespace;
59
+ const fqn = toFqn(namespace, id);
60
+ const actions = (stack.actions ??= {});
61
+ const existing = actions[fqn];
62
+ if (existing)
63
+ return Output.of(existing);
64
+ // FQN collision check: actions share the same FQN namespace as resources
65
+ // so the dependency graph stays unified. Rejecting overlaps here makes
66
+ // the constraint obvious at registration time.
67
+ if (stack.resources[fqn]) {
68
+ return yield* Effect.die(new Error(`Action '${fqn}' collides with a Resource of the same logical id`));
69
+ }
70
+ const target = {
71
+ Kind: "action",
72
+ Type: type,
73
+ Namespace: namespace,
74
+ FQN: fqn,
75
+ LogicalId: id,
76
+ Input: input,
77
+ Run: run,
78
+ Output: undefined,
79
+ };
80
+ target.toString = () => `Action<${type}>(${id})`;
81
+ actions[fqn] = target;
82
+ // `yield* Sync({...})` returns `Output<Out>`. The engine writes the
83
+ // materialized value into `tracker[fqn]` during apply; `Output.of(action)`
84
+ // resolves a ResourceExpr by looking up `outputs[fqn]` — which is
85
+ // precisely that materialized value. Property access into the returned
86
+ // Output chains through the standard PropExpr proxy.
87
+ return Output.of(target);
88
+ });
89
+ //# sourceMappingURL=Action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,6 @@ declare const AlchemyContext_base: EffectContext.ServiceClass<AlchemyContext, "a
20
20
  }>;
21
21
  export declare class AlchemyContext extends AlchemyContext_base {
22
22
  }
23
- export declare const AlchemyContextLive: Layer.Layer<AlchemyContext, import("effect/PlatformError").PlatformError, Path.Path | FileSystem.FileSystem>;
23
+ export declare const AlchemyContextLive: Layer.Layer<AlchemyContext, import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
24
24
  export {};
25
25
  //# sourceMappingURL=AlchemyContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Apply.d.ts","sourceRoot":"","sources":["../src/Apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQ7C,OAAO,EAGL,GAAG,EACJ,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAG/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EASL,KAAK,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,WAAW,CACrB,CAAC,SAAS,IAAI,EACd,GAAG,GAAG,KAAK,EACX,GAAG,GAAG,KAAK,IACT,MAAM,CAAC,MAAM,CACf;KACG,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,EACD,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,IAAI,IAAI;KACvC,EAAE,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,SAC5C,MAAM,GACN,SAAS,GACT,KAAK,GACL,KAAK,GACL,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC;AA2DF,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,IAAI,EAClC,MAAM,CAAC,KACN,MAAM,CAAC,MAAM,CACd,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC1B,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,GAAG,eAAe,EAC1E,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CA8E1B,CAAC"}
1
+ {"version":3,"file":"Apply.d.ts","sourceRoot":"","sources":["../src/Apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQ7C,OAAO,EAGL,GAAG,EACJ,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,IAAI,EAGV,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAaL,KAAK,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,WAAW,CACrB,CAAC,SAAS,IAAI,EACd,GAAG,GAAG,KAAK,EACX,GAAG,GAAG,KAAK,IACT,MAAM,CAAC,MAAM,CACf;KACG,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,EACD,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,IAAI,IAAI;KACvC,EAAE,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,SAC5C,MAAM,GACN,SAAS,GACT,KAAK,GACL,KAAK,GACL,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC;AA2DF,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,IAAI,EAClC,MAAM,CAAC,KACN,MAAM,CAAC,MAAM,CACd,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC1B,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,GAAG,eAAe,EAC1E,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CA8E1B,CAAC"}
package/lib/Apply.js CHANGED
@@ -14,6 +14,7 @@ import { Stack } from "./Stack.js";
14
14
  import { Stage } from "./Stage.js";
15
15
  import { recordResourceOp } from "./Telemetry/Metrics.js";
16
16
  import { State, StateStoreError, } from "./State/index.js";
17
+ import { hashInput } from "./Util/hash.js";
17
18
  const provideLifecycleScope = (fqn, instanceId) => (effect) => Effect.serviceOption(ArtifactStore).pipe(Effect.map(Option.getOrElse(createArtifactStore)), Effect.flatMap((store) => effect.pipe(Effect.provideService(Artifacts, makeScopedArtifacts(store, fqn)), Effect.provideService(InstanceId, instanceId))));
18
19
  /**
19
20
  * Instruments a single provider lifecycle call with an OTel span
@@ -74,13 +75,30 @@ export const apply = (plan) => Effect.gen(function* () {
74
75
  // downstream resources can resolve stable identifiers without deadlocking.
75
76
  // The actual output lives in the mutable `tracker` map, not in the Deferred.
76
77
  const executePlan = Effect.fnUntraced(function* (plan, tracker, terminalStatuses, session, state, stackName, stage) {
77
- const ready = Object.fromEntries(yield* Effect.all(Object.keys(plan.resources).map((fqn) => Effect.map(Deferred.make(), (d) => [fqn, d]))));
78
+ // Resources and tasks share the same FQN namespace and DAG, so the
79
+ // scheduler tracks them together. Each entry gets a single Deferred that
80
+ // signals "my output is available in `tracker`."
81
+ const allNodes = {
82
+ ...plan.resources,
83
+ ...plan.actions,
84
+ };
85
+ const ready = Object.fromEntries(yield* Effect.all(Object.keys(allNodes).map((fqn) => Effect.map(Deferred.make(), (d) => [fqn, d]))));
86
+ // `readyStable` fires only when a node has reached its TERMINAL output —
87
+ // resources after `reconcile`, tasks after the body completes. Resource
88
+ // precreate stubs do NOT signal `readyStable`, so any consumer that
89
+ // requires stable inputs (e.g. Tasks) waits past the precreate phase.
90
+ const readyStable = Object.fromEntries(yield* Effect.all(Object.keys(allNodes).map((fqn) => Effect.map(Deferred.make(), (d) => [fqn, d]))));
78
91
  const getOutputs = () => Object.fromEntries(Object.entries(tracker).map(([fqn, t]) => [fqn, t.output]));
79
92
  const waitForDeps = (fqns) => Effect.all(fqns
80
93
  .filter((fqn) => fqn in ready)
81
94
  .map((fqn) => Deferred.await(ready[fqn])), { concurrency: "unbounded" });
95
+ const waitForStableDeps = (fqns) => Effect.all(fqns
96
+ .filter((fqn) => fqn in readyStable)
97
+ .map((fqn) => Deferred.await(readyStable[fqn])), { concurrency: "unbounded" });
82
98
  const failures = [];
83
- yield* Effect.all(Object.entries(plan.resources).map(([fqn, node]) => executeNode(fqn, node, tracker, ready, terminalStatuses, session, state, stackName, stage, getOutputs, waitForDeps, failures, plan.cycleMembers.has(fqn))), { concurrency: "unbounded" });
99
+ yield* Effect.all(Object.entries(allNodes).map(([fqn, node]) => node.kind === "action"
100
+ ? executeActionNode(fqn, node, tracker, ready, readyStable, terminalStatuses, session, state, stackName, stage, getOutputs, waitForStableDeps, failures)
101
+ : executeNode(fqn, node, tracker, ready, readyStable, terminalStatuses, session, state, stackName, stage, getOutputs, waitForDeps, failures, plan.cycleMembers.has(fqn))), { concurrency: "unbounded" });
84
102
  if (failures.length > 0) {
85
103
  // Aggregate every collected lifecycle failure into a single parallel Cause
86
104
  // so the apply ends with one combined error containing every distinct
@@ -88,7 +106,7 @@ const executePlan = Effect.fnUntraced(function* (plan, tracker, terminalStatuses
88
106
  yield* Effect.failCause(failures.map((f) => f.cause).reduce(Cause.combine));
89
107
  }
90
108
  });
91
- const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state, stackName, stage, getOutputs, waitForDeps, failures, inCycle) => Effect.gen(function* () {
109
+ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, session, state, stackName, stage, getOutputs, waitForDeps, failures, inCycle) => Effect.gen(function* () {
92
110
  const logicalId = node.resource.LogicalId;
93
111
  const namespace = node.resource.Namespace;
94
112
  const commit = (value) => state.set({
@@ -115,12 +133,18 @@ const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state
115
133
  });
116
134
  });
117
135
  const signalReady = Deferred.succeed(ready[fqn], void 0);
136
+ // Signal only after reconcile completes — never during precreate. Tasks
137
+ // (and any other consumer that calls `waitForStableDeps`) block on this
138
+ // so they observe the resource's final attrs rather than a stub.
139
+ const signalReadyStable = Deferred.succeed(readyStable[fqn], void 0);
118
140
  const storeAndSignal = (t) => Effect.gen(function* () {
119
141
  tracker[fqn] = t;
120
142
  yield* signalReady;
121
143
  });
122
144
  // ── noop ──
123
145
  if (node.action === "noop") {
146
+ // No work to do — the persisted attr is already stable.
147
+ yield* signalReadyStable;
124
148
  yield* storeAndSignal({
125
149
  output: node.state.attr,
126
150
  props: node.state.props,
@@ -286,6 +310,7 @@ const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state
286
310
  instanceId,
287
311
  };
288
312
  yield* signalReady;
313
+ yield* signalReadyStable;
289
314
  yield* markTerminal("created");
290
315
  return;
291
316
  }
@@ -392,6 +417,7 @@ const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state
392
417
  // the deferred has already been resolved by the early `storeAndSignal`
393
418
  // above and `signalReady` is a no-op the second time.
394
419
  yield* signalReady;
420
+ yield* signalReadyStable;
395
421
  yield* markTerminal("updated");
396
422
  return;
397
423
  }
@@ -407,6 +433,7 @@ const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state
407
433
  instanceId,
408
434
  };
409
435
  yield* signalReady;
436
+ yield* signalReadyStable;
410
437
  yield* markTerminal("created");
411
438
  return;
412
439
  }
@@ -522,6 +549,7 @@ const executeNode = (fqn, node, tracker, ready, terminalStatuses, session, state
522
549
  instanceId,
523
550
  };
524
551
  yield* signalReady;
552
+ yield* signalReadyStable;
525
553
  // Keep progress anchored to the live replacement while GC drains the
526
554
  // previous generation(s) in the background.
527
555
  yield* markTerminal("created");
@@ -544,6 +572,7 @@ Effect.gen(function* () {
544
572
  cause,
545
573
  });
546
574
  yield* Deferred.failCause(ready[fqn], cause);
575
+ yield* Deferred.failCause(readyStable[fqn], cause);
547
576
  yield* session.emit({
548
577
  kind: "status-change",
549
578
  id: node.resource.LogicalId,
@@ -558,6 +587,113 @@ Effect.gen(function* () {
558
587
  "alchemy.resource.action": node.action,
559
588
  },
560
589
  }));
590
+ // ── Task execution ─────────────────────────────────────────────────────────
591
+ //
592
+ // Tasks slot into the same scheduler as resources. They have no provider
593
+ // lifecycle — just a single Effect that runs when inputs change (or when
594
+ // `--force` is set). The output value is written to `tracker[fqn].output`
595
+ // so downstream Output evaluation works identically to resource attrs.
596
+ const executeActionNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, session, state, stackName, stage, getOutputs, waitForDeps, failures) => Effect.gen(function* () {
597
+ const task = node.def;
598
+ const logicalId = task.LogicalId;
599
+ const namespace = task.Namespace;
600
+ const commit = (value) => state.set({
601
+ stack: stackName,
602
+ stage,
603
+ fqn,
604
+ value: { ...value, namespace },
605
+ });
606
+ const report = (status) => session.emit({
607
+ kind: "status-change",
608
+ id: logicalId,
609
+ type: task.Type,
610
+ status,
611
+ });
612
+ const signalReady = Deferred.succeed(ready[fqn], void 0);
613
+ const signalReadyStable = Deferred.succeed(readyStable[fqn], void 0);
614
+ if (node.action === "noop") {
615
+ tracker[fqn] = {
616
+ output: node.state.output,
617
+ props: { __input: node.state.input },
618
+ bindings: [],
619
+ instanceId: fqn,
620
+ };
621
+ yield* signalReady;
622
+ yield* signalReadyStable;
623
+ terminalStatuses.set(fqn, {
624
+ id: logicalId,
625
+ type: task.Type,
626
+ status: "skipped",
627
+ });
628
+ return;
629
+ }
630
+ // ── run ──
631
+ // Wait for stable (post-reconcile) upstream attrs — not precreate stubs.
632
+ // This is `waitForStableDeps` at the call site, passed in as the
633
+ // `waitForDeps` parameter here.
634
+ yield* waitForDeps(Object.keys(Output.resolveUpstream(node.input)).filter((f) => f in readyStable));
635
+ const outputs = getOutputs();
636
+ const resolvedInput = (yield* Output.evaluate(node.input, outputs));
637
+ const inputHashValue = yield* hashInput(resolvedInput);
638
+ yield* commit({
639
+ kind: "action",
640
+ status: "running",
641
+ fqn,
642
+ logicalId,
643
+ actionType: task.Type,
644
+ inputHash: inputHashValue,
645
+ input: resolvedInput,
646
+ downstream: node.downstream,
647
+ });
648
+ yield* report("running");
649
+ const result = yield* task.Run(resolvedInput);
650
+ yield* commit({
651
+ kind: "action",
652
+ status: "ran",
653
+ fqn,
654
+ logicalId,
655
+ actionType: task.Type,
656
+ inputHash: inputHashValue,
657
+ input: resolvedInput,
658
+ output: result,
659
+ downstream: node.downstream,
660
+ });
661
+ tracker[fqn] = {
662
+ output: result,
663
+ props: { __input: resolvedInput },
664
+ bindings: [],
665
+ instanceId: fqn,
666
+ };
667
+ yield* signalReady;
668
+ yield* signalReadyStable;
669
+ terminalStatuses.set(fqn, {
670
+ id: logicalId,
671
+ type: task.Type,
672
+ status: "ran",
673
+ });
674
+ }).pipe(Effect.catchCause((cause) => Effect.gen(function* () {
675
+ failures.push({
676
+ fqn,
677
+ logicalId: node.def.LogicalId,
678
+ type: node.def.Type,
679
+ cause,
680
+ });
681
+ yield* Deferred.failCause(ready[fqn], cause);
682
+ yield* Deferred.failCause(readyStable[fqn], cause);
683
+ yield* session.emit({
684
+ kind: "status-change",
685
+ id: node.def.LogicalId,
686
+ type: node.def.Type,
687
+ status: "fail",
688
+ });
689
+ })), Effect.withSpan("apply.action", {
690
+ attributes: {
691
+ "alchemy.action.fqn": fqn,
692
+ "alchemy.action.type": node.def.Type,
693
+ "alchemy.action.logical_id": node.def.LogicalId,
694
+ "alchemy.action.verb": node.action,
695
+ },
696
+ }));
561
697
  // ── Phase 3: imperative convergence loop ───────────────────────────────────
562
698
  //
563
699
  // After the initial concurrent pass, some resources may have been created
@@ -633,6 +769,69 @@ const converge = Effect.fnUntraced(function* (plan, tracker, terminalStatuses, s
633
769
  status: "updated",
634
770
  });
635
771
  }
772
+ // Tasks: re-run when their resolved input drifts vs. the value they
773
+ // last applied with (e.g. an upstream resource produced new attrs in
774
+ // this pass). Skipped (noop) tasks are not re-checked here — their
775
+ // recorded inputHash is authoritative until the next plan.
776
+ for (const [fqn, node] of Object.entries(plan.actions)) {
777
+ if (node.action !== "run")
778
+ continue;
779
+ if (!tracker[fqn])
780
+ continue;
781
+ const outputs = Object.fromEntries(Object.entries(tracker).map(([k, t]) => [k, t.output]));
782
+ const newInput = (yield* Output.evaluate(node.input, outputs));
783
+ const newHash = yield* hashInput(newInput);
784
+ const oldInput = tracker[fqn].props?.__input;
785
+ const oldHash = yield* hashInput(oldInput);
786
+ if (newHash === oldHash)
787
+ continue;
788
+ anyUpdated = true;
789
+ yield* state.set({
790
+ stack: stackName,
791
+ stage,
792
+ fqn,
793
+ value: {
794
+ kind: "action",
795
+ status: "running",
796
+ fqn,
797
+ logicalId: node.def.LogicalId,
798
+ namespace: node.def.Namespace,
799
+ actionType: node.def.Type,
800
+ inputHash: newHash,
801
+ input: newInput,
802
+ downstream: node.downstream,
803
+ },
804
+ });
805
+ const result = yield* node.def.Run(newInput);
806
+ yield* state.set({
807
+ stack: stackName,
808
+ stage,
809
+ fqn,
810
+ value: {
811
+ kind: "action",
812
+ status: "ran",
813
+ fqn,
814
+ logicalId: node.def.LogicalId,
815
+ namespace: node.def.Namespace,
816
+ actionType: node.def.Type,
817
+ inputHash: newHash,
818
+ input: newInput,
819
+ output: result,
820
+ downstream: node.downstream,
821
+ },
822
+ });
823
+ tracker[fqn] = {
824
+ output: result,
825
+ props: { __input: newInput },
826
+ bindings: [],
827
+ instanceId: fqn,
828
+ };
829
+ terminalStatuses.set(fqn, {
830
+ id: node.def.LogicalId,
831
+ type: node.def.Type,
832
+ status: "ran",
833
+ });
834
+ }
636
835
  if (!anyUpdated)
637
836
  break;
638
837
  }
@@ -643,6 +842,26 @@ const collectGarbage = Effect.fnUntraced(function* (plan, session) {
643
842
  const stack = yield* Stack;
644
843
  const stackName = stack.name;
645
844
  const stage = yield* Stage;
845
+ // Task deletions are pure state drops — no body is invoked. Run them in
846
+ // parallel before resource GC; tasks never have provider-side dependencies
847
+ // to wait on.
848
+ yield* Effect.all(Object.entries(plan.actionDeletions ?? {}).map(([fqn, node]) => node === undefined
849
+ ? Effect.void
850
+ : Effect.gen(function* () {
851
+ yield* session.emit({
852
+ kind: "status-change",
853
+ id: node.def.LogicalId,
854
+ type: node.def.Type,
855
+ status: "deleting",
856
+ });
857
+ yield* state.delete({ stack: stackName, stage, fqn });
858
+ yield* session.emit({
859
+ kind: "status-change",
860
+ id: node.def.LogicalId,
861
+ type: node.def.Type,
862
+ status: "deleted",
863
+ });
864
+ })), { concurrency: "unbounded" });
646
865
  const deleteGraph = Effect.fnUntraced(function* (deletionGraph) {
647
866
  const deletions = {};
648
867
  const deleteResource = (node, ancestors = new Set()) => Effect.gen(function* () {