alchemy 0.66.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 +25554 -26250
- 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/services/find-workspace-root.ts +1 -1
- package/bin/trpc.ts +27 -2
- package/lib/alchemy.d.ts +6 -0
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +1 -0
- package/lib/alchemy.js.map +1 -1
- 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/bindings.d.ts +17 -5
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bindings.js +3 -1
- package/lib/cloudflare/bindings.js.map +1 -1
- package/lib/cloudflare/bound.d.ts +4 -3
- 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/internal-worker-bundle.d.ts +1 -1
- package/lib/cloudflare/bundle/internal-worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/bundle/internal-worker-bundle.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-ref.d.ts +23 -0
- package/lib/cloudflare/hyperdrive-ref.d.ts.map +1 -0
- package/lib/cloudflare/hyperdrive-ref.js +52 -0
- package/lib/cloudflare/hyperdrive-ref.js.map +1 -0
- 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/index.d.ts +2 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +2 -0
- package/lib/cloudflare/index.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/build-worker-options.d.ts +2 -1
- package/lib/cloudflare/miniflare/build-worker-options.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/build-worker-options.js +11 -6
- package/lib/cloudflare/miniflare/build-worker-options.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-controller.d.ts +3 -1
- package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-controller.js +24 -9
- package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts +24 -13
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +90 -79
- 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/miniflare/tunnel.d.ts +18 -0
- package/lib/cloudflare/miniflare/tunnel.d.ts.map +1 -0
- package/lib/cloudflare/miniflare/tunnel.js +79 -0
- package/lib/cloudflare/miniflare/tunnel.js.map +1 -0
- package/lib/cloudflare/next.d.ts.map +1 -1
- package/lib/cloudflare/next.js +3 -0
- package/lib/cloudflare/next.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/quick-tunnel.d.ts +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-ref.d.ts +38 -0
- package/lib/cloudflare/secret-ref.d.ts.map +1 -0
- package/lib/cloudflare/secret-ref.js +38 -0
- package/lib/cloudflare/secret-ref.js.map +1 -0
- 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-metadata.d.ts +1 -1
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +7 -9
- package/lib/cloudflare/worker-metadata.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 +19 -5
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +18 -5
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +2 -1
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +4 -6
- package/lib/cloudflare/wrangler.json.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/llms.cloudflare.txt +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/scope.d.ts +10 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +3 -1
- package/lib/scope.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/idempotent-spawn.d.ts.map +1 -1
- package/lib/util/idempotent-spawn.js +5 -8
- package/lib/util/idempotent-spawn.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/alchemy.ts +7 -0
- 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/bindings.ts +21 -4
- package/src/cloudflare/bound.ts +50 -52
- package/src/cloudflare/bucket.ts +321 -58
- package/src/cloudflare/bundle/internal-worker-bundle.ts +2 -1
- 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-ref.ts +98 -0
- package/src/cloudflare/hyperdrive.ts +35 -36
- package/src/cloudflare/index.ts +2 -0
- package/src/cloudflare/kv-namespace.ts +31 -32
- package/src/cloudflare/miniflare/build-worker-options.ts +21 -12
- package/src/cloudflare/miniflare/delete.ts +1 -1
- package/src/cloudflare/miniflare/miniflare-controller.ts +27 -12
- package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +117 -102
- package/src/cloudflare/miniflare/remote-binding-proxy.ts +16 -4
- package/src/cloudflare/miniflare/tunnel.ts +116 -0
- package/src/cloudflare/next.ts +3 -0
- 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-ref.ts +56 -0
- 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-metadata.ts +14 -12
- package/src/cloudflare/worker-stub.ts +5 -5
- package/src/cloudflare/worker-subdomain.ts +6 -7
- package/src/cloudflare/worker.ts +123 -92
- package/src/cloudflare/wrangler.json.ts +13 -11
- 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/llms.cloudflare.txt +1 -1
- 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/scope.ts +12 -1
- 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/idempotent-spawn.ts +5 -6
- 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/templates/rwsdk/.cursor/rules/alchemy_cloudflare.mdc +1 -1
- package/templates/rwsdk/package.json +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 +43 -0
- package/workers/tunnel-proxy.ts +121 -0
- 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
package/src/cloudflare/secret.ts
CHANGED
|
@@ -51,42 +51,41 @@ export interface SecretProps extends CloudflareApiOptions {
|
|
|
51
51
|
delete?: boolean;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
export function isSecret(resource:
|
|
55
|
-
return resource[ResourceKind] === "cloudflare::Secret";
|
|
54
|
+
export function isSecret(resource: any): resource is Secret {
|
|
55
|
+
return resource?.[ResourceKind] === "cloudflare::Secret";
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
export type Secret =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
58
|
+
export type Secret = Omit<SecretProps, "delete" | "value"> & {
|
|
59
|
+
/**
|
|
60
|
+
* The binding type for Cloudflare Workers
|
|
61
|
+
*/
|
|
62
|
+
type: "secrets_store_secret";
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The name of the secret
|
|
66
|
+
*/
|
|
67
|
+
name: string;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The unique identifier of the secrets store this secret belongs to
|
|
71
|
+
*/
|
|
72
|
+
storeId: string;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The secret value (as an alchemy Secret instance)
|
|
76
|
+
*/
|
|
77
|
+
value: AlchemySecret;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Timestamp when the secret was created
|
|
81
|
+
*/
|
|
82
|
+
createdAt: number;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Timestamp when the secret was last modified
|
|
86
|
+
*/
|
|
87
|
+
modifiedAt: number;
|
|
88
|
+
};
|
|
90
89
|
|
|
91
90
|
/**
|
|
92
91
|
* A Cloudflare Secret represents an individual secret stored in a Secrets Store.
|
|
@@ -197,7 +196,7 @@ const _Secret = Resource(
|
|
|
197
196
|
// Insert or update the secret
|
|
198
197
|
await insertSecret(api, storeId, secretName, props.value);
|
|
199
198
|
|
|
200
|
-
return
|
|
199
|
+
return {
|
|
201
200
|
type: "secrets_store_secret",
|
|
202
201
|
name: secretName,
|
|
203
202
|
storeId,
|
|
@@ -205,7 +204,7 @@ const _Secret = Resource(
|
|
|
205
204
|
value: props.value,
|
|
206
205
|
createdAt,
|
|
207
206
|
modifiedAt: Date.now(),
|
|
208
|
-
}
|
|
207
|
+
};
|
|
209
208
|
},
|
|
210
209
|
);
|
|
211
210
|
|
|
@@ -54,16 +54,13 @@ export interface SecretsStoreProps<
|
|
|
54
54
|
delete?: boolean;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export function isSecretsStore(
|
|
58
|
-
resource
|
|
59
|
-
): resource is SecretsStore<any> {
|
|
60
|
-
return resource[ResourceKind] === "cloudflare::SecretsStore";
|
|
57
|
+
export function isSecretsStore(resource: any): resource is SecretsStore<any> {
|
|
58
|
+
return resource?.[ResourceKind] === "cloudflare::SecretsStore";
|
|
61
59
|
}
|
|
62
60
|
|
|
63
61
|
export interface SecretsStore<
|
|
64
62
|
S extends Record<string, Secret> | undefined = undefined,
|
|
65
|
-
> extends
|
|
66
|
-
Omit<SecretsStoreProps<S>, "delete"> {
|
|
63
|
+
> extends Omit<SecretsStoreProps<S>, "delete"> {
|
|
67
64
|
/**
|
|
68
65
|
* The unique identifier of the secrets store
|
|
69
66
|
*/
|
|
@@ -240,13 +237,13 @@ const _SecretsStore = Resource("cloudflare::SecretsStore", async function <
|
|
|
240
237
|
await insertSecrets(api, storeId, props);
|
|
241
238
|
}
|
|
242
239
|
|
|
243
|
-
return
|
|
240
|
+
return {
|
|
244
241
|
id: storeId,
|
|
245
242
|
name: name,
|
|
246
243
|
secrets: props.secrets as S,
|
|
247
244
|
createdAt: createdAt,
|
|
248
245
|
modifiedAt: Date.now(),
|
|
249
|
-
}
|
|
246
|
+
};
|
|
250
247
|
});
|
|
251
248
|
|
|
252
249
|
export async function createSecretsStore<
|
package/src/cloudflare/tunnel.ts
CHANGED
|
@@ -264,16 +264,14 @@ export interface OriginRequestConfig {
|
|
|
264
264
|
tcpKeepAliveInterval?: number;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
export function isTunnel(resource:
|
|
268
|
-
return resource[ResourceKind] === "cloudflare::Tunnel";
|
|
267
|
+
export function isTunnel(resource: any): resource is Tunnel {
|
|
268
|
+
return resource?.[ResourceKind] === "cloudflare::Tunnel";
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
/**
|
|
272
272
|
* Output returned after Tunnel creation/update
|
|
273
273
|
*/
|
|
274
|
-
export interface Tunnel
|
|
275
|
-
extends Resource<"cloudflare::Tunnel">,
|
|
276
|
-
Omit<TunnelProps, "delete" | "tunnelSecret"> {
|
|
274
|
+
export interface Tunnel extends Omit<TunnelProps, "delete" | "tunnelSecret"> {
|
|
277
275
|
/**
|
|
278
276
|
* The name of the tunnel
|
|
279
277
|
*/
|
|
@@ -667,7 +665,7 @@ export const Tunnel = Resource(
|
|
|
667
665
|
}
|
|
668
666
|
|
|
669
667
|
// Transform API response to our interface
|
|
670
|
-
return
|
|
668
|
+
return {
|
|
671
669
|
tunnelId: tunnelData.id,
|
|
672
670
|
accountTag: tunnelData.account_tag,
|
|
673
671
|
name: tunnelData.name,
|
|
@@ -697,7 +695,7 @@ export const Tunnel = Resource(
|
|
|
697
695
|
originRequest: props.originRequest,
|
|
698
696
|
configSrc: props.configSrc,
|
|
699
697
|
dnsRecords: Object.keys(dnsRecords).length > 0 ? dnsRecords : undefined,
|
|
700
|
-
}
|
|
698
|
+
};
|
|
701
699
|
},
|
|
702
700
|
);
|
|
703
701
|
|
package/src/cloudflare/user.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import type { Credentials } from "../auth.ts";
|
|
1
2
|
import type { Secret } from "../secret.ts";
|
|
2
3
|
import { logger } from "../util/logger.ts";
|
|
3
4
|
import { memoize } from "../util/memoize.ts";
|
|
4
5
|
import { extractCloudflareResult } from "./api-response.ts";
|
|
5
|
-
import {
|
|
6
|
-
getCloudflareAuthHeaders,
|
|
7
|
-
type CloudflareAuthOptions,
|
|
8
|
-
} from "./auth.ts";
|
|
6
|
+
import { CloudflareAuth } from "./auth.ts";
|
|
9
7
|
|
|
10
8
|
export interface CloudflareAccount {
|
|
11
9
|
name: string;
|
|
@@ -56,15 +54,20 @@ export interface CloudflareOrganization {
|
|
|
56
54
|
roles: string[];
|
|
57
55
|
}
|
|
58
56
|
|
|
59
|
-
export const
|
|
60
|
-
async (
|
|
61
|
-
|
|
62
|
-
const accounts = await extractCloudflareResult<CloudflareAccount[]>(
|
|
57
|
+
export const listCloudflareAccounts = memoize(
|
|
58
|
+
async (credentials: Credentials): Promise<CloudflareAccount[]> => {
|
|
59
|
+
return await extractCloudflareResult<CloudflareAccount[]>(
|
|
63
60
|
"get accounts for authorized user",
|
|
64
61
|
fetch("https://api.cloudflare.com/client/v4/accounts", {
|
|
65
|
-
headers,
|
|
62
|
+
headers: CloudflareAuth.formatHeaders(credentials),
|
|
66
63
|
}),
|
|
67
64
|
);
|
|
65
|
+
},
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
export const getCloudflareAccountId = memoize(
|
|
69
|
+
async (credentials: Credentials): Promise<string> => {
|
|
70
|
+
const accounts = await listCloudflareAccounts(credentials);
|
|
68
71
|
if (!accounts[0]) {
|
|
69
72
|
throw new Error(
|
|
70
73
|
"No accounts found for authorized user. Please make sure you're authenticated (see: https://alchemy.run/guides/cloudflare/) or explicitly set the Cloudflare Account ID (see: https://alchemy.run/guides/cloudflare/#account-id)",
|
|
@@ -51,18 +51,14 @@ export interface VectorizeIndexProps extends CloudflareApiOptions {
|
|
|
51
51
|
adopt?: boolean;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
export function isVectorizeIndex(
|
|
55
|
-
resource
|
|
56
|
-
): resource is VectorizeIndex {
|
|
57
|
-
return resource[ResourceKind] === "cloudflare::VectorizeIndex";
|
|
54
|
+
export function isVectorizeIndex(resource: any): resource is VectorizeIndex {
|
|
55
|
+
return resource?.[ResourceKind] === "cloudflare::VectorizeIndex";
|
|
58
56
|
}
|
|
59
57
|
|
|
60
58
|
/**
|
|
61
59
|
* Output returned after Vectorize Index creation/update
|
|
62
60
|
*/
|
|
63
|
-
export interface VectorizeIndex
|
|
64
|
-
extends Resource<"cloudflare::VectorizeIndex">,
|
|
65
|
-
VectorizeIndexProps {
|
|
61
|
+
export interface VectorizeIndex extends VectorizeIndexProps {
|
|
66
62
|
type: "vectorize";
|
|
67
63
|
|
|
68
64
|
/**
|
|
@@ -176,10 +172,10 @@ export const VectorizeIndex = Resource(
|
|
|
176
172
|
`Attempted to update Vectorize index ${indexName} but only the delete property can be changed.`,
|
|
177
173
|
);
|
|
178
174
|
}
|
|
179
|
-
return
|
|
175
|
+
return {
|
|
180
176
|
...this.output,
|
|
181
177
|
delete: props.delete,
|
|
182
|
-
}
|
|
178
|
+
};
|
|
183
179
|
}
|
|
184
180
|
|
|
185
181
|
// Check if this is a no-op update
|
|
@@ -194,7 +190,7 @@ export const VectorizeIndex = Resource(
|
|
|
194
190
|
`Attempted to update Vectorize index ${indexName} but it was a no-op.`,
|
|
195
191
|
);
|
|
196
192
|
}
|
|
197
|
-
return this
|
|
193
|
+
return this.output;
|
|
198
194
|
}
|
|
199
195
|
|
|
200
196
|
// Update operation is not supported by Vectorize API
|
|
@@ -204,7 +200,7 @@ export const VectorizeIndex = Resource(
|
|
|
204
200
|
);
|
|
205
201
|
}
|
|
206
202
|
|
|
207
|
-
return
|
|
203
|
+
return {
|
|
208
204
|
type: "vectorize",
|
|
209
205
|
id: indexName,
|
|
210
206
|
name: indexName,
|
|
@@ -218,7 +214,7 @@ export const VectorizeIndex = Resource(
|
|
|
218
214
|
createdAt: indexData.result.created_on
|
|
219
215
|
? new Date(indexData.result.created_on).getTime()
|
|
220
216
|
: undefined,
|
|
221
|
-
}
|
|
217
|
+
};
|
|
222
218
|
},
|
|
223
219
|
);
|
|
224
220
|
|
|
@@ -30,17 +30,15 @@ export interface VectorizeMetadataIndexProps extends CloudflareApiOptions {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export function isVectorizeMetadataIndex(
|
|
33
|
-
resource:
|
|
33
|
+
resource: any,
|
|
34
34
|
): resource is VectorizeMetadataIndex {
|
|
35
|
-
return resource[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
|
|
35
|
+
return resource?.[ResourceKind] === "cloudflare::VectorizeMetadataIndex";
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Output returned after Vectorize Metadata Index creation/deletion
|
|
40
40
|
*/
|
|
41
|
-
export interface VectorizeMetadataIndex
|
|
42
|
-
extends Resource<"cloudflare::VectorizeMetadataIndex">,
|
|
43
|
-
VectorizeMetadataIndexProps {
|
|
41
|
+
export interface VectorizeMetadataIndex extends VectorizeMetadataIndexProps {
|
|
44
42
|
/**
|
|
45
43
|
* ID of this metadata index (derived from propertyName)
|
|
46
44
|
*/
|
|
@@ -126,7 +124,7 @@ export const VectorizeMetadataIndex = Resource(
|
|
|
126
124
|
`Attempted to update Vectorize metadata index ${this.props.propertyName} but it was a no-op.`,
|
|
127
125
|
);
|
|
128
126
|
}
|
|
129
|
-
return this
|
|
127
|
+
return this.output;
|
|
130
128
|
}
|
|
131
129
|
// Update operation is not supported
|
|
132
130
|
throw new Error(
|
|
@@ -136,14 +134,14 @@ export const VectorizeMetadataIndex = Resource(
|
|
|
136
134
|
}
|
|
137
135
|
const indexData = await createMetadataIndex(api, indexName, props);
|
|
138
136
|
|
|
139
|
-
return
|
|
137
|
+
return {
|
|
140
138
|
id: propertyName, // Use propertyName as ID
|
|
141
139
|
index: props.index,
|
|
142
140
|
propertyName: props.propertyName,
|
|
143
141
|
indexType: props.indexType,
|
|
144
142
|
accountId: api.accountId,
|
|
145
143
|
mutationId: indexData.result.mutationId,
|
|
146
|
-
}
|
|
144
|
+
};
|
|
147
145
|
},
|
|
148
146
|
);
|
|
149
147
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import crypto from "node:crypto";
|
|
2
1
|
import fs from "node:fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
2
|
import { AsyncQueue } from "../util/async-queue.ts";
|
|
5
3
|
import { withExponentialBackoff } from "../util/retry.ts";
|
|
6
4
|
import { extractCloudflareResult } from "./api-response.ts";
|
|
7
5
|
import type { CloudflareApi } from "./api.ts";
|
|
8
|
-
import
|
|
6
|
+
import { Assets } from "./assets.ts";
|
|
9
7
|
import type { AssetsConfig, WorkerProps } from "./worker.ts";
|
|
10
8
|
|
|
11
9
|
export interface AssetUploadResult {
|
|
@@ -47,7 +45,12 @@ export async function uploadAssets(
|
|
|
47
45
|
// Process the assets configuration once at the beginning
|
|
48
46
|
const processedConfig = createAssetConfig(assetConfig);
|
|
49
47
|
|
|
50
|
-
const
|
|
48
|
+
const manifest: Record<string, FileMetadata> = {};
|
|
49
|
+
const filesByHash = new Map<string, Assets.FileMetadata>();
|
|
50
|
+
for (const file of await Assets.read(assets.path)) {
|
|
51
|
+
manifest[file.name] = { hash: file.hash, size: file.size };
|
|
52
|
+
filesByHash.set(file.hash, file);
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
// Start the upload session
|
|
53
56
|
const uploadSession = await extractCloudflareResult<{
|
|
@@ -130,31 +133,11 @@ export function createAssetConfig(config?: AssetsConfig): AssetsConfig {
|
|
|
130
133
|
return assetConfig;
|
|
131
134
|
}
|
|
132
135
|
|
|
133
|
-
/**
|
|
134
|
-
* Prepares the asset manifest for the assets upload session
|
|
135
|
-
*
|
|
136
|
-
* @param assets Assets resource containing files to upload
|
|
137
|
-
* @returns Asset manifest and files by hash
|
|
138
|
-
*/
|
|
139
|
-
export async function prepareAssetManifest(assets: Assets) {
|
|
140
|
-
const manifest: Record<string, FileMetadata> = {};
|
|
141
|
-
const filesByHash = new Map<string, AssetFile>();
|
|
142
|
-
await Promise.all(
|
|
143
|
-
assets.files.map(async (file) => {
|
|
144
|
-
const { hash, size } = await calculateFileMetadata(file.filePath);
|
|
145
|
-
const key = file.path.startsWith("/") ? file.path : `/${file.path}`;
|
|
146
|
-
manifest[key] = { hash, size };
|
|
147
|
-
filesByHash.set(hash, file);
|
|
148
|
-
}),
|
|
149
|
-
);
|
|
150
|
-
return { manifest, filesByHash };
|
|
151
|
-
}
|
|
152
|
-
|
|
153
136
|
async function uploadBucket(
|
|
154
137
|
api: CloudflareApi,
|
|
155
138
|
jwt: string,
|
|
156
139
|
bucket: string[],
|
|
157
|
-
filesByHash: Map<string,
|
|
140
|
+
filesByHash: Map<string, Assets.FileMetadata>,
|
|
158
141
|
) {
|
|
159
142
|
const formData = new FormData();
|
|
160
143
|
await Promise.all(
|
|
@@ -163,9 +146,9 @@ async function uploadBucket(
|
|
|
163
146
|
if (!file) {
|
|
164
147
|
throw new Error(`Could not find file with hash ${fileHash}`);
|
|
165
148
|
}
|
|
166
|
-
const fileContent = await fs.readFile(file.
|
|
149
|
+
const fileContent = await fs.readFile(file.path);
|
|
167
150
|
const blob = new Blob([fileContent.toString("base64")], {
|
|
168
|
-
type: file.
|
|
151
|
+
type: file.type,
|
|
169
152
|
});
|
|
170
153
|
formData.append(fileHash, blob, fileHash);
|
|
171
154
|
}),
|
|
@@ -184,32 +167,3 @@ async function uploadBucket(
|
|
|
184
167
|
);
|
|
185
168
|
return uploadResult.jwt;
|
|
186
169
|
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Calculate the SHA-256 hash and size of a file
|
|
190
|
-
*
|
|
191
|
-
* @param filePath Path to the file
|
|
192
|
-
* @returns Hash (first 32 chars of SHA-256) and size of the file
|
|
193
|
-
*/
|
|
194
|
-
export async function calculateFileMetadata(
|
|
195
|
-
filePath: string,
|
|
196
|
-
): Promise<{ hash: string; size: number }> {
|
|
197
|
-
const contents = await fs.readFile(filePath);
|
|
198
|
-
|
|
199
|
-
const hash = crypto.createHash("sha256");
|
|
200
|
-
hash.update(contents);
|
|
201
|
-
|
|
202
|
-
const extension = path.extname(filePath).substring(1);
|
|
203
|
-
hash.update(extension);
|
|
204
|
-
|
|
205
|
-
if (contents.length > 26214400) {
|
|
206
|
-
throw new Error(
|
|
207
|
-
`File "${filePath}" is too large to upload as an asset to Cloudflare (the file is ${(contents.length / 1024 / 1024).toFixed(2)} MB; the maximum size is 25MB).`,
|
|
208
|
-
);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
return {
|
|
212
|
-
hash: hash.digest("hex").slice(0, 32),
|
|
213
|
-
size: contents.length,
|
|
214
|
-
};
|
|
215
|
-
}
|
|
@@ -3,11 +3,10 @@ import { logger } from "../util/logger.ts";
|
|
|
3
3
|
import { memoize } from "../util/memoize.ts";
|
|
4
4
|
import { extractCloudflareResult } from "./api-response.ts";
|
|
5
5
|
import type { CloudflareApi } from "./api.ts";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type WorkerBindingSpec,
|
|
6
|
+
import type {
|
|
7
|
+
Bindings,
|
|
8
|
+
WorkerBindingDurableObjectNamespace,
|
|
9
|
+
WorkerBindingSpec,
|
|
11
10
|
} from "./bindings.ts";
|
|
12
11
|
import { isContainer, type Container } from "./container.ts";
|
|
13
12
|
import {
|
|
@@ -392,11 +391,12 @@ export async function prepareWorkerMetadata(
|
|
|
392
391
|
name: bindingName,
|
|
393
392
|
text: binding,
|
|
394
393
|
});
|
|
395
|
-
} else if (binding === Self) {
|
|
394
|
+
} else if (binding.type === "cloudflare::Worker::Self") {
|
|
396
395
|
meta.bindings.push({
|
|
397
396
|
type: "service",
|
|
398
397
|
name: bindingName,
|
|
399
398
|
service: props.workerName,
|
|
399
|
+
entrypoint: binding.__entrypoint__,
|
|
400
400
|
});
|
|
401
401
|
} else if (binding.type === "d1") {
|
|
402
402
|
meta.bindings.push({
|
|
@@ -416,6 +416,8 @@ export async function prepareWorkerMetadata(
|
|
|
416
416
|
type: "service",
|
|
417
417
|
name: bindingName,
|
|
418
418
|
service: "service" in binding ? binding.service : binding.name,
|
|
419
|
+
entrypoint:
|
|
420
|
+
"__entrypoint__" in binding ? binding.__entrypoint__ : undefined,
|
|
419
421
|
});
|
|
420
422
|
} else if (binding.type === "durable_object_namespace") {
|
|
421
423
|
meta.bindings.push({
|
|
@@ -491,12 +493,6 @@ export async function prepareWorkerMetadata(
|
|
|
491
493
|
name: bindingName,
|
|
492
494
|
index_name: binding.name,
|
|
493
495
|
});
|
|
494
|
-
} else if (binding.type === "ai_gateway") {
|
|
495
|
-
// AI Gateway binding - just needs the name property
|
|
496
|
-
meta.bindings.push({
|
|
497
|
-
type: "ai",
|
|
498
|
-
name: bindingName,
|
|
499
|
-
});
|
|
500
496
|
} else if (binding.type === "hyperdrive") {
|
|
501
497
|
// Hyperdrive binding
|
|
502
498
|
meta.bindings.push({
|
|
@@ -510,6 +506,12 @@ export async function prepareWorkerMetadata(
|
|
|
510
506
|
name: bindingName,
|
|
511
507
|
});
|
|
512
508
|
} else if (binding.type === "ai") {
|
|
509
|
+
const existing = meta.bindings.find((b) => b.type === "ai");
|
|
510
|
+
if (existing) {
|
|
511
|
+
throw new Error(
|
|
512
|
+
`Workers cannot have multiple AI bindings. Binding "${bindingName}" conflicts with "${existing.name}".`,
|
|
513
|
+
);
|
|
514
|
+
}
|
|
513
515
|
meta.bindings.push({
|
|
514
516
|
type: "ai",
|
|
515
517
|
name: bindingName,
|
|
@@ -43,7 +43,7 @@ export interface WorkerStubProps<
|
|
|
43
43
|
*/
|
|
44
44
|
export interface WorkerStub<
|
|
45
45
|
RPC extends Rpc.WorkerEntrypointBranded = Rpc.WorkerEntrypointBranded,
|
|
46
|
-
>
|
|
46
|
+
> {
|
|
47
47
|
type: "service";
|
|
48
48
|
/**
|
|
49
49
|
* The name of the worker
|
|
@@ -64,8 +64,8 @@ export interface WorkerStub<
|
|
|
64
64
|
__rpc__?: RPC;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
export function isWorkerStub(resource:
|
|
68
|
-
return resource[ResourceKind] === "cloudflare::WorkerStub";
|
|
67
|
+
export function isWorkerStub(resource: any): resource is WorkerStub {
|
|
68
|
+
return resource?.[ResourceKind] === "cloudflare::WorkerStub";
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/**
|
|
@@ -120,12 +120,12 @@ export const WorkerStub = Resource("cloudflare::WorkerStub", async function <
|
|
|
120
120
|
: undefined;
|
|
121
121
|
|
|
122
122
|
// Return the worker stub info
|
|
123
|
-
return
|
|
123
|
+
return {
|
|
124
124
|
type: "service",
|
|
125
125
|
__rpc__: props.rpc as unknown as RPC,
|
|
126
126
|
...props,
|
|
127
127
|
url: subdomain?.url,
|
|
128
|
-
}
|
|
128
|
+
} as WorkerStub<RPC>;
|
|
129
129
|
});
|
|
130
130
|
|
|
131
131
|
async function exists(
|
|
@@ -37,8 +37,7 @@ interface WorkerSubdomainProps extends CloudflareApiOptions {
|
|
|
37
37
|
dev?: boolean;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export interface WorkerSubdomain
|
|
41
|
-
extends Resource<"cloudflare::WorkerSubdomain"> {
|
|
40
|
+
export interface WorkerSubdomain {
|
|
42
41
|
/**
|
|
43
42
|
* The `workers.dev` URL for the worker or preview version.
|
|
44
43
|
*/
|
|
@@ -49,13 +48,13 @@ export const WorkerSubdomain = Resource(
|
|
|
49
48
|
"cloudflare::WorkerSubdomain",
|
|
50
49
|
async function (
|
|
51
50
|
this: Context<WorkerSubdomain>,
|
|
52
|
-
|
|
51
|
+
_id: string,
|
|
53
52
|
props: WorkerSubdomainProps,
|
|
54
53
|
) {
|
|
55
54
|
if (this.scope.local && props.dev) {
|
|
56
|
-
return
|
|
55
|
+
return {
|
|
57
56
|
url: this.output?.url ?? "https://unavailable.alchemy.run",
|
|
58
|
-
}
|
|
57
|
+
};
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
const api = await createCloudflareApi(props);
|
|
@@ -74,9 +73,9 @@ export const WorkerSubdomain = Resource(
|
|
|
74
73
|
} else {
|
|
75
74
|
url = `https://${props.scriptName}.${base}`;
|
|
76
75
|
}
|
|
77
|
-
return
|
|
76
|
+
return {
|
|
78
77
|
url,
|
|
79
|
-
}
|
|
78
|
+
};
|
|
80
79
|
},
|
|
81
80
|
);
|
|
82
81
|
|