@alchemy.run/fly 0.0.0 → 2.0.0-beta.85

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 (499) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +57 -4
  3. package/lib/App.d.ts +230 -0
  4. package/lib/App.d.ts.map +1 -0
  5. package/lib/App.js +338 -0
  6. package/lib/App.js.map +1 -0
  7. package/lib/AuthProvider.d.ts +22 -0
  8. package/lib/AuthProvider.d.ts.map +1 -0
  9. package/lib/AuthProvider.js +48 -0
  10. package/lib/AuthProvider.js.map +1 -0
  11. package/lib/BindService.d.ts +159 -0
  12. package/lib/BindService.d.ts.map +1 -0
  13. package/lib/BindService.js +222 -0
  14. package/lib/BindService.js.map +1 -0
  15. package/lib/Bootstrap.d.ts +8 -0
  16. package/lib/Bootstrap.d.ts.map +1 -0
  17. package/lib/Bootstrap.js +41 -0
  18. package/lib/Bootstrap.js.map +1 -0
  19. package/lib/Bucket.d.ts +278 -0
  20. package/lib/Bucket.d.ts.map +1 -0
  21. package/lib/Bucket.js +658 -0
  22. package/lib/Bucket.js.map +1 -0
  23. package/lib/BucketBinding.d.ts +33 -0
  24. package/lib/BucketBinding.d.ts.map +1 -0
  25. package/lib/BucketBinding.js +70 -0
  26. package/lib/BucketBinding.js.map +1 -0
  27. package/lib/Catalog.d.ts +28 -0
  28. package/lib/Catalog.d.ts.map +1 -0
  29. package/lib/Catalog.js +31 -0
  30. package/lib/Catalog.js.map +1 -0
  31. package/lib/Certificate.d.ts +189 -0
  32. package/lib/Certificate.d.ts.map +1 -0
  33. package/lib/Certificate.js +380 -0
  34. package/lib/Certificate.js.map +1 -0
  35. package/lib/Checkpoint.d.ts +55 -0
  36. package/lib/Checkpoint.d.ts.map +1 -0
  37. package/lib/Checkpoint.js +3 -0
  38. package/lib/Checkpoint.js.map +1 -0
  39. package/lib/CheckpointHttp.d.ts +22 -0
  40. package/lib/CheckpointHttp.d.ts.map +1 -0
  41. package/lib/CheckpointHttp.js +53 -0
  42. package/lib/CheckpointHttp.js.map +1 -0
  43. package/lib/ConnectPostgres.d.ts +58 -0
  44. package/lib/ConnectPostgres.d.ts.map +1 -0
  45. package/lib/ConnectPostgres.js +13 -0
  46. package/lib/ConnectPostgres.js.map +1 -0
  47. package/lib/ConnectPostgresHttp.d.ts +26 -0
  48. package/lib/ConnectPostgresHttp.d.ts.map +1 -0
  49. package/lib/ConnectPostgresHttp.js +57 -0
  50. package/lib/ConnectPostgresHttp.js.map +1 -0
  51. package/lib/Contributions.d.ts +7 -0
  52. package/lib/Contributions.d.ts.map +1 -0
  53. package/lib/Contributions.js +6 -0
  54. package/lib/Contributions.js.map +1 -0
  55. package/lib/Credentials.d.ts +33 -0
  56. package/lib/Credentials.d.ts.map +1 -0
  57. package/lib/Credentials.js +55 -0
  58. package/lib/Credentials.js.map +1 -0
  59. package/lib/Decrypt.d.ts +52 -0
  60. package/lib/Decrypt.d.ts.map +1 -0
  61. package/lib/Decrypt.js +3 -0
  62. package/lib/Decrypt.js.map +1 -0
  63. package/lib/DecryptHttp.d.ts +22 -0
  64. package/lib/DecryptHttp.d.ts.map +1 -0
  65. package/lib/DecryptHttp.js +43 -0
  66. package/lib/DecryptHttp.js.map +1 -0
  67. package/lib/DeleteObject.d.ts +29 -0
  68. package/lib/DeleteObject.d.ts.map +1 -0
  69. package/lib/DeleteObject.js +3 -0
  70. package/lib/DeleteObject.js.map +1 -0
  71. package/lib/DeleteObjectHttp.d.ts +12 -0
  72. package/lib/DeleteObjectHttp.d.ts.map +1 -0
  73. package/lib/DeleteObjectHttp.js +17 -0
  74. package/lib/DeleteObjectHttp.js.map +1 -0
  75. package/lib/Deployment.d.ts +51 -0
  76. package/lib/Deployment.d.ts.map +1 -0
  77. package/lib/Deployment.js +62 -0
  78. package/lib/Deployment.js.map +1 -0
  79. package/lib/DeploymentImages.d.ts +18 -0
  80. package/lib/DeploymentImages.d.ts.map +1 -0
  81. package/lib/DeploymentImages.js +61 -0
  82. package/lib/DeploymentImages.js.map +1 -0
  83. package/lib/DeploymentState.d.ts +17 -0
  84. package/lib/DeploymentState.d.ts.map +1 -0
  85. package/lib/DeploymentState.js +87 -0
  86. package/lib/DeploymentState.js.map +1 -0
  87. package/lib/Encrypt.d.ts +50 -0
  88. package/lib/Encrypt.d.ts.map +1 -0
  89. package/lib/Encrypt.js +3 -0
  90. package/lib/Encrypt.js.map +1 -0
  91. package/lib/EncryptHttp.d.ts +22 -0
  92. package/lib/EncryptHttp.d.ts.map +1 -0
  93. package/lib/EncryptHttp.js +39 -0
  94. package/lib/EncryptHttp.js.map +1 -0
  95. package/lib/Environment.d.ts +45 -0
  96. package/lib/Environment.d.ts.map +1 -0
  97. package/lib/Environment.js +43 -0
  98. package/lib/Environment.js.map +1 -0
  99. package/lib/Errors.d.ts +18 -0
  100. package/lib/Errors.d.ts.map +1 -0
  101. package/lib/Errors.js +13 -0
  102. package/lib/Errors.js.map +1 -0
  103. package/lib/Exec.d.ts +41 -0
  104. package/lib/Exec.d.ts.map +1 -0
  105. package/lib/Exec.js +3 -0
  106. package/lib/Exec.js.map +1 -0
  107. package/lib/ExecHttp.d.ts +22 -0
  108. package/lib/ExecHttp.d.ts.map +1 -0
  109. package/lib/ExecHttp.js +39 -0
  110. package/lib/ExecHttp.js.map +1 -0
  111. package/lib/GetObject.d.ts +34 -0
  112. package/lib/GetObject.d.ts.map +1 -0
  113. package/lib/GetObject.js +3 -0
  114. package/lib/GetObject.js.map +1 -0
  115. package/lib/GetObjectHttp.d.ts +12 -0
  116. package/lib/GetObjectHttp.d.ts.map +1 -0
  117. package/lib/GetObjectHttp.js +17 -0
  118. package/lib/GetObjectHttp.js.map +1 -0
  119. package/lib/GetSecret.d.ts +44 -0
  120. package/lib/GetSecret.d.ts.map +1 -0
  121. package/lib/GetSecret.js +3 -0
  122. package/lib/GetSecret.js.map +1 -0
  123. package/lib/GetSecretHttp.d.ts +22 -0
  124. package/lib/GetSecretHttp.d.ts.map +1 -0
  125. package/lib/GetSecretHttp.js +50 -0
  126. package/lib/GetSecretHttp.js.map +1 -0
  127. package/lib/HeadObject.d.ts +29 -0
  128. package/lib/HeadObject.d.ts.map +1 -0
  129. package/lib/HeadObject.js +3 -0
  130. package/lib/HeadObject.js.map +1 -0
  131. package/lib/HeadObjectHttp.d.ts +12 -0
  132. package/lib/HeadObjectHttp.d.ts.map +1 -0
  133. package/lib/HeadObjectHttp.js +17 -0
  134. package/lib/HeadObjectHttp.js.map +1 -0
  135. package/lib/IpAssignment.d.ts +258 -0
  136. package/lib/IpAssignment.d.ts.map +1 -0
  137. package/lib/IpAssignment.js +376 -0
  138. package/lib/IpAssignment.js.map +1 -0
  139. package/lib/ListObjectsV2.d.ts +29 -0
  140. package/lib/ListObjectsV2.d.ts.map +1 -0
  141. package/lib/ListObjectsV2.js +3 -0
  142. package/lib/ListObjectsV2.js.map +1 -0
  143. package/lib/ListObjectsV2Http.d.ts +12 -0
  144. package/lib/ListObjectsV2Http.d.ts.map +1 -0
  145. package/lib/ListObjectsV2Http.js +17 -0
  146. package/lib/ListObjectsV2Http.js.map +1 -0
  147. package/lib/ListSecrets.d.ts +53 -0
  148. package/lib/ListSecrets.d.ts.map +1 -0
  149. package/lib/ListSecrets.js +3 -0
  150. package/lib/ListSecrets.js.map +1 -0
  151. package/lib/ListSecretsHttp.d.ts +22 -0
  152. package/lib/ListSecretsHttp.d.ts.map +1 -0
  153. package/lib/ListSecretsHttp.js +35 -0
  154. package/lib/ListSecretsHttp.js.map +1 -0
  155. package/lib/Machine.d.ts +802 -0
  156. package/lib/Machine.d.ts.map +1 -0
  157. package/lib/Machine.js +773 -0
  158. package/lib/Machine.js.map +1 -0
  159. package/lib/MachineContainers.d.ts +44 -0
  160. package/lib/MachineContainers.d.ts.map +1 -0
  161. package/lib/MachineContainers.js +115 -0
  162. package/lib/MachineContainers.js.map +1 -0
  163. package/lib/Metadata.d.ts +109 -0
  164. package/lib/Metadata.d.ts.map +1 -0
  165. package/lib/Metadata.js +159 -0
  166. package/lib/Metadata.js.map +1 -0
  167. package/lib/MountVolume.d.ts +295 -0
  168. package/lib/MountVolume.d.ts.map +1 -0
  169. package/lib/MountVolume.js +20 -0
  170. package/lib/MountVolume.js.map +1 -0
  171. package/lib/Postgres.d.ts +298 -0
  172. package/lib/Postgres.d.ts.map +1 -0
  173. package/lib/Postgres.js +508 -0
  174. package/lib/Postgres.js.map +1 -0
  175. package/lib/PostgresMigrations.d.ts +20 -0
  176. package/lib/PostgresMigrations.d.ts.map +1 -0
  177. package/lib/PostgresMigrations.js +58 -0
  178. package/lib/PostgresMigrations.js.map +1 -0
  179. package/lib/Providers.d.ts +38 -0
  180. package/lib/Providers.d.ts.map +1 -0
  181. package/lib/Providers.js +95 -0
  182. package/lib/Providers.js.map +1 -0
  183. package/lib/PutObject.d.ts +35 -0
  184. package/lib/PutObject.d.ts.map +1 -0
  185. package/lib/PutObject.js +3 -0
  186. package/lib/PutObject.js.map +1 -0
  187. package/lib/PutObjectHttp.d.ts +12 -0
  188. package/lib/PutObjectHttp.d.ts.map +1 -0
  189. package/lib/PutObjectHttp.js +17 -0
  190. package/lib/PutObjectHttp.js.map +1 -0
  191. package/lib/ReadRedis.d.ts +26 -0
  192. package/lib/ReadRedis.d.ts.map +1 -0
  193. package/lib/ReadRedis.js +3 -0
  194. package/lib/ReadRedis.js.map +1 -0
  195. package/lib/ReadRedisHttp.d.ts +11 -0
  196. package/lib/ReadRedisHttp.d.ts.map +1 -0
  197. package/lib/ReadRedisHttp.js +15 -0
  198. package/lib/ReadRedisHttp.js.map +1 -0
  199. package/lib/ReadWriteRedis.d.ts +29 -0
  200. package/lib/ReadWriteRedis.d.ts.map +1 -0
  201. package/lib/ReadWriteRedis.js +3 -0
  202. package/lib/ReadWriteRedis.js.map +1 -0
  203. package/lib/ReadWriteRedisHttp.d.ts +11 -0
  204. package/lib/ReadWriteRedisHttp.d.ts.map +1 -0
  205. package/lib/ReadWriteRedisHttp.js +15 -0
  206. package/lib/ReadWriteRedisHttp.js.map +1 -0
  207. package/lib/Redis.d.ts +252 -0
  208. package/lib/Redis.d.ts.map +1 -0
  209. package/lib/Redis.js +611 -0
  210. package/lib/Redis.js.map +1 -0
  211. package/lib/RedisBinding.d.ts +7 -0
  212. package/lib/RedisBinding.d.ts.map +1 -0
  213. package/lib/RedisBinding.js +53 -0
  214. package/lib/RedisBinding.js.map +1 -0
  215. package/lib/RedisHttp.d.ts +8 -0
  216. package/lib/RedisHttp.d.ts.map +1 -0
  217. package/lib/RedisHttp.js +11 -0
  218. package/lib/RedisHttp.js.map +1 -0
  219. package/lib/Region.d.ts +16 -0
  220. package/lib/Region.d.ts.map +1 -0
  221. package/lib/Region.js +13 -0
  222. package/lib/Region.js.map +1 -0
  223. package/lib/Secret.d.ts +190 -0
  224. package/lib/Secret.d.ts.map +1 -0
  225. package/lib/Secret.js +310 -0
  226. package/lib/Secret.js.map +1 -0
  227. package/lib/SecretHttp.d.ts +54 -0
  228. package/lib/SecretHttp.d.ts.map +1 -0
  229. package/lib/SecretHttp.js +66 -0
  230. package/lib/SecretHttp.js.map +1 -0
  231. package/lib/SecretKey.d.ts +164 -0
  232. package/lib/SecretKey.d.ts.map +1 -0
  233. package/lib/SecretKey.js +277 -0
  234. package/lib/SecretKey.js.map +1 -0
  235. package/lib/SecretKeyHttp.d.ts +14 -0
  236. package/lib/SecretKeyHttp.d.ts.map +1 -0
  237. package/lib/SecretKeyHttp.js +5 -0
  238. package/lib/SecretKeyHttp.js.map +1 -0
  239. package/lib/Service.d.ts +1017 -0
  240. package/lib/Service.d.ts.map +1 -0
  241. package/lib/Service.js +1430 -0
  242. package/lib/Service.js.map +1 -0
  243. package/lib/Sign.d.ts +36 -0
  244. package/lib/Sign.d.ts.map +1 -0
  245. package/lib/Sign.js +3 -0
  246. package/lib/Sign.js.map +1 -0
  247. package/lib/SignHttp.d.ts +22 -0
  248. package/lib/SignHttp.d.ts.map +1 -0
  249. package/lib/SignHttp.js +36 -0
  250. package/lib/SignHttp.js.map +1 -0
  251. package/lib/Sprite.d.ts +283 -0
  252. package/lib/Sprite.d.ts.map +1 -0
  253. package/lib/Sprite.js +471 -0
  254. package/lib/Sprite.js.map +1 -0
  255. package/lib/SpriteHttp.d.ts +25 -0
  256. package/lib/SpriteHttp.d.ts.map +1 -0
  257. package/lib/SpriteHttp.js +33 -0
  258. package/lib/SpriteHttp.js.map +1 -0
  259. package/lib/Verify.d.ts +37 -0
  260. package/lib/Verify.d.ts.map +1 -0
  261. package/lib/Verify.js +3 -0
  262. package/lib/Verify.js.map +1 -0
  263. package/lib/VerifyHttp.d.ts +22 -0
  264. package/lib/VerifyHttp.d.ts.map +1 -0
  265. package/lib/VerifyHttp.js +38 -0
  266. package/lib/VerifyHttp.js.map +1 -0
  267. package/lib/Volume.d.ts +53 -0
  268. package/lib/Volume.d.ts.map +1 -0
  269. package/lib/Volume.js +188 -0
  270. package/lib/Volume.js.map +1 -0
  271. package/lib/VolumeSnapshot.d.ts +135 -0
  272. package/lib/VolumeSnapshot.d.ts.map +1 -0
  273. package/lib/VolumeSnapshot.js +213 -0
  274. package/lib/VolumeSnapshot.js.map +1 -0
  275. package/lib/Website/AssetDeployment.d.ts +43 -0
  276. package/lib/Website/AssetDeployment.d.ts.map +1 -0
  277. package/lib/Website/AssetDeployment.js +162 -0
  278. package/lib/Website/AssetDeployment.js.map +1 -0
  279. package/lib/Website/Astro.d.ts +89 -0
  280. package/lib/Website/Astro.d.ts.map +1 -0
  281. package/lib/Website/Astro.js +54 -0
  282. package/lib/Website/Astro.js.map +1 -0
  283. package/lib/Website/Foldkit.d.ts +52 -0
  284. package/lib/Website/Foldkit.d.ts.map +1 -0
  285. package/lib/Website/Foldkit.js +45 -0
  286. package/lib/Website/Foldkit.js.map +1 -0
  287. package/lib/Website/FrameworkSite.d.ts +212 -0
  288. package/lib/Website/FrameworkSite.d.ts.map +1 -0
  289. package/lib/Website/FrameworkSite.js +205 -0
  290. package/lib/Website/FrameworkSite.js.map +1 -0
  291. package/lib/Website/Nextjs.d.ts +54 -0
  292. package/lib/Website/Nextjs.d.ts.map +1 -0
  293. package/lib/Website/Nextjs.js +46 -0
  294. package/lib/Website/Nextjs.js.map +1 -0
  295. package/lib/Website/Nuxt.d.ts +51 -0
  296. package/lib/Website/Nuxt.d.ts.map +1 -0
  297. package/lib/Website/Nuxt.js +36 -0
  298. package/lib/Website/Nuxt.js.map +1 -0
  299. package/lib/Website/Octane.d.ts +49 -0
  300. package/lib/Website/Octane.d.ts.map +1 -0
  301. package/lib/Website/Octane.js +39 -0
  302. package/lib/Website/Octane.js.map +1 -0
  303. package/lib/Website/ReactRouter.d.ts +80 -0
  304. package/lib/Website/ReactRouter.d.ts.map +1 -0
  305. package/lib/Website/ReactRouter.js +70 -0
  306. package/lib/Website/ReactRouter.js.map +1 -0
  307. package/lib/Website/SolidStart.d.ts +93 -0
  308. package/lib/Website/SolidStart.d.ts.map +1 -0
  309. package/lib/Website/SolidStart.js +71 -0
  310. package/lib/Website/SolidStart.js.map +1 -0
  311. package/lib/Website/StaticSite.d.ts +162 -0
  312. package/lib/Website/StaticSite.d.ts.map +1 -0
  313. package/lib/Website/StaticSite.js +180 -0
  314. package/lib/Website/StaticSite.js.map +1 -0
  315. package/lib/Website/SvelteKit.d.ts +52 -0
  316. package/lib/Website/SvelteKit.d.ts.map +1 -0
  317. package/lib/Website/SvelteKit.js +37 -0
  318. package/lib/Website/SvelteKit.js.map +1 -0
  319. package/lib/Website/TanStackStart.d.ts +76 -0
  320. package/lib/Website/TanStackStart.d.ts.map +1 -0
  321. package/lib/Website/TanStackStart.js +66 -0
  322. package/lib/Website/TanStackStart.js.map +1 -0
  323. package/lib/Website/Vinext.d.ts +73 -0
  324. package/lib/Website/Vinext.d.ts.map +1 -0
  325. package/lib/Website/Vinext.js +67 -0
  326. package/lib/Website/Vinext.js.map +1 -0
  327. package/lib/Website/Vite.d.ts +112 -0
  328. package/lib/Website/Vite.d.ts.map +1 -0
  329. package/lib/Website/Vite.js +100 -0
  330. package/lib/Website/Vite.js.map +1 -0
  331. package/lib/Website/Vocs.d.ts +52 -0
  332. package/lib/Website/Vocs.d.ts.map +1 -0
  333. package/lib/Website/Vocs.js +38 -0
  334. package/lib/Website/Vocs.js.map +1 -0
  335. package/lib/Website/Waku.d.ts +64 -0
  336. package/lib/Website/Waku.d.ts.map +1 -0
  337. package/lib/Website/Waku.js +39 -0
  338. package/lib/Website/Waku.js.map +1 -0
  339. package/lib/Website/index.d.ts +17 -0
  340. package/lib/Website/index.d.ts.map +1 -0
  341. package/lib/Website/index.js +17 -0
  342. package/lib/Website/index.js.map +1 -0
  343. package/lib/WriteCertificates.d.ts +63 -0
  344. package/lib/WriteCertificates.d.ts.map +1 -0
  345. package/lib/WriteCertificates.js +3 -0
  346. package/lib/WriteCertificates.js.map +1 -0
  347. package/lib/WriteCertificatesHttp.d.ts +25 -0
  348. package/lib/WriteCertificatesHttp.d.ts.map +1 -0
  349. package/lib/WriteCertificatesHttp.js +67 -0
  350. package/lib/WriteCertificatesHttp.js.map +1 -0
  351. package/lib/WriteRedis.d.ts +26 -0
  352. package/lib/WriteRedis.d.ts.map +1 -0
  353. package/lib/WriteRedis.js +3 -0
  354. package/lib/WriteRedis.js.map +1 -0
  355. package/lib/WriteRedisHttp.d.ts +11 -0
  356. package/lib/WriteRedisHttp.d.ts.map +1 -0
  357. package/lib/WriteRedisHttp.js +15 -0
  358. package/lib/WriteRedisHttp.js.map +1 -0
  359. package/lib/WriteSecret.d.ts +68 -0
  360. package/lib/WriteSecret.d.ts.map +1 -0
  361. package/lib/WriteSecret.js +4 -0
  362. package/lib/WriteSecret.js.map +1 -0
  363. package/lib/WriteSecretHttp.d.ts +26 -0
  364. package/lib/WriteSecretHttp.d.ts.map +1 -0
  365. package/lib/WriteSecretHttp.js +54 -0
  366. package/lib/WriteSecretHttp.js.map +1 -0
  367. package/lib/bluegreen.d.ts +36 -0
  368. package/lib/bluegreen.d.ts.map +1 -0
  369. package/lib/bluegreen.js +460 -0
  370. package/lib/bluegreen.js.map +1 -0
  371. package/lib/hosted.d.ts +171 -0
  372. package/lib/hosted.d.ts.map +1 -0
  373. package/lib/hosted.js +458 -0
  374. package/lib/hosted.js.map +1 -0
  375. package/lib/index.d.ts +65 -0
  376. package/lib/index.d.ts.map +1 -0
  377. package/lib/index.js +63 -0
  378. package/lib/index.js.map +1 -0
  379. package/lib/internal/RemoteBuilder.d.ts +28 -0
  380. package/lib/internal/RemoteBuilder.d.ts.map +1 -0
  381. package/lib/internal/RemoteBuilder.js +158 -0
  382. package/lib/internal/RemoteBuilder.js.map +1 -0
  383. package/lib/leases.d.ts +53 -0
  384. package/lib/leases.d.ts.map +1 -0
  385. package/lib/leases.js +279 -0
  386. package/lib/leases.js.map +1 -0
  387. package/lib/ports.d.ts +51 -0
  388. package/lib/ports.d.ts.map +1 -0
  389. package/lib/ports.js +123 -0
  390. package/lib/ports.js.map +1 -0
  391. package/lib/replicas.d.ts +270 -0
  392. package/lib/replicas.d.ts.map +1 -0
  393. package/lib/replicas.js +969 -0
  394. package/lib/replicas.js.map +1 -0
  395. package/lib/rpc.d.ts +35 -0
  396. package/lib/rpc.d.ts.map +1 -0
  397. package/lib/rpc.js +113 -0
  398. package/lib/rpc.js.map +1 -0
  399. package/package.json +83 -3
  400. package/src/App.ts +514 -0
  401. package/src/AuthProvider.ts +68 -0
  402. package/src/BindService.ts +303 -0
  403. package/src/Bootstrap.ts +66 -0
  404. package/src/Bucket.ts +918 -0
  405. package/src/BucketBinding.ts +128 -0
  406. package/src/Catalog.ts +43 -0
  407. package/src/Certificate.ts +548 -0
  408. package/src/Checkpoint.ts +69 -0
  409. package/src/CheckpointHttp.ts +66 -0
  410. package/src/ConnectPostgres.ts +68 -0
  411. package/src/ConnectPostgresHttp.ts +77 -0
  412. package/src/Contributions.ts +9 -0
  413. package/src/Credentials.ts +75 -0
  414. package/src/Decrypt.ts +62 -0
  415. package/src/DecryptHttp.ts +52 -0
  416. package/src/DeleteObject.ts +43 -0
  417. package/src/DeleteObjectHttp.ts +20 -0
  418. package/src/Deployment.ts +121 -0
  419. package/src/DeploymentImages.ts +84 -0
  420. package/src/DeploymentState.ts +104 -0
  421. package/src/Encrypt.ts +60 -0
  422. package/src/EncryptHttp.ts +48 -0
  423. package/src/Environment.ts +81 -0
  424. package/src/Errors.ts +14 -0
  425. package/src/Exec.ts +50 -0
  426. package/src/ExecHttp.ts +47 -0
  427. package/src/GetObject.ts +48 -0
  428. package/src/GetObjectHttp.ts +20 -0
  429. package/src/GetSecret.ts +48 -0
  430. package/src/GetSecretHttp.ts +60 -0
  431. package/src/HeadObject.ts +43 -0
  432. package/src/HeadObjectHttp.ts +20 -0
  433. package/src/IpAssignment.ts +522 -0
  434. package/src/ListObjectsV2.ts +43 -0
  435. package/src/ListObjectsV2Http.ts +20 -0
  436. package/src/ListSecrets.ts +57 -0
  437. package/src/ListSecretsHttp.ts +43 -0
  438. package/src/Machine.ts +1270 -0
  439. package/src/MachineContainers.ts +152 -0
  440. package/src/Metadata.ts +195 -0
  441. package/src/MountVolume.ts +315 -0
  442. package/src/Postgres.ts +777 -0
  443. package/src/PostgresMigrations.ts +93 -0
  444. package/src/Providers.ts +155 -0
  445. package/src/PutObject.ts +49 -0
  446. package/src/PutObjectHttp.ts +20 -0
  447. package/src/ReadRedis.ts +31 -0
  448. package/src/ReadRedisHttp.ts +18 -0
  449. package/src/ReadWriteRedis.ts +33 -0
  450. package/src/ReadWriteRedisHttp.ts +18 -0
  451. package/src/Redis.ts +823 -0
  452. package/src/RedisBinding.ts +64 -0
  453. package/src/RedisHttp.ts +14 -0
  454. package/src/Region.ts +44 -0
  455. package/src/Secret.ts +405 -0
  456. package/src/SecretHttp.ts +149 -0
  457. package/src/SecretKey.ts +389 -0
  458. package/src/SecretKeyHttp.ts +23 -0
  459. package/src/Service.ts +1968 -0
  460. package/src/Sign.ts +46 -0
  461. package/src/SignHttp.ts +44 -0
  462. package/src/Sprite.ts +673 -0
  463. package/src/SpriteHttp.ts +50 -0
  464. package/src/Verify.ts +47 -0
  465. package/src/VerifyHttp.ts +46 -0
  466. package/src/Volume.ts +264 -0
  467. package/src/VolumeSnapshot.ts +321 -0
  468. package/src/Website/AssetDeployment.ts +292 -0
  469. package/src/Website/Astro.ts +92 -0
  470. package/src/Website/Foldkit.ts +54 -0
  471. package/src/Website/FrameworkSite.ts +449 -0
  472. package/src/Website/Nextjs.ts +50 -0
  473. package/src/Website/Nuxt.ts +48 -0
  474. package/src/Website/Octane.ts +44 -0
  475. package/src/Website/ReactRouter.ts +76 -0
  476. package/src/Website/SolidStart.ts +90 -0
  477. package/src/Website/StaticSite.ts +295 -0
  478. package/src/Website/SvelteKit.ts +49 -0
  479. package/src/Website/TanStackStart.ts +72 -0
  480. package/src/Website/Vinext.ts +79 -0
  481. package/src/Website/Vite.ts +121 -0
  482. package/src/Website/Vocs.ts +50 -0
  483. package/src/Website/Waku.ts +65 -0
  484. package/src/Website/index.ts +16 -0
  485. package/src/WriteCertificates.ts +90 -0
  486. package/src/WriteCertificatesHttp.ts +93 -0
  487. package/src/WriteRedis.ts +31 -0
  488. package/src/WriteRedisHttp.ts +18 -0
  489. package/src/WriteSecret.ts +86 -0
  490. package/src/WriteSecretHttp.ts +71 -0
  491. package/src/bluegreen.ts +711 -0
  492. package/src/globals.d.ts +2 -0
  493. package/src/hosted.ts +667 -0
  494. package/src/index.ts +64 -0
  495. package/src/internal/RemoteBuilder.ts +242 -0
  496. package/src/leases.ts +437 -0
  497. package/src/ports.ts +177 -0
  498. package/src/replicas.ts +1480 -0
  499. package/src/rpc.ts +136 -0
