alchemy 2.0.0-beta.64 → 2.0.0-beta.66
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/bin/exec.js +433 -181
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/common.js +8 -1
- package/lib/AWS/ApiGateway/common.js.map +1 -1
- package/lib/AWS/Bedrock/LanguageModel.d.ts +208 -0
- package/lib/AWS/Bedrock/LanguageModel.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModel.js +508 -0
- package/lib/AWS/Bedrock/LanguageModel.js.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts +10 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js +26 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js.map +1 -0
- package/lib/AWS/Bedrock/index.d.ts +2 -0
- package/lib/AWS/Bedrock/index.d.ts.map +1 -1
- package/lib/AWS/Bedrock/index.js +2 -0
- package/lib/AWS/Bedrock/index.js.map +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts +24 -0
- package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Distribution.js +89 -4
- package/lib/AWS/CloudFront/Distribution.js.map +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/BindingHttp.d.ts +3 -3
- package/lib/AWS/CostExplorer/BindingHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.d.ts +5 -3
- package/lib/AWS/CostExplorer/common.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.js +16 -1
- package/lib/AWS/CostExplorer/common.js.map +1 -1
- package/lib/AWS/DataSync/Task.d.ts.map +1 -1
- package/lib/AWS/DataSync/Task.js +16 -2
- package/lib/AWS/DataSync/Task.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +8 -3
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/LingeringEnis.d.ts +26 -0
- package/lib/AWS/EC2/LingeringEnis.d.ts.map +1 -0
- package/lib/AWS/EC2/LingeringEnis.js +128 -0
- package/lib/AWS/EC2/LingeringEnis.js.map +1 -0
- package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.js +14 -14
- 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 +13 -21
- 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 +15 -2
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +10 -2
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Image.d.ts +133 -13
- package/lib/AWS/ECR/Image.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.js +10 -2
- package/lib/AWS/ECR/ImageSource.js.map +1 -1
- package/lib/AWS/ECR/Repository.d.ts +2 -0
- package/lib/AWS/ECR/Repository.d.ts.map +1 -1
- package/lib/AWS/ECR/Repository.js +28 -3
- package/lib/AWS/ECR/Repository.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts +27 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +184 -22
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +32 -8
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +62 -29
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/EKS/Addon.d.ts.map +1 -1
- package/lib/AWS/EKS/Addon.js +15 -3
- package/lib/AWS/EKS/Addon.js.map +1 -1
- package/lib/AWS/EKS/Deployment.d.ts +10 -1
- package/lib/AWS/EKS/Deployment.d.ts.map +1 -1
- package/lib/AWS/EKS/Deployment.js +20 -6
- package/lib/AWS/EKS/Deployment.js.map +1 -1
- package/lib/AWS/EKS/HyperPod.d.ts +57 -0
- package/lib/AWS/EKS/HyperPod.d.ts.map +1 -0
- package/lib/AWS/EKS/HyperPod.js +46 -0
- package/lib/AWS/EKS/HyperPod.js.map +1 -0
- package/lib/AWS/EKS/Job.d.ts +10 -1
- package/lib/AWS/EKS/Job.d.ts.map +1 -1
- package/lib/AWS/EKS/Job.js +26 -8
- package/lib/AWS/EKS/Job.js.map +1 -1
- package/lib/AWS/EKS/internal/client.d.ts +4 -3
- package/lib/AWS/EKS/internal/client.d.ts.map +1 -1
- package/lib/AWS/EKS/internal/client.js +33 -2
- package/lib/AWS/EKS/internal/client.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +15 -0
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +68 -30
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
- package/lib/AWS/Lambda/HttpServer.js +7 -1
- package/lib/AWS/Lambda/HttpServer.js.map +1 -1
- package/lib/AWS/Lambda/LayerVersion.d.ts +176 -0
- package/lib/AWS/Lambda/LayerVersion.d.ts.map +1 -0
- package/lib/AWS/Lambda/LayerVersion.js +288 -0
- package/lib/AWS/Lambda/LayerVersion.js.map +1 -0
- package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmBundle.js +10 -2
- package/lib/AWS/Lambda/MicrovmBundle.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/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +9 -1
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts +40 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js +58 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts +67 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.js +92 -0
- package/lib/AWS/SES/ReceiptFilter.js.map +1 -0
- package/lib/AWS/SES/ReceiptRule.d.ts +133 -0
- package/lib/AWS/SES/ReceiptRule.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRule.js +178 -0
- package/lib/AWS/SES/ReceiptRule.js.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts +55 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.js +112 -0
- package/lib/AWS/SES/ReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/SendBounce.d.ts +37 -0
- package/lib/AWS/SES/SendBounce.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounce.js +3 -0
- package/lib/AWS/SES/SendBounce.js.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts +4 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.js +10 -0
- package/lib/AWS/SES/SendBounceHttp.js.map +1 -0
- package/lib/AWS/SES/index.d.ts +6 -0
- package/lib/AWS/SES/index.d.ts.map +1 -1
- package/lib/AWS/SES/index.js +6 -0
- package/lib/AWS/SES/index.js.map +1 -1
- package/lib/AWS/SageMaker/Cluster.d.ts +327 -0
- package/lib/AWS/SageMaker/Cluster.d.ts.map +1 -0
- package/lib/AWS/SageMaker/Cluster.js +469 -0
- package/lib/AWS/SageMaker/Cluster.js.map +1 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts +96 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts.map +1 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.js +270 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.js.map +1 -0
- package/lib/AWS/SageMaker/ComputeQuota.d.ts +106 -0
- package/lib/AWS/SageMaker/ComputeQuota.d.ts.map +1 -0
- package/lib/AWS/SageMaker/ComputeQuota.js +268 -0
- package/lib/AWS/SageMaker/ComputeQuota.js.map +1 -0
- package/lib/AWS/SageMaker/index.d.ts +3 -0
- package/lib/AWS/SageMaker/index.d.ts.map +1 -1
- package/lib/AWS/SageMaker/index.js +3 -0
- package/lib/AWS/SageMaker/index.js.map +1 -1
- package/lib/AWS/StateStore/State.d.ts +11 -0
- package/lib/AWS/StateStore/State.d.ts.map +1 -1
- package/lib/AWS/StateStore/State.js +117 -38
- package/lib/AWS/StateStore/State.js.map +1 -1
- package/lib/Apply.d.ts +37 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +270 -194
- package/lib/Apply.js.map +1 -1
- package/lib/Axiom/Telemetry.d.ts +66 -0
- package/lib/Axiom/Telemetry.d.ts.map +1 -0
- package/lib/Axiom/Telemetry.js +69 -0
- package/lib/Axiom/Telemetry.js.map +1 -0
- package/lib/Axiom/index.d.ts +1 -0
- package/lib/Axiom/index.d.ts.map +1 -1
- package/lib/Axiom/index.js +1 -0
- package/lib/Axiom/index.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +1 -1
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js +14 -6
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.js +10 -5
- package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -1
- package/lib/Bundle/PurePlugin.d.ts +29 -7
- package/lib/Bundle/PurePlugin.d.ts.map +1 -1
- package/lib/Bundle/PurePlugin.js +71 -40
- package/lib/Bundle/PurePlugin.js.map +1 -1
- package/lib/Cli/checkVersion.d.ts +11 -5
- package/lib/Cli/checkVersion.d.ts.map +1 -1
- package/lib/Cli/checkVersion.js +73 -12
- package/lib/Cli/checkVersion.js.map +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +1 -1
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +3 -11
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +3 -1
- 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 +231 -37
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +3 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +5 -4
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cloudflare/AI/Search.d.ts +4 -15
- package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Search.js +4 -6
- package/lib/Cloudflare/AI/Search.js.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
- package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.js +7 -26
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Containers/Container.d.ts +81 -3
- package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/Container.js +70 -0
- package/lib/Cloudflare/Containers/Container.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js +4 -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 +10 -2
- 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 +43 -0
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +21 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +52 -9
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
- package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
- package/lib/Cloudflare/D1/Database.d.ts +18 -1
- package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/Database.js +134 -2
- package/lib/Cloudflare/D1/Database.js.map +1 -1
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
- package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Address.js +15 -1
- package/lib/Cloudflare/Email/Address.js.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.js +1 -0
- package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.js +1 -0
- package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
- package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
- package/lib/Cloudflare/Flagship/App.js +8 -3
- package/lib/Cloudflare/Flagship/App.js.map +1 -1
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
- package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
- package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
- package/lib/Cloudflare/KV/Namespace.js +45 -1
- package/lib/Cloudflare/KV/Namespace.js.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
- package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/LocalGateway.d.ts +25 -0
- package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
- package/lib/Cloudflare/LocalGateway.js +70 -0
- package/lib/Cloudflare/LocalGateway.js.map +1 -0
- package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +16 -1
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.js +18 -6
- package/lib/Cloudflare/Logs.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +6 -2
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +51 -3
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +7 -17
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
- package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
- package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
- package/lib/Cloudflare/Queues/QueueShim.js +177 -0
- package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
- package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
- package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +53 -1
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
- package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.js +14 -3
- package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
- package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.js +19 -6
- package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
- package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
- package/lib/Cloudflare/Rum/Site.js +10 -2
- package/lib/Cloudflare/Rum/Site.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +32 -3
- package/lib/Cloudflare/StateStore/Api.js +1 -1
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
- package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.js +108 -24
- package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +33 -19
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +33 -19
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +26 -8
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +46 -1
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +26 -7
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +22 -0
- package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +520 -302
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +619 -18
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +222 -2
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts +20 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +15 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +1775 -240
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +9 -2
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +19 -9
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Cloudflare/Workflows/index.d.ts +1 -1
- package/lib/Cloudflare/Workflows/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/index.js +1 -1
- package/lib/Cloudflare/Workflows/index.js.map +1 -1
- package/lib/Command/Build.d.ts +2 -2
- package/lib/Command/Build.d.ts.map +1 -1
- package/lib/Command/Build.js +4 -7
- package/lib/Command/Build.js.map +1 -1
- package/lib/Command/Command.d.ts +34 -4
- package/lib/Command/Command.d.ts.map +1 -1
- package/lib/Command/Command.js +125 -30
- package/lib/Command/Command.js.map +1 -1
- package/lib/Command/Dev.d.ts +2 -2
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +51 -73
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Command/Exec.d.ts +11 -2
- package/lib/Command/Exec.d.ts.map +1 -1
- package/lib/Command/Exec.js +9 -0
- package/lib/Command/Exec.js.map +1 -1
- package/lib/Command/Memo.d.ts +9 -1
- package/lib/Command/Memo.d.ts.map +1 -1
- package/lib/Command/Memo.js +14 -2
- package/lib/Command/Memo.js.map +1 -1
- package/lib/Command/Providers.d.ts +1 -1
- package/lib/Command/Providers.d.ts.map +1 -1
- package/lib/Command/Redaction.d.ts +10 -0
- package/lib/Command/Redaction.d.ts.map +1 -0
- package/lib/Command/Redaction.js +119 -0
- package/lib/Command/Redaction.js.map +1 -0
- package/lib/Deploy.d.ts +2 -1
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Destroy.d.ts +2 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +1 -9
- package/lib/Destroy.js.map +1 -1
- package/lib/Docker/Container.d.ts +41 -1
- package/lib/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +54 -12
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Docker/Context.d.ts +84 -0
- package/lib/Docker/Context.d.ts.map +1 -0
- package/lib/Docker/Context.js +145 -0
- package/lib/Docker/Context.js.map +1 -0
- package/lib/Docker/Docker.d.ts +192 -14
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js +149 -28
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Docker/Image.d.ts +12 -0
- package/lib/Docker/Image.d.ts.map +1 -1
- package/lib/Docker/Image.js +24 -7
- package/lib/Docker/Image.js.map +1 -1
- package/lib/Docker/Network.d.ts +7 -0
- package/lib/Docker/Network.d.ts.map +1 -1
- package/lib/Docker/Network.js +16 -7
- package/lib/Docker/Network.js.map +1 -1
- package/lib/Docker/Providers.d.ts +1 -1
- package/lib/Docker/Providers.d.ts.map +1 -1
- package/lib/Docker/Providers.js +13 -1
- package/lib/Docker/Providers.js.map +1 -1
- package/lib/Docker/RemoteImage.d.ts +12 -0
- package/lib/Docker/RemoteImage.d.ts.map +1 -1
- package/lib/Docker/RemoteImage.js +22 -8
- package/lib/Docker/RemoteImage.js.map +1 -1
- package/lib/Docker/Service.d.ts +445 -0
- package/lib/Docker/Service.d.ts.map +1 -0
- package/lib/Docker/Service.js +578 -0
- package/lib/Docker/Service.js.map +1 -0
- package/lib/Docker/ServiceImage.d.ts +78 -0
- package/lib/Docker/ServiceImage.d.ts.map +1 -0
- package/lib/Docker/ServiceImage.js +232 -0
- package/lib/Docker/ServiceImage.js.map +1 -0
- package/lib/Docker/Swarm.d.ts +117 -0
- package/lib/Docker/Swarm.d.ts.map +1 -0
- package/lib/Docker/Swarm.js +149 -0
- package/lib/Docker/Swarm.js.map +1 -0
- package/lib/Docker/Volume.d.ts +11 -0
- package/lib/Docker/Volume.d.ts.map +1 -1
- package/lib/Docker/Volume.js +21 -6
- package/lib/Docker/Volume.js.map +1 -1
- package/lib/Docker/index.d.ts +3 -0
- package/lib/Docker/index.d.ts.map +1 -1
- package/lib/Docker/index.js +3 -0
- package/lib/Docker/index.js.map +1 -1
- package/lib/Http.d.ts +8 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +7 -2
- package/lib/Http.js.map +1 -1
- package/lib/Local/LocalProvider.d.ts +182 -0
- package/lib/Local/LocalProvider.d.ts.map +1 -0
- package/lib/Local/LocalProvider.js +226 -0
- package/lib/Local/LocalProvider.js.map +1 -0
- package/lib/Local/ProviderLayer.d.ts +43 -2
- package/lib/Local/ProviderLayer.d.ts.map +1 -1
- package/lib/Local/ProviderLayer.js +80 -2
- package/lib/Local/ProviderLayer.js.map +1 -1
- package/lib/Local/RpcProvider.d.ts +7 -0
- package/lib/Local/RpcProvider.d.ts.map +1 -1
- package/lib/Local/RpcProvider.js +8 -3
- package/lib/Local/RpcProvider.js.map +1 -1
- package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
- package/lib/Local/RpcProviderProxy.js +3 -0
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Local/RpcServer.d.ts +8 -1
- package/lib/Local/RpcServer.d.ts.map +1 -1
- package/lib/Local/RpcServer.js +4 -1
- package/lib/Local/RpcServer.js.map +1 -1
- package/lib/Output.d.ts +4 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts +34 -0
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +127 -40
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +6 -2
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +36 -6
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
- package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +7 -1
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
- package/lib/Planetscale/OAuthClient.js +51 -4
- package/lib/Planetscale/OAuthClient.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
- package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +25 -14
- package/lib/Platform.js.map +1 -1
- package/lib/Prisma/App.d.ts +80 -0
- package/lib/Prisma/App.d.ts.map +1 -0
- package/lib/Prisma/App.js +238 -0
- package/lib/Prisma/App.js.map +1 -0
- package/lib/Prisma/AuthProvider.d.ts +28 -0
- package/lib/Prisma/AuthProvider.d.ts.map +1 -0
- package/lib/Prisma/AuthProvider.js +131 -0
- package/lib/Prisma/AuthProvider.js.map +1 -0
- package/lib/Prisma/Branch.d.ts +75 -0
- package/lib/Prisma/Branch.d.ts.map +1 -0
- package/lib/Prisma/Branch.js +216 -0
- package/lib/Prisma/Branch.js.map +1 -0
- package/lib/Prisma/Client.d.ts +178 -0
- package/lib/Prisma/Client.d.ts.map +1 -0
- package/lib/Prisma/Client.js +562 -0
- package/lib/Prisma/Client.js.map +1 -0
- package/lib/Prisma/Compute.d.ts +583 -0
- package/lib/Prisma/Compute.d.ts.map +1 -0
- package/lib/Prisma/Compute.js +1543 -0
- package/lib/Prisma/Compute.js.map +1 -0
- package/lib/Prisma/ComputeArchive.d.ts +63 -0
- package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
- package/lib/Prisma/ComputeArchive.js +227 -0
- package/lib/Prisma/ComputeArchive.js.map +1 -0
- package/lib/Prisma/ComputeBuild.d.ts +106 -0
- package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
- package/lib/Prisma/ComputeBuild.js +987 -0
- package/lib/Prisma/ComputeBuild.js.map +1 -0
- package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
- package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
- package/lib/Prisma/ComputeLifecycle.js +186 -0
- package/lib/Prisma/ComputeLifecycle.js.map +1 -0
- package/lib/Prisma/Connect.d.ts +99 -0
- package/lib/Prisma/Connect.d.ts.map +1 -0
- package/lib/Prisma/Connect.js +187 -0
- package/lib/Prisma/Connect.js.map +1 -0
- package/lib/Prisma/Connection.d.ts +202 -0
- package/lib/Prisma/Connection.d.ts.map +1 -0
- package/lib/Prisma/Connection.js +346 -0
- package/lib/Prisma/Connection.js.map +1 -0
- package/lib/Prisma/CustomDomain.d.ts +81 -0
- package/lib/Prisma/CustomDomain.d.ts.map +1 -0
- package/lib/Prisma/CustomDomain.js +175 -0
- package/lib/Prisma/CustomDomain.js.map +1 -0
- package/lib/Prisma/Database.d.ts +208 -0
- package/lib/Prisma/Database.d.ts.map +1 -0
- package/lib/Prisma/Database.js +405 -0
- package/lib/Prisma/Database.js.map +1 -0
- package/lib/Prisma/Deployment.d.ts +135 -0
- package/lib/Prisma/Deployment.d.ts.map +1 -0
- package/lib/Prisma/Deployment.js +348 -0
- package/lib/Prisma/Deployment.js.map +1 -0
- package/lib/Prisma/EnvironmentVariable.d.ts +89 -0
- package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
- package/lib/Prisma/EnvironmentVariable.js +213 -0
- package/lib/Prisma/EnvironmentVariable.js.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.js +6 -0
- package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.js +107 -0
- package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
- package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.js +134 -0
- package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
- package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.js +16 -0
- package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.js +8 -0
- package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.js +16 -0
- package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
- package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
- package/lib/Prisma/Internal/EnvName.d.ts +7 -0
- package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
- package/lib/Prisma/Internal/EnvName.js +23 -0
- package/lib/Prisma/Internal/EnvName.js.map +1 -0
- package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
- package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
- package/lib/Prisma/Internal/HttpClient.js +23 -0
- package/lib/Prisma/Internal/HttpClient.js.map +1 -0
- package/lib/Prisma/Operations.d.ts +143 -0
- package/lib/Prisma/Operations.d.ts.map +1 -0
- package/lib/Prisma/Operations.js +75 -0
- package/lib/Prisma/Operations.js.map +1 -0
- package/lib/Prisma/Postgres.d.ts +24 -0
- package/lib/Prisma/Postgres.d.ts.map +1 -0
- package/lib/Prisma/Postgres.js +23 -0
- package/lib/Prisma/Postgres.js.map +1 -0
- package/lib/Prisma/PostgresOrigin.d.ts +31 -0
- package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
- package/lib/Prisma/PostgresOrigin.js +30 -0
- package/lib/Prisma/PostgresOrigin.js.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.js +280 -0
- package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
- package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
- package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
- package/lib/Prisma/PrismaEnvironment.js +50 -0
- package/lib/Prisma/PrismaEnvironment.js.map +1 -0
- package/lib/Prisma/PrismaLogs.d.ts +42 -0
- package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
- package/lib/Prisma/PrismaLogs.js +318 -0
- package/lib/Prisma/PrismaLogs.js.map +1 -0
- package/lib/Prisma/Project.d.ts +117 -0
- package/lib/Prisma/Project.d.ts.map +1 -0
- package/lib/Prisma/Project.js +361 -0
- package/lib/Prisma/Project.js.map +1 -0
- package/lib/Prisma/Providers.d.ts +61 -0
- package/lib/Prisma/Providers.d.ts.map +1 -0
- package/lib/Prisma/Providers.js +282 -0
- package/lib/Prisma/Providers.js.map +1 -0
- package/lib/Prisma/Refs.d.ts +19 -0
- package/lib/Prisma/Refs.d.ts.map +1 -0
- package/lib/Prisma/Refs.js +25 -0
- package/lib/Prisma/Refs.js.map +1 -0
- package/lib/Prisma/SourceRepository.d.ts +104 -0
- package/lib/Prisma/SourceRepository.d.ts.map +1 -0
- package/lib/Prisma/SourceRepository.js +221 -0
- package/lib/Prisma/SourceRepository.js.map +1 -0
- package/lib/Prisma/Types.d.ts +539 -0
- package/lib/Prisma/Types.d.ts.map +1 -0
- package/lib/Prisma/Types.js +13 -0
- package/lib/Prisma/Types.js.map +1 -0
- package/lib/Prisma/index.d.ts +25 -0
- package/lib/Prisma/index.d.ts.map +1 -0
- package/lib/Prisma/index.js +24 -0
- package/lib/Prisma/index.js.map +1 -0
- package/lib/Provider.d.ts +77 -5
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +54 -30
- package/lib/Provider.js.map +1 -1
- package/lib/ProviderMode.d.ts +93 -0
- package/lib/ProviderMode.d.ts.map +1 -0
- package/lib/ProviderMode.js +77 -0
- package/lib/ProviderMode.js.map +1 -0
- package/lib/Random.d.ts +1 -1
- package/lib/Random.d.ts.map +1 -1
- package/lib/Resource.d.ts +22 -1
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +31 -0
- package/lib/Resource.js.map +1 -1
- package/lib/RuntimeContext.d.ts +7 -0
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/SQL/D1.d.ts +1 -1
- package/lib/SQL/D1.js +1 -1
- package/lib/SQL/Postgres.d.ts +1 -1
- package/lib/SQL/Postgres.js +1 -1
- package/lib/Server/Process.d.ts +8 -0
- package/lib/Server/Process.d.ts.map +1 -1
- package/lib/Server/Process.js +29 -0
- package/lib/Server/Process.js.map +1 -1
- package/lib/State/HttpStateApi.d.ts +11 -11
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js +2 -0
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +18 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +8 -2
- package/lib/Sync.js.map +1 -1
- package/lib/Telemetry.d.ts +150 -0
- package/lib/Telemetry.d.ts.map +1 -0
- package/lib/Telemetry.js +512 -0
- package/lib/Telemetry.js.map +1 -0
- package/lib/Test/Alchemy.d.ts +1 -1
- package/lib/Test/Alchemy.d.ts.map +1 -1
- package/lib/Test/Alchemy.js +4 -2
- package/lib/Test/Alchemy.js.map +1 -1
- package/lib/Test/Core.d.ts +2 -2
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +1 -8
- package/lib/Test/Core.js.map +1 -1
- package/lib/Test/Vitest.d.ts +58 -0
- package/lib/Test/Vitest.d.ts.map +1 -0
- package/lib/Test/Vitest.js +114 -0
- package/lib/Test/Vitest.js.map +1 -0
- package/lib/Util/Clank.d.ts +11 -6
- package/lib/Util/Clank.d.ts.map +1 -1
- package/lib/Util/Clank.js +22 -9
- package/lib/Util/Clank.js.map +1 -1
- package/lib/Util/proxy-chain.d.ts +5 -0
- package/lib/Util/proxy-chain.d.ts.map +1 -1
- package/lib/Util/proxy-chain.js +52 -4
- package/lib/Util/proxy-chain.js.map +1 -1
- package/lib/Util/zip.d.ts +11 -0
- package/lib/Util/zip.d.ts.map +1 -1
- package/lib/Util/zip.js +30 -0
- package/lib/Util/zip.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +59 -18
- package/src/AWS/ApiGateway/common.ts +9 -0
- package/src/AWS/Bedrock/LanguageModel.ts +883 -0
- package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
- package/src/AWS/Bedrock/index.ts +2 -0
- package/src/AWS/CloudFront/Distribution.ts +116 -6
- package/src/AWS/CostExplorer/common.ts +23 -2
- package/src/AWS/DataSync/Task.ts +30 -15
- package/src/AWS/EC2/InternetGateway.ts +8 -3
- package/src/AWS/EC2/LingeringEnis.ts +169 -0
- package/src/AWS/EC2/SecurityGroup.ts +24 -28
- package/src/AWS/EC2/Subnet.ts +23 -34
- package/src/AWS/EC2/Vpc.ts +35 -21
- package/src/AWS/EC2/hosted.ts +10 -2
- package/src/AWS/ECR/ImageSource.ts +10 -2
- package/src/AWS/ECR/Repository.ts +39 -4
- package/src/AWS/ECS/Service.ts +322 -22
- package/src/AWS/ECS/Task.ts +82 -32
- package/src/AWS/EKS/Addon.ts +17 -4
- package/src/AWS/EKS/Deployment.ts +36 -7
- package/src/AWS/EKS/HyperPod.ts +97 -0
- package/src/AWS/EKS/Job.ts +42 -9
- package/src/AWS/EKS/internal/client.ts +40 -3
- package/src/AWS/Lambda/Function.ts +106 -46
- package/src/AWS/Lambda/HttpServer.ts +7 -1
- package/src/AWS/Lambda/LayerVersion.ts +490 -0
- package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
- package/src/AWS/Lambda/index.ts +1 -0
- package/src/AWS/Providers.ts +16 -0
- package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
- package/src/AWS/SES/ReceiptFilter.ts +169 -0
- package/src/AWS/SES/ReceiptRule.ts +300 -0
- package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
- package/src/AWS/SES/SendBounce.ts +44 -0
- package/src/AWS/SES/SendBounceHttp.ts +13 -0
- package/src/AWS/SES/index.ts +6 -0
- package/src/AWS/SageMaker/Cluster.ts +775 -0
- package/src/AWS/SageMaker/ClusterSchedulerConfig.ts +430 -0
- package/src/AWS/SageMaker/ComputeQuota.ts +426 -0
- package/src/AWS/SageMaker/index.ts +3 -0
- package/src/AWS/StateStore/State.ts +159 -42
- package/src/Apply.ts +199 -83
- package/src/Axiom/Telemetry.ts +119 -0
- package/src/Axiom/index.ts +1 -0
- package/src/Bundle/Bundle.ts +17 -7
- package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
- package/src/Bundle/PurePlugin.ts +109 -46
- package/src/Cli/checkVersion.ts +102 -16
- package/src/Cli/commands/deploy.ts +3 -14
- package/src/Cli/commands/logs.ts +6 -1
- package/src/Cli/commands/nuke.ts +295 -56
- package/src/Cli/commands/tail.ts +6 -1
- package/src/Cli/main.ts +5 -4
- package/src/Cloudflare/AI/Search.ts +4 -18
- package/src/Cloudflare/AI/SearchInstance.ts +7 -26
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
- package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
- package/src/Cloudflare/Containers/Container.ts +92 -3
- package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
- package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
- package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
- package/src/Cloudflare/Credentials.ts +69 -9
- package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
- package/src/Cloudflare/D1/Database.ts +154 -2
- package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
- package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
- package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
- package/src/Cloudflare/Email/Address.ts +18 -1
- package/src/Cloudflare/Email/SendBinding.ts +1 -0
- package/src/Cloudflare/Email/SendEmail.ts +13 -0
- package/src/Cloudflare/Flagship/App.ts +18 -6
- package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
- package/src/Cloudflare/KV/Namespace.ts +47 -1
- package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
- package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/LocalGateway.ts +86 -0
- package/src/Cloudflare/LocalRuntime.ts +21 -1
- package/src/Cloudflare/Logs.ts +58 -28
- package/src/Cloudflare/Providers.ts +4 -2
- package/src/Cloudflare/Queues/Consumer.ts +70 -2
- package/src/Cloudflare/Queues/Queue.ts +7 -16
- package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
- package/src/Cloudflare/Queues/QueueShim.ts +193 -0
- package/src/Cloudflare/R2/Bucket.ts +55 -1
- package/src/Cloudflare/R2/BucketBinding.ts +17 -3
- package/src/Cloudflare/R2/BucketLocal.ts +25 -8
- package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
- package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
- package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
- package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
- package/src/Cloudflare/Rum/Site.ts +11 -4
- package/src/Cloudflare/StateStore/Api.ts +1 -1
- package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
- package/src/Cloudflare/Website/StaticSite.ts +117 -28
- package/src/Cloudflare/Website/Vite.ts +33 -19
- package/src/Cloudflare/Workers/Assets.ts +53 -1
- package/src/Cloudflare/Workers/Compatibility.ts +27 -7
- package/src/Cloudflare/Workers/DurableObject.ts +22 -0
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
- package/src/Cloudflare/Workers/InferEnv.ts +74 -59
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +662 -405
- package/src/Cloudflare/Workers/Worker.ts +683 -33
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
- package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
- package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
- package/src/Cloudflare/Workers/WorkerBundle.ts +37 -2
- package/src/Cloudflare/Workers/WorkerProvider.ts +2287 -281
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +36 -18
- package/src/Cloudflare/Workflows/index.ts +1 -1
- package/src/Command/Build.ts +8 -8
- package/src/Command/Command.ts +217 -42
- package/src/Command/Dev.ts +79 -107
- package/src/Command/Exec.ts +11 -2
- package/src/Command/Memo.ts +27 -3
- package/src/Command/Redaction.ts +181 -0
- package/src/Destroy.ts +1 -10
- package/src/Docker/Container.ts +85 -16
- package/src/Docker/Context.ts +236 -0
- package/src/Docker/Docker.ts +395 -43
- package/src/Docker/Image.ts +28 -7
- package/src/Docker/Network.ts +38 -14
- package/src/Docker/Providers.ts +16 -1
- package/src/Docker/RemoteImage.ts +23 -7
- package/src/Docker/Service.ts +1119 -0
- package/src/Docker/ServiceImage.ts +331 -0
- package/src/Docker/Swarm.ts +226 -0
- package/src/Docker/Volume.ts +25 -6
- package/src/Docker/index.ts +3 -0
- package/src/Http.ts +15 -2
- package/src/Local/LocalProvider.ts +518 -0
- package/src/Local/ProviderLayer.ts +113 -11
- package/src/Local/RpcProvider.ts +10 -5
- package/src/Local/RpcProviderProxy.ts +4 -1
- package/src/Local/RpcServer.ts +20 -2
- package/src/Output.ts +19 -11
- package/src/Plan.ts +182 -54
- package/src/Planetscale/AuthProvider.ts +15 -2
- package/src/Planetscale/Branch.ts +39 -6
- package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
- package/src/Planetscale/OAuthClient.ts +59 -3
- package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
- package/src/Platform.ts +29 -17
- package/src/Prisma/App.ts +420 -0
- package/src/Prisma/AuthProvider.ts +260 -0
- package/src/Prisma/Branch.ts +396 -0
- package/src/Prisma/Client.ts +1337 -0
- package/src/Prisma/Compute.ts +2876 -0
- package/src/Prisma/ComputeArchive.ts +432 -0
- package/src/Prisma/ComputeBuild.ts +1652 -0
- package/src/Prisma/ComputeLifecycle.ts +391 -0
- package/src/Prisma/Connect.ts +410 -0
- package/src/Prisma/Connection.ts +626 -0
- package/src/Prisma/CustomDomain.ts +363 -0
- package/src/Prisma/Database.ts +836 -0
- package/src/Prisma/Deployment.ts +655 -0
- package/src/Prisma/EnvironmentVariable.ts +401 -0
- package/src/Prisma/Internal/AppIdentity.ts +19 -0
- package/src/Prisma/Internal/AppPromotion.ts +172 -0
- package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
- package/src/Prisma/Internal/ArtifactFile.ts +242 -0
- package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
- package/src/Prisma/Internal/BundlePaths.ts +28 -0
- package/src/Prisma/Internal/CleanupFailure.ts +17 -0
- package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
- package/src/Prisma/Internal/DeploymentActions.ts +59 -0
- package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
- package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
- package/src/Prisma/Internal/EnvName.ts +24 -0
- package/src/Prisma/Internal/HttpClient.ts +30 -0
- package/src/Prisma/Operations.ts +259 -0
- package/src/Prisma/Postgres.ts +24 -0
- package/src/Prisma/PostgresOrigin.ts +52 -0
- package/src/Prisma/PrismaDevDatabase.ts +395 -0
- package/src/Prisma/PrismaEnvironment.ts +89 -0
- package/src/Prisma/PrismaLogs.ts +434 -0
- package/src/Prisma/Project.ts +681 -0
- package/src/Prisma/Providers.ts +411 -0
- package/src/Prisma/Refs.ts +69 -0
- package/src/Prisma/SourceRepository.ts +432 -0
- package/src/Prisma/Types.ts +611 -0
- package/src/Prisma/index.ts +24 -0
- package/src/Provider.ts +175 -39
- package/src/ProviderMode.ts +123 -0
- package/src/Resource.ts +64 -1
- package/src/RuntimeContext.ts +7 -0
- package/src/SQL/D1.ts +1 -1
- package/src/SQL/Postgres.ts +1 -1
- package/src/Server/Process.ts +33 -0
- package/src/State/InMemoryState.ts +2 -0
- package/src/State/ResourceState.ts +18 -0
- package/src/Sync.ts +14 -2
- package/src/Telemetry.ts +736 -0
- package/src/Test/Alchemy.ts +4 -2
- package/src/Test/Core.ts +1 -8
- package/src/Test/Vitest.ts +244 -0
- package/src/Util/Clank.ts +37 -11
- package/src/Util/proxy-chain.ts +73 -4
- package/src/Util/zip.ts +39 -0
- package/src/index.ts +3 -0
- package/lib/SQL/index.d.ts +0 -4
- package/lib/SQL/index.d.ts.map +0 -1
- package/lib/SQL/index.js +0 -4
- package/lib/SQL/index.js.map +0 -1
- package/src/SQL/index.ts +0 -3
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { Converse } from "./Converse.ts";
|
|
4
|
+
import { ConverseHttp } from "./ConverseHttp.ts";
|
|
5
|
+
import { ConverseStream } from "./ConverseStream.ts";
|
|
6
|
+
import { ConverseStreamHttp } from "./ConverseStreamHttp.ts";
|
|
7
|
+
import {
|
|
8
|
+
LanguageModel,
|
|
9
|
+
type LanguageModelOptions,
|
|
10
|
+
makeLanguageModelLayer,
|
|
11
|
+
} from "./LanguageModel.ts";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* HTTP implementation of {@link LanguageModel}. Composes the {@link Converse}
|
|
15
|
+
* and {@link ConverseStream} bindings, so binding a model registers both
|
|
16
|
+
* `bedrock:InvokeModel` and `bedrock:InvokeModelWithResponseStream` scoped to
|
|
17
|
+
* exactly that model.
|
|
18
|
+
*/
|
|
19
|
+
export const LanguageModelHttp = Layer.effect(
|
|
20
|
+
LanguageModel,
|
|
21
|
+
Effect.gen(function* () {
|
|
22
|
+
const converse = yield* Converse;
|
|
23
|
+
const converseStream = yield* ConverseStream;
|
|
24
|
+
return Effect.fn(function* (
|
|
25
|
+
model: string | readonly [string, ...string[]],
|
|
26
|
+
options?: LanguageModelOptions,
|
|
27
|
+
) {
|
|
28
|
+
const [first, ...rest] = typeof model === "string" ? [model] : model;
|
|
29
|
+
return makeLanguageModelLayer({
|
|
30
|
+
converse: yield* converse(first, ...rest),
|
|
31
|
+
converseStream: yield* converseStream(first, ...rest),
|
|
32
|
+
parameters: options?.parameters,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}),
|
|
36
|
+
).pipe(Layer.provide(Layer.mergeAll(ConverseHttp, ConverseStreamHttp)));
|
package/src/AWS/Bedrock/index.ts
CHANGED
|
@@ -26,6 +26,8 @@ export * from "./InvokeModelHttp.ts";
|
|
|
26
26
|
export * from "./InvokeModelWithResponseStream.ts";
|
|
27
27
|
export * from "./InvokeModelWithResponseStreamHttp.ts";
|
|
28
28
|
export * from "./KnowledgeBase.ts";
|
|
29
|
+
export * from "./LanguageModel.ts";
|
|
30
|
+
export * from "./LanguageModelHttp.ts";
|
|
29
31
|
export * from "./ListIngestionJobs.ts";
|
|
30
32
|
export * from "./ListIngestionJobsHttp.ts";
|
|
31
33
|
export * from "./ListKnowledgeBaseDocuments.ts";
|
|
@@ -954,7 +954,10 @@ export const DistributionProvider = () =>
|
|
|
954
954
|
// Sync config — diff observed config against desired and patch
|
|
955
955
|
// via `updateDistribution` with the freshly observed ETag. We
|
|
956
956
|
// keep the observed `CallerReference` because CloudFront does
|
|
957
|
-
// not allow it to change
|
|
957
|
+
// not allow it to change, and fill every member the props don't
|
|
958
|
+
// express from the observed config: UpdateDistribution replaces
|
|
959
|
+
// the whole config and rejects requests with missing members
|
|
960
|
+
// (see `mergeWithObservedConfig`).
|
|
958
961
|
yield* Effect.logInfo(
|
|
959
962
|
`CloudFront Distribution reconcile: updating config for ${observed.distribution.Id} with etag=${observed.etag ?? "missing"}`,
|
|
960
963
|
);
|
|
@@ -962,9 +965,9 @@ export const DistributionProvider = () =>
|
|
|
962
965
|
.updateDistribution({
|
|
963
966
|
Id: observed.distribution.Id,
|
|
964
967
|
IfMatch: observed.etag,
|
|
965
|
-
DistributionConfig:
|
|
966
|
-
observed.config.CallerReference,
|
|
967
|
-
|
|
968
|
+
DistributionConfig: mergeWithObservedConfig(
|
|
969
|
+
toConfig(observed.config.CallerReference, news),
|
|
970
|
+
observed.config,
|
|
968
971
|
),
|
|
969
972
|
})
|
|
970
973
|
.pipe(
|
|
@@ -1146,8 +1149,16 @@ const toBehavior = (
|
|
|
1146
1149
|
CachePolicyId: behavior.cachePolicyId,
|
|
1147
1150
|
OriginRequestPolicyId: behavior.originRequestPolicyId,
|
|
1148
1151
|
ResponseHeadersPolicyId: behavior.responseHeadersPolicyId,
|
|
1149
|
-
|
|
1150
|
-
MinTTL
|
|
1152
|
+
// Without a cache policy, CloudFront is in legacy mode and rejects the
|
|
1153
|
+
// request unless both ForwardedValues and MinTTL are present.
|
|
1154
|
+
ForwardedValues:
|
|
1155
|
+
behavior.forwardedValues ??
|
|
1156
|
+
(behavior.cachePolicyId === undefined
|
|
1157
|
+
? { QueryString: false, Cookies: { Forward: "none" } }
|
|
1158
|
+
: undefined),
|
|
1159
|
+
MinTTL:
|
|
1160
|
+
toWireSeconds(behavior.minTtl) ??
|
|
1161
|
+
(behavior.cachePolicyId === undefined ? 0 : undefined),
|
|
1151
1162
|
DefaultTTL: toWireSeconds(behavior.defaultTtl),
|
|
1152
1163
|
MaxTTL: toWireSeconds(behavior.maxTtl),
|
|
1153
1164
|
TrustedKeyGroups: behavior.trustedKeyGroups
|
|
@@ -1277,6 +1288,105 @@ const toOrigin = (origin: DistributionOrigin): cloudfront.Origin => {
|
|
|
1277
1288
|
};
|
|
1278
1289
|
};
|
|
1279
1290
|
|
|
1291
|
+
/**
|
|
1292
|
+
* Recursively fills `undefined` members of `desired` from `observed`.
|
|
1293
|
+
* Defined values in `desired` always win; arrays are taken from `desired`
|
|
1294
|
+
* wholesale (item-level merging is the caller's concern).
|
|
1295
|
+
*/
|
|
1296
|
+
const fillUndefined = <T>(desired: T, observed: T): T => {
|
|
1297
|
+
if (desired === undefined) return observed;
|
|
1298
|
+
if (
|
|
1299
|
+
desired === null ||
|
|
1300
|
+
typeof desired !== "object" ||
|
|
1301
|
+
Array.isArray(desired) ||
|
|
1302
|
+
observed === null ||
|
|
1303
|
+
typeof observed !== "object" ||
|
|
1304
|
+
Array.isArray(observed)
|
|
1305
|
+
) {
|
|
1306
|
+
return desired;
|
|
1307
|
+
}
|
|
1308
|
+
const out: Record<string, unknown> = {
|
|
1309
|
+
...(desired as Record<string, unknown>),
|
|
1310
|
+
};
|
|
1311
|
+
const desiredObj = desired as Record<string, unknown>;
|
|
1312
|
+
for (const key of Object.keys(observed as Record<string, unknown>)) {
|
|
1313
|
+
// CloudFront list shapes pair `Quantity` with `Items`. A desired node
|
|
1314
|
+
// that declares a `Quantity` but no `Items` (e.g. a geo restriction of
|
|
1315
|
+
// `{ RestrictionType: "none", Quantity: 0 }`) is fully specified —
|
|
1316
|
+
// filling `Items` from the observed config would desynchronize the two
|
|
1317
|
+
// and CloudFront rejects the update with `InconsistentQuantities`.
|
|
1318
|
+
if (
|
|
1319
|
+
key === "Items" &&
|
|
1320
|
+
typeof desiredObj.Quantity === "number" &&
|
|
1321
|
+
desiredObj.Items === undefined
|
|
1322
|
+
) {
|
|
1323
|
+
continue;
|
|
1324
|
+
}
|
|
1325
|
+
out[key] = fillUndefined(
|
|
1326
|
+
desiredObj[key],
|
|
1327
|
+
(observed as Record<string, unknown>)[key],
|
|
1328
|
+
);
|
|
1329
|
+
}
|
|
1330
|
+
return out as T;
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1333
|
+
/**
|
|
1334
|
+
* Completes a desired `DistributionConfig` with the freshly observed live
|
|
1335
|
+
* config before an `updateDistribution` call.
|
|
1336
|
+
*
|
|
1337
|
+
* CloudFront's `UpdateDistribution` replaces the ENTIRE distribution config:
|
|
1338
|
+
* any member missing from the request is rejected with `IllegalUpdate`
|
|
1339
|
+
* (observed in practice: "Default root object is missing for the resource",
|
|
1340
|
+
* "The 'OriginCustomHeaders' field is missing"). `toConfig` emits only the
|
|
1341
|
+
* members the props express, so updating a live distribution fails on every
|
|
1342
|
+
* member the props don't model — some of which (e.g. per-origin
|
|
1343
|
+
* `CustomHeaders`, per-behavior `TrustedSigners`) are nested inside
|
|
1344
|
+
* collections and not expressible as props at all.
|
|
1345
|
+
*
|
|
1346
|
+
* The standard CloudFront update pattern is read-modify-write, which the
|
|
1347
|
+
* delete path here already uses (`{ ...current.config, Enabled: false }`).
|
|
1348
|
+
* This applies the same idea to updates: desired values always win — the
|
|
1349
|
+
* declared props still fully control drift — and only `undefined` members
|
|
1350
|
+
* are carried over from the observed config. `Origins` and `CacheBehaviors`
|
|
1351
|
+
* items are additionally merged by identity (`Id` / `PathPattern`) so their
|
|
1352
|
+
* nested unexpressed members carry over too.
|
|
1353
|
+
*
|
|
1354
|
+
* Exported for unit tests.
|
|
1355
|
+
*/
|
|
1356
|
+
export const mergeWithObservedConfig = (
|
|
1357
|
+
desired: cloudfront.DistributionConfig,
|
|
1358
|
+
observed: cloudfront.DistributionConfig,
|
|
1359
|
+
): cloudfront.DistributionConfig => {
|
|
1360
|
+
const merged = fillUndefined(desired, observed);
|
|
1361
|
+
if (merged.Origins?.Items && observed.Origins?.Items) {
|
|
1362
|
+
const observedOrigins = observed.Origins.Items;
|
|
1363
|
+
merged.Origins = {
|
|
1364
|
+
...merged.Origins,
|
|
1365
|
+
Items: merged.Origins.Items.map((item) =>
|
|
1366
|
+
fillUndefined(
|
|
1367
|
+
item,
|
|
1368
|
+
observedOrigins.find((origin) => origin.Id === item.Id) ?? item,
|
|
1369
|
+
),
|
|
1370
|
+
),
|
|
1371
|
+
};
|
|
1372
|
+
}
|
|
1373
|
+
if (merged.CacheBehaviors?.Items && observed.CacheBehaviors?.Items) {
|
|
1374
|
+
const observedBehaviors = observed.CacheBehaviors.Items;
|
|
1375
|
+
merged.CacheBehaviors = {
|
|
1376
|
+
...merged.CacheBehaviors,
|
|
1377
|
+
Items: merged.CacheBehaviors.Items.map((item) =>
|
|
1378
|
+
fillUndefined(
|
|
1379
|
+
item,
|
|
1380
|
+
observedBehaviors.find(
|
|
1381
|
+
(behavior) => behavior.PathPattern === item.PathPattern,
|
|
1382
|
+
) ?? item,
|
|
1383
|
+
),
|
|
1384
|
+
),
|
|
1385
|
+
};
|
|
1386
|
+
}
|
|
1387
|
+
return merged;
|
|
1388
|
+
};
|
|
1389
|
+
|
|
1280
1390
|
const toConfig = (
|
|
1281
1391
|
callerReference: string,
|
|
1282
1392
|
props: DistributionProps,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as ce from "@distilled.cloud/aws/cost-explorer";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Schedule from "effect/Schedule";
|
|
3
4
|
import { diffTags } from "../../Tags.ts";
|
|
4
5
|
import { Region } from "../Region.ts";
|
|
5
6
|
|
|
@@ -11,8 +12,28 @@ import { Region } from "../Region.ts";
|
|
|
11
12
|
// (same pattern as CloudFront KVS / ECR Public / WAFv2 / GlobalAccelerator).
|
|
12
13
|
export const CE_REGION = "us-east-1" as const;
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
// Cost Explorer's control-plane rate limits are extremely low and shared
|
|
16
|
+
// account-wide, so concurrent deploys readily trip `LimitExceededException:
|
|
17
|
+
// Rate limit exceeded`. Retry it with capped exponential backoff, bounded
|
|
18
|
+
// (~47s total) so a genuine quota LimitExceeded still surfaces quickly.
|
|
19
|
+
const ceThrottleRetrySchedule = Schedule.max([
|
|
20
|
+
Schedule.min([
|
|
21
|
+
Schedule.exponential("1 second"),
|
|
22
|
+
Schedule.spaced("8 seconds"),
|
|
23
|
+
]),
|
|
24
|
+
Schedule.recurs(8),
|
|
25
|
+
]);
|
|
26
|
+
|
|
27
|
+
export const pinCe = <A, E extends { _tag: string }, R>(
|
|
28
|
+
effect: Effect.Effect<A, E, R>,
|
|
29
|
+
): Effect.Effect<A, E, R> =>
|
|
30
|
+
effect.pipe(
|
|
31
|
+
Effect.provideService(Region, Effect.succeed(CE_REGION)),
|
|
32
|
+
Effect.retry({
|
|
33
|
+
while: (e) => e._tag === "LimitExceededException",
|
|
34
|
+
schedule: ceThrottleRetrySchedule,
|
|
35
|
+
}),
|
|
36
|
+
);
|
|
16
37
|
|
|
17
38
|
/** Convert a plain tag record to Cost Explorer's `ResourceTag` list shape. */
|
|
18
39
|
export const toResourceTags = (
|
package/src/AWS/DataSync/Task.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as datasync from "@distilled.cloud/aws/datasync";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Schedule from "effect/Schedule";
|
|
3
4
|
import * as Stream from "effect/Stream";
|
|
4
5
|
import { isResolved } from "../../Diff.ts";
|
|
5
6
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
@@ -201,21 +202,35 @@ export const TaskProvider = () =>
|
|
|
201
202
|
|
|
202
203
|
// 2. ENSURE — create if missing.
|
|
203
204
|
if (t === undefined) {
|
|
204
|
-
const created = yield* datasync
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
Key,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
205
|
+
const created = yield* datasync
|
|
206
|
+
.createTask({
|
|
207
|
+
SourceLocationArn: news.sourceLocationArn,
|
|
208
|
+
DestinationLocationArn: news.destinationLocationArn,
|
|
209
|
+
Name: name,
|
|
210
|
+
Options: news.options,
|
|
211
|
+
Excludes: news.excludes,
|
|
212
|
+
Includes: news.includes,
|
|
213
|
+
Schedule: news.schedule,
|
|
214
|
+
CloudWatchLogGroupArn: news.cloudWatchLogGroupArn,
|
|
215
|
+
TaskMode: news.taskMode,
|
|
216
|
+
Tags: Object.entries(desiredTags).map(([Key, Value]) => ({
|
|
217
|
+
Key,
|
|
218
|
+
Value,
|
|
219
|
+
})),
|
|
220
|
+
})
|
|
221
|
+
.pipe(
|
|
222
|
+
// createTask synchronously probes the locations' S3 access,
|
|
223
|
+
// and a freshly-created location role's IAM policy can lag
|
|
224
|
+
// (typed `LocationAccessTestFailed`). Retry bounded through
|
|
225
|
+
// the propagation window.
|
|
226
|
+
Effect.retry({
|
|
227
|
+
while: (e) => e._tag === "LocationAccessTestFailed",
|
|
228
|
+
schedule: Schedule.max([
|
|
229
|
+
Schedule.spaced("5 seconds"),
|
|
230
|
+
Schedule.recurs(9),
|
|
231
|
+
]),
|
|
232
|
+
}),
|
|
233
|
+
);
|
|
219
234
|
arn = created.TaskArn!;
|
|
220
235
|
t = yield* describe(arn);
|
|
221
236
|
} else {
|
|
@@ -396,9 +396,12 @@ export const InternetGatewayProvider = () =>
|
|
|
396
396
|
while: (e) => {
|
|
397
397
|
return e._tag === "DependencyViolation";
|
|
398
398
|
},
|
|
399
|
+
// Public addresses on a draining EKS/HyperPod control
|
|
400
|
+
// plane's ENIs can take several minutes to release —
|
|
401
|
+
// 5s x 60 = ~5 min.
|
|
399
402
|
schedule: Schedule.max([
|
|
400
403
|
Schedule.fixed(5000),
|
|
401
|
-
Schedule.recurs(
|
|
404
|
+
Schedule.recurs(60),
|
|
402
405
|
]).pipe(
|
|
403
406
|
Schedule.tap(({ attempt }) =>
|
|
404
407
|
session.note(
|
|
@@ -424,7 +427,9 @@ export const InternetGatewayProvider = () =>
|
|
|
424
427
|
"InvalidInternetGatewayID.NotFound",
|
|
425
428
|
() => Effect.void,
|
|
426
429
|
),
|
|
427
|
-
// Retry on dependency violations
|
|
430
|
+
// Retry on dependency violations. Public addresses on a
|
|
431
|
+
// draining EKS/HyperPod control plane's ENIs can take
|
|
432
|
+
// several minutes to release — 5s x 60 = ~5 min.
|
|
428
433
|
Effect.retry({
|
|
429
434
|
while: (e) => {
|
|
430
435
|
return (
|
|
@@ -435,7 +440,7 @@ export const InternetGatewayProvider = () =>
|
|
|
435
440
|
},
|
|
436
441
|
schedule: Schedule.max([
|
|
437
442
|
Schedule.fixed(5000),
|
|
438
|
-
Schedule.recurs(
|
|
443
|
+
Schedule.recurs(60),
|
|
439
444
|
]).pipe(
|
|
440
445
|
Schedule.tap(({ attempt }) =>
|
|
441
446
|
session.note(
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as ec2 from "@distilled.cloud/aws/ec2";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Result from "effect/Result";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Shared teardown accelerator for network interfaces that AWS releases
|
|
7
|
+
* *asynchronously* after their owning resource is deleted.
|
|
8
|
+
*
|
|
9
|
+
* The canonical case is a VPC-attached Lambda Function: `DeleteFunction`
|
|
10
|
+
* returns immediately, but the function's Hyperplane ENIs stay `in-use` in
|
|
11
|
+
* their subnets/security groups for several minutes, and Lambda's own reaper
|
|
12
|
+
* may not delete the detached ENI for up to ~20 minutes. Until the ENI is
|
|
13
|
+
* gone, `DeleteSubnet`/`DeleteSecurityGroup` fail with `DependencyViolation`
|
|
14
|
+
* — historically forcing users to run `destroy` twice, minutes apart.
|
|
15
|
+
*
|
|
16
|
+
* `retryWhileLingeringEnis` wraps a subnet/security-group delete call:
|
|
17
|
+
* on every `DependencyViolation` it observes the ENIs still occupying the
|
|
18
|
+
* resource, explicitly deletes any *detached* (status `available`) Lambda
|
|
19
|
+
* ENI instead of waiting for Lambda's reaper, and — while the blockers are
|
|
20
|
+
* exclusively Lambda ENIs that are provably on their way out — keeps waiting
|
|
21
|
+
* on an extended budget that covers AWS's worst-case release window. Any
|
|
22
|
+
* other lingering dependency keeps today's shorter budget.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* ENIs that their owning service tears down asynchronously and that are safe
|
|
27
|
+
* for us to delete once detached. Only Lambda Hyperplane ENIs qualify today:
|
|
28
|
+
* every other managed type (NAT gateways, VPC endpoints, ELB, EFS mount
|
|
29
|
+
* targets, ECS task ENIs) is deleted by the API call that deletes its owner
|
|
30
|
+
* — and their owners are proper alchemy resources ordered ahead of the
|
|
31
|
+
* subnet/SG by the deletion graph.
|
|
32
|
+
*
|
|
33
|
+
* Matching note (observed live): while attached, a Hyperplane ENI reports
|
|
34
|
+
* `InterfaceType: "lambda"` — but the moment Lambda detaches it, the type
|
|
35
|
+
* flips to plain `"interface"` and only the description (`AWS Lambda VPC
|
|
36
|
+
* ENI-{functionName}`) still identifies it. Match both, like Terraform does.
|
|
37
|
+
*/
|
|
38
|
+
const isReapableEni = (eni: ec2.NetworkInterface): boolean =>
|
|
39
|
+
eni.InterfaceType === "lambda" ||
|
|
40
|
+
(eni.Description?.startsWith("AWS Lambda VPC ENI") ?? false);
|
|
41
|
+
|
|
42
|
+
export interface LingeringEniScope {
|
|
43
|
+
/** ENI filter naming the resource being deleted. */
|
|
44
|
+
readonly name: "subnet-id" | "group-id";
|
|
45
|
+
readonly value: string;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Observe ENIs still occupying the resource and delete any detached
|
|
50
|
+
* reapable ones. Best-effort by design: the reaper only accelerates the
|
|
51
|
+
* outer DependencyViolation retry, so an account that cannot describe or
|
|
52
|
+
* delete ENIs degrades to plain waiting instead of failing the destroy.
|
|
53
|
+
*/
|
|
54
|
+
const reapLingeringEnis = Effect.fn(function* (
|
|
55
|
+
scope: LingeringEniScope,
|
|
56
|
+
session: { note: (note: string) => Effect.Effect<void> },
|
|
57
|
+
) {
|
|
58
|
+
const described = yield* ec2
|
|
59
|
+
.describeNetworkInterfaces({
|
|
60
|
+
Filters: [{ Name: scope.name, Values: [scope.value] }],
|
|
61
|
+
})
|
|
62
|
+
.pipe(Effect.catch(() => Effect.succeed({ NetworkInterfaces: [] })));
|
|
63
|
+
|
|
64
|
+
const lingering = (described.NetworkInterfaces ?? []).filter(isReapableEni);
|
|
65
|
+
|
|
66
|
+
let reaped = 0;
|
|
67
|
+
let pending = 0;
|
|
68
|
+
for (const eni of lingering) {
|
|
69
|
+
if (eni.Status !== "available" || eni.NetworkInterfaceId === undefined) {
|
|
70
|
+
pending += 1;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const outcome = yield* ec2
|
|
74
|
+
.deleteNetworkInterface({
|
|
75
|
+
NetworkInterfaceId: eni.NetworkInterfaceId,
|
|
76
|
+
})
|
|
77
|
+
.pipe(
|
|
78
|
+
Effect.as("deleted" as const),
|
|
79
|
+
// Already gone counts as progress; anything else (raced back to
|
|
80
|
+
// in-use, throttle, missing IAM permission) must not fail the
|
|
81
|
+
// destroy — reaping is purely an accelerator, so degrade to the
|
|
82
|
+
// outer retry's plain waiting.
|
|
83
|
+
Effect.catchTag("InvalidNetworkInterfaceID.NotFound", () =>
|
|
84
|
+
Effect.succeed("deleted" as const),
|
|
85
|
+
),
|
|
86
|
+
Effect.catch(() => Effect.succeed("pending" as const)),
|
|
87
|
+
);
|
|
88
|
+
if (outcome === "deleted") {
|
|
89
|
+
yield* session.note(
|
|
90
|
+
`Deleted detached Lambda ENI ${eni.NetworkInterfaceId}`,
|
|
91
|
+
);
|
|
92
|
+
reaped += 1;
|
|
93
|
+
} else {
|
|
94
|
+
pending += 1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
/** Reapable ENIs still occupying the resource after this pass. */
|
|
100
|
+
pendingReapable: pending,
|
|
101
|
+
/** Detached reapable ENIs actually deleted this pass. */
|
|
102
|
+
reaped,
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Retry `deleteCall` while it fails with a dependency violation, reaping
|
|
108
|
+
* lingering ENIs between attempts.
|
|
109
|
+
*
|
|
110
|
+
* - Base budget (~12 min) matches the historical subnet schedule: fast
|
|
111
|
+
* exponential start, capped at 30-second steps.
|
|
112
|
+
* - While the observed blockers include reapable ENIs (attached or just
|
|
113
|
+
* reaped), the budget extends to ~25 min — Lambda's documented worst-case
|
|
114
|
+
* ENI release window — because those blockers are guaranteed to clear.
|
|
115
|
+
*/
|
|
116
|
+
export const retryWhileLingeringEnis = <A, E extends { _tag: string }, R>(
|
|
117
|
+
deleteCall: Effect.Effect<A, E, R>,
|
|
118
|
+
options: {
|
|
119
|
+
scope: LingeringEniScope;
|
|
120
|
+
isDependencyViolation: (error: E) => boolean;
|
|
121
|
+
session: { note: (note: string) => Effect.Effect<void> };
|
|
122
|
+
},
|
|
123
|
+
) =>
|
|
124
|
+
Effect.gen(function* () {
|
|
125
|
+
const BASE_BUDGET_MILLIS = 12 * 60 * 1000;
|
|
126
|
+
const EXTENDED_BUDGET_MILLIS = 25 * 60 * 1000;
|
|
127
|
+
|
|
128
|
+
let elapsedMillis = 0;
|
|
129
|
+
let sawReapable = false;
|
|
130
|
+
|
|
131
|
+
for (let attempt = 1; ; attempt++) {
|
|
132
|
+
const result = yield* Effect.result(deleteCall);
|
|
133
|
+
if (Result.isSuccess(result)) {
|
|
134
|
+
return result.success;
|
|
135
|
+
}
|
|
136
|
+
const error = result.failure;
|
|
137
|
+
if (!options.isDependencyViolation(error)) {
|
|
138
|
+
return yield* Effect.fail(error);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const { pendingReapable, reaped } = yield* reapLingeringEnis(
|
|
142
|
+
options.scope,
|
|
143
|
+
options.session,
|
|
144
|
+
);
|
|
145
|
+
if (reaped > 0) {
|
|
146
|
+
// An ENI just left — the next attempt has a real chance; skip the
|
|
147
|
+
// backoff sleep and try immediately.
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
sawReapable ||= pendingReapable > 0;
|
|
151
|
+
|
|
152
|
+
const budget = sawReapable ? EXTENDED_BUDGET_MILLIS : BASE_BUDGET_MILLIS;
|
|
153
|
+
if (elapsedMillis >= budget) {
|
|
154
|
+
return yield* Effect.fail(error);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
yield* options.session.note(
|
|
158
|
+
pendingReapable > 0
|
|
159
|
+
? `Waiting for AWS to release ${pendingReapable} lingering ENI(s)... (attempt ${attempt})`
|
|
160
|
+
: `Waiting for dependencies to clear... (attempt ${attempt})`,
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
// Fast exponential start capped at 30-second steps (the historical
|
|
164
|
+
// subnet schedule).
|
|
165
|
+
const delayMillis = Math.min(1000 * 1.5 ** (attempt - 1), 30_000);
|
|
166
|
+
yield* Effect.sleep(delayMillis);
|
|
167
|
+
elapsedMillis += delayMillis;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
@@ -11,6 +11,7 @@ import type { AccountID } from "../Environment.ts";
|
|
|
11
11
|
import { AWSEnvironment } from "../Environment.ts";
|
|
12
12
|
import type { Providers } from "../Providers.ts";
|
|
13
13
|
import type { RegionID } from "../Region.ts";
|
|
14
|
+
import { retryWhileLingeringEnis } from "./LingeringEnis.ts";
|
|
14
15
|
import type { VpcId } from "./Vpc.ts";
|
|
15
16
|
|
|
16
17
|
export type SecurityGroupId<ID extends string = string> = `sg-${ID}`;
|
|
@@ -681,34 +682,29 @@ export const SecurityGroupProvider = () =>
|
|
|
681
682
|
|
|
682
683
|
yield* session.note(`Deleting Security Group: ${groupId}`);
|
|
683
684
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
),
|
|
708
|
-
),
|
|
709
|
-
),
|
|
710
|
-
}),
|
|
711
|
-
);
|
|
685
|
+
// DependencyViolation means ENIs still reference the group — ALB,
|
|
686
|
+
// ECS task, or VPC-attached Lambda ENIs release minutes after the
|
|
687
|
+
// owning resource is deleted. Lambda Hyperplane ENIs are reaped
|
|
688
|
+
// explicitly between attempts (they otherwise linger up to ~20
|
|
689
|
+
// minutes and used to force a second `destroy` run).
|
|
690
|
+
yield* retryWhileLingeringEnis(
|
|
691
|
+
ec2
|
|
692
|
+
.deleteSecurityGroup({
|
|
693
|
+
GroupId: groupId,
|
|
694
|
+
DryRun: false,
|
|
695
|
+
})
|
|
696
|
+
.pipe(
|
|
697
|
+
Effect.catchTag("InvalidGroup.NotFound", () => Effect.void),
|
|
698
|
+
),
|
|
699
|
+
{
|
|
700
|
+
scope: { name: "group-id", value: groupId },
|
|
701
|
+
isDependencyViolation: (e) =>
|
|
702
|
+
e._tag === "DependencyViolation" ||
|
|
703
|
+
(e._tag === "ValidationError" &&
|
|
704
|
+
(e.message?.includes("DependencyViolation") ?? false)),
|
|
705
|
+
session,
|
|
706
|
+
},
|
|
707
|
+
);
|
|
712
708
|
|
|
713
709
|
yield* session.note(`Security Group ${groupId} deleted`);
|
|
714
710
|
}),
|
package/src/AWS/EC2/Subnet.ts
CHANGED
|
@@ -7,6 +7,7 @@ import * as Stream from "effect/Stream";
|
|
|
7
7
|
|
|
8
8
|
import type { ScopedPlanStatusSession } from "../../Cli/Cli.ts";
|
|
9
9
|
import { isResolved, somePropsAreDifferent } from "../../Diff.ts";
|
|
10
|
+
import { retryWhileLingeringEnis } from "./LingeringEnis.ts";
|
|
10
11
|
import * as Provider from "../../Provider.ts";
|
|
11
12
|
import { Resource } from "../../Resource.ts";
|
|
12
13
|
import type { Providers } from "../Providers.ts";
|
|
@@ -597,40 +598,28 @@ export const SubnetProvider = () =>
|
|
|
597
598
|
|
|
598
599
|
yield* session.note(`Deleting subnet: ${subnetId}`);
|
|
599
600
|
|
|
600
|
-
// 1. Attempt to delete subnet
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
Schedule.spaced("30 seconds"),
|
|
623
|
-
]),
|
|
624
|
-
Schedule.recurs(30),
|
|
625
|
-
]).pipe(
|
|
626
|
-
Schedule.tap(({ attempt }) =>
|
|
627
|
-
session.note(
|
|
628
|
-
`Waiting for dependencies to clear... (attempt ${attempt})`,
|
|
629
|
-
),
|
|
630
|
-
),
|
|
631
|
-
),
|
|
632
|
-
}),
|
|
633
|
-
);
|
|
601
|
+
// 1. Attempt to delete subnet. DependencyViolation means resources
|
|
602
|
+
// still occupy it — ENIs from a just-deleted ALB, CloudFront VPC
|
|
603
|
+
// origin, or a VPC-attached Lambda can take minutes to release
|
|
604
|
+
// after the owning resource is gone. Lambda Hyperplane ENIs are
|
|
605
|
+
// reaped explicitly between attempts (they otherwise linger up to
|
|
606
|
+
// ~20 minutes and used to force a second `destroy` run).
|
|
607
|
+
yield* retryWhileLingeringEnis(
|
|
608
|
+
ec2
|
|
609
|
+
.deleteSubnet({
|
|
610
|
+
SubnetId: subnetId,
|
|
611
|
+
DryRun: false,
|
|
612
|
+
})
|
|
613
|
+
.pipe(
|
|
614
|
+
Effect.tapError(Effect.logDebug),
|
|
615
|
+
Effect.catchTag("InvalidSubnetID.NotFound", () => Effect.void),
|
|
616
|
+
),
|
|
617
|
+
{
|
|
618
|
+
scope: { name: "subnet-id", value: subnetId },
|
|
619
|
+
isDependencyViolation: (e) => e._tag === "DependencyViolation",
|
|
620
|
+
session,
|
|
621
|
+
},
|
|
622
|
+
);
|
|
634
623
|
|
|
635
624
|
// 2. Wait for subnet to be fully deleted
|
|
636
625
|
yield* waitForSubnetDeleted(subnetId, session);
|