alchemy 2.0.0-beta.64 → 2.0.0-beta.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exec.js +433 -181
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/common.js +8 -1
- package/lib/AWS/ApiGateway/common.js.map +1 -1
- package/lib/AWS/Bedrock/LanguageModel.d.ts +208 -0
- package/lib/AWS/Bedrock/LanguageModel.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModel.js +508 -0
- package/lib/AWS/Bedrock/LanguageModel.js.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts +10 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.d.ts.map +1 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js +26 -0
- package/lib/AWS/Bedrock/LanguageModelHttp.js.map +1 -0
- package/lib/AWS/Bedrock/index.d.ts +2 -0
- package/lib/AWS/Bedrock/index.d.ts.map +1 -1
- package/lib/AWS/Bedrock/index.js +2 -0
- package/lib/AWS/Bedrock/index.js.map +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts +24 -0
- package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Distribution.js +89 -4
- package/lib/AWS/CloudFront/Distribution.js.map +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalyMonitor.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts +1 -1
- package/lib/AWS/CostExplorer/AnomalySubscription.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/BindingHttp.d.ts +3 -3
- package/lib/AWS/CostExplorer/BindingHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts +1 -1
- package/lib/AWS/CostExplorer/CostCategory.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetAnomaliesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetApproximateUsageRecordsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageComparisonsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostAndUsageWithResourcesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostCategoriesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostComparisonDriversHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetCostForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetDimensionValuesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetReservationUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetRightsizingRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlanPurchaseRecommendationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansCoverageHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansPurchaseRecommendationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationDetailsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetSavingsPlansUtilizationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/GetUsageForecastHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCommitmentPurchaseAnalysesHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagBackfillHistoryHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostAllocationTagsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListCostCategoryResourceAssociationsHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ListSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/ProvideAnomalyFeedbackHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCommitmentPurchaseAnalysisHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartCostAllocationTagBackfillHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/StartSavingsPlansPurchaseRecommendationGenerationHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts +1 -1
- package/lib/AWS/CostExplorer/UpdateCostAllocationTagsStatusHttp.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.d.ts +5 -3
- package/lib/AWS/CostExplorer/common.d.ts.map +1 -1
- package/lib/AWS/CostExplorer/common.js +16 -1
- package/lib/AWS/CostExplorer/common.js.map +1 -1
- package/lib/AWS/DataSync/Task.d.ts.map +1 -1
- package/lib/AWS/DataSync/Task.js +16 -2
- package/lib/AWS/DataSync/Task.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +8 -3
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/LingeringEnis.d.ts +26 -0
- package/lib/AWS/EC2/LingeringEnis.d.ts.map +1 -0
- package/lib/AWS/EC2/LingeringEnis.js +128 -0
- package/lib/AWS/EC2/LingeringEnis.js.map +1 -0
- package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.js +14 -14
- package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
- package/lib/AWS/EC2/Subnet.d.ts.map +1 -1
- package/lib/AWS/EC2/Subnet.js +13 -21
- package/lib/AWS/EC2/Subnet.js.map +1 -1
- package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
- package/lib/AWS/EC2/Vpc.js +15 -2
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +10 -2
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Image.d.ts +133 -13
- package/lib/AWS/ECR/Image.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
- package/lib/AWS/ECR/ImageSource.js +10 -2
- package/lib/AWS/ECR/ImageSource.js.map +1 -1
- package/lib/AWS/ECR/Repository.d.ts +2 -0
- package/lib/AWS/ECR/Repository.d.ts.map +1 -1
- package/lib/AWS/ECR/Repository.js +28 -3
- package/lib/AWS/ECR/Repository.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts +27 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +184 -22
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +32 -8
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +62 -29
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/EKS/Addon.d.ts.map +1 -1
- package/lib/AWS/EKS/Addon.js +15 -3
- package/lib/AWS/EKS/Addon.js.map +1 -1
- package/lib/AWS/EKS/Deployment.d.ts +10 -1
- package/lib/AWS/EKS/Deployment.d.ts.map +1 -1
- package/lib/AWS/EKS/Deployment.js +20 -6
- package/lib/AWS/EKS/Deployment.js.map +1 -1
- package/lib/AWS/EKS/HyperPod.d.ts +57 -0
- package/lib/AWS/EKS/HyperPod.d.ts.map +1 -0
- package/lib/AWS/EKS/HyperPod.js +46 -0
- package/lib/AWS/EKS/HyperPod.js.map +1 -0
- package/lib/AWS/EKS/Job.d.ts +10 -1
- package/lib/AWS/EKS/Job.d.ts.map +1 -1
- package/lib/AWS/EKS/Job.js +26 -8
- package/lib/AWS/EKS/Job.js.map +1 -1
- package/lib/AWS/EKS/internal/client.d.ts +4 -3
- package/lib/AWS/EKS/internal/client.d.ts.map +1 -1
- package/lib/AWS/EKS/internal/client.js +33 -2
- package/lib/AWS/EKS/internal/client.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +15 -0
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +68 -30
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/HttpServer.d.ts.map +1 -1
- package/lib/AWS/Lambda/HttpServer.js +7 -1
- package/lib/AWS/Lambda/HttpServer.js.map +1 -1
- package/lib/AWS/Lambda/LayerVersion.d.ts +176 -0
- package/lib/AWS/Lambda/LayerVersion.d.ts.map +1 -0
- package/lib/AWS/Lambda/LayerVersion.js +288 -0
- package/lib/AWS/Lambda/LayerVersion.js.map +1 -0
- package/lib/AWS/Lambda/MicrovmBundle.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmBundle.js +10 -2
- package/lib/AWS/Lambda/MicrovmBundle.js.map +1 -1
- package/lib/AWS/Lambda/index.d.ts +1 -0
- package/lib/AWS/Lambda/index.d.ts.map +1 -1
- package/lib/AWS/Lambda/index.js +1 -0
- package/lib/AWS/Lambda/index.js.map +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +9 -1
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts +40 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js +58 -0
- package/lib/AWS/SES/ActiveReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts +67 -0
- package/lib/AWS/SES/ReceiptFilter.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptFilter.js +92 -0
- package/lib/AWS/SES/ReceiptFilter.js.map +1 -0
- package/lib/AWS/SES/ReceiptRule.d.ts +133 -0
- package/lib/AWS/SES/ReceiptRule.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRule.js +178 -0
- package/lib/AWS/SES/ReceiptRule.js.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts +55 -0
- package/lib/AWS/SES/ReceiptRuleSet.d.ts.map +1 -0
- package/lib/AWS/SES/ReceiptRuleSet.js +112 -0
- package/lib/AWS/SES/ReceiptRuleSet.js.map +1 -0
- package/lib/AWS/SES/SendBounce.d.ts +37 -0
- package/lib/AWS/SES/SendBounce.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounce.js +3 -0
- package/lib/AWS/SES/SendBounce.js.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts +4 -0
- package/lib/AWS/SES/SendBounceHttp.d.ts.map +1 -0
- package/lib/AWS/SES/SendBounceHttp.js +10 -0
- package/lib/AWS/SES/SendBounceHttp.js.map +1 -0
- package/lib/AWS/SES/index.d.ts +6 -0
- package/lib/AWS/SES/index.d.ts.map +1 -1
- package/lib/AWS/SES/index.js +6 -0
- package/lib/AWS/SES/index.js.map +1 -1
- package/lib/AWS/SageMaker/Cluster.d.ts +327 -0
- package/lib/AWS/SageMaker/Cluster.d.ts.map +1 -0
- package/lib/AWS/SageMaker/Cluster.js +469 -0
- package/lib/AWS/SageMaker/Cluster.js.map +1 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts +96 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.d.ts.map +1 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.js +270 -0
- package/lib/AWS/SageMaker/ClusterSchedulerConfig.js.map +1 -0
- package/lib/AWS/SageMaker/ComputeQuota.d.ts +106 -0
- package/lib/AWS/SageMaker/ComputeQuota.d.ts.map +1 -0
- package/lib/AWS/SageMaker/ComputeQuota.js +268 -0
- package/lib/AWS/SageMaker/ComputeQuota.js.map +1 -0
- package/lib/AWS/SageMaker/index.d.ts +3 -0
- package/lib/AWS/SageMaker/index.d.ts.map +1 -1
- package/lib/AWS/SageMaker/index.js +3 -0
- package/lib/AWS/SageMaker/index.js.map +1 -1
- package/lib/AWS/StateStore/State.d.ts +11 -0
- package/lib/AWS/StateStore/State.d.ts.map +1 -1
- package/lib/AWS/StateStore/State.js +117 -38
- package/lib/AWS/StateStore/State.js.map +1 -1
- package/lib/Apply.d.ts +37 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +270 -194
- package/lib/Apply.js.map +1 -1
- package/lib/Axiom/Telemetry.d.ts +66 -0
- package/lib/Axiom/Telemetry.d.ts.map +1 -0
- package/lib/Axiom/Telemetry.js +69 -0
- package/lib/Axiom/Telemetry.js.map +1 -0
- package/lib/Axiom/index.d.ts +1 -0
- package/lib/Axiom/index.d.ts.map +1 -1
- package/lib/Axiom/index.js +1 -0
- package/lib/Axiom/index.js.map +1 -1
- package/lib/Bundle/Bundle.d.ts +1 -1
- package/lib/Bundle/Bundle.d.ts.map +1 -1
- package/lib/Bundle/Bundle.js +14 -6
- package/lib/Bundle/Bundle.js.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.d.ts.map +1 -1
- package/lib/Bundle/BundleAnalyzerPlugin.js +10 -5
- package/lib/Bundle/BundleAnalyzerPlugin.js.map +1 -1
- package/lib/Bundle/PurePlugin.d.ts +29 -7
- package/lib/Bundle/PurePlugin.d.ts.map +1 -1
- package/lib/Bundle/PurePlugin.js +71 -40
- package/lib/Bundle/PurePlugin.js.map +1 -1
- package/lib/Cli/checkVersion.d.ts +11 -5
- package/lib/Cli/checkVersion.d.ts.map +1 -1
- package/lib/Cli/checkVersion.js +73 -12
- package/lib/Cli/checkVersion.js.map +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +1 -1
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +3 -11
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +3 -1
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/nuke.d.ts.map +1 -1
- package/lib/Cli/commands/nuke.js +231 -37
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +3 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +5 -4
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cloudflare/AI/Search.d.ts +4 -15
- package/lib/Cloudflare/AI/Search.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Search.js +4 -6
- package/lib/Cloudflare/AI/Search.js.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.d.ts +7 -26
- package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.js +7 -26
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +3 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +8 -3
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts +5 -0
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +50 -4
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Containers/Container.d.ts +81 -3
- package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/Container.js +70 -0
- package/lib/Cloudflare/Containers/Container.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +22 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js +4 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +10 -2
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +43 -0
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +21 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +52 -9
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts +30 -5
- package/lib/Cloudflare/D1/ApplyMigrations.d.ts.map +1 -1
- package/lib/Cloudflare/D1/ApplyMigrations.js +36 -26
- package/lib/Cloudflare/D1/ApplyMigrations.js.map +1 -1
- package/lib/Cloudflare/D1/Database.d.ts +18 -1
- package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/Database.js +134 -2
- package/lib/Cloudflare/D1/Database.js.map +1 -1
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts +39 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js +100 -0
- package/lib/Cloudflare/D1/LocalD1Gateway.js.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +31 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +13 -6
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js +21 -2
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -1
- package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Address.js +15 -1
- package/lib/Cloudflare/Email/Address.js.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendBinding.js +1 -0
- package/lib/Cloudflare/Email/SendBinding.js.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.d.ts +12 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendEmail.js +1 -0
- package/lib/Cloudflare/Email/SendEmail.js.map +1 -1
- package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
- package/lib/Cloudflare/Flagship/App.js +8 -3
- package/lib/Cloudflare/Flagship/App.js.map +1 -1
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts +15 -0
- package/lib/Cloudflare/KV/LocalKVGateway.d.ts.map +1 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js +64 -0
- package/lib/Cloudflare/KV/LocalKVGateway.js.map +1 -0
- package/lib/Cloudflare/KV/Namespace.d.ts +9 -1
- package/lib/Cloudflare/KV/Namespace.d.ts.map +1 -1
- package/lib/Cloudflare/KV/Namespace.js +45 -1
- package/lib/Cloudflare/KV/Namespace.js.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts +16 -5
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.js +21 -4
- package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js +5 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -1
- package/lib/Cloudflare/LocalGateway.d.ts +25 -0
- package/lib/Cloudflare/LocalGateway.d.ts.map +1 -0
- package/lib/Cloudflare/LocalGateway.js +70 -0
- package/lib/Cloudflare/LocalGateway.js.map +1 -0
- package/lib/Cloudflare/LocalRuntime.d.ts +14 -1
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +16 -1
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.js +18 -6
- package/lib/Cloudflare/Logs.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +6 -2
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts +16 -3
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +51 -3
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts +4 -3
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +7 -17
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/QueueBinding.js +19 -0
- package/lib/Cloudflare/Queues/QueueBinding.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueShim.d.ts +55 -0
- package/lib/Cloudflare/Queues/QueueShim.d.ts.map +1 -0
- package/lib/Cloudflare/Queues/QueueShim.js +177 -0
- package/lib/Cloudflare/Queues/QueueShim.js.map +1 -0
- package/lib/Cloudflare/R2/Bucket.d.ts +14 -1
- package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +53 -1
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.d.ts +10 -0
- package/lib/Cloudflare/R2/BucketBinding.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketBinding.js +14 -3
- package/lib/Cloudflare/R2/BucketBinding.js.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.d.ts +13 -6
- package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.js +19 -6
- package/lib/Cloudflare/R2/BucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts +15 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.d.ts.map +1 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js +65 -0
- package/lib/Cloudflare/R2/LocalR2Gateway.js.map +1 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js +5 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js +5 -1
- package/lib/Cloudflare/Ruleset/AccountEntrypoint.js.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.js +19 -6
- package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
- package/lib/Cloudflare/Rum/Site.js +10 -2
- package/lib/Cloudflare/Rum/Site.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +32 -3
- package/lib/Cloudflare/StateStore/Api.js +1 -1
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js +20 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.d.ts +34 -7
- package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.js +108 -24
- package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +33 -19
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +33 -19
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +26 -8
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +46 -1
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +26 -7
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +22 -0
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +22 -0
- package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectBridge.js +20 -5
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +4 -2
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +7 -3
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +520 -302
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +619 -18
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +222 -2
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +13 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +171 -21
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +130 -28
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts +6 -2
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.js +18 -2
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts +20 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +15 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts +186 -11
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +1775 -240
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts +9 -2
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +19 -9
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Cloudflare/Workflows/index.d.ts +1 -1
- package/lib/Cloudflare/Workflows/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/index.js +1 -1
- package/lib/Cloudflare/Workflows/index.js.map +1 -1
- package/lib/Command/Build.d.ts +2 -2
- package/lib/Command/Build.d.ts.map +1 -1
- package/lib/Command/Build.js +4 -7
- package/lib/Command/Build.js.map +1 -1
- package/lib/Command/Command.d.ts +34 -4
- package/lib/Command/Command.d.ts.map +1 -1
- package/lib/Command/Command.js +125 -30
- package/lib/Command/Command.js.map +1 -1
- package/lib/Command/Dev.d.ts +2 -2
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +51 -73
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Command/Exec.d.ts +11 -2
- package/lib/Command/Exec.d.ts.map +1 -1
- package/lib/Command/Exec.js +9 -0
- package/lib/Command/Exec.js.map +1 -1
- package/lib/Command/Memo.d.ts +9 -1
- package/lib/Command/Memo.d.ts.map +1 -1
- package/lib/Command/Memo.js +14 -2
- package/lib/Command/Memo.js.map +1 -1
- package/lib/Command/Providers.d.ts +1 -1
- package/lib/Command/Providers.d.ts.map +1 -1
- package/lib/Command/Redaction.d.ts +10 -0
- package/lib/Command/Redaction.d.ts.map +1 -0
- package/lib/Command/Redaction.js +119 -0
- package/lib/Command/Redaction.js.map +1 -0
- package/lib/Deploy.d.ts +2 -1
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Destroy.d.ts +2 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +1 -9
- package/lib/Destroy.js.map +1 -1
- package/lib/Docker/Container.d.ts +41 -1
- package/lib/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +54 -12
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Docker/Context.d.ts +84 -0
- package/lib/Docker/Context.d.ts.map +1 -0
- package/lib/Docker/Context.js +145 -0
- package/lib/Docker/Context.js.map +1 -0
- package/lib/Docker/Docker.d.ts +192 -14
- package/lib/Docker/Docker.d.ts.map +1 -1
- package/lib/Docker/Docker.js +149 -28
- package/lib/Docker/Docker.js.map +1 -1
- package/lib/Docker/Image.d.ts +12 -0
- package/lib/Docker/Image.d.ts.map +1 -1
- package/lib/Docker/Image.js +24 -7
- package/lib/Docker/Image.js.map +1 -1
- package/lib/Docker/Network.d.ts +7 -0
- package/lib/Docker/Network.d.ts.map +1 -1
- package/lib/Docker/Network.js +16 -7
- package/lib/Docker/Network.js.map +1 -1
- package/lib/Docker/Providers.d.ts +1 -1
- package/lib/Docker/Providers.d.ts.map +1 -1
- package/lib/Docker/Providers.js +13 -1
- package/lib/Docker/Providers.js.map +1 -1
- package/lib/Docker/RemoteImage.d.ts +12 -0
- package/lib/Docker/RemoteImage.d.ts.map +1 -1
- package/lib/Docker/RemoteImage.js +22 -8
- package/lib/Docker/RemoteImage.js.map +1 -1
- package/lib/Docker/Service.d.ts +445 -0
- package/lib/Docker/Service.d.ts.map +1 -0
- package/lib/Docker/Service.js +578 -0
- package/lib/Docker/Service.js.map +1 -0
- package/lib/Docker/ServiceImage.d.ts +78 -0
- package/lib/Docker/ServiceImage.d.ts.map +1 -0
- package/lib/Docker/ServiceImage.js +232 -0
- package/lib/Docker/ServiceImage.js.map +1 -0
- package/lib/Docker/Swarm.d.ts +117 -0
- package/lib/Docker/Swarm.d.ts.map +1 -0
- package/lib/Docker/Swarm.js +149 -0
- package/lib/Docker/Swarm.js.map +1 -0
- package/lib/Docker/Volume.d.ts +11 -0
- package/lib/Docker/Volume.d.ts.map +1 -1
- package/lib/Docker/Volume.js +21 -6
- package/lib/Docker/Volume.js.map +1 -1
- package/lib/Docker/index.d.ts +3 -0
- package/lib/Docker/index.d.ts.map +1 -1
- package/lib/Docker/index.js +3 -0
- package/lib/Docker/index.js.map +1 -1
- package/lib/Http.d.ts +8 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +7 -2
- package/lib/Http.js.map +1 -1
- package/lib/Local/LocalProvider.d.ts +182 -0
- package/lib/Local/LocalProvider.d.ts.map +1 -0
- package/lib/Local/LocalProvider.js +226 -0
- package/lib/Local/LocalProvider.js.map +1 -0
- package/lib/Local/ProviderLayer.d.ts +43 -2
- package/lib/Local/ProviderLayer.d.ts.map +1 -1
- package/lib/Local/ProviderLayer.js +80 -2
- package/lib/Local/ProviderLayer.js.map +1 -1
- package/lib/Local/RpcProvider.d.ts +7 -0
- package/lib/Local/RpcProvider.d.ts.map +1 -1
- package/lib/Local/RpcProvider.js +8 -3
- package/lib/Local/RpcProvider.js.map +1 -1
- package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
- package/lib/Local/RpcProviderProxy.js +3 -0
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Local/RpcServer.d.ts +8 -1
- package/lib/Local/RpcServer.d.ts.map +1 -1
- package/lib/Local/RpcServer.js +4 -1
- package/lib/Local/RpcServer.js.map +1 -1
- package/lib/Output.d.ts +4 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts +34 -0
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +127 -40
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +6 -2
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +36 -6
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.js +31 -6
- package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +7 -1
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
- package/lib/Planetscale/OAuthClient.js +51 -4
- package/lib/Planetscale/OAuthClient.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.js +30 -5
- package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +25 -14
- package/lib/Platform.js.map +1 -1
- package/lib/Prisma/App.d.ts +80 -0
- package/lib/Prisma/App.d.ts.map +1 -0
- package/lib/Prisma/App.js +238 -0
- package/lib/Prisma/App.js.map +1 -0
- package/lib/Prisma/AuthProvider.d.ts +28 -0
- package/lib/Prisma/AuthProvider.d.ts.map +1 -0
- package/lib/Prisma/AuthProvider.js +131 -0
- package/lib/Prisma/AuthProvider.js.map +1 -0
- package/lib/Prisma/Branch.d.ts +75 -0
- package/lib/Prisma/Branch.d.ts.map +1 -0
- package/lib/Prisma/Branch.js +216 -0
- package/lib/Prisma/Branch.js.map +1 -0
- package/lib/Prisma/Client.d.ts +178 -0
- package/lib/Prisma/Client.d.ts.map +1 -0
- package/lib/Prisma/Client.js +562 -0
- package/lib/Prisma/Client.js.map +1 -0
- package/lib/Prisma/Compute.d.ts +583 -0
- package/lib/Prisma/Compute.d.ts.map +1 -0
- package/lib/Prisma/Compute.js +1543 -0
- package/lib/Prisma/Compute.js.map +1 -0
- package/lib/Prisma/ComputeArchive.d.ts +63 -0
- package/lib/Prisma/ComputeArchive.d.ts.map +1 -0
- package/lib/Prisma/ComputeArchive.js +227 -0
- package/lib/Prisma/ComputeArchive.js.map +1 -0
- package/lib/Prisma/ComputeBuild.d.ts +106 -0
- package/lib/Prisma/ComputeBuild.d.ts.map +1 -0
- package/lib/Prisma/ComputeBuild.js +987 -0
- package/lib/Prisma/ComputeBuild.js.map +1 -0
- package/lib/Prisma/ComputeLifecycle.d.ts +84 -0
- package/lib/Prisma/ComputeLifecycle.d.ts.map +1 -0
- package/lib/Prisma/ComputeLifecycle.js +186 -0
- package/lib/Prisma/ComputeLifecycle.js.map +1 -0
- package/lib/Prisma/Connect.d.ts +99 -0
- package/lib/Prisma/Connect.d.ts.map +1 -0
- package/lib/Prisma/Connect.js +187 -0
- package/lib/Prisma/Connect.js.map +1 -0
- package/lib/Prisma/Connection.d.ts +202 -0
- package/lib/Prisma/Connection.d.ts.map +1 -0
- package/lib/Prisma/Connection.js +346 -0
- package/lib/Prisma/Connection.js.map +1 -0
- package/lib/Prisma/CustomDomain.d.ts +81 -0
- package/lib/Prisma/CustomDomain.d.ts.map +1 -0
- package/lib/Prisma/CustomDomain.js +175 -0
- package/lib/Prisma/CustomDomain.js.map +1 -0
- package/lib/Prisma/Database.d.ts +208 -0
- package/lib/Prisma/Database.d.ts.map +1 -0
- package/lib/Prisma/Database.js +405 -0
- package/lib/Prisma/Database.js.map +1 -0
- package/lib/Prisma/Deployment.d.ts +135 -0
- package/lib/Prisma/Deployment.d.ts.map +1 -0
- package/lib/Prisma/Deployment.js +348 -0
- package/lib/Prisma/Deployment.js.map +1 -0
- package/lib/Prisma/EnvironmentVariable.d.ts +89 -0
- package/lib/Prisma/EnvironmentVariable.d.ts.map +1 -0
- package/lib/Prisma/EnvironmentVariable.js +213 -0
- package/lib/Prisma/EnvironmentVariable.js.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts +10 -0
- package/lib/Prisma/Internal/AppIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppIdentity.js +6 -0
- package/lib/Prisma/Internal/AppIdentity.js.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts +19 -0
- package/lib/Prisma/Internal/AppPromotion.d.ts.map +1 -0
- package/lib/Prisma/Internal/AppPromotion.js +107 -0
- package/lib/Prisma/Internal/AppPromotion.js.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts +42 -0
- package/lib/Prisma/Internal/ArchivePlatform.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArchivePlatform.js +214 -0
- package/lib/Prisma/Internal/ArchivePlatform.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts +58 -0
- package/lib/Prisma/Internal/ArtifactFile.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactFile.js +134 -0
- package/lib/Prisma/Internal/ArtifactFile.js.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts +5 -0
- package/lib/Prisma/Internal/ArtifactUpload.d.ts.map +1 -0
- package/lib/Prisma/Internal/ArtifactUpload.js +51 -0
- package/lib/Prisma/Internal/ArtifactUpload.js.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts +4 -0
- package/lib/Prisma/Internal/BundlePaths.d.ts.map +1 -0
- package/lib/Prisma/Internal/BundlePaths.js +16 -0
- package/lib/Prisma/Internal/BundlePaths.js.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts +8 -0
- package/lib/Prisma/Internal/CleanupFailure.d.ts.map +1 -0
- package/lib/Prisma/Internal/CleanupFailure.js +8 -0
- package/lib/Prisma/Internal/CleanupFailure.js.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts +35 -0
- package/lib/Prisma/Internal/DatabaseSecrets.d.ts.map +1 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js +85 -0
- package/lib/Prisma/Internal/DatabaseSecrets.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts +5 -0
- package/lib/Prisma/Internal/DeploymentActions.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentActions.js +16 -0
- package/lib/Prisma/Internal/DeploymentActions.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts +8 -0
- package/lib/Prisma/Internal/DeploymentIdentity.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js +12 -0
- package/lib/Prisma/Internal/DeploymentIdentity.js.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts +3 -0
- package/lib/Prisma/Internal/DeploymentObserve.d.ts.map +1 -0
- package/lib/Prisma/Internal/DeploymentObserve.js +2 -0
- package/lib/Prisma/Internal/DeploymentObserve.js.map +1 -0
- package/lib/Prisma/Internal/EnvName.d.ts +7 -0
- package/lib/Prisma/Internal/EnvName.d.ts.map +1 -0
- package/lib/Prisma/Internal/EnvName.js +23 -0
- package/lib/Prisma/Internal/EnvName.js.map +1 -0
- package/lib/Prisma/Internal/HttpClient.d.ts +21 -0
- package/lib/Prisma/Internal/HttpClient.d.ts.map +1 -0
- package/lib/Prisma/Internal/HttpClient.js +23 -0
- package/lib/Prisma/Internal/HttpClient.js.map +1 -0
- package/lib/Prisma/Operations.d.ts +143 -0
- package/lib/Prisma/Operations.d.ts.map +1 -0
- package/lib/Prisma/Operations.js +75 -0
- package/lib/Prisma/Operations.js.map +1 -0
- package/lib/Prisma/Postgres.d.ts +24 -0
- package/lib/Prisma/Postgres.d.ts.map +1 -0
- package/lib/Prisma/Postgres.js +23 -0
- package/lib/Prisma/Postgres.js.map +1 -0
- package/lib/Prisma/PostgresOrigin.d.ts +31 -0
- package/lib/Prisma/PostgresOrigin.d.ts.map +1 -0
- package/lib/Prisma/PostgresOrigin.js +30 -0
- package/lib/Prisma/PostgresOrigin.js.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts +25 -0
- package/lib/Prisma/PrismaDevDatabase.d.ts.map +1 -0
- package/lib/Prisma/PrismaDevDatabase.js +280 -0
- package/lib/Prisma/PrismaDevDatabase.js.map +1 -0
- package/lib/Prisma/PrismaEnvironment.d.ts +14 -0
- package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -0
- package/lib/Prisma/PrismaEnvironment.js +50 -0
- package/lib/Prisma/PrismaEnvironment.js.map +1 -0
- package/lib/Prisma/PrismaLogs.d.ts +42 -0
- package/lib/Prisma/PrismaLogs.d.ts.map +1 -0
- package/lib/Prisma/PrismaLogs.js +318 -0
- package/lib/Prisma/PrismaLogs.js.map +1 -0
- package/lib/Prisma/Project.d.ts +117 -0
- package/lib/Prisma/Project.d.ts.map +1 -0
- package/lib/Prisma/Project.js +361 -0
- package/lib/Prisma/Project.js.map +1 -0
- package/lib/Prisma/Providers.d.ts +61 -0
- package/lib/Prisma/Providers.d.ts.map +1 -0
- package/lib/Prisma/Providers.js +282 -0
- package/lib/Prisma/Providers.js.map +1 -0
- package/lib/Prisma/Refs.d.ts +19 -0
- package/lib/Prisma/Refs.d.ts.map +1 -0
- package/lib/Prisma/Refs.js +25 -0
- package/lib/Prisma/Refs.js.map +1 -0
- package/lib/Prisma/SourceRepository.d.ts +104 -0
- package/lib/Prisma/SourceRepository.d.ts.map +1 -0
- package/lib/Prisma/SourceRepository.js +221 -0
- package/lib/Prisma/SourceRepository.js.map +1 -0
- package/lib/Prisma/Types.d.ts +539 -0
- package/lib/Prisma/Types.d.ts.map +1 -0
- package/lib/Prisma/Types.js +13 -0
- package/lib/Prisma/Types.js.map +1 -0
- package/lib/Prisma/index.d.ts +25 -0
- package/lib/Prisma/index.d.ts.map +1 -0
- package/lib/Prisma/index.js +24 -0
- package/lib/Prisma/index.js.map +1 -0
- package/lib/Provider.d.ts +77 -5
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +54 -30
- package/lib/Provider.js.map +1 -1
- package/lib/ProviderMode.d.ts +93 -0
- package/lib/ProviderMode.d.ts.map +1 -0
- package/lib/ProviderMode.js +77 -0
- package/lib/ProviderMode.js.map +1 -0
- package/lib/Random.d.ts +1 -1
- package/lib/Random.d.ts.map +1 -1
- package/lib/Resource.d.ts +22 -1
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +31 -0
- package/lib/Resource.js.map +1 -1
- package/lib/RuntimeContext.d.ts +7 -0
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/SQL/D1.d.ts +1 -1
- package/lib/SQL/D1.js +1 -1
- package/lib/SQL/Postgres.d.ts +1 -1
- package/lib/SQL/Postgres.js +1 -1
- package/lib/Server/Process.d.ts +8 -0
- package/lib/Server/Process.d.ts.map +1 -1
- package/lib/Server/Process.js +29 -0
- package/lib/Server/Process.js.map +1 -1
- package/lib/State/HttpStateApi.d.ts +11 -11
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js +2 -0
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +18 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +8 -2
- package/lib/Sync.js.map +1 -1
- package/lib/Telemetry.d.ts +150 -0
- package/lib/Telemetry.d.ts.map +1 -0
- package/lib/Telemetry.js +512 -0
- package/lib/Telemetry.js.map +1 -0
- package/lib/Test/Alchemy.d.ts +1 -1
- package/lib/Test/Alchemy.d.ts.map +1 -1
- package/lib/Test/Alchemy.js +4 -2
- package/lib/Test/Alchemy.js.map +1 -1
- package/lib/Test/Core.d.ts +2 -2
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +1 -8
- package/lib/Test/Core.js.map +1 -1
- package/lib/Test/Vitest.d.ts +58 -0
- package/lib/Test/Vitest.d.ts.map +1 -0
- package/lib/Test/Vitest.js +114 -0
- package/lib/Test/Vitest.js.map +1 -0
- package/lib/Util/Clank.d.ts +11 -6
- package/lib/Util/Clank.d.ts.map +1 -1
- package/lib/Util/Clank.js +22 -9
- package/lib/Util/Clank.js.map +1 -1
- package/lib/Util/proxy-chain.d.ts +5 -0
- package/lib/Util/proxy-chain.d.ts.map +1 -1
- package/lib/Util/proxy-chain.js +52 -4
- package/lib/Util/proxy-chain.js.map +1 -1
- package/lib/Util/zip.d.ts +11 -0
- package/lib/Util/zip.d.ts.map +1 -1
- package/lib/Util/zip.js +30 -0
- package/lib/Util/zip.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/package.json +59 -18
- package/src/AWS/ApiGateway/common.ts +9 -0
- package/src/AWS/Bedrock/LanguageModel.ts +883 -0
- package/src/AWS/Bedrock/LanguageModelHttp.ts +36 -0
- package/src/AWS/Bedrock/index.ts +2 -0
- package/src/AWS/CloudFront/Distribution.ts +116 -6
- package/src/AWS/CostExplorer/common.ts +23 -2
- package/src/AWS/DataSync/Task.ts +30 -15
- package/src/AWS/EC2/InternetGateway.ts +8 -3
- package/src/AWS/EC2/LingeringEnis.ts +169 -0
- package/src/AWS/EC2/SecurityGroup.ts +24 -28
- package/src/AWS/EC2/Subnet.ts +23 -34
- package/src/AWS/EC2/Vpc.ts +35 -21
- package/src/AWS/EC2/hosted.ts +10 -2
- package/src/AWS/ECR/ImageSource.ts +10 -2
- package/src/AWS/ECR/Repository.ts +39 -4
- package/src/AWS/ECS/Service.ts +322 -22
- package/src/AWS/ECS/Task.ts +82 -32
- package/src/AWS/EKS/Addon.ts +17 -4
- package/src/AWS/EKS/Deployment.ts +36 -7
- package/src/AWS/EKS/HyperPod.ts +97 -0
- package/src/AWS/EKS/Job.ts +42 -9
- package/src/AWS/EKS/internal/client.ts +40 -3
- package/src/AWS/Lambda/Function.ts +106 -46
- package/src/AWS/Lambda/HttpServer.ts +7 -1
- package/src/AWS/Lambda/LayerVersion.ts +490 -0
- package/src/AWS/Lambda/MicrovmBundle.ts +10 -2
- package/src/AWS/Lambda/index.ts +1 -0
- package/src/AWS/Providers.ts +16 -0
- package/src/AWS/SES/ActiveReceiptRuleSet.ts +88 -0
- package/src/AWS/SES/ReceiptFilter.ts +169 -0
- package/src/AWS/SES/ReceiptRule.ts +300 -0
- package/src/AWS/SES/ReceiptRuleSet.ts +164 -0
- package/src/AWS/SES/SendBounce.ts +44 -0
- package/src/AWS/SES/SendBounceHttp.ts +13 -0
- package/src/AWS/SES/index.ts +6 -0
- package/src/AWS/SageMaker/Cluster.ts +775 -0
- package/src/AWS/SageMaker/ClusterSchedulerConfig.ts +430 -0
- package/src/AWS/SageMaker/ComputeQuota.ts +426 -0
- package/src/AWS/SageMaker/index.ts +3 -0
- package/src/AWS/StateStore/State.ts +159 -42
- package/src/Apply.ts +199 -83
- package/src/Axiom/Telemetry.ts +119 -0
- package/src/Axiom/index.ts +1 -0
- package/src/Bundle/Bundle.ts +17 -7
- package/src/Bundle/BundleAnalyzerPlugin.ts +9 -4
- package/src/Bundle/PurePlugin.ts +109 -46
- package/src/Cli/checkVersion.ts +102 -16
- package/src/Cli/commands/deploy.ts +3 -14
- package/src/Cli/commands/logs.ts +6 -1
- package/src/Cli/commands/nuke.ts +295 -56
- package/src/Cli/commands/tail.ts +6 -1
- package/src/Cli/main.ts +5 -4
- package/src/Cloudflare/AI/Search.ts +4 -18
- package/src/Cloudflare/AI/SearchInstance.ts +7 -26
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +3 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +17 -3
- package/src/Cloudflare/Auth/OAuthClient.ts +58 -2
- package/src/Cloudflare/Containers/Container.ts +92 -3
- package/src/Cloudflare/Containers/ContainerApplication.ts +31 -5
- package/src/Cloudflare/Containers/ContainerBundle.ts +10 -2
- package/src/Cloudflare/Containers/ContainerProvider.ts +62 -0
- package/src/Cloudflare/Credentials.ts +69 -9
- package/src/Cloudflare/D1/ApplyMigrations.ts +72 -77
- package/src/Cloudflare/D1/Database.ts +154 -2
- package/src/Cloudflare/D1/LocalD1Gateway.ts +150 -0
- package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +49 -11
- package/src/Cloudflare/D1/QueryDatabaseLocal.ts +44 -2
- package/src/Cloudflare/Email/Address.ts +18 -1
- package/src/Cloudflare/Email/SendBinding.ts +1 -0
- package/src/Cloudflare/Email/SendEmail.ts +13 -0
- package/src/Cloudflare/Flagship/App.ts +18 -6
- package/src/Cloudflare/KV/LocalKVGateway.ts +86 -0
- package/src/Cloudflare/KV/Namespace.ts +47 -1
- package/src/Cloudflare/KV/NamespaceLocal.ts +29 -6
- package/src/Cloudflare/KV/ReadNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/KV/WriteNamespaceLocal.ts +5 -1
- package/src/Cloudflare/LocalGateway.ts +86 -0
- package/src/Cloudflare/LocalRuntime.ts +21 -1
- package/src/Cloudflare/Logs.ts +58 -28
- package/src/Cloudflare/Providers.ts +4 -2
- package/src/Cloudflare/Queues/Consumer.ts +70 -2
- package/src/Cloudflare/Queues/Queue.ts +7 -16
- package/src/Cloudflare/Queues/QueueBinding.ts +21 -0
- package/src/Cloudflare/Queues/QueueShim.ts +193 -0
- package/src/Cloudflare/R2/Bucket.ts +55 -1
- package/src/Cloudflare/R2/BucketBinding.ts +17 -3
- package/src/Cloudflare/R2/BucketLocal.ts +25 -8
- package/src/Cloudflare/R2/LocalR2Gateway.ts +84 -0
- package/src/Cloudflare/R2/ReadBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +7 -1
- package/src/Cloudflare/R2/WriteBucketLocal.ts +7 -1
- package/src/Cloudflare/Ruleset/AccountEntrypoint.ts +5 -1
- package/src/Cloudflare/Ruleset/Ruleset.ts +20 -6
- package/src/Cloudflare/Rum/Site.ts +11 -4
- package/src/Cloudflare/StateStore/Api.ts +1 -1
- package/src/Cloudflare/Tunnel/Tunnel.ts +23 -1
- package/src/Cloudflare/Website/StaticSite.ts +117 -28
- package/src/Cloudflare/Website/Vite.ts +33 -19
- package/src/Cloudflare/Workers/Assets.ts +53 -1
- package/src/Cloudflare/Workers/Compatibility.ts +27 -7
- package/src/Cloudflare/Workers/DurableObject.ts +22 -0
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +29 -10
- package/src/Cloudflare/Workers/InferEnv.ts +74 -59
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +662 -405
- package/src/Cloudflare/Workers/Worker.ts +683 -33
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +209 -25
- package/src/Cloudflare/Workers/WorkerBinding.ts +67 -3
- package/src/Cloudflare/Workers/WorkerBridge.ts +26 -4
- package/src/Cloudflare/Workers/WorkerBundle.ts +37 -2
- package/src/Cloudflare/Workers/WorkerProvider.ts +2287 -281
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +36 -18
- package/src/Cloudflare/Workflows/index.ts +1 -1
- package/src/Command/Build.ts +8 -8
- package/src/Command/Command.ts +217 -42
- package/src/Command/Dev.ts +79 -107
- package/src/Command/Exec.ts +11 -2
- package/src/Command/Memo.ts +27 -3
- package/src/Command/Redaction.ts +181 -0
- package/src/Destroy.ts +1 -10
- package/src/Docker/Container.ts +85 -16
- package/src/Docker/Context.ts +236 -0
- package/src/Docker/Docker.ts +395 -43
- package/src/Docker/Image.ts +28 -7
- package/src/Docker/Network.ts +38 -14
- package/src/Docker/Providers.ts +16 -1
- package/src/Docker/RemoteImage.ts +23 -7
- package/src/Docker/Service.ts +1119 -0
- package/src/Docker/ServiceImage.ts +331 -0
- package/src/Docker/Swarm.ts +226 -0
- package/src/Docker/Volume.ts +25 -6
- package/src/Docker/index.ts +3 -0
- package/src/Http.ts +15 -2
- package/src/Local/LocalProvider.ts +518 -0
- package/src/Local/ProviderLayer.ts +113 -11
- package/src/Local/RpcProvider.ts +10 -5
- package/src/Local/RpcProviderProxy.ts +4 -1
- package/src/Local/RpcServer.ts +20 -2
- package/src/Output.ts +19 -11
- package/src/Plan.ts +182 -54
- package/src/Planetscale/AuthProvider.ts +15 -2
- package/src/Planetscale/Branch.ts +39 -6
- package/src/Planetscale/MySQL/MySQLDatabase.ts +34 -6
- package/src/Planetscale/OAuthClient.ts +59 -3
- package/src/Planetscale/Postgres/PostgresDatabase.ts +33 -5
- package/src/Platform.ts +29 -17
- package/src/Prisma/App.ts +420 -0
- package/src/Prisma/AuthProvider.ts +260 -0
- package/src/Prisma/Branch.ts +396 -0
- package/src/Prisma/Client.ts +1337 -0
- package/src/Prisma/Compute.ts +2876 -0
- package/src/Prisma/ComputeArchive.ts +432 -0
- package/src/Prisma/ComputeBuild.ts +1652 -0
- package/src/Prisma/ComputeLifecycle.ts +391 -0
- package/src/Prisma/Connect.ts +410 -0
- package/src/Prisma/Connection.ts +626 -0
- package/src/Prisma/CustomDomain.ts +363 -0
- package/src/Prisma/Database.ts +836 -0
- package/src/Prisma/Deployment.ts +655 -0
- package/src/Prisma/EnvironmentVariable.ts +401 -0
- package/src/Prisma/Internal/AppIdentity.ts +19 -0
- package/src/Prisma/Internal/AppPromotion.ts +172 -0
- package/src/Prisma/Internal/ArchivePlatform.ts +320 -0
- package/src/Prisma/Internal/ArtifactFile.ts +242 -0
- package/src/Prisma/Internal/ArtifactUpload.ts +86 -0
- package/src/Prisma/Internal/BundlePaths.ts +28 -0
- package/src/Prisma/Internal/CleanupFailure.ts +17 -0
- package/src/Prisma/Internal/DatabaseSecrets.ts +175 -0
- package/src/Prisma/Internal/DeploymentActions.ts +59 -0
- package/src/Prisma/Internal/DeploymentIdentity.ts +25 -0
- package/src/Prisma/Internal/DeploymentObserve.ts +6 -0
- package/src/Prisma/Internal/EnvName.ts +24 -0
- package/src/Prisma/Internal/HttpClient.ts +30 -0
- package/src/Prisma/Operations.ts +259 -0
- package/src/Prisma/Postgres.ts +24 -0
- package/src/Prisma/PostgresOrigin.ts +52 -0
- package/src/Prisma/PrismaDevDatabase.ts +395 -0
- package/src/Prisma/PrismaEnvironment.ts +89 -0
- package/src/Prisma/PrismaLogs.ts +434 -0
- package/src/Prisma/Project.ts +681 -0
- package/src/Prisma/Providers.ts +411 -0
- package/src/Prisma/Refs.ts +69 -0
- package/src/Prisma/SourceRepository.ts +432 -0
- package/src/Prisma/Types.ts +611 -0
- package/src/Prisma/index.ts +24 -0
- package/src/Provider.ts +175 -39
- package/src/ProviderMode.ts +123 -0
- package/src/Resource.ts +64 -1
- package/src/RuntimeContext.ts +7 -0
- package/src/SQL/D1.ts +1 -1
- package/src/SQL/Postgres.ts +1 -1
- package/src/Server/Process.ts +33 -0
- package/src/State/InMemoryState.ts +2 -0
- package/src/State/ResourceState.ts +18 -0
- package/src/Sync.ts +14 -2
- package/src/Telemetry.ts +736 -0
- package/src/Test/Alchemy.ts +4 -2
- package/src/Test/Core.ts +1 -8
- package/src/Test/Vitest.ts +244 -0
- package/src/Util/Clank.ts +37 -11
- package/src/Util/proxy-chain.ts +73 -4
- package/src/Util/zip.ts +39 -0
- package/src/index.ts +3 -0
- package/lib/SQL/index.d.ts +0 -4
- package/lib/SQL/index.d.ts.map +0 -1
- package/lib/SQL/index.js +0 -4
- package/lib/SQL/index.js.map +0 -1
- package/src/SQL/index.ts +0 -3
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Redacted from "effect/Redacted";
|
|
5
|
+
import type * as Scope from "effect/Scope";
|
|
6
|
+
import type { Input } from "./Input.ts";
|
|
7
|
+
/**
|
|
8
|
+
* The shape of the {@link Telemetry} reference: a Layer of telemetry
|
|
9
|
+
* exporters (tracer, loggers, metrics) built once per event into the
|
|
10
|
+
* event's request scope. Requirements are satisfied from the runtime's
|
|
11
|
+
* isolate context (`HttpClient`, `ConfigProvider`, …).
|
|
12
|
+
*/
|
|
13
|
+
export type TelemetryLayer = Layer.Layer<never, any, any>;
|
|
14
|
+
/**
|
|
15
|
+
* The per-event telemetry exporters, as a `Context.Reference` holding the
|
|
16
|
+
* Layer the runtime bridges build into every event's request scope.
|
|
17
|
+
* Provide it via {@link layerOtlp} / {@link layer} rather than directly —
|
|
18
|
+
* see the module documentation.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Telemetry: Context.Reference<TelemetryLayer>;
|
|
21
|
+
/**
|
|
22
|
+
* Install a custom telemetry Layer (any Layer providing a `Tracer`,
|
|
23
|
+
* loggers, and/or metric exporters). It is built once per event into the
|
|
24
|
+
* event's request scope, so scoped exporters flush when the request scope
|
|
25
|
+
* finalizes.
|
|
26
|
+
*
|
|
27
|
+
* Custom layers COMPOSE with the built-in OTLP destinations and with each
|
|
28
|
+
* other: loggers and metric exporters merge; a custom `Tracer` (a single
|
|
29
|
+
* Effect service) replaces the built-in one.
|
|
30
|
+
*
|
|
31
|
+
* Provide it on the Function/Worker's init Effect (merged into the single
|
|
32
|
+
* `Effect.provide`): building the returned Layer registers the exporter
|
|
33
|
+
* Layer on the current runtime context, where the runtime bridges pick it
|
|
34
|
+
* up per event. Handlers' request-time context is assembled by the bridge,
|
|
35
|
+
* so a plain `Layer.succeed` of the reference on the init Effect would
|
|
36
|
+
* never reach them — the registration is what makes it visible at request
|
|
37
|
+
* time.
|
|
38
|
+
*/
|
|
39
|
+
export declare const layer: (exporter: TelemetryLayer) => Layer.Layer<never>;
|
|
40
|
+
/**
|
|
41
|
+
* A header value: a plain string, a `Redacted` secret, or an Output of
|
|
42
|
+
* either (e.g. an ApiToken's `token` attribute).
|
|
43
|
+
*/
|
|
44
|
+
export type OtlpHeaderValue = Input<string | Redacted.Redacted<string>>;
|
|
45
|
+
/**
|
|
46
|
+
* OTLP configuration for one signal. `url` and header values accept plain
|
|
47
|
+
* values or resource Outputs — they are *bound* onto the host at deploy
|
|
48
|
+
* time like any other binding.
|
|
49
|
+
*/
|
|
50
|
+
export interface OtlpSignalOptions {
|
|
51
|
+
/** The OTLP/HTTP URL exports for this signal are POSTed to. */
|
|
52
|
+
url: Input<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Headers sent with each export request (e.g. auth tokens). `Redacted`
|
|
55
|
+
* values bind as secrets.
|
|
56
|
+
*/
|
|
57
|
+
headers?: Record<string, OtlpHeaderValue> | undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Options for {@link layerOtlp}. Configure a base `url` (with
|
|
61
|
+
* `/v1/{signal}` appended per signal), per-signal urls, or a mix — a
|
|
62
|
+
* per-signal entry takes precedence over the base.
|
|
63
|
+
*/
|
|
64
|
+
export interface OtlpOptions {
|
|
65
|
+
/** Base OTLP/HTTP URL; `/v1/{traces,logs,metrics}` is appended per signal. */
|
|
66
|
+
url?: Input<string> | undefined;
|
|
67
|
+
/** Headers for every signal; per-signal `headers` take precedence. */
|
|
68
|
+
headers?: Record<string, OtlpHeaderValue> | undefined;
|
|
69
|
+
traces?: OtlpSignalOptions | undefined;
|
|
70
|
+
logs?: OtlpSignalOptions | undefined;
|
|
71
|
+
metrics?: OtlpSignalOptions | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* The exported `service.name`.
|
|
74
|
+
* @default the deployed Function/Worker's physical name
|
|
75
|
+
*/
|
|
76
|
+
serviceName?: Input<string> | undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The built-in OTLP exporter as a *binding* layer.
|
|
80
|
+
*
|
|
81
|
+
* At deploy time, building this layer binds the configured urls and
|
|
82
|
+
* headers onto the host Function/Worker (Redacted values as secret
|
|
83
|
+
* bindings) — url and header values accept resource Outputs, so exporter
|
|
84
|
+
* config is wired from resources like any other binding. At runtime the
|
|
85
|
+
* exporter reads the bound values back and ships traces, logs, and metrics
|
|
86
|
+
* over OTLP/HTTP JSON, flushed as each event's scope closes.
|
|
87
|
+
*
|
|
88
|
+
* Exporters COMPOSE: merge several `otlp` layers (or vendor sugar like
|
|
89
|
+
* `Axiom.Telemetry`) and every destination receives the telemetry — spans
|
|
90
|
+
* are serialized once, so trace/span ids agree across destinations:
|
|
91
|
+
*
|
|
92
|
+
* ```ts
|
|
93
|
+
* Effect.provide(
|
|
94
|
+
* Layer.mergeAll(
|
|
95
|
+
* Cloudflare.R2.ReadWriteBucketBinding,
|
|
96
|
+
* Axiom.Telemetry({ token: Ingest, traces: Traces, logs: Logs }),
|
|
97
|
+
* Alchemy.Telemetry.layerOtlp({
|
|
98
|
+
* url: "https://api.honeycomb.io",
|
|
99
|
+
* headers: { "x-honeycomb-team": apiKey },
|
|
100
|
+
* }),
|
|
101
|
+
* ),
|
|
102
|
+
* )
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare const layerOtlp: (options: OtlpOptions) => Layer.Layer<never>;
|
|
106
|
+
/**
|
|
107
|
+
* Build the configured {@link Telemetry} Layer into an event's request
|
|
108
|
+
* scope, returning the Context of telemetry services to provide to the
|
|
109
|
+
* event's handler effect.
|
|
110
|
+
*
|
|
111
|
+
* Called by the runtime bridges (Worker, Durable Object, Workflow, Lambda)
|
|
112
|
+
* once per event. Building into the *request* scope — not the
|
|
113
|
+
* never-finalized isolate scope — is what makes export work on workerd:
|
|
114
|
+
* the batching fiber lives inside the event's I/O context and the final
|
|
115
|
+
* flush runs from the scope's finalizer, which the bridges register with
|
|
116
|
+
* `ctx.waitUntil`.
|
|
117
|
+
*
|
|
118
|
+
* A failed build (bad user Layer, config error) degrades to an empty
|
|
119
|
+
* Context with a warning instead of failing the event.
|
|
120
|
+
*
|
|
121
|
+
* `override` is the (possibly merged) custom Layer registered on the
|
|
122
|
+
* runtime context by {@link layer} during init. It composes with
|
|
123
|
+
* — rather than replaces — the bound OTLP destinations: loggers and metric
|
|
124
|
+
* exporters merge, and a custom `Tracer` (a single Effect service) wins
|
|
125
|
+
* over the built-in one.
|
|
126
|
+
*
|
|
127
|
+
* Declared `R = never`: the Layer's actual requirements (`HttpClient`,
|
|
128
|
+
* `ConfigProvider`, …) are satisfied at runtime by the bridge's surrounding
|
|
129
|
+
* `Effect.provide` of the built runtime context.
|
|
130
|
+
*/
|
|
131
|
+
export declare const buildEventTelemetry: (context: Context.Context<never>, scope: Scope.Scope, override?: TelemetryLayer | undefined, base?: TelemetryLayer | undefined) => Effect.Effect<Context.Context<never>>;
|
|
132
|
+
/**
|
|
133
|
+
* Provide telemetry to a long-running server process (Cloudflare Container,
|
|
134
|
+
* ECS Task, EC2 host, Lambda microVM).
|
|
135
|
+
*
|
|
136
|
+
* Unlike the per-event runtime bridges, server processes have no I/O-context
|
|
137
|
+
* pinning and a real shutdown: the configured {@link Telemetry} Layer is
|
|
138
|
+
* built ONCE into the ambient root scope, exporters batch on their intervals
|
|
139
|
+
* for the life of the process, and the final flush runs when the root scope
|
|
140
|
+
* closes on graceful exit.
|
|
141
|
+
*
|
|
142
|
+
* `runtimeContext` is the entrypoint's runtime context; its `telemetry`
|
|
143
|
+
* field carries the custom Layer(s) registered by {@link layer}
|
|
144
|
+
* during init, composed with the bound OTLP destinations (read with the
|
|
145
|
+
* standard periodic export intervals).
|
|
146
|
+
*/
|
|
147
|
+
export declare const provideProcessTelemetry: (runtimeContext?: {
|
|
148
|
+
telemetry?: TelemetryLayer | undefined;
|
|
149
|
+
}) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | Scope.Scope>;
|
|
150
|
+
//# sourceMappingURL=Telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Telemetry.d.ts","sourceRoot":"","sources":["../src/Telemetry.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAO3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AA4U1D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,mCAKrB,CAAC;AAIF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK,aAAc,cAAc,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAa/D,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAChC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACzC;AAoHD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,YAAa,WAAW,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAwB/D,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB,YACrB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SACxB,KAAK,CAAC,KAAK,aACP,cAAc,GAAG,SAAS,SAC9B,cAAc,GAAG,SAAS,KAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAaK,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,oBAChB;IAAE,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAAE,MAC3D,CAAC,EAAE,CAAC,EAAE,CAAC,UACE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAWlC,CAAC"}
|
package/lib/Telemetry.js
ADDED
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry export for deployed Functions/Workers, built on Effect's
|
|
3
|
+
* OTLP exporters (`effect/unstable/observability`) and configured through
|
|
4
|
+
* alchemy's binding infrastructure — exporters are Layers, and their
|
|
5
|
+
* configuration (endpoints, tokens) is wired from resource Outputs like any
|
|
6
|
+
* other binding.
|
|
7
|
+
*
|
|
8
|
+
* Provide a telemetry Layer on the Function/Worker init Effect, composed
|
|
9
|
+
* into the single `Effect.provide` alongside the other binding layers:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* import * as Alchemy from "alchemy";
|
|
13
|
+
* import * as Axiom from "alchemy/Axiom";
|
|
14
|
+
*
|
|
15
|
+
* Effect.gen(function* () {
|
|
16
|
+
* // ...
|
|
17
|
+
* }).pipe(
|
|
18
|
+
* Effect.provide(
|
|
19
|
+
* Layer.mergeAll(
|
|
20
|
+
* Cloudflare.R2.ReadWriteBucketBinding,
|
|
21
|
+
* // vendor sugar — binds dataset endpoints + ingest token:
|
|
22
|
+
* Axiom.Telemetry({ token: Ingest, traces: Traces, logs: Logs }),
|
|
23
|
+
* // or the generic OTLP form, wired from any Inputs/Outputs:
|
|
24
|
+
* // Alchemy.Telemetry.layerOtlp({ url: collector.url, headers: { ... } }),
|
|
25
|
+
* // or any custom exporter Layer:
|
|
26
|
+
* // Alchemy.Telemetry.layer(myExporterLayer),
|
|
27
|
+
* ),
|
|
28
|
+
* ),
|
|
29
|
+
* );
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* {@link layerOtlp} is a *binding* layer: at deploy time it binds the
|
|
33
|
+
* configured endpoints/headers onto the host (Redacted values as secrets),
|
|
34
|
+
* and at runtime the exporter reads those bound values back. Telemetry is
|
|
35
|
+
* off until a layer is provided — Effect's default tracer is a no-op, so
|
|
36
|
+
* all instrumentation stays free.
|
|
37
|
+
*
|
|
38
|
+
* `Telemetry` itself is a `Context.Reference` holding the Layer of
|
|
39
|
+
* exporters to install for every event (fetch, queue, cron, RPC, Durable
|
|
40
|
+
* Object call, Workflow run, Lambda invoke). The runtime bridges build that
|
|
41
|
+
* Layer into the event's request scope, so:
|
|
42
|
+
*
|
|
43
|
+
* - the exporter's batching fiber runs inside the event's I/O context
|
|
44
|
+
* (required on workerd, where timers/fetches are pinned to the request),
|
|
45
|
+
* - buffered spans/logs/metrics are flushed when the request scope
|
|
46
|
+
* finalizes — registered with `ctx.waitUntil`, so flushing never delays
|
|
47
|
+
* the response.
|
|
48
|
+
*/
|
|
49
|
+
import * as Config from "effect/Config";
|
|
50
|
+
import * as Context from "effect/Context";
|
|
51
|
+
import * as Effect from "effect/Effect";
|
|
52
|
+
import * as Layer from "effect/Layer";
|
|
53
|
+
import * as Redacted from "effect/Redacted";
|
|
54
|
+
import * as Result from "effect/Result";
|
|
55
|
+
import * as HttpClient from "effect/unstable/http/HttpClient";
|
|
56
|
+
import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
|
|
57
|
+
import * as OtlpLogger from "effect/unstable/observability/OtlpLogger";
|
|
58
|
+
import * as OtlpMetrics from "effect/unstable/observability/OtlpMetrics";
|
|
59
|
+
import * as OtlpSerialization from "effect/unstable/observability/OtlpSerialization";
|
|
60
|
+
import * as OtlpTracer from "effect/unstable/observability/OtlpTracer";
|
|
61
|
+
import * as Output from "./Output.js";
|
|
62
|
+
import { CurrentRuntimeContext, unpackEnvValue } from "./RuntimeContext.js";
|
|
63
|
+
/**
|
|
64
|
+
* Read one bound value back at runtime. `rc.set` packs values for the env
|
|
65
|
+
* var wire (plain values JSON-stringified, `Redacted` as a marker routed
|
|
66
|
+
* through the secret channel), so the raw env string must be unpacked with
|
|
67
|
+
* {@link unpackEnvValue} — it handles all three shapes (packed JSON,
|
|
68
|
+
* Redacted marker, and a raw string set directly in the environment).
|
|
69
|
+
*/
|
|
70
|
+
const readBoundValue = (key) => Config.string(key).pipe(Config.withDefault(undefined), Effect.orElseSucceed(() => undefined), Effect.map((raw) => {
|
|
71
|
+
if (raw === undefined || raw === "") {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const value = unpackEnvValue(raw);
|
|
75
|
+
return Redacted.isRedacted(value) ? Redacted.value(value) : value;
|
|
76
|
+
}));
|
|
77
|
+
const readBound = (key) => readBoundValue(key).pipe(Effect.map((inner) => inner === undefined
|
|
78
|
+
? undefined
|
|
79
|
+
: typeof inner === "string"
|
|
80
|
+
? inner
|
|
81
|
+
: String(inner)));
|
|
82
|
+
/**
|
|
83
|
+
* `service.name` fallback chain for the default exporter: the standard
|
|
84
|
+
* OTEL variable, then the physical Function/Worker name, then the stack
|
|
85
|
+
* name. `OtlpResource.fromConfig` dies without a service name, so the
|
|
86
|
+
* chain must always produce one.
|
|
87
|
+
*/
|
|
88
|
+
const defaultServiceName = Effect.gen(function* () {
|
|
89
|
+
return ((yield* readBound("OTEL_SERVICE_NAME")) ??
|
|
90
|
+
(yield* readBound("ALCHEMY_WORKER_NAME")) ??
|
|
91
|
+
(yield* readBound("AWS_LAMBDA_FUNCTION_NAME")) ??
|
|
92
|
+
(yield* readBound("ALCHEMY_STACK_NAME")) ??
|
|
93
|
+
"alchemy");
|
|
94
|
+
});
|
|
95
|
+
const defaultResource = Effect.gen(function* () {
|
|
96
|
+
const serviceName = yield* defaultServiceName;
|
|
97
|
+
const stack = yield* readBound("ALCHEMY_STACK_NAME");
|
|
98
|
+
const stage = yield* readBound("ALCHEMY_STAGE");
|
|
99
|
+
return {
|
|
100
|
+
serviceName,
|
|
101
|
+
attributes: {
|
|
102
|
+
...(stack !== undefined ? { "alchemy.stack": stack } : undefined),
|
|
103
|
+
...(stage !== undefined ? { "alchemy.stage": stage } : undefined),
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
/**
|
|
108
|
+
* Parse the OpenTelemetry `OTEL_EXPORTER_OTLP_HEADERS` format:
|
|
109
|
+
* `key1=value1,key2=value2` with URL-encoded values.
|
|
110
|
+
*/
|
|
111
|
+
const parseOtlpHeaders = (raw) => {
|
|
112
|
+
if (raw === undefined || raw === "") {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
const headers = {};
|
|
116
|
+
for (const entry of raw.split(",")) {
|
|
117
|
+
const eq = entry.indexOf("=");
|
|
118
|
+
if (eq === -1) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const key = entry.slice(0, eq).trim();
|
|
122
|
+
if (key === "") {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const value = entry.slice(eq + 1).trim();
|
|
126
|
+
try {
|
|
127
|
+
headers[key] = decodeURIComponent(value);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
headers[key] = value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return headers;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* The single env binding carrying every configured destination as a JSON
|
|
137
|
+
* array of {@link ResolvedDestination}. One key (instead of per-signal
|
|
138
|
+
* keys) is what lets multiple `layerOtlp` layers compose — each layer
|
|
139
|
+
* build appends its destination and rebinds the full list.
|
|
140
|
+
*/
|
|
141
|
+
const EXPORTERS_KEY = "ALCHEMY_OTEL_EXPORTERS";
|
|
142
|
+
/**
|
|
143
|
+
* Resolve one signal's endpoint + headers from the standard OpenTelemetry
|
|
144
|
+
* env vars (`OTEL_EXPORTER_OTLP_{SIGNAL}_ENDPOINT` as-is, or the base
|
|
145
|
+
* endpoint with `/v1/{signal}` appended; headers per-signal → base). This
|
|
146
|
+
* forms an *implicit extra destination*, so platform-injected OTLP config
|
|
147
|
+
* exports without any layer.
|
|
148
|
+
*/
|
|
149
|
+
const signalConfig = (signal) => Effect.gen(function* () {
|
|
150
|
+
const specific = yield* readBound(`OTEL_EXPORTER_OTLP_${signal}_ENDPOINT`);
|
|
151
|
+
const base = yield* readBound("OTEL_EXPORTER_OTLP_ENDPOINT");
|
|
152
|
+
const url = specific !== undefined && specific !== ""
|
|
153
|
+
? specific
|
|
154
|
+
: base !== undefined && base !== ""
|
|
155
|
+
? `${base.replace(/\/$/, "")}/v1/${signal.toLowerCase()}`
|
|
156
|
+
: undefined;
|
|
157
|
+
if (url === undefined) {
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
const rawHeaders = (yield* readBound(`OTEL_EXPORTER_OTLP_${signal}_HEADERS`)) ??
|
|
161
|
+
(yield* readBound("OTEL_EXPORTER_OTLP_HEADERS"));
|
|
162
|
+
return { url, headers: parseOtlpHeaders(rawHeaders) };
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* Sentinel URLs the single exporter set posts to; the fanout client
|
|
166
|
+
* rewrites each POST to every configured destination for that signal.
|
|
167
|
+
* Serializing once through one exporter per signal is what keeps span ids
|
|
168
|
+
* consistent across destinations — Effect has a single `Tracer` service,
|
|
169
|
+
* so per-destination tracers would generate divergent trace ids.
|
|
170
|
+
*/
|
|
171
|
+
const SENTINEL = {
|
|
172
|
+
traces: "http://telemetry.alchemy.internal/v1/traces",
|
|
173
|
+
logs: "http://telemetry.alchemy.internal/v1/logs",
|
|
174
|
+
metrics: "http://telemetry.alchemy.internal/v1/metrics",
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Wrap the ambient `HttpClient` so a POST to a sentinel URL is re-sent to
|
|
178
|
+
* every destination configured for that signal (with the destination's own
|
|
179
|
+
* headers). A single healthy destination keeps the exporter alive: the
|
|
180
|
+
* first 2xx response is returned; per-destination failures are logged at
|
|
181
|
+
* debug and only surface when every destination fails.
|
|
182
|
+
*/
|
|
183
|
+
const fanoutClient = (routes) => Layer.effect(HttpClient.HttpClient, Effect.gen(function* () {
|
|
184
|
+
const base = yield* HttpClient.HttpClient;
|
|
185
|
+
return HttpClient.transform(base, (effect, request) => {
|
|
186
|
+
const targets = routes.get(request.url);
|
|
187
|
+
if (targets === undefined) {
|
|
188
|
+
return effect;
|
|
189
|
+
}
|
|
190
|
+
return Effect.gen(function* () {
|
|
191
|
+
const results = yield* Effect.all(targets.map((target) => Effect.result(base.execute(request.pipe(HttpClientRequest.setUrl(target.url), HttpClientRequest.setHeaders(target.headers ?? {}))))), { concurrency: "unbounded" });
|
|
192
|
+
const healthy = results.find((result) => Result.isSuccess(result) &&
|
|
193
|
+
result.success.status >= 200 &&
|
|
194
|
+
result.success.status < 300);
|
|
195
|
+
const anySuccess = healthy ?? results.find((result) => Result.isSuccess(result));
|
|
196
|
+
if (anySuccess !== undefined && Result.isSuccess(anySuccess)) {
|
|
197
|
+
for (const result of results) {
|
|
198
|
+
if (result !== anySuccess && Result.isFailure(result)) {
|
|
199
|
+
yield* Effect.logDebug("telemetry destination failed", result.failure);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return anySuccess.success;
|
|
203
|
+
}
|
|
204
|
+
const failure = results.find((result) => Result.isFailure(result));
|
|
205
|
+
return yield* failure !== undefined && Result.isFailure(failure)
|
|
206
|
+
? Effect.fail(failure.failure)
|
|
207
|
+
: effect;
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
}));
|
|
211
|
+
const makeExporterLayer = (options) => Layer.unwrap(Effect.gen(function* () {
|
|
212
|
+
// Depending on the secret/plain packing path, the bound list arrives
|
|
213
|
+
// as a JSON string or already parsed into an array.
|
|
214
|
+
const rawList = yield* readBoundValue(EXPORTERS_KEY);
|
|
215
|
+
const bound = Array.isArray(rawList)
|
|
216
|
+
? rawList
|
|
217
|
+
: typeof rawList === "string" && rawList !== ""
|
|
218
|
+
? yield* Effect.try(() => JSON.parse(rawList))
|
|
219
|
+
: [];
|
|
220
|
+
// The standard OTEL_* env vars form an implicit extra destination.
|
|
221
|
+
const [stdTraces, stdLogs, stdMetrics] = yield* Effect.all([
|
|
222
|
+
signalConfig("TRACES"),
|
|
223
|
+
signalConfig("LOGS"),
|
|
224
|
+
signalConfig("METRICS"),
|
|
225
|
+
]);
|
|
226
|
+
const destinations = [
|
|
227
|
+
...bound,
|
|
228
|
+
...(stdTraces || stdLogs || stdMetrics
|
|
229
|
+
? [{ traces: stdTraces, logs: stdLogs, metrics: stdMetrics }]
|
|
230
|
+
: []),
|
|
231
|
+
];
|
|
232
|
+
const targets = (signal) => destinations.flatMap((destination) => {
|
|
233
|
+
const resolved = destination[signal];
|
|
234
|
+
return resolved !== undefined ? [resolved] : [];
|
|
235
|
+
});
|
|
236
|
+
const traces = targets("traces");
|
|
237
|
+
const logs = targets("logs");
|
|
238
|
+
const metrics = targets("metrics");
|
|
239
|
+
if (traces.length === 0 && logs.length === 0 && metrics.length === 0) {
|
|
240
|
+
return Layer.empty;
|
|
241
|
+
}
|
|
242
|
+
const resource = yield* defaultResource;
|
|
243
|
+
const routes = new Map();
|
|
244
|
+
const layers = [];
|
|
245
|
+
if (traces.length > 0) {
|
|
246
|
+
routes.set(SENTINEL.traces, traces);
|
|
247
|
+
layers.push(OtlpTracer.layer({
|
|
248
|
+
url: SENTINEL.traces,
|
|
249
|
+
resource,
|
|
250
|
+
exportInterval: options?.exportInterval,
|
|
251
|
+
}));
|
|
252
|
+
}
|
|
253
|
+
if (logs.length > 0) {
|
|
254
|
+
routes.set(SENTINEL.logs, logs);
|
|
255
|
+
layers.push(OtlpLogger.layer({
|
|
256
|
+
url: SENTINEL.logs,
|
|
257
|
+
resource,
|
|
258
|
+
exportInterval: options?.exportInterval,
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
if (metrics.length > 0) {
|
|
262
|
+
routes.set(SENTINEL.metrics, metrics);
|
|
263
|
+
layers.push(OtlpMetrics.layer({
|
|
264
|
+
url: SENTINEL.metrics,
|
|
265
|
+
resource,
|
|
266
|
+
exportInterval: options?.exportInterval,
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
return Layer.mergeAll(...layers).pipe(Layer.provide(OtlpSerialization.layerJson), Layer.provide(fanoutClient(routes)));
|
|
270
|
+
}).pipe(Effect.catchCause((cause) => Effect.logWarning("Invalid telemetry configuration; telemetry disabled", cause).pipe(Effect.as(Layer.empty)))));
|
|
271
|
+
/**
|
|
272
|
+
* The runtime half of the {@link layerOtlp} binding, and the default
|
|
273
|
+
* per-event Layer: reads the bound `OTEL_EXPORTER_OTLP_*` values back and
|
|
274
|
+
* constructs the OTLP JSON exporters. Each signal resolves independently;
|
|
275
|
+
* only configured signals export; resolves to `Layer.empty` when nothing is
|
|
276
|
+
* bound, so telemetry is free until a layer is provided.
|
|
277
|
+
*
|
|
278
|
+
* The periodic export intervals are effectively disabled: the exporter is
|
|
279
|
+
* built per event and the request-scope flush delivers everything. An
|
|
280
|
+
* interval export firing mid-event would race the scope close — the close
|
|
281
|
+
* interrupts the exporter's in-flight batch (already spliced out of the
|
|
282
|
+
* buffer), silently dropping it. Lambda invocations regularly outlive the
|
|
283
|
+
* 1-second logger interval, which is exactly how this was discovered.
|
|
284
|
+
*
|
|
285
|
+
* A malformed configuration degrades to `Layer.empty` with a warning
|
|
286
|
+
* instead of failing the event.
|
|
287
|
+
*/
|
|
288
|
+
const fromBoundConfig = makeExporterLayer({
|
|
289
|
+
exportInterval: "1 hour",
|
|
290
|
+
});
|
|
291
|
+
/**
|
|
292
|
+
* The process-runtime half of the binding: same bound-value resolution with
|
|
293
|
+
* the standard periodic export intervals, since a server's root scope only
|
|
294
|
+
* flushes at shutdown.
|
|
295
|
+
*/
|
|
296
|
+
const fromBoundConfigProcess = makeExporterLayer();
|
|
297
|
+
/**
|
|
298
|
+
* The per-event telemetry exporters, as a `Context.Reference` holding the
|
|
299
|
+
* Layer the runtime bridges build into every event's request scope.
|
|
300
|
+
* Provide it via {@link layerOtlp} / {@link layer} rather than directly —
|
|
301
|
+
* see the module documentation.
|
|
302
|
+
*/
|
|
303
|
+
export const Telemetry = Context.Reference("alchemy/Telemetry", {
|
|
304
|
+
defaultValue: () => fromBoundConfig,
|
|
305
|
+
});
|
|
306
|
+
const reference = Telemetry;
|
|
307
|
+
/**
|
|
308
|
+
* Install a custom telemetry Layer (any Layer providing a `Tracer`,
|
|
309
|
+
* loggers, and/or metric exporters). It is built once per event into the
|
|
310
|
+
* event's request scope, so scoped exporters flush when the request scope
|
|
311
|
+
* finalizes.
|
|
312
|
+
*
|
|
313
|
+
* Custom layers COMPOSE with the built-in OTLP destinations and with each
|
|
314
|
+
* other: loggers and metric exporters merge; a custom `Tracer` (a single
|
|
315
|
+
* Effect service) replaces the built-in one.
|
|
316
|
+
*
|
|
317
|
+
* Provide it on the Function/Worker's init Effect (merged into the single
|
|
318
|
+
* `Effect.provide`): building the returned Layer registers the exporter
|
|
319
|
+
* Layer on the current runtime context, where the runtime bridges pick it
|
|
320
|
+
* up per event. Handlers' request-time context is assembled by the bridge,
|
|
321
|
+
* so a plain `Layer.succeed` of the reference on the init Effect would
|
|
322
|
+
* never reach them — the registration is what makes it visible at request
|
|
323
|
+
* time.
|
|
324
|
+
*/
|
|
325
|
+
export const layer = (exporter) => Layer.effect(reference, Effect.gen(function* () {
|
|
326
|
+
const ctx = yield* CurrentRuntimeContext;
|
|
327
|
+
if (ctx !== undefined) {
|
|
328
|
+
ctx.telemetry =
|
|
329
|
+
ctx.telemetry === undefined
|
|
330
|
+
? exporter
|
|
331
|
+
: Layer.mergeAll(ctx.telemetry, exporter);
|
|
332
|
+
}
|
|
333
|
+
return exporter;
|
|
334
|
+
}));
|
|
335
|
+
/**
|
|
336
|
+
* Per-runtime-context accumulator: every `layerOtlp` layer built for
|
|
337
|
+
* the same host appends its destination here and rebinds the full list, so
|
|
338
|
+
* merged layers compose instead of clobbering each other.
|
|
339
|
+
*/
|
|
340
|
+
const rcDestinations = new WeakMap();
|
|
341
|
+
/**
|
|
342
|
+
* Compose the full destination list into a single Output: capture every
|
|
343
|
+
* Input (urls, header values) into an `Output.all`, then materialize the
|
|
344
|
+
* JSON array of {@link ResolvedDestination}. If any captured value is
|
|
345
|
+
* `Redacted`, the whole JSON binds as a secret.
|
|
346
|
+
*/
|
|
347
|
+
const destinationsOutput = (list) => {
|
|
348
|
+
const inputs = [];
|
|
349
|
+
const capture = (value) => {
|
|
350
|
+
inputs.push(value);
|
|
351
|
+
return { $input: inputs.length - 1 };
|
|
352
|
+
};
|
|
353
|
+
const captureHeaders = (headers) => headers === undefined
|
|
354
|
+
? undefined
|
|
355
|
+
: Object.fromEntries(Object.entries(headers).map(([key, value]) => [key, capture(value)]));
|
|
356
|
+
const template = list.map((options) => ({
|
|
357
|
+
url: options.url !== undefined ? capture(options.url) : undefined,
|
|
358
|
+
headers: captureHeaders(options.headers),
|
|
359
|
+
traces: options.traces && {
|
|
360
|
+
url: capture(options.traces.url),
|
|
361
|
+
headers: captureHeaders(options.traces.headers),
|
|
362
|
+
},
|
|
363
|
+
logs: options.logs && {
|
|
364
|
+
url: capture(options.logs.url),
|
|
365
|
+
headers: captureHeaders(options.logs.headers),
|
|
366
|
+
},
|
|
367
|
+
metrics: options.metrics && {
|
|
368
|
+
url: capture(options.metrics.url),
|
|
369
|
+
headers: captureHeaders(options.metrics.headers),
|
|
370
|
+
},
|
|
371
|
+
}));
|
|
372
|
+
return Output.all(...inputs.map((input) => Output.asOutput(input))).pipe(Output.map((values) => {
|
|
373
|
+
let secret = false;
|
|
374
|
+
const resolve = (placeholder) => {
|
|
375
|
+
let value = values[placeholder.$input];
|
|
376
|
+
if (Redacted.isRedacted(value)) {
|
|
377
|
+
secret = true;
|
|
378
|
+
value = Redacted.value(value);
|
|
379
|
+
}
|
|
380
|
+
return typeof value === "string" ? value : String(value);
|
|
381
|
+
};
|
|
382
|
+
const resolveHeaders = (headers) => headers === undefined
|
|
383
|
+
? undefined
|
|
384
|
+
: Object.fromEntries(Object.entries(headers).map(([key, value]) => [
|
|
385
|
+
key,
|
|
386
|
+
resolve(value),
|
|
387
|
+
]));
|
|
388
|
+
const resolveSignal = (entry, base, path) => {
|
|
389
|
+
if (entry !== undefined) {
|
|
390
|
+
return {
|
|
391
|
+
url: resolve(entry.url),
|
|
392
|
+
headers: resolveHeaders(entry.headers),
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
if (base.url !== undefined) {
|
|
396
|
+
return {
|
|
397
|
+
url: `${resolve(base.url).replace(/\/$/, "")}/v1/${path}`,
|
|
398
|
+
headers: resolveHeaders(base.headers),
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
return undefined;
|
|
402
|
+
};
|
|
403
|
+
const destinations = template.flatMap((entry) => {
|
|
404
|
+
const destination = {
|
|
405
|
+
traces: resolveSignal(entry.traces, entry, "traces"),
|
|
406
|
+
logs: resolveSignal(entry.logs, entry, "logs"),
|
|
407
|
+
metrics: resolveSignal(entry.metrics, entry, "metrics"),
|
|
408
|
+
};
|
|
409
|
+
return destination.traces || destination.logs || destination.metrics
|
|
410
|
+
? [destination]
|
|
411
|
+
: [];
|
|
412
|
+
});
|
|
413
|
+
const json = JSON.stringify(destinations);
|
|
414
|
+
return secret ? Redacted.make(json) : json;
|
|
415
|
+
}));
|
|
416
|
+
};
|
|
417
|
+
/**
|
|
418
|
+
* The built-in OTLP exporter as a *binding* layer.
|
|
419
|
+
*
|
|
420
|
+
* At deploy time, building this layer binds the configured urls and
|
|
421
|
+
* headers onto the host Function/Worker (Redacted values as secret
|
|
422
|
+
* bindings) — url and header values accept resource Outputs, so exporter
|
|
423
|
+
* config is wired from resources like any other binding. At runtime the
|
|
424
|
+
* exporter reads the bound values back and ships traces, logs, and metrics
|
|
425
|
+
* over OTLP/HTTP JSON, flushed as each event's scope closes.
|
|
426
|
+
*
|
|
427
|
+
* Exporters COMPOSE: merge several `otlp` layers (or vendor sugar like
|
|
428
|
+
* `Axiom.Telemetry`) and every destination receives the telemetry — spans
|
|
429
|
+
* are serialized once, so trace/span ids agree across destinations:
|
|
430
|
+
*
|
|
431
|
+
* ```ts
|
|
432
|
+
* Effect.provide(
|
|
433
|
+
* Layer.mergeAll(
|
|
434
|
+
* Cloudflare.R2.ReadWriteBucketBinding,
|
|
435
|
+
* Axiom.Telemetry({ token: Ingest, traces: Traces, logs: Logs }),
|
|
436
|
+
* Alchemy.Telemetry.layerOtlp({
|
|
437
|
+
* url: "https://api.honeycomb.io",
|
|
438
|
+
* headers: { "x-honeycomb-team": apiKey },
|
|
439
|
+
* }),
|
|
440
|
+
* ),
|
|
441
|
+
* )
|
|
442
|
+
* ```
|
|
443
|
+
*/
|
|
444
|
+
export const layerOtlp = (options) => Layer.effect(reference, Effect.gen(function* () {
|
|
445
|
+
const rc = yield* CurrentRuntimeContext;
|
|
446
|
+
if (rc !== undefined && !globalThis.__ALCHEMY_RUNTIME__) {
|
|
447
|
+
// Accumulate this destination with any bound by sibling layers on
|
|
448
|
+
// the same host, and rebind the full list (rebinding the same key
|
|
449
|
+
// just overwrites, so build order doesn't matter).
|
|
450
|
+
const list = rcDestinations.get(rc) ?? [];
|
|
451
|
+
list.push(options);
|
|
452
|
+
rcDestinations.set(rc, list);
|
|
453
|
+
yield* rc.set(EXPORTERS_KEY, destinationsOutput(list));
|
|
454
|
+
if (options.serviceName !== undefined) {
|
|
455
|
+
yield* rc.set("OTEL_SERVICE_NAME", Output.asOutput(options.serviceName));
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
// The runtime half reads the bound destinations back per event (or
|
|
459
|
+
// once per process via `provideProcessTelemetry`).
|
|
460
|
+
return fromBoundConfig;
|
|
461
|
+
}));
|
|
462
|
+
/**
|
|
463
|
+
* Build the configured {@link Telemetry} Layer into an event's request
|
|
464
|
+
* scope, returning the Context of telemetry services to provide to the
|
|
465
|
+
* event's handler effect.
|
|
466
|
+
*
|
|
467
|
+
* Called by the runtime bridges (Worker, Durable Object, Workflow, Lambda)
|
|
468
|
+
* once per event. Building into the *request* scope — not the
|
|
469
|
+
* never-finalized isolate scope — is what makes export work on workerd:
|
|
470
|
+
* the batching fiber lives inside the event's I/O context and the final
|
|
471
|
+
* flush runs from the scope's finalizer, which the bridges register with
|
|
472
|
+
* `ctx.waitUntil`.
|
|
473
|
+
*
|
|
474
|
+
* A failed build (bad user Layer, config error) degrades to an empty
|
|
475
|
+
* Context with a warning instead of failing the event.
|
|
476
|
+
*
|
|
477
|
+
* `override` is the (possibly merged) custom Layer registered on the
|
|
478
|
+
* runtime context by {@link layer} during init. It composes with
|
|
479
|
+
* — rather than replaces — the bound OTLP destinations: loggers and metric
|
|
480
|
+
* exporters merge, and a custom `Tracer` (a single Effect service) wins
|
|
481
|
+
* over the built-in one.
|
|
482
|
+
*
|
|
483
|
+
* Declared `R = never`: the Layer's actual requirements (`HttpClient`,
|
|
484
|
+
* `ConfigProvider`, …) are satisfied at runtime by the bridge's surrounding
|
|
485
|
+
* `Effect.provide` of the built runtime context.
|
|
486
|
+
*/
|
|
487
|
+
export const buildEventTelemetry = (context, scope, override, base) => Effect.suspend(() => {
|
|
488
|
+
const bound = base ?? Context.get(context, reference);
|
|
489
|
+
return Layer.buildWithScope(override === undefined ? bound : Layer.mergeAll(bound, override), scope);
|
|
490
|
+
}).pipe(Effect.catchCause((cause) => Effect.logWarning("Failed to build telemetry layer", cause).pipe(Effect.as(Context.empty()))));
|
|
491
|
+
/**
|
|
492
|
+
* Provide telemetry to a long-running server process (Cloudflare Container,
|
|
493
|
+
* ECS Task, EC2 host, Lambda microVM).
|
|
494
|
+
*
|
|
495
|
+
* Unlike the per-event runtime bridges, server processes have no I/O-context
|
|
496
|
+
* pinning and a real shutdown: the configured {@link Telemetry} Layer is
|
|
497
|
+
* built ONCE into the ambient root scope, exporters batch on their intervals
|
|
498
|
+
* for the life of the process, and the final flush runs when the root scope
|
|
499
|
+
* closes on graceful exit.
|
|
500
|
+
*
|
|
501
|
+
* `runtimeContext` is the entrypoint's runtime context; its `telemetry`
|
|
502
|
+
* field carries the custom Layer(s) registered by {@link layer}
|
|
503
|
+
* during init, composed with the bound OTLP destinations (read with the
|
|
504
|
+
* standard periodic export intervals).
|
|
505
|
+
*/
|
|
506
|
+
export const provideProcessTelemetry = (runtimeContext) => (effect) => Effect.gen(function* () {
|
|
507
|
+
const context = yield* Effect.context();
|
|
508
|
+
const scope = yield* Effect.scope;
|
|
509
|
+
const telemetry = yield* buildEventTelemetry(context, scope, runtimeContext?.telemetry, fromBoundConfigProcess);
|
|
510
|
+
return yield* Effect.provideContext(effect, telemetry);
|
|
511
|
+
});
|
|
512
|
+
//# sourceMappingURL=Telemetry.js.map
|