@@ -0,0 +1,38 @@
1
+ import * as Command from "alchemy/Command";
2
+ import * as Provider from "alchemy/Provider";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Credentials from "./Credentials.ts";
5
+ declare const Providers_base: Provider.ProviderCollection<Providers, "Fly">;
6
+ export declare class Providers extends Providers_base {
7
+ }
8
+ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
9
+ /**
10
+ * Build a layer that registers Fly resource providers, the Fly
11
+ * `AuthProvider`, the resolved `Credentials`, and an `HttpClient`. Include
12
+ * this from your stack alongside other cloud `providers()` layers.
13
+ *
14
+ * Resource providers are inserted into {@link Provider.collection} as they
15
+ * land. The collection starts empty so App / Machine / Service agents can
16
+ * make a single minimal insertion.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import * as Alchemy from "alchemy";
21
+ * import * as Fly from "@alchemy.run/fly";
22
+ * import * as Effect from "effect/Effect";
23
+ *
24
+ * export default Alchemy.Stack(
25
+ * "MyStack",
26
+ * {
27
+ * providers: Fly.providers(),
28
+ * state: Alchemy.localState(),
29
+ * },
30
+ * Effect.gen(function* () {
31
+ * return {};
32
+ * }),
33
+ * );
34
+ * ```
35
+ */
36
+ export declare const providers: () => Layer.Layer<import("./Checkpoint.ts").Checkpoint | import("./ConnectPostgres.ts").ConnectPostgres | Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("./Decrypt.ts").Decrypt | import("./DeleteObject.ts").DeleteObject | import("./Encrypt.ts").Encrypt | import("./Exec.ts").Exec | import("./Environment.ts").FlyEnvironment | import("./GetObject.ts").GetObject | import("./GetSecret.ts").GetSecret | import("./HeadObject.ts").HeadObject | import("effect/http/HttpClient").HttpClient | import("./ListObjectsV2.ts").ListObjectsV2 | import("./ListSecrets.ts").ListSecrets | import("./MountVolume.ts").MountVolume | import("alchemy/Auth/Profile").ProfileStore | Provider.Provider<Command.Build> | Provider.Provider<Command.Dev> | Provider.Provider<Command.Exec> | Providers | import("./PutObject.ts").PutObject | import("./ReadRedis.ts").ReadRedis | import("./ReadWriteRedis.ts").ReadWriteRedis | import("./Sign.ts").Sign | import("./Verify.ts").Verify | import("./WriteCertificates.ts").WriteCertificates | import("./WriteRedis.ts").WriteRedis | import("./WriteSecret.ts").WriteSecret, never, import("alchemy/AlchemyContext").AlchemyContext | import("alchemy/Artifacts").ArtifactStore | import("alchemy/Auth/Registry").AuthProviders | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
37
+ export {};
38
+ //# sourceMappingURL=Providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAO7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;;AA+BhD,qBAAa,SAAU,SAAQ,cAA+C;CAAG;AAEjF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,i8CA2EnB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { CredentialsStoreLive } from "alchemy/Auth/Credentials";
2
+ import { ProfileStoreLive } from "alchemy/Auth/Profile";
3
+ import * as Command from "alchemy/Command";
4
+ import * as Provider from "alchemy/Provider";
5
+ import { Random, RandomProvider } from "alchemy/Random";
6
+ import { Server as WebsiteServer, ServerProvider as WebsiteServerProvider, } from "alchemy/Website/Server";
7
+ import * as FetchHttpClient from "effect/http/FetchHttpClient";
8
+ import * as Layer from "effect/Layer";
9
+ import { App, AppProvider } from "./App.js";
10
+ import { FlyAuth } from "./AuthProvider.js";
11
+ import { Bucket, BucketProvider } from "./Bucket.js";
12
+ import { Certificate, CertificateProvider } from "./Certificate.js";
13
+ import { CheckpointHttp } from "./CheckpointHttp.js";
14
+ import { ConnectPostgresHttp } from "./ConnectPostgresHttp.js";
15
+ import * as Credentials from "./Credentials.js";
16
+ import { DecryptHttp } from "./DecryptHttp.js";
17
+ import { DeleteObjectHttp } from "./DeleteObjectHttp.js";
18
+ import { EncryptHttp } from "./EncryptHttp.js";
19
+ import { fromCredentials } from "./Environment.js";
20
+ import { ExecHttp } from "./ExecHttp.js";
21
+ import { GetObjectHttp } from "./GetObjectHttp.js";
22
+ import { GetSecretHttp } from "./GetSecretHttp.js";
23
+ import { HeadObjectHttp } from "./HeadObjectHttp.js";
24
+ import { IpAssignment, IpAssignmentProvider } from "./IpAssignment.js";
25
+ import { ListObjectsV2Http } from "./ListObjectsV2Http.js";
26
+ import { ListSecretsHttp } from "./ListSecretsHttp.js";
27
+ import { Machine, MachineProvider } from "./Machine.js";
28
+ import { MountVolumeLive } from "./MountVolume.js";
29
+ import { Postgres, PostgresProvider } from "./Postgres.js";
30
+ import { PutObjectHttp } from "./PutObjectHttp.js";
31
+ import { ReadRedisHttp } from "./ReadRedisHttp.js";
32
+ import { ReadWriteRedisHttp } from "./ReadWriteRedisHttp.js";
33
+ import { Redis, RedisProvider } from "./Redis.js";
34
+ import { Secret, SecretProvider } from "./Secret.js";
35
+ import { SecretKey, SecretKeyProvider } from "./SecretKey.js";
36
+ import { Service, ServiceProvider } from "./Service.js";
37
+ import { SignHttp } from "./SignHttp.js";
38
+ import { Sprite, SpriteProvider } from "./Sprite.js";
39
+ import { VerifyHttp } from "./VerifyHttp.js";
40
+ import { VolumeSnapshot, VolumeSnapshotProvider } from "./VolumeSnapshot.js";
41
+ import { AssetDeployment, AssetDeploymentProvider } from "./Website/AssetDeployment.js";
42
+ import { WriteCertificatesHttp } from "./WriteCertificatesHttp.js";
43
+ import { WriteRedisHttp } from "./WriteRedisHttp.js";
44
+ import { WriteSecretHttp } from "./WriteSecretHttp.js";
45
+ export class Providers extends Provider.ProviderCollection()("Fly") {
46
+ }
47
+ /**
48
+ * Build a layer that registers Fly resource providers, the Fly
49
+ * `AuthProvider`, the resolved `Credentials`, and an `HttpClient`. Include
50
+ * this from your stack alongside other cloud `providers()` layers.
51
+ *
52
+ * Resource providers are inserted into {@link Provider.collection} as they
53
+ * land. The collection starts empty so App / Machine / Service agents can
54
+ * make a single minimal insertion.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import * as Alchemy from "alchemy";
59
+ * import * as Fly from "@alchemy.run/fly";
60
+ * import * as Effect from "effect/Effect";
61
+ *
62
+ * export default Alchemy.Stack(
63
+ * "MyStack",
64
+ * {
65
+ * providers: Fly.providers(),
66
+ * state: Alchemy.localState(),
67
+ * },
68
+ * Effect.gen(function* () {
69
+ * return {};
70
+ * }),
71
+ * );
72
+ * ```
73
+ */
74
+ export const providers = () => Layer.effect(Providers, Provider.collection([
75
+ App,
76
+ AssetDeployment,
77
+ Bucket,
78
+ Certificate,
79
+ IpAssignment,
80
+ Machine,
81
+ Postgres,
82
+ Random,
83
+ Redis,
84
+ Secret,
85
+ SecretKey,
86
+ Service,
87
+ Sprite,
88
+ VolumeSnapshot,
89
+ WebsiteServer,
90
+ ])).pipe(Layer.provide(Layer.mergeAll(AppProvider(), AssetDeploymentProvider(), BucketProvider(), CertificateProvider(), IpAssignmentProvider(), MachineProvider(), PostgresProvider(), RandomProvider(), RedisProvider(), SecretProvider(), SecretKeyProvider(), ServiceProvider(), SpriteProvider(), VolumeSnapshotProvider(), WebsiteServerProvider())),
91
+ // The binding layers are mutually independent — they all draw on the
92
+ // Credentials/HttpClient layers below. Merge them into one group so
93
+ // `.pipe` stays under its 20-argument overload ceiling.
94
+ Layer.provideMerge(Layer.mergeAll(MountVolumeLive, ConnectPostgresHttp, PutObjectHttp, GetObjectHttp, DeleteObjectHttp, HeadObjectHttp, ListObjectsV2Http, ReadRedisHttp, WriteRedisHttp, ReadWriteRedisHttp, CheckpointHttp, ExecHttp, GetSecretHttp, ListSecretsHttp, WriteSecretHttp, WriteCertificatesHttp, EncryptHttp, DecryptHttp, SignHttp, VerifyHttp)), Layer.provideMerge(fromCredentials()), Layer.provideMerge(Credentials.fromAuthProvider()), Layer.provideMerge(FlyAuth), Layer.provideMerge(ProfileStoreLive), Layer.provideMerge(CredentialsStoreLive), Layer.provideMerge(FetchHttpClient.layer), Layer.provideMerge(Command.providers()), Layer.orDie);
95
+ //# sourceMappingURL=Providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type * as S3 from "@distilled.cloud/aws/s3";
2
+ import * as Binding from "alchemy/Binding";
3
+ import type { RuntimeContext } from "alchemy/RuntimeContext";
4
+ import type * as Effect from "effect/Effect";
5
+ import type { Bucket } from "./Bucket.ts";
6
+ import type { TigrisCredentialsMissing } from "./Errors.ts";
7
+ export interface PutObjectRequest extends Omit<S3.PutObjectRequest, "Bucket"> {
8
+ }
9
+ /**
10
+ * Runtime binding for Tigris `PutObject` over the S3 API.
11
+ *
12
+ * Bind this operation to a {@link Bucket} in Service init. The Tigris
13
+ * bucket name, endpoint, and credentials are injected automatically.
14
+ * Provide {@link PutObjectHttp}.
15
+ *
16
+ *
17
+ * ### Writing Objects
18
+ * **Example:** Put an Object
19
+ * ```typescript
20
+ * const putObject = yield* Fly.PutObject(Data);
21
+ *
22
+ * yield* putObject({
23
+ * Key: "hello.txt",
24
+ * Body: "Hello, world!",
25
+ * ContentType: "text/plain",
26
+ * });
27
+ * ```
28
+ *
29
+ * @binding
30
+ * @product Bucket
31
+ */
32
+ export interface PutObject extends Binding.Service<PutObject, "Fly.PutObject", (bucket: Bucket) => Effect.Effect<(request: PutObjectRequest) => Effect.Effect<S3.PutObjectOutput, S3.PutObjectError | TigrisCredentialsMissing, RuntimeContext>>> {
33
+ }
34
+ export declare const PutObject: PutObject;
35
+ //# sourceMappingURL=PutObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PutObject.d.ts","sourceRoot":"","sources":["../src/PutObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;CAAG;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,eAAe,EACf,CACE,MAAM,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAChB,CACE,OAAO,EAAE,gBAAgB,KACtB,MAAM,CAAC,MAAM,CAChB,EAAE,CAAC,eAAe,EAClB,EAAE,CAAC,cAAc,GAAG,wBAAwB,EAC5C,cAAc,CACf,CACF,CACF;CAAG;AAEJ,eAAO,MAAM,SAAS,WAA8C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const PutObject = Binding.Service("Fly.PutObject");
3
+ //# sourceMappingURL=PutObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PutObject.js","sourceRoot":"","sources":["../src/PutObject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA+C3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { PutObject } from "./PutObject.ts";
3
+ /**
4
+ * HTTP implementation of {@link PutObject}. Calls distilled S3
5
+ * `putObject` against the Tigris endpoint with the bucket's credentials.
6
+ *
7
+ * @layer
8
+ * @product Bucket
9
+ * @provides Fly.PutObject
10
+ */
11
+ export declare const PutObjectHttp: Layer.Layer<PutObject, never, never>;
12
+ //# sourceMappingURL=PutObjectHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PutObjectHttp.d.ts","sourceRoot":"","sources":["../src/PutObjectHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,sCAMzB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as S3 from "@distilled.cloud/aws/s3";
2
+ import * as Layer from "effect/Layer";
3
+ import { makeTigrisS3Binding } from "./BucketBinding.js";
4
+ import { PutObject } from "./PutObject.js";
5
+ /**
6
+ * HTTP implementation of {@link PutObject}. Calls distilled S3
7
+ * `putObject` against the Tigris endpoint with the bucket's credentials.
8
+ *
9
+ * @layer
10
+ * @product Bucket
11
+ * @provides Fly.PutObject
12
+ */
13
+ export const PutObjectHttp = Layer.effect(PutObject, makeTigrisS3Binding({
14
+ tag: "Fly.PutObject",
15
+ operation: S3.putObject,
16
+ }));
17
+ //# sourceMappingURL=PutObjectHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PutObjectHttp.js","sourceRoot":"","sources":["../src/PutObjectHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,mBAAmB,CAAC;IAClB,GAAG,EAAE,eAAe;IACpB,SAAS,EAAE,EAAE,CAAC,SAAS;CACxB,CAAC,CACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { ReadClient } from "@alchemy.run/redis";
2
+ import * as Binding from "alchemy/Binding";
3
+ import type * as Effect from "effect/Effect";
4
+ import type { Redis } from "./Redis.ts";
5
+ /**
6
+ * Bind a {@link Redis} database with read access (`get`, `ping`).
7
+ *
8
+ * `ReadRedis` is the Context tag, the type, and the callable —
9
+ * `yield* Fly.ReadRedis(Cache)`. Provide {@link ReadRedisHttp}.
10
+ *
11
+ *
12
+ * ### Read
13
+ * **Example:** Get a key
14
+ * ```typescript
15
+ * const cache = yield* Fly.ReadRedis(Cache);
16
+ * const value = yield* cache.get("marker");
17
+ * ```
18
+ *
19
+ * @binding
20
+ * @product Redis
21
+ */
22
+ export interface ReadRedis extends Binding.Service<ReadRedis, "Fly.ReadRedis", (redis: Redis) => Effect.Effect<ReadRedisClient>> {
23
+ }
24
+ export declare const ReadRedis: ReadRedis;
25
+ export type ReadRedisClient = ReadClient;
26
+ //# sourceMappingURL=ReadRedis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadRedis.d.ts","sourceRoot":"","sources":["../src/ReadRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,OAAO,CAChD,SAAS,EACT,eAAe,EACf,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CACjD;CAAG;AAEJ,eAAO,MAAM,SAAS,WAA8C,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const ReadRedis = Binding.Service("Fly.ReadRedis");
3
+ //# sourceMappingURL=ReadRedis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadRedis.js","sourceRoot":"","sources":["../src/ReadRedis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA2B3C,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadRedis } from "./ReadRedis.ts";
3
+ /**
4
+ * HTTP implementation of {@link ReadRedis}.
5
+ *
6
+ * @layer
7
+ * @product Redis
8
+ * @provides Fly.ReadRedis
9
+ */
10
+ export declare const ReadRedisHttp: Layer.Layer<ReadRedis, never, never>;
11
+ //# sourceMappingURL=ReadRedisHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadRedisHttp.d.ts","sourceRoot":"","sources":["../src/ReadRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,sCAKzB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadRedis } from "./ReadRedis.js";
3
+ import { makeRedisBinding } from "./RedisBinding.js";
4
+ import { makeReadRedisClient } from "./RedisHttp.js";
5
+ /**
6
+ * HTTP implementation of {@link ReadRedis}.
7
+ *
8
+ * @layer
9
+ * @product Redis
10
+ * @provides Fly.ReadRedis
11
+ */
12
+ export const ReadRedisHttp = Layer.effect(ReadRedis, makeRedisBinding({
13
+ makeClient: makeReadRedisClient,
14
+ }));
15
+ //# sourceMappingURL=ReadRedisHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadRedisHttp.js","sourceRoot":"","sources":["../src/ReadRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CACvC,SAAS,EACT,gBAAgB,CAAC;IACf,UAAU,EAAE,mBAAmB;CAChC,CAAC,CACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ import type * as Effect from "effect/Effect";
3
+ import type { ReadRedisClient } from "./ReadRedis.ts";
4
+ import type { Redis } from "./Redis.ts";
5
+ import type { WriteRedisClient } from "./WriteRedis.ts";
6
+ /**
7
+ * Bind a {@link Redis} database with read + write access.
8
+ *
9
+ * `ReadWriteRedis` is the Context tag, the type, and the callable —
10
+ * `yield* Fly.ReadWriteRedis(Cache)`. Provide {@link ReadWriteRedisHttp}.
11
+ *
12
+ *
13
+ * ### Read and write
14
+ * **Example:** Round-trip a key
15
+ * ```typescript
16
+ * const cache = yield* Fly.ReadWriteRedis(Cache);
17
+ * yield* cache.set("marker", "hello");
18
+ * const value = yield* cache.get("marker");
19
+ * ```
20
+ *
21
+ * @binding
22
+ * @product Redis
23
+ */
24
+ export interface ReadWriteRedis extends Binding.Service<ReadWriteRedis, "Fly.ReadWriteRedis", (redis: Redis) => Effect.Effect<ReadWriteRedisClient>> {
25
+ }
26
+ export declare const ReadWriteRedis: ReadWriteRedis;
27
+ export interface ReadWriteRedisClient extends ReadRedisClient, WriteRedisClient {
28
+ }
29
+ //# sourceMappingURL=ReadWriteRedis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadWriteRedis.d.ts","sourceRoot":"","sources":["../src/ReadWriteRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,OAAO,CACrD,cAAc,EACd,oBAAoB,EACpB,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACtD;CAAG;AAEJ,eAAO,MAAM,cAAc,gBAAwD,CAAC;AAEpF,MAAM,WAAW,oBAAqB,SAAQ,eAAe,EAAE,gBAAgB;CAAG"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const ReadWriteRedis = Binding.Service("Fly.ReadWriteRedis");
3
+ //# sourceMappingURL=ReadWriteRedis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadWriteRedis.js","sourceRoot":"","sources":["../src/ReadWriteRedis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA8B3C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAiB,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadWriteRedis } from "./ReadWriteRedis.ts";
3
+ /**
4
+ * HTTP implementation of {@link ReadWriteRedis}.
5
+ *
6
+ * @layer
7
+ * @product Redis
8
+ * @provides Fly.ReadWriteRedis
9
+ */
10
+ export declare const ReadWriteRedisHttp: Layer.Layer<ReadWriteRedis, never, never>;
11
+ //# sourceMappingURL=ReadWriteRedisHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadWriteRedisHttp.d.ts","sourceRoot":"","sources":["../src/ReadWriteRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,2CAK9B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { ReadWriteRedis } from "./ReadWriteRedis.js";
3
+ import { makeRedisBinding } from "./RedisBinding.js";
4
+ import { makeReadWriteRedisClient } from "./RedisHttp.js";
5
+ /**
6
+ * HTTP implementation of {@link ReadWriteRedis}.
7
+ *
8
+ * @layer
9
+ * @product Redis
10
+ * @provides Fly.ReadWriteRedis
11
+ */
12
+ export const ReadWriteRedisHttp = Layer.effect(ReadWriteRedis, makeRedisBinding({
13
+ makeClient: makeReadWriteRedisClient,
14
+ }));
15
+ //# sourceMappingURL=ReadWriteRedisHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadWriteRedisHttp.js","sourceRoot":"","sources":["../src/ReadWriteRedisHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,gBAAgB,CAAC;IACf,UAAU,EAAE,wBAAwB;CACrC,CAAC,CACH,CAAC"}
package/lib/Redis.d.ts ADDED
@@ -0,0 +1,252 @@
1
+ import type { AddOnPlansResponseEdgesItemNode, AddOnsResponseEdgesItemNode } from "@distilled.cloud/fly-io/addons";
2
+ import * as addons from "@distilled.cloud/fly-io/addons";
3
+ import * as Provider from "alchemy/Provider";
4
+ import { Resource } from "alchemy/Resource";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Redacted from "effect/Redacted";
7
+ import type { Providers } from "./Providers.ts";
8
+ export declare const DEFAULT_REDIS_REGION = "iad";
9
+ export declare const REDIS_ADDON_TYPE = "upstash_redis";
10
+ export declare const REDIS_PROVIDER = "upstash_redis";
11
+ export declare const REDIS_URL_ENV = "REDIS_URL";
12
+ export { CommandError as RedisCommandError, UrlMissing as RedisUrlMissing, } from "@alchemy.run/redis/Errors";
13
+ export interface RedisProps {
14
+ /**
15
+ * Upstash Redis database name. Globally unique in the org. If omitted,
16
+ * a unique name is generated from the stack, stage and logical ID.
17
+ * Changing it replaces the database.
18
+ */
19
+ name?: string;
20
+ /**
21
+ * Primary region (`iad`, `ord`, `sjc`, …). Fly cannot move a primary.
22
+ * Changing it replaces the database.
23
+ *
24
+ * @default "iad"
25
+ */
26
+ primaryRegion?: string;
27
+ /**
28
+ * Organization slug. Defaults to the current token's org. Changing it
29
+ * replaces the database.
30
+ */
31
+ orgSlug?: string;
32
+ /**
33
+ * Add-on plan id, name, or display name from `addOnPlans`. Default is
34
+ * the cheapest listed plan (free or pay-as-you-go). Fixed plans are
35
+ * billed. Default tests use the cheapest listed plan.
36
+ */
37
+ plan?: string;
38
+ /**
39
+ * Read-replica regions. Updated in place. Must not include the
40
+ * primary region.
41
+ */
42
+ readRegions?: string[];
43
+ /**
44
+ * Evict keys when memory is full (cache workload). Updated in place.
45
+ */
46
+ eviction?: boolean;
47
+ /**
48
+ * Automatically upgrade a fixed plan when hitting resource limits.
49
+ * Ignored on pay-as-you-go.
50
+ */
51
+ autoUpgrade?: boolean;
52
+ /**
53
+ * ProdPack add-on ($200/mo). Paid. Not enabled in default tests.
54
+ */
55
+ prodPack?: boolean;
56
+ }
57
+ export type Redis = Resource<"Fly.Redis", RedisProps, {
58
+ /** Fly GraphQL add-on id. */
59
+ redisId: string;
60
+ /** Physical Upstash Redis name. */
61
+ name: string;
62
+ /** Primary region code. */
63
+ primaryRegion: string;
64
+ /** Observed read-replica regions. */
65
+ readRegions: string[];
66
+ /** Observed status (`ready`, `provisioning`, …). */
67
+ status: string | undefined;
68
+ /** Selected plan id, if the API returned one. */
69
+ planId: string | undefined;
70
+ /** Observed plan name (`Pay-as-you-go`, `Fixed 250MB`, …). */
71
+ planName: string | undefined;
72
+ /** Private 6PN address, if the API returned one. */
73
+ privateIp: string | undefined;
74
+ /** Organization slug. */
75
+ orgSlug: string | undefined;
76
+ /** Whether eviction is enabled. */
77
+ eviction: boolean | undefined;
78
+ /**
79
+ * Redacted Upstash connection URL. Bindings transport it to the
80
+ * runtime automatically. Service attachments also set `REDIS_URL`.
81
+ */
82
+ url: Redacted.Redacted<string> | undefined;
83
+ }, never, Providers>;
84
+ /**
85
+ * Managed Upstash Redis in a Fly org. Bind {@link ReadRedis},
86
+ * {@link WriteRedis}, or {@link ReadWriteRedis} on a {@link Service}.
87
+ * Alchemy transports the redacted `url` Output to the runtime client
88
+ * and also writes `REDIS_URL` as an App secret for compatibility.
89
+ * Redis is not reachable from CI — drive it over HTTP.
90
+ *
91
+ * @see https://fly.io/docs/upstash/redis/
92
+ *
93
+ * ### Create Redis
94
+ * Alchemy generates a unique name unless you pass one. Default region is
95
+ * `iad`. Default plan is the cheapest `addOnPlans` row (free or
96
+ * pay-as-you-go).
97
+ *
98
+ * **Example:** Generated name
99
+ * ```typescript
100
+ * const cache = yield* Fly.Redis("Cache");
101
+ * ```
102
+ *
103
+ * :::note
104
+ * Prefer omitting `name` in tests and CI so names stay unique and
105
+ * reclaimable.
106
+ * :::
107
+ *
108
+ * ### A stable name
109
+ * Pass `name` when you want a stable Upstash database name.
110
+ *
111
+ * **Example:** Explicit name
112
+ * ```typescript
113
+ * const cache = yield* Fly.Redis("Cache", {
114
+ * name: "my-cache",
115
+ * primaryRegion: "iad",
116
+ * });
117
+ * ```
118
+ *
119
+ * :::caution[Changing `name` replaces Redis]
120
+ * Fly cannot rename an add-on. Alchemy deletes the old database first,
121
+ * then creates the new one.
122
+ * :::
123
+ *
124
+ * :::caution[Changing `primaryRegion` replaces Redis]
125
+ * The primary region is immutable. The old database is deleted first
126
+ * because the name cannot exist twice.
127
+ * :::
128
+ *
129
+ * ### Bind from a Service
130
+ * Yield {@link ReadWriteRedis} (or {@link ReadRedis} / {@link WriteRedis})
131
+ * in Service init. Provide the matching `*Http` layer.
132
+ *
133
+ * **Example:** Read and write
134
+ * ```typescript
135
+ * import * as HttpServerResponse from "effect/http/HttpServerResponse";
136
+ *
137
+ * const Cache = Fly.Redis("Cache");
138
+ *
139
+ * export default class Api extends Fly.Service<Api>()(
140
+ * "Api",
141
+ * { app: Site, main: import.meta.url, port: 3000 },
142
+ * Effect.gen(function* () {
143
+ * const cache = yield* Fly.ReadWriteRedis(Cache);
144
+ * return {
145
+ * fetch: Effect.gen(function* () {
146
+ * yield* cache.set("marker", "hello");
147
+ * const value = yield* cache.get("marker");
148
+ * return HttpServerResponse.json({ value });
149
+ * }),
150
+ * };
151
+ * }).pipe(Effect.provide(Fly.ReadWriteRedisHttp)),
152
+ * ) {}
153
+ * ```
154
+ *
155
+ * ### Eviction
156
+ * Enable eviction for cache workloads. Updated in place.
157
+ *
158
+ * **Example:** Eviction
159
+ * ```typescript
160
+ * const cache = yield* Fly.Redis("Cache", {
161
+ * eviction: true,
162
+ * });
163
+ * ```
164
+ *
165
+ * ### Read replicas
166
+ * `readRegions` are extra replica regions. Updated in place.
167
+ *
168
+ * **Example:** Replica region
169
+ * ```typescript
170
+ * const cache = yield* Fly.Redis("Cache", {
171
+ * primaryRegion: "iad",
172
+ * readRegions: ["sjc"],
173
+ * });
174
+ * ```
175
+ *
176
+ * ### Plan
177
+ * Omit `plan` for the cheapest listed plan. Pass a plan id or display
178
+ * name to pin one. Fixed plans are billed.
179
+ *
180
+ * **Example:** Pin pay-as-you-go
181
+ * ```typescript
182
+ * const cache = yield* Fly.Redis("Cache", {
183
+ * plan: "Pay-as-you-go",
184
+ * });
185
+ * ```
186
+ *
187
+ * :::caution[Fixed plans are billed]
188
+ * Fixed plans are billed monthly. Prefer omitting `plan` unless you
189
+ * need a specific size.
190
+ * :::
191
+ *
192
+ * @resource
193
+ * @product Redis
194
+ */
195
+ export declare const Redis: import("alchemy/Resource").ResourceClass<Redis>;
196
+ declare const RedisNotCreated_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
197
+ readonly _tag: "Fly.RedisNotCreated";
198
+ } & Readonly<A>;
199
+ export declare class RedisNotCreated extends RedisNotCreated_base<{
200
+ resourceName: string;
201
+ errorMessage?: string;
202
+ }> {
203
+ }
204
+ declare const RedisPlanNotFound_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
205
+ readonly _tag: "Fly.RedisPlanNotFound";
206
+ } & Readonly<A>;
207
+ export declare class RedisPlanNotFound extends RedisPlanNotFound_base<{
208
+ plan: string;
209
+ }> {
210
+ }
211
+ declare const RedisOrgMissing_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
212
+ readonly _tag: "Fly.RedisOrgMissing";
213
+ } & Readonly<A>;
214
+ export declare class RedisOrgMissing extends RedisOrgMissing_base<{
215
+ orgSlug: string;
216
+ }> {
217
+ }
218
+ declare const RedisPending_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
219
+ readonly _tag: "Fly.RedisPending";
220
+ } & Readonly<A>;
221
+ declare class RedisPending extends RedisPending_base<{
222
+ redisId: string;
223
+ status: string;
224
+ }> {
225
+ }
226
+ type RedisPlan = AddOnPlansResponseEdgesItemNode;
227
+ export declare const isFixedRedisPlan: (plan: Pick<RedisPlan, "name" | "displayName">) => boolean;
228
+ export declare const listRedisAddOns: () => Effect.Effect<AddOnsResponseEdgesItemNode[], addons.FlyIoOpError, addons.FlyIoOpContext>;
229
+ export declare const listRedisPlans: () => Effect.Effect<addons.AddOnResponseAddOnPlan[], addons.FlyIoOpError, addons.FlyIoOpContext>;
230
+ export declare const findRedisAddOn: (input: {
231
+ id?: string;
232
+ name?: string;
233
+ }) => Effect.Effect<AddOnsResponseEdgesItemNode | undefined, addons.FlyIoOpError, addons.FlyIoOpContext>;
234
+ declare const RedisSecretVersionMissing_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
235
+ readonly _tag: "Fly.RedisSecretVersionMissing";
236
+ } & Readonly<A>;
237
+ declare class RedisSecretVersionMissing extends RedisSecretVersionMissing_base<{
238
+ appName: string;
239
+ }> {
240
+ }
241
+ /**
242
+ * Write `REDIS_URL` onto an App from attached Redis add-on names.
243
+ * Called from {@link Service} reconcile so the secret exists before
244
+ * Machines boot. Returns the highest accepted secret-version floor, or
245
+ * `undefined` when no secret was written; this is not a vault snapshot.
246
+ */
247
+ export declare const attachRedisSecrets: (appName: string, attached: readonly {
248
+ name: string;
249
+ id?: string;
250
+ }[]) => Effect.Effect<number | undefined, import("@distilled.cloud/fly-io").BadRequest | import("@distilled.cloud/fly-io").Conflict | import("@distilled.cloud/fly-io").Forbidden | import("@distilled.cloud/fly-io").NotFound | RedisPending | RedisSecretVersionMissing | addons.FlyIoOpError, addons.FlyIoOpContext>;
251
+ export declare const RedisProvider: () => import("effect/Layer").Layer<Provider.Provider<Redis>, never, import("alchemy/Stack").Stack | import("alchemy/Stage").Stage | addons.FlyIoOpContext>;
252
+ //# sourceMappingURL=Redis.d.ts.map