@robelest/convex-auth 0.0.4-preview.25 → 0.0.4-preview.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -36
- package/dist/bin.js +5765 -4880
- package/dist/browser/index.d.ts +30 -0
- package/dist/browser/index.js +93 -0
- package/dist/browser/locks.js +11 -0
- package/dist/browser/navigation.js +14 -0
- package/dist/{factors → browser}/passkey.js +23 -32
- package/dist/browser/runtime.js +92 -0
- package/dist/client/core/types.d.ts +452 -5
- package/dist/client/core/types.js +17 -0
- package/dist/client/errors.js +19 -0
- package/dist/client/factors/device.js +94 -0
- package/dist/{factors → client/factors}/totp.js +12 -4
- package/dist/client/index.d.ts +47 -1
- package/dist/client/index.js +269 -232
- package/dist/client/runtime/mutex.js +24 -0
- package/dist/client/runtime/proxy.js +30 -0
- package/dist/client/runtime/storage.js +45 -0
- package/dist/client/services/adapters.js +7 -0
- package/dist/client/services/http.js +6 -0
- package/dist/client/services/resolve.js +13 -0
- package/dist/client/services/runtime.js +6 -0
- package/dist/component/_generated/component.d.ts +1355 -1399
- package/dist/component/convex.config.d.ts +2 -2
- package/dist/component/index.d.ts +4 -26
- package/dist/component/index.js +1 -1
- package/dist/component/model.d.ts +26 -112
- package/dist/component/model.js +76 -54
- package/dist/component/modules.js +38 -0
- package/dist/component/public/factors/devices.js +1 -1
- package/dist/component/public/factors/passkeys.js +1 -1
- package/dist/component/public/factors/totp.js +1 -1
- package/dist/component/public/groups/core.js +2 -2
- package/dist/component/public/groups/invites.js +1 -1
- package/dist/component/public/groups/members.js +1 -1
- package/dist/component/public/identity/accounts.js +1 -1
- package/dist/component/public/identity/codes.js +1 -1
- package/dist/component/public/identity/sessions.js +39 -2
- package/dist/component/public/identity/tokens.js +82 -4
- package/dist/component/public/identity/users.js +1 -1
- package/dist/component/public/identity/verifiers.js +10 -4
- package/dist/component/public/security/keys.js +1 -1
- package/dist/component/public/security/limits.js +1 -1
- package/dist/component/public/{enterprise → sso}/audit.js +26 -26
- package/dist/component/public/sso/core.js +263 -0
- package/dist/component/public/sso/domains.js +280 -0
- package/dist/component/public/{enterprise → sso}/scim.js +87 -87
- package/dist/component/public/sso/secrets.js +125 -0
- package/dist/component/public/{enterprise → sso}/webhooks.js +59 -59
- package/dist/component/public.js +9 -9
- package/dist/component/schema.d.ts +472 -393
- package/dist/component/schema.js +36 -35
- package/dist/core/index.d.ts +380 -0
- package/dist/core/index.js +83 -0
- package/dist/otel.d.ts +69 -0
- package/dist/otel.js +82 -0
- package/dist/providers/anonymous.d.ts +15 -34
- package/dist/providers/anonymous.js +27 -35
- package/dist/providers/apple.d.ts +59 -0
- package/dist/providers/apple.js +58 -0
- package/dist/providers/credentials.d.ts +18 -34
- package/dist/providers/credentials.js +16 -27
- package/dist/providers/custom.d.ts +94 -0
- package/dist/providers/custom.js +119 -0
- package/dist/providers/device.d.ts +15 -49
- package/dist/providers/device.js +17 -34
- package/dist/providers/email.d.ts +21 -38
- package/dist/providers/email.js +36 -55
- package/dist/providers/github.d.ts +54 -0
- package/dist/providers/github.js +75 -0
- package/dist/providers/google.d.ts +54 -0
- package/dist/providers/google.js +61 -0
- package/dist/providers/index.d.ts +16 -12
- package/dist/providers/index.js +15 -11
- package/dist/providers/microsoft.d.ts +57 -0
- package/dist/providers/microsoft.js +101 -0
- package/dist/providers/passkey.d.ts +19 -35
- package/dist/providers/passkey.js +20 -30
- package/dist/providers/password.d.ts +17 -18
- package/dist/providers/password.js +121 -143
- package/dist/providers/phone.d.ts +13 -28
- package/dist/providers/phone.js +21 -46
- package/dist/providers/sso.d.ts +16 -36
- package/dist/providers/sso.js +21 -22
- package/dist/providers/totp.d.ts +13 -29
- package/dist/providers/totp.js +17 -27
- package/dist/server/auth-context.d.ts +204 -0
- package/dist/server/auth-context.js +76 -0
- package/dist/server/auth.d.ts +99 -244
- package/dist/server/auth.js +56 -152
- package/dist/server/componentContext.d.ts +12 -0
- package/dist/server/componentContext.js +1 -0
- package/dist/server/config.js +6 -67
- package/dist/server/constants.js +6 -0
- package/dist/server/contract.d.ts +105 -0
- package/dist/server/contract.js +43 -0
- package/dist/server/cookies.js +3 -2
- package/dist/server/core.js +31 -36
- package/dist/server/crypto.js +34 -44
- package/dist/server/db.js +6 -1
- package/dist/server/device.js +96 -130
- package/dist/server/env.js +48 -0
- package/dist/server/errors.js +20 -0
- package/dist/server/http.d.ts +15 -59
- package/dist/server/http.js +136 -120
- package/dist/server/identity.js +2 -2
- package/dist/server/index.d.ts +5 -4
- package/dist/server/index.js +3 -3
- package/dist/server/keys.js +10 -1
- package/dist/server/limits.js +26 -26
- package/dist/server/log.js +28 -0
- package/dist/server/mounts.d.ts +1107 -296
- package/dist/server/mounts.js +315 -196
- package/dist/server/mutations/account.js +11 -14
- package/dist/server/mutations/code.js +6 -5
- package/dist/server/mutations/invalidate.js +9 -11
- package/dist/server/mutations/oauth.js +112 -73
- package/dist/server/mutations/refresh.js +47 -97
- package/dist/server/mutations/register.js +37 -35
- package/dist/server/mutations/retrieve.js +16 -16
- package/dist/server/mutations/signature.js +15 -18
- package/dist/server/mutations/signin.js +10 -5
- package/dist/server/mutations/signout.js +11 -14
- package/dist/server/mutations/store.js +25 -18
- package/dist/server/mutations/verifier.js +11 -8
- package/dist/server/mutations/verify.js +53 -41
- package/dist/server/oauth/factory.js +44 -0
- package/dist/server/oauth/index.js +12 -0
- package/dist/server/oauth/runtime.js +248 -0
- package/dist/server/passkey.js +331 -365
- package/dist/server/payloads.d.ts +16 -0
- package/dist/server/payloads.js +30 -0
- package/dist/server/{ssr.d.ts → prefetch.d.ts} +2 -2
- package/dist/server/prefetch.js +635 -0
- package/dist/server/random.js +19 -0
- package/dist/server/redirects.js +10 -5
- package/dist/server/refresh.js +14 -86
- package/dist/server/runtime.d.ts +531 -31
- package/dist/server/runtime.js +106 -267
- package/dist/server/secret.js +44 -0
- package/dist/server/services/config.js +10 -0
- package/dist/server/services/group.js +211 -0
- package/dist/server/services/logger.js +8 -0
- package/dist/server/services/providers.js +22 -0
- package/dist/server/services/refresh.js +8 -0
- package/dist/server/services/resolve.js +27 -0
- package/dist/server/services/signin.js +8 -0
- package/dist/server/sessions.js +35 -34
- package/dist/server/signin.js +229 -140
- package/dist/server/{enterprise → sso}/config.js +10 -3
- package/dist/server/sso/domain.d.ts +614 -0
- package/dist/server/sso/domain.js +1175 -0
- package/dist/server/sso/http.js +1060 -0
- package/dist/server/sso/oidc.js +324 -0
- package/dist/server/sso/policies.js +59 -0
- package/dist/server/sso/policy.js +139 -0
- package/dist/server/sso/profile.js +22 -0
- package/dist/server/sso/provision.js +179 -0
- package/dist/{component/server/enterprise → server/sso}/saml.js +142 -56
- package/dist/{component/server/enterprise → server/sso}/scim.js +13 -7
- package/dist/server/sso/shared.js +74 -0
- package/dist/server/sso/validators.js +88 -0
- package/dist/server/sso/webhook.js +94 -0
- package/dist/server/tokens.js +16 -4
- package/dist/server/totp.js +155 -164
- package/dist/server/types.d.ts +306 -296
- package/dist/server/types.js +1 -30
- package/dist/server/url.js +32 -0
- package/dist/server/users.js +74 -40
- package/dist/server/utils/cache.js +51 -0
- package/dist/server/utils/dispatch.js +36 -0
- package/dist/server/utils/retry.js +24 -0
- package/dist/server/utils/span.js +32 -0
- package/dist/shared/errors.js +19 -0
- package/dist/shared/log.js +45 -0
- package/{src/test.ts → dist/test.d.ts} +21 -22
- package/dist/test.js +51 -0
- package/package.json +70 -42
- package/dist/authorization/index.d.ts.map +0 -1
- package/dist/authorization/index.js.map +0 -1
- package/dist/client/core/types.d.ts.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/component/_generated/api.d.ts +0 -75
- package/dist/component/_generated/api.d.ts.map +0 -1
- package/dist/component/_generated/api.js.map +0 -1
- package/dist/component/_generated/component.d.ts.map +0 -1
- package/dist/component/_generated/dataModel.d.ts +0 -42
- package/dist/component/_generated/dataModel.d.ts.map +0 -1
- package/dist/component/_generated/server.d.ts +0 -117
- package/dist/component/_generated/server.d.ts.map +0 -1
- package/dist/component/_generated/server.js.map +0 -1
- package/dist/component/_virtual/rolldown_runtime.js +0 -18
- package/dist/component/client/core/types.d.ts +0 -2
- package/dist/component/client/index.d.ts +0 -1
- package/dist/component/convex.config.d.ts.map +0 -1
- package/dist/component/convex.config.js.map +0 -1
- package/dist/component/functions.d.ts +0 -25
- package/dist/component/functions.d.ts.map +0 -1
- package/dist/component/functions.js.map +0 -1
- package/dist/component/index.d.ts.map +0 -1
- package/dist/component/model.d.ts.map +0 -1
- package/dist/component/model.js.map +0 -1
- package/dist/component/providers/anonymous.d.ts +0 -54
- package/dist/component/providers/anonymous.d.ts.map +0 -1
- package/dist/component/providers/credentials.d.ts +0 -38
- package/dist/component/providers/credentials.d.ts.map +0 -1
- package/dist/component/providers/device.d.ts +0 -67
- package/dist/component/providers/device.d.ts.map +0 -1
- package/dist/component/providers/email.d.ts +0 -62
- package/dist/component/providers/email.d.ts.map +0 -1
- package/dist/component/providers/oauth.d.ts +0 -25
- package/dist/component/providers/oauth.d.ts.map +0 -1
- package/dist/component/providers/oauth.js +0 -13
- package/dist/component/providers/oauth.js.map +0 -1
- package/dist/component/providers/passkey.d.ts +0 -57
- package/dist/component/providers/passkey.d.ts.map +0 -1
- package/dist/component/providers/password.d.ts +0 -88
- package/dist/component/providers/password.d.ts.map +0 -1
- package/dist/component/providers/phone.d.ts +0 -48
- package/dist/component/providers/phone.d.ts.map +0 -1
- package/dist/component/providers/sso.d.ts +0 -50
- package/dist/component/providers/sso.d.ts.map +0 -1
- package/dist/component/providers/totp.d.ts +0 -45
- package/dist/component/providers/totp.d.ts.map +0 -1
- package/dist/component/public/enterprise/audit.d.ts +0 -73
- package/dist/component/public/enterprise/audit.d.ts.map +0 -1
- package/dist/component/public/enterprise/audit.js.map +0 -1
- package/dist/component/public/enterprise/core.d.ts +0 -176
- package/dist/component/public/enterprise/core.d.ts.map +0 -1
- package/dist/component/public/enterprise/core.js +0 -292
- package/dist/component/public/enterprise/core.js.map +0 -1
- package/dist/component/public/enterprise/domains.d.ts +0 -174
- package/dist/component/public/enterprise/domains.d.ts.map +0 -1
- package/dist/component/public/enterprise/domains.js +0 -271
- package/dist/component/public/enterprise/domains.js.map +0 -1
- package/dist/component/public/enterprise/scim.d.ts +0 -245
- package/dist/component/public/enterprise/scim.d.ts.map +0 -1
- package/dist/component/public/enterprise/scim.js.map +0 -1
- package/dist/component/public/enterprise/secrets.d.ts +0 -78
- package/dist/component/public/enterprise/secrets.d.ts.map +0 -1
- package/dist/component/public/enterprise/secrets.js +0 -118
- package/dist/component/public/enterprise/secrets.js.map +0 -1
- package/dist/component/public/enterprise/webhooks.d.ts +0 -211
- package/dist/component/public/enterprise/webhooks.d.ts.map +0 -1
- package/dist/component/public/enterprise/webhooks.js.map +0 -1
- package/dist/component/public/factors/devices.d.ts +0 -157
- package/dist/component/public/factors/devices.d.ts.map +0 -1
- package/dist/component/public/factors/devices.js.map +0 -1
- package/dist/component/public/factors/passkeys.d.ts +0 -175
- package/dist/component/public/factors/passkeys.d.ts.map +0 -1
- package/dist/component/public/factors/passkeys.js.map +0 -1
- package/dist/component/public/factors/totp.d.ts +0 -189
- package/dist/component/public/factors/totp.d.ts.map +0 -1
- package/dist/component/public/factors/totp.js.map +0 -1
- package/dist/component/public/groups/core.d.ts +0 -137
- package/dist/component/public/groups/core.d.ts.map +0 -1
- package/dist/component/public/groups/core.js.map +0 -1
- package/dist/component/public/groups/invites.d.ts +0 -217
- package/dist/component/public/groups/invites.d.ts.map +0 -1
- package/dist/component/public/groups/invites.js.map +0 -1
- package/dist/component/public/groups/members.d.ts +0 -204
- package/dist/component/public/groups/members.d.ts.map +0 -1
- package/dist/component/public/groups/members.js.map +0 -1
- package/dist/component/public/identity/accounts.d.ts +0 -147
- package/dist/component/public/identity/accounts.d.ts.map +0 -1
- package/dist/component/public/identity/accounts.js.map +0 -1
- package/dist/component/public/identity/codes.d.ts +0 -104
- package/dist/component/public/identity/codes.d.ts.map +0 -1
- package/dist/component/public/identity/codes.js.map +0 -1
- package/dist/component/public/identity/sessions.d.ts +0 -128
- package/dist/component/public/identity/sessions.d.ts.map +0 -1
- package/dist/component/public/identity/sessions.js.map +0 -1
- package/dist/component/public/identity/tokens.d.ts +0 -169
- package/dist/component/public/identity/tokens.d.ts.map +0 -1
- package/dist/component/public/identity/tokens.js.map +0 -1
- package/dist/component/public/identity/users.d.ts +0 -212
- package/dist/component/public/identity/users.d.ts.map +0 -1
- package/dist/component/public/identity/users.js.map +0 -1
- package/dist/component/public/identity/verifiers.d.ts +0 -116
- package/dist/component/public/identity/verifiers.d.ts.map +0 -1
- package/dist/component/public/identity/verifiers.js.map +0 -1
- package/dist/component/public/security/keys.d.ts +0 -209
- package/dist/component/public/security/keys.d.ts.map +0 -1
- package/dist/component/public/security/keys.js.map +0 -1
- package/dist/component/public/security/limits.d.ts +0 -114
- package/dist/component/public/security/limits.d.ts.map +0 -1
- package/dist/component/public/security/limits.js.map +0 -1
- package/dist/component/public.d.ts +0 -28
- package/dist/component/public.d.ts.map +0 -1
- package/dist/component/schema.d.ts.map +0 -1
- package/dist/component/schema.js.map +0 -1
- package/dist/component/server/auth.d.ts +0 -447
- package/dist/component/server/auth.d.ts.map +0 -1
- package/dist/component/server/auth.js +0 -254
- package/dist/component/server/auth.js.map +0 -1
- package/dist/component/server/config.js +0 -121
- package/dist/component/server/config.js.map +0 -1
- package/dist/component/server/context.js +0 -53
- package/dist/component/server/context.js.map +0 -1
- package/dist/component/server/cookies.js +0 -47
- package/dist/component/server/cookies.js.map +0 -1
- package/dist/component/server/core.js +0 -576
- package/dist/component/server/core.js.map +0 -1
- package/dist/component/server/crypto.js +0 -56
- package/dist/component/server/crypto.js.map +0 -1
- package/dist/component/server/db.js +0 -87
- package/dist/component/server/db.js.map +0 -1
- package/dist/component/server/device.js +0 -152
- package/dist/component/server/device.js.map +0 -1
- package/dist/component/server/enterprise/config.js +0 -46
- package/dist/component/server/enterprise/config.js.map +0 -1
- package/dist/component/server/enterprise/domain.js +0 -974
- package/dist/component/server/enterprise/domain.js.map +0 -1
- package/dist/component/server/enterprise/http.js +0 -787
- package/dist/component/server/enterprise/http.js.map +0 -1
- package/dist/component/server/enterprise/oidc.js +0 -248
- package/dist/component/server/enterprise/oidc.js.map +0 -1
- package/dist/component/server/enterprise/policy.js +0 -85
- package/dist/component/server/enterprise/policy.js.map +0 -1
- package/dist/component/server/enterprise/saml.js.map +0 -1
- package/dist/component/server/enterprise/scim.js.map +0 -1
- package/dist/component/server/enterprise/shared.js +0 -51
- package/dist/component/server/enterprise/shared.js.map +0 -1
- package/dist/component/server/http.d.ts +0 -85
- package/dist/component/server/http.d.ts.map +0 -1
- package/dist/component/server/http.js +0 -351
- package/dist/component/server/http.js.map +0 -1
- package/dist/component/server/identity.js +0 -16
- package/dist/component/server/identity.js.map +0 -1
- package/dist/component/server/keys.js +0 -96
- package/dist/component/server/keys.js.map +0 -1
- package/dist/component/server/limits.js +0 -52
- package/dist/component/server/limits.js.map +0 -1
- package/dist/component/server/mutations/account.js +0 -46
- package/dist/component/server/mutations/account.js.map +0 -1
- package/dist/component/server/mutations/code.js +0 -68
- package/dist/component/server/mutations/code.js.map +0 -1
- package/dist/component/server/mutations/invalidate.js +0 -32
- package/dist/component/server/mutations/invalidate.js.map +0 -1
- package/dist/component/server/mutations/oauth.js +0 -116
- package/dist/component/server/mutations/oauth.js.map +0 -1
- package/dist/component/server/mutations/refresh.js +0 -119
- package/dist/component/server/mutations/refresh.js.map +0 -1
- package/dist/component/server/mutations/register.js +0 -87
- package/dist/component/server/mutations/register.js.map +0 -1
- package/dist/component/server/mutations/retrieve.js +0 -61
- package/dist/component/server/mutations/retrieve.js.map +0 -1
- package/dist/component/server/mutations/signature.js +0 -38
- package/dist/component/server/mutations/signature.js.map +0 -1
- package/dist/component/server/mutations/signin.js +0 -27
- package/dist/component/server/mutations/signin.js.map +0 -1
- package/dist/component/server/mutations/signout.js +0 -27
- package/dist/component/server/mutations/signout.js.map +0 -1
- package/dist/component/server/mutations/store/refs.js +0 -15
- package/dist/component/server/mutations/store/refs.js.map +0 -1
- package/dist/component/server/mutations/store.js +0 -70
- package/dist/component/server/mutations/store.js.map +0 -1
- package/dist/component/server/mutations/verifier.js +0 -18
- package/dist/component/server/mutations/verifier.js.map +0 -1
- package/dist/component/server/mutations/verify.js +0 -98
- package/dist/component/server/mutations/verify.js.map +0 -1
- package/dist/component/server/oauth.js +0 -242
- package/dist/component/server/oauth.js.map +0 -1
- package/dist/component/server/passkey.js +0 -415
- package/dist/component/server/passkey.js.map +0 -1
- package/dist/component/server/redirects.js +0 -40
- package/dist/component/server/redirects.js.map +0 -1
- package/dist/component/server/refresh.js +0 -99
- package/dist/component/server/refresh.js.map +0 -1
- package/dist/component/server/runtime.d.ts +0 -136
- package/dist/component/server/runtime.d.ts.map +0 -1
- package/dist/component/server/runtime.js +0 -456
- package/dist/component/server/runtime.js.map +0 -1
- package/dist/component/server/sessions.js +0 -71
- package/dist/component/server/sessions.js.map +0 -1
- package/dist/component/server/signin.js +0 -225
- package/dist/component/server/signin.js.map +0 -1
- package/dist/component/server/tokens.js +0 -17
- package/dist/component/server/tokens.js.map +0 -1
- package/dist/component/server/totp.js +0 -208
- package/dist/component/server/totp.js.map +0 -1
- package/dist/component/server/types.d.ts +0 -949
- package/dist/component/server/types.d.ts.map +0 -1
- package/dist/component/server/types.js +0 -79
- package/dist/component/server/types.js.map +0 -1
- package/dist/component/server/users.js +0 -123
- package/dist/component/server/users.js.map +0 -1
- package/dist/component/server/utils.js +0 -140
- package/dist/component/server/utils.js.map +0 -1
- package/dist/core/types.d.ts +0 -361
- package/dist/core/types.d.ts.map +0 -1
- package/dist/factors/device.js +0 -104
- package/dist/factors/device.js.map +0 -1
- package/dist/factors/passkey.js.map +0 -1
- package/dist/factors/totp.js.map +0 -1
- package/dist/providers/anonymous.d.ts.map +0 -1
- package/dist/providers/anonymous.js.map +0 -1
- package/dist/providers/credentials.d.ts.map +0 -1
- package/dist/providers/credentials.js.map +0 -1
- package/dist/providers/device.d.ts.map +0 -1
- package/dist/providers/device.js.map +0 -1
- package/dist/providers/email.d.ts.map +0 -1
- package/dist/providers/email.js.map +0 -1
- package/dist/providers/oauth.d.ts +0 -69
- package/dist/providers/oauth.d.ts.map +0 -1
- package/dist/providers/oauth.js +0 -43
- package/dist/providers/oauth.js.map +0 -1
- package/dist/providers/passkey.d.ts.map +0 -1
- package/dist/providers/passkey.js.map +0 -1
- package/dist/providers/password.d.ts.map +0 -1
- package/dist/providers/password.js.map +0 -1
- package/dist/providers/phone.d.ts.map +0 -1
- package/dist/providers/phone.js.map +0 -1
- package/dist/providers/sso.d.ts.map +0 -1
- package/dist/providers/sso.js.map +0 -1
- package/dist/providers/totp.d.ts.map +0 -1
- package/dist/providers/totp.js.map +0 -1
- package/dist/runtime/browser.js +0 -68
- package/dist/runtime/browser.js.map +0 -1
- package/dist/runtime/invite.js.map +0 -1
- package/dist/runtime/proxy.js +0 -70
- package/dist/runtime/proxy.js.map +0 -1
- package/dist/runtime/storage.js +0 -37
- package/dist/runtime/storage.js.map +0 -1
- package/dist/server/auth.d.ts.map +0 -1
- package/dist/server/auth.js.map +0 -1
- package/dist/server/config.d.ts +0 -1
- package/dist/server/config.js.map +0 -1
- package/dist/server/context.d.ts +0 -1
- package/dist/server/context.js.map +0 -1
- package/dist/server/cookies.d.ts +0 -1
- package/dist/server/cookies.js.map +0 -1
- package/dist/server/core.d.ts +0 -1315
- package/dist/server/core.d.ts.map +0 -1
- package/dist/server/core.js.map +0 -1
- package/dist/server/crypto.d.ts +0 -8
- package/dist/server/crypto.d.ts.map +0 -1
- package/dist/server/crypto.js.map +0 -1
- package/dist/server/db.d.ts +0 -1
- package/dist/server/db.js.map +0 -1
- package/dist/server/device.d.ts +0 -1
- package/dist/server/device.js.map +0 -1
- package/dist/server/enterprise/config.d.ts +0 -1
- package/dist/server/enterprise/config.js.map +0 -1
- package/dist/server/enterprise/domain.d.ts +0 -401
- package/dist/server/enterprise/domain.d.ts.map +0 -1
- package/dist/server/enterprise/domain.js +0 -974
- package/dist/server/enterprise/domain.js.map +0 -1
- package/dist/server/enterprise/http.d.ts +0 -26
- package/dist/server/enterprise/http.d.ts.map +0 -1
- package/dist/server/enterprise/http.js +0 -787
- package/dist/server/enterprise/http.js.map +0 -1
- package/dist/server/enterprise/oidc.d.ts +0 -1
- package/dist/server/enterprise/oidc.js +0 -248
- package/dist/server/enterprise/oidc.js.map +0 -1
- package/dist/server/enterprise/policy.d.ts +0 -1
- package/dist/server/enterprise/policy.js +0 -85
- package/dist/server/enterprise/policy.js.map +0 -1
- package/dist/server/enterprise/saml.d.ts +0 -1
- package/dist/server/enterprise/saml.js +0 -338
- package/dist/server/enterprise/saml.js.map +0 -1
- package/dist/server/enterprise/scim.d.ts +0 -1
- package/dist/server/enterprise/scim.js +0 -97
- package/dist/server/enterprise/scim.js.map +0 -1
- package/dist/server/enterprise/shared.d.ts +0 -5
- package/dist/server/enterprise/shared.d.ts.map +0 -1
- package/dist/server/enterprise/shared.js +0 -51
- package/dist/server/enterprise/shared.js.map +0 -1
- package/dist/server/enterprise/validators.d.ts +0 -1
- package/dist/server/enterprise/validators.js +0 -60
- package/dist/server/enterprise/validators.js.map +0 -1
- package/dist/server/http.d.ts.map +0 -1
- package/dist/server/http.js.map +0 -1
- package/dist/server/identity.d.ts +0 -1
- package/dist/server/identity.js.map +0 -1
- package/dist/server/keys.d.ts +0 -1
- package/dist/server/keys.js.map +0 -1
- package/dist/server/limits.d.ts +0 -1
- package/dist/server/limits.js.map +0 -1
- package/dist/server/mounts.d.ts.map +0 -1
- package/dist/server/mounts.js.map +0 -1
- package/dist/server/mutations/account.d.ts +0 -29
- package/dist/server/mutations/account.d.ts.map +0 -1
- package/dist/server/mutations/account.js.map +0 -1
- package/dist/server/mutations/code.d.ts +0 -30
- package/dist/server/mutations/code.d.ts.map +0 -1
- package/dist/server/mutations/code.js.map +0 -1
- package/dist/server/mutations/index.d.ts +0 -14
- package/dist/server/mutations/invalidate.d.ts +0 -20
- package/dist/server/mutations/invalidate.d.ts.map +0 -1
- package/dist/server/mutations/invalidate.js.map +0 -1
- package/dist/server/mutations/oauth.d.ts +0 -30
- package/dist/server/mutations/oauth.d.ts.map +0 -1
- package/dist/server/mutations/oauth.js.map +0 -1
- package/dist/server/mutations/refresh.d.ts +0 -21
- package/dist/server/mutations/refresh.d.ts.map +0 -1
- package/dist/server/mutations/refresh.js.map +0 -1
- package/dist/server/mutations/register.d.ts +0 -38
- package/dist/server/mutations/register.d.ts.map +0 -1
- package/dist/server/mutations/register.js.map +0 -1
- package/dist/server/mutations/retrieve.d.ts +0 -33
- package/dist/server/mutations/retrieve.d.ts.map +0 -1
- package/dist/server/mutations/retrieve.js.map +0 -1
- package/dist/server/mutations/signature.d.ts +0 -21
- package/dist/server/mutations/signature.d.ts.map +0 -1
- package/dist/server/mutations/signature.js.map +0 -1
- package/dist/server/mutations/signin.d.ts +0 -22
- package/dist/server/mutations/signin.d.ts.map +0 -1
- package/dist/server/mutations/signin.js.map +0 -1
- package/dist/server/mutations/signout.d.ts +0 -16
- package/dist/server/mutations/signout.d.ts.map +0 -1
- package/dist/server/mutations/signout.js.map +0 -1
- package/dist/server/mutations/store/refs.d.ts +0 -12
- package/dist/server/mutations/store/refs.d.ts.map +0 -1
- package/dist/server/mutations/store/refs.js.map +0 -1
- package/dist/server/mutations/store.d.ts +0 -306
- package/dist/server/mutations/store.d.ts.map +0 -1
- package/dist/server/mutations/store.js.map +0 -1
- package/dist/server/mutations/verifier.d.ts +0 -13
- package/dist/server/mutations/verifier.d.ts.map +0 -1
- package/dist/server/mutations/verifier.js.map +0 -1
- package/dist/server/mutations/verify.d.ts +0 -26
- package/dist/server/mutations/verify.d.ts.map +0 -1
- package/dist/server/mutations/verify.js.map +0 -1
- package/dist/server/oauth.d.ts +0 -1
- package/dist/server/oauth.js +0 -242
- package/dist/server/oauth.js.map +0 -1
- package/dist/server/passkey.d.ts +0 -27
- package/dist/server/passkey.d.ts.map +0 -1
- package/dist/server/passkey.js.map +0 -1
- package/dist/server/redirects.d.ts +0 -1
- package/dist/server/redirects.js.map +0 -1
- package/dist/server/refresh.d.ts +0 -1
- package/dist/server/refresh.js.map +0 -1
- package/dist/server/runtime.d.ts.map +0 -1
- package/dist/server/runtime.js.map +0 -1
- package/dist/server/sessions.d.ts +0 -1
- package/dist/server/sessions.js.map +0 -1
- package/dist/server/signin.d.ts +0 -1
- package/dist/server/signin.js.map +0 -1
- package/dist/server/ssr.d.ts.map +0 -1
- package/dist/server/ssr.js +0 -777
- package/dist/server/ssr.js.map +0 -1
- package/dist/server/templates.d.ts +0 -1
- package/dist/server/templates.js.map +0 -1
- package/dist/server/tokens.d.ts +0 -1
- package/dist/server/tokens.js.map +0 -1
- package/dist/server/totp.d.ts +0 -1
- package/dist/server/totp.js.map +0 -1
- package/dist/server/types.d.ts.map +0 -1
- package/dist/server/types.js.map +0 -1
- package/dist/server/users.d.ts +0 -1
- package/dist/server/users.js.map +0 -1
- package/dist/server/utils.d.ts +0 -1
- package/dist/server/utils.js +0 -140
- package/dist/server/utils.js.map +0 -1
- package/src/authorization/index.ts +0 -83
- package/src/cli/bin.ts +0 -5
- package/src/cli/command.ts +0 -70
- package/src/cli/index.ts +0 -1112
- package/src/cli/keys.ts +0 -23
- package/src/client/core/types.ts +0 -437
- package/src/client/factors/device.ts +0 -158
- package/src/client/factors/passkey.ts +0 -279
- package/src/client/factors/totp.ts +0 -150
- package/src/client/index.ts +0 -1124
- package/src/client/runtime/browser.ts +0 -112
- package/src/client/runtime/invite.ts +0 -63
- package/src/client/runtime/proxy.ts +0 -111
- package/src/client/runtime/storage.ts +0 -79
- package/src/component/_generated/api.ts +0 -96
- package/src/component/_generated/component.ts +0 -3774
- package/src/component/_generated/dataModel.ts +0 -60
- package/src/component/_generated/server.ts +0 -156
- package/src/component/convex.config.ts +0 -5
- package/src/component/functions.ts +0 -104
- package/src/component/index.ts +0 -42
- package/src/component/model.ts +0 -449
- package/src/component/public/enterprise/audit.ts +0 -125
- package/src/component/public/enterprise/core.ts +0 -355
- package/src/component/public/enterprise/domains.ts +0 -327
- package/src/component/public/enterprise/scim.ts +0 -397
- package/src/component/public/enterprise/secrets.ts +0 -133
- package/src/component/public/enterprise/webhooks.ts +0 -307
- package/src/component/public/factors/devices.ts +0 -224
- package/src/component/public/factors/passkeys.ts +0 -243
- package/src/component/public/factors/totp.ts +0 -259
- package/src/component/public/groups/core.ts +0 -481
- package/src/component/public/groups/invites.ts +0 -608
- package/src/component/public/groups/members.ts +0 -410
- package/src/component/public/identity/accounts.ts +0 -207
- package/src/component/public/identity/codes.ts +0 -149
- package/src/component/public/identity/sessions.ts +0 -210
- package/src/component/public/identity/tokens.ts +0 -251
- package/src/component/public/identity/users.ts +0 -355
- package/src/component/public/identity/verifiers.ts +0 -158
- package/src/component/public/security/keys.ts +0 -366
- package/src/component/public/security/limits.ts +0 -174
- package/src/component/public.ts +0 -27
- package/src/component/schema.ts +0 -505
- package/src/providers/anonymous.ts +0 -99
- package/src/providers/credentials.ts +0 -102
- package/src/providers/device.ts +0 -87
- package/src/providers/email.ts +0 -99
- package/src/providers/index.ts +0 -31
- package/src/providers/oauth.ts +0 -117
- package/src/providers/passkey.ts +0 -77
- package/src/providers/password.ts +0 -441
- package/src/providers/phone.ts +0 -93
- package/src/providers/sso.ts +0 -54
- package/src/providers/totp.ts +0 -62
- package/src/samlify.d.ts +0 -53
- package/src/server/auth.ts +0 -949
- package/src/server/config.ts +0 -200
- package/src/server/context.ts +0 -90
- package/src/server/cookies.ts +0 -49
- package/src/server/core.ts +0 -2004
- package/src/server/crypto.ts +0 -90
- package/src/server/db.ts +0 -203
- package/src/server/device.ts +0 -254
- package/src/server/enterprise/config.ts +0 -51
- package/src/server/enterprise/domain.ts +0 -1739
- package/src/server/enterprise/http.ts +0 -1331
- package/src/server/enterprise/oidc.ts +0 -500
- package/src/server/enterprise/policy.ts +0 -128
- package/src/server/enterprise/saml.ts +0 -578
- package/src/server/enterprise/scim.ts +0 -135
- package/src/server/enterprise/shared.ts +0 -134
- package/src/server/enterprise/validators.ts +0 -93
- package/src/server/http.ts +0 -790
- package/src/server/identity.ts +0 -18
- package/src/server/index.ts +0 -40
- package/src/server/keys.ts +0 -158
- package/src/server/limits.ts +0 -107
- package/src/server/mounts.ts +0 -924
- package/src/server/mutations/account.ts +0 -62
- package/src/server/mutations/code.ts +0 -119
- package/src/server/mutations/index.ts +0 -13
- package/src/server/mutations/invalidate.ts +0 -50
- package/src/server/mutations/oauth.ts +0 -243
- package/src/server/mutations/refresh.ts +0 -299
- package/src/server/mutations/register.ts +0 -155
- package/src/server/mutations/retrieve.ts +0 -109
- package/src/server/mutations/signature.ts +0 -57
- package/src/server/mutations/signin.ts +0 -54
- package/src/server/mutations/signout.ts +0 -43
- package/src/server/mutations/store/refs.ts +0 -10
- package/src/server/mutations/store.ts +0 -123
- package/src/server/mutations/verifier.ts +0 -34
- package/src/server/mutations/verify.ts +0 -200
- package/src/server/oauth.ts +0 -418
- package/src/server/passkey.ts +0 -838
- package/src/server/redirects.ts +0 -59
- package/src/server/refresh.ts +0 -218
- package/src/server/runtime.ts +0 -918
- package/src/server/sessions.ts +0 -132
- package/src/server/signin.ts +0 -445
- package/src/server/ssr.ts +0 -1747
- package/src/server/templates.ts +0 -82
- package/src/server/tokens.ts +0 -35
- package/src/server/totp.ts +0 -399
- package/src/server/types.ts +0 -1942
- package/src/server/users.ts +0 -291
- package/src/server/utils.ts +0 -220
- /package/dist/{runtime → client/runtime}/invite.js +0 -0
package/package.json
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robelest/convex-auth",
|
|
3
|
-
"version": "0.0.4-preview.
|
|
3
|
+
"version": "0.0.4-preview.28",
|
|
4
4
|
"description": "Authentication for Convex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"auth",
|
|
7
7
|
"authentication",
|
|
8
8
|
"authorization",
|
|
9
|
-
"convex"
|
|
10
|
-
"login",
|
|
11
|
-
"sign"
|
|
9
|
+
"convex"
|
|
12
10
|
],
|
|
13
11
|
"homepage": "https://auth.estifanos.com/",
|
|
14
12
|
"bugs": "https://github.com/robelest/convex-auth/issues",
|
|
@@ -21,7 +19,12 @@
|
|
|
21
19
|
"bin": "./dist/bin.js",
|
|
22
20
|
"files": [
|
|
23
21
|
"dist",
|
|
24
|
-
"
|
|
22
|
+
"!dist/**/*.map",
|
|
23
|
+
"!dist/index.js",
|
|
24
|
+
"!dist/model.d.ts",
|
|
25
|
+
"!dist/model.d.ts.map",
|
|
26
|
+
"!dist/schema.d.ts",
|
|
27
|
+
"!dist/schema.d.ts.map"
|
|
25
28
|
],
|
|
26
29
|
"type": "module",
|
|
27
30
|
"sideEffects": false,
|
|
@@ -29,11 +32,26 @@
|
|
|
29
32
|
"./_generated/component.js": {
|
|
30
33
|
"types": "./dist/component/_generated/component.d.ts"
|
|
31
34
|
},
|
|
32
|
-
"./test":
|
|
35
|
+
"./test": {
|
|
36
|
+
"types": "./dist/test.d.ts",
|
|
37
|
+
"import": "./dist/test.js"
|
|
38
|
+
},
|
|
33
39
|
"./client": {
|
|
34
40
|
"types": "./dist/client/index.d.ts",
|
|
35
41
|
"import": "./dist/client/index.js"
|
|
36
42
|
},
|
|
43
|
+
"./browser": {
|
|
44
|
+
"types": "./dist/browser/index.d.ts",
|
|
45
|
+
"import": "./dist/browser/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./otel": {
|
|
48
|
+
"types": "./dist/otel.d.ts",
|
|
49
|
+
"import": "./dist/otel.js"
|
|
50
|
+
},
|
|
51
|
+
"./core": {
|
|
52
|
+
"types": "./dist/core/index.d.ts",
|
|
53
|
+
"import": "./dist/core/index.js"
|
|
54
|
+
},
|
|
37
55
|
"./server": {
|
|
38
56
|
"types": "./dist/server/index.d.ts",
|
|
39
57
|
"import": "./dist/server/index.js"
|
|
@@ -63,63 +81,73 @@
|
|
|
63
81
|
"import": "./dist/providers/*.js"
|
|
64
82
|
}
|
|
65
83
|
},
|
|
84
|
+
"publishConfig": {
|
|
85
|
+
"access": "public"
|
|
86
|
+
},
|
|
87
|
+
"scripts": {
|
|
88
|
+
"build:lib": "vp exec tsdown",
|
|
89
|
+
"build": "rm -rf dist && vp run build:lib",
|
|
90
|
+
"typecheck": "vp exec tsc --project tsconfig.server.json --noEmit && vp exec tsc --project tsconfig.client.json --noEmit && vp exec tsc --project tsconfig.component.json --noEmit",
|
|
91
|
+
"typecheck:consumer": "vp exec tsc --project tsconfig.consumer.json --noEmit",
|
|
92
|
+
"check:attw": "vp exec attw --pack . --profile esm-only --exclude-entrypoints ./test ./_generated/component.js",
|
|
93
|
+
"check:publint": "vp exec publint --strict",
|
|
94
|
+
"check:packaging": "vp run check:attw && vp run check:publint",
|
|
95
|
+
"docs": "vp run --cwd ../../docs dev",
|
|
96
|
+
"lint": "vp run typecheck",
|
|
97
|
+
"spellcheck": "cspell \"docs/pages/**/*.md*\"",
|
|
98
|
+
"prepublishOnly": "vp run build && vp run typecheck:consumer && vp run check:packaging",
|
|
99
|
+
"test": "vp test --config ../../vite.config.ts --project convex --project node --project interop",
|
|
100
|
+
"test:once": "vp test --config ../../vite.config.ts --run --project convex --project node --project interop",
|
|
101
|
+
"convex:dev": "vp exec convex dev",
|
|
102
|
+
"convex:codegen": "vp exec convex codegen",
|
|
103
|
+
"convex:codegen:component": "vp exec convex codegen --component-dir ./src/component",
|
|
104
|
+
"convex:dashboard": "vp exec convex dashboard",
|
|
105
|
+
"convex:run": "vp exec convex run"
|
|
106
|
+
},
|
|
66
107
|
"dependencies": {
|
|
67
108
|
"@noble/hashes": "^2.0.1",
|
|
109
|
+
"@opentelemetry/api": "^1.9.1",
|
|
110
|
+
"@opentelemetry/resources": "^2.6.1",
|
|
111
|
+
"@opentelemetry/sdk-logs": "^0.214.0",
|
|
112
|
+
"@opentelemetry/sdk-metrics": "^2.6.1",
|
|
113
|
+
"@opentelemetry/sdk-trace-base": "^2.6.1",
|
|
114
|
+
"@opentelemetry/sdk-trace-node": "^2.6.1",
|
|
115
|
+
"@opentelemetry/sdk-trace-web": "^2.6.1",
|
|
116
|
+
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
68
117
|
"@oslojs/crypto": "^1.0.1",
|
|
69
118
|
"@oslojs/encoding": "^1.1.0",
|
|
70
119
|
"@oslojs/otp": "^1.1.0",
|
|
71
120
|
"@oslojs/webauthn": "^1.0.0",
|
|
72
|
-
"@robelest/
|
|
121
|
+
"@robelest/samlify": "workspace:*",
|
|
73
122
|
"arctic": "^3.7.0",
|
|
74
123
|
"cookie": "^1.1.1",
|
|
75
124
|
"fluent-convex": "^0.12.3",
|
|
76
125
|
"jose": "^6.1.3",
|
|
77
|
-
"jwt-decode": "^4.0.0"
|
|
78
|
-
"@robelest/samlify": "0.0.1-preview.2"
|
|
126
|
+
"jwt-decode": "^4.0.0"
|
|
79
127
|
},
|
|
80
128
|
"devDependencies": {
|
|
81
129
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
82
|
-
"@clack/prompts": "^1.
|
|
83
|
-
"@
|
|
130
|
+
"@clack/prompts": "^1.2.0",
|
|
131
|
+
"@types/figlet": "^1.7.0",
|
|
84
132
|
"@types/node": "25.2.2",
|
|
85
|
-
"convex": "
|
|
86
|
-
"convex-test": "
|
|
133
|
+
"convex": "catalog:",
|
|
134
|
+
"convex-test": "catalog:",
|
|
87
135
|
"cspell": "^9.6.4",
|
|
88
136
|
"dotenv": "^17.2.4",
|
|
89
137
|
"esbuild": "^0.27.3",
|
|
138
|
+
"figlet": "^1.11.0",
|
|
139
|
+
"gradient-string": "^3.0.0",
|
|
90
140
|
"publint": "^0.3.17",
|
|
91
141
|
"shelljs": "^0.10.0",
|
|
92
|
-
"tsdown": "
|
|
93
|
-
"typescript": "
|
|
94
|
-
"
|
|
95
|
-
"vite-plus": "^0.1.13"
|
|
142
|
+
"tsdown": "catalog:",
|
|
143
|
+
"typescript": "catalog:",
|
|
144
|
+
"vite-plus": "catalog:"
|
|
96
145
|
},
|
|
97
146
|
"peerDependencies": {
|
|
98
147
|
"convex": "^1.33.1"
|
|
99
148
|
},
|
|
100
149
|
"@comment devDependencies": [
|
|
101
|
-
"The CLI deps (
|
|
102
|
-
"
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
"scripts": {
|
|
106
|
-
"build:lib": "vp exec tsdown",
|
|
107
|
-
"build:component:dts": "vp exec node ../../scripts/fix-component-entrypoint-dts.js",
|
|
108
|
-
"build": "rm -rf dist && vp run build:lib && vp run build:component:dts",
|
|
109
|
-
"typecheck": "vp exec tsc --project tsconfig.server.json --noEmit && vp exec tsc --project tsconfig.client.json --noEmit && vp exec tsc --project tsconfig.component.json --noEmit",
|
|
110
|
-
"typecheck:consumer": "vp exec tsc --project tsconfig.consumer.json --noEmit",
|
|
111
|
-
"check:attw": "vp exec attw --pack . --profile esm-only --exclude-entrypoints ./test ./_generated/component.js",
|
|
112
|
-
"check:publint": "vp exec publint --strict",
|
|
113
|
-
"check:packaging": "vp run check:attw && vp run check:publint",
|
|
114
|
-
"docs": "vp run --cwd ../../docs dev",
|
|
115
|
-
"lint": "vp run typecheck",
|
|
116
|
-
"spellcheck": "cspell \"docs/pages/**/*.md*\"",
|
|
117
|
-
"test": "vp test --config ../../vite.config.ts --project convex --project node --project interop",
|
|
118
|
-
"test:once": "vp test --config ../../vite.config.ts --run --project convex --project node --project interop",
|
|
119
|
-
"convex:dev": "vp exec convex dev",
|
|
120
|
-
"convex:codegen": "vp exec convex codegen",
|
|
121
|
-
"convex:codegen:component": "vp exec convex codegen --component-dir ./src/component",
|
|
122
|
-
"convex:dashboard": "vp exec convex dashboard",
|
|
123
|
-
"convex:run": "vp exec convex run"
|
|
124
|
-
}
|
|
125
|
-
}
|
|
150
|
+
"The CLI deps (Effect and @effect/platform-node) are devDependencies",
|
|
151
|
+
"because they are bundled into dist/bin.js"
|
|
152
|
+
]
|
|
153
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/authorization/index.ts"],"mappings":";;AAoDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,WAAA,sBACO,MAAA;EAEjB,KAAA;EAAgB,MAAA;AAAA,GAAA,CAGpB,KAAA,EAAO,MAAA,iBAEK,MAAA;EACV,EAAA,EAAI,CAAA;EACJ,KAAA,GAAQ,MAAA,CAAO,CAAA;EACf,MAAA,EAAQ,KAAA,CAAM,MAAA,CAAO,CAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/authorization/index.ts"],"sourcesContent":["/**\n * Lightweight authorization helpers.\n *\n * @module\n */\n\n/**\n * Define typed role definitions for authorization.\n *\n * Transforms a declarative roles configuration object into a normalized\n * map where each role has an `id` (matching its key), an optional `label`,\n * and a typed `grants` array. The returned object is fully type-safe:\n * role IDs and grant strings are narrowed to their literal types, so\n * `member.inspect()` / `member.require()` and `member.create()` calls are checked at compile time.\n * This is the canonical way to define role metadata for the auth library.\n *\n * @param roles - An object mapping role IDs to their configuration.\n * Each entry must include a `grants` array of permission strings and\n * may include an optional human-readable `label`.\n * @typeParam TRoles - The object literal shape of your role definitions.\n * @returns An object with the same keys as `roles`, where each value\n * is `{ id, label?, grants }` — `id` is the role key as a string,\n * and `grants` is a mutable array of the declared grant strings.\n *\n * @example\n * ```ts\n * import { defineRoles } from \"@robelest/convex-auth/authorization\";\n *\n * const roles = defineRoles({\n * admin: { label: \"Administrator\", grants: [\"issues:write\", \"members:manage\"] },\n * member: { label: \"Member\", grants: [\"issues:write\"] },\n * viewer: { grants: [\"issues:read\"] },\n * });\n *\n * // roles.admin.id === \"admin\"\n * // roles.admin.grants === [\"issues:write\", \"members:manage\"]\n *\n * // Pass to createAuth:\n * const auth = createAuth(components.auth, {\n * providers: [...],\n * authorization: { roles },\n * });\n * ```\n *\n * @example\n * ```ts\n * type RoleId = keyof typeof roles;\n * // RoleId = \"admin\" | \"member\" | \"viewer\"\n * ```\n *\n * @see {@link ConvexAuthConfig}\n */\nexport function defineRoles<\n const TRoles extends Record<\n string,\n { label?: string; grants: readonly string[] }\n >,\n>(\n roles: TRoles,\n): {\n [K in keyof TRoles]: {\n id: K & string;\n label?: TRoles[K][\"label\"];\n grants: Array<TRoles[K][\"grants\"][number] & string>;\n };\n} {\n return Object.fromEntries(\n Object.entries(roles).map(([id, role]) => [\n id,\n {\n id,\n ...(role.label ? { label: role.label } : {}),\n grants: [...role.grants],\n },\n ]),\n ) as {\n [K in keyof TRoles]: {\n id: K & string;\n label?: TRoles[K][\"label\"];\n grants: Array<TRoles[K][\"grants\"][number] & string>;\n };\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,SAAgB,YAMd,OAOA;AACA,QAAO,OAAO,YACZ,OAAO,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,UAAU,CACxC,IACA;EACE;EACA,GAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,OAAO,GAAG,EAAE;EAC3C,QAAQ,CAAC,GAAG,KAAK,OAAO;EACzB,CACF,CAAC,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/core/types.ts"],"mappings":";;;;;;;;;;;;KA2HY,WAAA;EAKV,MAAA,EAAQ,iBAAA;EACR,OAAA,EAAS,iBAAA;EACT,KAAA,EAAO,iBAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/client/index.ts"],"mappings":";;;;AAgHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,MAAA,aACF,WAAA,8BAAyC,WAAA,CAAA,CACrD,OAAA,EAAS,aAAA,CAAc,GAAA,IAAO,UAAA,CAAW,GAAA"}
|
package/dist/client/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["url","key","options"],"sources":["../../src/client/index.ts"],"sourcesContent":["import { Fx } from \"@robelest/fx\";\nimport { ConvexHttpClient } from \"convex/browser\";\nimport { ConvexError, Value } from \"convex/values\";\n\nimport type {\n AuthApiRefs,\n AuthClient,\n AuthFlowContext,\n AuthHandshakeErrorCode,\n AuthSession,\n AuthState,\n ClientOptions,\n ConvexTransport,\n DeviceClient,\n DeviceCodeResult,\n HandshakeWaiter,\n PasskeyClient,\n PendingInvite,\n SignInActionResult,\n SignInResult,\n Storage,\n TotpClient,\n} from \"./core/types\";\nimport { createDeviceClient } from \"./factors/device\";\nimport { createPasskeyClient } from \"./factors/passkey\";\nimport { createTotpClient } from \"./factors/totp\";\nimport { browserMutex, getStorageListenerRegistry } from \"./runtime/browser\";\nimport { createInviteManager } from \"./runtime/invite\";\nimport {\n createProxyHelpers,\n isRetriableProxyRefreshError,\n isTransientNetworkError,\n} from \"./runtime/proxy\";\nimport { createStorageHelpers } from \"./runtime/storage\";\n\nexport type {\n AuthApiRefs,\n AuthClient,\n AuthState,\n ClientOptions,\n DeviceClient,\n DeviceCodeResult,\n PasskeyClient,\n PendingInvite,\n SignInResult,\n Storage,\n TotpClient,\n} from \"./core/types\";\n\nconst VERIFIER_STORAGE_KEY = \"__convexAuthOAuthVerifier\";\nconst JWT_STORAGE_KEY = \"__convexAuthJWT\";\nconst REFRESH_TOKEN_STORAGE_KEY = \"__convexAuthRefreshToken\";\nconst INVITE_TOKEN_KEY = \"__convexAuthPendingInvite\";\nconst INVITE_EMAIL_KEY = \"__convexAuthPendingInviteEmail\";\n\nconst RETRY_BASE_MS = 500;\nconst RETRY_MAX_RETRIES = 2;\nconst AUTH_HANDSHAKE_TIMEOUT_MS = 5000;\n\n/**\n * Resolve the Convex deployment URL from the client.\n *\n * `ConvexReactClient` exposes `.url` directly.\n * `ConvexClient` exposes `.client.url` via `BaseConvexClient`.\n */\nfunction resolveUrl(convex: ConvexTransport, explicit?: string): string {\n if (explicit) return explicit;\n const c = convex as any;\n const url: unknown = c.url ?? c.client?.url;\n if (typeof url === \"string\") return url;\n throw new Error(\n \"Could not determine Convex deployment URL. Pass `url` explicitly.\",\n );\n}\n\n/**\n * Create a framework-agnostic auth client.\n *\n * Returns an object with `signIn`, `signOut`, `onChange`, `state`,\n * `passkey`, and `totp` — everything needed for client-side auth.\n *\n * ### SPA mode (default)\n *\n * ```ts\n * import { ConvexClient } from 'convex/browser';\n * import { client } from '@robelest/convex-auth/client';\n * import { api } from '../convex/_generated/api';\n *\n * const convex = new ConvexClient(CONVEX_URL);\n * const auth = client({ convex, api: api.auth });\n * ```\n *\n * ### SSR / proxy mode\n *\n * ```ts\n * const auth = client({\n * convex,\n * proxyPath: '/api/auth',\n * tokenSeed: tokenFromServer, // JWT read from httpOnly cookie during SSR\n * });\n * ```\n *\n * In proxy mode all auth operations go through the proxy URL.\n * Tokens are stored in httpOnly cookies server-side — the client\n * holds the JWT in memory only.\n *\n * @param options - Client configuration. See {@link ClientOptions}.\n * @typeParam Api - An AuthApiRefs type determining which factor helpers are available.\n * @returns Auth client with conditional `passkey`, `totp`, and `device` helpers.\n * @throws {Error} When the Convex deployment URL cannot be determined and `url` is not passed explicitly.\n * @throws {Error} When `proxyPath` is not set and the `api` option is missing.\n */\nexport function client<\n Api extends AuthApiRefs<boolean, boolean, boolean> = AuthApiRefs,\n>(options: ClientOptions<Api>): AuthClient<Api> {\n const { convex, proxyPath, api: apiRefs } = options;\n const proxy = proxyPath;\n\n function requireApiRefs() {\n if (!apiRefs) {\n throw new Error(\n \"The `api` option is required when `proxyPath` is not set. \" +\n \"Pass { api: api.auth }.\",\n );\n }\n return apiRefs;\n }\n\n // In proxy mode, default storage to null (cookies handle persistence).\n const storage =\n options.storage !== undefined\n ? options.storage\n : proxy\n ? null\n : typeof window === \"undefined\"\n ? null\n : window.localStorage;\n\n const replaceUrl =\n options.replaceUrl ??\n ((url: string) => {\n if (typeof window !== \"undefined\") {\n window.history.replaceState({}, \"\", url);\n }\n });\n\n // ---------------------------------------------------------------------------\n // Location — SSR-safe URL reading\n // ---------------------------------------------------------------------------\n\n function getLocation(): URL | null {\n if (typeof options.location === \"function\") return options.location();\n if (options.location instanceof URL) return options.location;\n if (typeof window !== \"undefined\") return new URL(window.location.href);\n return null;\n }\n\n /**\n * SSR-safe URL parameter reader.\n *\n * Uses the `location` option if provided, otherwise falls back to\n * `window.location` (returns `null` during SSR where `window` is unavailable).\n *\n * @param name - The query parameter name.\n * @returns The parameter value, or `null` if not present or in SSR.\n *\n * @example\n * ```ts\n * const workspaceId = auth.param(\"workspace\");\n * const tab = auth.param(\"tab\") ?? \"issues\";\n * ```\n */\n function param(name: string): string | null {\n const loc = getLocation();\n return loc?.searchParams.get(name) ?? null;\n }\n\n function cleanUrlParams(params: string[]) {\n const loc = getLocation();\n if (!loc) return;\n const searchParams = new URLSearchParams(loc.search);\n let changed = false;\n for (const p of params) {\n if (searchParams.has(p)) {\n searchParams.delete(p);\n changed = true;\n }\n }\n if (changed) {\n const next = searchParams.toString()\n ? `${loc.pathname}?${searchParams}`\n : loc.pathname;\n void replaceUrl(next);\n }\n }\n\n const url = proxy ? undefined : resolveUrl(convex, options.url);\n const escapedNamespace = proxy\n ? proxy.replace(/[^a-zA-Z0-9]/g, \"\")\n : url!.replace(/[^a-zA-Z0-9]/g, \"\");\n const key = (name: string) => `${name}_${escapedNamespace}`;\n const {\n get: storageGet,\n set: storageSet,\n remove: storageRemove,\n } = createStorageHelpers({ storage, key });\n const { isAbsoluteUrl, proxyFetch, resolveProxyUrl } = createProxyHelpers({\n proxy,\n });\n const subscribers = new Set<() => void>();\n let disposeStorageListener: (() => void) | null = null;\n\n // Unauthenticated HTTP client for code verification & OAuth exchange.\n // Only needed in SPA mode — proxy mode routes everything through the proxy.\n const httpClient = proxy ? null : new ConvexHttpClient(url!);\n\n // ---------------------------------------------------------------------------\n // State\n // ---------------------------------------------------------------------------\n\n // If a server-provided token was supplied (SSR hydration), treat it as\n // immediately authenticated to avoid a handshake-only loading screen.\n const serverToken =\n typeof options.tokenSeed === \"string\" && options.tokenSeed.trim().length > 0\n ? options.tokenSeed\n : null;\n const hasServerToken = serverToken !== null;\n\n let token: string | null = serverToken;\n let isLoading = !hasServerToken;\n let authConfirmed = hasServerToken;\n let handshakePending = false;\n let authEpoch = 0;\n let destroyed = false;\n const handshakeWaiters = new Set<HandshakeWaiter>();\n let snapshot: AuthState = {\n phase: hasServerToken\n ? \"authenticated\"\n : isLoading\n ? \"loading\"\n : \"unauthenticated\",\n isLoading,\n isAuthenticated: hasServerToken,\n token,\n };\n let handlingCodeFlow = false;\n\n const HANDSHAKE_ERROR_MESSAGES: Record<AuthHandshakeErrorCode, string> = {\n AUTH_HANDSHAKE_TIMEOUT:\n \"Sign-in succeeded but authentication confirmation timed out.\",\n AUTH_HANDSHAKE_REJECTED:\n \"Authentication was rejected while confirming the session.\",\n };\n\n const createHandshakeError = (\n code: AuthHandshakeErrorCode,\n context: Record<string, unknown>,\n ) => {\n return new ConvexError({\n code,\n message: HANDSHAKE_ERROR_MESSAGES[code],\n ...context,\n } as Value);\n };\n\n const settleHandshakeWaiters = (\n epoch: number,\n outcome:\n | { type: \"resolve\" }\n | { type: \"reject\"; error: ConvexError<Value> },\n ) => {\n for (const waiter of Array.from(handshakeWaiters)) {\n if (waiter.epoch !== epoch) {\n continue;\n }\n clearTimeout(waiter.timeoutId);\n handshakeWaiters.delete(waiter);\n if (outcome.type === \"resolve\") {\n waiter.resolve();\n } else {\n waiter.reject(outcome.error);\n }\n }\n };\n\n const rejectObsoleteHandshakeWaiters = (activeEpoch: number) => {\n for (const waiter of Array.from(handshakeWaiters)) {\n if (waiter.epoch >= activeEpoch) {\n continue;\n }\n clearTimeout(waiter.timeoutId);\n handshakeWaiters.delete(waiter);\n waiter.reject(\n createHandshakeError(\"AUTH_HANDSHAKE_REJECTED\", {\n ...waiter.context,\n reason: \"token_changed\",\n }),\n );\n }\n };\n\n const waitForAuthHandshake = async (context: AuthFlowContext) => {\n if (token === null) {\n return;\n }\n if (authConfirmed && !handshakePending) {\n return;\n }\n if (!handshakePending) {\n throw createHandshakeError(\"AUTH_HANDSHAKE_REJECTED\", {\n ...context,\n reason: \"auth_rejected\",\n });\n }\n\n const epoch = authEpoch;\n await new Promise<void>((resolve, reject) => {\n const waiterRef: { current: HandshakeWaiter | null } = { current: null };\n const timeoutId = setTimeout(() => {\n if (waiterRef.current !== null) {\n handshakeWaiters.delete(waiterRef.current);\n }\n reject(\n createHandshakeError(\"AUTH_HANDSHAKE_TIMEOUT\", {\n ...context,\n timeoutMs: AUTH_HANDSHAKE_TIMEOUT_MS,\n }),\n );\n }, AUTH_HANDSHAKE_TIMEOUT_MS);\n\n const waiter: HandshakeWaiter = {\n epoch,\n context,\n resolve,\n reject,\n timeoutId,\n };\n waiterRef.current = waiter;\n handshakeWaiters.add(waiter);\n });\n };\n\n const handleConvexAuthChange = (isAuthenticated: boolean) => {\n if (destroyed) {\n return;\n }\n\n if (isAuthenticated) {\n authConfirmed = true;\n handshakePending = false;\n settleHandshakeWaiters(authEpoch, { type: \"resolve\" });\n } else {\n authConfirmed = false;\n // Do not reject immediately while a handshake is pending.\n // Convex can transiently emit `false` while reauth is still in flight,\n // and a subsequent `true` confirms the same session.\n }\n\n if (updateSnapshot()) {\n notify();\n }\n };\n\n const notify = () => {\n for (const cb of subscribers) cb();\n };\n\n const updateSnapshot = () => {\n const phaseDispatch = {\n tag:\n token !== null && handshakePending\n ? \"handshake\"\n : isLoading\n ? \"loading\"\n : token !== null && authConfirmed\n ? \"authenticated\"\n : \"unauthenticated\",\n } as const;\n\n const phase = {\n handshake: \"handshake\",\n loading: \"loading\",\n authenticated: \"authenticated\",\n unauthenticated: \"unauthenticated\",\n }[phaseDispatch.tag] as AuthState[\"phase\"];\n\n const next: AuthState = {\n phase,\n isLoading: phase === \"loading\" || phase === \"handshake\",\n isAuthenticated: phase === \"authenticated\",\n token,\n };\n if (\n snapshot.phase === next.phase &&\n snapshot.isLoading === next.isLoading &&\n snapshot.isAuthenticated === next.isAuthenticated &&\n snapshot.token === next.token\n ) {\n return false;\n }\n snapshot = next;\n return true;\n };\n\n const finalizeLoadingState = () => {\n if (!isLoading) {\n return;\n }\n isLoading = false;\n if (updateSnapshot()) {\n notify();\n }\n };\n\n const inviteManager = createInviteManager({\n param,\n storageGet,\n storageSet,\n storageRemove,\n cleanUrlParams,\n tokenKey: INVITE_TOKEN_KEY,\n emailKey: INVITE_EMAIL_KEY,\n });\n const getPendingInvite = () => inviteManager.getPendingInvite();\n const persistInvite = () => inviteManager.persistInvite();\n const acceptInvite = () => inviteManager.acceptInvite();\n\n // ---------------------------------------------------------------------------\n // Token management\n // ---------------------------------------------------------------------------\n\n const bindConvexAuth = () => {\n convex.setAuth(fetchAccessToken, handleConvexAuthChange);\n };\n\n const setToken = async (\n args:\n | {\n shouldStore: true;\n tokens: AuthSession | null;\n requireHandshake?: boolean;\n resyncConvexAuth?: boolean;\n }\n | {\n shouldStore: false;\n tokens: { token: string } | null;\n requireHandshake?: boolean;\n resyncConvexAuth?: boolean;\n },\n ) => {\n const previousToken = token;\n\n if (args.tokens === null) {\n token = null;\n if (args.shouldStore) {\n await storageRemove(JWT_STORAGE_KEY);\n await storageRemove(REFRESH_TOKEN_STORAGE_KEY);\n }\n } else {\n token = args.tokens.token;\n if (args.shouldStore && \"refreshToken\" in args.tokens) {\n await storageSet(JWT_STORAGE_KEY, args.tokens.token);\n await storageSet(REFRESH_TOKEN_STORAGE_KEY, args.tokens.refreshToken);\n }\n }\n\n if (token !== previousToken) {\n authEpoch += 1;\n rejectObsoleteHandshakeWaiters(authEpoch);\n }\n\n if (token === null) {\n authConfirmed = false;\n handshakePending = false;\n settleHandshakeWaiters(authEpoch, {\n type: \"reject\",\n error: createHandshakeError(\"AUTH_HANDSHAKE_REJECTED\", {\n reason: \"token_cleared\",\n }),\n });\n } else {\n const shouldEnterHandshake =\n args.requireHandshake === true || !authConfirmed;\n if (shouldEnterHandshake) {\n authConfirmed = false;\n handshakePending = true;\n } else {\n handshakePending = false;\n }\n }\n\n const hadPendingLoad = isLoading;\n isLoading = false;\n const changed = updateSnapshot();\n if (args.resyncConvexAuth !== false) {\n bindConvexAuth();\n }\n if (hadPendingLoad || changed) {\n notify();\n }\n };\n\n const setTokenAndMaybeWait = async (\n args:\n | {\n shouldStore: true;\n tokens: AuthSession | null;\n waitForHandshake: boolean;\n context: AuthFlowContext;\n }\n | {\n shouldStore: false;\n tokens: { token: string } | null;\n waitForHandshake: boolean;\n context: AuthFlowContext;\n },\n ): Promise<boolean> => {\n const { waitForHandshake, context, ...tokenArgs } = args;\n await setToken({\n ...(tokenArgs as\n | { shouldStore: true; tokens: AuthSession | null }\n | { shouldStore: false; tokens: { token: string } | null }),\n requireHandshake: waitForHandshake,\n });\n if (tokenArgs.tokens === null) {\n return false;\n }\n if (waitForHandshake) {\n await waitForAuthHandshake(context);\n }\n return true;\n };\n\n // ---------------------------------------------------------------------------\n // Code verification with retries (SPA mode only)\n // ---------------------------------------------------------------------------\n\n const verifyCode = async (\n args: { code: string; verifier?: string } | { refreshToken: string },\n ) => {\n const verifyCodeRetryPolicy = Fx.retry.while(\n Fx.retry.compose(\n Fx.retry.jittered(Fx.retry.exponential(RETRY_BASE_MS)),\n Fx.retry.recurs(RETRY_MAX_RETRIES),\n ),\n (meta) => isTransientNetworkError(meta.input),\n );\n\n return Fx.run(\n Fx.from({\n ok: () =>\n httpClient!.action(\n requireApiRefs().signIn,\n \"code\" in args\n ? { params: { code: args.code }, verifier: args.verifier }\n : args,\n ),\n err: (e) => e,\n }).pipe(\n Fx.retry(verifyCodeRetryPolicy),\n Fx.recover((e) => Fx.fatal(e)),\n ),\n );\n };\n\n const verifyCodeAndSetToken = async (\n args: { code: string; verifier?: string } | { refreshToken: string },\n opts?: { resyncConvexAuth?: boolean },\n ) => {\n const { tokens } = await verifyCode(args);\n await setToken({\n shouldStore: true,\n tokens: (tokens as AuthSession | null) ?? null,\n resyncConvexAuth: opts?.resyncConvexAuth,\n });\n return tokens !== null;\n };\n\n const normalizeDeviceCodeResult = (device_code: any): DeviceCodeResult => {\n return {\n deviceCode: device_code.deviceCode,\n userCode: device_code.userCode,\n verificationUri:\n device_code.verification_uri ?? device_code.verificationUri,\n verificationUriComplete:\n device_code.verification_uri_complete ??\n device_code.verificationUriComplete,\n expiresIn: device_code.expiresIn,\n interval: device_code.interval,\n };\n };\n\n // ---------------------------------------------------------------------------\n // signIn\n // ---------------------------------------------------------------------------\n\n /**\n * Sign in with a provider.\n *\n * @param provider - Provider ID (e.g. `\"email\"`, `\"password\"`, `\"google\"`).\n * Omit when exchanging an OAuth code (the code carries the provider info).\n * @param args - Provider-specific arguments. Pass a `Record<string, Value>`\n * or `FormData`. Common fields: `email`, `password`, `code`, `redirectTo`.\n * @returns A {@link SignInResult} indicating the outcome.\n * @throws {ConvexError} When the server action rejects the sign-in attempt (e.g. invalid credentials, provider error, or rate limiting).\n *\n * @example Email magic link\n * ```ts\n * await auth.signIn('email', { email: 'user@example.com' });\n * ```\n *\n * @example Password\n * ```ts\n * const result = await auth.signIn('password', { email, password, flow: 'signIn' });\n * if (result.kind === 'totpRequired') {\n * await auth.totp.verify({ code: totpCode, verifier: result.verifier });\n * }\n * ```\n *\n * @example OAuth (triggers redirect)\n * ```ts\n * await auth.signIn('google'); // redirects to Google\n * ```\n */\n const signIn = async (\n provider?: string,\n args?: FormData | Record<string, Value>,\n ): Promise<SignInResult> => {\n // Persist invite before potential OAuth redirect\n await persistInvite();\n\n const params =\n args instanceof FormData\n ? (() => {\n const formParams: Record<string, Value> = {};\n args.forEach((value, key) => {\n formParams[key] = typeof value === \"string\" ? value : value.name;\n });\n return formParams;\n })()\n : (args ?? {});\n const flow =\n typeof params.flow === \"string\" && params.flow.length > 0\n ? params.flow\n : \"signIn\";\n\n const handleSignInActionResult = async (\n result: SignInActionResult,\n options: { shouldStore: boolean; persistVerifier: boolean },\n ): Promise<SignInResult> =>\n Fx.run(\n Fx.match(result, result.kind, {\n redirect: (redirectResult) =>\n Fx.promise(async () => {\n const redirectUrl = new URL(redirectResult.redirect);\n if (options.persistVerifier) {\n await storageSet(VERIFIER_STORAGE_KEY, redirectResult.verifier);\n }\n if (typeof window !== \"undefined\") {\n window.location.href = redirectUrl.toString();\n }\n return {\n kind: \"redirect\" as const,\n redirect: redirectUrl,\n verifier: redirectResult.verifier,\n };\n }),\n totpRequired: (totpRequiredResult) =>\n Fx.succeed({\n kind: \"totpRequired\" as const,\n verifier: totpRequiredResult.verifier,\n }),\n deviceCode: (deviceCodeResult) =>\n Fx.succeed({\n kind: \"deviceCode\" as const,\n deviceCode: normalizeDeviceCodeResult(\n deviceCodeResult.deviceCode,\n ),\n }),\n signedIn: (signedInResult) =>\n Fx.promise(async () => {\n const signingIn = await setTokenAndMaybeWait(\n options.shouldStore\n ? {\n shouldStore: true as const,\n tokens: signedInResult.tokens,\n waitForHandshake: true,\n context: { provider, flow },\n }\n : {\n shouldStore: false as const,\n tokens:\n signedInResult.tokens === null\n ? null\n : { token: signedInResult.tokens.token },\n waitForHandshake: true,\n context: { provider, flow },\n },\n );\n return signingIn\n ? ({ kind: \"signedIn\" as const } as SignInResult)\n : ({ kind: \"started\" as const } as SignInResult);\n }),\n started: (_startedResult) => Fx.succeed({ kind: \"started\" as const }),\n passkeyOptions: (_passkeyOptionsResult) =>\n Fx.succeed({ kind: \"started\" as const }),\n totpSetup: (_totpSetupResult) =>\n Fx.succeed({ kind: \"started\" as const }),\n }),\n );\n\n if (proxy) {\n const result = (await proxyFetch({\n action: \"auth:signIn\",\n args: { provider, params },\n })) as SignInActionResult;\n return handleSignInActionResult(result, {\n shouldStore: false,\n persistVerifier: false,\n });\n }\n\n // SPA mode: call Convex directly.\n const verifier = (await storageGet(VERIFIER_STORAGE_KEY)) ?? undefined;\n await storageRemove(VERIFIER_STORAGE_KEY);\n const result = (await convex.action(requireApiRefs().signIn, {\n provider,\n params,\n verifier,\n })) as SignInActionResult;\n return handleSignInActionResult(result, {\n shouldStore: true,\n persistVerifier: true,\n });\n };\n\n // ---------------------------------------------------------------------------\n // signOut\n // ---------------------------------------------------------------------------\n\n /**\n * Sign out the current user.\n *\n * Invalidates the server session and clears local token state.\n * Errors are silently caught — calling `signOut` on an already\n * signed-out user is a no-op.\n */\n const signOut = async () => {\n if (proxy) {\n await Fx.run(\n Fx.from({\n ok: () => proxyFetch({ action: \"auth:signOut\", args: {} }),\n err: () => undefined,\n }).pipe(Fx.recover(() => Fx.succeed(undefined))),\n );\n await setToken({ shouldStore: false, tokens: null });\n if (convex.clearAuth) convex.clearAuth();\n return;\n }\n\n // SPA mode.\n await Fx.run(\n Fx.from({\n ok: () => convex.action(requireApiRefs().signOut, {}),\n err: () => undefined,\n }).pipe(Fx.recover(() => Fx.succeed(undefined))),\n );\n await setToken({ shouldStore: true, tokens: null });\n if (convex.clearAuth) convex.clearAuth();\n };\n\n // ---------------------------------------------------------------------------\n // fetchAccessToken — called by convex.setAuth()\n // ---------------------------------------------------------------------------\n\n const fetchAccessToken = async ({\n forceRefreshToken,\n }: {\n forceRefreshToken: boolean;\n }): Promise<string | null> => {\n if (!forceRefreshToken) return token;\n\n if (proxy) {\n // Proxy mode: POST to the proxy to refresh.\n // The proxy reads the real refresh token from the httpOnly cookie.\n const resolvedProxyUrl = await resolveProxyUrl();\n if (\n typeof window === \"undefined\" &&\n !(await isAbsoluteUrl(resolvedProxyUrl))\n ) {\n finalizeLoadingState();\n return token;\n }\n\n const tokenBeforeRefresh = token;\n return await browserMutex(\"__convexAuthProxyRefresh\", async () => {\n // Another tab/call may have already refreshed.\n if (token !== tokenBeforeRefresh) return token;\n\n const proxyRefreshRetryPolicy = Fx.retry.while(\n Fx.retry.compose(\n Fx.retry.jittered(Fx.retry.exponential(RETRY_BASE_MS)),\n Fx.retry.recurs(RETRY_MAX_RETRIES),\n ),\n (meta) => isRetriableProxyRefreshError(meta.input),\n );\n\n await Fx.run(\n Fx.from({\n ok: () =>\n proxyFetch({\n action: \"auth:signIn\",\n args: { refreshToken: true },\n }),\n err: (e) => e,\n }).pipe(\n Fx.retry(proxyRefreshRetryPolicy),\n Fx.chain((result: any) =>\n Fx.from({\n ok: async () => {\n if (result.tokens) {\n await setToken({\n shouldStore: false,\n tokens: { token: result.tokens.token },\n resyncConvexAuth: false,\n });\n } else {\n await setToken({\n shouldStore: false,\n tokens: null,\n resyncConvexAuth: false,\n });\n }\n },\n err: (e) => e,\n }),\n ),\n Fx.inspect((error) =>\n Fx.sync(() =>\n console.error(\"[convex-auth] Proxy refresh failed:\", error),\n ),\n ),\n Fx.recover(() => {\n if (token === null) {\n finalizeLoadingState();\n }\n return Fx.succeed(undefined);\n }),\n ),\n );\n return token;\n });\n }\n\n // SPA mode: refresh via localStorage + httpClient.\n const tokenBeforeLockAcquisition = token;\n return await browserMutex(REFRESH_TOKEN_STORAGE_KEY, async () => {\n const tokenAfterLockAcquisition = token;\n if (tokenAfterLockAcquisition !== tokenBeforeLockAcquisition) {\n return tokenAfterLockAcquisition;\n }\n const refreshToken =\n (await storageGet(REFRESH_TOKEN_STORAGE_KEY)) ?? null;\n if (!refreshToken) {\n finalizeLoadingState();\n return null;\n }\n await verifyCodeAndSetToken(\n { refreshToken },\n { resyncConvexAuth: false },\n );\n return token;\n });\n };\n\n // ---------------------------------------------------------------------------\n // OAuth code flow (SPA mode only — server handles this in proxy mode)\n // ---------------------------------------------------------------------------\n\n const handleCodeFlow = async () => {\n if (typeof window === \"undefined\") return;\n if (handlingCodeFlow) return;\n const code = new URLSearchParams(window.location.search).get(\"code\");\n if (!code) return;\n handlingCodeFlow = true;\n await Fx.run(\n Fx.from({\n ok: async () => {\n await signIn(undefined, { code });\n const codeUrl = new URL(window.location.href);\n codeUrl.searchParams.delete(\"code\");\n await replaceUrl(codeUrl.pathname + codeUrl.search + codeUrl.hash);\n },\n err: (e) => e,\n }).pipe(\n Fx.recover(() => Fx.succeed(undefined)),\n Fx.tap(() =>\n Fx.sync(() => {\n handlingCodeFlow = false;\n }),\n ),\n Fx.inspect(() =>\n Fx.sync(() => {\n handlingCodeFlow = false;\n }),\n ),\n ),\n );\n // The flag is always reset — Fx.recover above ensures success path,\n // but reset defensively here too.\n handlingCodeFlow = false;\n };\n\n // ---------------------------------------------------------------------------\n // Hydrate from storage (SPA mode only)\n // ---------------------------------------------------------------------------\n\n const hydrateFromStorage = async () => {\n const storedToken = (await storageGet(JWT_STORAGE_KEY)) ?? null;\n await setToken({\n shouldStore: false,\n tokens: storedToken === null ? null : { token: storedToken },\n });\n };\n\n // ---------------------------------------------------------------------------\n // Subscribe\n // ---------------------------------------------------------------------------\n\n /**\n * Subscribe to auth state changes. Invokes the callback immediately\n * with the current state, then again on every state transition.\n *\n * ```ts\n * const unsub = auth.onChange(setState);\n * ```\n *\n * @param cb - Callback receiving the latest {@link AuthState}.\n * @returns An unsubscribe function.\n */\n const onChange = (cb: (state: AuthState) => void): (() => void) => {\n cb(snapshot);\n const wrapped = () => cb(snapshot);\n subscribers.add(wrapped);\n return () => {\n subscribers.delete(wrapped);\n };\n };\n\n // ---------------------------------------------------------------------------\n // Initialization\n // ---------------------------------------------------------------------------\n\n // Cross-tab sync via storage events (SPA mode only).\n if (!proxy && typeof window !== \"undefined\") {\n const registryKey = key(JWT_STORAGE_KEY);\n const registry = getStorageListenerRegistry();\n const existingListener = registry[registryKey];\n if (existingListener !== undefined) {\n window.removeEventListener(\"storage\", existingListener);\n }\n\n const onStorage = (event: StorageEvent) => {\n Fx.detach(async () => {\n if (event.key !== key(JWT_STORAGE_KEY)) return;\n await setToken({\n shouldStore: false,\n tokens: event.newValue === null ? null : { token: event.newValue },\n });\n }, \"[convex-auth] Storage event handler failed:\");\n };\n window.addEventListener(\"storage\", onStorage);\n registry[registryKey] = onStorage;\n disposeStorageListener = () => {\n if (registry[registryKey] === onStorage) {\n delete registry[registryKey];\n }\n window.removeEventListener(\"storage\", onStorage);\n };\n }\n\n // Auto-wire: feed our tokens into the Convex client so\n // queries and mutations are automatically authenticated.\n bindConvexAuth();\n\n // Auto-hydrate and handle code flow.\n if (typeof window !== \"undefined\") {\n if (proxy) {\n // Proxy mode: eagerly resolve auth once on startup so routes that only\n // read auth state (and do not issue Convex queries yet) don't stay in\n // the initial loading phase.\n if (!hasServerToken) {\n Fx.detach(\n () => fetchAccessToken({ forceRefreshToken: true }),\n \"[convex-auth] Proxy token refresh failed:\",\n );\n }\n } else {\n // SPA mode: hydrate from localStorage, then handle OAuth code flow.\n Fx.detach(async () => {\n await Fx.run(\n Fx.from({\n ok: async () => {\n await hydrateFromStorage();\n await handleCodeFlow();\n },\n err: (e) => e,\n }).pipe(\n Fx.inspect((error) =>\n Fx.sync(() =>\n console.error(\n \"[convex-auth] Client initialization failed:\",\n error,\n ),\n ),\n ),\n Fx.recover((_error) =>\n Fx.from({\n ok: () => setToken({ shouldStore: false, tokens: null }),\n err: (e) => e,\n }).pipe(Fx.recover(() => Fx.succeed(undefined))),\n ),\n ),\n );\n }, \"[convex-auth] SPA initialization failed:\");\n }\n }\n\n // ---------------------------------------------------------------------------\n // Auth factor helpers\n // ---------------------------------------------------------------------------\n\n const passkey = createPasskeyClient({\n proxy,\n convex,\n requireApiRefs,\n proxyFetch,\n setTokenAndMaybeWait,\n });\n\n const totp = createTotpClient({\n proxy,\n convex,\n requireApiRefs,\n proxyFetch,\n setTokenAndMaybeWait,\n });\n\n const device = createDeviceClient({\n proxy,\n convex,\n requireApiRefs,\n proxyFetch,\n setTokenAndMaybeWait,\n });\n\n return {\n /** Current auth state snapshot. */\n get state(): AuthState {\n return snapshot;\n },\n /** SSR-safe URL param reader. */\n param,\n /** Pending invite from URL or recovered from storage. Null if none. */\n get invite(): PendingInvite | null {\n const pendingInvite = getPendingInvite();\n if (!pendingInvite) return null;\n return {\n token: pendingInvite.token,\n email: pendingInvite.email,\n accept: acceptInvite,\n };\n },\n /** Sign in with a provider. See {@link SignInResult} for return shape. */\n signIn,\n /** Sign out and clear all token state. */\n signOut,\n /** Subscribe to auth state changes. Returns an unsubscribe function. */\n onChange,\n /** Passkey (WebAuthn) authentication helpers. */\n passkey,\n /** TOTP two-factor authentication helpers. */\n totp,\n /** Device authorization (RFC 8628) helpers. */\n device,\n /**\n * Tear down this auth client instance.\n *\n * Removes the cross-tab `storage` event listener, clears all\n * `onChange` subscribers, and rejects any in-flight handshake\n * waiters. Call this when the client is no longer needed\n * (e.g. on SPA unmount or hot-module replacement) to prevent\n * memory leaks and stale callbacks.\n *\n * @example\n * ```ts\n * // SvelteKit onDestroy\n * import { onDestroy } from \"svelte\";\n * const auth = client({ convex, api: api.auth });\n * onDestroy(() => auth.destroy());\n * ```\n *\n * @example\n * ```ts\n * const unsubscribe = auth.onChange((state) => console.log(state.phase));\n *\n * // Later, during cleanup:\n * unsubscribe();\n * auth.destroy();\n * ```\n */\n destroy: () => {\n destroyed = true;\n settleHandshakeWaiters(authEpoch, {\n type: \"reject\",\n error: createHandshakeError(\"AUTH_HANDSHAKE_REJECTED\", {\n reason: \"destroyed\",\n }),\n });\n disposeStorageListener?.();\n subscribers.clear();\n },\n } as AuthClient<Api>;\n}\n"],"mappings":"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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { functions_d_exports } from "../functions.js";
|
|
2
|
-
import { model_d_exports } from "../model.js";
|
|
3
|
-
import { index_d_exports } from "../index.js";
|
|
4
|
-
import { accounts_d_exports } from "../public/identity/accounts.js";
|
|
5
|
-
import { devices_d_exports } from "../public/factors/devices.js";
|
|
6
|
-
import { audit_d_exports } from "../public/enterprise/audit.js";
|
|
7
|
-
import { core_d_exports } from "../public/enterprise/core.js";
|
|
8
|
-
import { domains_d_exports } from "../public/enterprise/domains.js";
|
|
9
|
-
import { scim_d_exports } from "../public/enterprise/scim.js";
|
|
10
|
-
import { secrets_d_exports } from "../public/enterprise/secrets.js";
|
|
11
|
-
import { webhooks_d_exports } from "../public/enterprise/webhooks.js";
|
|
12
|
-
import { core_d_exports as core_d_exports$1 } from "../public/groups/core.js";
|
|
13
|
-
import { invites_d_exports } from "../public/groups/invites.js";
|
|
14
|
-
import { members_d_exports } from "../public/groups/members.js";
|
|
15
|
-
import { keys_d_exports } from "../public/security/keys.js";
|
|
16
|
-
import { passkeys_d_exports } from "../public/factors/passkeys.js";
|
|
17
|
-
import { limits_d_exports } from "../public/security/limits.js";
|
|
18
|
-
import { tokens_d_exports } from "../public/identity/tokens.js";
|
|
19
|
-
import { sessions_d_exports } from "../public/identity/sessions.js";
|
|
20
|
-
import { totp_d_exports } from "../public/factors/totp.js";
|
|
21
|
-
import { users_d_exports } from "../public/identity/users.js";
|
|
22
|
-
import { codes_d_exports } from "../public/identity/codes.js";
|
|
23
|
-
import { verifiers_d_exports } from "../public/identity/verifiers.js";
|
|
24
|
-
import { public_d_exports } from "../public.js";
|
|
25
|
-
import { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
|
|
26
|
-
|
|
27
|
-
//#region src/component/_generated/api.d.ts
|
|
28
|
-
declare const fullApi: ApiFromModules<{
|
|
29
|
-
functions: typeof functions_d_exports;
|
|
30
|
-
index: typeof index_d_exports;
|
|
31
|
-
model: typeof model_d_exports;
|
|
32
|
-
public: typeof public_d_exports;
|
|
33
|
-
"public/enterprise/audit": typeof audit_d_exports;
|
|
34
|
-
"public/enterprise/core": typeof core_d_exports;
|
|
35
|
-
"public/enterprise/domains": typeof domains_d_exports;
|
|
36
|
-
"public/enterprise/scim": typeof scim_d_exports;
|
|
37
|
-
"public/enterprise/secrets": typeof secrets_d_exports;
|
|
38
|
-
"public/enterprise/webhooks": typeof webhooks_d_exports;
|
|
39
|
-
"public/factors/devices": typeof devices_d_exports;
|
|
40
|
-
"public/factors/passkeys": typeof passkeys_d_exports;
|
|
41
|
-
"public/factors/totp": typeof totp_d_exports;
|
|
42
|
-
"public/groups/core": typeof core_d_exports$1;
|
|
43
|
-
"public/groups/invites": typeof invites_d_exports;
|
|
44
|
-
"public/groups/members": typeof members_d_exports;
|
|
45
|
-
"public/identity/accounts": typeof accounts_d_exports;
|
|
46
|
-
"public/identity/codes": typeof codes_d_exports;
|
|
47
|
-
"public/identity/sessions": typeof sessions_d_exports;
|
|
48
|
-
"public/identity/tokens": typeof tokens_d_exports;
|
|
49
|
-
"public/identity/users": typeof users_d_exports;
|
|
50
|
-
"public/identity/verifiers": typeof verifiers_d_exports;
|
|
51
|
-
"public/security/keys": typeof keys_d_exports;
|
|
52
|
-
"public/security/limits": typeof limits_d_exports;
|
|
53
|
-
}>;
|
|
54
|
-
/**
|
|
55
|
-
* A utility for referencing Convex functions in your app's public API.
|
|
56
|
-
*
|
|
57
|
-
* Usage:
|
|
58
|
-
* ```js
|
|
59
|
-
* const myFunctionReference = api.myModule.myFunction;
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
declare const api: FilterApi<typeof fullApi, FunctionReference<any, "public">>;
|
|
63
|
-
/**
|
|
64
|
-
* A utility for referencing Convex functions in your app's internal API.
|
|
65
|
-
*
|
|
66
|
-
* Usage:
|
|
67
|
-
* ```js
|
|
68
|
-
* const myFunctionReference = internal.myModule.myFunction;
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
declare const internal: FilterApi<typeof fullApi, FunctionReference<any, "internal">>;
|
|
72
|
-
declare const components: {};
|
|
73
|
-
//#endregion
|
|
74
|
-
export { api, components, internal };
|
|
75
|
-
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","names":[],"sources":["../../../src/component/_generated/api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;cA0CM,OAAA,EAAS,cAAA;EACb,SAAA,SAAkB,mBAAA;EAClB,KAAA,SAAc,eAAA;EACd,KAAA,SAAc,eAAA;EACd,MAAA,SAAe,gBAAA;EACf,yBAAA,SAAkC,eAAA;EAClC,wBAAA,SAAiC,cAAA;EACjC,2BAAA,SAAoC,iBAAA;EACpC,wBAAA,SAAiC,cAAA;EACjC,2BAAA,SAAoC,iBAAA;EACpC,4BAAA,SAAqC,kBAAA;EACrC,wBAAA,SAAiC,iBAAA;EACjC,yBAAA,SAAkC,kBAAA;EAClC,qBAAA,SAA8B,cAAA;EAC9B,oBAAA,SAA6B,gBAAA;EAC7B,uBAAA,SAAgC,iBAAA;EAChC,uBAAA,SAAgC,iBAAA;EAChC,0BAAA,SAAmC,kBAAA;EACnC,uBAAA,SAAgC,eAAA;EAChC,0BAAA,SAAmC,kBAAA;EACnC,wBAAA,SAAiC,gBAAA;EACjC,uBAAA,SAAgC,eAAA;EAChC,2BAAA,SAAoC,mBAAA;EACpC,sBAAA,SAA+B,cAAA;EAC/B,wBAAA,SAAiC,gBAAA;AAAA;;;;;;;;;cAWtB,GAAA,EAAK,SAAA,QACT,OAAA,EACP,iBAAA;;;;;;;;;cAWW,QAAA,EAAU,SAAA,QACd,OAAA,EACP,iBAAA;AAAA,cAGW,UAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":[],"sources":["../../../src/component/_generated/api.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * Generated `api` utility.\n *\n * THIS CODE IS AUTOMATICALLY GENERATED.\n *\n * To regenerate, run `npx convex dev`.\n * @module\n */\n\nimport type * as functions from \"../functions.js\";\nimport type * as index from \"../index.js\";\nimport type * as model from \"../model.js\";\nimport type * as public_ from \"../public.js\";\nimport type * as public_enterprise_audit from \"../public/enterprise/audit.js\";\nimport type * as public_enterprise_core from \"../public/enterprise/core.js\";\nimport type * as public_enterprise_domains from \"../public/enterprise/domains.js\";\nimport type * as public_enterprise_scim from \"../public/enterprise/scim.js\";\nimport type * as public_enterprise_secrets from \"../public/enterprise/secrets.js\";\nimport type * as public_enterprise_webhooks from \"../public/enterprise/webhooks.js\";\nimport type * as public_factors_devices from \"../public/factors/devices.js\";\nimport type * as public_factors_passkeys from \"../public/factors/passkeys.js\";\nimport type * as public_factors_totp from \"../public/factors/totp.js\";\nimport type * as public_groups_core from \"../public/groups/core.js\";\nimport type * as public_groups_invites from \"../public/groups/invites.js\";\nimport type * as public_groups_members from \"../public/groups/members.js\";\nimport type * as public_identity_accounts from \"../public/identity/accounts.js\";\nimport type * as public_identity_codes from \"../public/identity/codes.js\";\nimport type * as public_identity_sessions from \"../public/identity/sessions.js\";\nimport type * as public_identity_tokens from \"../public/identity/tokens.js\";\nimport type * as public_identity_users from \"../public/identity/users.js\";\nimport type * as public_identity_verifiers from \"../public/identity/verifiers.js\";\nimport type * as public_security_keys from \"../public/security/keys.js\";\nimport type * as public_security_limits from \"../public/security/limits.js\";\n\nimport type {\n ApiFromModules,\n FilterApi,\n FunctionReference,\n} from \"convex/server\";\nimport { anyApi, componentsGeneric } from \"convex/server\";\n\nconst fullApi: ApiFromModules<{\n functions: typeof functions;\n index: typeof index;\n model: typeof model;\n public: typeof public_;\n \"public/enterprise/audit\": typeof public_enterprise_audit;\n \"public/enterprise/core\": typeof public_enterprise_core;\n \"public/enterprise/domains\": typeof public_enterprise_domains;\n \"public/enterprise/scim\": typeof public_enterprise_scim;\n \"public/enterprise/secrets\": typeof public_enterprise_secrets;\n \"public/enterprise/webhooks\": typeof public_enterprise_webhooks;\n \"public/factors/devices\": typeof public_factors_devices;\n \"public/factors/passkeys\": typeof public_factors_passkeys;\n \"public/factors/totp\": typeof public_factors_totp;\n \"public/groups/core\": typeof public_groups_core;\n \"public/groups/invites\": typeof public_groups_invites;\n \"public/groups/members\": typeof public_groups_members;\n \"public/identity/accounts\": typeof public_identity_accounts;\n \"public/identity/codes\": typeof public_identity_codes;\n \"public/identity/sessions\": typeof public_identity_sessions;\n \"public/identity/tokens\": typeof public_identity_tokens;\n \"public/identity/users\": typeof public_identity_users;\n \"public/identity/verifiers\": typeof public_identity_verifiers;\n \"public/security/keys\": typeof public_security_keys;\n \"public/security/limits\": typeof public_security_limits;\n}> = anyApi as any;\n\n/**\n * A utility for referencing Convex functions in your app's public API.\n *\n * Usage:\n * ```js\n * const myFunctionReference = api.myModule.myFunction;\n * ```\n */\nexport const api: FilterApi<\n typeof fullApi,\n FunctionReference<any, \"public\">\n> = anyApi as any;\n\n/**\n * A utility for referencing Convex functions in your app's internal API.\n *\n * Usage:\n * ```js\n * const myFunctionReference = internal.myModule.myFunction;\n * ```\n */\nexport const internal: FilterApi<\n typeof fullApi,\n FunctionReference<any, \"internal\">\n> = anyApi as any;\n\nexport const components = componentsGeneric() as unknown as {};\n"],"mappings":";;;;;;;;;;;AA6EA,MAAa,MAGT;;;;;;;;;AAUJ,MAAa,WAGT;AAEJ,MAAa,aAAa,mBAAmB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","names":[],"sources":["../../../src/component/_generated/component.ts"],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import _default from "../schema.js";
|
|
2
|
-
import { DataModelFromSchemaDefinition, DocumentByName, SystemTableNames, TableNamesInDataModel } from "convex/server";
|
|
3
|
-
import { GenericId } from "convex/values";
|
|
4
|
-
|
|
5
|
-
//#region src/component/_generated/dataModel.d.ts
|
|
6
|
-
/**
|
|
7
|
-
* The names of all of your Convex tables.
|
|
8
|
-
*/
|
|
9
|
-
type TableNames = TableNamesInDataModel<DataModel>;
|
|
10
|
-
/**
|
|
11
|
-
* The type of a document stored in Convex.
|
|
12
|
-
*
|
|
13
|
-
* @typeParam TableName - A string literal type of the table name (like "users").
|
|
14
|
-
*/
|
|
15
|
-
type Doc<TableName extends TableNames> = DocumentByName<DataModel, TableName>;
|
|
16
|
-
/**
|
|
17
|
-
* An identifier for a document in Convex.
|
|
18
|
-
*
|
|
19
|
-
* Convex documents are uniquely identified by their `Id`, which is accessible
|
|
20
|
-
* on the `_id` field. To learn more, see [Document IDs](https://docs.convex.dev/using/document-ids).
|
|
21
|
-
*
|
|
22
|
-
* Documents can be loaded using `db.get(tableName, id)` in query and mutation functions.
|
|
23
|
-
*
|
|
24
|
-
* IDs are just strings at runtime, but this type can be used to distinguish them from other
|
|
25
|
-
* strings when type checking.
|
|
26
|
-
*
|
|
27
|
-
* @typeParam TableName - A string literal type of the table name (like "users").
|
|
28
|
-
*/
|
|
29
|
-
type Id<TableName extends TableNames | SystemTableNames> = GenericId<TableName>;
|
|
30
|
-
/**
|
|
31
|
-
* A type describing your Convex data model.
|
|
32
|
-
*
|
|
33
|
-
* This type includes information about what tables you have, the type of
|
|
34
|
-
* documents stored in those tables, and the indexes defined on them.
|
|
35
|
-
*
|
|
36
|
-
* This type is used to parameterize methods like `queryGeneric` and
|
|
37
|
-
* `mutationGeneric` to make them type-safe.
|
|
38
|
-
*/
|
|
39
|
-
type DataModel = DataModelFromSchemaDefinition<typeof _default>;
|
|
40
|
-
//#endregion
|
|
41
|
-
export { DataModel, Doc, Id, TableNames };
|
|
42
|
-
//# sourceMappingURL=dataModel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataModel.d.ts","names":[],"sources":["../../../src/component/_generated/dataModel.ts"],"mappings":";;;;;;;;KAsBY,UAAA,GAAa,qBAAA,CAAsB,SAAA;;;;;;KAOnC,GAAA,mBAAsB,UAAA,IAAc,cAAA,CAC9C,SAAA,EACA,SAAA;;;;;;AAgBF;;;;;;;;KAAY,EAAA,mBAAqB,UAAA,GAAa,gBAAA,IAC5C,SAAA,CAAU,SAAA;;;;;;;;AAWZ;;KAAY,SAAA,GAAY,6BAAA,QAAqC,QAAA"}
|