alchemy 0.67.0 → 0.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/alchemy.js +25563 -26265
- package/bin/alchemy.ts +6 -2
- package/bin/commands/configure.ts +194 -0
- package/bin/commands/login.ts +99 -55
- package/bin/commands/logout.ts +66 -0
- package/bin/trpc.ts +27 -2
- package/lib/apply.d.ts +2 -2
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +18 -15
- package/lib/apply.js.map +1 -1
- package/lib/auth.d.ts +72 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +163 -0
- package/lib/auth.js.map +1 -0
- package/lib/aws/bucket.d.ts +12 -3
- package/lib/aws/bucket.d.ts.map +1 -1
- package/lib/aws/bucket.js +2 -2
- package/lib/aws/bucket.js.map +1 -1
- package/lib/aws/control/resource.d.ts +34 -3
- package/lib/aws/control/resource.d.ts.map +1 -1
- package/lib/aws/control/resource.js +3 -3
- package/lib/aws/control/resource.js.map +1 -1
- package/lib/aws/ec2/internet-gateway-attachment.d.ts +1 -2
- package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -1
- package/lib/aws/ec2/internet-gateway-attachment.js +4 -4
- package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -1
- package/lib/aws/ec2/internet-gateway.d.ts +1 -2
- package/lib/aws/ec2/internet-gateway.d.ts.map +1 -1
- package/lib/aws/ec2/internet-gateway.js +2 -2
- package/lib/aws/ec2/internet-gateway.js.map +1 -1
- package/lib/aws/ec2/nat-gateway.d.ts +1 -2
- package/lib/aws/ec2/nat-gateway.d.ts.map +1 -1
- package/lib/aws/ec2/nat-gateway.js +2 -2
- package/lib/aws/ec2/nat-gateway.js.map +1 -1
- package/lib/aws/ec2/route-table-association.d.ts +1 -2
- package/lib/aws/ec2/route-table-association.d.ts.map +1 -1
- package/lib/aws/ec2/route-table-association.js +2 -2
- package/lib/aws/ec2/route-table-association.js.map +1 -1
- package/lib/aws/ec2/route-table.d.ts +1 -2
- package/lib/aws/ec2/route-table.d.ts.map +1 -1
- package/lib/aws/ec2/route-table.js +2 -2
- package/lib/aws/ec2/route-table.js.map +1 -1
- package/lib/aws/ec2/route.d.ts +1 -2
- package/lib/aws/ec2/route.d.ts.map +1 -1
- package/lib/aws/ec2/route.js +2 -2
- package/lib/aws/ec2/route.js.map +1 -1
- package/lib/aws/ec2/security-group-rule.d.ts +1 -2
- package/lib/aws/ec2/security-group-rule.d.ts.map +1 -1
- package/lib/aws/ec2/security-group-rule.js +2 -2
- package/lib/aws/ec2/security-group-rule.js.map +1 -1
- package/lib/aws/ec2/security-group.d.ts +1 -2
- package/lib/aws/ec2/security-group.d.ts.map +1 -1
- package/lib/aws/ec2/security-group.js +2 -2
- package/lib/aws/ec2/security-group.js.map +1 -1
- package/lib/aws/ec2/subnet.d.ts +1 -2
- package/lib/aws/ec2/subnet.d.ts.map +1 -1
- package/lib/aws/ec2/subnet.js +2 -2
- package/lib/aws/ec2/subnet.js.map +1 -1
- package/lib/aws/ec2/vpc.d.ts +1 -2
- package/lib/aws/ec2/vpc.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.js +2 -2
- package/lib/aws/ec2/vpc.js.map +1 -1
- package/lib/aws/function.d.ts +116 -3
- package/lib/aws/function.d.ts.map +1 -1
- package/lib/aws/function.js +2 -2
- package/lib/aws/function.js.map +1 -1
- package/lib/aws/oidc/github-oidc-provider.d.ts +13 -2
- package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -1
- package/lib/aws/oidc/oidc-provider.d.ts +48 -3
- package/lib/aws/oidc/oidc-provider.d.ts.map +1 -1
- package/lib/aws/oidc/oidc-provider.js +2 -2
- package/lib/aws/oidc/oidc-provider.js.map +1 -1
- package/lib/aws/policy-attachment.d.ts +2 -3
- package/lib/aws/policy-attachment.d.ts.map +1 -1
- package/lib/aws/policy-attachment.js +1 -1
- package/lib/aws/policy-attachment.js.map +1 -1
- package/lib/aws/policy.d.ts +1 -2
- package/lib/aws/policy.d.ts.map +1 -1
- package/lib/aws/policy.js +4 -4
- package/lib/aws/policy.js.map +1 -1
- package/lib/aws/queue.d.ts +1 -2
- package/lib/aws/queue.d.ts.map +1 -1
- package/lib/aws/queue.js +4 -4
- package/lib/aws/queue.js.map +1 -1
- package/lib/aws/role.d.ts +1 -2
- package/lib/aws/role.d.ts.map +1 -1
- package/lib/aws/role.js +2 -2
- package/lib/aws/role.js.map +1 -1
- package/lib/aws/ses.d.ts +1 -2
- package/lib/aws/ses.d.ts.map +1 -1
- package/lib/aws/ses.js +2 -2
- package/lib/aws/ses.js.map +1 -1
- package/lib/aws/ssm-parameter.d.ts +1 -2
- package/lib/aws/ssm-parameter.d.ts.map +1 -1
- package/lib/aws/ssm-parameter.js +2 -2
- package/lib/aws/ssm-parameter.js.map +1 -1
- package/lib/aws/table.d.ts +1 -2
- package/lib/aws/table.d.ts.map +1 -1
- package/lib/aws/table.js +2 -2
- package/lib/aws/table.js.map +1 -1
- package/lib/cloudflare/account-api-token.d.ts +1 -2
- package/lib/cloudflare/account-api-token.d.ts.map +1 -1
- package/lib/cloudflare/account-api-token.js +2 -2
- package/lib/cloudflare/account-api-token.js.map +1 -1
- package/lib/cloudflare/ai-gateway.d.ts +1 -2
- package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
- package/lib/cloudflare/ai-gateway.js +2 -2
- package/lib/cloudflare/ai-gateway.js.map +1 -1
- package/lib/cloudflare/api-gateway-operation.d.ts +1 -2
- package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -1
- package/lib/cloudflare/api-gateway-operation.js +2 -2
- package/lib/cloudflare/api-gateway-operation.js.map +1 -1
- package/lib/cloudflare/api-schema.d.ts +1 -2
- package/lib/cloudflare/api-schema.d.ts.map +1 -1
- package/lib/cloudflare/api-schema.js +2 -2
- package/lib/cloudflare/api-schema.js.map +1 -1
- package/lib/cloudflare/api-shield.d.ts +1 -2
- package/lib/cloudflare/api-shield.d.ts.map +1 -1
- package/lib/cloudflare/api-shield.js +2 -2
- package/lib/cloudflare/api-shield.js.map +1 -1
- package/lib/cloudflare/api.d.ts +18 -10
- package/lib/cloudflare/api.d.ts.map +1 -1
- package/lib/cloudflare/api.js +93 -38
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/assets.d.ts +21 -43
- package/lib/cloudflare/assets.d.ts.map +1 -1
- package/lib/cloudflare/assets.js +78 -70
- package/lib/cloudflare/assets.js.map +1 -1
- package/lib/cloudflare/auth.d.ts +91 -17
- package/lib/cloudflare/auth.d.ts.map +1 -1
- package/lib/cloudflare/auth.js +141 -62
- package/lib/cloudflare/auth.js.map +1 -1
- package/lib/cloudflare/bound.d.ts +1 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/bucket.d.ts +60 -8
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +161 -18
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/bundle/plugin-wasm.js +4 -2
- package/lib/cloudflare/bundle/plugin-wasm.js.map +1 -1
- package/lib/cloudflare/certificate-pack.d.ts +1 -2
- package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
- package/lib/cloudflare/certificate-pack.js +4 -4
- package/lib/cloudflare/certificate-pack.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/container.d.ts +1 -2
- package/lib/cloudflare/container.d.ts.map +1 -1
- package/lib/cloudflare/container.js +6 -6
- package/lib/cloudflare/container.js.map +1 -1
- package/lib/cloudflare/custom-domain.d.ts +1 -2
- package/lib/cloudflare/custom-domain.d.ts.map +1 -1
- package/lib/cloudflare/custom-domain.js +2 -2
- package/lib/cloudflare/custom-domain.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts +2 -3
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +5 -5
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/dispatch-namespace.d.ts +2 -3
- package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
- package/lib/cloudflare/dispatch-namespace.js +3 -3
- package/lib/cloudflare/dispatch-namespace.js.map +1 -1
- package/lib/cloudflare/dns-records.d.ts +1 -2
- package/lib/cloudflare/dns-records.d.ts.map +1 -1
- package/lib/cloudflare/dns-records.js +4 -4
- package/lib/cloudflare/dns-records.js.map +1 -1
- package/lib/cloudflare/email-address.d.ts +1 -2
- package/lib/cloudflare/email-address.d.ts.map +1 -1
- package/lib/cloudflare/email-address.js +6 -6
- package/lib/cloudflare/email-address.js.map +1 -1
- package/lib/cloudflare/email-catch-all.d.ts +1 -2
- package/lib/cloudflare/email-catch-all.d.ts.map +1 -1
- package/lib/cloudflare/email-catch-all.js +4 -4
- package/lib/cloudflare/email-catch-all.js.map +1 -1
- package/lib/cloudflare/email-routing.d.ts +1 -2
- package/lib/cloudflare/email-routing.d.ts.map +1 -1
- package/lib/cloudflare/email-routing.js +4 -4
- package/lib/cloudflare/email-routing.js.map +1 -1
- package/lib/cloudflare/email-rule.d.ts +1 -2
- package/lib/cloudflare/email-rule.d.ts.map +1 -1
- package/lib/cloudflare/email-rule.js +4 -4
- package/lib/cloudflare/email-rule.js.map +1 -1
- package/lib/cloudflare/hyperdrive.d.ts +1 -2
- package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
- package/lib/cloudflare/hyperdrive.js +4 -4
- package/lib/cloudflare/hyperdrive.js.map +1 -1
- package/lib/cloudflare/kv-namespace.d.ts +2 -3
- package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv-namespace.js +5 -5
- package/lib/cloudflare/kv-namespace.js.map +1 -1
- package/lib/cloudflare/miniflare/delete.js +1 -1
- package/lib/cloudflare/miniflare/delete.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +2 -7
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
- package/lib/cloudflare/miniflare/remote-binding-proxy.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/remote-binding-proxy.js +15 -4
- package/lib/cloudflare/miniflare/remote-binding-proxy.js.map +1 -1
- package/lib/cloudflare/permission-groups.d.ts +1 -2
- package/lib/cloudflare/permission-groups.d.ts.map +1 -1
- package/lib/cloudflare/permission-groups.js +1 -1
- package/lib/cloudflare/permission-groups.js.map +1 -1
- package/lib/cloudflare/pipeline.d.ts +2 -3
- package/lib/cloudflare/pipeline.d.ts.map +1 -1
- package/lib/cloudflare/pipeline.js +5 -5
- package/lib/cloudflare/pipeline.js.map +1 -1
- package/lib/cloudflare/queue-consumer.d.ts +1 -2
- package/lib/cloudflare/queue-consumer.d.ts.map +1 -1
- package/lib/cloudflare/queue-consumer.js +4 -4
- package/lib/cloudflare/queue-consumer.js.map +1 -1
- package/lib/cloudflare/queue.d.ts +1 -2
- package/lib/cloudflare/queue.d.ts.map +1 -1
- package/lib/cloudflare/queue.js +4 -4
- package/lib/cloudflare/queue.js.map +1 -1
- package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
- package/lib/cloudflare/react-router/plugin.js +13 -0
- package/lib/cloudflare/react-router/plugin.js.map +1 -1
- package/lib/cloudflare/redirect-rule.d.ts +1 -2
- package/lib/cloudflare/redirect-rule.d.ts.map +1 -1
- package/lib/cloudflare/redirect-rule.js +4 -4
- package/lib/cloudflare/redirect-rule.js.map +1 -1
- package/lib/cloudflare/route.d.ts +1 -2
- package/lib/cloudflare/route.d.ts.map +1 -1
- package/lib/cloudflare/route.js +4 -4
- package/lib/cloudflare/route.js.map +1 -1
- package/lib/cloudflare/ruleset.d.ts +1 -2
- package/lib/cloudflare/ruleset.d.ts.map +1 -1
- package/lib/cloudflare/ruleset.js +2 -2
- package/lib/cloudflare/ruleset.js.map +1 -1
- package/lib/cloudflare/secret.d.ts +2 -3
- package/lib/cloudflare/secret.d.ts.map +1 -1
- package/lib/cloudflare/secret.js +3 -3
- package/lib/cloudflare/secret.js.map +1 -1
- package/lib/cloudflare/secrets-store.d.ts +2 -3
- package/lib/cloudflare/secrets-store.d.ts.map +1 -1
- package/lib/cloudflare/secrets-store.js +3 -3
- package/lib/cloudflare/secrets-store.js.map +1 -1
- package/lib/cloudflare/tunnel.d.ts +2 -3
- package/lib/cloudflare/tunnel.d.ts.map +1 -1
- package/lib/cloudflare/tunnel.js +3 -3
- package/lib/cloudflare/tunnel.js.map +1 -1
- package/lib/cloudflare/user.d.ts +3 -2
- package/lib/cloudflare/user.d.ts.map +1 -1
- package/lib/cloudflare/user.js +7 -5
- package/lib/cloudflare/user.js.map +1 -1
- package/lib/cloudflare/vectorize-index.d.ts +2 -3
- package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
- package/lib/cloudflare/vectorize-index.js +6 -6
- package/lib/cloudflare/vectorize-index.js.map +1 -1
- package/lib/cloudflare/vectorize-metadata-index.d.ts +2 -3
- package/lib/cloudflare/vectorize-metadata-index.d.ts.map +1 -1
- package/lib/cloudflare/vectorize-metadata-index.js +4 -4
- package/lib/cloudflare/vectorize-metadata-index.js.map +1 -1
- package/lib/cloudflare/website.js +1 -1
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker-assets.d.ts +1 -29
- package/lib/cloudflare/worker-assets.d.ts.map +1 -1
- package/lib/cloudflare/worker-assets.js +9 -42
- package/lib/cloudflare/worker-assets.js.map +1 -1
- package/lib/cloudflare/worker-stub.d.ts +2 -3
- package/lib/cloudflare/worker-stub.d.ts.map +1 -1
- package/lib/cloudflare/worker-stub.js +3 -3
- package/lib/cloudflare/worker-stub.js.map +1 -1
- package/lib/cloudflare/worker-subdomain.d.ts +4 -3
- package/lib/cloudflare/worker-subdomain.d.ts.map +1 -1
- package/lib/cloudflare/worker-subdomain.js +5 -5
- package/lib/cloudflare/worker-subdomain.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +3 -4
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +6 -5
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/zone.d.ts +1 -2
- package/lib/cloudflare/zone.d.ts.map +1 -1
- package/lib/cloudflare/zone.js +2 -2
- package/lib/cloudflare/zone.js.map +1 -1
- package/lib/context.d.ts +8 -8
- package/lib/context.d.ts.map +1 -1
- package/lib/context.js.map +1 -1
- package/lib/destroy.d.ts +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js.map +1 -1
- package/lib/dns/import-dns.d.ts +1 -2
- package/lib/dns/import-dns.d.ts.map +1 -1
- package/lib/dns/import-dns.js +2 -2
- package/lib/dns/import-dns.js.map +1 -1
- package/lib/docker/container.d.ts +1 -2
- package/lib/docker/container.d.ts.map +1 -1
- package/lib/docker/container.js +2 -3
- package/lib/docker/container.js.map +1 -1
- package/lib/docker/image.d.ts +1 -2
- package/lib/docker/image.d.ts.map +1 -1
- package/lib/docker/image.js +9 -9
- package/lib/docker/image.js.map +1 -1
- package/lib/docker/network.d.ts +1 -2
- package/lib/docker/network.d.ts.map +1 -1
- package/lib/docker/network.js +2 -3
- package/lib/docker/network.js.map +1 -1
- package/lib/docker/remote-image.d.ts +1 -2
- package/lib/docker/remote-image.d.ts.map +1 -1
- package/lib/docker/remote-image.js +2 -3
- package/lib/docker/remote-image.js.map +1 -1
- package/lib/docker/volume.d.ts +1 -2
- package/lib/docker/volume.d.ts.map +1 -1
- package/lib/docker/volume.js +2 -3
- package/lib/docker/volume.js.map +1 -1
- package/lib/esbuild/bundle.d.ts +1 -2
- package/lib/esbuild/bundle.d.ts.map +1 -1
- package/lib/esbuild/bundle.js +4 -4
- package/lib/esbuild/bundle.js.map +1 -1
- package/lib/fs/copy-file.d.ts +1 -2
- package/lib/fs/copy-file.d.ts.map +1 -1
- package/lib/fs/copy-file.js +2 -2
- package/lib/fs/copy-file.js.map +1 -1
- package/lib/fs/file.d.ts +1 -2
- package/lib/fs/file.d.ts.map +1 -1
- package/lib/fs/file.js +2 -2
- package/lib/fs/file.js.map +1 -1
- package/lib/fs/folder.d.ts +1 -2
- package/lib/fs/folder.d.ts.map +1 -1
- package/lib/fs/folder.js +2 -2
- package/lib/fs/folder.js.map +1 -1
- package/lib/github/comment.d.ts +1 -2
- package/lib/github/comment.d.ts.map +1 -1
- package/lib/github/comment.js +4 -4
- package/lib/github/comment.js.map +1 -1
- package/lib/github/repository-environment.d.ts +1 -2
- package/lib/github/repository-environment.d.ts.map +1 -1
- package/lib/github/repository-environment.js +2 -2
- package/lib/github/repository-environment.js.map +1 -1
- package/lib/github/repository-webhook.d.ts +1 -2
- package/lib/github/repository-webhook.d.ts.map +1 -1
- package/lib/github/repository-webhook.js +2 -2
- package/lib/github/repository-webhook.js.map +1 -1
- package/lib/github/secret.d.ts +1 -2
- package/lib/github/secret.d.ts.map +1 -1
- package/lib/github/secret.js +2 -2
- package/lib/github/secret.js.map +1 -1
- package/lib/neon/api/client.gen.d.ts +13 -0
- package/lib/neon/api/client.gen.d.ts.map +1 -0
- package/lib/neon/api/client.gen.js +7 -0
- package/lib/neon/api/client.gen.js.map +1 -0
- package/lib/neon/api/sdk.gen.d.ts +880 -0
- package/lib/neon/api/sdk.gen.d.ts.map +1 -0
- package/lib/neon/api/sdk.gen.js +1527 -0
- package/lib/neon/api/sdk.gen.js.map +1 -0
- package/lib/neon/api/types.gen.d.ts +7250 -0
- package/lib/neon/api/types.gen.d.ts.map +1 -0
- package/lib/neon/api/types.gen.js +2 -0
- package/lib/neon/api/types.gen.js.map +1 -0
- package/lib/neon/api.d.ts +14 -49
- package/lib/neon/api.d.ts.map +1 -1
- package/lib/neon/api.js +36 -114
- package/lib/neon/api.js.map +1 -1
- package/lib/neon/branch.d.ts +141 -0
- package/lib/neon/branch.d.ts.map +1 -0
- package/lib/neon/branch.js +112 -0
- package/lib/neon/branch.js.map +1 -0
- package/lib/neon/index.d.ts +1 -1
- package/lib/neon/index.d.ts.map +1 -1
- package/lib/neon/index.js +1 -1
- package/lib/neon/index.js.map +1 -1
- package/lib/neon/project.d.ts +32 -242
- package/lib/neon/project.d.ts.map +1 -1
- package/lib/neon/project.js +90 -269
- package/lib/neon/project.js.map +1 -1
- package/lib/neon/utils.d.ts +49 -0
- package/lib/neon/utils.d.ts.map +1 -0
- package/lib/neon/utils.js +44 -0
- package/lib/neon/utils.js.map +1 -0
- package/lib/os/exec.d.ts +1 -2
- package/lib/os/exec.d.ts.map +1 -1
- package/lib/os/exec.js +2 -2
- package/lib/os/exec.js.map +1 -1
- package/lib/planetscale/api/client.gen.d.ts +12 -1749
- package/lib/planetscale/api/client.gen.d.ts.map +1 -1
- package/lib/planetscale/api/client.gen.js +6 -2400
- package/lib/planetscale/api/client.gen.js.map +1 -1
- package/lib/planetscale/api/sdk.gen.d.ts +1582 -0
- package/lib/planetscale/api/sdk.gen.d.ts.map +1 -0
- package/lib/planetscale/api/sdk.gen.js +2219 -0
- package/lib/planetscale/api/sdk.gen.js.map +1 -0
- package/lib/planetscale/api/types.gen.d.ts +594 -449
- package/lib/planetscale/api/types.gen.d.ts.map +1 -1
- package/lib/planetscale/api.d.ts +43 -0
- package/lib/planetscale/api.d.ts.map +1 -0
- package/lib/planetscale/api.js +53 -0
- package/lib/planetscale/api.js.map +1 -0
- package/lib/planetscale/branch.d.ts +2 -3
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +17 -15
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +2 -3
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +34 -34
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/index.d.ts +1 -1
- package/lib/planetscale/index.d.ts.map +1 -1
- package/lib/planetscale/index.js +1 -1
- package/lib/planetscale/index.js.map +1 -1
- package/lib/planetscale/password.d.ts +2 -3
- package/lib/planetscale/password.d.ts.map +1 -1
- package/lib/planetscale/password.js +11 -11
- package/lib/planetscale/password.js.map +1 -1
- package/lib/planetscale/role.d.ts +2 -3
- package/lib/planetscale/role.d.ts.map +1 -1
- package/lib/planetscale/role.js +18 -18
- package/lib/planetscale/role.js.map +1 -1
- package/lib/planetscale/utils.d.ts +1 -1
- package/lib/planetscale/utils.d.ts.map +1 -1
- package/lib/planetscale/utils.js +17 -33
- package/lib/planetscale/utils.js.map +1 -1
- package/lib/random/random-string.d.ts +1 -2
- package/lib/random/random-string.d.ts.map +1 -1
- package/lib/random/random-string.js +3 -3
- package/lib/random/random-string.js.map +1 -1
- package/lib/resource.d.ts +4 -1
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js.map +1 -1
- package/lib/sentry/client-key.d.ts +1 -2
- package/lib/sentry/client-key.d.ts.map +1 -1
- package/lib/sentry/client-key.js +2 -2
- package/lib/sentry/client-key.js.map +1 -1
- package/lib/sentry/project.d.ts +1 -2
- package/lib/sentry/project.d.ts.map +1 -1
- package/lib/sentry/project.js +2 -2
- package/lib/sentry/project.js.map +1 -1
- package/lib/sentry/team.d.ts +1 -2
- package/lib/sentry/team.d.ts.map +1 -1
- package/lib/sentry/team.js +2 -2
- package/lib/sentry/team.js.map +1 -1
- package/lib/state/r2-rest-state-store.d.ts +1 -0
- package/lib/state/r2-rest-state-store.d.ts.map +1 -1
- package/lib/state/r2-rest-state-store.js +15 -34
- package/lib/state/r2-rest-state-store.js.map +1 -1
- package/lib/stripe/card.d.ts +1 -2
- package/lib/stripe/card.d.ts.map +1 -1
- package/lib/stripe/card.js +2 -2
- package/lib/stripe/card.js.map +1 -1
- package/lib/stripe/coupon.d.ts +1 -2
- package/lib/stripe/coupon.d.ts.map +1 -1
- package/lib/stripe/coupon.js +2 -2
- package/lib/stripe/coupon.js.map +1 -1
- package/lib/stripe/customer.d.ts +1 -2
- package/lib/stripe/customer.d.ts.map +1 -1
- package/lib/stripe/customer.js +2 -2
- package/lib/stripe/customer.js.map +1 -1
- package/lib/stripe/entitlements-feature.d.ts +1 -2
- package/lib/stripe/entitlements-feature.d.ts.map +1 -1
- package/lib/stripe/entitlements-feature.js +2 -2
- package/lib/stripe/entitlements-feature.js.map +1 -1
- package/lib/stripe/file.d.ts +1 -2
- package/lib/stripe/file.d.ts.map +1 -1
- package/lib/stripe/file.js +2 -2
- package/lib/stripe/file.js.map +1 -1
- package/lib/stripe/meter.d.ts +1 -2
- package/lib/stripe/meter.d.ts.map +1 -1
- package/lib/stripe/meter.js +1 -1
- package/lib/stripe/meter.js.map +1 -1
- package/lib/stripe/portal-configuration.d.ts +1 -2
- package/lib/stripe/portal-configuration.d.ts.map +1 -1
- package/lib/stripe/portal-configuration.js +2 -2
- package/lib/stripe/portal-configuration.js.map +1 -1
- package/lib/stripe/price.d.ts +1 -2
- package/lib/stripe/price.d.ts.map +1 -1
- package/lib/stripe/price.js +2 -2
- package/lib/stripe/price.js.map +1 -1
- package/lib/stripe/product-feature.d.ts +1 -2
- package/lib/stripe/product-feature.d.ts.map +1 -1
- package/lib/stripe/product-feature.js +2 -2
- package/lib/stripe/product-feature.js.map +1 -1
- package/lib/stripe/product.d.ts +1 -2
- package/lib/stripe/product.d.ts.map +1 -1
- package/lib/stripe/product.js +2 -2
- package/lib/stripe/product.js.map +1 -1
- package/lib/stripe/promotion-code.d.ts +1 -2
- package/lib/stripe/promotion-code.d.ts.map +1 -1
- package/lib/stripe/promotion-code.js +2 -2
- package/lib/stripe/promotion-code.js.map +1 -1
- package/lib/stripe/shipping-rate.d.ts +1 -2
- package/lib/stripe/shipping-rate.d.ts.map +1 -1
- package/lib/stripe/shipping-rate.js +2 -2
- package/lib/stripe/shipping-rate.js.map +1 -1
- package/lib/stripe/tax-rate.d.ts +1 -2
- package/lib/stripe/tax-rate.d.ts.map +1 -1
- package/lib/stripe/tax-rate.js +2 -2
- package/lib/stripe/tax-rate.js.map +1 -1
- package/lib/stripe/webhook.d.ts +16 -3
- package/lib/stripe/webhook.d.ts.map +1 -1
- package/lib/stripe/webhook.js +2 -2
- package/lib/stripe/webhook.js.map +1 -1
- package/lib/test/bun.d.ts.map +1 -1
- package/lib/test/bun.js +1 -0
- package/lib/test/bun.js.map +1 -1
- package/lib/test/options.d.ts +5 -0
- package/lib/test/options.d.ts.map +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/upstash/redis.d.ts +1 -2
- package/lib/upstash/redis.d.ts.map +1 -1
- package/lib/upstash/redis.js.map +1 -1
- package/lib/util/api/client/client.gen.d.ts +3 -0
- package/lib/util/api/client/client.gen.d.ts.map +1 -0
- package/lib/util/api/client/client.gen.js +205 -0
- package/lib/util/api/client/client.gen.js.map +1 -0
- package/lib/util/api/client/index.d.ts +8 -0
- package/lib/util/api/client/index.d.ts.map +1 -0
- package/lib/util/api/client/index.js +6 -0
- package/lib/util/api/client/index.js.map +1 -0
- package/lib/util/api/client/types.gen.d.ts +125 -0
- package/lib/util/api/client/types.gen.d.ts.map +1 -0
- package/lib/util/api/client/types.gen.js +2 -0
- package/lib/util/api/client/types.gen.js.map +1 -0
- package/lib/util/api/client/utils.gen.d.ts +34 -0
- package/lib/util/api/client/utils.gen.d.ts.map +1 -0
- package/lib/util/api/client/utils.gen.js +231 -0
- package/lib/util/api/client/utils.gen.js.map +1 -0
- package/lib/util/api/core/auth.gen.d.ts +19 -0
- package/lib/util/api/core/auth.gen.d.ts.map +1 -0
- package/lib/util/api/core/auth.gen.js +15 -0
- package/lib/util/api/core/auth.gen.js.map +1 -0
- package/lib/util/api/core/bodySerializer.gen.d.ts +18 -0
- package/lib/util/api/core/bodySerializer.gen.d.ts.map +1 -0
- package/lib/util/api/core/bodySerializer.gen.js +58 -0
- package/lib/util/api/core/bodySerializer.gen.js.map +1 -0
- package/lib/util/api/core/params.gen.d.ts +34 -0
- package/lib/util/api/core/params.gen.d.ts.map +1 -0
- package/lib/util/api/core/params.gen.js +89 -0
- package/lib/util/api/core/params.gen.js.map +1 -0
- package/lib/util/api/core/pathSerializer.gen.d.ts +34 -0
- package/lib/util/api/core/pathSerializer.gen.d.ts.map +1 -0
- package/lib/util/api/core/pathSerializer.gen.js +115 -0
- package/lib/util/api/core/pathSerializer.gen.js.map +1 -0
- package/lib/util/api/core/serverSentEvents.gen.d.ts +72 -0
- package/lib/util/api/core/serverSentEvents.gen.d.ts.map +1 -0
- package/lib/util/api/core/serverSentEvents.gen.js +136 -0
- package/lib/util/api/core/serverSentEvents.gen.js.map +1 -0
- package/lib/util/api/core/types.gen.d.ts +79 -0
- package/lib/util/api/core/types.gen.d.ts.map +1 -0
- package/lib/util/api/core/types.gen.js +2 -0
- package/lib/util/api/core/types.gen.js.map +1 -0
- package/lib/util/api/core/utils.gen.d.ts +20 -0
- package/lib/util/api/core/utils.gen.d.ts.map +1 -0
- package/lib/util/api/core/utils.gen.js +88 -0
- package/lib/util/api/core/utils.gen.js.map +1 -0
- package/lib/util/http.d.ts +7 -2
- package/lib/util/http.d.ts.map +1 -1
- package/lib/util/http.js +29 -11
- package/lib/util/http.js.map +1 -1
- package/lib/util/lock.d.ts +20 -0
- package/lib/util/lock.d.ts.map +1 -0
- package/lib/util/lock.js +45 -0
- package/lib/util/lock.js.map +1 -0
- package/lib/util/memoize.d.ts +6 -0
- package/lib/util/memoize.d.ts.map +1 -1
- package/lib/util/memoize.js +23 -0
- package/lib/util/memoize.js.map +1 -1
- package/lib/util/oauth-client.d.ts +71 -0
- package/lib/util/oauth-client.d.ts.map +1 -0
- package/lib/util/oauth-client.js +188 -0
- package/lib/util/oauth-client.js.map +1 -0
- package/lib/util/poll.d.ts +33 -0
- package/lib/util/poll.d.ts.map +1 -0
- package/lib/util/poll.js +19 -0
- package/lib/util/poll.js.map +1 -0
- package/lib/vercel/project-domain.d.ts +1 -2
- package/lib/vercel/project-domain.d.ts.map +1 -1
- package/lib/vercel/project-domain.js.map +1 -1
- package/lib/vercel/project.d.ts +1 -2
- package/lib/vercel/project.d.ts.map +1 -1
- package/lib/vercel/project.js +2 -2
- package/lib/vercel/project.js.map +1 -1
- package/package.json +5 -1
- package/src/apply.ts +32 -29
- package/src/auth.ts +253 -0
- package/src/aws/bucket.ts +3 -3
- package/src/aws/control/resource.ts +4 -6
- package/src/aws/ec2/internet-gateway-attachment.ts +5 -6
- package/src/aws/ec2/internet-gateway.ts +3 -5
- package/src/aws/ec2/nat-gateway.ts +3 -5
- package/src/aws/ec2/route-table-association.ts +3 -5
- package/src/aws/ec2/route-table.ts +3 -5
- package/src/aws/ec2/route.ts +3 -3
- package/src/aws/ec2/security-group-rule.ts +3 -5
- package/src/aws/ec2/security-group.ts +3 -5
- package/src/aws/ec2/subnet.ts +3 -3
- package/src/aws/ec2/vpc.ts +3 -3
- package/src/aws/function.ts +3 -3
- package/src/aws/oidc/oidc-provider.ts +3 -5
- package/src/aws/policy-attachment.ts +2 -4
- package/src/aws/policy.ts +5 -5
- package/src/aws/queue.ts +5 -5
- package/src/aws/role.ts +3 -3
- package/src/aws/ses.ts +3 -3
- package/src/aws/ssm-parameter.ts +3 -3
- package/src/aws/table.ts +3 -3
- package/src/cloudflare/account-api-token.ts +3 -4
- package/src/cloudflare/ai-gateway.ts +3 -5
- package/src/cloudflare/api-gateway-operation.ts +3 -4
- package/src/cloudflare/api-schema.ts +25 -26
- package/src/cloudflare/api-shield.ts +3 -4
- package/src/cloudflare/api.ts +122 -57
- package/src/cloudflare/assets.ts +95 -136
- package/src/cloudflare/auth.ts +160 -95
- package/src/cloudflare/bound.ts +1 -1
- package/src/cloudflare/bucket.ts +321 -58
- package/src/cloudflare/bundle/plugin-wasm.ts +5 -5
- package/src/cloudflare/certificate-pack.ts +5 -6
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/container.ts +7 -8
- package/src/cloudflare/custom-domain.ts +3 -5
- package/src/cloudflare/d1-database.ts +33 -34
- package/src/cloudflare/dispatch-namespace.ts +5 -6
- package/src/cloudflare/dns-records.ts +5 -5
- package/src/cloudflare/email-address.ts +7 -7
- package/src/cloudflare/email-catch-all.ts +6 -6
- package/src/cloudflare/email-routing.ts +5 -5
- package/src/cloudflare/email-rule.ts +5 -5
- package/src/cloudflare/hyperdrive.ts +35 -36
- package/src/cloudflare/kv-namespace.ts +31 -32
- package/src/cloudflare/miniflare/delete.ts +1 -1
- package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +2 -7
- package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
- package/src/cloudflare/permission-groups.ts +4 -6
- package/src/cloudflare/pipeline.ts +29 -30
- package/src/cloudflare/queue-consumer.ts +5 -7
- package/src/cloudflare/queue.ts +42 -43
- package/src/cloudflare/react-router/plugin.ts +20 -0
- package/src/cloudflare/redirect-rule.ts +5 -5
- package/src/cloudflare/route.ts +5 -5
- package/src/cloudflare/ruleset.ts +3 -4
- package/src/cloudflare/secret.ts +35 -36
- package/src/cloudflare/secrets-store.ts +5 -8
- package/src/cloudflare/tunnel.ts +5 -7
- package/src/cloudflare/user.ts +12 -9
- package/src/cloudflare/vectorize-index.ts +8 -12
- package/src/cloudflare/vectorize-metadata-index.ts +6 -8
- package/src/cloudflare/website.ts +1 -1
- package/src/cloudflare/worker-assets.ts +10 -56
- package/src/cloudflare/worker-stub.ts +5 -5
- package/src/cloudflare/worker-subdomain.ts +6 -7
- package/src/cloudflare/worker.ts +91 -91
- package/src/cloudflare/zone.ts +3 -3
- package/src/context.ts +9 -7
- package/src/destroy.ts +2 -2
- package/src/dns/import-dns.ts +3 -5
- package/src/docker/container.ts +3 -6
- package/src/docker/image.ts +13 -13
- package/src/docker/network.ts +3 -4
- package/src/docker/remote-image.ts +3 -6
- package/src/docker/volume.ts +3 -4
- package/src/esbuild/bundle.ts +10 -8
- package/src/fs/copy-file.ts +3 -3
- package/src/fs/file.ts +3 -3
- package/src/fs/folder.ts +3 -3
- package/src/github/comment.ts +5 -7
- package/src/github/repository-environment.ts +3 -5
- package/src/github/repository-webhook.ts +3 -5
- package/src/github/secret.ts +3 -5
- package/src/neon/api/client.gen.ts +28 -0
- package/src/neon/api/sdk.gen.ts +2596 -0
- package/src/neon/api/types.gen.ts +8287 -0
- package/src/neon/api.ts +51 -147
- package/src/neon/branch.ts +278 -0
- package/src/neon/index.ts +1 -1
- package/src/neon/project.ts +136 -721
- package/src/neon/utils.ts +105 -0
- package/src/os/exec.ts +3 -3
- package/src/planetscale/api/client.gen.ts +28 -2882
- package/src/planetscale/api/sdk.gen.ts +3336 -0
- package/src/planetscale/api/types.gen.ts +778 -450
- package/src/planetscale/api.ts +101 -0
- package/src/planetscale/branch.ts +20 -19
- package/src/planetscale/database.ts +69 -70
- package/src/planetscale/index.ts +1 -1
- package/src/planetscale/password.ts +18 -22
- package/src/planetscale/role.ts +21 -21
- package/src/planetscale/utils.ts +20 -74
- package/src/random/random-string.ts +4 -4
- package/src/resource.ts +6 -2
- package/src/sentry/client-key.ts +3 -5
- package/src/sentry/project.ts +3 -5
- package/src/sentry/team.ts +3 -3
- package/src/state/r2-rest-state-store.ts +15 -57
- package/src/stripe/card.ts +3 -3
- package/src/stripe/coupon.ts +3 -3
- package/src/stripe/customer.ts +3 -3
- package/src/stripe/entitlements-feature.ts +3 -5
- package/src/stripe/file.ts +3 -3
- package/src/stripe/meter.ts +3 -3
- package/src/stripe/portal-configuration.ts +3 -5
- package/src/stripe/price.ts +3 -3
- package/src/stripe/product-feature.ts +3 -5
- package/src/stripe/product.ts +3 -3
- package/src/stripe/promotion-code.ts +3 -5
- package/src/stripe/shipping-rate.ts +3 -5
- package/src/stripe/tax-rate.ts +3 -3
- package/src/stripe/webhook.ts +3 -5
- package/src/test/bun.ts +1 -0
- package/src/test/options.ts +6 -0
- package/src/test/vitest.ts +1 -0
- package/src/upstash/redis.ts +1 -3
- package/src/util/api/client/client.gen.ts +268 -0
- package/src/util/api/client/index.ts +25 -0
- package/src/util/api/client/types.gen.ts +268 -0
- package/src/util/api/client/utils.gen.ts +331 -0
- package/src/util/api/core/auth.gen.ts +42 -0
- package/src/util/api/core/bodySerializer.gen.ts +92 -0
- package/src/util/api/core/params.gen.ts +153 -0
- package/src/util/api/core/pathSerializer.gen.ts +181 -0
- package/src/util/api/core/serverSentEvents.gen.ts +264 -0
- package/src/util/api/core/types.gen.ts +118 -0
- package/src/util/api/core/utils.gen.ts +143 -0
- package/src/util/http.ts +38 -11
- package/src/util/lock.ts +48 -0
- package/src/util/memoize.ts +26 -0
- package/src/util/oauth-client.ts +238 -0
- package/src/util/poll.ts +55 -0
- package/src/vercel/project-domain.ts +1 -3
- package/src/vercel/project.ts +3 -3
- package/workers/cloudflare-state-store.js +8 -5619
- package/workers/dofs-state-store.js +2 -802
- package/workers/remote-binding-proxy.js +3 -39
- package/workers/remote-binding-proxy.ts +126 -35
- package/workers/tunnel-proxy.js +6 -73
- package/lib/cloudflare/asset-manifest.d.ts +0 -15
- package/lib/cloudflare/asset-manifest.d.ts.map +0 -1
- package/lib/cloudflare/asset-manifest.js +0 -1
- package/lib/cloudflare/asset-manifest.js.map +0 -1
- package/lib/cloudflare/oauth.d.ts +0 -22
- package/lib/cloudflare/oauth.d.ts.map +0 -1
- package/lib/cloudflare/oauth.js +0 -214
- package/lib/cloudflare/oauth.js.map +0 -1
- package/lib/neon/api-error.d.ts +0 -31
- package/lib/neon/api-error.d.ts.map +0 -1
- package/lib/neon/api-error.js +0 -73
- package/lib/neon/api-error.js.map +0 -1
- package/lib/planetscale/api/index.d.ts +0 -3
- package/lib/planetscale/api/index.d.ts.map +0 -1
- package/lib/planetscale/api/index.js +0 -4
- package/lib/planetscale/api/index.js.map +0 -1
- package/lib/util/neverthrow.d.ts +0 -16
- package/lib/util/neverthrow.d.ts.map +0 -1
- package/lib/util/neverthrow.js +0 -46
- package/lib/util/neverthrow.js.map +0 -1
- package/src/cloudflare/asset-manifest.ts +0 -16
- package/src/cloudflare/oauth.ts +0 -301
- package/src/neon/api-error.ts +0 -81
- package/src/planetscale/api/index.ts +0 -4
- package/src/util/neverthrow.ts +0 -64
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
// workers/remote-binding-proxy.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const targetBinding = request.headers.get("MF-Binding");
|
|
5
|
-
if (targetBinding) {
|
|
6
|
-
const originalHeaders = new Headers();
|
|
7
|
-
for (const [name, value] of request.headers) {
|
|
8
|
-
if (name.startsWith("mf-header-")) {
|
|
9
|
-
originalHeaders.set(name.slice("mf-header-".length), value);
|
|
10
|
-
} else if (name === "upgrade") {
|
|
11
|
-
originalHeaders.set(name, value);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
let fetcher = env[targetBinding];
|
|
15
|
-
const dispatchNamespaceOptions = originalHeaders.get(
|
|
16
|
-
"MF-Dispatch-Namespace-Options"
|
|
17
|
-
);
|
|
18
|
-
if (dispatchNamespaceOptions) {
|
|
19
|
-
const { name, args, options } = JSON.parse(dispatchNamespaceOptions);
|
|
20
|
-
fetcher = env[targetBinding].get(
|
|
21
|
-
name,
|
|
22
|
-
args,
|
|
23
|
-
options
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
return fetcher.fetch(
|
|
27
|
-
request.headers.get("MF-URL"),
|
|
28
|
-
new Request(request, {
|
|
29
|
-
redirect: "manual",
|
|
30
|
-
headers: originalHeaders
|
|
31
|
-
})
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
return new Response("Provide a binding", { status: 400 });
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
export {
|
|
38
|
-
remote_binding_proxy_default as default
|
|
39
|
-
};
|
|
1
|
+
Symbol.dispose||(Symbol.dispose=Symbol.for("dispose"));Symbol.asyncDispose||(Symbol.asyncDispose=Symbol.for("asyncDispose"));var W=navigator.userAgent==="Cloudflare-Workers"?"cloudflare:workers":null,b;W&&(b=await import(W));var D=b?b.RpcTarget:class{};function j(t){switch(typeof t){case"boolean":case"number":case"string":return"primitive";case"undefined":return"undefined";case"object":case"function":break;case"bigint":return"bigint";default:return"unsupported"}if(t===null)return"primitive";let e=Object.getPrototypeOf(t);switch(e){case Object.prototype:return"object";case Function.prototype:return"function";case Array.prototype:return"array";case Date.prototype:return"date";case Uint8Array.prototype:return"bytes";case w.prototype:return"stub";case c.prototype:return"rpc-promise";default:if(b){if(e==b.RpcStub.prototype||t instanceof b.ServiceStub)return"rpc-target";if(e==b.RpcPromise.prototype||e==b.RpcProperty.prototype)return"rpc-thenable"}return t instanceof D?"rpc-target":t instanceof Error?"error":"unsupported"}}function z(){throw new Error("RPC map() implementation was not loaded.")}var M={applyMap:z,sendMap:z},x=class{},y=class extends x{constructor(t){super(),this.error=t}call(t,e){return this}map(t,e,r){return this}get(t){return this}dup(){return this}pull(){return Promise.reject(this.error)}ignoreUnhandledRejections(){}dispose(){}onBroken(t){try{t(this.error)}catch(e){Promise.resolve(e)}}},_=new y(new Error("Attempted to use RPC stub after it has been disposed.")),O=(t,e,r)=>t.call(e,r);function ee(t,e){let r=O;O=t;try{return e()}finally{O=r}}var f=Symbol("realStub"),te={apply(t,e,r){let s=t.raw;return new c(O(s.hook,s.pathIfPromise||[],m.fromAppParams(r)),[])},get(t,e,r){let s=t.raw;return e===f?s:e in c.prototype?s[e]:typeof e=="string"?new c(s.hook,s.pathIfPromise?[...s.pathIfPromise,e]:[e]):e===Symbol.dispose&&(!s.pathIfPromise||s.pathIfPromise.length==0)?()=>{s.hook.dispose(),s.hook=_}:void 0},has(t,e){let r=t.raw;return e===f?!0:e in c.prototype?e in r:typeof e=="string"?!0:e===Symbol.dispose&&(!r.pathIfPromise||r.pathIfPromise.length==0)},construct(t,e){throw new Error("An RPC stub cannot be used as a constructor.")},defineProperty(t,e,r){throw new Error("Can't define properties on RPC stubs.")},deleteProperty(t,e){throw new Error("Can't delete properties on RPC stubs.")},getOwnPropertyDescriptor(t,e){},getPrototypeOf(t){return Object.getPrototypeOf(t.raw)},isExtensible(t){return!1},ownKeys(t){return[]},preventExtensions(t){return!0},set(t,e,r,s){throw new Error("Can't assign properties on RPC stubs.")},setPrototypeOf(t,e){throw new Error("Can't override prototype of RPC stubs.")}},w=class L extends D{constructor(e,r){if(super(),!(e instanceof x)){let i=e;if(i instanceof D||i instanceof Function?e=I.create(i,void 0):e=new g(m.fromAppReturn(i)),r)throw new TypeError("RpcStub constructor expected one argument, received two.")}this.hook=e,this.pathIfPromise=r;let s=()=>{};return s.raw=this,new Proxy(s,te)}hook;pathIfPromise;dup(){let e=this[f];return e.pathIfPromise?new L(e.hook.get(e.pathIfPromise)):new L(e.hook.dup())}onRpcBroken(e){this[f].hook.onBroken(e)}map(e){let{hook:r,pathIfPromise:s}=this[f];return M.sendMap(r,s||[],e)}},c=class extends w{constructor(t,e){super(t,e)}then(t,e){return N(this).then(...arguments)}catch(t){return N(this).catch(...arguments)}finally(t){return N(this).finally(...arguments)}};function re(t){let{hook:e,pathIfPromise:r}=t[f];return r&&r.length>0?e.get(r):e}function se(t){let{hook:e,pathIfPromise:r}=t[f];return r?e.get(r):e.dup()}function $(t){let{hook:e,pathIfPromise:r}=t[f];if(!(r&&r.length>0))return e}function H(t){return t[f].hook}function A(t){return t[f]}async function N(t){let{hook:e,pathIfPromise:r}=t[f];return r.length>0&&(e=e.get(r)),(await e.pull()).deliverResolve()}var m=class d{constructor(e,r,s,i){this.value=e,this.source=r,this.stubs=s,this.promises=i}static fromAppParams(e){return new d(e,"params")}static fromAppReturn(e){return new d(e,"return")}static fromArray(e){let r=[],s=[],i=[];for(let o of e){o.ensureDeepCopied();for(let n of o.stubs)r.push(n);for(let n of o.promises)n.parent===o&&(n={parent:i,property:i.length,promise:n.promise}),s.push(n);i.push(o.value)}return new d(i,"owned",r,s)}static forEvaluate(e,r){return new d(null,"owned",e,r)}static deepCopyFrom(e,r,s){let i=new d(null,"owned",[],[]);return i.value=i.deepCopy(e,r,"value",i,!0,s),i}rpcTargets;getHookForRpcTarget(e,r,s=!0){if(this.source==="params")return I.create(e,r);if(this.source==="return"){let i=this.rpcTargets?.get(e);return i?s?i.dup():(this.rpcTargets?.delete(e),i):(i=I.create(e,r),s?(this.rpcTargets||(this.rpcTargets=new Map),this.rpcTargets.set(e,i),i.dup()):i)}else throw new Error("owned payload shouldn't contain raw RpcTargets")}deepCopy(e,r,s,i,o,n){switch(j(e)){case"unsupported":return e;case"primitive":case"bigint":case"date":case"bytes":case"error":case"undefined":return e;case"array":{let a=e,p=a.length,h=new Array(p);for(let u=0;u<p;u++)h[u]=this.deepCopy(a[u],a,u,h,o,n);return h}case"object":{let a={},p=e;for(let h in p)a[h]=this.deepCopy(p[h],p,h,a,o,n);return a}case"stub":case"rpc-promise":{let a=e,p;if(o?p=se(a):p=re(a),a instanceof c){let h=new c(p,[]);return this.promises.push({parent:i,property:s,promise:h}),h}else{let h=new w(p);return this.stubs.push(h),h}}case"function":case"rpc-target":{let a=e,p;return n?p=new w(n.getHookForRpcTarget(a,r,o)):p=new w(I.create(a,r)),this.stubs.push(p),p}case"rpc-thenable":{let a=e,p;return n?p=new c(n.getHookForRpcTarget(a,r,o),[]):p=new c(I.create(a,r),[]),this.promises.push({parent:i,property:s,promise:p}),p}default:throw new Error("unreachable")}}ensureDeepCopied(){if(this.source!=="owned"){let e=this.source==="params";this.stubs=[],this.promises=[];try{this.value=this.deepCopy(this.value,void 0,"value",this,e,this)}catch(r){throw this.stubs=void 0,this.promises=void 0,r}if(this.source="owned",this.rpcTargets&&this.rpcTargets.size>0)throw new Error("Not all rpcTargets were accounted for in deep-copy?");this.rpcTargets=void 0}}deliverTo(e,r,s){if(this.ensureDeepCopied(),this.value instanceof c)d.deliverRpcPromiseTo(this.value,e,r,s);else{e[r]=this.value;for(let i of this.promises)d.deliverRpcPromiseTo(i.promise,i.parent,i.property,s)}}static deliverRpcPromiseTo(e,r,s,i){let o=$(e);if(!o)throw new Error("property promises should have been resolved earlier");let n=o.pull();n instanceof d?n.deliverTo(r,s,i):i.push(n.then(l=>{let a=[];if(l.deliverTo(r,s,a),a.length>0)return Promise.all(a)}))}async deliverCall(e,r){try{let s=[];this.deliverTo(this,"value",s),s.length>0&&await Promise.all(s);let i=Function.prototype.apply.call(e,r,this.value);return i instanceof c?d.fromAppReturn(i):d.fromAppReturn(await i)}finally{this.dispose()}}async deliverResolve(){try{let e=[];this.deliverTo(this,"value",e),e.length>0&&await Promise.all(e);let r=this.value;return r instanceof Object&&(Symbol.dispose in r||Object.defineProperty(r,Symbol.dispose,{value:()=>this.dispose(),writable:!0,enumerable:!1,configurable:!0})),r}catch(e){throw this.dispose(),e}}dispose(){if(this.source==="owned")this.stubs.forEach(e=>e[Symbol.dispose]()),this.promises.forEach(e=>e.promise[Symbol.dispose]());else if(this.source==="return"&&(this.disposeImpl(this.value,void 0),this.rpcTargets&&this.rpcTargets.size>0))throw new Error("Not all rpcTargets were accounted for in disposeImpl()?");this.source="owned",this.stubs=[],this.promises=[]}disposeImpl(e,r){switch(j(e)){case"unsupported":case"primitive":case"bigint":case"bytes":case"date":case"error":case"undefined":return;case"array":{let i=e,o=i.length;for(let n=0;n<o;n++)this.disposeImpl(i[n],i);return}case"object":{let i=e;for(let o in i)this.disposeImpl(i[o],i);return}case"stub":case"rpc-promise":{let o=$(e);o&&o.dispose();return}case"function":case"rpc-target":{let i=e,o=this.rpcTargets?.get(i);o?(o.dispose(),this.rpcTargets.delete(i)):Q(i);return}case"rpc-thenable":return;default:return}}ignoreUnhandledRejections(){this.stubs?(this.stubs.forEach(e=>{H(e).ignoreUnhandledRejections()}),this.promises.forEach(e=>H(e.promise).ignoreUnhandledRejections())):this.ignoreUnhandledRejectionsImpl(this.value)}ignoreUnhandledRejectionsImpl(e){switch(j(e)){case"unsupported":case"primitive":case"bigint":case"bytes":case"date":case"error":case"undefined":case"function":case"rpc-target":return;case"array":{let s=e,i=s.length;for(let o=0;o<i;o++)this.ignoreUnhandledRejectionsImpl(s[o]);return}case"object":{let s=e;for(let i in s)this.ignoreUnhandledRejectionsImpl(s[i]);return}case"stub":case"rpc-promise":H(e).ignoreUnhandledRejections();return;case"rpc-thenable":e.then(s=>{},s=>{});return;default:return}}};function U(t,e,r,s){for(let i=0;i<r.length;i++){e=t;let o=r[i];if(o in Object.prototype){t=void 0;continue}switch(j(t)){case"object":case"function":Object.hasOwn(t,o)?t=t[o]:t=void 0;break;case"array":Number.isInteger(o)&&o>=0?t=t[o]:t=void 0;break;case"rpc-target":case"rpc-thenable":{Object.hasOwn(t,o)?t=void 0:t=t[o],s=null;break}case"stub":case"rpc-promise":{let{hook:l,pathIfPromise:a}=A(t);return{hook:l,remainingPath:a?a.concat(r.slice(i)):r.slice(i)}}case"primitive":case"bigint":case"bytes":case"date":case"error":t=void 0;break;case"undefined":t=t[o];break;case"unsupported":{if(i===0)throw new TypeError("RPC stub points at a non-serializable type.");{let l=r.slice(0,i).join("."),a=r.slice(0,i).join(".");throw new TypeError(`'${l}' is not a serializable type, so property ${a} cannot be accessed.`)}}default:throw new TypeError("unreachable")}}if(t instanceof c){let{hook:i,pathIfPromise:o}=A(t);return{hook:i,remainingPath:o||[]}}return{value:t,parent:e,owner:s}}var V=class extends x{call(t,e){try{let{value:r,owner:s}=this.getValue(),i=U(r,void 0,t,s);if(i.hook)return i.hook.call(i.remainingPath,e);if(typeof i.value!="function")throw new TypeError(`'${t.join(".")}' is not a function.`);let o=e.deliverCall(i.value,i.parent);return new ie(o.then(n=>new g(n)))}catch(r){return new y(r)}}map(t,e,r){try{let s;try{let{value:i,owner:o}=this.getValue();s=U(i,void 0,t,o)}catch(i){for(let o of e)o.dispose();throw i}return s.hook?s.hook.map(s.remainingPath,e,r):M.applyMap(s.value,s.parent,s.owner,e,r)}catch(s){return new y(s)}}get(t){try{let{value:e,owner:r}=this.getValue();if(t.length===0&&r===null)throw new Error("Can't dup an RpcTarget stub as a promise.");let s=U(e,void 0,t,r);return s.hook?s.hook.get(s.remainingPath):new g(m.deepCopyFrom(s.value,s.parent,s.owner))}catch(e){return new y(e)}}},g=class G extends V{constructor(e){super(),this.payload=e}payload;getPayload(){if(this.payload)return this.payload;throw new Error("Attempted to use an RPC StubHook after it was disposed.")}getValue(){let e=this.getPayload();return{value:e.value,owner:e}}dup(){let e=this.getPayload();return new G(m.deepCopyFrom(e.value,void 0,e))}pull(){return this.getPayload()}ignoreUnhandledRejections(){this.payload&&this.payload.ignoreUnhandledRejections()}dispose(){this.payload&&(this.payload.dispose(),this.payload=void 0)}onBroken(e){this.payload&&this.payload.value instanceof w&&this.payload.value.onRpcBroken(e)}};function Q(t){if(Symbol.dispose in t)try{t[Symbol.dispose]()}catch(e){Promise.reject(e)}}var I=class F extends V{static create(e,r){return typeof e!="function"&&(r=void 0),new F(e,r)}constructor(e,r,s){super(),this.target=e,this.parent=r,s?s.refcount&&(this.refcount=s.refcount,++this.refcount.count):Symbol.dispose in e&&(this.refcount={count:1})}target;parent;refcount;getTarget(){if(this.target)return this.target;throw new Error("Attempted to use an RPC StubHook after it was disposed.")}getValue(){return{value:this.getTarget(),owner:null}}dup(){return new F(this.getTarget(),this.parent,this)}pull(){let e=this.getTarget();return"then"in e?Promise.resolve(e).then(r=>m.fromAppReturn(r)):Promise.reject(new Error("Tried to resolve a non-promise stub."))}ignoreUnhandledRejections(){}dispose(){this.target&&(this.refcount&&--this.refcount.count==0&&Q(this.target),this.target=void 0)}onBroken(e){}},ie=class B extends x{promise;resolution;constructor(e){super(),this.promise=e.then(r=>(this.resolution=r,r))}call(e,r){return r.ensureDeepCopied(),new B(this.promise.then(s=>s.call(e,r)))}map(e,r,s){return new B(this.promise.then(i=>i.map(e,r,s),i=>{for(let o of r)o.dispose();throw i}))}get(e){return new B(this.promise.then(r=>r.get(e)))}dup(){return this.resolution?this.resolution.dup():new B(this.promise.then(e=>e.dup()))}pull(){return this.resolution?this.resolution.pull():this.promise.then(e=>e.pull())}ignoreUnhandledRejections(){this.resolution?this.resolution.ignoreUnhandledRejections():this.promise.then(e=>{e.ignoreUnhandledRejections()},e=>{})}dispose(){this.resolution?this.resolution.dispose():this.promise.then(e=>{e.dispose()},e=>{})}onBroken(e){this.resolution?this.resolution.onBroken(e):this.promise.then(r=>{r.onBroken(e)},e)}},oe=class{exportStub(t){throw new Error("Cannot serialize RPC stubs without an RPC session.")}exportPromise(t){throw new Error("Cannot serialize RPC stubs without an RPC session.")}getImport(t){}unexport(t){}onSendError(t){}},ne=new oe,ae={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError},R=class K{constructor(e,r){this.exporter=e,this.source=r}static devaluate(e,r,s=ne,i){let o=new K(s,i);try{return o.devaluateImpl(e,r,0)}catch(n){if(o.exports)try{s.unexport(o.exports)}catch{}throw n}}exports;devaluateImpl(e,r,s){if(s>=64)throw new Error("Serialization exceeded maximum allowed depth. (Does the message contain cycles?)");switch(j(e)){case"unsupported":{let o;try{o=`Cannot serialize value: ${e}`}catch{o="Cannot serialize value: (couldn't stringify value)"}throw new TypeError(o)}case"primitive":return e;case"object":{let o=e,n={};for(let l in o)n[l]=this.devaluateImpl(o[l],o,s+1);return n}case"array":{let o=e,n=o.length,l=new Array(n);for(let a=0;a<n;a++)l[a]=this.devaluateImpl(o[a],o,s+1);return[l]}case"bigint":return["bigint",e.toString()];case"date":return["date",e.getTime()];case"bytes":{let o=e;return o.toBase64?["bytes",o.toBase64({omitPadding:!0})]:["bytes",btoa(String.fromCharCode.apply(null,o).replace(/=*$/,""))]}case"error":{let o=e,n=this.exporter.onSendError(o);n&&(o=n);let l=["error",o.name,o.message];return n&&n.stack&&l.push(n.stack),l}case"undefined":return["undefined"];case"stub":case"rpc-promise":{if(!this.source)throw new Error("Can't serialize RPC stubs in this context.");let{hook:o,pathIfPromise:n}=A(e),l=this.exporter.getImport(o);return l!==void 0?n?n.length>0?["pipeline",l,n]:["pipeline",l]:["import",l]:(n?o=o.get(n):o=o.dup(),this.devaluateHook(n?"promise":"export",o))}case"function":case"rpc-target":{if(!this.source)throw new Error("Can't serialize RPC stubs in this context.");let o=this.source.getHookForRpcTarget(e,r);return this.devaluateHook("export",o)}case"rpc-thenable":{if(!this.source)throw new Error("Can't serialize RPC stubs in this context.");let o=this.source.getHookForRpcTarget(e,r);return this.devaluateHook("promise",o)}default:throw new Error("unreachable")}}devaluateHook(e,r){this.exports||(this.exports=[]);let s=e==="promise"?this.exporter.exportPromise(r):this.exporter.exportStub(r);return this.exports.push(s),[e,s]}};var le=class{importStub(t){throw new Error("Cannot deserialize RPC stubs without an RPC session.")}importPromise(t){throw new Error("Cannot deserialize RPC stubs without an RPC session.")}getExport(t){}},ke=new le,v=class X{constructor(e){this.importer=e}stubs=[];promises=[];evaluate(e){let r=m.forEvaluate(this.stubs,this.promises);try{return r.value=this.evaluateImpl(e,r,"value"),r}catch(s){throw r.dispose(),s}}evaluateCopy(e){return this.evaluate(structuredClone(e))}evaluateImpl(e,r,s){if(e instanceof Array){if(e.length==1&&e[0]instanceof Array){let i=e[0];for(let o=0;o<i.length;o++)i[o]=this.evaluateImpl(i[o],i,o);return i}else switch(e[0]){case"bigint":if(typeof e[1]=="string")return BigInt(e[1]);break;case"date":if(typeof e[1]=="number")return new Date(e[1]);break;case"bytes":{let i=Uint8Array;if(typeof e[1]=="string"){if(i.fromBase64)return i.fromBase64(e[1]);{let o=atob(e[1]),n=o.length,l=new Uint8Array(n);for(let a=0;a<n;a++)l[a]=o.charCodeAt(a);return l}}break}case"error":if(e.length>=3&&typeof e[1]=="string"&&typeof e[2]=="string"){let i=ae[e[1]]||Error,o=new i(e[2]);return typeof e[3]=="string"&&(o.stack=e[3]),o}break;case"undefined":if(e.length===1)return;break;case"import":case"pipeline":{if(e.length<2||e.length>4||typeof e[1]!="number")break;let i=this.importer.getExport(e[1]);if(!i)throw new Error(`no such entry on exports table: ${e[1]}`);let o=e[0]=="pipeline",n=h=>{if(o){let u=new c(h,[]);return this.promises.push({promise:u,parent:r,property:s}),u}else{let u=new c(h,[]);return this.stubs.push(u),u}};if(e.length==2)return n(o?i.get([]):i.dup());let l=e[2];if(!(l instanceof Array)||!l.every(h=>typeof h=="string"||typeof h=="number"))break;if(e.length==3)return n(i.get(l));let a=e[3];if(!(a instanceof Array))break;return a=new X(this.importer).evaluate([a]),n(i.call(l,a))}case"remap":{if(e.length!==5||typeof e[1]!="number"||!(e[2]instanceof Array)||!(e[3]instanceof Array)||!(e[4]instanceof Array))break;let i=this.importer.getExport(e[1]);if(!i)throw new Error(`no such entry on exports table: ${e[1]}`);let o=e[2];if(!o.every(h=>typeof h=="string"||typeof h=="number"))break;let n=e[3].map(h=>{if(!(h instanceof Array)||h.length!==2||h[0]!=="import"&&h[0]!=="export"||typeof h[1]!="number")throw new TypeError(`unknown map capture: ${JSON.stringify(h)}`);if(h[0]==="export")return this.importer.importStub(h[1]);{let u=this.importer.getExport(h[1]);if(!u)throw new Error(`no such entry on exports table: ${h[1]}`);return u.dup()}}),l=e[4],a=i.map(o,n,l),p=new c(a,[]);return this.promises.push({promise:p,parent:r,property:s}),p}case"export":case"promise":if(typeof e[1]=="number")if(e[0]=="promise"){let i=this.importer.importPromise(e[1]),o=new c(i,[]);return this.promises.push({parent:r,property:s,promise:o}),o}else{let i=this.importer.importStub(e[1]),o=new w(i);return this.stubs.push(o),o}break}throw new TypeError(`unknown special value: ${JSON.stringify(e)}`)}else if(e instanceof Object){let i=e;for(let o in i)o in Object.prototype||o==="toJSON"?(this.evaluateImpl(i[o],i,o),delete i[o]):i[o]=this.evaluateImpl(i[o],i,o);return i}else return e}};var S=class{constructor(t,e,r){this.session=t,this.importId=e,r&&(this.activePull=Promise.withResolvers())}localRefcount=0;remoteRefcount=1;activePull;resolution;onBrokenRegistrations;resolve(t){if(this.localRefcount==0){t.dispose();return}if(this.resolution=t,this.sendRelease(),this.onBrokenRegistrations){for(let e of this.onBrokenRegistrations){let r=this.session.onBrokenCallbacks[e],s=this.session.onBrokenCallbacks.length;t.onBroken(r),this.session.onBrokenCallbacks[s]===r?delete this.session.onBrokenCallbacks[s]:delete this.session.onBrokenCallbacks[e]}this.onBrokenRegistrations=void 0}this.activePull&&(this.activePull.resolve(),this.activePull=void 0)}async awaitResolution(){return this.activePull||(this.session.sendPull(this.importId),this.activePull=Promise.withResolvers()),await this.activePull.promise,this.resolution.pull()}dispose(){this.resolution?this.resolution.dispose():(this.abort(new Error("RPC was canceled because the RpcPromise was disposed.")),this.sendRelease())}abort(t){this.resolution||(this.resolution=new y(t),this.activePull&&(this.activePull.reject(t),this.activePull=void 0),this.onBrokenRegistrations=void 0)}onBroken(t){if(this.resolution)this.resolution.onBroken(t);else{let e=this.session.onBrokenCallbacks.length;this.session.onBrokenCallbacks.push(t),this.onBrokenRegistrations||(this.onBrokenRegistrations=[]),this.onBrokenRegistrations.push(e)}}sendRelease(){this.remoteRefcount>0&&(this.session.sendRelease(this.importId,this.remoteRefcount),this.remoteRefcount=0)}},E=class Y extends x{constructor(e,r){super(),this.isPromise=e,++r.localRefcount,this.entry=r}entry;collectPath(e){return this}getEntry(){if(this.entry)return this.entry;throw new Error("This RpcImportHook was already disposed.")}call(e,r){let s=this.getEntry();return s.resolution?s.resolution.call(e,r):s.session.sendCall(s.importId,e,r)}map(e,r,s){let i;try{i=this.getEntry()}catch(o){for(let n of r)n.dispose();throw o}return i.resolution?i.resolution.map(e,r,s):i.session.sendMap(i.importId,e,r,s)}get(e){let r=this.getEntry();return r.resolution?r.resolution.get(e):r.session.sendCall(r.importId,e)}dup(){return new Y(!1,this.getEntry())}pull(){let e=this.getEntry();if(!this.isPromise)throw new Error("Can't pull this hook because it's not a promise hook.");return e.resolution?e.resolution.pull():e.awaitResolution()}ignoreUnhandledRejections(){}dispose(){let e=this.entry;this.entry=void 0,e&&--e.localRefcount===0&&e.dispose()}onBroken(e){this.entry&&this.entry.onBroken(e)}},he=class extends E{session;constructor(t){super(!1,t),this.session=t.session}dispose(){if(this.session){let t=this.session;this.session=void 0,t.shutdown()}}},pe=class{constructor(t,e,r){this.transport=t,this.options=r,this.exports.push({hook:e,refcount:1}),this.imports.push(new S(this,0,!1));let s,i=new Promise((o,n)=>{s=n});this.cancelReadLoop=s,this.readLoop(i).catch(o=>this.abort(o))}exports=[];reverseExports=new Map;imports=[];abortReason;cancelReadLoop;nextExportId=-1;onBatchDone;pullCount=0;onBrokenCallbacks=[];getMainImport(){return new he(this.imports[0])}shutdown(){this.abort(new Error("RPC session was shut down by disposing the main stub"),!1)}exportStub(t){if(this.abortReason)throw this.abortReason;let e=this.reverseExports.get(t);if(e!==void 0)return++this.exports[e].refcount,e;{let r=this.nextExportId--;return this.exports[r]={hook:t,refcount:1},this.reverseExports.set(t,r),r}}exportPromise(t){if(this.abortReason)throw this.abortReason;let e=this.nextExportId--;return this.exports[e]={hook:t,refcount:1},this.reverseExports.set(t,e),this.ensureResolvingExport(e),e}unexport(t){for(let e of t)this.releaseExport(e,1)}releaseExport(t,e){let r=this.exports[t];if(!r)throw new Error(`no such export ID: ${t}`);if(r.refcount<e)throw new Error(`refcount would go negative: ${r.refcount} < ${e}`);r.refcount-=e,r.refcount===0&&(delete this.exports[t],this.reverseExports.delete(r.hook),r.hook.dispose())}onSendError(t){if(this.options.onSendError)return this.options.onSendError(t)}ensureResolvingExport(t){let e=this.exports[t];if(!e)throw new Error(`no such export ID: ${t}`);if(!e.pull){let r=async()=>{let s=e.hook;for(;;){let i=await s.pull();if(i.value instanceof w){let{hook:o,pathIfPromise:n}=A(i.value);if(n&&n.length==0&&this.getImport(s)===void 0){s=o;continue}}return i}};++this.pullCount,e.pull=r().then(s=>{let i=R.devaluate(s.value,void 0,this,s);this.send(["resolve",t,i])},s=>{this.send(["reject",t,R.devaluate(s,void 0,this)])}).catch(s=>{try{this.send(["reject",t,R.devaluate(s,void 0,this)])}catch(i){this.abort(i)}}).finally(()=>{--this.pullCount===0&&this.onBatchDone&&this.onBatchDone.resolve()})}}getImport(t){if(t instanceof E&&t.entry&&t.entry.session===this)return t.entry.importId}importStub(t){if(this.abortReason)throw this.abortReason;let e=this.imports[t];return e||(e=new S(this,t,!1),this.imports[t]=e),new E(!1,e)}importPromise(t){if(this.abortReason)throw this.abortReason;if(this.imports[t])return new y(new Error("Bug in RPC system: The peer sent a promise reusing an existing export ID."));let e=new S(this,t,!0);return this.imports[t]=e,new E(!0,e)}getExport(t){return this.exports[t]?.hook}send(t){if(this.abortReason!==void 0)return;let e;try{e=JSON.stringify(t)}catch(r){try{this.abort(r)}catch{}throw r}this.transport.send(e).catch(r=>this.abort(r,!1))}sendCall(t,e,r){if(this.abortReason)throw this.abortReason;let s=["pipeline",t,e];if(r){let o=R.devaluate(r.value,void 0,this,r);s.push(o[0])}this.send(["push",s]);let i=new S(this,this.imports.length,!1);return this.imports.push(i),new E(!0,i)}sendMap(t,e,r,s){if(this.abortReason){for(let l of r)l.dispose();throw this.abortReason}let i=r.map(l=>{let a=this.getImport(l);return a!==void 0?["import",a]:["export",this.exportStub(l)]}),o=["remap",t,e,i,s];this.send(["push",o]);let n=new S(this,this.imports.length,!1);return this.imports.push(n),new E(!0,n)}sendPull(t){if(this.abortReason)throw this.abortReason;this.send(["pull",t])}sendRelease(t,e){this.abortReason||(this.send(["release",t,e]),delete this.imports[t])}abort(t,e=!0){if(this.abortReason===void 0){if(this.cancelReadLoop(t),e)try{this.transport.send(JSON.stringify(["abort",R.devaluate(t,void 0,this)])).catch(r=>{})}catch{}if(t===void 0&&(t="undefined"),this.abortReason=t,this.onBatchDone&&this.onBatchDone.reject(t),this.transport.abort)try{this.transport.abort(t)}catch(r){Promise.resolve(r)}for(let r in this.onBrokenCallbacks)try{this.onBrokenCallbacks[r](t)}catch(s){Promise.resolve(s)}for(let r in this.imports)this.imports[r].abort(t);for(let r in this.exports)this.exports[r].hook.dispose()}}async readLoop(t){for(;!this.abortReason;){let e=JSON.parse(await Promise.race([this.transport.receive(),t]));if(this.abortReason)break;if(e instanceof Array)switch(e[0]){case"push":if(e.length>1){let r=new v(this).evaluate(e[1]),s=new g(r);s.ignoreUnhandledRejections(),this.exports.push({hook:s,refcount:1});continue}break;case"pull":{let r=e[1];if(typeof r=="number"){this.ensureResolvingExport(r);continue}break}case"resolve":case"reject":{let r=e[1];if(typeof r=="number"&&e.length>2){let s=this.imports[r];if(s)if(e[0]=="resolve")s.resolve(new g(new v(this).evaluate(e[2])));else{let i=new v(this).evaluate(e[2]);i.dispose(),s.resolve(new y(i.value))}else e[0]=="resolve"&&new v(this).evaluate(e[2]).dispose();continue}break}case"release":{let r=e[1],s=e[2];if(typeof r=="number"&&typeof s=="number"){this.releaseExport(r,s);continue}break}case"abort":{let r=new v(this).evaluate(e[1]);r.dispose(),this.abort(r,!1);break}}throw new Error(`bad RPC message: ${JSON.stringify(e)}`)}}async drain(){if(this.abortReason)throw this.abortReason;if(this.pullCount>0){let{promise:t,resolve:e,reject:r}=Promise.withResolvers();this.onBatchDone={resolve:e,reject:r},await t}}getStats(){let t={imports:0,exports:0};for(let e in this.imports)++t.imports;for(let e in this.exports)++t.exports;return t}},Z=class{#e;#t;constructor(t,e,r={}){let s;e?s=new g(m.fromAppReturn(e)):s=new y(new Error("This connection has no main object.")),this.#e=new pe(t,s,r),this.#t=new w(this.#e.getMainImport())}getRemoteMain(){return this.#t}getStats(){return this.#e.getStats()}drain(){return this.#e.drain()}};function ce(t,e,r){typeof t=="string"&&(t=new WebSocket(t));let s=new de(t);return new Z(s,e,r).getRemoteMain()}function ue(t,e,r){if(t.headers.get("Upgrade")?.toLowerCase()!=="websocket")return new Response("This endpoint only accepts WebSocket requests.",{status:400});let s=new WebSocketPair,i=s[0];return i.accept(),ce(i,e,r),new Response(null,{status:101,webSocket:s[1]})}var de=class{constructor(t){this.#e=t,t.readyState===WebSocket.CONNECTING&&(this.#t=[],t.addEventListener("open",e=>{try{for(let r of this.#t)t.send(r)}catch(r){this.#o(r)}this.#t=void 0})),t.addEventListener("message",e=>{this.#s||(typeof e.data=="string"?this.#r?(this.#r(e.data),this.#r=void 0,this.#i=void 0):this.#n.push(e.data):this.#o(new TypeError("Received non-string message from WebSocket.")))}),t.addEventListener("close",e=>{this.#o(new Error(`Peer closed WebSocket: ${e.code} ${e.reason}`))}),t.addEventListener("error",e=>{this.#o(new Error("WebSocket connection failed."))})}#e;#t;#r;#i;#n=[];#s;async send(t){this.#t===void 0?this.#e.send(t):this.#t.push(t)}async receive(){if(this.#n.length>0)return this.#n.shift();if(this.#s)throw this.#s;return new Promise((t,e)=>{this.#r=t,this.#i=e})}abort(t){let e;t instanceof Error?e=t.message:e=`${t}`,this.#e.close(3e3,e),this.#s||(this.#s=t)}#o(t){this.#s||(this.#s=t,this.#i&&(this.#i(t),this.#r=void 0,this.#i=void 0))}};var fe=class{constructor(t){this.#t=t}#e=[];#t;#r=Promise.withResolvers();async send(t){this.#e.push(t)}async receive(){let t=this.#t.shift();return t!==void 0?t:(this.#r.resolve(),new Promise(e=>{}))}abort(t){this.#r.reject(t)}whenAllReceived(){return this.#r.promise}getResponseBody(){return this.#e.join(`
|
|
2
|
+
`)}};async function me(t,e,r){if(t.method!=="POST")return new Response("This endpoint only accepts POST requests.",{status:405});let s=await t.text(),i=s===""?[]:s.split(`
|
|
3
|
+
`),o=new fe(i),n=new Z(o,e,r);return await o.whenAllReceived(),await n.drain(),new Response(o.getResponseBody())}var k,we=class{context;captureMap=new Map;instructions=[];constructor(t,e){k?this.context={parent:k,captures:[],subject:k.capture(t),path:e}:this.context={parent:void 0,captures:[],subject:t,path:e},k=this}unregister(){k=this.context.parent}makeInput(){return new T(this,0)}makeOutput(t){let e;try{e=R.devaluate(t.value,void 0,this,t)}finally{t.dispose()}return this.instructions.push(e),this.context.parent?(this.context.parent.instructions.push(["remap",this.context.subject,this.context.path,this.context.captures.map(r=>["import",r]),this.instructions]),new T(this.context.parent,this.context.parent.instructions.length)):this.context.subject.map(this.context.path,this.context.captures,this.instructions)}pushCall(t,e,r){let s=R.devaluate(r.value,void 0,this,r);s=s[0];let i=this.capture(t.dup());return this.instructions.push(["pipeline",i,e,s]),new T(this,this.instructions.length)}pushGet(t,e){let r=this.capture(t.dup());return this.instructions.push(["pipeline",r,e]),new T(this,this.instructions.length)}capture(t){if(t instanceof T&&t.mapper===this)return t.idx;let e=this.captureMap.get(t);if(e===void 0){if(this.context.parent){let r=this.context.parent.capture(t);this.context.captures.push(r)}else this.context.captures.push(t);e=-this.context.captures.length,this.captureMap.set(t,e)}return e}exportStub(t){throw new Error("Can't construct an RpcTarget or RPC callback inside a mapper function. Try creating a new RpcStub outside the callback first, then using it inside the callback.")}exportPromise(t){return this.exportStub(t)}getImport(t){return this.capture(t)}unexport(t){}onSendError(t){}};M.sendMap=(t,e,r)=>{let s=new we(t,e),i;try{i=m.fromAppReturn(ee(s.pushCall.bind(s),()=>r(new c(s.makeInput(),[]))))}finally{s.unregister()}if(i instanceof Promise)throw i.catch(o=>{}),new Error("RPC map() callbacks cannot be async.");return new c(s.makeOutput(i),[])};function C(){throw new Error("Attempted to use an abstract placeholder from a mapper function. Please make sure your map function has no side effects.")}var T=class extends x{constructor(t,e){super(),this.mapper=t,this.idx=e}dup(){return this}dispose(){}get(t){if(t.length==0)return this;if(k)return k.pushGet(this,t);C()}call(t,e){C()}map(t,e,r){C()}pull(){C()}ignoreUnhandledRejections(){}onBroken(t){C()}},ge=class{constructor(t,e){this.captures=t,this.variables=[e]}variables;dispose(){for(let t of this.variables)t.dispose()}apply(t){try{if(t.length<1)throw new Error("Invalid empty mapper function.");for(let e of t.slice(0,-1)){let r=new v(this).evaluateCopy(e);if(r.value instanceof w){let s=$(r.value);if(s){this.variables.push(s);continue}}this.variables.push(new g(r))}return new v(this).evaluateCopy(t[t.length-1])}finally{for(let e of this.variables)e.dispose()}}importStub(t){throw new Error("A mapper function cannot refer to exports.")}importPromise(t){return this.importStub(t)}getExport(t){return t<0?this.captures[-t-1]:this.variables[t]}};function J(t,e,r,s,i){let o=new g(m.deepCopyFrom(t,e,r)),n=new ge(s,o);try{return n.apply(i)}finally{n.dispose()}}M.applyMap=(t,e,r,s,i)=>{try{let o;if(t instanceof c)throw new Error("applyMap() can't be called on RpcPromise");if(t instanceof Array){let n=[];try{for(let l of t)n.push(J(l,t,r,s,i))}catch(l){for(let a of n)a.dispose();throw l}o=m.fromArray(n)}else t==null?o=m.fromAppReturn(t):o=J(t,e,r,s,i);return new g(o)}finally{for(let o of s)o.dispose()}};async function q(t,e){if(t.method==="POST"){let r=await me(t,e);return r.headers.set("Access-Control-Allow-Origin","*"),r}else return t.headers.get("Upgrade")?.toLowerCase()==="websocket"?ue(t,e):new Response("This endpoint only accepts POST or WebSocket requests.",{status:400})}import{EmailMessage as be}from"cloudflare:email";var P=class extends Error{constructor(e){super(`Binding ${e?`"${e}"`:""} not found`)}};function ye(t,e){let r=new URL(t.url),s=r.searchParams.get("MF-Binding");if(!s)throw new P;let i=e[s];if(!i)throw new P(s);if(i.constructor.name==="SendEmail")return{async send(o){let n=new be(o.from,o.to,o["EmailMessage::raw"]);return i.send(n)}};if(r.searchParams.has("MF-Dispatch-Namespace-Options")){let{name:o,args:n,options:l}=JSON.parse(r.searchParams.get("MF-Dispatch-Namespace-Options"));return i.get(o,n,l)}return i}function Re(t,e){let r=t.headers.get("MF-Binding");if(!r)throw new P;let s=e[r];if(!s)throw new P(r);let i=t.headers.get("MF-Dispatch-Namespace-Options");if(i){let{name:o,args:n,options:l}=JSON.parse(i);return s.get(o,n,l)}return s}function ve(t){let e=new URL(t.url);return t.headers.has("Upgrade")&&e.searchParams.has("MF-Binding")}var We={async fetch(t,e){try{if(ve(t))return q(t,ye(t,e));{let r=Re(t,e),s=new Headers;for(let[i,o]of t.headers)i.startsWith("mf-header-")?s.set(i.slice(10),o):i==="upgrade"&&s.set(i,o);return r.fetch(t.headers.get("MF-URL")??"http://example.com",new Request(t,{redirect:"manual",headers:s}))}}catch(r){return r instanceof P?new Response(r.message,{status:400}):new Response(r.message,{status:500})}}};export{We as default};
|
|
@@ -1,45 +1,136 @@
|
|
|
1
1
|
/// <reference types="@cloudflare/workers-types" />
|
|
2
2
|
|
|
3
|
-
// Copied from https://github.com/cloudflare/workers-sdk/blob/
|
|
4
|
-
|
|
3
|
+
// Copied from https://github.com/cloudflare/workers-sdk/blob/97a72ccd6ccf57b0c6c62566e638666ea1f0cf71/packages/wrangler/templates/remoteBindings/ProxyServerWorker.ts
|
|
4
|
+
|
|
5
|
+
import { newWorkersRpcResponse } from "capnweb";
|
|
6
|
+
import { EmailMessage } from "cloudflare:email";
|
|
7
|
+
|
|
8
|
+
interface Env extends Record<string, unknown> {}
|
|
9
|
+
|
|
10
|
+
class BindingNotFoundError extends Error {
|
|
11
|
+
constructor(name?: string) {
|
|
12
|
+
super(`Binding ${name ? `"${name}"` : ""} not found`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* For most bindings, we expose them as
|
|
18
|
+
* - RPC stubs directly to capnweb, or
|
|
19
|
+
* - HTTP based fetchers
|
|
20
|
+
* However, there are some special cases:
|
|
21
|
+
* - SendEmail bindings need to take EmailMessage as their first parameter,
|
|
22
|
+
* which is not serialisable. As such, we reconstruct it before sending it
|
|
23
|
+
* on to the binding. See packages/miniflare/src/workers/email/email.worker.ts
|
|
24
|
+
* - Dispatch Namespace bindings have a synchronous .get() method. Since we
|
|
25
|
+
* can't emulate that over an async boundary, we mock it locally and _actually_
|
|
26
|
+
* perform the .get() remotely at the first appropriate async point. See
|
|
27
|
+
* packages/miniflare/src/workers/dispatch-namespace/dispatch-namespace.worker.ts
|
|
28
|
+
*
|
|
29
|
+
* getExposedJSRPCBinding() and getExposedFetcher() perform the logic for figuring out
|
|
30
|
+
* which binding is being accessed, dependending on the request. Note: Both have logic
|
|
31
|
+
* for dispatch namespaces, because dispatch namespaces can use both fetch or RPC depending
|
|
32
|
+
* on context.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
function getExposedJSRPCBinding(request: Request, env: Env) {
|
|
36
|
+
const url = new URL(request.url);
|
|
37
|
+
const bindingName = url.searchParams.get("MF-Binding");
|
|
38
|
+
if (!bindingName) {
|
|
39
|
+
throw new BindingNotFoundError();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const targetBinding = env[bindingName];
|
|
43
|
+
if (!targetBinding) {
|
|
44
|
+
throw new BindingNotFoundError(bindingName);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (targetBinding.constructor.name === "SendEmail") {
|
|
48
|
+
return {
|
|
49
|
+
async send(e: ForwardableEmailMessage) {
|
|
50
|
+
const message = new EmailMessage(e.from, e.to, e["EmailMessage::raw"]);
|
|
51
|
+
return (targetBinding as SendEmail).send(message);
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (url.searchParams.has("MF-Dispatch-Namespace-Options")) {
|
|
57
|
+
const { name, args, options } = JSON.parse(
|
|
58
|
+
url.searchParams.get("MF-Dispatch-Namespace-Options")!,
|
|
59
|
+
);
|
|
60
|
+
return (targetBinding as DispatchNamespace).get(name, args, options);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return targetBinding;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function getExposedFetcher(request: Request, env: Env) {
|
|
67
|
+
const bindingName = request.headers.get("MF-Binding");
|
|
68
|
+
if (!bindingName) {
|
|
69
|
+
throw new BindingNotFoundError();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const targetBinding = env[bindingName];
|
|
73
|
+
if (!targetBinding) {
|
|
74
|
+
throw new BindingNotFoundError(bindingName);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Special case the Dispatch Namespace binding because it has a top-level synchronous .get() call
|
|
78
|
+
const dispatchNamespaceOptions = request.headers.get(
|
|
79
|
+
"MF-Dispatch-Namespace-Options",
|
|
80
|
+
);
|
|
81
|
+
if (dispatchNamespaceOptions) {
|
|
82
|
+
const { name, args, options } = JSON.parse(dispatchNamespaceOptions);
|
|
83
|
+
return (targetBinding as DispatchNamespace).get(name, args, options);
|
|
84
|
+
}
|
|
85
|
+
return targetBinding as Fetcher;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* This Worker can proxy two types of remote binding:
|
|
90
|
+
* 1. "raw" bindings, where this Worker has been configured to pass through the raw
|
|
91
|
+
* fetch from a local workerd instance to the relevant binding
|
|
92
|
+
* 2. JSRPC bindings, where this Worker uses capnweb to proxy RPC
|
|
93
|
+
* communication in userland. This is always over a WebSocket connection
|
|
94
|
+
*/
|
|
95
|
+
function isJSRPCBinding(request: Request): boolean {
|
|
96
|
+
const url = new URL(request.url);
|
|
97
|
+
return request.headers.has("Upgrade") && url.searchParams.has("MF-Binding");
|
|
98
|
+
}
|
|
5
99
|
|
|
6
100
|
export default {
|
|
7
101
|
async fetch(request, env) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
102
|
+
try {
|
|
103
|
+
if (isJSRPCBinding(request)) {
|
|
104
|
+
return newWorkersRpcResponse(
|
|
105
|
+
request,
|
|
106
|
+
getExposedJSRPCBinding(request, env),
|
|
107
|
+
);
|
|
108
|
+
} else {
|
|
109
|
+
const fetcher = getExposedFetcher(request, env);
|
|
110
|
+
const originalHeaders = new Headers();
|
|
111
|
+
for (const [name, value] of request.headers) {
|
|
112
|
+
if (name.startsWith("mf-header-")) {
|
|
113
|
+
originalHeaders.set(name.slice("mf-header-".length), value);
|
|
114
|
+
} else if (name === "upgrade") {
|
|
115
|
+
// The `Upgrade` header needs to be special-cased to prevent:
|
|
116
|
+
// TypeError: Worker tried to return a WebSocket in a response to a request which did not contain the header "Upgrade: websocket"
|
|
117
|
+
originalHeaders.set(name, value);
|
|
118
|
+
}
|
|
19
119
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (dispatchNamespaceOptions) {
|
|
28
|
-
const { name, args, options } = JSON.parse(dispatchNamespaceOptions);
|
|
29
|
-
fetcher = (env[targetBinding] as DispatchNamespace).get(
|
|
30
|
-
name,
|
|
31
|
-
args,
|
|
32
|
-
options,
|
|
120
|
+
|
|
121
|
+
return fetcher.fetch(
|
|
122
|
+
request.headers.get("MF-URL") ?? "http://example.com",
|
|
123
|
+
new Request(request, {
|
|
124
|
+
redirect: "manual",
|
|
125
|
+
headers: originalHeaders,
|
|
126
|
+
}),
|
|
33
127
|
);
|
|
34
128
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
new
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}),
|
|
41
|
-
);
|
|
129
|
+
} catch (e) {
|
|
130
|
+
if (e instanceof BindingNotFoundError) {
|
|
131
|
+
return new Response(e.message, { status: 400 });
|
|
132
|
+
}
|
|
133
|
+
return new Response((e as Error).message, { status: 500 });
|
|
42
134
|
}
|
|
43
|
-
return new Response("Provide a binding", { status: 400 });
|
|
44
135
|
},
|
|
45
|
-
} satisfies ExportedHandler<
|
|
136
|
+
} satisfies ExportedHandler<Env>;
|
package/workers/tunnel-proxy.js
CHANGED
|
@@ -1,68 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var tunnel_proxy_default = {
|
|
3
|
-
async fetch(request, env) {
|
|
4
|
-
const url = new URL(request.url);
|
|
5
|
-
url.host = env.TUNNEL_HOST;
|
|
6
|
-
const headers = new Headers(request.headers);
|
|
7
|
-
headers.set("alchemy-worker-name", env.WORKER_NAME);
|
|
8
|
-
const response = await fetch(url, {
|
|
9
|
-
method: request.method,
|
|
10
|
-
headers,
|
|
11
|
-
body: request.body,
|
|
12
|
-
redirect: "manual"
|
|
13
|
-
});
|
|
14
|
-
if (response.status === 530) {
|
|
15
|
-
const error = await extractResponseError(response);
|
|
16
|
-
const headers2 = new Headers(response.headers);
|
|
17
|
-
headers2.set("Content-Type", "text/html");
|
|
18
|
-
return new Response(
|
|
19
|
-
renderErrorHtml({
|
|
20
|
-
name: env.WORKER_NAME,
|
|
21
|
-
error,
|
|
22
|
-
rayId: response.headers.get("cf-ray") ?? "Unknown"
|
|
23
|
-
}),
|
|
24
|
-
{
|
|
25
|
-
status: 530,
|
|
26
|
-
headers: headers2
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
return response;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
var extractResponseError = async (response) => {
|
|
34
|
-
const error = response.headers.get("Alchemy-Error");
|
|
35
|
-
if (error) {
|
|
36
|
-
return error;
|
|
37
|
-
}
|
|
38
|
-
let code;
|
|
39
|
-
let message;
|
|
40
|
-
const { promise, resolve } = Promise.withResolvers();
|
|
41
|
-
const rewriter = new HTMLRewriter();
|
|
42
|
-
rewriter.on("h1", {
|
|
43
|
-
text(text) {
|
|
44
|
-
if (code) return;
|
|
45
|
-
const match = text.text.match(/(\d+)/);
|
|
46
|
-
if (match) {
|
|
47
|
-
code = match[1];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
rewriter.on("h2", {
|
|
52
|
-
text(text) {
|
|
53
|
-
if (message) return;
|
|
54
|
-
message = text.text;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
rewriter.onDocument({
|
|
58
|
-
end() {
|
|
59
|
-
resolve([code, message].filter(Boolean).join(": ") || "Unknown");
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
await rewriter.transform(response).text();
|
|
63
|
-
return promise;
|
|
64
|
-
};
|
|
65
|
-
var renderErrorHtml = (props) => `
|
|
1
|
+
var h={async fetch(e,r){let n=new URL(e.url);n.host=r.TUNNEL_HOST;let l=new Headers(e.headers);l.set("alchemy-worker-name",r.WORKER_NAME);let t=await fetch(n,{method:e.method,headers:l,body:e.body,redirect:"manual"});if(t.status===530){let a=await i(t),s=new Headers(t.headers);return s.set("Content-Type","text/html"),new Response(c({name:r.WORKER_NAME,error:a,rayId:t.headers.get("cf-ray")??"Unknown"}),{status:530,headers:s})}return t}},i=async e=>{let r=e.headers.get("Alchemy-Error");if(r)return r;let n,l,{promise:t,resolve:a}=Promise.withResolvers(),s=new HTMLRewriter;return s.on("h1",{text(o){if(n)return;let d=o.text.match(/(\d+)/);d&&(n=d[1])}}),s.on("h2",{text(o){l||(l=o.text)}}),s.onDocument({end(){a([n,l].filter(Boolean).join(": ")||"Unknown")}}),await s.transform(e).text(),t},c=e=>`
|
|
66
2
|
<!DOCTYPE html>
|
|
67
3
|
<html lang="en">
|
|
68
4
|
|
|
@@ -78,18 +14,18 @@ var renderErrorHtml = (props) => `
|
|
|
78
14
|
<div class="flex flex-col items-center justify-center h-screen">
|
|
79
15
|
<div class="border-t-3 border-red-600 px-5 py-7 bg-white gap-3 flex flex-col w-full max-w-lg">
|
|
80
16
|
<h1 class="text-2xl font-semibold">530: Tunnel Error</h1>
|
|
81
|
-
<p class="text-slate-800">The worker "${
|
|
17
|
+
<p class="text-slate-800">The worker "${e.name}" could not be reached.</p>
|
|
82
18
|
<p class="text-slate-800">Please ensure that <code
|
|
83
19
|
class="bg-slate-100 text-slate-800 p-1 rounded-md text-sm">alchemy dev</code>
|
|
84
20
|
is running and tunnel mode is enabled for the worker.</p>
|
|
85
21
|
<div class="flex flex-col gap-2 border-l-2 border-slate-300 pl-3 my-1.5">
|
|
86
22
|
<div class="text-sm flex flex-col gap-1">
|
|
87
23
|
<div class="text-slate-500">Error:</div>
|
|
88
|
-
<div class="text-slate-800 font-mono">${
|
|
24
|
+
<div class="text-slate-800 font-mono">${e.error}</div>
|
|
89
25
|
</div>
|
|
90
26
|
<div class="text-sm flex flex-col gap-1">
|
|
91
27
|
<div class="text-slate-500">Ray ID:</div>
|
|
92
|
-
<div class="text-slate-800 font-mono">${
|
|
28
|
+
<div class="text-slate-800 font-mono">${e.rayId}</div>
|
|
93
29
|
</div>
|
|
94
30
|
</div>
|
|
95
31
|
<p class="text-slate-800"><a href="https://alchemy.run/docs/guides/cloudflare-tunnel"
|
|
@@ -98,13 +34,10 @@ var renderErrorHtml = (props) => `
|
|
|
98
34
|
Alchemy</a>.</p>
|
|
99
35
|
</div>
|
|
100
36
|
<div class="bg-slate-200 px-5 py-3 flex flex-col w-full max-w-lg">
|
|
101
|
-
<p class="text-sm text-slate-500">Alchemy
|
|
37
|
+
<p class="text-sm text-slate-500">Alchemy 0.68.0</p>
|
|
102
38
|
</div>
|
|
103
39
|
</div>
|
|
104
40
|
</body>
|
|
105
41
|
|
|
106
42
|
</html>
|
|
107
|
-
`;
|
|
108
|
-
export {
|
|
109
|
-
tunnel_proxy_default as default
|
|
110
|
-
};
|
|
43
|
+
`;export{h as default};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type AssetManifest = AssetManifestEntry[];
|
|
2
|
-
export interface AssetManifestEntry {
|
|
3
|
-
source: string;
|
|
4
|
-
key: string;
|
|
5
|
-
hash: string;
|
|
6
|
-
cacheControl: string;
|
|
7
|
-
contentType?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface FileOption {
|
|
10
|
-
files: string | string[];
|
|
11
|
-
cacheControl: string;
|
|
12
|
-
contentType?: string;
|
|
13
|
-
ignore?: string[];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=asset-manifest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset-manifest.d.ts","sourceRoot":"","sources":["../../src/cloudflare/asset-manifest.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=asset-manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset-manifest.js","sourceRoot":"","sources":["../../src/cloudflare/asset-manifest.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ResultAsync } from "neverthrow";
|
|
2
|
-
export declare const DEFAULT_SCOPES: string[];
|
|
3
|
-
interface WranglerConfig {
|
|
4
|
-
oauth_token: string;
|
|
5
|
-
refresh_token: string;
|
|
6
|
-
expiration_time: Date;
|
|
7
|
-
scopes: string[];
|
|
8
|
-
}
|
|
9
|
-
export declare const getRefreshedWranglerConfig: () => ResultAsync<WranglerConfig, OAuthError>;
|
|
10
|
-
export declare const wranglerLogin: (scopes?: string[], log?: (message: string) => void) => ResultAsync<WranglerConfig, OAuthError>;
|
|
11
|
-
interface OAuthErrorParams {
|
|
12
|
-
error: string;
|
|
13
|
-
error_description: string;
|
|
14
|
-
error_verbose?: string;
|
|
15
|
-
error_hint?: string;
|
|
16
|
-
status_code: number;
|
|
17
|
-
}
|
|
18
|
-
declare class OAuthError extends Error {
|
|
19
|
-
constructor(params: OAuthErrorParams);
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/cloudflare/oauth.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAoB3D,eAAO,MAAM,cAAc,UAkB1B,CAAC;AAGF,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,eAAO,MAAM,0BAA0B,+CAkBtC,CAAC;AAyDF,eAAO,MAAM,aAAa,GACxB,SAAQ,MAAM,EAAmB,EACjC,MAAK,CAAC,OAAO,EAAE,MAAM,KAAK,IAAkB,4CAgF7C,CAAC;AA6BF,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,UAAW,SAAQ,KAAK;gBAChB,MAAM,EAAE,gBAAgB;CAKrC"}
|