alchemy 2.0.0-beta.73 → 2.0.0-beta.75

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 (1401) hide show
  1. package/README.md +7 -1
  2. package/bin/exec.js +330 -121
  3. package/bin/exec.js.map +1 -1
  4. package/lib/AWS/ACM/Certificate.d.ts +6 -2
  5. package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
  6. package/lib/AWS/ACM/Certificate.js +23 -11
  7. package/lib/AWS/ACM/Certificate.js.map +1 -1
  8. package/lib/AWS/AppRunner/Service.d.ts +16 -0
  9. package/lib/AWS/AppRunner/Service.d.ts.map +1 -1
  10. package/lib/AWS/AppRunner/Service.js +83 -63
  11. package/lib/AWS/AppRunner/Service.js.map +1 -1
  12. package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.d.ts.map +1 -1
  13. package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.js +39 -15
  14. package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.js.map +1 -1
  15. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  16. package/lib/AWS/AuthProvider.js +8 -2
  17. package/lib/AWS/AuthProvider.js.map +1 -1
  18. package/lib/AWS/Batch/JobDefinition.d.ts.map +1 -1
  19. package/lib/AWS/Batch/JobDefinition.js +14 -68
  20. package/lib/AWS/Batch/JobDefinition.js.map +1 -1
  21. package/lib/AWS/CloudFront/KvEntries.d.ts.map +1 -1
  22. package/lib/AWS/CloudFront/KvEntries.js +15 -7
  23. package/lib/AWS/CloudFront/KvEntries.js.map +1 -1
  24. package/lib/AWS/CloudFront/KvRoutesUpdate.d.ts.map +1 -1
  25. package/lib/AWS/CloudFront/KvRoutesUpdate.js +3 -9
  26. package/lib/AWS/CloudFront/KvRoutesUpdate.js.map +1 -1
  27. package/lib/AWS/CloudFront/common.d.ts +11 -0
  28. package/lib/AWS/CloudFront/common.d.ts.map +1 -1
  29. package/lib/AWS/CloudFront/common.js +9 -1
  30. package/lib/AWS/CloudFront/common.js.map +1 -1
  31. package/lib/AWS/Cognito/UserPool.d.ts +96 -3
  32. package/lib/AWS/Cognito/UserPool.d.ts.map +1 -1
  33. package/lib/AWS/Cognito/UserPool.js +155 -33
  34. package/lib/AWS/Cognito/UserPool.js.map +1 -1
  35. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  36. package/lib/AWS/EC2/Instance.js +32 -14
  37. package/lib/AWS/EC2/Instance.js.map +1 -1
  38. package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
  39. package/lib/AWS/EC2/NetworkAcl.js +9 -4
  40. package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
  41. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  42. package/lib/AWS/EC2/hosted.js +5 -74
  43. package/lib/AWS/EC2/hosted.js.map +1 -1
  44. package/lib/AWS/ECR/Image.d.ts +4 -3
  45. package/lib/AWS/ECR/Image.d.ts.map +1 -1
  46. package/lib/AWS/ECR/Image.js +17 -47
  47. package/lib/AWS/ECR/Image.js.map +1 -1
  48. package/lib/AWS/ECR/ImageSource.d.ts +7 -4
  49. package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
  50. package/lib/AWS/ECR/ImageSource.js +10 -97
  51. package/lib/AWS/ECR/ImageSource.js.map +1 -1
  52. package/lib/AWS/ECS/EcsDevWatch.d.ts +1 -21
  53. package/lib/AWS/ECS/EcsDevWatch.d.ts.map +1 -1
  54. package/lib/AWS/ECS/EcsDevWatch.js +1 -56
  55. package/lib/AWS/ECS/EcsDevWatch.js.map +1 -1
  56. package/lib/AWS/ECS/FlociServiceProvider.d.ts.map +1 -1
  57. package/lib/AWS/ECS/FlociServiceProvider.js +34 -22
  58. package/lib/AWS/ECS/FlociServiceProvider.js.map +1 -1
  59. package/lib/AWS/ECS/FlociTaskProvider.d.ts.map +1 -1
  60. package/lib/AWS/ECS/FlociTaskProvider.js +25 -15
  61. package/lib/AWS/ECS/FlociTaskProvider.js.map +1 -1
  62. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  63. package/lib/AWS/ECS/Service.js +2 -27
  64. package/lib/AWS/ECS/Service.js.map +1 -1
  65. package/lib/AWS/ECS/Task.d.ts +1 -1
  66. package/lib/AWS/Endpoint.d.ts +11 -0
  67. package/lib/AWS/Endpoint.d.ts.map +1 -1
  68. package/lib/AWS/Endpoint.js +11 -0
  69. package/lib/AWS/Endpoint.js.map +1 -1
  70. package/lib/AWS/IAM/SAMLProvider.d.ts +3 -3
  71. package/lib/AWS/IAM/SAMLProvider.d.ts.map +1 -1
  72. package/lib/AWS/IAM/SAMLProvider.js +36 -22
  73. package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
  74. package/lib/AWS/Lambda/DurableFunction.d.ts +22 -1
  75. package/lib/AWS/Lambda/DurableFunction.d.ts.map +1 -1
  76. package/lib/AWS/Lambda/DurableFunction.js.map +1 -1
  77. package/lib/AWS/Lambda/FlociFunctionProvider.d.ts.map +1 -1
  78. package/lib/AWS/Lambda/FlociFunctionProvider.js +73 -30
  79. package/lib/AWS/Lambda/FlociFunctionProvider.js.map +1 -1
  80. package/lib/AWS/Lambda/FlociMicrovmImageProvider.d.ts +6 -0
  81. package/lib/AWS/Lambda/FlociMicrovmImageProvider.d.ts.map +1 -0
  82. package/lib/AWS/Lambda/FlociMicrovmImageProvider.js +197 -0
  83. package/lib/AWS/Lambda/FlociMicrovmImageProvider.js.map +1 -0
  84. package/lib/AWS/Lambda/Function.d.ts +155 -51
  85. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  86. package/lib/AWS/Lambda/Function.js +368 -70
  87. package/lib/AWS/Lambda/Function.js.map +1 -1
  88. package/lib/AWS/Lambda/FunctionBundle.d.ts +3 -3
  89. package/lib/AWS/Lambda/FunctionBundle.d.ts.map +1 -1
  90. package/lib/AWS/Lambda/FunctionBundle.js +9 -120
  91. package/lib/AWS/Lambda/FunctionBundle.js.map +1 -1
  92. package/lib/AWS/Lambda/FunctionImage.d.ts +154 -0
  93. package/lib/AWS/Lambda/FunctionImage.d.ts.map +1 -0
  94. package/lib/AWS/Lambda/FunctionImage.js +359 -0
  95. package/lib/AWS/Lambda/FunctionImage.js.map +1 -0
  96. package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
  97. package/lib/AWS/Lambda/MicrovmBundle.js +10 -64
  98. package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
  99. package/lib/AWS/Lambda/MicrovmImage.d.ts +6 -1
  100. package/lib/AWS/Lambda/MicrovmImage.d.ts.map +1 -1
  101. package/lib/AWS/Lambda/MicrovmImage.js.map +1 -1
  102. package/lib/AWS/Lambda/MicrovmProvider.d.ts +1 -4
  103. package/lib/AWS/Lambda/MicrovmProvider.d.ts.map +1 -1
  104. package/lib/AWS/Lambda/MicrovmProvider.js +104 -24
  105. package/lib/AWS/Lambda/MicrovmProvider.js.map +1 -1
  106. package/lib/AWS/Lambda/index.d.ts +1 -0
  107. package/lib/AWS/Lambda/index.d.ts.map +1 -1
  108. package/lib/AWS/Lambda/index.js +1 -0
  109. package/lib/AWS/Lambda/index.js.map +1 -1
  110. package/lib/AWS/Local/DevWatchProvider.d.ts +37 -1
  111. package/lib/AWS/Local/DevWatchProvider.d.ts.map +1 -1
  112. package/lib/AWS/Local/DevWatchProvider.js +62 -3
  113. package/lib/AWS/Local/DevWatchProvider.js.map +1 -1
  114. package/lib/AWS/Local/FlociServices.d.ts.map +1 -1
  115. package/lib/AWS/Local/FlociServices.js +4 -0
  116. package/lib/AWS/Local/FlociServices.js.map +1 -1
  117. package/lib/AWS/Local/ImageSourceTrigger.d.ts +32 -0
  118. package/lib/AWS/Local/ImageSourceTrigger.d.ts.map +1 -0
  119. package/lib/AWS/Local/ImageSourceTrigger.js +67 -0
  120. package/lib/AWS/Local/ImageSourceTrigger.js.map +1 -0
  121. package/lib/AWS/Local/Local.js +2 -1
  122. package/lib/AWS/Local/Local.js.map +1 -1
  123. package/lib/AWS/Local/ProviderContext.d.ts +25 -0
  124. package/lib/AWS/Local/ProviderContext.d.ts.map +1 -1
  125. package/lib/AWS/Local/ProviderContext.js +72 -0
  126. package/lib/AWS/Local/ProviderContext.js.map +1 -1
  127. package/lib/AWS/Providers.d.ts.map +1 -1
  128. package/lib/AWS/Providers.js +48 -7
  129. package/lib/AWS/Providers.js.map +1 -1
  130. package/lib/AWS/Route53/HostedZoneLookup.d.ts +22 -0
  131. package/lib/AWS/Route53/HostedZoneLookup.d.ts.map +1 -0
  132. package/lib/AWS/Route53/HostedZoneLookup.js +51 -0
  133. package/lib/AWS/Route53/HostedZoneLookup.js.map +1 -0
  134. package/lib/AWS/Route53/Record.d.ts +6 -2
  135. package/lib/AWS/Route53/Record.d.ts.map +1 -1
  136. package/lib/AWS/Route53/Record.js +17 -7
  137. package/lib/AWS/Route53/Record.js.map +1 -1
  138. package/lib/AWS/Route53/Records.d.ts +10 -4
  139. package/lib/AWS/Route53/Records.d.ts.map +1 -1
  140. package/lib/AWS/Route53/Records.js +37 -6
  141. package/lib/AWS/Route53/Records.js.map +1 -1
  142. package/lib/AWS/Website/AssetDeployment.d.ts +3 -1
  143. package/lib/AWS/Website/AssetDeployment.d.ts.map +1 -1
  144. package/lib/AWS/Website/AssetDeployment.js +80 -82
  145. package/lib/AWS/Website/AssetDeployment.js.map +1 -1
  146. package/lib/AWS/Website/Astro.d.ts +47 -26
  147. package/lib/AWS/Website/Astro.d.ts.map +1 -1
  148. package/lib/AWS/Website/Astro.js +21 -10
  149. package/lib/AWS/Website/Astro.js.map +1 -1
  150. package/lib/AWS/Website/Foldkit.d.ts +136 -0
  151. package/lib/AWS/Website/Foldkit.d.ts.map +1 -0
  152. package/lib/AWS/Website/Foldkit.js +113 -0
  153. package/lib/AWS/Website/Foldkit.js.map +1 -0
  154. package/lib/AWS/Website/FrameworkSite.d.ts +25 -33
  155. package/lib/AWS/Website/FrameworkSite.d.ts.map +1 -1
  156. package/lib/AWS/Website/FrameworkSite.js +15 -8
  157. package/lib/AWS/Website/FrameworkSite.js.map +1 -1
  158. package/lib/AWS/Website/Nextjs.d.ts +29 -32
  159. package/lib/AWS/Website/Nextjs.d.ts.map +1 -1
  160. package/lib/AWS/Website/Nextjs.js +12 -13
  161. package/lib/AWS/Website/Nextjs.js.map +1 -1
  162. package/lib/AWS/Website/Nuxt.d.ts +38 -11
  163. package/lib/AWS/Website/Nuxt.d.ts.map +1 -1
  164. package/lib/AWS/Website/Nuxt.js +32 -10
  165. package/lib/AWS/Website/Nuxt.js.map +1 -1
  166. package/lib/AWS/Website/Octane.d.ts +9 -10
  167. package/lib/AWS/Website/Octane.d.ts.map +1 -1
  168. package/lib/AWS/Website/Octane.js +3 -5
  169. package/lib/AWS/Website/Octane.js.map +1 -1
  170. package/lib/AWS/Website/ReactRouter.d.ts +118 -0
  171. package/lib/AWS/Website/ReactRouter.d.ts.map +1 -0
  172. package/lib/AWS/Website/ReactRouter.js +87 -0
  173. package/lib/AWS/Website/ReactRouter.js.map +1 -0
  174. package/lib/AWS/Website/Router.d.ts.map +1 -1
  175. package/lib/AWS/Website/Router.js +6 -2
  176. package/lib/AWS/Website/Router.js.map +1 -1
  177. package/lib/AWS/Website/ServerLocal.js +1 -1
  178. package/lib/AWS/Website/ServerLocal.js.map +1 -1
  179. package/lib/AWS/Website/SolidStart.d.ts +118 -0
  180. package/lib/AWS/Website/SolidStart.d.ts.map +1 -0
  181. package/lib/AWS/Website/SolidStart.js +78 -0
  182. package/lib/AWS/Website/SolidStart.js.map +1 -0
  183. package/lib/AWS/Website/SsrSite.d.ts.map +1 -1
  184. package/lib/AWS/Website/SsrSite.js +3 -1
  185. package/lib/AWS/Website/SsrSite.js.map +1 -1
  186. package/lib/AWS/Website/StaticSite.d.ts +3 -7
  187. package/lib/AWS/Website/StaticSite.d.ts.map +1 -1
  188. package/lib/AWS/Website/StaticSite.js +7 -5
  189. package/lib/AWS/Website/StaticSite.js.map +1 -1
  190. package/lib/AWS/Website/SvelteKit.d.ts +31 -15
  191. package/lib/AWS/Website/SvelteKit.d.ts.map +1 -1
  192. package/lib/AWS/Website/SvelteKit.js +28 -11
  193. package/lib/AWS/Website/SvelteKit.js.map +1 -1
  194. package/lib/AWS/Website/TanStackStart.d.ts +112 -0
  195. package/lib/AWS/Website/TanStackStart.d.ts.map +1 -0
  196. package/lib/AWS/Website/TanStackStart.js +81 -0
  197. package/lib/AWS/Website/TanStackStart.js.map +1 -0
  198. package/lib/AWS/Website/Vite.d.ts +65 -22
  199. package/lib/AWS/Website/Vite.d.ts.map +1 -1
  200. package/lib/AWS/Website/Vite.js +49 -19
  201. package/lib/AWS/Website/Vite.js.map +1 -1
  202. package/lib/AWS/Website/Waku.d.ts +46 -14
  203. package/lib/AWS/Website/Waku.d.ts.map +1 -1
  204. package/lib/AWS/Website/Waku.js +28 -11
  205. package/lib/AWS/Website/Waku.js.map +1 -1
  206. package/lib/AWS/Website/index.d.ts +4 -1
  207. package/lib/AWS/Website/index.d.ts.map +1 -1
  208. package/lib/AWS/Website/index.js +4 -1
  209. package/lib/AWS/Website/index.js.map +1 -1
  210. package/lib/AWS/Website/shared.d.ts +11 -2
  211. package/lib/AWS/Website/shared.d.ts.map +1 -1
  212. package/lib/AWS/Website/shared.js.map +1 -1
  213. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  214. package/lib/Auth/AuthProvider.js +7 -1
  215. package/lib/Auth/AuthProvider.js.map +1 -1
  216. package/lib/Auth/Lock.d.ts +21 -0
  217. package/lib/Auth/Lock.d.ts.map +1 -1
  218. package/lib/Auth/Lock.js +34 -1
  219. package/lib/Auth/Lock.js.map +1 -1
  220. package/lib/Axiom/Dataset.d.ts +18 -6
  221. package/lib/Axiom/Dataset.d.ts.map +1 -1
  222. package/lib/Axiom/Dataset.js +40 -29
  223. package/lib/Axiom/Dataset.js.map +1 -1
  224. package/lib/Binding.d.ts +1 -1
  225. package/lib/Binding.d.ts.map +1 -1
  226. package/lib/Binding.js +130 -1
  227. package/lib/Binding.js.map +1 -1
  228. package/lib/Bundle/Bundle.d.ts +19 -2
  229. package/lib/Bundle/Bundle.d.ts.map +1 -1
  230. package/lib/Bundle/Bundle.js +57 -3
  231. package/lib/Bundle/Bundle.js.map +1 -1
  232. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  233. package/lib/Cli/commands/deploy.js +17 -1
  234. package/lib/Cli/commands/deploy.js.map +1 -1
  235. package/lib/Cloudflare/AI/SecuritySettings.d.ts.map +1 -1
  236. package/lib/Cloudflare/AI/SecuritySettings.js +1 -0
  237. package/lib/Cloudflare/AI/SecuritySettings.js.map +1 -1
  238. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +4 -2
  239. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  240. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  241. package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
  242. package/lib/Cloudflare/Containers/ContainerBundle.js +9 -97
  243. package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
  244. package/lib/Cloudflare/Containers/ContainerPlatform.d.ts.map +1 -1
  245. package/lib/Cloudflare/Containers/ContainerPlatform.js +24 -2
  246. package/lib/Cloudflare/Containers/ContainerPlatform.js.map +1 -1
  247. package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
  248. package/lib/Cloudflare/Containers/ContainerProvider.js +211 -31
  249. package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
  250. package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts.map +1 -1
  251. package/lib/Cloudflare/Containers/LocalContainerProvider.js +55 -7
  252. package/lib/Cloudflare/Containers/LocalContainerProvider.js.map +1 -1
  253. package/lib/Cloudflare/Email/CatchAll.d.ts.map +1 -1
  254. package/lib/Cloudflare/Email/CatchAll.js +12 -6
  255. package/lib/Cloudflare/Email/CatchAll.js.map +1 -1
  256. package/lib/Cloudflare/Email/Rule.d.ts.map +1 -1
  257. package/lib/Cloudflare/Email/Rule.js +6 -3
  258. package/lib/Cloudflare/Email/Rule.js.map +1 -1
  259. package/lib/Cloudflare/Email/retry.d.ts +21 -0
  260. package/lib/Cloudflare/Email/retry.d.ts.map +1 -0
  261. package/lib/Cloudflare/Email/retry.js +24 -0
  262. package/lib/Cloudflare/Email/retry.js.map +1 -0
  263. package/lib/Cloudflare/R2/Bucket.d.ts +43 -2
  264. package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
  265. package/lib/Cloudflare/R2/Bucket.js +86 -6
  266. package/lib/Cloudflare/R2/Bucket.js.map +1 -1
  267. package/lib/Cloudflare/R2/DataCatalog.d.ts.map +1 -1
  268. package/lib/Cloudflare/R2/DataCatalog.js +18 -16
  269. package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
  270. package/lib/Cloudflare/StateStore/Api.d.ts +3 -0
  271. package/lib/Cloudflare/Website/Astro.d.ts +42 -34
  272. package/lib/Cloudflare/Website/Astro.d.ts.map +1 -1
  273. package/lib/Cloudflare/Website/Astro.js +32 -28
  274. package/lib/Cloudflare/Website/Astro.js.map +1 -1
  275. package/lib/Cloudflare/Website/Foldkit.d.ts +3 -4
  276. package/lib/Cloudflare/Website/Foldkit.d.ts.map +1 -1
  277. package/lib/Cloudflare/Website/Foldkit.js +4 -4
  278. package/lib/Cloudflare/Website/Foldkit.js.map +1 -1
  279. package/lib/Cloudflare/Website/Nextjs.d.ts +26 -60
  280. package/lib/Cloudflare/Website/Nextjs.d.ts.map +1 -1
  281. package/lib/Cloudflare/Website/Nextjs.js +13 -21
  282. package/lib/Cloudflare/Website/Nextjs.js.map +1 -1
  283. package/lib/Cloudflare/Website/Nuxt.d.ts +37 -14
  284. package/lib/Cloudflare/Website/Nuxt.d.ts.map +1 -1
  285. package/lib/Cloudflare/Website/Nuxt.js +24 -4
  286. package/lib/Cloudflare/Website/Nuxt.js.map +1 -1
  287. package/lib/Cloudflare/Website/SvelteKit.d.ts +27 -41
  288. package/lib/Cloudflare/Website/SvelteKit.d.ts.map +1 -1
  289. package/lib/Cloudflare/Website/SvelteKit.js +38 -25
  290. package/lib/Cloudflare/Website/SvelteKit.js.map +1 -1
  291. package/lib/Cloudflare/Website/Vite.d.ts +2 -3
  292. package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
  293. package/lib/Cloudflare/Website/Vite.js +2 -3
  294. package/lib/Cloudflare/Website/Vite.js.map +1 -1
  295. package/lib/Cloudflare/Website/Vocs.d.ts +131 -0
  296. package/lib/Cloudflare/Website/Vocs.d.ts.map +1 -0
  297. package/lib/Cloudflare/Website/Vocs.js +116 -0
  298. package/lib/Cloudflare/Website/Vocs.js.map +1 -0
  299. package/lib/Cloudflare/Website/Waku.d.ts +42 -24
  300. package/lib/Cloudflare/Website/Waku.d.ts.map +1 -1
  301. package/lib/Cloudflare/Website/Waku.js +22 -5
  302. package/lib/Cloudflare/Website/Waku.js.map +1 -1
  303. package/lib/Cloudflare/Website/index.d.ts +1 -0
  304. package/lib/Cloudflare/Website/index.d.ts.map +1 -1
  305. package/lib/Cloudflare/Website/index.js +1 -0
  306. package/lib/Cloudflare/Website/index.js.map +1 -1
  307. package/lib/Cloudflare/Workers/EmailEventSource.d.ts +196 -0
  308. package/lib/Cloudflare/Workers/EmailEventSource.d.ts.map +1 -0
  309. package/lib/Cloudflare/Workers/EmailEventSource.js +198 -0
  310. package/lib/Cloudflare/Workers/EmailEventSource.js.map +1 -0
  311. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  312. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +134 -0
  313. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  314. package/lib/Cloudflare/Workers/Worker.d.ts +7 -0
  315. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  316. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  317. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  318. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +14 -3
  319. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  320. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +6 -0
  321. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  322. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  323. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  324. package/lib/Cloudflare/Workers/index.js +1 -0
  325. package/lib/Cloudflare/Workers/index.js.map +1 -1
  326. package/lib/Cloudflare/Zone/lookup.d.ts +2 -2
  327. package/lib/Cloudflare/Zone/lookup.d.ts.map +1 -1
  328. package/lib/Cloudflare/Zone/lookup.js +16 -20
  329. package/lib/Cloudflare/Zone/lookup.js.map +1 -1
  330. package/lib/Command/Build.d.ts.map +1 -1
  331. package/lib/Command/Build.js +5 -2
  332. package/lib/Command/Build.js.map +1 -1
  333. package/lib/Command/Command.d.ts +4 -1
  334. package/lib/Command/Command.d.ts.map +1 -1
  335. package/lib/Command/Command.js +3 -1
  336. package/lib/Command/Command.js.map +1 -1
  337. package/lib/Docker/BuildHash.d.ts +34 -0
  338. package/lib/Docker/BuildHash.d.ts.map +1 -0
  339. package/lib/Docker/BuildHash.js +220 -0
  340. package/lib/Docker/BuildHash.js.map +1 -0
  341. package/lib/Docker/Container.d.ts +61 -0
  342. package/lib/Docker/Container.d.ts.map +1 -1
  343. package/lib/Docker/Container.js +110 -19
  344. package/lib/Docker/Container.js.map +1 -1
  345. package/lib/Docker/Docker.d.ts +3 -0
  346. package/lib/Docker/Docker.d.ts.map +1 -1
  347. package/lib/Docker/Docker.js.map +1 -1
  348. package/lib/Docker/ServiceImage.d.ts +3 -5
  349. package/lib/Docker/ServiceImage.d.ts.map +1 -1
  350. package/lib/Docker/ServiceImage.js +6 -74
  351. package/lib/Docker/ServiceImage.js.map +1 -1
  352. package/lib/Fly/Bucket.d.ts.map +1 -1
  353. package/lib/Fly/Bucket.js +24 -18
  354. package/lib/Fly/Bucket.js.map +1 -1
  355. package/lib/Fly/BucketBinding.d.ts.map +1 -1
  356. package/lib/Fly/BucketBinding.js +3 -2
  357. package/lib/Fly/BucketBinding.js.map +1 -1
  358. package/lib/Fly/ConnectPostgres.d.ts +0 -2
  359. package/lib/Fly/ConnectPostgres.d.ts.map +1 -1
  360. package/lib/Fly/ConnectPostgres.js.map +1 -1
  361. package/lib/Fly/Decrypt.d.ts +1 -2
  362. package/lib/Fly/Decrypt.d.ts.map +1 -1
  363. package/lib/Fly/Decrypt.js.map +1 -1
  364. package/lib/Fly/DecryptHttp.d.ts.map +1 -1
  365. package/lib/Fly/DecryptHttp.js +3 -13
  366. package/lib/Fly/DecryptHttp.js.map +1 -1
  367. package/lib/Fly/Encrypt.d.ts +1 -2
  368. package/lib/Fly/Encrypt.d.ts.map +1 -1
  369. package/lib/Fly/Encrypt.js.map +1 -1
  370. package/lib/Fly/EncryptHttp.d.ts.map +1 -1
  371. package/lib/Fly/EncryptHttp.js +1 -12
  372. package/lib/Fly/EncryptHttp.js.map +1 -1
  373. package/lib/Fly/Environment.d.ts.map +1 -1
  374. package/lib/Fly/Environment.js +1 -1
  375. package/lib/Fly/Environment.js.map +1 -1
  376. package/lib/Fly/Errors.d.ts +0 -22
  377. package/lib/Fly/Errors.d.ts.map +1 -1
  378. package/lib/Fly/Errors.js +0 -11
  379. package/lib/Fly/Errors.js.map +1 -1
  380. package/lib/Fly/Postgres.d.ts +1 -1
  381. package/lib/Fly/Postgres.d.ts.map +1 -1
  382. package/lib/Fly/Postgres.js +18 -14
  383. package/lib/Fly/Postgres.js.map +1 -1
  384. package/lib/Fly/PostgresMigrations.d.ts.map +1 -1
  385. package/lib/Fly/PostgresMigrations.js +37 -1
  386. package/lib/Fly/PostgresMigrations.js.map +1 -1
  387. package/lib/Fly/Providers.d.ts +2 -1
  388. package/lib/Fly/Providers.d.ts.map +1 -1
  389. package/lib/Fly/Providers.js +7 -2
  390. package/lib/Fly/Providers.js.map +1 -1
  391. package/lib/Fly/ReadRedis.d.ts +3 -6
  392. package/lib/Fly/ReadRedis.d.ts.map +1 -1
  393. package/lib/Fly/Redis.d.ts +1 -16
  394. package/lib/Fly/Redis.d.ts.map +1 -1
  395. package/lib/Fly/Redis.js +1 -4
  396. package/lib/Fly/Redis.js.map +1 -1
  397. package/lib/Fly/RedisBinding.d.ts +3 -4
  398. package/lib/Fly/RedisBinding.d.ts.map +1 -1
  399. package/lib/Fly/RedisBinding.js +4 -111
  400. package/lib/Fly/RedisBinding.js.map +1 -1
  401. package/lib/Fly/RedisHttp.d.ts +7 -9
  402. package/lib/Fly/RedisHttp.d.ts.map +1 -1
  403. package/lib/Fly/RedisHttp.js +4 -32
  404. package/lib/Fly/RedisHttp.js.map +1 -1
  405. package/lib/Fly/SecretHttp.d.ts +3 -1
  406. package/lib/Fly/SecretHttp.d.ts.map +1 -1
  407. package/lib/Fly/SecretHttp.js +16 -21
  408. package/lib/Fly/SecretHttp.js.map +1 -1
  409. package/lib/Fly/SecretKeyHttp.d.ts +1 -8
  410. package/lib/Fly/SecretKeyHttp.d.ts.map +1 -1
  411. package/lib/Fly/SecretKeyHttp.js +0 -33
  412. package/lib/Fly/SecretKeyHttp.js.map +1 -1
  413. package/lib/Fly/Service.d.ts +33 -6
  414. package/lib/Fly/Service.d.ts.map +1 -1
  415. package/lib/Fly/Service.js +64 -24
  416. package/lib/Fly/Service.js.map +1 -1
  417. package/lib/Fly/Sign.d.ts +1 -2
  418. package/lib/Fly/Sign.d.ts.map +1 -1
  419. package/lib/Fly/Sign.js.map +1 -1
  420. package/lib/Fly/SignHttp.d.ts.map +1 -1
  421. package/lib/Fly/SignHttp.js +1 -7
  422. package/lib/Fly/SignHttp.js.map +1 -1
  423. package/lib/Fly/Sprite.d.ts.map +1 -1
  424. package/lib/Fly/Sprite.js +24 -15
  425. package/lib/Fly/Sprite.js.map +1 -1
  426. package/lib/Fly/SpriteHttp.d.ts.map +1 -1
  427. package/lib/Fly/SpriteHttp.js +2 -1
  428. package/lib/Fly/SpriteHttp.js.map +1 -1
  429. package/lib/Fly/Verify.d.ts +1 -2
  430. package/lib/Fly/Verify.d.ts.map +1 -1
  431. package/lib/Fly/Verify.js.map +1 -1
  432. package/lib/Fly/VerifyHttp.d.ts.map +1 -1
  433. package/lib/Fly/VerifyHttp.js +2 -10
  434. package/lib/Fly/VerifyHttp.js.map +1 -1
  435. package/lib/Fly/Website/AssetDeployment.d.ts +43 -0
  436. package/lib/Fly/Website/AssetDeployment.d.ts.map +1 -0
  437. package/lib/Fly/Website/AssetDeployment.js +162 -0
  438. package/lib/Fly/Website/AssetDeployment.js.map +1 -0
  439. package/lib/Fly/Website/Astro.d.ts +87 -0
  440. package/lib/Fly/Website/Astro.d.ts.map +1 -0
  441. package/lib/Fly/Website/Astro.js +55 -0
  442. package/lib/Fly/Website/Astro.js.map +1 -0
  443. package/lib/Fly/Website/Foldkit.d.ts +47 -0
  444. package/lib/Fly/Website/Foldkit.d.ts.map +1 -0
  445. package/lib/Fly/Website/Foldkit.js +39 -0
  446. package/lib/Fly/Website/Foldkit.js.map +1 -0
  447. package/lib/Fly/Website/FrameworkSite.d.ts +167 -0
  448. package/lib/Fly/Website/FrameworkSite.d.ts.map +1 -0
  449. package/lib/Fly/Website/FrameworkSite.js +160 -0
  450. package/lib/Fly/Website/FrameworkSite.js.map +1 -0
  451. package/lib/Fly/Website/Nextjs.d.ts +54 -0
  452. package/lib/Fly/Website/Nextjs.d.ts.map +1 -0
  453. package/lib/Fly/Website/Nextjs.js +46 -0
  454. package/lib/Fly/Website/Nextjs.js.map +1 -0
  455. package/lib/Fly/Website/Nuxt.d.ts +51 -0
  456. package/lib/Fly/Website/Nuxt.d.ts.map +1 -0
  457. package/lib/Fly/Website/Nuxt.js +36 -0
  458. package/lib/Fly/Website/Nuxt.js.map +1 -0
  459. package/lib/Fly/Website/Octane.d.ts +57 -0
  460. package/lib/Fly/Website/Octane.d.ts.map +1 -0
  461. package/lib/Fly/Website/Octane.js +47 -0
  462. package/lib/Fly/Website/Octane.js.map +1 -0
  463. package/lib/Fly/Website/ReactRouter.d.ts +80 -0
  464. package/lib/Fly/Website/ReactRouter.d.ts.map +1 -0
  465. package/lib/Fly/Website/ReactRouter.js +70 -0
  466. package/lib/Fly/Website/ReactRouter.js.map +1 -0
  467. package/lib/Fly/Website/SolidStart.d.ts +93 -0
  468. package/lib/Fly/Website/SolidStart.d.ts.map +1 -0
  469. package/lib/Fly/Website/SolidStart.js +71 -0
  470. package/lib/Fly/Website/SolidStart.js.map +1 -0
  471. package/lib/Fly/Website/StaticSite.d.ts +148 -0
  472. package/lib/Fly/Website/StaticSite.d.ts.map +1 -0
  473. package/lib/Fly/Website/StaticSite.js +173 -0
  474. package/lib/Fly/Website/StaticSite.js.map +1 -0
  475. package/lib/Fly/Website/SvelteKit.d.ts +52 -0
  476. package/lib/Fly/Website/SvelteKit.d.ts.map +1 -0
  477. package/lib/Fly/Website/SvelteKit.js +37 -0
  478. package/lib/Fly/Website/SvelteKit.js.map +1 -0
  479. package/lib/Fly/Website/TanStackStart.d.ts +76 -0
  480. package/lib/Fly/Website/TanStackStart.d.ts.map +1 -0
  481. package/lib/Fly/Website/TanStackStart.js +66 -0
  482. package/lib/Fly/Website/TanStackStart.js.map +1 -0
  483. package/lib/Fly/Website/Vite.d.ts +103 -0
  484. package/lib/Fly/Website/Vite.d.ts.map +1 -0
  485. package/lib/Fly/Website/Vite.js +92 -0
  486. package/lib/Fly/Website/Vite.js.map +1 -0
  487. package/lib/Fly/Website/Vocs.d.ts +52 -0
  488. package/lib/Fly/Website/Vocs.d.ts.map +1 -0
  489. package/lib/Fly/Website/Vocs.js +38 -0
  490. package/lib/Fly/Website/Vocs.js.map +1 -0
  491. package/lib/Fly/Website/Waku.d.ts +64 -0
  492. package/lib/Fly/Website/Waku.d.ts.map +1 -0
  493. package/lib/Fly/Website/Waku.js +39 -0
  494. package/lib/Fly/Website/Waku.js.map +1 -0
  495. package/lib/Fly/Website/index.d.ts +16 -0
  496. package/lib/Fly/Website/index.d.ts.map +1 -0
  497. package/lib/Fly/Website/index.js +16 -0
  498. package/lib/Fly/Website/index.js.map +1 -0
  499. package/lib/Fly/WriteRedis.d.ts +3 -6
  500. package/lib/Fly/WriteRedis.d.ts.map +1 -1
  501. package/lib/Fly/hosted.d.ts +23 -10
  502. package/lib/Fly/hosted.d.ts.map +1 -1
  503. package/lib/Fly/hosted.js +115 -83
  504. package/lib/Fly/hosted.js.map +1 -1
  505. package/lib/Fly/index.d.ts +1 -0
  506. package/lib/Fly/index.d.ts.map +1 -1
  507. package/lib/Fly/index.js +1 -0
  508. package/lib/Fly/index.js.map +1 -1
  509. package/lib/Hetzner/MountVolume.d.ts +1 -1
  510. package/lib/Hetzner/Providers.d.ts +2 -1
  511. package/lib/Hetzner/Providers.d.ts.map +1 -1
  512. package/lib/Hetzner/Providers.js +4 -1
  513. package/lib/Hetzner/Providers.js.map +1 -1
  514. package/lib/Hetzner/Server.d.ts +1 -1
  515. package/lib/Hetzner/Server.d.ts.map +1 -1
  516. package/lib/Hetzner/Server.js +26 -14
  517. package/lib/Hetzner/Server.js.map +1 -1
  518. package/lib/Hetzner/Service.d.ts +14 -4
  519. package/lib/Hetzner/Service.d.ts.map +1 -1
  520. package/lib/Hetzner/Service.js +3 -2
  521. package/lib/Hetzner/Service.js.map +1 -1
  522. package/lib/Hetzner/Website/Astro.d.ts +85 -0
  523. package/lib/Hetzner/Website/Astro.d.ts.map +1 -0
  524. package/lib/Hetzner/Website/Astro.js +59 -0
  525. package/lib/Hetzner/Website/Astro.js.map +1 -0
  526. package/lib/Hetzner/Website/Foldkit.d.ts +45 -0
  527. package/lib/Hetzner/Website/Foldkit.d.ts.map +1 -0
  528. package/lib/Hetzner/Website/Foldkit.js +41 -0
  529. package/lib/Hetzner/Website/Foldkit.js.map +1 -0
  530. package/lib/Hetzner/Website/FrameworkSite.d.ts +161 -0
  531. package/lib/Hetzner/Website/FrameworkSite.d.ts.map +1 -0
  532. package/lib/Hetzner/Website/FrameworkSite.js +162 -0
  533. package/lib/Hetzner/Website/FrameworkSite.js.map +1 -0
  534. package/lib/Hetzner/Website/Nextjs.d.ts +52 -0
  535. package/lib/Hetzner/Website/Nextjs.d.ts.map +1 -0
  536. package/lib/Hetzner/Website/Nextjs.js +49 -0
  537. package/lib/Hetzner/Website/Nextjs.js.map +1 -0
  538. package/lib/Hetzner/Website/Nuxt.d.ts +53 -0
  539. package/lib/Hetzner/Website/Nuxt.d.ts.map +1 -0
  540. package/lib/Hetzner/Website/Nuxt.js +43 -0
  541. package/lib/Hetzner/Website/Nuxt.js.map +1 -0
  542. package/lib/Hetzner/Website/Octane.d.ts +54 -0
  543. package/lib/Hetzner/Website/Octane.d.ts.map +1 -0
  544. package/lib/Hetzner/Website/Octane.js +49 -0
  545. package/lib/Hetzner/Website/Octane.js.map +1 -0
  546. package/lib/Hetzner/Website/ReactRouter.d.ts +78 -0
  547. package/lib/Hetzner/Website/ReactRouter.d.ts.map +1 -0
  548. package/lib/Hetzner/Website/ReactRouter.js +73 -0
  549. package/lib/Hetzner/Website/ReactRouter.js.map +1 -0
  550. package/lib/Hetzner/Website/SolidStart.d.ts +90 -0
  551. package/lib/Hetzner/Website/SolidStart.d.ts.map +1 -0
  552. package/lib/Hetzner/Website/SolidStart.js +73 -0
  553. package/lib/Hetzner/Website/SolidStart.js.map +1 -0
  554. package/lib/Hetzner/Website/StaticSite.d.ts +134 -0
  555. package/lib/Hetzner/Website/StaticSite.d.ts.map +1 -0
  556. package/lib/Hetzner/Website/StaticSite.js +176 -0
  557. package/lib/Hetzner/Website/StaticSite.js.map +1 -0
  558. package/lib/Hetzner/Website/SvelteKit.d.ts +52 -0
  559. package/lib/Hetzner/Website/SvelteKit.d.ts.map +1 -0
  560. package/lib/Hetzner/Website/SvelteKit.js +42 -0
  561. package/lib/Hetzner/Website/SvelteKit.js.map +1 -0
  562. package/lib/Hetzner/Website/TanStackStart.d.ts +73 -0
  563. package/lib/Hetzner/Website/TanStackStart.d.ts.map +1 -0
  564. package/lib/Hetzner/Website/TanStackStart.js +68 -0
  565. package/lib/Hetzner/Website/TanStackStart.js.map +1 -0
  566. package/lib/Hetzner/Website/Vite.d.ts +97 -0
  567. package/lib/Hetzner/Website/Vite.d.ts.map +1 -0
  568. package/lib/Hetzner/Website/Vite.js +97 -0
  569. package/lib/Hetzner/Website/Vite.js.map +1 -0
  570. package/lib/Hetzner/Website/Vocs.d.ts +49 -0
  571. package/lib/Hetzner/Website/Vocs.d.ts.map +1 -0
  572. package/lib/Hetzner/Website/Vocs.js +39 -0
  573. package/lib/Hetzner/Website/Vocs.js.map +1 -0
  574. package/lib/Hetzner/Website/Waku.d.ts +53 -0
  575. package/lib/Hetzner/Website/Waku.d.ts.map +1 -0
  576. package/lib/Hetzner/Website/Waku.js +42 -0
  577. package/lib/Hetzner/Website/Waku.js.map +1 -0
  578. package/lib/Hetzner/Website/index.d.ts +15 -0
  579. package/lib/Hetzner/Website/index.d.ts.map +1 -0
  580. package/lib/Hetzner/Website/index.js +15 -0
  581. package/lib/Hetzner/Website/index.js.map +1 -0
  582. package/lib/Hetzner/actions.d.ts +2 -3
  583. package/lib/Hetzner/actions.d.ts.map +1 -1
  584. package/lib/Hetzner/actions.js +6 -13
  585. package/lib/Hetzner/actions.js.map +1 -1
  586. package/lib/Hetzner/hosted.d.ts +29 -4
  587. package/lib/Hetzner/hosted.d.ts.map +1 -1
  588. package/lib/Hetzner/hosted.js +230 -93
  589. package/lib/Hetzner/hosted.js.map +1 -1
  590. package/lib/Hetzner/index.d.ts +1 -0
  591. package/lib/Hetzner/index.d.ts.map +1 -1
  592. package/lib/Hetzner/index.js +1 -0
  593. package/lib/Hetzner/index.js.map +1 -1
  594. package/lib/Http.d.ts +9 -1
  595. package/lib/Http.d.ts.map +1 -1
  596. package/lib/Http.js +5 -2
  597. package/lib/Http.js.map +1 -1
  598. package/lib/Kubernetes/HelmChart.d.ts +5 -3
  599. package/lib/Kubernetes/HelmChart.d.ts.map +1 -1
  600. package/lib/Kubernetes/HelmChart.js +5 -3
  601. package/lib/Kubernetes/HelmChart.js.map +1 -1
  602. package/lib/Kubernetes/internal/helm.d.ts +19 -5
  603. package/lib/Kubernetes/internal/helm.d.ts.map +1 -1
  604. package/lib/Kubernetes/internal/helm.js +28 -6
  605. package/lib/Kubernetes/internal/helm.js.map +1 -1
  606. package/lib/Local/DockerHostGateway.d.ts +13 -0
  607. package/lib/Local/DockerHostGateway.d.ts.map +1 -0
  608. package/lib/Local/DockerHostGateway.js +18 -0
  609. package/lib/Local/DockerHostGateway.js.map +1 -0
  610. package/lib/Local/ProviderLayer.d.ts +20 -0
  611. package/lib/Local/ProviderLayer.d.ts.map +1 -1
  612. package/lib/Local/ProviderLayer.js +2 -0
  613. package/lib/Local/ProviderLayer.js.map +1 -1
  614. package/lib/Local/RpcProvider.d.ts +1 -1
  615. package/lib/Local/RpcProvider.d.ts.map +1 -1
  616. package/lib/Local/RpcProvider.js.map +1 -1
  617. package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
  618. package/lib/Local/RpcProviderProxy.js +14 -1
  619. package/lib/Local/RpcProviderProxy.js.map +1 -1
  620. package/lib/Planetscale/Postgres/PostgresBranch.d.ts +2 -1
  621. package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -1
  622. package/lib/Planetscale/Postgres/PostgresBranch.js.map +1 -1
  623. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +40 -9
  624. package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
  625. package/lib/Planetscale/Postgres/PostgresClusterSize.js +9 -5
  626. package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
  627. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +15 -1
  628. package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
  629. package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
  630. package/lib/Platform.d.ts +5 -5
  631. package/lib/Platform.d.ts.map +1 -1
  632. package/lib/Platform.js.map +1 -1
  633. package/lib/Prisma/Compute.d.ts.map +1 -1
  634. package/lib/Prisma/Compute.js +10 -68
  635. package/lib/Prisma/Compute.js.map +1 -1
  636. package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -1
  637. package/lib/Prisma/PrismaDevDatabase.js +9 -1
  638. package/lib/Prisma/PrismaDevDatabase.js.map +1 -1
  639. package/lib/Provider.d.ts +84 -5
  640. package/lib/Provider.d.ts.map +1 -1
  641. package/lib/Provider.js +33 -0
  642. package/lib/Provider.js.map +1 -1
  643. package/lib/Railway/AuditLog.d.ts +141 -0
  644. package/lib/Railway/AuditLog.d.ts.map +1 -0
  645. package/lib/Railway/AuditLog.js +136 -0
  646. package/lib/Railway/AuditLog.js.map +1 -0
  647. package/lib/Railway/AuthProvider.d.ts +45 -0
  648. package/lib/Railway/AuthProvider.d.ts.map +1 -0
  649. package/lib/Railway/AuthProvider.js +224 -0
  650. package/lib/Railway/AuthProvider.js.map +1 -0
  651. package/lib/Railway/Bind.d.ts +50 -0
  652. package/lib/Railway/Bind.d.ts.map +1 -0
  653. package/lib/Railway/Bind.js +125 -0
  654. package/lib/Railway/Bind.js.map +1 -0
  655. package/lib/Railway/Bucket.d.ts +225 -0
  656. package/lib/Railway/Bucket.d.ts.map +1 -0
  657. package/lib/Railway/Bucket.js +460 -0
  658. package/lib/Railway/Bucket.js.map +1 -0
  659. package/lib/Railway/BucketBinding.d.ts +40 -0
  660. package/lib/Railway/BucketBinding.d.ts.map +1 -0
  661. package/lib/Railway/BucketBinding.js +111 -0
  662. package/lib/Railway/BucketBinding.js.map +1 -0
  663. package/lib/Railway/Catalog.d.ts +37 -0
  664. package/lib/Railway/Catalog.d.ts.map +1 -0
  665. package/lib/Railway/Catalog.js +38 -0
  666. package/lib/Railway/Catalog.js.map +1 -0
  667. package/lib/Railway/CloudAgent.d.ts +179 -0
  668. package/lib/Railway/CloudAgent.d.ts.map +1 -0
  669. package/lib/Railway/CloudAgent.js +283 -0
  670. package/lib/Railway/CloudAgent.js.map +1 -0
  671. package/lib/Railway/ConnectMongo.d.ts +73 -0
  672. package/lib/Railway/ConnectMongo.d.ts.map +1 -0
  673. package/lib/Railway/ConnectMongo.js +13 -0
  674. package/lib/Railway/ConnectMongo.js.map +1 -0
  675. package/lib/Railway/ConnectMongoHttp.d.ts +25 -0
  676. package/lib/Railway/ConnectMongoHttp.d.ts.map +1 -0
  677. package/lib/Railway/ConnectMongoHttp.js +114 -0
  678. package/lib/Railway/ConnectMongoHttp.js.map +1 -0
  679. package/lib/Railway/ConnectMySQL.d.ts +74 -0
  680. package/lib/Railway/ConnectMySQL.d.ts.map +1 -0
  681. package/lib/Railway/ConnectMySQL.js +13 -0
  682. package/lib/Railway/ConnectMySQL.js.map +1 -0
  683. package/lib/Railway/ConnectMySQLHttp.d.ts +25 -0
  684. package/lib/Railway/ConnectMySQLHttp.d.ts.map +1 -0
  685. package/lib/Railway/ConnectMySQLHttp.js +114 -0
  686. package/lib/Railway/ConnectMySQLHttp.js.map +1 -0
  687. package/lib/Railway/ConnectPostgres.d.ts +84 -0
  688. package/lib/Railway/ConnectPostgres.d.ts.map +1 -0
  689. package/lib/Railway/ConnectPostgres.js +15 -0
  690. package/lib/Railway/ConnectPostgres.js.map +1 -0
  691. package/lib/Railway/ConnectPostgresHttp.d.ts +25 -0
  692. package/lib/Railway/ConnectPostgresHttp.d.ts.map +1 -0
  693. package/lib/Railway/ConnectPostgresHttp.js +113 -0
  694. package/lib/Railway/ConnectPostgresHttp.js.map +1 -0
  695. package/lib/Railway/Credentials.d.ts +18 -0
  696. package/lib/Railway/Credentials.d.ts.map +1 -0
  697. package/lib/Railway/Credentials.js +35 -0
  698. package/lib/Railway/Credentials.js.map +1 -0
  699. package/lib/Railway/CustomDomain.d.ts +163 -0
  700. package/lib/Railway/CustomDomain.d.ts.map +1 -0
  701. package/lib/Railway/CustomDomain.js +312 -0
  702. package/lib/Railway/CustomDomain.js.map +1 -0
  703. package/lib/Railway/DeleteObject.d.ts +29 -0
  704. package/lib/Railway/DeleteObject.d.ts.map +1 -0
  705. package/lib/Railway/DeleteObject.js +3 -0
  706. package/lib/Railway/DeleteObject.js.map +1 -0
  707. package/lib/Railway/DeleteObjectHttp.d.ts +11 -0
  708. package/lib/Railway/DeleteObjectHttp.d.ts.map +1 -0
  709. package/lib/Railway/DeleteObjectHttp.js +16 -0
  710. package/lib/Railway/DeleteObjectHttp.js.map +1 -0
  711. package/lib/Railway/Environment.d.ts +64 -0
  712. package/lib/Railway/Environment.d.ts.map +1 -0
  713. package/lib/Railway/Environment.js +63 -0
  714. package/lib/Railway/Environment.js.map +1 -0
  715. package/lib/Railway/Function.d.ts +434 -0
  716. package/lib/Railway/Function.d.ts.map +1 -0
  717. package/lib/Railway/Function.js +850 -0
  718. package/lib/Railway/Function.js.map +1 -0
  719. package/lib/Railway/GetObject.d.ts +34 -0
  720. package/lib/Railway/GetObject.d.ts.map +1 -0
  721. package/lib/Railway/GetObject.js +3 -0
  722. package/lib/Railway/GetObject.js.map +1 -0
  723. package/lib/Railway/GetObjectHttp.d.ts +11 -0
  724. package/lib/Railway/GetObjectHttp.d.ts.map +1 -0
  725. package/lib/Railway/GetObjectHttp.js +16 -0
  726. package/lib/Railway/GetObjectHttp.js.map +1 -0
  727. package/lib/Railway/Group.d.ts +201 -0
  728. package/lib/Railway/Group.d.ts.map +1 -0
  729. package/lib/Railway/Group.js +794 -0
  730. package/lib/Railway/Group.js.map +1 -0
  731. package/lib/Railway/HeadObject.d.ts +29 -0
  732. package/lib/Railway/HeadObject.d.ts.map +1 -0
  733. package/lib/Railway/HeadObject.js +3 -0
  734. package/lib/Railway/HeadObject.js.map +1 -0
  735. package/lib/Railway/HeadObjectHttp.d.ts +11 -0
  736. package/lib/Railway/HeadObjectHttp.d.ts.map +1 -0
  737. package/lib/Railway/HeadObjectHttp.js +16 -0
  738. package/lib/Railway/HeadObjectHttp.js.map +1 -0
  739. package/lib/Railway/InferEnv.d.ts +31 -0
  740. package/lib/Railway/InferEnv.d.ts.map +1 -0
  741. package/lib/Railway/InferEnv.js +1 -0
  742. package/lib/Railway/InferEnv.js.map +1 -0
  743. package/lib/Railway/ListObjectsV2.d.ts +29 -0
  744. package/lib/Railway/ListObjectsV2.d.ts.map +1 -0
  745. package/lib/Railway/ListObjectsV2.js +3 -0
  746. package/lib/Railway/ListObjectsV2.js.map +1 -0
  747. package/lib/Railway/ListObjectsV2Http.d.ts +11 -0
  748. package/lib/Railway/ListObjectsV2Http.d.ts.map +1 -0
  749. package/lib/Railway/ListObjectsV2Http.js +16 -0
  750. package/lib/Railway/ListObjectsV2Http.js.map +1 -0
  751. package/lib/Railway/LoginSession.d.ts +33 -0
  752. package/lib/Railway/LoginSession.d.ts.map +1 -0
  753. package/lib/Railway/LoginSession.js +70 -0
  754. package/lib/Railway/LoginSession.js.map +1 -0
  755. package/lib/Railway/Metadata.d.ts +37 -0
  756. package/lib/Railway/Metadata.d.ts.map +1 -0
  757. package/lib/Railway/Metadata.js +89 -0
  758. package/lib/Railway/Metadata.js.map +1 -0
  759. package/lib/Railway/Mongo.d.ts +278 -0
  760. package/lib/Railway/Mongo.d.ts.map +1 -0
  761. package/lib/Railway/Mongo.js +817 -0
  762. package/lib/Railway/Mongo.js.map +1 -0
  763. package/lib/Railway/MountVolume.d.ts +108 -0
  764. package/lib/Railway/MountVolume.d.ts.map +1 -0
  765. package/lib/Railway/MountVolume.js +63 -0
  766. package/lib/Railway/MountVolume.js.map +1 -0
  767. package/lib/Railway/MySQL.d.ts +263 -0
  768. package/lib/Railway/MySQL.d.ts.map +1 -0
  769. package/lib/Railway/MySQL.js +817 -0
  770. package/lib/Railway/MySQL.js.map +1 -0
  771. package/lib/Railway/Postgres.d.ts +269 -0
  772. package/lib/Railway/Postgres.d.ts.map +1 -0
  773. package/lib/Railway/Postgres.js +776 -0
  774. package/lib/Railway/Postgres.js.map +1 -0
  775. package/lib/Railway/PrivateNetwork.d.ts +265 -0
  776. package/lib/Railway/PrivateNetwork.d.ts.map +1 -0
  777. package/lib/Railway/PrivateNetwork.js +567 -0
  778. package/lib/Railway/PrivateNetwork.js.map +1 -0
  779. package/lib/Railway/Project.d.ts +192 -0
  780. package/lib/Railway/Project.d.ts.map +1 -0
  781. package/lib/Railway/Project.js +272 -0
  782. package/lib/Railway/Project.js.map +1 -0
  783. package/lib/Railway/ProjectEnvironment.d.ts +127 -0
  784. package/lib/Railway/ProjectEnvironment.d.ts.map +1 -0
  785. package/lib/Railway/ProjectEnvironment.js +227 -0
  786. package/lib/Railway/ProjectEnvironment.js.map +1 -0
  787. package/lib/Railway/Providers.d.ts +38 -0
  788. package/lib/Railway/Providers.d.ts.map +1 -0
  789. package/lib/Railway/Providers.js +102 -0
  790. package/lib/Railway/Providers.js.map +1 -0
  791. package/lib/Railway/PutObject.d.ts +35 -0
  792. package/lib/Railway/PutObject.d.ts.map +1 -0
  793. package/lib/Railway/PutObject.js +3 -0
  794. package/lib/Railway/PutObject.js.map +1 -0
  795. package/lib/Railway/PutObjectHttp.d.ts +11 -0
  796. package/lib/Railway/PutObjectHttp.d.ts.map +1 -0
  797. package/lib/Railway/PutObjectHttp.js +16 -0
  798. package/lib/Railway/PutObjectHttp.js.map +1 -0
  799. package/lib/Railway/ReadRedis.d.ts +25 -0
  800. package/lib/Railway/ReadRedis.d.ts.map +1 -0
  801. package/lib/Railway/ReadRedis.js +3 -0
  802. package/lib/Railway/ReadRedis.js.map +1 -0
  803. package/lib/Railway/ReadRedisHttp.d.ts +10 -0
  804. package/lib/Railway/ReadRedisHttp.d.ts.map +1 -0
  805. package/lib/Railway/ReadRedisHttp.js +14 -0
  806. package/lib/Railway/ReadRedisHttp.js.map +1 -0
  807. package/lib/Railway/ReadWriteRedis.d.ts +28 -0
  808. package/lib/Railway/ReadWriteRedis.d.ts.map +1 -0
  809. package/lib/Railway/ReadWriteRedis.js +3 -0
  810. package/lib/Railway/ReadWriteRedis.js.map +1 -0
  811. package/lib/Railway/ReadWriteRedisHttp.d.ts +10 -0
  812. package/lib/Railway/ReadWriteRedisHttp.d.ts.map +1 -0
  813. package/lib/Railway/ReadWriteRedisHttp.js +14 -0
  814. package/lib/Railway/ReadWriteRedisHttp.js.map +1 -0
  815. package/lib/Railway/Redis.d.ts +220 -0
  816. package/lib/Railway/Redis.d.ts.map +1 -0
  817. package/lib/Railway/Redis.js +512 -0
  818. package/lib/Railway/Redis.js.map +1 -0
  819. package/lib/Railway/RedisBinding.d.ts +8 -0
  820. package/lib/Railway/RedisBinding.d.ts.map +1 -0
  821. package/lib/Railway/RedisBinding.js +63 -0
  822. package/lib/Railway/RedisBinding.js.map +1 -0
  823. package/lib/Railway/RedisHttp.d.ts +8 -0
  824. package/lib/Railway/RedisHttp.d.ts.map +1 -0
  825. package/lib/Railway/RedisHttp.js +8 -0
  826. package/lib/Railway/RedisHttp.js.map +1 -0
  827. package/lib/Railway/RetryPolicy.d.ts +22 -0
  828. package/lib/Railway/RetryPolicy.d.ts.map +1 -0
  829. package/lib/Railway/RetryPolicy.js +43 -0
  830. package/lib/Railway/RetryPolicy.js.map +1 -0
  831. package/lib/Railway/Sandbox.d.ts +323 -0
  832. package/lib/Railway/Sandbox.d.ts.map +1 -0
  833. package/lib/Railway/Sandbox.js +452 -0
  834. package/lib/Railway/Sandbox.js.map +1 -0
  835. package/lib/Railway/Service.d.ts +444 -0
  836. package/lib/Railway/Service.d.ts.map +1 -0
  837. package/lib/Railway/Service.js +229 -0
  838. package/lib/Railway/Service.js.map +1 -0
  839. package/lib/Railway/ServiceDomain.d.ts +48 -0
  840. package/lib/Railway/ServiceDomain.d.ts.map +1 -0
  841. package/lib/Railway/ServiceDomain.js +190 -0
  842. package/lib/Railway/ServiceDomain.js.map +1 -0
  843. package/lib/Railway/ServiceProvider.d.ts +42 -0
  844. package/lib/Railway/ServiceProvider.d.ts.map +1 -0
  845. package/lib/Railway/ServiceProvider.js +821 -0
  846. package/lib/Railway/ServiceProvider.js.map +1 -0
  847. package/lib/Railway/TcpProxy.d.ts +172 -0
  848. package/lib/Railway/TcpProxy.d.ts.map +1 -0
  849. package/lib/Railway/TcpProxy.js +267 -0
  850. package/lib/Railway/TcpProxy.js.map +1 -0
  851. package/lib/Railway/Template.d.ts +200 -0
  852. package/lib/Railway/Template.d.ts.map +1 -0
  853. package/lib/Railway/Template.js +565 -0
  854. package/lib/Railway/Template.js.map +1 -0
  855. package/lib/Railway/Up.d.ts +30 -0
  856. package/lib/Railway/Up.d.ts.map +1 -0
  857. package/lib/Railway/Up.js +77 -0
  858. package/lib/Railway/Up.js.map +1 -0
  859. package/lib/Railway/Usage.d.ts +248 -0
  860. package/lib/Railway/Usage.d.ts.map +1 -0
  861. package/lib/Railway/Usage.js +337 -0
  862. package/lib/Railway/Usage.js.map +1 -0
  863. package/lib/Railway/Variable.d.ts +252 -0
  864. package/lib/Railway/Variable.d.ts.map +1 -0
  865. package/lib/Railway/Variable.js +434 -0
  866. package/lib/Railway/Variable.js.map +1 -0
  867. package/lib/Railway/Volume.d.ts +265 -0
  868. package/lib/Railway/Volume.d.ts.map +1 -0
  869. package/lib/Railway/Volume.js +526 -0
  870. package/lib/Railway/Volume.js.map +1 -0
  871. package/lib/Railway/VolumeBackup.d.ts +247 -0
  872. package/lib/Railway/VolumeBackup.d.ts.map +1 -0
  873. package/lib/Railway/VolumeBackup.js +572 -0
  874. package/lib/Railway/VolumeBackup.js.map +1 -0
  875. package/lib/Railway/Website/Astro.d.ts +97 -0
  876. package/lib/Railway/Website/Astro.d.ts.map +1 -0
  877. package/lib/Railway/Website/Astro.js +66 -0
  878. package/lib/Railway/Website/Astro.js.map +1 -0
  879. package/lib/Railway/Website/Cdn.d.ts +65 -0
  880. package/lib/Railway/Website/Cdn.d.ts.map +1 -0
  881. package/lib/Railway/Website/Cdn.js +117 -0
  882. package/lib/Railway/Website/Cdn.js.map +1 -0
  883. package/lib/Railway/Website/Foldkit.d.ts +53 -0
  884. package/lib/Railway/Website/Foldkit.d.ts.map +1 -0
  885. package/lib/Railway/Website/Foldkit.js +45 -0
  886. package/lib/Railway/Website/Foldkit.js.map +1 -0
  887. package/lib/Railway/Website/FrameworkSite.d.ts +178 -0
  888. package/lib/Railway/Website/FrameworkSite.d.ts.map +1 -0
  889. package/lib/Railway/Website/FrameworkSite.js +142 -0
  890. package/lib/Railway/Website/FrameworkSite.js.map +1 -0
  891. package/lib/Railway/Website/Nextjs.d.ts +60 -0
  892. package/lib/Railway/Website/Nextjs.d.ts.map +1 -0
  893. package/lib/Railway/Website/Nextjs.js +53 -0
  894. package/lib/Railway/Website/Nextjs.js.map +1 -0
  895. package/lib/Railway/Website/Nuxt.d.ts +58 -0
  896. package/lib/Railway/Website/Nuxt.d.ts.map +1 -0
  897. package/lib/Railway/Website/Nuxt.js +44 -0
  898. package/lib/Railway/Website/Nuxt.js.map +1 -0
  899. package/lib/Railway/Website/Octane.d.ts +63 -0
  900. package/lib/Railway/Website/Octane.d.ts.map +1 -0
  901. package/lib/Railway/Website/Octane.js +54 -0
  902. package/lib/Railway/Website/Octane.js.map +1 -0
  903. package/lib/Railway/Website/ReactRouter.d.ts +82 -0
  904. package/lib/Railway/Website/ReactRouter.d.ts.map +1 -0
  905. package/lib/Railway/Website/ReactRouter.js +73 -0
  906. package/lib/Railway/Website/ReactRouter.js.map +1 -0
  907. package/lib/Railway/Website/SolidStart.d.ts +96 -0
  908. package/lib/Railway/Website/SolidStart.d.ts.map +1 -0
  909. package/lib/Railway/Website/SolidStart.js +75 -0
  910. package/lib/Railway/Website/SolidStart.js.map +1 -0
  911. package/lib/Railway/Website/StaticSite.d.ts +124 -0
  912. package/lib/Railway/Website/StaticSite.d.ts.map +1 -0
  913. package/lib/Railway/Website/StaticSite.js +183 -0
  914. package/lib/Railway/Website/StaticSite.js.map +1 -0
  915. package/lib/Railway/Website/SvelteKit.d.ts +60 -0
  916. package/lib/Railway/Website/SvelteKit.d.ts.map +1 -0
  917. package/lib/Railway/Website/SvelteKit.js +44 -0
  918. package/lib/Railway/Website/SvelteKit.js.map +1 -0
  919. package/lib/Railway/Website/TanStackStart.d.ts +78 -0
  920. package/lib/Railway/Website/TanStackStart.d.ts.map +1 -0
  921. package/lib/Railway/Website/TanStackStart.js +69 -0
  922. package/lib/Railway/Website/TanStackStart.js.map +1 -0
  923. package/lib/Railway/Website/Vite.d.ts +97 -0
  924. package/lib/Railway/Website/Vite.d.ts.map +1 -0
  925. package/lib/Railway/Website/Vite.js +93 -0
  926. package/lib/Railway/Website/Vite.js.map +1 -0
  927. package/lib/Railway/Website/Vocs.d.ts +61 -0
  928. package/lib/Railway/Website/Vocs.d.ts.map +1 -0
  929. package/lib/Railway/Website/Vocs.js +46 -0
  930. package/lib/Railway/Website/Vocs.js.map +1 -0
  931. package/lib/Railway/Website/Waku.d.ts +62 -0
  932. package/lib/Railway/Website/Waku.d.ts.map +1 -0
  933. package/lib/Railway/Website/Waku.js +46 -0
  934. package/lib/Railway/Website/Waku.js.map +1 -0
  935. package/lib/Railway/Website/index.d.ts +16 -0
  936. package/lib/Railway/Website/index.d.ts.map +1 -0
  937. package/lib/Railway/Website/index.js +16 -0
  938. package/lib/Railway/Website/index.js.map +1 -0
  939. package/lib/Railway/WriteRedis.d.ts +25 -0
  940. package/lib/Railway/WriteRedis.d.ts.map +1 -0
  941. package/lib/Railway/WriteRedis.js +3 -0
  942. package/lib/Railway/WriteRedis.js.map +1 -0
  943. package/lib/Railway/WriteRedisHttp.d.ts +10 -0
  944. package/lib/Railway/WriteRedisHttp.d.ts.map +1 -0
  945. package/lib/Railway/WriteRedisHttp.js +14 -0
  946. package/lib/Railway/WriteRedisHttp.js.map +1 -0
  947. package/lib/Railway/hosted.d.ts +159 -0
  948. package/lib/Railway/hosted.d.ts.map +1 -0
  949. package/lib/Railway/hosted.js +613 -0
  950. package/lib/Railway/hosted.js.map +1 -0
  951. package/lib/Railway/index.d.ts +58 -0
  952. package/lib/Railway/index.d.ts.map +1 -0
  953. package/lib/Railway/index.js +57 -0
  954. package/lib/Railway/index.js.map +1 -0
  955. package/lib/Railway/ref.d.ts +65 -0
  956. package/lib/Railway/ref.d.ts.map +1 -0
  957. package/lib/Railway/ref.js +59 -0
  958. package/lib/Railway/ref.js.map +1 -0
  959. package/lib/Railway/rpc-server.d.ts +17 -0
  960. package/lib/Railway/rpc-server.d.ts.map +1 -0
  961. package/lib/Railway/rpc-server.js +109 -0
  962. package/lib/Railway/rpc-server.js.map +1 -0
  963. package/lib/Railway/rpc-token.d.ts +22 -0
  964. package/lib/Railway/rpc-token.d.ts.map +1 -0
  965. package/lib/Railway/rpc-token.js +24 -0
  966. package/lib/Railway/rpc-token.js.map +1 -0
  967. package/lib/Railway/transient.d.ts +24 -0
  968. package/lib/Railway/transient.d.ts.map +1 -0
  969. package/lib/Railway/transient.js +56 -0
  970. package/lib/Railway/transient.js.map +1 -0
  971. package/lib/Redis/Client.d.ts +114 -0
  972. package/lib/Redis/Client.d.ts.map +1 -0
  973. package/lib/Redis/Client.js +165 -0
  974. package/lib/Redis/Client.js.map +1 -0
  975. package/lib/Redis/Errors.d.ts +37 -0
  976. package/lib/Redis/Errors.d.ts.map +1 -0
  977. package/lib/Redis/Errors.js +17 -0
  978. package/lib/Redis/Errors.js.map +1 -0
  979. package/lib/Redis/Protocol.d.ts +47 -0
  980. package/lib/Redis/Protocol.d.ts.map +1 -0
  981. package/lib/Redis/Protocol.js +276 -0
  982. package/lib/Redis/Protocol.js.map +1 -0
  983. package/lib/Redis/Resp.d.ts +65 -0
  984. package/lib/Redis/Resp.d.ts.map +1 -0
  985. package/lib/Redis/Resp.js +569 -0
  986. package/lib/Redis/Resp.js.map +1 -0
  987. package/lib/Redis/index.d.ts +28 -0
  988. package/lib/Redis/index.d.ts.map +1 -0
  989. package/lib/Redis/index.js +28 -0
  990. package/lib/Redis/index.js.map +1 -0
  991. package/lib/Runtime/Bootstrap/AppRunner.d.ts +3 -0
  992. package/lib/Runtime/Bootstrap/AppRunner.d.ts.map +1 -0
  993. package/lib/Runtime/Bootstrap/AppRunner.js +22 -0
  994. package/lib/Runtime/Bootstrap/AppRunner.js.map +1 -0
  995. package/lib/Runtime/Bootstrap/Batch.d.ts +6 -0
  996. package/lib/Runtime/Bootstrap/Batch.d.ts.map +1 -0
  997. package/lib/Runtime/Bootstrap/Batch.js +24 -0
  998. package/lib/Runtime/Bootstrap/Batch.js.map +1 -0
  999. package/lib/Runtime/Bootstrap/CloudflareContainer.d.ts +17 -0
  1000. package/lib/Runtime/Bootstrap/CloudflareContainer.d.ts.map +1 -0
  1001. package/lib/Runtime/Bootstrap/CloudflareContainer.js +40 -0
  1002. package/lib/Runtime/Bootstrap/CloudflareContainer.js.map +1 -0
  1003. package/lib/Runtime/Bootstrap/CloudflareContainerBun.d.ts +3 -0
  1004. package/lib/Runtime/Bootstrap/CloudflareContainerBun.d.ts.map +1 -0
  1005. package/lib/Runtime/Bootstrap/CloudflareContainerBun.js +6 -0
  1006. package/lib/Runtime/Bootstrap/CloudflareContainerBun.js.map +1 -0
  1007. package/lib/Runtime/Bootstrap/CloudflareContainerNode.d.ts +3 -0
  1008. package/lib/Runtime/Bootstrap/CloudflareContainerNode.d.ts.map +1 -0
  1009. package/lib/Runtime/Bootstrap/CloudflareContainerNode.js +6 -0
  1010. package/lib/Runtime/Bootstrap/CloudflareContainerNode.js.map +1 -0
  1011. package/lib/Runtime/Bootstrap/Docker.d.ts +7 -0
  1012. package/lib/Runtime/Bootstrap/Docker.d.ts.map +1 -0
  1013. package/lib/Runtime/Bootstrap/Docker.js +25 -0
  1014. package/lib/Runtime/Bootstrap/Docker.js.map +1 -0
  1015. package/lib/Runtime/Bootstrap/Ec2.d.ts +3 -0
  1016. package/lib/Runtime/Bootstrap/Ec2.d.ts.map +1 -0
  1017. package/lib/Runtime/Bootstrap/Ec2.js +25 -0
  1018. package/lib/Runtime/Bootstrap/Ec2.js.map +1 -0
  1019. package/lib/Runtime/Bootstrap/Ecs.d.ts +8 -0
  1020. package/lib/Runtime/Bootstrap/Ecs.d.ts.map +1 -0
  1021. package/lib/Runtime/Bootstrap/Ecs.js +39 -0
  1022. package/lib/Runtime/Bootstrap/Ecs.js.map +1 -0
  1023. package/lib/Runtime/Bootstrap/Fly.d.ts +8 -0
  1024. package/lib/Runtime/Bootstrap/Fly.d.ts.map +1 -0
  1025. package/lib/Runtime/Bootstrap/Fly.js +26 -0
  1026. package/lib/Runtime/Bootstrap/Fly.js.map +1 -0
  1027. package/lib/Runtime/Bootstrap/Hetzner.d.ts +8 -0
  1028. package/lib/Runtime/Bootstrap/Hetzner.d.ts.map +1 -0
  1029. package/lib/Runtime/Bootstrap/Hetzner.js +26 -0
  1030. package/lib/Runtime/Bootstrap/Hetzner.js.map +1 -0
  1031. package/lib/Runtime/Bootstrap/Lambda.d.ts +14 -0
  1032. package/lib/Runtime/Bootstrap/Lambda.d.ts.map +1 -0
  1033. package/lib/Runtime/Bootstrap/Lambda.js +63 -0
  1034. package/lib/Runtime/Bootstrap/Lambda.js.map +1 -0
  1035. package/lib/Runtime/Bootstrap/Microvm.d.ts +19 -0
  1036. package/lib/Runtime/Bootstrap/Microvm.d.ts.map +1 -0
  1037. package/lib/Runtime/Bootstrap/Microvm.js +24 -0
  1038. package/lib/Runtime/Bootstrap/Microvm.js.map +1 -0
  1039. package/lib/Runtime/Bootstrap/MicrovmBun.d.ts +3 -0
  1040. package/lib/Runtime/Bootstrap/MicrovmBun.d.ts.map +1 -0
  1041. package/lib/Runtime/Bootstrap/MicrovmBun.js +6 -0
  1042. package/lib/Runtime/Bootstrap/MicrovmBun.js.map +1 -0
  1043. package/lib/Runtime/Bootstrap/MicrovmNode.d.ts +3 -0
  1044. package/lib/Runtime/Bootstrap/MicrovmNode.d.ts.map +1 -0
  1045. package/lib/Runtime/Bootstrap/MicrovmNode.js +6 -0
  1046. package/lib/Runtime/Bootstrap/MicrovmNode.js.map +1 -0
  1047. package/lib/Runtime/Bootstrap/Prisma.d.ts +12 -0
  1048. package/lib/Runtime/Bootstrap/Prisma.d.ts.map +1 -0
  1049. package/lib/Runtime/Bootstrap/Prisma.js +24 -0
  1050. package/lib/Runtime/Bootstrap/Prisma.js.map +1 -0
  1051. package/lib/Runtime/Bootstrap/Process.d.ts +62 -0
  1052. package/lib/Runtime/Bootstrap/Process.d.ts.map +1 -0
  1053. package/lib/Runtime/Bootstrap/Process.js +99 -0
  1054. package/lib/Runtime/Bootstrap/Process.js.map +1 -0
  1055. package/lib/Runtime/Bootstrap/Railway.d.ts +8 -0
  1056. package/lib/Runtime/Bootstrap/Railway.d.ts.map +1 -0
  1057. package/lib/Runtime/Bootstrap/Railway.js +29 -0
  1058. package/lib/Runtime/Bootstrap/Railway.js.map +1 -0
  1059. package/lib/State/HttpStateApi.d.ts +8 -8
  1060. package/lib/Telemetry/Metrics.d.ts.map +1 -1
  1061. package/lib/Telemetry/Metrics.js +7 -1
  1062. package/lib/Telemetry/Metrics.js.map +1 -1
  1063. package/lib/Test/Alchemy.d.ts.map +1 -1
  1064. package/lib/Test/Alchemy.js +3 -0
  1065. package/lib/Test/Alchemy.js.map +1 -1
  1066. package/lib/Test/Bun.d.ts.map +1 -1
  1067. package/lib/Test/Bun.js +13 -2
  1068. package/lib/Test/Bun.js.map +1 -1
  1069. package/lib/Test/Core.d.ts +3 -3
  1070. package/lib/Test/Core.d.ts.map +1 -1
  1071. package/lib/Test/Core.js +18 -15
  1072. package/lib/Test/Core.js.map +1 -1
  1073. package/lib/Util/ConfigProvider.js +1 -1
  1074. package/lib/Util/ConfigProvider.js.map +1 -1
  1075. package/lib/Util/extraFiles.d.ts +77 -0
  1076. package/lib/Util/extraFiles.d.ts.map +1 -0
  1077. package/lib/Util/extraFiles.js +174 -0
  1078. package/lib/Util/extraFiles.js.map +1 -0
  1079. package/lib/Util/index.d.ts +1 -0
  1080. package/lib/Util/index.d.ts.map +1 -1
  1081. package/lib/Util/index.js +1 -0
  1082. package/lib/Util/index.js.map +1 -1
  1083. package/lib/Util/tarGzip.d.ts +13 -0
  1084. package/lib/Util/tarGzip.d.ts.map +1 -0
  1085. package/lib/Util/tarGzip.js +138 -0
  1086. package/lib/Util/tarGzip.js.map +1 -0
  1087. package/lib/Util/types.d.ts +10 -0
  1088. package/lib/Util/types.d.ts.map +1 -1
  1089. package/lib/{AWS/Website → Website}/Server.d.ts +15 -10
  1090. package/lib/Website/Server.d.ts.map +1 -0
  1091. package/lib/{AWS/Website → Website}/Server.js +20 -13
  1092. package/lib/Website/Server.js.map +1 -0
  1093. package/lib/Website/ServerLocal.d.ts +2 -0
  1094. package/lib/Website/ServerLocal.d.ts.map +1 -0
  1095. package/lib/Website/ServerLocal.js +4 -0
  1096. package/lib/Website/ServerLocal.js.map +1 -0
  1097. package/lib/Website/assets.d.ts +56 -0
  1098. package/lib/Website/assets.d.ts.map +1 -0
  1099. package/lib/Website/assets.js +95 -0
  1100. package/lib/Website/assets.js.map +1 -0
  1101. package/lib/Website/packExtraFiles.d.ts +13 -0
  1102. package/lib/Website/packExtraFiles.d.ts.map +1 -0
  1103. package/lib/Website/packExtraFiles.js +49 -0
  1104. package/lib/Website/packExtraFiles.js.map +1 -0
  1105. package/package.json +77 -37
  1106. package/src/AWS/ACM/Certificate.ts +32 -14
  1107. package/src/AWS/AppRunner/Service.ts +131 -64
  1108. package/src/AWS/ApplicationAutoScaling/ScalingPolicy.ts +42 -17
  1109. package/src/AWS/AuthProvider.ts +8 -2
  1110. package/src/AWS/Batch/JobDefinition.ts +15 -69
  1111. package/src/AWS/CloudFront/KvEntries.ts +20 -11
  1112. package/src/AWS/CloudFront/KvRoutesUpdate.ts +3 -8
  1113. package/src/AWS/CloudFront/common.ts +9 -1
  1114. package/src/AWS/Cognito/UserPool.ts +275 -39
  1115. package/src/AWS/EC2/Instance.ts +38 -14
  1116. package/src/AWS/EC2/NetworkAcl.ts +17 -12
  1117. package/src/AWS/EC2/hosted.ts +6 -75
  1118. package/src/AWS/ECR/Image.ts +25 -56
  1119. package/src/AWS/ECR/ImageSource.ts +10 -97
  1120. package/src/AWS/ECS/EcsDevWatch.ts +1 -89
  1121. package/src/AWS/ECS/FlociServiceProvider.ts +45 -26
  1122. package/src/AWS/ECS/FlociTaskProvider.ts +33 -16
  1123. package/src/AWS/ECS/Service.ts +2 -30
  1124. package/src/AWS/Endpoint.ts +12 -0
  1125. package/src/AWS/IAM/SAMLProvider.ts +48 -26
  1126. package/src/AWS/Lambda/DurableFunction.ts +25 -4
  1127. package/src/AWS/Lambda/FlociFunctionProvider.ts +82 -30
  1128. package/src/AWS/Lambda/FlociMicrovmImageProvider.ts +255 -0
  1129. package/src/AWS/Lambda/Function.ts +624 -136
  1130. package/src/AWS/Lambda/FunctionBundle.ts +14 -127
  1131. package/src/AWS/Lambda/FunctionImage.ts +705 -0
  1132. package/src/AWS/Lambda/MicrovmBundle.ts +12 -66
  1133. package/src/AWS/Lambda/MicrovmImage.ts +6 -2
  1134. package/src/AWS/Lambda/MicrovmProvider.ts +189 -63
  1135. package/src/AWS/Lambda/index.ts +1 -0
  1136. package/src/AWS/Local/DevWatchProvider.ts +104 -4
  1137. package/src/AWS/Local/FlociServices.ts +4 -0
  1138. package/src/AWS/Local/ImageSourceTrigger.ts +102 -0
  1139. package/src/AWS/Local/Local.ts +2 -0
  1140. package/src/AWS/Local/ProviderContext.ts +93 -0
  1141. package/src/AWS/Providers.ts +773 -719
  1142. package/src/AWS/Route53/HostedZoneLookup.ts +63 -0
  1143. package/src/AWS/Route53/Record.ts +28 -8
  1144. package/src/AWS/Route53/Records.ts +48 -9
  1145. package/src/AWS/Website/AssetDeployment.ts +116 -109
  1146. package/src/AWS/Website/Astro.ts +51 -27
  1147. package/src/AWS/Website/Foldkit.ts +126 -0
  1148. package/src/AWS/Website/FrameworkSite.ts +38 -40
  1149. package/src/AWS/Website/Nextjs.ts +39 -39
  1150. package/src/AWS/Website/Nuxt.ts +38 -9
  1151. package/src/AWS/Website/Octane.ts +5 -6
  1152. package/src/AWS/Website/ReactRouter.ts +98 -0
  1153. package/src/AWS/Website/Router.ts +7 -3
  1154. package/src/AWS/Website/ServerLocal.ts +1 -1
  1155. package/src/AWS/Website/SolidStart.ts +102 -0
  1156. package/src/AWS/Website/SsrSite.ts +4 -2
  1157. package/src/AWS/Website/StaticSite.ts +8 -10
  1158. package/src/AWS/Website/SvelteKit.ts +34 -13
  1159. package/src/AWS/Website/TanStackStart.ts +92 -0
  1160. package/src/AWS/Website/Vite.ts +83 -22
  1161. package/src/AWS/Website/Waku.ts +48 -12
  1162. package/src/AWS/Website/index.ts +4 -1
  1163. package/src/AWS/Website/shared.ts +11 -2
  1164. package/src/Auth/AuthProvider.ts +7 -1
  1165. package/src/Auth/Lock.ts +80 -2
  1166. package/src/Axiom/Dataset.ts +59 -31
  1167. package/src/Binding.ts +155 -2
  1168. package/src/Bundle/Bundle.ts +62 -3
  1169. package/src/Cli/commands/deploy.ts +21 -1
  1170. package/src/Cloudflare/AI/SecuritySettings.ts +1 -0
  1171. package/src/Cloudflare/Containers/ContainerApplication.ts +4 -2
  1172. package/src/Cloudflare/Containers/ContainerBundle.ts +11 -99
  1173. package/src/Cloudflare/Containers/ContainerPlatform.ts +38 -2
  1174. package/src/Cloudflare/Containers/ContainerProvider.ts +333 -37
  1175. package/src/Cloudflare/Containers/LocalContainerProvider.ts +58 -7
  1176. package/src/Cloudflare/Email/CatchAll.ts +32 -24
  1177. package/src/Cloudflare/Email/Rule.ts +6 -2
  1178. package/src/Cloudflare/Email/retry.ts +29 -0
  1179. package/src/Cloudflare/R2/Bucket.ts +169 -39
  1180. package/src/Cloudflare/R2/DataCatalog.ts +22 -20
  1181. package/src/Cloudflare/Website/Astro.ts +52 -41
  1182. package/src/Cloudflare/Website/Foldkit.ts +5 -5
  1183. package/src/Cloudflare/Website/Nextjs.ts +38 -68
  1184. package/src/Cloudflare/Website/Nuxt.ts +37 -14
  1185. package/src/Cloudflare/Website/SvelteKit.ts +43 -58
  1186. package/src/Cloudflare/Website/Vite.ts +2 -3
  1187. package/src/Cloudflare/Website/Vocs.ts +195 -0
  1188. package/src/Cloudflare/Website/Waku.ts +47 -27
  1189. package/src/Cloudflare/Website/index.ts +1 -0
  1190. package/src/Cloudflare/Workers/EmailEventSource.ts +348 -0
  1191. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +183 -1
  1192. package/src/Cloudflare/Workers/Worker.ts +11 -1
  1193. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +14 -3
  1194. package/src/Cloudflare/Workers/index.ts +1 -0
  1195. package/src/Cloudflare/Zone/lookup.ts +20 -37
  1196. package/src/Command/Build.ts +11 -5
  1197. package/src/Command/Command.ts +17 -5
  1198. package/src/Docker/BuildHash.ts +308 -0
  1199. package/src/Docker/Container.ts +130 -21
  1200. package/src/Docker/Docker.ts +3 -0
  1201. package/src/Docker/ServiceImage.ts +6 -74
  1202. package/src/Fly/Bucket.ts +28 -26
  1203. package/src/Fly/BucketBinding.ts +11 -8
  1204. package/src/Fly/ConnectPostgres.ts +0 -2
  1205. package/src/Fly/Decrypt.ts +1 -6
  1206. package/src/Fly/DecryptHttp.ts +4 -23
  1207. package/src/Fly/Encrypt.ts +1 -6
  1208. package/src/Fly/EncryptHttp.ts +0 -20
  1209. package/src/Fly/Environment.ts +6 -2
  1210. package/src/Fly/Errors.ts +0 -19
  1211. package/src/Fly/Postgres.ts +15 -16
  1212. package/src/Fly/PostgresMigrations.ts +44 -1
  1213. package/src/Fly/Providers.ts +14 -0
  1214. package/src/Fly/ReadRedis.ts +3 -16
  1215. package/src/Fly/Redis.ts +4 -10
  1216. package/src/Fly/RedisBinding.ts +6 -145
  1217. package/src/Fly/RedisHttp.ts +8 -48
  1218. package/src/Fly/SecretHttp.ts +36 -32
  1219. package/src/Fly/SecretKeyHttp.ts +1 -39
  1220. package/src/Fly/Service.ts +120 -27
  1221. package/src/Fly/Sign.ts +1 -6
  1222. package/src/Fly/SignHttp.ts +0 -14
  1223. package/src/Fly/Sprite.ts +25 -15
  1224. package/src/Fly/SpriteHttp.ts +4 -2
  1225. package/src/Fly/Verify.ts +1 -6
  1226. package/src/Fly/VerifyHttp.ts +2 -14
  1227. package/src/Fly/Website/AssetDeployment.ts +294 -0
  1228. package/src/Fly/Website/Astro.ts +94 -0
  1229. package/src/Fly/Website/Foldkit.ts +42 -0
  1230. package/src/Fly/Website/FrameworkSite.ts +370 -0
  1231. package/src/Fly/Website/Nextjs.ts +51 -0
  1232. package/src/Fly/Website/Nuxt.ts +49 -0
  1233. package/src/Fly/Website/Octane.ts +54 -0
  1234. package/src/Fly/Website/ReactRouter.ts +77 -0
  1235. package/src/Fly/Website/SolidStart.ts +92 -0
  1236. package/src/Fly/Website/StaticSite.ts +278 -0
  1237. package/src/Fly/Website/SvelteKit.ts +51 -0
  1238. package/src/Fly/Website/TanStackStart.ts +73 -0
  1239. package/src/Fly/Website/Vite.ts +118 -0
  1240. package/src/Fly/Website/Vocs.ts +52 -0
  1241. package/src/Fly/Website/Waku.ts +66 -0
  1242. package/src/Fly/Website/index.ts +15 -0
  1243. package/src/Fly/WriteRedis.ts +3 -11
  1244. package/src/Fly/hosted.ts +151 -82
  1245. package/src/Fly/index.ts +1 -0
  1246. package/src/Hetzner/MountVolume.ts +1 -1
  1247. package/src/Hetzner/Providers.ts +8 -0
  1248. package/src/Hetzner/Server.ts +39 -15
  1249. package/src/Hetzner/Service.ts +20 -4
  1250. package/src/Hetzner/Website/Astro.ts +97 -0
  1251. package/src/Hetzner/Website/Foldkit.ts +44 -0
  1252. package/src/Hetzner/Website/FrameworkSite.ts +370 -0
  1253. package/src/Hetzner/Website/Nextjs.ts +54 -0
  1254. package/src/Hetzner/Website/Nuxt.ts +56 -0
  1255. package/src/Hetzner/Website/Octane.ts +56 -0
  1256. package/src/Hetzner/Website/ReactRouter.ts +80 -0
  1257. package/src/Hetzner/Website/SolidStart.ts +94 -0
  1258. package/src/Hetzner/Website/StaticSite.ts +271 -0
  1259. package/src/Hetzner/Website/SvelteKit.ts +56 -0
  1260. package/src/Hetzner/Website/TanStackStart.ts +75 -0
  1261. package/src/Hetzner/Website/Vite.ts +117 -0
  1262. package/src/Hetzner/Website/Vocs.ts +54 -0
  1263. package/src/Hetzner/Website/Waku.ts +60 -0
  1264. package/src/Hetzner/Website/index.ts +14 -0
  1265. package/src/Hetzner/actions.ts +6 -13
  1266. package/src/Hetzner/hosted.ts +314 -95
  1267. package/src/Hetzner/index.ts +1 -0
  1268. package/src/Http.ts +14 -2
  1269. package/src/Kubernetes/HelmChart.ts +5 -3
  1270. package/src/Kubernetes/internal/helm.ts +29 -6
  1271. package/src/Local/DockerHostGateway.ts +18 -0
  1272. package/src/Local/ProviderLayer.ts +22 -0
  1273. package/src/Local/RpcProvider.ts +1 -1
  1274. package/src/Local/RpcProviderProxy.ts +25 -1
  1275. package/src/Planetscale/Postgres/PostgresBranch.ts +2 -1
  1276. package/src/Planetscale/Postgres/PostgresClusterSize.ts +134 -9
  1277. package/src/Planetscale/Postgres/PostgresDatabase.ts +15 -1
  1278. package/src/Platform.ts +9 -8
  1279. package/src/Prisma/Compute.ts +10 -68
  1280. package/src/Prisma/PrismaDevDatabase.ts +9 -1
  1281. package/src/Provider.ts +103 -6
  1282. package/src/Railway/AuditLog.ts +240 -0
  1283. package/src/Railway/AuthProvider.ts +412 -0
  1284. package/src/Railway/Bind.ts +175 -0
  1285. package/src/Railway/Bucket.ts +786 -0
  1286. package/src/Railway/BucketBinding.ts +174 -0
  1287. package/src/Railway/Catalog.ts +68 -0
  1288. package/src/Railway/CloudAgent.ts +467 -0
  1289. package/src/Railway/ConnectMongo.ts +91 -0
  1290. package/src/Railway/ConnectMongoHttp.ts +156 -0
  1291. package/src/Railway/ConnectMySQL.ts +92 -0
  1292. package/src/Railway/ConnectMySQLHttp.ts +156 -0
  1293. package/src/Railway/ConnectPostgres.ts +103 -0
  1294. package/src/Railway/ConnectPostgresHttp.ts +154 -0
  1295. package/src/Railway/Credentials.ts +68 -0
  1296. package/src/Railway/CustomDomain.ts +527 -0
  1297. package/src/Railway/DeleteObject.ts +48 -0
  1298. package/src/Railway/DeleteObjectHttp.ts +19 -0
  1299. package/src/Railway/Environment.ts +121 -0
  1300. package/src/Railway/Function.ts +1342 -0
  1301. package/src/Railway/GetObject.ts +48 -0
  1302. package/src/Railway/GetObjectHttp.ts +19 -0
  1303. package/src/Railway/Group.ts +1202 -0
  1304. package/src/Railway/HeadObject.ts +46 -0
  1305. package/src/Railway/HeadObjectHttp.ts +19 -0
  1306. package/src/Railway/InferEnv.ts +32 -0
  1307. package/src/Railway/ListObjectsV2.ts +48 -0
  1308. package/src/Railway/ListObjectsV2Http.ts +19 -0
  1309. package/src/Railway/LoginSession.ts +105 -0
  1310. package/src/Railway/Metadata.ts +105 -0
  1311. package/src/Railway/Mongo.ts +1335 -0
  1312. package/src/Railway/MountVolume.ts +169 -0
  1313. package/src/Railway/MySQL.ts +1336 -0
  1314. package/src/Railway/Postgres.ts +1287 -0
  1315. package/src/Railway/PrivateNetwork.ts +989 -0
  1316. package/src/Railway/Project.ts +436 -0
  1317. package/src/Railway/ProjectEnvironment.ts +374 -0
  1318. package/src/Railway/Providers.ts +173 -0
  1319. package/src/Railway/PutObject.ts +49 -0
  1320. package/src/Railway/PutObjectHttp.ts +19 -0
  1321. package/src/Railway/ReadRedis.ts +30 -0
  1322. package/src/Railway/ReadRedisHttp.ts +17 -0
  1323. package/src/Railway/ReadWriteRedis.ts +35 -0
  1324. package/src/Railway/ReadWriteRedisHttp.ts +17 -0
  1325. package/src/Railway/Redis.ts +812 -0
  1326. package/src/Railway/RedisBinding.ts +84 -0
  1327. package/src/Railway/RedisHttp.ts +11 -0
  1328. package/src/Railway/RetryPolicy.ts +53 -0
  1329. package/src/Railway/Sandbox.ts +772 -0
  1330. package/src/Railway/Service.ts +518 -0
  1331. package/src/Railway/ServiceDomain.ts +313 -0
  1332. package/src/Railway/ServiceProvider.ts +1226 -0
  1333. package/src/Railway/TODO.md +95 -0
  1334. package/src/Railway/TcpProxy.ts +442 -0
  1335. package/src/Railway/Template.ts +892 -0
  1336. package/src/Railway/Up.ts +108 -0
  1337. package/src/Railway/Usage.ts +569 -0
  1338. package/src/Railway/Variable.ts +665 -0
  1339. package/src/Railway/Volume.ts +874 -0
  1340. package/src/Railway/VolumeBackup.ts +925 -0
  1341. package/src/Railway/Website/Astro.ts +105 -0
  1342. package/src/Railway/Website/Cdn.ts +198 -0
  1343. package/src/Railway/Website/Foldkit.ts +48 -0
  1344. package/src/Railway/Website/FrameworkSite.ts +344 -0
  1345. package/src/Railway/Website/Nextjs.ts +60 -0
  1346. package/src/Railway/Website/Nuxt.ts +57 -0
  1347. package/src/Railway/Website/Octane.ts +61 -0
  1348. package/src/Railway/Website/ReactRouter.ts +80 -0
  1349. package/src/Railway/Website/SolidStart.ts +96 -0
  1350. package/src/Railway/Website/StaticSite.ts +264 -0
  1351. package/src/Railway/Website/SvelteKit.ts +60 -0
  1352. package/src/Railway/Website/TanStackStart.ts +76 -0
  1353. package/src/Railway/Website/Vite.ts +113 -0
  1354. package/src/Railway/Website/Vocs.ts +61 -0
  1355. package/src/Railway/Website/Waku.ts +64 -0
  1356. package/src/Railway/Website/index.ts +15 -0
  1357. package/src/Railway/WriteRedis.ts +30 -0
  1358. package/src/Railway/WriteRedisHttp.ts +17 -0
  1359. package/src/Railway/hosted.ts +895 -0
  1360. package/src/Railway/index.ts +69 -0
  1361. package/src/Railway/ref.ts +81 -0
  1362. package/src/Railway/rpc-server.ts +135 -0
  1363. package/src/Railway/rpc-token.ts +35 -0
  1364. package/src/Railway/transient.ts +89 -0
  1365. package/src/Redis/Client.ts +360 -0
  1366. package/src/Redis/Errors.ts +27 -0
  1367. package/src/Redis/Protocol.ts +451 -0
  1368. package/src/Redis/Resp.ts +650 -0
  1369. package/src/Redis/index.ts +27 -0
  1370. package/src/Runtime/Bootstrap/AppRunner.ts +50 -0
  1371. package/src/Runtime/Bootstrap/Batch.ts +51 -0
  1372. package/src/Runtime/Bootstrap/CloudflareContainer.ts +90 -0
  1373. package/src/Runtime/Bootstrap/CloudflareContainerBun.ts +17 -0
  1374. package/src/Runtime/Bootstrap/CloudflareContainerNode.ts +17 -0
  1375. package/src/Runtime/Bootstrap/Docker.ts +51 -0
  1376. package/src/Runtime/Bootstrap/Ec2.ts +52 -0
  1377. package/src/Runtime/Bootstrap/Ecs.ts +66 -0
  1378. package/src/Runtime/Bootstrap/Fly.ts +52 -0
  1379. package/src/Runtime/Bootstrap/Hetzner.ts +52 -0
  1380. package/src/Runtime/Bootstrap/Lambda.ts +100 -0
  1381. package/src/Runtime/Bootstrap/Microvm.ts +68 -0
  1382. package/src/Runtime/Bootstrap/MicrovmBun.ts +14 -0
  1383. package/src/Runtime/Bootstrap/MicrovmNode.ts +14 -0
  1384. package/src/Runtime/Bootstrap/Prisma.ts +71 -0
  1385. package/src/Runtime/Bootstrap/Process.ts +131 -0
  1386. package/src/Runtime/Bootstrap/Railway.ts +55 -0
  1387. package/src/Telemetry/Metrics.ts +7 -1
  1388. package/src/Test/Alchemy.ts +3 -0
  1389. package/src/Test/Bun.ts +15 -2
  1390. package/src/Test/Core.ts +27 -20
  1391. package/src/Util/ConfigProvider.ts +1 -1
  1392. package/src/Util/extraFiles.ts +246 -0
  1393. package/src/Util/index.ts +1 -0
  1394. package/src/Util/tarGzip.ts +180 -0
  1395. package/src/Util/types.ts +13 -0
  1396. package/src/{AWS/Website → Website}/Server.ts +34 -15
  1397. package/src/Website/ServerLocal.ts +4 -0
  1398. package/src/Website/assets.ts +116 -0
  1399. package/src/Website/packExtraFiles.ts +62 -0
  1400. package/lib/AWS/Website/Server.d.ts.map +0 -1
  1401. package/lib/AWS/Website/Server.js.map +0 -1
