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

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 +340 -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 +59 -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 +35 -0
  176. package/lib/PostgresMigrations.d.ts.map +1 -0
  177. package/lib/PostgresMigrations.js +110 -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 +608 -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 +8 -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 +1022 -0
  240. package/lib/Service.d.ts.map +1 -0
  241. package/lib/Service.js +1397 -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 +469 -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 +87 -0
  280. package/lib/Website/Astro.d.ts.map +1 -0
  281. package/lib/Website/Astro.js +55 -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 +175 -0
  288. package/lib/Website/FrameworkSite.d.ts.map +1 -0
  289. package/lib/Website/FrameworkSite.js +162 -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 +155 -0
  312. package/lib/Website/StaticSite.d.ts.map +1 -0
  313. package/lib/Website/StaticSite.js +168 -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 +103 -0
  328. package/lib/Website/Vite.d.ts.map +1 -0
  329. package/lib/Website/Vite.js +91 -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 +458 -0
  370. package/lib/bluegreen.js.map +1 -0
  371. package/lib/hosted.d.ts +172 -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 +145 -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 +516 -0
  401. package/src/AuthProvider.ts +68 -0
  402. package/src/BindService.ts +304 -0
  403. package/src/Bootstrap.ts +66 -0
  404. package/src/Bucket.ts +916 -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 +102 -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 +1268 -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 +153 -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 +820 -0
  452. package/src/RedisBinding.ts +64 -0
  453. package/src/RedisHttp.ts +11 -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 +1934 -0
  460. package/src/Sign.ts +46 -0
  461. package/src/SignHttp.ts +44 -0
  462. package/src/Sprite.ts +671 -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 +294 -0
  469. package/src/Website/Astro.ts +87 -0
  470. package/src/Website/Foldkit.ts +54 -0
  471. package/src/Website/FrameworkSite.ts +363 -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 +275 -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 +112 -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 +708 -0
  492. package/src/globals.d.ts +2 -0
  493. package/src/hosted.ts +668 -0
  494. package/src/index.ts +64 -0
  495. package/src/internal/RemoteBuilder.ts +224 -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,110 @@
1
+ import { makePgMigrationExecutor, runMigrations, } from "@alchemy.run/sql/Migrations";
2
+ import { importPg } from "@alchemy.run/sql/PostgresDriver";
3
+ import { readSqlFile } from "@alchemy.run/sql/SqlFile";
4
+ import * as Data from "effect/Data";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Redacted from "effect/Redacted";
7
+ import * as Schedule from "effect/Schedule";
8
+ export class PostgresMigrationError extends Data.TaggedError("Fly.PostgresMigrationError") {
9
+ }
10
+ /**
11
+ * Strip query-string SSL flags so `pg-connection-string` does not treat
12
+ * `sslmode=require` as `verify-full`. TLS and certificate verification
13
+ * are set on the client (`ssl.rejectUnauthorized: true`).
14
+ */
15
+ export const stripSslQueryParams = (uri) => {
16
+ try {
17
+ const url = new URL(uri);
18
+ url.searchParams.delete("sslmode");
19
+ url.searchParams.delete("channel_binding");
20
+ return url.toString();
21
+ }
22
+ catch {
23
+ return uri;
24
+ }
25
+ };
26
+ const toMigrationError = (cause) => new PostgresMigrationError({
27
+ message: cause instanceof Error ? cause.message : String(cause),
28
+ cause,
29
+ });
30
+ /**
31
+ * A freshly-provisioned Fly Managed Postgres cluster reports `ready` on the
32
+ * API before its hostname is resolvable and its endpoint accepts
33
+ * connections — reconcile's first migration connect can fail with
34
+ * `ENOTFOUND` (DNS still propagating) or a refused/reset socket. These are
35
+ * eventual consistency, not failures: retry the connect on a bounded
36
+ * schedule (~45s) before surfacing the error.
37
+ */
38
+ const TRANSIENT_CONNECT_CODES = new Set([
39
+ "ENOTFOUND",
40
+ "EAI_AGAIN",
41
+ "ECONNREFUSED",
42
+ "ECONNRESET",
43
+ "ETIMEDOUT",
44
+ ]);
45
+ const isTransientConnectError = (error) => {
46
+ const code = error.cause?.code;
47
+ return typeof code === "string" && TRANSIENT_CONNECT_CODES.has(code);
48
+ };
49
+ /** Open a pg client for the scope of `use`, closing it afterwards. */
50
+ export const withPgClient = (connectionUri, use) => Effect.acquireUseRelease(Effect.tryPromise({
51
+ try: async () => {
52
+ const { Client } = await importPg();
53
+ const client = new Client({
54
+ connectionString: connectionUri.pipe(Redacted.value, stripSslQueryParams),
55
+ ssl: { rejectUnauthorized: true },
56
+ });
57
+ await client.connect();
58
+ return client;
59
+ },
60
+ catch: toMigrationError,
61
+ }).pipe(Effect.retry({
62
+ while: isTransientConnectError,
63
+ schedule: Schedule.spaced("3 seconds"),
64
+ times: 15,
65
+ }),
66
+ // Still unreachable after the bounded retry: almost always a missing
67
+ // route rather than propagation — MPG hostnames only exist on the org
68
+ // private network. Say so instead of a bare `getaddrinfo ENOTFOUND`.
69
+ Effect.mapError((error) => isTransientConnectError(error)
70
+ ? new PostgresMigrationError({
71
+ message: `${error.message} — Fly Managed Postgres is only reachable ` +
72
+ "on the org's private network. Run the deploy behind a " +
73
+ "WireGuard peer or `fly mpg proxy`, or from a machine on " +
74
+ "6PN. See https://fly.io/docs/mpg/create-and-connect/",
75
+ cause: error.cause,
76
+ })
77
+ : error)), use, (client) => Effect.promise(() => client.end().catch(() => { })));
78
+ /**
79
+ * Fly Managed Postgres's migration adaptation is the shared pipeline
80
+ * with a connection-URI-scoped pg client as its executor. Use the
81
+ * direct (non-PgBouncer) URI so DDL and advisory locks work.
82
+ */
83
+ export const runPgMigrations = (options) => runMigrations({
84
+ ...options,
85
+ withExecutor: (apply) => withPgClient(options.connectionUri, (client) => apply(makePgMigrationExecutor(client))),
86
+ });
87
+ /** Run a single SQL script against the database (used for `importFiles`). */
88
+ export const runSql = (connectionUri, sql) => withPgClient(connectionUri, (client) => Effect.tryPromise({
89
+ try: () => client.query(sql),
90
+ catch: toMigrationError,
91
+ })).pipe(Effect.asVoid);
92
+ export const runImports = (connectionUri, importFiles, rootDir, previous) => Effect.gen(function* () {
93
+ const hashes = { ...previous };
94
+ for (const filePath of importFiles) {
95
+ const file = yield* readSqlFile(rootDir, filePath);
96
+ if (previous[filePath] === file.hash) {
97
+ hashes[filePath] = file.hash;
98
+ continue;
99
+ }
100
+ yield* runSql(connectionUri, file.sql);
101
+ hashes[filePath] = file.hash;
102
+ }
103
+ const tracked = new Set(importFiles);
104
+ for (const key of Object.keys(hashes)) {
105
+ if (!tracked.has(key))
106
+ delete hashes[key];
107
+ }
108
+ return hashes;
109
+ });
110
+ //# sourceMappingURL=PostgresMigrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresMigrations.js","sourceRoot":"","sources":["../src/PostgresMigrations.ts"],"names":[],"mappings":"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"}
@@ -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/AuthProvider").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,q8CA2EnB,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"}