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
@@ -1,7 +1,4 @@
1
- import {
2
- Credentials,
3
- formatHeaders,
4
- } from "@distilled.cloud/cloudflare/Credentials";
1
+ import { Credentials } from "@distilled.cloud/cloudflare/Credentials";
5
2
  import * as zones from "@distilled.cloud/cloudflare/zones";
6
3
  import * as Effect from "effect/Effect";
7
4
  import * as Stream from "effect/Stream";
@@ -52,50 +49,36 @@ type ZoneListItem = {
52
49
  account: { id?: string | null };
53
50
  };
54
51
 
55
- type ZoneListResponse = {
56
- success: boolean;
57
- errors?: { message?: string }[];
58
- result?: ZoneListItem[];
59
- };
60
-
61
52
  export const findZoneByName = ({
62
53
  accountId,
63
54
  name,
64
55
  }: {
65
56
  accountId: string;
66
57
  name: string;
67
- }): Effect.Effect<ZoneListItem | undefined, Error, Credentials> =>
58
+ }): Effect.Effect<
59
+ ZoneListItem | undefined,
60
+ zones.ListZonesError,
61
+ Credentials | HttpClient.HttpClient
62
+ > =>
68
63
  Effect.gen(function* () {
69
- const credentialsEffect = yield* Credentials;
70
- const credentials = yield* credentialsEffect;
71
- const url = new URL(`${credentials.apiBaseUrl}/zones`);
72
- url.searchParams.set("account.id", accountId);
73
- url.searchParams.set("name", name);
74
- url.searchParams.set("per_page", "1");
75
-
76
- const json = yield* Effect.tryPromise({
77
- try: async () => {
78
- const response = await fetch(url, {
79
- headers: formatHeaders(credentials),
80
- });
81
- return (await response.json()) as ZoneListResponse;
82
- },
83
- catch: (cause) => new Error(`Failed to list Cloudflare zones`, { cause }),
64
+ // Distilled `listZones` rides `Retry.makeDefault` (5xx / throttling).
65
+ // The previous raw `fetch` failed the first time Cloudflare answered
66
+ // `{ success: false, errors: [{ message: "unhandled server error" }] }`.
67
+ const page = yield* zones.listZones({
68
+ account: { id: accountId },
69
+ name,
70
+ perPage: 1,
84
71
  });
85
-
86
- if (!json.success) {
87
- return yield* Effect.fail(
88
- new Error(
89
- json.errors?.map((error) => error.message).join(", ") ??
90
- `Failed to list Cloudflare zones`,
91
- ),
92
- );
93
- }
94
-
95
- return json.result?.find(
72
+ const match = (page.result ?? []).find(
96
73
  (candidate) =>
97
74
  candidate.name === name && candidate.account.id === accountId,
98
75
  );
76
+ if (match === undefined) return undefined;
77
+ return {
78
+ id: match.id,
79
+ name: match.name,
80
+ account: { id: match.account.id },
81
+ };
99
82
  });
100
83
 
101
84
  /**
@@ -118,15 +118,21 @@ export const Build = Resource<Build>("Command.Build");
118
118
  /**
119
119
  * Resolves `Redacted` env values to their plain string so that a change in a
120
120
  * secret's value still busts the memo hash (the hash is one-way, so the secret
121
- * itself is never recoverable from state).
121
+ * itself is never recoverable from state). `undefined`-valued entries are
122
+ * dropped (they mean "unset").
122
123
  */
123
124
  const resolveEnv = (env: CommandRunProps["env"]) =>
124
125
  env
125
126
  ? Object.fromEntries(
126
- Object.entries(env).map(([key, value]) => [
127
- key,
128
- Redacted.isRedacted(value) ? Redacted.value(value) : value,
129
- ]),
127
+ Object.entries(env)
128
+ .filter(
129
+ (entry): entry is [string, string | Redacted.Redacted<string>] =>
130
+ entry[1] !== undefined,
131
+ )
132
+ .map(([key, value]) => [
133
+ key,
134
+ Redacted.isRedacted(value) ? Redacted.value(value) : value,
135
+ ]),
130
136
  )
131
137
  : undefined;
132
138
 
@@ -51,8 +51,11 @@ export interface CommandProps {
51
51
  shell?: string | boolean;
52
52
  /**
53
53
  * Extra environment variables passed to the command on top of `process.env`.
54
+ * Entries whose value is `undefined` are dropped — this lets website
55
+ * composites forward optional values (e.g. an `Output` service URL that
56
+ * resolves to `undefined`) without filtering first.
54
57
  */
55
- env?: Record<string, string | Redacted.Redacted<string>>;
58
+ env?: Record<string, string | Redacted.Redacted<string> | undefined>;
56
59
  }
57
60
 
58
61
  /**
@@ -315,10 +318,19 @@ export const CommandExecutorLive = () =>
315
318
  cwd: path.resolve(initialCwd, props.cwd ?? "."),
316
319
  shell: props.shell ?? false,
317
320
  env: Object.fromEntries(
318
- Object.entries(props.env ?? {}).map(([k, v]) => [
319
- k,
320
- Redacted.isRedacted(v) ? Redacted.value(v) : v,
321
- ]),
321
+ Object.entries(props.env ?? {})
322
+ .filter(
323
+ (
324
+ entry,
325
+ ): entry is [
326
+ string,
327
+ string | Redacted.Redacted<string>,
328
+ ] => entry[1] !== undefined,
329
+ )
330
+ .map(([k, v]) => [
331
+ k,
332
+ Redacted.isRedacted(v) ? Redacted.value(v) : v,
333
+ ]),
322
334
  ),
323
335
  extendEnv: true,
324
336
  stdin: isNonInteractive() ? "ignore" : "inherit",
@@ -0,0 +1,308 @@
1
+ /**
2
+ * INTERNAL — deterministic identity for a Docker build: context + Dockerfile
3
+ * + platform + build args, with Docker's own semantics (`.dockerignore`
4
+ * pattern matching, symlink targets, permission bits, empty directories).
5
+ * Cloud-agnostic — consumed by `AWS.ECR.Image` and `AWS.Lambda.Function`
6
+ * image packaging; NOT exported from the Docker barrel.
7
+ */
8
+
9
+ import * as Effect from "effect/Effect";
10
+ import * as FileSystem from "effect/FileSystem";
11
+ import * as Path from "effect/Path";
12
+ import * as Result from "effect/Result";
13
+ import * as Stream from "effect/Stream";
14
+ import * as crypto from "node:crypto";
15
+
16
+ export interface DockerBuildSource {
17
+ context: string;
18
+ dockerfile: string;
19
+ platform: string;
20
+ buildArgs?: Record<string, string>;
21
+ }
22
+
23
+ export type DockerBuildHashMode = "all" | "effective";
24
+
25
+ interface DockerIgnoreRule {
26
+ ignored: boolean;
27
+ expression: RegExp;
28
+ }
29
+
30
+ interface DockerIgnore {
31
+ content: string;
32
+ path?: string;
33
+ rules: ReadonlyArray<DockerIgnoreRule>;
34
+ }
35
+
36
+ const normalizeRelativePath = (value: string) =>
37
+ value.replaceAll("\\", "/").replace(/^\.\/+/, "");
38
+
39
+ const escapeRegExp = (value: string) =>
40
+ value.replace(/[|\\{}()[\]^$+?.]/g, "\\$&");
41
+
42
+ /**
43
+ * Compile Docker's ordered ignore-pattern form into a path matcher.
44
+ *
45
+ * Matching is rooted at the context. Descendants of a matched directory are
46
+ * handled by checking each path's parents in {@link isDockerIgnored}.
47
+ */
48
+ const compileDockerIgnoreRule = (raw: string): DockerIgnoreRule | undefined => {
49
+ if (raw.startsWith("#")) {
50
+ return undefined;
51
+ }
52
+
53
+ let pattern = raw.trim();
54
+ if (pattern.length === 0 || pattern === ".") {
55
+ return undefined;
56
+ }
57
+
58
+ let ignored = true;
59
+ if (pattern.startsWith("\\!") || pattern.startsWith("\\#")) {
60
+ pattern = pattern.slice(1);
61
+ } else if (pattern.startsWith("!")) {
62
+ ignored = false;
63
+ pattern = pattern.slice(1).trim();
64
+ }
65
+
66
+ pattern = pattern
67
+ .replace(/^\.\/+/, "")
68
+ .replace(/^\/+/, "")
69
+ .replace(/\/+$/, "");
70
+ if (pattern.length === 0 || pattern === ".") {
71
+ return undefined;
72
+ }
73
+
74
+ let body = "";
75
+ for (let index = 0; index < pattern.length; index++) {
76
+ const char = pattern[index];
77
+ if (char === "\\" && pattern[index + 1] !== undefined) {
78
+ body += escapeRegExp(pattern[++index]);
79
+ continue;
80
+ }
81
+ if (char === "*") {
82
+ if (pattern[index + 1] === "*") {
83
+ while (pattern[index + 1] === "*") {
84
+ index++;
85
+ }
86
+ if (pattern[index + 1] === "/") {
87
+ index++;
88
+ body += "(?:.*/)?";
89
+ } else {
90
+ body += ".*";
91
+ }
92
+ } else {
93
+ body += "[^/]*";
94
+ }
95
+ continue;
96
+ }
97
+ if (char === "?") {
98
+ body += "[^/]";
99
+ continue;
100
+ }
101
+ if (char === "[") {
102
+ const end = pattern.indexOf("]", index + 1);
103
+ if (end !== -1) {
104
+ const content = pattern.slice(index + 1, end);
105
+ const negated = content.startsWith("!") || content.startsWith("^");
106
+ const members = negated ? content.slice(1) : content;
107
+ body += `[${negated ? "^" : ""}${members.replaceAll("\\", "\\\\")}]`;
108
+ index = end;
109
+ continue;
110
+ }
111
+ }
112
+ body += escapeRegExp(char);
113
+ }
114
+
115
+ return {
116
+ ignored,
117
+ expression: new RegExp(`^${body}$`),
118
+ };
119
+ };
120
+
121
+ const isDockerIgnored = (
122
+ relativePath: string,
123
+ rules: ReadonlyArray<DockerIgnoreRule>,
124
+ ) => {
125
+ const segments = normalizeRelativePath(relativePath).split("/");
126
+ const candidates = segments.map((_, index) =>
127
+ segments.slice(0, index + 1).join("/"),
128
+ );
129
+ let ignored = false;
130
+ for (const rule of rules) {
131
+ if (candidates.some((candidate) => rule.expression.test(candidate))) {
132
+ ignored = rule.ignored;
133
+ }
134
+ }
135
+ return ignored;
136
+ };
137
+
138
+ /**
139
+ * Resolve and validate a Docker build context and Dockerfile.
140
+ *
141
+ * Dockerfile paths are relative to the build context unless absolute.
142
+ */
143
+ export const resolveDockerBuildPaths = Effect.fn(function* (
144
+ source: Pick<DockerBuildSource, "context" | "dockerfile">,
145
+ ) {
146
+ const fs = yield* FileSystem.FileSystem;
147
+ const path = yield* Path.Path;
148
+ const context = path.resolve(source.context);
149
+ const dockerfile = path.isAbsolute(source.dockerfile)
150
+ ? source.dockerfile
151
+ : path.resolve(context, source.dockerfile);
152
+
153
+ if (!(yield* fs.exists(context))) {
154
+ return yield* Effect.fail(
155
+ new Error(`Docker build context does not exist: ${context}`),
156
+ );
157
+ }
158
+ if (!(yield* fs.exists(dockerfile))) {
159
+ return yield* Effect.fail(
160
+ new Error(`Dockerfile does not exist: ${dockerfile}`),
161
+ );
162
+ }
163
+
164
+ return { context, dockerfile };
165
+ });
166
+
167
+ const resolveDockerIgnore = Effect.fn(function* ({
168
+ context,
169
+ dockerfile,
170
+ }: {
171
+ context: string;
172
+ dockerfile: string;
173
+ }) {
174
+ const fs = yield* FileSystem.FileSystem;
175
+ const path = yield* Path.Path;
176
+ const dockerfileIgnore = `${dockerfile}.dockerignore`;
177
+ const contextIgnore = path.join(context, ".dockerignore");
178
+ const ignoreFile = (yield* fs.exists(dockerfileIgnore))
179
+ ? dockerfileIgnore
180
+ : (yield* fs.exists(contextIgnore))
181
+ ? contextIgnore
182
+ : undefined;
183
+
184
+ if (ignoreFile === undefined) {
185
+ return undefined;
186
+ }
187
+
188
+ const content = yield* fs.readFileString(ignoreFile);
189
+ const relativePath = normalizeRelativePath(
190
+ path.relative(context, ignoreFile),
191
+ );
192
+ return {
193
+ content,
194
+ path:
195
+ relativePath === ".." ||
196
+ relativePath.startsWith("../") ||
197
+ path.isAbsolute(relativePath)
198
+ ? undefined
199
+ : relativePath,
200
+ rules: content.split(/\r?\n/).flatMap((line) => {
201
+ const rule = compileDockerIgnoreRule(line);
202
+ return rule === undefined ? [] : [rule];
203
+ }),
204
+ } satisfies DockerIgnore;
205
+ });
206
+
207
+ /**
208
+ * Hash a Docker build context together with the Dockerfile, platform, and
209
+ * build arguments. In `effective` mode, the selected `.dockerignore` is
210
+ * applied exactly once before files are hashed. Absolute paths do not
211
+ * participate.
212
+ */
213
+ export const hashDockerBuildInputs = Effect.fn(function* (
214
+ source: DockerBuildSource,
215
+ mode: DockerBuildHashMode,
216
+ ) {
217
+ const fs = yield* FileSystem.FileSystem;
218
+ const path = yield* Path.Path;
219
+ const { context, dockerfile } = yield* resolveDockerBuildPaths(source);
220
+ const dockerignore =
221
+ mode === "effective"
222
+ ? yield* resolveDockerIgnore({ context, dockerfile })
223
+ : undefined;
224
+ const hasher = yield* Effect.sync(() => crypto.createHash("sha256"));
225
+
226
+ yield* Effect.sync(() =>
227
+ hasher.update(
228
+ JSON.stringify({
229
+ platform: source.platform,
230
+ buildArgs: Object.entries(source.buildArgs ?? {}).sort(([a], [b]) =>
231
+ a < b ? -1 : a > b ? 1 : 0,
232
+ ),
233
+ dockerignore:
234
+ dockerignore === undefined
235
+ ? undefined
236
+ : {
237
+ content: dockerignore.content,
238
+ path: dockerignore.path,
239
+ },
240
+ }),
241
+ ),
242
+ );
243
+
244
+ const dockerfileContent = yield* fs.readFile(dockerfile);
245
+ yield* Effect.sync(() => {
246
+ hasher.update("Dockerfile\0");
247
+ hasher.update(dockerfileContent);
248
+ });
249
+
250
+ const entries = yield* fs.readDirectory(context, { recursive: true });
251
+ for (const entry of entries.sort()) {
252
+ const normalizedEntry = normalizeRelativePath(entry);
253
+ if (
254
+ dockerignore !== undefined &&
255
+ (normalizedEntry === dockerignore.path ||
256
+ isDockerIgnored(normalizedEntry, dockerignore.rules))
257
+ ) {
258
+ continue;
259
+ }
260
+
261
+ const fullPath = path.join(context, entry);
262
+ const hashedEntry = mode === "effective" ? normalizedEntry : entry;
263
+ // FileSystem.stat follows symbolic links, so probe the link itself first.
264
+ // Docker preserves the link in the build context; hashing the target file
265
+ // would miss retargets between files with identical contents and metadata.
266
+ const link = yield* Effect.result(fs.readLink(fullPath));
267
+ if (Result.isSuccess(link)) {
268
+ yield* Effect.sync(() =>
269
+ hasher.update(
270
+ `${JSON.stringify({
271
+ path: hashedEntry,
272
+ type: "SymbolicLink",
273
+ target: link.success,
274
+ })}\0`,
275
+ ),
276
+ );
277
+ continue;
278
+ }
279
+
280
+ const info = yield* fs.stat(fullPath);
281
+
282
+ // Docker COPY preserves entry types and permission bits, including empty
283
+ // directories. Include that metadata before any file bytes so changes such
284
+ // as making a Lambda bootstrap executable invalidate the image tag.
285
+ yield* Effect.sync(() =>
286
+ hasher.update(
287
+ `${JSON.stringify({
288
+ path: hashedEntry,
289
+ type: info.type,
290
+ mode: info.mode & 0o7777,
291
+ size: info.type === "File" ? String(info.size) : undefined,
292
+ })}\0`,
293
+ ),
294
+ );
295
+
296
+ if (info.type === "File") {
297
+ yield* fs.stream(fullPath).pipe(
298
+ Stream.runForEach((chunk) =>
299
+ Effect.sync(() => {
300
+ hasher.update(chunk);
301
+ }),
302
+ ),
303
+ );
304
+ }
305
+ }
306
+
307
+ return (yield* Effect.sync(() => hasher.digest("hex"))).slice(0, 32);
308
+ });
@@ -45,6 +45,18 @@ export interface ContainerProps {
45
45
  stopTimeout?: Duration.Input;
46
46
  /** Networks to connect after create. */
47
47
  networks?: Container.NetworkMapping[];
48
+ /**
49
+ * Extra `/etc/hosts` entries, each `hostname:address`. Docker's
50
+ * `host-gateway` alias resolves to the host machine, so
51
+ * `"host.docker.internal:host-gateway"` reaches services listening on the
52
+ * developer's machine from inside the container.
53
+ *
54
+ * On Linux `host-gateway` is the bridge gateway address, so those packets
55
+ * traverse the host's `INPUT` chain — under a default-deny firewall the
56
+ * name resolves and the connection then times out. See the Host Access
57
+ * examples.
58
+ */
59
+ extraHosts?: string[];
48
60
  /** Remove the container when it exits. @default false */
49
61
  removeOnExit?: boolean;
50
62
  /** Start the container after creation/reconciliation. @default false */
@@ -174,6 +186,55 @@ export interface Container extends Resource<
174
186
  * const runtime = yield* Docker.inspectContainer(postgresName);
175
187
  * ```
176
188
  *
189
+ * ### Host Access
190
+ * `extraHosts` writes lines into the container's `/etc/hosts`; it changes name
191
+ * resolution and nothing else. Docker's `host-gateway` alias resolves to the
192
+ * host machine, which is how a container reaches a service on the developer's
193
+ * loopback.
194
+ *
195
+ * On Linux `host-gateway` is the Docker bridge gateway (typically
196
+ * `172.17.0.1`), so a container's packets to it arrive on the host's `INPUT`
197
+ * chain. Under a default-deny firewall — ufw ships
198
+ * `DEFAULT_INPUT_POLICY="DROP"` — the hostname resolves correctly and the
199
+ * connection then times out, which reads like an application bug rather than a
200
+ * firewall one. Allow the bridge subnet to fix it:
201
+ * `sudo ufw allow from 172.16.0.0/12`.
202
+ *
203
+ * **Example:** Reach a service on the developer's machine
204
+ * ```typescript
205
+ * const api = yield* Docker.Container("api", {
206
+ * image: "ghcr.io/acme/api:latest",
207
+ * // `host-gateway` resolves to the host machine, so a database listening
208
+ * // on the developer's loopback is reachable from inside the container.
209
+ * extraHosts: ["host.docker.internal:host-gateway"],
210
+ * environment: {
211
+ * DATABASE_URL: "postgres://postgres@host.docker.internal:5432/app",
212
+ * },
213
+ * start: true,
214
+ * });
215
+ * ```
216
+ *
217
+ * **Example:** Pin a hostname to a fixed address
218
+ * ```typescript
219
+ * const api = yield* Docker.Container("api", {
220
+ * image: "ghcr.io/acme/api:latest",
221
+ * // Any `hostname:address` pair — host access is just the common case.
222
+ * extraHosts: ["payments.internal:10.1.2.3"],
223
+ * start: true,
224
+ * });
225
+ * ```
226
+ *
227
+ * **Example:** Publish on any free host port
228
+ * ```typescript
229
+ * const api = yield* Docker.Container("api", {
230
+ * image: "ghcr.io/acme/api:latest",
231
+ * // `external: 0` lets Docker choose; the assigned port is reported back.
232
+ * ports: [{ external: 0, internal: 3000 }],
233
+ * start: true,
234
+ * });
235
+ * const hostPort = api.ports["3000/tcp"];
236
+ * ```
237
+ *
177
238
  * ### Traefik
178
239
  * **Example:** Route a container through Traefik
179
240
  * ```typescript
@@ -235,11 +296,11 @@ export const ContainerProvider = () =>
235
296
  const reconcileNetworks = Effect.fn(function* (
236
297
  live: Docker.Container,
237
298
  news: ContainerProps,
299
+ olds: ContainerProps | undefined,
238
300
  ) {
239
301
  const context = dockerContextName(news.context);
240
302
  const connect = new Map<string, Container.NetworkMapping>();
241
303
  const disconnect = new Set<string>();
242
- const noop = new Set<string>();
243
304
  for (const network of news.networks ?? []) {
244
305
  const entry = live.NetworkSettings.Networks?.[network.name];
245
306
  if (!entry) {
@@ -249,13 +310,20 @@ export const ContainerProvider = () =>
249
310
  ) {
250
311
  connect.set(network.name, network);
251
312
  disconnect.add(network.name);
252
- } else {
253
- noop.add(network.name);
254
313
  }
255
314
  }
256
- for (const key of Object.keys(live.NetworkSettings.Networks ?? {})) {
257
- if (!noop.has(key)) {
258
- disconnect.add(key);
315
+ // Only networks alchemy itself attached are alchemy's to detach, and
316
+ // `olds.networks` is the sole record of which those are — the live
317
+ // container cannot say who connected a network. Sweeping every live
318
+ // network instead tore off the default `bridge` and anything a user,
319
+ // compose file, or another tool had attached out of band (#1386).
320
+ const desired = new Set((news.networks ?? []).map((n) => n.name));
321
+ for (const network of olds?.networks ?? []) {
322
+ if (
323
+ !desired.has(network.name) &&
324
+ live.NetworkSettings.Networks?.[network.name]
325
+ ) {
326
+ disconnect.add(network.name);
259
327
  }
260
328
  }
261
329
  yield* Effect.forEach(
@@ -333,7 +401,7 @@ export const ContainerProvider = () =>
333
401
  return { action: "update" as const };
334
402
  }
335
403
  }),
336
- reconcile: Effect.fn(function* ({ id, instanceId, news }) {
404
+ reconcile: Effect.fn(function* ({ id, instanceId, news, olds }) {
337
405
  const context = dockerContextName(news.context);
338
406
  const args = yield* makeCreateArgs(id, news, instanceId);
339
407
  const live = yield* docker.container
@@ -347,7 +415,7 @@ export const ContainerProvider = () =>
347
415
  );
348
416
 
349
417
  if (live) {
350
- yield* reconcileNetworks(live, news);
418
+ yield* reconcileNetworks(live, news, olds);
351
419
  if (news.start && live.State.Status !== "running") {
352
420
  yield* docker.container.start(live.Id, context);
353
421
  } else if (!news.start && live.State.Status === "running") {
@@ -419,10 +487,17 @@ const makeCreateArgs = (id: string, news: ContainerProps, instanceId: string) =>
419
487
  volume: news.volumes?.map(
420
488
  (v) => `${v.hostPath}:${v.containerPath}${v.readOnly ? ":ro" : ""}`,
421
489
  ),
422
- p: news.ports?.map(
423
- (port) =>
424
- `${port.external}:${port.internal}/${port.protocol ?? "tcp"}`,
425
- ),
490
+ p: news.ports?.map((port) => {
491
+ const target = `${port.internal}/${port.protocol ?? "tcp"}`;
492
+ // `external: 0` means "any free host port". Docker spells that as a
493
+ // bare container port (`-p 80/tcp`); `-p 0:80/tcp` instead asks for
494
+ // host port 0 literally, which the daemon accepts and then reports
495
+ // back as 0.
496
+ return isRandomHostPort(port.external)
497
+ ? target
498
+ : `${port.external}:${target}`;
499
+ }),
500
+ "add-host": news.extraHosts,
426
501
  restart: news.restart ?? "no",
427
502
  label: news.labels,
428
503
  "stop-timeout": toSeconds(news.stopTimeout)?.toString(),
@@ -463,17 +538,51 @@ const toContainerAttributes = (
463
538
  status: info.State.Status,
464
539
  createdAt: Date.parse(info.Created) || Date.now(),
465
540
  imageRef,
466
- ports: Object.fromEntries(
467
- Object.entries({
468
- ...info.NetworkSettings.Ports,
469
- ...info.HostConfig.PortBindings,
470
- }).flatMap(([internal, bindings]) => {
471
- if (!bindings?.[0]?.HostPort) return [];
472
- return [[internal, Number.parseInt(bindings[0].HostPort, 10)]];
473
- }),
474
- ),
541
+ ports: toPortAttributes(info),
475
542
  });
476
543
 
544
+ /** First binding that carries a real (non-zero) host port. */
545
+ const boundHostPort = (
546
+ bindings: ReadonlyArray<{ HostPort?: string }> | null | undefined,
547
+ ): number | undefined => {
548
+ for (const binding of bindings ?? []) {
549
+ if (!binding.HostPort) continue;
550
+ const port = Number.parseInt(binding.HostPort, 10);
551
+ if (Number.isInteger(port) && port > 0) return port;
552
+ }
553
+ return undefined;
554
+ };
555
+
556
+ /**
557
+ * `HostConfig.PortBindings` is what was *requested*, `NetworkSettings.Ports`
558
+ * what Docker actually *assigned* — so the assignment wins wherever both
559
+ * exist. A container published with `external: 0` (or any random-publish
560
+ * mapping) has no requested host port at all, and reading the request over
561
+ * the assignment reported 0 instead of the port the container is reachable
562
+ * on. The request is still the fallback: a created-but-not-yet-started
563
+ * container has empty `NetworkSettings.Ports`.
564
+ */
565
+ const toPortAttributes = (info: Docker.Container): Record<string, number> => {
566
+ const ports: Record<string, number> = {};
567
+ for (const [internal, bindings] of Object.entries(
568
+ info.HostConfig.PortBindings ?? {},
569
+ )) {
570
+ const port = boundHostPort(bindings);
571
+ if (port !== undefined) ports[internal] = port;
572
+ }
573
+ for (const [internal, bindings] of Object.entries(
574
+ info.NetworkSettings.Ports ?? {},
575
+ )) {
576
+ const port = boundHostPort(bindings);
577
+ if (port !== undefined) ports[internal] = port;
578
+ }
579
+ return ports;
580
+ };
581
+
582
+ /** `external: 0` / `"0"` asks Docker to pick any free host port. */
583
+ const isRandomHostPort = (external: number | string): boolean =>
584
+ Number.parseInt(String(external), 10) === 0;
585
+
477
586
  const normalizeEnvironment = (
478
587
  environment: Record<string, string | Redacted.Redacted<string>> | undefined,
479
588
  ): Record<string, string> =>
@@ -51,6 +51,8 @@ export class Docker extends Context.Service<
51
51
  "health-start-interval": string | undefined;
52
52
  "stop-timeout": string | undefined;
53
53
  p: Array<string> | undefined;
54
+ /** `--add-host` entries, each `hostname:address`. */
55
+ "add-host"?: Array<string> | undefined;
54
56
  command: Array<string> | undefined;
55
57
  label?: Record<string, string>;
56
58
  context?: string;
@@ -397,6 +399,7 @@ export declare namespace Docker {
397
399
  Array<{ HostIp: string; HostPort: string }> | null
398
400
  > | null;
399
401
  Binds: string[] | null;
402
+ ExtraHosts: string[] | null;
400
403
  RestartPolicy: {
401
404
  Name: string;
402
405
  MaximumRetryCount: number;