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/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
|
|
@@ -134,6 +156,26 @@ export interface ProviderService<
|
|
|
134
156
|
* {@link singleton}, these are ordinary multi-instance resources.
|
|
135
157
|
*/
|
|
136
158
|
skip?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Provider IDs (picomatch globs, e.g. `"AWS.IAM.Role"` or `"AWS.EC2.*"`)
|
|
161
|
+
* whose resources this type's **cloud-side teardown** consumes — they
|
|
162
|
+
* must still exist while this type is deleting. `alchemy unsafe nuke`
|
|
163
|
+
* topologically orders deletion so every resource of this type is fully
|
|
164
|
+
* gone before any matching type starts deleting; if this type's deletes
|
|
165
|
+
* fail, the matching types are held back rather than deleted out from
|
|
166
|
+
* under an in-flight teardown.
|
|
167
|
+
*
|
|
168
|
+
* Example: SageMaker HyperPod deletes node ENIs by assuming the
|
|
169
|
+
* instance group's execution role — deleting the role (or the VPC)
|
|
170
|
+
* mid-teardown wedges the cluster in `Deleting` permanently, so
|
|
171
|
+
* `AWS.SageMaker.Cluster` declares `dependsOn: ["AWS.IAM.Role", ...]`.
|
|
172
|
+
*
|
|
173
|
+
* The constraint only takes effect when resources of this type are
|
|
174
|
+
* actually present in the nuke target set; declaration cycles collapse
|
|
175
|
+
* into a single concurrent wave (with a logged warning) instead of
|
|
176
|
+
* failing.
|
|
177
|
+
*/
|
|
178
|
+
dependsOn?: readonly string[];
|
|
137
179
|
};
|
|
138
180
|
/**
|
|
139
181
|
* Enumerates every existing resource of this type in the ambient scope
|
|
@@ -293,6 +335,64 @@ export interface ProviderService<
|
|
|
293
335
|
}): Effect.Effect<void, any, DeleteReq>;
|
|
294
336
|
}
|
|
295
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
|
+
|
|
296
396
|
export const effect = <
|
|
297
397
|
R extends ResourceLike,
|
|
298
398
|
Req = never,
|
|
@@ -307,7 +407,7 @@ export const effect = <
|
|
|
307
407
|
>(
|
|
308
408
|
cls: ResourceClassLike<R> | Platform<R, any, any, any, any>,
|
|
309
409
|
eff: Effect.Effect<
|
|
310
|
-
|
|
410
|
+
ProviderServiceInput<
|
|
311
411
|
R,
|
|
312
412
|
ReadReq,
|
|
313
413
|
DiffReq,
|
|
@@ -334,7 +434,7 @@ export const effect = <
|
|
|
334
434
|
Provider(cls.Type),
|
|
335
435
|
Effect.map(eff, (service) => ({
|
|
336
436
|
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
337
|
-
...service,
|
|
437
|
+
...withDefaultList(service),
|
|
338
438
|
})),
|
|
339
439
|
) as any;
|
|
340
440
|
|
|
@@ -350,7 +450,7 @@ export const succeed = <
|
|
|
350
450
|
ListReq = never,
|
|
351
451
|
>(
|
|
352
452
|
cls: ResourceClass<R> | Platform<R, any, any, any, any>,
|
|
353
|
-
service:
|
|
453
|
+
service: ProviderServiceInput<
|
|
354
454
|
R,
|
|
355
455
|
ReadReq,
|
|
356
456
|
DiffReq,
|
|
@@ -372,7 +472,7 @@ export const succeed = <
|
|
|
372
472
|
// @ts-expect-error
|
|
373
473
|
Layer.succeed(Provider(cls.Type), {
|
|
374
474
|
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
375
|
-
...service,
|
|
475
|
+
...withDefaultList(service),
|
|
376
476
|
});
|
|
377
477
|
|
|
378
478
|
export interface ProviderCollectionLike {
|
|
@@ -475,12 +575,33 @@ const isProviderService = (value: unknown): value is ProviderService =>
|
|
|
475
575
|
"delete" in value &&
|
|
476
576
|
typeof (value as ProviderService).delete === "function";
|
|
477
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
|
+
|
|
478
598
|
export const findProviderByType: {
|
|
479
599
|
<R extends ResourceLike>(
|
|
480
600
|
resourceType: R["Type"],
|
|
601
|
+
mode?: ProviderMode,
|
|
481
602
|
): Effect.Effect<ProviderService<R>>;
|
|
482
|
-
} = ((type: string) =>
|
|
483
|
-
tryFindProviderByType(type).pipe(
|
|
603
|
+
} = ((type: string, mode?: ProviderMode) =>
|
|
604
|
+
tryFindProviderByType(type, mode).pipe(
|
|
484
605
|
Effect.flatMap(
|
|
485
606
|
Option.match({
|
|
486
607
|
onNone: () => Effect.die(`Provider not found for ${type}`),
|
|
@@ -498,9 +619,10 @@ export const findProviderByType: {
|
|
|
498
619
|
export const findProvider: {
|
|
499
620
|
<R extends ResourceLike>(
|
|
500
621
|
resource: ResourceClassLike<R> | Platform<R, any, any, any, any>,
|
|
622
|
+
mode?: ProviderMode,
|
|
501
623
|
): Effect.Effect<ProviderService<R>>;
|
|
502
|
-
} = (resource: { Type?: string; key?: string }) =>
|
|
503
|
-
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;
|
|
504
626
|
|
|
505
627
|
/**
|
|
506
628
|
* A persisted state row references a resource type with no registered
|
|
@@ -541,44 +663,58 @@ export const missingProviderError = (
|
|
|
541
663
|
export const tryFindProviderByType: {
|
|
542
664
|
<R extends ResourceLike>(
|
|
543
665
|
resourceType: R["Type"],
|
|
666
|
+
mode?: ProviderMode,
|
|
544
667
|
): Effect.Effect<Option.Option<ProviderService<R>>>;
|
|
545
|
-
} = Effect.fn(function* <R extends ResourceLike>(
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
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
|
+
}
|
|
554
683
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
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
|
+
}
|
|
561
691
|
}
|
|
562
692
|
}
|
|
563
|
-
}
|
|
564
693
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
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
|
+
}
|
|
574
704
|
}
|
|
705
|
+
} else if (
|
|
706
|
+
isProviderService(value) &&
|
|
707
|
+
value.aliases?.includes(resourceType)
|
|
708
|
+
) {
|
|
709
|
+
return Option.some(value);
|
|
575
710
|
}
|
|
576
|
-
} else if (
|
|
577
|
-
isProviderService(value) &&
|
|
578
|
-
value.aliases?.includes(resourceType)
|
|
579
|
-
) {
|
|
580
|
-
return Option.some(value);
|
|
581
711
|
}
|
|
712
|
+
return Option.none();
|
|
713
|
+
});
|
|
714
|
+
if (Option.isNone(found)) {
|
|
715
|
+
return found;
|
|
582
716
|
}
|
|
583
|
-
return Option.
|
|
717
|
+
return Option.some(
|
|
718
|
+
yield* providerForMode(found.value as ProviderService<R>, mode),
|
|
719
|
+
);
|
|
584
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 */
|
|
@@ -190,9 +202,26 @@ export type Resource<
|
|
|
190
202
|
...args: any[]
|
|
191
203
|
): (binding: Input<Binding>) => Effect.Effect<void>;
|
|
192
204
|
} & {
|
|
193
|
-
[attr in keyof Attributes]-?:
|
|
205
|
+
[attr in keyof Attributes]-?: AttrOutput<Attributes[attr]>;
|
|
194
206
|
};
|
|
195
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Accessor type for one attribute. Pure object attributes upgrade to
|
|
210
|
+
* {@link Output.ObjectExpr} so nested access is typed —
|
|
211
|
+
* `hyperpod.instanceGroups.workers` — while primitives, unions with
|
|
212
|
+
* `undefined`, branded string unions (`"a" | (string & {})`), and arrays
|
|
213
|
+
* stay plain {@link Output.Output} (running them through `ToOutput` would
|
|
214
|
+
* classify the `string & {}` branch as an object and explode into
|
|
215
|
+
* String-method mapped types).
|
|
216
|
+
*/
|
|
217
|
+
type AttrOutput<A> = [A] extends [
|
|
218
|
+
string | number | boolean | bigint | null | undefined | Date | any[],
|
|
219
|
+
]
|
|
220
|
+
? Output.Output<A, never>
|
|
221
|
+
: [A] extends [Record<string, any>]
|
|
222
|
+
? Output.ObjectExpr<A, never>
|
|
223
|
+
: Output.Output<A, never>;
|
|
224
|
+
|
|
196
225
|
export interface ResourceOptions {
|
|
197
226
|
/**
|
|
198
227
|
* Default removal policy for this resource type when the caller has not
|
|
@@ -248,8 +277,41 @@ export function Resource<R extends ResourceLike>(
|
|
|
248
277
|
const namespace = yield* CurrentNamespace;
|
|
249
278
|
const fqn = toFqn(namespace, id);
|
|
250
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
|
+
|
|
251
289
|
const existing = stack.resources[fqn];
|
|
252
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
|
+
}
|
|
253
315
|
// // TODO(sam): check if props are different and die
|
|
254
316
|
return existing;
|
|
255
317
|
}
|
|
@@ -324,6 +386,7 @@ export function Resource<R extends ResourceLike>(
|
|
|
324
386
|
Adopt: yield* Effect.serviceOption(AdoptPolicy).pipe(
|
|
325
387
|
Effect.map(Option.getOrUndefined),
|
|
326
388
|
),
|
|
389
|
+
Mode: ambientMode,
|
|
327
390
|
bind,
|
|
328
391
|
toString(this: typeof target) {
|
|
329
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/SQL/D1.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type D1Config = Omit<D1Client.D1ClientConfig, "db">;
|
|
|
31
31
|
* resolved once at Worker init and used from any handler:
|
|
32
32
|
*
|
|
33
33
|
* ```typescript
|
|
34
|
-
* import * as SQL from "alchemy/SQL";
|
|
34
|
+
* import * as SQL from "alchemy/SQL/D1";
|
|
35
35
|
*
|
|
36
36
|
* const d1 = yield* Cloudflare.D1.QueryDatabase(Db);
|
|
37
37
|
* const sql = yield* SQL.D1(d1);
|
package/src/SQL/Postgres.ts
CHANGED
|
@@ -28,7 +28,7 @@ export type PostgresConfig<E, R> = Omit<PgClient.PgPoolConfig, "url"> & {
|
|
|
28
28
|
* handler:
|
|
29
29
|
*
|
|
30
30
|
* ```typescript
|
|
31
|
-
* import * as SQL from "alchemy/SQL";
|
|
31
|
+
* import * as SQL from "alchemy/SQL/Postgres";
|
|
32
32
|
*
|
|
33
33
|
* const hd = yield* Cloudflare.Hyperdrive.Connect(Hyperdrive);
|
|
34
34
|
* const sql = yield* SQL.Postgres({ url: hd.connectionString });
|
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: {
|