alchemy 2.0.0-beta.65 → 2.0.0-beta.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exec.js +578 -224
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/common.js +8 -1
- package/lib/AWS/ApiGateway/common.js.map +1 -1
- package/lib/AWS/Bedrock/LanguageModel.d.ts +208 -0
- package/lib/AWS/Bedrock/LanguageModel.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModel.js +508 -0
- package/lib/AWS/Bedrock/LanguageModel.js.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts +10 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js +26 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js.map +1 -0
- package/lib/AWS/Bedrock/index.d.ts +2 -0
- package/lib/AWS/Bedrock/index.d.ts.map +1 -1
- package/lib/AWS/Bedrock/index.js +2 -0
- package/lib/AWS/Bedrock/index.js.map +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts +24 -0
- package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Distribution.js +89 -4
- package/lib/AWS/CloudFront/Distribution.js.map +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/BindingHttp.d.ts +3 -3
- package/lib/AWS/CostExplorer/BindingHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.d.ts +5 -3
- package/lib/AWS/CostExplorer/common.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.js +16 -1
- package/lib/AWS/CostExplorer/common.js.map +1 -1
- package/lib/AWS/DataSync/Task.d.ts.map +1 -1
- package/lib/AWS/DataSync/Task.js +16 -2
- package/lib/AWS/DataSync/Task.js.map +1 -1
- package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
- package/lib/AWS/EC2/Vpc.js +15 -2
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +10 -2
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Image.d.ts +132 -13
- package/lib/AWS/ECR/Image.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.js +10 -2
- package/lib/AWS/ECR/ImageSource.js.map +1 -1
- package/lib/AWS/ECR/Repository.d.ts +2 -0
- package/lib/AWS/ECR/Repository.d.ts.map +1 -1
- package/lib/AWS/ECR/Repository.js +28 -3
- package/lib/AWS/ECR/Repository.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts +27 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +184 -22
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +32 -8
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +62 -29
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/EKS/Deployment.d.ts.map +1 -1
- package/lib/AWS/EKS/Deployment.js +10 -2
- package/lib/AWS/EKS/Deployment.js.map +1 -1
- package/lib/AWS/EKS/Job.d.ts.map +1 -1
- package/lib/AWS/EKS/Job.js +10 -2
- package/lib/AWS/EKS/Job.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +15 -0
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +67 -29
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
- package/lib/AWS/Lambda/HttpServer.js +7 -1
- package/lib/AWS/Lambda/HttpServer.js.map +1 -1
- package/lib/AWS/Lambda/LayerVersion.d.ts +176 -0
- package/lib/AWS/Lambda/LayerVersion.d.ts.map +1 -0
- package/lib/AWS/Lambda/LayerVersion.js +288 -0
- package/lib/AWS/Lambda/LayerVersion.js.map +1 -0
- package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmBundle.js +10 -2
- package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
- package/lib/AWS/Lambda/index.d.ts +1 -0
- package/lib/AWS/Lambda/index.d.ts.map +1 -1
- package/lib/AWS/Lambda/index.js +1 -0
- package/lib/AWS/Lambda/index.js.map +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +6 -1
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts +40 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js +58 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts +67 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.js +92 -0
- package/lib/AWS/SES/ReceiptFilter.js.map +1 -0
- package/lib/AWS/SES/ReceiptRule.d.ts +133 -0
- package/lib/AWS/SES/ReceiptRule.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRule.js +178 -0
- package/lib/AWS/SES/ReceiptRule.js.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts +55 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.js +112 -0
- package/lib/AWS/SES/ReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/SendBounce.d.ts +37 -0
- package/lib/AWS/SES/SendBounce.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounce.js +3 -0
- package/lib/AWS/SES/SendBounce.js.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts +4 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.js +10 -0
- package/lib/AWS/SES/SendBounceHttp.js.map +1 -0
- package/lib/AWS/SES/index.d.ts +6 -0
- package/lib/AWS/SES/index.d.ts.map +1 -1
- package/lib/AWS/SES/index.js +6 -0
- package/lib/AWS/SES/index.js.map +1 -1
- package/lib/AWS/StateStore/State.d.ts +11 -0
- package/lib/AWS/StateStore/State.d.ts.map +1 -1
- package/lib/AWS/StateStore/State.js +117 -38
- package/lib/AWS/StateStore/State.js.map +1 -1
- package/lib/Apply.d.ts +37 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +270 -194
- package/lib/Apply.js.map +1 -1
- package/lib/Axiom/Telemetry.d.ts +66 -0
- package/lib/Axiom/Telemetry.d.ts.map +1 -0
- package/lib/Axiom/Telemetry.js +69 -0
- package/lib/Axiom/Telemetry.js.map +1 -0
- package/lib/Axiom/index.d.ts +1 -0
- package/lib/Axiom/index.d.ts.map +1 -1
- package/lib/Axiom/index.js +1 -0
- package/lib/Axiom/index.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +1 -1
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js +14 -6
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.js +10 -5
- package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -1
- package/lib/Bundle/PurePlugin.d.ts +1 -1
- package/lib/Bundle/PurePlugin.d.ts.map +1 -1
- package/lib/Bundle/PurePlugin.js +15 -7
- package/lib/Bundle/PurePlugin.js.map +1 -1
- package/lib/Cli/checkVersion.d.ts +11 -5
- package/lib/Cli/checkVersion.d.ts.map +1 -1
- package/lib/Cli/checkVersion.js +73 -12
- package/lib/Cli/checkVersion.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +2 -1
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +1 -1
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +3 -11
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +3 -1
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +3 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +5 -4
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cloudflare/AI/Search.d.ts +4 -15
- package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Search.js +4 -6
- package/lib/Cloudflare/AI/Search.js.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
- package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.js +7 -26
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Containers/Container.d.ts +81 -3
- package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/Container.js +70 -0
- package/lib/Cloudflare/Containers/Container.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js +4 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +10 -2
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +43 -0
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +21 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +52 -9
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
- package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
- package/lib/Cloudflare/D1/Database.d.ts +18 -1
- package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/Database.js +134 -2
- package/lib/Cloudflare/D1/Database.js.map +1 -1
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
- package/lib/Cloudflare/DNS/Record.d.ts +3 -1
- package/lib/Cloudflare/DNS/Record.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/Record.js +23 -4
- package/lib/Cloudflare/DNS/Record.js.map +1 -1
- package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Address.js +15 -1
- package/lib/Cloudflare/Email/Address.js.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.js +1 -0
- package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.js +1 -0
- package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
- package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
- package/lib/Cloudflare/Flagship/App.js +8 -3
- package/lib/Cloudflare/Flagship/App.js.map +1 -1
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
- package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
- package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
- package/lib/Cloudflare/KV/Namespace.js +45 -1
- package/lib/Cloudflare/KV/Namespace.js.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
- package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/LocalGateway.d.ts +25 -0
- package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
- package/lib/Cloudflare/LocalGateway.js +70 -0
- package/lib/Cloudflare/LocalGateway.js.map +1 -0
- package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +16 -1
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.js +18 -6
- package/lib/Cloudflare/Logs.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +6 -2
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +51 -3
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +7 -17
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
- package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
- package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
- package/lib/Cloudflare/Queues/QueueShim.js +177 -0
- package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
- package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
- package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +53 -1
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
- package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.js +14 -3
- package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
- package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.js +19 -6
- package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
- package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
- package/lib/Cloudflare/Rum/Site.js +10 -2
- package/lib/Cloudflare/Rum/Site.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +31 -2
- package/lib/Cloudflare/StateStore/Api.js +1 -1
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
- package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.js +108 -24
- package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +33 -19
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +33 -19
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +26 -7
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +22 -0
- package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +483 -298
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +612 -13
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +222 -1
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +4 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +1765 -236
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +7 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +14 -4
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Command/Build.d.ts +2 -2
- package/lib/Command/Build.d.ts.map +1 -1
- package/lib/Command/Build.js +4 -7
- package/lib/Command/Build.js.map +1 -1
- package/lib/Command/Command.d.ts +34 -4
- package/lib/Command/Command.d.ts.map +1 -1
- package/lib/Command/Command.js +125 -30
- package/lib/Command/Command.js.map +1 -1
- package/lib/Command/Dev.d.ts +2 -2
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +51 -73
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Command/Exec.d.ts +11 -2
- package/lib/Command/Exec.d.ts.map +1 -1
- package/lib/Command/Exec.js +9 -0
- package/lib/Command/Exec.js.map +1 -1
- package/lib/Command/Memo.d.ts +9 -1
- package/lib/Command/Memo.d.ts.map +1 -1
- package/lib/Command/Memo.js +14 -2
- package/lib/Command/Memo.js.map +1 -1
- package/lib/Command/Providers.d.ts +1 -1
- package/lib/Command/Providers.d.ts.map +1 -1
- package/lib/Command/Redaction.d.ts +10 -0
- package/lib/Command/Redaction.d.ts.map +1 -0
- package/lib/Command/Redaction.js +119 -0
- package/lib/Command/Redaction.js.map +1 -0
- package/lib/Deploy.d.ts +2 -1
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Destroy.d.ts +2 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +1 -9
- package/lib/Destroy.js.map +1 -1
- package/lib/Docker/Container.d.ts +15 -1
- package/lib/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +34 -11
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Docker/Context.d.ts +84 -0
- package/lib/Docker/Context.d.ts.map +1 -0
- package/lib/Docker/Context.js +145 -0
- package/lib/Docker/Context.js.map +1 -0
- package/lib/Docker/Docker.d.ts +190 -14
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js +149 -28
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Docker/Image.d.ts +12 -0
- package/lib/Docker/Image.d.ts.map +1 -1
- package/lib/Docker/Image.js +24 -7
- package/lib/Docker/Image.js.map +1 -1
- package/lib/Docker/Network.d.ts +7 -0
- package/lib/Docker/Network.d.ts.map +1 -1
- package/lib/Docker/Network.js +16 -7
- package/lib/Docker/Network.js.map +1 -1
- package/lib/Docker/Providers.d.ts +1 -1
- package/lib/Docker/Providers.d.ts.map +1 -1
- package/lib/Docker/Providers.js +13 -1
- package/lib/Docker/Providers.js.map +1 -1
- package/lib/Docker/RemoteImage.d.ts +12 -0
- package/lib/Docker/RemoteImage.d.ts.map +1 -1
- package/lib/Docker/RemoteImage.js +22 -8
- package/lib/Docker/RemoteImage.js.map +1 -1
- package/lib/Docker/Service.d.ts +445 -0
- package/lib/Docker/Service.d.ts.map +1 -0
- package/lib/Docker/Service.js +578 -0
- package/lib/Docker/Service.js.map +1 -0
- package/lib/Docker/ServiceImage.d.ts +78 -0
- package/lib/Docker/ServiceImage.d.ts.map +1 -0
- package/lib/Docker/ServiceImage.js +232 -0
- package/lib/Docker/ServiceImage.js.map +1 -0
- package/lib/Docker/Swarm.d.ts +117 -0
- package/lib/Docker/Swarm.d.ts.map +1 -0
- package/lib/Docker/Swarm.js +149 -0
- package/lib/Docker/Swarm.js.map +1 -0
- package/lib/Docker/Volume.d.ts +11 -0
- package/lib/Docker/Volume.d.ts.map +1 -1
- package/lib/Docker/Volume.js +21 -6
- package/lib/Docker/Volume.js.map +1 -1
- package/lib/Docker/index.d.ts +3 -0
- package/lib/Docker/index.d.ts.map +1 -1
- package/lib/Docker/index.js +3 -0
- package/lib/Docker/index.js.map +1 -1
- package/lib/Http.d.ts +8 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +7 -2
- package/lib/Http.js.map +1 -1
- package/lib/Local/LocalProvider.d.ts +182 -0
- package/lib/Local/LocalProvider.d.ts.map +1 -0
- package/lib/Local/LocalProvider.js +226 -0
- package/lib/Local/LocalProvider.js.map +1 -0
- package/lib/Local/ProviderLayer.d.ts +43 -2
- package/lib/Local/ProviderLayer.d.ts.map +1 -1
- package/lib/Local/ProviderLayer.js +80 -2
- package/lib/Local/ProviderLayer.js.map +1 -1
- package/lib/Local/RpcProvider.d.ts +7 -0
- package/lib/Local/RpcProvider.d.ts.map +1 -1
- package/lib/Local/RpcProvider.js +8 -3
- package/lib/Local/RpcProvider.js.map +1 -1
- package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
- package/lib/Local/RpcProviderProxy.js +3 -0
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Local/RpcServer.d.ts +8 -1
- package/lib/Local/RpcServer.d.ts.map +1 -1
- package/lib/Local/RpcServer.js +4 -1
- package/lib/Local/RpcServer.js.map +1 -1
- package/lib/Plan.d.ts +34 -0
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +127 -40
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +6 -2
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +36 -6
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
- package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +7 -1
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
- package/lib/Planetscale/OAuthClient.js +51 -4
- package/lib/Planetscale/OAuthClient.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
- package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +25 -14
- package/lib/Platform.js.map +1 -1
- package/lib/Prisma/App.d.ts +93 -0
- package/lib/Prisma/App.d.ts.map +1 -0
- package/lib/Prisma/App.js +251 -0
- package/lib/Prisma/App.js.map +1 -0
- package/lib/Prisma/AuthProvider.d.ts +28 -0
- package/lib/Prisma/AuthProvider.d.ts.map +1 -0
- package/lib/Prisma/AuthProvider.js +131 -0
- package/lib/Prisma/AuthProvider.js.map +1 -0
- package/lib/Prisma/Branch.d.ts +96 -0
- package/lib/Prisma/Branch.d.ts.map +1 -0
- package/lib/Prisma/Branch.js +236 -0
- package/lib/Prisma/Branch.js.map +1 -0
- package/lib/Prisma/Client.d.ts +178 -0
- package/lib/Prisma/Client.d.ts.map +1 -0
- package/lib/Prisma/Client.js +562 -0
- package/lib/Prisma/Client.js.map +1 -0
- package/lib/Prisma/Compute.d.ts +585 -0
- package/lib/Prisma/Compute.d.ts.map +1 -0
- package/lib/Prisma/Compute.js +1545 -0
- package/lib/Prisma/Compute.js.map +1 -0
- package/lib/Prisma/ComputeArchive.d.ts +63 -0
- package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
- package/lib/Prisma/ComputeArchive.js +227 -0
- package/lib/Prisma/ComputeArchive.js.map +1 -0
- package/lib/Prisma/ComputeBuild.d.ts +106 -0
- package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
- package/lib/Prisma/ComputeBuild.js +987 -0
- package/lib/Prisma/ComputeBuild.js.map +1 -0
- package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
- package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
- package/lib/Prisma/ComputeLifecycle.js +186 -0
- package/lib/Prisma/ComputeLifecycle.js.map +1 -0
- package/lib/Prisma/Connect.d.ts +122 -0
- package/lib/Prisma/Connect.d.ts.map +1 -0
- package/lib/Prisma/Connect.js +187 -0
- package/lib/Prisma/Connect.js.map +1 -0
- package/lib/Prisma/Connection.d.ts +219 -0
- package/lib/Prisma/Connection.d.ts.map +1 -0
- package/lib/Prisma/Connection.js +360 -0
- package/lib/Prisma/Connection.js.map +1 -0
- package/lib/Prisma/CustomDomain.d.ts +91 -0
- package/lib/Prisma/CustomDomain.d.ts.map +1 -0
- package/lib/Prisma/CustomDomain.js +184 -0
- package/lib/Prisma/CustomDomain.js.map +1 -0
- package/lib/Prisma/Database.d.ts +222 -0
- package/lib/Prisma/Database.d.ts.map +1 -0
- package/lib/Prisma/Database.js +418 -0
- package/lib/Prisma/Database.js.map +1 -0
- package/lib/Prisma/Deployment.d.ts +141 -0
- package/lib/Prisma/Deployment.d.ts.map +1 -0
- package/lib/Prisma/Deployment.js +353 -0
- package/lib/Prisma/Deployment.js.map +1 -0
- package/lib/Prisma/EnvironmentVariable.d.ts +105 -0
- package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
- package/lib/Prisma/EnvironmentVariable.js +229 -0
- package/lib/Prisma/EnvironmentVariable.js.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.js +6 -0
- package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.js +107 -0
- package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
- package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.js +134 -0
- package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
- package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.js +16 -0
- package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.js +8 -0
- package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.js +16 -0
- package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
- package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
- package/lib/Prisma/Internal/EnvName.d.ts +7 -0
- package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
- package/lib/Prisma/Internal/EnvName.js +23 -0
- package/lib/Prisma/Internal/EnvName.js.map +1 -0
- package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
- package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
- package/lib/Prisma/Internal/HttpClient.js +23 -0
- package/lib/Prisma/Internal/HttpClient.js.map +1 -0
- package/lib/Prisma/Operations.d.ts +143 -0
- package/lib/Prisma/Operations.d.ts.map +1 -0
- package/lib/Prisma/Operations.js +75 -0
- package/lib/Prisma/Operations.js.map +1 -0
- package/lib/Prisma/Postgres.d.ts +25 -0
- package/lib/Prisma/Postgres.d.ts.map +1 -0
- package/lib/Prisma/Postgres.js +24 -0
- package/lib/Prisma/Postgres.js.map +1 -0
- package/lib/Prisma/PostgresOrigin.d.ts +31 -0
- package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
- package/lib/Prisma/PostgresOrigin.js +30 -0
- package/lib/Prisma/PostgresOrigin.js.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.js +280 -0
- package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
- package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
- package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
- package/lib/Prisma/PrismaEnvironment.js +50 -0
- package/lib/Prisma/PrismaEnvironment.js.map +1 -0
- package/lib/Prisma/PrismaLogs.d.ts +42 -0
- package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
- package/lib/Prisma/PrismaLogs.js +318 -0
- package/lib/Prisma/PrismaLogs.js.map +1 -0
- package/lib/Prisma/Project.d.ts +123 -0
- package/lib/Prisma/Project.d.ts.map +1 -0
- package/lib/Prisma/Project.js +366 -0
- package/lib/Prisma/Project.js.map +1 -0
- package/lib/Prisma/Providers.d.ts +63 -0
- package/lib/Prisma/Providers.d.ts.map +1 -0
- package/lib/Prisma/Providers.js +306 -0
- package/lib/Prisma/Providers.js.map +1 -0
- package/lib/Prisma/Refs.d.ts +19 -0
- package/lib/Prisma/Refs.d.ts.map +1 -0
- package/lib/Prisma/Refs.js +25 -0
- package/lib/Prisma/Refs.js.map +1 -0
- package/lib/Prisma/SourceRepository.d.ts +127 -0
- package/lib/Prisma/SourceRepository.d.ts.map +1 -0
- package/lib/Prisma/SourceRepository.js +239 -0
- package/lib/Prisma/SourceRepository.js.map +1 -0
- package/lib/Prisma/Types.d.ts +539 -0
- package/lib/Prisma/Types.d.ts.map +1 -0
- package/lib/Prisma/Types.js +13 -0
- package/lib/Prisma/Types.js.map +1 -0
- package/lib/Prisma/index.d.ts +25 -0
- package/lib/Prisma/index.d.ts.map +1 -0
- package/lib/Prisma/index.js +24 -0
- package/lib/Prisma/index.js.map +1 -0
- package/lib/Provider.d.ts +57 -5
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +54 -30
- package/lib/Provider.js.map +1 -1
- package/lib/ProviderMode.d.ts +93 -0
- package/lib/ProviderMode.d.ts.map +1 -0
- package/lib/ProviderMode.js +77 -0
- package/lib/ProviderMode.js.map +1 -0
- package/lib/Resource.d.ts +8 -0
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +31 -0
- package/lib/Resource.js.map +1 -1
- package/lib/RuntimeContext.d.ts +7 -0
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/Server/Process.d.ts +8 -0
- package/lib/Server/Process.d.ts.map +1 -1
- package/lib/Server/Process.js +29 -0
- package/lib/Server/Process.js.map +1 -1
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js +2 -0
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +18 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +8 -2
- package/lib/Sync.js.map +1 -1
- package/lib/Telemetry.d.ts +150 -0
- package/lib/Telemetry.d.ts.map +1 -0
- package/lib/Telemetry.js +512 -0
- package/lib/Telemetry.js.map +1 -0
- package/lib/Test/Alchemy.d.ts.map +1 -1
- package/lib/Test/Alchemy.js +3 -1
- package/lib/Test/Alchemy.js.map +1 -1
- package/lib/Test/Core.d.ts +2 -2
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +1 -8
- package/lib/Test/Core.js.map +1 -1
- package/lib/Util/Clank.d.ts +11 -6
- package/lib/Util/Clank.d.ts.map +1 -1
- package/lib/Util/Clank.js +22 -9
- package/lib/Util/Clank.js.map +1 -1
- package/lib/Util/zip.d.ts +11 -0
- package/lib/Util/zip.d.ts.map +1 -1
- package/lib/Util/zip.js +30 -0
- package/lib/Util/zip.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +46 -13
- package/src/AWS/ApiGateway/common.ts +9 -0
- package/src/AWS/Bedrock/LanguageModel.ts +883 -0
- package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
- package/src/AWS/Bedrock/index.ts +2 -0
- package/src/AWS/CloudFront/Distribution.ts +116 -6
- package/src/AWS/CostExplorer/common.ts +23 -2
- package/src/AWS/DataSync/Task.ts +30 -15
- package/src/AWS/EC2/Vpc.ts +35 -21
- package/src/AWS/EC2/hosted.ts +10 -2
- package/src/AWS/ECR/ImageSource.ts +10 -2
- package/src/AWS/ECR/Repository.ts +39 -4
- package/src/AWS/ECS/Service.ts +322 -22
- package/src/AWS/ECS/Task.ts +82 -32
- package/src/AWS/EKS/Deployment.ts +10 -2
- package/src/AWS/EKS/Job.ts +10 -2
- package/src/AWS/Lambda/Function.ts +101 -43
- package/src/AWS/Lambda/HttpServer.ts +7 -1
- package/src/AWS/Lambda/LayerVersion.ts +490 -0
- package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
- package/src/AWS/Lambda/index.ts +1 -0
- package/src/AWS/Providers.ts +10 -0
- package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
- package/src/AWS/SES/ReceiptFilter.ts +169 -0
- package/src/AWS/SES/ReceiptRule.ts +300 -0
- package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
- package/src/AWS/SES/SendBounce.ts +44 -0
- package/src/AWS/SES/SendBounceHttp.ts +13 -0
- package/src/AWS/SES/index.ts +6 -0
- package/src/AWS/StateStore/State.ts +159 -42
- package/src/Apply.ts +199 -83
- package/src/Axiom/Telemetry.ts +119 -0
- package/src/Axiom/index.ts +1 -0
- package/src/Bundle/Bundle.ts +17 -7
- package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
- package/src/Bundle/PurePlugin.ts +19 -9
- package/src/Cli/checkVersion.ts +102 -16
- package/src/Cli/commands/_shared.ts +2 -0
- package/src/Cli/commands/deploy.ts +3 -14
- package/src/Cli/commands/logs.ts +6 -1
- package/src/Cli/commands/tail.ts +6 -1
- package/src/Cli/main.ts +5 -4
- package/src/Cloudflare/AI/Search.ts +4 -18
- package/src/Cloudflare/AI/SearchInstance.ts +7 -26
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
- package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
- package/src/Cloudflare/Containers/Container.ts +92 -3
- package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
- package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
- package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
- package/src/Cloudflare/Credentials.ts +69 -9
- package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
- package/src/Cloudflare/D1/Database.ts +169 -2
- package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
- package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
- package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
- package/src/Cloudflare/DNS/Record.ts +30 -4
- package/src/Cloudflare/Email/Address.ts +18 -1
- package/src/Cloudflare/Email/SendBinding.ts +1 -0
- package/src/Cloudflare/Email/SendEmail.ts +13 -0
- package/src/Cloudflare/Flagship/App.ts +18 -6
- package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
- package/src/Cloudflare/KV/Namespace.ts +47 -1
- package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
- package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/LocalGateway.ts +86 -0
- package/src/Cloudflare/LocalRuntime.ts +21 -1
- package/src/Cloudflare/Logs.ts +58 -28
- package/src/Cloudflare/Providers.ts +4 -2
- package/src/Cloudflare/Queues/Consumer.ts +70 -2
- package/src/Cloudflare/Queues/Queue.ts +7 -16
- package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
- package/src/Cloudflare/Queues/QueueShim.ts +193 -0
- package/src/Cloudflare/R2/Bucket.ts +55 -1
- package/src/Cloudflare/R2/BucketBinding.ts +17 -3
- package/src/Cloudflare/R2/BucketLocal.ts +25 -8
- package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
- package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
- package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
- package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
- package/src/Cloudflare/Rum/Site.ts +11 -4
- package/src/Cloudflare/StateStore/Api.ts +1 -1
- package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
- package/src/Cloudflare/Website/StaticSite.ts +117 -28
- package/src/Cloudflare/Website/Vite.ts +33 -19
- package/src/Cloudflare/Workers/Compatibility.ts +27 -7
- package/src/Cloudflare/Workers/DurableObject.ts +22 -0
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
- package/src/Cloudflare/Workers/InferEnv.ts +74 -59
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +619 -401
- package/src/Cloudflare/Workers/Worker.ts +676 -28
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
- package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
- package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
- package/src/Cloudflare/Workers/WorkerBundle.ts +6 -1
- package/src/Cloudflare/Workers/WorkerProvider.ts +2269 -277
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +31 -13
- package/src/Command/Build.ts +8 -8
- package/src/Command/Command.ts +217 -42
- package/src/Command/Dev.ts +79 -107
- package/src/Command/Exec.ts +11 -2
- package/src/Command/Memo.ts +27 -3
- package/src/Command/Redaction.ts +181 -0
- package/src/Destroy.ts +1 -10
- package/src/Docker/Container.ts +55 -15
- package/src/Docker/Context.ts +236 -0
- package/src/Docker/Docker.ts +393 -43
- package/src/Docker/Image.ts +28 -7
- package/src/Docker/Network.ts +38 -14
- package/src/Docker/Providers.ts +16 -1
- package/src/Docker/RemoteImage.ts +23 -7
- package/src/Docker/Service.ts +1119 -0
- package/src/Docker/ServiceImage.ts +331 -0
- package/src/Docker/Swarm.ts +226 -0
- package/src/Docker/Volume.ts +25 -6
- package/src/Docker/index.ts +3 -0
- package/src/Http.ts +15 -2
- package/src/Local/LocalProvider.ts +518 -0
- package/src/Local/ProviderLayer.ts +113 -11
- package/src/Local/RpcProvider.ts +10 -5
- package/src/Local/RpcProviderProxy.ts +4 -1
- package/src/Local/RpcServer.ts +20 -2
- package/src/Plan.ts +182 -54
- package/src/Planetscale/AuthProvider.ts +15 -2
- package/src/Planetscale/Branch.ts +39 -6
- package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
- package/src/Planetscale/OAuthClient.ts +59 -3
- package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
- package/src/Platform.ts +29 -17
- package/src/Prisma/App.ts +433 -0
- package/src/Prisma/AuthProvider.ts +260 -0
- package/src/Prisma/Branch.ts +417 -0
- package/src/Prisma/Client.ts +1337 -0
- package/src/Prisma/Compute.ts +2878 -0
- package/src/Prisma/ComputeArchive.ts +432 -0
- package/src/Prisma/ComputeBuild.ts +1652 -0
- package/src/Prisma/ComputeLifecycle.ts +391 -0
- package/src/Prisma/Connect.ts +433 -0
- package/src/Prisma/Connection.ts +643 -0
- package/src/Prisma/CustomDomain.ts +373 -0
- package/src/Prisma/Database.ts +850 -0
- package/src/Prisma/Deployment.ts +661 -0
- package/src/Prisma/EnvironmentVariable.ts +417 -0
- package/src/Prisma/Internal/AppIdentity.ts +19 -0
- package/src/Prisma/Internal/AppPromotion.ts +172 -0
- package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
- package/src/Prisma/Internal/ArtifactFile.ts +242 -0
- package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
- package/src/Prisma/Internal/BundlePaths.ts +28 -0
- package/src/Prisma/Internal/CleanupFailure.ts +17 -0
- package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
- package/src/Prisma/Internal/DeploymentActions.ts +59 -0
- package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
- package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
- package/src/Prisma/Internal/EnvName.ts +24 -0
- package/src/Prisma/Internal/HttpClient.ts +30 -0
- package/src/Prisma/Operations.ts +259 -0
- package/src/Prisma/Postgres.ts +25 -0
- package/src/Prisma/PostgresOrigin.ts +52 -0
- package/src/Prisma/PrismaDevDatabase.ts +395 -0
- package/src/Prisma/PrismaEnvironment.ts +89 -0
- package/src/Prisma/PrismaLogs.ts +434 -0
- package/src/Prisma/Project.ts +687 -0
- package/src/Prisma/Providers.ts +471 -0
- package/src/Prisma/Refs.ts +69 -0
- package/src/Prisma/SourceRepository.ts +455 -0
- package/src/Prisma/Types.ts +611 -0
- package/src/Prisma/index.ts +24 -0
- package/src/Provider.ts +155 -39
- package/src/ProviderMode.ts +123 -0
- package/src/Resource.ts +46 -0
- package/src/RuntimeContext.ts +7 -0
- package/src/Server/Process.ts +33 -0
- package/src/State/InMemoryState.ts +2 -0
- package/src/State/ResourceState.ts +18 -0
- package/src/Sync.ts +14 -2
- package/src/Telemetry.ts +736 -0
- package/src/Test/Alchemy.ts +3 -1
- package/src/Test/Core.ts +1 -8
- package/src/Util/Clank.ts +37 -11
- package/src/Util/zip.ts +39 -0
- package/src/index.ts +3 -0
|
@@ -43,9 +43,19 @@ export interface D1Auth {
|
|
|
43
43
|
export const makeHttpQueryDatabaseClient = (
|
|
44
44
|
auth: D1Auth,
|
|
45
45
|
databaseId: Effect.Effect<string>,
|
|
46
|
-
): QueryDatabaseClient =>
|
|
47
|
-
|
|
46
|
+
): QueryDatabaseClient =>
|
|
47
|
+
makeQueryDatabaseClientFrom(
|
|
48
|
+
Effect.map(databaseId, (id) => makeHttpD1Database(auth, id)),
|
|
49
|
+
);
|
|
48
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Build a {@link QueryDatabaseClient} from a deferred `D1Database` — shared
|
|
53
|
+
* by the cloud HTTP transport above and the local-simulator gateway
|
|
54
|
+
* transport (`QueryDatabaseLocal` with a `dev:` id).
|
|
55
|
+
*/
|
|
56
|
+
export const makeQueryDatabaseClientFrom = (
|
|
57
|
+
rawEff: Effect.Effect<runtime.D1Database>,
|
|
58
|
+
): QueryDatabaseClient => {
|
|
49
59
|
return {
|
|
50
60
|
raw: rawEff,
|
|
51
61
|
prepare: (query: string) => new PreparedStatement(query, [], rawEff),
|
|
@@ -78,7 +88,9 @@ const runQuery = (
|
|
|
78
88
|
.pipe(Effect.runPromise);
|
|
79
89
|
|
|
80
90
|
const toResult = <T>(
|
|
81
|
-
r:
|
|
91
|
+
r:
|
|
92
|
+
| { results?: unknown; success?: boolean | null; meta?: unknown }
|
|
93
|
+
| undefined,
|
|
82
94
|
): runtime.D1Result<T> =>
|
|
83
95
|
({
|
|
84
96
|
results: (r?.results ?? []) as T[],
|
|
@@ -106,16 +118,40 @@ const normalizeBind = (value: unknown): unknown => {
|
|
|
106
118
|
return value;
|
|
107
119
|
};
|
|
108
120
|
|
|
109
|
-
|
|
121
|
+
/** A `D1Database` facade over the cloud HTTP query API. */
|
|
122
|
+
export const makeHttpD1Database = (
|
|
110
123
|
auth: D1Auth,
|
|
111
124
|
databaseId: string,
|
|
125
|
+
): runtime.D1Database =>
|
|
126
|
+
makeD1DatabaseFromTransport((body) => runQuery(auth, databaseId, body));
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* The transport a {@link runtime.D1Database} facade is built over: run one
|
|
130
|
+
* query (or batch) and return the D1 result envelope(s). Two transports
|
|
131
|
+
* exist — the cloud HTTP API (`runQuery`) and the local-simulator gateway
|
|
132
|
+
* (`withLocalD1Query`).
|
|
133
|
+
*/
|
|
134
|
+
export type D1QueryTransport = (
|
|
135
|
+
body:
|
|
136
|
+
| { sql: string; params?: unknown[] }
|
|
137
|
+
| { batch: { sql: string; params?: unknown[] }[] },
|
|
138
|
+
) => Promise<{
|
|
139
|
+
result: Array<{
|
|
140
|
+
results?: unknown;
|
|
141
|
+
success?: boolean | null;
|
|
142
|
+
meta?: unknown;
|
|
143
|
+
}>;
|
|
144
|
+
}>;
|
|
145
|
+
|
|
146
|
+
export const makeD1DatabaseFromTransport = (
|
|
147
|
+
transport: D1QueryTransport,
|
|
112
148
|
): runtime.D1Database => {
|
|
113
149
|
const makeStatement = (
|
|
114
150
|
query: string,
|
|
115
151
|
binds: ReadonlyArray<unknown>,
|
|
116
152
|
): runtime.D1PreparedStatement => {
|
|
117
153
|
const exec = async () => {
|
|
118
|
-
const res = await
|
|
154
|
+
const res = await transport({
|
|
119
155
|
sql: query,
|
|
120
156
|
params: binds.length ? binds.map(normalizeBind) : undefined,
|
|
121
157
|
});
|
|
@@ -124,9 +160,9 @@ const makeHttpD1Database = (
|
|
|
124
160
|
return {
|
|
125
161
|
bind: (...values: unknown[]) => makeStatement(query, values),
|
|
126
162
|
first: (async (column?: string) => {
|
|
127
|
-
const first = (
|
|
128
|
-
|
|
129
|
-
|
|
163
|
+
const first = (
|
|
164
|
+
(await exec())?.results as Record<string, unknown>[] | undefined
|
|
165
|
+
)?.[0];
|
|
130
166
|
if (first == null) return null;
|
|
131
167
|
return column !== undefined ? (first[column] ?? null) : first;
|
|
132
168
|
}) as runtime.D1PreparedStatement["first"],
|
|
@@ -154,15 +190,17 @@ const makeHttpD1Database = (
|
|
|
154
190
|
return {
|
|
155
191
|
prepare: (query: string) => makeStatement(query, []),
|
|
156
192
|
exec: async (query: string) => {
|
|
157
|
-
const res = await
|
|
158
|
-
const meta = res.result[res.result.length - 1]?.meta
|
|
193
|
+
const res = await transport({ sql: query });
|
|
194
|
+
const meta = res.result[res.result.length - 1]?.meta as
|
|
195
|
+
| { duration?: number }
|
|
196
|
+
| undefined;
|
|
159
197
|
return {
|
|
160
198
|
count: res.result.length,
|
|
161
199
|
duration: meta?.duration ?? 0,
|
|
162
200
|
} as runtime.D1ExecResult;
|
|
163
201
|
},
|
|
164
202
|
batch: async <T = unknown>(statements: runtime.D1PreparedStatement[]) => {
|
|
165
|
-
const res = await
|
|
203
|
+
const res = await transport({
|
|
166
204
|
batch: statements.map((s) => ({
|
|
167
205
|
sql: (s as any).__query as string,
|
|
168
206
|
params: ((s as any).__params as unknown[]).length
|
|
@@ -3,11 +3,15 @@ import * as Layer from "effect/Layer";
|
|
|
3
3
|
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
4
4
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
5
5
|
import type { Credentials } from "../Credentials.ts";
|
|
6
|
+
import { isLocalId } from "../LocalRuntime.ts";
|
|
6
7
|
import type { Database } from "./Database.ts";
|
|
8
|
+
import { localD1GatewayRuntime, withLocalD1Query } from "./LocalD1Gateway.ts";
|
|
7
9
|
import { QueryDatabase } from "./QueryDatabase.ts";
|
|
8
10
|
import {
|
|
9
11
|
type D1Auth,
|
|
10
|
-
|
|
12
|
+
makeD1DatabaseFromTransport,
|
|
13
|
+
makeHttpD1Database,
|
|
14
|
+
makeQueryDatabaseClientFrom,
|
|
11
15
|
} from "./QueryDatabaseHttpClient.ts";
|
|
12
16
|
|
|
13
17
|
/**
|
|
@@ -55,12 +59,50 @@ export const QueryDatabaseLocal = Layer.effect(
|
|
|
55
59
|
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
56
60
|
accountId,
|
|
57
61
|
};
|
|
62
|
+
// The FULL ambient context, for the dev-mode gateway: booting an
|
|
63
|
+
// ephemeral workerd needs the platform services (FileSystem, Path,
|
|
64
|
+
// spawner, HttpClient) and the Cloudflare environment, all of which are
|
|
65
|
+
// present during stack-eval but not statically enumerable here.
|
|
66
|
+
const ambient = yield* Effect.context<never>();
|
|
67
|
+
|
|
68
|
+
// Under `alchemy dev` the database may be a local simulator row (a
|
|
69
|
+
// `dev:` id). Queries then tunnel through an ephemeral workerd gateway
|
|
70
|
+
// into the simulator's DO SQLite (one gateway boot per query — slow but
|
|
71
|
+
// correct; Actions are deploy-time one-shots). Real ids keep the cloud
|
|
72
|
+
// HTTP query API.
|
|
73
|
+
const localTransport =
|
|
74
|
+
(databaseId: string) =>
|
|
75
|
+
(
|
|
76
|
+
body:
|
|
77
|
+
| { sql: string; params?: unknown[] }
|
|
78
|
+
| { batch: { sql: string; params?: unknown[] }[] },
|
|
79
|
+
) =>
|
|
80
|
+
withLocalD1Query(databaseId, (query) => query(body)).pipe(
|
|
81
|
+
Effect.provide(localD1GatewayRuntime),
|
|
82
|
+
// The gateway layer's platform requirements are satisfied by the
|
|
83
|
+
// ambient stack-eval context captured above; `Context<never>`
|
|
84
|
+
// can't prove that statically, so erase the leftover R.
|
|
85
|
+
Effect.provideContext(ambient),
|
|
86
|
+
(eff) => Effect.runPromise(eff as Effect.Effect<never, never>),
|
|
87
|
+
) as Promise<{
|
|
88
|
+
result: Array<{
|
|
89
|
+
results?: unknown;
|
|
90
|
+
success?: boolean | null;
|
|
91
|
+
meta?: unknown;
|
|
92
|
+
}>;
|
|
93
|
+
}>;
|
|
58
94
|
|
|
59
95
|
return Effect.fn(function* (database: Database) {
|
|
60
96
|
// Deferred accessor — resolves the databaseId against the tracker at
|
|
61
97
|
// apply time. No `host.bind`: the local variant registers no binding.
|
|
62
98
|
const databaseId = yield* database.databaseId;
|
|
63
|
-
return
|
|
99
|
+
return makeQueryDatabaseClientFrom(
|
|
100
|
+
Effect.map(databaseId, (id) =>
|
|
101
|
+
isLocalId(id)
|
|
102
|
+
? makeD1DatabaseFromTransport(localTransport(id))
|
|
103
|
+
: makeHttpD1Database(auth, id),
|
|
104
|
+
),
|
|
105
|
+
);
|
|
64
106
|
});
|
|
65
107
|
}),
|
|
66
108
|
);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as dns from "@distilled.cloud/cloudflare/dns";
|
|
2
|
+
import * as zones from "@distilled.cloud/cloudflare/zones";
|
|
2
3
|
import * as Effect from "effect/Effect";
|
|
3
4
|
import * as Stream from "effect/Stream";
|
|
4
5
|
|
|
@@ -46,7 +47,9 @@ export interface RecordProps {
|
|
|
46
47
|
*/
|
|
47
48
|
zoneId: string;
|
|
48
49
|
/**
|
|
49
|
-
* Fully-qualified record name (e.g.
|
|
50
|
+
* Fully-qualified or zone-relative record name (e.g.
|
|
51
|
+
* `cluster-admin.microtrack.ai`, `_dmarc`, or `@` for the zone apex).
|
|
52
|
+
* Cloudflare normalizes relative names to their fully-qualified form.
|
|
50
53
|
*
|
|
51
54
|
* Stable — Cloudflare treats `(name, type)` as the record's identity,
|
|
52
55
|
* so a rename is a delete + create. Declared as plain `string` (not
|
|
@@ -404,10 +407,27 @@ const observeById = (zoneId: string, dnsRecordId: string) =>
|
|
|
404
407
|
return narrowRecord(r as Parameters<typeof narrowRecord>[0]);
|
|
405
408
|
});
|
|
406
409
|
|
|
407
|
-
// Locate an existing record by `(zoneId, name, type)`.
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
+
// Locate an existing record by `(zoneId, name, type)`. Cloudflare accepts
|
|
411
|
+
// relative names on writes but returns FQDNs on reads, so check the supplied
|
|
412
|
+
// name first and then its zone-qualified form. Used both for the adoption path
|
|
413
|
+
// and to surface a conflict when the caller hasn't opted into adoption.
|
|
410
414
|
const findByNameType = (zoneId: string, name: string, type: RecordType) =>
|
|
415
|
+
findExactByNameType(zoneId, name, type).pipe(
|
|
416
|
+
Effect.flatMap((found) => {
|
|
417
|
+
if (found) return Effect.succeed(found);
|
|
418
|
+
|
|
419
|
+
return zones.getZone({ zoneId }).pipe(
|
|
420
|
+
Effect.flatMap((zone) => {
|
|
421
|
+
const normalizedName = normalizeRecordName(name, zone.name);
|
|
422
|
+
return normalizedName === name
|
|
423
|
+
? Effect.succeed(undefined)
|
|
424
|
+
: findExactByNameType(zoneId, normalizedName, type);
|
|
425
|
+
}),
|
|
426
|
+
);
|
|
427
|
+
}),
|
|
428
|
+
);
|
|
429
|
+
|
|
430
|
+
const findExactByNameType = (zoneId: string, name: string, type: RecordType) =>
|
|
411
431
|
dns.listRecords
|
|
412
432
|
.items({
|
|
413
433
|
zoneId,
|
|
@@ -426,6 +446,12 @@ const findByNameType = (zoneId: string, name: string, type: RecordType) =>
|
|
|
426
446
|
),
|
|
427
447
|
);
|
|
428
448
|
|
|
449
|
+
const normalizeRecordName = (name: string, zoneName: string): string => {
|
|
450
|
+
if (name === "@") return zoneName;
|
|
451
|
+
if (name === zoneName || name.endsWith(`.${zoneName}`)) return name;
|
|
452
|
+
return `${name}.${zoneName}`;
|
|
453
|
+
};
|
|
454
|
+
|
|
429
455
|
interface ObservedRecord {
|
|
430
456
|
readonly id?: string;
|
|
431
457
|
readonly name?: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as emailRouting from "@distilled.cloud/cloudflare/email-routing";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Schedule from "effect/Schedule";
|
|
3
4
|
import * as Stream from "effect/Stream";
|
|
4
5
|
import { isResolved } from "../../Diff.ts";
|
|
5
6
|
import * as Provider from "../../Provider.ts";
|
|
@@ -192,11 +193,27 @@ export const AddressProvider = () =>
|
|
|
192
193
|
}),
|
|
193
194
|
delete: Effect.fn(function* ({ output }) {
|
|
194
195
|
if (!output?.addressId) return;
|
|
196
|
+
// Idempotent on the typed not-found; transient failures are retried
|
|
197
|
+
// bounded and a persistent failure surfaces — a swallowed failure
|
|
198
|
+
// silently leaks the destination address. Cloudflare refuses to
|
|
199
|
+
// delete an address for ~15 minutes after creation
|
|
200
|
+
// (`EmailAddressCreatedTooRecently`, code 2032) — retrying is
|
|
201
|
+
// pointless within a deploy's lifetime, so that error fails fast:
|
|
202
|
+
// either destroy later or retain the address (`RemovalPolicy.retain`).
|
|
195
203
|
yield* emailRouting
|
|
196
204
|
.deleteAddress({
|
|
197
205
|
accountId: output.accountId,
|
|
198
206
|
destinationAddressIdentifier: output.addressId,
|
|
199
207
|
})
|
|
200
|
-
.pipe(
|
|
208
|
+
.pipe(
|
|
209
|
+
Effect.catchTag("EmailAddressNotFound", () => Effect.void),
|
|
210
|
+
Effect.retry({
|
|
211
|
+
while: (e) => e._tag !== "EmailAddressCreatedTooRecently",
|
|
212
|
+
schedule: Schedule.max([
|
|
213
|
+
Schedule.spaced("3 seconds"),
|
|
214
|
+
Schedule.recurs(8),
|
|
215
|
+
]),
|
|
216
|
+
}),
|
|
217
|
+
);
|
|
201
218
|
}),
|
|
202
219
|
});
|
|
@@ -24,6 +24,18 @@ export type SendEmailProps = {
|
|
|
24
24
|
* {@link Routing}) and the addresses must be verified.
|
|
25
25
|
*/
|
|
26
26
|
allowedSenderAddresses?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* Configuration for the binding in `alchemy dev`.
|
|
29
|
+
* @default { remote: false }
|
|
30
|
+
*/
|
|
31
|
+
dev?: {
|
|
32
|
+
/**
|
|
33
|
+
* Whether to send emails through the live Cloudflare Email service in development.
|
|
34
|
+
* If `false`, emails will be logged to the console instead.
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
remote?: boolean;
|
|
38
|
+
};
|
|
27
39
|
};
|
|
28
40
|
|
|
29
41
|
/**
|
|
@@ -83,5 +95,6 @@ export const SendEmail: (
|
|
|
83
95
|
destinationAddress: props?.destinationAddress,
|
|
84
96
|
allowedDestinationAddresses: props?.allowedDestinationAddresses,
|
|
85
97
|
allowedSenderAddresses: props?.allowedSenderAddresses,
|
|
98
|
+
dev: props?.dev,
|
|
86
99
|
} satisfies SendEmail;
|
|
87
100
|
});
|
|
@@ -211,18 +211,30 @@ export const AppProvider = () =>
|
|
|
211
211
|
.pipe(Effect.catchTag("FlagshipAppNotFound", () => Effect.void));
|
|
212
212
|
}),
|
|
213
213
|
// Account-scoped collection (pattern b): enumerate every app in the
|
|
214
|
-
// ambient account via the paginated listApps op.
|
|
215
|
-
//
|
|
214
|
+
// ambient account via the paginated listApps op. Cloudflare's list
|
|
215
|
+
// index can contain ghost rows — apps that were deleted but survive in
|
|
216
|
+
// the listing while GET/DELETE both return "App not found" — so each
|
|
217
|
+
// row is validated via getApp and ghosts are dropped (otherwise census
|
|
218
|
+
// tooling re-discovers an undeletable app forever).
|
|
216
219
|
list: Effect.fn(function* () {
|
|
217
220
|
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
218
|
-
|
|
221
|
+
const listed = yield* flagship.listApps.pages({ accountId }).pipe(
|
|
219
222
|
Stream.runCollect,
|
|
220
223
|
Effect.map((chunk) =>
|
|
221
|
-
Array.from(chunk).flatMap((page) =>
|
|
222
|
-
(page.result ?? []).map((app) => toAttributes(app, accountId)),
|
|
223
|
-
),
|
|
224
|
+
Array.from(chunk).flatMap((page) => page.result ?? []),
|
|
224
225
|
),
|
|
225
226
|
);
|
|
227
|
+
const rows = yield* Effect.forEach(
|
|
228
|
+
listed,
|
|
229
|
+
(app) =>
|
|
230
|
+
getApp(accountId, app.id).pipe(
|
|
231
|
+
Effect.map((observed) =>
|
|
232
|
+
observed ? toAttributes(observed, accountId) : undefined,
|
|
233
|
+
),
|
|
234
|
+
),
|
|
235
|
+
{ concurrency: 10 },
|
|
236
|
+
);
|
|
237
|
+
return rows.filter((row): row is AppAttributes => row !== undefined);
|
|
226
238
|
}),
|
|
227
239
|
});
|
|
228
240
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node-side path into the local workerd KV simulator, built on the
|
|
3
|
+
* runtime's platform proxy (`PlatformProxy.open` — our `getPlatformProxy`).
|
|
4
|
+
*
|
|
5
|
+
* For a `dev:` namespace there is no cloud namespace to speak REST to.
|
|
6
|
+
* Instead, each operation opens a scoped platform proxy hosting the native
|
|
7
|
+
* KV binding and runs against `proxy.env.KV` — the same
|
|
8
|
+
* `runtime.KVNamespace` surface the Worker-binding client builders
|
|
9
|
+
* (`makeReadKVClient` / `makeWriteKVClient`) already consume, so the
|
|
10
|
+
* `*Local` layers reuse those builders verbatim:
|
|
11
|
+
*
|
|
12
|
+
* Node ── proxy.env.KV.get(...) ──▶ kv service ──▶ KVNamespaceObject
|
|
13
|
+
*
|
|
14
|
+
* One proxy boot per operation — slow but correct; the `*Local` layers run
|
|
15
|
+
* in deploy-time Actions, not on a request path. Data lands in the same
|
|
16
|
+
* `{storage}/kv` directory every local worker binding reads.
|
|
17
|
+
*
|
|
18
|
+
* NOT exported from `index.ts` — capability-internal scaffolding.
|
|
19
|
+
*/
|
|
20
|
+
import { KvNamespace } from "@distilled.cloud/cloudflare-runtime/bindings";
|
|
21
|
+
import { open } from "@distilled.cloud/cloudflare-runtime/platform-proxy";
|
|
22
|
+
import type * as runtime from "@cloudflare/workers-types";
|
|
23
|
+
import type * as Context from "effect/Context";
|
|
24
|
+
import * as Effect from "effect/Effect";
|
|
25
|
+
import { gatewayName, localGatewayRuntime } from "../LocalGateway.ts";
|
|
26
|
+
import type { makeKVNamespaceHelpers } from "./NamespaceBinding.ts";
|
|
27
|
+
import { NamespaceError } from "./NamespaceTypes.ts";
|
|
28
|
+
|
|
29
|
+
const tryPromise = <T>(
|
|
30
|
+
fn: () => Promise<T>,
|
|
31
|
+
): Effect.Effect<T, NamespaceError> =>
|
|
32
|
+
Effect.tryPromise({
|
|
33
|
+
try: fn,
|
|
34
|
+
catch: (error: any) =>
|
|
35
|
+
new NamespaceError({
|
|
36
|
+
message: error?.message ?? "Unknown error",
|
|
37
|
+
cause: error,
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Binding-client helpers backed by a per-operation platform proxy instead
|
|
43
|
+
* of a Worker's `env`. `raw` cannot be satisfied — a native namespace only
|
|
44
|
+
* lives as long as its proxy's scope — so it dies with guidance.
|
|
45
|
+
*/
|
|
46
|
+
export const makeProxyKVNamespaceHelpers = (
|
|
47
|
+
namespaceId: string,
|
|
48
|
+
/**
|
|
49
|
+
* The FULL ambient stack-eval context: platform services for booting
|
|
50
|
+
* workerd plus `CloudflareEnvironment`/`AlchemyContext` for the runtime
|
|
51
|
+
* layer.
|
|
52
|
+
*/
|
|
53
|
+
ambient: Context.Context<never>,
|
|
54
|
+
): ReturnType<typeof makeKVNamespaceHelpers> => {
|
|
55
|
+
const use = <T>(
|
|
56
|
+
fn: (raw: runtime.KVNamespace<string>) => Promise<T>,
|
|
57
|
+
): Effect.Effect<T, NamespaceError> =>
|
|
58
|
+
Effect.scoped(
|
|
59
|
+
Effect.gen(function* () {
|
|
60
|
+
const proxy = yield* open({
|
|
61
|
+
name: gatewayName("alchemy-kv-gateway", namespaceId),
|
|
62
|
+
bindings: [KvNamespace.local({ binding: "KV", id: namespaceId })],
|
|
63
|
+
});
|
|
64
|
+
const kv = (proxy.env as Record<string, unknown>)
|
|
65
|
+
.KV as runtime.KVNamespace<string>;
|
|
66
|
+
return yield* tryPromise(() => fn(kv));
|
|
67
|
+
}),
|
|
68
|
+
).pipe(
|
|
69
|
+
Effect.provide(localGatewayRuntime),
|
|
70
|
+
// The gateway layer's platform requirements are satisfied by the
|
|
71
|
+
// ambient stack-eval context; `Context<never>` can't prove that
|
|
72
|
+
// statically, so erase the leftover R (and the proxy's own infra
|
|
73
|
+
// error channel) with a cast — mirroring D1's gateway.
|
|
74
|
+
Effect.provideContext(ambient),
|
|
75
|
+
) as Effect.Effect<T, NamespaceError>;
|
|
76
|
+
|
|
77
|
+
const raw = Effect.die(
|
|
78
|
+
new NamespaceError({
|
|
79
|
+
message:
|
|
80
|
+
"A locally-emulated KV namespace has no long-lived native binding outside a Worker; use get/put/delete/list/getWithMetadata (each runs through a scoped local gateway).",
|
|
81
|
+
cause: new Error("unsupported"),
|
|
82
|
+
}),
|
|
83
|
+
) as Effect.Effect<runtime.KVNamespace<string>>;
|
|
84
|
+
|
|
85
|
+
return { raw, use, tryPromise };
|
|
86
|
+
};
|
|
@@ -3,10 +3,12 @@ import * as Effect from "effect/Effect";
|
|
|
3
3
|
import * as Option from "effect/Option";
|
|
4
4
|
import * as Stream from "effect/Stream";
|
|
5
5
|
import { isResolved } from "../../Diff.ts";
|
|
6
|
+
import * as ProviderLayer from "../../Local/ProviderLayer.ts";
|
|
6
7
|
import { createPhysicalName } from "../../PhysicalName.ts";
|
|
7
8
|
import * as Provider from "../../Provider.ts";
|
|
8
9
|
import { isResourceOfType, Resource } from "../../Resource.ts";
|
|
9
10
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
11
|
+
import { generateLocalId } from "../LocalRuntime.ts";
|
|
10
12
|
import type { Providers } from "../Providers.ts";
|
|
11
13
|
|
|
12
14
|
export const isNamespace = (value: unknown): value is Namespace =>
|
|
@@ -71,7 +73,7 @@ export const Namespace = Resource<Namespace>("Cloudflare.KV.Namespace", {
|
|
|
71
73
|
aliases: ["Cloudflare.KVNamespace"],
|
|
72
74
|
});
|
|
73
75
|
|
|
74
|
-
export const
|
|
76
|
+
export const ProviderLive = () =>
|
|
75
77
|
Provider.succeed(Namespace, {
|
|
76
78
|
stables: ["namespaceId", "accountId"],
|
|
77
79
|
diff: Effect.fn(function* ({ id, olds = {}, news = {}, output }) {
|
|
@@ -223,6 +225,50 @@ export const NamespaceProvider = () =>
|
|
|
223
225
|
}),
|
|
224
226
|
});
|
|
225
227
|
|
|
228
|
+
/**
|
|
229
|
+
* Local (dev) provider — the namespace is purely virtual: a `dev:` id keyed
|
|
230
|
+
* into the local workerd KV simulator. `toRuntimeBinding` lowers a
|
|
231
|
+
* `kv_namespace` binding whose id is `dev:`-prefixed onto the local KV
|
|
232
|
+
* service; data persists under `.alchemy/local/kv`.
|
|
233
|
+
*/
|
|
234
|
+
export const ProviderLocal = () =>
|
|
235
|
+
Provider.succeed(Namespace, {
|
|
236
|
+
stables: ["accountId"],
|
|
237
|
+
diff: Effect.fn(function* ({ news = {}, output }) {
|
|
238
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
239
|
+
if (!output?.namespaceId) return { action: "update" } as const;
|
|
240
|
+
if (!isResolved(news)) return undefined;
|
|
241
|
+
if (output.accountId !== accountId) {
|
|
242
|
+
return { action: "replace" } as const;
|
|
243
|
+
}
|
|
244
|
+
// Fall through to the engine's default prop diff (title renames
|
|
245
|
+
// update in place).
|
|
246
|
+
}),
|
|
247
|
+
read: Effect.fn(function* ({ output }) {
|
|
248
|
+
// Purely virtual — the persisted state row is the source of truth.
|
|
249
|
+
return output ?? undefined;
|
|
250
|
+
}),
|
|
251
|
+
reconcile: Effect.fn(function* ({ id, news = {}, output }) {
|
|
252
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
253
|
+
return {
|
|
254
|
+
title: yield* createTitle(id, news.title),
|
|
255
|
+
namespaceId: output?.namespaceId ?? generateLocalId(),
|
|
256
|
+
supportsUrlEncoding: true,
|
|
257
|
+
accountId: output?.accountId ?? accountId,
|
|
258
|
+
};
|
|
259
|
+
}),
|
|
260
|
+
delete: Effect.fn(function* () {
|
|
261
|
+
// The simulator's on-disk data is keyed by the dev id; dropping the
|
|
262
|
+
// state row is enough — orphaned blobs are reclaimed with `.alchemy`.
|
|
263
|
+
}),
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
export const NamespaceProvider = () =>
|
|
267
|
+
ProviderLayer.dual(Namespace, {
|
|
268
|
+
local: () => ProviderLocal(),
|
|
269
|
+
live: () => ProviderLive(),
|
|
270
|
+
});
|
|
271
|
+
|
|
226
272
|
const createTitle = (id: string, title: string | undefined) =>
|
|
227
273
|
Effect.gen(function* () {
|
|
228
274
|
return title ?? (yield* createPhysicalName({ id }));
|
|
@@ -2,7 +2,10 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
3
3
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
4
4
|
import type { Credentials } from "../Credentials.ts";
|
|
5
|
+
import { dispatchByMode } from "../LocalGateway.ts";
|
|
6
|
+
import { makeProxyKVNamespaceHelpers } from "./LocalKVGateway.ts";
|
|
5
7
|
import type { Namespace } from "./Namespace.ts";
|
|
8
|
+
import type { makeKVNamespaceHelpers } from "./NamespaceBinding.ts";
|
|
6
9
|
import type { KVAuth } from "./NamespaceHttp.ts";
|
|
7
10
|
|
|
8
11
|
/**
|
|
@@ -10,15 +13,27 @@ import type { KVAuth } from "./NamespaceHttp.ts";
|
|
|
10
13
|
*
|
|
11
14
|
* Instead of minting a scoped {@link AccountApiToken} (the `*Http` path) or
|
|
12
15
|
* resolving a native Worker binding (the `*Binding` path), it captures the
|
|
13
|
-
* ambient current-credentials context available during stack-eval and
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
+
* ambient current-credentials context available during stack-eval and
|
|
17
|
+
* builds the client per resolved namespace id:
|
|
18
|
+
*
|
|
19
|
+
* - a REAL id gets the HTTP client (same builders as the `*Http` variant,
|
|
20
|
+
* authorized with the current credentials — no `host.bind`, no minted
|
|
21
|
+
* token);
|
|
22
|
+
* - a `dev:` id (local emulation under `alchemy dev`) gets the native
|
|
23
|
+
* binding client (same builders as the `*Binding` variant) over a scoped
|
|
24
|
+
* platform-proxy gateway (see `LocalKVGateway.ts`).
|
|
25
|
+
*
|
|
26
|
+
* The id resolves lazily at apply time, so the returned client dispatches
|
|
27
|
+
* per call.
|
|
16
28
|
*
|
|
17
29
|
* NOT exported from `index.ts` — this is internal scaffolding shared by the
|
|
18
30
|
* three access-level Local layers.
|
|
19
31
|
*/
|
|
20
|
-
export const makeLocalKVNamespaceBinding = <Client>(options: {
|
|
21
|
-
|
|
32
|
+
export const makeLocalKVNamespaceBinding = <Client extends object>(options: {
|
|
33
|
+
makeHttpClient: (auth: KVAuth, namespaceId: Effect.Effect<string>) => Client;
|
|
34
|
+
makeNativeClient: (
|
|
35
|
+
helpers: ReturnType<typeof makeKVNamespaceHelpers>,
|
|
36
|
+
) => Client;
|
|
22
37
|
}) =>
|
|
23
38
|
Effect.gen(function* () {
|
|
24
39
|
// Account + credentials are ambient during stack-eval (the stack's
|
|
@@ -28,6 +43,11 @@ export const makeLocalKVNamespaceBinding = <Client>(options: {
|
|
|
28
43
|
const context = yield* Effect.context<
|
|
29
44
|
Credentials | HttpClient.HttpClient
|
|
30
45
|
>();
|
|
46
|
+
// The FULL ambient context, for the dev-mode gateway: booting an
|
|
47
|
+
// ephemeral workerd needs the platform services and the Cloudflare
|
|
48
|
+
// environment, all present during stack-eval but not statically
|
|
49
|
+
// enumerable here.
|
|
50
|
+
const ambient = yield* Effect.context<never>();
|
|
31
51
|
|
|
32
52
|
return Effect.fn(function* (namespace: Namespace) {
|
|
33
53
|
// Deferred accessor — resolves the namespaceId against the tracker at
|
|
@@ -37,6 +57,9 @@ export const makeLocalKVNamespaceBinding = <Client>(options: {
|
|
|
37
57
|
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
38
58
|
accountId: Effect.succeed(accountId),
|
|
39
59
|
};
|
|
40
|
-
|
|
60
|
+
const httpClient = options.makeHttpClient(auth, namespaceId);
|
|
61
|
+
return dispatchByMode(namespaceId, httpClient, (id) =>
|
|
62
|
+
options.makeNativeClient(makeProxyKVNamespaceHelpers(id, ambient)),
|
|
63
|
+
);
|
|
41
64
|
});
|
|
42
65
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeReadKVClient } from "./ReadNamespaceBinding.ts";
|
|
3
4
|
import { makeLocalKVNamespaceBinding } from "./NamespaceLocal.ts";
|
|
4
5
|
import { ReadNamespace } from "./ReadNamespace.ts";
|
|
5
6
|
import { makeReadKVHttpClient } from "./ReadNamespaceHttp.ts";
|
|
@@ -30,6 +31,9 @@ import { makeReadKVHttpClient } from "./ReadNamespaceHttp.ts";
|
|
|
30
31
|
export const ReadNamespaceLocal = Layer.effect(
|
|
31
32
|
ReadNamespace,
|
|
32
33
|
Effect.suspend(() =>
|
|
33
|
-
makeLocalKVNamespaceBinding({
|
|
34
|
+
makeLocalKVNamespaceBinding({
|
|
35
|
+
makeHttpClient: makeReadKVHttpClient,
|
|
36
|
+
makeNativeClient: makeReadKVClient,
|
|
37
|
+
}),
|
|
34
38
|
),
|
|
35
39
|
);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeReadWriteKVClient } from "./ReadWriteNamespaceBinding.ts";
|
|
3
4
|
import { makeLocalKVNamespaceBinding } from "./NamespaceLocal.ts";
|
|
4
5
|
import { ReadWriteNamespace } from "./ReadWriteNamespace.ts";
|
|
5
6
|
import { makeReadWriteKVHttpClient } from "./ReadWriteNamespaceHttp.ts";
|
|
@@ -37,6 +38,9 @@ import { makeReadWriteKVHttpClient } from "./ReadWriteNamespaceHttp.ts";
|
|
|
37
38
|
export const ReadWriteNamespaceLocal = Layer.effect(
|
|
38
39
|
ReadWriteNamespace,
|
|
39
40
|
Effect.suspend(() =>
|
|
40
|
-
makeLocalKVNamespaceBinding({
|
|
41
|
+
makeLocalKVNamespaceBinding({
|
|
42
|
+
makeHttpClient: makeReadWriteKVHttpClient,
|
|
43
|
+
makeNativeClient: makeReadWriteKVClient,
|
|
44
|
+
}),
|
|
41
45
|
),
|
|
42
46
|
);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeWriteKVClient } from "./WriteNamespaceBinding.ts";
|
|
3
4
|
import { makeLocalKVNamespaceBinding } from "./NamespaceLocal.ts";
|
|
4
5
|
import { WriteNamespace } from "./WriteNamespace.ts";
|
|
5
6
|
import { makeWriteKVHttpClient } from "./WriteNamespaceHttp.ts";
|
|
@@ -30,6 +31,9 @@ import { makeWriteKVHttpClient } from "./WriteNamespaceHttp.ts";
|
|
|
30
31
|
export const WriteNamespaceLocal = Layer.effect(
|
|
31
32
|
WriteNamespace,
|
|
32
33
|
Effect.suspend(() =>
|
|
33
|
-
makeLocalKVNamespaceBinding({
|
|
34
|
+
makeLocalKVNamespaceBinding({
|
|
35
|
+
makeHttpClient: makeWriteKVHttpClient,
|
|
36
|
+
makeNativeClient: makeWriteKVClient,
|
|
37
|
+
}),
|
|
34
38
|
),
|
|
35
39
|
);
|