@@ -0,0 +1,989 @@
1
+ import type {
2
+ PrivateNetworkCreateOrGetResponse,
3
+ PrivateNetworkEndpointCreateOrGetResponse,
4
+ PrivateNetworkEndpointResponse,
5
+ PrivateNetworkEndpointSyncStatus,
6
+ PrivateNetworkEndpointValue,
7
+ PrivateNetworksResultItem,
8
+ ProjectResponseServicesEdgesItemNode,
9
+ } from "@distilled.cloud/railway";
10
+ import * as railway from "@distilled.cloud/railway";
11
+ import * as Data from "effect/Data";
12
+ import * as Effect from "effect/Effect";
13
+ import * as Schedule from "effect/Schedule";
14
+ import * as Stream from "effect/Stream";
15
+ import { Unowned } from "../AdoptPolicy.ts";
16
+ import { isResolved } from "../Diff.ts";
17
+ import * as Provider from "../Provider.ts";
18
+ import { Resource } from "../Resource.ts";
19
+ import {
20
+ createRailwayName,
21
+ matchesAlchemyPhysicalName,
22
+ sanitizeRailwayName,
23
+ } from "./Metadata.ts";
24
+ import { ownedProjects, projectEnvironmentIds } from "./Project.ts";
25
+ import type { Providers } from "./Providers.ts";
26
+
27
+ /**
28
+ * A resource-valued prop: the resource itself, or an Effect that produces
29
+ * it (so `yield* Project(...)` and `Project(...)` both type-check).
30
+ */
31
+ type Ref<T> = T | Effect.Effect<T, never, Providers>;
32
+
33
+ const ALCHEMY_TAG = "alchemy";
34
+
35
+ /**
36
+ * Environment identity a private network lives in. Accepts a
37
+ * `Railway.Project` (its primary environment), a `Railway.Environment`,
38
+ * or an `{ environmentId, projectId? }` stub.
39
+ */
40
+ export type PrivateNetworkEnvironment = {
41
+ readonly environmentId: string;
42
+ readonly projectId?: string;
43
+ };
44
+
45
+ export interface PrivateNetworkProps {
46
+ /**
47
+ * Environment the named network belongs to. Accepts a
48
+ * `Railway.Project` (primary environment), a `Railway.Environment`, or
49
+ * `{ environmentId, projectId }`. Changing it replaces the network.
50
+ */
51
+ environment: Ref<PrivateNetworkEnvironment>;
52
+ /**
53
+ * Network name. Unique per environment. If omitted, a unique name is
54
+ * generated from the stack, stage and logical ID. Changing it replaces
55
+ * the network — Railway has no rename mutation.
56
+ */
57
+ name?: string;
58
+ }
59
+
60
+ export type PrivateNetwork = Resource<
61
+ "Railway.PrivateNetwork",
62
+ PrivateNetworkProps,
63
+ {
64
+ /** Railway public network id (string identity used by endpoint APIs). */
65
+ publicId: string;
66
+ /** Numeric WireGuard network id, as a decimal string. */
67
+ networkId: string;
68
+ /** Physical network name (unique per environment). */
69
+ name: string;
70
+ /** Network DNS suffix (typically `railway.internal`). */
71
+ dnsName: string;
72
+ /** Parent Railway project id. */
73
+ projectId: string;
74
+ /** Environment the network lives in. */
75
+ environmentId: string;
76
+ /** Observed tags. */
77
+ tags: string[];
78
+ /** RFC3339 creation timestamp, if Railway reported one. */
79
+ createdAt: string | undefined;
80
+ },
81
+ never,
82
+ Providers
83
+ >;
84
+
85
+ const resolvePrivateNetworkProps = (
86
+ props:
87
+ | PrivateNetworkProps
88
+ | Effect.Effect<PrivateNetworkProps, never, Providers>,
89
+ ): Effect.Effect<PrivateNetworkProps, never, Providers> =>
90
+ Effect.gen(function* () {
91
+ const resolved = Effect.isEffect(props) ? yield* props : props;
92
+ if (globalThis.__ALCHEMY_RUNTIME__) return resolved;
93
+ const environment = Effect.isEffect(resolved.environment)
94
+ ? yield* resolved.environment as Effect.Effect<
95
+ PrivateNetworkEnvironment,
96
+ never,
97
+ Providers
98
+ >
99
+ : resolved.environment;
100
+ return { ...resolved, environment };
101
+ });
102
+
103
+ const PrivateNetworkResource = Resource<PrivateNetwork>(
104
+ "Railway.PrivateNetwork",
105
+ );
106
+
107
+ /**
108
+ * A Railway.PrivateNetwork is a named private mesh in an environment.
109
+ * Every environment already has the default `*.railway.internal` mesh —
110
+ * this resource create-or-gets an additional named network (custom DNS)
111
+ * and is the parent of {@link PrivateNetworkEndpoint}.
112
+ *
113
+ * Railway has no per-network delete. Destroy is a no-op; the network is
114
+ * removed when its Project/Environment is deleted. `create-or-get` is
115
+ * idempotent for a given `(environment, name)`.
116
+ *
117
+ * @see https://docs.railway.com/networking/private-networking
118
+ *
119
+ * ### Create a named network
120
+ * Pass a Project (or Environment). Alchemy generates a unique name.
121
+ * `dnsName` is the network suffix endpoints hang off.
122
+ *
123
+ * **Example:** Generated name
124
+ * ```typescript
125
+ * const site = yield* Railway.Project("Site");
126
+ * const net = yield* Railway.PrivateNetwork("Mesh", {
127
+ * environment: site,
128
+ * });
129
+ * ```
130
+ *
131
+ * ### A stable name
132
+ * Pass `name` when you need a stable network name. Changing it later
133
+ * replaces the resource — Railway cannot rename a network.
134
+ *
135
+ * **Example:** Explicit name
136
+ * ```typescript
137
+ * const net = yield* Railway.PrivateNetwork("Mesh", {
138
+ * environment: site,
139
+ * name: "backend",
140
+ * });
141
+ * ```
142
+ *
143
+ * :::caution[Changing `name` or `environment` replaces the network]
144
+ * `privateNetworkCreateOrGet` is keyed by name. A new network is
145
+ * ensured under the new name. Railway has no per-network delete, so the
146
+ * previous name stays until the environment is deleted.
147
+ * :::
148
+ *
149
+ * ### Endpoints
150
+ * Attach a Service with a custom DNS name via
151
+ * {@link PrivateNetworkEndpoint}.
152
+ *
153
+ * **Example:** Endpoint on the network
154
+ * ```typescript
155
+ * const api = yield* Railway.Service("Api", {
156
+ * project: site,
157
+ * image: "hashicorp/http-echo",
158
+ * });
159
+ * const endpoint = yield* Railway.PrivateNetworkEndpoint("ApiDns", {
160
+ * network: net,
161
+ * service: api,
162
+ * name: "api",
163
+ * });
164
+ * ```
165
+ *
166
+ * ### Module-scope declarations
167
+ * Resource-valued props accept the resource or an Effect producing it.
168
+ *
169
+ * **Example:** Module-scope network
170
+ * ```typescript
171
+ * // src/network.ts
172
+ * import * as Railway from "alchemy/Railway";
173
+ *
174
+ * export const Site = Railway.Project("Site");
175
+ * export const Mesh = Railway.PrivateNetwork("Mesh", {
176
+ * environment: Site,
177
+ * });
178
+ * ```
179
+ *
180
+ * @resource
181
+ */
182
+ export const PrivateNetwork: typeof PrivateNetworkResource = Object.assign(
183
+ (
184
+ id: string,
185
+ props:
186
+ | PrivateNetworkProps
187
+ | Effect.Effect<PrivateNetworkProps, never, Providers>,
188
+ ) => PrivateNetworkResource(id, resolvePrivateNetworkProps(props)),
189
+ PrivateNetworkResource,
190
+ );
191
+
192
+ export class PrivateNetworkNotCreated extends Data.TaggedError(
193
+ "Railway.PrivateNetworkNotCreated",
194
+ )<{
195
+ name: string;
196
+ environmentId: string;
197
+ }> {}
198
+
199
+ export class PrivateNetworkEnvironmentRequired extends Data.TaggedError(
200
+ "Railway.PrivateNetworkEnvironmentRequired",
201
+ )<{
202
+ message: string;
203
+ }> {}
204
+
205
+ type CloudNetwork =
206
+ | PrivateNetworkCreateOrGetResponse
207
+ | PrivateNetworksResultItem;
208
+
209
+ const environmentIdOf = (value: unknown): string | undefined => {
210
+ if (value === null || typeof value !== "object") return undefined;
211
+ const rec = value as { environmentId?: unknown };
212
+ return typeof rec.environmentId === "string" && rec.environmentId.length > 0
213
+ ? rec.environmentId
214
+ : undefined;
215
+ };
216
+
217
+ const projectIdOf = (value: unknown): string | undefined => {
218
+ if (value === null || typeof value !== "object") return undefined;
219
+ const rec = value as { projectId?: unknown };
220
+ return typeof rec.projectId === "string" && rec.projectId.length > 0
221
+ ? rec.projectId
222
+ : undefined;
223
+ };
224
+
225
+ const publicIdOf = (value: unknown): string | undefined => {
226
+ if (value === null || typeof value !== "object") return undefined;
227
+ const rec = value as { publicId?: unknown };
228
+ return typeof rec.publicId === "string" && rec.publicId.length > 0
229
+ ? rec.publicId
230
+ : undefined;
231
+ };
232
+
233
+ const isGoneNetwork = (network: CloudNetwork | undefined) =>
234
+ network === undefined || network.deletedAt != null;
235
+
236
+ const toNetworkAttrs = (
237
+ network: CloudNetwork,
238
+ fallback?: { name?: string; projectId?: string },
239
+ ): PrivateNetwork["Attributes"] => ({
240
+ publicId: network.publicId,
241
+ networkId: String(network.networkId),
242
+ name: network.name || fallback?.name || "",
243
+ dnsName: network.dnsName,
244
+ projectId: network.projectId || fallback?.projectId || "",
245
+ environmentId: network.environmentId,
246
+ tags: network.tags ?? [],
247
+ createdAt: network.createdAt ?? undefined,
248
+ });
249
+
250
+ const resolveNetworkName = (
251
+ id: string,
252
+ name: string | undefined,
253
+ existing?: string,
254
+ ) =>
255
+ Effect.gen(function* () {
256
+ if (name !== undefined) return sanitizeRailwayName(name);
257
+ if (existing !== undefined) return existing;
258
+ return yield* createRailwayName(id);
259
+ });
260
+
261
+ const listNetworks = (environmentId: string) =>
262
+ railway.privateNetworks({ environmentId }).pipe(
263
+ Effect.map((items) => items.filter((network) => !isGoneNetwork(network))),
264
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
265
+ Effect.succeed([] as PrivateNetworksResultItem[]),
266
+ ),
267
+ );
268
+
269
+ const findNetwork = (
270
+ environmentId: string,
271
+ match: (network: CloudNetwork) => boolean,
272
+ ) =>
273
+ listNetworks(environmentId).pipe(
274
+ Effect.map((networks) => networks.find(match)),
275
+ );
276
+
277
+ const listEnvironmentIds = (project: {
278
+ projectId: string;
279
+ environmentId: string;
280
+ }) =>
281
+ railway.environments.items({ projectId: project.projectId, first: 50 }).pipe(
282
+ Stream.filter((env) => env.deletedAt == null),
283
+ Stream.map((env) => env.id),
284
+ Stream.runCollect,
285
+ Effect.map((ids) => {
286
+ const set = new Set(Array.from(ids));
287
+ if (project.environmentId.length > 0) {
288
+ set.add(project.environmentId);
289
+ }
290
+ return Array.from(set);
291
+ }),
292
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
293
+ Effect.succeed(
294
+ project.environmentId.length > 0 ? [project.environmentId] : [],
295
+ ),
296
+ ),
297
+ );
298
+
299
+ const observeNetwork = Effect.fn(function* (input: {
300
+ environmentId: string;
301
+ publicId?: string;
302
+ name?: string;
303
+ }) {
304
+ if (input.publicId !== undefined && input.publicId.length > 0) {
305
+ const byId = yield* findNetwork(
306
+ input.environmentId,
307
+ (network) => network.publicId === input.publicId,
308
+ );
309
+ if (byId !== undefined) return byId;
310
+ }
311
+ if (input.name !== undefined && input.name.length > 0) {
312
+ return yield* findNetwork(
313
+ input.environmentId,
314
+ (network) => network.name === input.name,
315
+ );
316
+ }
317
+ return undefined;
318
+ });
319
+
320
+ const ensureNetwork = (input: {
321
+ environmentId: string;
322
+ projectId: string;
323
+ name: string;
324
+ }) =>
325
+ railway
326
+ .privateNetworkCreateOrGet({
327
+ input: {
328
+ environmentId: input.environmentId,
329
+ projectId: input.projectId,
330
+ name: input.name,
331
+ tags: [ALCHEMY_TAG],
332
+ },
333
+ })
334
+ .pipe(
335
+ Effect.map((network) => (isGoneNetwork(network) ? undefined : network)),
336
+ );
337
+
338
+ export const PrivateNetworkProvider = () =>
339
+ Provider.succeed(PrivateNetwork, {
340
+ stables: ["publicId", "networkId", "projectId", "environmentId"],
341
+ // Railway has no per-network delete; the mesh is torn down with the
342
+ // environment/project. Skip nuke so we don't loop on a no-op delete.
343
+ nuke: { skip: true, dependsOn: ["Railway.Project"] },
344
+
345
+ diff: Effect.fn(function* ({ news, output }) {
346
+ if (news === undefined || !isResolved(news)) return undefined;
347
+ if (output === undefined) return undefined;
348
+ const environmentId = environmentIdOf(news.environment);
349
+ const environmentChanged =
350
+ environmentId !== undefined && environmentId !== output.environmentId;
351
+ const nameChanged =
352
+ news.name !== undefined &&
353
+ sanitizeRailwayName(news.name) !== output.name;
354
+ if (environmentChanged || nameChanged) {
355
+ return { action: "replace" as const };
356
+ }
357
+ return undefined;
358
+ }),
359
+
360
+ read: Effect.fn(function* ({ id, olds, output }) {
361
+ const environmentId =
362
+ output?.environmentId ?? environmentIdOf(olds?.environment);
363
+ const name = yield* resolveNetworkName(id, olds?.name, output?.name);
364
+ if (environmentId === undefined) return undefined;
365
+ const found = yield* observeNetwork({
366
+ environmentId,
367
+ publicId: output?.publicId,
368
+ name,
369
+ });
370
+ if (found === undefined) return undefined;
371
+ const attrs = toNetworkAttrs(found, {
372
+ name,
373
+ projectId: output?.projectId ?? projectIdOf(olds?.environment),
374
+ });
375
+ if (output !== undefined) return attrs;
376
+ return matchesAlchemyPhysicalName(found.name) ? attrs : Unowned(attrs);
377
+ }),
378
+
379
+ list: Effect.fn(function* () {
380
+ const projects = yield* ownedProjects();
381
+ const rows = yield* Effect.forEach(projects, (project) =>
382
+ Effect.gen(function* () {
383
+ const envIds = yield* projectEnvironmentIds(project);
384
+ const nested = yield* Effect.forEach(envIds, (environmentId) =>
385
+ listNetworks(environmentId).pipe(
386
+ Effect.map((networks) =>
387
+ networks
388
+ .filter((network) => matchesAlchemyPhysicalName(network.name))
389
+ .map((network) =>
390
+ toNetworkAttrs(network, {
391
+ projectId: project.projectId,
392
+ }),
393
+ ),
394
+ ),
395
+ ),
396
+ );
397
+ return nested.flat();
398
+ }),
399
+ );
400
+ const seen = new Set<string>();
401
+ const unique: PrivateNetwork["Attributes"][] = [];
402
+ for (const row of rows.flat()) {
403
+ if (seen.has(row.publicId)) continue;
404
+ seen.add(row.publicId);
405
+ unique.push(row);
406
+ }
407
+ return unique;
408
+ }),
409
+
410
+ reconcile: Effect.fn(function* ({ id, news, output }) {
411
+ const props = news ?? ({} as PrivateNetworkProps);
412
+ const environmentId =
413
+ environmentIdOf(props.environment) ?? output?.environmentId;
414
+ const projectId = projectIdOf(props.environment) ?? output?.projectId;
415
+ if (environmentId === undefined || projectId === undefined) {
416
+ return yield* new PrivateNetworkEnvironmentRequired({
417
+ message:
418
+ "PrivateNetwork requires an environment with environmentId and projectId (pass a Railway.Project or Railway.Environment)",
419
+ });
420
+ }
421
+ const name = yield* resolveNetworkName(id, props.name, output?.name);
422
+
423
+ let current = yield* observeNetwork({
424
+ environmentId,
425
+ publicId: output?.publicId,
426
+ name,
427
+ });
428
+
429
+ if (current === undefined) {
430
+ current = yield* ensureNetwork({
431
+ environmentId,
432
+ projectId,
433
+ name,
434
+ });
435
+ if (current === undefined) {
436
+ current = yield* observeNetwork({ environmentId, name });
437
+ }
438
+ }
439
+
440
+ if (current === undefined || isGoneNetwork(current)) {
441
+ return yield* new PrivateNetworkNotCreated({
442
+ name,
443
+ environmentId,
444
+ });
445
+ }
446
+
447
+ return toNetworkAttrs(current, { name, projectId });
448
+ }),
449
+
450
+ delete: Effect.fn(function* () {
451
+ // No per-network delete. `privateNetworksForEnvironmentDelete` would
452
+ // also tear down the default mesh. The network is removed with the
453
+ // parent Project / Environment.
454
+ }),
455
+ });
456
+
457
+ /**
458
+ * Network identity an endpoint attaches to. Accepts a
459
+ * `Railway.PrivateNetwork` or a `{ publicId, environmentId? }` stub.
460
+ */
461
+ export type PrivateNetworkEndpointNetwork = {
462
+ readonly publicId: string;
463
+ readonly environmentId?: string;
464
+ readonly projectId?: string;
465
+ readonly dnsName?: string;
466
+ };
467
+
468
+ /**
469
+ * Service identity an endpoint attaches to. Accepts a `Railway.Service`
470
+ * or a `{ serviceId, name? }` stub.
471
+ */
472
+ export type PrivateNetworkEndpointService = {
473
+ readonly serviceId: string;
474
+ readonly name?: string;
475
+ };
476
+
477
+ export interface PrivateNetworkEndpointProps {
478
+ /**
479
+ * Parent named network. Accepts a `Railway.PrivateNetwork` or
480
+ * `{ publicId }`. Changing it replaces the endpoint.
481
+ */
482
+ network: Ref<PrivateNetworkEndpointNetwork>;
483
+ /**
484
+ * Service the endpoint advertises. Accepts a `Railway.Service` or
485
+ * `{ serviceId }`. Changing it replaces the endpoint.
486
+ */
487
+ service: Ref<PrivateNetworkEndpointService>;
488
+ /**
489
+ * DNS prefix for this endpoint (the label before the network
490
+ * `dnsName`). Defaults to the Service name. Updates in place via
491
+ * `privateNetworkEndpointRename`.
492
+ */
493
+ name?: string;
494
+ }
495
+
496
+ export type PrivateNetworkEndpoint = Resource<
497
+ "Railway.PrivateNetworkEndpoint",
498
+ PrivateNetworkEndpointProps,
499
+ {
500
+ /** Railway public endpoint id. */
501
+ publicId: string;
502
+ /** Observed DNS name (`{prefix}.{networkDns}`). */
503
+ dnsName: string;
504
+ /** Pending DNS name while a rename is in flight, if any. */
505
+ newDnsName: string | undefined;
506
+ /** Internal IPs advertised on the mesh. */
507
+ privateIps: string[];
508
+ /** Service instance the endpoint is bound to. */
509
+ serviceInstanceId: string;
510
+ /** Parent service id. */
511
+ serviceId: string;
512
+ /** Parent network public id. */
513
+ privateNetworkId: string;
514
+ /** Environment the endpoint lives in. */
515
+ environmentId: string;
516
+ /** Parent Railway project id, if known. */
517
+ projectId: string | undefined;
518
+ /** Observed Railway sync status (`ACTIVE`, `CREATING`, …). */
519
+ syncStatus: PrivateNetworkEndpointSyncStatus;
520
+ /** Observed tags. */
521
+ tags: string[];
522
+ /** RFC3339 creation timestamp, if Railway reported one. */
523
+ createdAt: string | undefined;
524
+ },
525
+ never,
526
+ Providers
527
+ >;
528
+
529
+ const resolvePrivateNetworkEndpointProps = (
530
+ props:
531
+ | PrivateNetworkEndpointProps
532
+ | Effect.Effect<PrivateNetworkEndpointProps, never, Providers>,
533
+ ): Effect.Effect<PrivateNetworkEndpointProps, never, Providers> =>
534
+ Effect.gen(function* () {
535
+ const resolved = Effect.isEffect(props) ? yield* props : props;
536
+ if (globalThis.__ALCHEMY_RUNTIME__) return resolved;
537
+ const network = Effect.isEffect(resolved.network)
538
+ ? yield* resolved.network as Effect.Effect<
539
+ PrivateNetworkEndpointNetwork,
540
+ never,
541
+ Providers
542
+ >
543
+ : resolved.network;
544
+ const service = Effect.isEffect(resolved.service)
545
+ ? yield* resolved.service as Effect.Effect<
546
+ PrivateNetworkEndpointService,
547
+ never,
548
+ Providers
549
+ >
550
+ : resolved.service;
551
+ return { ...resolved, network, service };
552
+ });
553
+
554
+ const PrivateNetworkEndpointResource = Resource<PrivateNetworkEndpoint>(
555
+ "Railway.PrivateNetworkEndpoint",
556
+ );
557
+
558
+ /**
559
+ * A Railway.PrivateNetworkEndpoint is a per-service DNS name on a
560
+ * {@link PrivateNetwork}. Create-or-get is idempotent for a given
561
+ * `(network, service)`. `name` is the DNS prefix and updates in place.
562
+ *
563
+ * @see https://docs.railway.com/networking/private-networking
564
+ *
565
+ * ### Attach a service
566
+ * Pass the network and the Service. Omit `name` to use the Service name
567
+ * as the DNS prefix.
568
+ *
569
+ * **Example:** Default prefix
570
+ * ```typescript
571
+ * const endpoint = yield* Railway.PrivateNetworkEndpoint("ApiDns", {
572
+ * network: net,
573
+ * service: api,
574
+ * });
575
+ * ```
576
+ *
577
+ * ### Custom DNS name
578
+ * `name` is the label other services use (`name.{network.dnsName}`).
579
+ * Updating it renames in place.
580
+ *
581
+ * **Example:** Custom prefix
582
+ * ```typescript
583
+ * const endpoint = yield* Railway.PrivateNetworkEndpoint("ApiDns", {
584
+ * network: net,
585
+ * service: api,
586
+ * name: "api",
587
+ * });
588
+ * ```
589
+ *
590
+ * :::caution[Changing `network` or `service` replaces the endpoint]
591
+ * The old endpoint is deleted. The new pair is create-or-got.
592
+ * :::
593
+ *
594
+ * @resource
595
+ */
596
+ export const PrivateNetworkEndpoint: typeof PrivateNetworkEndpointResource =
597
+ Object.assign(
598
+ (
599
+ id: string,
600
+ props:
601
+ | PrivateNetworkEndpointProps
602
+ | Effect.Effect<PrivateNetworkEndpointProps, never, Providers>,
603
+ ) =>
604
+ PrivateNetworkEndpointResource(
605
+ id,
606
+ resolvePrivateNetworkEndpointProps(props),
607
+ ),
608
+ PrivateNetworkEndpointResource,
609
+ );
610
+
611
+ export class PrivateNetworkEndpointNotCreated extends Data.TaggedError(
612
+ "Railway.PrivateNetworkEndpointNotCreated",
613
+ )<{
614
+ privateNetworkId: string;
615
+ serviceId: string;
616
+ }> {}
617
+
618
+ export class PrivateNetworkEndpointTargetMissing extends Data.TaggedError(
619
+ "Railway.PrivateNetworkEndpointTargetMissing",
620
+ )<{
621
+ message: string;
622
+ }> {}
623
+
624
+ type CloudEndpoint =
625
+ | PrivateNetworkEndpointValue
626
+ | PrivateNetworkEndpointCreateOrGetResponse
627
+ | PrivateNetworkEndpointResponse;
628
+
629
+ const serviceIdOf = (value: unknown): string | undefined => {
630
+ if (value === null || typeof value !== "object") return undefined;
631
+ const rec = value as { serviceId?: unknown };
632
+ return typeof rec.serviceId === "string" && rec.serviceId.length > 0
633
+ ? rec.serviceId
634
+ : undefined;
635
+ };
636
+
637
+ const serviceNameOf = (value: unknown): string | undefined => {
638
+ if (value === null || typeof value !== "object") return undefined;
639
+ const rec = value as { name?: unknown };
640
+ return typeof rec.name === "string" && rec.name.length > 0
641
+ ? rec.name
642
+ : undefined;
643
+ };
644
+
645
+ const goneEndpointStatus = (status: PrivateNetworkEndpointSyncStatus) =>
646
+ status === "DELETED" || status === "DELETING";
647
+
648
+ const isGoneEndpoint = (endpoint: CloudEndpoint | null | undefined) =>
649
+ endpoint == null ||
650
+ endpoint.deletedAt != null ||
651
+ goneEndpointStatus(endpoint.syncStatus);
652
+
653
+ const dnsPrefix = (dnsName: string) =>
654
+ dnsName
655
+ .replace(/\.+$/, "")
656
+ .replace(/\.railway\.internal$/i, "")
657
+ .split(".")
658
+ .filter((part) => part.length > 0)[0] ?? dnsName;
659
+
660
+ const toEndpointAttrs = (
661
+ endpoint: NonNullable<CloudEndpoint>,
662
+ fallback: {
663
+ serviceId: string;
664
+ privateNetworkId: string;
665
+ environmentId: string;
666
+ projectId?: string;
667
+ },
668
+ ): PrivateNetworkEndpoint["Attributes"] => ({
669
+ publicId: endpoint.publicId,
670
+ dnsName: endpoint.dnsName,
671
+ newDnsName: endpoint.newDnsName ?? undefined,
672
+ privateIps: endpoint.privateIps ?? [],
673
+ serviceInstanceId: endpoint.serviceInstanceId,
674
+ serviceId: fallback.serviceId,
675
+ privateNetworkId: fallback.privateNetworkId,
676
+ environmentId: fallback.environmentId,
677
+ projectId: fallback.projectId,
678
+ syncStatus: endpoint.syncStatus,
679
+ tags: endpoint.tags ?? [],
680
+ createdAt: endpoint.createdAt ?? undefined,
681
+ });
682
+
683
+ const getEndpoint = (input: {
684
+ environmentId: string;
685
+ privateNetworkId: string;
686
+ serviceId: string;
687
+ }) =>
688
+ railway.privateNetworkEndpoint(input).pipe(
689
+ Effect.map((endpoint) =>
690
+ endpoint == null || isGoneEndpoint(endpoint) ? undefined : endpoint,
691
+ ),
692
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
693
+ Effect.succeed(undefined),
694
+ ),
695
+ );
696
+
697
+ const resolveServiceName = (serviceId: string, hint?: string) =>
698
+ hint !== undefined && hint.length > 0
699
+ ? Effect.succeed(hint)
700
+ : railway.service({ id: serviceId }).pipe(
701
+ Effect.map((service) => service.name),
702
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
703
+ Effect.succeed(sanitizeRailwayName(serviceId)),
704
+ ),
705
+ );
706
+
707
+ const listProjectServices = (projectId: string) =>
708
+ railway.project({ id: projectId }).pipe(
709
+ Effect.map((project) =>
710
+ project.services.edges
711
+ .map((edge) => edge.node)
712
+ .filter((node) => node.deletedAt == null),
713
+ ),
714
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
715
+ Effect.succeed([] as ProjectResponseServicesEdgesItemNode[]),
716
+ ),
717
+ );
718
+
719
+ const waitUntilEndpointGone = (input: {
720
+ environmentId: string;
721
+ privateNetworkId: string;
722
+ serviceId: string;
723
+ }) =>
724
+ getEndpoint(input).pipe(
725
+ Effect.map((endpoint) => endpoint === undefined),
726
+ Effect.repeat({
727
+ schedule: Schedule.spaced("1 second"),
728
+ until: (gone) => gone,
729
+ times: 8,
730
+ }),
731
+ );
732
+
733
+ const waitUntilEndpointNamed = (input: {
734
+ environmentId: string;
735
+ privateNetworkId: string;
736
+ serviceId: string;
737
+ prefix: string;
738
+ }) =>
739
+ getEndpoint(input).pipe(
740
+ Effect.flatMap((endpoint) => {
741
+ if (endpoint == null || dnsPrefix(endpoint.dnsName) !== input.prefix) {
742
+ return Effect.fail(
743
+ new PrivateNetworkEndpointNotCreated({
744
+ privateNetworkId: input.privateNetworkId,
745
+ serviceId: input.serviceId,
746
+ }),
747
+ );
748
+ }
749
+ return Effect.succeed(endpoint);
750
+ }),
751
+ Effect.retry({
752
+ while: (e) => e._tag === "Railway.PrivateNetworkEndpointNotCreated",
753
+ times: 8,
754
+ schedule: Schedule.spaced("1 second"),
755
+ }),
756
+ Effect.catchTag("Railway.PrivateNetworkEndpointNotCreated", () =>
757
+ getEndpoint(input),
758
+ ),
759
+ );
760
+
761
+ export const PrivateNetworkEndpointProvider = () =>
762
+ Provider.succeed(PrivateNetworkEndpoint, {
763
+ stables: [
764
+ "publicId",
765
+ "serviceId",
766
+ "privateNetworkId",
767
+ "environmentId",
768
+ "serviceInstanceId",
769
+ ],
770
+ nuke: {
771
+ dependsOn: [
772
+ "Railway.PrivateNetwork",
773
+ "Railway.Service",
774
+ "Railway.Project",
775
+ ],
776
+ },
777
+
778
+ diff: Effect.fn(function* ({ news, output }) {
779
+ if (news === undefined || !isResolved(news)) return undefined;
780
+ if (output === undefined) return undefined;
781
+ const serviceId = serviceIdOf(news.service);
782
+ const serviceChanged =
783
+ serviceId !== undefined && serviceId !== output.serviceId;
784
+ const networkId = publicIdOf(news.network);
785
+ const networkChanged =
786
+ networkId !== undefined && networkId !== output.privateNetworkId;
787
+ if (serviceChanged || networkChanged) {
788
+ return { action: "replace" as const };
789
+ }
790
+ return undefined;
791
+ }),
792
+
793
+ read: Effect.fn(function* ({ olds, output }) {
794
+ const serviceId = output?.serviceId ?? serviceIdOf(olds?.service);
795
+ const privateNetworkId =
796
+ output?.privateNetworkId ?? publicIdOf(olds?.network);
797
+ const environmentId =
798
+ output?.environmentId ??
799
+ environmentIdOf(olds?.network) ??
800
+ environmentIdOf(olds);
801
+ if (
802
+ serviceId === undefined ||
803
+ privateNetworkId === undefined ||
804
+ environmentId === undefined
805
+ ) {
806
+ return undefined;
807
+ }
808
+ const found = yield* getEndpoint({
809
+ environmentId,
810
+ privateNetworkId,
811
+ serviceId,
812
+ });
813
+ if (found === undefined) return undefined;
814
+ return toEndpointAttrs(found, {
815
+ serviceId,
816
+ privateNetworkId,
817
+ environmentId,
818
+ projectId: output?.projectId ?? projectIdOf(olds?.network),
819
+ });
820
+ }),
821
+
822
+ list: Effect.fn(function* () {
823
+ const projects = yield* ownedProjects();
824
+ const rows = yield* Effect.forEach(projects, (project) =>
825
+ Effect.gen(function* () {
826
+ const networks = yield* listNetworks(project.environmentId);
827
+ const owned = networks.filter((network) =>
828
+ matchesAlchemyPhysicalName(network.name),
829
+ );
830
+ const live = yield* railway
831
+ .project({ id: project.projectId })
832
+ .pipe(
833
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () =>
834
+ Effect.succeed(undefined),
835
+ ),
836
+ );
837
+ const services = (
838
+ live?.services.edges.map((edge) => edge.node) ?? []
839
+ ).filter((service) => service.deletedAt == null);
840
+ const nested = yield* Effect.forEach(owned, (network) =>
841
+ Effect.forEach(services, (service) =>
842
+ getEndpoint({
843
+ environmentId: project.environmentId,
844
+ privateNetworkId: network.publicId,
845
+ serviceId: service.id,
846
+ }).pipe(
847
+ Effect.map((endpoint) =>
848
+ endpoint === undefined
849
+ ? undefined
850
+ : toEndpointAttrs(endpoint, {
851
+ serviceId: service.id,
852
+ privateNetworkId: network.publicId,
853
+ environmentId: project.environmentId,
854
+ projectId: project.projectId,
855
+ }),
856
+ ),
857
+ ),
858
+ ).pipe(
859
+ Effect.map((items) =>
860
+ items.filter(
861
+ (item): item is PrivateNetworkEndpoint["Attributes"] =>
862
+ item !== undefined,
863
+ ),
864
+ ),
865
+ ),
866
+ );
867
+ return nested.flat();
868
+ }),
869
+ );
870
+ return rows.flat();
871
+ }),
872
+
873
+ reconcile: Effect.fn(function* ({ news, output }) {
874
+ const props = news ?? ({} as PrivateNetworkEndpointProps);
875
+ const serviceId = serviceIdOf(props.service) ?? output?.serviceId;
876
+ const privateNetworkId =
877
+ publicIdOf(props.network) ?? output?.privateNetworkId;
878
+ const environmentId =
879
+ environmentIdOf(props.network) ?? output?.environmentId;
880
+ const projectId = projectIdOf(props.network) ?? output?.projectId;
881
+ if (
882
+ serviceId === undefined ||
883
+ privateNetworkId === undefined ||
884
+ environmentId === undefined
885
+ ) {
886
+ return yield* new PrivateNetworkEndpointTargetMissing({
887
+ message:
888
+ "PrivateNetworkEndpoint requires a network (publicId + environmentId) and a service",
889
+ });
890
+ }
891
+
892
+ const serviceName = yield* resolveServiceName(
893
+ serviceId,
894
+ serviceNameOf(props.service),
895
+ );
896
+ const desiredPrefix =
897
+ props.name !== undefined
898
+ ? sanitizeRailwayName(props.name)
899
+ : sanitizeRailwayName(serviceName);
900
+
901
+ let current: CloudEndpoint | undefined = yield* getEndpoint({
902
+ environmentId,
903
+ privateNetworkId,
904
+ serviceId,
905
+ });
906
+
907
+ if (current === undefined) {
908
+ const created = yield* railway
909
+ .privateNetworkEndpointCreateOrGet({
910
+ input: {
911
+ environmentId,
912
+ privateNetworkId,
913
+ serviceId,
914
+ serviceName: desiredPrefix,
915
+ tags: [ALCHEMY_TAG],
916
+ },
917
+ })
918
+ .pipe(
919
+ Effect.map((endpoint) =>
920
+ isGoneEndpoint(endpoint) ? undefined : endpoint,
921
+ ),
922
+ );
923
+ current =
924
+ created ??
925
+ (yield* getEndpoint({
926
+ environmentId,
927
+ privateNetworkId,
928
+ serviceId,
929
+ }));
930
+ }
931
+
932
+ if (current === undefined || isGoneEndpoint(current)) {
933
+ return yield* new PrivateNetworkEndpointNotCreated({
934
+ privateNetworkId,
935
+ serviceId,
936
+ });
937
+ }
938
+
939
+ if (current != null && dnsPrefix(current.dnsName) !== desiredPrefix) {
940
+ const available = yield* railway.privateNetworkEndpointNameAvailable({
941
+ environmentId,
942
+ privateNetworkId,
943
+ prefix: desiredPrefix,
944
+ });
945
+ if (available) {
946
+ yield* railway.privateNetworkEndpointRename({
947
+ dnsName: desiredPrefix,
948
+ id: current.publicId,
949
+ privateNetworkId,
950
+ });
951
+ current =
952
+ (yield* waitUntilEndpointNamed({
953
+ environmentId,
954
+ privateNetworkId,
955
+ serviceId,
956
+ prefix: desiredPrefix,
957
+ })) ?? current;
958
+ }
959
+ }
960
+
961
+ return toEndpointAttrs(current, {
962
+ serviceId,
963
+ privateNetworkId,
964
+ environmentId,
965
+ projectId,
966
+ });
967
+ }),
968
+
969
+ delete: Effect.fn(function* ({ output }) {
970
+ const id = output.publicId;
971
+ if (id.length === 0) return;
972
+ yield* railway
973
+ .privateNetworkEndpointDelete({ id })
974
+ .pipe(
975
+ Effect.catchTag(["RailwayNotFound", "NotFound"], () => Effect.void),
976
+ );
977
+ if (
978
+ output.environmentId.length > 0 &&
979
+ output.privateNetworkId.length > 0 &&
980
+ output.serviceId.length > 0
981
+ ) {
982
+ yield* waitUntilEndpointGone({
983
+ environmentId: output.environmentId,
984
+ privateNetworkId: output.privateNetworkId,
985
+ serviceId: output.serviceId,
986
+ });
987
+ }
988
+ }),
989
+ });