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
package/src/planetscale/role.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Context } from "../context.ts";
|
|
|
3
3
|
import { Resource } from "../resource.ts";
|
|
4
4
|
import type { Secret } from "../secret.ts";
|
|
5
5
|
import { logger } from "../util/logger.ts";
|
|
6
|
-
import {
|
|
6
|
+
import { createPlanetScaleClient, type PlanetScaleProps } from "./api.ts";
|
|
7
7
|
import type { CreateRoleData } from "./api/types.gen.ts";
|
|
8
8
|
import type { Branch } from "./branch.ts";
|
|
9
9
|
import type { Database } from "./database.ts";
|
|
@@ -63,9 +63,7 @@ export type InheritedRole =
|
|
|
63
63
|
| "pg_write_all_data"
|
|
64
64
|
| (string & {});
|
|
65
65
|
|
|
66
|
-
export interface Role
|
|
67
|
-
extends Resource<"planetscale::Role">,
|
|
68
|
-
Omit<RoleProps, "inheritedRoles"> {
|
|
66
|
+
export interface Role extends Omit<RoleProps, "inheritedRoles"> {
|
|
69
67
|
/**
|
|
70
68
|
* The unique identifier for the role
|
|
71
69
|
*/
|
|
@@ -165,7 +163,7 @@ export const Role = Resource(
|
|
|
165
163
|
id: string,
|
|
166
164
|
props: RoleProps,
|
|
167
165
|
): Promise<Role> {
|
|
168
|
-
const api =
|
|
166
|
+
const api = createPlanetScaleClient(props);
|
|
169
167
|
const organization =
|
|
170
168
|
typeof props.branch === "object"
|
|
171
169
|
? props.branch.organizationId
|
|
@@ -188,17 +186,17 @@ export const Role = Resource(
|
|
|
188
186
|
switch (this.phase) {
|
|
189
187
|
case "delete": {
|
|
190
188
|
if (this.output?.id) {
|
|
191
|
-
const res = await api.
|
|
189
|
+
const res = await api.deleteRole({
|
|
192
190
|
path: {
|
|
193
191
|
organization,
|
|
194
192
|
database,
|
|
195
193
|
branch,
|
|
196
194
|
id: this.output.id,
|
|
197
195
|
},
|
|
198
|
-
|
|
196
|
+
throwOnError: false,
|
|
199
197
|
});
|
|
200
198
|
if (res.error) {
|
|
201
|
-
switch (res.
|
|
199
|
+
switch (res.response.status) {
|
|
202
200
|
case 404:
|
|
203
201
|
break;
|
|
204
202
|
case 422:
|
|
@@ -223,7 +221,9 @@ export const Role = Resource(
|
|
|
223
221
|
return this.destroy();
|
|
224
222
|
}
|
|
225
223
|
case "create": {
|
|
226
|
-
const {
|
|
224
|
+
const {
|
|
225
|
+
data: { kind, ready },
|
|
226
|
+
} = await api.getBranch({
|
|
227
227
|
path: {
|
|
228
228
|
organization,
|
|
229
229
|
database,
|
|
@@ -239,7 +239,7 @@ export const Role = Resource(
|
|
|
239
239
|
if (!ready) {
|
|
240
240
|
await waitForBranchReady(api, organization, database, branch);
|
|
241
241
|
}
|
|
242
|
-
const
|
|
242
|
+
const { data } = await api.createRole({
|
|
243
243
|
path: {
|
|
244
244
|
organization,
|
|
245
245
|
database,
|
|
@@ -250,23 +250,23 @@ export const Role = Resource(
|
|
|
250
250
|
inherited_roles: inheritedRoles,
|
|
251
251
|
} as CreateRoleData["body"],
|
|
252
252
|
});
|
|
253
|
-
return
|
|
253
|
+
return {
|
|
254
254
|
...props,
|
|
255
|
-
id:
|
|
256
|
-
name:
|
|
257
|
-
host:
|
|
258
|
-
username:
|
|
259
|
-
password: alchemy.secret(
|
|
260
|
-
expiresAt:
|
|
261
|
-
databaseName:
|
|
255
|
+
id: data.id,
|
|
256
|
+
name: data.name,
|
|
257
|
+
host: data.access_host_url,
|
|
258
|
+
username: data.username,
|
|
259
|
+
password: alchemy.secret(data.password),
|
|
260
|
+
expiresAt: data.expires_at,
|
|
261
|
+
databaseName: data.database_name,
|
|
262
262
|
inheritedRoles,
|
|
263
263
|
connectionUrl: alchemy.secret(
|
|
264
|
-
`postgresql://${
|
|
264
|
+
`postgresql://${data.username}:${data.password}@${data.access_host_url}:5432/${data.database_name}?sslmode=verify-full`,
|
|
265
265
|
),
|
|
266
266
|
connectionUrlPooled: alchemy.secret(
|
|
267
|
-
`postgresql://${
|
|
267
|
+
`postgresql://${data.username}:${data.password}@${data.access_host_url}:6432/${data.database_name}?sslmode=verify-full`,
|
|
268
268
|
),
|
|
269
|
-
}
|
|
269
|
+
};
|
|
270
270
|
}
|
|
271
271
|
case "update": {
|
|
272
272
|
// According to the types, the only property that can be updated is the name.
|
package/src/planetscale/utils.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { poll } from "../util/poll.ts";
|
|
2
|
+
import type { PlanetScaleClient } from "./api/sdk.gen.ts";
|
|
2
3
|
import type { DatabaseBranch } from "./api/types.gen.ts";
|
|
3
4
|
|
|
4
5
|
export type PlanetScaleClusterSize =
|
|
@@ -54,14 +55,15 @@ export async function waitForBranchReady(
|
|
|
54
55
|
database: string,
|
|
55
56
|
branch: string,
|
|
56
57
|
): Promise<DatabaseBranch> {
|
|
57
|
-
|
|
58
|
+
const { data } = await poll({
|
|
58
59
|
description: `branch "${branch}" ready`,
|
|
59
60
|
fn: () =>
|
|
60
|
-
api.
|
|
61
|
+
api.getBranch({
|
|
61
62
|
path: { organization, database, name: branch },
|
|
62
63
|
}),
|
|
63
|
-
predicate: (
|
|
64
|
+
predicate: ({ data }) => data.ready,
|
|
64
65
|
});
|
|
66
|
+
return data;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
/**
|
|
@@ -75,10 +77,10 @@ export async function waitForDatabaseReady(
|
|
|
75
77
|
await poll({
|
|
76
78
|
description: `database "${database}" ready`,
|
|
77
79
|
fn: () =>
|
|
78
|
-
api.
|
|
80
|
+
api.getDatabase({
|
|
79
81
|
path: { organization, name: database },
|
|
80
82
|
}),
|
|
81
|
-
predicate: (
|
|
83
|
+
predicate: ({ data }) => data.ready,
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
|
|
@@ -95,11 +97,11 @@ export async function waitForKeyspaceReady(
|
|
|
95
97
|
await poll({
|
|
96
98
|
description: `keyspace "${keyspace}" ready`,
|
|
97
99
|
fn: () =>
|
|
98
|
-
api.
|
|
100
|
+
api.listKeyspaceResizes({
|
|
99
101
|
path: { organization, database, branch, name: keyspace },
|
|
100
102
|
}),
|
|
101
|
-
predicate: (
|
|
102
|
-
|
|
103
|
+
predicate: ({ data }) =>
|
|
104
|
+
data.data.every((item) => item.state !== "resizing"),
|
|
103
105
|
initialDelay: 100,
|
|
104
106
|
maxDelay: 1000,
|
|
105
107
|
});
|
|
@@ -155,7 +157,7 @@ async function ensureProductionBranch(
|
|
|
155
157
|
database: string,
|
|
156
158
|
name: string,
|
|
157
159
|
): Promise<void> {
|
|
158
|
-
const data = await api.
|
|
160
|
+
const { data } = await api.getBranch({
|
|
159
161
|
path: {
|
|
160
162
|
organization,
|
|
161
163
|
database,
|
|
@@ -166,7 +168,7 @@ async function ensureProductionBranch(
|
|
|
166
168
|
if (!data.ready) {
|
|
167
169
|
await waitForBranchReady(api, organization, database, name);
|
|
168
170
|
}
|
|
169
|
-
await api.
|
|
171
|
+
await api.promoteBranch({
|
|
170
172
|
path: { organization, database, name },
|
|
171
173
|
});
|
|
172
174
|
}
|
|
@@ -183,7 +185,7 @@ async function ensureMySQLClusterSize(
|
|
|
183
185
|
expectedClusterSize: PlanetScaleClusterSize,
|
|
184
186
|
): Promise<void> {
|
|
185
187
|
// 1. Load default keyspace
|
|
186
|
-
const keyspaces = await api.
|
|
188
|
+
const { data: keyspaces } = await api.listKeyspaces({
|
|
187
189
|
path: {
|
|
188
190
|
organization,
|
|
189
191
|
database,
|
|
@@ -207,7 +209,7 @@ async function ensureMySQLClusterSize(
|
|
|
207
209
|
// 3. If size mismatch, trigger resize and wait again
|
|
208
210
|
// Ideally this would use the undocumented Keyspaces API, but there seems to be a missing oauth scope that we cannot add via the console yet
|
|
209
211
|
if (defaultKeyspace.cluster_name !== expectedClusterSize) {
|
|
210
|
-
await api.
|
|
212
|
+
await api.updateBranchClusterConfig({
|
|
211
213
|
path: {
|
|
212
214
|
organization,
|
|
213
215
|
database,
|
|
@@ -237,7 +239,7 @@ async function ensurePostgresClusterSize(
|
|
|
237
239
|
branch: string,
|
|
238
240
|
expectedClusterSize: PlanetScaleClusterSize,
|
|
239
241
|
): Promise<void> {
|
|
240
|
-
const data = await api.
|
|
242
|
+
const { data } = await api.getBranch({
|
|
241
243
|
path: {
|
|
242
244
|
organization,
|
|
243
245
|
database,
|
|
@@ -248,7 +250,7 @@ async function ensurePostgresClusterSize(
|
|
|
248
250
|
return;
|
|
249
251
|
}
|
|
250
252
|
await waitForPendingPostgresChanges(api, organization, database, branch);
|
|
251
|
-
const change = await api.
|
|
253
|
+
const { data: change } = await api.updateBranchChangeRequest({
|
|
252
254
|
path: {
|
|
253
255
|
organization,
|
|
254
256
|
database,
|
|
@@ -280,11 +282,11 @@ async function waitForPendingPostgresChanges(
|
|
|
280
282
|
await poll({
|
|
281
283
|
description: `changes for branch "${branch}"`,
|
|
282
284
|
fn: () =>
|
|
283
|
-
api.
|
|
285
|
+
api.listBranchChangeRequests({
|
|
284
286
|
path: { organization, database, branch },
|
|
285
287
|
}),
|
|
286
|
-
predicate: (
|
|
287
|
-
|
|
288
|
+
predicate: ({ data }) =>
|
|
289
|
+
data.data.every(
|
|
288
290
|
(change) =>
|
|
289
291
|
change.state === "completed" ||
|
|
290
292
|
change.state === "canceled" ||
|
|
@@ -292,59 +294,3 @@ async function waitForPendingPostgresChanges(
|
|
|
292
294
|
),
|
|
293
295
|
});
|
|
294
296
|
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* Polls a function until it returns a result that satisfies the predicate.
|
|
298
|
-
*/
|
|
299
|
-
async function poll<T>(input: {
|
|
300
|
-
/**
|
|
301
|
-
* A description of the operation being polled.
|
|
302
|
-
*/
|
|
303
|
-
description: string;
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* The function to poll.
|
|
307
|
-
*/
|
|
308
|
-
fn: () => Promise<T>;
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* A predicate that determines if the operation has completed.
|
|
312
|
-
*/
|
|
313
|
-
predicate: (result: T) => boolean;
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* The initial delay between polls.
|
|
317
|
-
* @default 250ms
|
|
318
|
-
*/
|
|
319
|
-
initialDelay?: number;
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* The maximum delay between polls.
|
|
323
|
-
* @default 2_500ms (2.5 seconds)
|
|
324
|
-
*/
|
|
325
|
-
maxDelay?: number;
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* The timeout for the poll in milliseconds.
|
|
329
|
-
* @default 1_000_000 (~16 minutes)
|
|
330
|
-
*/
|
|
331
|
-
timeout?: number;
|
|
332
|
-
}): Promise<T> {
|
|
333
|
-
const start = Date.now();
|
|
334
|
-
let delay = input.initialDelay ?? 250;
|
|
335
|
-
while (true) {
|
|
336
|
-
const result = await input.fn();
|
|
337
|
-
if (input.predicate(result)) {
|
|
338
|
-
return result;
|
|
339
|
-
}
|
|
340
|
-
if (Date.now() - start >= (input.timeout ?? 1_000_000)) {
|
|
341
|
-
throw new Error(
|
|
342
|
-
`Timed out waiting for ${input.description} after ${Math.round(
|
|
343
|
-
(input.timeout ?? 1_000_000) / 1000,
|
|
344
|
-
)}s`,
|
|
345
|
-
);
|
|
346
|
-
}
|
|
347
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
348
|
-
delay = Math.min(delay * 2, input.maxDelay ?? 5_000);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
@@ -27,7 +27,7 @@ export interface RandomStringProps {
|
|
|
27
27
|
/**
|
|
28
28
|
* A cryptographically secure random string resource
|
|
29
29
|
*/
|
|
30
|
-
export interface RandomString
|
|
30
|
+
export interface RandomString {
|
|
31
31
|
/**
|
|
32
32
|
* The generated random string value, stored as a secret
|
|
33
33
|
*/
|
|
@@ -110,10 +110,10 @@ export const RandomString = Resource(
|
|
|
110
110
|
// this is an update (input props changed)
|
|
111
111
|
// but the length and encoding did not change
|
|
112
112
|
// so, we can just return the existing output (no-op)
|
|
113
|
-
return this
|
|
113
|
+
return this.output;
|
|
114
114
|
}
|
|
115
115
|
const crypto = await import("node:crypto");
|
|
116
|
-
return
|
|
116
|
+
return {
|
|
117
117
|
length,
|
|
118
118
|
encoding,
|
|
119
119
|
value: alchemy.secret(
|
|
@@ -121,6 +121,6 @@ export const RandomString = Resource(
|
|
|
121
121
|
.randomBytes(props.length ?? 32)
|
|
122
122
|
.toString(props.encoding ?? "hex"),
|
|
123
123
|
),
|
|
124
|
-
}
|
|
124
|
+
};
|
|
125
125
|
},
|
|
126
126
|
);
|
package/src/resource.ts
CHANGED
|
@@ -79,6 +79,10 @@ export type ResourceProps = {
|
|
|
79
79
|
[key: string]: any;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
+
export type ResourceAttributes = {
|
|
83
|
+
[key: string]: any;
|
|
84
|
+
};
|
|
85
|
+
|
|
82
86
|
export type Provider<
|
|
83
87
|
Type extends string = string,
|
|
84
88
|
F extends ResourceLifecycleHandler = ResourceLifecycleHandler,
|
|
@@ -116,7 +120,7 @@ type ResourceLifecycleHandler = (
|
|
|
116
120
|
this: Context<any, any>,
|
|
117
121
|
id: string,
|
|
118
122
|
props: any,
|
|
119
|
-
) => Promise<
|
|
123
|
+
) => Promise<ResourceAttributes>;
|
|
120
124
|
|
|
121
125
|
// see: https://x.com/samgoodwin89/status/1904640134097887653
|
|
122
126
|
type Handler<F extends (...args: any[]) => any> =
|
|
@@ -157,7 +161,7 @@ export function Resource<
|
|
|
157
161
|
const provider = (async (
|
|
158
162
|
resourceID: string,
|
|
159
163
|
props: ResourceProps,
|
|
160
|
-
): Promise<
|
|
164
|
+
): Promise<ResourceAttributes> => {
|
|
161
165
|
const scope = _Scope.current;
|
|
162
166
|
|
|
163
167
|
if (resourceID.includes(":")) {
|
package/src/sentry/client-key.ts
CHANGED
|
@@ -62,9 +62,7 @@ export interface ClientKeyProps {
|
|
|
62
62
|
/**
|
|
63
63
|
* Output returned after ClientKey creation/update
|
|
64
64
|
*/
|
|
65
|
-
export interface ClientKey
|
|
66
|
-
extends Resource<"sentry::ClientKey">,
|
|
67
|
-
ClientKeyProps {
|
|
65
|
+
export interface ClientKey extends ClientKeyProps {
|
|
68
66
|
/**
|
|
69
67
|
* The ID of the key
|
|
70
68
|
*/
|
|
@@ -295,7 +293,7 @@ export const ClientKey = Resource(
|
|
|
295
293
|
ClientKey,
|
|
296
294
|
keyof ClientKeyProps
|
|
297
295
|
>;
|
|
298
|
-
return
|
|
296
|
+
return {
|
|
299
297
|
...props,
|
|
300
298
|
id: data.id,
|
|
301
299
|
name: clientKeyName,
|
|
@@ -309,7 +307,7 @@ export const ClientKey = Resource(
|
|
|
309
307
|
browserSdk: data.browserSdk,
|
|
310
308
|
dateCreated: data.dateCreated,
|
|
311
309
|
dynamicSdkLoaderOptions: data.dynamicSdkLoaderOptions,
|
|
312
|
-
}
|
|
310
|
+
};
|
|
313
311
|
} catch (error) {
|
|
314
312
|
logger.error("Error creating/updating client key:", error);
|
|
315
313
|
throw error;
|
package/src/sentry/project.ts
CHANGED
|
@@ -57,9 +57,7 @@ export interface ProjectProps {
|
|
|
57
57
|
/**
|
|
58
58
|
* Output returned after Project creation/update
|
|
59
59
|
*/
|
|
60
|
-
export interface Project
|
|
61
|
-
extends Omit<Resource<"sentry::Project">, "team">,
|
|
62
|
-
Omit<ProjectProps, "team"> {
|
|
60
|
+
export interface Project extends Omit<ProjectProps, "team"> {
|
|
63
61
|
/**
|
|
64
62
|
* The ID of the project
|
|
65
63
|
*/
|
|
@@ -393,7 +391,7 @@ export const Project = Resource(
|
|
|
393
391
|
Project,
|
|
394
392
|
keyof ProjectProps
|
|
395
393
|
> & { team: Project["team"] };
|
|
396
|
-
return
|
|
394
|
+
return {
|
|
397
395
|
...props,
|
|
398
396
|
id: data.id,
|
|
399
397
|
name: projectName,
|
|
@@ -430,7 +428,7 @@ export const Project = Resource(
|
|
|
430
428
|
latestRelease: data.latestRelease,
|
|
431
429
|
hasUserReports: data.hasUserReports,
|
|
432
430
|
latestDeploys: data.latestDeploys,
|
|
433
|
-
}
|
|
431
|
+
} satisfies Project;
|
|
434
432
|
} catch (error) {
|
|
435
433
|
logger.error("Error creating/updating project:", error);
|
|
436
434
|
throw error;
|
package/src/sentry/team.ts
CHANGED
|
@@ -42,7 +42,7 @@ export interface TeamProps {
|
|
|
42
42
|
/**
|
|
43
43
|
* Output returned after Team creation/update
|
|
44
44
|
*/
|
|
45
|
-
export interface Team extends
|
|
45
|
+
export interface Team extends TeamProps {
|
|
46
46
|
/**
|
|
47
47
|
* The ID of the team
|
|
48
48
|
*/
|
|
@@ -230,7 +230,7 @@ export const Team = Resource(
|
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
const data = (await response.json()) as Omit<Team, keyof TeamProps>;
|
|
233
|
-
return
|
|
233
|
+
return {
|
|
234
234
|
...props,
|
|
235
235
|
id: data.id,
|
|
236
236
|
name: teamName,
|
|
@@ -243,7 +243,7 @@ export const Team = Resource(
|
|
|
243
243
|
isPending: data.isPending,
|
|
244
244
|
memberCount: data.memberCount,
|
|
245
245
|
avatar: data.avatar,
|
|
246
|
-
}
|
|
246
|
+
};
|
|
247
247
|
} catch (error) {
|
|
248
248
|
logger.error("Error creating/updating team:", error);
|
|
249
249
|
throw error;
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
type CloudflareApiOptions,
|
|
5
5
|
createCloudflareApi,
|
|
6
6
|
} from "../cloudflare/api.ts";
|
|
7
|
+
import { deleteObject, getObject, putObject } from "../cloudflare/bucket.ts";
|
|
7
8
|
import { ResourceScope } from "../resource.ts";
|
|
8
9
|
import type { Scope } from "../scope.ts";
|
|
9
10
|
import { deserialize, serialize } from "../serde.ts";
|
|
@@ -192,23 +193,10 @@ export class R2RestStateStore implements StateStore {
|
|
|
192
193
|
await this.ensureInitialized();
|
|
193
194
|
|
|
194
195
|
try {
|
|
195
|
-
const response = await
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
if (!response.ok && response.status !== 404) {
|
|
202
|
-
await handleApiError(response, "get", "object", key);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
return response;
|
|
206
|
-
},
|
|
207
|
-
// Retry on transient errors
|
|
208
|
-
isRetryableError,
|
|
209
|
-
5, // 5 retry attempts
|
|
210
|
-
1000, // Start with 1 second delay
|
|
211
|
-
);
|
|
196
|
+
const response = await getObject(this.api, {
|
|
197
|
+
bucketName: this.bucketName,
|
|
198
|
+
key: this.getObjectKey(key),
|
|
199
|
+
});
|
|
212
200
|
|
|
213
201
|
if (response.status === 404) {
|
|
214
202
|
return undefined;
|
|
@@ -281,29 +269,11 @@ export class R2RestStateStore implements StateStore {
|
|
|
281
269
|
// Serialize the state to handle cyclic structures
|
|
282
270
|
const serializedData = await serialize(this.scope, value);
|
|
283
271
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
serializedData,
|
|
290
|
-
{
|
|
291
|
-
headers: {
|
|
292
|
-
"Content-Type": "application/json",
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
);
|
|
296
|
-
|
|
297
|
-
if (!response.ok) {
|
|
298
|
-
await handleApiError(response, "put", "object", objectKey);
|
|
299
|
-
}
|
|
300
|
-
return response;
|
|
301
|
-
},
|
|
302
|
-
// Retry on transient errors
|
|
303
|
-
isRetryableError,
|
|
304
|
-
5, // 5 retry attempts
|
|
305
|
-
1000, // Start with 1 second delay
|
|
306
|
-
);
|
|
272
|
+
await putObject(this.api, {
|
|
273
|
+
bucketName: this.bucketName,
|
|
274
|
+
key: objectKey,
|
|
275
|
+
object: serializedData,
|
|
276
|
+
});
|
|
307
277
|
}
|
|
308
278
|
|
|
309
279
|
/**
|
|
@@ -314,22 +284,10 @@ export class R2RestStateStore implements StateStore {
|
|
|
314
284
|
async delete(key: string): Promise<void> {
|
|
315
285
|
await this.ensureInitialized();
|
|
316
286
|
|
|
317
|
-
await
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
if (!response.ok && response.status !== 404) {
|
|
324
|
-
await handleApiError(response, "delete", "object", key);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
return response;
|
|
328
|
-
},
|
|
329
|
-
isRetryableError,
|
|
330
|
-
5, // 5 retry attempts
|
|
331
|
-
1000, // Start with 1 second delay
|
|
332
|
-
);
|
|
287
|
+
await deleteObject(this.api, {
|
|
288
|
+
bucketName: this.bucketName,
|
|
289
|
+
key: this.getObjectKey(key),
|
|
290
|
+
});
|
|
333
291
|
}
|
|
334
292
|
|
|
335
293
|
/**
|
|
@@ -373,7 +331,7 @@ export class R2RestStateStore implements StateStore {
|
|
|
373
331
|
}
|
|
374
332
|
}
|
|
375
333
|
|
|
376
|
-
function isRetryableError(error: any): boolean {
|
|
334
|
+
export function isRetryableError(error: any): boolean {
|
|
377
335
|
if (error instanceof CloudflareApiError) {
|
|
378
336
|
return (
|
|
379
337
|
error.status === 500 ||
|
package/src/stripe/card.ts
CHANGED
|
@@ -107,7 +107,7 @@ export interface CardProps {
|
|
|
107
107
|
/**
|
|
108
108
|
* Output from the Stripe card
|
|
109
109
|
*/
|
|
110
|
-
export interface Card extends
|
|
110
|
+
export interface Card extends CardProps {
|
|
111
111
|
/**
|
|
112
112
|
* The ID of the card
|
|
113
113
|
*/
|
|
@@ -292,7 +292,7 @@ export const Card = Resource(
|
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
return
|
|
295
|
+
return {
|
|
296
296
|
id: card.id,
|
|
297
297
|
object: card.object,
|
|
298
298
|
customer: props.customer,
|
|
@@ -315,7 +315,7 @@ export const Card = Resource(
|
|
|
315
315
|
defaultForCurrency: card.default_for_currency || undefined,
|
|
316
316
|
metadata: card.metadata || undefined,
|
|
317
317
|
tokenizationMethod: card.tokenization_method || undefined,
|
|
318
|
-
}
|
|
318
|
+
};
|
|
319
319
|
} catch (error) {
|
|
320
320
|
logger.error("Error creating/updating card:", error);
|
|
321
321
|
throw error;
|
package/src/stripe/coupon.ts
CHANGED
|
@@ -89,7 +89,7 @@ export interface CouponProps {
|
|
|
89
89
|
/**
|
|
90
90
|
* Output from the Stripe coupon
|
|
91
91
|
*/
|
|
92
|
-
export interface Coupon extends
|
|
92
|
+
export interface Coupon extends CouponProps {
|
|
93
93
|
/**
|
|
94
94
|
* The ID of the coupon
|
|
95
95
|
*/
|
|
@@ -257,7 +257,7 @@ export const Coupon = Resource(
|
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
return
|
|
260
|
+
return {
|
|
261
261
|
id: coupon.id,
|
|
262
262
|
object: coupon.object,
|
|
263
263
|
duration: coupon.duration as CouponDuration,
|
|
@@ -273,7 +273,7 @@ export const Coupon = Resource(
|
|
|
273
273
|
metadata: coupon.metadata || undefined,
|
|
274
274
|
created: coupon.created,
|
|
275
275
|
livemode: coupon.livemode,
|
|
276
|
-
}
|
|
276
|
+
};
|
|
277
277
|
} catch (error) {
|
|
278
278
|
logger.error("Error creating/updating coupon:", error);
|
|
279
279
|
throw error;
|
package/src/stripe/customer.ts
CHANGED
|
@@ -163,7 +163,7 @@ export interface CustomerProps {
|
|
|
163
163
|
/**
|
|
164
164
|
* Output from the Stripe customer
|
|
165
165
|
*/
|
|
166
|
-
export interface Customer extends
|
|
166
|
+
export interface Customer extends CustomerProps {
|
|
167
167
|
/**
|
|
168
168
|
* The ID of the customer
|
|
169
169
|
*/
|
|
@@ -432,7 +432,7 @@ export const Customer = Resource(
|
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
-
return
|
|
435
|
+
return {
|
|
436
436
|
id: customer.id,
|
|
437
437
|
object: customer.object,
|
|
438
438
|
address: customer.address
|
|
@@ -506,7 +506,7 @@ export const Customer = Resource(
|
|
|
506
506
|
subscriptions: customer.subscriptions || undefined,
|
|
507
507
|
taxExempt: customer.tax_exempt || undefined,
|
|
508
508
|
taxIds: customer.tax_ids || undefined,
|
|
509
|
-
}
|
|
509
|
+
};
|
|
510
510
|
} catch (error) {
|
|
511
511
|
logger.error("Error creating/updating customer:", error);
|
|
512
512
|
throw error;
|
|
@@ -38,9 +38,7 @@ export interface EntitlementsFeatureProps {
|
|
|
38
38
|
/**
|
|
39
39
|
* Output from the Stripe entitlements feature
|
|
40
40
|
*/
|
|
41
|
-
export interface EntitlementsFeature
|
|
42
|
-
extends Resource<"stripe::EntitlementsFeature">,
|
|
43
|
-
EntitlementsFeatureProps {
|
|
41
|
+
export interface EntitlementsFeature extends EntitlementsFeatureProps {
|
|
44
42
|
/**
|
|
45
43
|
* The ID of the feature
|
|
46
44
|
*/
|
|
@@ -157,14 +155,14 @@ export const EntitlementsFeature = Resource(
|
|
|
157
155
|
}
|
|
158
156
|
}
|
|
159
157
|
|
|
160
|
-
return
|
|
158
|
+
return {
|
|
161
159
|
id: feature.id,
|
|
162
160
|
object: feature.object,
|
|
163
161
|
name: feature.name,
|
|
164
162
|
lookupKey: feature.lookup_key || undefined,
|
|
165
163
|
metadata: feature.metadata || undefined,
|
|
166
164
|
livemode: feature.livemode,
|
|
167
|
-
}
|
|
165
|
+
};
|
|
168
166
|
} catch (error) {
|
|
169
167
|
logger.error("Error creating/updating entitlements feature:", error);
|
|
170
168
|
throw error;
|
package/src/stripe/file.ts
CHANGED
|
@@ -49,7 +49,7 @@ export interface FileProps {
|
|
|
49
49
|
/**
|
|
50
50
|
* Output from the Stripe file
|
|
51
51
|
*/
|
|
52
|
-
export interface File
|
|
52
|
+
export interface File {
|
|
53
53
|
/**
|
|
54
54
|
* The ID of the file
|
|
55
55
|
*/
|
|
@@ -182,7 +182,7 @@ export const File = Resource(
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
return
|
|
185
|
+
return {
|
|
186
186
|
id: file.id,
|
|
187
187
|
object: file.object,
|
|
188
188
|
created: file.created,
|
|
@@ -212,7 +212,7 @@ export const File = Resource(
|
|
|
212
212
|
type: file.type || undefined,
|
|
213
213
|
url: file.url || undefined,
|
|
214
214
|
livemode: true,
|
|
215
|
-
}
|
|
215
|
+
};
|
|
216
216
|
} catch (error) {
|
|
217
217
|
logger.error("Error creating/retrieving file:", error);
|
|
218
218
|
throw error;
|