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
|
@@ -5,9 +5,12 @@ export * from "./Tunnel.ts";
|
|
|
5
5
|
export * from "./TunnelBinding.ts";
|
|
6
6
|
export * from "./ReadTunnel.ts";
|
|
7
7
|
export * from "./ReadTunnelBinding.ts";
|
|
8
|
+
export * from "./ReadTunnelLocal.ts";
|
|
8
9
|
export * from "./ReadWriteTunnel.ts";
|
|
9
10
|
export * from "./ReadWriteTunnelBinding.ts";
|
|
11
|
+
export * from "./ReadWriteTunnelLocal.ts";
|
|
10
12
|
export * from "./WriteTunnel.ts";
|
|
11
13
|
export * from "./WriteTunnelBinding.ts";
|
|
14
|
+
export * from "./WriteTunnelLocal.ts";
|
|
12
15
|
export * from "./VirtualNetwork.ts";
|
|
13
16
|
export * from "./WarpConnector.ts";
|
|
@@ -155,10 +155,13 @@ export const UrlNormalizationProvider = () =>
|
|
|
155
155
|
// zone never falls out of the enumeration on a blip.
|
|
156
156
|
Effect.retry({
|
|
157
157
|
while: (e) => e._tag === "Forbidden",
|
|
158
|
-
schedule: Schedule.
|
|
159
|
-
Schedule.
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
schedule: Schedule.max([
|
|
159
|
+
Schedule.min([
|
|
160
|
+
Schedule.exponential("500 millis"),
|
|
161
|
+
Schedule.spaced("5 seconds"),
|
|
162
|
+
]),
|
|
163
|
+
Schedule.recurs(8),
|
|
164
|
+
]),
|
|
162
165
|
}),
|
|
163
166
|
Effect.map((observed) => toAttributes(zoneId, observed)),
|
|
164
167
|
// Plan-gated or partial zones reject the route; skip them.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type * as runtime from "@cloudflare/workers-types";
|
|
2
|
+
import * as vectorize from "@distilled.cloud/cloudflare/vectorize";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
5
|
+
import type { Credentials } from "../Credentials.ts";
|
|
6
|
+
import type { SearchIndexClient } from "./SearchIndex.ts";
|
|
7
|
+
|
|
8
|
+
// Shared HTTP scaffolding for the Vectorize `SearchIndex` binding. NOT
|
|
9
|
+
// re-exported from `index.ts` — only the contract and the impl layers are
|
|
10
|
+
// public. A future token-scoped `SearchIndexHttp` layer reuses this builder
|
|
11
|
+
// with an auth minted from an `AccountApiToken`; `SearchIndexLocal` builds the
|
|
12
|
+
// auth from the ambient current-credentials context.
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Injectable auth shared by the Local (current-credentials) impl and a future
|
|
16
|
+
* Http (scoped-token) impl. `authorize` discharges the
|
|
17
|
+
* `Credentials | HttpClient` requirement of a distilled op; `accountId` is the
|
|
18
|
+
* Cloudflare account the ops run against.
|
|
19
|
+
*/
|
|
20
|
+
export interface SearchIndexAuth {
|
|
21
|
+
authorize: <A, E>(
|
|
22
|
+
eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
23
|
+
) => Effect.Effect<A, E>;
|
|
24
|
+
accountId: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Build a {@link SearchIndexClient} over the Vectorize HTTP API.
|
|
29
|
+
*
|
|
30
|
+
* `indexName` is an Effect so the resolution stays deferred to each call —
|
|
31
|
+
* inside an Action it resolves through the apply-time RuntimeContext. The
|
|
32
|
+
* credentials are provided ONLY around the distilled op (via `auth.authorize`),
|
|
33
|
+
* never around the name accessor, matching the D1 / KV Local variants. `orDie`
|
|
34
|
+
* mirrors the native binding, whose client methods surface transport failures
|
|
35
|
+
* as defects.
|
|
36
|
+
*
|
|
37
|
+
* Two methods have no Cloudflare HTTP equivalent and `Effect.die`:
|
|
38
|
+
* - `raw` — there is no HTTP-backed `runtime.Vectorize` object to hand back.
|
|
39
|
+
* - `queryById` — the HTTP query endpoint only accepts a raw vector, not an id.
|
|
40
|
+
*/
|
|
41
|
+
export const makeHttpSearchIndexClient = (
|
|
42
|
+
auth: SearchIndexAuth,
|
|
43
|
+
indexName: Effect.Effect<string>,
|
|
44
|
+
): SearchIndexClient => {
|
|
45
|
+
const { accountId } = auth;
|
|
46
|
+
const local = <A, E>(
|
|
47
|
+
fn: (
|
|
48
|
+
name: string,
|
|
49
|
+
) => Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
50
|
+
): Effect.Effect<A> =>
|
|
51
|
+
Effect.flatMap(indexName, (name) => auth.authorize(fn(name))).pipe(
|
|
52
|
+
Effect.orDie,
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
raw: Effect.die(
|
|
57
|
+
new Error(
|
|
58
|
+
"SearchIndex over HTTP: `raw` is not available — use a native Worker binding (SearchIndexBinding) for direct access.",
|
|
59
|
+
),
|
|
60
|
+
),
|
|
61
|
+
describe: () =>
|
|
62
|
+
local((name) =>
|
|
63
|
+
vectorize
|
|
64
|
+
.infoIndex({ accountId, indexName: name })
|
|
65
|
+
.pipe(Effect.map(toIndexInfo)),
|
|
66
|
+
),
|
|
67
|
+
query: (vector, options) =>
|
|
68
|
+
local((name) =>
|
|
69
|
+
vectorize
|
|
70
|
+
.queryIndex({
|
|
71
|
+
accountId,
|
|
72
|
+
indexName: name,
|
|
73
|
+
vector: Array.from(vector),
|
|
74
|
+
topK: options?.topK,
|
|
75
|
+
returnValues: options?.returnValues,
|
|
76
|
+
returnMetadata: toReturnMetadata(options?.returnMetadata),
|
|
77
|
+
filter: options?.filter,
|
|
78
|
+
})
|
|
79
|
+
.pipe(Effect.map(toMatches)),
|
|
80
|
+
),
|
|
81
|
+
queryById: () =>
|
|
82
|
+
Effect.die(
|
|
83
|
+
new Error(
|
|
84
|
+
"SearchIndex over HTTP: `queryById` is not supported — the HTTP query endpoint only accepts a raw query vector. Fetch the vector with `getByIds` and pass its values to `query`.",
|
|
85
|
+
),
|
|
86
|
+
),
|
|
87
|
+
insert: (vectors) =>
|
|
88
|
+
local((name) =>
|
|
89
|
+
vectorize
|
|
90
|
+
.insertIndex({
|
|
91
|
+
accountId,
|
|
92
|
+
indexName: name,
|
|
93
|
+
body: toNdjsonBlob(vectors),
|
|
94
|
+
})
|
|
95
|
+
.pipe(Effect.map(toMutation)),
|
|
96
|
+
),
|
|
97
|
+
upsert: (vectors) =>
|
|
98
|
+
local((name) =>
|
|
99
|
+
vectorize
|
|
100
|
+
.upsertIndex({
|
|
101
|
+
accountId,
|
|
102
|
+
indexName: name,
|
|
103
|
+
body: toNdjsonBlob(vectors),
|
|
104
|
+
})
|
|
105
|
+
.pipe(Effect.map(toMutation)),
|
|
106
|
+
),
|
|
107
|
+
deleteByIds: (ids) =>
|
|
108
|
+
local((name) =>
|
|
109
|
+
vectorize
|
|
110
|
+
.deleteByIdsIndex({ accountId, indexName: name, ids })
|
|
111
|
+
.pipe(Effect.map(toMutation)),
|
|
112
|
+
),
|
|
113
|
+
getByIds: (ids) =>
|
|
114
|
+
local((name) =>
|
|
115
|
+
vectorize
|
|
116
|
+
.getByIdsIndex({ accountId, indexName: name, ids })
|
|
117
|
+
.pipe(
|
|
118
|
+
Effect.map((result) => (result ?? []) as runtime.VectorizeVector[]),
|
|
119
|
+
),
|
|
120
|
+
),
|
|
121
|
+
} satisfies SearchIndexClient;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// ── shape adapters (runtime types <-> distilled HTTP types) ─────────────────
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Serialize vectors to an ndjson Blob — the raw `application/x-ndjson` request
|
|
128
|
+
* body of the Vectorize v2 insert/upsert endpoints.
|
|
129
|
+
*/
|
|
130
|
+
const toNdjsonBlob = (vectors: runtime.VectorizeVector[]): Blob =>
|
|
131
|
+
new Blob([toNdjson(vectors)]);
|
|
132
|
+
|
|
133
|
+
/** Serialize vectors to ndjson — one JSON vector per line. */
|
|
134
|
+
const toNdjson = (vectors: runtime.VectorizeVector[]): string =>
|
|
135
|
+
vectors
|
|
136
|
+
.map((v) =>
|
|
137
|
+
JSON.stringify({
|
|
138
|
+
id: v.id,
|
|
139
|
+
// A `VectorFloatArray` (Float32Array) would `JSON.stringify` to an
|
|
140
|
+
// object, not an array — normalize to a plain number array.
|
|
141
|
+
values: Array.from(v.values),
|
|
142
|
+
...(v.namespace !== undefined ? { namespace: v.namespace } : {}),
|
|
143
|
+
...(v.metadata !== undefined ? { metadata: v.metadata } : {}),
|
|
144
|
+
}),
|
|
145
|
+
)
|
|
146
|
+
.join("\n");
|
|
147
|
+
|
|
148
|
+
const toReturnMetadata = (
|
|
149
|
+
value: runtime.VectorizeQueryOptions["returnMetadata"],
|
|
150
|
+
): "none" | "indexed" | "all" | undefined =>
|
|
151
|
+
value === undefined
|
|
152
|
+
? undefined
|
|
153
|
+
: typeof value === "boolean"
|
|
154
|
+
? value
|
|
155
|
+
? "all"
|
|
156
|
+
: "none"
|
|
157
|
+
: value;
|
|
158
|
+
|
|
159
|
+
const toMutation = (r: {
|
|
160
|
+
mutationId?: string | null;
|
|
161
|
+
}): runtime.VectorizeAsyncMutation => ({ mutationId: r.mutationId ?? "" });
|
|
162
|
+
|
|
163
|
+
const toIndexInfo = (
|
|
164
|
+
r: vectorize.InfoIndexResponse,
|
|
165
|
+
): runtime.VectorizeIndexInfo =>
|
|
166
|
+
({
|
|
167
|
+
vectorCount: r.vectorCount ?? 0,
|
|
168
|
+
dimensions: r.dimensions ?? 0,
|
|
169
|
+
processedUpToDatetime: r.processedUpToDatetime ?? undefined,
|
|
170
|
+
processedUpToMutation: r.processedUpToMutation ?? undefined,
|
|
171
|
+
}) as unknown as runtime.VectorizeIndexInfo;
|
|
172
|
+
|
|
173
|
+
const toMatches = (r: vectorize.QueryIndexResponse): runtime.VectorizeMatches =>
|
|
174
|
+
({
|
|
175
|
+
count: r.count ?? r.matches?.length ?? 0,
|
|
176
|
+
matches: (r.matches ?? []).map((m) => ({
|
|
177
|
+
id: m.id ?? "",
|
|
178
|
+
score: m.score ?? 0,
|
|
179
|
+
...(m.values != null ? { values: m.values } : {}),
|
|
180
|
+
...(m.namespace != null ? { namespace: m.namespace } : {}),
|
|
181
|
+
...(m.metadata != null ? { metadata: m.metadata } : {}),
|
|
182
|
+
})),
|
|
183
|
+
}) as unknown as runtime.VectorizeMatches;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Credentials } from "@distilled.cloud/cloudflare/Credentials";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
5
|
+
import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
|
|
6
|
+
import { SearchIndex } from "./SearchIndex.ts";
|
|
7
|
+
import {
|
|
8
|
+
type SearchIndexAuth,
|
|
9
|
+
makeHttpSearchIndexClient,
|
|
10
|
+
} from "./SearchIndexHttpClient.ts";
|
|
11
|
+
import type { Index } from "./VectorizeIndex.ts";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Local implementation of the {@link SearchIndex} binding — talks to a
|
|
15
|
+
* Vectorize index over the Cloudflare HTTP API using the **current
|
|
16
|
+
* credentials** instead of a native Worker binding (`SearchIndexBinding`).
|
|
17
|
+
*
|
|
18
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) so you can
|
|
19
|
+
* insert, upsert, query, and fetch vectors with the same client you'd use
|
|
20
|
+
* inside a Worker — no Worker host, no `host.bind`, no minted token:
|
|
21
|
+
*
|
|
22
|
+
* @example Seeding an index from an Action
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const Seed = Alchemy.Action(
|
|
25
|
+
* "Seed",
|
|
26
|
+
* Effect.gen(function* () {
|
|
27
|
+
* const vec = yield* Cloudflare.Vectorize.SearchIndex(index);
|
|
28
|
+
* return Effect.fn(function* () {
|
|
29
|
+
* yield* vec.upsert([
|
|
30
|
+
* { id: "1", values: [0.1, 0.2, 0.3, 0.4] },
|
|
31
|
+
* { id: "2", values: [0.9, 0.8, 0.7, 0.6] },
|
|
32
|
+
* ]);
|
|
33
|
+
* const matches = yield* vec.query([0.1, 0.2, 0.3, 0.4], { topK: 1 });
|
|
34
|
+
* return matches;
|
|
35
|
+
* });
|
|
36
|
+
* }).pipe(Effect.provide(Cloudflare.Vectorize.SearchIndexLocal)),
|
|
37
|
+
* );
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* The index name is resolved at apply time through the ambient
|
|
41
|
+
* {@link RuntimeContext} (in an Action, that's the resolve context the engine
|
|
42
|
+
* provides around the body), so `SearchIndex(index)` works even though the
|
|
43
|
+
* index is created in the same deploy.
|
|
44
|
+
*
|
|
45
|
+
* `raw` and `queryById` have no Cloudflare HTTP equivalent and `Effect.die` —
|
|
46
|
+
* see {@link makeHttpSearchIndexClient}.
|
|
47
|
+
*/
|
|
48
|
+
export const SearchIndexLocal = Layer.effect(
|
|
49
|
+
SearchIndex,
|
|
50
|
+
Effect.gen(function* () {
|
|
51
|
+
// Account + credentials are ambient during stack-eval (the stack's
|
|
52
|
+
// providers layer). Capture the full context so the HTTP ops run with the
|
|
53
|
+
// current credentials — no `host.bind`, no minted token.
|
|
54
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
55
|
+
const context = yield* Effect.context<
|
|
56
|
+
Credentials | HttpClient.HttpClient
|
|
57
|
+
>();
|
|
58
|
+
const auth: SearchIndexAuth = {
|
|
59
|
+
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
60
|
+
accountId,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return Effect.fn(function* (index: Index) {
|
|
64
|
+
// Deferred accessor — resolves the index name against the tracker at
|
|
65
|
+
// apply time (in an Action, that's the engine's resolve context).
|
|
66
|
+
const indexName = yield* index.indexName;
|
|
67
|
+
return makeHttpSearchIndexClient(auth, indexName);
|
|
68
|
+
});
|
|
69
|
+
}),
|
|
70
|
+
);
|
|
@@ -116,10 +116,13 @@ export const SettingsProvider = () =>
|
|
|
116
116
|
// test timeout when a zone is persistently 403.
|
|
117
117
|
Effect.retry({
|
|
118
118
|
while: (e) => e._tag === "Forbidden",
|
|
119
|
-
schedule: Schedule.
|
|
120
|
-
Schedule.
|
|
121
|
-
|
|
122
|
-
|
|
119
|
+
schedule: Schedule.max([
|
|
120
|
+
Schedule.min([
|
|
121
|
+
Schedule.exponential("500 millis"),
|
|
122
|
+
Schedule.spaced("5 seconds"),
|
|
123
|
+
]),
|
|
124
|
+
Schedule.recurs(8),
|
|
125
|
+
]),
|
|
123
126
|
}),
|
|
124
127
|
Effect.map((observed) =>
|
|
125
128
|
toAttributes(
|
|
@@ -90,6 +90,25 @@ export interface ViteProps<Bindings extends WorkerBindingProps = {}>
|
|
|
90
90
|
* });
|
|
91
91
|
* ```
|
|
92
92
|
*
|
|
93
|
+
* @section Custom Worker Entry
|
|
94
|
+
* By default the deployed Worker entry is the server bundle the
|
|
95
|
+
* framework produces. When the Worker must export more than the
|
|
96
|
+
* framework's fetch handler — Durable Object classes, additional
|
|
97
|
+
* handlers — point `main` at your own module that wraps the framework
|
|
98
|
+
* handler and re-exports the extras. `main` takes precedence over any
|
|
99
|
+
* entry configured in the Vite config.
|
|
100
|
+
*
|
|
101
|
+
* @example Custom entry hosting Durable Objects
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const app = yield* Cloudflare.Website.Vite("App", {
|
|
104
|
+
* main: "worker/index.ts",
|
|
105
|
+
* viteEnvironments: {
|
|
106
|
+
* entry: "rsc",
|
|
107
|
+
* children: ["ssr"],
|
|
108
|
+
* },
|
|
109
|
+
* });
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
93
112
|
* @section Single-Page Applications
|
|
94
113
|
* For SPAs (React, Vue, etc.), configure asset handling so all
|
|
95
114
|
* routes fall back to `index.html`.
|
|
@@ -178,6 +197,7 @@ export const Vite: {
|
|
|
178
197
|
...props,
|
|
179
198
|
main: undefined!,
|
|
180
199
|
vite: {
|
|
200
|
+
main: props?.main,
|
|
181
201
|
rootDir: props?.rootDir,
|
|
182
202
|
memo: props?.memo,
|
|
183
203
|
viteEnvironments: props?.viteEnvironments,
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import * as browser from "@distilled.cloud/cloudflare/browser-rendering";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Stream from "effect/Stream";
|
|
4
|
+
import type * as HttpClient from "effect/unstable/http/HttpClient";
|
|
5
|
+
import type { RuntimeContext } from "../../RuntimeContext.ts";
|
|
6
|
+
import type { Credentials } from "../Credentials.ts";
|
|
7
|
+
import {
|
|
8
|
+
type BrowserClient,
|
|
9
|
+
type BrowserContentResult,
|
|
10
|
+
BrowserError,
|
|
11
|
+
type BrowserJsonResult,
|
|
12
|
+
type BrowserLinksResult,
|
|
13
|
+
type BrowserMarkdownResult,
|
|
14
|
+
type BrowserScrapeResult,
|
|
15
|
+
type BrowserSnapshotResult,
|
|
16
|
+
} from "./Browser.ts";
|
|
17
|
+
|
|
18
|
+
// Shared HTTP scaffolding for the Browser Rendering binding. NOT re-exported
|
|
19
|
+
// from `index.ts` — only the contract and the impl layers are public. A future
|
|
20
|
+
// token-scoped `BrowserHttp` layer reuses this builder with an auth minted from
|
|
21
|
+
// an `AccountApiToken`; `BrowserLocal` builds the auth from the ambient
|
|
22
|
+
// current-credentials context.
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Injectable auth shared by the Local (current-credentials) impl and a future
|
|
26
|
+
* Http (scoped-token) impl. `authorize` discharges the
|
|
27
|
+
* `Credentials | HttpClient` requirement of a distilled op; `accountId` is the
|
|
28
|
+
* Cloudflare account the ops run against.
|
|
29
|
+
*/
|
|
30
|
+
export interface BrowserAuth {
|
|
31
|
+
authorize: <A, E>(
|
|
32
|
+
eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
33
|
+
) => Effect.Effect<A, E>;
|
|
34
|
+
accountId: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** A byte stream produced by a binary {@link BrowserClient} action. */
|
|
38
|
+
type BrowserByteStream = Stream.Stream<
|
|
39
|
+
Uint8Array,
|
|
40
|
+
BrowserError,
|
|
41
|
+
RuntimeContext
|
|
42
|
+
>;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Build a {@link BrowserClient} over the Browser Rendering REST data-plane
|
|
46
|
+
* (`/accounts/{id}/browser-rendering/*`).
|
|
47
|
+
*
|
|
48
|
+
* The following client members `Effect.die` (or fail the stream) because they
|
|
49
|
+
* have no Cloudflare REST equivalent — use a native `BrowserBinding` inside a
|
|
50
|
+
* deployed Worker for them:
|
|
51
|
+
* - `raw` / `fetch` — the raw `BrowserRun` transport used by
|
|
52
|
+
* `@cloudflare/puppeteer` is a Worker-runtime object, not an HTTP call.
|
|
53
|
+
* - `screenshot` / `pdf` — the binary endpoints stream image/PDF bytes, which
|
|
54
|
+
* the distilled REST codec models as JSON status, not a byte stream.
|
|
55
|
+
*
|
|
56
|
+
* Because the REST data-plane only returns the action `result` (not the
|
|
57
|
+
* runtime binding's `meta` envelope), `content`/`snapshot` populate `meta`
|
|
58
|
+
* with a best-effort placeholder.
|
|
59
|
+
*/
|
|
60
|
+
export const makeHttpBrowserClient = (auth: BrowserAuth): BrowserClient => {
|
|
61
|
+
// Run a distilled Browser Rendering op with the injected auth and surface
|
|
62
|
+
// transport/API failures as {@link BrowserError} (matching the native
|
|
63
|
+
// binding's declared error channel).
|
|
64
|
+
const run = <A, E>(
|
|
65
|
+
eff: Effect.Effect<A, E, Credentials | HttpClient.HttpClient>,
|
|
66
|
+
): Effect.Effect<A, BrowserError, RuntimeContext> =>
|
|
67
|
+
auth.authorize(eff).pipe(
|
|
68
|
+
Effect.mapError(
|
|
69
|
+
(cause) =>
|
|
70
|
+
new BrowserError({
|
|
71
|
+
message: "Browser Rendering request failed",
|
|
72
|
+
cause,
|
|
73
|
+
}),
|
|
74
|
+
),
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
// The cf option types (`url`/`html` + puppeteer options) are structurally the
|
|
78
|
+
// REST request body; add the account id and let distilled's encoder drop any
|
|
79
|
+
// fields it doesn't model.
|
|
80
|
+
const req = (options: unknown) =>
|
|
81
|
+
({ accountId: auth.accountId, ...(options as object) }) as never;
|
|
82
|
+
|
|
83
|
+
const content = (options: unknown) =>
|
|
84
|
+
run(browser.createContent(req(options))).pipe(
|
|
85
|
+
Effect.map(
|
|
86
|
+
(result): BrowserContentResult => ({
|
|
87
|
+
success: true,
|
|
88
|
+
result,
|
|
89
|
+
meta: { status: 200, title: "" },
|
|
90
|
+
}),
|
|
91
|
+
),
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const markdown = (options: unknown) =>
|
|
95
|
+
run(browser.createMarkdown(req(options))).pipe(
|
|
96
|
+
Effect.map(
|
|
97
|
+
(result): BrowserMarkdownResult => ({ success: true, result }),
|
|
98
|
+
),
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
const links = (options: unknown) =>
|
|
102
|
+
run(browser.createLink(req(options))).pipe(
|
|
103
|
+
Effect.map(
|
|
104
|
+
(result): BrowserLinksResult => ({
|
|
105
|
+
success: true,
|
|
106
|
+
result: [...result],
|
|
107
|
+
}),
|
|
108
|
+
),
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
const json = (options: unknown) =>
|
|
112
|
+
run(browser.createJson(req(options))).pipe(
|
|
113
|
+
Effect.map((result): BrowserJsonResult => ({ success: true, result })),
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
const scrape = (options: unknown) =>
|
|
117
|
+
run(browser.createScrape(req(options))).pipe(
|
|
118
|
+
Effect.map(
|
|
119
|
+
(result): BrowserScrapeResult => ({
|
|
120
|
+
success: true,
|
|
121
|
+
result: result.map((item) => ({
|
|
122
|
+
selector: item.selector,
|
|
123
|
+
// distilled models per-selector `results` as a single object; the
|
|
124
|
+
// native shape is an array of matched elements.
|
|
125
|
+
results: (Array.isArray(item.results)
|
|
126
|
+
? item.results
|
|
127
|
+
: [
|
|
128
|
+
item.results,
|
|
129
|
+
]) as BrowserScrapeResult["result"][number]["results"],
|
|
130
|
+
})),
|
|
131
|
+
}),
|
|
132
|
+
),
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
const snapshot = (options: unknown) =>
|
|
136
|
+
run(browser.createSnapshot(req(options))).pipe(
|
|
137
|
+
Effect.map(
|
|
138
|
+
(result): BrowserSnapshotResult => ({
|
|
139
|
+
success: true,
|
|
140
|
+
result: {
|
|
141
|
+
content: result.content ?? "",
|
|
142
|
+
screenshot: result.screenshot ?? "",
|
|
143
|
+
},
|
|
144
|
+
meta: { status: 200, title: "" },
|
|
145
|
+
}),
|
|
146
|
+
),
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
// Binary actions have no REST byte-stream equivalent through the distilled
|
|
150
|
+
// codec — fail the stream with a defect explaining the native-binding path.
|
|
151
|
+
const binaryUnsupported = (action: string): BrowserByteStream =>
|
|
152
|
+
Stream.fromEffect(
|
|
153
|
+
Effect.die(
|
|
154
|
+
new Error(
|
|
155
|
+
`Browser over HTTP: '${action}' returns binary data and is only available inside a Worker via the native BrowserBinding; the HTTP client supports the JSON quick actions (content/markdown/scrape/links/snapshot/json).`,
|
|
156
|
+
),
|
|
157
|
+
),
|
|
158
|
+
) as BrowserByteStream;
|
|
159
|
+
|
|
160
|
+
const quickAction = ((action: string, options: unknown) => {
|
|
161
|
+
switch (action) {
|
|
162
|
+
case "content":
|
|
163
|
+
return content(options);
|
|
164
|
+
case "markdown":
|
|
165
|
+
return markdown(options);
|
|
166
|
+
case "links":
|
|
167
|
+
return links(options);
|
|
168
|
+
case "json":
|
|
169
|
+
return json(options);
|
|
170
|
+
case "scrape":
|
|
171
|
+
return scrape(options);
|
|
172
|
+
case "snapshot":
|
|
173
|
+
return snapshot(options);
|
|
174
|
+
default:
|
|
175
|
+
return binaryUnsupported(action);
|
|
176
|
+
}
|
|
177
|
+
}) as BrowserClient["quickAction"];
|
|
178
|
+
|
|
179
|
+
return {
|
|
180
|
+
raw: Effect.die(
|
|
181
|
+
new Error(
|
|
182
|
+
"Browser over HTTP: `raw` (the native BrowserRun binding) is only available inside a deployed Worker — use BrowserBinding.",
|
|
183
|
+
),
|
|
184
|
+
),
|
|
185
|
+
fetch: () =>
|
|
186
|
+
Effect.die(
|
|
187
|
+
new Error(
|
|
188
|
+
"Browser over HTTP: `fetch` proxies the raw Browser Run transport used by @cloudflare/puppeteer and is only available inside a Worker via BrowserBinding.",
|
|
189
|
+
),
|
|
190
|
+
),
|
|
191
|
+
quickAction,
|
|
192
|
+
screenshot: () => binaryUnsupported("screenshot"),
|
|
193
|
+
pdf: () => binaryUnsupported("pdf"),
|
|
194
|
+
content,
|
|
195
|
+
scrape,
|
|
196
|
+
links,
|
|
197
|
+
snapshot,
|
|
198
|
+
json,
|
|
199
|
+
markdown,
|
|
200
|
+
} satisfies BrowserClient;
|
|
201
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { Browser } from "./Browser.ts";
|
|
7
|
+
import type { BrowserBinding } from "./BrowserBinding.ts";
|
|
8
|
+
import {
|
|
9
|
+
type BrowserAuth,
|
|
10
|
+
makeHttpBrowserClient,
|
|
11
|
+
} from "./BrowserHttpClient.ts";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Local implementation of the {@link Browser} binding — drives Cloudflare
|
|
15
|
+
* Browser Rendering over its REST data-plane (`/accounts/{id}/browser-rendering/*`)
|
|
16
|
+
* using the **current credentials** instead of a native Worker binding
|
|
17
|
+
* (`BrowserBinding`).
|
|
18
|
+
*
|
|
19
|
+
* Provide it on an {@link Action} (or any deploy-time Effect) to run the JSON
|
|
20
|
+
* quick actions — `content`, `markdown`, `scrape`, `links`, `snapshot`,
|
|
21
|
+
* `json` — with the same client you'd use inside a Worker; no Worker host, no
|
|
22
|
+
* `host.bind`, no minted token:
|
|
23
|
+
*
|
|
24
|
+
* @example Convert a page to Markdown from an Action
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const Scrape = Alchemy.Action(
|
|
27
|
+
* "Scrape",
|
|
28
|
+
* Effect.gen(function* () {
|
|
29
|
+
* const browser = yield* Cloudflare.Browser("BROWSER");
|
|
30
|
+
* return Effect.fn(function* () {
|
|
31
|
+
* const { result } = yield* browser.markdown({
|
|
32
|
+
* url: "https://example.com",
|
|
33
|
+
* });
|
|
34
|
+
* return result;
|
|
35
|
+
* });
|
|
36
|
+
* }).pipe(Effect.provide(Cloudflare.Workers.BrowserLocal)),
|
|
37
|
+
* );
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* `raw`, `fetch`, and the binary actions (`screenshot`/`pdf`) have no
|
|
41
|
+
* Cloudflare REST equivalent and die — see {@link makeHttpBrowserClient}.
|
|
42
|
+
*/
|
|
43
|
+
export const BrowserLocal = Layer.effect(
|
|
44
|
+
Browser,
|
|
45
|
+
Effect.gen(function* () {
|
|
46
|
+
// Account + credentials are ambient during stack-eval (the stack's
|
|
47
|
+
// providers layer). Capture the full context so the REST ops run with the
|
|
48
|
+
// current credentials — no `host.bind`, no minted token.
|
|
49
|
+
const { accountId } = yield* yield* CloudflareEnvironment;
|
|
50
|
+
const context = yield* Effect.context<
|
|
51
|
+
Credentials | HttpClient.HttpClient
|
|
52
|
+
>();
|
|
53
|
+
const auth: BrowserAuth = {
|
|
54
|
+
authorize: (eff) => eff.pipe(Effect.provideContext(context)),
|
|
55
|
+
accountId,
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
return Effect.fn(function* (_binding: BrowserBinding) {
|
|
59
|
+
// Browser Rendering is account-scoped; the binding carries no cloud
|
|
60
|
+
// resource id, so nothing to resolve — the client only needs the account
|
|
61
|
+
// + injected auth.
|
|
62
|
+
return makeHttpBrowserClient(auth);
|
|
63
|
+
});
|
|
64
|
+
}),
|
|
65
|
+
);
|
|
@@ -3,10 +3,53 @@ import type { WorkerProps } from "./Worker.ts";
|
|
|
3
3
|
// TODO: figure out why the later one from workerd breaks
|
|
4
4
|
const DEFAULT_COMPATIBILITY_DATE = "2026-03-17";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The Effect worker bridge builds its layer stack once per isolate and shares
|
|
8
|
+
* the in-flight build promise across concurrent events. Awaiting a promise
|
|
9
|
+
* created under another event's request context is only sound with workerd's
|
|
10
|
+
* corrected cross-request promise semantics (default-on since compatibility
|
|
11
|
+
* date 2024-10-14): continuations are scheduled back into the promise's
|
|
12
|
+
* origin context instead of running in whichever request happens to resolve
|
|
13
|
+
* them. A user pinning an older compatibility date must not silently revert
|
|
14
|
+
* the bridge to the broken semantics, so the flag is forced for
|
|
15
|
+
* alchemy-bundled workers — and explicitly disabling it is a deploy-time
|
|
16
|
+
* error.
|
|
17
|
+
*/
|
|
18
|
+
const CROSS_REQUEST_PROMISE_RESOLUTION =
|
|
19
|
+
"handle_cross_request_promise_resolution";
|
|
20
|
+
|
|
21
|
+
// The date the flag became default-on. Cloudflare rejects a script that
|
|
22
|
+
// specifies a flag its compatibility date already defaults on ("does not
|
|
23
|
+
// need to be specified anymore"), so it is only appended for older dates.
|
|
24
|
+
const CROSS_REQUEST_PROMISE_RESOLUTION_DEFAULT_ON = "2024-10-14";
|
|
25
|
+
|
|
26
|
+
export const getCompatibility = (props: WorkerProps) => {
|
|
27
|
+
const userFlags = props.compatibility?.flags ?? [];
|
|
28
|
+
if (
|
|
29
|
+
!props.isExternal &&
|
|
30
|
+
userFlags.includes(`no_${CROSS_REQUEST_PROMISE_RESOLUTION}`)
|
|
31
|
+
) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
`The "no_${CROSS_REQUEST_PROMISE_RESOLUTION}" compatibility flag is not supported: ` +
|
|
34
|
+
"the alchemy Worker runtime shares its layer build across concurrent " +
|
|
35
|
+
"requests, which requires workerd's corrected cross-request promise " +
|
|
36
|
+
"semantics. Remove the flag from `compatibility.flags`.",
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
const date = props.compatibility?.date ?? DEFAULT_COMPATIBILITY_DATE;
|
|
40
|
+
return {
|
|
41
|
+
date,
|
|
42
|
+
flags: [
|
|
43
|
+
...userFlags,
|
|
44
|
+
...(props.isExternal
|
|
45
|
+
? []
|
|
46
|
+
: [
|
|
47
|
+
"nodejs_compat",
|
|
48
|
+
// ISO dates compare lexically.
|
|
49
|
+
...(date < CROSS_REQUEST_PROMISE_RESOLUTION_DEFAULT_ON
|
|
50
|
+
? [CROSS_REQUEST_PROMISE_RESOLUTION]
|
|
51
|
+
: []),
|
|
52
|
+
]),
|
|
53
|
+
].filter((value, index, self) => self.indexOf(value) === index),
|
|
54
|
+
};
|
|
55
|
+
};
|