alchemy-effect 0.0.0 → 0.2.0

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 (494) hide show
  1. package/README.md +179 -0
  2. package/bin/alchemy-effect.js +15 -0
  3. package/bin/alchemy-effect.js.map +1 -0
  4. package/bin/alchemy-effect.ts +10 -0
  5. package/lib/app.d.ts +7 -2
  6. package/lib/app.d.ts.map +1 -1
  7. package/lib/app.js +1 -0
  8. package/lib/app.js.map +1 -1
  9. package/lib/apply.d.ts +57 -1
  10. package/lib/apply.d.ts.map +1 -1
  11. package/lib/apply.js +141 -55
  12. package/lib/apply.js.map +1 -1
  13. package/lib/aws/account.d.ts +18 -0
  14. package/lib/aws/account.d.ts.map +1 -0
  15. package/lib/aws/account.js +18 -0
  16. package/lib/aws/account.js.map +1 -0
  17. package/lib/aws/arn.d.ts +2 -0
  18. package/lib/aws/arn.d.ts.map +1 -0
  19. package/lib/aws/arn.js +1 -0
  20. package/lib/aws/arn.js.map +1 -0
  21. package/lib/aws/assets.d.ts +8 -0
  22. package/lib/aws/assets.d.ts.map +1 -0
  23. package/lib/aws/assets.js +4 -0
  24. package/lib/aws/assets.js.map +1 -0
  25. package/lib/aws/bundle.d.ts +4 -0
  26. package/lib/aws/bundle.d.ts.map +1 -0
  27. package/lib/aws/bundle.js +4 -0
  28. package/lib/aws/bundle.js.map +1 -0
  29. package/lib/aws/client.d.ts +8 -0
  30. package/lib/aws/client.d.ts.map +1 -0
  31. package/lib/aws/client.js +28 -0
  32. package/lib/aws/client.js.map +1 -0
  33. package/lib/aws/credentials.d.ts +146 -0
  34. package/lib/aws/credentials.d.ts.map +1 -0
  35. package/lib/aws/credentials.js +170 -0
  36. package/lib/aws/credentials.js.map +1 -0
  37. package/lib/aws/dynamodb/attribute-value.d.ts +20 -0
  38. package/lib/aws/dynamodb/attribute-value.d.ts.map +1 -0
  39. package/lib/aws/dynamodb/attribute-value.js +217 -0
  40. package/lib/aws/dynamodb/attribute-value.js.map +1 -0
  41. package/lib/aws/dynamodb/client.d.ts +12 -0
  42. package/lib/aws/dynamodb/client.d.ts.map +1 -0
  43. package/lib/aws/dynamodb/client.js +11 -0
  44. package/lib/aws/dynamodb/client.js.map +1 -0
  45. package/lib/aws/dynamodb/expr.d.ts +41 -0
  46. package/lib/aws/dynamodb/expr.d.ts.map +1 -0
  47. package/lib/aws/dynamodb/expr.js +1 -0
  48. package/lib/aws/dynamodb/expr.js.map +1 -0
  49. package/lib/aws/dynamodb/index.d.ts +9 -0
  50. package/lib/aws/dynamodb/index.d.ts.map +1 -0
  51. package/lib/aws/dynamodb/index.js +10 -0
  52. package/lib/aws/dynamodb/index.js.map +1 -0
  53. package/lib/aws/dynamodb/projection.d.ts +25 -0
  54. package/lib/aws/dynamodb/projection.d.ts.map +1 -0
  55. package/lib/aws/dynamodb/projection.js +1 -0
  56. package/lib/aws/dynamodb/projection.js.map +1 -0
  57. package/lib/aws/dynamodb/secondary-index.d.ts +25 -0
  58. package/lib/aws/dynamodb/secondary-index.d.ts.map +1 -0
  59. package/lib/aws/dynamodb/secondary-index.js +4 -0
  60. package/lib/aws/dynamodb/secondary-index.js.map +1 -0
  61. package/lib/aws/dynamodb/table.d.ts +56 -0
  62. package/lib/aws/dynamodb/table.d.ts.map +1 -0
  63. package/lib/aws/dynamodb/table.get-item.d.ts +55 -0
  64. package/lib/aws/dynamodb/table.get-item.d.ts.map +1 -0
  65. package/lib/aws/dynamodb/table.get-item.js +75 -0
  66. package/lib/aws/dynamodb/table.get-item.js.map +1 -0
  67. package/lib/aws/dynamodb/table.js +4 -0
  68. package/lib/aws/dynamodb/table.js.map +1 -0
  69. package/lib/aws/dynamodb/table.provider.d.ts +8 -0
  70. package/lib/aws/dynamodb/table.provider.d.ts.map +1 -0
  71. package/lib/aws/dynamodb/table.provider.js +199 -0
  72. package/lib/aws/dynamodb/table.provider.js.map +1 -0
  73. package/lib/aws/ec2/client.d.ts +12 -0
  74. package/lib/aws/ec2/client.d.ts.map +1 -0
  75. package/lib/aws/ec2/client.js +11 -0
  76. package/lib/aws/ec2/client.js.map +1 -0
  77. package/lib/aws/ec2/index.d.ts +4 -0
  78. package/lib/aws/ec2/index.d.ts.map +1 -0
  79. package/lib/aws/ec2/index.js +4 -0
  80. package/lib/aws/ec2/index.js.map +1 -0
  81. package/lib/aws/ec2/vpc.d.ts +131 -0
  82. package/lib/aws/ec2/vpc.d.ts.map +1 -0
  83. package/lib/aws/ec2/vpc.js +3 -0
  84. package/lib/aws/ec2/vpc.js.map +1 -0
  85. package/lib/aws/ec2/vpc.provider.d.ts +7 -0
  86. package/lib/aws/ec2/vpc.provider.d.ts.map +1 -0
  87. package/lib/aws/ec2/vpc.provider.js +198 -0
  88. package/lib/aws/ec2/vpc.provider.js.map +1 -0
  89. package/lib/aws/iam.d.ts +23 -0
  90. package/lib/aws/iam.d.ts.map +1 -0
  91. package/lib/aws/iam.js +7 -0
  92. package/lib/aws/iam.js.map +1 -0
  93. package/lib/aws/index.d.ts +32 -0
  94. package/lib/aws/index.d.ts.map +1 -0
  95. package/lib/aws/index.js +23 -0
  96. package/lib/aws/index.js.map +1 -0
  97. package/lib/aws/lambda/client.d.ts +8 -0
  98. package/lib/aws/lambda/client.d.ts.map +1 -0
  99. package/lib/aws/lambda/client.js +7 -0
  100. package/lib/aws/lambda/client.js.map +1 -0
  101. package/lib/aws/lambda/consume.d.ts +17 -0
  102. package/lib/aws/lambda/consume.d.ts.map +1 -0
  103. package/lib/aws/lambda/consume.js +30 -0
  104. package/lib/aws/lambda/consume.js.map +1 -0
  105. package/lib/aws/lambda/function.d.ts +41 -0
  106. package/lib/aws/lambda/function.d.ts.map +1 -0
  107. package/lib/aws/lambda/function.handler.d.ts +7 -0
  108. package/lib/aws/lambda/function.handler.d.ts.map +1 -0
  109. package/lib/aws/lambda/function.handler.js +8 -0
  110. package/lib/aws/lambda/function.handler.js.map +1 -0
  111. package/lib/aws/lambda/function.invoke.d.ts +10 -0
  112. package/lib/aws/lambda/function.invoke.d.ts.map +1 -0
  113. package/lib/aws/lambda/function.invoke.js +31 -0
  114. package/lib/aws/lambda/function.invoke.js.map +1 -0
  115. package/lib/aws/lambda/function.js +3 -0
  116. package/lib/aws/lambda/function.js.map +1 -0
  117. package/lib/aws/lambda/function.provider.d.ts +9 -0
  118. package/lib/aws/lambda/function.provider.d.ts.map +1 -0
  119. package/lib/aws/lambda/function.provider.js +465 -0
  120. package/lib/aws/lambda/function.provider.js.map +1 -0
  121. package/lib/aws/lambda/index.d.ts +8 -0
  122. package/lib/aws/lambda/index.d.ts.map +1 -0
  123. package/lib/aws/lambda/index.js +9 -0
  124. package/lib/aws/lambda/index.js.map +1 -0
  125. package/lib/aws/lambda/serve.d.ts +14 -0
  126. package/lib/aws/lambda/serve.d.ts.map +1 -0
  127. package/lib/aws/lambda/serve.js +7 -0
  128. package/lib/aws/lambda/serve.js.map +1 -0
  129. package/lib/aws/parse-ini.d.ts +4 -0
  130. package/lib/aws/parse-ini.d.ts.map +1 -0
  131. package/lib/aws/parse-ini.js +67 -0
  132. package/lib/aws/parse-ini.js.map +1 -0
  133. package/lib/aws/profile.d.ts +6 -0
  134. package/lib/aws/profile.d.ts.map +1 -0
  135. package/lib/aws/profile.js +4 -0
  136. package/lib/aws/profile.js.map +1 -0
  137. package/lib/aws/region.d.ts +19 -0
  138. package/lib/aws/region.d.ts.map +1 -0
  139. package/lib/aws/region.js +21 -0
  140. package/lib/aws/region.js.map +1 -0
  141. package/lib/aws/s3.d.ts +8 -0
  142. package/lib/aws/s3.d.ts.map +1 -0
  143. package/lib/aws/s3.js +7 -0
  144. package/lib/aws/s3.js.map +1 -0
  145. package/lib/aws/sqs/client.d.ts +12 -0
  146. package/lib/aws/sqs/client.d.ts.map +1 -0
  147. package/lib/aws/sqs/client.js +11 -0
  148. package/lib/aws/sqs/client.js.map +1 -0
  149. package/lib/aws/sqs/index.d.ts +7 -0
  150. package/lib/aws/sqs/index.d.ts.map +1 -0
  151. package/lib/aws/sqs/index.js +7 -0
  152. package/lib/aws/sqs/index.js.map +1 -0
  153. package/lib/aws/sqs/queue.consume.d.ts +12 -0
  154. package/lib/aws/sqs/queue.consume.d.ts.map +1 -0
  155. package/lib/aws/sqs/queue.consume.js +3 -0
  156. package/lib/aws/sqs/queue.consume.js.map +1 -0
  157. package/lib/aws/sqs/queue.d.ts +79 -0
  158. package/lib/aws/sqs/queue.d.ts.map +1 -0
  159. package/lib/aws/sqs/queue.event-source.d.ts +20 -0
  160. package/lib/aws/sqs/queue.event-source.d.ts.map +1 -0
  161. package/lib/aws/sqs/queue.event-source.js +148 -0
  162. package/lib/aws/sqs/queue.event-source.js.map +1 -0
  163. package/lib/aws/sqs/queue.js +3 -0
  164. package/lib/aws/sqs/queue.js.map +1 -0
  165. package/lib/aws/sqs/queue.provider.d.ts +7 -0
  166. package/lib/aws/sqs/queue.provider.d.ts.map +1 -0
  167. package/lib/aws/sqs/queue.provider.js +79 -0
  168. package/lib/aws/sqs/queue.provider.js.map +1 -0
  169. package/lib/aws/sqs/queue.send-message.d.ts +11 -0
  170. package/lib/aws/sqs/queue.send-message.d.ts.map +1 -0
  171. package/lib/aws/sqs/queue.send-message.js +32 -0
  172. package/lib/aws/sqs/queue.send-message.js.map +1 -0
  173. package/lib/aws/sts.d.ts +8 -0
  174. package/lib/aws/sts.d.ts.map +1 -0
  175. package/lib/aws/sts.js +7 -0
  176. package/lib/aws/sts.js.map +1 -0
  177. package/lib/aws/zip.d.ts +3 -0
  178. package/lib/aws/zip.d.ts.map +1 -0
  179. package/lib/aws/zip.js +12 -0
  180. package/lib/aws/zip.js.map +1 -0
  181. package/lib/binding.d.ts +70 -22
  182. package/lib/binding.d.ts.map +1 -1
  183. package/lib/binding.js.map +1 -1
  184. package/lib/capability.d.ts +38 -0
  185. package/lib/capability.d.ts.map +1 -1
  186. package/lib/cli/approve.d.ts +4 -0
  187. package/lib/cli/approve.d.ts.map +1 -0
  188. package/lib/cli/approve.js +18 -0
  189. package/lib/cli/approve.js.map +1 -0
  190. package/lib/cli/clack.d.ts +14 -0
  191. package/lib/cli/clack.d.ts.map +1 -0
  192. package/lib/cli/clack.js +12 -0
  193. package/lib/cli/clack.js.map +1 -0
  194. package/lib/cli/components/ApprovePlan.d.ts +8 -0
  195. package/lib/cli/components/ApprovePlan.d.ts.map +1 -0
  196. package/lib/cli/components/ApprovePlan.js +30 -0
  197. package/lib/cli/components/ApprovePlan.js.map +1 -0
  198. package/lib/cli/components/Plan.d.ts +7 -0
  199. package/lib/cli/components/Plan.d.ts.map +1 -0
  200. package/lib/cli/components/Plan.js +100 -0
  201. package/lib/cli/components/Plan.js.map +1 -0
  202. package/lib/cli/components/PlanProgress.d.ts +9 -0
  203. package/lib/cli/components/PlanProgress.d.ts.map +1 -0
  204. package/lib/cli/components/PlanProgress.js +166 -0
  205. package/lib/cli/components/PlanProgress.js.map +1 -0
  206. package/lib/cli/index.d.ts +449 -0
  207. package/lib/cli/index.d.ts.map +1 -0
  208. package/lib/cli/index.js +39912 -0
  209. package/lib/cli/index.js.map +1 -0
  210. package/lib/cli/main.d.ts +2 -0
  211. package/lib/cli/main.d.ts.map +1 -0
  212. package/lib/cli/main.js +1 -0
  213. package/lib/cli/main.js.map +1 -0
  214. package/lib/cli/plan.d.ts +13 -0
  215. package/lib/cli/plan.d.ts.map +1 -0
  216. package/lib/cli/plan.js +1 -0
  217. package/lib/cli/plan.js.map +1 -0
  218. package/lib/cli/progress.d.ts +7 -0
  219. package/lib/cli/progress.d.ts.map +1 -0
  220. package/lib/cli/progress.js +30 -0
  221. package/lib/cli/progress.js.map +1 -0
  222. package/lib/cli/spinner.d.ts +2 -0
  223. package/lib/cli/spinner.d.ts.map +1 -0
  224. package/lib/cli/spinner.js +13 -0
  225. package/lib/cli/spinner.js.map +1 -0
  226. package/lib/cloudflare/api.d.ts +36 -0
  227. package/lib/cloudflare/api.d.ts.map +1 -0
  228. package/lib/cloudflare/api.js +99 -0
  229. package/lib/cloudflare/api.js.map +1 -0
  230. package/lib/cloudflare/context.d.ts +27 -0
  231. package/lib/cloudflare/context.d.ts.map +1 -0
  232. package/lib/cloudflare/context.js +24 -0
  233. package/lib/cloudflare/context.js.map +1 -0
  234. package/lib/cloudflare/index.d.ts +6 -0
  235. package/lib/cloudflare/index.d.ts.map +1 -0
  236. package/lib/cloudflare/index.js +5 -0
  237. package/lib/cloudflare/index.js.map +1 -0
  238. package/lib/cloudflare/kv/index.d.ts +4 -0
  239. package/lib/cloudflare/kv/index.d.ts.map +1 -0
  240. package/lib/cloudflare/kv/index.js +4 -0
  241. package/lib/cloudflare/kv/index.js.map +1 -0
  242. package/lib/cloudflare/kv/namespace.binding.d.ts +8 -0
  243. package/lib/cloudflare/kv/namespace.binding.d.ts.map +1 -0
  244. package/lib/cloudflare/kv/namespace.binding.js +15 -0
  245. package/lib/cloudflare/kv/namespace.binding.js.map +1 -0
  246. package/lib/cloudflare/kv/namespace.client.d.ts +11 -0
  247. package/lib/cloudflare/kv/namespace.client.d.ts.map +1 -0
  248. package/lib/cloudflare/kv/namespace.client.js +31 -0
  249. package/lib/cloudflare/kv/namespace.client.js.map +1 -0
  250. package/lib/cloudflare/kv/namespace.d.ts +23 -0
  251. package/lib/cloudflare/kv/namespace.d.ts.map +1 -0
  252. package/lib/cloudflare/kv/namespace.js +3 -0
  253. package/lib/cloudflare/kv/namespace.js.map +1 -0
  254. package/lib/cloudflare/kv/namespace.provider.d.ts +5 -0
  255. package/lib/cloudflare/kv/namespace.provider.d.ts.map +1 -0
  256. package/lib/cloudflare/kv/namespace.provider.js +80 -0
  257. package/lib/cloudflare/kv/namespace.provider.js.map +1 -0
  258. package/lib/cloudflare/live.d.ts +11 -0
  259. package/lib/cloudflare/live.d.ts.map +1 -0
  260. package/lib/cloudflare/live.js +18 -0
  261. package/lib/cloudflare/live.js.map +1 -0
  262. package/lib/cloudflare/r2/bucket.binding.d.ts +8 -0
  263. package/lib/cloudflare/r2/bucket.binding.d.ts.map +1 -0
  264. package/lib/cloudflare/r2/bucket.binding.js +18 -0
  265. package/lib/cloudflare/r2/bucket.binding.js.map +1 -0
  266. package/lib/cloudflare/r2/bucket.client.d.ts +8 -0
  267. package/lib/cloudflare/r2/bucket.client.d.ts.map +1 -0
  268. package/lib/cloudflare/r2/bucket.client.js +9 -0
  269. package/lib/cloudflare/r2/bucket.client.js.map +1 -0
  270. package/lib/cloudflare/r2/bucket.d.ts +32 -0
  271. package/lib/cloudflare/r2/bucket.d.ts.map +1 -0
  272. package/lib/cloudflare/r2/bucket.del.d.ts +4 -0
  273. package/lib/cloudflare/r2/bucket.del.d.ts.map +1 -0
  274. package/lib/cloudflare/r2/bucket.del.js +7 -0
  275. package/lib/cloudflare/r2/bucket.del.js.map +1 -0
  276. package/lib/cloudflare/r2/bucket.get.d.ts +5 -0
  277. package/lib/cloudflare/r2/bucket.get.d.ts.map +1 -0
  278. package/lib/cloudflare/r2/bucket.get.js +7 -0
  279. package/lib/cloudflare/r2/bucket.get.js.map +1 -0
  280. package/lib/cloudflare/r2/bucket.head.d.ts +4 -0
  281. package/lib/cloudflare/r2/bucket.head.d.ts.map +1 -0
  282. package/lib/cloudflare/r2/bucket.head.js +7 -0
  283. package/lib/cloudflare/r2/bucket.head.js.map +1 -0
  284. package/lib/cloudflare/r2/bucket.js +3 -0
  285. package/lib/cloudflare/r2/bucket.js.map +1 -0
  286. package/lib/cloudflare/r2/bucket.list.d.ts +5 -0
  287. package/lib/cloudflare/r2/bucket.list.d.ts.map +1 -0
  288. package/lib/cloudflare/r2/bucket.list.js +7 -0
  289. package/lib/cloudflare/r2/bucket.list.js.map +1 -0
  290. package/lib/cloudflare/r2/bucket.multipart.d.ts +19 -0
  291. package/lib/cloudflare/r2/bucket.multipart.d.ts.map +1 -0
  292. package/lib/cloudflare/r2/bucket.multipart.js +25 -0
  293. package/lib/cloudflare/r2/bucket.multipart.js.map +1 -0
  294. package/lib/cloudflare/r2/bucket.provider.d.ts +5 -0
  295. package/lib/cloudflare/r2/bucket.provider.d.ts.map +1 -0
  296. package/lib/cloudflare/r2/bucket.provider.js +66 -0
  297. package/lib/cloudflare/r2/bucket.provider.js.map +1 -0
  298. package/lib/cloudflare/r2/bucket.put.d.ts +6 -0
  299. package/lib/cloudflare/r2/bucket.put.d.ts.map +1 -0
  300. package/lib/cloudflare/r2/bucket.put.js +8 -0
  301. package/lib/cloudflare/r2/bucket.put.js.map +1 -0
  302. package/lib/cloudflare/r2/index.d.ts +10 -0
  303. package/lib/cloudflare/r2/index.d.ts.map +1 -0
  304. package/lib/cloudflare/r2/index.js +10 -0
  305. package/lib/cloudflare/r2/index.js.map +1 -0
  306. package/lib/cloudflare/stream.d.ts +10 -0
  307. package/lib/cloudflare/stream.d.ts.map +1 -0
  308. package/lib/cloudflare/stream.js +16 -0
  309. package/lib/cloudflare/stream.js.map +1 -0
  310. package/lib/cloudflare/worker/assets.fetch.d.ts +8 -0
  311. package/lib/cloudflare/worker/assets.fetch.d.ts.map +1 -0
  312. package/lib/cloudflare/worker/assets.fetch.js +11 -0
  313. package/lib/cloudflare/worker/assets.fetch.js.map +1 -0
  314. package/lib/cloudflare/worker/assets.provider.d.ts +66 -0
  315. package/lib/cloudflare/worker/assets.provider.d.ts.map +1 -0
  316. package/lib/cloudflare/worker/assets.provider.js +145 -0
  317. package/lib/cloudflare/worker/assets.provider.js.map +1 -0
  318. package/lib/cloudflare/worker/index.d.ts +6 -0
  319. package/lib/cloudflare/worker/index.d.ts.map +1 -0
  320. package/lib/cloudflare/worker/index.js +5 -0
  321. package/lib/cloudflare/worker/index.js.map +1 -0
  322. package/lib/cloudflare/worker/worker.d.ts +67 -0
  323. package/lib/cloudflare/worker/worker.d.ts.map +1 -0
  324. package/lib/cloudflare/worker/worker.handler.d.ts +11 -0
  325. package/lib/cloudflare/worker/worker.handler.d.ts.map +1 -0
  326. package/lib/cloudflare/worker/worker.handler.js +15 -0
  327. package/lib/cloudflare/worker/worker.handler.js.map +1 -0
  328. package/lib/cloudflare/worker/worker.js +4 -0
  329. package/lib/cloudflare/worker/worker.js.map +1 -0
  330. package/lib/cloudflare/worker/worker.provider.d.ts +10 -0
  331. package/lib/cloudflare/worker/worker.provider.d.ts.map +1 -0
  332. package/lib/cloudflare/worker/worker.provider.js +193 -0
  333. package/lib/cloudflare/worker/worker.provider.js.map +1 -0
  334. package/lib/cloudflare/worker/worker.serve.d.ts +39 -0
  335. package/lib/cloudflare/worker/worker.serve.d.ts.map +1 -0
  336. package/lib/cloudflare/worker/worker.serve.js +4 -0
  337. package/lib/cloudflare/worker/worker.serve.js.map +1 -0
  338. package/lib/destroy.d.ts +1 -3
  339. package/lib/destroy.d.ts.map +1 -1
  340. package/lib/destroy.js +5 -0
  341. package/lib/destroy.js.map +1 -1
  342. package/lib/dot-alchemy.d.ts +3 -2
  343. package/lib/dot-alchemy.d.ts.map +1 -1
  344. package/lib/dot-alchemy.js +3 -2
  345. package/lib/dot-alchemy.js.map +1 -1
  346. package/lib/esbuild.d.ts +28 -0
  347. package/lib/esbuild.d.ts.map +1 -0
  348. package/lib/esbuild.js +63 -0
  349. package/lib/esbuild.js.map +1 -0
  350. package/lib/index.d.ts +1 -0
  351. package/lib/index.d.ts.map +1 -1
  352. package/lib/index.js +4 -0
  353. package/lib/index.js.map +1 -1
  354. package/lib/plan.d.ts +19 -8
  355. package/lib/plan.d.ts.map +1 -1
  356. package/lib/plan.js +144 -72
  357. package/lib/plan.js.map +1 -1
  358. package/lib/policy.d.ts +19 -1
  359. package/lib/policy.d.ts.map +1 -1
  360. package/lib/policy.js +10 -1
  361. package/lib/policy.js.map +1 -1
  362. package/lib/provider.d.ts +2 -2
  363. package/lib/provider.d.ts.map +1 -1
  364. package/lib/resource.d.ts +2 -10
  365. package/lib/resource.d.ts.map +1 -1
  366. package/lib/resource.js +1 -0
  367. package/lib/resource.js.map +1 -1
  368. package/lib/runtime.d.ts +1 -1
  369. package/lib/runtime.d.ts.map +1 -1
  370. package/lib/schema.d.ts +37 -0
  371. package/lib/schema.d.ts.map +1 -0
  372. package/lib/schema.js +61 -0
  373. package/lib/schema.js.map +1 -0
  374. package/lib/sha256.d.ts +5 -0
  375. package/lib/sha256.d.ts.map +1 -0
  376. package/lib/sha256.js +16 -0
  377. package/lib/sha256.js.map +1 -0
  378. package/lib/state.d.ts +3 -2
  379. package/lib/state.d.ts.map +1 -1
  380. package/lib/state.js +3 -2
  381. package/lib/state.js.map +1 -1
  382. package/lib/tags.d.ts +17 -0
  383. package/lib/tags.d.ts.map +1 -0
  384. package/lib/tags.js +22 -0
  385. package/lib/tags.js.map +1 -0
  386. package/lib/test.d.ts +14 -0
  387. package/lib/test.d.ts.map +1 -0
  388. package/lib/test.js +28 -0
  389. package/lib/test.js.map +1 -0
  390. package/lib/tsconfig.test.tsbuildinfo +1 -0
  391. package/lib/type.d.ts +3 -0
  392. package/lib/type.d.ts.map +1 -0
  393. package/lib/type.js +3 -0
  394. package/lib/type.js.map +1 -0
  395. package/package.json +115 -3
  396. package/src/app.ts +8 -7
  397. package/src/apply.ts +251 -93
  398. package/src/aws/account.ts +37 -0
  399. package/src/aws/arn.ts +1 -0
  400. package/src/aws/assets.ts +8 -0
  401. package/src/aws/bundle.ts +5 -0
  402. package/src/aws/client.ts +47 -0
  403. package/src/aws/credentials.ts +409 -0
  404. package/src/aws/dynamodb/attribute-value.ts +240 -0
  405. package/src/aws/dynamodb/client.ts +20 -0
  406. package/src/aws/dynamodb/expr.ts +90 -0
  407. package/src/aws/dynamodb/index.ts +12 -0
  408. package/src/aws/dynamodb/projection.ts +159 -0
  409. package/src/aws/dynamodb/secondary-index.ts +45 -0
  410. package/src/aws/dynamodb/table.get-item.ts +177 -0
  411. package/src/aws/dynamodb/table.provider.ts +280 -0
  412. package/src/aws/dynamodb/table.ts +156 -0
  413. package/src/aws/ec2/client.ts +20 -0
  414. package/src/aws/ec2/index.ts +3 -0
  415. package/src/aws/ec2/vpc.provider.ts +285 -0
  416. package/src/aws/ec2/vpc.ts +152 -0
  417. package/src/aws/iam.ts +30 -0
  418. package/src/aws/index.ts +54 -0
  419. package/src/aws/lambda/client.ts +14 -0
  420. package/src/aws/lambda/consume.ts +63 -0
  421. package/src/aws/lambda/function.handler.ts +30 -0
  422. package/src/aws/lambda/function.invoke.ts +40 -0
  423. package/src/aws/lambda/function.provider.ts +655 -0
  424. package/src/aws/lambda/function.ts +45 -0
  425. package/src/aws/lambda/index.ts +9 -0
  426. package/src/aws/lambda/serve.ts +29 -0
  427. package/src/aws/parse-ini.ts +80 -0
  428. package/src/aws/profile.ts +6 -0
  429. package/src/aws/region.ts +37 -0
  430. package/src/aws/s3.ts +10 -0
  431. package/src/aws/sqs/client.ts +20 -0
  432. package/src/aws/sqs/index.ts +6 -0
  433. package/src/aws/sqs/queue.consume.ts +13 -0
  434. package/src/aws/sqs/queue.event-source.ts +253 -0
  435. package/src/aws/sqs/queue.provider.ts +94 -0
  436. package/src/aws/sqs/queue.send-message.ts +51 -0
  437. package/src/aws/sqs/queue.ts +86 -0
  438. package/src/aws/sts.ts +13 -0
  439. package/src/aws/zip.ts +17 -0
  440. package/src/binding.ts +121 -25
  441. package/src/capability.ts +44 -0
  442. package/src/cli/approve.tsx +30 -0
  443. package/src/cli/clack.ts +22 -0
  444. package/src/cli/components/ApprovePlan.tsx +44 -0
  445. package/src/cli/components/Plan.tsx +154 -0
  446. package/src/cli/components/PlanProgress.tsx +206 -0
  447. package/src/cli/index.ts +6 -0
  448. package/src/cli/main.ts +0 -0
  449. package/src/cli/plan.ts +16 -0
  450. package/src/cli/progress.tsx +46 -0
  451. package/src/cli/spinner.ts +14 -0
  452. package/src/cloudflare/api.ts +152 -0
  453. package/src/cloudflare/context.ts +49 -0
  454. package/src/cloudflare/index.ts +6 -0
  455. package/src/cloudflare/kv/index.ts +3 -0
  456. package/src/cloudflare/kv/namespace.binding.ts +25 -0
  457. package/src/cloudflare/kv/namespace.client.ts +70 -0
  458. package/src/cloudflare/kv/namespace.provider.ts +99 -0
  459. package/src/cloudflare/kv/namespace.ts +29 -0
  460. package/src/cloudflare/live.ts +38 -0
  461. package/src/cloudflare/r2/bucket.binding.ts +27 -0
  462. package/src/cloudflare/r2/bucket.client.ts +22 -0
  463. package/src/cloudflare/r2/bucket.del.ts +11 -0
  464. package/src/cloudflare/r2/bucket.get.ts +13 -0
  465. package/src/cloudflare/r2/bucket.head.ts +11 -0
  466. package/src/cloudflare/r2/bucket.list.ts +12 -0
  467. package/src/cloudflare/r2/bucket.multipart.ts +55 -0
  468. package/src/cloudflare/r2/bucket.provider.ts +83 -0
  469. package/src/cloudflare/r2/bucket.put.ts +17 -0
  470. package/src/cloudflare/r2/bucket.ts +38 -0
  471. package/src/cloudflare/r2/index.ts +9 -0
  472. package/src/cloudflare/stream.ts +21 -0
  473. package/src/cloudflare/worker/assets.fetch.ts +27 -0
  474. package/src/cloudflare/worker/assets.provider.ts +249 -0
  475. package/src/cloudflare/worker/index.ts +6 -0
  476. package/src/cloudflare/worker/worker.handler.ts +39 -0
  477. package/src/cloudflare/worker/worker.provider.ts +246 -0
  478. package/src/cloudflare/worker/worker.serve.ts +19 -0
  479. package/src/cloudflare/worker/worker.ts +76 -0
  480. package/src/destroy.ts +6 -3
  481. package/src/dot-alchemy.ts +3 -2
  482. package/src/esbuild.ts +98 -0
  483. package/src/index.ts +5 -0
  484. package/src/plan.ts +233 -120
  485. package/src/policy.ts +55 -2
  486. package/src/provider.ts +2 -2
  487. package/src/resource.ts +3 -2
  488. package/src/runtime.ts +1 -1
  489. package/src/schema.ts +102 -0
  490. package/src/sha256.ts +23 -0
  491. package/src/state.ts +3 -2
  492. package/src/tags.ts +38 -0
  493. package/src/test.ts +71 -0
  494. package/src/type.ts +2 -0
