alchemy 2.0.0-beta.60 → 2.0.0-beta.62
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 +15 -0
- package/bin/cli.js +9 -1
- package/bin/exec.js +86 -17
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ACM/Certificate.d.ts.map +1 -1
- package/lib/AWS/ACM/Certificate.js +25 -6
- 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 +1 -1
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.js +26 -13
- package/lib/AWS/AutoScaling/AutoScalingGroup.js.map +1 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.js +6 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
- package/lib/AWS/AutoScaling/ScalingPolicy.d.ts.map +1 -1
- package/lib/AWS/AutoScaling/ScalingPolicy.js +28 -10
- package/lib/AWS/AutoScaling/ScalingPolicy.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/PublicKey.d.ts.map +1 -1
- package/lib/AWS/CloudFront/PublicKey.js +5 -1
- package/lib/AWS/CloudFront/PublicKey.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 +54 -21
- 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/ECS/Service.d.ts.map +1 -1
- package/lib/AWS/ECS/Service.js +33 -5
- package/lib/AWS/ECS/Service.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/OpenIDConnectProvider.d.ts.map +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.js +9 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.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 +26 -0
- package/lib/AWS/Lambda/Alias.d.ts.map +1 -1
- package/lib/AWS/Lambda/Alias.js +35 -1
- package/lib/AWS/Lambda/Alias.js.map +1 -1
- package/lib/AWS/Lambda/EventInvokeConfig.d.ts +36 -0
- package/lib/AWS/Lambda/EventInvokeConfig.d.ts.map +1 -0
- package/lib/AWS/Lambda/EventInvokeConfig.js +76 -0
- package/lib/AWS/Lambda/EventInvokeConfig.js.map +1 -0
- 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 +43 -3
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +124 -28
- 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/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/Lambda/index.d.ts +1 -0
- package/lib/AWS/Lambda/index.d.ts.map +1 -1
- package/lib/AWS/Lambda/index.js +1 -0
- package/lib/AWS/Lambda/index.js.map +1 -1
- package/lib/AWS/Organizations/Account.js +5 -2
- package/lib/AWS/Organizations/Account.js.map +1 -1
- package/lib/AWS/Organizations/DelegatedAdministrator.d.ts.map +1 -1
- package/lib/AWS/Organizations/DelegatedAdministrator.js +10 -2
- package/lib/AWS/Organizations/DelegatedAdministrator.js.map +1 -1
- package/lib/AWS/Organizations/PolicyAttachment.d.ts.map +1 -1
- package/lib/AWS/Organizations/PolicyAttachment.js +10 -4
- package/lib/AWS/Organizations/PolicyAttachment.js.map +1 -1
- package/lib/AWS/Organizations/RootPolicyType.d.ts.map +1 -1
- package/lib/AWS/Organizations/RootPolicyType.js +9 -4
- package/lib/AWS/Organizations/RootPolicyType.js.map +1 -1
- package/lib/AWS/Organizations/TrustedServiceAccess.d.ts.map +1 -1
- package/lib/AWS/Organizations/TrustedServiceAccess.js +8 -1
- package/lib/AWS/Organizations/TrustedServiceAccess.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 +28 -6
- 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 +36 -10
- 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/Apply.js +15 -1
- 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 +17 -0
- package/lib/Auth/Lock.d.ts.map +1 -1
- package/lib/Auth/Lock.js +53 -18
- 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 +15 -2
- package/lib/Bundle/PurePlugin.js.map +1 -1
- package/lib/Bundle/Vite.d.ts +1 -1
- package/lib/Bundle/Vite.d.ts.map +1 -1
- package/lib/Bundle/Vite.js +14 -12
- package/lib/Bundle/Vite.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +55 -5
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +62 -2
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/login.d.ts.map +1 -1
- package/lib/Cli/commands/login.js +9 -20
- 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 +47 -10
- package/lib/Cli/commands/profile.js.map +1 -1
- package/lib/Cli/commands/sync.d.ts +22 -0
- package/lib/Cli/commands/sync.d.ts.map +1 -0
- package/lib/Cli/commands/sync.js +64 -0
- package/lib/Cli/commands/sync.js.map +1 -0
- 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/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +2 -0
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cloudflare/AI/CustomTopics.d.ts.map +1 -1
- package/lib/Cloudflare/AI/CustomTopics.js +3 -1
- package/lib/Cloudflare/AI/CustomTopics.js.map +1 -1
- package/lib/Cloudflare/AI/Dataset.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Dataset.js +3 -1
- package/lib/Cloudflare/AI/Dataset.js.map +1 -1
- package/lib/Cloudflare/AI/Evaluation.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Evaluation.js +3 -1
- package/lib/Cloudflare/AI/Evaluation.js.map +1 -1
- package/lib/Cloudflare/AI/Gateway.d.ts.map +1 -1
- package/lib/Cloudflare/AI/Gateway.js +5 -6
- package/lib/Cloudflare/AI/Gateway.js.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.d.ts.map +1 -1
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js +34 -3
- package/lib/Cloudflare/AI/GatewayDynamicRouting.js.map +1 -1
- package/lib/Cloudflare/AI/GatewayProvider.d.ts +2 -1
- package/lib/Cloudflare/AI/GatewayProvider.d.ts.map +1 -1
- package/lib/Cloudflare/AI/GatewayProvider.js +5 -2
- package/lib/Cloudflare/AI/GatewayProvider.js.map +1 -1
- package/lib/Cloudflare/AI/ProviderKey.d.ts +135 -0
- package/lib/Cloudflare/AI/ProviderKey.d.ts.map +1 -0
- package/lib/Cloudflare/AI/ProviderKey.js +90 -0
- package/lib/Cloudflare/AI/ProviderKey.js.map +1 -0
- package/lib/Cloudflare/AI/SearchInstance.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchInstance.js +9 -5
- package/lib/Cloudflare/AI/SearchInstance.js.map +1 -1
- package/lib/Cloudflare/AI/SearchNamespace.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchNamespace.js +5 -4
- package/lib/Cloudflare/AI/SearchNamespace.js.map +1 -1
- package/lib/Cloudflare/AI/SearchToken.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SearchToken.js +3 -1
- package/lib/Cloudflare/AI/SearchToken.js.map +1 -1
- package/lib/Cloudflare/AI/SecuritySettings.d.ts.map +1 -1
- package/lib/Cloudflare/AI/SecuritySettings.js +3 -1
- package/lib/Cloudflare/AI/SecuritySettings.js.map +1 -1
- package/lib/Cloudflare/AI/index.d.ts +1 -0
- package/lib/Cloudflare/AI/index.d.ts.map +1 -1
- package/lib/Cloudflare/AI/index.js +1 -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/Access/InfrastructureTarget.d.ts.map +1 -1
- package/lib/Cloudflare/Access/InfrastructureTarget.js +3 -1
- package/lib/Cloudflare/Access/InfrastructureTarget.js.map +1 -1
- package/lib/Cloudflare/Access/Organization.d.ts.map +1 -1
- package/lib/Cloudflare/Access/Organization.js +1 -1
- package/lib/Cloudflare/Access/Organization.js.map +1 -1
- package/lib/Cloudflare/Access/Policy.d.ts.map +1 -1
- package/lib/Cloudflare/Access/Policy.js +3 -1
- package/lib/Cloudflare/Access/Policy.js.map +1 -1
- package/lib/Cloudflare/Account/Account.d.ts.map +1 -1
- package/lib/Cloudflare/Account/Account.js +3 -1
- package/lib/Cloudflare/Account/Account.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/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.js +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +3 -0
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +73 -21
- 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/BotManagement/BotManagement.d.ts.map +1 -1
- package/lib/Cloudflare/BotManagement/BotManagement.js +3 -1
- package/lib/Cloudflare/BotManagement/BotManagement.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/Cache/Reserve.d.ts.map +1 -1
- package/lib/Cloudflare/Cache/Reserve.js +3 -1
- package/lib/Cloudflare/Cache/Reserve.js.map +1 -1
- package/lib/Cloudflare/ClientCertificate/ClientCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/ClientCertificate/ClientCertificate.js +3 -1
- package/lib/Cloudflare/ClientCertificate/ClientCertificate.js.map +1 -1
- package/lib/Cloudflare/Containers/Container.d.ts +2 -2
- package/lib/Cloudflare/Containers/Container.js +2 -2
- 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 +73 -22
- package/lib/Cloudflare/Containers/ContainerBundle.js.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Containers/ContainerProvider.js +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/ContentScanning/ContentScanning.d.ts.map +1 -1
- package/lib/Cloudflare/ContentScanning/ContentScanning.js +3 -1
- package/lib/Cloudflare/ContentScanning/ContentScanning.js.map +1 -1
- package/lib/Cloudflare/CustomCertificate/CustomCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/CustomCertificate/CustomCertificate.js +3 -1
- package/lib/Cloudflare/CustomCertificate/CustomCertificate.js.map +1 -1
- package/lib/Cloudflare/CustomHostname/CustomHostname.d.ts.map +1 -1
- package/lib/Cloudflare/CustomHostname/CustomHostname.js +1 -1
- package/lib/Cloudflare/CustomHostname/CustomHostname.js.map +1 -1
- package/lib/Cloudflare/CustomHostname/FallbackOrigin.d.ts.map +1 -1
- package/lib/Cloudflare/CustomHostname/FallbackOrigin.js +1 -1
- package/lib/Cloudflare/CustomHostname/FallbackOrigin.js.map +1 -1
- package/lib/Cloudflare/CustomNameserver/CustomNameserver.d.ts.map +1 -1
- package/lib/Cloudflare/CustomNameserver/CustomNameserver.js +3 -1
- package/lib/Cloudflare/CustomNameserver/CustomNameserver.js.map +1 -1
- package/lib/Cloudflare/D1/Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/Database.js +2 -2
- package/lib/Cloudflare/D1/Database.js.map +1 -1
- package/lib/Cloudflare/DNS/AccountSettings.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/AccountSettings.js +3 -1
- package/lib/Cloudflare/DNS/AccountSettings.js.map +1 -1
- package/lib/Cloudflare/DNS/Dnssec.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/Dnssec.js +3 -1
- package/lib/Cloudflare/DNS/Dnssec.js.map +1 -1
- package/lib/Cloudflare/DNS/Firewall.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/Firewall.js +3 -1
- package/lib/Cloudflare/DNS/Firewall.js.map +1 -1
- package/lib/Cloudflare/DNS/Record.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/Record.js +3 -1
- package/lib/Cloudflare/DNS/Record.js.map +1 -1
- package/lib/Cloudflare/DNS/View.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/View.js +3 -1
- package/lib/Cloudflare/DNS/View.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneSettings.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneSettings.js +3 -1
- package/lib/Cloudflare/DNS/ZoneSettings.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferAcl.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferAcl.js +3 -1
- package/lib/Cloudflare/DNS/ZoneTransferAcl.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferIncoming.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferIncoming.js +3 -1
- package/lib/Cloudflare/DNS/ZoneTransferIncoming.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferOutgoing.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferOutgoing.js +3 -1
- package/lib/Cloudflare/DNS/ZoneTransferOutgoing.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferPeer.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferPeer.js +3 -1
- package/lib/Cloudflare/DNS/ZoneTransferPeer.js.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferTsig.d.ts.map +1 -1
- package/lib/Cloudflare/DNS/ZoneTransferTsig.js +3 -1
- package/lib/Cloudflare/DNS/ZoneTransferTsig.js.map +1 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js +4 -1
- package/lib/Cloudflare/Diagnostics/EndpointHealthcheck.js.map +1 -1
- package/lib/Cloudflare/Email/Address.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Address.js +3 -1
- package/lib/Cloudflare/Email/Address.js.map +1 -1
- package/lib/Cloudflare/Email/AllowPolicy.d.ts.map +1 -1
- package/lib/Cloudflare/Email/AllowPolicy.js +1 -1
- package/lib/Cloudflare/Email/AllowPolicy.js.map +1 -1
- package/lib/Cloudflare/Email/BlockSender.d.ts.map +1 -1
- package/lib/Cloudflare/Email/BlockSender.js +1 -1
- package/lib/Cloudflare/Email/BlockSender.js.map +1 -1
- package/lib/Cloudflare/Email/CatchAll.d.ts.map +1 -1
- package/lib/Cloudflare/Email/CatchAll.js +8 -2
- package/lib/Cloudflare/Email/CatchAll.js.map +1 -1
- package/lib/Cloudflare/Email/Domain.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Domain.js +3 -1
- package/lib/Cloudflare/Email/Domain.js.map +1 -1
- package/lib/Cloudflare/Email/ImpersonationRegistryEntry.d.ts.map +1 -1
- package/lib/Cloudflare/Email/ImpersonationRegistryEntry.js +1 -1
- package/lib/Cloudflare/Email/ImpersonationRegistryEntry.js.map +1 -1
- package/lib/Cloudflare/Email/Routing.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Routing.js +3 -1
- package/lib/Cloudflare/Email/Routing.js.map +1 -1
- package/lib/Cloudflare/Email/Rule.d.ts.map +1 -1
- package/lib/Cloudflare/Email/Rule.js +3 -1
- package/lib/Cloudflare/Email/Rule.js.map +1 -1
- package/lib/Cloudflare/Email/SendingSubdomain.d.ts.map +1 -1
- package/lib/Cloudflare/Email/SendingSubdomain.js +1 -1
- package/lib/Cloudflare/Email/SendingSubdomain.js.map +1 -1
- package/lib/Cloudflare/Email/TrustedDomain.d.ts.map +1 -1
- package/lib/Cloudflare/Email/TrustedDomain.js +1 -1
- package/lib/Cloudflare/Email/TrustedDomain.js.map +1 -1
- package/lib/Cloudflare/Fetcher.d.ts.map +1 -1
- package/lib/Cloudflare/Fetcher.js +10 -3
- package/lib/Cloudflare/Fetcher.js.map +1 -1
- package/lib/Cloudflare/Flagship/App.d.ts.map +1 -1
- package/lib/Cloudflare/Flagship/App.js +2 -3
- package/lib/Cloudflare/Flagship/App.js.map +1 -1
- package/lib/Cloudflare/Fraud/DetectionSettings.d.ts.map +1 -1
- package/lib/Cloudflare/Fraud/DetectionSettings.js +3 -1
- package/lib/Cloudflare/Fraud/DetectionSettings.js.map +1 -1
- package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.d.ts.map +1 -1
- package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js +8 -2
- package/lib/Cloudflare/GoogleTagGateway/GoogleTagGateway.js.map +1 -1
- package/lib/Cloudflare/Healthcheck/Healthcheck.d.ts.map +1 -1
- package/lib/Cloudflare/Healthcheck/Healthcheck.js +3 -1
- package/lib/Cloudflare/Healthcheck/Healthcheck.js.map +1 -1
- package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.d.ts.map +1 -1
- package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.js +3 -1
- package/lib/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.js.map +1 -1
- package/lib/Cloudflare/Hyperdrive/Connection.d.ts.map +1 -1
- package/lib/Cloudflare/Hyperdrive/Connection.js +2 -4
- package/lib/Cloudflare/Hyperdrive/Connection.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/Namespace.d.ts.map +1 -1
- package/lib/Cloudflare/KV/Namespace.js +5 -4
- package/lib/Cloudflare/KV/Namespace.js.map +1 -1
- package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.js +3 -1
- package/lib/Cloudflare/KeylessCertificate/KeylessCertificate.js.map +1 -1
- package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.d.ts.map +1 -1
- package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.js +3 -1
- package/lib/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.js.map +1 -1
- package/lib/Cloudflare/LoadBalancer/LoadBalancer.d.ts.map +1 -1
- package/lib/Cloudflare/LoadBalancer/LoadBalancer.js +3 -1
- package/lib/Cloudflare/LoadBalancer/LoadBalancer.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/ManagedTransforms/ManagedTransforms.d.ts.map +1 -1
- package/lib/Cloudflare/ManagedTransforms/ManagedTransforms.js +3 -1
- package/lib/Cloudflare/ManagedTransforms/ManagedTransforms.js.map +1 -1
- package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.js +3 -1
- package/lib/Cloudflare/MtlsCertificate/MtlsCertificate.js.map +1 -1
- package/lib/Cloudflare/Organization/Organization.d.ts.map +1 -1
- package/lib/Cloudflare/Organization/Organization.js +3 -1
- package/lib/Cloudflare/Organization/Organization.js.map +1 -1
- package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.js +7 -2
- package/lib/Cloudflare/OriginCaCertificate/OriginCaCertificate.js.map +1 -1
- package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.d.ts.map +1 -1
- package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.js +3 -1
- package/lib/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.js.map +1 -1
- package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.d.ts.map +1 -1
- package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.js +5 -1
- package/lib/Cloudflare/OriginTlsClientAuth/HostnameCertificate.js.map +1 -1
- package/lib/Cloudflare/PageRule/PageRule.d.ts.map +1 -1
- package/lib/Cloudflare/PageRule/PageRule.js +3 -1
- package/lib/Cloudflare/PageRule/PageRule.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.d.ts +29 -0
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +44 -30
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Consumer.js +33 -4
- 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 +9 -5
- package/lib/Cloudflare/Queues/Queue.js.map +1 -1
- package/lib/Cloudflare/Queues/Subscription.d.ts.map +1 -1
- package/lib/Cloudflare/Queues/Subscription.js +3 -1
- package/lib/Cloudflare/Queues/Subscription.js.map +1 -1
- package/lib/Cloudflare/R2/Bucket.d.ts +98 -0
- package/lib/Cloudflare/R2/Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/Bucket.js +153 -6
- 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/DataCatalog.js +4 -1
- package/lib/Cloudflare/R2/DataCatalog.js.map +1 -1
- package/lib/Cloudflare/RegionalHostname/RegionalHostname.d.ts.map +1 -1
- package/lib/Cloudflare/RegionalHostname/RegionalHostname.js +3 -1
- package/lib/Cloudflare/RegionalHostname/RegionalHostname.js.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.js +8 -3
- package/lib/Cloudflare/Ruleset/Ruleset.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/SecretsStore/Secret.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.js +31 -5
- package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
- package/lib/Cloudflare/SecurityTxt/SecurityTxt.d.ts.map +1 -1
- package/lib/Cloudflare/SecurityTxt/SecurityTxt.js +3 -1
- package/lib/Cloudflare/SecurityTxt/SecurityTxt.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 +15 -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 +32 -3
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +128 -22
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Tags/AccountResourceTags.d.ts.map +1 -1
- package/lib/Cloudflare/Tags/AccountResourceTags.js +8 -3
- package/lib/Cloudflare/Tags/AccountResourceTags.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/Route.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Route.js +3 -1
- package/lib/Cloudflare/Tunnel/Route.js.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js +3 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.d.ts.map +1 -1
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js +10 -2
- package/lib/Cloudflare/UrlNormalization/UrlNormalization.js.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeIndex.d.ts.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeIndex.js +2 -3
- package/lib/Cloudflare/Vectorize/VectorizeIndex.js.map +1 -1
- package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
- package/lib/Cloudflare/VpcService/VpcService.js +1 -1
- package/lib/Cloudflare/VpcService/VpcService.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/WaitingRoom/WaitingRoom.d.ts.map +1 -1
- package/lib/Cloudflare/WaitingRoom/WaitingRoom.js +3 -1
- package/lib/Cloudflare/WaitingRoom/WaitingRoom.js.map +1 -1
- package/lib/Cloudflare/Web3/ContentList.d.ts.map +1 -1
- package/lib/Cloudflare/Web3/ContentList.js +3 -1
- package/lib/Cloudflare/Web3/ContentList.js.map +1 -1
- package/lib/Cloudflare/Web3/Hostname.d.ts.map +1 -1
- package/lib/Cloudflare/Web3/Hostname.js +3 -1
- package/lib/Cloudflare/Web3/Hostname.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/Cache.d.ts +71 -0
- package/lib/Cloudflare/Workers/Cache.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/Cache.js +64 -0
- package/lib/Cloudflare/Workers/Cache.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/CronEventSource.d.ts +183 -8
- package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.js +180 -6
- package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts +36 -1
- package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObject.js +36 -1
- 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/DurableObjectState.d.ts +11 -0
- package/lib/Cloudflare/Workers/DurableObjectState.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/DurableObjectState.js +7 -0
- package/lib/Cloudflare/Workers/DurableObjectState.js.map +1 -1
- package/lib/Cloudflare/Workers/Fetch.js +2 -2
- package/lib/Cloudflare/Workers/Fetch.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.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +77 -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/Worker.d.ts +252 -4
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +166 -7
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +9 -0
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +39 -15
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts +30 -0
- package/lib/Cloudflare/Workers/WorkerBinding.d.ts.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 -35
- package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerLoader.js +9 -1
- package/lib/Cloudflare/Workers/WorkerLoader.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerProvider.js +389 -23
- 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 +20 -3
- 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/WorkersForPlatforms/DispatchNamespace.d.ts.map +1 -1
- package/lib/Cloudflare/WorkersForPlatforms/DispatchNamespace.js +2 -3
- package/lib/Cloudflare/WorkersForPlatforms/DispatchNamespace.js.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.d.ts +210 -31
- package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workflows/Workflow.js +164 -41
- 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 +81 -40
- 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/Zaraz/Config.d.ts +1 -0
- package/lib/Cloudflare/Zaraz/Config.d.ts.map +1 -1
- package/lib/Cloudflare/Zaraz/Config.js +8 -2
- package/lib/Cloudflare/Zaraz/Config.js.map +1 -1
- 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/Cloudflare/Zone/Zone.d.ts.map +1 -1
- package/lib/Cloudflare/Zone/Zone.js +1 -0
- package/lib/Cloudflare/Zone/Zone.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/Docker/Container.d.ts.map +1 -1
- package/lib/Docker/Container.js +15 -2
- 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/Drizzle/Schema.d.ts.map +1 -1
- package/lib/Drizzle/Schema.js +12 -5
- package/lib/Drizzle/Schema.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/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/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +1 -1
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Branch.d.ts.map +1 -1
- package/lib/Neon/Branch.js +15 -3
- package/lib/Neon/Branch.js.map +1 -1
- package/lib/Neon/Project.js +4 -1
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Output.d.ts +13 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +17 -3
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +28 -11
- 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/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/Postgres/PostgresRole.js +2 -2
- package/lib/Planetscale/Postgres/PostgresRole.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 +52 -3
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +43 -0
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +38 -3
- package/lib/Provider.js.map +1 -1
- package/lib/Ref.d.ts +9 -1
- package/lib/Ref.d.ts.map +1 -1
- package/lib/Ref.js +2 -1
- package/lib/Ref.js.map +1 -1
- package/lib/Resource.d.ts +44 -0
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +22 -1
- package/lib/Resource.js.map +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/State/HttpStateApi.d.ts +8 -8
- package/lib/State/HttpStateStore.d.ts +12 -0
- package/lib/State/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +50 -6
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/Sync.d.ts +109 -0
- package/lib/Sync.d.ts.map +1 -0
- package/lib/Sync.js +315 -0
- package/lib/Sync.js.map +1 -0
- package/lib/Test/Bun.d.ts +1 -1
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +1 -1
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Http.d.ts +67 -0
- package/lib/Test/Http.d.ts.map +1 -1
- package/lib/Test/Http.js +76 -1
- package/lib/Test/Http.js.map +1 -1
- package/lib/Test/Vitest.d.ts +1 -1
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +1 -0
- package/lib/Test/Vitest.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 +14 -15
- package/lib/Util/proxy-chain.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +20 -20
- package/src/AWS/ACM/Certificate.ts +29 -14
- package/src/AWS/ApiGateway/common.ts +11 -8
- package/src/AWS/AuthProvider.ts +0 -3
- package/src/AWS/AutoScaling/AutoScalingGroup.ts +29 -21
- package/src/AWS/AutoScaling/LaunchTemplate.ts +6 -1
- package/src/AWS/AutoScaling/ScalingPolicy.ts +31 -17
- 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/PublicKey.ts +4 -0
- 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 +58 -48
- 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/ECS/Service.ts +39 -9
- 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/OpenIDConnectProvider.ts +9 -1
- 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 +46 -3
- package/src/AWS/Lambda/EventInvokeConfig.ts +146 -0
- package/src/AWS/Lambda/EventSourceMapping.ts +10 -8
- package/src/AWS/Lambda/Function.ts +146 -33
- package/src/AWS/Lambda/MicrovmProvider.ts +18 -16
- package/src/AWS/Lambda/NetworkConnector.ts +19 -15
- package/src/AWS/Lambda/RuntimeExtension.ts +46 -0
- package/src/AWS/Lambda/index.ts +1 -0
- package/src/AWS/Organizations/Account.ts +5 -6
- package/src/AWS/Organizations/DelegatedAdministrator.ts +11 -3
- package/src/AWS/Organizations/PolicyAttachment.ts +10 -4
- package/src/AWS/Organizations/RootPolicyType.ts +9 -4
- package/src/AWS/Organizations/TrustedServiceAccess.ts +9 -3
- 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 +35 -16
- package/src/AWS/Route53/Record.ts +45 -22
- 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/Apply.ts +15 -1
- package/src/Auth/AuthProvider.ts +11 -0
- package/src/Auth/Lock.ts +62 -18
- package/src/Axiom/AuthProvider.ts +0 -3
- package/src/Bundle/PurePlugin.ts +15 -2
- package/src/Bundle/Vite.ts +16 -15
- package/src/Cli/commands/_shared.ts +119 -5
- package/src/Cli/commands/login.ts +9 -40
- package/src/Cli/commands/logs.ts +1 -0
- package/src/Cli/commands/nuke.ts +16 -44
- package/src/Cli/commands/profile.ts +89 -27
- package/src/Cli/commands/sync.ts +123 -0
- package/src/Cli/commands/tail.ts +1 -0
- package/src/Cli/main.ts +2 -0
- package/src/Cloudflare/AI/CustomTopics.ts +3 -1
- package/src/Cloudflare/AI/Dataset.ts +3 -1
- package/src/Cloudflare/AI/Evaluation.ts +3 -1
- package/src/Cloudflare/AI/Gateway.ts +5 -6
- package/src/Cloudflare/AI/GatewayDynamicRouting.ts +41 -7
- package/src/Cloudflare/AI/GatewayProvider.ts +5 -2
- package/src/Cloudflare/AI/ProviderKey.ts +161 -0
- package/src/Cloudflare/AI/SearchInstance.ts +9 -7
- package/src/Cloudflare/AI/SearchNamespace.ts +5 -4
- package/src/Cloudflare/AI/SearchToken.ts +3 -1
- package/src/Cloudflare/AI/SecuritySettings.ts +3 -0
- package/src/Cloudflare/AI/index.ts +1 -0
- package/src/Cloudflare/Access/Application.ts +7 -4
- package/src/Cloudflare/Access/InfrastructureTarget.ts +4 -1
- package/src/Cloudflare/Access/Organization.ts +1 -0
- package/src/Cloudflare/Access/Policy.ts +3 -1
- package/src/Cloudflare/Account/Account.ts +3 -1
- package/src/Cloudflare/Alerting/Silence.ts +4 -3
- package/src/Cloudflare/Alerting/Webhook.ts +8 -6
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +1 -0
- package/src/Cloudflare/ApiToken/UserApiToken.ts +1 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +123 -46
- package/src/Cloudflare/Auth/OAuthClient.ts +6 -7
- package/src/Cloudflare/BotManagement/BotManagement.ts +3 -1
- package/src/Cloudflare/Cache/RegionalTieredCache.ts +7 -4
- package/src/Cloudflare/Cache/Reserve.ts +3 -1
- package/src/Cloudflare/ClientCertificate/ClientCertificate.ts +3 -1
- package/src/Cloudflare/Containers/Container.ts +2 -2
- package/src/Cloudflare/Containers/ContainerApplication.ts +22 -2
- package/src/Cloudflare/Containers/ContainerBundle.ts +99 -33
- package/src/Cloudflare/Containers/ContainerProvider.ts +73 -19
- package/src/Cloudflare/Containers/LocalContainerProvider.ts +78 -72
- package/src/Cloudflare/ContentScanning/ContentScanning.ts +3 -1
- package/src/Cloudflare/CustomCertificate/CustomCertificate.ts +3 -1
- package/src/Cloudflare/CustomHostname/CustomHostname.ts +1 -0
- package/src/Cloudflare/CustomHostname/FallbackOrigin.ts +1 -0
- package/src/Cloudflare/CustomNameserver/CustomNameserver.ts +3 -1
- package/src/Cloudflare/D1/Database.ts +2 -2
- package/src/Cloudflare/DNS/AccountSettings.ts +3 -1
- package/src/Cloudflare/DNS/Dnssec.ts +3 -1
- package/src/Cloudflare/DNS/Firewall.ts +3 -1
- package/src/Cloudflare/DNS/Record.ts +3 -1
- package/src/Cloudflare/DNS/View.ts +3 -1
- package/src/Cloudflare/DNS/ZoneSettings.ts +3 -1
- package/src/Cloudflare/DNS/ZoneTransferAcl.ts +3 -1
- package/src/Cloudflare/DNS/ZoneTransferIncoming.ts +3 -1
- package/src/Cloudflare/DNS/ZoneTransferOutgoing.ts +3 -1
- package/src/Cloudflare/DNS/ZoneTransferPeer.ts +3 -1
- package/src/Cloudflare/DNS/ZoneTransferTsig.ts +3 -1
- package/src/Cloudflare/Diagnostics/EndpointHealthcheck.ts +4 -3
- package/src/Cloudflare/Email/Address.ts +3 -1
- package/src/Cloudflare/Email/AllowPolicy.ts +1 -0
- package/src/Cloudflare/Email/BlockSender.ts +1 -0
- package/src/Cloudflare/Email/CatchAll.ts +7 -2
- package/src/Cloudflare/Email/Domain.ts +3 -1
- package/src/Cloudflare/Email/ImpersonationRegistryEntry.ts +1 -0
- package/src/Cloudflare/Email/Routing.ts +3 -1
- package/src/Cloudflare/Email/Rule.ts +3 -1
- package/src/Cloudflare/Email/SendingSubdomain.ts +1 -0
- package/src/Cloudflare/Email/TrustedDomain.ts +1 -0
- package/src/Cloudflare/Fetcher.ts +12 -5
- package/src/Cloudflare/Flagship/App.ts +2 -3
- package/src/Cloudflare/Fraud/DetectionSettings.ts +3 -1
- package/src/Cloudflare/GoogleTagGateway/GoogleTagGateway.ts +7 -2
- package/src/Cloudflare/Healthcheck/Healthcheck.ts +3 -1
- package/src/Cloudflare/HostnameTlsSetting/HostnameTlsSetting.ts +3 -1
- package/src/Cloudflare/Hyperdrive/Connection.ts +2 -4
- package/src/Cloudflare/Images/Variant.ts +4 -3
- package/src/Cloudflare/KV/Namespace.ts +5 -4
- package/src/Cloudflare/KeylessCertificate/KeylessCertificate.ts +3 -1
- package/src/Cloudflare/LeakedCredentialCheck/LeakedCredentialCheck.ts +3 -1
- package/src/Cloudflare/LoadBalancer/LoadBalancer.ts +3 -1
- 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/ManagedTransforms/ManagedTransforms.ts +3 -1
- package/src/Cloudflare/MtlsCertificate/MtlsCertificate.ts +3 -1
- package/src/Cloudflare/Organization/Organization.ts +3 -1
- package/src/Cloudflare/OriginCaCertificate/OriginCaCertificate.ts +7 -2
- package/src/Cloudflare/OriginPostQuantumEncryption/OriginPostQuantumEncryption.ts +3 -1
- package/src/Cloudflare/OriginTlsClientAuth/HostnameCertificate.ts +5 -1
- package/src/Cloudflare/PageRule/PageRule.ts +3 -1
- 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 +55 -38
- package/src/Cloudflare/Queues/Consumer.ts +48 -10
- package/src/Cloudflare/Queues/Queue.ts +9 -7
- package/src/Cloudflare/Queues/Subscription.ts +3 -1
- package/src/Cloudflare/R2/Bucket.ts +242 -12
- package/src/Cloudflare/R2/BucketEventNotification.ts +4 -3
- package/src/Cloudflare/R2/DataCatalog.ts +4 -3
- package/src/Cloudflare/RegionalHostname/RegionalHostname.ts +3 -1
- package/src/Cloudflare/Ruleset/Ruleset.ts +9 -4
- package/src/Cloudflare/Rum/Rule.ts +4 -3
- package/src/Cloudflare/SecretsStore/Secret.ts +46 -5
- package/src/Cloudflare/SecurityTxt/SecurityTxt.ts +3 -1
- package/src/Cloudflare/Snippets/Snippet.ts +4 -3
- package/src/Cloudflare/StateStore/CredentialsFile.ts +48 -0
- package/src/Cloudflare/StateStore/State.ts +144 -43
- package/src/Cloudflare/Tags/AccountResourceTags.ts +9 -5
- package/src/Cloudflare/Tags/ZoneResourceTags.ts +4 -3
- package/src/Cloudflare/Tunnel/Route.ts +3 -1
- package/src/Cloudflare/Tunnel/Tunnel.ts +3 -1
- package/src/Cloudflare/UrlNormalization/UrlNormalization.ts +10 -5
- package/src/Cloudflare/Vectorize/VectorizeIndex.ts +2 -3
- package/src/Cloudflare/VpcService/VpcService.ts +1 -0
- package/src/Cloudflare/WaitingRoom/Settings.ts +7 -4
- package/src/Cloudflare/WaitingRoom/WaitingRoom.ts +3 -1
- package/src/Cloudflare/Web3/ContentList.ts +3 -1
- package/src/Cloudflare/Web3/Hostname.ts +3 -1
- package/src/Cloudflare/Website/Vite.ts +20 -0
- package/src/Cloudflare/Workers/Cache.ts +102 -0
- package/src/Cloudflare/Workers/Compatibility.ts +50 -7
- package/src/Cloudflare/Workers/CronEventSource.ts +183 -8
- package/src/Cloudflare/Workers/DurableObject.ts +36 -1
- package/src/Cloudflare/Workers/DurableObjectBridge.ts +38 -33
- package/src/Cloudflare/Workers/DurableObjectState.ts +25 -0
- package/src/Cloudflare/Workers/Fetch.ts +2 -2
- package/src/Cloudflare/Workers/HttpServer.ts +1 -4
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +135 -26
- package/src/Cloudflare/Workers/ObservabilityDestination.ts +4 -3
- package/src/Cloudflare/Workers/Worker.ts +337 -9
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +45 -16
- package/src/Cloudflare/Workers/WorkerBridge.ts +245 -97
- package/src/Cloudflare/Workers/WorkerLoader.ts +10 -1
- package/src/Cloudflare/Workers/WorkerProvider.ts +598 -55
- package/src/Cloudflare/Workers/WorkerRuntimeContext.ts +23 -2
- package/src/Cloudflare/Workers/cloudflare_workers.ts +20 -12
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/WorkersForPlatforms/DispatchNamespace.ts +2 -4
- package/src/Cloudflare/Workflows/Workflow.ts +350 -58
- package/src/Cloudflare/Workflows/WorkflowBridge.ts +81 -35
- package/src/Cloudflare/Workflows/WorkflowName.ts +41 -0
- package/src/Cloudflare/Zaraz/Config.ts +7 -2
- package/src/Cloudflare/Zone/Hold.ts +7 -4
- package/src/Cloudflare/Zone/Zone.ts +1 -0
- package/src/Command/Dev.ts +42 -10
- package/src/Docker/Container.ts +14 -2
- package/src/Drizzle/Postgres.ts +51 -23
- package/src/Drizzle/Schema.ts +12 -5
- package/src/GitHub/AuthProvider.ts +0 -3
- package/src/GitHub/Env.ts +57 -0
- package/src/GitHub/index.ts +1 -0
- package/src/Http.ts +11 -0
- package/src/Local/RpcProviderProxy.ts +1 -1
- package/src/Neon/AuthProvider.ts +0 -3
- package/src/Neon/Branch.ts +15 -3
- package/src/Neon/Project.ts +2 -2
- package/src/Output.ts +18 -2
- package/src/Plan.ts +28 -11
- package/src/Planetscale/AuthProvider.ts +267 -27
- package/src/Planetscale/Branch.ts +4 -3
- package/src/Planetscale/Credentials.ts +18 -6
- 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/Postgres/PostgresRole.ts +2 -2
- package/src/Planetscale/Util.ts +4 -3
- package/src/Platform.ts +74 -7
- package/src/Provider.ts +88 -3
- package/src/Ref.ts +10 -0
- package/src/Resource.ts +50 -1
- package/src/Stack.ts +1 -1
- package/src/State/HttpStateStore.ts +51 -9
- package/src/Sync.ts +497 -0
- package/src/Test/Bun.ts +4 -0
- package/src/Test/Http.ts +138 -3
- package/src/Test/Vitest.ts +11 -0
- package/src/Util/data.ts +14 -5
- package/src/Util/poll.ts +1 -1
- package/src/Util/proxy-chain.ts +9 -12
- package/src/index.ts +1 -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
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import * as Data from "effect/Data";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import crypto from "node:crypto";
|
|
4
|
+
import http from "node:http";
|
|
5
|
+
import { AUTH_ERROR_URL, AUTH_SUCCESS_URL } from "../Auth/AuthProvider.ts";
|
|
6
|
+
|
|
7
|
+
export class OAuthError extends Data.TaggedError("OAuthError")<{
|
|
8
|
+
error: string;
|
|
9
|
+
errorDescription: string;
|
|
10
|
+
}> {}
|
|
11
|
+
|
|
12
|
+
export interface OAuthCredentials {
|
|
13
|
+
type: "oauth";
|
|
14
|
+
access: string;
|
|
15
|
+
refresh: string;
|
|
16
|
+
expires: number;
|
|
17
|
+
scopes: string[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface Authorization {
|
|
21
|
+
url: string;
|
|
22
|
+
state: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Registered PlanetScale OAuth application credentials.
|
|
27
|
+
*
|
|
28
|
+
* Unlike Cloudflare, PlanetScale OAuth has **no public-client flow** — the
|
|
29
|
+
* token endpoint requires client authentication for every grant (PKCE is
|
|
30
|
+
* advertised in their discovery doc but does not lift that requirement), so
|
|
31
|
+
* exchanging the authorization code (and refreshing the token) requires the
|
|
32
|
+
* application's `client_secret`. There is no way to keep that secret out of
|
|
33
|
+
* a distributed CLI, so it ships here: the exposure is the same posture as a
|
|
34
|
+
* public `client_id` (a stolen refresh token is usable, exactly like
|
|
35
|
+
* Cloudflare's secret-less refresh), and it can be rotated by cutting a new
|
|
36
|
+
* release. PlanetScale's own CLI ships its OAuth `client_secret` in source
|
|
37
|
+
* the same way:
|
|
38
|
+
* https://github.com/planetscale/cli/blob/main/internal/auth/authenticator.go
|
|
39
|
+
*
|
|
40
|
+
* Registered at https://app.planetscale.com with redirect URI
|
|
41
|
+
* {@link OAUTH_REDIRECT_URI}. Scopes are configured on the application
|
|
42
|
+
* itself, not requested per-authorization. Rotate by registering a new
|
|
43
|
+
* secret and cutting a release.
|
|
44
|
+
*/
|
|
45
|
+
export const OAUTH_CLIENT_ID = "pscale_app_aa12e3938baebb788aac443f66e422da";
|
|
46
|
+
export const OAUTH_CLIENT_SECRET =
|
|
47
|
+
"pscale_app_secret_yyZ3Q8oe99GP9_yA5wrA5er6RuN6Lz9dC66Bj1OJzpg";
|
|
48
|
+
|
|
49
|
+
export const OAUTH_REDIRECT_URI = "http://localhost:9976/auth/callback";
|
|
50
|
+
export const OAUTH_ENDPOINTS = {
|
|
51
|
+
// PlanetScale's own .well-known OAuth discovery doc declares this as
|
|
52
|
+
// the authorization_endpoint — NOT auth.planetscale.com/oauth/authorize
|
|
53
|
+
// (which their public docs cite). The auth.planetscale.com alias does
|
|
54
|
+
// render a consent screen but emits codes whose resulting tokens lack
|
|
55
|
+
// a `sub` claim, so the resource API at api.planetscale.com rejects
|
|
56
|
+
// them as invalid. Use the canonical endpoint.
|
|
57
|
+
authorize: "https://app.planetscale.com/oauth/authorize",
|
|
58
|
+
token: "https://auth.planetscale.com/oauth/token",
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function generateState(length = 32): string {
|
|
62
|
+
return crypto.randomBytes(length).toString("base64url");
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function extractCredentials(json: {
|
|
66
|
+
access_token: string;
|
|
67
|
+
refresh_token: string;
|
|
68
|
+
expires_in: number;
|
|
69
|
+
scope: string;
|
|
70
|
+
}): OAuthCredentials {
|
|
71
|
+
return {
|
|
72
|
+
type: "oauth",
|
|
73
|
+
access: json.access_token,
|
|
74
|
+
refresh: json.refresh_token,
|
|
75
|
+
expires: Date.now() + json.expires_in * 1000,
|
|
76
|
+
scopes: json.scope ? json.scope.split(" ") : [],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const tokenRequest = (
|
|
81
|
+
params: Record<string, string>,
|
|
82
|
+
): Effect.Effect<OAuthCredentials, OAuthError> =>
|
|
83
|
+
Effect.gen(function* () {
|
|
84
|
+
// PlanetScale's docs show the token endpoint with all parameters in
|
|
85
|
+
// the query string (https://planetscale.com/docs/api/reference/oauth).
|
|
86
|
+
// Their .well-known discovery doc advertises client_secret_basic /
|
|
87
|
+
// client_secret_post instead, but both behave identically to the
|
|
88
|
+
// query-string form in practice, so we follow the public docs
|
|
89
|
+
// literally.
|
|
90
|
+
const url = new URL(OAUTH_ENDPOINTS.token);
|
|
91
|
+
for (const [k, v] of Object.entries(params)) {
|
|
92
|
+
url.searchParams.set(k, v);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const res = yield* Effect.tryPromise({
|
|
96
|
+
try: () =>
|
|
97
|
+
fetch(url.toString(), {
|
|
98
|
+
method: "POST",
|
|
99
|
+
headers: { Accept: "application/json" },
|
|
100
|
+
}),
|
|
101
|
+
catch: (err) =>
|
|
102
|
+
new OAuthError({
|
|
103
|
+
error: "network_error",
|
|
104
|
+
errorDescription: `Token request failed: ${err}`,
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
if (!res.ok) {
|
|
109
|
+
const json = yield* Effect.tryPromise({
|
|
110
|
+
try: () =>
|
|
111
|
+
res.json() as Promise<{ error: string; error_description: string }>,
|
|
112
|
+
catch: () =>
|
|
113
|
+
new OAuthError({
|
|
114
|
+
error: "parse_error",
|
|
115
|
+
errorDescription: `Token endpoint returned ${res.status}`,
|
|
116
|
+
}),
|
|
117
|
+
});
|
|
118
|
+
return yield* new OAuthError({
|
|
119
|
+
error: json.error,
|
|
120
|
+
errorDescription: json.error_description,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const json = yield* Effect.tryPromise({
|
|
125
|
+
try: () =>
|
|
126
|
+
res.json() as Promise<{
|
|
127
|
+
access_token: string;
|
|
128
|
+
refresh_token: string;
|
|
129
|
+
expires_in: number;
|
|
130
|
+
scope: string;
|
|
131
|
+
}>,
|
|
132
|
+
catch: () =>
|
|
133
|
+
new OAuthError({
|
|
134
|
+
error: "parse_error",
|
|
135
|
+
errorDescription: "Failed to parse token response",
|
|
136
|
+
}),
|
|
137
|
+
});
|
|
138
|
+
return extractCredentials(json);
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Generate a PlanetScale authorization URL.
|
|
143
|
+
*
|
|
144
|
+
* No `scope` parameter is sent: PlanetScale scopes are configured on the
|
|
145
|
+
* OAuth application itself, not requested per-authorization, so the
|
|
146
|
+
* consent screen shows whatever the app is registered with.
|
|
147
|
+
*/
|
|
148
|
+
export function authorize(): Authorization {
|
|
149
|
+
const state = generateState();
|
|
150
|
+
const url = new URL(OAUTH_ENDPOINTS.authorize);
|
|
151
|
+
url.searchParams.set("client_id", OAUTH_CLIENT_ID);
|
|
152
|
+
url.searchParams.set("redirect_uri", OAUTH_REDIRECT_URI);
|
|
153
|
+
url.searchParams.set("response_type", "code");
|
|
154
|
+
url.searchParams.set("state", state);
|
|
155
|
+
return { url: url.toString(), state };
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Exchange an authorization code for OAuth credentials.
|
|
160
|
+
*/
|
|
161
|
+
export const exchange = (
|
|
162
|
+
code: string,
|
|
163
|
+
): Effect.Effect<OAuthCredentials, OAuthError> =>
|
|
164
|
+
tokenRequest({
|
|
165
|
+
grant_type: "authorization_code",
|
|
166
|
+
code,
|
|
167
|
+
client_id: OAUTH_CLIENT_ID,
|
|
168
|
+
client_secret: OAUTH_CLIENT_SECRET,
|
|
169
|
+
redirect_uri: OAUTH_REDIRECT_URI,
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Refresh expired OAuth credentials.
|
|
174
|
+
*/
|
|
175
|
+
export const refresh = (
|
|
176
|
+
credentials: OAuthCredentials,
|
|
177
|
+
): Effect.Effect<OAuthCredentials, OAuthError> =>
|
|
178
|
+
tokenRequest({
|
|
179
|
+
grant_type: "refresh_token",
|
|
180
|
+
refresh_token: credentials.refresh,
|
|
181
|
+
client_id: OAUTH_CLIENT_ID,
|
|
182
|
+
client_secret: OAUTH_CLIENT_SECRET,
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Start a local HTTP server to listen for the OAuth callback, exchange
|
|
187
|
+
* the authorization code, and return the credentials.
|
|
188
|
+
*
|
|
189
|
+
* Times out after 5 minutes.
|
|
190
|
+
*/
|
|
191
|
+
export const callback = (
|
|
192
|
+
authorization: Authorization,
|
|
193
|
+
): Effect.Effect<OAuthCredentials, OAuthError> =>
|
|
194
|
+
Effect.tryPromise({
|
|
195
|
+
try: () => callbackPromise(authorization),
|
|
196
|
+
catch: (err) => {
|
|
197
|
+
if (err instanceof OAuthError) return err;
|
|
198
|
+
return new OAuthError({
|
|
199
|
+
error: "callback_error",
|
|
200
|
+
errorDescription: `OAuth callback failed: ${err}`,
|
|
201
|
+
});
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
function callbackPromise(
|
|
206
|
+
authorization: Authorization,
|
|
207
|
+
): Promise<OAuthCredentials> {
|
|
208
|
+
const { pathname, port } = new URL(OAUTH_REDIRECT_URI);
|
|
209
|
+
|
|
210
|
+
return new Promise<OAuthCredentials>((resolve, reject) => {
|
|
211
|
+
const server = http.createServer(async (req, res) => {
|
|
212
|
+
const url = new URL(req.url ?? "/", `http://${req.headers.host}`);
|
|
213
|
+
|
|
214
|
+
if (url.pathname !== pathname) {
|
|
215
|
+
res.statusCode = 404;
|
|
216
|
+
res.end("Not Found");
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const error = url.searchParams.get("error");
|
|
221
|
+
const errorDescription = url.searchParams.get("error_description");
|
|
222
|
+
if (error) {
|
|
223
|
+
res.writeHead(302, { Location: AUTH_ERROR_URL });
|
|
224
|
+
res.end();
|
|
225
|
+
cleanup();
|
|
226
|
+
reject(
|
|
227
|
+
new OAuthError({
|
|
228
|
+
error,
|
|
229
|
+
errorDescription: errorDescription ?? "An unknown error occurred.",
|
|
230
|
+
}),
|
|
231
|
+
);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
const code = url.searchParams.get("code");
|
|
236
|
+
const state = url.searchParams.get("state");
|
|
237
|
+
if (!code || !state) {
|
|
238
|
+
res.writeHead(302, { Location: AUTH_ERROR_URL });
|
|
239
|
+
res.end();
|
|
240
|
+
cleanup();
|
|
241
|
+
reject(
|
|
242
|
+
new OAuthError({
|
|
243
|
+
error: "invalid_request",
|
|
244
|
+
errorDescription: "Missing code or state",
|
|
245
|
+
}),
|
|
246
|
+
);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (state !== authorization.state) {
|
|
251
|
+
res.writeHead(302, { Location: AUTH_ERROR_URL });
|
|
252
|
+
res.end();
|
|
253
|
+
cleanup();
|
|
254
|
+
reject(
|
|
255
|
+
new OAuthError({
|
|
256
|
+
error: "invalid_request",
|
|
257
|
+
errorDescription: "Invalid state",
|
|
258
|
+
}),
|
|
259
|
+
);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
try {
|
|
264
|
+
const credentials = await Effect.runPromise(exchange(code));
|
|
265
|
+
res.writeHead(302, { Location: AUTH_SUCCESS_URL });
|
|
266
|
+
res.end();
|
|
267
|
+
cleanup();
|
|
268
|
+
resolve(credentials);
|
|
269
|
+
} catch (err) {
|
|
270
|
+
res.writeHead(302, { Location: AUTH_ERROR_URL });
|
|
271
|
+
res.end();
|
|
272
|
+
cleanup();
|
|
273
|
+
reject(err);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
const timeout = setTimeout(
|
|
278
|
+
() => {
|
|
279
|
+
cleanup();
|
|
280
|
+
reject(
|
|
281
|
+
new OAuthError({
|
|
282
|
+
error: "timeout",
|
|
283
|
+
errorDescription: "The authorization process timed out.",
|
|
284
|
+
}),
|
|
285
|
+
);
|
|
286
|
+
},
|
|
287
|
+
5 * 60 * 1000,
|
|
288
|
+
);
|
|
289
|
+
|
|
290
|
+
function cleanup() {
|
|
291
|
+
clearTimeout(timeout);
|
|
292
|
+
server.close();
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
server.on("error", (err) => {
|
|
296
|
+
cleanup();
|
|
297
|
+
reject(
|
|
298
|
+
new OAuthError({
|
|
299
|
+
error: "server_error",
|
|
300
|
+
errorDescription: `Failed to start callback server: ${err.message}`,
|
|
301
|
+
}),
|
|
302
|
+
);
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
server.listen(Number(port));
|
|
306
|
+
});
|
|
307
|
+
}
|
|
@@ -60,9 +60,10 @@ export function toPostgresClusterSku(input: {
|
|
|
60
60
|
* routinely take longer than the default 10-minute polling budget, so
|
|
61
61
|
* give change requests a 60-minute budget (720 × 5s).
|
|
62
62
|
*/
|
|
63
|
-
const changeRequestSchedule = Schedule.
|
|
64
|
-
Schedule.
|
|
65
|
-
)
|
|
63
|
+
const changeRequestSchedule = Schedule.max([
|
|
64
|
+
Schedule.spaced("5 seconds"),
|
|
65
|
+
Schedule.recurs(720),
|
|
66
|
+
]);
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* Polls branch change requests until all visible changes are in a terminal
|
|
@@ -203,9 +203,10 @@ const withTemporaryPostgresRole = <A, E, R>(
|
|
|
203
203
|
// Already-deleted roles are a success: nothing to clean up.
|
|
204
204
|
Effect.catchTag("NotFound", () => Effect.void),
|
|
205
205
|
Effect.retry({
|
|
206
|
-
schedule: Schedule.
|
|
207
|
-
Schedule.
|
|
208
|
-
|
|
206
|
+
schedule: Schedule.max([
|
|
207
|
+
Schedule.exponential("500 millis"),
|
|
208
|
+
Schedule.recurs(5),
|
|
209
|
+
]),
|
|
209
210
|
}),
|
|
210
211
|
// Migrations succeeded; don't fail the parent over a release-step
|
|
211
212
|
// hiccup. The role's TTL bounds the orphan window; log loudly so
|
|
@@ -199,8 +199,8 @@ export const PostgresRoleProvider = () =>
|
|
|
199
199
|
if (newBranch !== oldBranch) {
|
|
200
200
|
return { action: "replace" } as const;
|
|
201
201
|
}
|
|
202
|
-
const newRoles = resolveInheritedRoles(news.inheritedRoles);
|
|
203
|
-
const oldRoles = output?.inheritedRoles ?? [];
|
|
202
|
+
const newRoles = [...resolveInheritedRoles(news.inheritedRoles)].sort();
|
|
203
|
+
const oldRoles = [...(output?.inheritedRoles ?? [])].sort();
|
|
204
204
|
if (!deepEqual(newRoles, oldRoles)) {
|
|
205
205
|
return { action: "replace" } as const;
|
|
206
206
|
}
|
package/src/Planetscale/Util.ts
CHANGED
|
@@ -35,9 +35,10 @@ export class PlanetscaleConflict extends Data.TaggedError(
|
|
|
35
35
|
* database creates routinely run 10-12 minutes, so a 10-minute budget
|
|
36
36
|
* regularly false-positives as "stuck".
|
|
37
37
|
*/
|
|
38
|
-
const defaultSchedule = Schedule.
|
|
39
|
-
Schedule.
|
|
40
|
-
)
|
|
38
|
+
const defaultSchedule = Schedule.max([
|
|
39
|
+
Schedule.spaced("5 seconds"),
|
|
40
|
+
Schedule.recurs(360),
|
|
41
|
+
]);
|
|
41
42
|
|
|
42
43
|
/**
|
|
43
44
|
* Generic polling helper that retries until `predicate(value)` returns true
|
package/src/Platform.ts
CHANGED
|
@@ -9,13 +9,12 @@ import * as Effectable from "effect/Effectable";
|
|
|
9
9
|
import * as Layer from "effect/Layer";
|
|
10
10
|
import * as Option from "effect/Option";
|
|
11
11
|
import * as Redacted from "effect/Redacted";
|
|
12
|
-
import
|
|
12
|
+
import { Scope } from "effect/Scope";
|
|
13
13
|
import type * as Stream from "effect/Stream";
|
|
14
14
|
import type { HttpClient } from "effect/unstable/http/HttpClient";
|
|
15
15
|
import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
|
|
16
16
|
import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse";
|
|
17
17
|
import type { Dependencies } from "./Dependencies.ts";
|
|
18
|
-
import type { ExecutionContext } from "./ExecutionContext.ts";
|
|
19
18
|
import type { HttpEffect } from "./Http.ts";
|
|
20
19
|
import type { InputProps } from "./Input.ts";
|
|
21
20
|
import type { Named, Tag } from "./Named.ts";
|
|
@@ -44,6 +43,44 @@ export interface PlatformProps {
|
|
|
44
43
|
isExternal?: boolean;
|
|
45
44
|
}
|
|
46
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Provide the platform class's layer (`cls.make(props, impl)`) with a
|
|
48
|
+
* lifetime that matches the phase.
|
|
49
|
+
*
|
|
50
|
+
* **At runtime** (`__ALCHEMY_RUNTIME__`, folded to `true` in every bundled
|
|
51
|
+
* artifact) the layer builds against the AMBIENT scope. `Effect.provide` is
|
|
52
|
+
* implemented with `scopedWith`, so its transient region scope would tear
|
|
53
|
+
* the layer down — firing init-level finalizers and releasing
|
|
54
|
+
* `Layer.scoped` services — the moment init completes. The runtime bridges
|
|
55
|
+
* evaluate the entrypoint under the instance-lifetime build scope (closed
|
|
56
|
+
* at instance shutdown where the platform offers one — Lambda's SIGTERM
|
|
57
|
+
* window — and never on workerd), so building against it keeps instance
|
|
58
|
+
* services alive for the instance.
|
|
59
|
+
*
|
|
60
|
+
* **At plan/deploy** it stays `Effect.provide`: the transient region evicts
|
|
61
|
+
* the layer's memo entry when each `yield*` of the class completes, so
|
|
62
|
+
* every deploy in a session re-evaluates the resource and re-registers its
|
|
63
|
+
* Output sources. Building on the session scope would keep the memo alive
|
|
64
|
+
* across deploys and a second `stack.deploy` would skip source
|
|
65
|
+
* registration (`MissingSourceError`).
|
|
66
|
+
*/
|
|
67
|
+
const provideClassLayer =
|
|
68
|
+
<ROut, E2, RIn>(layer: Layer.Layer<ROut, E2, RIn>) =>
|
|
69
|
+
<A, E, R>(
|
|
70
|
+
self: Effect.Effect<A, E, R>,
|
|
71
|
+
): Effect.Effect<A, E | E2, RIn | Scope | Exclude<R, ROut>> =>
|
|
72
|
+
(globalThis.__ALCHEMY_RUNTIME__
|
|
73
|
+
? Effect.flatMap(Effect.scope, (scope) =>
|
|
74
|
+
Effect.flatMap(Layer.buildWithScope(layer, scope), (context) =>
|
|
75
|
+
Effect.provideContext(self, context),
|
|
76
|
+
),
|
|
77
|
+
)
|
|
78
|
+
: Effect.provide(self, layer)) as Effect.Effect<
|
|
79
|
+
A,
|
|
80
|
+
E | E2,
|
|
81
|
+
RIn | Scope | Exclude<R, ROut>
|
|
82
|
+
>;
|
|
83
|
+
|
|
47
84
|
export type Main<InitServices = never> = void | {
|
|
48
85
|
fetch?:
|
|
49
86
|
| HttpEffect<InitServices | PlatformServices | RuntimeContext | Scope>
|
|
@@ -98,14 +135,17 @@ export type MakeShape<Shape, BaseShape> = [
|
|
|
98
135
|
? Exclude<BaseShape, void | undefined>
|
|
99
136
|
: Exclude<Shape, void | undefined> & Exclude<BaseShape, void | undefined>;
|
|
100
137
|
|
|
101
|
-
//
|
|
138
|
+
// Services provided to the Resource's init/props effects. Deliberately does
|
|
139
|
+
// NOT include `Scope`: init runs once per instance under a build scope that
|
|
140
|
+
// closes at instance shutdown at best (Lambda's SIGTERM window; never on
|
|
141
|
+
// workerd), so init code that needs a scope must not typecheck. Handlers get
|
|
142
|
+
// a fresh per-event `Scope` from the bridge — note the explicit `| Scope` on
|
|
143
|
+
// the handler positions in `Main` / `MainRpc` above.
|
|
102
144
|
export type PlatformServices =
|
|
103
145
|
| NodeServices
|
|
104
|
-
| ExecutionContext
|
|
105
146
|
| HttpClient
|
|
106
147
|
| Provider<any>
|
|
107
148
|
| ProviderCollectionLike
|
|
108
|
-
| Scope
|
|
109
149
|
| Stack
|
|
110
150
|
| StackServices
|
|
111
151
|
| Stage;
|
|
@@ -324,7 +364,7 @@ export const Platform = <
|
|
|
324
364
|
);
|
|
325
365
|
return Object.assign(
|
|
326
366
|
function (props: Props, impl: Impl) {
|
|
327
|
-
return cls.Self.pipe(
|
|
367
|
+
return cls.Self.pipe(provideClassLayer(cls.make(props, impl)));
|
|
328
368
|
},
|
|
329
369
|
// we splice in the Effect so this can be yielded to indicate a non-Effect native instance
|
|
330
370
|
// e.g. here, we yield it - in this case we don't want to provide an implementation
|
|
@@ -345,7 +385,10 @@ export const Platform = <
|
|
|
345
385
|
// e.g.
|
|
346
386
|
// export default Cloudflare.Worker("id", { main: "./src/worker.ts" }, Effect.gen(function* () { .. })
|
|
347
387
|
const cls = makeClass(id);
|
|
348
|
-
return cls.Self.pipe(
|
|
388
|
+
return cls.Self.pipe(
|
|
389
|
+
provideClassLayer(cls.make(props, impl)),
|
|
390
|
+
effectClass,
|
|
391
|
+
);
|
|
349
392
|
}
|
|
350
393
|
};
|
|
351
394
|
|
|
@@ -367,6 +410,18 @@ export const Platform = <
|
|
|
367
410
|
Effect.context<never>(),
|
|
368
411
|
]),
|
|
369
412
|
Effect.fn(function* ([props, runtimeContext, outerServices]) {
|
|
413
|
+
// The init effect (`impl`) is evaluated inside an
|
|
414
|
+
// `Effect.provide(...)` region below, whose implementation
|
|
415
|
+
// (`scopedWith`) would otherwise shadow the ambient `Scope`
|
|
416
|
+
// with a transient one that closes the moment init returns.
|
|
417
|
+
// Pin init's ambient scope to this layer's build scope
|
|
418
|
+
// instead: under the runtime bridges that scope belongs to
|
|
419
|
+
// the instance-lifetime build, so init-level finalizers run
|
|
420
|
+
// at instance shutdown or not at all — never per event
|
|
421
|
+
// (workerd never closes it; the Lambda entry closes it in the
|
|
422
|
+
// SIGTERM window). Request-coupled cleanup belongs in
|
|
423
|
+
// handlers, where the bridge provides a per-event scope.
|
|
424
|
+
const buildScope = yield* Effect.scope;
|
|
370
425
|
const instance = Object.assign(
|
|
371
426
|
yield* resource(id, props as any).pipe(
|
|
372
427
|
Effect.flatMap(
|
|
@@ -455,6 +510,18 @@ export const Platform = <
|
|
|
455
510
|
).pipe(
|
|
456
511
|
Layer.provideMerge(
|
|
457
512
|
Layer.mergeAll(
|
|
513
|
+
// Pin init's ambient `Scope` to this layer's build
|
|
514
|
+
// scope. `Effect.provide` (`scopedWith`) would
|
|
515
|
+
// otherwise shadow it with a transient scope that
|
|
516
|
+
// closes the moment init returns; the build scope
|
|
517
|
+
// lives for the instance under the runtime bridges,
|
|
518
|
+
// so init-level finalizers run at instance shutdown
|
|
519
|
+
// (Lambda's SIGTERM window) or never (workerd) —
|
|
520
|
+
// request-coupled cleanup belongs in handlers, where
|
|
521
|
+
// the bridge provides a per-event scope. It also
|
|
522
|
+
// wins over any `Scope` captured in `outerServices`
|
|
523
|
+
// below.
|
|
524
|
+
Layer.succeed(Scope, buildScope),
|
|
458
525
|
Layer.succeed(Platform.Platform, runtimeContext),
|
|
459
526
|
Layer.succeed(PlatformContext, runtimeContext),
|
|
460
527
|
Layer.succeed(RuntimeContext, runtimeContext),
|
package/src/Provider.ts
CHANGED
|
@@ -102,6 +102,14 @@ export interface ProviderService<
|
|
|
102
102
|
* @default 0
|
|
103
103
|
*/
|
|
104
104
|
version?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Legacy type names this provider also answers to. Copied from the
|
|
107
|
+
* resource class's `aliases` option by {@link succeed}/{@link effect} so
|
|
108
|
+
* state persisted under a pre-rename type (e.g. `"Cloudflare.Queue"`
|
|
109
|
+
* before the `"Cloudflare.Queues.Queue"` rename) still resolves to this
|
|
110
|
+
* provider via {@link tryFindProviderByType}.
|
|
111
|
+
*/
|
|
112
|
+
aliases?: readonly string[];
|
|
105
113
|
/**
|
|
106
114
|
* Account-wide teardown (`alchemy unsafe nuke`) behaviour. Providers whose
|
|
107
115
|
* resources can't meaningfully be deleted opt out here so nuke doesn't
|
|
@@ -148,6 +156,11 @@ export interface ProviderService<
|
|
|
148
156
|
*/
|
|
149
157
|
tail?(input: {
|
|
150
158
|
id: string;
|
|
159
|
+
/**
|
|
160
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
161
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
162
|
+
*/
|
|
163
|
+
fqn: string;
|
|
151
164
|
instanceId: string;
|
|
152
165
|
props: Props<Res>;
|
|
153
166
|
output: Res["Attributes"];
|
|
@@ -158,6 +171,11 @@ export interface ProviderService<
|
|
|
158
171
|
*/
|
|
159
172
|
logs?(input: {
|
|
160
173
|
id: string;
|
|
174
|
+
/**
|
|
175
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
176
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
177
|
+
*/
|
|
178
|
+
fqn: string;
|
|
161
179
|
instanceId: string;
|
|
162
180
|
props: Props<Res>;
|
|
163
181
|
output: Res["Attributes"];
|
|
@@ -170,6 +188,11 @@ export interface ProviderService<
|
|
|
170
188
|
// branch?() {}
|
|
171
189
|
read?(input: {
|
|
172
190
|
id: string;
|
|
191
|
+
/**
|
|
192
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
193
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
194
|
+
*/
|
|
195
|
+
fqn: string;
|
|
173
196
|
instanceId: string;
|
|
174
197
|
olds: Props<Res>;
|
|
175
198
|
// what is the ARN?
|
|
@@ -181,6 +204,11 @@ export interface ProviderService<
|
|
|
181
204
|
stables?: Extract<keyof Res["Attributes"], string>[];
|
|
182
205
|
diff?(input: {
|
|
183
206
|
id: string;
|
|
207
|
+
/**
|
|
208
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
209
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
210
|
+
*/
|
|
211
|
+
fqn: string;
|
|
184
212
|
instanceId: string;
|
|
185
213
|
olds: Props<Res>;
|
|
186
214
|
// Note: we do not resolve (Res["Props"]) here because diff runs during plan
|
|
@@ -193,6 +221,11 @@ export interface ProviderService<
|
|
|
193
221
|
// dev?:() => Effect.Effect<void, any, DevReq>;
|
|
194
222
|
precreate?(input: {
|
|
195
223
|
id: string;
|
|
224
|
+
/**
|
|
225
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
226
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
227
|
+
*/
|
|
228
|
+
fqn: string;
|
|
196
229
|
news: Props<Res>;
|
|
197
230
|
instanceId: string;
|
|
198
231
|
session: ScopedPlanStatusSession;
|
|
@@ -222,6 +255,11 @@ export interface ProviderService<
|
|
|
222
255
|
*/
|
|
223
256
|
reconcile(input: {
|
|
224
257
|
id: string;
|
|
258
|
+
/**
|
|
259
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
260
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
261
|
+
*/
|
|
262
|
+
fqn: string;
|
|
225
263
|
instanceId: string;
|
|
226
264
|
news: Props<Res>;
|
|
227
265
|
olds: Props<Res> | undefined;
|
|
@@ -231,6 +269,11 @@ export interface ProviderService<
|
|
|
231
269
|
}): Effect.Effect<Res["Attributes"], any, ReconcileReq>;
|
|
232
270
|
delete(input: {
|
|
233
271
|
id: string;
|
|
272
|
+
/**
|
|
273
|
+
* Fully-qualified name (namespace path + logical id, see `./FQN.ts`) —
|
|
274
|
+
* globally unique, so providers can stamp ownership metadata on cloud objects.
|
|
275
|
+
*/
|
|
276
|
+
fqn: string;
|
|
234
277
|
instanceId: string;
|
|
235
278
|
olds: Props<Res>;
|
|
236
279
|
output: Res["Attributes"];
|
|
@@ -275,8 +318,14 @@ export const effect = <
|
|
|
275
318
|
LifecycleServices
|
|
276
319
|
>
|
|
277
320
|
> =>
|
|
278
|
-
|
|
279
|
-
|
|
321
|
+
Layer.effect(
|
|
322
|
+
// @ts-expect-error
|
|
323
|
+
Provider(cls.Type),
|
|
324
|
+
Effect.map(eff, (service) => ({
|
|
325
|
+
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
326
|
+
...service,
|
|
327
|
+
})),
|
|
328
|
+
) as any;
|
|
280
329
|
|
|
281
330
|
export const succeed = <
|
|
282
331
|
R extends ResourceLike,
|
|
@@ -310,7 +359,10 @@ export const succeed = <
|
|
|
310
359
|
>
|
|
311
360
|
> =>
|
|
312
361
|
// @ts-expect-error
|
|
313
|
-
Layer.succeed(Provider(cls.Type),
|
|
362
|
+
Layer.succeed(Provider(cls.Type), {
|
|
363
|
+
aliases: "Aliases" in cls ? cls.Aliases : undefined,
|
|
364
|
+
...service,
|
|
365
|
+
});
|
|
314
366
|
|
|
315
367
|
export interface ProviderCollectionLike {
|
|
316
368
|
kind: "ProviderCollection";
|
|
@@ -398,6 +450,20 @@ const isProviderCollectionService = (
|
|
|
398
450
|
);
|
|
399
451
|
};
|
|
400
452
|
|
|
453
|
+
/**
|
|
454
|
+
* Structural check for a {@link ProviderService} living in the Effect
|
|
455
|
+
* context. Providers are keyed by their canonical resource type; when
|
|
456
|
+
* searching for a legacy alias, the tag key won't match, so lookup has to
|
|
457
|
+
* recognize provider services by shape.
|
|
458
|
+
*/
|
|
459
|
+
const isProviderService = (value: unknown): value is ProviderService =>
|
|
460
|
+
typeof value === "object" &&
|
|
461
|
+
value !== null &&
|
|
462
|
+
"reconcile" in value &&
|
|
463
|
+
typeof (value as ProviderService).reconcile === "function" &&
|
|
464
|
+
"delete" in value &&
|
|
465
|
+
typeof (value as ProviderService).delete === "function";
|
|
466
|
+
|
|
401
467
|
export const findProviderByType: {
|
|
402
468
|
<R extends ResourceLike>(
|
|
403
469
|
resourceType: R["Type"],
|
|
@@ -448,5 +514,24 @@ export const tryFindProviderByType: {
|
|
|
448
514
|
}
|
|
449
515
|
}
|
|
450
516
|
}
|
|
517
|
+
|
|
518
|
+
// State persisted before a type rename carries the legacy name, so no
|
|
519
|
+
// provider is keyed under it. Fall back to a provider that declares the
|
|
520
|
+
// name in its `aliases` — scanning both bare Provider layers and the
|
|
521
|
+
// members of every ProviderCollection.
|
|
522
|
+
for (const value of context.mapUnsafe.values()) {
|
|
523
|
+
if (isProviderCollectionService(value)) {
|
|
524
|
+
for (const provider of Object.values(value.providers)) {
|
|
525
|
+
if (provider.aliases?.includes(resourceType)) {
|
|
526
|
+
return Option.some(provider);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
} else if (
|
|
530
|
+
isProviderService(value) &&
|
|
531
|
+
value.aliases?.includes(resourceType)
|
|
532
|
+
) {
|
|
533
|
+
return Option.some(value);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
451
536
|
return Option.none();
|
|
452
537
|
}) as any;
|