alchemy 2.0.0-beta.34 → 2.0.0-beta.36

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 (390) hide show
  1. package/bin/cli.js +8 -7
  2. package/bin/exec.js +253 -52
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AWS/AuthProvider.d.ts +7 -6
  5. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  6. package/lib/AWS/AuthProvider.js +143 -134
  7. package/lib/AWS/AuthProvider.js.map +1 -1
  8. package/lib/AWS/Bootstrap.d.ts +2 -2
  9. package/lib/AWS/Bootstrap.d.ts.map +1 -1
  10. package/lib/AWS/EC2/hosted.d.ts +1 -1
  11. package/lib/AWS/Environment.d.ts +25 -3
  12. package/lib/AWS/Environment.d.ts.map +1 -1
  13. package/lib/AWS/Environment.js +47 -3
  14. package/lib/AWS/Environment.js.map +1 -1
  15. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts +14 -6
  16. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
  17. package/lib/AWS/IAM/OpenIDConnectProvider.js +6 -3
  18. package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
  19. package/lib/AWS/IAM/Policy.d.ts +1 -1
  20. package/lib/AWS/IAM/Policy.d.ts.map +1 -1
  21. package/lib/AWS/IAM/Policy.js.map +1 -1
  22. package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
  23. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  24. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
  25. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  26. package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
  27. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  28. package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
  29. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  30. package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
  31. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  32. package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
  33. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  34. package/lib/AWS/Providers.d.ts +1 -1
  35. package/lib/AWS/Providers.d.ts.map +1 -1
  36. package/lib/AWS/Providers.js +2 -1
  37. package/lib/AWS/Providers.js.map +1 -1
  38. package/lib/Auth/Credentials.d.ts +21 -6
  39. package/lib/Auth/Credentials.d.ts.map +1 -1
  40. package/lib/Auth/Credentials.js +30 -31
  41. package/lib/Auth/Credentials.js.map +1 -1
  42. package/lib/Auth/Profile.d.ts +31 -34
  43. package/lib/Auth/Profile.d.ts.map +1 -1
  44. package/lib/Auth/Profile.js +46 -31
  45. package/lib/Auth/Profile.js.map +1 -1
  46. package/lib/Axiom/AuthProvider.d.ts +2 -1
  47. package/lib/Axiom/AuthProvider.d.ts.map +1 -1
  48. package/lib/Axiom/AuthProvider.js +149 -143
  49. package/lib/Axiom/AuthProvider.js.map +1 -1
  50. package/lib/Axiom/Credentials.d.ts +2 -1
  51. package/lib/Axiom/Credentials.d.ts.map +1 -1
  52. package/lib/Axiom/Credentials.js +4 -4
  53. package/lib/Axiom/Credentials.js.map +1 -1
  54. package/lib/Axiom/Providers.d.ts +1 -1
  55. package/lib/Axiom/Providers.d.ts.map +1 -1
  56. package/lib/Axiom/Providers.js +3 -1
  57. package/lib/Axiom/Providers.js.map +1 -1
  58. package/lib/Cli/LoggingCli.d.ts.map +1 -1
  59. package/lib/Cli/LoggingCli.js +105 -7
  60. package/lib/Cli/LoggingCli.js.map +1 -1
  61. package/lib/Cli/checkVersion.d.ts +13 -0
  62. package/lib/Cli/checkVersion.d.ts.map +1 -0
  63. package/lib/Cli/checkVersion.js +47 -0
  64. package/lib/Cli/checkVersion.js.map +1 -0
  65. package/lib/Cli/commands/_shared.d.ts +2 -2
  66. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  67. package/lib/Cli/commands/_shared.js +3 -3
  68. package/lib/Cli/commands/_shared.js.map +1 -1
  69. package/lib/Cli/commands/aws.d.ts +6 -0
  70. package/lib/Cli/commands/aws.d.ts.map +1 -0
  71. package/lib/Cli/commands/aws.js +63 -0
  72. package/lib/Cli/commands/aws.js.map +1 -0
  73. package/lib/Cli/commands/cloudflare.d.ts +17 -0
  74. package/lib/Cli/commands/cloudflare.d.ts.map +1 -0
  75. package/lib/Cli/commands/cloudflare.js +111 -0
  76. package/lib/Cli/commands/cloudflare.js.map +1 -0
  77. package/lib/Cli/commands/deploy.d.ts +6 -5
  78. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  79. package/lib/Cli/commands/deploy.js +10 -10
  80. package/lib/Cli/commands/deploy.js.map +1 -1
  81. package/lib/Cli/commands/dev.d.ts.map +1 -1
  82. package/lib/Cli/commands/dev.js +16 -16
  83. package/lib/Cli/commands/dev.js.map +1 -1
  84. package/lib/Cli/commands/login.d.ts +2 -1
  85. package/lib/Cli/commands/login.d.ts.map +1 -1
  86. package/lib/Cli/commands/login.js +9 -8
  87. package/lib/Cli/commands/login.js.map +1 -1
  88. package/lib/Cli/commands/logs.d.ts +1 -1
  89. package/lib/Cli/commands/logs.d.ts.map +1 -1
  90. package/lib/Cli/commands/logs.js +7 -7
  91. package/lib/Cli/commands/logs.js.map +1 -1
  92. package/lib/Cli/commands/profile.d.ts +3 -1
  93. package/lib/Cli/commands/profile.d.ts.map +1 -1
  94. package/lib/Cli/commands/profile.js +14 -11
  95. package/lib/Cli/commands/profile.js.map +1 -1
  96. package/lib/Cli/commands/state.d.ts +1 -1
  97. package/lib/Cli/commands/state.d.ts.map +1 -1
  98. package/lib/Cli/commands/state.js +8 -8
  99. package/lib/Cli/commands/state.js.map +1 -1
  100. package/lib/Cli/commands/tail.d.ts +1 -1
  101. package/lib/Cli/commands/tail.d.ts.map +1 -1
  102. package/lib/Cli/commands/tail.js +7 -7
  103. package/lib/Cli/commands/tail.js.map +1 -1
  104. package/lib/Cli/exec.d.ts.map +1 -1
  105. package/lib/Cli/exec.js +5 -3
  106. package/lib/Cli/exec.js.map +1 -1
  107. package/lib/Cli/main.d.ts.map +1 -1
  108. package/lib/Cli/main.js +19 -5
  109. package/lib/Cli/main.js.map +1 -1
  110. package/lib/Cli/selectCli.d.ts +12 -0
  111. package/lib/Cli/selectCli.d.ts.map +1 -0
  112. package/lib/Cli/selectCli.js +32 -0
  113. package/lib/Cli/selectCli.js.map +1 -0
  114. package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
  115. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  116. package/lib/Cloudflare/Auth/AuthProvider.js +235 -214
  117. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  118. package/lib/Cloudflare/CloudflareEnvironment.d.ts +2 -1
  119. package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
  120. package/lib/Cloudflare/CloudflareEnvironment.js +3 -2
  121. package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
  122. package/lib/Cloudflare/Credentials.d.ts +2 -1
  123. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  124. package/lib/Cloudflare/Credentials.js +4 -4
  125. package/lib/Cloudflare/Credentials.js.map +1 -1
  126. package/lib/Cloudflare/D1/D1Clone.d.ts +2 -1
  127. package/lib/Cloudflare/D1/D1Clone.d.ts.map +1 -1
  128. package/lib/Cloudflare/D1/D1Database.d.ts +2 -1
  129. package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
  130. package/lib/Cloudflare/D1/D1Import.d.ts +3 -1
  131. package/lib/Cloudflare/D1/D1Import.d.ts.map +1 -1
  132. package/lib/Cloudflare/Images/Images.d.ts +103 -0
  133. package/lib/Cloudflare/Images/Images.d.ts.map +1 -0
  134. package/lib/Cloudflare/Images/Images.js +82 -0
  135. package/lib/Cloudflare/Images/Images.js.map +1 -0
  136. package/lib/Cloudflare/Images/ImagesBinding.d.ts +73 -0
  137. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -0
  138. package/lib/Cloudflare/Images/ImagesBinding.js +83 -0
  139. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -0
  140. package/lib/Cloudflare/Images/index.d.ts +3 -0
  141. package/lib/Cloudflare/Images/index.d.ts.map +1 -0
  142. package/lib/Cloudflare/Images/index.js +3 -0
  143. package/lib/Cloudflare/Images/index.js.map +1 -0
  144. package/lib/Cloudflare/Local/Sidecar.d.ts +11 -4
  145. package/lib/Cloudflare/Local/Sidecar.d.ts.map +1 -1
  146. package/lib/Cloudflare/Local/Sidecar.js +8 -6
  147. package/lib/Cloudflare/Local/Sidecar.js.map +1 -1
  148. package/lib/Cloudflare/Local/SidecarHandlers.d.ts.map +1 -1
  149. package/lib/Cloudflare/Local/SidecarHandlers.js +1 -5
  150. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
  151. package/lib/Cloudflare/Local/SidecarServer.js +5 -2
  152. package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
  153. package/lib/Cloudflare/Logs.d.ts +5 -0
  154. package/lib/Cloudflare/Logs.d.ts.map +1 -1
  155. package/lib/Cloudflare/Logs.js +70 -1
  156. package/lib/Cloudflare/Logs.js.map +1 -1
  157. package/lib/Cloudflare/Providers.d.ts +1 -1
  158. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  159. package/lib/Cloudflare/Providers.js +6 -1
  160. package/lib/Cloudflare/Providers.js.map +1 -1
  161. package/lib/Cloudflare/Queue/Queue.d.ts +1 -1
  162. package/lib/Cloudflare/Queue/Queue.js +1 -1
  163. package/lib/Cloudflare/Queue/QueueConsumer.d.ts +6 -2
  164. package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
  165. package/lib/Cloudflare/Queue/QueueConsumer.js +194 -53
  166. package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -1
  167. package/lib/Cloudflare/Queue/QueueEventSource.d.ts +106 -0
  168. package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -0
  169. package/lib/Cloudflare/Queue/QueueEventSource.js +145 -0
  170. package/lib/Cloudflare/Queue/QueueEventSource.js.map +1 -0
  171. package/lib/Cloudflare/Queue/index.d.ts +1 -0
  172. package/lib/Cloudflare/Queue/index.d.ts.map +1 -1
  173. package/lib/Cloudflare/Queue/index.js +1 -0
  174. package/lib/Cloudflare/Queue/index.js.map +1 -1
  175. package/lib/Cloudflare/R2/R2Bucket.d.ts +229 -0
  176. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  177. package/lib/Cloudflare/R2/R2Bucket.js +309 -2
  178. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  179. package/lib/Cloudflare/StateStore/State.d.ts +4 -3
  180. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  181. package/lib/Cloudflare/StateStore/State.js +16 -8
  182. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  183. package/lib/Cloudflare/VpcService/VpcServiceRef.d.ts +1 -1
  184. package/lib/Cloudflare/VpcService/VpcServiceRef.d.ts.map +1 -1
  185. package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
  186. package/lib/Cloudflare/Website/StaticSite.js +10 -1
  187. package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
  188. package/lib/Cloudflare/Workers/Assets.d.ts +1 -1
  189. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  190. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  191. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  192. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  193. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +11 -1
  194. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  195. package/lib/Cloudflare/Workers/Worker.d.ts +14 -12
  196. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  197. package/lib/Cloudflare/Workers/Worker.js +96 -165
  198. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  199. package/lib/Cloudflare/Workers/WorkerBundle.d.ts +2 -0
  200. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  201. package/lib/Cloudflare/Workers/WorkerBundle.js +21 -7
  202. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  203. package/lib/Cloudflare/Zone.d.ts +14 -0
  204. package/lib/Cloudflare/Zone.d.ts.map +1 -0
  205. package/lib/Cloudflare/Zone.js +44 -0
  206. package/lib/Cloudflare/Zone.js.map +1 -0
  207. package/lib/Cloudflare/index.d.ts +1 -0
  208. package/lib/Cloudflare/index.d.ts.map +1 -1
  209. package/lib/Cloudflare/index.js +1 -0
  210. package/lib/Cloudflare/index.js.map +1 -1
  211. package/lib/Drizzle/Schema.d.ts.map +1 -1
  212. package/lib/Drizzle/Schema.js +20 -5
  213. package/lib/Drizzle/Schema.js.map +1 -1
  214. package/lib/GitHub/AuthProvider.d.ts +3 -1
  215. package/lib/GitHub/AuthProvider.d.ts.map +1 -1
  216. package/lib/GitHub/AuthProvider.js +114 -108
  217. package/lib/GitHub/AuthProvider.js.map +1 -1
  218. package/lib/GitHub/Credentials.d.ts +2 -1
  219. package/lib/GitHub/Credentials.d.ts.map +1 -1
  220. package/lib/GitHub/Credentials.js +4 -4
  221. package/lib/GitHub/Credentials.js.map +1 -1
  222. package/lib/GitHub/Providers.d.ts +1 -1
  223. package/lib/GitHub/Providers.d.ts.map +1 -1
  224. package/lib/GitHub/Providers.js +3 -1
  225. package/lib/GitHub/Providers.js.map +1 -1
  226. package/lib/GitHub/Secrets.d.ts.map +1 -1
  227. package/lib/GitHub/Secrets.js +14 -1
  228. package/lib/GitHub/Secrets.js.map +1 -1
  229. package/lib/GitHub/Variables.d.ts +40 -0
  230. package/lib/GitHub/Variables.d.ts.map +1 -0
  231. package/lib/GitHub/Variables.js +28 -0
  232. package/lib/GitHub/Variables.js.map +1 -0
  233. package/lib/GitHub/index.d.ts +1 -0
  234. package/lib/GitHub/index.d.ts.map +1 -1
  235. package/lib/GitHub/index.js +1 -0
  236. package/lib/GitHub/index.js.map +1 -1
  237. package/lib/Neon/AuthProvider.d.ts +3 -1
  238. package/lib/Neon/AuthProvider.d.ts.map +1 -1
  239. package/lib/Neon/AuthProvider.js +87 -80
  240. package/lib/Neon/AuthProvider.js.map +1 -1
  241. package/lib/Neon/Credentials.d.ts +2 -1
  242. package/lib/Neon/Credentials.d.ts.map +1 -1
  243. package/lib/Neon/Credentials.js +4 -4
  244. package/lib/Neon/Credentials.js.map +1 -1
  245. package/lib/Neon/NeonEnvironment.d.ts +2 -1
  246. package/lib/Neon/NeonEnvironment.d.ts.map +1 -1
  247. package/lib/Neon/NeonEnvironment.js +3 -2
  248. package/lib/Neon/NeonEnvironment.js.map +1 -1
  249. package/lib/Neon/Project.d.ts +16 -0
  250. package/lib/Neon/Project.d.ts.map +1 -1
  251. package/lib/Neon/Project.js +25 -0
  252. package/lib/Neon/Project.js.map +1 -1
  253. package/lib/Neon/Providers.d.ts +1 -1
  254. package/lib/Neon/Providers.d.ts.map +1 -1
  255. package/lib/Neon/Providers.js +3 -1
  256. package/lib/Neon/Providers.js.map +1 -1
  257. package/lib/Neon/api.d.ts +1 -0
  258. package/lib/Neon/api.d.ts.map +1 -1
  259. package/lib/Neon/api.js +1 -0
  260. package/lib/Neon/api.js.map +1 -1
  261. package/lib/Sidecar/RpcClient.d.ts.map +1 -1
  262. package/lib/Sidecar/RpcClient.js +8 -5
  263. package/lib/Sidecar/RpcClient.js.map +1 -1
  264. package/lib/Sidecar/RpcPaths.d.ts +5 -0
  265. package/lib/Sidecar/RpcPaths.d.ts.map +1 -1
  266. package/lib/Sidecar/RpcPaths.js +10 -1
  267. package/lib/Sidecar/RpcPaths.js.map +1 -1
  268. package/lib/Sidecar/RpcServer.d.ts +24 -4
  269. package/lib/Sidecar/RpcServer.d.ts.map +1 -1
  270. package/lib/Sidecar/RpcServer.js +70 -15
  271. package/lib/Sidecar/RpcServer.js.map +1 -1
  272. package/lib/Sidecar/RpcServerBun.d.ts +4 -0
  273. package/lib/Sidecar/RpcServerBun.d.ts.map +1 -0
  274. package/lib/Sidecar/RpcServerBun.js +28 -0
  275. package/lib/Sidecar/RpcServerBun.js.map +1 -0
  276. package/lib/Sidecar/RpcServerNode.d.ts +4 -0
  277. package/lib/Sidecar/RpcServerNode.d.ts.map +1 -0
  278. package/lib/Sidecar/RpcServerNode.js +39 -0
  279. package/lib/Sidecar/RpcServerNode.js.map +1 -0
  280. package/lib/Sidecar/RpcServices.d.ts +6 -0
  281. package/lib/Sidecar/RpcServices.d.ts.map +1 -0
  282. package/lib/Sidecar/RpcServices.js +29 -0
  283. package/lib/Sidecar/RpcServices.js.map +1 -0
  284. package/lib/Stack.d.ts +5 -3
  285. package/lib/Stack.d.ts.map +1 -1
  286. package/lib/Stack.js +3 -1
  287. package/lib/Stack.js.map +1 -1
  288. package/lib/Test/Core.d.ts.map +1 -1
  289. package/lib/Test/Core.js +5 -4
  290. package/lib/Test/Core.js.map +1 -1
  291. package/lib/Test/Vitest.d.ts.map +1 -1
  292. package/lib/Test/Vitest.js +2 -0
  293. package/lib/Test/Vitest.js.map +1 -1
  294. package/lib/Util/LocalhostDns.d.ts +19 -0
  295. package/lib/Util/LocalhostDns.d.ts.map +1 -0
  296. package/lib/Util/LocalhostDns.js +55 -0
  297. package/lib/Util/LocalhostDns.js.map +1 -0
  298. package/lib/Util/PlatformServices.d.ts.map +1 -1
  299. package/lib/Util/PlatformServices.js +3 -1
  300. package/lib/Util/PlatformServices.js.map +1 -1
  301. package/lib/tsconfig.test.tsbuildinfo +1 -1
  302. package/package.json +16 -12
  303. package/src/AWS/AuthProvider.ts +269 -259
  304. package/src/AWS/Environment.ts +57 -3
  305. package/src/AWS/IAM/OpenIDConnectProvider.ts +19 -8
  306. package/src/AWS/IAM/Policy.ts +1 -1
  307. package/src/AWS/Providers.ts +2 -0
  308. package/src/Auth/Credentials.ts +82 -46
  309. package/src/Auth/Profile.ts +123 -69
  310. package/src/Axiom/AuthProvider.ts +263 -255
  311. package/src/Axiom/Credentials.ts +3 -4
  312. package/src/Axiom/Providers.ts +4 -0
  313. package/src/Cli/LoggingCli.ts +127 -11
  314. package/src/Cli/checkVersion.ts +57 -0
  315. package/src/Cli/commands/_shared.ts +4 -4
  316. package/src/Cli/commands/aws.ts +127 -0
  317. package/src/Cli/commands/cloudflare.ts +222 -0
  318. package/src/Cli/commands/deploy.ts +11 -10
  319. package/src/Cli/commands/dev.ts +28 -33
  320. package/src/Cli/commands/login.ts +9 -12
  321. package/src/Cli/commands/logs.ts +8 -8
  322. package/src/Cli/commands/profile.ts +14 -16
  323. package/src/Cli/commands/state.ts +8 -8
  324. package/src/Cli/commands/tail.ts +8 -8
  325. package/src/Cli/exec.ts +7 -3
  326. package/src/Cli/main.ts +23 -5
  327. package/src/Cli/selectCli.ts +33 -0
  328. package/src/Cloudflare/Auth/AuthProvider.ts +445 -430
  329. package/src/Cloudflare/CloudflareEnvironment.ts +3 -2
  330. package/src/Cloudflare/Credentials.ts +3 -4
  331. package/src/Cloudflare/Images/Images.ts +121 -0
  332. package/src/Cloudflare/Images/ImagesBinding.ts +192 -0
  333. package/src/Cloudflare/Images/index.ts +2 -0
  334. package/src/Cloudflare/Local/Sidecar.ts +13 -10
  335. package/src/Cloudflare/Local/SidecarHandlers.ts +8 -13
  336. package/src/Cloudflare/Local/SidecarServer.ts +6 -1
  337. package/src/Cloudflare/Logs.ts +115 -1
  338. package/src/Cloudflare/Providers.ts +9 -0
  339. package/src/Cloudflare/Queue/Queue.ts +1 -1
  340. package/src/Cloudflare/Queue/QueueConsumer.ts +262 -60
  341. package/src/Cloudflare/Queue/QueueEventSource.ts +234 -0
  342. package/src/Cloudflare/Queue/index.ts +1 -0
  343. package/src/Cloudflare/R2/R2Bucket.ts +570 -2
  344. package/src/Cloudflare/StateStore/State.ts +25 -16
  345. package/src/Cloudflare/Website/StaticSite.ts +11 -1
  346. package/src/Cloudflare/Workers/InferEnv.ts +7 -3
  347. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
  348. package/src/Cloudflare/Workers/Worker.ts +130 -231
  349. package/src/Cloudflare/Workers/WorkerBundle.ts +38 -12
  350. package/src/Cloudflare/Zone.ts +88 -0
  351. package/src/Cloudflare/index.ts +1 -0
  352. package/src/Drizzle/Schema.ts +21 -5
  353. package/src/GitHub/AuthProvider.ts +221 -217
  354. package/src/GitHub/Credentials.ts +3 -4
  355. package/src/GitHub/Providers.ts +4 -0
  356. package/src/GitHub/Secrets.ts +25 -1
  357. package/src/GitHub/Variables.ts +54 -0
  358. package/src/GitHub/index.ts +1 -0
  359. package/src/Neon/AuthProvider.ts +160 -154
  360. package/src/Neon/Credentials.ts +3 -4
  361. package/src/Neon/NeonEnvironment.ts +3 -2
  362. package/src/Neon/Project.ts +42 -0
  363. package/src/Neon/Providers.ts +4 -0
  364. package/src/Neon/api.ts +2 -0
  365. package/src/Sidecar/RpcClient.ts +8 -7
  366. package/src/Sidecar/RpcPaths.ts +11 -1
  367. package/src/Sidecar/RpcServer.ts +97 -24
  368. package/src/Sidecar/RpcServerBun.ts +41 -0
  369. package/src/Sidecar/RpcServerNode.ts +51 -0
  370. package/src/Sidecar/RpcServices.ts +48 -0
  371. package/src/Stack.ts +8 -0
  372. package/src/Test/Core.ts +10 -4
  373. package/src/Test/Vitest.ts +3 -0
  374. package/src/Util/LocalhostDns.ts +58 -0
  375. package/src/Util/PlatformServices.ts +3 -1
  376. package/lib/Cli/commands/bootstrap.d.ts +0 -20
  377. package/lib/Cli/commands/bootstrap.d.ts.map +0 -1
  378. package/lib/Cli/commands/bootstrap.js +0 -107
  379. package/lib/Cli/commands/bootstrap.js.map +0 -1
  380. package/lib/Sidecar/RpcTransport.d.ts +0 -22
  381. package/lib/Sidecar/RpcTransport.d.ts.map +0 -1
  382. package/lib/Sidecar/RpcTransport.js +0 -81
  383. package/lib/Sidecar/RpcTransport.js.map +0 -1
  384. package/lib/Test/TestCli.d.ts +0 -19
  385. package/lib/Test/TestCli.d.ts.map +0 -1
  386. package/lib/Test/TestCli.js +0 -175
  387. package/lib/Test/TestCli.js.map +0 -1
  388. package/src/Cli/commands/bootstrap.ts +0 -216
  389. package/src/Sidecar/RpcTransport.ts +0 -85
  390. package/src/Test/TestCli.ts +0 -221
