alchemy 2.0.0-beta.65 → 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/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/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/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 +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 +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/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 +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/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 +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 +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
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type * as rolldown from "rolldown";
|
|
3
|
+
import { AlchemyContext } from "../AlchemyContext.ts";
|
|
4
|
+
import * as Bundle from "../Bundle/Bundle.ts";
|
|
5
|
+
import { Docker } from "./Docker.ts";
|
|
6
|
+
/**
|
|
7
|
+
* INTERNAL — image machinery for the effectful `Docker.Service` platform.
|
|
8
|
+
*
|
|
9
|
+
* NOT exported from the Docker barrel. Bundles a `main` Effect program with
|
|
10
|
+
* rolldown, bakes it into a generated bun Dockerfile, and builds the image
|
|
11
|
+
* with the Docker CLI against the service's Docker context — so the image is
|
|
12
|
+
* present in the exact engine the Swarm service schedules from. There is no
|
|
13
|
+
* registry push: the built image is content-addressed (`<name>:<hash>`) and
|
|
14
|
+
* only rebuilt when the bundle, Dockerfile, or environment image changes.
|
|
15
|
+
*
|
|
16
|
+
* Multi-node swarms need the image on every node; for those, build with
|
|
17
|
+
* `Docker.Image` + a `registry` and pass the pushed ref as `image` instead.
|
|
18
|
+
*/
|
|
19
|
+
/** The props subset that describes a bundled `main` service image. */
|
|
20
|
+
export interface BundledServiceSource {
|
|
21
|
+
main: string;
|
|
22
|
+
image?: string;
|
|
23
|
+
handler?: string;
|
|
24
|
+
port?: number;
|
|
25
|
+
build?: {
|
|
26
|
+
input?: Partial<rolldown.InputOptions>;
|
|
27
|
+
output?: Partial<rolldown.OutputOptions>;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** The resolved (built) local image. */
|
|
31
|
+
export interface ResolvedServiceImage {
|
|
32
|
+
/** Full image reference, `<name>:<codeHash>`. */
|
|
33
|
+
imageRef: string;
|
|
34
|
+
/** Content hash identifying the image (also the image tag). */
|
|
35
|
+
codeHash: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The standard bun bootstrap wrapped around a `Docker.Service` `main` entry:
|
|
39
|
+
* resolves the bundled program's registered runners (`host.run` loops and the
|
|
40
|
+
* served `fetch` handler) and runs them with a Bun HTTP server bound to
|
|
41
|
+
* `PORT`. Mirrors the ECS bootstrap minus the AWS credential/region layers —
|
|
42
|
+
* a Swarm task has no ambient cloud identity.
|
|
43
|
+
*/
|
|
44
|
+
export declare const makeServiceBunBootstrap: (handler: string) => (importPath: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Init-time constructor for the service-image resolver. Resolves the services
|
|
47
|
+
* that are only available at provider-layer construction (Docker, the
|
|
48
|
+
* `.alchemy` directory, the rolldown virtual-entry plugin) and returns
|
|
49
|
+
* `resolve` (build the image if its content hash isn't present in the target
|
|
50
|
+
* engine) and `hash` (content hash only, for `diff`).
|
|
51
|
+
*/
|
|
52
|
+
export declare const makeServiceImage: Effect.Effect<{
|
|
53
|
+
resolve: (options: {
|
|
54
|
+
/** Logical resource id — keys the stable build-context directory. */
|
|
55
|
+
id: string;
|
|
56
|
+
source: BundledServiceSource;
|
|
57
|
+
/** Image repository name (the service's physical name). */
|
|
58
|
+
name: string;
|
|
59
|
+
/** Docker context the swarm service is deployed to. */
|
|
60
|
+
context: string | undefined;
|
|
61
|
+
isExternal?: boolean;
|
|
62
|
+
/** Plan-status session used to emit build progress notes. */
|
|
63
|
+
session: {
|
|
64
|
+
note: (message: string) => Effect.Effect<void>;
|
|
65
|
+
};
|
|
66
|
+
}) => Effect.Effect<{
|
|
67
|
+
imageRef: string;
|
|
68
|
+
codeHash: string;
|
|
69
|
+
}, Bundle.BundleError | import("effect/PlatformError").PlatformError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("../Stack.ts").Stack | import("../Stage.ts").Stage>;
|
|
70
|
+
hash: (options: {
|
|
71
|
+
source: BundledServiceSource;
|
|
72
|
+
isExternal?: boolean;
|
|
73
|
+
}) => Effect.Effect<string, Bundle.BundleError | import("effect/PlatformError").PlatformError, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
|
|
74
|
+
}, never, AlchemyContext | Docker | import("effect/Path").Path>;
|
|
75
|
+
/** The resolver service returned by {@link makeServiceImage}. */
|
|
76
|
+
export interface ServiceImage extends Effect.Success<typeof makeServiceImage> {
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=ServiceImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceImage.d.ts","sourceRoot":"","sources":["../../src/Docker/ServiceImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAQ9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;;;GAYG;AAEH,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;KAC1C,CAAC;CACH;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,YACxB,MAAM,kBACH,MAAM,KAAG,MAuEvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;QA8HzB,qEAAqE;YACjE,MAAM;gBACF,oBAAoB;QAC5B,2DAA2D;cACrD,MAAM;QACZ,uDAAuD;iBAC9C,MAAM,GAAG,SAAS;qBACd,OAAO;QACpB,6DAA6D;iBACpD;YAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAAE;;;;;;gBAgDnD,oBAAoB;qBACf,OAAO;;+DAOtB,CAAC;AAEH,iEAAiE;AACjE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC;CAAG"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import { AlchemyContext } from "../AlchemyContext.js";
|
|
3
|
+
import * as Bundle from "../Bundle/Bundle.js";
|
|
4
|
+
import { findCwdForBundle, getStableContextDir, resolveMainPath, } from "../Bundle/TempRoot.js";
|
|
5
|
+
import { Self } from "../Self.js";
|
|
6
|
+
import { sha256Object } from "../Util/sha256.js";
|
|
7
|
+
import { Docker } from "./Docker.js";
|
|
8
|
+
/**
|
|
9
|
+
* The standard bun bootstrap wrapped around a `Docker.Service` `main` entry:
|
|
10
|
+
* resolves the bundled program's registered runners (`host.run` loops and the
|
|
11
|
+
* served `fetch` handler) and runs them with a Bun HTTP server bound to
|
|
12
|
+
* `PORT`. Mirrors the ECS bootstrap minus the AWS credential/region layers —
|
|
13
|
+
* a Swarm task has no ambient cloud identity.
|
|
14
|
+
*/
|
|
15
|
+
export const makeServiceBunBootstrap = (handler) => (importPath) => `
|
|
16
|
+
import { BunServices } from "@effect/platform-bun";
|
|
17
|
+
import { BunHttpServer } from "alchemy/Http";
|
|
18
|
+
import { Stack } from "alchemy/Stack";
|
|
19
|
+
import { makeEntrypointLayer, reifyBoundConfigProvider } from "alchemy/Runtime";
|
|
20
|
+
import * as Config from "effect/Config";
|
|
21
|
+
import * as ConfigProvider from "effect/ConfigProvider";
|
|
22
|
+
import * as Context from "effect/Context";
|
|
23
|
+
import * as Effect from "effect/Effect";
|
|
24
|
+
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
25
|
+
import * as Layer from "effect/Layer";
|
|
26
|
+
import * as Logger from "effect/Logger";
|
|
27
|
+
|
|
28
|
+
import { ${handler} as entrypoint } from ${JSON.stringify(importPath)};
|
|
29
|
+
|
|
30
|
+
// Normalize the entrypoint export: an inline-effect class default export is
|
|
31
|
+
// an Effect resolving the platform instance, while the tagged form
|
|
32
|
+
// (X.make(props, impl)) exports a Layer providing the Self tag. Both fold
|
|
33
|
+
// into a Layer via makeEntrypointLayer (same pattern as the ECS bridge).
|
|
34
|
+
const tag = Context.Service("${Self.key}");
|
|
35
|
+
const layer = makeEntrypointLayer(tag, entrypoint);
|
|
36
|
+
|
|
37
|
+
const platform = Layer.mergeAll(
|
|
38
|
+
BunServices.layer,
|
|
39
|
+
FetchHttpClient.layer,
|
|
40
|
+
Logger.layer([Logger.consolePretty()]),
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const stack = Layer.effect(
|
|
44
|
+
Stack,
|
|
45
|
+
Effect.all([
|
|
46
|
+
Config.string("ALCHEMY_STACK_NAME"),
|
|
47
|
+
Config.string("ALCHEMY_STAGE")
|
|
48
|
+
]).pipe(
|
|
49
|
+
Effect.map(([name, stage]) => ({
|
|
50
|
+
name,
|
|
51
|
+
stage,
|
|
52
|
+
bindings: {},
|
|
53
|
+
resources: {}
|
|
54
|
+
}))
|
|
55
|
+
)
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
// Resolve the bundled program (the runners registered via host.run / serve)
|
|
59
|
+
// and run it with a Bun HTTP server bound to PORT, so the returned { fetch }
|
|
60
|
+
// handler is actually served and host.run loops stay alive.
|
|
61
|
+
const program = tag.pipe(
|
|
62
|
+
Effect.flatMap((service) => service.RuntimeContext.exports),
|
|
63
|
+
Effect.flatMap((exports) => exports.program),
|
|
64
|
+
Effect.provide(
|
|
65
|
+
layer.pipe(
|
|
66
|
+
Layer.provideMerge(stack),
|
|
67
|
+
Layer.provideMerge(BunHttpServer()),
|
|
68
|
+
Layer.provideMerge(platform),
|
|
69
|
+
Layer.provideMerge(
|
|
70
|
+
Layer.succeed(
|
|
71
|
+
ConfigProvider.ConfigProvider,
|
|
72
|
+
reifyBoundConfigProvider(ConfigProvider.fromEnv(), process.env)
|
|
73
|
+
)
|
|
74
|
+
),
|
|
75
|
+
)
|
|
76
|
+
),
|
|
77
|
+
Effect.scoped
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
console.log("Docker service bootstrap starting...");
|
|
81
|
+
await Effect.runPromise(program).catch((err) => {
|
|
82
|
+
console.error("Docker service bootstrap failed:", err);
|
|
83
|
+
process.exit(1);
|
|
84
|
+
});
|
|
85
|
+
`;
|
|
86
|
+
/**
|
|
87
|
+
* Init-time constructor for the service-image resolver. Resolves the services
|
|
88
|
+
* that are only available at provider-layer construction (Docker, the
|
|
89
|
+
* `.alchemy` directory, the rolldown virtual-entry plugin) and returns
|
|
90
|
+
* `resolve` (build the image if its content hash isn't present in the target
|
|
91
|
+
* engine) and `hash` (content hash only, for `diff`).
|
|
92
|
+
*/
|
|
93
|
+
export const makeServiceImage = Effect.gen(function* () {
|
|
94
|
+
const docker = yield* Docker;
|
|
95
|
+
const { dotAlchemy } = yield* AlchemyContext;
|
|
96
|
+
const virtualEntryPlugin = yield* Bundle.virtualEntryPlugin;
|
|
97
|
+
/** Bundle the Effect program behind a `main` source. */
|
|
98
|
+
const bundleProgram = Effect.fn(function* (options) {
|
|
99
|
+
const { source } = options;
|
|
100
|
+
const realMain = yield* resolveMainPath(source.main);
|
|
101
|
+
const cwd = yield* findCwdForBundle(realMain);
|
|
102
|
+
const bootstrap = makeServiceBunBootstrap(source.handler ?? "default");
|
|
103
|
+
const buildBundle = Effect.fn(function* (entry, plugins) {
|
|
104
|
+
return yield* Bundle.build({
|
|
105
|
+
...source.build?.input,
|
|
106
|
+
input: entry,
|
|
107
|
+
cwd,
|
|
108
|
+
platform: "node",
|
|
109
|
+
// The container runs on `bun`; keep `bun`/`bun:*` external (the
|
|
110
|
+
// runtime provides them) and resolve the `bun` export condition
|
|
111
|
+
// so `@effect/platform-bun` picks its Bun implementations.
|
|
112
|
+
external: [
|
|
113
|
+
"bun",
|
|
114
|
+
"bun:*",
|
|
115
|
+
...(source.build?.input?.external ?? []),
|
|
116
|
+
],
|
|
117
|
+
resolve: {
|
|
118
|
+
conditionNames: ["bun", "import", "module", "default"],
|
|
119
|
+
...source.build?.input?.resolve,
|
|
120
|
+
},
|
|
121
|
+
plugins: [source.build?.input?.plugins, plugins],
|
|
122
|
+
}, {
|
|
123
|
+
...source.build?.output,
|
|
124
|
+
format: "esm",
|
|
125
|
+
sourcemap: source.build?.output?.sourcemap ?? false,
|
|
126
|
+
minify: source.build?.output?.minify ?? false,
|
|
127
|
+
entryFileNames: "index.mjs",
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
const bundleOutput = options.isExternal
|
|
131
|
+
? yield* buildBundle(realMain)
|
|
132
|
+
: yield* buildBundle(realMain, virtualEntryPlugin(bootstrap));
|
|
133
|
+
// Return every emitted file (entry + shared chunks). Dynamic imports in
|
|
134
|
+
// the Bun HTTP server split into chunks; dropping any of them crashes the
|
|
135
|
+
// container with `Cannot find module './chunk-XXX.js'`.
|
|
136
|
+
const files = bundleOutput.files.map((file) => ({
|
|
137
|
+
path: file.path,
|
|
138
|
+
content: typeof file.content === "string"
|
|
139
|
+
? new TextEncoder().encode(file.content)
|
|
140
|
+
: file.content,
|
|
141
|
+
}));
|
|
142
|
+
return { files, hash: bundleOutput.hash };
|
|
143
|
+
});
|
|
144
|
+
/**
|
|
145
|
+
* Generated Dockerfile for a bundled `main` program. The environment
|
|
146
|
+
* preamble is the `image` ref or the default bun base (`oven/bun` is
|
|
147
|
+
* Docker-Hub only).
|
|
148
|
+
*/
|
|
149
|
+
const generateDockerfile = (source) => {
|
|
150
|
+
const lines = [
|
|
151
|
+
`FROM ${source.image ?? "oven/bun:1"}`,
|
|
152
|
+
`WORKDIR /app`,
|
|
153
|
+
`COPY index.mjs /app/index.mjs`,
|
|
154
|
+
// Copy any additional rolldown chunks (`chunk-XXX.js`, …). Non-trivial
|
|
155
|
+
// bundles always emit at least one; minimal bundles emit none and the
|
|
156
|
+
// COPY no-ops.
|
|
157
|
+
`COPY *.js /app/`,
|
|
158
|
+
];
|
|
159
|
+
if (source.port !== undefined) {
|
|
160
|
+
lines.push(`ENV PORT=${String(source.port)}`, `EXPOSE ${String(source.port)}`);
|
|
161
|
+
}
|
|
162
|
+
lines.push(`ENTRYPOINT ["bun", "/app/index.mjs"]`);
|
|
163
|
+
return `${lines.join("\n")}\n`;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Bundle a `main` source and compute its content-addressed code hash. The
|
|
167
|
+
* hash covers the full image identity — the bundle output (bootstrap entry
|
|
168
|
+
* included, so bootstrap-template changes invalidate it) and the generated
|
|
169
|
+
* Dockerfile — so `diff` and `resolve` always agree.
|
|
170
|
+
*/
|
|
171
|
+
const computeCodeHash = Effect.fn(function* (options) {
|
|
172
|
+
const bundled = yield* bundleProgram(options);
|
|
173
|
+
const dockerfile = generateDockerfile(options.source);
|
|
174
|
+
const codeHash = (yield* sha256Object({
|
|
175
|
+
bundleHash: bundled.hash,
|
|
176
|
+
dockerfile,
|
|
177
|
+
})).slice(0, 16);
|
|
178
|
+
return { bundled, dockerfile, codeHash };
|
|
179
|
+
});
|
|
180
|
+
/** Observe a locally-present tag in the target engine. Missing → undefined. */
|
|
181
|
+
const imageExists = (imageRef, context) => docker.image.inspect(imageRef, context).pipe(Effect.map(() => true), Effect.catchReason("PlatformError", "NotFound", () => Effect.succeed(false)));
|
|
182
|
+
/**
|
|
183
|
+
* Resolve the image for a bundled service: compute the content-addressed
|
|
184
|
+
* tag, then build only when that exact tag is not already present in the
|
|
185
|
+
* target Docker context (crash-safe convergence).
|
|
186
|
+
*/
|
|
187
|
+
const resolve = Effect.fn(function* (options) {
|
|
188
|
+
const { id, source, session } = options;
|
|
189
|
+
yield* session.note(`Bundling ${id} program...`);
|
|
190
|
+
const { bundled, dockerfile, codeHash } = yield* computeCodeHash({
|
|
191
|
+
source,
|
|
192
|
+
isExternal: options.isExternal,
|
|
193
|
+
});
|
|
194
|
+
const imageRef = `${options.name}:${codeHash}`;
|
|
195
|
+
if (yield* imageExists(imageRef, options.context)) {
|
|
196
|
+
return { imageRef, codeHash };
|
|
197
|
+
}
|
|
198
|
+
const realMain = yield* resolveMainPath(source.main);
|
|
199
|
+
const contextDir = yield* getStableContextDir(realMain, dotAlchemy, `${id}-image`);
|
|
200
|
+
yield* docker.materialize({
|
|
201
|
+
context: contextDir,
|
|
202
|
+
dockerfile,
|
|
203
|
+
// Entry chunk becomes `index.mjs`; all other chunks keep their emitted
|
|
204
|
+
// `*.js` names so the entry's relative imports resolve.
|
|
205
|
+
files: bundled.files.map((file, index) => ({
|
|
206
|
+
path: index === 0 ? "index.mjs" : file.path,
|
|
207
|
+
content: file.content,
|
|
208
|
+
})),
|
|
209
|
+
});
|
|
210
|
+
yield* session.note(`Building container image ${imageRef}...`);
|
|
211
|
+
yield* docker.image.build({
|
|
212
|
+
context: contextDir,
|
|
213
|
+
tag: imageRef,
|
|
214
|
+
engineContext: options.context,
|
|
215
|
+
});
|
|
216
|
+
yield* session.note(`Built ${imageRef}`);
|
|
217
|
+
return { imageRef, codeHash };
|
|
218
|
+
});
|
|
219
|
+
/**
|
|
220
|
+
* Content hash without building the image. Runs the bundler (bootstrap
|
|
221
|
+
* entry included) so the hash reflects the exact image `resolve` would
|
|
222
|
+
* build — bootstrap-template changes and user-code edits both surface as
|
|
223
|
+
* drift. The provider calls this from `diff` and compares against
|
|
224
|
+
* `output.code.hash`.
|
|
225
|
+
*/
|
|
226
|
+
const hash = Effect.fn(function* (options) {
|
|
227
|
+
const { codeHash } = yield* computeCodeHash(options);
|
|
228
|
+
return codeHash;
|
|
229
|
+
});
|
|
230
|
+
return { resolve, hash };
|
|
231
|
+
});
|
|
232
|
+
//# sourceMappingURL=ServiceImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceImage.js","sourceRoot":"","sources":["../../src/Docker/ServiceImage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as Provider from "../Provider.ts";
|
|
2
|
+
import { Resource } from "../Resource.ts";
|
|
3
|
+
import { Docker } from "./Docker.ts";
|
|
4
|
+
import type { Providers } from "./Providers.ts";
|
|
5
|
+
export interface SwarmProps {
|
|
6
|
+
/** Docker context name or context resource of the engine to initialize. */
|
|
7
|
+
context?: Docker.ContextRef;
|
|
8
|
+
/**
|
|
9
|
+
* Address advertised to other swarm members, e.g. `"10.0.0.1"` or
|
|
10
|
+
* `"eth0"`. Required by Docker when the host has several network
|
|
11
|
+
* interfaces. Applied only when the swarm is first initialized.
|
|
12
|
+
*/
|
|
13
|
+
advertiseAddr?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Listen address for swarm traffic, e.g. `"0.0.0.0:2377"`. Applied only
|
|
16
|
+
* when the swarm is first initialized.
|
|
17
|
+
*/
|
|
18
|
+
listenAddr?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Address pools for global-scope (overlay) networks, e.g.
|
|
21
|
+
* `["10.20.0.0/16"]`. Applied only when the swarm is first initialized.
|
|
22
|
+
*/
|
|
23
|
+
defaultAddrPool?: string[];
|
|
24
|
+
/**
|
|
25
|
+
* CIDR mask length for each subnet carved from `defaultAddrPool`.
|
|
26
|
+
* Applied only when the swarm is first initialized.
|
|
27
|
+
*
|
|
28
|
+
* @default 24
|
|
29
|
+
*/
|
|
30
|
+
subnetSize?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface Swarm extends Resource<"Docker.Swarm", SwarmProps, {
|
|
33
|
+
/** Swarm cluster id. */
|
|
34
|
+
id: string;
|
|
35
|
+
/** This node's id in the swarm (a manager). */
|
|
36
|
+
nodeId: string;
|
|
37
|
+
/** Docker context the swarm was initialized on. */
|
|
38
|
+
context?: string;
|
|
39
|
+
/** Number of manager nodes. */
|
|
40
|
+
managers: number;
|
|
41
|
+
/** Number of nodes in the swarm. */
|
|
42
|
+
nodes: number;
|
|
43
|
+
}, never, Providers> {
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Swarm mode on a Docker engine — an idempotent `docker swarm init`.
|
|
47
|
+
*
|
|
48
|
+
* Turns the engine behind the given `context` (or the local engine) into a
|
|
49
|
+
* single-node swarm: the node becomes a manager that can run `Docker.Service`
|
|
50
|
+
* workloads. Regular (non-swarm) docker usage of the engine is unaffected.
|
|
51
|
+
*
|
|
52
|
+
* Pass the swarm as the `context` of a `Docker.Service` or overlay
|
|
53
|
+
* `Docker.Network`: the workload then deploys after the swarm exists and
|
|
54
|
+
* inherits its Docker context.
|
|
55
|
+
*
|
|
56
|
+
* An engine that is already in swarm mode is treated as foreign — adopt it
|
|
57
|
+
* with `adopt(true)` (or `--adopt`) to manage it. Destroying the resource
|
|
58
|
+
* dissolves the node's swarm membership (`docker swarm leave --force`),
|
|
59
|
+
* which stops every service running on it — services managed by the same
|
|
60
|
+
* stack are destroyed first via their dependency edges.
|
|
61
|
+
*
|
|
62
|
+
* Growing the cluster beyond one node is host-level setup: run
|
|
63
|
+
* `docker swarm join --token <token> <manager-ip>:2377` on each additional
|
|
64
|
+
* machine (`docker swarm join-token worker` on the manager prints the
|
|
65
|
+
* command). Alchemy manages the swarm's workloads through the manager.
|
|
66
|
+
* @resource
|
|
67
|
+
* @section Creating a Swarm
|
|
68
|
+
* @example Local single-node swarm
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const swarm = yield* Docker.Swarm("swarm");
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @example Remote engine over SSH
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const vps = yield* Docker.Context("vps", {
|
|
76
|
+
* docker: "host=ssh://deploy@example.com",
|
|
77
|
+
* });
|
|
78
|
+
* const swarm = yield* Docker.Swarm("swarm", {
|
|
79
|
+
* context: vps,
|
|
80
|
+
* advertiseAddr: "10.0.0.1",
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* @section Using an Existing Swarm
|
|
85
|
+
* @example Reference without owning
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // Services don't require a Swarm resource — point them at an engine that
|
|
88
|
+
* // is already a manager and the swarm's lifecycle stays external: destroy
|
|
89
|
+
* // removes the services, never the swarm.
|
|
90
|
+
* const web = yield* Docker.Service("web", {
|
|
91
|
+
* context: vps,
|
|
92
|
+
* image: "nginx:alpine",
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @example Adopt an already-initialized engine
|
|
97
|
+
* ```typescript
|
|
98
|
+
* // Adoption makes the swarm part of the stack — destroy then dissolves
|
|
99
|
+
* // the node's membership.
|
|
100
|
+
* const swarm = yield* Docker.Swarm("swarm").pipe(adopt(true));
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @section Deploying into the Swarm
|
|
104
|
+
* @example Service ordered after the swarm
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const swarm = yield* Docker.Swarm("swarm");
|
|
107
|
+
* const web = yield* Docker.Service("web", {
|
|
108
|
+
* context: swarm,
|
|
109
|
+
* image: "nginx:alpine",
|
|
110
|
+
* replicas: 2,
|
|
111
|
+
* ports: [{ external: 8080, internal: 80 }],
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare const Swarm: import("../Resource.ts").ResourceClass<Swarm>;
|
|
116
|
+
export declare const SwarmProvider: () => import("effect/Layer").Layer<Provider.Provider<Swarm>, never, Docker>;
|
|
117
|
+
//# sourceMappingURL=Swarm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Swarm.d.ts","sourceRoot":"","sources":["../../src/Docker/Swarm.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,KAAM,SAAQ,QAAQ,CACrC,cAAc,EACd,UAAU,EACV;IACE,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf,EACD,KAAK,EACL,SAAS,CACV;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,eAAO,MAAM,KAAK,+CAAkC,CAAC;AAErD,eAAO,MAAM,aAAa,6EAuFvB,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import { Unowned } from "../AdoptPolicy.js";
|
|
3
|
+
import { isResolved } from "../Diff.js";
|
|
4
|
+
import * as Provider from "../Provider.js";
|
|
5
|
+
import { Resource } from "../Resource.js";
|
|
6
|
+
import { Docker, dockerContextName } from "./Docker.js";
|
|
7
|
+
/**
|
|
8
|
+
* Swarm mode on a Docker engine — an idempotent `docker swarm init`.
|
|
9
|
+
*
|
|
10
|
+
* Turns the engine behind the given `context` (or the local engine) into a
|
|
11
|
+
* single-node swarm: the node becomes a manager that can run `Docker.Service`
|
|
12
|
+
* workloads. Regular (non-swarm) docker usage of the engine is unaffected.
|
|
13
|
+
*
|
|
14
|
+
* Pass the swarm as the `context` of a `Docker.Service` or overlay
|
|
15
|
+
* `Docker.Network`: the workload then deploys after the swarm exists and
|
|
16
|
+
* inherits its Docker context.
|
|
17
|
+
*
|
|
18
|
+
* An engine that is already in swarm mode is treated as foreign — adopt it
|
|
19
|
+
* with `adopt(true)` (or `--adopt`) to manage it. Destroying the resource
|
|
20
|
+
* dissolves the node's swarm membership (`docker swarm leave --force`),
|
|
21
|
+
* which stops every service running on it — services managed by the same
|
|
22
|
+
* stack are destroyed first via their dependency edges.
|
|
23
|
+
*
|
|
24
|
+
* Growing the cluster beyond one node is host-level setup: run
|
|
25
|
+
* `docker swarm join --token <token> <manager-ip>:2377` on each additional
|
|
26
|
+
* machine (`docker swarm join-token worker` on the manager prints the
|
|
27
|
+
* command). Alchemy manages the swarm's workloads through the manager.
|
|
28
|
+
* @resource
|
|
29
|
+
* @section Creating a Swarm
|
|
30
|
+
* @example Local single-node swarm
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const swarm = yield* Docker.Swarm("swarm");
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example Remote engine over SSH
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const vps = yield* Docker.Context("vps", {
|
|
38
|
+
* docker: "host=ssh://deploy@example.com",
|
|
39
|
+
* });
|
|
40
|
+
* const swarm = yield* Docker.Swarm("swarm", {
|
|
41
|
+
* context: vps,
|
|
42
|
+
* advertiseAddr: "10.0.0.1",
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @section Using an Existing Swarm
|
|
47
|
+
* @example Reference without owning
|
|
48
|
+
* ```typescript
|
|
49
|
+
* // Services don't require a Swarm resource — point them at an engine that
|
|
50
|
+
* // is already a manager and the swarm's lifecycle stays external: destroy
|
|
51
|
+
* // removes the services, never the swarm.
|
|
52
|
+
* const web = yield* Docker.Service("web", {
|
|
53
|
+
* context: vps,
|
|
54
|
+
* image: "nginx:alpine",
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @example Adopt an already-initialized engine
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Adoption makes the swarm part of the stack — destroy then dissolves
|
|
61
|
+
* // the node's membership.
|
|
62
|
+
* const swarm = yield* Docker.Swarm("swarm").pipe(adopt(true));
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @section Deploying into the Swarm
|
|
66
|
+
* @example Service ordered after the swarm
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const swarm = yield* Docker.Swarm("swarm");
|
|
69
|
+
* const web = yield* Docker.Service("web", {
|
|
70
|
+
* context: swarm,
|
|
71
|
+
* image: "nginx:alpine",
|
|
72
|
+
* replicas: 2,
|
|
73
|
+
* ports: [{ external: 8080, internal: 80 }],
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export const Swarm = Resource("Docker.Swarm");
|
|
78
|
+
export const SwarmProvider = () => Provider.effect(Swarm, Effect.gen(function* () {
|
|
79
|
+
const docker = yield* Docker;
|
|
80
|
+
/** Active-manager info, or undefined when the engine isn't one. */
|
|
81
|
+
const observe = Effect.fn(function* (context) {
|
|
82
|
+
const info = yield* docker.swarm.info(context);
|
|
83
|
+
if (info.LocalNodeState !== "active" ||
|
|
84
|
+
!info.ControlAvailable ||
|
|
85
|
+
!info.Cluster?.ID) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
return info;
|
|
89
|
+
});
|
|
90
|
+
return Swarm.Provider.of({
|
|
91
|
+
list: () => Effect.succeed([]),
|
|
92
|
+
read: Effect.fn(function* ({ olds, output }) {
|
|
93
|
+
const context = dockerContextName(olds?.context);
|
|
94
|
+
const info = yield* observe(context);
|
|
95
|
+
if (!info)
|
|
96
|
+
return undefined;
|
|
97
|
+
const attrs = toSwarmAttributes(info, context);
|
|
98
|
+
if (output)
|
|
99
|
+
return attrs;
|
|
100
|
+
// A swarm carries no labels to brand, so an already-initialized
|
|
101
|
+
// engine can never be proven ours — adoption is gated behind
|
|
102
|
+
// `--adopt` / `adopt(true)`.
|
|
103
|
+
return Unowned(attrs);
|
|
104
|
+
}),
|
|
105
|
+
diff: Effect.fn(function* ({ news, olds }) {
|
|
106
|
+
if (!isResolved(news))
|
|
107
|
+
return undefined;
|
|
108
|
+
if (dockerContextName(olds?.context) !==
|
|
109
|
+
dockerContextName(news?.context)) {
|
|
110
|
+
return { action: "replace", deleteFirst: true };
|
|
111
|
+
}
|
|
112
|
+
// The remaining props only apply at `swarm init`; changing them on
|
|
113
|
+
// a live swarm is a no-op rather than a destructive re-init.
|
|
114
|
+
return { action: "noop" };
|
|
115
|
+
}),
|
|
116
|
+
reconcile: Effect.fn(function* ({ news }) {
|
|
117
|
+
const context = dockerContextName(news?.context);
|
|
118
|
+
const existing = yield* observe(context);
|
|
119
|
+
if (existing)
|
|
120
|
+
return toSwarmAttributes(existing, context);
|
|
121
|
+
yield* docker.swarm
|
|
122
|
+
.init({
|
|
123
|
+
context,
|
|
124
|
+
"advertise-addr": news?.advertiseAddr,
|
|
125
|
+
"listen-addr": news?.listenAddr,
|
|
126
|
+
"default-addr-pool": news?.defaultAddrPool,
|
|
127
|
+
"default-addr-pool-mask-length": news?.subnetSize,
|
|
128
|
+
})
|
|
129
|
+
.pipe(
|
|
130
|
+
// A concurrent init (or an interrupted prior reconcile) already
|
|
131
|
+
// made this node a swarm member — converge on the observation.
|
|
132
|
+
Effect.catchIf((error) => /already part of a swarm/i.test(String(error)), () => Effect.void));
|
|
133
|
+
const info = yield* observe(context);
|
|
134
|
+
if (!info) {
|
|
135
|
+
return yield* Effect.die(new Error("docker swarm init succeeded but the engine did not become an active swarm manager"));
|
|
136
|
+
}
|
|
137
|
+
return toSwarmAttributes(info, context);
|
|
138
|
+
}),
|
|
139
|
+
delete: Effect.fn(({ output }) => docker.swarm.leave(true, output.context).pipe(Effect.catchIf((error) => /not part of a swarm/i.test(String(error)), () => Effect.void), Effect.asVoid)),
|
|
140
|
+
});
|
|
141
|
+
}));
|
|
142
|
+
const toSwarmAttributes = (info, context) => ({
|
|
143
|
+
id: info.Cluster.ID,
|
|
144
|
+
nodeId: info.NodeID,
|
|
145
|
+
context,
|
|
146
|
+
managers: info.Managers ?? 1,
|
|
147
|
+
nodes: info.Nodes ?? 1,
|
|
148
|
+
});
|
|
149
|
+
//# sourceMappingURL=Swarm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Swarm.js","sourceRoot":"","sources":["../../src/Docker/Swarm.ts"],"names":[],"mappings":"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"}
|
package/lib/Docker/Volume.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface VolumeProps {
|
|
|
21
21
|
driverOpts?: Record<string, string>;
|
|
22
22
|
/** Custom metadata labels. */
|
|
23
23
|
labels?: Record<string, string>;
|
|
24
|
+
/** Docker context name or context resource. */
|
|
25
|
+
context?: Docker.ContextRef;
|
|
24
26
|
}
|
|
25
27
|
export interface Volume extends Resource<"Docker.Volume", VolumeProps, {
|
|
26
28
|
/** Docker volume name. */
|
|
@@ -74,6 +76,15 @@ export interface Volume extends Resource<"Docker.Volume", VolumeProps, {
|
|
|
74
76
|
* },
|
|
75
77
|
* });
|
|
76
78
|
* ```
|
|
79
|
+
*
|
|
80
|
+
* @section Docker Context
|
|
81
|
+
* @example Create a volume in a named Docker context
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const data = yield* Docker.Volume("data", {
|
|
84
|
+
* name: "app-data",
|
|
85
|
+
* context: "remote-build",
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
77
88
|
*/
|
|
78
89
|
export declare const Volume: import("../Resource.ts").ResourceClass<Volume>;
|
|
79
90
|
export declare const VolumeProvider: () => import("effect/Layer").Layer<Provider.Provider<Volume>, never, Docker | import("../Stack.ts").Stack | import("../Stage.ts").Stage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Volume.d.ts","sourceRoot":"","sources":["../../src/Docker/Volume.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Volume.d.ts","sourceRoot":"","sources":["../../src/Docker/Volume.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,OAAO,EAAE,MAAM,EAAyC,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ,CACtC,eAAe,EACf,WAAW,EACX;IACE,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,SAAS,CACV;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,MAAM,gDAAoC,CAAC;AAExD,eAAO,MAAM,cAAc,0IAiFxB,CAAC;AAcJ,eAAO,MAAM,kBAAkB,SACvB,MAAM,CAAC,MAAM,KAClB,MAAM,CAAC,YAAY,CAQpB,CAAC"}
|