alchemy 2.0.0-beta.74 → 2.0.0-beta.76
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 +6 -0
- 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/ManagedLoginBranding.d.ts +108 -0
- package/lib/AWS/Cognito/ManagedLoginBranding.d.ts.map +1 -0
- package/lib/AWS/Cognito/ManagedLoginBranding.js +200 -0
- package/lib/AWS/Cognito/ManagedLoginBranding.js.map +1 -0
- package/lib/AWS/Cognito/UserPool.d.ts +176 -3
- package/lib/AWS/Cognito/UserPool.d.ts.map +1 -1
- package/lib/AWS/Cognito/UserPool.js +223 -33
- package/lib/AWS/Cognito/UserPool.js.map +1 -1
- package/lib/AWS/Cognito/index.d.ts +1 -0
- package/lib/AWS/Cognito/index.d.ts.map +1 -1
- package/lib/AWS/Cognito/index.js +1 -0
- package/lib/AWS/Cognito/index.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 +49 -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 +15 -9
- 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/Cli/commands/dev.d.ts +13 -1
- package/lib/Cli/commands/dev.d.ts.map +1 -1
- package/lib/Cli/commands/dev.js +12 -5
- package/lib/Cli/commands/dev.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/AllowPolicy.d.ts.map +1 -1
- package/lib/Cloudflare/Email/AllowPolicy.js +9 -3
- package/lib/Cloudflare/Email/AllowPolicy.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/ImpersonationRegistryEntry.d.ts.map +1 -1
- package/lib/Cloudflare/Email/ImpersonationRegistryEntry.js +10 -1
- package/lib/Cloudflare/Email/ImpersonationRegistryEntry.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/TrustedDomain.d.ts.map +1 -1
- package/lib/Cloudflare/Email/TrustedDomain.js +10 -1
- package/lib/Cloudflare/Email/TrustedDomain.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/Assets.d.ts +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +14 -7
- package/lib/Cloudflare/Workers/Assets.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/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js.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/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +6 -1
- package/lib/Command/Dev.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/Planetscale/Postgres/PostgresDefaultRole.d.ts +8 -0
- package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDefaultRole.js +17 -5
- package/lib/Planetscale/Postgres/PostgresDefaultRole.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresRole.d.ts +8 -0
- package/lib/Planetscale/Postgres/PostgresRole.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresRole.js +2 -0
- package/lib/Planetscale/Postgres/PostgresRole.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/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 +31 -14
- 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 +75 -39
- 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/ManagedLoginBranding.ts +339 -0
- package/src/AWS/Cognito/UserPool.ts +413 -39
- package/src/AWS/Cognito/index.ts +1 -0
- 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 +777 -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 +16 -14
- 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/Cli/commands/dev.ts +13 -6
- 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/AllowPolicy.ts +9 -3
- package/src/Cloudflare/Email/CatchAll.ts +32 -24
- package/src/Cloudflare/Email/ImpersonationRegistryEntry.ts +9 -1
- package/src/Cloudflare/Email/Rule.ts +6 -2
- package/src/Cloudflare/Email/TrustedDomain.ts +9 -1
- 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/Assets.ts +14 -6
- 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/WorkerProvider.ts +1 -0
- 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/Command/Dev.ts +9 -1
- 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/Planetscale/Postgres/PostgresDefaultRole.ts +27 -5
- package/src/Planetscale/Postgres/PostgresRole.ts +12 -0
- 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 +50 -16
- 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
|
@@ -7,6 +7,7 @@ import { Region } from "@distilled.cloud/aws/Region";
|
|
|
7
7
|
import type * as lambda from "aws-lambda";
|
|
8
8
|
import * as Cause from "effect/Cause";
|
|
9
9
|
import * as Context from "effect/Context";
|
|
10
|
+
import * as Data from "effect/Data";
|
|
10
11
|
import * as Duration from "effect/Duration";
|
|
11
12
|
import * as Effect from "effect/Effect";
|
|
12
13
|
import * as Exit from "effect/Exit";
|
|
@@ -51,11 +52,29 @@ import {
|
|
|
51
52
|
type EventInvokeConfig,
|
|
52
53
|
} from "./EventInvokeConfig.ts";
|
|
53
54
|
import { makeFunctionBundler } from "./FunctionBundle.ts";
|
|
55
|
+
import {
|
|
56
|
+
decodeFunctionImageSource,
|
|
57
|
+
type FunctionImageAttributes,
|
|
58
|
+
type FunctionImageIdentity,
|
|
59
|
+
type FunctionImageSource,
|
|
60
|
+
makeFunctionImage,
|
|
61
|
+
} from "./FunctionImage.ts";
|
|
54
62
|
import { makeFunctionHttpHandler } from "./HttpServer.ts";
|
|
55
63
|
|
|
64
|
+
export type { FunctionImageSource } from "./FunctionImage.ts";
|
|
65
|
+
|
|
56
66
|
export const FunctionTypeId = "AWS.Lambda.Function" as const;
|
|
57
67
|
export type FunctionTypeId = typeof FunctionTypeId;
|
|
58
68
|
|
|
69
|
+
class FunctionUpdatePending extends Data.TaggedError("FunctionUpdatePending")<{
|
|
70
|
+
functionName: string;
|
|
71
|
+
}> {}
|
|
72
|
+
|
|
73
|
+
class FunctionUpdateFailed extends Data.TaggedError("FunctionUpdateFailed")<{
|
|
74
|
+
functionName: string;
|
|
75
|
+
reason?: string;
|
|
76
|
+
}> {}
|
|
77
|
+
|
|
59
78
|
export class HandlerContext extends Context.Service<
|
|
60
79
|
HandlerContext,
|
|
61
80
|
lambda.Context
|
|
@@ -120,6 +139,20 @@ export interface FunctionBuildOptions
|
|
|
120
139
|
|
|
121
140
|
export type FunctionArchitecture = "x86_64" | "arm64";
|
|
122
141
|
|
|
142
|
+
/**
|
|
143
|
+
* Overrides for instructions declared by a Lambda container image. Set
|
|
144
|
+
* directly on {@link FunctionImageProps.image} alongside the image source;
|
|
145
|
+
* omit to use the image's own `CMD` / `ENTRYPOINT` / `WORKDIR`.
|
|
146
|
+
*/
|
|
147
|
+
export interface FunctionImageConfig {
|
|
148
|
+
/** Parameters passed to the image entry point, overriding Dockerfile `CMD`. */
|
|
149
|
+
command?: readonly string[];
|
|
150
|
+
/** Runtime executable, overriding Dockerfile `ENTRYPOINT`. */
|
|
151
|
+
entryPoint?: readonly string[];
|
|
152
|
+
/** Working directory, overriding Dockerfile `WORKDIR`. */
|
|
153
|
+
workingDirectory?: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
123
156
|
/**
|
|
124
157
|
* Reference to an EFS access point: a raw access point ARN or anything
|
|
125
158
|
* exposing an `accessPointArn` attribute (e.g. an `AWS.EFS.AccessPoint`
|
|
@@ -171,28 +204,7 @@ export interface FunctionUrlConfig {
|
|
|
171
204
|
invokeMode?: Lambda.InvokeMode;
|
|
172
205
|
}
|
|
173
206
|
|
|
174
|
-
export interface
|
|
175
|
-
/**
|
|
176
|
-
* Entry module for the bundled Lambda function.
|
|
177
|
-
*/
|
|
178
|
-
main: string;
|
|
179
|
-
/**
|
|
180
|
-
* Exported handler symbol inside the bundled module.
|
|
181
|
-
* @default "handler"
|
|
182
|
-
*/
|
|
183
|
-
handler?: string;
|
|
184
|
-
/**
|
|
185
|
-
* Set to `false` to skip bundling and deploy `main`'s directory as-is:
|
|
186
|
-
* every file in the directory containing `main` ships in the code
|
|
187
|
-
* archive, preserving relative paths. Use for framework outputs that are
|
|
188
|
-
* already self-contained deployment units (e.g. nitro's
|
|
189
|
-
* `.output/server`, OpenNext's server functions) where re-bundling can
|
|
190
|
-
* break `require`s of packaged `node_modules`. Implies external mode:
|
|
191
|
-
* `handler` names an export of `main`, and the Lambda handler string is
|
|
192
|
-
* derived from `main`'s basename (e.g. `index.mjs` → `index.handler`).
|
|
193
|
-
* @default true
|
|
194
|
-
*/
|
|
195
|
-
bundle?: false;
|
|
207
|
+
export interface FunctionCommonProps extends PlatformProps {
|
|
196
208
|
/**
|
|
197
209
|
* Whether to create a Lambda function URL, or its configuration.
|
|
198
210
|
* `functionUrl: true` creates a public Function URL with `authType: "NONE"`.
|
|
@@ -201,35 +213,12 @@ export interface FunctionProps extends PlatformProps {
|
|
|
201
213
|
*/
|
|
202
214
|
functionUrl?: boolean | FunctionUrlConfig;
|
|
203
215
|
functionName?: string;
|
|
204
|
-
// TODO(sam): use a Layer instead so we can manage Effect platform?
|
|
205
|
-
runtime?: "nodejs22.x" | "nodejs24.x";
|
|
206
216
|
/**
|
|
207
217
|
* Instruction set architecture for the Lambda function.
|
|
208
|
-
*
|
|
209
|
-
* @default "x86_64"
|
|
210
218
|
*/
|
|
211
219
|
architecture?: FunctionArchitecture;
|
|
212
220
|
memorySize?: number;
|
|
213
|
-
/**
|
|
214
|
-
* Lambda layers to attach — pass an `AWS.Lambda.LayerVersion` resource
|
|
215
|
-
* directly, or a raw layer version ARN (e.g. an AWS-managed layer). Layers
|
|
216
|
-
* are extracted into `/opt` in the order given. Omit or pass `[]` to detach
|
|
217
|
-
* every layer.
|
|
218
|
-
*/
|
|
219
|
-
layers?: LayerRef[];
|
|
220
|
-
/**
|
|
221
|
-
* Bundler configuration for {@link main}: rolldown input options (flat),
|
|
222
|
-
* `output` overrides, `install` for native packages, plus pure-annotation
|
|
223
|
-
* options (`pure`) and the bundle analyzer. Top-level calls in `effect`,
|
|
224
|
-
* `@effect/*`, `alchemy`, `@alchemy.run/*`, and `@distilled.cloud/*` are
|
|
225
|
-
* annotated as pure by default so unused code from those packages is
|
|
226
|
-
* tree-shaken; list additional packages via `pure.packages`, or disable
|
|
227
|
-
* with `pure: false`.
|
|
228
|
-
*/
|
|
229
|
-
build?: FunctionBuildOptions;
|
|
230
|
-
uploadSourceMap?: boolean;
|
|
231
221
|
env?: Record<string, any>;
|
|
232
|
-
exports?: string[];
|
|
233
222
|
/**
|
|
234
223
|
* Attach the function to a VPC for private AWS connectivity such as Aurora.
|
|
235
224
|
*/
|
|
@@ -301,6 +290,52 @@ export interface FunctionProps extends PlatformProps {
|
|
|
301
290
|
* config to an alias instead.
|
|
302
291
|
*/
|
|
303
292
|
eventInvokeConfig?: EventInvokeConfig;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export interface FunctionZipProps extends FunctionCommonProps {
|
|
296
|
+
/**
|
|
297
|
+
* Entry module for the bundled Lambda function.
|
|
298
|
+
*/
|
|
299
|
+
main: string;
|
|
300
|
+
/**
|
|
301
|
+
* Set to `false` to skip bundling and deploy `main`'s directory as-is:
|
|
302
|
+
* every file in the directory containing `main` ships in the code
|
|
303
|
+
* archive, preserving relative paths. Use for framework outputs that are
|
|
304
|
+
* already self-contained deployment units (e.g. nitro's
|
|
305
|
+
* `.output/server`, OpenNext's server functions) where re-bundling can
|
|
306
|
+
* break `require`s of packaged `node_modules`. Implies external mode:
|
|
307
|
+
* `handler` names an export of `main`, and the Lambda handler string is
|
|
308
|
+
* derived from `main`'s basename (e.g. `index.mjs` → `index.handler`).
|
|
309
|
+
* @default true
|
|
310
|
+
*/
|
|
311
|
+
bundle?: false;
|
|
312
|
+
image?: never;
|
|
313
|
+
/**
|
|
314
|
+
* Exported handler symbol inside the bundled module.
|
|
315
|
+
* @default "handler"
|
|
316
|
+
*/
|
|
317
|
+
handler?: string;
|
|
318
|
+
// TODO(sam): use a Layer instead so we can manage Effect platform?
|
|
319
|
+
runtime?: "nodejs22.x" | "nodejs24.x";
|
|
320
|
+
/**
|
|
321
|
+
* Lambda layers to attach — pass an `AWS.Lambda.LayerVersion` resource
|
|
322
|
+
* directly, or a raw layer version ARN (e.g. an AWS-managed layer). Layers
|
|
323
|
+
* are extracted into `/opt` in the order given. Omit or pass `[]` to detach
|
|
324
|
+
* every layer.
|
|
325
|
+
*/
|
|
326
|
+
layers?: LayerRef[];
|
|
327
|
+
/**
|
|
328
|
+
* Bundler configuration for {@link main}: rolldown input options (flat),
|
|
329
|
+
* `output` overrides, `install` for native packages, plus pure-annotation
|
|
330
|
+
* options (`pure`) and the bundle analyzer. Top-level calls in `effect`,
|
|
331
|
+
* `@effect/*`, `alchemy`, `@alchemy.run/*`, and `@distilled.cloud/*` are
|
|
332
|
+
* annotated as pure by default so unused code from those packages is
|
|
333
|
+
* tree-shaken; list additional packages via `pure.packages`, or disable
|
|
334
|
+
* with `pure: false`.
|
|
335
|
+
*/
|
|
336
|
+
build?: FunctionBuildOptions;
|
|
337
|
+
uploadSourceMap?: boolean;
|
|
338
|
+
exports?: string[];
|
|
304
339
|
/**
|
|
305
340
|
* Wire-level `DurableConfig` applied at `CreateFunction`.
|
|
306
341
|
*
|
|
@@ -313,13 +348,120 @@ export interface FunctionProps extends PlatformProps {
|
|
|
313
348
|
durableConfig?: Lambda.DurableConfig;
|
|
314
349
|
}
|
|
315
350
|
|
|
351
|
+
export interface FunctionImageProps extends FunctionCommonProps {
|
|
352
|
+
main?: never;
|
|
353
|
+
/**
|
|
354
|
+
* Instruction set architecture for the Lambda function and its image build.
|
|
355
|
+
* `x86_64` builds `linux/amd64`; `arm64` builds `linux/arm64`.
|
|
356
|
+
*/
|
|
357
|
+
architecture: FunctionArchitecture;
|
|
358
|
+
/**
|
|
359
|
+
* Deploy an existing private ECR image, or build a Lambda-compatible image
|
|
360
|
+
* from a local Docker context. Local builds use a managed private ECR
|
|
361
|
+
* repository with content-addressed tags.
|
|
362
|
+
*/
|
|
363
|
+
image: FunctionImageSource;
|
|
364
|
+
handler?: never;
|
|
365
|
+
runtime?: never;
|
|
366
|
+
layers?: never;
|
|
367
|
+
build?: never;
|
|
368
|
+
uploadSourceMap?: never;
|
|
369
|
+
exports?: never;
|
|
370
|
+
// Durability needs a `main` for the orchestrator body — see
|
|
371
|
+
// DurableFunctionProps.
|
|
372
|
+
durableConfig?: never;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export type FunctionProps = FunctionZipProps | FunctionImageProps;
|
|
376
|
+
|
|
377
|
+
const isFunctionImageProps = (
|
|
378
|
+
props: FunctionProps,
|
|
379
|
+
): props is FunctionImageProps => props.image !== undefined;
|
|
380
|
+
|
|
381
|
+
interface FunctionPackageValidationProps {
|
|
382
|
+
image?: unknown;
|
|
383
|
+
main?: unknown;
|
|
384
|
+
handler?: unknown;
|
|
385
|
+
runtime?: unknown;
|
|
386
|
+
layers?: unknown;
|
|
387
|
+
build?: unknown;
|
|
388
|
+
uploadSourceMap?: unknown;
|
|
389
|
+
exports?: unknown;
|
|
390
|
+
durableConfig?: unknown;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Validate package-mode exclusivity before any Lambda or ECR mutation.
|
|
395
|
+
* @internal
|
|
396
|
+
*/
|
|
397
|
+
export const validateFunctionPackageProps = Effect.fn(
|
|
398
|
+
"AWS.Lambda.validateFunctionPackageProps",
|
|
399
|
+
)(function* (id: string, props: FunctionPackageValidationProps) {
|
|
400
|
+
if (props.image === undefined) {
|
|
401
|
+
if (props.main === undefined) {
|
|
402
|
+
return yield* Effect.fail(
|
|
403
|
+
new Error(`Function(${id}): declare exactly one of main or image`),
|
|
404
|
+
);
|
|
405
|
+
}
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const incompatible = [
|
|
410
|
+
["main", props.main],
|
|
411
|
+
["handler", props.handler],
|
|
412
|
+
["runtime", props.runtime],
|
|
413
|
+
["layers", props.layers],
|
|
414
|
+
["build", props.build],
|
|
415
|
+
["uploadSourceMap", props.uploadSourceMap],
|
|
416
|
+
["exports", props.exports],
|
|
417
|
+
["durableConfig", props.durableConfig],
|
|
418
|
+
].flatMap(([name, value]) => (value === undefined ? [] : [name]));
|
|
419
|
+
if (incompatible.length > 0) {
|
|
420
|
+
return yield* Effect.fail(
|
|
421
|
+
new Error(
|
|
422
|
+
`Function(${id}): image functions cannot use ZIP/runtime options: ${incompatible.join(", ")}`,
|
|
423
|
+
),
|
|
424
|
+
);
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* The Lambda `ImageConfig` for an image source's overrides; `undefined` when
|
|
430
|
+
* the source declares none, so the image's own instructions apply.
|
|
431
|
+
*/
|
|
432
|
+
const toLambdaImageConfig = (
|
|
433
|
+
config: FunctionImageConfig | undefined,
|
|
434
|
+
): Lambda.ImageConfig | undefined =>
|
|
435
|
+
config === undefined ||
|
|
436
|
+
(config.command === undefined &&
|
|
437
|
+
config.entryPoint === undefined &&
|
|
438
|
+
config.workingDirectory === undefined)
|
|
439
|
+
? undefined
|
|
440
|
+
: {
|
|
441
|
+
Command: config.command === undefined ? undefined : [...config.command],
|
|
442
|
+
EntryPoint:
|
|
443
|
+
config.entryPoint === undefined ? undefined : [...config.entryPoint],
|
|
444
|
+
WorkingDirectory: config.workingDirectory,
|
|
445
|
+
};
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* `UpdateFunctionConfiguration` preserves old image overrides when the field
|
|
449
|
+
* is omitted. An empty object therefore means "clear overrides" on update.
|
|
450
|
+
*/
|
|
451
|
+
const imageConfigForUpdate = (
|
|
452
|
+
props: FunctionProps,
|
|
453
|
+
): Lambda.ImageConfig | undefined =>
|
|
454
|
+
isFunctionImageProps(props)
|
|
455
|
+
? (toLambdaImageConfig(props.image) ?? {})
|
|
456
|
+
: undefined;
|
|
457
|
+
|
|
316
458
|
/**
|
|
317
459
|
* The Lambda `Handler` string for a function's props: `<file>.<export>`.
|
|
318
460
|
* Bundled functions always emit `index.js`; prebuilt directories
|
|
319
461
|
* (`bundle: false`) keep `main`'s own basename. The export half honors
|
|
320
462
|
* `handler` only outside Effect mode (see the note at the call site).
|
|
321
463
|
*/
|
|
322
|
-
const handlerStringOf = (props:
|
|
464
|
+
const handlerStringOf = (props: FunctionZipProps): string => {
|
|
323
465
|
const externalMode = props.isExternal || props.bundle === false;
|
|
324
466
|
// `main` may be an unresolved Output during precreate (the stub's mock
|
|
325
467
|
// code exports `index.*` anyway); the real Handler is applied at
|
|
@@ -379,6 +521,7 @@ export interface Function extends Resource<
|
|
|
379
521
|
roleArn: string;
|
|
380
522
|
code: {
|
|
381
523
|
hash: string;
|
|
524
|
+
image?: Omit<FunctionImageAttributes, "hash">;
|
|
382
525
|
};
|
|
383
526
|
reservedConcurrentExecutions?: number;
|
|
384
527
|
},
|
|
@@ -443,12 +586,13 @@ export const normalizeFunctionUrl = (
|
|
|
443
586
|
* An AWS Lambda host resource that combines code bundling, IAM role
|
|
444
587
|
* provisioning, and runtime binding collection.
|
|
445
588
|
*
|
|
446
|
-
* `Function` is the canonical runtime host for AWS.
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
*
|
|
589
|
+
* `Function` is the canonical runtime host for AWS. It can either bundle a
|
|
590
|
+
* TypeScript entry module into a zip artifact or build a user-authored
|
|
591
|
+
* Dockerfile into a Lambda container image. In both modes Alchemy creates the
|
|
592
|
+
* execution role and applies bindings; image mode additionally owns the
|
|
593
|
+
* private ECR repository and Lambda pull policy.
|
|
450
594
|
*
|
|
451
|
-
*
|
|
595
|
+
* Zip-packaged functions can be defined in two ways:
|
|
452
596
|
*
|
|
453
597
|
* - **Async** — plain handler export, no Effect runtime in the bundle.
|
|
454
598
|
* - **Effect** — Effect implementation with typed bindings and event sources.
|
|
@@ -517,6 +661,54 @@ export const normalizeFunctionUrl = (
|
|
|
517
661
|
* };
|
|
518
662
|
* ```
|
|
519
663
|
*
|
|
664
|
+
* ### Container Image Functions
|
|
665
|
+
* Set `image` instead of `main` to deploy an existing private ECR image or to
|
|
666
|
+
* build and publish a local Docker context. Image sources must be literal
|
|
667
|
+
* because Lambda's pre-create phase needs the deployable image before normal
|
|
668
|
+
* Output resolution.
|
|
669
|
+
*
|
|
670
|
+
* #### Existing ECR image with runtime overrides
|
|
671
|
+
* ```typescript
|
|
672
|
+
* const func = yield* AWS.Lambda.Function("Worker", {
|
|
673
|
+
* image: {
|
|
674
|
+
* uri: "123456789012.dkr.ecr.us-east-1.amazonaws.com/worker@sha256:...",
|
|
675
|
+
* command: ["app.handler"],
|
|
676
|
+
* entryPoint: ["/lambda-entrypoint.sh"],
|
|
677
|
+
* workingDirectory: "/var/task",
|
|
678
|
+
* },
|
|
679
|
+
* architecture: "x86_64",
|
|
680
|
+
* });
|
|
681
|
+
* ```
|
|
682
|
+
*
|
|
683
|
+
* Tagged URIs are resolved through ECR on each plan. If a tag is repointed to
|
|
684
|
+
* a new digest, Alchemy updates the Lambda function even though the URI string
|
|
685
|
+
* is unchanged. External repositories are never modified or deleted.
|
|
686
|
+
*
|
|
687
|
+
* #### Build a Lambda container image
|
|
688
|
+
* ```typescript
|
|
689
|
+
* const func = yield* AWS.Lambda.Function("JavaFunction", {
|
|
690
|
+
* image: {
|
|
691
|
+
* context: "./lambda",
|
|
692
|
+
* dockerfile: "Dockerfile",
|
|
693
|
+
* buildArgs: {
|
|
694
|
+
* APP_ENV: "production",
|
|
695
|
+
* },
|
|
696
|
+
* },
|
|
697
|
+
* architecture: "arm64",
|
|
698
|
+
* functionUrl: false,
|
|
699
|
+
* });
|
|
700
|
+
* ```
|
|
701
|
+
*
|
|
702
|
+
* The Dockerfile owns the runtime and handler. Alchemy does not generate a
|
|
703
|
+
* Node.js adapter or otherwise impose a language. For example,
|
|
704
|
+
* `./lambda/Dockerfile` can use AWS's Java base image:
|
|
705
|
+
*
|
|
706
|
+
* ```dockerfile
|
|
707
|
+
* FROM public.ecr.aws/lambda/java:21
|
|
708
|
+
* COPY target/function.jar ${LAMBDA_TASK_ROOT}/lib/
|
|
709
|
+
* CMD ["com.example.Handler::handleRequest"]
|
|
710
|
+
* ```
|
|
711
|
+
*
|
|
520
712
|
* ### Effect Functions
|
|
521
713
|
* Pass the Effect implementation as the third argument. Bindings
|
|
522
714
|
* attach IAM permissions and environment variables at deploy time,
|
|
@@ -805,7 +997,9 @@ export const Function: Platform<
|
|
|
805
997
|
Function,
|
|
806
998
|
FunctionServices,
|
|
807
999
|
FunctionShape,
|
|
808
|
-
Serverless.FunctionContext
|
|
1000
|
+
Serverless.FunctionContext,
|
|
1001
|
+
{},
|
|
1002
|
+
FunctionZipProps
|
|
809
1003
|
> = Platform(FunctionTypeId, {
|
|
810
1004
|
createRuntimeContext: (id: string): Serverless.FunctionContext => {
|
|
811
1005
|
const listeners: Effect.Effect<Serverless.FunctionListener>[] = [];
|
|
@@ -930,6 +1124,7 @@ export const FunctionProvider = () =>
|
|
|
930
1124
|
// Code bundling lives in FunctionBundle.ts so the floci local
|
|
931
1125
|
// provider's watch loop can rebuild the identical artifact.
|
|
932
1126
|
const { bundleCode } = yield* makeFunctionBundler;
|
|
1127
|
+
const functionImage = yield* makeFunctionImage;
|
|
933
1128
|
const alchemyEnv = {
|
|
934
1129
|
ALCHEMY_STACK_NAME: stack.name,
|
|
935
1130
|
ALCHEMY_STAGE: stack.stage,
|
|
@@ -1160,7 +1355,7 @@ export const FunctionProvider = () =>
|
|
|
1160
1355
|
|
|
1161
1356
|
const withNodeSourceMaps = (
|
|
1162
1357
|
env: Record<string, string> | undefined,
|
|
1163
|
-
props:
|
|
1358
|
+
props: FunctionZipProps,
|
|
1164
1359
|
) => {
|
|
1165
1360
|
const sourcemap = props.build?.output?.sourcemap ?? true;
|
|
1166
1361
|
const uploadSourceMap = props.uploadSourceMap ?? true;
|
|
@@ -1197,6 +1392,48 @@ export const FunctionProvider = () =>
|
|
|
1197
1392
|
self: Effect.Effect<A, Err, R>,
|
|
1198
1393
|
) => Effect.Effect<A, Err, R>;
|
|
1199
1394
|
|
|
1395
|
+
const waitForFunctionUpdate = Effect.fn(function* (
|
|
1396
|
+
functionName: string,
|
|
1397
|
+
session: { note: (note: string) => Effect.Effect<void> },
|
|
1398
|
+
) {
|
|
1399
|
+
return yield* Effect.gen(function* () {
|
|
1400
|
+
const configuration = (yield* Lambda.getFunction({
|
|
1401
|
+
FunctionName: functionName,
|
|
1402
|
+
})).Configuration;
|
|
1403
|
+
if (
|
|
1404
|
+
configuration?.State === "Failed" ||
|
|
1405
|
+
configuration?.LastUpdateStatus === "Failed"
|
|
1406
|
+
) {
|
|
1407
|
+
return yield* new FunctionUpdateFailed({
|
|
1408
|
+
functionName,
|
|
1409
|
+
reason:
|
|
1410
|
+
configuration.LastUpdateStatusReason ??
|
|
1411
|
+
configuration.StateReason,
|
|
1412
|
+
});
|
|
1413
|
+
}
|
|
1414
|
+
if (
|
|
1415
|
+
configuration?.State === "Active" &&
|
|
1416
|
+
(configuration.LastUpdateStatus === undefined ||
|
|
1417
|
+
configuration.LastUpdateStatus === "Successful")
|
|
1418
|
+
) {
|
|
1419
|
+
return;
|
|
1420
|
+
}
|
|
1421
|
+
return yield* new FunctionUpdatePending({ functionName });
|
|
1422
|
+
}).pipe(
|
|
1423
|
+
Effect.retry({
|
|
1424
|
+
while: (error) => error._tag === "FunctionUpdatePending",
|
|
1425
|
+
schedule: Schedule.spaced("2 seconds").pipe(
|
|
1426
|
+
Schedule.tap(({ attempt }) =>
|
|
1427
|
+
session.note(
|
|
1428
|
+
`Waiting for Lambda image update before repository cleanup: ${functionName} (${attempt * 2}s)`,
|
|
1429
|
+
),
|
|
1430
|
+
),
|
|
1431
|
+
),
|
|
1432
|
+
times: 30,
|
|
1433
|
+
}),
|
|
1434
|
+
);
|
|
1435
|
+
});
|
|
1436
|
+
|
|
1200
1437
|
const getReservedConcurrentExecutions = Effect.fn(function* (
|
|
1201
1438
|
functionName: string,
|
|
1202
1439
|
) {
|
|
@@ -1241,12 +1478,122 @@ export const FunctionProvider = () =>
|
|
|
1241
1478
|
);
|
|
1242
1479
|
});
|
|
1243
1480
|
|
|
1481
|
+
type FunctionDeploymentCode =
|
|
1482
|
+
| {
|
|
1483
|
+
packageType: "Zip";
|
|
1484
|
+
archive: Uint8Array<ArrayBufferLike>;
|
|
1485
|
+
hash: string;
|
|
1486
|
+
}
|
|
1487
|
+
| {
|
|
1488
|
+
packageType: "Image";
|
|
1489
|
+
imageUri: string;
|
|
1490
|
+
hash: string;
|
|
1491
|
+
};
|
|
1492
|
+
|
|
1493
|
+
interface PreparedFunctionCode {
|
|
1494
|
+
deployment: FunctionDeploymentCode;
|
|
1495
|
+
attributes: Function["Attributes"]["code"];
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
const prepareImageFunctionCode = Effect.fn(function* ({
|
|
1499
|
+
id,
|
|
1500
|
+
props,
|
|
1501
|
+
previousImage,
|
|
1502
|
+
session,
|
|
1503
|
+
}: {
|
|
1504
|
+
id: string;
|
|
1505
|
+
props: FunctionImageProps;
|
|
1506
|
+
previousImage?: Omit<FunctionImageAttributes, "hash">;
|
|
1507
|
+
session: { note: (note: string) => Effect.Effect<void> };
|
|
1508
|
+
}) {
|
|
1509
|
+
const { hash, ...image } = yield* functionImage.resolve({
|
|
1510
|
+
id,
|
|
1511
|
+
source: props.image,
|
|
1512
|
+
architecture: props.architecture,
|
|
1513
|
+
previousImage,
|
|
1514
|
+
session,
|
|
1515
|
+
});
|
|
1516
|
+
return {
|
|
1517
|
+
deployment: {
|
|
1518
|
+
packageType: "Image",
|
|
1519
|
+
imageUri: image.imageUri,
|
|
1520
|
+
hash,
|
|
1521
|
+
},
|
|
1522
|
+
attributes: { hash, image },
|
|
1523
|
+
} satisfies PreparedFunctionCode;
|
|
1524
|
+
});
|
|
1525
|
+
|
|
1526
|
+
const preparePrecreatedFunctionCode = Effect.fn(function* ({
|
|
1527
|
+
id,
|
|
1528
|
+
props,
|
|
1529
|
+
session,
|
|
1530
|
+
}: {
|
|
1531
|
+
id: string;
|
|
1532
|
+
props: FunctionProps;
|
|
1533
|
+
session: { note: (note: string) => Effect.Effect<void> };
|
|
1534
|
+
}) {
|
|
1535
|
+
if (isFunctionImageProps(props)) {
|
|
1536
|
+
return yield* prepareImageFunctionCode({ id, props, session });
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
// Mock code for the pre-created stub. It responds 503 (rather than a
|
|
1540
|
+
// bare 200) so that, during the brief window where the real code/config
|
|
1541
|
+
// update is still `InProgress`, a Function URL hit serves an honest
|
|
1542
|
+
// "not ready" signal. Downstream readiness probes already retry on
|
|
1543
|
+
// non-200, so they wait for the real handler without blocking the
|
|
1544
|
+
// provider.
|
|
1545
|
+
const code = new TextEncoder().encode(
|
|
1546
|
+
`export default () => ({ statusCode: 503, headers: { "content-type": "application/json" }, body: JSON.stringify({ error: "function initializing" }) })`,
|
|
1547
|
+
);
|
|
1548
|
+
const archive = yield* zipCode(code);
|
|
1549
|
+
const hash = yield* hashBundle(code);
|
|
1550
|
+
return {
|
|
1551
|
+
deployment: {
|
|
1552
|
+
packageType: "Zip",
|
|
1553
|
+
archive,
|
|
1554
|
+
hash,
|
|
1555
|
+
},
|
|
1556
|
+
attributes: { hash },
|
|
1557
|
+
} satisfies PreparedFunctionCode;
|
|
1558
|
+
});
|
|
1559
|
+
|
|
1560
|
+
const prepareFunctionCode = Effect.fn(function* ({
|
|
1561
|
+
id,
|
|
1562
|
+
props,
|
|
1563
|
+
previousImage,
|
|
1564
|
+
session,
|
|
1565
|
+
}: {
|
|
1566
|
+
id: string;
|
|
1567
|
+
props: FunctionProps;
|
|
1568
|
+
previousImage?: Omit<FunctionImageAttributes, "hash">;
|
|
1569
|
+
session: { note: (note: string) => Effect.Effect<void> };
|
|
1570
|
+
}) {
|
|
1571
|
+
if (isFunctionImageProps(props)) {
|
|
1572
|
+
return yield* prepareImageFunctionCode({
|
|
1573
|
+
id,
|
|
1574
|
+
props,
|
|
1575
|
+
previousImage,
|
|
1576
|
+
session,
|
|
1577
|
+
});
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
const { identityHash, buildArchive } = yield* bundleCode(id, props);
|
|
1581
|
+
const { archive, archiveHash } = yield* buildArchive;
|
|
1582
|
+
return {
|
|
1583
|
+
deployment: {
|
|
1584
|
+
packageType: "Zip",
|
|
1585
|
+
archive,
|
|
1586
|
+
hash: archiveHash,
|
|
1587
|
+
},
|
|
1588
|
+
attributes: { hash: identityHash },
|
|
1589
|
+
} satisfies PreparedFunctionCode;
|
|
1590
|
+
});
|
|
1591
|
+
|
|
1244
1592
|
const createOrUpdateFunction: (input: {
|
|
1245
1593
|
id: string;
|
|
1246
1594
|
news: FunctionProps;
|
|
1247
1595
|
roleArn: string;
|
|
1248
|
-
|
|
1249
|
-
hash: string;
|
|
1596
|
+
code: FunctionDeploymentCode;
|
|
1250
1597
|
env: Record<string, string> | undefined;
|
|
1251
1598
|
functionName: string;
|
|
1252
1599
|
preferUpdate?: boolean;
|
|
@@ -1268,8 +1615,7 @@ export const FunctionProvider = () =>
|
|
|
1268
1615
|
id,
|
|
1269
1616
|
news,
|
|
1270
1617
|
roleArn,
|
|
1271
|
-
|
|
1272
|
-
hash,
|
|
1618
|
+
code,
|
|
1273
1619
|
env,
|
|
1274
1620
|
functionName,
|
|
1275
1621
|
preferUpdate,
|
|
@@ -1280,8 +1626,7 @@ export const FunctionProvider = () =>
|
|
|
1280
1626
|
id: string;
|
|
1281
1627
|
news: FunctionProps;
|
|
1282
1628
|
roleArn: string;
|
|
1283
|
-
|
|
1284
|
-
hash: string;
|
|
1629
|
+
code: FunctionDeploymentCode;
|
|
1285
1630
|
env: Record<string, string> | undefined;
|
|
1286
1631
|
functionName: string;
|
|
1287
1632
|
preferUpdate?: boolean;
|
|
@@ -1314,47 +1659,59 @@ export const FunctionProvider = () =>
|
|
|
1314
1659
|
|
|
1315
1660
|
const tags = yield* createInternalTags(id);
|
|
1316
1661
|
|
|
1317
|
-
// Try to use S3 if assets bucket is available, otherwise fall back to inline ZipFile
|
|
1318
|
-
const assets = (yield* Effect.serviceOption(Assets)).pipe(
|
|
1319
|
-
Option.getOrUndefined,
|
|
1320
|
-
);
|
|
1321
|
-
|
|
1322
1662
|
const codeLocation = yield* Effect.gen(function* () {
|
|
1323
|
-
if (
|
|
1324
|
-
|
|
1325
|
-
yield* Effect.logDebug(
|
|
1326
|
-
`Using S3 for code: s3://${yield* assets.bucketName}/${key}`,
|
|
1327
|
-
);
|
|
1328
|
-
return {
|
|
1329
|
-
S3Bucket: yield* assets.bucketName,
|
|
1330
|
-
S3Key: key,
|
|
1331
|
-
} as const;
|
|
1332
|
-
} else {
|
|
1333
|
-
return { ZipFile: archive } as const;
|
|
1663
|
+
if (code.packageType === "Image") {
|
|
1664
|
+
return { ImageUri: code.imageUri } as const;
|
|
1334
1665
|
}
|
|
1666
|
+
// Try to use S3 if the assets bucket is available, otherwise fall
|
|
1667
|
+
// back to an inline ZipFile.
|
|
1668
|
+
const assets = (yield* Effect.serviceOption(Assets)).pipe(
|
|
1669
|
+
Option.getOrUndefined,
|
|
1670
|
+
);
|
|
1671
|
+
if (!assets) {
|
|
1672
|
+
return { ZipFile: code.archive } as const;
|
|
1673
|
+
}
|
|
1674
|
+
const key = yield* assets.uploadAsset(code.hash, code.archive);
|
|
1675
|
+
yield* Effect.logDebug(
|
|
1676
|
+
`Using S3 for code: s3://${yield* assets.bucketName}/${key}`,
|
|
1677
|
+
);
|
|
1678
|
+
return {
|
|
1679
|
+
S3Bucket: yield* assets.bucketName,
|
|
1680
|
+
S3Key: key,
|
|
1681
|
+
} as const;
|
|
1335
1682
|
});
|
|
1336
|
-
const runtimeEnv =
|
|
1683
|
+
const runtimeEnv = isFunctionImageProps(news)
|
|
1684
|
+
? env
|
|
1685
|
+
: withNodeSourceMaps(env, news);
|
|
1337
1686
|
|
|
1338
1687
|
const createFunctionRequest: CreateFunctionRequest = {
|
|
1339
1688
|
FunctionName: functionName,
|
|
1340
|
-
// Effect-mode functions are wrapped in a generated entry whose ONLY
|
|
1341
|
-
// export is `default` — `handler` names an export of the USER's
|
|
1342
|
-
// module and can only address it when the module is bundled as-is
|
|
1343
|
-
// (isExternal / bundle: false). Honoring it in Effect mode deploys
|
|
1344
|
-
// a Lambda that dies at init with Runtime.HandlerNotFound.
|
|
1345
|
-
// Prebuilt directories keep their own entry filename, so the
|
|
1346
|
-
// handler prefix is `main`'s basename instead of the bundler's
|
|
1347
|
-
// fixed `index`.
|
|
1348
|
-
Handler: handlerStringOf(news),
|
|
1349
1689
|
Role: roleArn,
|
|
1350
1690
|
Code: codeLocation,
|
|
1351
|
-
|
|
1691
|
+
...(isFunctionImageProps(news)
|
|
1692
|
+
? {
|
|
1693
|
+
PackageType: "Image" as const,
|
|
1694
|
+
ImageConfig: toLambdaImageConfig(news.image),
|
|
1695
|
+
}
|
|
1696
|
+
: {
|
|
1697
|
+
// Effect-mode functions are wrapped in a generated entry whose
|
|
1698
|
+
// ONLY export is `default` — `handler` names an export of the
|
|
1699
|
+
// USER's module and can only address it when the module is
|
|
1700
|
+
// bundled as-is (isExternal). Honoring it in Effect mode
|
|
1701
|
+
// deploys a Lambda that dies at init with
|
|
1702
|
+
// Runtime.HandlerNotFound.
|
|
1703
|
+
Handler: handlerStringOf(news),
|
|
1704
|
+
Runtime: news.runtime ?? "nodejs24.x",
|
|
1705
|
+
PackageType: "Zip" as const,
|
|
1706
|
+
}),
|
|
1352
1707
|
Architectures: [news.architecture ?? "x86_64"],
|
|
1353
1708
|
MemorySize: news.memorySize,
|
|
1354
1709
|
// Always explicit: `UpdateFunctionConfiguration` treats an omitted
|
|
1355
1710
|
// `Layers` as "leave as-is", so removing the prop would strand the
|
|
1356
1711
|
// previously-attached layers.
|
|
1357
|
-
Layers: (news
|
|
1712
|
+
Layers: isFunctionImageProps(news)
|
|
1713
|
+
? undefined
|
|
1714
|
+
: (news.layers ?? []).map(layerVersionArnOf),
|
|
1358
1715
|
Environment: runtimeEnv
|
|
1359
1716
|
? {
|
|
1360
1717
|
Variables: {
|
|
@@ -1411,13 +1768,7 @@ export const FunctionProvider = () =>
|
|
|
1411
1768
|
yield* Lambda.updateFunctionCode({
|
|
1412
1769
|
FunctionName: createFunctionRequest.FunctionName,
|
|
1413
1770
|
Architectures: createFunctionRequest.Architectures,
|
|
1414
|
-
|
|
1415
|
-
...("S3Bucket" in codeLocation
|
|
1416
|
-
? {
|
|
1417
|
-
S3Bucket: codeLocation.S3Bucket,
|
|
1418
|
-
S3Key: codeLocation.S3Key,
|
|
1419
|
-
}
|
|
1420
|
-
: { ZipFile: codeLocation.ZipFile }),
|
|
1771
|
+
...codeLocation,
|
|
1421
1772
|
}).pipe(
|
|
1422
1773
|
Effect.tapError((e) =>
|
|
1423
1774
|
isRolePropagationError(e)
|
|
@@ -1440,7 +1791,7 @@ export const FunctionProvider = () =>
|
|
|
1440
1791
|
EphemeralStorage: createFunctionRequest.EphemeralStorage,
|
|
1441
1792
|
FileSystemConfigs: createFunctionRequest.FileSystemConfigs,
|
|
1442
1793
|
Handler: createFunctionRequest.Handler,
|
|
1443
|
-
ImageConfig:
|
|
1794
|
+
ImageConfig: imageConfigForUpdate(news),
|
|
1444
1795
|
KMSKeyArn: createFunctionRequest.KMSKeyArn,
|
|
1445
1796
|
Layers: createFunctionRequest.Layers,
|
|
1446
1797
|
LoggingConfig: createFunctionRequest.LoggingConfig,
|
|
@@ -1628,19 +1979,66 @@ export const FunctionProvider = () =>
|
|
|
1628
1979
|
return undefined;
|
|
1629
1980
|
});
|
|
1630
1981
|
|
|
1631
|
-
const summary = (
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1982
|
+
const summary = (code: FunctionDeploymentCode) =>
|
|
1983
|
+
code.packageType === "Image"
|
|
1984
|
+
? code.imageUri
|
|
1985
|
+
: code.archive.length >= 1024 * 1024
|
|
1986
|
+
? `${(code.archive.length / (1024 * 1024)).toFixed(2)}MB`
|
|
1987
|
+
: code.archive.length >= 1024
|
|
1988
|
+
? `${(code.archive.length / 1024).toFixed(2)}KB`
|
|
1989
|
+
: `${code.archive.length}B`;
|
|
1990
|
+
|
|
1991
|
+
const refreshPersistedFunctionCode = ({
|
|
1992
|
+
output,
|
|
1993
|
+
packageType,
|
|
1994
|
+
observed,
|
|
1995
|
+
}: {
|
|
1996
|
+
output: Function["Attributes"] | undefined;
|
|
1997
|
+
packageType: Lambda.PackageType | undefined;
|
|
1998
|
+
observed:
|
|
1999
|
+
| {
|
|
2000
|
+
ImageUri?: string;
|
|
2001
|
+
ResolvedImageUri?: string;
|
|
2002
|
+
}
|
|
2003
|
+
| undefined;
|
|
2004
|
+
}): Function["Attributes"]["code"] => {
|
|
2005
|
+
if (output?.code === undefined) {
|
|
2006
|
+
// Cold adoption has no persisted source hash. Return a complete
|
|
2007
|
+
// Attributes shape and let the forced post-adoption reconcile write
|
|
2008
|
+
// the desired code and replace this placeholder.
|
|
2009
|
+
return { hash: "" };
|
|
2010
|
+
}
|
|
2011
|
+
if (packageType !== "Image" || output.code.image === undefined) {
|
|
2012
|
+
return output.code;
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
// Lambda can refresh the deployed URI and digest, but it cannot
|
|
2016
|
+
// reconstruct Alchemy's source hash or prove repository ownership.
|
|
2017
|
+
// Preserve that metadata from state instead of inferring a managed
|
|
2018
|
+
// repository from an arbitrary image during adoption.
|
|
2019
|
+
const resolvedImageUri = observed?.ResolvedImageUri;
|
|
2020
|
+
const digest = resolvedImageUri?.split("@").at(-1);
|
|
2021
|
+
return {
|
|
2022
|
+
...output.code,
|
|
2023
|
+
image: {
|
|
2024
|
+
...output.code.image,
|
|
2025
|
+
...(observed?.ImageUri === undefined
|
|
2026
|
+
? {}
|
|
2027
|
+
: { imageUri: observed.ImageUri }),
|
|
2028
|
+
...(resolvedImageUri === undefined ? {} : { resolvedImageUri }),
|
|
2029
|
+
...(digest === undefined ? {} : { digest }),
|
|
2030
|
+
},
|
|
2031
|
+
};
|
|
2032
|
+
};
|
|
1639
2033
|
|
|
1640
2034
|
return {
|
|
1641
2035
|
stables: ["functionArn", "functionName", "roleName"],
|
|
1642
2036
|
diff: Effect.fn(function* ({ id, olds, news, output }) {
|
|
1643
2037
|
if (!isResolved(news)) return;
|
|
2038
|
+
yield* validateFunctionPackageProps(id, news);
|
|
2039
|
+
if (isFunctionImageProps(news)) {
|
|
2040
|
+
yield* decodeFunctionImageSource(id, news.image);
|
|
2041
|
+
}
|
|
1644
2042
|
// If output is undefined (resource in creating state), defer to default diff
|
|
1645
2043
|
if (!output) {
|
|
1646
2044
|
return undefined;
|
|
@@ -1651,13 +2049,30 @@ export const FunctionProvider = () =>
|
|
|
1651
2049
|
// can force a replace.
|
|
1652
2050
|
const newFunctionName = news.functionName ?? output.functionName;
|
|
1653
2051
|
if (output.functionName !== newFunctionName) {
|
|
2052
|
+
// The new physical name differs from the deployed name, so it can
|
|
2053
|
+
// be created before dependents switch over and the old function is
|
|
2054
|
+
// deleted. delete-first is only needed by replacements that reuse
|
|
2055
|
+
// the same explicit name below.
|
|
1654
2056
|
return { action: "replace" };
|
|
1655
2057
|
}
|
|
1656
|
-
if (
|
|
2058
|
+
if (isFunctionImageProps(olds) !== isFunctionImageProps(news)) {
|
|
2059
|
+
return {
|
|
2060
|
+
action: "replace",
|
|
2061
|
+
deleteFirst: news.functionName !== undefined,
|
|
2062
|
+
};
|
|
2063
|
+
}
|
|
2064
|
+
if (
|
|
2065
|
+
!isFunctionImageProps(olds) &&
|
|
2066
|
+
!isFunctionImageProps(news) &&
|
|
2067
|
+
!!olds.durableConfig !== !!news.durableConfig
|
|
2068
|
+
) {
|
|
1657
2069
|
// DurableConfig can only be enabled/disabled at CreateFunction —
|
|
1658
2070
|
// switching a logical id between Function and DurableFunction (or
|
|
1659
2071
|
// vice versa) must replace the physical function.
|
|
1660
|
-
return {
|
|
2072
|
+
return {
|
|
2073
|
+
action: "replace",
|
|
2074
|
+
deleteFirst: news.functionName !== undefined,
|
|
2075
|
+
};
|
|
1661
2076
|
}
|
|
1662
2077
|
if (
|
|
1663
2078
|
!deepEqual(
|
|
@@ -1667,18 +2082,55 @@ export const FunctionProvider = () =>
|
|
|
1667
2082
|
) {
|
|
1668
2083
|
return { action: "update" };
|
|
1669
2084
|
}
|
|
1670
|
-
|
|
2085
|
+
let imageIdentity: FunctionImageIdentity | undefined;
|
|
2086
|
+
let codeHash: string;
|
|
2087
|
+
if (isFunctionImageProps(news)) {
|
|
2088
|
+
imageIdentity = yield* functionImage.identity(
|
|
2089
|
+
id,
|
|
2090
|
+
news.image,
|
|
2091
|
+
news.architecture,
|
|
2092
|
+
);
|
|
2093
|
+
codeHash = imageIdentity.hash;
|
|
2094
|
+
} else {
|
|
2095
|
+
codeHash = (yield* bundleCode(id, news)).identityHash;
|
|
2096
|
+
}
|
|
2097
|
+
if (output.code.hash !== codeHash) {
|
|
1671
2098
|
// code changed
|
|
1672
2099
|
return { action: "update" };
|
|
1673
2100
|
}
|
|
2101
|
+
if (isFunctionImageProps(news)) {
|
|
2102
|
+
const image = output.code.image;
|
|
2103
|
+
if (
|
|
2104
|
+
image === undefined ||
|
|
2105
|
+
image.source !== imageIdentity?.source ||
|
|
2106
|
+
(imageIdentity?.source === "uri"
|
|
2107
|
+
? image.imageUri !== imageIdentity.imageUri ||
|
|
2108
|
+
image.resolvedImageUri !== imageIdentity.resolvedImageUri
|
|
2109
|
+
: image.imageUri !== `${image.repositoryUri}:${codeHash}` ||
|
|
2110
|
+
!(yield* functionImage.isReady(
|
|
2111
|
+
id,
|
|
2112
|
+
image.repositoryName,
|
|
2113
|
+
codeHash,
|
|
2114
|
+
)))
|
|
2115
|
+
) {
|
|
2116
|
+
return { action: "update" };
|
|
2117
|
+
}
|
|
2118
|
+
if (
|
|
2119
|
+
isFunctionImageProps(olds) &&
|
|
2120
|
+
!deepEqual(
|
|
2121
|
+
toLambdaImageConfig(olds.image),
|
|
2122
|
+
toLambdaImageConfig(news.image),
|
|
2123
|
+
)
|
|
2124
|
+
) {
|
|
2125
|
+
return { action: "update" };
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
1674
2128
|
if (
|
|
1675
2129
|
toTimeoutSeconds(olds.timeout) !== toTimeoutSeconds(news.timeout)
|
|
1676
2130
|
) {
|
|
1677
2131
|
return { action: "update" };
|
|
1678
2132
|
}
|
|
1679
|
-
if (
|
|
1680
|
-
(olds.architecture ?? "x86_64") !== (news.architecture ?? "x86_64")
|
|
1681
|
-
) {
|
|
2133
|
+
if (olds.architecture !== news.architecture) {
|
|
1682
2134
|
return { action: "update" };
|
|
1683
2135
|
}
|
|
1684
2136
|
if (
|
|
@@ -1705,14 +2157,14 @@ export const FunctionProvider = () =>
|
|
|
1705
2157
|
output?.functionName ??
|
|
1706
2158
|
(yield* createFunctionName(id, olds?.functionName));
|
|
1707
2159
|
yield* Effect.logDebug(`reading function ${functionName}`);
|
|
1708
|
-
const
|
|
2160
|
+
const result = yield* Lambda.getFunction({
|
|
1709
2161
|
FunctionName: functionName,
|
|
1710
2162
|
}).pipe(
|
|
1711
|
-
Effect.map((r) => r.Configuration),
|
|
1712
2163
|
Effect.catchTag("ResourceNotFoundException", () =>
|
|
1713
2164
|
Effect.succeed(undefined),
|
|
1714
2165
|
),
|
|
1715
2166
|
);
|
|
2167
|
+
const fn = result?.Configuration;
|
|
1716
2168
|
if (!fn?.FunctionArn || !fn.FunctionName || !fn.Role) {
|
|
1717
2169
|
return undefined;
|
|
1718
2170
|
}
|
|
@@ -1747,8 +2199,13 @@ export const FunctionProvider = () =>
|
|
|
1747
2199
|
functionUrl,
|
|
1748
2200
|
roleArn: fn.Role,
|
|
1749
2201
|
roleName: output?.roleName ?? fn.Role.split("/").pop()!,
|
|
2202
|
+
code: refreshPersistedFunctionCode({
|
|
2203
|
+
output,
|
|
2204
|
+
packageType: fn.PackageType,
|
|
2205
|
+
observed: result?.Code,
|
|
2206
|
+
}),
|
|
1750
2207
|
reservedConcurrentExecutions,
|
|
1751
|
-
}
|
|
2208
|
+
} satisfies Function["Attributes"];
|
|
1752
2209
|
return (yield* hasAlchemyTags(id, tagsResult))
|
|
1753
2210
|
? attrs
|
|
1754
2211
|
: Unowned(attrs);
|
|
@@ -1806,6 +2263,15 @@ export const FunctionProvider = () =>
|
|
|
1806
2263
|
}),
|
|
1807
2264
|
|
|
1808
2265
|
precreate: Effect.fn(function* ({ id, news, session }) {
|
|
2266
|
+
yield* validateFunctionPackageProps(id, news);
|
|
2267
|
+
if (isFunctionImageProps(news)) {
|
|
2268
|
+
// Resolve and validate the image before creating the execution
|
|
2269
|
+
// role. External references perform only ECR reads here; local
|
|
2270
|
+
// sources only hash their build inputs. A bad URI, wrong region,
|
|
2271
|
+
// inaccessible image, or invalid build source therefore cannot
|
|
2272
|
+
// strand an IAM role when pre-create fails before persisting state.
|
|
2273
|
+
yield* functionImage.identity(id, news.image, news.architecture);
|
|
2274
|
+
}
|
|
1809
2275
|
const { accountId, region } = yield* AWSEnvironment.current;
|
|
1810
2276
|
const { roleName, functionName, roleArn } = yield* createNames(
|
|
1811
2277
|
id,
|
|
@@ -1818,23 +2284,17 @@ export const FunctionProvider = () =>
|
|
|
1818
2284
|
vpc: news.vpc,
|
|
1819
2285
|
});
|
|
1820
2286
|
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
const code = new TextEncoder().encode(
|
|
1828
|
-
`export default () => ({ statusCode: 503, headers: { "content-type": "application/json" }, body: JSON.stringify({ error: "function initializing" }) })`,
|
|
1829
|
-
);
|
|
1830
|
-
const archive = yield* zipCode(code);
|
|
1831
|
-
const hash = yield* hashBundle(code);
|
|
2287
|
+
const prepared = yield* preparePrecreatedFunctionCode({
|
|
2288
|
+
id,
|
|
2289
|
+
props: news,
|
|
2290
|
+
session,
|
|
2291
|
+
});
|
|
2292
|
+
|
|
1832
2293
|
yield* createOrUpdateFunction({
|
|
1833
2294
|
id,
|
|
1834
2295
|
news,
|
|
1835
2296
|
roleArn: role.Role.Arn,
|
|
1836
|
-
|
|
1837
|
-
hash,
|
|
2297
|
+
code: prepared.deployment,
|
|
1838
2298
|
functionName,
|
|
1839
2299
|
env: alchemyEnv,
|
|
1840
2300
|
session,
|
|
@@ -1845,9 +2305,7 @@ export const FunctionProvider = () =>
|
|
|
1845
2305
|
functionName,
|
|
1846
2306
|
functionUrl: undefined,
|
|
1847
2307
|
roleName,
|
|
1848
|
-
code:
|
|
1849
|
-
hash,
|
|
1850
|
-
},
|
|
2308
|
+
code: prepared.attributes,
|
|
1851
2309
|
roleArn,
|
|
1852
2310
|
};
|
|
1853
2311
|
}),
|
|
@@ -1859,6 +2317,10 @@ export const FunctionProvider = () =>
|
|
|
1859
2317
|
output,
|
|
1860
2318
|
session,
|
|
1861
2319
|
}) {
|
|
2320
|
+
yield* validateFunctionPackageProps(id, news);
|
|
2321
|
+
if (isFunctionImageProps(news)) {
|
|
2322
|
+
yield* decodeFunctionImageSource(id, news.image);
|
|
2323
|
+
}
|
|
1862
2324
|
const generated = yield* createNames(id, news.functionName);
|
|
1863
2325
|
// Prefer the deployed identifiers: regenerating would target
|
|
1864
2326
|
// different physical resources if the generator's output for this
|
|
@@ -1972,15 +2434,18 @@ export const FunctionProvider = () =>
|
|
|
1972
2434
|
});
|
|
1973
2435
|
}
|
|
1974
2436
|
|
|
1975
|
-
const
|
|
1976
|
-
|
|
2437
|
+
const prepared = yield* prepareFunctionCode({
|
|
2438
|
+
id,
|
|
2439
|
+
props: news,
|
|
2440
|
+
previousImage: output?.code?.image,
|
|
2441
|
+
session,
|
|
2442
|
+
});
|
|
1977
2443
|
|
|
1978
2444
|
yield* createOrUpdateFunction({
|
|
1979
2445
|
id,
|
|
1980
2446
|
news,
|
|
1981
2447
|
roleArn,
|
|
1982
|
-
|
|
1983
|
-
hash: archiveHash,
|
|
2448
|
+
code: prepared.deployment,
|
|
1984
2449
|
env: {
|
|
1985
2450
|
...env,
|
|
1986
2451
|
...news.env,
|
|
@@ -2000,6 +2465,22 @@ export const FunctionProvider = () =>
|
|
|
2000
2465
|
session,
|
|
2001
2466
|
});
|
|
2002
2467
|
|
|
2468
|
+
const previousImage = output?.code.image;
|
|
2469
|
+
const nextImage =
|
|
2470
|
+
"image" in prepared.attributes
|
|
2471
|
+
? prepared.attributes.image
|
|
2472
|
+
: undefined;
|
|
2473
|
+
if (
|
|
2474
|
+
previousImage?.ownsRepository === true &&
|
|
2475
|
+
previousImage.repositoryUri !== nextImage?.repositoryUri
|
|
2476
|
+
) {
|
|
2477
|
+
// The function has moved from an Alchemy-owned local image to a
|
|
2478
|
+
// different source. Wait until Lambda has adopted the new digest
|
|
2479
|
+
// before deleting the now-unreferenced managed repository.
|
|
2480
|
+
yield* waitForFunctionUpdate(functionName, session);
|
|
2481
|
+
yield* functionImage.deleteRepository(previousImage.repositoryName);
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2003
2484
|
const reservedConcurrentExecutions =
|
|
2004
2485
|
yield* syncReservedConcurrentExecutions({
|
|
2005
2486
|
functionName,
|
|
@@ -2018,7 +2499,7 @@ export const FunctionProvider = () =>
|
|
|
2018
2499
|
currentFunctionUrl: output?.functionUrl,
|
|
2019
2500
|
});
|
|
2020
2501
|
|
|
2021
|
-
yield* session.note(summary(
|
|
2502
|
+
yield* session.note(summary(prepared.deployment));
|
|
2022
2503
|
|
|
2023
2504
|
return {
|
|
2024
2505
|
...output,
|
|
@@ -2027,9 +2508,7 @@ export const FunctionProvider = () =>
|
|
|
2027
2508
|
functionUrl: functionUrl as any,
|
|
2028
2509
|
roleName,
|
|
2029
2510
|
roleArn,
|
|
2030
|
-
code:
|
|
2031
|
-
hash: identityHash,
|
|
2032
|
-
},
|
|
2511
|
+
code: prepared.attributes,
|
|
2033
2512
|
reservedConcurrentExecutions,
|
|
2034
2513
|
};
|
|
2035
2514
|
}),
|
|
@@ -2092,6 +2571,15 @@ export const FunctionProvider = () =>
|
|
|
2092
2571
|
Effect.catchTag("ResourceNotFoundException", () => Effect.void),
|
|
2093
2572
|
);
|
|
2094
2573
|
|
|
2574
|
+
if (output.code.image?.ownsRepository) {
|
|
2575
|
+
// Lambda must release its image before the owned repository is
|
|
2576
|
+
// force-deleted. Both operations are idempotent, so an interrupted
|
|
2577
|
+
// destroy converges on the next run.
|
|
2578
|
+
yield* functionImage.deleteRepository(
|
|
2579
|
+
output.code.image.repositoryName,
|
|
2580
|
+
);
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2095
2583
|
// Release the execution role before the auxiliary CloudWatch Logs
|
|
2096
2584
|
// reap below. A recently invoked function can keep that reap alive
|
|
2097
2585
|
// for ~40 seconds while Lambda flushes its final log batches; if the
|