alchemy 2.0.0-beta.73 → 2.0.0-beta.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/bin/exec.js +330 -121
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ACM/Certificate.d.ts +6 -2
- package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
- package/lib/AWS/ACM/Certificate.js +23 -11
- package/lib/AWS/ACM/Certificate.js.map +1 -1
- package/lib/AWS/AppRunner/Service.d.ts +16 -0
- package/lib/AWS/AppRunner/Service.d.ts.map +1 -1
- package/lib/AWS/AppRunner/Service.js +83 -63
- package/lib/AWS/AppRunner/Service.js.map +1 -1
- package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.d.ts.map +1 -1
- package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.js +39 -15
- package/lib/AWS/ApplicationAutoScaling/ScalingPolicy.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +8 -2
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/Batch/JobDefinition.d.ts.map +1 -1
- package/lib/AWS/Batch/JobDefinition.js +14 -68
- package/lib/AWS/Batch/JobDefinition.js.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.d.ts.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.js +15 -7
- package/lib/AWS/CloudFront/KvEntries.js.map +1 -1
- package/lib/AWS/CloudFront/KvRoutesUpdate.d.ts.map +1 -1
- package/lib/AWS/CloudFront/KvRoutesUpdate.js +3 -9
- package/lib/AWS/CloudFront/KvRoutesUpdate.js.map +1 -1
- package/lib/AWS/CloudFront/common.d.ts +11 -0
- package/lib/AWS/CloudFront/common.d.ts.map +1 -1
- package/lib/AWS/CloudFront/common.js +9 -1
- package/lib/AWS/CloudFront/common.js.map +1 -1
- package/lib/AWS/Cognito/UserPool.d.ts +96 -3
- package/lib/AWS/Cognito/UserPool.d.ts.map +1 -1
- package/lib/AWS/Cognito/UserPool.js +155 -33
- package/lib/AWS/Cognito/UserPool.js.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.js +32 -14
- package/lib/AWS/EC2/Instance.js.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.js +9 -4
- package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +5 -74
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Image.d.ts +4 -3
- package/lib/AWS/ECR/Image.d.ts.map +1 -1
- package/lib/AWS/ECR/Image.js +17 -47
- package/lib/AWS/ECR/Image.js.map +1 -1
- package/lib/AWS/ECR/ImageSource.d.ts +7 -4
- package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.js +10 -97
- package/lib/AWS/ECR/ImageSource.js.map +1 -1
- package/lib/AWS/ECS/EcsDevWatch.d.ts +1 -21
- package/lib/AWS/ECS/EcsDevWatch.d.ts.map +1 -1
- package/lib/AWS/ECS/EcsDevWatch.js +1 -56
- package/lib/AWS/ECS/EcsDevWatch.js.map +1 -1
- package/lib/AWS/ECS/FlociServiceProvider.d.ts.map +1 -1
- package/lib/AWS/ECS/FlociServiceProvider.js +34 -22
- package/lib/AWS/ECS/FlociServiceProvider.js.map +1 -1
- package/lib/AWS/ECS/FlociTaskProvider.d.ts.map +1 -1
- package/lib/AWS/ECS/FlociTaskProvider.js +25 -15
- package/lib/AWS/ECS/FlociTaskProvider.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +2 -27
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +1 -1
- package/lib/AWS/Endpoint.d.ts +11 -0
- package/lib/AWS/Endpoint.d.ts.map +1 -1
- package/lib/AWS/Endpoint.js +11 -0
- package/lib/AWS/Endpoint.js.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.d.ts +3 -3
- package/lib/AWS/IAM/SAMLProvider.d.ts.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.js +36 -22
- package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
- package/lib/AWS/Lambda/DurableFunction.d.ts +22 -1
- package/lib/AWS/Lambda/DurableFunction.d.ts.map +1 -1
- package/lib/AWS/Lambda/DurableFunction.js.map +1 -1
- package/lib/AWS/Lambda/FlociFunctionProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/FlociFunctionProvider.js +73 -30
- package/lib/AWS/Lambda/FlociFunctionProvider.js.map +1 -1
- package/lib/AWS/Lambda/FlociMicrovmImageProvider.d.ts +6 -0
- package/lib/AWS/Lambda/FlociMicrovmImageProvider.d.ts.map +1 -0
- package/lib/AWS/Lambda/FlociMicrovmImageProvider.js +197 -0
- package/lib/AWS/Lambda/FlociMicrovmImageProvider.js.map +1 -0
- package/lib/AWS/Lambda/Function.d.ts +155 -51
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +368 -70
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/FunctionBundle.d.ts +3 -3
- package/lib/AWS/Lambda/FunctionBundle.d.ts.map +1 -1
- package/lib/AWS/Lambda/FunctionBundle.js +9 -120
- package/lib/AWS/Lambda/FunctionBundle.js.map +1 -1
- package/lib/AWS/Lambda/FunctionImage.d.ts +154 -0
- package/lib/AWS/Lambda/FunctionImage.d.ts.map +1 -0
- package/lib/AWS/Lambda/FunctionImage.js +359 -0
- package/lib/AWS/Lambda/FunctionImage.js.map +1 -0
- package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmBundle.js +10 -64
- package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmImage.d.ts +6 -1
- package/lib/AWS/Lambda/MicrovmImage.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmImage.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.d.ts +1 -4
- package/lib/AWS/Lambda/MicrovmProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.js +104 -24
- package/lib/AWS/Lambda/MicrovmProvider.js.map +1 -1
- package/lib/AWS/Lambda/index.d.ts +1 -0
- package/lib/AWS/Lambda/index.d.ts.map +1 -1
- package/lib/AWS/Lambda/index.js +1 -0
- package/lib/AWS/Lambda/index.js.map +1 -1
- package/lib/AWS/Local/DevWatchProvider.d.ts +37 -1
- package/lib/AWS/Local/DevWatchProvider.d.ts.map +1 -1
- package/lib/AWS/Local/DevWatchProvider.js +62 -3
- package/lib/AWS/Local/DevWatchProvider.js.map +1 -1
- package/lib/AWS/Local/FlociServices.d.ts.map +1 -1
- package/lib/AWS/Local/FlociServices.js +4 -0
- package/lib/AWS/Local/FlociServices.js.map +1 -1
- package/lib/AWS/Local/ImageSourceTrigger.d.ts +32 -0
- package/lib/AWS/Local/ImageSourceTrigger.d.ts.map +1 -0
- package/lib/AWS/Local/ImageSourceTrigger.js +67 -0
- package/lib/AWS/Local/ImageSourceTrigger.js.map +1 -0
- package/lib/AWS/Local/Local.js +2 -1
- package/lib/AWS/Local/Local.js.map +1 -1
- package/lib/AWS/Local/ProviderContext.d.ts +25 -0
- package/lib/AWS/Local/ProviderContext.d.ts.map +1 -1
- package/lib/AWS/Local/ProviderContext.js +72 -0
- package/lib/AWS/Local/ProviderContext.js.map +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +48 -7
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/Route53/HostedZoneLookup.d.ts +22 -0
- package/lib/AWS/Route53/HostedZoneLookup.d.ts.map +1 -0
- package/lib/AWS/Route53/HostedZoneLookup.js +51 -0
- package/lib/AWS/Route53/HostedZoneLookup.js.map +1 -0
- package/lib/AWS/Route53/Record.d.ts +6 -2
- package/lib/AWS/Route53/Record.d.ts.map +1 -1
- package/lib/AWS/Route53/Record.js +17 -7
- package/lib/AWS/Route53/Record.js.map +1 -1
- package/lib/AWS/Route53/Records.d.ts +10 -4
- package/lib/AWS/Route53/Records.d.ts.map +1 -1
- package/lib/AWS/Route53/Records.js +37 -6
- package/lib/AWS/Route53/Records.js.map +1 -1
- package/lib/AWS/Website/AssetDeployment.d.ts +3 -1
- package/lib/AWS/Website/AssetDeployment.d.ts.map +1 -1
- package/lib/AWS/Website/AssetDeployment.js +80 -82
- package/lib/AWS/Website/AssetDeployment.js.map +1 -1
- package/lib/AWS/Website/Astro.d.ts +47 -26
- package/lib/AWS/Website/Astro.d.ts.map +1 -1
- package/lib/AWS/Website/Astro.js +21 -10
- package/lib/AWS/Website/Astro.js.map +1 -1
- package/lib/AWS/Website/Foldkit.d.ts +136 -0
- package/lib/AWS/Website/Foldkit.d.ts.map +1 -0
- package/lib/AWS/Website/Foldkit.js +113 -0
- package/lib/AWS/Website/Foldkit.js.map +1 -0
- package/lib/AWS/Website/FrameworkSite.d.ts +25 -33
- package/lib/AWS/Website/FrameworkSite.d.ts.map +1 -1
- package/lib/AWS/Website/FrameworkSite.js +15 -8
- package/lib/AWS/Website/FrameworkSite.js.map +1 -1
- package/lib/AWS/Website/Nextjs.d.ts +29 -32
- package/lib/AWS/Website/Nextjs.d.ts.map +1 -1
- package/lib/AWS/Website/Nextjs.js +12 -13
- package/lib/AWS/Website/Nextjs.js.map +1 -1
- package/lib/AWS/Website/Nuxt.d.ts +38 -11
- package/lib/AWS/Website/Nuxt.d.ts.map +1 -1
- package/lib/AWS/Website/Nuxt.js +32 -10
- package/lib/AWS/Website/Nuxt.js.map +1 -1
- package/lib/AWS/Website/Octane.d.ts +9 -10
- package/lib/AWS/Website/Octane.d.ts.map +1 -1
- package/lib/AWS/Website/Octane.js +3 -5
- package/lib/AWS/Website/Octane.js.map +1 -1
- package/lib/AWS/Website/ReactRouter.d.ts +118 -0
- package/lib/AWS/Website/ReactRouter.d.ts.map +1 -0
- package/lib/AWS/Website/ReactRouter.js +87 -0
- package/lib/AWS/Website/ReactRouter.js.map +1 -0
- package/lib/AWS/Website/Router.d.ts.map +1 -1
- package/lib/AWS/Website/Router.js +6 -2
- package/lib/AWS/Website/Router.js.map +1 -1
- package/lib/AWS/Website/ServerLocal.js +1 -1
- package/lib/AWS/Website/ServerLocal.js.map +1 -1
- package/lib/AWS/Website/SolidStart.d.ts +118 -0
- package/lib/AWS/Website/SolidStart.d.ts.map +1 -0
- package/lib/AWS/Website/SolidStart.js +78 -0
- package/lib/AWS/Website/SolidStart.js.map +1 -0
- package/lib/AWS/Website/SsrSite.d.ts.map +1 -1
- package/lib/AWS/Website/SsrSite.js +3 -1
- package/lib/AWS/Website/SsrSite.js.map +1 -1
- package/lib/AWS/Website/StaticSite.d.ts +3 -7
- package/lib/AWS/Website/StaticSite.d.ts.map +1 -1
- package/lib/AWS/Website/StaticSite.js +7 -5
- package/lib/AWS/Website/StaticSite.js.map +1 -1
- package/lib/AWS/Website/SvelteKit.d.ts +31 -15
- package/lib/AWS/Website/SvelteKit.d.ts.map +1 -1
- package/lib/AWS/Website/SvelteKit.js +28 -11
- package/lib/AWS/Website/SvelteKit.js.map +1 -1
- package/lib/AWS/Website/TanStackStart.d.ts +112 -0
- package/lib/AWS/Website/TanStackStart.d.ts.map +1 -0
- package/lib/AWS/Website/TanStackStart.js +81 -0
- package/lib/AWS/Website/TanStackStart.js.map +1 -0
- package/lib/AWS/Website/Vite.d.ts +65 -22
- package/lib/AWS/Website/Vite.d.ts.map +1 -1
- package/lib/AWS/Website/Vite.js +49 -19
- package/lib/AWS/Website/Vite.js.map +1 -1
- package/lib/AWS/Website/Waku.d.ts +46 -14
- package/lib/AWS/Website/Waku.d.ts.map +1 -1
- package/lib/AWS/Website/Waku.js +28 -11
- package/lib/AWS/Website/Waku.js.map +1 -1
- package/lib/AWS/Website/index.d.ts +4 -1
- package/lib/AWS/Website/index.d.ts.map +1 -1
- package/lib/AWS/Website/index.js +4 -1
- package/lib/AWS/Website/index.js.map +1 -1
- package/lib/AWS/Website/shared.d.ts +11 -2
- package/lib/AWS/Website/shared.d.ts.map +1 -1
- package/lib/AWS/Website/shared.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +7 -1
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Lock.d.ts +21 -0
- package/lib/Auth/Lock.d.ts.map +1 -1
- package/lib/Auth/Lock.js +34 -1
- package/lib/Auth/Lock.js.map +1 -1
- package/lib/Axiom/Dataset.d.ts +18 -6
- package/lib/Axiom/Dataset.d.ts.map +1 -1
- package/lib/Axiom/Dataset.js +40 -29
- package/lib/Axiom/Dataset.js.map +1 -1
- package/lib/Binding.d.ts +1 -1
- package/lib/Binding.d.ts.map +1 -1
- package/lib/Binding.js +130 -1
- package/lib/Binding.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +19 -2
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js +57 -3
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +17 -1
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cloudflare/AI/SecuritySettings.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SecuritySettings.js +1 -0
- package/lib/Cloudflare/AI/SecuritySettings.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +4 -2
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +9 -97
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerPlatform.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerPlatform.js +24 -2
- package/lib/Cloudflare/Containers/ContainerPlatform.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +211 -31
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.js +55 -7
- package/lib/Cloudflare/Containers/LocalContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Email/CatchAll.d.ts.map +1 -1
- package/lib/Cloudflare/Email/CatchAll.js +12 -6
- package/lib/Cloudflare/Email/CatchAll.js.map +1 -1
- package/lib/Cloudflare/Email/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Rule.js +6 -3
- package/lib/Cloudflare/Email/Rule.js.map +1 -1
- package/lib/Cloudflare/Email/retry.d.ts +21 -0
- package/lib/Cloudflare/Email/retry.d.ts.map +1 -0
- package/lib/Cloudflare/Email/retry.js +24 -0
- package/lib/Cloudflare/Email/retry.js.map +1 -0
- package/lib/Cloudflare/R2/Bucket.d.ts +43 -2
- package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +86 -6
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/DataCatalog.d.ts.map +1 -1
- package/lib/Cloudflare/R2/DataCatalog.js +18 -16
- package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +3 -0
- package/lib/Cloudflare/Website/Astro.d.ts +42 -34
- package/lib/Cloudflare/Website/Astro.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Astro.js +32 -28
- package/lib/Cloudflare/Website/Astro.js.map +1 -1
- package/lib/Cloudflare/Website/Foldkit.d.ts +3 -4
- package/lib/Cloudflare/Website/Foldkit.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Foldkit.js +4 -4
- package/lib/Cloudflare/Website/Foldkit.js.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.d.ts +26 -60
- package/lib/Cloudflare/Website/Nextjs.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Nextjs.js +13 -21
- package/lib/Cloudflare/Website/Nextjs.js.map +1 -1
- package/lib/Cloudflare/Website/Nuxt.d.ts +37 -14
- package/lib/Cloudflare/Website/Nuxt.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Nuxt.js +24 -4
- package/lib/Cloudflare/Website/Nuxt.js.map +1 -1
- package/lib/Cloudflare/Website/SvelteKit.d.ts +27 -41
- package/lib/Cloudflare/Website/SvelteKit.d.ts.map +1 -1
- package/lib/Cloudflare/Website/SvelteKit.js +38 -25
- package/lib/Cloudflare/Website/SvelteKit.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +2 -3
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +2 -3
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Website/Vocs.d.ts +131 -0
- package/lib/Cloudflare/Website/Vocs.d.ts.map +1 -0
- package/lib/Cloudflare/Website/Vocs.js +116 -0
- package/lib/Cloudflare/Website/Vocs.js.map +1 -0
- package/lib/Cloudflare/Website/Waku.d.ts +42 -24
- package/lib/Cloudflare/Website/Waku.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Waku.js +22 -5
- package/lib/Cloudflare/Website/Waku.js.map +1 -1
- package/lib/Cloudflare/Website/index.d.ts +1 -0
- package/lib/Cloudflare/Website/index.d.ts.map +1 -1
- package/lib/Cloudflare/Website/index.js +1 -0
- package/lib/Cloudflare/Website/index.js.map +1 -1
- package/lib/Cloudflare/Workers/EmailEventSource.d.ts +196 -0
- package/lib/Cloudflare/Workers/EmailEventSource.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/EmailEventSource.js +198 -0
- package/lib/Cloudflare/Workers/EmailEventSource.js.map +1 -0
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +134 -0
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +7 -0
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +14 -3
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +6 -0
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.d.ts +1 -0
- package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.js +1 -0
- package/lib/Cloudflare/Workers/index.js.map +1 -1
- package/lib/Cloudflare/Zone/lookup.d.ts +2 -2
- package/lib/Cloudflare/Zone/lookup.d.ts.map +1 -1
- package/lib/Cloudflare/Zone/lookup.js +16 -20
- package/lib/Cloudflare/Zone/lookup.js.map +1 -1
- package/lib/Command/Build.d.ts.map +1 -1
- package/lib/Command/Build.js +5 -2
- package/lib/Command/Build.js.map +1 -1
- package/lib/Command/Command.d.ts +4 -1
- package/lib/Command/Command.d.ts.map +1 -1
- package/lib/Command/Command.js +3 -1
- package/lib/Command/Command.js.map +1 -1
- package/lib/Docker/BuildHash.d.ts +34 -0
- package/lib/Docker/BuildHash.d.ts.map +1 -0
- package/lib/Docker/BuildHash.js +220 -0
- package/lib/Docker/BuildHash.js.map +1 -0
- package/lib/Docker/Container.d.ts +61 -0
- package/lib/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +110 -19
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Docker/Docker.d.ts +3 -0
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Docker/ServiceImage.d.ts +3 -5
- package/lib/Docker/ServiceImage.d.ts.map +1 -1
- package/lib/Docker/ServiceImage.js +6 -74
- package/lib/Docker/ServiceImage.js.map +1 -1
- package/lib/Fly/Bucket.d.ts.map +1 -1
- package/lib/Fly/Bucket.js +24 -18
- package/lib/Fly/Bucket.js.map +1 -1
- package/lib/Fly/BucketBinding.d.ts.map +1 -1
- package/lib/Fly/BucketBinding.js +3 -2
- package/lib/Fly/BucketBinding.js.map +1 -1
- package/lib/Fly/ConnectPostgres.d.ts +0 -2
- package/lib/Fly/ConnectPostgres.d.ts.map +1 -1
- package/lib/Fly/ConnectPostgres.js.map +1 -1
- package/lib/Fly/Decrypt.d.ts +1 -2
- package/lib/Fly/Decrypt.d.ts.map +1 -1
- package/lib/Fly/Decrypt.js.map +1 -1
- package/lib/Fly/DecryptHttp.d.ts.map +1 -1
- package/lib/Fly/DecryptHttp.js +3 -13
- package/lib/Fly/DecryptHttp.js.map +1 -1
- package/lib/Fly/Encrypt.d.ts +1 -2
- package/lib/Fly/Encrypt.d.ts.map +1 -1
- package/lib/Fly/Encrypt.js.map +1 -1
- package/lib/Fly/EncryptHttp.d.ts.map +1 -1
- package/lib/Fly/EncryptHttp.js +1 -12
- package/lib/Fly/EncryptHttp.js.map +1 -1
- package/lib/Fly/Environment.d.ts.map +1 -1
- package/lib/Fly/Environment.js +1 -1
- package/lib/Fly/Environment.js.map +1 -1
- package/lib/Fly/Errors.d.ts +0 -22
- package/lib/Fly/Errors.d.ts.map +1 -1
- package/lib/Fly/Errors.js +0 -11
- package/lib/Fly/Errors.js.map +1 -1
- package/lib/Fly/Postgres.d.ts +1 -1
- package/lib/Fly/Postgres.d.ts.map +1 -1
- package/lib/Fly/Postgres.js +18 -14
- package/lib/Fly/Postgres.js.map +1 -1
- package/lib/Fly/PostgresMigrations.d.ts.map +1 -1
- package/lib/Fly/PostgresMigrations.js +37 -1
- package/lib/Fly/PostgresMigrations.js.map +1 -1
- package/lib/Fly/Providers.d.ts +2 -1
- package/lib/Fly/Providers.d.ts.map +1 -1
- package/lib/Fly/Providers.js +7 -2
- package/lib/Fly/Providers.js.map +1 -1
- package/lib/Fly/ReadRedis.d.ts +3 -6
- package/lib/Fly/ReadRedis.d.ts.map +1 -1
- package/lib/Fly/Redis.d.ts +1 -16
- package/lib/Fly/Redis.d.ts.map +1 -1
- package/lib/Fly/Redis.js +1 -4
- package/lib/Fly/Redis.js.map +1 -1
- package/lib/Fly/RedisBinding.d.ts +3 -4
- package/lib/Fly/RedisBinding.d.ts.map +1 -1
- package/lib/Fly/RedisBinding.js +4 -111
- package/lib/Fly/RedisBinding.js.map +1 -1
- package/lib/Fly/RedisHttp.d.ts +7 -9
- package/lib/Fly/RedisHttp.d.ts.map +1 -1
- package/lib/Fly/RedisHttp.js +4 -32
- package/lib/Fly/RedisHttp.js.map +1 -1
- package/lib/Fly/SecretHttp.d.ts +3 -1
- package/lib/Fly/SecretHttp.d.ts.map +1 -1
- package/lib/Fly/SecretHttp.js +16 -21
- package/lib/Fly/SecretHttp.js.map +1 -1
- package/lib/Fly/SecretKeyHttp.d.ts +1 -8
- package/lib/Fly/SecretKeyHttp.d.ts.map +1 -1
- package/lib/Fly/SecretKeyHttp.js +0 -33
- package/lib/Fly/SecretKeyHttp.js.map +1 -1
- package/lib/Fly/Service.d.ts +33 -6
- package/lib/Fly/Service.d.ts.map +1 -1
- package/lib/Fly/Service.js +64 -24
- package/lib/Fly/Service.js.map +1 -1
- package/lib/Fly/Sign.d.ts +1 -2
- package/lib/Fly/Sign.d.ts.map +1 -1
- package/lib/Fly/Sign.js.map +1 -1
- package/lib/Fly/SignHttp.d.ts.map +1 -1
- package/lib/Fly/SignHttp.js +1 -7
- package/lib/Fly/SignHttp.js.map +1 -1
- package/lib/Fly/Sprite.d.ts.map +1 -1
- package/lib/Fly/Sprite.js +24 -15
- package/lib/Fly/Sprite.js.map +1 -1
- package/lib/Fly/SpriteHttp.d.ts.map +1 -1
- package/lib/Fly/SpriteHttp.js +2 -1
- package/lib/Fly/SpriteHttp.js.map +1 -1
- package/lib/Fly/Verify.d.ts +1 -2
- package/lib/Fly/Verify.d.ts.map +1 -1
- package/lib/Fly/Verify.js.map +1 -1
- package/lib/Fly/VerifyHttp.d.ts.map +1 -1
- package/lib/Fly/VerifyHttp.js +2 -10
- package/lib/Fly/VerifyHttp.js.map +1 -1
- package/lib/Fly/Website/AssetDeployment.d.ts +43 -0
- package/lib/Fly/Website/AssetDeployment.d.ts.map +1 -0
- package/lib/Fly/Website/AssetDeployment.js +162 -0
- package/lib/Fly/Website/AssetDeployment.js.map +1 -0
- package/lib/Fly/Website/Astro.d.ts +87 -0
- package/lib/Fly/Website/Astro.d.ts.map +1 -0
- package/lib/Fly/Website/Astro.js +55 -0
- package/lib/Fly/Website/Astro.js.map +1 -0
- package/lib/Fly/Website/Foldkit.d.ts +47 -0
- package/lib/Fly/Website/Foldkit.d.ts.map +1 -0
- package/lib/Fly/Website/Foldkit.js +39 -0
- package/lib/Fly/Website/Foldkit.js.map +1 -0
- package/lib/Fly/Website/FrameworkSite.d.ts +167 -0
- package/lib/Fly/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Fly/Website/FrameworkSite.js +160 -0
- package/lib/Fly/Website/FrameworkSite.js.map +1 -0
- package/lib/Fly/Website/Nextjs.d.ts +54 -0
- package/lib/Fly/Website/Nextjs.d.ts.map +1 -0
- package/lib/Fly/Website/Nextjs.js +46 -0
- package/lib/Fly/Website/Nextjs.js.map +1 -0
- package/lib/Fly/Website/Nuxt.d.ts +51 -0
- package/lib/Fly/Website/Nuxt.d.ts.map +1 -0
- package/lib/Fly/Website/Nuxt.js +36 -0
- package/lib/Fly/Website/Nuxt.js.map +1 -0
- package/lib/Fly/Website/Octane.d.ts +57 -0
- package/lib/Fly/Website/Octane.d.ts.map +1 -0
- package/lib/Fly/Website/Octane.js +47 -0
- package/lib/Fly/Website/Octane.js.map +1 -0
- package/lib/Fly/Website/ReactRouter.d.ts +80 -0
- package/lib/Fly/Website/ReactRouter.d.ts.map +1 -0
- package/lib/Fly/Website/ReactRouter.js +70 -0
- package/lib/Fly/Website/ReactRouter.js.map +1 -0
- package/lib/Fly/Website/SolidStart.d.ts +93 -0
- package/lib/Fly/Website/SolidStart.d.ts.map +1 -0
- package/lib/Fly/Website/SolidStart.js +71 -0
- package/lib/Fly/Website/SolidStart.js.map +1 -0
- package/lib/Fly/Website/StaticSite.d.ts +148 -0
- package/lib/Fly/Website/StaticSite.d.ts.map +1 -0
- package/lib/Fly/Website/StaticSite.js +173 -0
- package/lib/Fly/Website/StaticSite.js.map +1 -0
- package/lib/Fly/Website/SvelteKit.d.ts +52 -0
- package/lib/Fly/Website/SvelteKit.d.ts.map +1 -0
- package/lib/Fly/Website/SvelteKit.js +37 -0
- package/lib/Fly/Website/SvelteKit.js.map +1 -0
- package/lib/Fly/Website/TanStackStart.d.ts +76 -0
- package/lib/Fly/Website/TanStackStart.d.ts.map +1 -0
- package/lib/Fly/Website/TanStackStart.js +66 -0
- package/lib/Fly/Website/TanStackStart.js.map +1 -0
- package/lib/Fly/Website/Vite.d.ts +103 -0
- package/lib/Fly/Website/Vite.d.ts.map +1 -0
- package/lib/Fly/Website/Vite.js +92 -0
- package/lib/Fly/Website/Vite.js.map +1 -0
- package/lib/Fly/Website/Vocs.d.ts +52 -0
- package/lib/Fly/Website/Vocs.d.ts.map +1 -0
- package/lib/Fly/Website/Vocs.js +38 -0
- package/lib/Fly/Website/Vocs.js.map +1 -0
- package/lib/Fly/Website/Waku.d.ts +64 -0
- package/lib/Fly/Website/Waku.d.ts.map +1 -0
- package/lib/Fly/Website/Waku.js +39 -0
- package/lib/Fly/Website/Waku.js.map +1 -0
- package/lib/Fly/Website/index.d.ts +16 -0
- package/lib/Fly/Website/index.d.ts.map +1 -0
- package/lib/Fly/Website/index.js +16 -0
- package/lib/Fly/Website/index.js.map +1 -0
- package/lib/Fly/WriteRedis.d.ts +3 -6
- package/lib/Fly/WriteRedis.d.ts.map +1 -1
- package/lib/Fly/hosted.d.ts +23 -10
- package/lib/Fly/hosted.d.ts.map +1 -1
- package/lib/Fly/hosted.js +115 -83
- package/lib/Fly/hosted.js.map +1 -1
- package/lib/Fly/index.d.ts +1 -0
- package/lib/Fly/index.d.ts.map +1 -1
- package/lib/Fly/index.js +1 -0
- package/lib/Fly/index.js.map +1 -1
- package/lib/Hetzner/MountVolume.d.ts +1 -1
- package/lib/Hetzner/Providers.d.ts +2 -1
- package/lib/Hetzner/Providers.d.ts.map +1 -1
- package/lib/Hetzner/Providers.js +4 -1
- package/lib/Hetzner/Providers.js.map +1 -1
- package/lib/Hetzner/Server.d.ts +1 -1
- package/lib/Hetzner/Server.d.ts.map +1 -1
- package/lib/Hetzner/Server.js +26 -14
- package/lib/Hetzner/Server.js.map +1 -1
- package/lib/Hetzner/Service.d.ts +14 -4
- package/lib/Hetzner/Service.d.ts.map +1 -1
- package/lib/Hetzner/Service.js +3 -2
- package/lib/Hetzner/Service.js.map +1 -1
- package/lib/Hetzner/Website/Astro.d.ts +85 -0
- package/lib/Hetzner/Website/Astro.d.ts.map +1 -0
- package/lib/Hetzner/Website/Astro.js +59 -0
- package/lib/Hetzner/Website/Astro.js.map +1 -0
- package/lib/Hetzner/Website/Foldkit.d.ts +45 -0
- package/lib/Hetzner/Website/Foldkit.d.ts.map +1 -0
- package/lib/Hetzner/Website/Foldkit.js +41 -0
- package/lib/Hetzner/Website/Foldkit.js.map +1 -0
- package/lib/Hetzner/Website/FrameworkSite.d.ts +161 -0
- package/lib/Hetzner/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Hetzner/Website/FrameworkSite.js +162 -0
- package/lib/Hetzner/Website/FrameworkSite.js.map +1 -0
- package/lib/Hetzner/Website/Nextjs.d.ts +52 -0
- package/lib/Hetzner/Website/Nextjs.d.ts.map +1 -0
- package/lib/Hetzner/Website/Nextjs.js +49 -0
- package/lib/Hetzner/Website/Nextjs.js.map +1 -0
- package/lib/Hetzner/Website/Nuxt.d.ts +53 -0
- package/lib/Hetzner/Website/Nuxt.d.ts.map +1 -0
- package/lib/Hetzner/Website/Nuxt.js +43 -0
- package/lib/Hetzner/Website/Nuxt.js.map +1 -0
- package/lib/Hetzner/Website/Octane.d.ts +54 -0
- package/lib/Hetzner/Website/Octane.d.ts.map +1 -0
- package/lib/Hetzner/Website/Octane.js +49 -0
- package/lib/Hetzner/Website/Octane.js.map +1 -0
- package/lib/Hetzner/Website/ReactRouter.d.ts +78 -0
- package/lib/Hetzner/Website/ReactRouter.d.ts.map +1 -0
- package/lib/Hetzner/Website/ReactRouter.js +73 -0
- package/lib/Hetzner/Website/ReactRouter.js.map +1 -0
- package/lib/Hetzner/Website/SolidStart.d.ts +90 -0
- package/lib/Hetzner/Website/SolidStart.d.ts.map +1 -0
- package/lib/Hetzner/Website/SolidStart.js +73 -0
- package/lib/Hetzner/Website/SolidStart.js.map +1 -0
- package/lib/Hetzner/Website/StaticSite.d.ts +134 -0
- package/lib/Hetzner/Website/StaticSite.d.ts.map +1 -0
- package/lib/Hetzner/Website/StaticSite.js +176 -0
- package/lib/Hetzner/Website/StaticSite.js.map +1 -0
- package/lib/Hetzner/Website/SvelteKit.d.ts +52 -0
- package/lib/Hetzner/Website/SvelteKit.d.ts.map +1 -0
- package/lib/Hetzner/Website/SvelteKit.js +42 -0
- package/lib/Hetzner/Website/SvelteKit.js.map +1 -0
- package/lib/Hetzner/Website/TanStackStart.d.ts +73 -0
- package/lib/Hetzner/Website/TanStackStart.d.ts.map +1 -0
- package/lib/Hetzner/Website/TanStackStart.js +68 -0
- package/lib/Hetzner/Website/TanStackStart.js.map +1 -0
- package/lib/Hetzner/Website/Vite.d.ts +97 -0
- package/lib/Hetzner/Website/Vite.d.ts.map +1 -0
- package/lib/Hetzner/Website/Vite.js +97 -0
- package/lib/Hetzner/Website/Vite.js.map +1 -0
- package/lib/Hetzner/Website/Vocs.d.ts +49 -0
- package/lib/Hetzner/Website/Vocs.d.ts.map +1 -0
- package/lib/Hetzner/Website/Vocs.js +39 -0
- package/lib/Hetzner/Website/Vocs.js.map +1 -0
- package/lib/Hetzner/Website/Waku.d.ts +53 -0
- package/lib/Hetzner/Website/Waku.d.ts.map +1 -0
- package/lib/Hetzner/Website/Waku.js +42 -0
- package/lib/Hetzner/Website/Waku.js.map +1 -0
- package/lib/Hetzner/Website/index.d.ts +15 -0
- package/lib/Hetzner/Website/index.d.ts.map +1 -0
- package/lib/Hetzner/Website/index.js +15 -0
- package/lib/Hetzner/Website/index.js.map +1 -0
- package/lib/Hetzner/actions.d.ts +2 -3
- package/lib/Hetzner/actions.d.ts.map +1 -1
- package/lib/Hetzner/actions.js +6 -13
- package/lib/Hetzner/actions.js.map +1 -1
- package/lib/Hetzner/hosted.d.ts +29 -4
- package/lib/Hetzner/hosted.d.ts.map +1 -1
- package/lib/Hetzner/hosted.js +230 -93
- package/lib/Hetzner/hosted.js.map +1 -1
- package/lib/Hetzner/index.d.ts +1 -0
- package/lib/Hetzner/index.d.ts.map +1 -1
- package/lib/Hetzner/index.js +1 -0
- package/lib/Hetzner/index.js.map +1 -1
- package/lib/Http.d.ts +9 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +5 -2
- package/lib/Http.js.map +1 -1
- package/lib/Kubernetes/HelmChart.d.ts +5 -3
- package/lib/Kubernetes/HelmChart.d.ts.map +1 -1
- package/lib/Kubernetes/HelmChart.js +5 -3
- package/lib/Kubernetes/HelmChart.js.map +1 -1
- package/lib/Kubernetes/internal/helm.d.ts +19 -5
- package/lib/Kubernetes/internal/helm.d.ts.map +1 -1
- package/lib/Kubernetes/internal/helm.js +28 -6
- package/lib/Kubernetes/internal/helm.js.map +1 -1
- package/lib/Local/DockerHostGateway.d.ts +13 -0
- package/lib/Local/DockerHostGateway.d.ts.map +1 -0
- package/lib/Local/DockerHostGateway.js +18 -0
- package/lib/Local/DockerHostGateway.js.map +1 -0
- package/lib/Local/ProviderLayer.d.ts +20 -0
- package/lib/Local/ProviderLayer.d.ts.map +1 -1
- package/lib/Local/ProviderLayer.js +2 -0
- package/lib/Local/ProviderLayer.js.map +1 -1
- package/lib/Local/RpcProvider.d.ts +1 -1
- package/lib/Local/RpcProvider.d.ts.map +1 -1
- package/lib/Local/RpcProvider.js.map +1 -1
- package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
- package/lib/Local/RpcProviderProxy.js +14 -1
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresBranch.d.ts +2 -1
- package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresBranch.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +40 -9
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js +9 -5
- package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +15 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Platform.d.ts +5 -5
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js.map +1 -1
- package/lib/Prisma/Compute.d.ts.map +1 -1
- package/lib/Prisma/Compute.js +10 -68
- package/lib/Prisma/Compute.js.map +1 -1
- package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -1
- package/lib/Prisma/PrismaDevDatabase.js +9 -1
- package/lib/Prisma/PrismaDevDatabase.js.map +1 -1
- package/lib/Provider.d.ts +84 -5
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +33 -0
- package/lib/Provider.js.map +1 -1
- package/lib/Railway/AuditLog.d.ts +141 -0
- package/lib/Railway/AuditLog.d.ts.map +1 -0
- package/lib/Railway/AuditLog.js +136 -0
- package/lib/Railway/AuditLog.js.map +1 -0
- package/lib/Railway/AuthProvider.d.ts +45 -0
- package/lib/Railway/AuthProvider.d.ts.map +1 -0
- package/lib/Railway/AuthProvider.js +224 -0
- package/lib/Railway/AuthProvider.js.map +1 -0
- package/lib/Railway/Bind.d.ts +50 -0
- package/lib/Railway/Bind.d.ts.map +1 -0
- package/lib/Railway/Bind.js +125 -0
- package/lib/Railway/Bind.js.map +1 -0
- package/lib/Railway/Bucket.d.ts +225 -0
- package/lib/Railway/Bucket.d.ts.map +1 -0
- package/lib/Railway/Bucket.js +460 -0
- package/lib/Railway/Bucket.js.map +1 -0
- package/lib/Railway/BucketBinding.d.ts +40 -0
- package/lib/Railway/BucketBinding.d.ts.map +1 -0
- package/lib/Railway/BucketBinding.js +111 -0
- package/lib/Railway/BucketBinding.js.map +1 -0
- package/lib/Railway/Catalog.d.ts +37 -0
- package/lib/Railway/Catalog.d.ts.map +1 -0
- package/lib/Railway/Catalog.js +38 -0
- package/lib/Railway/Catalog.js.map +1 -0
- package/lib/Railway/CloudAgent.d.ts +179 -0
- package/lib/Railway/CloudAgent.d.ts.map +1 -0
- package/lib/Railway/CloudAgent.js +283 -0
- package/lib/Railway/CloudAgent.js.map +1 -0
- package/lib/Railway/ConnectMongo.d.ts +73 -0
- package/lib/Railway/ConnectMongo.d.ts.map +1 -0
- package/lib/Railway/ConnectMongo.js +13 -0
- package/lib/Railway/ConnectMongo.js.map +1 -0
- package/lib/Railway/ConnectMongoHttp.d.ts +25 -0
- package/lib/Railway/ConnectMongoHttp.d.ts.map +1 -0
- package/lib/Railway/ConnectMongoHttp.js +114 -0
- package/lib/Railway/ConnectMongoHttp.js.map +1 -0
- package/lib/Railway/ConnectMySQL.d.ts +74 -0
- package/lib/Railway/ConnectMySQL.d.ts.map +1 -0
- package/lib/Railway/ConnectMySQL.js +13 -0
- package/lib/Railway/ConnectMySQL.js.map +1 -0
- package/lib/Railway/ConnectMySQLHttp.d.ts +25 -0
- package/lib/Railway/ConnectMySQLHttp.d.ts.map +1 -0
- package/lib/Railway/ConnectMySQLHttp.js +114 -0
- package/lib/Railway/ConnectMySQLHttp.js.map +1 -0
- package/lib/Railway/ConnectPostgres.d.ts +84 -0
- package/lib/Railway/ConnectPostgres.d.ts.map +1 -0
- package/lib/Railway/ConnectPostgres.js +15 -0
- package/lib/Railway/ConnectPostgres.js.map +1 -0
- package/lib/Railway/ConnectPostgresHttp.d.ts +25 -0
- package/lib/Railway/ConnectPostgresHttp.d.ts.map +1 -0
- package/lib/Railway/ConnectPostgresHttp.js +113 -0
- package/lib/Railway/ConnectPostgresHttp.js.map +1 -0
- package/lib/Railway/Credentials.d.ts +18 -0
- package/lib/Railway/Credentials.d.ts.map +1 -0
- package/lib/Railway/Credentials.js +35 -0
- package/lib/Railway/Credentials.js.map +1 -0
- package/lib/Railway/CustomDomain.d.ts +163 -0
- package/lib/Railway/CustomDomain.d.ts.map +1 -0
- package/lib/Railway/CustomDomain.js +312 -0
- package/lib/Railway/CustomDomain.js.map +1 -0
- package/lib/Railway/DeleteObject.d.ts +29 -0
- package/lib/Railway/DeleteObject.d.ts.map +1 -0
- package/lib/Railway/DeleteObject.js +3 -0
- package/lib/Railway/DeleteObject.js.map +1 -0
- package/lib/Railway/DeleteObjectHttp.d.ts +11 -0
- package/lib/Railway/DeleteObjectHttp.d.ts.map +1 -0
- package/lib/Railway/DeleteObjectHttp.js +16 -0
- package/lib/Railway/DeleteObjectHttp.js.map +1 -0
- package/lib/Railway/Environment.d.ts +64 -0
- package/lib/Railway/Environment.d.ts.map +1 -0
- package/lib/Railway/Environment.js +63 -0
- package/lib/Railway/Environment.js.map +1 -0
- package/lib/Railway/Function.d.ts +434 -0
- package/lib/Railway/Function.d.ts.map +1 -0
- package/lib/Railway/Function.js +850 -0
- package/lib/Railway/Function.js.map +1 -0
- package/lib/Railway/GetObject.d.ts +34 -0
- package/lib/Railway/GetObject.d.ts.map +1 -0
- package/lib/Railway/GetObject.js +3 -0
- package/lib/Railway/GetObject.js.map +1 -0
- package/lib/Railway/GetObjectHttp.d.ts +11 -0
- package/lib/Railway/GetObjectHttp.d.ts.map +1 -0
- package/lib/Railway/GetObjectHttp.js +16 -0
- package/lib/Railway/GetObjectHttp.js.map +1 -0
- package/lib/Railway/Group.d.ts +201 -0
- package/lib/Railway/Group.d.ts.map +1 -0
- package/lib/Railway/Group.js +794 -0
- package/lib/Railway/Group.js.map +1 -0
- package/lib/Railway/HeadObject.d.ts +29 -0
- package/lib/Railway/HeadObject.d.ts.map +1 -0
- package/lib/Railway/HeadObject.js +3 -0
- package/lib/Railway/HeadObject.js.map +1 -0
- package/lib/Railway/HeadObjectHttp.d.ts +11 -0
- package/lib/Railway/HeadObjectHttp.d.ts.map +1 -0
- package/lib/Railway/HeadObjectHttp.js +16 -0
- package/lib/Railway/HeadObjectHttp.js.map +1 -0
- package/lib/Railway/InferEnv.d.ts +31 -0
- package/lib/Railway/InferEnv.d.ts.map +1 -0
- package/lib/Railway/InferEnv.js +1 -0
- package/lib/Railway/InferEnv.js.map +1 -0
- package/lib/Railway/ListObjectsV2.d.ts +29 -0
- package/lib/Railway/ListObjectsV2.d.ts.map +1 -0
- package/lib/Railway/ListObjectsV2.js +3 -0
- package/lib/Railway/ListObjectsV2.js.map +1 -0
- package/lib/Railway/ListObjectsV2Http.d.ts +11 -0
- package/lib/Railway/ListObjectsV2Http.d.ts.map +1 -0
- package/lib/Railway/ListObjectsV2Http.js +16 -0
- package/lib/Railway/ListObjectsV2Http.js.map +1 -0
- package/lib/Railway/LoginSession.d.ts +33 -0
- package/lib/Railway/LoginSession.d.ts.map +1 -0
- package/lib/Railway/LoginSession.js +70 -0
- package/lib/Railway/LoginSession.js.map +1 -0
- package/lib/Railway/Metadata.d.ts +37 -0
- package/lib/Railway/Metadata.d.ts.map +1 -0
- package/lib/Railway/Metadata.js +89 -0
- package/lib/Railway/Metadata.js.map +1 -0
- package/lib/Railway/Mongo.d.ts +278 -0
- package/lib/Railway/Mongo.d.ts.map +1 -0
- package/lib/Railway/Mongo.js +817 -0
- package/lib/Railway/Mongo.js.map +1 -0
- package/lib/Railway/MountVolume.d.ts +108 -0
- package/lib/Railway/MountVolume.d.ts.map +1 -0
- package/lib/Railway/MountVolume.js +63 -0
- package/lib/Railway/MountVolume.js.map +1 -0
- package/lib/Railway/MySQL.d.ts +263 -0
- package/lib/Railway/MySQL.d.ts.map +1 -0
- package/lib/Railway/MySQL.js +817 -0
- package/lib/Railway/MySQL.js.map +1 -0
- package/lib/Railway/Postgres.d.ts +269 -0
- package/lib/Railway/Postgres.d.ts.map +1 -0
- package/lib/Railway/Postgres.js +776 -0
- package/lib/Railway/Postgres.js.map +1 -0
- package/lib/Railway/PrivateNetwork.d.ts +265 -0
- package/lib/Railway/PrivateNetwork.d.ts.map +1 -0
- package/lib/Railway/PrivateNetwork.js +567 -0
- package/lib/Railway/PrivateNetwork.js.map +1 -0
- package/lib/Railway/Project.d.ts +192 -0
- package/lib/Railway/Project.d.ts.map +1 -0
- package/lib/Railway/Project.js +272 -0
- package/lib/Railway/Project.js.map +1 -0
- package/lib/Railway/ProjectEnvironment.d.ts +127 -0
- package/lib/Railway/ProjectEnvironment.d.ts.map +1 -0
- package/lib/Railway/ProjectEnvironment.js +227 -0
- package/lib/Railway/ProjectEnvironment.js.map +1 -0
- package/lib/Railway/Providers.d.ts +38 -0
- package/lib/Railway/Providers.d.ts.map +1 -0
- package/lib/Railway/Providers.js +102 -0
- package/lib/Railway/Providers.js.map +1 -0
- package/lib/Railway/PutObject.d.ts +35 -0
- package/lib/Railway/PutObject.d.ts.map +1 -0
- package/lib/Railway/PutObject.js +3 -0
- package/lib/Railway/PutObject.js.map +1 -0
- package/lib/Railway/PutObjectHttp.d.ts +11 -0
- package/lib/Railway/PutObjectHttp.d.ts.map +1 -0
- package/lib/Railway/PutObjectHttp.js +16 -0
- package/lib/Railway/PutObjectHttp.js.map +1 -0
- package/lib/Railway/ReadRedis.d.ts +25 -0
- package/lib/Railway/ReadRedis.d.ts.map +1 -0
- package/lib/Railway/ReadRedis.js +3 -0
- package/lib/Railway/ReadRedis.js.map +1 -0
- package/lib/Railway/ReadRedisHttp.d.ts +10 -0
- package/lib/Railway/ReadRedisHttp.d.ts.map +1 -0
- package/lib/Railway/ReadRedisHttp.js +14 -0
- package/lib/Railway/ReadRedisHttp.js.map +1 -0
- package/lib/Railway/ReadWriteRedis.d.ts +28 -0
- package/lib/Railway/ReadWriteRedis.d.ts.map +1 -0
- package/lib/Railway/ReadWriteRedis.js +3 -0
- package/lib/Railway/ReadWriteRedis.js.map +1 -0
- package/lib/Railway/ReadWriteRedisHttp.d.ts +10 -0
- package/lib/Railway/ReadWriteRedisHttp.d.ts.map +1 -0
- package/lib/Railway/ReadWriteRedisHttp.js +14 -0
- package/lib/Railway/ReadWriteRedisHttp.js.map +1 -0
- package/lib/Railway/Redis.d.ts +220 -0
- package/lib/Railway/Redis.d.ts.map +1 -0
- package/lib/Railway/Redis.js +512 -0
- package/lib/Railway/Redis.js.map +1 -0
- package/lib/Railway/RedisBinding.d.ts +8 -0
- package/lib/Railway/RedisBinding.d.ts.map +1 -0
- package/lib/Railway/RedisBinding.js +63 -0
- package/lib/Railway/RedisBinding.js.map +1 -0
- package/lib/Railway/RedisHttp.d.ts +8 -0
- package/lib/Railway/RedisHttp.d.ts.map +1 -0
- package/lib/Railway/RedisHttp.js +8 -0
- package/lib/Railway/RedisHttp.js.map +1 -0
- package/lib/Railway/RetryPolicy.d.ts +22 -0
- package/lib/Railway/RetryPolicy.d.ts.map +1 -0
- package/lib/Railway/RetryPolicy.js +43 -0
- package/lib/Railway/RetryPolicy.js.map +1 -0
- package/lib/Railway/Sandbox.d.ts +323 -0
- package/lib/Railway/Sandbox.d.ts.map +1 -0
- package/lib/Railway/Sandbox.js +452 -0
- package/lib/Railway/Sandbox.js.map +1 -0
- package/lib/Railway/Service.d.ts +444 -0
- package/lib/Railway/Service.d.ts.map +1 -0
- package/lib/Railway/Service.js +229 -0
- package/lib/Railway/Service.js.map +1 -0
- package/lib/Railway/ServiceDomain.d.ts +48 -0
- package/lib/Railway/ServiceDomain.d.ts.map +1 -0
- package/lib/Railway/ServiceDomain.js +190 -0
- package/lib/Railway/ServiceDomain.js.map +1 -0
- package/lib/Railway/ServiceProvider.d.ts +42 -0
- package/lib/Railway/ServiceProvider.d.ts.map +1 -0
- package/lib/Railway/ServiceProvider.js +821 -0
- package/lib/Railway/ServiceProvider.js.map +1 -0
- package/lib/Railway/TcpProxy.d.ts +172 -0
- package/lib/Railway/TcpProxy.d.ts.map +1 -0
- package/lib/Railway/TcpProxy.js +267 -0
- package/lib/Railway/TcpProxy.js.map +1 -0
- package/lib/Railway/Template.d.ts +200 -0
- package/lib/Railway/Template.d.ts.map +1 -0
- package/lib/Railway/Template.js +565 -0
- package/lib/Railway/Template.js.map +1 -0
- package/lib/Railway/Up.d.ts +30 -0
- package/lib/Railway/Up.d.ts.map +1 -0
- package/lib/Railway/Up.js +77 -0
- package/lib/Railway/Up.js.map +1 -0
- package/lib/Railway/Usage.d.ts +248 -0
- package/lib/Railway/Usage.d.ts.map +1 -0
- package/lib/Railway/Usage.js +337 -0
- package/lib/Railway/Usage.js.map +1 -0
- package/lib/Railway/Variable.d.ts +252 -0
- package/lib/Railway/Variable.d.ts.map +1 -0
- package/lib/Railway/Variable.js +434 -0
- package/lib/Railway/Variable.js.map +1 -0
- package/lib/Railway/Volume.d.ts +265 -0
- package/lib/Railway/Volume.d.ts.map +1 -0
- package/lib/Railway/Volume.js +526 -0
- package/lib/Railway/Volume.js.map +1 -0
- package/lib/Railway/VolumeBackup.d.ts +247 -0
- package/lib/Railway/VolumeBackup.d.ts.map +1 -0
- package/lib/Railway/VolumeBackup.js +572 -0
- package/lib/Railway/VolumeBackup.js.map +1 -0
- package/lib/Railway/Website/Astro.d.ts +97 -0
- package/lib/Railway/Website/Astro.d.ts.map +1 -0
- package/lib/Railway/Website/Astro.js +66 -0
- package/lib/Railway/Website/Astro.js.map +1 -0
- package/lib/Railway/Website/Cdn.d.ts +65 -0
- package/lib/Railway/Website/Cdn.d.ts.map +1 -0
- package/lib/Railway/Website/Cdn.js +117 -0
- package/lib/Railway/Website/Cdn.js.map +1 -0
- package/lib/Railway/Website/Foldkit.d.ts +53 -0
- package/lib/Railway/Website/Foldkit.d.ts.map +1 -0
- package/lib/Railway/Website/Foldkit.js +45 -0
- package/lib/Railway/Website/Foldkit.js.map +1 -0
- package/lib/Railway/Website/FrameworkSite.d.ts +178 -0
- package/lib/Railway/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Railway/Website/FrameworkSite.js +142 -0
- package/lib/Railway/Website/FrameworkSite.js.map +1 -0
- package/lib/Railway/Website/Nextjs.d.ts +60 -0
- package/lib/Railway/Website/Nextjs.d.ts.map +1 -0
- package/lib/Railway/Website/Nextjs.js +53 -0
- package/lib/Railway/Website/Nextjs.js.map +1 -0
- package/lib/Railway/Website/Nuxt.d.ts +58 -0
- package/lib/Railway/Website/Nuxt.d.ts.map +1 -0
- package/lib/Railway/Website/Nuxt.js +44 -0
- package/lib/Railway/Website/Nuxt.js.map +1 -0
- package/lib/Railway/Website/Octane.d.ts +63 -0
- package/lib/Railway/Website/Octane.d.ts.map +1 -0
- package/lib/Railway/Website/Octane.js +54 -0
- package/lib/Railway/Website/Octane.js.map +1 -0
- package/lib/Railway/Website/ReactRouter.d.ts +82 -0
- package/lib/Railway/Website/ReactRouter.d.ts.map +1 -0
- package/lib/Railway/Website/ReactRouter.js +73 -0
- package/lib/Railway/Website/ReactRouter.js.map +1 -0
- package/lib/Railway/Website/SolidStart.d.ts +96 -0
- package/lib/Railway/Website/SolidStart.d.ts.map +1 -0
- package/lib/Railway/Website/SolidStart.js +75 -0
- package/lib/Railway/Website/SolidStart.js.map +1 -0
- package/lib/Railway/Website/StaticSite.d.ts +124 -0
- package/lib/Railway/Website/StaticSite.d.ts.map +1 -0
- package/lib/Railway/Website/StaticSite.js +183 -0
- package/lib/Railway/Website/StaticSite.js.map +1 -0
- package/lib/Railway/Website/SvelteKit.d.ts +60 -0
- package/lib/Railway/Website/SvelteKit.d.ts.map +1 -0
- package/lib/Railway/Website/SvelteKit.js +44 -0
- package/lib/Railway/Website/SvelteKit.js.map +1 -0
- package/lib/Railway/Website/TanStackStart.d.ts +78 -0
- package/lib/Railway/Website/TanStackStart.d.ts.map +1 -0
- package/lib/Railway/Website/TanStackStart.js +69 -0
- package/lib/Railway/Website/TanStackStart.js.map +1 -0
- package/lib/Railway/Website/Vite.d.ts +97 -0
- package/lib/Railway/Website/Vite.d.ts.map +1 -0
- package/lib/Railway/Website/Vite.js +93 -0
- package/lib/Railway/Website/Vite.js.map +1 -0
- package/lib/Railway/Website/Vocs.d.ts +61 -0
- package/lib/Railway/Website/Vocs.d.ts.map +1 -0
- package/lib/Railway/Website/Vocs.js +46 -0
- package/lib/Railway/Website/Vocs.js.map +1 -0
- package/lib/Railway/Website/Waku.d.ts +62 -0
- package/lib/Railway/Website/Waku.d.ts.map +1 -0
- package/lib/Railway/Website/Waku.js +46 -0
- package/lib/Railway/Website/Waku.js.map +1 -0
- package/lib/Railway/Website/index.d.ts +16 -0
- package/lib/Railway/Website/index.d.ts.map +1 -0
- package/lib/Railway/Website/index.js +16 -0
- package/lib/Railway/Website/index.js.map +1 -0
- package/lib/Railway/WriteRedis.d.ts +25 -0
- package/lib/Railway/WriteRedis.d.ts.map +1 -0
- package/lib/Railway/WriteRedis.js +3 -0
- package/lib/Railway/WriteRedis.js.map +1 -0
- package/lib/Railway/WriteRedisHttp.d.ts +10 -0
- package/lib/Railway/WriteRedisHttp.d.ts.map +1 -0
- package/lib/Railway/WriteRedisHttp.js +14 -0
- package/lib/Railway/WriteRedisHttp.js.map +1 -0
- package/lib/Railway/hosted.d.ts +159 -0
- package/lib/Railway/hosted.d.ts.map +1 -0
- package/lib/Railway/hosted.js +613 -0
- package/lib/Railway/hosted.js.map +1 -0
- package/lib/Railway/index.d.ts +58 -0
- package/lib/Railway/index.d.ts.map +1 -0
- package/lib/Railway/index.js +57 -0
- package/lib/Railway/index.js.map +1 -0
- package/lib/Railway/ref.d.ts +65 -0
- package/lib/Railway/ref.d.ts.map +1 -0
- package/lib/Railway/ref.js +59 -0
- package/lib/Railway/ref.js.map +1 -0
- package/lib/Railway/rpc-server.d.ts +17 -0
- package/lib/Railway/rpc-server.d.ts.map +1 -0
- package/lib/Railway/rpc-server.js +109 -0
- package/lib/Railway/rpc-server.js.map +1 -0
- package/lib/Railway/rpc-token.d.ts +22 -0
- package/lib/Railway/rpc-token.d.ts.map +1 -0
- package/lib/Railway/rpc-token.js +24 -0
- package/lib/Railway/rpc-token.js.map +1 -0
- package/lib/Railway/transient.d.ts +24 -0
- package/lib/Railway/transient.d.ts.map +1 -0
- package/lib/Railway/transient.js +56 -0
- package/lib/Railway/transient.js.map +1 -0
- package/lib/Redis/Client.d.ts +114 -0
- package/lib/Redis/Client.d.ts.map +1 -0
- package/lib/Redis/Client.js +165 -0
- package/lib/Redis/Client.js.map +1 -0
- package/lib/Redis/Errors.d.ts +37 -0
- package/lib/Redis/Errors.d.ts.map +1 -0
- package/lib/Redis/Errors.js +17 -0
- package/lib/Redis/Errors.js.map +1 -0
- package/lib/Redis/Protocol.d.ts +47 -0
- package/lib/Redis/Protocol.d.ts.map +1 -0
- package/lib/Redis/Protocol.js +276 -0
- package/lib/Redis/Protocol.js.map +1 -0
- package/lib/Redis/Resp.d.ts +65 -0
- package/lib/Redis/Resp.d.ts.map +1 -0
- package/lib/Redis/Resp.js +569 -0
- package/lib/Redis/Resp.js.map +1 -0
- package/lib/Redis/index.d.ts +28 -0
- package/lib/Redis/index.d.ts.map +1 -0
- package/lib/Redis/index.js +28 -0
- package/lib/Redis/index.js.map +1 -0
- package/lib/Runtime/Bootstrap/AppRunner.d.ts +3 -0
- package/lib/Runtime/Bootstrap/AppRunner.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/AppRunner.js +22 -0
- package/lib/Runtime/Bootstrap/AppRunner.js.map +1 -0
- package/lib/Runtime/Bootstrap/Batch.d.ts +6 -0
- package/lib/Runtime/Bootstrap/Batch.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Batch.js +24 -0
- package/lib/Runtime/Bootstrap/Batch.js.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainer.d.ts +17 -0
- package/lib/Runtime/Bootstrap/CloudflareContainer.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainer.js +40 -0
- package/lib/Runtime/Bootstrap/CloudflareContainer.js.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerBun.d.ts +3 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerBun.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerBun.js +6 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerBun.js.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerNode.d.ts +3 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerNode.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerNode.js +6 -0
- package/lib/Runtime/Bootstrap/CloudflareContainerNode.js.map +1 -0
- package/lib/Runtime/Bootstrap/Docker.d.ts +7 -0
- package/lib/Runtime/Bootstrap/Docker.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Docker.js +25 -0
- package/lib/Runtime/Bootstrap/Docker.js.map +1 -0
- package/lib/Runtime/Bootstrap/Ec2.d.ts +3 -0
- package/lib/Runtime/Bootstrap/Ec2.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Ec2.js +25 -0
- package/lib/Runtime/Bootstrap/Ec2.js.map +1 -0
- package/lib/Runtime/Bootstrap/Ecs.d.ts +8 -0
- package/lib/Runtime/Bootstrap/Ecs.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Ecs.js +39 -0
- package/lib/Runtime/Bootstrap/Ecs.js.map +1 -0
- package/lib/Runtime/Bootstrap/Fly.d.ts +8 -0
- package/lib/Runtime/Bootstrap/Fly.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Fly.js +26 -0
- package/lib/Runtime/Bootstrap/Fly.js.map +1 -0
- package/lib/Runtime/Bootstrap/Hetzner.d.ts +8 -0
- package/lib/Runtime/Bootstrap/Hetzner.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Hetzner.js +26 -0
- package/lib/Runtime/Bootstrap/Hetzner.js.map +1 -0
- package/lib/Runtime/Bootstrap/Lambda.d.ts +14 -0
- package/lib/Runtime/Bootstrap/Lambda.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Lambda.js +63 -0
- package/lib/Runtime/Bootstrap/Lambda.js.map +1 -0
- package/lib/Runtime/Bootstrap/Microvm.d.ts +19 -0
- package/lib/Runtime/Bootstrap/Microvm.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Microvm.js +24 -0
- package/lib/Runtime/Bootstrap/Microvm.js.map +1 -0
- package/lib/Runtime/Bootstrap/MicrovmBun.d.ts +3 -0
- package/lib/Runtime/Bootstrap/MicrovmBun.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/MicrovmBun.js +6 -0
- package/lib/Runtime/Bootstrap/MicrovmBun.js.map +1 -0
- package/lib/Runtime/Bootstrap/MicrovmNode.d.ts +3 -0
- package/lib/Runtime/Bootstrap/MicrovmNode.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/MicrovmNode.js +6 -0
- package/lib/Runtime/Bootstrap/MicrovmNode.js.map +1 -0
- package/lib/Runtime/Bootstrap/Prisma.d.ts +12 -0
- package/lib/Runtime/Bootstrap/Prisma.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Prisma.js +24 -0
- package/lib/Runtime/Bootstrap/Prisma.js.map +1 -0
- package/lib/Runtime/Bootstrap/Process.d.ts +62 -0
- package/lib/Runtime/Bootstrap/Process.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Process.js +99 -0
- package/lib/Runtime/Bootstrap/Process.js.map +1 -0
- package/lib/Runtime/Bootstrap/Railway.d.ts +8 -0
- package/lib/Runtime/Bootstrap/Railway.d.ts.map +1 -0
- package/lib/Runtime/Bootstrap/Railway.js +29 -0
- package/lib/Runtime/Bootstrap/Railway.js.map +1 -0
- package/lib/State/HttpStateApi.d.ts +8 -8
- package/lib/Telemetry/Metrics.d.ts.map +1 -1
- package/lib/Telemetry/Metrics.js +7 -1
- package/lib/Telemetry/Metrics.js.map +1 -1
- package/lib/Test/Alchemy.d.ts.map +1 -1
- package/lib/Test/Alchemy.js +3 -0
- package/lib/Test/Alchemy.js.map +1 -1
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +13 -2
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Core.d.ts +3 -3
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +18 -15
- package/lib/Test/Core.js.map +1 -1
- package/lib/Util/ConfigProvider.js +1 -1
- package/lib/Util/ConfigProvider.js.map +1 -1
- package/lib/Util/extraFiles.d.ts +77 -0
- package/lib/Util/extraFiles.d.ts.map +1 -0
- package/lib/Util/extraFiles.js +174 -0
- package/lib/Util/extraFiles.js.map +1 -0
- package/lib/Util/index.d.ts +1 -0
- package/lib/Util/index.d.ts.map +1 -1
- package/lib/Util/index.js +1 -0
- package/lib/Util/index.js.map +1 -1
- package/lib/Util/tarGzip.d.ts +13 -0
- package/lib/Util/tarGzip.d.ts.map +1 -0
- package/lib/Util/tarGzip.js +138 -0
- package/lib/Util/tarGzip.js.map +1 -0
- package/lib/Util/types.d.ts +10 -0
- package/lib/Util/types.d.ts.map +1 -1
- package/lib/{AWS/Website → Website}/Server.d.ts +15 -10
- package/lib/Website/Server.d.ts.map +1 -0
- package/lib/{AWS/Website → Website}/Server.js +20 -13
- package/lib/Website/Server.js.map +1 -0
- package/lib/Website/ServerLocal.d.ts +2 -0
- package/lib/Website/ServerLocal.d.ts.map +1 -0
- package/lib/Website/ServerLocal.js +4 -0
- package/lib/Website/ServerLocal.js.map +1 -0
- package/lib/Website/assets.d.ts +56 -0
- package/lib/Website/assets.d.ts.map +1 -0
- package/lib/Website/assets.js +95 -0
- package/lib/Website/assets.js.map +1 -0
- package/lib/Website/packExtraFiles.d.ts +13 -0
- package/lib/Website/packExtraFiles.d.ts.map +1 -0
- package/lib/Website/packExtraFiles.js +49 -0
- package/lib/Website/packExtraFiles.js.map +1 -0
- package/package.json +77 -37
- package/src/AWS/ACM/Certificate.ts +32 -14
- package/src/AWS/AppRunner/Service.ts +131 -64
- package/src/AWS/ApplicationAutoScaling/ScalingPolicy.ts +42 -17
- package/src/AWS/AuthProvider.ts +8 -2
- package/src/AWS/Batch/JobDefinition.ts +15 -69
- package/src/AWS/CloudFront/KvEntries.ts +20 -11
- package/src/AWS/CloudFront/KvRoutesUpdate.ts +3 -8
- package/src/AWS/CloudFront/common.ts +9 -1
- package/src/AWS/Cognito/UserPool.ts +275 -39
- package/src/AWS/EC2/Instance.ts +38 -14
- package/src/AWS/EC2/NetworkAcl.ts +17 -12
- package/src/AWS/EC2/hosted.ts +6 -75
- package/src/AWS/ECR/Image.ts +25 -56
- package/src/AWS/ECR/ImageSource.ts +10 -97
- package/src/AWS/ECS/EcsDevWatch.ts +1 -89
- package/src/AWS/ECS/FlociServiceProvider.ts +45 -26
- package/src/AWS/ECS/FlociTaskProvider.ts +33 -16
- package/src/AWS/ECS/Service.ts +2 -30
- package/src/AWS/Endpoint.ts +12 -0
- package/src/AWS/IAM/SAMLProvider.ts +48 -26
- package/src/AWS/Lambda/DurableFunction.ts +25 -4
- package/src/AWS/Lambda/FlociFunctionProvider.ts +82 -30
- package/src/AWS/Lambda/FlociMicrovmImageProvider.ts +255 -0
- package/src/AWS/Lambda/Function.ts +624 -136
- package/src/AWS/Lambda/FunctionBundle.ts +14 -127
- package/src/AWS/Lambda/FunctionImage.ts +705 -0
- package/src/AWS/Lambda/MicrovmBundle.ts +12 -66
- package/src/AWS/Lambda/MicrovmImage.ts +6 -2
- package/src/AWS/Lambda/MicrovmProvider.ts +189 -63
- package/src/AWS/Lambda/index.ts +1 -0
- package/src/AWS/Local/DevWatchProvider.ts +104 -4
- package/src/AWS/Local/FlociServices.ts +4 -0
- package/src/AWS/Local/ImageSourceTrigger.ts +102 -0
- package/src/AWS/Local/Local.ts +2 -0
- package/src/AWS/Local/ProviderContext.ts +93 -0
- package/src/AWS/Providers.ts +773 -719
- package/src/AWS/Route53/HostedZoneLookup.ts +63 -0
- package/src/AWS/Route53/Record.ts +28 -8
- package/src/AWS/Route53/Records.ts +48 -9
- package/src/AWS/Website/AssetDeployment.ts +116 -109
- package/src/AWS/Website/Astro.ts +51 -27
- package/src/AWS/Website/Foldkit.ts +126 -0
- package/src/AWS/Website/FrameworkSite.ts +38 -40
- package/src/AWS/Website/Nextjs.ts +39 -39
- package/src/AWS/Website/Nuxt.ts +38 -9
- package/src/AWS/Website/Octane.ts +5 -6
- package/src/AWS/Website/ReactRouter.ts +98 -0
- package/src/AWS/Website/Router.ts +7 -3
- package/src/AWS/Website/ServerLocal.ts +1 -1
- package/src/AWS/Website/SolidStart.ts +102 -0
- package/src/AWS/Website/SsrSite.ts +4 -2
- package/src/AWS/Website/StaticSite.ts +8 -10
- package/src/AWS/Website/SvelteKit.ts +34 -13
- package/src/AWS/Website/TanStackStart.ts +92 -0
- package/src/AWS/Website/Vite.ts +83 -22
- package/src/AWS/Website/Waku.ts +48 -12
- package/src/AWS/Website/index.ts +4 -1
- package/src/AWS/Website/shared.ts +11 -2
- package/src/Auth/AuthProvider.ts +7 -1
- package/src/Auth/Lock.ts +80 -2
- package/src/Axiom/Dataset.ts +59 -31
- package/src/Binding.ts +155 -2
- package/src/Bundle/Bundle.ts +62 -3
- package/src/Cli/commands/deploy.ts +21 -1
- package/src/Cloudflare/AI/SecuritySettings.ts +1 -0
- package/src/Cloudflare/Containers/ContainerApplication.ts +4 -2
- package/src/Cloudflare/Containers/ContainerBundle.ts +11 -99
- package/src/Cloudflare/Containers/ContainerPlatform.ts +38 -2
- package/src/Cloudflare/Containers/ContainerProvider.ts +333 -37
- package/src/Cloudflare/Containers/LocalContainerProvider.ts +58 -7
- package/src/Cloudflare/Email/CatchAll.ts +32 -24
- package/src/Cloudflare/Email/Rule.ts +6 -2
- package/src/Cloudflare/Email/retry.ts +29 -0
- package/src/Cloudflare/R2/Bucket.ts +169 -39
- package/src/Cloudflare/R2/DataCatalog.ts +22 -20
- package/src/Cloudflare/Website/Astro.ts +52 -41
- package/src/Cloudflare/Website/Foldkit.ts +5 -5
- package/src/Cloudflare/Website/Nextjs.ts +38 -68
- package/src/Cloudflare/Website/Nuxt.ts +37 -14
- package/src/Cloudflare/Website/SvelteKit.ts +43 -58
- package/src/Cloudflare/Website/Vite.ts +2 -3
- package/src/Cloudflare/Website/Vocs.ts +195 -0
- package/src/Cloudflare/Website/Waku.ts +47 -27
- package/src/Cloudflare/Website/index.ts +1 -0
- package/src/Cloudflare/Workers/EmailEventSource.ts +348 -0
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +183 -1
- package/src/Cloudflare/Workers/Worker.ts +11 -1
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +14 -3
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/Zone/lookup.ts +20 -37
- package/src/Command/Build.ts +11 -5
- package/src/Command/Command.ts +17 -5
- package/src/Docker/BuildHash.ts +308 -0
- package/src/Docker/Container.ts +130 -21
- package/src/Docker/Docker.ts +3 -0
- package/src/Docker/ServiceImage.ts +6 -74
- package/src/Fly/Bucket.ts +28 -26
- package/src/Fly/BucketBinding.ts +11 -8
- package/src/Fly/ConnectPostgres.ts +0 -2
- package/src/Fly/Decrypt.ts +1 -6
- package/src/Fly/DecryptHttp.ts +4 -23
- package/src/Fly/Encrypt.ts +1 -6
- package/src/Fly/EncryptHttp.ts +0 -20
- package/src/Fly/Environment.ts +6 -2
- package/src/Fly/Errors.ts +0 -19
- package/src/Fly/Postgres.ts +15 -16
- package/src/Fly/PostgresMigrations.ts +44 -1
- package/src/Fly/Providers.ts +14 -0
- package/src/Fly/ReadRedis.ts +3 -16
- package/src/Fly/Redis.ts +4 -10
- package/src/Fly/RedisBinding.ts +6 -145
- package/src/Fly/RedisHttp.ts +8 -48
- package/src/Fly/SecretHttp.ts +36 -32
- package/src/Fly/SecretKeyHttp.ts +1 -39
- package/src/Fly/Service.ts +120 -27
- package/src/Fly/Sign.ts +1 -6
- package/src/Fly/SignHttp.ts +0 -14
- package/src/Fly/Sprite.ts +25 -15
- package/src/Fly/SpriteHttp.ts +4 -2
- package/src/Fly/Verify.ts +1 -6
- package/src/Fly/VerifyHttp.ts +2 -14
- package/src/Fly/Website/AssetDeployment.ts +294 -0
- package/src/Fly/Website/Astro.ts +94 -0
- package/src/Fly/Website/Foldkit.ts +42 -0
- package/src/Fly/Website/FrameworkSite.ts +370 -0
- package/src/Fly/Website/Nextjs.ts +51 -0
- package/src/Fly/Website/Nuxt.ts +49 -0
- package/src/Fly/Website/Octane.ts +54 -0
- package/src/Fly/Website/ReactRouter.ts +77 -0
- package/src/Fly/Website/SolidStart.ts +92 -0
- package/src/Fly/Website/StaticSite.ts +278 -0
- package/src/Fly/Website/SvelteKit.ts +51 -0
- package/src/Fly/Website/TanStackStart.ts +73 -0
- package/src/Fly/Website/Vite.ts +118 -0
- package/src/Fly/Website/Vocs.ts +52 -0
- package/src/Fly/Website/Waku.ts +66 -0
- package/src/Fly/Website/index.ts +15 -0
- package/src/Fly/WriteRedis.ts +3 -11
- package/src/Fly/hosted.ts +151 -82
- package/src/Fly/index.ts +1 -0
- package/src/Hetzner/MountVolume.ts +1 -1
- package/src/Hetzner/Providers.ts +8 -0
- package/src/Hetzner/Server.ts +39 -15
- package/src/Hetzner/Service.ts +20 -4
- package/src/Hetzner/Website/Astro.ts +97 -0
- package/src/Hetzner/Website/Foldkit.ts +44 -0
- package/src/Hetzner/Website/FrameworkSite.ts +370 -0
- package/src/Hetzner/Website/Nextjs.ts +54 -0
- package/src/Hetzner/Website/Nuxt.ts +56 -0
- package/src/Hetzner/Website/Octane.ts +56 -0
- package/src/Hetzner/Website/ReactRouter.ts +80 -0
- package/src/Hetzner/Website/SolidStart.ts +94 -0
- package/src/Hetzner/Website/StaticSite.ts +271 -0
- package/src/Hetzner/Website/SvelteKit.ts +56 -0
- package/src/Hetzner/Website/TanStackStart.ts +75 -0
- package/src/Hetzner/Website/Vite.ts +117 -0
- package/src/Hetzner/Website/Vocs.ts +54 -0
- package/src/Hetzner/Website/Waku.ts +60 -0
- package/src/Hetzner/Website/index.ts +14 -0
- package/src/Hetzner/actions.ts +6 -13
- package/src/Hetzner/hosted.ts +314 -95
- package/src/Hetzner/index.ts +1 -0
- package/src/Http.ts +14 -2
- package/src/Kubernetes/HelmChart.ts +5 -3
- package/src/Kubernetes/internal/helm.ts +29 -6
- package/src/Local/DockerHostGateway.ts +18 -0
- package/src/Local/ProviderLayer.ts +22 -0
- package/src/Local/RpcProvider.ts +1 -1
- package/src/Local/RpcProviderProxy.ts +25 -1
- package/src/Planetscale/Postgres/PostgresBranch.ts +2 -1
- package/src/Planetscale/Postgres/PostgresClusterSize.ts +134 -9
- package/src/Planetscale/Postgres/PostgresDatabase.ts +15 -1
- package/src/Platform.ts +9 -8
- package/src/Prisma/Compute.ts +10 -68
- package/src/Prisma/PrismaDevDatabase.ts +9 -1
- package/src/Provider.ts +103 -6
- package/src/Railway/AuditLog.ts +240 -0
- package/src/Railway/AuthProvider.ts +412 -0
- package/src/Railway/Bind.ts +175 -0
- package/src/Railway/Bucket.ts +786 -0
- package/src/Railway/BucketBinding.ts +174 -0
- package/src/Railway/Catalog.ts +68 -0
- package/src/Railway/CloudAgent.ts +467 -0
- package/src/Railway/ConnectMongo.ts +91 -0
- package/src/Railway/ConnectMongoHttp.ts +156 -0
- package/src/Railway/ConnectMySQL.ts +92 -0
- package/src/Railway/ConnectMySQLHttp.ts +156 -0
- package/src/Railway/ConnectPostgres.ts +103 -0
- package/src/Railway/ConnectPostgresHttp.ts +154 -0
- package/src/Railway/Credentials.ts +68 -0
- package/src/Railway/CustomDomain.ts +527 -0
- package/src/Railway/DeleteObject.ts +48 -0
- package/src/Railway/DeleteObjectHttp.ts +19 -0
- package/src/Railway/Environment.ts +121 -0
- package/src/Railway/Function.ts +1342 -0
- package/src/Railway/GetObject.ts +48 -0
- package/src/Railway/GetObjectHttp.ts +19 -0
- package/src/Railway/Group.ts +1202 -0
- package/src/Railway/HeadObject.ts +46 -0
- package/src/Railway/HeadObjectHttp.ts +19 -0
- package/src/Railway/InferEnv.ts +32 -0
- package/src/Railway/ListObjectsV2.ts +48 -0
- package/src/Railway/ListObjectsV2Http.ts +19 -0
- package/src/Railway/LoginSession.ts +105 -0
- package/src/Railway/Metadata.ts +105 -0
- package/src/Railway/Mongo.ts +1335 -0
- package/src/Railway/MountVolume.ts +169 -0
- package/src/Railway/MySQL.ts +1336 -0
- package/src/Railway/Postgres.ts +1287 -0
- package/src/Railway/PrivateNetwork.ts +989 -0
- package/src/Railway/Project.ts +436 -0
- package/src/Railway/ProjectEnvironment.ts +374 -0
- package/src/Railway/Providers.ts +173 -0
- package/src/Railway/PutObject.ts +49 -0
- package/src/Railway/PutObjectHttp.ts +19 -0
- package/src/Railway/ReadRedis.ts +30 -0
- package/src/Railway/ReadRedisHttp.ts +17 -0
- package/src/Railway/ReadWriteRedis.ts +35 -0
- package/src/Railway/ReadWriteRedisHttp.ts +17 -0
- package/src/Railway/Redis.ts +812 -0
- package/src/Railway/RedisBinding.ts +84 -0
- package/src/Railway/RedisHttp.ts +11 -0
- package/src/Railway/RetryPolicy.ts +53 -0
- package/src/Railway/Sandbox.ts +772 -0
- package/src/Railway/Service.ts +518 -0
- package/src/Railway/ServiceDomain.ts +313 -0
- package/src/Railway/ServiceProvider.ts +1226 -0
- package/src/Railway/TODO.md +95 -0
- package/src/Railway/TcpProxy.ts +442 -0
- package/src/Railway/Template.ts +892 -0
- package/src/Railway/Up.ts +108 -0
- package/src/Railway/Usage.ts +569 -0
- package/src/Railway/Variable.ts +665 -0
- package/src/Railway/Volume.ts +874 -0
- package/src/Railway/VolumeBackup.ts +925 -0
- package/src/Railway/Website/Astro.ts +105 -0
- package/src/Railway/Website/Cdn.ts +198 -0
- package/src/Railway/Website/Foldkit.ts +48 -0
- package/src/Railway/Website/FrameworkSite.ts +344 -0
- package/src/Railway/Website/Nextjs.ts +60 -0
- package/src/Railway/Website/Nuxt.ts +57 -0
- package/src/Railway/Website/Octane.ts +61 -0
- package/src/Railway/Website/ReactRouter.ts +80 -0
- package/src/Railway/Website/SolidStart.ts +96 -0
- package/src/Railway/Website/StaticSite.ts +264 -0
- package/src/Railway/Website/SvelteKit.ts +60 -0
- package/src/Railway/Website/TanStackStart.ts +76 -0
- package/src/Railway/Website/Vite.ts +113 -0
- package/src/Railway/Website/Vocs.ts +61 -0
- package/src/Railway/Website/Waku.ts +64 -0
- package/src/Railway/Website/index.ts +15 -0
- package/src/Railway/WriteRedis.ts +30 -0
- package/src/Railway/WriteRedisHttp.ts +17 -0
- package/src/Railway/hosted.ts +895 -0
- package/src/Railway/index.ts +69 -0
- package/src/Railway/ref.ts +81 -0
- package/src/Railway/rpc-server.ts +135 -0
- package/src/Railway/rpc-token.ts +35 -0
- package/src/Railway/transient.ts +89 -0
- package/src/Redis/Client.ts +360 -0
- package/src/Redis/Errors.ts +27 -0
- package/src/Redis/Protocol.ts +451 -0
- package/src/Redis/Resp.ts +650 -0
- package/src/Redis/index.ts +27 -0
- package/src/Runtime/Bootstrap/AppRunner.ts +50 -0
- package/src/Runtime/Bootstrap/Batch.ts +51 -0
- package/src/Runtime/Bootstrap/CloudflareContainer.ts +90 -0
- package/src/Runtime/Bootstrap/CloudflareContainerBun.ts +17 -0
- package/src/Runtime/Bootstrap/CloudflareContainerNode.ts +17 -0
- package/src/Runtime/Bootstrap/Docker.ts +51 -0
- package/src/Runtime/Bootstrap/Ec2.ts +52 -0
- package/src/Runtime/Bootstrap/Ecs.ts +66 -0
- package/src/Runtime/Bootstrap/Fly.ts +52 -0
- package/src/Runtime/Bootstrap/Hetzner.ts +52 -0
- package/src/Runtime/Bootstrap/Lambda.ts +100 -0
- package/src/Runtime/Bootstrap/Microvm.ts +68 -0
- package/src/Runtime/Bootstrap/MicrovmBun.ts +14 -0
- package/src/Runtime/Bootstrap/MicrovmNode.ts +14 -0
- package/src/Runtime/Bootstrap/Prisma.ts +71 -0
- package/src/Runtime/Bootstrap/Process.ts +131 -0
- package/src/Runtime/Bootstrap/Railway.ts +55 -0
- package/src/Telemetry/Metrics.ts +7 -1
- package/src/Test/Alchemy.ts +3 -0
- package/src/Test/Bun.ts +15 -2
- package/src/Test/Core.ts +27 -20
- package/src/Util/ConfigProvider.ts +1 -1
- package/src/Util/extraFiles.ts +246 -0
- package/src/Util/index.ts +1 -0
- package/src/Util/tarGzip.ts +180 -0
- package/src/Util/types.ts +13 -0
- package/src/{AWS/Website → Website}/Server.ts +34 -15
- package/src/Website/ServerLocal.ts +4 -0
- package/src/Website/assets.ts +116 -0
- package/src/Website/packExtraFiles.ts +62 -0
- package/lib/AWS/Website/Server.d.ts.map +0 -1
- package/lib/AWS/Website/Server.js.map +0 -1
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import type * as cf from "@cloudflare/workers-types";
|
|
2
|
+
import * as Cause from "effect/Cause";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Data from "effect/Data";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import type { Input } from "../../Input.ts";
|
|
8
|
+
import * as Namespace from "../../Namespace.ts";
|
|
9
|
+
import * as RemovalPolicy from "../../RemovalPolicy.ts";
|
|
10
|
+
import { RuntimeContext } from "../../RuntimeContext.ts";
|
|
11
|
+
import type { FunctionContext } from "../../Serverless/Function.ts";
|
|
12
|
+
import { CatchAll } from "../Email/CatchAll.ts";
|
|
13
|
+
import { Routing } from "../Email/Routing.ts";
|
|
14
|
+
import { Rule, type Matcher } from "../Email/Rule.ts";
|
|
15
|
+
import type { Reference } from "../Zone/lookup.ts";
|
|
16
|
+
import { isWorkerEvent, Worker } from "./Worker.ts";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Effect-native wrapper around Cloudflare's
|
|
20
|
+
* [`ForwardableEmailMessage`](https://developers.cloudflare.com/email-routing/email-workers/runtime-api/#forwardableemailmessage).
|
|
21
|
+
*
|
|
22
|
+
* Follows the same shape as the other Cloudflare bindings (R2, KV, …):
|
|
23
|
+
*
|
|
24
|
+
* - `raw` is the underlying `cf.ForwardableEmailMessage` — an escape
|
|
25
|
+
* hatch for any field or future API not yet wrapped.
|
|
26
|
+
* - Ergonomic fields (`from`, `to`, `headers`, `body`, `bodySize`) are
|
|
27
|
+
* forwarded verbatim.
|
|
28
|
+
* - Action methods (`forward`, `reply`, `setReject`) return `Effect`s
|
|
29
|
+
* instead of `Promise`/`void`.
|
|
30
|
+
*/
|
|
31
|
+
export interface ForwardableEmailMessage {
|
|
32
|
+
/** Underlying Cloudflare message — escape hatch for unwrapped APIs. */
|
|
33
|
+
readonly raw: cf.ForwardableEmailMessage;
|
|
34
|
+
/** Envelope From address. */
|
|
35
|
+
readonly from: string;
|
|
36
|
+
/** Envelope To address. */
|
|
37
|
+
readonly to: string;
|
|
38
|
+
/** RFC 5322 headers. */
|
|
39
|
+
readonly headers: cf.Headers;
|
|
40
|
+
/** Raw message body stream (RFC 5322 wire bytes). */
|
|
41
|
+
readonly body: cf.ReadableStream<Uint8Array>;
|
|
42
|
+
/** Size of the raw message body in bytes. */
|
|
43
|
+
readonly bodySize: number;
|
|
44
|
+
/**
|
|
45
|
+
* Reject this message back to the connecting client with a permanent
|
|
46
|
+
* SMTP error and the given reason.
|
|
47
|
+
*/
|
|
48
|
+
setReject(reason: string): Effect.Effect<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Forward this message to a verified destination address on the
|
|
51
|
+
* account. Fails with `EmailError` if Cloudflare rejects the forward
|
|
52
|
+
* (e.g. unverified destination).
|
|
53
|
+
*/
|
|
54
|
+
forward(
|
|
55
|
+
rcptTo: string,
|
|
56
|
+
headers?: cf.Headers,
|
|
57
|
+
): Effect.Effect<void, EmailError>;
|
|
58
|
+
/**
|
|
59
|
+
* Reply to the sender with a new outbound message. Fails with
|
|
60
|
+
* `EmailError` if Cloudflare rejects the reply.
|
|
61
|
+
*/
|
|
62
|
+
reply(message: cf.EmailMessage): Effect.Effect<void, EmailError>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export class EmailError extends Data.TaggedError("EmailError")<{
|
|
66
|
+
action: "forward" | "reply";
|
|
67
|
+
message: string;
|
|
68
|
+
cause: unknown;
|
|
69
|
+
}> {}
|
|
70
|
+
|
|
71
|
+
const wrap = (raw: cf.ForwardableEmailMessage): ForwardableEmailMessage => ({
|
|
72
|
+
raw,
|
|
73
|
+
from: raw.from,
|
|
74
|
+
to: raw.to,
|
|
75
|
+
headers: raw.headers,
|
|
76
|
+
body: raw.raw,
|
|
77
|
+
bodySize: raw.rawSize,
|
|
78
|
+
setReject: (reason) => Effect.sync(() => raw.setReject(reason)),
|
|
79
|
+
forward: (rcptTo, headers) =>
|
|
80
|
+
Effect.tryPromise({
|
|
81
|
+
try: () => raw.forward(rcptTo, headers),
|
|
82
|
+
catch: (cause) =>
|
|
83
|
+
new EmailError({
|
|
84
|
+
action: "forward",
|
|
85
|
+
message: `Cloudflare email forward failed: ${formatCause(cause)}`,
|
|
86
|
+
cause,
|
|
87
|
+
}),
|
|
88
|
+
}),
|
|
89
|
+
reply: (msg) =>
|
|
90
|
+
Effect.tryPromise({
|
|
91
|
+
try: () => raw.reply(msg),
|
|
92
|
+
catch: (cause) =>
|
|
93
|
+
new EmailError({
|
|
94
|
+
action: "reply",
|
|
95
|
+
message: `Cloudflare email reply failed: ${formatCause(cause)}`,
|
|
96
|
+
cause,
|
|
97
|
+
}),
|
|
98
|
+
}),
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Whether a subscription's matchers describe the zone's catch-all — either
|
|
103
|
+
* omitted entirely (the documented default) or a lone `{ type: "all" }`.
|
|
104
|
+
* Cloudflare models that as a per-zone singleton behind `/rules/catch_all`,
|
|
105
|
+
* so it maps to `Email.CatchAll` rather than `Email.Rule`.
|
|
106
|
+
*/
|
|
107
|
+
const isCatchAll = (matchers: Matcher[] | undefined): boolean =>
|
|
108
|
+
matchers === undefined ||
|
|
109
|
+
(matchers.length === 1 && matchers[0]?.type === "all");
|
|
110
|
+
|
|
111
|
+
const formatCause = (cause: unknown): string =>
|
|
112
|
+
cause instanceof Error ? cause.message : String(cause);
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Settings for {@link email} — both halves of the consumer in one place.
|
|
116
|
+
* `zone` opts in to the deploy-time setup: an `Email.Routing` toggle on the
|
|
117
|
+
* zone plus the routing resource that hands matched mail to the host
|
|
118
|
+
* Worker. Omit `zone` to manage routing yourself.
|
|
119
|
+
*
|
|
120
|
+
* Which routing resource depends on {@link EmailSubscribeProps.matchers}:
|
|
121
|
+
* a catch-all subscription yields `Email.CatchAll` (Cloudflare models the
|
|
122
|
+
* zone catch-all as a singleton behind its own endpoint), anything more
|
|
123
|
+
* specific yields `Email.Rule`.
|
|
124
|
+
*/
|
|
125
|
+
export interface EmailSubscribeProps {
|
|
126
|
+
/**
|
|
127
|
+
* Zone to enable email routing on and attach the routing resource to.
|
|
128
|
+
* Accepts a zone id, a zone name (`example.com`), or a
|
|
129
|
+
* `{ zoneId, name? }` object (a `Cloudflare.Zone` resource works).
|
|
130
|
+
* Required to auto-create routing resources; omit if you're managing
|
|
131
|
+
* `Email.Routing` and `Email.Rule`/`Email.CatchAll` yourself.
|
|
132
|
+
*/
|
|
133
|
+
zone?: Input<Reference>;
|
|
134
|
+
/**
|
|
135
|
+
* Which envelopes Cloudflare delivers to this Worker. Ignored when
|
|
136
|
+
* `zone` is omitted.
|
|
137
|
+
*
|
|
138
|
+
* Omitting this (or passing a lone `{ type: "all" }`) subscribes to the
|
|
139
|
+
* zone's catch-all, provisioned as `Email.CatchAll`. There is exactly one
|
|
140
|
+
* catch-all per zone, so a second Worker subscribing to it takes the
|
|
141
|
+
* zone's mail from the first.
|
|
142
|
+
*
|
|
143
|
+
* @default [{ type: "all" }]
|
|
144
|
+
*/
|
|
145
|
+
matchers?: Matcher[];
|
|
146
|
+
/**
|
|
147
|
+
* Display name for the auto-created `Email.Rule` / `Email.CatchAll`.
|
|
148
|
+
*
|
|
149
|
+
* @default the host worker's logical id
|
|
150
|
+
*/
|
|
151
|
+
ruleName?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Priority of the auto-created `Email.Rule`. Lower numbers run first.
|
|
154
|
+
* Ignored for a catch-all subscription — the catch-all is always
|
|
155
|
+
* evaluated last.
|
|
156
|
+
*
|
|
157
|
+
* @default 0
|
|
158
|
+
*/
|
|
159
|
+
priority?: number;
|
|
160
|
+
/**
|
|
161
|
+
* Whether the auto-created `Email.Rule` / `Email.CatchAll` is enabled.
|
|
162
|
+
*
|
|
163
|
+
* @default true
|
|
164
|
+
*/
|
|
165
|
+
enabled?: boolean;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Subscribe to Cloudflare Email Worker events with an Effect handler.
|
|
170
|
+
*
|
|
171
|
+
* Wires both halves of the consumer in one call:
|
|
172
|
+
*
|
|
173
|
+
* - **Runtime**: registers an `email` event listener on the Worker.
|
|
174
|
+
* The handler receives a {@link ForwardableEmailMessage} whose
|
|
175
|
+
* action methods (`forward`, `reply`, `setReject`) return `Effect`s.
|
|
176
|
+
* - **Deploy-time** (when `zone` is set): yields a
|
|
177
|
+
* `Cloudflare.Email.Routing` toggle on the zone plus the routing
|
|
178
|
+
* resource whose `actions: [{ type: "worker", … }]` targets this
|
|
179
|
+
* Worker — `Cloudflare.Email.CatchAll` for a catch-all subscription,
|
|
180
|
+
* `Cloudflare.Email.Rule` for anything more specific. No manual
|
|
181
|
+
* wiring needed in `alchemy.run.ts`.
|
|
182
|
+
*
|
|
183
|
+
* Requires `EmailEventSourceLive` provided on the Worker's Effect.
|
|
184
|
+
*
|
|
185
|
+
* **Failure semantics**: a failing handler is logged and the failure is
|
|
186
|
+
* re-raised. Cloudflare turns that into a temporary SMTP failure, so the
|
|
187
|
+
* sending server keeps the message and retries later — mail is never
|
|
188
|
+
* accepted and then silently dropped. Handle the failures you consider
|
|
189
|
+
* final inside the handler (`Effect.retry`, `Effect.catchTag`, or
|
|
190
|
+
* `message.setReject(...)` to bounce permanently); anything you let
|
|
191
|
+
* escape becomes a retryable delivery failure.
|
|
192
|
+
*
|
|
193
|
+
* ### Subscribing to Inbound Mail
|
|
194
|
+
* **Example:** Catch-all on a zone — auto-creates routing + catch-all
|
|
195
|
+
* ```typescript
|
|
196
|
+
* import * as Cloudflare from "alchemy/Cloudflare";
|
|
197
|
+
* import * as Effect from "effect/Effect";
|
|
198
|
+
*
|
|
199
|
+
* export default Cloudflare.Worker(
|
|
200
|
+
* "Inbox",
|
|
201
|
+
* { main: import.meta.url },
|
|
202
|
+
* Effect.gen(function* () {
|
|
203
|
+
* yield* Cloudflare.email({ zone: "example.com" }).subscribe(
|
|
204
|
+
* (message) => message.forward("ops@example.com"),
|
|
205
|
+
* );
|
|
206
|
+
* return {};
|
|
207
|
+
* }).pipe(Effect.provide(Cloudflare.EmailEventSourceLive)),
|
|
208
|
+
* );
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* **Example:** Match a specific address
|
|
212
|
+
* ```typescript
|
|
213
|
+
* yield* Cloudflare.email({
|
|
214
|
+
* zone: "example.com",
|
|
215
|
+
* matchers: [{ type: "literal", field: "to", value: "hello@example.com" }],
|
|
216
|
+
* }).subscribe((message) => message.forward("ops@example.com"));
|
|
217
|
+
* ```
|
|
218
|
+
*
|
|
219
|
+
* **Example:** Reject (bounce) a message
|
|
220
|
+
* ```typescript
|
|
221
|
+
* yield* Cloudflare.email({ zone: "example.com" }).subscribe((message) =>
|
|
222
|
+
* message.setReject("Mailbox closed"),
|
|
223
|
+
* );
|
|
224
|
+
* ```
|
|
225
|
+
*
|
|
226
|
+
* **Example:** Bring-your-own routing — no `zone`, no auto-create
|
|
227
|
+
* ```typescript
|
|
228
|
+
* // Manage `Email.Routing` / `Email.Rule` yourself in alchemy.run.ts.
|
|
229
|
+
* yield* Cloudflare.email().subscribe((message) =>
|
|
230
|
+
* Effect.log(`from ${message.from}`),
|
|
231
|
+
* );
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* @see https://developers.cloudflare.com/email-routing/email-workers/
|
|
235
|
+
*
|
|
236
|
+
* @binding
|
|
237
|
+
* @product Workers
|
|
238
|
+
* @category Workers & Compute
|
|
239
|
+
*/
|
|
240
|
+
export const email = (props: EmailSubscribeProps = {}) => ({
|
|
241
|
+
subscribe: <E = never, Req = never>(
|
|
242
|
+
process: (message: ForwardableEmailMessage) => Effect.Effect<void, E, Req>,
|
|
243
|
+
) => EmailEventSource.use((source) => source(props, process)),
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
export type EmailEventSourceService = <E = never, Req = never>(
|
|
247
|
+
props: EmailSubscribeProps,
|
|
248
|
+
process: (message: ForwardableEmailMessage) => Effect.Effect<void, E, Req>,
|
|
249
|
+
) => Effect.Effect<void, never, never>;
|
|
250
|
+
|
|
251
|
+
export class EmailEventSource extends Context.Service<
|
|
252
|
+
EmailEventSource,
|
|
253
|
+
EmailEventSourceService
|
|
254
|
+
>()("Cloudflare.Workers.EmailEventSource") {}
|
|
255
|
+
|
|
256
|
+
export const EmailEventSourceLive = Layer.effect(
|
|
257
|
+
EmailEventSource,
|
|
258
|
+
Effect.gen(function* () {
|
|
259
|
+
const host = yield* Worker;
|
|
260
|
+
return Effect.fn(function* <E, Req>(
|
|
261
|
+
props: EmailSubscribeProps,
|
|
262
|
+
process: (
|
|
263
|
+
message: ForwardableEmailMessage,
|
|
264
|
+
) => Effect.Effect<void, E, Req>,
|
|
265
|
+
) {
|
|
266
|
+
// Deploy-time: provision the Email.Routing toggle plus the routing
|
|
267
|
+
// resource that hands matched mail to this Worker. Skipped once
|
|
268
|
+
// running inside the deployed Worker (the global guard) and when
|
|
269
|
+
// `zone` is omitted (bring-your-own routing). Namespaced under the
|
|
270
|
+
// host so logical identity is stable per Worker.
|
|
271
|
+
if (!globalThis.__ALCHEMY_RUNTIME__ && props.zone !== undefined) {
|
|
272
|
+
const zone = props.zone;
|
|
273
|
+
const matchers = props.matchers;
|
|
274
|
+
yield* Namespace.push(
|
|
275
|
+
host.LogicalId,
|
|
276
|
+
Effect.gen(function* () {
|
|
277
|
+
// Routing is a per-zone singleton shared with other rules on
|
|
278
|
+
// the zone, so destroying this Worker must not disable it.
|
|
279
|
+
yield* Routing("EmailRouting", {
|
|
280
|
+
zone,
|
|
281
|
+
enabled: true,
|
|
282
|
+
}).pipe(RemovalPolicy.retain());
|
|
283
|
+
|
|
284
|
+
const action = {
|
|
285
|
+
type: "worker" as const,
|
|
286
|
+
value: [host.workerName],
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
// Catch-all is a per-zone SINGLETON living behind
|
|
290
|
+
// `/rules/catch_all`, not an ordinary rule. Cloudflare surfaces
|
|
291
|
+
// it in `listRules` but rejects mutating it through the rule
|
|
292
|
+
// endpoint ("Invalid rule operation"), so creating it as an
|
|
293
|
+
// `Email.Rule` would produce a row the engine cannot delete.
|
|
294
|
+
// Route an all-matcher subscription to `Email.CatchAll`
|
|
295
|
+
// instead — the resource that owns that endpoint.
|
|
296
|
+
if (isCatchAll(matchers)) {
|
|
297
|
+
yield* CatchAll("EmailCatchAll", {
|
|
298
|
+
zone,
|
|
299
|
+
name: props.ruleName ?? host.LogicalId,
|
|
300
|
+
enabled: props.enabled ?? true,
|
|
301
|
+
actions: [action],
|
|
302
|
+
});
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
yield* Rule("EmailRule", {
|
|
307
|
+
zone,
|
|
308
|
+
name: props.ruleName ?? host.LogicalId,
|
|
309
|
+
enabled: props.enabled ?? true,
|
|
310
|
+
priority: props.priority ?? 0,
|
|
311
|
+
matchers: matchers!,
|
|
312
|
+
actions: [action],
|
|
313
|
+
});
|
|
314
|
+
}),
|
|
315
|
+
);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// Resolve the runtime context per-call rather than at layer
|
|
319
|
+
// construction (mirrors `Queues.EventSourceLive`).
|
|
320
|
+
const ctx = (yield* RuntimeContext) as unknown as FunctionContext;
|
|
321
|
+
yield* ctx.listen<void, Req>((event) => {
|
|
322
|
+
if (!isWorkerEvent(event) || event.type !== "email") return;
|
|
323
|
+
|
|
324
|
+
const message = wrap(event.input as cf.ForwardableEmailMessage);
|
|
325
|
+
// Log, then let the failure propagate. Cloudflare turns an
|
|
326
|
+
// exception out of the `email` handler into a temporary SMTP
|
|
327
|
+
// failure, so the sending server keeps the message and retries.
|
|
328
|
+
// Swallowing it here would instead ACCEPT the envelope and then
|
|
329
|
+
// drop it: a transient dependency outage would silently destroy
|
|
330
|
+
// mail with nothing left to retry from.
|
|
331
|
+
return process(message).pipe(
|
|
332
|
+
Effect.tapCause((cause) =>
|
|
333
|
+
Effect.sync(() => {
|
|
334
|
+
console.error(
|
|
335
|
+
`[EmailEventSource] handler failed for message to ` +
|
|
336
|
+
`"${message.to}": ${Cause.pretty(cause)}`,
|
|
337
|
+
);
|
|
338
|
+
}),
|
|
339
|
+
),
|
|
340
|
+
// The listener contract is `E = never`, so surface the failure as
|
|
341
|
+
// a defect rather than discarding it: the invocation fails, which
|
|
342
|
+
// is what Cloudflare turns into the temporary SMTP failure.
|
|
343
|
+
Effect.orDie,
|
|
344
|
+
);
|
|
345
|
+
});
|
|
346
|
+
}) as EmailEventSourceService;
|
|
347
|
+
}),
|
|
348
|
+
);
|
|
@@ -15,7 +15,9 @@ import * as Cause from "effect/Cause";
|
|
|
15
15
|
import * as Effect from "effect/Effect";
|
|
16
16
|
import * as Equal from "effect/Equal";
|
|
17
17
|
import * as Exit from "effect/Exit";
|
|
18
|
+
import * as Fiber from "effect/Fiber";
|
|
18
19
|
import type * as FileSystem from "effect/FileSystem";
|
|
20
|
+
import * as PlatformFileSystem from "effect/FileSystem";
|
|
19
21
|
import * as MutableHashMap from "effect/MutableHashMap";
|
|
20
22
|
import * as Option from "effect/Option";
|
|
21
23
|
import * as Path from "effect/Path";
|
|
@@ -29,6 +31,7 @@ import type * as Bundle from "../../Bundle/Bundle.ts";
|
|
|
29
31
|
import * as LocalProvider from "../../Local/LocalProvider.ts";
|
|
30
32
|
import { Stack } from "../../Stack.ts";
|
|
31
33
|
import { unwrapRedacted } from "../../Util/index.ts";
|
|
34
|
+
import { sha256 } from "../../Util/sha256.ts";
|
|
32
35
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
33
36
|
import {
|
|
34
37
|
isLiveId,
|
|
@@ -327,6 +330,12 @@ export const LocalWorkerProvider = () =>
|
|
|
327
330
|
// opt-out restarts the instance.
|
|
328
331
|
const devRemote: Record<string, boolean> = {};
|
|
329
332
|
const containers: Record<string, ContainerImage> = {};
|
|
333
|
+
// Content hashes of the container images, keyed like `containers`.
|
|
334
|
+
// `ContainerImage` itself only carries stable paths (context /
|
|
335
|
+
// dockerfile / imageUri), so without the hash an image CONTENT
|
|
336
|
+
// change (a Dockerfile edit, a rebuilt bundle) would never change
|
|
337
|
+
// the config and the running container would serve stale code.
|
|
338
|
+
const containerHashes: Record<string, string> = {};
|
|
330
339
|
for (const { data } of bindings) {
|
|
331
340
|
for (const binding of data.bindings ?? []) {
|
|
332
341
|
if (
|
|
@@ -391,6 +400,9 @@ export const LocalWorkerProvider = () =>
|
|
|
391
400
|
...container.dev,
|
|
392
401
|
env: unwrapRedacted(container.dev.env),
|
|
393
402
|
};
|
|
403
|
+
if (container.hash !== undefined) {
|
|
404
|
+
containerHashes[container.className] = container.hash;
|
|
405
|
+
}
|
|
394
406
|
}
|
|
395
407
|
}
|
|
396
408
|
}
|
|
@@ -446,6 +458,14 @@ export const LocalWorkerProvider = () =>
|
|
|
446
458
|
durableObjectNamespaces: Object.values(durableObjectNamespaces),
|
|
447
459
|
workflows: Object.values(workflows),
|
|
448
460
|
hyperdrives,
|
|
461
|
+
/**
|
|
462
|
+
* Container image CONTENT hashes (className → hash). The DO
|
|
463
|
+
* namespace records above only carry the image's stable paths, so
|
|
464
|
+
* this is what makes an image content change — a Dockerfile edit,
|
|
465
|
+
* a rebuilt effectful bundle — restart the instance (which is
|
|
466
|
+
* what re-runs the docker build).
|
|
467
|
+
*/
|
|
468
|
+
containerHashes,
|
|
449
469
|
/**
|
|
450
470
|
* External source-provider descriptor (plain JSON). Part of the
|
|
451
471
|
* hashed config so changing the provider or its options restarts
|
|
@@ -577,6 +597,152 @@ export const LocalWorkerProvider = () =>
|
|
|
577
597
|
// last good instance keeps serving until the replacement's first
|
|
578
598
|
// serve completes. Ownership is tracked in `workerdScopes`, closed by
|
|
579
599
|
// the next successful serve, by `delete`, or by provider shutdown.
|
|
600
|
+
/**
|
|
601
|
+
* One container-context watcher per worker id, keyed by the watched
|
|
602
|
+
* path set. Registry-held (NOT per-serve-scope): a worker restarts
|
|
603
|
+
* through several code paths that overlap scopes, and a watcher per
|
|
604
|
+
* serve produced DUPLICATES whose simultaneous restarts storm the
|
|
605
|
+
* instance until the DO's container link breaks.
|
|
606
|
+
*/
|
|
607
|
+
const containerWatchers = new Map<
|
|
608
|
+
string,
|
|
609
|
+
{ key: string; fiber: Fiber.Fiber<void> }
|
|
610
|
+
>();
|
|
611
|
+
|
|
612
|
+
const stopContainerWatcher = (id: string) =>
|
|
613
|
+
Effect.suspend(() => {
|
|
614
|
+
const existing = containerWatchers.get(id);
|
|
615
|
+
if (existing === undefined) return Effect.void;
|
|
616
|
+
containerWatchers.delete(id);
|
|
617
|
+
return Fiber.interrupt(existing.fiber).pipe(Effect.asVoid);
|
|
618
|
+
});
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Watch a worker's Build-variant container contexts and restart the
|
|
622
|
+
* instance when their CONTENT changes — the docker build happens at
|
|
623
|
+
* instance start, so a restart IS the image rebuild.
|
|
624
|
+
*
|
|
625
|
+
* This is the reload path for USER-supplied Dockerfile/context
|
|
626
|
+
* containers: those files are not imported by the stack, so
|
|
627
|
+
* `bun --watch` never re-runs the exec child for them and no replan
|
|
628
|
+
* (hence no config-hash restart) ever fires. Generated contexts
|
|
629
|
+
* (under `.alchemy/`) are excluded — the effectful `main` variant
|
|
630
|
+
* rewrites its bundle there on every plan, which would loop; that
|
|
631
|
+
* variant reloads through the config's `containerHashes` instead.
|
|
632
|
+
*
|
|
633
|
+
* Events are debounced and gated on a content fingerprint
|
|
634
|
+
* (`node_modules`/`.git` skipped), so editor double-saves and
|
|
635
|
+
* metadata-only churn don't bounce the instance.
|
|
636
|
+
*/
|
|
637
|
+
const ensureContainerWatcher = (
|
|
638
|
+
worker: RunnableWorkerConfig,
|
|
639
|
+
restart: Effect.Effect<
|
|
640
|
+
void,
|
|
641
|
+
never,
|
|
642
|
+
| ChildProcessSpawner.ChildProcessSpawner
|
|
643
|
+
| PlatformFileSystem.FileSystem
|
|
644
|
+
| Path.Path
|
|
645
|
+
>,
|
|
646
|
+
) =>
|
|
647
|
+
Effect.gen(function* () {
|
|
648
|
+
const fs = yield* PlatformFileSystem.FileSystem;
|
|
649
|
+
const watched = new Map<string, { dockerfile: string | undefined }>();
|
|
650
|
+
for (const namespace of worker.durableObjectNamespaces) {
|
|
651
|
+
const image = namespace.container;
|
|
652
|
+
if (image === undefined || !("dockerfile" in image)) continue;
|
|
653
|
+
const context = path.resolve(image.context ?? ".");
|
|
654
|
+
if (context.split(path.sep).includes(".alchemy")) continue;
|
|
655
|
+
watched.set(context, {
|
|
656
|
+
dockerfile:
|
|
657
|
+
image.dockerfile !== undefined
|
|
658
|
+
? path.resolve(context, image.dockerfile)
|
|
659
|
+
: undefined,
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
const key = JSON.stringify([...watched.entries()].sort());
|
|
663
|
+
const existing = containerWatchers.get(worker.id);
|
|
664
|
+
if (existing !== undefined) {
|
|
665
|
+
if (existing.key === key) return; // same watcher keeps running
|
|
666
|
+
yield* stopContainerWatcher(worker.id);
|
|
667
|
+
}
|
|
668
|
+
if (watched.size === 0) return;
|
|
669
|
+
|
|
670
|
+
const fingerprint = Effect.gen(function* () {
|
|
671
|
+
const hashes: string[] = [];
|
|
672
|
+
const walk = (dir: string): Effect.Effect<void, any> =>
|
|
673
|
+
Effect.gen(function* () {
|
|
674
|
+
const entries = yield* fs.readDirectory(dir);
|
|
675
|
+
for (const entry of entries.sort()) {
|
|
676
|
+
if (entry === "node_modules" || entry === ".git") continue;
|
|
677
|
+
const file = path.join(dir, entry);
|
|
678
|
+
const stat = yield* fs.stat(file);
|
|
679
|
+
if (stat.type === "Directory") {
|
|
680
|
+
yield* walk(file);
|
|
681
|
+
} else {
|
|
682
|
+
hashes.push(
|
|
683
|
+
`${file}:${yield* fs.readFile(file).pipe(Effect.flatMap(sha256))}`,
|
|
684
|
+
);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
});
|
|
688
|
+
for (const [context, { dockerfile }] of watched) {
|
|
689
|
+
yield* walk(context);
|
|
690
|
+
if (dockerfile !== undefined && !dockerfile.startsWith(context)) {
|
|
691
|
+
hashes.push(
|
|
692
|
+
`${dockerfile}:${yield* fs.readFile(dockerfile).pipe(Effect.flatMap(sha256))}`,
|
|
693
|
+
);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return yield* sha256(hashes.join("\n"));
|
|
697
|
+
}).pipe(Effect.orElseSucceed(() => undefined));
|
|
698
|
+
|
|
699
|
+
const streams = [...watched.entries()].flatMap(
|
|
700
|
+
([context, { dockerfile }]) => [
|
|
701
|
+
fs.watch(context, { recursive: true }),
|
|
702
|
+
...(dockerfile !== undefined && !dockerfile.startsWith(context)
|
|
703
|
+
? [fs.watch(path.dirname(dockerfile))]
|
|
704
|
+
: []),
|
|
705
|
+
],
|
|
706
|
+
);
|
|
707
|
+
const watchLoop = Effect.gen(function* () {
|
|
708
|
+
let last = yield* fingerprint;
|
|
709
|
+
yield* Stream.mergeAll(streams, {
|
|
710
|
+
concurrency: streams.length,
|
|
711
|
+
}).pipe(
|
|
712
|
+
Stream.debounce("500 millis"),
|
|
713
|
+
Stream.runForEach(() =>
|
|
714
|
+
Effect.gen(function* () {
|
|
715
|
+
const next = yield* fingerprint;
|
|
716
|
+
if (next === undefined || next === last) return;
|
|
717
|
+
last = next;
|
|
718
|
+
yield* Effect.logInfo(
|
|
719
|
+
`[${worker.id}] Container build context changed, restarting instance`,
|
|
720
|
+
);
|
|
721
|
+
yield* restart;
|
|
722
|
+
}),
|
|
723
|
+
),
|
|
724
|
+
Effect.catchCause((cause) =>
|
|
725
|
+
Effect.logWarning(
|
|
726
|
+
`[${worker.id}] Container context watch failed`,
|
|
727
|
+
Cause.squash(cause),
|
|
728
|
+
),
|
|
729
|
+
),
|
|
730
|
+
);
|
|
731
|
+
});
|
|
732
|
+
const fiber = yield* watchLoop.pipe(
|
|
733
|
+
Effect.ensuring(
|
|
734
|
+
Effect.sync(() => {
|
|
735
|
+
const current = containerWatchers.get(worker.id);
|
|
736
|
+
if (current?.fiber === fiber) {
|
|
737
|
+
containerWatchers.delete(worker.id);
|
|
738
|
+
}
|
|
739
|
+
}),
|
|
740
|
+
),
|
|
741
|
+
Effect.forkIn(rootScope),
|
|
742
|
+
);
|
|
743
|
+
containerWatchers.set(worker.id, { key, fiber });
|
|
744
|
+
});
|
|
745
|
+
|
|
580
746
|
const serveWith = (
|
|
581
747
|
worker: RunnableWorkerConfig,
|
|
582
748
|
bundle: Bundle.BundleOutput,
|
|
@@ -666,6 +832,13 @@ export const LocalWorkerProvider = () =>
|
|
|
666
832
|
worker.name,
|
|
667
833
|
restartWorker(worker.id),
|
|
668
834
|
);
|
|
835
|
+
// Idempotent: the registry keeps ONE watcher per worker id
|
|
836
|
+
// across restarts (a new one only when the watched path set
|
|
837
|
+
// changed).
|
|
838
|
+
yield* ensureContainerWatcher(
|
|
839
|
+
worker,
|
|
840
|
+
Effect.suspend(() => restartWorker(worker.id)),
|
|
841
|
+
);
|
|
669
842
|
const currentConsumers = yield* getQueueConsumers(worker.name);
|
|
670
843
|
if (
|
|
671
844
|
JSON.stringify(currentConsumers) !==
|
|
@@ -716,7 +889,15 @@ export const LocalWorkerProvider = () =>
|
|
|
716
889
|
),
|
|
717
890
|
);
|
|
718
891
|
|
|
719
|
-
const restartWorker = (
|
|
892
|
+
const restartWorker = (
|
|
893
|
+
id: string,
|
|
894
|
+
): Effect.Effect<
|
|
895
|
+
void,
|
|
896
|
+
never,
|
|
897
|
+
| ChildProcessSpawner.ChildProcessSpawner
|
|
898
|
+
| PlatformFileSystem.FileSystem
|
|
899
|
+
| Path.Path
|
|
900
|
+
> =>
|
|
720
901
|
Effect.suspend(() => {
|
|
721
902
|
const latest = latestServes.get(id);
|
|
722
903
|
if (latest) {
|
|
@@ -744,6 +925,7 @@ export const LocalWorkerProvider = () =>
|
|
|
744
925
|
// instance replacement does NOT go through this: the previous workerd
|
|
745
926
|
// keeps serving until the replacement's first serve closes it.
|
|
746
927
|
const closeWorkerd = Effect.fn(function* (id: string) {
|
|
928
|
+
yield* stopContainerWatcher(id);
|
|
747
929
|
const scope = workerdScopes.get(id);
|
|
748
930
|
if (scope) {
|
|
749
931
|
workerdScopes.delete(id);
|
|
@@ -1301,7 +1301,17 @@ export type Worker<Bindings = any> = Resource<
|
|
|
1301
1301
|
* `WorkerProps.cache` takes precedence.
|
|
1302
1302
|
*/
|
|
1303
1303
|
cache?: WorkerCache;
|
|
1304
|
-
containers?: {
|
|
1304
|
+
containers?: {
|
|
1305
|
+
className: string;
|
|
1306
|
+
dev: DevContainerImage | undefined;
|
|
1307
|
+
/**
|
|
1308
|
+
* Content hash of the image (bundle/Dockerfile/context). Part of the
|
|
1309
|
+
* local worker's restart config: `dev` only carries stable PATHS, so
|
|
1310
|
+
* without the hash an image content change would never restart the
|
|
1311
|
+
* instance and the running container would serve stale code.
|
|
1312
|
+
*/
|
|
1313
|
+
hash: string | undefined;
|
|
1314
|
+
}[];
|
|
1305
1315
|
crons?: string[];
|
|
1306
1316
|
hyperdrives?: Record<string, Required<DevOrigin>>;
|
|
1307
1317
|
/**
|
|
@@ -313,6 +313,13 @@ const bindContainerClass = Effect.fn(function* (
|
|
|
313
313
|
`Worker binding '${bindingName}' is a Container without a deployable image. Declare the container with props (image, or context/dockerfile) to bind it on an async Worker — effectful (main) containers require an Effect-native Durable Object host.`,
|
|
314
314
|
);
|
|
315
315
|
}
|
|
316
|
+
// Both halves of the Worker's side describe the same env entry, so they
|
|
317
|
+
// share one `sid`. Binding rows are collapsed by sid (last write wins), so
|
|
318
|
+
// splitting them across two `bind` calls silently drops the namespace
|
|
319
|
+
// binding whenever the two sids coincide — e.g. the env key and the
|
|
320
|
+
// Container's logical id match (`Sandbox: Container("Sandbox", …)`). The
|
|
321
|
+
// Worker then uploads the Container declaration itself as a `json` binding
|
|
322
|
+
// and `env.NAME` is not a DO namespace at runtime.
|
|
316
323
|
yield* resource.bind`${bindingName}`({
|
|
317
324
|
bindings: [
|
|
318
325
|
{
|
|
@@ -321,6 +328,13 @@ const bindContainerClass = Effect.fn(function* (
|
|
|
321
328
|
className,
|
|
322
329
|
},
|
|
323
330
|
],
|
|
331
|
+
containers: [
|
|
332
|
+
{
|
|
333
|
+
className,
|
|
334
|
+
dev: application.dev,
|
|
335
|
+
hash: application.hash.pipe(Output.map((h) => h?.image)),
|
|
336
|
+
},
|
|
337
|
+
],
|
|
324
338
|
});
|
|
325
339
|
yield* application.bind`${bindingName}`({
|
|
326
340
|
durableObjects: {
|
|
@@ -329,9 +343,6 @@ const bindContainerClass = Effect.fn(function* (
|
|
|
329
343
|
),
|
|
330
344
|
},
|
|
331
345
|
});
|
|
332
|
-
yield* resource.bind`${application.LogicalId}`({
|
|
333
|
-
containers: [{ className, dev: application.dev }],
|
|
334
|
-
});
|
|
335
346
|
});
|
|
336
347
|
|
|
337
348
|
type BindingSpec = InputProps<WorkerBinding>;
|
|
@@ -12,6 +12,7 @@ export * from "./DurableObject.ts";
|
|
|
12
12
|
export * from "./DurableObjectBridge.ts";
|
|
13
13
|
export * from "./DurableObjectState.ts";
|
|
14
14
|
export * from "./DurableObjectStorage.ts";
|
|
15
|
+
export * from "./EmailEventSource.ts";
|
|
15
16
|
export * from "./Fetch.ts";
|
|
16
17
|
export * from "./GitHubRepositoryEventSource.ts";
|
|
17
18
|
export * from "./HttpServer.ts";
|