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
package/lib/Apply.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Cause from "effect/Cause";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
2
3
|
import * as Deferred from "effect/Deferred";
|
|
3
4
|
import * as Effect from "effect/Effect";
|
|
4
5
|
import * as Option from "effect/Option";
|
|
@@ -10,9 +11,8 @@ import { Cli, } from "./Cli/Cli.js";
|
|
|
10
11
|
import { havePropsChanged, stripUnresolved } from "./Diff.js";
|
|
11
12
|
import { generateInstanceId, InstanceId } from "./InstanceId.js";
|
|
12
13
|
import * as Output from "./Output.js";
|
|
13
|
-
import * as Data from "effect/Data";
|
|
14
14
|
import {} from "./Plan.js";
|
|
15
|
-
import { missingProviderError, tryFindProviderByType } from "./Provider.js";
|
|
15
|
+
import { findProviderByType, missingProviderError, tryFindProviderByType, } from "./Provider.js";
|
|
16
16
|
import { Stack } from "./Stack.js";
|
|
17
17
|
import { Stage } from "./Stage.js";
|
|
18
18
|
import { State, StateStoreError, } from "./State/index.js";
|
|
@@ -55,6 +55,15 @@ export const apply = (plan) => Effect.gen(function* () {
|
|
|
55
55
|
yield* converge(plan, tracker, terminalStatuses, session, state, stackName, stage);
|
|
56
56
|
yield* Effect.forEach(Array.from(terminalStatuses.values()), ({ id, type, status }) => session.emit({ kind: "status-change", id, type, status }), { concurrency: "unbounded" });
|
|
57
57
|
yield* session.done();
|
|
58
|
+
if (plan.destroy) {
|
|
59
|
+
// The destroy converged: every resource row was deleted above. Drop
|
|
60
|
+
// the rest of the stage's persisted state — notably the stack output
|
|
61
|
+
// record written by the last deploy — so `getOutput` returns
|
|
62
|
+
// undefined and `listStages` no longer reports the stage.
|
|
63
|
+
// https://github.com/alchemy-run/alchemy/issues/961
|
|
64
|
+
yield* state.deleteStack({ stack: stackName, stage });
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
58
67
|
if (!plan.output) {
|
|
59
68
|
return undefined;
|
|
60
69
|
}
|
|
@@ -236,6 +245,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
236
245
|
resourceType: node.resource.Type,
|
|
237
246
|
bindings: excludeDeletedBindings(node.bindings),
|
|
238
247
|
removalPolicy: node.resource.RemovalPolicy,
|
|
248
|
+
providerMode: node.mode,
|
|
239
249
|
});
|
|
240
250
|
return id;
|
|
241
251
|
}
|
|
@@ -261,6 +271,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
261
271
|
old: node.state,
|
|
262
272
|
deleteFirst: node.deleteFirst,
|
|
263
273
|
removalPolicy: node.resource.RemovalPolicy,
|
|
274
|
+
providerMode: node.mode,
|
|
264
275
|
});
|
|
265
276
|
return id;
|
|
266
277
|
}
|
|
@@ -289,6 +300,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
289
300
|
bindings: excludeDeletedBindings(node.bindings),
|
|
290
301
|
downstream: node.downstream,
|
|
291
302
|
removalPolicy: node.resource.RemovalPolicy,
|
|
303
|
+
providerMode: node.mode,
|
|
292
304
|
});
|
|
293
305
|
}
|
|
294
306
|
let attr = node.state?.attr;
|
|
@@ -328,6 +340,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
328
340
|
bindings: excludeDeletedBindings(node.bindings),
|
|
329
341
|
downstream: node.downstream,
|
|
330
342
|
removalPolicy: node.resource.RemovalPolicy,
|
|
343
|
+
providerMode: node.mode,
|
|
331
344
|
});
|
|
332
345
|
yield* storeAndSignal({
|
|
333
346
|
output: attr,
|
|
@@ -378,6 +391,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
378
391
|
providerVersion: node.provider.version ?? 0,
|
|
379
392
|
downstream: node.downstream,
|
|
380
393
|
removalPolicy: node.resource.RemovalPolicy,
|
|
394
|
+
providerMode: node.mode,
|
|
381
395
|
});
|
|
382
396
|
tracker[fqn] = {
|
|
383
397
|
output: attr,
|
|
@@ -418,6 +432,8 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
418
432
|
yield* waitForDeps(allUpstreamFqns());
|
|
419
433
|
const outputs = getOutputs();
|
|
420
434
|
const news = (yield* Output.evaluate(node.props, outputs));
|
|
435
|
+
const adopting = node.adopting === true ||
|
|
436
|
+
(node.state.status === "updating" && node.state.adopting === true);
|
|
421
437
|
yield* node.state.status === "replaced"
|
|
422
438
|
? commit({
|
|
423
439
|
// Keep the replacement wrapper intact while changing the live
|
|
@@ -425,6 +441,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
425
441
|
...node.state,
|
|
426
442
|
attr: node.state.attr,
|
|
427
443
|
props: news,
|
|
444
|
+
providerMode: node.mode,
|
|
428
445
|
})
|
|
429
446
|
: commit({
|
|
430
447
|
// For ordinary updates we snapshot the previously stable props/attrs
|
|
@@ -440,14 +457,18 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
440
457
|
bindings: excludeDeletedBindings(node.bindings),
|
|
441
458
|
downstream: node.downstream,
|
|
442
459
|
old: node.state.status === "updating" ? node.state.old : node.state,
|
|
460
|
+
adopting: adopting ? true : undefined,
|
|
443
461
|
removalPolicy: node.resource.RemovalPolicy,
|
|
462
|
+
providerMode: node.mode,
|
|
444
463
|
});
|
|
445
464
|
yield* report("updating");
|
|
446
|
-
const previousProps =
|
|
447
|
-
|
|
448
|
-
node.state.status === "
|
|
449
|
-
|
|
450
|
-
|
|
465
|
+
const previousProps = adopting
|
|
466
|
+
? undefined
|
|
467
|
+
: node.state.status === "created" ||
|
|
468
|
+
node.state.status === "updated" ||
|
|
469
|
+
node.state.status === "replaced"
|
|
470
|
+
? node.state.props
|
|
471
|
+
: node.state.old.props;
|
|
451
472
|
// Providers receive the resolved binding payload for this exact pass, while
|
|
452
473
|
// `previousProps` tells them what state the live resource is being updated from.
|
|
453
474
|
const bindingOutputs = excludeDeletedBindings(yield* Output.evaluate(node.bindings, outputs));
|
|
@@ -470,6 +491,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
470
491
|
...node.state,
|
|
471
492
|
attr,
|
|
472
493
|
props: news,
|
|
494
|
+
providerMode: node.mode,
|
|
473
495
|
});
|
|
474
496
|
}
|
|
475
497
|
else {
|
|
@@ -486,6 +508,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
486
508
|
providerVersion: node.provider.version ?? 0,
|
|
487
509
|
downstream: node.downstream,
|
|
488
510
|
removalPolicy: node.resource.RemovalPolicy,
|
|
511
|
+
providerMode: node.mode,
|
|
489
512
|
});
|
|
490
513
|
}
|
|
491
514
|
tracker[fqn] = {
|
|
@@ -536,6 +559,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
536
559
|
old: node.state,
|
|
537
560
|
downstream: node.downstream,
|
|
538
561
|
removalPolicy: node.resource.RemovalPolicy,
|
|
562
|
+
providerMode: node.mode,
|
|
539
563
|
});
|
|
540
564
|
}
|
|
541
565
|
else {
|
|
@@ -560,7 +584,14 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
560
584
|
const deleteOldGenerations = (old) => Effect.gen(function* () {
|
|
561
585
|
const retain = node.resource.RemovalPolicy === "retain";
|
|
562
586
|
if (old.attr !== undefined && !retain) {
|
|
563
|
-
|
|
587
|
+
// Delete each old generation with the provider variant of the
|
|
588
|
+
// mode that created it — after a local ⇄ live switch,
|
|
589
|
+
// `node.provider` (the new mode) cannot tear down the other
|
|
590
|
+
// runtime's instance. `providerMode: undefined` (legacy row or
|
|
591
|
+
// mode-agnostic provider) resolves to the provider as
|
|
592
|
+
// registered.
|
|
593
|
+
const oldProvider = yield* findProviderByType(node.resource.Type, old.providerMode);
|
|
594
|
+
yield* oldProvider
|
|
564
595
|
.delete({
|
|
565
596
|
id: logicalId,
|
|
566
597
|
fqn,
|
|
@@ -617,6 +648,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
617
648
|
old: replState.old,
|
|
618
649
|
deleteFirst: node.deleteFirst,
|
|
619
650
|
removalPolicy: node.resource.RemovalPolicy,
|
|
651
|
+
providerMode: node.mode,
|
|
620
652
|
});
|
|
621
653
|
yield* storeAndSignal({
|
|
622
654
|
output: attr,
|
|
@@ -664,6 +696,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
664
696
|
bindings: bindingOutputs,
|
|
665
697
|
downstream: node.downstream,
|
|
666
698
|
removalPolicy: node.resource.RemovalPolicy,
|
|
699
|
+
providerMode: node.mode,
|
|
667
700
|
});
|
|
668
701
|
}
|
|
669
702
|
else {
|
|
@@ -686,6 +719,7 @@ const executeNode = (fqn, node, tracker, ready, readyStable, terminalStatuses, s
|
|
|
686
719
|
old: replState.old,
|
|
687
720
|
deleteFirst: node.deleteFirst,
|
|
688
721
|
removalPolicy: node.resource.RemovalPolicy,
|
|
722
|
+
providerMode: node.mode,
|
|
689
723
|
});
|
|
690
724
|
}
|
|
691
725
|
tracker[fqn] = {
|
|
@@ -938,6 +972,7 @@ const converge = Effect.fn(function* (plan, tracker, terminalStatuses, session,
|
|
|
938
972
|
downstream: node.downstream,
|
|
939
973
|
namespace,
|
|
940
974
|
removalPolicy: node.resource.RemovalPolicy,
|
|
975
|
+
providerMode: node.mode,
|
|
941
976
|
},
|
|
942
977
|
});
|
|
943
978
|
terminalStatuses.set(fqn, {
|
|
@@ -1013,26 +1048,30 @@ const converge = Effect.fn(function* (plan, tracker, terminalStatuses, session,
|
|
|
1013
1048
|
break;
|
|
1014
1049
|
}
|
|
1015
1050
|
});
|
|
1016
|
-
// ── Phase 2: delete orphans and old replaced resources ─────────────────────
|
|
1017
1051
|
/**
|
|
1018
|
-
*
|
|
1019
|
-
* resource
|
|
1020
|
-
*
|
|
1021
|
-
*
|
|
1022
|
-
* the next destroy retries the whole chain.
|
|
1052
|
+
* Aggregate raised at the end of the deletion phase when one or more
|
|
1053
|
+
* resource deletes failed. Every resource whose delete did not depend on a
|
|
1054
|
+
* failed one was still attempted — a single failure no longer strands
|
|
1055
|
+
* unrelated siblings.
|
|
1023
1056
|
*/
|
|
1024
|
-
class
|
|
1057
|
+
export class DestroyError extends Data.TaggedError("DestroyError") {
|
|
1058
|
+
get message() {
|
|
1059
|
+
return [
|
|
1060
|
+
`Failed to delete ${this.failures.length} resource(s)` +
|
|
1061
|
+
(this.blocked.length > 0
|
|
1062
|
+
? ` (${this.blocked.length} more skipped because a dependent's delete failed)`
|
|
1063
|
+
: "") +
|
|
1064
|
+
":",
|
|
1065
|
+
...this.failures.map((f) => ` ✗ ${f.fqn} (${f.resourceType}): ${Cause.pretty(f.cause)}`),
|
|
1066
|
+
...this.blocked.map((b) => ` ⊘ ${b.fqn} (${b.resourceType}): skipped — blocked by failed delete of ${b.blockedBy.join(", ")}`),
|
|
1067
|
+
].join("\n");
|
|
1068
|
+
}
|
|
1025
1069
|
}
|
|
1026
1070
|
const collectGarbage = Effect.fn(function* (plan, session) {
|
|
1027
1071
|
const state = yield* yield* State;
|
|
1028
1072
|
const stack = yield* Stack;
|
|
1029
1073
|
const stackName = stack.name;
|
|
1030
1074
|
const stage = yield* Stage;
|
|
1031
|
-
// GC failures are aggregated, never fail-fast: one resource that refuses
|
|
1032
|
-
// to delete must not interrupt sibling deletions mid-flight (which would
|
|
1033
|
-
// leave THEIR physical resources behind too). Every deletable resource is
|
|
1034
|
-
// deleted, then the combined cause is raised at the end.
|
|
1035
|
-
const failures = [];
|
|
1036
1075
|
// Task deletions are pure state drops — no body is invoked. Run them in
|
|
1037
1076
|
// parallel before resource GC; tasks never have provider-side dependencies
|
|
1038
1077
|
// to wait on.
|
|
@@ -1053,11 +1092,19 @@ const collectGarbage = Effect.fn(function* (plan, session) {
|
|
|
1053
1092
|
status: "deleted",
|
|
1054
1093
|
});
|
|
1055
1094
|
})), { concurrency: "unbounded" });
|
|
1095
|
+
// Failures are collected — not propagated — so one bad delete never
|
|
1096
|
+
// strands unrelated siblings. `unresolved` tracks every FQN whose delete
|
|
1097
|
+
// failed or was blocked this run: later passes must not retry them (a
|
|
1098
|
+
// still-`replaced` row would otherwise spin the drain loop forever) and
|
|
1099
|
+
// dependencies scheduled in later passes must observe them as blocking.
|
|
1100
|
+
const failures = [];
|
|
1101
|
+
const blockedDeletes = [];
|
|
1102
|
+
const unresolved = new Set();
|
|
1056
1103
|
const deleteGraph = Effect.fn(function* (deletionGraph) {
|
|
1057
1104
|
const deletions = {};
|
|
1058
1105
|
const deleteResource = (node, ancestors = new Set()) => Effect.gen(function* () {
|
|
1059
1106
|
const isDeleteNode = (node) => "action" in node;
|
|
1060
|
-
const { fqn, logicalId, namespace, resourceType, instanceId, downstream, props, attr: persistedAttr, provider, } = isDeleteNode(node)
|
|
1107
|
+
const { fqn, logicalId, namespace, resourceType, instanceId, downstream, props, attr: persistedAttr, provider, providerMode, } = isDeleteNode(node)
|
|
1061
1108
|
? {
|
|
1062
1109
|
// Use the persisted FQN verbatim — never recompute it from
|
|
1063
1110
|
// `toFqn(namespace, logicalId)`. A logical ID may legitimately
|
|
@@ -1073,7 +1120,10 @@ const collectGarbage = Effect.fn(function* (plan, session) {
|
|
|
1073
1120
|
downstream: node.downstream,
|
|
1074
1121
|
props: node.state.props,
|
|
1075
1122
|
attr: node.state.attr,
|
|
1123
|
+
// Plan resolved this provider for the row's persisted
|
|
1124
|
+
// `providerMode` (see the deletions builder in Plan.ts).
|
|
1076
1125
|
provider: node.provider,
|
|
1126
|
+
providerMode: node.state.providerMode,
|
|
1077
1127
|
}
|
|
1078
1128
|
: {
|
|
1079
1129
|
fqn: node.fqn,
|
|
@@ -1086,11 +1136,14 @@ const collectGarbage = Effect.fn(function* (plan, session) {
|
|
|
1086
1136
|
attr: node.old.attr,
|
|
1087
1137
|
// A missing provider is fatal — plan already dies on zombie
|
|
1088
1138
|
// rows (see the deletions builder in Plan.ts); this guards
|
|
1089
|
-
// the replaced-chain generations that bypass plan.
|
|
1090
|
-
provider
|
|
1139
|
+
// the replaced-chain generations that bypass plan. The old
|
|
1140
|
+
// generation is torn down with the provider variant of the
|
|
1141
|
+
// mode that created it (local ⇄ live replacements).
|
|
1142
|
+
provider: yield* tryFindProviderByType(node.old.resourceType, node.old.providerMode).pipe(Effect.flatMap(Option.match({
|
|
1091
1143
|
onNone: () => Effect.die(missingProviderError(node.old.resourceType, node.fqn)),
|
|
1092
1144
|
onSome: Effect.succeed,
|
|
1093
1145
|
}))),
|
|
1146
|
+
providerMode: node.old.providerMode,
|
|
1094
1147
|
};
|
|
1095
1148
|
// Mutable: an attr-less row (interrupted create) may recover its
|
|
1096
1149
|
// attributes from `provider.read` below, right before deletion.
|
|
@@ -1124,196 +1177,222 @@ const collectGarbage = Effect.fn(function* (plan, session) {
|
|
|
1124
1177
|
}),
|
|
1125
1178
|
};
|
|
1126
1179
|
return yield* (deletions[fqn] ??= yield* Effect.cached(Effect.gen(function* () {
|
|
1127
|
-
// Dependents (downstream)
|
|
1128
|
-
//
|
|
1129
|
-
//
|
|
1130
|
-
//
|
|
1131
|
-
//
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
}
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
// handled with an early return; this guards the replaced
|
|
1151
|
-
// old-generation physical delete.
|
|
1152
|
-
const retainOldGeneration = !isDeleteNode(node) && node.removalPolicy === "retain";
|
|
1153
|
-
if (retainOldGeneration) {
|
|
1154
|
-
yield* scopedSession.note("Retaining replaced resource (removal policy: retain)...");
|
|
1155
|
-
}
|
|
1156
|
-
// A row can reach deletion with `attr === undefined` when a create
|
|
1157
|
-
// was interrupted after the cloud-side call succeeded but before
|
|
1158
|
-
// `reconcile` returned Attributes (a `creating` row — or the old
|
|
1159
|
-
// generation of a replacement chain in the same predicament).
|
|
1160
|
-
// Skipping the provider's delete outright would silently orphan
|
|
1161
|
-
// the physical resource, so ask `read` to look it up from the
|
|
1162
|
-
// persisted props (providers derive the deterministic physical
|
|
1163
|
-
// name from id/props):
|
|
1164
|
-
// - plain attrs → exists and is ours; proceed to delete
|
|
1165
|
-
// - Unowned(attrs) → exists but is NOT ours (e.g. our create
|
|
1166
|
-
// actually lost a name race, or died before
|
|
1167
|
-
// stamping ownership) — never delete a
|
|
1168
|
-
// foreign resource; drop our state and say so
|
|
1169
|
-
// - undefined → nothing exists; dropping state is safe
|
|
1170
|
-
if (attr === undefined && !retainOldGeneration) {
|
|
1171
|
-
if (provider.read) {
|
|
1172
|
-
const recovered = yield* provider
|
|
1173
|
-
.read({
|
|
1174
|
-
id: logicalId,
|
|
1175
|
-
fqn,
|
|
1176
|
-
instanceId,
|
|
1177
|
-
olds: props,
|
|
1178
|
-
output: undefined,
|
|
1179
|
-
})
|
|
1180
|
-
.pipe(instrumentLifecycle("read", fqn, resourceType, logicalId, instanceId));
|
|
1181
|
-
if (recovered !== undefined) {
|
|
1182
|
-
if (Unowned.is(recovered)) {
|
|
1183
|
-
yield* scopedSession.note("Resource exists in the cloud but is not owned by this " +
|
|
1184
|
-
"stack — leaving it in place (re-deploy with --adopt " +
|
|
1185
|
-
"to take ownership, then destroy).");
|
|
1186
|
-
}
|
|
1187
|
-
else {
|
|
1188
|
-
attr = stripUnowned(recovered);
|
|
1189
|
-
}
|
|
1190
|
-
}
|
|
1191
|
-
}
|
|
1192
|
-
else {
|
|
1193
|
-
yield* scopedSession.note("No attributes were recorded for this resource (its create " +
|
|
1194
|
-
"was interrupted) and the provider does not implement " +
|
|
1195
|
-
"`read` — if a physical resource was created, it must be " +
|
|
1196
|
-
"cleaned up manually.");
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
if (isDeleteNode(node)) {
|
|
1200
|
-
yield* commit({
|
|
1201
|
-
status: "deleting",
|
|
1180
|
+
// Dependents (`downstream`) are deleted before this resource. A
|
|
1181
|
+
// dependent whose delete failed (or was itself blocked) may make
|
|
1182
|
+
// this resource legitimately undeletable (dependency violation),
|
|
1183
|
+
// so it is skipped with a "blocked by" note instead of surfacing
|
|
1184
|
+
// a spurious second error.
|
|
1185
|
+
const dependents = yield* Effect.all(downstream.map((dep) => dep !== fqn && !ancestors.has(dep)
|
|
1186
|
+
? dep in deletionGraph
|
|
1187
|
+
? deleteResource(deletionGraph[dep], nextAncestors).pipe(Effect.map((outcome) => ({ dep, outcome })))
|
|
1188
|
+
: // Not in this pass's graph — but it may have failed in
|
|
1189
|
+
// an earlier drain pass of the same destroy.
|
|
1190
|
+
Effect.sync(() => ({
|
|
1191
|
+
dep,
|
|
1192
|
+
outcome: unresolved.has(dep)
|
|
1193
|
+
? "failed"
|
|
1194
|
+
: "deleted",
|
|
1195
|
+
}))
|
|
1196
|
+
: Effect.succeed({ dep, outcome: "deleted" })), { concurrency: "unbounded" });
|
|
1197
|
+
const blockedBy = dependents
|
|
1198
|
+
.filter(({ outcome }) => outcome !== "deleted")
|
|
1199
|
+
.map(({ dep }) => dep);
|
|
1200
|
+
if (blockedBy.length > 0) {
|
|
1201
|
+
unresolved.add(fqn);
|
|
1202
|
+
blockedDeletes.push({
|
|
1202
1203
|
fqn,
|
|
1203
1204
|
logicalId,
|
|
1204
|
-
instanceId,
|
|
1205
1205
|
resourceType,
|
|
1206
|
-
|
|
1207
|
-
attr,
|
|
1208
|
-
downstream,
|
|
1209
|
-
providerVersion: provider.version ?? 0,
|
|
1210
|
-
bindings: excludeDeletedBindings(node.bindings),
|
|
1211
|
-
removalPolicy: node.resource.RemovalPolicy,
|
|
1212
|
-
});
|
|
1213
|
-
}
|
|
1214
|
-
if (attr !== undefined && !retainOldGeneration) {
|
|
1215
|
-
yield* provider
|
|
1216
|
-
.delete({
|
|
1217
|
-
id: logicalId,
|
|
1218
|
-
fqn,
|
|
1219
|
-
instanceId,
|
|
1220
|
-
olds: props,
|
|
1221
|
-
output: attr,
|
|
1222
|
-
session: scopedSession,
|
|
1223
|
-
bindings: [],
|
|
1224
|
-
})
|
|
1225
|
-
.pipe(instrumentLifecycle("delete", fqn, resourceType, logicalId, instanceId));
|
|
1226
|
-
}
|
|
1227
|
-
if (isDeleteNode(node)) {
|
|
1228
|
-
yield* state.delete({
|
|
1229
|
-
stack: stackName,
|
|
1230
|
-
stage,
|
|
1231
|
-
fqn,
|
|
1206
|
+
blockedBy,
|
|
1232
1207
|
});
|
|
1233
|
-
yield*
|
|
1208
|
+
yield* scopedSession.note(`Skipping delete — blocked by failed delete of ${blockedBy.join(", ")}.`);
|
|
1209
|
+
yield* report("skipped");
|
|
1210
|
+
return "blocked";
|
|
1234
1211
|
}
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1212
|
+
return yield* deleteResourceBody().pipe(Effect.catchCause((cause) => Effect.gen(function* () {
|
|
1213
|
+
unresolved.add(fqn);
|
|
1214
|
+
failures.push({ fqn, logicalId, resourceType, cause });
|
|
1215
|
+
yield* report("fail");
|
|
1216
|
+
return "failed";
|
|
1217
|
+
})));
|
|
1218
|
+
})));
|
|
1219
|
+
function deleteResourceBody() {
|
|
1220
|
+
return Effect.gen(function* () {
|
|
1221
|
+
if (isDeleteNode(node)) {
|
|
1222
|
+
yield* report("deleting");
|
|
1223
|
+
if (node.resource.RemovalPolicy === "retain") {
|
|
1224
|
+
yield* state.delete({
|
|
1225
|
+
stack: stackName,
|
|
1226
|
+
stage,
|
|
1227
|
+
fqn,
|
|
1228
|
+
});
|
|
1229
|
+
yield* report("retained");
|
|
1230
|
+
// Retention is intentional — it never blocks dependencies.
|
|
1231
|
+
return "deleted";
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
// Honor `retain` for the old generation of a replacement, mirroring
|
|
1235
|
+
// the orphan-delete path above. Delete-node retain is already
|
|
1236
|
+
// handled with an early return; this guards the replaced
|
|
1237
|
+
// old-generation physical delete.
|
|
1238
|
+
const retainOldGeneration = !isDeleteNode(node) && node.removalPolicy === "retain";
|
|
1239
|
+
if (retainOldGeneration) {
|
|
1240
|
+
yield* scopedSession.note("Retaining replaced resource (removal policy: retain)...");
|
|
1238
1241
|
}
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1242
|
+
// A row can reach deletion with `attr === undefined` when a create
|
|
1243
|
+
// was interrupted after the cloud-side call succeeded but before
|
|
1244
|
+
// `reconcile` returned Attributes (a `creating` row — or the old
|
|
1245
|
+
// generation of a replacement chain in the same predicament).
|
|
1246
|
+
// Skipping the provider's delete outright would silently orphan
|
|
1247
|
+
// the physical resource, so ask `read` to look it up from the
|
|
1248
|
+
// persisted props (providers derive the deterministic physical
|
|
1249
|
+
// name from id/props):
|
|
1250
|
+
// - plain attrs → exists and is ours; proceed to delete
|
|
1251
|
+
// - Unowned(attrs) → exists but is NOT ours (e.g. our create
|
|
1252
|
+
// actually lost a name race, or died before
|
|
1253
|
+
// stamping ownership) — never delete a
|
|
1254
|
+
// foreign resource; drop our state and say so
|
|
1255
|
+
// - undefined → nothing exists; dropping state is safe
|
|
1256
|
+
if (attr === undefined && !retainOldGeneration) {
|
|
1257
|
+
if (provider.read) {
|
|
1258
|
+
const recovered = yield* provider
|
|
1259
|
+
.read({
|
|
1260
|
+
id: logicalId,
|
|
1261
|
+
fqn,
|
|
1262
|
+
instanceId,
|
|
1263
|
+
olds: props,
|
|
1264
|
+
output: undefined,
|
|
1265
|
+
})
|
|
1266
|
+
.pipe(instrumentLifecycle("read", fqn, resourceType, logicalId, instanceId));
|
|
1267
|
+
if (recovered !== undefined) {
|
|
1268
|
+
if (Unowned.is(recovered)) {
|
|
1269
|
+
yield* scopedSession.note("Resource exists in the cloud but is not owned by this " +
|
|
1270
|
+
"stack — leaving it in place (re-deploy with --adopt " +
|
|
1271
|
+
"to take ownership, then destroy).");
|
|
1272
|
+
}
|
|
1273
|
+
else {
|
|
1274
|
+
attr = stripUnowned(recovered);
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
else {
|
|
1279
|
+
yield* scopedSession.note("No attributes were recorded for this resource (its create " +
|
|
1280
|
+
"was interrupted) and the provider does not implement " +
|
|
1281
|
+
"`read` — if a physical resource was created, it must be " +
|
|
1282
|
+
"cleaned up manually.");
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
if (isDeleteNode(node)) {
|
|
1244
1286
|
yield* commit({
|
|
1245
|
-
status: "
|
|
1287
|
+
status: "deleting",
|
|
1246
1288
|
fqn,
|
|
1247
|
-
logicalId
|
|
1248
|
-
instanceId
|
|
1249
|
-
resourceType
|
|
1250
|
-
props
|
|
1251
|
-
attr
|
|
1252
|
-
|
|
1253
|
-
|
|
1289
|
+
logicalId,
|
|
1290
|
+
instanceId,
|
|
1291
|
+
resourceType,
|
|
1292
|
+
props,
|
|
1293
|
+
attr,
|
|
1294
|
+
downstream,
|
|
1295
|
+
providerVersion: provider.version ?? 0,
|
|
1254
1296
|
bindings: excludeDeletedBindings(node.bindings),
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
removalPolicy: node.removalPolicy,
|
|
1297
|
+
removalPolicy: node.resource.RemovalPolicy,
|
|
1298
|
+
providerMode,
|
|
1258
1299
|
});
|
|
1259
1300
|
}
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1301
|
+
if (attr !== undefined && !retainOldGeneration) {
|
|
1302
|
+
yield* provider
|
|
1303
|
+
.delete({
|
|
1304
|
+
id: logicalId,
|
|
1305
|
+
fqn,
|
|
1306
|
+
instanceId,
|
|
1307
|
+
olds: props,
|
|
1308
|
+
output: attr,
|
|
1309
|
+
session: scopedSession,
|
|
1310
|
+
bindings: [],
|
|
1311
|
+
})
|
|
1312
|
+
.pipe(instrumentLifecycle("delete", fqn, resourceType, logicalId, instanceId));
|
|
1313
|
+
}
|
|
1314
|
+
if (isDeleteNode(node)) {
|
|
1315
|
+
yield* state.delete({
|
|
1316
|
+
stack: stackName,
|
|
1317
|
+
stage,
|
|
1265
1318
|
fqn,
|
|
1266
|
-
logicalId: node.logicalId,
|
|
1267
|
-
instanceId: node.instanceId,
|
|
1268
|
-
resourceType: node.resourceType,
|
|
1269
|
-
props: node.props,
|
|
1270
|
-
attr: node.attr,
|
|
1271
|
-
providerVersion: node.providerVersion,
|
|
1272
|
-
downstream: node.downstream,
|
|
1273
|
-
bindings: excludeDeletedBindings(node.bindings),
|
|
1274
|
-
removalPolicy: node.removalPolicy,
|
|
1275
1319
|
});
|
|
1320
|
+
yield* report("deleted");
|
|
1276
1321
|
}
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1322
|
+
else {
|
|
1323
|
+
if (!retainOldGeneration) {
|
|
1324
|
+
yield* scopedSession.note("Cleaning up replaced resource...");
|
|
1325
|
+
}
|
|
1326
|
+
if (node.old.status === "replacing" ||
|
|
1327
|
+
node.old.status === "replaced") {
|
|
1328
|
+
// We only deleted the outermost old generation. A nested replacement
|
|
1329
|
+
// chain still exists, so stay in `replaced` and pop the chain forward
|
|
1330
|
+
// one level. The outer loop will pick this resource up again.
|
|
1331
|
+
yield* commit({
|
|
1332
|
+
status: "replaced",
|
|
1333
|
+
fqn,
|
|
1334
|
+
logicalId: node.logicalId,
|
|
1335
|
+
instanceId: node.instanceId,
|
|
1336
|
+
resourceType: node.resourceType,
|
|
1337
|
+
props: node.props,
|
|
1338
|
+
attr: node.attr,
|
|
1339
|
+
providerVersion: node.providerVersion,
|
|
1340
|
+
downstream: node.downstream,
|
|
1341
|
+
bindings: excludeDeletedBindings(node.bindings),
|
|
1342
|
+
old: node.old.old,
|
|
1343
|
+
deleteFirst: node.deleteFirst,
|
|
1344
|
+
removalPolicy: node.removalPolicy,
|
|
1345
|
+
providerMode: node.providerMode,
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1348
|
+
else {
|
|
1349
|
+
// The old chain is fully drained, so the current replacement is now
|
|
1350
|
+
// the stable resource and we can collapse back to a terminal state.
|
|
1351
|
+
yield* commit({
|
|
1352
|
+
status: "created",
|
|
1353
|
+
fqn,
|
|
1354
|
+
logicalId: node.logicalId,
|
|
1355
|
+
instanceId: node.instanceId,
|
|
1356
|
+
resourceType: node.resourceType,
|
|
1357
|
+
props: node.props,
|
|
1358
|
+
attr: node.attr,
|
|
1359
|
+
providerVersion: node.providerVersion,
|
|
1360
|
+
downstream: node.downstream,
|
|
1361
|
+
bindings: excludeDeletedBindings(node.bindings),
|
|
1362
|
+
removalPolicy: node.removalPolicy,
|
|
1363
|
+
providerMode: node.providerMode,
|
|
1364
|
+
});
|
|
1365
|
+
}
|
|
1366
|
+
yield* scopedSession.note(retainOldGeneration
|
|
1367
|
+
? "Replaced resource retained."
|
|
1368
|
+
: "Replaced resource cleanup complete.");
|
|
1369
|
+
}
|
|
1370
|
+
return "deleted";
|
|
1371
|
+
});
|
|
1372
|
+
}
|
|
1300
1373
|
});
|
|
1301
1374
|
// Attempt every root. Per-node failures were recorded (and their state
|
|
1302
|
-
// retained)
|
|
1303
|
-
// never interrupts sibling
|
|
1375
|
+
// retained) inside each node's delete effect — the effects resolve to
|
|
1376
|
+
// outcomes and never fail, so one bad resource never interrupts sibling
|
|
1377
|
+
// deletions mid-flight.
|
|
1304
1378
|
yield* Effect.all(Object.values(deletionGraph)
|
|
1305
1379
|
.filter((node) => node !== undefined)
|
|
1306
|
-
.map((node) => deleteResource(node)
|
|
1380
|
+
.map((node) => deleteResource(node)), { concurrency: "unbounded" });
|
|
1307
1381
|
});
|
|
1308
1382
|
// The first pass handles both planned deletions and any top-level replaced
|
|
1309
1383
|
// resources already present in state. Later passes only drain replacement
|
|
1310
1384
|
// chains that were re-committed as `replaced` while deleting older generations.
|
|
1311
1385
|
let first = true;
|
|
1312
1386
|
while (true) {
|
|
1313
|
-
const remainingReplacedResources = yield* state.getReplacedResources({
|
|
1387
|
+
const remainingReplacedResources = (yield* state.getReplacedResources({
|
|
1314
1388
|
stack: stackName,
|
|
1315
1389
|
stage,
|
|
1316
|
-
})
|
|
1390
|
+
}))
|
|
1391
|
+
// A row whose drain already failed (or was blocked) this run stays
|
|
1392
|
+
// `replaced` in state — retrying it in a later pass would loop forever.
|
|
1393
|
+
// It stays behind for the next destroy; the aggregate error below
|
|
1394
|
+
// reports it.
|
|
1395
|
+
.filter((replaced) => !unresolved.has(replaced.fqn));
|
|
1317
1396
|
if (!first && remainingReplacedResources.length === 0) {
|
|
1318
1397
|
break;
|
|
1319
1398
|
}
|
|
@@ -1328,15 +1407,12 @@ const collectGarbage = Effect.fn(function* (plan, session) {
|
|
|
1328
1407
|
])),
|
|
1329
1408
|
});
|
|
1330
1409
|
first = false;
|
|
1331
|
-
// A failed pass cannot make further progress — the failing rows stay
|
|
1332
|
-
// `replaced`/`deleting` in state, so looping again would spin on the
|
|
1333
|
-
// same failures forever. Stop and surface the aggregate below.
|
|
1334
|
-
if (failures.length > 0) {
|
|
1335
|
-
break;
|
|
1336
|
-
}
|
|
1337
1410
|
}
|
|
1338
1411
|
if (failures.length > 0) {
|
|
1339
|
-
|
|
1412
|
+
// Every independent delete was still attempted; now surface everything
|
|
1413
|
+
// that went wrong (and everything skipped as a consequence) as one
|
|
1414
|
+
// typed aggregate. The destroy as a whole still fails.
|
|
1415
|
+
return yield* Effect.fail(new DestroyError({ failures, blocked: blockedDeletes }));
|
|
1340
1416
|
}
|
|
1341
1417
|
});
|
|
1342
1418
|
const excludeDeletedBindings = (bindings) => bindings.flatMap(({ action, sid, data }) => action === "delete" ? [] : [{ sid, data }]);
|