alchemy 2.0.0-beta.61 → 2.0.0-beta.62
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 +15 -0
- package/bin/exec.js +71 -12
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
- package/lib/AWS/ACM/Certificate.js +16 -4
- package/lib/AWS/ACM/Certificate.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/common.js +6 -3
- package/lib/AWS/ApiGateway/common.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +1 -1
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.js +8 -2
- package/lib/AWS/AutoScaling/AutoScalingGroup.js.map +1 -1
- package/lib/AWS/Bootstrap.d.ts.map +1 -1
- package/lib/AWS/Bootstrap.js +5 -2
- package/lib/AWS/Bootstrap.js.map +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Distribution.js +20 -5
- package/lib/AWS/CloudFront/Distribution.js.map +1 -1
- package/lib/AWS/CloudFront/Function.js +5 -2
- package/lib/AWS/CloudFront/Function.js.map +1 -1
- package/lib/AWS/CloudFront/Invalidation.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Invalidation.js +4 -1
- package/lib/AWS/CloudFront/Invalidation.js.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.d.ts.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.js +4 -1
- 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 +8 -2
- package/lib/AWS/CloudFront/KvRoutesUpdate.js.map +1 -1
- package/lib/AWS/CloudFront/VpcOrigin.d.ts.map +1 -1
- package/lib/AWS/CloudFront/VpcOrigin.js +12 -3
- package/lib/AWS/CloudFront/VpcOrigin.js.map +1 -1
- package/lib/AWS/CloudFront/common.d.ts.map +1 -1
- package/lib/AWS/CloudFront/common.js +5 -2
- package/lib/AWS/CloudFront/common.js.map +1 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.js +4 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.js.map +1 -1
- package/lib/AWS/CloudWatch/common.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/common.js +1 -1
- package/lib/AWS/CloudWatch/common.js.map +1 -1
- package/lib/AWS/DynamoDB/Table.d.ts.map +1 -1
- package/lib/AWS/DynamoDB/Table.js +53 -20
- package/lib/AWS/DynamoDB/Table.js.map +1 -1
- package/lib/AWS/EC2/EIP.d.ts.map +1 -1
- package/lib/AWS/EC2/EIP.js +4 -1
- package/lib/AWS/EC2/EIP.js.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js +4 -2
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.js +12 -3
- package/lib/AWS/EC2/Instance.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +12 -5
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/NatGateway.js +2 -4
- package/lib/AWS/EC2/NatGateway.js.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.js +4 -1
- package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
- package/lib/AWS/EC2/NetworkAclEntry.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAclEntry.js +4 -1
- package/lib/AWS/EC2/NetworkAclEntry.js.map +1 -1
- package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
- package/lib/AWS/EC2/RouteTable.js +8 -6
- package/lib/AWS/EC2/RouteTable.js.map +1 -1
- package/lib/AWS/EC2/RouteTableAssociation.js +2 -5
- package/lib/AWS/EC2/RouteTableAssociation.js.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.js +8 -3
- package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
- package/lib/AWS/EC2/Subnet.d.ts.map +1 -1
- package/lib/AWS/EC2/Subnet.js +10 -6
- package/lib/AWS/EC2/Subnet.js.map +1 -1
- package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
- package/lib/AWS/EC2/Vpc.js +7 -7
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/VpcEndpoint.js +2 -4
- package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +4 -1
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/EKS/Addon.js +8 -2
- package/lib/AWS/EKS/Addon.js.map +1 -1
- package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
- package/lib/AWS/EKS/Cluster.js +4 -1
- package/lib/AWS/EKS/Cluster.js.map +1 -1
- package/lib/AWS/ELBv2/TargetGroup.d.ts.map +1 -1
- package/lib/AWS/ELBv2/TargetGroup.js +4 -1
- package/lib/AWS/ELBv2/TargetGroup.js.map +1 -1
- package/lib/AWS/ELBv2/TrustStore.d.ts.map +1 -1
- package/lib/AWS/ELBv2/TrustStore.js +4 -1
- package/lib/AWS/ELBv2/TrustStore.js.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.js +4 -1
- package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
- package/lib/AWS/IdentityCenter/AccountAssignment.js +8 -2
- package/lib/AWS/IdentityCenter/AccountAssignment.js.map +1 -1
- package/lib/AWS/IdentityCenter/common.d.ts.map +1 -1
- package/lib/AWS/IdentityCenter/common.js +1 -1
- package/lib/AWS/IdentityCenter/common.js.map +1 -1
- package/lib/AWS/KMS/Alias.js +4 -1
- package/lib/AWS/KMS/Alias.js.map +1 -1
- package/lib/AWS/KMS/Key.js +4 -1
- package/lib/AWS/KMS/Key.js.map +1 -1
- package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
- package/lib/AWS/Kinesis/Stream.js +2 -2
- package/lib/AWS/Kinesis/Stream.js.map +1 -1
- package/lib/AWS/Kinesis/StreamConsumer.d.ts.map +1 -1
- package/lib/AWS/Kinesis/StreamConsumer.js +7 -4
- package/lib/AWS/Kinesis/StreamConsumer.js.map +1 -1
- package/lib/AWS/Lambda/Alias.d.ts.map +1 -1
- package/lib/AWS/Lambda/Alias.js +4 -1
- package/lib/AWS/Lambda/Alias.js.map +1 -1
- package/lib/AWS/Lambda/EventInvokeConfig.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventInvokeConfig.js +2 -2
- package/lib/AWS/Lambda/EventInvokeConfig.js.map +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.js +10 -4
- package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +16 -1
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +101 -26
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.js +13 -5
- package/lib/AWS/Lambda/MicrovmProvider.js.map +1 -1
- package/lib/AWS/Lambda/NetworkConnector.js +13 -5
- package/lib/AWS/Lambda/NetworkConnector.js.map +1 -1
- package/lib/AWS/Lambda/RuntimeExtension.d.ts +27 -0
- package/lib/AWS/Lambda/RuntimeExtension.d.ts.map +1 -0
- package/lib/AWS/Lambda/RuntimeExtension.js +49 -0
- package/lib/AWS/Lambda/RuntimeExtension.js.map +1 -0
- package/lib/AWS/Organizations/Account.js +5 -2
- package/lib/AWS/Organizations/Account.js.map +1 -1
- package/lib/AWS/Organizations/common.d.ts.map +1 -1
- package/lib/AWS/Organizations/common.js +1 -1
- package/lib/AWS/Organizations/common.js.map +1 -1
- package/lib/AWS/Providers.js +14 -12
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/RDS/DBCluster.d.ts.map +1 -1
- package/lib/AWS/RDS/DBCluster.js +8 -2
- package/lib/AWS/RDS/DBCluster.js.map +1 -1
- package/lib/AWS/RDS/DBInstance.d.ts.map +1 -1
- package/lib/AWS/RDS/DBInstance.js +8 -2
- package/lib/AWS/RDS/DBInstance.js.map +1 -1
- package/lib/AWS/RDS/DBProxy.d.ts.map +1 -1
- package/lib/AWS/RDS/DBProxy.js +4 -1
- package/lib/AWS/RDS/DBProxy.js.map +1 -1
- package/lib/AWS/RDS/DBProxyEndpoint.d.ts.map +1 -1
- package/lib/AWS/RDS/DBProxyEndpoint.js +4 -1
- package/lib/AWS/RDS/DBProxyEndpoint.js.map +1 -1
- package/lib/AWS/Route53/HealthCheck.d.ts.map +1 -1
- package/lib/AWS/Route53/HealthCheck.js +8 -2
- package/lib/AWS/Route53/HealthCheck.js.map +1 -1
- package/lib/AWS/Route53/HostedZone.d.ts.map +1 -1
- package/lib/AWS/Route53/HostedZone.js +8 -2
- package/lib/AWS/Route53/HostedZone.js.map +1 -1
- package/lib/AWS/Route53/Record.d.ts.map +1 -1
- package/lib/AWS/Route53/Record.js +4 -1
- package/lib/AWS/Route53/Record.js.map +1 -1
- package/lib/AWS/S3/Bucket.d.ts.map +1 -1
- package/lib/AWS/S3/Bucket.js +5 -2
- package/lib/AWS/S3/Bucket.js.map +1 -1
- package/lib/AWS/SQS/Queue.d.ts.map +1 -1
- package/lib/AWS/SQS/Queue.js +25 -7
- package/lib/AWS/SQS/Queue.js.map +1 -1
- package/lib/AWS/StateStore/State.js +5 -2
- package/lib/AWS/StateStore/State.js.map +1 -1
- package/lib/AWS/Website/AssetDeployment.js +5 -2
- package/lib/AWS/Website/AssetDeployment.js.map +1 -1
- package/lib/Apply.js +8 -0
- package/lib/Apply.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts +10 -0
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +10 -0
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/AuthProvider.js +1 -1
- package/lib/Axiom/AuthProvider.js.map +1 -1
- package/lib/Bundle/Vite.d.ts +1 -1
- package/lib/Bundle/Vite.d.ts.map +1 -1
- package/lib/Bundle/Vite.js +14 -12
- package/lib/Bundle/Vite.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +55 -5
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +62 -2
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/login.d.ts.map +1 -1
- package/lib/Cli/commands/login.js +9 -20
- package/lib/Cli/commands/login.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +1 -0
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/nuke.d.ts.map +1 -1
- package/lib/Cli/commands/nuke.js +15 -24
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/profile.d.ts +23 -1
- package/lib/Cli/commands/profile.d.ts.map +1 -1
- package/lib/Cli/commands/profile.js +47 -10
- package/lib/Cli/commands/profile.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +1 -0
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.d.ts.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js +31 -2
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.js +4 -1
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/Access/Application.d.ts.map +1 -1
- package/lib/Cloudflare/Access/Application.js +7 -1
- package/lib/Cloudflare/Access/Application.js.map +1 -1
- package/lib/Cloudflare/Alerting/Silence.d.ts.map +1 -1
- package/lib/Cloudflare/Alerting/Silence.js +4 -1
- package/lib/Cloudflare/Alerting/Silence.js.map +1 -1
- package/lib/Cloudflare/Alerting/Webhook.d.ts.map +1 -1
- package/lib/Cloudflare/Alerting/Webhook.js +8 -2
- package/lib/Cloudflare/Alerting/Webhook.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +22 -7
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +6 -7
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.d.ts.map +1 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.js +7 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +18 -2
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js +1 -0
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts +29 -3
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +73 -22
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +53 -14
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts +6 -6
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.js +69 -47
- package/lib/Cloudflare/Containers/LocalContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js +4 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js.map +1 -1
- package/lib/Cloudflare/Images/Variant.d.ts.map +1 -1
- package/lib/Cloudflare/Images/Variant.js +4 -1
- package/lib/Cloudflare/Images/Variant.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.js +4 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.js +4 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Pool.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Pool.js +4 -1
- package/lib/Cloudflare/LoadBalancer/Pool.js.map +1 -1
- package/lib/Cloudflare/LocalRuntime.d.ts +14 -0
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +1 -0
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js +4 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Pipeline.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Pipeline.js +8 -2
- package/lib/Cloudflare/Pipelines/Pipeline.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Sink.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Sink.js +8 -2
- package/lib/Cloudflare/Pipelines/Sink.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Stream.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Stream.js +4 -1
- package/lib/Cloudflare/Pipelines/Stream.js.map +1 -1
- package/lib/Cloudflare/Providers.js +14 -11
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +30 -3
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +4 -1
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +12 -3
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/BucketEventNotification.js +4 -1
- package/lib/Cloudflare/R2/BucketEventNotification.js.map +1 -1
- package/lib/Cloudflare/R2/DataCatalog.js +4 -1
- package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
- package/lib/Cloudflare/Rum/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/Rum/Rule.js +4 -1
- package/lib/Cloudflare/Rum/Rule.js.map +1 -1
- package/lib/Cloudflare/Snippets/Snippet.d.ts.map +1 -1
- package/lib/Cloudflare/Snippets/Snippet.js +4 -1
- package/lib/Cloudflare/Snippets/Snippet.js.map +1 -1
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts +42 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts.map +1 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.js +23 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.js.map +1 -0
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +46 -9
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.d.ts.map +1 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.js +4 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.js.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +7 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
- package/lib/Cloudflare/WaitingRoom/Settings.d.ts.map +1 -1
- package/lib/Cloudflare/WaitingRoom/Settings.js +7 -1
- package/lib/Cloudflare/WaitingRoom/Settings.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +19 -0
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +20 -0
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +43 -7
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.d.ts +3 -2
- package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.js +86 -82
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.d.ts +1 -4
- package/lib/Cloudflare/Workers/HttpServer.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.js +1 -3
- package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +74 -11
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.js +4 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.js.map +1 -1
- package/lib/Cloudflare/Workers/Vite.d.ts +1 -1
- package/lib/Cloudflare/Workers/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +27 -5
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +10 -5
- 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 +24 -15
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts +13 -5
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.js +126 -50
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +26 -7
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.js +10 -3
- package/lib/Cloudflare/Workers/cloudflare_workers.js.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.d.ts +10 -7
- package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.js +38 -13
- package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +39 -37
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowName.d.ts +11 -0
- package/lib/Cloudflare/Workflows/WorkflowName.d.ts.map +1 -0
- package/lib/Cloudflare/Workflows/WorkflowName.js +28 -0
- package/lib/Cloudflare/Workflows/WorkflowName.js.map +1 -0
- package/lib/Cloudflare/Zone/Hold.d.ts.map +1 -1
- package/lib/Cloudflare/Zone/Hold.js +7 -1
- package/lib/Cloudflare/Zone/Hold.js.map +1 -1
- package/lib/Command/Dev.d.ts +16 -6
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +37 -7
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Docker/Container.js +4 -1
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Drizzle/Postgres.d.ts +14 -13
- package/lib/Drizzle/Postgres.d.ts.map +1 -1
- package/lib/Drizzle/Postgres.js +39 -19
- package/lib/Drizzle/Postgres.js.map +1 -1
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/AuthProvider.js +1 -1
- package/lib/GitHub/AuthProvider.js.map +1 -1
- package/lib/GitHub/Env.d.ts +20 -0
- package/lib/GitHub/Env.d.ts.map +1 -0
- package/lib/GitHub/Env.js +27 -0
- package/lib/GitHub/Env.js.map +1 -0
- package/lib/GitHub/index.d.ts +1 -0
- package/lib/GitHub/index.d.ts.map +1 -1
- package/lib/GitHub/index.js +1 -0
- package/lib/GitHub/index.js.map +1 -1
- package/lib/Http.d.ts +9 -0
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +9 -0
- package/lib/Http.js.map +1 -1
- package/lib/Local/RpcProviderProxy.js +1 -1
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +1 -1
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Project.js +4 -1
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +28 -11
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts +26 -9
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +142 -11
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +4 -1
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/Credentials.d.ts.map +1 -1
- package/lib/Planetscale/Credentials.js +14 -6
- package/lib/Planetscale/Credentials.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLMigrations.js +4 -1
- package/lib/Planetscale/MySQL/MySQLMigrations.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +72 -0
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -0
- package/lib/Planetscale/OAuthClient.js +227 -0
- package/lib/Planetscale/OAuthClient.js.map +1 -0
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js +4 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresMigrations.js +4 -1
- package/lib/Planetscale/Postgres/PostgresMigrations.js.map +1 -1
- package/lib/Planetscale/Util.d.ts.map +1 -1
- package/lib/Planetscale/Util.js +4 -1
- package/lib/Planetscale/Util.js.map +1 -1
- package/lib/Platform.d.ts +2 -3
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +52 -3
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +35 -0
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js.map +1 -1
- package/lib/State/HttpStateApi.d.ts +8 -8
- package/lib/State/HttpStateStore.js +5 -2
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +3 -0
- package/lib/Sync.js.map +1 -1
- package/lib/Test/Http.d.ts.map +1 -1
- package/lib/Test/Http.js +8 -2
- package/lib/Test/Http.js.map +1 -1
- package/lib/Util/data.d.ts +6 -1
- package/lib/Util/data.d.ts.map +1 -1
- package/lib/Util/data.js.map +1 -1
- package/lib/Util/poll.js +1 -1
- package/lib/Util/poll.js.map +1 -1
- package/package.json +20 -20
- package/src/AWS/ACM/Certificate.ts +16 -12
- package/src/AWS/ApiGateway/common.ts +11 -8
- package/src/AWS/AuthProvider.ts +0 -3
- package/src/AWS/AutoScaling/AutoScalingGroup.ts +8 -6
- package/src/AWS/Bootstrap.ts +5 -6
- package/src/AWS/CloudFront/Distribution.ts +20 -16
- package/src/AWS/CloudFront/Function.ts +10 -6
- package/src/AWS/CloudFront/Invalidation.ts +4 -3
- package/src/AWS/CloudFront/KvEntries.ts +4 -3
- package/src/AWS/CloudFront/KvRoutesUpdate.ts +8 -6
- package/src/AWS/CloudFront/VpcOrigin.ts +12 -9
- package/src/AWS/CloudFront/common.ts +10 -6
- package/src/AWS/CloudWatch/AnomalyDetector.ts +4 -3
- package/src/AWS/CloudWatch/common.ts +1 -3
- package/src/AWS/DynamoDB/Table.ts +57 -47
- package/src/AWS/EC2/EIP.ts +6 -4
- package/src/AWS/EC2/EgressOnlyInternetGateway.ts +6 -4
- package/src/AWS/EC2/Instance.ts +12 -9
- package/src/AWS/EC2/InternetGateway.ts +18 -12
- package/src/AWS/EC2/NatGateway.ts +6 -10
- package/src/AWS/EC2/NetworkAcl.ts +6 -4
- package/src/AWS/EC2/NetworkAclEntry.ts +4 -3
- package/src/AWS/EC2/RouteTable.ts +12 -9
- package/src/AWS/EC2/RouteTableAssociation.ts +3 -5
- package/src/AWS/EC2/SecurityGroup.ts +10 -7
- package/src/AWS/EC2/Subnet.ts +15 -15
- package/src/AWS/EC2/Vpc.ts +12 -12
- package/src/AWS/EC2/VpcEndpoint.ts +6 -8
- package/src/AWS/ECS/Service.ts +4 -3
- package/src/AWS/EKS/Addon.ts +8 -6
- package/src/AWS/EKS/Cluster.ts +4 -3
- package/src/AWS/ELBv2/TargetGroup.ts +4 -3
- package/src/AWS/ELBv2/TrustStore.ts +4 -3
- package/src/AWS/IAM/SAMLProvider.ts +4 -4
- package/src/AWS/IdentityCenter/AccountAssignment.ts +8 -6
- package/src/AWS/IdentityCenter/common.ts +1 -3
- package/src/AWS/KMS/Alias.ts +4 -3
- package/src/AWS/KMS/Key.ts +4 -3
- package/src/AWS/Kinesis/Stream.ts +2 -6
- package/src/AWS/Kinesis/StreamConsumer.ts +7 -12
- package/src/AWS/Lambda/Alias.ts +4 -3
- package/src/AWS/Lambda/EventInvokeConfig.ts +2 -6
- package/src/AWS/Lambda/EventSourceMapping.ts +10 -8
- package/src/AWS/Lambda/Function.ts +111 -31
- package/src/AWS/Lambda/MicrovmProvider.ts +18 -16
- package/src/AWS/Lambda/NetworkConnector.ts +19 -15
- package/src/AWS/Lambda/RuntimeExtension.ts +46 -0
- package/src/AWS/Organizations/Account.ts +5 -6
- package/src/AWS/Organizations/common.ts +1 -3
- package/src/AWS/Providers.ts +22 -20
- package/src/AWS/RDS/DBCluster.ts +8 -6
- package/src/AWS/RDS/DBInstance.ts +8 -6
- package/src/AWS/RDS/DBProxy.ts +4 -3
- package/src/AWS/RDS/DBProxyEndpoint.ts +4 -3
- package/src/AWS/Route53/HealthCheck.ts +8 -6
- package/src/AWS/Route53/HostedZone.ts +8 -6
- package/src/AWS/Route53/Record.ts +4 -3
- package/src/AWS/S3/Bucket.ts +5 -4
- package/src/AWS/SQS/Queue.ts +26 -20
- package/src/AWS/StateStore/State.ts +5 -4
- package/src/AWS/Website/AssetDeployment.ts +10 -6
- package/src/Apply.ts +8 -0
- package/src/Auth/AuthProvider.ts +11 -0
- package/src/Axiom/AuthProvider.ts +0 -3
- package/src/Bundle/Vite.ts +16 -15
- package/src/Cli/commands/_shared.ts +119 -5
- package/src/Cli/commands/login.ts +9 -40
- package/src/Cli/commands/logs.ts +1 -0
- package/src/Cli/commands/nuke.ts +16 -44
- package/src/Cli/commands/profile.ts +89 -27
- package/src/Cli/commands/tail.ts +1 -0
- package/src/Cloudflare/AI/GatewayDynamicRouting.ts +38 -6
- package/src/Cloudflare/AI/SearchInstance.ts +4 -3
- package/src/Cloudflare/Access/Application.ts +7 -4
- package/src/Cloudflare/Alerting/Silence.ts +4 -3
- package/src/Cloudflare/Alerting/Webhook.ts +8 -6
- package/src/Cloudflare/Auth/AuthProvider.ts +54 -38
- package/src/Cloudflare/Auth/OAuthClient.ts +6 -7
- package/src/Cloudflare/Cache/RegionalTieredCache.ts +7 -4
- package/src/Cloudflare/Containers/ContainerApplication.ts +22 -2
- package/src/Cloudflare/Containers/ContainerBundle.ts +99 -33
- package/src/Cloudflare/Containers/ContainerProvider.ts +73 -19
- package/src/Cloudflare/Containers/LocalContainerProvider.ts +78 -72
- package/src/Cloudflare/Diagnostics/EndpointHealthcheck.ts +4 -3
- package/src/Cloudflare/Images/Variant.ts +4 -3
- package/src/Cloudflare/LoadBalancer/Monitor.ts +4 -3
- package/src/Cloudflare/LoadBalancer/MonitorGroup.ts +4 -3
- package/src/Cloudflare/LoadBalancer/Pool.ts +4 -3
- package/src/Cloudflare/LocalRuntime.ts +17 -0
- package/src/Cloudflare/MagicNetworkMonitoring/Rule.ts +4 -3
- package/src/Cloudflare/Pipelines/Pipeline.ts +8 -6
- package/src/Cloudflare/Pipelines/Sink.ts +8 -6
- package/src/Cloudflare/Pipelines/Stream.ts +4 -3
- package/src/Cloudflare/Providers.ts +21 -19
- package/src/Cloudflare/Queues/Consumer.ts +45 -9
- package/src/Cloudflare/Queues/Queue.ts +4 -3
- package/src/Cloudflare/R2/Bucket.ts +12 -9
- package/src/Cloudflare/R2/BucketEventNotification.ts +4 -3
- package/src/Cloudflare/R2/DataCatalog.ts +4 -3
- package/src/Cloudflare/Rum/Rule.ts +4 -3
- package/src/Cloudflare/Snippets/Snippet.ts +4 -3
- package/src/Cloudflare/StateStore/CredentialsFile.ts +48 -0
- package/src/Cloudflare/StateStore/State.ts +61 -25
- package/src/Cloudflare/Tags/ZoneResourceTags.ts +4 -3
- package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +7 -4
- package/src/Cloudflare/WaitingRoom/Settings.ts +7 -4
- package/src/Cloudflare/Website/Vite.ts +20 -0
- package/src/Cloudflare/Workers/Compatibility.ts +50 -7
- package/src/Cloudflare/Workers/CronEventSource.ts +3 -2
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +38 -33
- package/src/Cloudflare/Workers/HttpServer.ts +1 -4
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +132 -26
- package/src/Cloudflare/Workers/ObservabilityDestination.ts +4 -3
- package/src/Cloudflare/Workers/Worker.ts +27 -5
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +27 -16
- package/src/Cloudflare/Workers/WorkerBridge.ts +227 -106
- package/src/Cloudflare/Workers/WorkerProvider.ts +26 -19
- package/src/Cloudflare/Workers/cloudflare_workers.ts +20 -12
- package/src/Cloudflare/Workflows/Workflow.ts +54 -20
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +19 -23
- package/src/Cloudflare/Workflows/WorkflowName.ts +41 -0
- package/src/Cloudflare/Zone/Hold.ts +7 -4
- package/src/Command/Dev.ts +42 -10
- package/src/Docker/Container.ts +4 -1
- package/src/Drizzle/Postgres.ts +51 -23
- package/src/GitHub/AuthProvider.ts +0 -3
- package/src/GitHub/Env.ts +57 -0
- package/src/GitHub/index.ts +1 -0
- package/src/Http.ts +11 -0
- package/src/Local/RpcProviderProxy.ts +1 -1
- package/src/Neon/AuthProvider.ts +0 -3
- package/src/Neon/Project.ts +2 -2
- package/src/Plan.ts +28 -11
- package/src/Planetscale/AuthProvider.ts +267 -27
- package/src/Planetscale/Branch.ts +4 -3
- package/src/Planetscale/Credentials.ts +18 -6
- package/src/Planetscale/MySQL/MySQLMigrations.ts +4 -3
- package/src/Planetscale/OAuthClient.ts +307 -0
- package/src/Planetscale/Postgres/PostgresClusterSize.ts +4 -3
- package/src/Planetscale/Postgres/PostgresMigrations.ts +4 -3
- package/src/Planetscale/Util.ts +4 -3
- package/src/Platform.ts +74 -7
- package/src/Provider.ts +35 -0
- package/src/State/HttpStateStore.ts +5 -5
- package/src/Sync.ts +3 -0
- package/src/Test/Http.ts +8 -6
- package/src/Util/data.ts +14 -5
- package/src/Util/poll.ts +1 -1
- package/lib/ExecutionContext.d.ts +0 -18
- package/lib/ExecutionContext.d.ts.map +0 -1
- package/lib/ExecutionContext.js +0 -10
- package/lib/ExecutionContext.js.map +0 -1
- package/src/ExecutionContext.ts +0 -18
package/src/AWS/EKS/Addon.ts
CHANGED
|
@@ -391,9 +391,10 @@ const waitForAddonActive = Effect.fn(function* ({
|
|
|
391
391
|
}),
|
|
392
392
|
Effect.retry({
|
|
393
393
|
while: (error) => error instanceof AddonNotReady,
|
|
394
|
-
schedule: Schedule.
|
|
395
|
-
Schedule.
|
|
396
|
-
|
|
394
|
+
schedule: Schedule.max([
|
|
395
|
+
Schedule.exponential("1 second"),
|
|
396
|
+
Schedule.recurs(120),
|
|
397
|
+
]),
|
|
397
398
|
}),
|
|
398
399
|
);
|
|
399
400
|
});
|
|
@@ -416,9 +417,10 @@ const waitForAddonDeleted = Effect.fn(function* ({
|
|
|
416
417
|
),
|
|
417
418
|
Effect.retry({
|
|
418
419
|
while: (error) => error instanceof AddonStillExists,
|
|
419
|
-
schedule: Schedule.
|
|
420
|
-
Schedule.
|
|
421
|
-
|
|
420
|
+
schedule: Schedule.max([
|
|
421
|
+
Schedule.exponential("1 second"),
|
|
422
|
+
Schedule.recurs(120),
|
|
423
|
+
]),
|
|
422
424
|
}),
|
|
423
425
|
);
|
|
424
426
|
});
|
package/src/AWS/EKS/Cluster.ts
CHANGED
|
@@ -163,9 +163,10 @@ const normalizeTags = (tags: Record<string, string | undefined> | undefined) =>
|
|
|
163
163
|
const jsonEqual = (a: unknown, b: unknown) =>
|
|
164
164
|
JSON.stringify(a ?? undefined) === JSON.stringify(b ?? undefined);
|
|
165
165
|
|
|
166
|
-
const updateRetrySchedule = Schedule.
|
|
167
|
-
Schedule.
|
|
168
|
-
)
|
|
166
|
+
const updateRetrySchedule = Schedule.max([
|
|
167
|
+
Schedule.exponential("1 second"),
|
|
168
|
+
Schedule.recurs(120),
|
|
169
|
+
]);
|
|
169
170
|
|
|
170
171
|
const getKubernetesConnection = (
|
|
171
172
|
state: Pick<
|
|
@@ -399,9 +399,10 @@ export const TargetGroupProvider = () =>
|
|
|
399
399
|
.pipe(
|
|
400
400
|
Effect.retry({
|
|
401
401
|
while: (e) => e._tag === "ResourceInUseException",
|
|
402
|
-
schedule: Schedule.
|
|
403
|
-
Schedule.
|
|
404
|
-
|
|
402
|
+
schedule: Schedule.max([
|
|
403
|
+
Schedule.spaced("3 seconds"),
|
|
404
|
+
Schedule.recurs(8),
|
|
405
|
+
]),
|
|
405
406
|
}),
|
|
406
407
|
Effect.catchTag("ResourceInUseException", () => Effect.void),
|
|
407
408
|
);
|
|
@@ -264,9 +264,10 @@ export const TrustStoreProvider = () =>
|
|
|
264
264
|
// eventual-consistency window.
|
|
265
265
|
Effect.retry({
|
|
266
266
|
while: (e) => e._tag === "TrustStoreInUseException",
|
|
267
|
-
schedule: Schedule.
|
|
268
|
-
Schedule.
|
|
269
|
-
|
|
267
|
+
schedule: Schedule.max([
|
|
268
|
+
Schedule.spaced("3 seconds"),
|
|
269
|
+
Schedule.recurs(8),
|
|
270
|
+
]),
|
|
270
271
|
}),
|
|
271
272
|
Effect.catchTag("TrustStoreNotFoundException", () => Effect.void),
|
|
272
273
|
Effect.catchTag("TrustStoreInUseException", () => Effect.void),
|
|
@@ -71,10 +71,10 @@ export const SAMLProvider = Resource<SAMLProvider>("AWS.IAM.SAMLProvider");
|
|
|
71
71
|
// until the prior delete settles. A bounded retry rides out that window; a
|
|
72
72
|
// well-formed metadata document never fails persistently, so this never masks a
|
|
73
73
|
// genuine bad-input error for longer than the small budget.
|
|
74
|
-
const transientWriteSchedule = Schedule.
|
|
75
|
-
Schedule.jittered,
|
|
76
|
-
Schedule.
|
|
77
|
-
);
|
|
74
|
+
const transientWriteSchedule = Schedule.max([
|
|
75
|
+
Schedule.exponential(500).pipe(Schedule.jittered),
|
|
76
|
+
Schedule.recurs(6),
|
|
77
|
+
]);
|
|
78
78
|
const isTransientWriteError = (error: {
|
|
79
79
|
_tag: "ValidationError" | "ConcurrentModificationException" | (string & {});
|
|
80
80
|
}) =>
|
|
@@ -384,9 +384,10 @@ const waitForAssignmentCreation = (instanceArn: string, requestId: string) =>
|
|
|
384
384
|
}).pipe(
|
|
385
385
|
Effect.retry({
|
|
386
386
|
while: (error: any) => error?._tag === "AssignmentCreationInProgress",
|
|
387
|
-
schedule: Schedule.
|
|
388
|
-
Schedule.
|
|
389
|
-
|
|
387
|
+
schedule: Schedule.max([
|
|
388
|
+
Schedule.spaced("2 seconds"),
|
|
389
|
+
Schedule.recurs(120),
|
|
390
|
+
]),
|
|
390
391
|
}),
|
|
391
392
|
);
|
|
392
393
|
|
|
@@ -418,8 +419,9 @@ const waitForAssignmentDeletion = (instanceArn: string, requestId: string) =>
|
|
|
418
419
|
}).pipe(
|
|
419
420
|
Effect.retry({
|
|
420
421
|
while: (error: any) => error?._tag === "AssignmentDeletionInProgress",
|
|
421
|
-
schedule: Schedule.
|
|
422
|
-
Schedule.
|
|
423
|
-
|
|
422
|
+
schedule: Schedule.max([
|
|
423
|
+
Schedule.spaced("2 seconds"),
|
|
424
|
+
Schedule.recurs(120),
|
|
425
|
+
]),
|
|
424
426
|
}),
|
|
425
427
|
);
|
|
@@ -11,9 +11,7 @@ export const retryIdentityCenter = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
|
|
|
11
11
|
error?._tag === "ConflictException" ||
|
|
12
12
|
error?._tag === "ThrottlingException" ||
|
|
13
13
|
error?._tag === "InternalServerException",
|
|
14
|
-
schedule: Schedule.exponential(200).
|
|
15
|
-
Schedule.both(Schedule.recurs(8)),
|
|
16
|
-
),
|
|
14
|
+
schedule: Schedule.max([Schedule.exponential(200), Schedule.recurs(8)]),
|
|
17
15
|
}),
|
|
18
16
|
);
|
|
19
17
|
|
package/src/AWS/KMS/Alias.ts
CHANGED
|
@@ -213,6 +213,7 @@ const isKmsEventuallyConsistent = (error: { _tag: string }) =>
|
|
|
213
213
|
error._tag === "KMSInvalidStateException" ||
|
|
214
214
|
error._tag === "NotFoundException";
|
|
215
215
|
|
|
216
|
-
const kmsRetrySchedule = Schedule.
|
|
217
|
-
Schedule.
|
|
218
|
-
)
|
|
216
|
+
const kmsRetrySchedule = Schedule.max([
|
|
217
|
+
Schedule.exponential(250),
|
|
218
|
+
Schedule.recurs(7),
|
|
219
|
+
]);
|
package/src/AWS/KMS/Key.ts
CHANGED
|
@@ -586,6 +586,7 @@ class KmsKeyNotConverged extends Error {
|
|
|
586
586
|
readonly _tag = "KmsKeyNotConverged";
|
|
587
587
|
}
|
|
588
588
|
|
|
589
|
-
const kmsRetrySchedule = Schedule.
|
|
590
|
-
Schedule.
|
|
591
|
-
)
|
|
589
|
+
const kmsRetrySchedule = Schedule.max([
|
|
590
|
+
Schedule.exponential(250),
|
|
591
|
+
Schedule.recurs(7),
|
|
592
|
+
]);
|
|
@@ -414,9 +414,7 @@ const waitForStreamActive = (streamName: string) =>
|
|
|
414
414
|
Effect.retry({
|
|
415
415
|
while: (e: { _tag: string }) =>
|
|
416
416
|
e._tag === "StreamNotActive" || e._tag === "ParseError",
|
|
417
|
-
schedule: Schedule.exponential(500).
|
|
418
|
-
Schedule.both(Schedule.recurs(60)),
|
|
419
|
-
),
|
|
417
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(60)]),
|
|
420
418
|
}),
|
|
421
419
|
);
|
|
422
420
|
|
|
@@ -430,9 +428,7 @@ const waitForStreamDeleted = (streamName: string) =>
|
|
|
430
428
|
Effect.retry({
|
|
431
429
|
while: (e: { _tag: string }) =>
|
|
432
430
|
e._tag === "StreamStillExists" || e._tag === "ParseError",
|
|
433
|
-
schedule: Schedule.exponential(500).
|
|
434
|
-
Schedule.both(Schedule.recurs(60)),
|
|
435
|
-
),
|
|
431
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(60)]),
|
|
436
432
|
}),
|
|
437
433
|
Effect.catchTag("ResourceNotFoundException", () => Effect.void),
|
|
438
434
|
);
|
|
@@ -178,9 +178,7 @@ const adoptExistingConsumer = Effect.fn(function* (
|
|
|
178
178
|
}).pipe(
|
|
179
179
|
Effect.retry({
|
|
180
180
|
while: (e) => e._tag === "ConsumerRegistryNotConsistent",
|
|
181
|
-
schedule: Schedule.exponential(250).
|
|
182
|
-
Schedule.both(Schedule.recurs(8)),
|
|
183
|
-
),
|
|
181
|
+
schedule: Schedule.max([Schedule.exponential(250), Schedule.recurs(8)]),
|
|
184
182
|
}),
|
|
185
183
|
Effect.catchTag("ConsumerRegistryNotConsistent", () =>
|
|
186
184
|
Effect.fail(
|
|
@@ -210,9 +208,7 @@ const waitForConsumerStatus = (
|
|
|
210
208
|
Effect.retry({
|
|
211
209
|
while: (e: { _tag: string }) =>
|
|
212
210
|
e._tag === "ConsumerStatusNotReady" || e._tag === "ParseError",
|
|
213
|
-
schedule: Schedule.exponential(500).
|
|
214
|
-
Schedule.both(Schedule.recurs(60)),
|
|
215
|
-
),
|
|
211
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(60)]),
|
|
216
212
|
}),
|
|
217
213
|
);
|
|
218
214
|
|
|
@@ -226,9 +222,7 @@ const waitForConsumerDeleted = (consumerArn: string) =>
|
|
|
226
222
|
Effect.retry({
|
|
227
223
|
while: (e: { _tag: string }) =>
|
|
228
224
|
e._tag === "ConsumerStillExists" || e._tag === "ParseError",
|
|
229
|
-
schedule: Schedule.exponential(500).
|
|
230
|
-
Schedule.both(Schedule.recurs(60)),
|
|
231
|
-
),
|
|
225
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(60)]),
|
|
232
226
|
}),
|
|
233
227
|
Effect.catchTag("ResourceNotFoundException", () => Effect.void),
|
|
234
228
|
);
|
|
@@ -309,9 +303,10 @@ export const StreamConsumerProvider = () =>
|
|
|
309
303
|
// propagation window before giving up.
|
|
310
304
|
Effect.retry({
|
|
311
305
|
while: (e) => e._tag === "ResourceNotFoundException",
|
|
312
|
-
schedule: Schedule.
|
|
313
|
-
Schedule.
|
|
314
|
-
|
|
306
|
+
schedule: Schedule.max([
|
|
307
|
+
Schedule.exponential(500),
|
|
308
|
+
Schedule.recurs(8),
|
|
309
|
+
]),
|
|
315
310
|
}),
|
|
316
311
|
Effect.asVoid,
|
|
317
312
|
Effect.catchTag("ResourceInUseException", () =>
|
package/src/AWS/Lambda/Alias.ts
CHANGED
|
@@ -165,9 +165,10 @@ export const AliasProvider = () =>
|
|
|
165
165
|
effect.pipe(
|
|
166
166
|
Effect.retry({
|
|
167
167
|
while: (e) => e._tag === "ResourceConflictException",
|
|
168
|
-
schedule: Schedule.
|
|
169
|
-
Schedule.
|
|
170
|
-
|
|
168
|
+
schedule: Schedule.max([
|
|
169
|
+
Schedule.exponential(500),
|
|
170
|
+
Schedule.recurs(10),
|
|
171
|
+
]),
|
|
171
172
|
}),
|
|
172
173
|
);
|
|
173
174
|
|
|
@@ -35,9 +35,7 @@ const retryOnConflict = <A, E extends { _tag: string }, R>(
|
|
|
35
35
|
effect.pipe(
|
|
36
36
|
Effect.retry({
|
|
37
37
|
while: (e) => e._tag === "ResourceConflictException",
|
|
38
|
-
schedule: Schedule.exponential(500).
|
|
39
|
-
Schedule.both(Schedule.recurs(10)),
|
|
40
|
-
),
|
|
38
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(10)]),
|
|
41
39
|
}),
|
|
42
40
|
);
|
|
43
41
|
|
|
@@ -142,9 +140,7 @@ export const syncEventInvokeConfig = Effect.fn(function* ({
|
|
|
142
140
|
"The function execution role does not have permissions to call",
|
|
143
141
|
) ??
|
|
144
142
|
false)),
|
|
145
|
-
schedule: Schedule.exponential(500).
|
|
146
|
-
Schedule.both(Schedule.recurs(10)),
|
|
147
|
-
),
|
|
143
|
+
schedule: Schedule.max([Schedule.exponential(500), Schedule.recurs(10)]),
|
|
148
144
|
}),
|
|
149
145
|
);
|
|
150
146
|
});
|
|
@@ -716,9 +716,10 @@ export const EventSourceMappingProvider = () =>
|
|
|
716
716
|
while: (e: any) =>
|
|
717
717
|
e._tag === "ResourceInUseException" ||
|
|
718
718
|
e._tag === "ResourceConflictException",
|
|
719
|
-
schedule: Schedule.
|
|
720
|
-
Schedule.
|
|
721
|
-
|
|
719
|
+
schedule: Schedule.max([
|
|
720
|
+
Schedule.exponential(100),
|
|
721
|
+
Schedule.recurs(20),
|
|
722
|
+
]),
|
|
722
723
|
}),
|
|
723
724
|
retryPermissionsPropagation,
|
|
724
725
|
retryTransient,
|
|
@@ -762,9 +763,10 @@ export const EventSourceMappingProvider = () =>
|
|
|
762
763
|
while: (e: any) =>
|
|
763
764
|
e._tag === "ResourceInUseException" ||
|
|
764
765
|
e._tag === "ResourceConflictException",
|
|
765
|
-
schedule: Schedule.
|
|
766
|
-
Schedule.
|
|
767
|
-
|
|
766
|
+
schedule: Schedule.max([
|
|
767
|
+
Schedule.exponential(100),
|
|
768
|
+
Schedule.recurs(20),
|
|
769
|
+
]),
|
|
768
770
|
}),
|
|
769
771
|
Effect.catchTag("ResourceNotFoundException", () => Effect.void),
|
|
770
772
|
);
|
|
@@ -818,7 +820,7 @@ const retryTransient: <A, R, Err>(
|
|
|
818
820
|
e._tag === "TooManyRequestsException" ||
|
|
819
821
|
e._tag === "RequestLimitExceeded" ||
|
|
820
822
|
e._tag === "ResourceInUseException",
|
|
821
|
-
schedule: Schedule.exponential(100)
|
|
823
|
+
schedule: Schedule.max([Schedule.exponential(100), Schedule.recurs(30)]),
|
|
822
824
|
});
|
|
823
825
|
|
|
824
826
|
const retryPermissionsPropagation = Effect.retry({
|
|
@@ -831,7 +833,7 @@ const retryPermissionsPropagation = Effect.retry({
|
|
|
831
833
|
e.message?.includes("Please add Lambda as a Trusted Entity") ||
|
|
832
834
|
e.message?.includes("Cannot access stream") ||
|
|
833
835
|
e.message?.includes("Please ensure the role can perform the GetRecords")),
|
|
834
|
-
schedule: Schedule.exponential(100)
|
|
836
|
+
schedule: Schedule.max([Schedule.exponential(100), Schedule.recurs(30)]),
|
|
835
837
|
}) as <A, R, Err>(self: Effect.Effect<A, Err, R>) => Effect.Effect<A, Err, R>;
|
|
836
838
|
|
|
837
839
|
const sanitizeAwsTagValue = (value: string) =>
|
|
@@ -5,13 +5,17 @@ import type { CreateFunctionRequest } from "@distilled.cloud/aws/lambda";
|
|
|
5
5
|
import * as Lambda from "@distilled.cloud/aws/lambda";
|
|
6
6
|
import { Region } from "@distilled.cloud/aws/Region";
|
|
7
7
|
import type * as lambda from "aws-lambda";
|
|
8
|
+
import * as Cause from "effect/Cause";
|
|
8
9
|
import * as Context from "effect/Context";
|
|
9
10
|
import * as Duration from "effect/Duration";
|
|
10
11
|
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Exit from "effect/Exit";
|
|
11
13
|
import * as FileSystem from "effect/FileSystem";
|
|
14
|
+
import * as Layer from "effect/Layer";
|
|
12
15
|
import * as Option from "effect/Option";
|
|
13
16
|
import * as Redacted from "effect/Redacted";
|
|
14
17
|
import * as Schedule from "effect/Schedule";
|
|
18
|
+
import * as Scope from "effect/Scope";
|
|
15
19
|
import * as Stream from "effect/Stream";
|
|
16
20
|
import type { HttpClient } from "effect/unstable/http/HttpClient";
|
|
17
21
|
import type * as rolldown from "rolldown";
|
|
@@ -27,7 +31,7 @@ import {
|
|
|
27
31
|
} from "../../Bundle/InstalledPackages.ts";
|
|
28
32
|
import * as TempRoot from "../../Bundle/TempRoot.ts";
|
|
29
33
|
import { deepEqual, isResolved } from "../../Diff.ts";
|
|
30
|
-
import type
|
|
34
|
+
import { isScopeEjected, type HttpEffect } from "../../Http.ts";
|
|
31
35
|
import * as Output from "../../Output.ts";
|
|
32
36
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
33
37
|
import { Platform, type Main, type PlatformProps } from "../../Platform.ts";
|
|
@@ -291,6 +295,20 @@ const matchesConfiguredExternal = (
|
|
|
291
295
|
* for plain handler patterns, or the
|
|
292
296
|
* [Lambda guide](/aws/compute/lambda)
|
|
293
297
|
* for the full Effect-based approach with bindings, event sources, and sinks.
|
|
298
|
+
*
|
|
299
|
+
* :::caution[Request finalizers block the response — there is no `waitUntil` on Lambda]
|
|
300
|
+
* `Effect.addFinalizer` in a handler runs **before the response is
|
|
301
|
+
* returned**: a buffered invocation's response is not released until the
|
|
302
|
+
* Invoke phase completes, and no deferral scheme is reliable (dangling
|
|
303
|
+
* promises are dropped on crash/timeout resets and their sockets rarely
|
|
304
|
+
* survive the freeze — silent data loss). Keep request finalizers cheap
|
|
305
|
+
* (closing a pool is milliseconds), and write anything that must not be
|
|
306
|
+
* lost durably — a queue, a table — inside the handler itself. Init-level
|
|
307
|
+
* finalizers instead run in the 500 ms `SIGTERM` window at sandbox
|
|
308
|
+
* shutdown, which the generated entry obtains by registering an internal
|
|
309
|
+
* extension. See
|
|
310
|
+
* [Sandbox scope vs invocation scope](/aws/compute/lambda#sandbox-scope-vs-invocation-scope).
|
|
311
|
+
* :::
|
|
294
312
|
* @resource
|
|
295
313
|
* @section Async Functions
|
|
296
314
|
* Point `main` at a file that exports a standard Lambda handler. No
|
|
@@ -641,11 +659,39 @@ export const Function: Platform<
|
|
|
641
659
|
for (const handler of handlers) {
|
|
642
660
|
const eff = handler(event);
|
|
643
661
|
if (Effect.isEffect(eff)) {
|
|
644
|
-
|
|
645
|
-
|
|
662
|
+
// Each invocation gets a fresh request scope, matching the
|
|
663
|
+
// Worker / Durable Object / Workflow bridges. The scope is
|
|
664
|
+
// settled inline before returning: a buffered Lambda
|
|
665
|
+
// response is not released to the caller until the Invoke
|
|
666
|
+
// phase completes, so deferring cleanup (e.g. via an
|
|
667
|
+
// INVOKE-subscribed extension window) shows up as response
|
|
668
|
+
// latency anyway — keep request finalizers fast. A failing
|
|
669
|
+
// finalizer is logged and ignored so it can't mask the
|
|
670
|
+
// invocation's outcome.
|
|
671
|
+
const scope = Scope.makeUnsafe();
|
|
672
|
+
const exit = await eff.pipe(
|
|
673
|
+
Effect.provide(
|
|
674
|
+
Layer.mergeAll(
|
|
675
|
+
Layer.succeed(HandlerContext, context),
|
|
676
|
+
Layer.succeed(Scope.Scope, scope),
|
|
677
|
+
),
|
|
678
|
+
),
|
|
646
679
|
Effect.tap(Effect.logDebug),
|
|
647
|
-
Effect.
|
|
680
|
+
Effect.runPromiseExit,
|
|
648
681
|
);
|
|
682
|
+
if (!isScopeEjected(scope)) {
|
|
683
|
+
await Scope.close(scope, exit).pipe(
|
|
684
|
+
Effect.ignoreCause({
|
|
685
|
+
log: "Warn",
|
|
686
|
+
message: "Lambda invocation scope close failed",
|
|
687
|
+
}),
|
|
688
|
+
Effect.runPromise,
|
|
689
|
+
);
|
|
690
|
+
}
|
|
691
|
+
if (Exit.isSuccess(exit)) {
|
|
692
|
+
return exit.value;
|
|
693
|
+
}
|
|
694
|
+
throw Cause.squash(exit.cause);
|
|
649
695
|
}
|
|
650
696
|
}
|
|
651
697
|
throw new Error("No event handler found");
|
|
@@ -895,19 +941,33 @@ export const FunctionProvider = () =>
|
|
|
895
941
|
import { layer as nodeServicesLayer } from "@effect/platform-node/NodeServices";
|
|
896
942
|
import { Stack } from "alchemy/Stack";
|
|
897
943
|
import { makeEntrypointLayer } from "alchemy/Runtime";
|
|
944
|
+
import { registerLambdaExtension } from "alchemy/AWS/Lambda/RuntimeExtension";
|
|
898
945
|
import * as Config from "effect/Config";
|
|
899
946
|
import * as ConfigProvider from "effect/ConfigProvider";
|
|
900
947
|
import * as Credentials from "@distilled.cloud/aws/Credentials";
|
|
901
948
|
import * as Effect from "effect/Effect";
|
|
949
|
+
import * as Exit from "effect/Exit";
|
|
902
950
|
import { layer as fetchHttpClientLayer } from "effect/unstable/http/FetchHttpClient";
|
|
903
951
|
import * as Layer from "effect/Layer";
|
|
904
952
|
import * as Logger from "effect/Logger";
|
|
905
953
|
import * as Region from "@distilled.cloud/aws/Region";
|
|
906
954
|
import * as Context from "effect/Context";
|
|
955
|
+
import * as Scope from "effect/Scope";
|
|
907
956
|
import { MinimumLogLevel } from "effect/References";
|
|
908
957
|
|
|
909
958
|
import entrypoint from ${JSON.stringify(importPath)};
|
|
910
959
|
|
|
960
|
+
// Register the internal extension: it buys the Shutdown phase (SIGTERM +
|
|
961
|
+
// 500 ms) — without any registered extension the sandbox is killed with no
|
|
962
|
+
// signal at all, and init-level finalizers would never run.
|
|
963
|
+
await registerLambdaExtension();
|
|
964
|
+
|
|
965
|
+
// Instance scope: the sandbox-lifetime layer build lives under it, and it is
|
|
966
|
+
// closed on SIGTERM (Lambda's Shutdown phase) so init-level finalizers run
|
|
967
|
+
// before the sandbox dies. Each invocation still gets its own request scope
|
|
968
|
+
// from the handler dispatch.
|
|
969
|
+
const instanceScope = Scope.makeUnsafe();
|
|
970
|
+
|
|
911
971
|
const tag = Context.Service("${Self.key}")
|
|
912
972
|
const layer = makeEntrypointLayer(tag, entrypoint);
|
|
913
973
|
|
|
@@ -933,33 +993,52 @@ const stack = Layer.effect(
|
|
|
933
993
|
)
|
|
934
994
|
);
|
|
935
995
|
|
|
936
|
-
const
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
996
|
+
const entryLayer = layer.pipe(
|
|
997
|
+
Layer.provideMerge(stack),
|
|
998
|
+
Layer.provideMerge(Credentials.fromEnv()),
|
|
999
|
+
Layer.provideMerge(Region.fromEnv()),
|
|
1000
|
+
Layer.provideMerge(platform),
|
|
1001
|
+
Layer.provideMerge(
|
|
1002
|
+
Layer.succeed(
|
|
1003
|
+
ConfigProvider.ConfigProvider,
|
|
1004
|
+
ConfigProvider.fromEnv()
|
|
1005
|
+
)
|
|
1006
|
+
),
|
|
1007
|
+
Layer.provideMerge(
|
|
1008
|
+
Layer.succeed(
|
|
1009
|
+
MinimumLogLevel,
|
|
1010
|
+
process.env.DEBUG ? "Debug" : "Info",
|
|
1011
|
+
)
|
|
1012
|
+
),
|
|
1013
|
+
);
|
|
1014
|
+
|
|
1015
|
+
// Build the layer stack against the instance scope (not a transient
|
|
1016
|
+
// \`Effect.provide\`/\`Effect.scoped\` region) so services and init-level
|
|
1017
|
+
// finalizers live for the sandbox and are released at Shutdown.
|
|
1018
|
+
const handlerEffect = Layer.buildWithScope(entryLayer, instanceScope).pipe(
|
|
1019
|
+
Effect.flatMap((context) =>
|
|
1020
|
+
tag.pipe(
|
|
1021
|
+
Effect.flatMap(func => func.RuntimeContext.exports),
|
|
1022
|
+
Effect.flatMap(exports => exports.handler),
|
|
1023
|
+
Effect.provideContext(context),
|
|
957
1024
|
)
|
|
958
1025
|
),
|
|
959
|
-
|
|
1026
|
+
Scope.provide(instanceScope),
|
|
960
1027
|
);
|
|
961
1028
|
|
|
962
|
-
|
|
1029
|
+
const handler = await Effect.runPromise(handlerEffect);
|
|
1030
|
+
|
|
1031
|
+
// Lambda's Shutdown phase: close the instance scope so init-level
|
|
1032
|
+
// finalizers run, then exit inside the 500 ms budget. SIGKILL follows if we
|
|
1033
|
+
// overstay, so finalizers must be fast and best-effort.
|
|
1034
|
+
process.on("SIGTERM", () => {
|
|
1035
|
+
console.log("[alchemy] SIGTERM — closing instance scope");
|
|
1036
|
+
Effect.runPromise(Scope.close(instanceScope, Exit.void))
|
|
1037
|
+
.catch((error) => console.error("[alchemy] shutdown finalizers failed", error))
|
|
1038
|
+
.finally(() => process.exit(0));
|
|
1039
|
+
});
|
|
1040
|
+
|
|
1041
|
+
export default handler;
|
|
963
1042
|
`,
|
|
964
1043
|
),
|
|
965
1044
|
);
|
|
@@ -1057,9 +1136,10 @@ export default await Effect.runPromise(handlerEffect)
|
|
|
1057
1136
|
while: (e: any) =>
|
|
1058
1137
|
e._tag === "ResourceConflictException" ||
|
|
1059
1138
|
e._tag === "TooManyRequestsException",
|
|
1060
|
-
schedule: Schedule.
|
|
1061
|
-
Schedule.
|
|
1062
|
-
|
|
1139
|
+
schedule: Schedule.max([
|
|
1140
|
+
Schedule.exponential(100),
|
|
1141
|
+
Schedule.recurs(30),
|
|
1142
|
+
]),
|
|
1063
1143
|
}) as <A, R, Err>(
|
|
1064
1144
|
self: Effect.Effect<A, Err, R>,
|
|
1065
1145
|
) => Effect.Effect<A, Err, R>;
|
|
@@ -1295,7 +1375,7 @@ export default await Effect.runPromise(handlerEffect)
|
|
|
1295
1375
|
Effect.retry({
|
|
1296
1376
|
while: (e) => isRolePropagationError(e),
|
|
1297
1377
|
schedule: Schedule.fixed(1000).pipe(
|
|
1298
|
-
Schedule.
|
|
1378
|
+
Schedule.tap(() => noteRolePropagationWait()),
|
|
1299
1379
|
),
|
|
1300
1380
|
}),
|
|
1301
1381
|
Effect.catchTags({
|
|
@@ -413,9 +413,10 @@ export const MicrovmImageProvider = () =>
|
|
|
413
413
|
while: (e): e is ValidationException =>
|
|
414
414
|
e._tag === "ValidationException" &&
|
|
415
415
|
e.message.includes("running MicroVMs"),
|
|
416
|
-
schedule: Schedule.
|
|
417
|
-
Schedule.
|
|
418
|
-
|
|
416
|
+
schedule: Schedule.max([
|
|
417
|
+
Schedule.fixed(5_000),
|
|
418
|
+
Schedule.recurs(12),
|
|
419
|
+
]),
|
|
419
420
|
}),
|
|
420
421
|
);
|
|
421
422
|
yield* waitForDeleted(output.imageArn, session);
|
|
@@ -489,9 +490,8 @@ const terminateRunningMicrovms = Effect.fn(function* (
|
|
|
489
490
|
),
|
|
490
491
|
Effect.retry({
|
|
491
492
|
while: (e) => e._tag === "MicrovmsActive",
|
|
492
|
-
schedule: Schedule.fixed(5_000).pipe(
|
|
493
|
-
Schedule.
|
|
494
|
-
Schedule.tapOutput(() =>
|
|
493
|
+
schedule: Schedule.max([Schedule.fixed(5_000), Schedule.recurs(24)]).pipe(
|
|
494
|
+
Schedule.tap(() =>
|
|
495
495
|
session.note("Waiting for MicroVMs to terminate..."),
|
|
496
496
|
),
|
|
497
497
|
),
|
|
@@ -557,12 +557,12 @@ const waitForReady = (imageArn: string, session: ScopedPlanStatusSession) =>
|
|
|
557
557
|
}).pipe(
|
|
558
558
|
Effect.retry({
|
|
559
559
|
while: (e) => e._tag === "ImageBuilding",
|
|
560
|
-
schedule: Schedule.
|
|
561
|
-
Schedule.
|
|
562
|
-
Schedule.
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
),
|
|
560
|
+
schedule: Schedule.max([
|
|
561
|
+
Schedule.fixed(10_000),
|
|
562
|
+
Schedule.recurs(72),
|
|
563
|
+
]).pipe(
|
|
564
|
+
Schedule.tap(({ attempt }) =>
|
|
565
|
+
session.note(`Waiting for MicroVM image build... (${attempt * 10}s)`),
|
|
566
566
|
),
|
|
567
567
|
),
|
|
568
568
|
}),
|
|
@@ -585,11 +585,13 @@ const waitForDeleted = (imageArn: string, session: ScopedPlanStatusSession) =>
|
|
|
585
585
|
}).pipe(
|
|
586
586
|
Effect.retry({
|
|
587
587
|
while: (e) => e._tag === "ImageBuilding",
|
|
588
|
-
schedule: Schedule.
|
|
589
|
-
Schedule.
|
|
590
|
-
Schedule.
|
|
588
|
+
schedule: Schedule.max([
|
|
589
|
+
Schedule.fixed(10_000),
|
|
590
|
+
Schedule.recurs(72),
|
|
591
|
+
]).pipe(
|
|
592
|
+
Schedule.tap(({ attempt }) =>
|
|
591
593
|
session.note(
|
|
592
|
-
`Waiting for MicroVM image deletion... (${
|
|
594
|
+
`Waiting for MicroVM image deletion... (${attempt * 10}s)`,
|
|
593
595
|
),
|
|
594
596
|
),
|
|
595
597
|
),
|
|
@@ -272,9 +272,7 @@ const retryRolePropagation =
|
|
|
272
272
|
),
|
|
273
273
|
Effect.retry({
|
|
274
274
|
while: (e) => isOperatorRolePropagationError(e),
|
|
275
|
-
schedule: Schedule.fixed(1_000).
|
|
276
|
-
Schedule.both(Schedule.recurs(50)), // up to ~50 seconds
|
|
277
|
-
),
|
|
275
|
+
schedule: Schedule.max([Schedule.fixed(1_000), Schedule.recurs(50)]),
|
|
278
276
|
}),
|
|
279
277
|
);
|
|
280
278
|
|
|
@@ -444,11 +442,13 @@ const waitForActive = (identifier: string, session: ScopedPlanStatusSession) =>
|
|
|
444
442
|
}).pipe(
|
|
445
443
|
Effect.retry({
|
|
446
444
|
while: (e) => e._tag === "ConnectorPending",
|
|
447
|
-
schedule: Schedule.
|
|
448
|
-
Schedule.
|
|
449
|
-
Schedule.
|
|
445
|
+
schedule: Schedule.max([
|
|
446
|
+
Schedule.fixed(10_000),
|
|
447
|
+
Schedule.recurs(72),
|
|
448
|
+
]).pipe(
|
|
449
|
+
Schedule.tap(({ attempt }) =>
|
|
450
450
|
session.note(
|
|
451
|
-
`Waiting for network connector to become ACTIVE... (${
|
|
451
|
+
`Waiting for network connector to become ACTIVE... (${attempt * 10}s)`,
|
|
452
452
|
),
|
|
453
453
|
),
|
|
454
454
|
),
|
|
@@ -481,11 +481,13 @@ const waitForUpdate = (identifier: string, session: ScopedPlanStatusSession) =>
|
|
|
481
481
|
}).pipe(
|
|
482
482
|
Effect.retry({
|
|
483
483
|
while: (e) => e._tag === "ConnectorPending",
|
|
484
|
-
schedule: Schedule.
|
|
485
|
-
Schedule.
|
|
486
|
-
Schedule.
|
|
484
|
+
schedule: Schedule.max([
|
|
485
|
+
Schedule.fixed(10_000),
|
|
486
|
+
Schedule.recurs(72),
|
|
487
|
+
]).pipe(
|
|
488
|
+
Schedule.tap(({ attempt }) =>
|
|
487
489
|
session.note(
|
|
488
|
-
`Waiting for network connector update... (${
|
|
490
|
+
`Waiting for network connector update... (${attempt * 10}s)`,
|
|
489
491
|
),
|
|
490
492
|
),
|
|
491
493
|
),
|
|
@@ -517,11 +519,13 @@ const waitForDeleted = (identifier: string, session: ScopedPlanStatusSession) =>
|
|
|
517
519
|
}).pipe(
|
|
518
520
|
Effect.retry({
|
|
519
521
|
while: (e) => e._tag === "ConnectorPending",
|
|
520
|
-
schedule: Schedule.
|
|
521
|
-
Schedule.
|
|
522
|
-
Schedule.
|
|
522
|
+
schedule: Schedule.max([
|
|
523
|
+
Schedule.fixed(10_000),
|
|
524
|
+
Schedule.recurs(72),
|
|
525
|
+
]).pipe(
|
|
526
|
+
Schedule.tap(({ attempt }) =>
|
|
523
527
|
session.note(
|
|
524
|
-
`Waiting for network connector deletion... (${
|
|
528
|
+
`Waiting for network connector deletion... (${attempt * 10}s)`,
|
|
525
529
|
),
|
|
526
530
|
),
|
|
527
531
|
),
|