alchemy 2.0.0-beta.65 → 2.0.0-beta.67
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 +578 -224
- 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/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 +132 -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/Deployment.d.ts.map +1 -1
- package/lib/AWS/EKS/Deployment.js +10 -2
- package/lib/AWS/EKS/Deployment.js.map +1 -1
- package/lib/AWS/EKS/Job.d.ts.map +1 -1
- package/lib/AWS/EKS/Job.js +10 -2
- package/lib/AWS/EKS/Job.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 +67 -29
- 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 +6 -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/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 +1 -1
- package/lib/Bundle/PurePlugin.d.ts.map +1 -1
- package/lib/Bundle/PurePlugin.js +15 -7
- 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/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +2 -1
- package/lib/Cli/commands/_shared.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/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/DNS/Record.d.ts +3 -1
- package/lib/Cloudflare/DNS/Record.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/Record.js +23 -4
- package/lib/Cloudflare/DNS/Record.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 +31 -2
- 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/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 +483 -298
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +612 -13
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +222 -1
- 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.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +4 -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 +1765 -236
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +7 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +14 -4
- package/lib/Cloudflare/Workflows/WorkflowBridge.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 +15 -1
- package/lib/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +34 -11
- 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 +190 -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/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 +93 -0
- package/lib/Prisma/App.d.ts.map +1 -0
- package/lib/Prisma/App.js +251 -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 +96 -0
- package/lib/Prisma/Branch.d.ts.map +1 -0
- package/lib/Prisma/Branch.js +236 -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 +585 -0
- package/lib/Prisma/Compute.d.ts.map +1 -0
- package/lib/Prisma/Compute.js +1545 -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 +122 -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 +219 -0
- package/lib/Prisma/Connection.d.ts.map +1 -0
- package/lib/Prisma/Connection.js +360 -0
- package/lib/Prisma/Connection.js.map +1 -0
- package/lib/Prisma/CustomDomain.d.ts +91 -0
- package/lib/Prisma/CustomDomain.d.ts.map +1 -0
- package/lib/Prisma/CustomDomain.js +184 -0
- package/lib/Prisma/CustomDomain.js.map +1 -0
- package/lib/Prisma/Database.d.ts +222 -0
- package/lib/Prisma/Database.d.ts.map +1 -0
- package/lib/Prisma/Database.js +418 -0
- package/lib/Prisma/Database.js.map +1 -0
- package/lib/Prisma/Deployment.d.ts +141 -0
- package/lib/Prisma/Deployment.d.ts.map +1 -0
- package/lib/Prisma/Deployment.js +353 -0
- package/lib/Prisma/Deployment.js.map +1 -0
- package/lib/Prisma/EnvironmentVariable.d.ts +105 -0
- package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
- package/lib/Prisma/EnvironmentVariable.js +229 -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 +25 -0
- package/lib/Prisma/Postgres.d.ts.map +1 -0
- package/lib/Prisma/Postgres.js +24 -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 +123 -0
- package/lib/Prisma/Project.d.ts.map +1 -0
- package/lib/Prisma/Project.js +366 -0
- package/lib/Prisma/Project.js.map +1 -0
- package/lib/Prisma/Providers.d.ts +63 -0
- package/lib/Prisma/Providers.d.ts.map +1 -0
- package/lib/Prisma/Providers.js +306 -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 +127 -0
- package/lib/Prisma/SourceRepository.d.ts.map +1 -0
- package/lib/Prisma/SourceRepository.js +239 -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 +57 -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/Resource.d.ts +8 -0
- 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/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/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.map +1 -1
- package/lib/Test/Alchemy.js +3 -1
- 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/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/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 +46 -13
- 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/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/Deployment.ts +10 -2
- package/src/AWS/EKS/Job.ts +10 -2
- package/src/AWS/Lambda/Function.ts +101 -43
- 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 +10 -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/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 +19 -9
- package/src/Cli/checkVersion.ts +102 -16
- package/src/Cli/commands/_shared.ts +2 -0
- package/src/Cli/commands/deploy.ts +3 -14
- package/src/Cli/commands/logs.ts +6 -1
- 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 +169 -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/DNS/Record.ts +30 -4
- 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/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 +619 -401
- package/src/Cloudflare/Workers/Worker.ts +676 -28
- 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 +6 -1
- package/src/Cloudflare/Workers/WorkerProvider.ts +2269 -277
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +31 -13
- 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 +55 -15
- package/src/Docker/Context.ts +236 -0
- package/src/Docker/Docker.ts +393 -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/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 +433 -0
- package/src/Prisma/AuthProvider.ts +260 -0
- package/src/Prisma/Branch.ts +417 -0
- package/src/Prisma/Client.ts +1337 -0
- package/src/Prisma/Compute.ts +2878 -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 +433 -0
- package/src/Prisma/Connection.ts +643 -0
- package/src/Prisma/CustomDomain.ts +373 -0
- package/src/Prisma/Database.ts +850 -0
- package/src/Prisma/Deployment.ts +661 -0
- package/src/Prisma/EnvironmentVariable.ts +417 -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 +25 -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 +687 -0
- package/src/Prisma/Providers.ts +471 -0
- package/src/Prisma/Refs.ts +69 -0
- package/src/Prisma/SourceRepository.ts +455 -0
- package/src/Prisma/Types.ts +611 -0
- package/src/Prisma/index.ts +24 -0
- package/src/Provider.ts +155 -39
- package/src/ProviderMode.ts +123 -0
- package/src/Resource.ts +46 -0
- package/src/RuntimeContext.ts +7 -0
- 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 +3 -1
- package/src/Test/Core.ts +1 -8
- package/src/Util/Clank.ts +37 -11
- package/src/Util/zip.ts +39 -0
- package/src/index.ts +3 -0
package/src/Provider.ts
CHANGED
|
@@ -10,6 +10,7 @@ import type { Diff } from "./Diff.ts";
|
|
|
10
10
|
import type { Input } from "./Input.ts";
|
|
11
11
|
import type { InstanceId } from "./InstanceId.ts";
|
|
12
12
|
import type { Platform } from "./Platform.ts";
|
|
13
|
+
import type { ProviderMode } from "./ProviderMode.ts";
|
|
13
14
|
import type {
|
|
14
15
|
ResourceBinding,
|
|
15
16
|
ResourceClass,
|
|
@@ -111,6 +112,27 @@ export interface ProviderService<
|
|
|
111
112
|
* provider via {@link tryFindProviderByType}.
|
|
112
113
|
*/
|
|
113
114
|
aliases?: readonly string[];
|
|
115
|
+
/**
|
|
116
|
+
* The {@link ProviderMode} this service operates in.
|
|
117
|
+
*
|
|
118
|
+
* Set by `ProviderLayer.dual` registrations: the delegating service
|
|
119
|
+
* registered in context carries the run's default mode, and each built
|
|
120
|
+
* variant carries its concrete mode. Mode-agnostic providers (plain
|
|
121
|
+
* {@link succeed}/{@link effect} registrations) leave it `undefined` —
|
|
122
|
+
* their resources never persist a mode and never replace on a mode
|
|
123
|
+
* switch.
|
|
124
|
+
*/
|
|
125
|
+
mode?: ProviderMode;
|
|
126
|
+
/**
|
|
127
|
+
* Lazily-built mode variants, present only for `ProviderLayer.dual`
|
|
128
|
+
* registrations. Each effect builds (once, memoized, into the stack's
|
|
129
|
+
* layer scope) the provider service for that mode — including any
|
|
130
|
+
* mode-specific dependency layers — and returns it. The engine resolves
|
|
131
|
+
* a concrete variant via {@link findProviderByType} with a mode so that
|
|
132
|
+
* e.g. a local-mode state row is always deleted by the local provider,
|
|
133
|
+
* even during a live deploy (and vice versa).
|
|
134
|
+
*/
|
|
135
|
+
modes?: { readonly [M in ProviderMode]: Effect.Effect<ProviderService<Res>> };
|
|
114
136
|
/**
|
|
115
137
|
* Account-wide teardown (`alchemy unsafe nuke`) behaviour. Providers whose
|
|
116
138
|
* resources can't meaningfully be deleted opt out here so nuke doesn't
|
|
@@ -313,6 +335,64 @@ export interface ProviderService<
|
|
|
313
335
|
}): Effect.Effect<void, any, DeleteReq>;
|
|
314
336
|
}
|
|
315
337
|
|
|
338
|
+
/**
|
|
339
|
+
* The provider shape accepted by {@link effect} / {@link succeed}: identical
|
|
340
|
+
* to {@link ProviderService} except `list` is **optional**. Providers with no
|
|
341
|
+
* native enumeration API (local/dev providers, account singletons,
|
|
342
|
+
* sub-resources keyed entirely by a parent) simply omit it and get a safe
|
|
343
|
+
* `() => Effect.succeed([])` default.
|
|
344
|
+
*
|
|
345
|
+
* Making `list` optional at the constructor (rather than on
|
|
346
|
+
* {@link ProviderService} itself) keeps the engine's contract intact — every
|
|
347
|
+
* registered provider still has a callable `list` — while removing the
|
|
348
|
+
* type-inference trap where a missing required member silently defaults all
|
|
349
|
+
* `*Req` type params to `never` and produces baffling `R is not assignable
|
|
350
|
+
* to never` cascades at every other property.
|
|
351
|
+
*/
|
|
352
|
+
export type ProviderServiceInput<
|
|
353
|
+
Res extends ResourceLike = ResourceLike,
|
|
354
|
+
ReadReq = never,
|
|
355
|
+
DiffReq = never,
|
|
356
|
+
PrecreateReq = never,
|
|
357
|
+
ReconcileReq = never,
|
|
358
|
+
DeleteReq = never,
|
|
359
|
+
TailReq = never,
|
|
360
|
+
LogsReq = never,
|
|
361
|
+
ListReq = never,
|
|
362
|
+
> = Omit<
|
|
363
|
+
ProviderService<
|
|
364
|
+
Res,
|
|
365
|
+
ReadReq,
|
|
366
|
+
DiffReq,
|
|
367
|
+
PrecreateReq,
|
|
368
|
+
ReconcileReq,
|
|
369
|
+
DeleteReq,
|
|
370
|
+
TailReq,
|
|
371
|
+
LogsReq,
|
|
372
|
+
ListReq
|
|
373
|
+
>,
|
|
374
|
+
"list"
|
|
375
|
+
> &
|
|
376
|
+
Partial<
|
|
377
|
+
Pick<
|
|
378
|
+
ProviderService<
|
|
379
|
+
Res,
|
|
380
|
+
ReadReq,
|
|
381
|
+
DiffReq,
|
|
382
|
+
PrecreateReq,
|
|
383
|
+
ReconcileReq,
|
|
384
|
+
DeleteReq,
|
|
385
|
+
TailReq,
|
|
386
|
+
LogsReq,
|
|
387
|
+
ListReq
|
|
388
|
+
>,
|
|
389
|
+
"list"
|
|
390
|
+
>
|
|
391
|
+
>;
|
|
392
|
+
|
|
393
|
+
const withDefaultList = <S extends { list?: unknown }>(service: S): S =>
|
|
394
|
+
service.list ? service : { ...service, list: () => Effect.succeed([]) };
|
|
395
|
+
|
|
316
396
|
export const effect = <
|
|
317
397
|
R extends ResourceLike,
|
|
318
398
|
Req = never,
|
|
@@ -327,7 +407,7 @@ export const effect = <
|
|
|
327
407
|
>(
|
|
328
408
|
cls: ResourceClassLike<R> | Platform<R, any, any, any, any>,
|
|
329
409
|
eff: Effect.Effect<
|
|
330
|
-
|
|
410
|
+
ProviderServiceInput<
|
|
331
411
|
R,
|
|
332
412
|
ReadReq,
|
|
333
413
|
DiffReq,
|
|
@@ -354,7 +434,7 @@ export const effect = <
|
|
|
354
434
|
Provider(cls.Type),
|
|
355
435
|
Effect.map(eff, (service) => ({
|
|
356
436
|
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
357
|
-
...service,
|
|
437
|
+
...withDefaultList(service),
|
|
358
438
|
})),
|
|
359
439
|
) as any;
|
|
360
440
|
|
|
@@ -370,7 +450,7 @@ export const succeed = <
|
|
|
370
450
|
ListReq = never,
|
|
371
451
|
>(
|
|
372
452
|
cls: ResourceClass<R> | Platform<R, any, any, any, any>,
|
|
373
|
-
service:
|
|
453
|
+
service: ProviderServiceInput<
|
|
374
454
|
R,
|
|
375
455
|
ReadReq,
|
|
376
456
|
DiffReq,
|
|
@@ -392,7 +472,7 @@ export const succeed = <
|
|
|
392
472
|
// @ts-expect-error
|
|
393
473
|
Layer.succeed(Provider(cls.Type), {
|
|
394
474
|
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
395
|
-
...service,
|
|
475
|
+
...withDefaultList(service),
|
|
396
476
|
});
|
|
397
477
|
|
|
398
478
|
export interface ProviderCollectionLike {
|
|
@@ -495,12 +575,33 @@ const isProviderService = (value: unknown): value is ProviderService =>
|
|
|
495
575
|
"delete" in value &&
|
|
496
576
|
typeof (value as ProviderService).delete === "function";
|
|
497
577
|
|
|
578
|
+
/**
|
|
579
|
+
* Resolve the concrete service for `mode` from a provider found in context.
|
|
580
|
+
*
|
|
581
|
+
* - `mode === undefined` → the service as registered (for dual
|
|
582
|
+
* registrations that is the delegating service for the run's default
|
|
583
|
+
* mode).
|
|
584
|
+
* - `mode` given and the provider carries {@link ProviderService.modes} →
|
|
585
|
+
* the (lazily built, memoized) variant for that mode.
|
|
586
|
+
* - `mode` given but the provider is mode-agnostic → the service itself:
|
|
587
|
+
* a single implementation satisfies every mode (hybrid), which is what
|
|
588
|
+
* lets live-only resources (e.g. R2 buckets) participate in dev runs.
|
|
589
|
+
*/
|
|
590
|
+
export const providerForMode = <R extends ResourceLike>(
|
|
591
|
+
service: ProviderService<R>,
|
|
592
|
+
mode: ProviderMode | undefined,
|
|
593
|
+
): Effect.Effect<ProviderService<R>> =>
|
|
594
|
+
mode !== undefined && service.modes !== undefined
|
|
595
|
+
? service.modes[mode]
|
|
596
|
+
: Effect.succeed(service);
|
|
597
|
+
|
|
498
598
|
export const findProviderByType: {
|
|
499
599
|
<R extends ResourceLike>(
|
|
500
600
|
resourceType: R["Type"],
|
|
601
|
+
mode?: ProviderMode,
|
|
501
602
|
): Effect.Effect<ProviderService<R>>;
|
|
502
|
-
} = ((type: string) =>
|
|
503
|
-
tryFindProviderByType(type).pipe(
|
|
603
|
+
} = ((type: string, mode?: ProviderMode) =>
|
|
604
|
+
tryFindProviderByType(type, mode).pipe(
|
|
504
605
|
Effect.flatMap(
|
|
505
606
|
Option.match({
|
|
506
607
|
onNone: () => Effect.die(`Provider not found for ${type}`),
|
|
@@ -518,9 +619,10 @@ export const findProviderByType: {
|
|
|
518
619
|
export const findProvider: {
|
|
519
620
|
<R extends ResourceLike>(
|
|
520
621
|
resource: ResourceClassLike<R> | Platform<R, any, any, any, any>,
|
|
622
|
+
mode?: ProviderMode,
|
|
521
623
|
): Effect.Effect<ProviderService<R>>;
|
|
522
|
-
} = (resource: { Type?: string; key?: string }) =>
|
|
523
|
-
findProviderByType((resource.Type ?? resource.key) as string) as any;
|
|
624
|
+
} = (resource: { Type?: string; key?: string }, mode?: ProviderMode) =>
|
|
625
|
+
findProviderByType((resource.Type ?? resource.key) as string, mode) as any;
|
|
524
626
|
|
|
525
627
|
/**
|
|
526
628
|
* A persisted state row references a resource type with no registered
|
|
@@ -561,44 +663,58 @@ export const missingProviderError = (
|
|
|
561
663
|
export const tryFindProviderByType: {
|
|
562
664
|
<R extends ResourceLike>(
|
|
563
665
|
resourceType: R["Type"],
|
|
666
|
+
mode?: ProviderMode,
|
|
564
667
|
): Effect.Effect<Option.Option<ProviderService<R>>>;
|
|
565
|
-
} = Effect.fn(function* <R extends ResourceLike>(
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
668
|
+
} = Effect.fn(function* <R extends ResourceLike>(
|
|
669
|
+
resourceType: R["Type"],
|
|
670
|
+
mode?: ProviderMode,
|
|
671
|
+
) {
|
|
672
|
+
// When a mode is requested, resolve the found service to that mode's
|
|
673
|
+
// variant (building it lazily if needed) before returning.
|
|
674
|
+
const found = yield* Effect.gen(function* () {
|
|
675
|
+
const Tag = Provider<R>(resourceType) as unknown as Context.Service<
|
|
676
|
+
Provider<R>,
|
|
677
|
+
any
|
|
678
|
+
>;
|
|
679
|
+
const direct = yield* Effect.serviceOption(Tag);
|
|
680
|
+
if (Option.isSome(direct)) {
|
|
681
|
+
return direct;
|
|
682
|
+
}
|
|
574
683
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
684
|
+
const context = yield* Effect.context<never>();
|
|
685
|
+
for (const value of context.mapUnsafe.values()) {
|
|
686
|
+
if (isProviderCollectionService(value)) {
|
|
687
|
+
const provider = value.get(resourceType);
|
|
688
|
+
if (provider) {
|
|
689
|
+
return Option.some(provider);
|
|
690
|
+
}
|
|
581
691
|
}
|
|
582
692
|
}
|
|
583
|
-
}
|
|
584
693
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
694
|
+
// State persisted before a type rename carries the legacy name, so no
|
|
695
|
+
// provider is keyed under it. Fall back to a provider that declares the
|
|
696
|
+
// name in its `aliases` — scanning both bare Provider layers and the
|
|
697
|
+
// members of every ProviderCollection.
|
|
698
|
+
for (const value of context.mapUnsafe.values()) {
|
|
699
|
+
if (isProviderCollectionService(value)) {
|
|
700
|
+
for (const provider of Object.values(value.providers)) {
|
|
701
|
+
if (provider.aliases?.includes(resourceType)) {
|
|
702
|
+
return Option.some(provider);
|
|
703
|
+
}
|
|
594
704
|
}
|
|
705
|
+
} else if (
|
|
706
|
+
isProviderService(value) &&
|
|
707
|
+
value.aliases?.includes(resourceType)
|
|
708
|
+
) {
|
|
709
|
+
return Option.some(value);
|
|
595
710
|
}
|
|
596
|
-
} else if (
|
|
597
|
-
isProviderService(value) &&
|
|
598
|
-
value.aliases?.includes(resourceType)
|
|
599
|
-
) {
|
|
600
|
-
return Option.some(value);
|
|
601
711
|
}
|
|
712
|
+
return Option.none();
|
|
713
|
+
});
|
|
714
|
+
if (Option.isNone(found)) {
|
|
715
|
+
return found;
|
|
602
716
|
}
|
|
603
|
-
return Option.
|
|
717
|
+
return Option.some(
|
|
718
|
+
yield* providerForMode(found.value as ProviderService<R>, mode),
|
|
719
|
+
);
|
|
604
720
|
}) as any;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Data from "effect/Data";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Option from "effect/Option";
|
|
5
|
+
import { AlchemyContext } from "./AlchemyContext.ts";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The mode a resource's provider operates in.
|
|
9
|
+
*
|
|
10
|
+
* - `"live"` — the provider converges real cloud state.
|
|
11
|
+
* - `"local"` — the provider emulates the resource on the developer's
|
|
12
|
+
* machine (`alchemy dev`), typically as a long-running process managed
|
|
13
|
+
* by the dev sidecar.
|
|
14
|
+
*
|
|
15
|
+
* The mode a resource was last reconciled with is persisted on its state
|
|
16
|
+
* row (`providerMode`). Switching a resource between modes is planned as a
|
|
17
|
+
* **replacement**: the new instance is created with the new mode's provider
|
|
18
|
+
* and the old instance is deleted with the provider of the mode that
|
|
19
|
+
* created it.
|
|
20
|
+
*/
|
|
21
|
+
export type ProviderMode = "live" | "local";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* ProviderModePolicy opts resources OUT of local emulation: when `true`,
|
|
25
|
+
* resources registered while it is in context resolve the **live**
|
|
26
|
+
* provider even during `alchemy dev`.
|
|
27
|
+
*
|
|
28
|
+
* Apply it with the {@link remote} combinator. During `alchemy deploy`
|
|
29
|
+
* everything is live anyway, so the policy only has an effect in dev.
|
|
30
|
+
*
|
|
31
|
+
* Tri-state `Context.Reference`: `undefined` (the default — no explicit
|
|
32
|
+
* decoration, inherit/run default), `true` (`remote()`), `false`
|
|
33
|
+
* (`remote(false)` — explicitly follow the run default again). The unset vs
|
|
34
|
+
* explicit distinction is load-bearing for conflict detection at
|
|
35
|
+
* registration (see `Resource.ts`).
|
|
36
|
+
*/
|
|
37
|
+
export const ProviderModePolicy = Context.Reference<boolean | undefined>(
|
|
38
|
+
"ProviderModePolicy",
|
|
39
|
+
{ defaultValue: () => undefined },
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The same resource (identified by FQN) was registered (`yield*`ed) from two
|
|
44
|
+
* places whose ambient {@link ProviderModePolicy} disagree — e.g. once inside
|
|
45
|
+
* `remote()` and once without it. Context-based decoration cannot decide which
|
|
46
|
+
* one wins, so the engine fails loudly instead of silently picking one.
|
|
47
|
+
*
|
|
48
|
+
* Fix: register the resource once and close over the returned value, or make
|
|
49
|
+
* both registration sites agree.
|
|
50
|
+
*/
|
|
51
|
+
export class ConflictingProviderModeError extends Data.TaggedError(
|
|
52
|
+
"ConflictingProviderModeError",
|
|
53
|
+
)<{
|
|
54
|
+
message: string;
|
|
55
|
+
fqn: string;
|
|
56
|
+
/** The mode captured at the first registration site (undefined = default). */
|
|
57
|
+
existingMode: ProviderMode | undefined;
|
|
58
|
+
/** The explicit mode at the conflicting registration site. */
|
|
59
|
+
conflictingMode: ProviderMode | undefined;
|
|
60
|
+
}> {}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Run the wrapped resources **remotely (against the real cloud) even during
|
|
64
|
+
* `alchemy dev`** — the opt-out from local emulation. During `alchemy deploy`
|
|
65
|
+
* this is a no-op (everything is remote).
|
|
66
|
+
*
|
|
67
|
+
* Captured at registration time like `adopt()` / `retain()`, so it can be
|
|
68
|
+
* applied to a single resource or a whole scope:
|
|
69
|
+
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* // This queue talks to real Cloudflare even in dev
|
|
72
|
+
* const queue = yield* Queue("Jobs", {}).pipe(Alchemy.remote());
|
|
73
|
+
*
|
|
74
|
+
* // Everything in this scope runs live in dev
|
|
75
|
+
* yield* Effect.gen(function* () {
|
|
76
|
+
* const queue = yield* Queue("Jobs", {});
|
|
77
|
+
* const consumer = yield* Consumer("JobsConsumer", { queue });
|
|
78
|
+
* }).pipe(Alchemy.remote());
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* `remote(false)` (or an `Effect<boolean>` resolving to false) removes the
|
|
82
|
+
* pin — the resource follows the run default again.
|
|
83
|
+
*
|
|
84
|
+
* Providers with a single implementation are mode-agnostic and already run
|
|
85
|
+
* live in dev; `remote()` on them is a no-op.
|
|
86
|
+
*/
|
|
87
|
+
export const remote: {
|
|
88
|
+
(
|
|
89
|
+
enabled?: boolean,
|
|
90
|
+
): <A, E, R = never>(
|
|
91
|
+
effect: Effect.Effect<A, E, R>,
|
|
92
|
+
) => Effect.Effect<A, E, R>;
|
|
93
|
+
<R1 = never>(
|
|
94
|
+
enabled: Effect.Effect<boolean, never, R1>,
|
|
95
|
+
): <A, E, R2 = never>(
|
|
96
|
+
effect: Effect.Effect<A, E, R2>,
|
|
97
|
+
) => Effect.Effect<A, E, R1 | R2>;
|
|
98
|
+
} = ((enabled: boolean | Effect.Effect<boolean, never, any> = true) =>
|
|
99
|
+
(eff: Effect.Effect<any, any, any>) =>
|
|
100
|
+
eff.pipe(
|
|
101
|
+
typeof enabled === "boolean"
|
|
102
|
+
? Effect.provideService(ProviderModePolicy, enabled)
|
|
103
|
+
: Effect.provideServiceEffect(ProviderModePolicy, enabled),
|
|
104
|
+
)) as any;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Resolve the run-level default provider mode:
|
|
108
|
+
*
|
|
109
|
+
* 1. An ambient {@link ProviderModePolicy} of `true` (e.g. `remote()` wrapped
|
|
110
|
+
* around a whole program) forces `"live"`.
|
|
111
|
+
* 2. Otherwise `AlchemyContext.dev` decides: `dev: true` → `"local"`.
|
|
112
|
+
* 3. Without an AlchemyContext (bare engine tests), default to `"live"`.
|
|
113
|
+
*/
|
|
114
|
+
export const defaultProviderMode: Effect.Effect<ProviderMode> = Effect.gen(
|
|
115
|
+
function* () {
|
|
116
|
+
if (yield* ProviderModePolicy) return "live" as const;
|
|
117
|
+
const ctx = yield* Effect.serviceOption(AlchemyContext);
|
|
118
|
+
return Option.match(ctx, {
|
|
119
|
+
onNone: () => "live" as const,
|
|
120
|
+
onSome: (c) => (c.dev ? ("local" as const) : ("live" as const)),
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
);
|
package/src/Resource.ts
CHANGED
|
@@ -9,6 +9,11 @@ import type { Input, InputProps } from "./Input.ts";
|
|
|
9
9
|
import { CurrentNamespace, type NamespaceNode } from "./Namespace.ts";
|
|
10
10
|
import * as Output from "./Output.ts";
|
|
11
11
|
import { Provider } from "./Provider.ts";
|
|
12
|
+
import {
|
|
13
|
+
ConflictingProviderModeError,
|
|
14
|
+
ProviderModePolicy,
|
|
15
|
+
type ProviderMode,
|
|
16
|
+
} from "./ProviderMode.ts";
|
|
12
17
|
import { ref as makeRef } from "./Ref.ts";
|
|
13
18
|
import { RemovalPolicy } from "./RemovalPolicy.ts";
|
|
14
19
|
import { Self } from "./Self.ts";
|
|
@@ -130,6 +135,13 @@ export interface ResourceLike<
|
|
|
130
135
|
* resource-scoped override — the planner falls back to the stack/CLI default.
|
|
131
136
|
*/
|
|
132
137
|
Adopt: boolean | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Per-resource provider mode captured from the ambient
|
|
140
|
+
* {@link ProviderModePolicy} at registration time. `"live"` when the
|
|
141
|
+
* resource was pinned via `.pipe(remote())` (opting out of local emulation
|
|
142
|
+
* during dev); `undefined` means the run default (`AlchemyContext.dev`).
|
|
143
|
+
*/
|
|
144
|
+
Mode: ProviderMode | undefined;
|
|
133
145
|
/** @internal phantom */
|
|
134
146
|
Attributes: Attributes;
|
|
135
147
|
/** @internal phantom */
|
|
@@ -265,8 +277,41 @@ export function Resource<R extends ResourceLike>(
|
|
|
265
277
|
const namespace = yield* CurrentNamespace;
|
|
266
278
|
const fqn = toFqn(namespace, id);
|
|
267
279
|
|
|
280
|
+
// `remote()` opts resources out of local emulation during dev. The
|
|
281
|
+
// captured Mode is either "live" (pinned) or undefined (run default).
|
|
282
|
+
// The Reference default is `undefined` — "no explicit decoration" —
|
|
283
|
+
// which is distinct from an explicit `remote(false)`.
|
|
284
|
+
const ambientPolicy = yield* ProviderModePolicy;
|
|
285
|
+
const ambientMode: ProviderMode | undefined = ambientPolicy
|
|
286
|
+
? "live"
|
|
287
|
+
: undefined;
|
|
288
|
+
|
|
268
289
|
const existing = stack.resources[fqn];
|
|
269
290
|
if (existing) {
|
|
291
|
+
// A resource may be `yield*`ed from several places (idempotent
|
|
292
|
+
// registration). If a later site carries an *explicit* ambient
|
|
293
|
+
// ProviderModePolicy that disagrees with what the resource was
|
|
294
|
+
// registered with, the decorations are conflicting — fail loudly
|
|
295
|
+
// instead of silently picking one. A later site with NO ambient
|
|
296
|
+
// policy simply inherits the registered resource (the common
|
|
297
|
+
// "reference it from elsewhere" pattern).
|
|
298
|
+
if (ambientPolicy !== undefined && existing.Mode !== ambientMode) {
|
|
299
|
+
return yield* Effect.die(
|
|
300
|
+
new ConflictingProviderModeError({
|
|
301
|
+
message:
|
|
302
|
+
`Resource '${fqn}' was registered with provider mode ` +
|
|
303
|
+
`'${existing.Mode ?? "default"}' but is now being registered ` +
|
|
304
|
+
`with conflicting mode '${ambientMode ?? "default"}'. A ` +
|
|
305
|
+
"resource must resolve to a single provider mode: register " +
|
|
306
|
+
"it once and close over the returned value, or make both " +
|
|
307
|
+
"registration sites agree (e.g. wrap both in the same " +
|
|
308
|
+
"`remote()` scope).",
|
|
309
|
+
fqn,
|
|
310
|
+
existingMode: existing.Mode,
|
|
311
|
+
conflictingMode: ambientMode,
|
|
312
|
+
}),
|
|
313
|
+
);
|
|
314
|
+
}
|
|
270
315
|
// // TODO(sam): check if props are different and die
|
|
271
316
|
return existing;
|
|
272
317
|
}
|
|
@@ -341,6 +386,7 @@ export function Resource<R extends ResourceLike>(
|
|
|
341
386
|
Adopt: yield* Effect.serviceOption(AdoptPolicy).pipe(
|
|
342
387
|
Effect.map(Option.getOrUndefined),
|
|
343
388
|
),
|
|
389
|
+
Mode: ambientMode,
|
|
344
390
|
bind,
|
|
345
391
|
toString(this: typeof target) {
|
|
346
392
|
return `Resource<${this.Type}>(${this.LogicalId})`;
|
package/src/RuntimeContext.ts
CHANGED
|
@@ -28,6 +28,13 @@ export interface BaseRuntimeContext {
|
|
|
28
28
|
shape?: () => Record<string, unknown>;
|
|
29
29
|
/** additional services to provide to the plan */
|
|
30
30
|
planServices?: Layer.Layer<any>;
|
|
31
|
+
/**
|
|
32
|
+
* Telemetry exporter Layer registered during init via
|
|
33
|
+
* `Telemetry.layer(...)` / `Telemetry.layerOtlp(...)` (see Telemetry.ts).
|
|
34
|
+
* The runtime bridges build it into every event's request scope,
|
|
35
|
+
* overriding the env-driven default.
|
|
36
|
+
*/
|
|
37
|
+
telemetry?: Layer.Layer<never, any, any>;
|
|
31
38
|
}
|
|
32
39
|
|
|
33
40
|
/**
|
package/src/Server/Process.ts
CHANGED
|
@@ -102,3 +102,36 @@ export const createHostRuntimeContext =
|
|
|
102
102
|
})),
|
|
103
103
|
} satisfies HostRuntimeContext;
|
|
104
104
|
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Host runtime context for container platforms (`AWS.ECS.Task`,
|
|
108
|
+
* `AWS.ECS.Service`, `Docker.Service`): extends the shared process host
|
|
109
|
+
* context so an impl shape's `run` effect is registered as a one-shot runner
|
|
110
|
+
* (the container exits when it completes) and the HTTP server only boots when
|
|
111
|
+
* the impl actually declares a `fetch` handler.
|
|
112
|
+
*/
|
|
113
|
+
export const createContainerRuntimeContext =
|
|
114
|
+
(type: string) =>
|
|
115
|
+
(id: string): HostRuntimeContext => {
|
|
116
|
+
const base = createHostRuntimeContext(type)(id);
|
|
117
|
+
// Capture the host serve BEFORE Object.assign overwrites `base.serve`
|
|
118
|
+
// with the wrapper below — calling `base.serve` inside the wrapper would
|
|
119
|
+
// resolve to the wrapper itself (property lookup happens at call time)
|
|
120
|
+
// and recurse without bound the moment an impl declares `fetch`.
|
|
121
|
+
const serveBase = base.serve;
|
|
122
|
+
const serve: HostRuntimeContext["serve"] = (handler, options) =>
|
|
123
|
+
Effect.gen(function* () {
|
|
124
|
+
const shape = options?.shape;
|
|
125
|
+
const run = shape?.run;
|
|
126
|
+
if (Effect.isEffect(run)) {
|
|
127
|
+
yield* base.run(run as Effect.Effect<void, never, any>);
|
|
128
|
+
}
|
|
129
|
+
// Boot the HTTP server only for an impl that declared `fetch` — a
|
|
130
|
+
// pure one-shot `{ run }` program must exit when `run` completes
|
|
131
|
+
// rather than parking behind the 404 fallback server forever.
|
|
132
|
+
if (shape === undefined || shape.fetch !== undefined) {
|
|
133
|
+
yield* serveBase(handler, options);
|
|
134
|
+
}
|
|
135
|
+
}) as Effect.Effect<void, never, never>;
|
|
136
|
+
return Object.assign(base, { serve });
|
|
137
|
+
};
|
|
@@ -87,8 +87,10 @@ export const InMemoryService = (
|
|
|
87
87
|
Effect.sync(() => {
|
|
88
88
|
if (stage === undefined) {
|
|
89
89
|
delete state[stack];
|
|
90
|
+
delete outputs[stack];
|
|
90
91
|
} else {
|
|
91
92
|
delete state[stack]?.[stage];
|
|
93
|
+
delete outputs[stack]?.[stage];
|
|
92
94
|
}
|
|
93
95
|
}),
|
|
94
96
|
list: ({ stack, stage }: { stack: string; stage: string }) =>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NamespaceNode } from "../Namespace.ts";
|
|
2
|
+
import type { ProviderMode } from "../ProviderMode.ts";
|
|
2
3
|
import type { RemovalPolicy } from "../RemovalPolicy.ts";
|
|
3
4
|
import type { ResourceBinding } from "../Resource.ts";
|
|
4
5
|
|
|
@@ -56,6 +57,21 @@ interface BaseResourceState {
|
|
|
56
57
|
attr?: Attr;
|
|
57
58
|
/** The removal policy of the resource */
|
|
58
59
|
removalPolicy?: RemovalPolicy["Service"];
|
|
60
|
+
/**
|
|
61
|
+
* The {@link ProviderMode} this resource was last reconciled with.
|
|
62
|
+
*
|
|
63
|
+
* Stamped by Apply on every commit for resources whose provider
|
|
64
|
+
* distinguishes modes (`ProviderLayer.dual`). Plan treats a mismatch
|
|
65
|
+
* between the persisted mode and the resolved desired mode as a
|
|
66
|
+
* **replacement**, and deletion always uses the provider variant of the
|
|
67
|
+
* mode that created the row.
|
|
68
|
+
*
|
|
69
|
+
* `undefined` means either a mode-agnostic provider (single
|
|
70
|
+
* implementation serves both dev and deploy) or a legacy row written
|
|
71
|
+
* before modes were persisted — both are treated as "whatever the
|
|
72
|
+
* current run's mode is" (no replacement churn).
|
|
73
|
+
*/
|
|
74
|
+
providerMode?: ProviderMode;
|
|
59
75
|
}
|
|
60
76
|
|
|
61
77
|
export interface CreatingResourceState extends BaseResourceState {
|
|
@@ -74,6 +90,8 @@ export interface CreatedResourceState extends BaseResourceState {
|
|
|
74
90
|
|
|
75
91
|
export interface UpdatingReourceState extends BaseResourceState {
|
|
76
92
|
status: "updating";
|
|
93
|
+
/** Persisted until the first post-adoption reconcile succeeds. */
|
|
94
|
+
adopting?: true;
|
|
77
95
|
/** The new resource properties that are being (or have been) applied. */
|
|
78
96
|
props: Props;
|
|
79
97
|
old: {
|
package/src/Sync.ts
CHANGED
|
@@ -185,7 +185,12 @@ export const sync = (
|
|
|
185
185
|
);
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
|
|
188
|
+
// Observe with the provider variant of the mode that created the row —
|
|
189
|
+
// a local dev worker's state must be read by the local provider.
|
|
190
|
+
const provider = yield* findProviderByType(
|
|
191
|
+
resourceType,
|
|
192
|
+
old.providerMode,
|
|
193
|
+
);
|
|
189
194
|
if (!provider.read) {
|
|
190
195
|
return yield* skip(
|
|
191
196
|
`provider '${resourceType}' does not implement read`,
|
|
@@ -436,7 +441,12 @@ export const plan = (stack: {
|
|
|
436
441
|
fqn,
|
|
437
442
|
});
|
|
438
443
|
if (!persisted || isActionState(persisted)) continue;
|
|
439
|
-
|
|
444
|
+
// Repair the row with the provider mode that created it (sync never
|
|
445
|
+
// switches modes — a local ⇄ live switch is a plan-time replacement).
|
|
446
|
+
const provider = yield* findProviderByType(
|
|
447
|
+
persisted.resourceType,
|
|
448
|
+
persisted.providerMode,
|
|
449
|
+
);
|
|
440
450
|
const action =
|
|
441
451
|
r.action === "drifted"
|
|
442
452
|
? ("update" as const)
|
|
@@ -448,6 +458,7 @@ export const plan = (stack: {
|
|
|
448
458
|
props: persisted.props,
|
|
449
459
|
state: persisted,
|
|
450
460
|
provider,
|
|
461
|
+
mode: persisted.providerMode,
|
|
451
462
|
// Synthetic ResourceLike reconstructed from persisted state, the
|
|
452
463
|
// same way Plan.make builds its deletion nodes.
|
|
453
464
|
resource: {
|
|
@@ -461,6 +472,7 @@ export const plan = (stack: {
|
|
|
461
472
|
Provider: Provider(persisted.resourceType),
|
|
462
473
|
RemovalPolicy: persisted.removalPolicy,
|
|
463
474
|
Adopt: undefined,
|
|
475
|
+
Mode: persisted.providerMode,
|
|
464
476
|
RuntimeContext: undefined!,
|
|
465
477
|
Providers: undefined,
|
|
466
478
|
} as ResourceLike,
|