@@ -1,9 +1,10 @@
1
+ import { RpcSession, type RpcCompatible, type RpcTransport } from "capnweb";
2
+ import * as Context from "effect/Context";
1
3
  import * as Effect from "effect/Effect";
2
4
  import * as Fiber from "effect/Fiber";
3
5
  import * as FileSystem from "effect/FileSystem";
4
- import * as Layer from "effect/Layer";
5
6
  import * as Schedule from "effect/Schedule";
6
- import * as AlchemyContext from "../AlchemyContext.ts";
7
+ import type * as Scope from "effect/Scope";
7
8
  import * as Lock from "./Lock.ts";
8
9
  import {
9
10
  serializeRpcHandlers,
@@ -11,13 +12,21 @@ import {
11
12
  type RpcHandlers,
12
13
  } from "./RpcHandler.ts";
13
14
  import * as RpcPaths from "./RpcPaths.ts";
14
- import { makeBunWebSocketRpcServer } from "./RpcTransport.ts";
15
15
 
16
- export const layerServices = (main: string) =>
17
- Layer.provideMerge(
18
- Lock.LockLive,
19
- Layer.provideMerge(RpcPaths.layer(main), AlchemyContext.AlchemyContextLive),
20
- );
16
+ export class RpcServer extends Context.Service<
17
+ RpcServer,
18
+ {
19
+ make: <T extends RpcCompatible<T>>(
20
+ main: () => T,
21
+ ) => Effect.Effect<
22
+ {
23
+ readonly url: string;
24
+ },
25
+ never,
26
+ Scope.Scope
27
+ >;
28
+ }
29
+ >()("RpcServer") {}
21
30
 
22
31
  export const makeRpcServer = Effect.fn(function* <T extends RpcHandlers, E, R>(
23
32
  handlersEffect: Effect.Effect<T, E, R>,
@@ -30,28 +39,19 @@ export const makeRpcServer = Effect.fn(function* <T extends RpcHandlers, E, R>(
30
39
  const server = yield* Effect.gen(function* () {
31
40
  const heartbeat = yield* Heartbeat;
32
41
  const handlers = yield* handlersEffect;
33
- const server = yield* Effect.acquireRelease(
34
- Effect.sync(() =>
35
- makeBunWebSocketRpcServer(() => {
36
- const methods = Object.assign(
37
- serializeRpcHandlers(handlers, schema),
38
- {
39
- heartbeat: () => Effect.runPromise(heartbeat.touch),
40
- shutdown: () => Effect.runPromise(heartbeat.shutdown),
41
- },
42
- );
43
- void methods.heartbeat();
44
- return methods;
42
+ const server = yield* RpcServer.use((server) =>
43
+ server.make(() =>
44
+ Object.assign(serializeRpcHandlers(handlers, schema), {
45
+ heartbeat: () => Effect.runPromise(heartbeat.touch),
46
+ shutdown: () => Effect.runPromise(heartbeat.shutdown),
45
47
  }),
46
48
  ),
47
- (server) => Effect.promise(() => server.stop(true)),
48
49
  );
49
- const address = `ws://${server.hostname}:${server.port}`;
50
- yield* fs.writeFileString(paths.url, address);
50
+ yield* fs.writeFileString(paths.url, server.url);
51
51
  yield* Effect.addFinalizer(() =>
52
52
  fs.readFileString(paths.url).pipe(
53
53
  Effect.flatMap((text) =>
54
- text === address ? fs.remove(paths.url) : Effect.void,
54
+ text === server.url ? fs.remove(paths.url) : Effect.void,
55
55
  ),
56
56
  Effect.ignore,
57
57
  ),
@@ -78,3 +78,76 @@ const Heartbeat = Effect.gen(function* () {
78
78
  await: Fiber.join(fiber),
79
79
  };
80
80
  });
81
+
82
+ interface ServerWebSocketLike {
83
+ send: (message: string) => any | Promise<any>;
84
+ close: (code?: number, reason?: string) => void;
85
+ }
86
+
87
+ export type WebSocketRpcSession<T extends RpcCompatible<T>> = ReturnType<
88
+ typeof makeWebSocketRpcSession<T>
89
+ >;
90
+
91
+ export function makeWebSocketRpcSession<T extends RpcCompatible<T>>(
92
+ ws: ServerWebSocketLike,
93
+ main: () => T,
94
+ ) {
95
+ const { transport, dispatch } = makeWebSocketRpcTransport(ws);
96
+ const session = new RpcSession(transport, main());
97
+ return { session, dispatch };
98
+ }
99
+
100
+ function makeWebSocketRpcTransport(ws: ServerWebSocketLike) {
101
+ let receiveQueue: Array<string> = [];
102
+ let receiveResolver: ((value: string) => void) | undefined;
103
+ let receiveRejecter: ((reason: unknown) => void) | undefined;
104
+ let error: unknown | undefined;
105
+ return {
106
+ transport: {
107
+ send: async (message: string) => await ws.send(message),
108
+ receive: async () => {
109
+ const next = receiveQueue.shift();
110
+ if (next) {
111
+ return next;
112
+ } else if (error) {
113
+ throw error;
114
+ }
115
+ return new Promise<string>((resolve, reject) => {
116
+ receiveResolver = resolve;
117
+ receiveRejecter = reject;
118
+ });
119
+ },
120
+ abort: (reason: unknown) => {
121
+ const message =
122
+ reason instanceof Error ? reason.message : String(reason);
123
+ ws.close(3000, message);
124
+ error ??= reason;
125
+ },
126
+ } satisfies RpcTransport,
127
+ dispatch: {
128
+ message: (data: string | Buffer<ArrayBuffer>) => {
129
+ if (error) {
130
+ return;
131
+ }
132
+ data = typeof data === "string" ? data : data.toString("utf-8");
133
+ if (receiveResolver) {
134
+ receiveResolver(data);
135
+ receiveResolver = undefined;
136
+ receiveRejecter = undefined;
137
+ } else {
138
+ receiveQueue.push(data);
139
+ }
140
+ },
141
+ close: (code: number, reason: string) => {
142
+ if (!error) {
143
+ error = new Error(`WebSocket closed with code ${code}: ${reason}`);
144
+ if (receiveRejecter) {
145
+ receiveRejecter(error);
146
+ receiveRejecter = undefined;
147
+ receiveResolver = undefined;
148
+ }
149
+ }
150
+ },
151
+ },
152
+ };
153
+ }
@@ -0,0 +1,41 @@
1
+ import type { RpcCompatible } from "capnweb";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import type { WebSocketRpcSession } from "./RpcServer.ts";
5
+ import { makeWebSocketRpcSession, RpcServer } from "./RpcServer.ts";
6
+
7
+ export const RpcServerBun = Layer.succeed(
8
+ RpcServer,
9
+ RpcServer.of({
10
+ make: <T extends RpcCompatible<T>>(main: () => T) =>
11
+ Effect.acquireRelease(
12
+ Effect.sync(() =>
13
+ Bun.serve<WebSocketRpcSession<T>>({
14
+ port: 0,
15
+ fetch: (request, server) => {
16
+ if (server.upgrade(request, { data: undefined! })) {
17
+ return;
18
+ }
19
+ return new Response("Upgrade failed", { status: 400 });
20
+ },
21
+ websocket: {
22
+ open: (ws) => {
23
+ ws.data = makeWebSocketRpcSession(ws, main);
24
+ },
25
+ message: (ws, message) => {
26
+ ws.data.dispatch.message(message);
27
+ },
28
+ close: (ws, code, reason) => {
29
+ ws.data.dispatch.close(code, reason);
30
+ },
31
+ },
32
+ }),
33
+ ),
34
+ (server) => Effect.sync(() => server.stop(true)),
35
+ ).pipe(
36
+ Effect.map((server) => ({
37
+ url: `ws://${server.hostname}:${server.port}`,
38
+ })),
39
+ ),
40
+ }),
41
+ );
@@ -0,0 +1,51 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { WebSocketServer, type Server } from "ws";
4
+ import { makeWebSocketRpcSession, RpcServer } from "./RpcServer.ts";
5
+
6
+ export const RpcServerNode = Layer.succeed(
7
+ RpcServer,
8
+ RpcServer.of({
9
+ make: Effect.fnUntraced(function* (main) {
10
+ const server = new WebSocketServer({ host: "127.0.0.1", port: 0 });
11
+ const url = yield* Effect.callback<string>((resume) => {
12
+ server.on("connection", (ws) => {
13
+ const session = makeWebSocketRpcSession(ws, main);
14
+ ws.on("message", (data) => {
15
+ session.dispatch.message(data.toString());
16
+ });
17
+ ws.on("close", (code, reason) => {
18
+ session.dispatch.close(code, reason.toString());
19
+ });
20
+ });
21
+ server.on("error", (error) => {
22
+ resume(Effect.die(error));
23
+ });
24
+ server.on("listening", () => {
25
+ resume(getServerAddress(server));
26
+ });
27
+ });
28
+ yield* Effect.addFinalizer(() => Effect.sync(() => server.close()));
29
+ return { url };
30
+ }),
31
+ }),
32
+ );
33
+
34
+ function getServerAddress(server: Server): Effect.Effect<string> {
35
+ const address = server.address();
36
+ if (
37
+ typeof address === "object" &&
38
+ address !== null &&
39
+ "address" in address &&
40
+ "port" in address
41
+ ) {
42
+ return Effect.succeed(
43
+ `ws://${address.address === "::" ? "localhost" : address.address}:${address.port}`,
44
+ );
45
+ }
46
+ return Effect.die(
47
+ new Error(
48
+ `Server address is not an object with address and port properties: ${JSON.stringify(address)}`,
49
+ ),
50
+ );
51
+ }
@@ -0,0 +1,48 @@
1
+ import * as ConfigProvider from "effect/ConfigProvider";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Option from "effect/Option";
5
+ import * as AlchemyContext from "../AlchemyContext.ts";
6
+ import { withProfileOverride } from "../Auth/Profile.ts";
7
+ import type { ExecStackOptionsEncoded } from "../Cli/commands/deploy.ts";
8
+ import { loadConfigProvider } from "../Util/ConfigProvider.ts";
9
+ import * as Lock from "./Lock.ts";
10
+ import * as RpcPaths from "./RpcPaths.ts";
11
+
12
+ export const layer = (main: string) =>
13
+ Layer.provideMerge(
14
+ Lock.LockLive,
15
+ Layer.provideMerge(
16
+ RpcPaths.layer(main),
17
+ Layer.mergeAll(
18
+ AlchemyContext.AlchemyContextLive,
19
+ makeConfigProvider(),
20
+ Layer.unwrap(
21
+ Effect.promise(() => {
22
+ if ("Bun" in globalThis) {
23
+ return import("./RpcServerBun.ts").then((m) => m.RpcServerBun);
24
+ } else {
25
+ return import("./RpcServerNode.js").then((m) => m.RpcServerNode);
26
+ }
27
+ }),
28
+ ),
29
+ ),
30
+ ),
31
+ );
32
+
33
+ const makeConfigProvider = () => {
34
+ let options: Partial<ExecStackOptionsEncoded>;
35
+ try {
36
+ options = JSON.parse(
37
+ process.env.ALCHEMY_EXEC_OPTIONS!,
38
+ ) as ExecStackOptionsEncoded;
39
+ } catch {
40
+ options = {};
41
+ }
42
+ const envFile = Option.fromUndefinedOr(options.envFile);
43
+ return ConfigProvider.layer(
44
+ loadConfigProvider(envFile).pipe(
45
+ Effect.map((base) => withProfileOverride(base, options.profile)),
46
+ ),
47
+ );
48
+ };
package/src/Stack.ts CHANGED
@@ -13,6 +13,8 @@ import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSp
13
13
  import { AlchemyContext, AlchemyContextLive } from "./AlchemyContext.ts";
14
14
  import { provideFreshArtifactStore } from "./Artifacts.ts";
15
15
  import { AuthProviders } from "./Auth/AuthProvider.ts";
16
+ import { CredentialsStore, CredentialsStoreLive } from "./Auth/Credentials.ts";
17
+ import { Profile, ProfileLive } from "./Auth/Profile.ts";
16
18
  import { Cli } from "./Cli/Cli.ts";
17
19
  import type { Input, InputProps } from "./Input.ts";
18
20
  import * as Output from "./Output.ts";
@@ -35,6 +37,8 @@ export type StackServices =
35
37
  | HttpClient
36
38
  | ChildProcessSpawner
37
39
  | AuthProviders
40
+ | Profile
41
+ | CredentialsStore
38
42
  | Cli;
39
43
 
40
44
  export type StackEffect<A, Err = never, Req = never> = Effect.Effect<
@@ -46,6 +50,8 @@ export type StackEffect<A, Err = never, Req = never> = Effect.Effect<
46
50
  | AuthProviders
47
51
  | AlchemyContext
48
52
  | Cli
53
+ | Profile
54
+ | CredentialsStore
49
55
  | State
50
56
  | Req
51
57
  >;
@@ -250,6 +256,8 @@ const platform = Layer.mergeAll(
250
256
  PlatformServices,
251
257
  FetchHttpClient.layer,
252
258
  Logger.layer([fileLogger("out")], { mergeWithExisting: true }),
259
+ Layer.provide(ProfileLive, PlatformServices),
260
+ Layer.provide(CredentialsStoreLive, PlatformServices),
253
261
  );
254
262
  // override alchemy state store, CLI/reporting, state, and Config
255
263
  const alchemy = (overrides?: { dev?: boolean }) =>
package/src/Test/Core.ts CHANGED
@@ -9,8 +9,9 @@ import { AlchemyContext, AlchemyContextLive } from "../AlchemyContext.ts";
9
9
  import { apply } from "../Apply.ts";
10
10
  import { provideFreshArtifactStore } from "../Artifacts.ts";
11
11
  import { AuthProviders } from "../Auth/AuthProvider.ts";
12
- import { withProfileOverride } from "../Auth/Profile.ts";
13
- import { TestCli } from "./TestCli.ts";
12
+ import { CredentialsStoreLive } from "../Auth/Credentials.ts";
13
+ import { ProfileLive, withProfileOverride } from "../Auth/Profile.ts";
14
+ import { LoggingCli } from "../Cli/LoggingCli.ts";
14
15
  import { deploy as _deploy } from "../Deploy.ts";
15
16
  import { destroy as _destroy } from "../Destroy.ts";
16
17
  import type { Input } from "../Input.ts";
@@ -72,9 +73,14 @@ const overrideAlchemyContext = (overrides: { dev: boolean }) =>
72
73
 
73
74
  export type TestEffect<A, Req = never> = StackEffect<A, any, Req>;
74
75
 
75
- const platformLayer = Layer.mergeAll(PlatformServices, FetchHttpClient.layer);
76
+ const platformLayer = Layer.mergeAll(
77
+ PlatformServices,
78
+ FetchHttpClient.layer,
79
+ Layer.provide(ProfileLive, PlatformServices),
80
+ Layer.provide(CredentialsStoreLive, PlatformServices),
81
+ );
76
82
 
77
- const alchemyLayer = Layer.mergeAll(TestCli, AlchemyContextLive);
83
+ const alchemyLayer = Layer.mergeAll(LoggingCli, AlchemyContextLive);
78
84
 
79
85
  /**
80
86
  * Build the per-test runtime and return a self-contained Effect.
@@ -10,8 +10,11 @@ import {
10
10
  import type { AlchemyContext } from "../AlchemyContext.ts";
11
11
  import type { CompiledStack } from "../Stack.ts";
12
12
  import type { Stage } from "../Stage.ts";
13
+ import { installLocalhostDns } from "../Util/LocalhostDns.ts";
13
14
  import * as Core from "./Core.ts";
14
15
 
16
+ installLocalhostDns();
17
+
15
18
  export type MakeOptions<ROut = any> = Core.MakeOptions<ROut>;
16
19
  export type ScratchStack = Core.ScratchStack;
17
20
  export type TestEffect<A, R = never> = Core.TestEffect<A, R>;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Process-level DNS shim that makes `*.localhost` resolve to 127.0.0.1.
3
+ *
4
+ * Background: macOS's `getaddrinfo` does not honor RFC 6761 for arbitrary
5
+ * `*.localhost` names; only the bare `localhost` is mapped to loopback.
6
+ * workerd and browsers handle it themselves, but Node's undici-based fetch
7
+ * (and Bun's libcurl-based fetch on some platforms) fails with `ENOTFOUND`
8
+ * when calling URLs returned by the local Cloudflare worker proxy
9
+ * (e.g. `http://my-worker.localhost:1337`).
10
+ *
11
+ * The proxy in `@distilled.cloud/cloudflare-runtime` dispatches by the
12
+ * URL hostname, so we cannot rewrite the URL client-side to `127.0.0.1`
13
+ * (and `Host` is a forbidden fetch header). The fix is to make the host
14
+ * resolvable at the network layer.
15
+ *
16
+ * Calling `installLocalhostDns()` is idempotent.
17
+ */
18
+
19
+ import { createRequire } from "node:module";
20
+
21
+ let installed = false;
22
+
23
+ const isLocalhost = (hostname: string): boolean =>
24
+ hostname === "localhost" ||
25
+ hostname === "[::1]" ||
26
+ hostname.endsWith(".localhost");
27
+
28
+ export const installLocalhostDns = (): void => {
29
+ if (installed) return;
30
+ installed = true;
31
+ // Bun resolves `*.localhost` natively via its libcurl-based fetch on
32
+ // Darwin and Linux, so the shim is a no-op there. If a future Bun
33
+ // release changes this, install via Bun's undici-compatible global
34
+ // dispatcher here.
35
+ if (typeof (globalThis as { Bun?: unknown }).Bun !== "undefined") return;
36
+ try {
37
+ const require = createRequire(import.meta.url);
38
+ const undici: typeof import("undici") = require("undici");
39
+ const dns: typeof import("node:dns") = require("node:dns");
40
+ undici.setGlobalDispatcher(
41
+ new undici.Agent({
42
+ connect: {
43
+ lookup: (hostname, options, cb: any) => {
44
+ if (isLocalhost(hostname)) {
45
+ if (options && (options as { all?: boolean }).all) {
46
+ return cb(null, [{ address: "127.0.0.1", family: 4 }]);
47
+ }
48
+ return cb(null, "127.0.0.1", 4);
49
+ }
50
+ return dns.lookup(hostname, options, cb);
51
+ },
52
+ },
53
+ }),
54
+ );
55
+ } catch {
56
+ // undici not available; nothing to do.
57
+ }
58
+ };
@@ -9,6 +9,7 @@ import type { HttpServer } from "effect/unstable/http/HttpServer";
9
9
  import type { ServeError } from "effect/unstable/http/HttpServerError";
10
10
  import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
11
11
  import type { WebSocketConstructor } from "effect/unstable/socket/Socket";
12
+ import { installLocalhostDns } from "./LocalhostDns.ts";
12
13
 
13
14
  const isBun = typeof Bun !== "undefined";
14
15
 
@@ -52,6 +53,7 @@ export const runMain = <E, A>(
52
53
  readonly teardown?: Teardown | undefined;
53
54
  },
54
55
  ): void => {
56
+ installLocalhostDns();
55
57
  if (isBun) {
56
58
  void import("@effect/platform-bun/BunRuntime").then((BunRuntime) =>
57
59
  BunRuntime.runMain(effect, options),
@@ -65,7 +67,7 @@ export const runMain = <E, A>(
65
67
 
66
68
  export const httpServer = (
67
69
  port: number = 0,
68
- host: string = "localhost",
70
+ host: string = "127.0.0.1",
69
71
  ): Layer.Layer<HttpServer, ServeError> =>
70
72
  Effect.promise(async () => {
71
73
  if (isBun) {
@@ -1,20 +0,0 @@
1
- import type { FileSystem } from "effect/FileSystem";
2
- import { Path } from "effect/Path";
3
- import * as Command from "effect/unstable/cli/Command";
4
- import type { HttpClient } from "effect/unstable/http/HttpClient";
5
- import * as CloudflareAccess from "../../Cloudflare/Access.ts";
6
- export declare const bootstrapCommand: Command.Command<"bootstrap", {} | {}, {}, import("../../AlchemyContext.ts").AlchemyContext | import("effect/Config").ConfigError | import("../../Auth/AuthProvider").AuthError | import("../../Stage.ts").Stage | import("../../State/State.ts").StateStoreError | import("../../Output.ts").MissingSourceError | import("../../Output.ts").InvalidReferenceError | import("@distilled.cloud/aws/Errors").UnknownAwsError | import("@distilled.cloud/aws/Errors").AccessDeniedException | import("@distilled.cloud/aws/Errors").ExpiredTokenException | import("@distilled.cloud/aws/Errors").IncompleteSignature | import("@distilled.cloud/aws/Errors").InternalFailure | import("@distilled.cloud/aws/Errors").MalformedHttpRequestException | import("@distilled.cloud/aws/Errors").NotAuthorized | import("@distilled.cloud/aws/Errors").OptInRequired | import("@distilled.cloud/aws/Errors").RequestAbortedException | import("@distilled.cloud/aws/Errors").RequestEntityTooLargeException | import("@distilled.cloud/aws/Errors").RequestExpired | import("@distilled.cloud/aws/Errors").RequestTimeoutException | import("@distilled.cloud/aws/Errors").ServiceUnavailable | import("@distilled.cloud/aws/Errors").ThrottlingException | import("@distilled.cloud/aws/Errors").UnrecognizedClientException | import("@distilled.cloud/aws/Errors").UnknownOperationException | import("@distilled.cloud/aws/Errors").ValidationError | import("@distilled.cloud/aws/Errors").ValidationException | import("@distilled.cloud/aws/Errors").OperationAborted | import("@distilled.cloud/aws/Errors").EndpointError | import("@distilled.cloud/aws/Errors").NoMatchingRuleError | import("@distilled.cloud/aws/Credentials").CredentialsError | import("@distilled.cloud/aws/s3").RequestLimitExceeded | import("@distilled.cloud/aws/s3").RequestError | import("@distilled.cloud/aws/s3").NoSuchBucket | import("@distilled.cloud/aws/s3").PermanentRedirect | import("@distilled.cloud/aws/s3").BucketAlreadyExists | import("@distilled.cloud/aws/s3").IllegalLocationConstraintException | import("@distilled.cloud/aws/s3").InvalidArgument | import("@distilled.cloud/aws/s3").InvalidBucketName | import("@distilled.cloud/aws/s3").InvalidLocationConstraint | import("@distilled.cloud/aws/s3").NotFound | import("@distilled.cloud/aws/s3").ParseError | import("@distilled.cloud/aws/s3").BucketNotEmpty | CloudflareAccess.AccessError | import("@distilled.cloud/cloudflare").DefaultErrors | import("@distilled.cloud/cloudflare/workers").InvalidRoute | import("@distilled.cloud/cloudflare/secrets-store").InvalidAccountId | {
7
- readonly _tag: "StateStoreVersionNotReady";
8
- readonly expected: number;
9
- readonly observed: number | undefined;
10
- name: string;
11
- message: string;
12
- stack?: string;
13
- cause?: unknown;
14
- readonly "~effect/Runtime/errorExitCode"?: number;
15
- readonly "~effect/Runtime/errorReported"?: boolean;
16
- readonly "~effect/ErrorReporter/ignore"?: boolean;
17
- readonly "~effect/ErrorReporter/severity"?: import("effect/LogLevel").Severity;
18
- readonly "~effect/ErrorReporter/attributes"?: import("effect/Record").ReadonlyRecord<string, unknown>;
19
- }, import("../../AlchemyContext.ts").AlchemyContext | Path | FileSystem | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | HttpClient | import("../Cli.ts").Cli>;
20
- //# sourceMappingURL=bootstrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/Cli/commands/bootstrap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAWlE,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AA+L/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;2LAE5B,CAAC"}
@@ -1,107 +0,0 @@
1
- import * as Auth from "@distilled.cloud/aws/Auth";
2
- import * as ConfigProvider from "effect/ConfigProvider";
3
- import * as Console from "effect/Console";
4
- import * as Effect from "effect/Effect";
5
- import * as Layer from "effect/Layer";
6
- import * as Logger from "effect/Logger";
7
- import * as Option from "effect/Option";
8
- import { Path } from "effect/Path";
9
- import * as Command from "effect/unstable/cli/Command";
10
- import * as Flag from "effect/unstable/cli/Flag";
11
- import { bootstrap as bootstrapAws, destroyBootstrap as destroyBootstrapAws, } from "../../AWS/Bootstrap";
12
- import * as AWSCredentials from "../../AWS/Credentials";
13
- import * as AWSEnvironment from "../../AWS/Environment";
14
- import * as AWSRegion from "../../AWS/Region";
15
- import { AuthProviders } from "../../Auth/AuthProvider";
16
- import { withProfileOverride } from "../../Auth/Profile";
17
- import * as CloudflareAccess from "../../Cloudflare/Access.js";
18
- import { CloudflareAuth } from "../../Cloudflare/Auth/AuthProvider";
19
- import * as CloudflareEnvironment from "../../Cloudflare/CloudflareEnvironment";
20
- import * as CloudflareCredentials from "../../Cloudflare/Credentials";
21
- import { bootstrap as bootstrapCloudflare } from "../../Cloudflare/StateStore/State";
22
- import { loadConfigProvider } from "../../Util/ConfigProvider";
23
- import { fileLogger } from "../../Util/FileLogger";
24
- import { envFile, instrumentCommand, profile } from "./_shared.js";
25
- const awsProfile = Flag.string("profile").pipe(Flag.withDescription("AWS profile to use for credentials"), Flag.optional, Flag.map(Option.getOrElse(() => "default")));
26
- const awsRegion = Flag.string("region").pipe(Flag.withDescription("AWS region to bootstrap (defaults to AWS_REGION env var)"), Flag.optional, Flag.map(Option.getOrUndefined));
27
- const bootstrapDestroy = Flag.boolean("destroy").pipe(Flag.withDescription("Destroy all bootstrap buckets in the selected region"), Flag.withDefault(false));
28
- const bootstrapAwsCommand = Command.make("aws", {
29
- envFile,
30
- profile: awsProfile,
31
- region: awsRegion,
32
- destroy: bootstrapDestroy,
33
- }, instrumentCommand("bootstrap.aws", (a) => ({
34
- "alchemy.profile": a.profile,
35
- "alchemy.region": a.region ?? "",
36
- "alchemy.destroy": a.destroy,
37
- }))(Effect.fnUntraced(function* ({ envFile, profile, region, destroy }) {
38
- const logger = Logger.layer([fileLogger("bootstrap.txt")], {
39
- mergeWithExisting: true,
40
- });
41
- return yield* Effect.gen(function* () {
42
- const ssoProfile = yield* Auth.loadProfile(profile);
43
- if (!ssoProfile.sso_account_id) {
44
- return yield* Effect.die(`AWS SSO profile '${profile}' is missing sso_account_id`);
45
- }
46
- // Build a single AWSEnvironment, then derive Region/Credentials from
47
- // it so resource providers downstream see a consistent view. The
48
- // credentials Effect captures FileSystem/Path/HttpClient via the
49
- // ambient context; AWSEnvironment expects R=never, so we provide it
50
- // here.
51
- const ambient = yield* Effect.context();
52
- const environment = AWSEnvironment.makeEnvironment({
53
- accountId: ssoProfile.sso_account_id,
54
- region: region ?? ssoProfile.region ?? "us-east-1",
55
- credentials: Auth.loadProfileCredentials(profile).pipe(Effect.provide(ambient)),
56
- profile,
57
- });
58
- const awsLayers = Layer.provideMerge(Layer.mergeAll(AWSRegion.fromEnvironment, AWSCredentials.fromEnvironment), environment);
59
- return yield* Effect.gen(function* () {
60
- const provider = yield* loadConfigProvider(envFile);
61
- const bootstrapLayer = Layer.provide(awsLayers, Layer.succeed(ConfigProvider.ConfigProvider, provider));
62
- if (destroy) {
63
- yield* destroyBootstrapAws().pipe(Effect.tap((result) => result.destroyed === 0
64
- ? Console.log("✓ No bootstrap buckets found to destroy")
65
- : Console.log(`✓ Destroyed ${result.destroyed} bootstrap bucket(s): ${result.bucketNames.join(", ")}`)), Effect.provide(bootstrapLayer));
66
- return;
67
- }
68
- yield* bootstrapAws().pipe(Effect.tap(({ bucketName, created }) => created
69
- ? Console.log(`✓ Created assets bucket: ${bucketName}`)
70
- : Console.log(`✓ Assets bucket already exists: ${bucketName}`)), Effect.provide(bootstrapLayer));
71
- });
72
- }).pipe(Effect.provide(logger));
73
- })));
74
- const cloudflareForce = Flag.boolean("force").pipe(Flag.withDescription("Force a full redeploy even if the state-store worker already exists. " +
75
- "Without this flag, an existing worker is adopted and only its credentials are refreshed."), Flag.withDefault(false));
76
- const cloudflareWorkerName = Flag.string("worker-name").pipe(Flag.withDescription("Override the default state-store worker name (advanced; only needed for multiple state stores per account)."), Flag.optional, Flag.map(Option.getOrUndefined));
77
- const bootstrapCloudflareCommand = Command.make("cloudflare", {
78
- envFile,
79
- profile,
80
- force: cloudflareForce,
81
- workerName: cloudflareWorkerName,
82
- }, instrumentCommand("bootstrap.cloudflare", (a) => ({
83
- "alchemy.profile": a.profile,
84
- "alchemy.force": a.force,
85
- "alchemy.worker_name": a.workerName ?? "",
86
- }))(Effect.fnUntraced(function* ({ envFile, profile, force, workerName }) {
87
- const logger = Logger.layer([fileLogger("bootstrap.txt")], {
88
- mergeWithExisting: true,
89
- });
90
- // Wire up the same Cloudflare auth chain that
91
- // `Cloudflare.state(...)` uses internally. CloudflareAuth is an
92
- // `effectDiscard` layer that registers itself into the
93
- // `AuthProviders` registry at build time, and downstream layers
94
- // (`fromProfile`, `fromAuthProvider`) plus the deploy stack all
95
- // look the registry back up through `getAuthProvider`. We need
96
- // the registry to remain visible all the way through, so the
97
- // composition uses `provideMerge` (provides + re-exports) rather
98
- // than `provide` (provides + hides).
99
- const authProviders = {};
100
- const authRegistry = Layer.succeed(AuthProviders, authProviders);
101
- const authLayer = Layer.provideMerge(CloudflareAuth, authRegistry);
102
- const cloudflareLayers = Layer.provideMerge(Layer.mergeAll(CloudflareCredentials.fromAuthProvider(), CloudflareEnvironment.fromProfile(), CloudflareAccess.AccessLive), authLayer);
103
- const services = Layer.mergeAll(cloudflareLayers, ConfigProvider.layer(withProfileOverride(yield* loadConfigProvider(envFile), profile)), logger);
104
- yield* bootstrapCloudflare({ workerName, force }).pipe(Effect.provide(services));
105
- })));
106
- export const bootstrapCommand = Command.make("bootstrap", {}).pipe(Command.withSubcommands([bootstrapAwsCommand, bootstrapCloudflareCommand]));
107
- //# sourceMappingURL=bootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/Cli/commands/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { ServerWebSocket } from "bun";
2
- import type { RpcCompatible, RpcTransport } from "capnweb";
3
- import { RpcSession } from "capnweb";
4
- export declare function makeBunWebSocketRpcServer<T extends RpcCompatible<T>>(main: () => T): Bun.Server<{
5
- transport: BunWebSocketRpcTransport;
6
- session: RpcSession<T>;
7
- }>;
8
- declare class BunWebSocketRpcTransport implements RpcTransport {
9
- private readonly ws;
10
- private receiveQueue;
11
- private receiveResolver?;
12
- private receiveRejecter?;
13
- private error?;
14
- constructor(ws: ServerWebSocket<any>);
15
- send(message: string): Promise<void>;
16
- receive(): Promise<string>;
17
- abort?(reason: any): void;
18
- dispatchMessage(data: string | Buffer<ArrayBuffer>): void;
19
- dispatchClose(code: number, reason: string): void;
20
- }
21
- export {};
22
- //# sourceMappingURL=RpcTransport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RpcTransport.d.ts","sourceRoot":"","sources":["../../src/Sidecar/RpcTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAClE,IAAI,EAAE,MAAM,CAAC;eAGA,wBAAwB;aAC1B,UAAU,CAAC,CAAC,CAAC;GAuBzB;AAED,cAAM,wBAAyB,YAAW,YAAY;IAKxC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAJ/B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,KAAK,CAAC,CAAU;gBACK,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGpC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAYhC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAKzB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;IAczD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAUlD"}