alchemy 2.0.0-beta.61 → 2.0.0-beta.63
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/README.md +26 -11
- package/bin/exec.js +2023 -75
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
- package/lib/AWS/ACM/Certificate.js +16 -4
- package/lib/AWS/ACM/Certificate.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/common.js +6 -3
- package/lib/AWS/ApiGateway/common.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +2 -2
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.js +8 -2
- package/lib/AWS/AutoScaling/AutoScalingGroup.js.map +1 -1
- package/lib/AWS/Bootstrap.d.ts.map +1 -1
- package/lib/AWS/Bootstrap.js +5 -2
- package/lib/AWS/Bootstrap.js.map +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Distribution.js +20 -5
- package/lib/AWS/CloudFront/Distribution.js.map +1 -1
- package/lib/AWS/CloudFront/Function.js +5 -2
- package/lib/AWS/CloudFront/Function.js.map +1 -1
- package/lib/AWS/CloudFront/Invalidation.d.ts.map +1 -1
- package/lib/AWS/CloudFront/Invalidation.js +4 -1
- package/lib/AWS/CloudFront/Invalidation.js.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.d.ts.map +1 -1
- package/lib/AWS/CloudFront/KvEntries.js +4 -1
- package/lib/AWS/CloudFront/KvEntries.js.map +1 -1
- package/lib/AWS/CloudFront/KvRoutesUpdate.d.ts.map +1 -1
- package/lib/AWS/CloudFront/KvRoutesUpdate.js +8 -2
- package/lib/AWS/CloudFront/KvRoutesUpdate.js.map +1 -1
- package/lib/AWS/CloudFront/VpcOrigin.d.ts.map +1 -1
- package/lib/AWS/CloudFront/VpcOrigin.js +12 -3
- package/lib/AWS/CloudFront/VpcOrigin.js.map +1 -1
- package/lib/AWS/CloudFront/common.d.ts.map +1 -1
- package/lib/AWS/CloudFront/common.js +5 -2
- package/lib/AWS/CloudFront/common.js.map +1 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.js +4 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.js.map +1 -1
- package/lib/AWS/CloudWatch/common.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/common.js +1 -1
- package/lib/AWS/CloudWatch/common.js.map +1 -1
- package/lib/AWS/DynamoDB/Table.d.ts.map +1 -1
- package/lib/AWS/DynamoDB/Table.js +53 -20
- package/lib/AWS/DynamoDB/Table.js.map +1 -1
- package/lib/AWS/EC2/EIP.d.ts.map +1 -1
- package/lib/AWS/EC2/EIP.js +4 -1
- package/lib/AWS/EC2/EIP.js.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js +4 -2
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.js +12 -3
- package/lib/AWS/EC2/Instance.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +12 -5
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/NatGateway.js +2 -4
- package/lib/AWS/EC2/NatGateway.js.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.js +4 -1
- package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
- package/lib/AWS/EC2/NetworkAclEntry.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAclEntry.js +4 -1
- package/lib/AWS/EC2/NetworkAclEntry.js.map +1 -1
- package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
- package/lib/AWS/EC2/RouteTable.js +8 -6
- package/lib/AWS/EC2/RouteTable.js.map +1 -1
- package/lib/AWS/EC2/RouteTableAssociation.js +2 -5
- package/lib/AWS/EC2/RouteTableAssociation.js.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.js +8 -3
- 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 +10 -6
- 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 +7 -7
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/VpcEndpoint.js +2 -4
- package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +2 -1
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +4 -1
- package/lib/AWS/ECS/Service.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +2 -1
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/EKS/Addon.js +8 -2
- package/lib/AWS/EKS/Addon.js.map +1 -1
- package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
- package/lib/AWS/EKS/Cluster.js +4 -1
- package/lib/AWS/EKS/Cluster.js.map +1 -1
- package/lib/AWS/ELBv2/TargetGroup.d.ts.map +1 -1
- package/lib/AWS/ELBv2/TargetGroup.js +4 -1
- package/lib/AWS/ELBv2/TargetGroup.js.map +1 -1
- package/lib/AWS/ELBv2/TrustStore.d.ts.map +1 -1
- package/lib/AWS/ELBv2/TrustStore.js +4 -1
- package/lib/AWS/ELBv2/TrustStore.js.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.js +4 -1
- package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
- package/lib/AWS/IdentityCenter/AccountAssignment.js +8 -2
- package/lib/AWS/IdentityCenter/AccountAssignment.js.map +1 -1
- package/lib/AWS/IdentityCenter/common.d.ts.map +1 -1
- package/lib/AWS/IdentityCenter/common.js +1 -1
- package/lib/AWS/IdentityCenter/common.js.map +1 -1
- package/lib/AWS/KMS/Alias.js +4 -1
- package/lib/AWS/KMS/Alias.js.map +1 -1
- package/lib/AWS/KMS/Key.js +4 -1
- package/lib/AWS/KMS/Key.js.map +1 -1
- package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
- package/lib/AWS/Kinesis/Stream.js +2 -2
- package/lib/AWS/Kinesis/Stream.js.map +1 -1
- package/lib/AWS/Kinesis/StreamConsumer.d.ts.map +1 -1
- package/lib/AWS/Kinesis/StreamConsumer.js +7 -4
- package/lib/AWS/Kinesis/StreamConsumer.js.map +1 -1
- package/lib/AWS/Lambda/Alias.d.ts.map +1 -1
- package/lib/AWS/Lambda/Alias.js +4 -1
- package/lib/AWS/Lambda/Alias.js.map +1 -1
- package/lib/AWS/Lambda/EventInvokeConfig.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventInvokeConfig.js +2 -2
- package/lib/AWS/Lambda/EventInvokeConfig.js.map +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.js +10 -4
- package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +16 -1
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +113 -65
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmProvider.js +13 -5
- package/lib/AWS/Lambda/MicrovmProvider.js.map +1 -1
- package/lib/AWS/Lambda/MicrovmRuntimeContext.d.ts.map +1 -1
- package/lib/AWS/Lambda/MicrovmRuntimeContext.js +9 -21
- package/lib/AWS/Lambda/MicrovmRuntimeContext.js.map +1 -1
- package/lib/AWS/Lambda/NetworkConnector.js +13 -5
- package/lib/AWS/Lambda/NetworkConnector.js.map +1 -1
- package/lib/AWS/Lambda/RuntimeExtension.d.ts +27 -0
- package/lib/AWS/Lambda/RuntimeExtension.d.ts.map +1 -0
- package/lib/AWS/Lambda/RuntimeExtension.js +49 -0
- package/lib/AWS/Lambda/RuntimeExtension.js.map +1 -0
- package/lib/AWS/Organizations/Account.js +5 -2
- package/lib/AWS/Organizations/Account.js.map +1 -1
- package/lib/AWS/Organizations/common.d.ts.map +1 -1
- package/lib/AWS/Organizations/common.js +1 -1
- package/lib/AWS/Organizations/common.js.map +1 -1
- package/lib/AWS/Providers.js +14 -12
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/RDS/DBCluster.d.ts.map +1 -1
- package/lib/AWS/RDS/DBCluster.js +8 -2
- package/lib/AWS/RDS/DBCluster.js.map +1 -1
- package/lib/AWS/RDS/DBInstance.d.ts.map +1 -1
- package/lib/AWS/RDS/DBInstance.js +8 -2
- package/lib/AWS/RDS/DBInstance.js.map +1 -1
- package/lib/AWS/RDS/DBProxy.d.ts.map +1 -1
- package/lib/AWS/RDS/DBProxy.js +4 -1
- package/lib/AWS/RDS/DBProxy.js.map +1 -1
- package/lib/AWS/RDS/DBProxyEndpoint.d.ts.map +1 -1
- package/lib/AWS/RDS/DBProxyEndpoint.js +4 -1
- package/lib/AWS/RDS/DBProxyEndpoint.js.map +1 -1
- package/lib/AWS/Route53/HealthCheck.d.ts.map +1 -1
- package/lib/AWS/Route53/HealthCheck.js +8 -2
- package/lib/AWS/Route53/HealthCheck.js.map +1 -1
- package/lib/AWS/Route53/HostedZone.d.ts.map +1 -1
- package/lib/AWS/Route53/HostedZone.js +8 -2
- package/lib/AWS/Route53/HostedZone.js.map +1 -1
- package/lib/AWS/Route53/Record.d.ts.map +1 -1
- package/lib/AWS/Route53/Record.js +4 -1
- package/lib/AWS/Route53/Record.js.map +1 -1
- package/lib/AWS/S3/Bucket.d.ts.map +1 -1
- package/lib/AWS/S3/Bucket.js +5 -2
- package/lib/AWS/S3/Bucket.js.map +1 -1
- package/lib/AWS/SQS/Queue.d.ts.map +1 -1
- package/lib/AWS/SQS/Queue.js +25 -7
- package/lib/AWS/SQS/Queue.js.map +1 -1
- package/lib/AWS/StateStore/State.js +5 -2
- package/lib/AWS/StateStore/State.js.map +1 -1
- package/lib/AWS/Website/AssetDeployment.js +5 -2
- package/lib/AWS/Website/AssetDeployment.js.map +1 -1
- package/lib/Action.d.ts +8 -0
- package/lib/Action.d.ts.map +1 -1
- package/lib/Action.js +16 -5
- package/lib/Action.js.map +1 -1
- package/lib/ActionRuntimeContext.d.ts +14 -0
- package/lib/ActionRuntimeContext.d.ts.map +1 -0
- package/lib/ActionRuntimeContext.js +56 -0
- package/lib/ActionRuntimeContext.js.map +1 -0
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +48 -6
- package/lib/Apply.js.map +1 -1
- package/lib/Auth/AuthProvider.d.ts +10 -0
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +10 -0
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Lock.d.ts.map +1 -1
- package/lib/Auth/Lock.js +5 -2
- package/lib/Auth/Lock.js.map +1 -1
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/AuthProvider.js +1 -1
- package/lib/Axiom/AuthProvider.js.map +1 -1
- package/lib/Bundle/PurePlugin.d.ts.map +1 -1
- package/lib/Bundle/PurePlugin.js +26 -1
- package/lib/Bundle/PurePlugin.js.map +1 -1
- package/lib/Bundle/Vite.d.ts +3 -1
- package/lib/Bundle/Vite.d.ts.map +1 -1
- package/lib/Bundle/Vite.js +38 -13
- package/lib/Bundle/Vite.js.map +1 -1
- package/lib/Cli/LoggingCli.d.ts.map +1 -1
- package/lib/Cli/LoggingCli.js +7 -4
- package/lib/Cli/LoggingCli.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +74 -5
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +84 -2
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/login.d.ts +7 -3
- package/lib/Cli/commands/login.d.ts.map +1 -1
- package/lib/Cli/commands/login.js +71 -24
- package/lib/Cli/commands/login.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +1 -0
- 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 +15 -24
- package/lib/Cli/commands/nuke.js.map +1 -1
- package/lib/Cli/commands/profile.d.ts +23 -1
- package/lib/Cli/commands/profile.d.ts.map +1 -1
- package/lib/Cli/commands/profile.js +46 -22
- package/lib/Cli/commands/profile.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +1 -0
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.d.ts.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js +31 -2
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js.map +1 -1
- package/lib/Cloudflare/AI/LanguageModel.js +21 -4
- package/lib/Cloudflare/AI/LanguageModel.js.map +1 -1
- package/lib/Cloudflare/AI/QuerySearchLocal.d.ts +37 -0
- package/lib/Cloudflare/AI/QuerySearchLocal.d.ts.map +1 -0
- package/lib/Cloudflare/AI/QuerySearchLocal.js +53 -0
- package/lib/Cloudflare/AI/QuerySearchLocal.js.map +1 -0
- package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts +35 -0
- package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.d.ts.map +1 -0
- package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js +47 -0
- package/lib/Cloudflare/AI/QuerySearchNamespaceLocal.js.map +1 -0
- package/lib/Cloudflare/AI/SearchHttpClient.d.ts +34 -0
- package/lib/Cloudflare/AI/SearchHttpClient.d.ts.map +1 -0
- package/lib/Cloudflare/AI/SearchHttpClient.js +262 -0
- package/lib/Cloudflare/AI/SearchHttpClient.js.map +1 -0
- package/lib/Cloudflare/AI/SearchInstance.js +4 -1
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/AI/index.d.ts +2 -0
- package/lib/Cloudflare/AI/index.d.ts.map +1 -1
- package/lib/Cloudflare/AI/index.js +2 -0
- package/lib/Cloudflare/AI/index.js.map +1 -1
- package/lib/Cloudflare/Access/Application.d.ts.map +1 -1
- package/lib/Cloudflare/Access/Application.js +7 -1
- package/lib/Cloudflare/Access/Application.js.map +1 -1
- package/lib/Cloudflare/Alerting/Silence.d.ts.map +1 -1
- package/lib/Cloudflare/Alerting/Silence.js +4 -1
- package/lib/Cloudflare/Alerting/Silence.js.map +1 -1
- package/lib/Cloudflare/Alerting/Webhook.d.ts.map +1 -1
- package/lib/Cloudflare/Alerting/Webhook.js +8 -2
- package/lib/Cloudflare/Alerting/Webhook.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +23 -8
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/OAuthClient.js +6 -7
- package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.d.ts.map +1 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.js +7 -1
- package/lib/Cloudflare/Cache/RegionalTieredCache.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts +18 -2
- package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerApplication.js +1 -0
- package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts +29 -3
- package/lib/Cloudflare/Containers/ContainerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerBundle.js +84 -23
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerPlatform.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerPlatform.js +12 -33
- package/lib/Cloudflare/Containers/ContainerPlatform.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +53 -14
- package/lib/Cloudflare/Containers/ContainerProvider.js.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts +6 -6
- package/lib/Cloudflare/Containers/LocalContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/LocalContainerProvider.js +69 -47
- package/lib/Cloudflare/Containers/LocalContainerProvider.js.map +1 -1
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts +24 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.d.ts.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js +106 -0
- package/lib/Cloudflare/D1/QueryDatabaseHttpClient.js.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts +38 -0
- package/lib/Cloudflare/D1/QueryDatabaseLocal.d.ts.map +1 -0
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js +54 -0
- package/lib/Cloudflare/D1/QueryDatabaseLocal.js.map +1 -0
- package/lib/Cloudflare/D1/index.d.ts +1 -0
- package/lib/Cloudflare/D1/index.d.ts.map +1 -1
- package/lib/Cloudflare/D1/index.js +1 -0
- package/lib/Cloudflare/D1/index.js.map +1 -1
- package/lib/Cloudflare/DNS/DnsHttp.d.ts +16 -1
- package/lib/Cloudflare/DNS/DnsHttp.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/DnsHttp.js +6 -1
- package/lib/Cloudflare/DNS/DnsHttp.js.map +1 -1
- package/lib/Cloudflare/DNS/DnsLocal.d.ts +22 -0
- package/lib/Cloudflare/DNS/DnsLocal.d.ts.map +1 -0
- package/lib/Cloudflare/DNS/DnsLocal.js +31 -0
- package/lib/Cloudflare/DNS/DnsLocal.js.map +1 -0
- package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts +3 -3
- package/lib/Cloudflare/DNS/ReadDnsHttp.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ReadDnsHttp.js +3 -4
- package/lib/Cloudflare/DNS/ReadDnsHttp.js.map +1 -1
- package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts +32 -0
- package/lib/Cloudflare/DNS/ReadDnsLocal.d.ts.map +1 -0
- package/lib/Cloudflare/DNS/ReadDnsLocal.js +35 -0
- package/lib/Cloudflare/DNS/ReadDnsLocal.js.map +1 -0
- package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts +3 -3
- package/lib/Cloudflare/DNS/ReadWriteDnsHttp.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js +4 -4
- package/lib/Cloudflare/DNS/ReadWriteDnsHttp.js.map +1 -1
- package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts +40 -0
- package/lib/Cloudflare/DNS/ReadWriteDnsLocal.d.ts.map +1 -0
- package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js +43 -0
- package/lib/Cloudflare/DNS/ReadWriteDnsLocal.js.map +1 -0
- package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts +3 -3
- package/lib/Cloudflare/DNS/WriteDnsHttp.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/WriteDnsHttp.js +3 -4
- package/lib/Cloudflare/DNS/WriteDnsHttp.js.map +1 -1
- package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts +38 -0
- package/lib/Cloudflare/DNS/WriteDnsLocal.d.ts.map +1 -0
- package/lib/Cloudflare/DNS/WriteDnsLocal.js +41 -0
- package/lib/Cloudflare/DNS/WriteDnsLocal.js.map +1 -0
- package/lib/Cloudflare/DNS/index.d.ts +3 -0
- package/lib/Cloudflare/DNS/index.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/index.js +3 -0
- package/lib/Cloudflare/DNS/index.js.map +1 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js +4 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js.map +1 -1
- package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts +27 -0
- package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.d.ts.map +1 -0
- package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js +86 -0
- package/lib/Cloudflare/Flagship/ReadFlagsHttpClient.js.map +1 -0
- package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts +41 -0
- package/lib/Cloudflare/Flagship/ReadFlagsLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Flagship/ReadFlagsLocal.js +57 -0
- package/lib/Cloudflare/Flagship/ReadFlagsLocal.js.map +1 -0
- package/lib/Cloudflare/Flagship/index.d.ts +1 -0
- package/lib/Cloudflare/Flagship/index.d.ts.map +1 -1
- package/lib/Cloudflare/Flagship/index.js +1 -0
- package/lib/Cloudflare/Flagship/index.js.map +1 -1
- package/lib/Cloudflare/Images/Variant.d.ts.map +1 -1
- package/lib/Cloudflare/Images/Variant.js +4 -1
- package/lib/Cloudflare/Images/Variant.js.map +1 -1
- package/lib/Cloudflare/KV/NamespaceHttp.d.ts +16 -1
- package/lib/Cloudflare/KV/NamespaceHttp.d.ts.map +1 -1
- package/lib/Cloudflare/KV/NamespaceHttp.js +8 -2
- package/lib/Cloudflare/KV/NamespaceHttp.js.map +1 -1
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts +22 -0
- package/lib/Cloudflare/KV/NamespaceLocal.d.ts.map +1 -0
- package/lib/Cloudflare/KV/NamespaceLocal.js +32 -0
- package/lib/Cloudflare/KV/NamespaceLocal.js.map +1 -0
- package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts +2 -2
- package/lib/Cloudflare/KV/ReadNamespaceHttp.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceHttp.js +5 -6
- package/lib/Cloudflare/KV/ReadNamespaceHttp.js.map +1 -1
- package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts +27 -0
- package/lib/Cloudflare/KV/ReadNamespaceLocal.d.ts.map +1 -0
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js +30 -0
- package/lib/Cloudflare/KV/ReadNamespaceLocal.js.map +1 -0
- package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts +3 -3
- package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.d.ts.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js +6 -6
- package/lib/Cloudflare/KV/ReadWriteNamespaceHttp.js.map +1 -1
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts +34 -0
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.d.ts.map +1 -0
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js +37 -0
- package/lib/Cloudflare/KV/ReadWriteNamespaceLocal.js.map +1 -0
- package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts +2 -2
- package/lib/Cloudflare/KV/WriteNamespaceHttp.d.ts.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceHttp.js +5 -6
- package/lib/Cloudflare/KV/WriteNamespaceHttp.js.map +1 -1
- package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts +27 -0
- package/lib/Cloudflare/KV/WriteNamespaceLocal.d.ts.map +1 -0
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js +30 -0
- package/lib/Cloudflare/KV/WriteNamespaceLocal.js.map +1 -0
- package/lib/Cloudflare/KV/index.d.ts +3 -0
- package/lib/Cloudflare/KV/index.d.ts.map +1 -1
- package/lib/Cloudflare/KV/index.js +3 -0
- package/lib/Cloudflare/KV/index.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.js +4 -1
- package/lib/Cloudflare/LoadBalancer/Monitor.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.js +4 -1
- package/lib/Cloudflare/LoadBalancer/MonitorGroup.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Pool.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/Pool.js +4 -1
- package/lib/Cloudflare/LoadBalancer/Pool.js.map +1 -1
- package/lib/Cloudflare/LocalRuntime.d.ts +14 -0
- package/lib/Cloudflare/LocalRuntime.d.ts.map +1 -1
- package/lib/Cloudflare/LocalRuntime.js +1 -0
- package/lib/Cloudflare/LocalRuntime.js.map +1 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js +4 -1
- package/lib/Cloudflare/MagicNetworkMonitoring/Rule.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Pipeline.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Pipeline.js +8 -2
- package/lib/Cloudflare/Pipelines/Pipeline.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Sink.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Sink.js +8 -2
- package/lib/Cloudflare/Pipelines/Sink.js.map +1 -1
- package/lib/Cloudflare/Pipelines/Stream.d.ts.map +1 -1
- package/lib/Cloudflare/Pipelines/Stream.js +4 -1
- package/lib/Cloudflare/Pipelines/Stream.js.map +1 -1
- package/lib/Cloudflare/Providers.js +14 -11
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +30 -3
- package/lib/Cloudflare/Queues/Consumer.js.map +1 -1
- package/lib/Cloudflare/Queues/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Queue.js +4 -1
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/Queues/QueueHttp.d.ts +20 -1
- package/lib/Cloudflare/Queues/QueueHttp.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/QueueHttp.js +2 -2
- package/lib/Cloudflare/Queues/QueueHttp.js.map +1 -1
- package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts +9 -3
- package/lib/Cloudflare/Queues/WriteQueueHttp.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/WriteQueueHttp.js +11 -6
- package/lib/Cloudflare/Queues/WriteQueueHttp.js.map +1 -1
- package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts +36 -0
- package/lib/Cloudflare/Queues/WriteQueueLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Queues/WriteQueueLocal.js +51 -0
- package/lib/Cloudflare/Queues/WriteQueueLocal.js.map +1 -0
- package/lib/Cloudflare/Queues/index.d.ts +1 -0
- package/lib/Cloudflare/Queues/index.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/index.js +1 -0
- package/lib/Cloudflare/Queues/index.js.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +12 -3
- package/lib/Cloudflare/R2/Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/BucketEventNotification.js +4 -1
- package/lib/Cloudflare/R2/BucketEventNotification.js.map +1 -1
- package/lib/Cloudflare/R2/BucketHttp.d.ts +15 -1
- package/lib/Cloudflare/R2/BucketHttp.d.ts.map +1 -1
- package/lib/Cloudflare/R2/BucketHttp.js +3 -3
- package/lib/Cloudflare/R2/BucketHttp.js.map +1 -1
- package/lib/Cloudflare/R2/BucketLocal.d.ts +21 -0
- package/lib/Cloudflare/R2/BucketLocal.d.ts.map +1 -0
- package/lib/Cloudflare/R2/BucketLocal.js +32 -0
- package/lib/Cloudflare/R2/BucketLocal.js.map +1 -0
- package/lib/Cloudflare/R2/DataCatalog.js +4 -1
- package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketHttp.d.ts +2 -2
- package/lib/Cloudflare/R2/ReadBucketHttp.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketHttp.js +4 -4
- package/lib/Cloudflare/R2/ReadBucketHttp.js.map +1 -1
- package/lib/Cloudflare/R2/ReadBucketLocal.d.ts +27 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.d.ts.map +1 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.js +30 -0
- package/lib/Cloudflare/R2/ReadBucketLocal.js.map +1 -0
- package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts +2 -2
- package/lib/Cloudflare/R2/ReadWriteBucketHttp.d.ts.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketHttp.js +5 -4
- package/lib/Cloudflare/R2/ReadWriteBucketHttp.js.map +1 -1
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts +30 -0
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.d.ts.map +1 -0
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js +33 -0
- package/lib/Cloudflare/R2/ReadWriteBucketLocal.js.map +1 -0
- package/lib/Cloudflare/R2/WriteBucketHttp.d.ts +2 -2
- package/lib/Cloudflare/R2/WriteBucketHttp.d.ts.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketHttp.js +4 -4
- package/lib/Cloudflare/R2/WriteBucketHttp.js.map +1 -1
- package/lib/Cloudflare/R2/WriteBucketLocal.d.ts +27 -0
- package/lib/Cloudflare/R2/WriteBucketLocal.d.ts.map +1 -0
- package/lib/Cloudflare/R2/WriteBucketLocal.js +30 -0
- package/lib/Cloudflare/R2/WriteBucketLocal.js.map +1 -0
- package/lib/Cloudflare/R2/index.d.ts +3 -0
- package/lib/Cloudflare/R2/index.d.ts.map +1 -1
- package/lib/Cloudflare/R2/index.js +3 -0
- package/lib/Cloudflare/R2/index.js.map +1 -1
- package/lib/Cloudflare/Rum/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/Rum/Rule.js +4 -1
- package/lib/Cloudflare/Rum/Rule.js.map +1 -1
- package/lib/Cloudflare/Snippets/Snippet.d.ts.map +1 -1
- package/lib/Cloudflare/Snippets/Snippet.js +4 -1
- package/lib/Cloudflare/Snippets/Snippet.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +2 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts +42 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.d.ts.map +1 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.js +23 -0
- package/lib/Cloudflare/StateStore/CredentialsFile.js.map +1 -0
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +46 -9
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.d.ts.map +1 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.js +4 -1
- package/lib/Cloudflare/Tags/ZoneResourceTags.js.map +1 -1
- package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts +3 -3
- package/lib/Cloudflare/Tunnel/ReadTunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/ReadTunnel.js +7 -8
- package/lib/Cloudflare/Tunnel/ReadTunnel.js.map +1 -1
- package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts +29 -0
- package/lib/Cloudflare/Tunnel/ReadTunnelLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js +30 -0
- package/lib/Cloudflare/Tunnel/ReadTunnelLocal.js.map +1 -0
- package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts +3 -3
- package/lib/Cloudflare/Tunnel/ReadWriteTunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js +4 -4
- package/lib/Cloudflare/Tunnel/ReadWriteTunnel.js.map +1 -1
- package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts +35 -0
- package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js +36 -0
- package/lib/Cloudflare/Tunnel/ReadWriteTunnelLocal.js.map +1 -0
- package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +17 -1
- package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelBinding.js +7 -1
- package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts +19 -0
- package/lib/Cloudflare/Tunnel/TunnelLocalBinding.d.ts.map +1 -0
- package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js +29 -0
- package/lib/Cloudflare/Tunnel/TunnelLocalBinding.js.map +1 -0
- package/lib/Cloudflare/Tunnel/WarpConnector.d.ts +3 -3
- package/lib/Cloudflare/Tunnel/WarpConnector.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/WarpConnector.js +7 -4
- package/lib/Cloudflare/Tunnel/WarpConnector.js.map +1 -1
- package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts +3 -3
- package/lib/Cloudflare/Tunnel/WriteTunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/WriteTunnel.js +7 -8
- package/lib/Cloudflare/Tunnel/WriteTunnel.js.map +1 -1
- package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts +29 -0
- package/lib/Cloudflare/Tunnel/WriteTunnelLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js +30 -0
- package/lib/Cloudflare/Tunnel/WriteTunnelLocal.js.map +1 -0
- package/lib/Cloudflare/Tunnel/index.d.ts +3 -0
- package/lib/Cloudflare/Tunnel/index.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/index.js +3 -0
- package/lib/Cloudflare/Tunnel/index.js.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +7 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts +30 -0
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.d.ts.map +1 -0
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js +100 -0
- package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js.map +1 -0
- package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts +42 -0
- package/lib/Cloudflare/Vectorize/SearchIndexLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Vectorize/SearchIndexLocal.js +58 -0
- package/lib/Cloudflare/Vectorize/SearchIndexLocal.js.map +1 -0
- package/lib/Cloudflare/Vectorize/index.d.ts +1 -0
- package/lib/Cloudflare/Vectorize/index.d.ts.map +1 -1
- package/lib/Cloudflare/Vectorize/index.js +1 -0
- package/lib/Cloudflare/Vectorize/index.js.map +1 -1
- package/lib/Cloudflare/WaitingRoom/Settings.d.ts.map +1 -1
- package/lib/Cloudflare/WaitingRoom/Settings.js +7 -1
- package/lib/Cloudflare/WaitingRoom/Settings.js.map +1 -1
- package/lib/Cloudflare/Website/Vite.d.ts +19 -0
- package/lib/Cloudflare/Website/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/Vite.js +20 -0
- package/lib/Cloudflare/Website/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts +32 -0
- package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/BrowserHttpClient.js +100 -0
- package/lib/Cloudflare/Workers/BrowserHttpClient.js.map +1 -0
- package/lib/Cloudflare/Workers/BrowserLocal.d.ts +37 -0
- package/lib/Cloudflare/Workers/BrowserLocal.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/BrowserLocal.js +53 -0
- package/lib/Cloudflare/Workers/BrowserLocal.js.map +1 -0
- package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Compatibility.js +43 -7
- package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
- package/lib/Cloudflare/Workers/ConfigProvider.d.ts +8 -0
- package/lib/Cloudflare/Workers/ConfigProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ConfigProvider.js +10 -1
- package/lib/Cloudflare/Workers/ConfigProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.d.ts +3 -2
- package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +137 -3
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +141 -6
- 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 +86 -82
- package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.d.ts +1 -4
- package/lib/Cloudflare/Workers/HttpServer.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.js +1 -3
- package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +2 -185
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +74 -11
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.js +4 -1
- package/lib/Cloudflare/Workers/ObservabilityDestination.js.map +1 -1
- package/lib/Cloudflare/Workers/Vite.d.ts +1 -1
- package/lib/Cloudflare/Workers/Vite.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Vite.js +81 -2
- package/lib/Cloudflare/Workers/Vite.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +42 -6
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +10 -5
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +26 -16
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +22 -1
- 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 +13 -5
- package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBridge.js +133 -52
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts +81 -0
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +476 -68
- package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerRuntimeContext.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerRuntimeContext.js +11 -37
- package/lib/Cloudflare/Workers/WorkerRuntimeContext.js.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/cloudflare_workers.js +10 -3
- package/lib/Cloudflare/Workers/cloudflare_workers.js.map +1 -1
- package/lib/Cloudflare/Workers/index.d.ts +1 -0
- package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.js +1 -0
- package/lib/Cloudflare/Workers/index.js.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.d.ts +10 -7
- package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.js +38 -13
- package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowBridge.js +39 -37
- package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
- package/lib/Cloudflare/Workflows/WorkflowName.d.ts +11 -0
- package/lib/Cloudflare/Workflows/WorkflowName.d.ts.map +1 -0
- package/lib/Cloudflare/Workflows/WorkflowName.js +28 -0
- package/lib/Cloudflare/Workflows/WorkflowName.js.map +1 -0
- package/lib/Cloudflare/Zone/Hold.d.ts.map +1 -1
- package/lib/Cloudflare/Zone/Hold.js +7 -1
- package/lib/Cloudflare/Zone/Hold.js.map +1 -1
- package/lib/Command/Dev.d.ts +16 -6
- package/lib/Command/Dev.d.ts.map +1 -1
- package/lib/Command/Dev.js +37 -7
- package/lib/Command/Dev.js.map +1 -1
- package/lib/Diff.d.ts +16 -0
- package/lib/Diff.d.ts.map +1 -1
- package/lib/Diff.js +33 -0
- package/lib/Diff.js.map +1 -1
- package/lib/Docker/Container.js +4 -1
- package/lib/Docker/Container.js.map +1 -1
- package/lib/Drizzle/Postgres.d.ts +14 -13
- package/lib/Drizzle/Postgres.d.ts.map +1 -1
- package/lib/Drizzle/Postgres.js +39 -19
- package/lib/Drizzle/Postgres.js.map +1 -1
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/AuthProvider.js +1 -1
- package/lib/GitHub/AuthProvider.js.map +1 -1
- package/lib/GitHub/Env.d.ts +20 -0
- package/lib/GitHub/Env.d.ts.map +1 -0
- package/lib/GitHub/Env.js +27 -0
- package/lib/GitHub/Env.js.map +1 -0
- package/lib/GitHub/Secrets.d.ts +1 -1
- package/lib/GitHub/Secrets.js +1 -1
- package/lib/GitHub/Variables.d.ts +1 -1
- package/lib/GitHub/Variables.js +1 -1
- package/lib/GitHub/index.d.ts +1 -0
- package/lib/GitHub/index.d.ts.map +1 -1
- package/lib/GitHub/index.js +1 -0
- package/lib/GitHub/index.js.map +1 -1
- package/lib/Http.d.ts +9 -0
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +9 -0
- package/lib/Http.js.map +1 -1
- package/lib/Local/RpcProviderProxy.js +1 -1
- package/lib/Local/RpcProviderProxy.js.map +1 -1
- package/lib/Local/RpcSerialization.d.ts.map +1 -1
- package/lib/Local/RpcSerialization.js +6 -2
- package/lib/Local/RpcSerialization.js.map +1 -1
- package/lib/Local/RpcSpawner.d.ts.map +1 -1
- package/lib/Local/RpcSpawner.js +14 -8
- package/lib/Local/RpcSpawner.js.map +1 -1
- package/lib/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +2 -2
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Project.js +4 -1
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +37 -13
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/AuthProvider.d.ts +26 -9
- package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
- package/lib/Planetscale/AuthProvider.js +142 -11
- package/lib/Planetscale/AuthProvider.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +4 -1
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/Credentials.d.ts.map +1 -1
- package/lib/Planetscale/Credentials.js +14 -6
- package/lib/Planetscale/Credentials.js.map +1 -1
- package/lib/Planetscale/Database.d.ts +2 -1
- package/lib/Planetscale/Database.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +41 -3
- package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLClusterSize.js +88 -11
- package/lib/Planetscale/MySQL/MySQLClusterSize.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +14 -0
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.js +24 -11
- package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLMigrations.js +4 -1
- package/lib/Planetscale/MySQL/MySQLMigrations.js.map +1 -1
- package/lib/Planetscale/OAuthClient.d.ts +72 -0
- package/lib/Planetscale/OAuthClient.d.ts.map +1 -0
- package/lib/Planetscale/OAuthClient.js +227 -0
- package/lib/Planetscale/OAuthClient.js.map +1 -0
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js +4 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresMigrations.js +4 -1
- package/lib/Planetscale/Postgres/PostgresMigrations.js.map +1 -1
- package/lib/Planetscale/Util.d.ts.map +1 -1
- package/lib/Planetscale/Util.js +4 -1
- package/lib/Planetscale/Util.js.map +1 -1
- package/lib/Platform.d.ts +2 -3
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +62 -3
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +35 -0
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js.map +1 -1
- package/lib/Runtime.d.ts +23 -0
- package/lib/Runtime.d.ts.map +1 -1
- package/lib/Runtime.js +83 -0
- package/lib/Runtime.js.map +1 -1
- package/lib/RuntimeContext.d.ts +46 -0
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js +60 -0
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/Server/Process.d.ts +1 -1
- package/lib/Server/Process.d.ts.map +1 -1
- package/lib/Server/Process.js +8 -8
- package/lib/Server/Process.js.map +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/State/HttpStateApi.d.ts +10 -10
- package/lib/State/HttpStateStore.js +5 -2
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/Sync.d.ts.map +1 -1
- package/lib/Sync.js +3 -0
- package/lib/Sync.js.map +1 -1
- package/lib/Test/Alchemy.d.ts +74 -0
- package/lib/Test/Alchemy.d.ts.map +1 -0
- package/lib/Test/Alchemy.js +143 -0
- package/lib/Test/Alchemy.js.map +1 -0
- package/lib/Test/Http.d.ts.map +1 -1
- package/lib/Test/Http.js +8 -2
- package/lib/Test/Http.js.map +1 -1
- package/lib/Util/cached-function.d.ts +1 -1
- package/lib/Util/cached-function.d.ts.map +1 -1
- package/lib/Util/cached-function.js +2 -2
- package/lib/Util/cached-function.js.map +1 -1
- package/lib/Util/data.d.ts +6 -1
- package/lib/Util/data.d.ts.map +1 -1
- package/lib/Util/data.js.map +1 -1
- package/lib/Util/poll.js +1 -1
- package/lib/Util/poll.js.map +1 -1
- package/lib/Util/proxy-chain.js +3 -0
- package/lib/Util/proxy-chain.js.map +1 -1
- package/package.json +23 -23
- package/src/AWS/ACM/Certificate.ts +16 -12
- package/src/AWS/ApiGateway/common.ts +11 -8
- package/src/AWS/AuthProvider.ts +1 -4
- package/src/AWS/AutoScaling/AutoScalingGroup.ts +8 -6
- package/src/AWS/Bootstrap.ts +5 -6
- package/src/AWS/CloudFront/Distribution.ts +20 -16
- package/src/AWS/CloudFront/Function.ts +10 -6
- package/src/AWS/CloudFront/Invalidation.ts +4 -3
- package/src/AWS/CloudFront/KvEntries.ts +4 -3
- package/src/AWS/CloudFront/KvRoutesUpdate.ts +8 -6
- package/src/AWS/CloudFront/VpcOrigin.ts +12 -9
- package/src/AWS/CloudFront/common.ts +10 -6
- package/src/AWS/CloudWatch/AnomalyDetector.ts +4 -3
- package/src/AWS/CloudWatch/common.ts +1 -3
- package/src/AWS/DynamoDB/Table.ts +57 -47
- package/src/AWS/EC2/EIP.ts +6 -4
- package/src/AWS/EC2/EgressOnlyInternetGateway.ts +6 -4
- package/src/AWS/EC2/Instance.ts +12 -9
- package/src/AWS/EC2/InternetGateway.ts +18 -12
- package/src/AWS/EC2/NatGateway.ts +6 -10
- package/src/AWS/EC2/NetworkAcl.ts +6 -4
- package/src/AWS/EC2/NetworkAclEntry.ts +4 -3
- package/src/AWS/EC2/RouteTable.ts +12 -9
- package/src/AWS/EC2/RouteTableAssociation.ts +3 -5
- package/src/AWS/EC2/SecurityGroup.ts +10 -7
- package/src/AWS/EC2/Subnet.ts +15 -15
- package/src/AWS/EC2/Vpc.ts +12 -12
- package/src/AWS/EC2/VpcEndpoint.ts +6 -8
- package/src/AWS/EC2/hosted.ts +2 -1
- package/src/AWS/ECS/Service.ts +4 -3
- package/src/AWS/ECS/Task.ts +2 -1
- package/src/AWS/EKS/Addon.ts +8 -6
- package/src/AWS/EKS/Cluster.ts +4 -3
- package/src/AWS/ELBv2/TargetGroup.ts +4 -3
- package/src/AWS/ELBv2/TrustStore.ts +4 -3
- package/src/AWS/IAM/SAMLProvider.ts +4 -4
- package/src/AWS/IdentityCenter/AccountAssignment.ts +8 -6
- package/src/AWS/IdentityCenter/common.ts +1 -3
- package/src/AWS/KMS/Alias.ts +4 -3
- package/src/AWS/KMS/Key.ts +4 -3
- package/src/AWS/Kinesis/Stream.ts +2 -6
- package/src/AWS/Kinesis/StreamConsumer.ts +7 -12
- package/src/AWS/Lambda/Alias.ts +4 -3
- package/src/AWS/Lambda/EventInvokeConfig.ts +2 -6
- package/src/AWS/Lambda/EventSourceMapping.ts +10 -8
- package/src/AWS/Lambda/Function.ts +123 -77
- package/src/AWS/Lambda/MicrovmProvider.ts +18 -16
- package/src/AWS/Lambda/MicrovmRuntimeContext.ts +11 -38
- package/src/AWS/Lambda/NetworkConnector.ts +19 -15
- package/src/AWS/Lambda/RuntimeExtension.ts +46 -0
- package/src/AWS/Organizations/Account.ts +5 -6
- package/src/AWS/Organizations/common.ts +1 -3
- package/src/AWS/Providers.ts +22 -20
- package/src/AWS/RDS/DBCluster.ts +8 -6
- package/src/AWS/RDS/DBInstance.ts +8 -6
- package/src/AWS/RDS/DBProxy.ts +4 -3
- package/src/AWS/RDS/DBProxyEndpoint.ts +4 -3
- package/src/AWS/Route53/HealthCheck.ts +8 -6
- package/src/AWS/Route53/HostedZone.ts +8 -6
- package/src/AWS/Route53/Record.ts +4 -3
- package/src/AWS/S3/Bucket.ts +5 -4
- package/src/AWS/SQS/Queue.ts +26 -20
- package/src/AWS/StateStore/State.ts +5 -4
- package/src/AWS/Website/AssetDeployment.ts +10 -6
- package/src/Action.ts +39 -6
- package/src/ActionRuntimeContext.ts +68 -0
- package/src/Apply.ts +54 -8
- package/src/Auth/AuthProvider.ts +11 -0
- package/src/Auth/Lock.ts +5 -2
- package/src/Axiom/AuthProvider.ts +0 -3
- package/src/Bundle/PurePlugin.ts +34 -1
- package/src/Bundle/Vite.ts +67 -16
- package/src/Cli/LoggingCli.ts +7 -4
- package/src/Cli/commands/_shared.ts +171 -5
- package/src/Cli/commands/login.ts +91 -46
- package/src/Cli/commands/logs.ts +1 -0
- package/src/Cli/commands/nuke.ts +16 -44
- package/src/Cli/commands/profile.ts +67 -39
- package/src/Cli/commands/tail.ts +1 -0
- package/src/Cloudflare/AI/GatewayDynamicRouting.ts +38 -6
- package/src/Cloudflare/AI/LanguageModel.ts +25 -5
- package/src/Cloudflare/AI/QuerySearchLocal.ts +66 -0
- package/src/Cloudflare/AI/QuerySearchNamespaceLocal.ts +60 -0
- package/src/Cloudflare/AI/SearchHttpClient.ts +423 -0
- package/src/Cloudflare/AI/SearchInstance.ts +4 -3
- package/src/Cloudflare/AI/index.ts +2 -0
- package/src/Cloudflare/Access/Application.ts +7 -4
- package/src/Cloudflare/Alerting/Silence.ts +4 -3
- package/src/Cloudflare/Alerting/Webhook.ts +8 -6
- package/src/Cloudflare/Auth/AuthProvider.ts +55 -39
- package/src/Cloudflare/Auth/OAuthClient.ts +6 -7
- package/src/Cloudflare/Cache/RegionalTieredCache.ts +7 -4
- package/src/Cloudflare/Containers/ContainerApplication.ts +22 -2
- package/src/Cloudflare/Containers/ContainerBundle.ts +110 -34
- package/src/Cloudflare/Containers/ContainerPlatform.ts +14 -52
- package/src/Cloudflare/Containers/ContainerProvider.ts +73 -19
- package/src/Cloudflare/Containers/LocalContainerProvider.ts +78 -72
- package/src/Cloudflare/D1/QueryDatabaseHttpClient.ts +176 -0
- package/src/Cloudflare/D1/QueryDatabaseLocal.ts +66 -0
- package/src/Cloudflare/D1/index.ts +1 -0
- package/src/Cloudflare/DNS/DnsHttp.ts +24 -2
- package/src/Cloudflare/DNS/DnsLocal.ts +41 -0
- package/src/Cloudflare/DNS/ReadDnsHttp.ts +4 -5
- package/src/Cloudflare/DNS/ReadDnsLocal.ts +38 -0
- package/src/Cloudflare/DNS/ReadWriteDnsHttp.ts +5 -5
- package/src/Cloudflare/DNS/ReadWriteDnsLocal.ts +46 -0
- package/src/Cloudflare/DNS/WriteDnsHttp.ts +4 -5
- package/src/Cloudflare/DNS/WriteDnsLocal.ts +44 -0
- package/src/Cloudflare/DNS/index.ts +3 -0
- package/src/Cloudflare/Diagnostics/EndpointHealthcheck.ts +4 -3
- package/src/Cloudflare/Flagship/ReadFlagsHttpClient.ts +183 -0
- package/src/Cloudflare/Flagship/ReadFlagsLocal.ts +69 -0
- package/src/Cloudflare/Flagship/index.ts +1 -0
- package/src/Cloudflare/Images/Variant.ts +4 -3
- package/src/Cloudflare/KV/NamespaceHttp.ts +25 -2
- package/src/Cloudflare/KV/NamespaceLocal.ts +42 -0
- package/src/Cloudflare/KV/ReadNamespaceHttp.ts +7 -6
- package/src/Cloudflare/KV/ReadNamespaceLocal.ts +35 -0
- package/src/Cloudflare/KV/ReadWriteNamespaceHttp.ts +11 -6
- package/src/Cloudflare/KV/ReadWriteNamespaceLocal.ts +42 -0
- package/src/Cloudflare/KV/WriteNamespaceHttp.ts +7 -6
- package/src/Cloudflare/KV/WriteNamespaceLocal.ts +35 -0
- package/src/Cloudflare/KV/index.ts +3 -0
- package/src/Cloudflare/LoadBalancer/Monitor.ts +4 -3
- package/src/Cloudflare/LoadBalancer/MonitorGroup.ts +4 -3
- package/src/Cloudflare/LoadBalancer/Pool.ts +4 -3
- package/src/Cloudflare/LocalRuntime.ts +17 -0
- package/src/Cloudflare/MagicNetworkMonitoring/Rule.ts +4 -3
- package/src/Cloudflare/Pipelines/Pipeline.ts +8 -6
- package/src/Cloudflare/Pipelines/Sink.ts +8 -6
- package/src/Cloudflare/Pipelines/Stream.ts +4 -3
- package/src/Cloudflare/Providers.ts +21 -19
- package/src/Cloudflare/Queues/Consumer.ts +45 -9
- package/src/Cloudflare/Queues/Queue.ts +4 -3
- package/src/Cloudflare/Queues/QueueHttp.ts +24 -2
- package/src/Cloudflare/Queues/WriteQueueHttp.ts +16 -7
- package/src/Cloudflare/Queues/WriteQueueLocal.ts +64 -0
- package/src/Cloudflare/Queues/index.ts +1 -0
- package/src/Cloudflare/R2/Bucket.ts +12 -9
- package/src/Cloudflare/R2/BucketEventNotification.ts +4 -3
- package/src/Cloudflare/R2/BucketHttp.ts +20 -3
- package/src/Cloudflare/R2/BucketLocal.ts +47 -0
- package/src/Cloudflare/R2/DataCatalog.ts +4 -3
- package/src/Cloudflare/R2/ReadBucketHttp.ts +10 -5
- package/src/Cloudflare/R2/ReadBucketLocal.ts +33 -0
- package/src/Cloudflare/R2/ReadWriteBucketHttp.ts +11 -5
- package/src/Cloudflare/R2/ReadWriteBucketLocal.ts +36 -0
- package/src/Cloudflare/R2/WriteBucketHttp.ts +10 -5
- package/src/Cloudflare/R2/WriteBucketLocal.ts +33 -0
- package/src/Cloudflare/R2/index.ts +3 -0
- package/src/Cloudflare/Rum/Rule.ts +4 -3
- package/src/Cloudflare/Snippets/Snippet.ts +4 -3
- package/src/Cloudflare/StateStore/CredentialsFile.ts +48 -0
- package/src/Cloudflare/StateStore/State.ts +61 -25
- package/src/Cloudflare/Tags/ZoneResourceTags.ts +4 -3
- package/src/Cloudflare/Tunnel/ReadTunnel.ts +8 -9
- package/src/Cloudflare/Tunnel/ReadTunnelLocal.ts +33 -0
- package/src/Cloudflare/Tunnel/ReadWriteTunnel.ts +5 -5
- package/src/Cloudflare/Tunnel/ReadWriteTunnelLocal.ts +39 -0
- package/src/Cloudflare/Tunnel/TunnelBinding.ts +26 -2
- package/src/Cloudflare/Tunnel/TunnelLocalBinding.ts +38 -0
- package/src/Cloudflare/Tunnel/WarpConnector.ts +8 -5
- package/src/Cloudflare/Tunnel/WriteTunnel.ts +8 -9
- package/src/Cloudflare/Tunnel/WriteTunnelLocal.ts +33 -0
- package/src/Cloudflare/Tunnel/index.ts +3 -0
- package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +7 -4
- package/src/Cloudflare/Vectorize/SearchIndexHttpClient.ts +183 -0
- package/src/Cloudflare/Vectorize/SearchIndexLocal.ts +70 -0
- package/src/Cloudflare/Vectorize/index.ts +1 -0
- package/src/Cloudflare/WaitingRoom/Settings.ts +7 -4
- package/src/Cloudflare/Website/Vite.ts +20 -0
- package/src/Cloudflare/Workers/BrowserHttpClient.ts +201 -0
- package/src/Cloudflare/Workers/BrowserLocal.ts +65 -0
- package/src/Cloudflare/Workers/Compatibility.ts +50 -7
- package/src/Cloudflare/Workers/ConfigProvider.ts +15 -1
- package/src/Cloudflare/Workers/CronEventSource.ts +3 -2
- package/src/Cloudflare/Workers/DurableObject.ts +227 -6
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +38 -33
- package/src/Cloudflare/Workers/HttpServer.ts +1 -4
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +132 -26
- package/src/Cloudflare/Workers/ObservabilityDestination.ts +4 -3
- package/src/Cloudflare/Workers/Vite.ts +93 -11
- package/src/Cloudflare/Workers/Worker.ts +46 -6
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +33 -21
- package/src/Cloudflare/Workers/WorkerBinding.ts +20 -1
- package/src/Cloudflare/Workers/WorkerBridge.ts +239 -108
- package/src/Cloudflare/Workers/WorkerProvider.ts +689 -135
- package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +14 -45
- package/src/Cloudflare/Workers/cloudflare_workers.ts +20 -12
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/Workflows/Workflow.ts +54 -20
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +19 -23
- package/src/Cloudflare/Workflows/WorkflowName.ts +41 -0
- package/src/Cloudflare/Zone/Hold.ts +7 -4
- package/src/Command/Dev.ts +42 -10
- package/src/Diff.ts +33 -0
- package/src/Docker/Container.ts +4 -1
- package/src/Drizzle/Postgres.ts +51 -23
- package/src/GitHub/AuthProvider.ts +0 -3
- package/src/GitHub/Env.ts +57 -0
- package/src/GitHub/Secrets.ts +1 -1
- package/src/GitHub/Variables.ts +1 -1
- package/src/GitHub/index.ts +1 -0
- package/src/Http.ts +11 -0
- package/src/Local/RpcProviderProxy.ts +1 -1
- package/src/Local/RpcSerialization.ts +6 -2
- package/src/Local/RpcSpawner.ts +21 -8
- package/src/Neon/AuthProvider.ts +1 -4
- package/src/Neon/Project.ts +2 -2
- package/src/Plan.ts +43 -13
- package/src/Planetscale/AuthProvider.ts +267 -27
- package/src/Planetscale/Branch.ts +4 -3
- package/src/Planetscale/Credentials.ts +18 -6
- package/src/Planetscale/Database.ts +2 -1
- package/src/Planetscale/MySQL/MySQLClusterSize.ts +120 -21
- package/src/Planetscale/MySQL/MySQLDatabase.ts +84 -44
- package/src/Planetscale/MySQL/MySQLMigrations.ts +4 -3
- package/src/Planetscale/OAuthClient.ts +307 -0
- package/src/Planetscale/Postgres/PostgresClusterSize.ts +4 -3
- package/src/Planetscale/Postgres/PostgresMigrations.ts +4 -3
- package/src/Planetscale/Util.ts +4 -3
- package/src/Platform.ts +83 -7
- package/src/Provider.ts +35 -0
- package/src/Runtime.ts +92 -0
- package/src/RuntimeContext.ts +79 -0
- package/src/Server/Process.ts +11 -18
- package/src/Stack.ts +1 -1
- package/src/State/HttpStateStore.ts +5 -5
- package/src/Sync.ts +3 -0
- package/src/Test/Alchemy.ts +282 -0
- package/src/Test/Http.ts +8 -6
- package/src/Util/cached-function.ts +5 -5
- package/src/Util/data.ts +14 -5
- package/src/Util/poll.ts +1 -1
- package/src/Util/proxy-chain.ts +3 -0
- package/lib/ExecutionContext.d.ts +0 -18
- package/lib/ExecutionContext.d.ts.map +0 -1
- package/lib/ExecutionContext.js +0 -10
- package/lib/ExecutionContext.js.map +0 -1
- package/src/ExecutionContext.ts +0 -18
|
@@ -308,9 +308,10 @@ export const ConsumerProviderLive = () =>
|
|
|
308
308
|
Effect.catchTag("ConsumerNotFound", () => Effect.void),
|
|
309
309
|
Effect.retry({
|
|
310
310
|
while: (e) => e === "still-attached",
|
|
311
|
-
schedule: Schedule.
|
|
312
|
-
Schedule.
|
|
313
|
-
|
|
311
|
+
schedule: Schedule.max([
|
|
312
|
+
Schedule.spaced("1 second"),
|
|
313
|
+
Schedule.recurs(30),
|
|
314
|
+
]),
|
|
314
315
|
}),
|
|
315
316
|
Effect.ignore,
|
|
316
317
|
);
|
|
@@ -487,9 +488,10 @@ export const ConsumerProviderLive = () =>
|
|
|
487
488
|
Effect.catchTag("ConsumerNotFound", () => Effect.void),
|
|
488
489
|
Effect.retry({
|
|
489
490
|
while: (e) => e === "still-attached",
|
|
490
|
-
schedule: Schedule.
|
|
491
|
-
Schedule.
|
|
492
|
-
|
|
491
|
+
schedule: Schedule.max([
|
|
492
|
+
Schedule.spaced("1 second"),
|
|
493
|
+
Schedule.recurs(30),
|
|
494
|
+
]),
|
|
493
495
|
}),
|
|
494
496
|
Effect.ignore,
|
|
495
497
|
);
|
|
@@ -561,9 +563,10 @@ const toObserved = (c: {
|
|
|
561
563
|
|
|
562
564
|
// ~60s budget — Worker reconcile uploads typically land in 2–10s,
|
|
563
565
|
// but a fresh container/asset deploy can stretch that.
|
|
564
|
-
const queueHandlerReadinessSchedule = Schedule.
|
|
565
|
-
Schedule.
|
|
566
|
-
)
|
|
566
|
+
const queueHandlerReadinessSchedule = Schedule.max([
|
|
567
|
+
Schedule.spaced("2 seconds"),
|
|
568
|
+
Schedule.recurs(30),
|
|
569
|
+
]);
|
|
567
570
|
|
|
568
571
|
export const ConsumerProviderLocal = () =>
|
|
569
572
|
RpcProvider.effect(
|
|
@@ -571,6 +574,27 @@ export const ConsumerProviderLocal = () =>
|
|
|
571
574
|
LOCAL_ENTRY_URL,
|
|
572
575
|
Effect.gen(function* () {
|
|
573
576
|
const localRuntimeState = yield* LocalRuntimeState;
|
|
577
|
+
|
|
578
|
+
// Restart the locally running workerd instances (if any) for the
|
|
579
|
+
// given scripts so start-time queue-consumer wiring is re-read from
|
|
580
|
+
// `localRuntimeState.queueConsumers`. See `workerRestarts` on
|
|
581
|
+
// {@link LocalRuntimeState}.
|
|
582
|
+
const restartScripts = (scriptNames: ReadonlyArray<string>) =>
|
|
583
|
+
Effect.forEach(
|
|
584
|
+
scriptNames,
|
|
585
|
+
(scriptName) =>
|
|
586
|
+
MutableHashMap.get(
|
|
587
|
+
localRuntimeState.workerRestarts,
|
|
588
|
+
scriptName,
|
|
589
|
+
).pipe(
|
|
590
|
+
Option.match({
|
|
591
|
+
onNone: () => Effect.void,
|
|
592
|
+
onSome: (restart) => restart,
|
|
593
|
+
}),
|
|
594
|
+
),
|
|
595
|
+
{ discard: true },
|
|
596
|
+
);
|
|
597
|
+
|
|
574
598
|
return {
|
|
575
599
|
list: () =>
|
|
576
600
|
Effect.sync(() =>
|
|
@@ -625,6 +649,17 @@ export const ConsumerProviderLocal = () =>
|
|
|
625
649
|
consumer.consumerId,
|
|
626
650
|
consumer,
|
|
627
651
|
);
|
|
652
|
+
// A local workerd instance only reads its queue-consumer wiring
|
|
653
|
+
// at start time, and this reconcile races the sibling Worker's
|
|
654
|
+
// start (the Worker's `precreate` resolves `scriptName` before
|
|
655
|
+
// workerd is up). Restart any already-running instance so it
|
|
656
|
+
// picks up the new wiring; if the worker hasn't served yet this
|
|
657
|
+
// is a no-op and its first serve observes the map we just set.
|
|
658
|
+
yield* restartScripts(
|
|
659
|
+
output && output.scriptName !== consumer.scriptName
|
|
660
|
+
? [output.scriptName, consumer.scriptName]
|
|
661
|
+
: [consumer.scriptName],
|
|
662
|
+
);
|
|
628
663
|
return consumer;
|
|
629
664
|
}),
|
|
630
665
|
delete: Effect.fn(function* ({ output }) {
|
|
@@ -632,6 +667,7 @@ export const ConsumerProviderLocal = () =>
|
|
|
632
667
|
localRuntimeState.queueConsumers,
|
|
633
668
|
output.consumerId,
|
|
634
669
|
);
|
|
670
|
+
yield* restartScripts([output.scriptName]);
|
|
635
671
|
}),
|
|
636
672
|
};
|
|
637
673
|
}),
|
|
@@ -208,9 +208,10 @@ export const ProviderLive = () =>
|
|
|
208
208
|
.pipe(
|
|
209
209
|
Effect.retry({
|
|
210
210
|
while: (e) => e._tag === "QueueInUseByEventNotification",
|
|
211
|
-
schedule: Schedule.
|
|
212
|
-
Schedule.
|
|
213
|
-
|
|
211
|
+
schedule: Schedule.max([
|
|
212
|
+
Schedule.exponential("1 second"),
|
|
213
|
+
Schedule.recurs(8),
|
|
214
|
+
]),
|
|
214
215
|
}),
|
|
215
216
|
Effect.catchTag("QueueNotFound", () => Effect.void),
|
|
216
217
|
);
|
|
@@ -1,12 +1,34 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import type * as Redacted from "effect/Redacted";
|
|
3
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
4
|
+
import type { RuntimeContext } from "../../RuntimeContext.ts";
|
|
3
5
|
import { Self } from "../../Self.ts";
|
|
4
6
|
import { AccountApiToken } from "../ApiToken/AccountApiToken.ts";
|
|
5
7
|
import type { PermissionGroupRef } from "../ApiToken/Common.ts";
|
|
6
8
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
9
|
+
import type { Credentials } from "../Credentials.ts";
|
|
7
10
|
import type { Queue } from "./Queue.ts";
|
|
8
11
|
import { SendError } from "./QueueTypes.ts";
|
|
9
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Injectable auth used by the Queue HTTP client builder. Both the
|
|
15
|
+
* scoped-token HTTP variant ({@link makeWriteQueueHttpClient}) and the
|
|
16
|
+
* current-credentials Local variant build this so they share the exact
|
|
17
|
+
* same request path — only the way credentials reach the SDK op differs.
|
|
18
|
+
*
|
|
19
|
+
* - `authorize` runs a raw distilled op (which needs
|
|
20
|
+
* `Credentials | HttpClient`) and discharges those requirements down to
|
|
21
|
+
* {@link RuntimeContext}. The HTTP variant provides a minted token; the
|
|
22
|
+
* Local variant provides the ambient current-credentials context.
|
|
23
|
+
* - `accountId` resolves the Cloudflare account the queue lives in.
|
|
24
|
+
*/
|
|
25
|
+
export interface QueueAuth {
|
|
26
|
+
authorize: <A, E>(
|
|
27
|
+
eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
28
|
+
) => Effect.Effect<A, E, RuntimeContext>;
|
|
29
|
+
accountId: Effect.Effect<string>;
|
|
30
|
+
}
|
|
31
|
+
|
|
10
32
|
/**
|
|
11
33
|
* Shared scaffolding for the HTTP-backed Queue services.
|
|
12
34
|
*
|
|
@@ -50,11 +72,11 @@ export const makeHttpQueueBinding = <Client>(options: {
|
|
|
50
72
|
|
|
51
73
|
/** Resolve the account and queue id once per operation. */
|
|
52
74
|
export const makeQueueHttpScope = (
|
|
53
|
-
|
|
75
|
+
auth: QueueAuth,
|
|
54
76
|
queueId: Effect.Effect<string>,
|
|
55
77
|
): Effect.Effect<HttpScope> =>
|
|
56
78
|
Effect.gen(function* () {
|
|
57
|
-
const accountId = yield*
|
|
79
|
+
const accountId = yield* auth.accountId;
|
|
58
80
|
const id = yield* queueId;
|
|
59
81
|
return { accountId, queueId: id };
|
|
60
82
|
});
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
makeHttpQueueBinding,
|
|
7
7
|
makeQueueHttpScope,
|
|
8
8
|
toQueueSendError,
|
|
9
|
-
type
|
|
9
|
+
type QueueAuth,
|
|
10
10
|
} from "./QueueHttp.ts";
|
|
11
11
|
import { SendError, type SendMessage } from "./QueueTypes.ts";
|
|
12
12
|
import { WriteQueue, type WriteQueueClient } from "./WriteQueue.ts";
|
|
@@ -27,7 +27,11 @@ export const WriteQueueHttp = Layer.effect(
|
|
|
27
27
|
Effect.suspend(() =>
|
|
28
28
|
makeHttpQueueBinding({
|
|
29
29
|
permissionGroups: ["Queues Write"],
|
|
30
|
-
makeClient:
|
|
30
|
+
makeClient: (token, queueId) =>
|
|
31
|
+
makeWriteQueueHttpClient(
|
|
32
|
+
{ authorize: authorizeWith(token), accountId: token.accountId },
|
|
33
|
+
queueId,
|
|
34
|
+
),
|
|
31
35
|
}),
|
|
32
36
|
),
|
|
33
37
|
);
|
|
@@ -44,18 +48,23 @@ const toMessage = (message: SendMessage) =>
|
|
|
44
48
|
}
|
|
45
49
|
: { body: message.body, contentType: "json" as const };
|
|
46
50
|
|
|
47
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Build the producer client over the Queues bulk-push HTTP API.
|
|
53
|
+
*
|
|
54
|
+
* Shared by {@link WriteQueueHttp} (scoped token auth) and
|
|
55
|
+
* `WriteQueueLocal` (current-credentials auth) — they differ only in the
|
|
56
|
+
* {@link QueueAuth} they inject.
|
|
57
|
+
*/
|
|
48
58
|
export const makeWriteQueueHttpClient = (
|
|
49
|
-
|
|
59
|
+
auth: QueueAuth,
|
|
50
60
|
queueId: Effect.Effect<string>,
|
|
51
61
|
): WriteQueueClient => {
|
|
52
|
-
const
|
|
53
|
-
const scope = makeQueueHttpScope(token, queueId);
|
|
62
|
+
const scope = makeQueueHttpScope(auth, queueId);
|
|
54
63
|
|
|
55
64
|
const push = (messages: ReadonlyArray<SendMessage>) =>
|
|
56
65
|
scope.pipe(
|
|
57
66
|
Effect.flatMap(({ accountId, queueId }) =>
|
|
58
|
-
authorize(
|
|
67
|
+
auth.authorize(
|
|
59
68
|
queues.bulkPushMessages({
|
|
60
69
|
accountId,
|
|
61
70
|
queueId,
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
4
|
+
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
5
|
+
import type { Credentials } from "../Credentials.ts";
|
|
6
|
+
import type { Queue } from "./Queue.ts";
|
|
7
|
+
import { makeWriteQueueHttpClient } from "./WriteQueueHttp.ts";
|
|
8
|
+
import { WriteQueue } from "./WriteQueue.ts";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Local implementation of the {@link WriteQueue} binding — pushes messages
|
|
12
|
+
* to a Cloudflare Queue over the bulk-push HTTP API using the **current
|
|
13
|
+
* credentials** instead of a native Worker binding
|
|
14
|
+
* ({@link WriteQueueBinding}) or a scoped API token ({@link WriteQueueHttp}).
|
|
15
|
+
*
|
|
16
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) so you can send
|
|
17
|
+
* messages to a queue with the same `send`/`sendBatch` client you'd use inside
|
|
18
|
+
* a Worker — no Worker host and no minted token.
|
|
19
|
+
*
|
|
20
|
+
* @example Seeding a queue from an Action
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const Seed = Alchemy.Action(
|
|
23
|
+
* "Seed",
|
|
24
|
+
* Effect.gen(function* () {
|
|
25
|
+
* const q = yield* Cloudflare.Queues.WriteQueue(queue);
|
|
26
|
+
* return Effect.fn(function* () {
|
|
27
|
+
* yield* q.send({ text: "hi", sentAt: Date.now() });
|
|
28
|
+
* yield* q.sendBatch([{ body: { event: "click", id: 1 } }]);
|
|
29
|
+
* });
|
|
30
|
+
* }).pipe(Effect.provide(Cloudflare.Queues.WriteQueueLocal)),
|
|
31
|
+
* );
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* The queue id is resolved at apply time through the ambient
|
|
35
|
+
* {@link RuntimeContext} (in an Action, that's the resolve context the engine
|
|
36
|
+
* provides around the body), so `WriteQueue(queue)` works even though the
|
|
37
|
+
* queue is created in the same deploy.
|
|
38
|
+
*/
|
|
39
|
+
export const WriteQueueLocal = Layer.effect(
|
|
40
|
+
WriteQueue,
|
|
41
|
+
Effect.gen(function* () {
|
|
42
|
+
// Account + credentials are ambient during stack-eval (the stack's
|
|
43
|
+
// providers layer). Capture the full context so the bulk-push effect can
|
|
44
|
+
// run with the current credentials instead of a scoped token.
|
|
45
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
46
|
+
const context = yield* Effect.context<
|
|
47
|
+
Credentials | HttpClient.HttpClient
|
|
48
|
+
>();
|
|
49
|
+
|
|
50
|
+
return Effect.fn(function* (queue: Queue) {
|
|
51
|
+
// Deferred accessor — resolves the queueId against the tracker at apply
|
|
52
|
+
// time. No `host.bind`: the local variant registers no binding.
|
|
53
|
+
const queueId = yield* queue.queueId;
|
|
54
|
+
|
|
55
|
+
return makeWriteQueueHttpClient(
|
|
56
|
+
{
|
|
57
|
+
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
58
|
+
accountId: Effect.succeed(accountId),
|
|
59
|
+
},
|
|
60
|
+
queueId,
|
|
61
|
+
);
|
|
62
|
+
});
|
|
63
|
+
}),
|
|
64
|
+
);
|
|
@@ -1136,16 +1136,18 @@ export const BucketProvider = () =>
|
|
|
1136
1136
|
// sub-resource endpoints (custom domains, lifecycle) accept it. Retry only
|
|
1137
1137
|
// that narrow `NoSuchBucket` lag here; not-found sub-resources are still
|
|
1138
1138
|
// treated as terminal for idempotent deletes.
|
|
1139
|
-
const r2BucketEndpointConsistencySchedule = Schedule.
|
|
1140
|
-
Schedule.
|
|
1141
|
-
)
|
|
1139
|
+
const r2BucketEndpointConsistencySchedule = Schedule.max([
|
|
1140
|
+
Schedule.exponential(100),
|
|
1141
|
+
Schedule.recurs(5),
|
|
1142
|
+
]);
|
|
1142
1143
|
|
|
1143
1144
|
// R2 sub-resource reads (notably the custom-domain endpoint, which touches the
|
|
1144
1145
|
// bucket's public-access policy) can return a transient 500 ("Failed to access
|
|
1145
1146
|
// or modify the bucket policy"). Ride out the blip with a short bounded retry.
|
|
1146
|
-
const r2TransientServerErrorSchedule = Schedule.
|
|
1147
|
-
Schedule.
|
|
1148
|
-
)
|
|
1147
|
+
const r2TransientServerErrorSchedule = Schedule.max([
|
|
1148
|
+
Schedule.exponential("500 millis"),
|
|
1149
|
+
Schedule.recurs(6),
|
|
1150
|
+
]);
|
|
1149
1151
|
|
|
1150
1152
|
// Distilled widened generated string enums to open unions (`string & {}`); the
|
|
1151
1153
|
// API only ever returns the known variants, narrowed in `toCustomDomainAttributes`.
|
|
@@ -1266,6 +1268,7 @@ const toLifecyclePutPayload = (
|
|
|
1266
1268
|
// consistency and retry it on create. Releasing a custom domain after delete
|
|
1267
1269
|
// can lag a few seconds, so give the conflict a longer, bounded budget than
|
|
1268
1270
|
// the bucket-endpoint lag above.
|
|
1269
|
-
const r2CustomDomainConflictSchedule = Schedule.
|
|
1270
|
-
Schedule.
|
|
1271
|
-
)
|
|
1271
|
+
const r2CustomDomainConflictSchedule = Schedule.max([
|
|
1272
|
+
Schedule.spaced("2 seconds"),
|
|
1273
|
+
Schedule.recurs(8),
|
|
1274
|
+
]);
|
|
@@ -456,9 +456,10 @@ export const BucketEventNotificationProvider = () =>
|
|
|
456
456
|
// R2 can make a freshly-created bucket/queue visible to its own endpoints
|
|
457
457
|
// before the event-notification endpoints accept it. Retry only that narrow
|
|
458
458
|
// not-found lag with a bounded budget.
|
|
459
|
-
const r2EventNotificationConsistencySchedule = Schedule.
|
|
460
|
-
Schedule.
|
|
461
|
-
)
|
|
459
|
+
const r2EventNotificationConsistencySchedule = Schedule.max([
|
|
460
|
+
Schedule.exponential(250),
|
|
461
|
+
Schedule.recurs(6),
|
|
462
|
+
]);
|
|
462
463
|
|
|
463
464
|
type ObservedBucket = NonNullable<r2.ListBucketsResponse["buckets"]>[number];
|
|
464
465
|
|
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import type * as Redacted from "effect/Redacted";
|
|
3
3
|
import * as Stream from "effect/Stream";
|
|
4
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
4
5
|
import { Self } from "../../Self.ts";
|
|
6
|
+
import type { RuntimeContext } from "../../RuntimeContext.ts";
|
|
5
7
|
import { AccountApiToken } from "../ApiToken/AccountApiToken.ts";
|
|
6
8
|
import type { PermissionGroupRef } from "../ApiToken/Common.ts";
|
|
7
9
|
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
10
|
+
import type { Credentials } from "../Credentials.ts";
|
|
8
11
|
import type { Bucket } from "./Bucket.ts";
|
|
9
12
|
import { R2Error, type R2Object } from "./BucketTypes.ts";
|
|
10
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Injectable auth used by the R2 HTTP client builders. Both the token-scoped
|
|
16
|
+
* `*Http` layers and the current-credentials `*Local` layers build one of
|
|
17
|
+
* these so they can share the exact same client implementation.
|
|
18
|
+
*/
|
|
19
|
+
export interface R2Auth {
|
|
20
|
+
/** Provide credentials + HTTP client to a raw distilled R2 op. */
|
|
21
|
+
authorize: <A, E>(
|
|
22
|
+
eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
23
|
+
) => Effect.Effect<A, E, RuntimeContext>;
|
|
24
|
+
/** Resolve the Cloudflare account id. */
|
|
25
|
+
accountId: Effect.Effect<string>;
|
|
26
|
+
}
|
|
27
|
+
|
|
11
28
|
export const makeHttpBucketBinding = <Client>(options: {
|
|
12
29
|
permissionGroups: PermissionGroup[];
|
|
13
30
|
makeClient: (
|
|
@@ -66,16 +83,16 @@ type PermissionGroup = (typeof R2_HTTP_PERMISSION_GROUPS)[number];
|
|
|
66
83
|
|
|
67
84
|
/** Resolve the account, bucket, and jurisdiction once per operation. */
|
|
68
85
|
export const makeR2HttpScope = (
|
|
69
|
-
|
|
86
|
+
accountId: Effect.Effect<string>,
|
|
70
87
|
bucketName: Effect.Effect<string>,
|
|
71
88
|
jurisdiction: Effect.Effect<string>,
|
|
72
89
|
): Effect.Effect<HttpScope> =>
|
|
73
90
|
Effect.gen(function* () {
|
|
74
|
-
const
|
|
91
|
+
const accountId_ = yield* accountId;
|
|
75
92
|
const bucket = yield* bucketName;
|
|
76
93
|
const j = yield* jurisdiction;
|
|
77
94
|
return {
|
|
78
|
-
accountId,
|
|
95
|
+
accountId: accountId_,
|
|
79
96
|
bucketName: bucket,
|
|
80
97
|
cfR2Jurisdiction: j === "default" ? undefined : j,
|
|
81
98
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
3
|
+
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
4
|
+
import type { Credentials } from "../Credentials.ts";
|
|
5
|
+
import type { Bucket } from "./Bucket.ts";
|
|
6
|
+
import type { R2Auth } from "./BucketHttp.ts";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Shared scaffolding for the R2 `*Local` binding layers.
|
|
10
|
+
*
|
|
11
|
+
* Resolves the account + captures the ambient current-credentials context at
|
|
12
|
+
* layer construction, then returns the deferred binding callable. The callable
|
|
13
|
+
* reads the bucket name/jurisdiction as deferred accessors (resolved at apply
|
|
14
|
+
* time) and builds the same HTTP-backed client the `*Http` variant uses, but
|
|
15
|
+
* authorized with the current CLI credentials instead of a minted token.
|
|
16
|
+
*
|
|
17
|
+
* NOT exported from `index.ts`.
|
|
18
|
+
*/
|
|
19
|
+
export const makeLocalBucketBinding = <Client>(makeClient: {
|
|
20
|
+
(
|
|
21
|
+
auth: R2Auth,
|
|
22
|
+
bucketName: Effect.Effect<string>,
|
|
23
|
+
jurisdiction: Effect.Effect<string>,
|
|
24
|
+
): Client;
|
|
25
|
+
}) =>
|
|
26
|
+
Effect.gen(function* () {
|
|
27
|
+
// Account + credentials are ambient during stack-eval (the stack's
|
|
28
|
+
// providers layer). Capture the full context so each op can be run with the
|
|
29
|
+
// current credentials.
|
|
30
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
31
|
+
const context = yield* Effect.context<
|
|
32
|
+
Credentials | HttpClient.HttpClient
|
|
33
|
+
>();
|
|
34
|
+
|
|
35
|
+
const auth: R2Auth = {
|
|
36
|
+
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
37
|
+
accountId: Effect.succeed(accountId),
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return Effect.fn(function* (bucket: Bucket) {
|
|
41
|
+
// Deferred accessors — resolved against the tracker at apply time. No
|
|
42
|
+
// `host.bind`: the local variant registers no binding.
|
|
43
|
+
const bucketName = yield* bucket.bucketName;
|
|
44
|
+
const jurisdiction = yield* bucket.jurisdiction;
|
|
45
|
+
return makeClient(auth, bucketName, jurisdiction);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
@@ -373,9 +373,10 @@ export const DataCatalogProvider = () =>
|
|
|
373
373
|
|
|
374
374
|
// A freshly-created bucket (or freshly-enabled catalog) can briefly 404 on
|
|
375
375
|
// the r2-catalog endpoints before the warehouse propagates.
|
|
376
|
-
const catalogConsistencySchedule = Schedule.
|
|
377
|
-
Schedule.
|
|
378
|
-
)
|
|
376
|
+
const catalogConsistencySchedule = Schedule.max([
|
|
377
|
+
Schedule.exponential(100),
|
|
378
|
+
Schedule.recurs(5),
|
|
379
|
+
]);
|
|
379
380
|
|
|
380
381
|
/**
|
|
381
382
|
* Read a catalog by bucket name, mapping "gone" (`WarehouseNotFound`, code
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
makeR2HttpScope,
|
|
10
10
|
toR2Error,
|
|
11
11
|
type HttpMetadata,
|
|
12
|
-
type
|
|
12
|
+
type R2Auth,
|
|
13
13
|
} from "./BucketHttp.ts";
|
|
14
14
|
import { ReadBucket, type ReadBucketClient } from "./ReadBucket.ts";
|
|
15
15
|
import {
|
|
@@ -29,18 +29,23 @@ export const ReadBucketHttp = Layer.effect(
|
|
|
29
29
|
Effect.suspend(() =>
|
|
30
30
|
makeHttpBucketBinding({
|
|
31
31
|
permissionGroups: ["Workers R2 Storage Read"],
|
|
32
|
-
makeClient:
|
|
32
|
+
makeClient: (token, bucketName, jurisdiction) =>
|
|
33
|
+
makeReadR2HttpClient(
|
|
34
|
+
{ authorize: authorizeWith(token), accountId: token.accountId },
|
|
35
|
+
bucketName,
|
|
36
|
+
jurisdiction,
|
|
37
|
+
),
|
|
33
38
|
}),
|
|
34
39
|
),
|
|
35
40
|
);
|
|
36
41
|
|
|
37
42
|
export const makeReadR2HttpClient = (
|
|
38
|
-
|
|
43
|
+
auth: R2Auth,
|
|
39
44
|
bucketName: Effect.Effect<string>,
|
|
40
45
|
jurisdiction: Effect.Effect<string>,
|
|
41
46
|
): ReadBucketClient => {
|
|
42
|
-
const authorize =
|
|
43
|
-
const scope = makeR2HttpScope(
|
|
47
|
+
const authorize = auth.authorize;
|
|
48
|
+
const scope = makeR2HttpScope(auth.accountId, bucketName, jurisdiction);
|
|
44
49
|
|
|
45
50
|
return {
|
|
46
51
|
raw: Effect.die(
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeLocalBucketBinding } from "./BucketLocal.ts";
|
|
4
|
+
import { ReadBucket } from "./ReadBucket.ts";
|
|
5
|
+
import { makeReadR2HttpClient } from "./ReadBucketHttp.ts";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Local implementation of the {@link ReadBucket} binding — reads R2 objects
|
|
9
|
+
* over the Cloudflare HTTP API using the **current credentials** instead of a
|
|
10
|
+
* native Worker binding (`ReadBucketBinding`) or a scoped API token
|
|
11
|
+
* (`ReadBucketHttp`).
|
|
12
|
+
*
|
|
13
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) to read a bucket
|
|
14
|
+
* with the same `head`/`get`/`list` client you'd use inside a Worker.
|
|
15
|
+
*
|
|
16
|
+
* @example Reading an object from an Action
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const Read = Alchemy.Action(
|
|
19
|
+
* "Read",
|
|
20
|
+
* Effect.gen(function* () {
|
|
21
|
+
* const r2 = yield* Cloudflare.R2.ReadBucket(bucket);
|
|
22
|
+
* return Effect.fn(function* () {
|
|
23
|
+
* const object = yield* r2.get("hello.txt");
|
|
24
|
+
* return object ? yield* object.text() : null;
|
|
25
|
+
* });
|
|
26
|
+
* }).pipe(Effect.provide(Cloudflare.R2.ReadBucketLocal)),
|
|
27
|
+
* );
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export const ReadBucketLocal = Layer.effect(
|
|
31
|
+
ReadBucket,
|
|
32
|
+
Effect.suspend(() => makeLocalBucketBinding(makeReadR2HttpClient)),
|
|
33
|
+
);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
-
import {
|
|
3
|
+
import { authorizeWith } from "../HttpClientUtils.ts";
|
|
4
|
+
import { makeHttpBucketBinding, type R2Auth } from "./BucketHttp.ts";
|
|
4
5
|
import { makeReadR2HttpClient } from "./ReadBucketHttp.ts";
|
|
5
6
|
import {
|
|
6
7
|
ReadWriteBucket,
|
|
@@ -18,18 +19,23 @@ export const ReadWriteBucketHttp = Layer.effect(
|
|
|
18
19
|
Effect.suspend(() =>
|
|
19
20
|
makeHttpBucketBinding({
|
|
20
21
|
permissionGroups: ["Workers R2 Storage Read", "Workers R2 Storage Write"],
|
|
21
|
-
makeClient:
|
|
22
|
+
makeClient: (token, bucketName, jurisdiction) =>
|
|
23
|
+
makeReadWriteR2HttpClient(
|
|
24
|
+
{ authorize: authorizeWith(token), accountId: token.accountId },
|
|
25
|
+
bucketName,
|
|
26
|
+
jurisdiction,
|
|
27
|
+
),
|
|
22
28
|
}),
|
|
23
29
|
),
|
|
24
30
|
);
|
|
25
31
|
|
|
26
32
|
/** Build the HTTP-backed {@link ReadWrite} over a bound token + bucket. */
|
|
27
33
|
export const makeReadWriteR2HttpClient = (
|
|
28
|
-
|
|
34
|
+
auth: R2Auth,
|
|
29
35
|
bucketName: Effect.Effect<string>,
|
|
30
36
|
jurisdiction: Effect.Effect<string>,
|
|
31
37
|
): ReadWriteBucketClient =>
|
|
32
38
|
({
|
|
33
|
-
...makeReadR2HttpClient(
|
|
34
|
-
...makeWriteR2HttpClient(
|
|
39
|
+
...makeReadR2HttpClient(auth, bucketName, jurisdiction),
|
|
40
|
+
...makeWriteR2HttpClient(auth, bucketName, jurisdiction),
|
|
35
41
|
}) satisfies ReadWriteBucketClient;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeLocalBucketBinding } from "./BucketLocal.ts";
|
|
4
|
+
import { ReadWriteBucket } from "./ReadWriteBucket.ts";
|
|
5
|
+
import { makeReadWriteR2HttpClient } from "./ReadWriteBucketHttp.ts";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Local implementation of the {@link ReadWriteBucket} binding — reads and
|
|
9
|
+
* writes R2 objects over the Cloudflare HTTP API using the **current
|
|
10
|
+
* credentials** instead of a native Worker binding (`ReadWriteBucketBinding`)
|
|
11
|
+
* or a scoped API token (`ReadWriteBucketHttp`).
|
|
12
|
+
*
|
|
13
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) to use the same
|
|
14
|
+
* `head`/`get`/`list`/`put`/`delete` client you'd use inside a Worker.
|
|
15
|
+
* Multipart uploads are unsupported over the HTTP API (mirrors
|
|
16
|
+
* `ReadWriteBucketHttp`).
|
|
17
|
+
*
|
|
18
|
+
* @example Seeding then reading a bucket from an Action
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const Seed = Alchemy.Action(
|
|
21
|
+
* "Seed",
|
|
22
|
+
* Effect.gen(function* () {
|
|
23
|
+
* const r2 = yield* Cloudflare.R2.ReadWriteBucket(bucket);
|
|
24
|
+
* return Effect.fn(function* () {
|
|
25
|
+
* yield* r2.put("hello.txt", "Hello, World!");
|
|
26
|
+
* const object = yield* r2.get("hello.txt");
|
|
27
|
+
* return object ? yield* object.text() : null;
|
|
28
|
+
* });
|
|
29
|
+
* }).pipe(Effect.provide(Cloudflare.R2.ReadWriteBucketLocal)),
|
|
30
|
+
* );
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export const ReadWriteBucketLocal = Layer.effect(
|
|
34
|
+
ReadWriteBucket,
|
|
35
|
+
Effect.suspend(() => makeLocalBucketBinding(makeReadWriteR2HttpClient)),
|
|
36
|
+
);
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
readHttpMetadata,
|
|
11
11
|
toBody,
|
|
12
12
|
toR2Error,
|
|
13
|
-
type
|
|
13
|
+
type R2Auth,
|
|
14
14
|
} from "./BucketHttp.ts";
|
|
15
15
|
import { R2Error, type PutOptions } from "./BucketTypes.ts";
|
|
16
16
|
import { WriteBucket, type WriteBucketClient } from "./WriteBucket.ts";
|
|
@@ -25,19 +25,24 @@ export const WriteBucketHttp = Layer.effect(
|
|
|
25
25
|
Effect.suspend(() =>
|
|
26
26
|
makeHttpBucketBinding({
|
|
27
27
|
permissionGroups: ["Workers R2 Storage Write"],
|
|
28
|
-
makeClient:
|
|
28
|
+
makeClient: (token, bucketName, jurisdiction) =>
|
|
29
|
+
makeWriteR2HttpClient(
|
|
30
|
+
{ authorize: authorizeWith(token), accountId: token.accountId },
|
|
31
|
+
bucketName,
|
|
32
|
+
jurisdiction,
|
|
33
|
+
),
|
|
29
34
|
}),
|
|
30
35
|
),
|
|
31
36
|
);
|
|
32
37
|
|
|
33
38
|
/** Build the write half of the HTTP-backed {@link ReadWrite} client. */
|
|
34
39
|
export const makeWriteR2HttpClient = (
|
|
35
|
-
|
|
40
|
+
auth: R2Auth,
|
|
36
41
|
bucketName: Effect.Effect<string>,
|
|
37
42
|
jurisdiction: Effect.Effect<string>,
|
|
38
43
|
): WriteBucketClient => {
|
|
39
|
-
const authorize =
|
|
40
|
-
const scope = makeR2HttpScope(
|
|
44
|
+
const authorize = auth.authorize;
|
|
45
|
+
const scope = makeR2HttpScope(auth.accountId, bucketName, jurisdiction);
|
|
41
46
|
|
|
42
47
|
return {
|
|
43
48
|
put: ((
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import { makeLocalBucketBinding } from "./BucketLocal.ts";
|
|
4
|
+
import { WriteBucket } from "./WriteBucket.ts";
|
|
5
|
+
import { makeWriteR2HttpClient } from "./WriteBucketHttp.ts";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Local implementation of the {@link WriteBucket} binding — writes R2 objects
|
|
9
|
+
* over the Cloudflare HTTP API using the **current credentials** instead of a
|
|
10
|
+
* native Worker binding (`WriteBucketBinding`) or a scoped API token
|
|
11
|
+
* (`WriteBucketHttp`).
|
|
12
|
+
*
|
|
13
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) to write a bucket
|
|
14
|
+
* with the same `put`/`delete` client you'd use inside a Worker. Multipart
|
|
15
|
+
* uploads are unsupported over the HTTP API (mirrors `WriteBucketHttp`).
|
|
16
|
+
*
|
|
17
|
+
* @example Seeding a bucket from an Action
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const Seed = Alchemy.Action(
|
|
20
|
+
* "Seed",
|
|
21
|
+
* Effect.gen(function* () {
|
|
22
|
+
* const r2 = yield* Cloudflare.R2.WriteBucket(bucket);
|
|
23
|
+
* return Effect.fn(function* () {
|
|
24
|
+
* yield* r2.put("hello.txt", "Hello, World!");
|
|
25
|
+
* });
|
|
26
|
+
* }).pipe(Effect.provide(Cloudflare.R2.WriteBucketLocal)),
|
|
27
|
+
* );
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export const WriteBucketLocal = Layer.effect(
|
|
31
|
+
WriteBucket,
|
|
32
|
+
Effect.suspend(() => makeLocalBucketBinding(makeWriteR2HttpClient)),
|
|
33
|
+
);
|