@@ -0,0 +1,449 @@
1
+ #!/usr/bin/env node
2
+ import * as Layer from "effect/Layer";
3
+ import * as Effect$1 from "effect/Effect";
4
+ import { Effect } from "effect/Effect";
5
+ import * as Context from "effect/Context";
6
+ import "@effect/platform/FileSystem";
7
+ import "@effect/platform/Path";
8
+ import * as S from "effect/Schema";
9
+ import * as effect_Types0 from "effect/Types";
10
+ import * as effect_Cause0 from "effect/Cause";
11
+ import { Types } from "effect";
12
+
13
+ //#region src/resource.d.ts
14
+ interface Resource<Type extends string = string, ID$1 extends string = string, Props = unknown, Attrs = unknown> {
15
+ id: ID$1;
16
+ type: Type;
17
+ props: Props;
18
+ attr: Attrs;
19
+ parent: unknown;
20
+ new (): Resource<Type, ID$1, Props, Attrs>;
21
+ }
22
+ interface ResourceTags<R extends Resource> {
23
+ of<S$1 extends ProviderService<R>>(service: S$1): S$1;
24
+ tag: Context.TagClass<Provider<R>, R["type"], ProviderService<R>>;
25
+ effect<Err, Req>(eff: Effect<ProviderService<R>, Err, Req>): Layer.Layer<Provider<R>, Err, Req>;
26
+ succeed(service: ProviderService<R>): Layer.Layer<Provider<R>>;
27
+ }
28
+ declare const Resource: <Ctor extends (id: string, props: any) => Resource>(type: ReturnType<Ctor>["type"]) => Ctor & {
29
+ new (): ReturnType<Ctor> & {
30
+ parent: ReturnType<Ctor>;
31
+ };
32
+ type: ReturnType<Ctor>["type"];
33
+ provider: ResourceTags<ReturnType<Ctor>>;
34
+ } & {
35
+ type: ReturnType<Ctor>["type"];
36
+ provider: ResourceTags<ReturnType<Ctor>>;
37
+ };
38
+ //#endregion
39
+ //#region src/service.d.ts
40
+ interface IService<ID$1 extends string = string, F extends Runtime = Runtime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
41
+ props: Props;
42
+ })["attr"]> extends Resource<F["type"], ID$1, Props, Attr> {
43
+ kind: "Service";
44
+ type: F["type"];
45
+ id: ID$1;
46
+ runtime: F;
47
+ /**
48
+ * The raw handler function as passed in to the Runtime.
49
+ *
50
+ * @internal phantom type
51
+ */
52
+ impl: Handler;
53
+ /**
54
+ * An Effect that produces a handler stripped of its Infrastructure-time-only Capabilities.
55
+ */
56
+ handler: Effect<(...inputs: Parameters<Handler>) => Effect<Effect.Success<ReturnType<Handler>>, Effect.Error<ReturnType<Handler>>, never>, never, Exclude<Effect.Context<ReturnType<Handler>>, Capability>>;
57
+ props: Props;
58
+ /** @internal phantom type of this resource's output attributes */
59
+ attr: Attr;
60
+ /** @internal phantom type of this resource's parent */
61
+ parent: unknown;
62
+ }
63
+ interface Service<ID$1 extends string = string, F extends Runtime = Runtime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
64
+ props: Props;
65
+ })["attr"]> extends IService<ID$1, F, Handler, Props, Attr>, Resource<F["type"], ID$1, Props, Attr> {}
66
+ //#endregion
67
+ //#region src/event.d.ts
68
+ type ApplyStatus = "pending" | "creating" | "created" | "updating" | "updated" | "deleting" | "deleted" | "success" | "fail";
69
+ type ApplyEvent = AnnotateEvent | StatusChangeEvent;
70
+ interface AnnotateEvent {
71
+ kind: "annotate";
72
+ id: string;
73
+ message: string;
74
+ }
75
+ interface StatusChangeEvent {
76
+ kind: "status-change";
77
+ id: string;
78
+ type: string;
79
+ status: ApplyStatus;
80
+ message?: string;
81
+ bindingId?: string;
82
+ }
83
+ //#endregion
84
+ //#region src/apply.d.ts
85
+ interface PlanStatusSession {
86
+ emit: (event: ApplyEvent) => Effect$1.Effect<void>;
87
+ done: () => Effect$1.Effect<void>;
88
+ }
89
+ interface ScopedPlanStatusSession extends PlanStatusSession {
90
+ note: (note: string) => Effect$1.Effect<void>;
91
+ }
92
+ declare const PlanStatusReporter_base: Context.TagClass<PlanStatusReporter, "PlanStatusReporter", {
93
+ start(plan: Plan): Effect$1.Effect<PlanStatusSession, never>;
94
+ }>;
95
+ declare class PlanStatusReporter extends PlanStatusReporter_base {}
96
+ //#endregion
97
+ //#region src/provider.d.ts
98
+ type Provider<R extends Resource> = Context.TagClass<Provider<R>, R["type"], ProviderService<R>>;
99
+ type Diff = {
100
+ action: "update" | "noop";
101
+ deleteFirst?: undefined;
102
+ } | {
103
+ action: "replace";
104
+ deleteFirst?: boolean;
105
+ };
106
+ type BindingData<Res extends Resource> = [Res] extends [Runtime] ? Res["binding"][] : any[];
107
+ interface ProviderService<Res extends Resource = Resource> {
108
+ read?(input: {
109
+ id: string;
110
+ olds: Res["props"] | undefined;
111
+ output: Res["attr"] | undefined;
112
+ session: ScopedPlanStatusSession;
113
+ bindings: BindingData<Res>;
114
+ }): Effect$1.Effect<Res["attr"] | undefined, any, never>;
115
+ diff?(input: {
116
+ id: string;
117
+ olds: Res["props"];
118
+ news: Res["props"];
119
+ output: Res["attr"];
120
+ }): Effect$1.Effect<Diff | void, never, never>;
121
+ precreate?(input: {
122
+ id: string;
123
+ news: Res["props"];
124
+ session: ScopedPlanStatusSession;
125
+ }): Effect$1.Effect<Res["attr"], any, never>;
126
+ create(input: {
127
+ id: string;
128
+ news: Res["props"];
129
+ session: ScopedPlanStatusSession;
130
+ bindings: BindingData<Res>;
131
+ }): Effect$1.Effect<Res["attr"], any, never>;
132
+ update(input: {
133
+ id: string;
134
+ news: Res["props"];
135
+ olds: Res["props"];
136
+ output: Res["attr"];
137
+ session: ScopedPlanStatusSession;
138
+ bindings: BindingData<Res>;
139
+ }): Effect$1.Effect<Res["attr"], any, never>;
140
+ delete(input: {
141
+ id: string;
142
+ olds: Res["props"];
143
+ output: Res["attr"];
144
+ session: ScopedPlanStatusSession;
145
+ bindings: BindingData<Res>;
146
+ }): Effect$1.Effect<void, any, never>;
147
+ }
148
+ //#endregion
149
+ //#region src/binding.d.ts
150
+ type AnyBinding<F extends Runtime = any> = Binding<F, any, any, any, string, boolean>;
151
+ interface Binding<Run extends Runtime<any, any, any>, Cap extends Capability = Capability, Props = any, Attr extends Run["binding"] = any, Tag extends string = Cap["type"], IsCustom extends boolean = (Cap["type"] extends Tag ? false : true)> {
152
+ runtime: Run;
153
+ capability: Cap;
154
+ tag: Tag;
155
+ props: Props;
156
+ attr: Attr;
157
+ isCustom: IsCustom;
158
+ }
159
+ /** Tag for a Service that can bind a Capability to a Runtime */
160
+ interface Bind<F extends Runtime, Cap extends Capability, Tag extends string> extends Context.Tag<`${F["type"]}(${Cap["type"]}, ${Tag})`, BindingService<F, Extract<Extract<Cap["resource"], Resource>["parent"], Resource>, F["props"]>> {
161
+ /** @internal phantom */
162
+ name: Tag;
163
+ }
164
+ declare const Binding: {
165
+ <F extends (resource: any, props?: any) => AnyBinding & {
166
+ isCustom: true;
167
+ }>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"], tag: ReturnType<F>["tag"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
168
+ <F extends (resource: any, props?: any) => AnyBinding & {
169
+ isCustom: false;
170
+ }>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
171
+ };
172
+ interface BindingDeclaration<Run extends Runtime, F extends (target: any, props?: any) => AnyBinding<Run>, Tag extends string = ReturnType<F>["tag"], Cap extends Capability = ReturnType<F>["capability"]> {
173
+ provider: {
174
+ effect<Err, Req>(eff: Effect<BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>, Err, Req>): Layer.Layer<Bind<Run, Cap, Tag>, Err, Req>;
175
+ succeed(service: BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>): Layer.Layer<Bind<Run, Cap, Tag>>;
176
+ };
177
+ }
178
+ interface BindingDiffProps<Source extends Resource = Resource, Target extends Resource = Resource, Props = any, Attr = any> {
179
+ source: {
180
+ id: string;
181
+ props: Source["props"];
182
+ oldProps?: Source["props"];
183
+ oldAttr?: Source["attr"];
184
+ };
185
+ props: Props;
186
+ attr: Attr | undefined;
187
+ target: {
188
+ id: string;
189
+ props: Target["props"];
190
+ oldProps?: Target["props"];
191
+ oldAttr?: Target["attr"];
192
+ };
193
+ }
194
+ interface BindingAttachProps<Source extends Resource, Target extends Resource, Props, Attr> {
195
+ source: {
196
+ id: string;
197
+ attr: Source["attr"];
198
+ props: Source["props"];
199
+ };
200
+ props: Props;
201
+ attr: Attr | undefined;
202
+ target: {
203
+ id: string;
204
+ props: Target["props"];
205
+ attr: Target["attr"];
206
+ };
207
+ }
208
+ interface BindingReattachProps<Source extends Resource, Target extends Resource, Props, Attr> {
209
+ source: {
210
+ id: string;
211
+ attr: Source["attr"];
212
+ props: Source["props"];
213
+ };
214
+ props: Props;
215
+ attr: Attr;
216
+ target: {
217
+ id: string;
218
+ props: Target["props"];
219
+ attr: Target["attr"];
220
+ };
221
+ }
222
+ interface BindingDetachProps<Source extends Resource, Target extends Resource, Props, Attr> {
223
+ source: {
224
+ id: string;
225
+ attr: Source["attr"];
226
+ props: Source["props"];
227
+ };
228
+ props: Props;
229
+ attr: Attr | undefined;
230
+ target: {
231
+ id: string;
232
+ props: Target["props"];
233
+ attr: Target["attr"];
234
+ };
235
+ }
236
+ type BindingService<Target extends Runtime = any, Source extends Resource = Resource, Props = any, Attr extends Target["binding"] = any, DiffReq = never, PreReattachReq = never, AttachReq = never, ReattachReq = never, DetachReq = never, PostAttachReq = never> = {
237
+ diff?: (props: BindingDiffProps<Source, Target, Props>) => Effect<Diff, never, DiffReq>;
238
+ preattach?: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Partial<Target["attr"]>, never, PreReattachReq>;
239
+ attach: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Attr, never, AttachReq> | Attr;
240
+ postattach?: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Omit<Attr, keyof Target["binding"]>, never, PostAttachReq>;
241
+ reattach?: (props: BindingReattachProps<Source, Target, Props, Attr>) => Effect<Attr, never, ReattachReq> | Attr;
242
+ detach?: (props: BindingDetachProps<Source, Target, Props, Attr>) => Effect<void, never, DetachReq> | void;
243
+ };
244
+ //#endregion
245
+ //#region src/policy.d.ts
246
+ /**
247
+ * A Policy binds a set of Capbilities (e.g SQS.SendMessage, SQS.Consume, etc.) to a
248
+ * specific Runtime (e.g. AWS Lambda Function, Cloudflare Worker, etc.).
249
+ *
250
+ * It brings with it a set of upstream Tags containing the required Provider services
251
+ * to deploy the infrastructure, e.g. (BindingTag<AWS.Lambda.Function, SendMessage<Queue>>)
252
+ *
253
+ * A Policy is invariant over the set of Capabilities to ensure least-privilege.
254
+ */
255
+ interface Policy<F extends Runtime, in out Capabilities, Tags = unknown> {
256
+ readonly runtime: F;
257
+ readonly tags: Tags[];
258
+ readonly capabilities: Capabilities[];
259
+ /** Add more Capabilities to a Policy */
260
+ and<B extends AnyBinding[]>(...bindings: B): Policy<F, B[number]["capability"] | Capabilities, BindingTags<B[number]> | Exclude<Tags, unknown>>;
261
+ }
262
+ type BindingTags<B extends AnyBinding> = B extends any ? Bind<B["runtime"], B["capability"], Extract<B["tag"], string>> : never;
263
+ declare function Policy<F extends Runtime>(): Policy<F, never, never>;
264
+ declare function Policy<B extends AnyBinding[]>(...capabilities: B): Policy<B[number]["runtime"], B[number]["capability"], BindingTags<B[number]>>;
265
+ declare namespace Policy {
266
+ export interface AnyOf<in out T> {
267
+ readonly anyOf: T[];
268
+ }
269
+ type Generalize<T> = T extends S.Schema<infer U> ? U : T;
270
+ export const anyOf: <const T>(...anyOf: T[]) => AnyOf<Generalize<T>>;
271
+ export const join: <const Strings extends readonly string[], const Delimiter extends string>(strings: Strings, delimiter: Delimiter) => Join<Strings, Delimiter>;
272
+ type Join<T extends readonly string[], Delimiter extends string> = T extends readonly [infer First extends string] ? First : T extends readonly [infer First extends string, ...infer Rest extends readonly string[]] ? `${First}${Delimiter}${Join<Rest, Delimiter>}` : T extends string[] ? string : "";
273
+ export type Constraint<T> = Pick<T, { [k in keyof T]: T[k] extends never ? never : T[k] extends AnyOf<never> ? never : k }[keyof T]>;
274
+ export const infer: <T>() => T;
275
+ export {};
276
+ }
277
+ //#endregion
278
+ //#region src/capability.d.ts
279
+ interface ICapability<Type extends string = string, Resource$1 = unknown, Constraint = unknown> {
280
+ type: Type;
281
+ resource: Resource$1;
282
+ constraint: Constraint;
283
+ sid: string;
284
+ label: string;
285
+ }
286
+ interface Capability<Type extends string = string, Resource$1 = unknown, Constraint = unknown> extends ICapability<Type, Resource$1, Constraint> {
287
+ new (): {};
288
+ }
289
+ declare namespace Capability {
290
+ type Simplify<C> = [C] extends [{
291
+ Constructor: {
292
+ Reduce: any;
293
+ };
294
+ }] ? _Simplify<C> : C;
295
+ type _Simplify<C> = [C] extends [infer c extends {
296
+ Constructor: any;
297
+ resource: any;
298
+ constraint: any;
299
+ }] ? (c["Constructor"] & {
300
+ resource: c["resource"];
301
+ constraint: Constraint.Simplify<c["constraint"]>;
302
+ })["Reduce"] : never;
303
+ type KeysWithNever<T> = { [K in keyof T]: T[K] extends never | Policy.AnyOf<never> ? K : never }[keyof T];
304
+ type DropIrrelevant<T> = T extends any ? { [k in keyof Omit<T, KeysWithNever<T>>]: Omit<T, KeysWithNever<T>>[k] } : never;
305
+ type Get<T, K extends string | number | symbol> = T extends { [k in K]: infer V } ? V : never;
306
+ type Keys<T> = T extends any ? keyof T : never;
307
+ type BoxPolicy<T> = [T] extends [{
308
+ anyOf: (infer U)[];
309
+ }] ? Policy.AnyOf<U> : never;
310
+ namespace Constraint {
311
+ type Simplify<Constraint> = { [k in Keys<DropIrrelevant<Constraint>>]: BoxPolicy<Get<Constraint, k>> };
312
+ }
313
+ }
314
+ //#endregion
315
+ //#region src/runtime.d.ts
316
+ type RuntimeHandler<Inputs extends any[] = any[], Output = any, Err = any, Req = any> = (...inputs: Inputs) => Effect$1.Effect<Output, Err, Req>;
317
+ declare namespace RuntimeHandler {
318
+ type Caps<H extends RuntimeHandler | unknown> = Extract<Effect$1.Effect.Context<ReturnType<Extract<H, RuntimeHandler>>>, Capability>;
319
+ }
320
+ declare namespace Runtime {
321
+ type Binding<F, Cap> = F extends {
322
+ readonly Binding: unknown;
323
+ } ? (F & {
324
+ readonly cap: Cap;
325
+ })["Binding"] : {
326
+ readonly F: F;
327
+ readonly cap: Types.Contravariant<Cap>;
328
+ };
329
+ }
330
+ interface RuntimeProps<Run extends Runtime, Req> {
331
+ bindings: Policy<Run, Extract<Req, Capability>, unknown>;
332
+ }
333
+ interface Runtime<Type extends string = string, Handler = unknown, Props = unknown> extends Resource<Type, string, Props, unknown> {
334
+ type: Type;
335
+ props: Props;
336
+ handler: Handler;
337
+ binding: unknown;
338
+ /** @internal phantom */
339
+ capability: unknown;
340
+ <const ID$1 extends string, Inputs extends any[], Output, Err, Req, Handler extends RuntimeHandler<Inputs, Output, Err, Req>>(id: ID$1, {
341
+ handle
342
+ }: {
343
+ handle: Handler;
344
+ }): <const Props extends this["props"]>(props: Props) => Service<ID$1, this, Handler, Props>;
345
+ }
346
+ declare const Runtime: <const Type extends string>(type: Type) => <Self extends Runtime>() => Self & {
347
+ provider: ResourceTags<Self>;
348
+ };
349
+ //#endregion
350
+ //#region src/phase.d.ts
351
+ type Phase = "update" | "destroy";
352
+ //#endregion
353
+ //#region src/plan.d.ts
354
+ /**
355
+ * A node in the plan that represents a binding operation acting on a resource.
356
+ */
357
+ type BindNode<B extends AnyBinding = AnyBinding> = Attach<B> | Reattach<B> | Detach<B> | NoopBind<B>;
358
+ type Attach<B extends AnyBinding = AnyBinding> = {
359
+ action: "attach";
360
+ binding: B;
361
+ olds: BindNode | undefined;
362
+ attr: B["attr"] | undefined;
363
+ };
364
+ type Reattach<B extends AnyBinding = AnyBinding> = {
365
+ action: "reattach";
366
+ binding: B;
367
+ olds: BindNode;
368
+ attr: B["attr"];
369
+ };
370
+ type Detach<B extends AnyBinding = AnyBinding> = {
371
+ action: "detach";
372
+ binding: B;
373
+ attr: B["attr"] | undefined;
374
+ };
375
+ type NoopBind<B extends AnyBinding = AnyBinding> = {
376
+ action: "noop";
377
+ binding: B;
378
+ attr: B["attr"];
379
+ };
380
+ /**
381
+ * A node in the plan that represents a resource CRUD operation.
382
+ */
383
+ type CRUD<R extends Resource = Resource> = Create<R> | Update<R> | Delete<R> | Replace<R> | NoopUpdate<R>;
384
+ type Create<R extends Resource> = {
385
+ action: "create";
386
+ resource: R;
387
+ news: any;
388
+ provider: ProviderService;
389
+ attributes: R["attr"];
390
+ bindings: BindNode[];
391
+ };
392
+ type Update<R extends Resource> = {
393
+ action: "update";
394
+ resource: R;
395
+ olds: any;
396
+ news: any;
397
+ output: any;
398
+ provider: ProviderService;
399
+ attributes: R["attr"];
400
+ bindings: BindNode[];
401
+ };
402
+ type Delete<R extends Resource> = {
403
+ action: "delete";
404
+ resource: R;
405
+ olds: any;
406
+ output: any;
407
+ provider: ProviderService;
408
+ bindings: BindNode[];
409
+ attributes: R["attr"];
410
+ downstream: string[];
411
+ };
412
+ type NoopUpdate<R extends Resource> = {
413
+ action: "noop";
414
+ resource: R;
415
+ attributes: R["attr"];
416
+ bindings: BindNode[];
417
+ };
418
+ type Replace<R extends Resource> = {
419
+ action: "replace";
420
+ resource: R;
421
+ olds: any;
422
+ news: any;
423
+ output: any;
424
+ provider: ProviderService;
425
+ bindings: BindNode[];
426
+ attributes: R["attr"];
427
+ deleteFirst?: boolean;
428
+ };
429
+ type Plan = {
430
+ phase: Phase;
431
+ resources: { [id in string]: CRUD };
432
+ deletions: { [id in string]?: Delete<Resource> };
433
+ };
434
+ //#endregion
435
+ //#region src/approve.d.ts
436
+ declare const PlanRejected_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
437
+ readonly _tag: "PlanRejected";
438
+ } & Readonly<A>;
439
+ declare class PlanRejected extends PlanRejected_base<{}> {}
440
+ declare const PlanReviewer_base: Context.TagClass<PlanReviewer, "PlanReviewer", {
441
+ approve: <P$1 extends Plan>(plan: P$1) => Effect$1.Effect<void, PlanRejected>;
442
+ }>;
443
+ declare class PlanReviewer extends PlanReviewer_base {}
444
+ //#endregion
445
+ //#region src/cli/index.d.ts
446
+ declare const layer: Layer.Layer<PlanReviewer | PlanStatusReporter, never, never>;
447
+ //#endregion
448
+ export { layer };
449
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/resource.ts","../../src/service.ts","../../src/event.ts","../../src/apply.ts","../../src/provider.ts","../../src/binding.ts","../../src/policy.ts","../../src/capability.ts","../../src/runtime.ts","../../src/phase.ts","../../src/plan.ts","../../src/approve.ts","../../src/cli/index.ts"],"sourcesContent":[],"mappings":"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AAA,EImMnB,kBJnMmB,CImMA,MJnMA,EImMQ,MJnMR,EImMgB,KJnMhB,EImMuB,IJnMvB,CAAA,EAAA,GIoMvB,MJpMuB,CIoMhB,OJpMgB,CIoMR,MJpMQ,CAAA,MAAA,CAAA,CAAA,EAAA,KAAA,EIoMgB,cJpMhB,CAAA;EAAX,MAAA,EAAA,CAAA,KAAA,EIsMR,kBJtMQ,CIsMW,MJtMX,EIsMmB,MJtMnB,EIsM2B,KJtM3B,EIsMkC,IJtMlC,CAAA,EAAA,GIuMZ,MJvMY,CIuML,IJvMK,EAAA,KAAA,EIuMQ,SJvMR,CAAA,GIuMqB,IJvMrB;EAAb,UAAO,CAAA,EAAA,CAAA,KAAA,EIyMF,kBJzME,CIyMiB,MJzMjB,EIyMyB,MJzMzB,EIyMiC,KJzMjC,EIyMwC,IJzMxC,CAAA,EAAA,GI0MN,MJ1MM,CI0MC,IJ1MD,CI0MM,IJ1MN,EAAA,MI0MkB,MJ1MlB,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EI0M6C,aJ1M7C,CAAA;EAFJ,QAAA,CAAA,EAAA,CAAA,KAAA,EI8ME,oBJ9MF,CI8MuB,MJ9MvB,EI8M+B,MJ9M/B,EI8MuC,KJ9MvC,EI8M8C,IJ9M9C,CAAA,EAAA,GI+MF,MJ/ME,CI+MK,IJ/ML,EAAA,KAAA,EI+MkB,WJ/MlB,CAAA,GI+MiC,IJ/MjC;EAM6B,MAAA,CAAA,EAAA,CAAA,KAAA,EI2M3B,kBJ3M2B,CI2MR,MJ3MQ,EI2MA,MJ3MA,EI2MQ,KJ3MR,EI2Me,IJ3Mf,CAAA,EAAA,GI4M/B,MJ5M+B,CAAA,IAAA,EAAA,KAAA,EI4MX,SJ5MW,CAAA,GAAA,IAAA;CAAX;;;;;;;;;;;ADvB3B;AAMM,UMDW,MNCX,CAAA,UMAM,ONAN,EAAA,mBAAA,EAAA,OAAA,OAAA,CAAA,CAAA;EACE,SAAA,OAAA,EMGY,CNHZ;EACC,SAAA,IAAA,EMGQ,INHR,EAAA;EACD,SAAA,YAAA,EMGiB,YNHjB,EAAA;EAGW;EAAM,GAAA,CAAA,UMIT,UNJS,EAAA,CAAA,CAAA,GAAA,QAAA,EMKR,CNLQ,CAAA,EMMpB,MNNoB,CMOrB,CNPqB,EMQrB,CNRqB,CAAA,MAAA,CAAA,CAAA,YAAA,CAA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"}