@plumix/core 0.1.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/LICENSE +21 -0
- package/README.md +12 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/runtime.d.ts +23 -0
- package/dist/admin/runtime.d.ts.map +1 -0
- package/dist/admin/runtime.js +46 -0
- package/dist/admin/runtime.js.map +1 -0
- package/dist/admin-bar/build-tree.d.ts +3 -0
- package/dist/admin-bar/build-tree.d.ts.map +1 -0
- package/dist/admin-bar/build-tree.js +35 -0
- package/dist/admin-bar/build-tree.js.map +1 -0
- package/dist/admin-bar/collect.d.ts +4 -0
- package/dist/admin-bar/collect.d.ts.map +1 -0
- package/dist/admin-bar/collect.js +29 -0
- package/dist/admin-bar/collect.js.map +1 -0
- package/dist/admin-bar/component.d.ts +15 -0
- package/dist/admin-bar/component.d.ts.map +1 -0
- package/dist/admin-bar/component.js +65 -0
- package/dist/admin-bar/component.js.map +1 -0
- package/dist/admin-bar/core-contributors.d.ts +12 -0
- package/dist/admin-bar/core-contributors.d.ts.map +1 -0
- package/dist/admin-bar/core-contributors.js +147 -0
- package/dist/admin-bar/core-contributors.js.map +1 -0
- package/dist/admin-bar/i18n.d.ts +34 -0
- package/dist/admin-bar/i18n.d.ts.map +1 -0
- package/dist/admin-bar/i18n.js +85 -0
- package/dist/admin-bar/i18n.js.map +1 -0
- package/dist/admin-bar/styles.d.ts +5 -0
- package/dist/admin-bar/styles.d.ts.map +1 -0
- package/dist/admin-bar/styles.js +252 -0
- package/dist/admin-bar/styles.js.map +1 -0
- package/dist/admin-bar/types.d.ts +64 -0
- package/dist/admin-bar/types.d.ts.map +1 -0
- package/dist/admin-bar/types.js +8 -0
- package/dist/admin-bar/types.js.map +1 -0
- package/dist/auth/api-tokens.d.ts +84 -0
- package/dist/auth/api-tokens.d.ts.map +1 -0
- package/dist/auth/api-tokens.js +121 -0
- package/dist/auth/api-tokens.js.map +1 -0
- package/dist/auth/authenticator.d.ts +109 -0
- package/dist/auth/authenticator.d.ts.map +1 -0
- package/dist/auth/authenticator.js +98 -0
- package/dist/auth/authenticator.js.map +1 -0
- package/dist/auth/bearer.d.ts +9 -0
- package/dist/auth/bearer.d.ts.map +1 -0
- package/dist/auth/bearer.js +28 -0
- package/dist/auth/bearer.js.map +1 -0
- package/dist/auth/bootstrap.d.ts +14 -0
- package/dist/auth/bootstrap.d.ts.map +1 -0
- package/dist/auth/bootstrap.js +27 -0
- package/dist/auth/bootstrap.js.map +1 -0
- package/dist/auth/config.d.ts +96 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +98 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/cookies.d.ts +29 -0
- package/dist/auth/cookies.d.ts.map +1 -0
- package/dist/auth/cookies.js +70 -0
- package/dist/auth/cookies.js.map +1 -0
- package/dist/auth/csrf.d.ts +42 -0
- package/dist/auth/csrf.d.ts.map +1 -0
- package/dist/auth/csrf.js +80 -0
- package/dist/auth/csrf.js.map +1 -0
- package/dist/auth/device-flow-routes.d.ts +28 -0
- package/dist/auth/device-flow-routes.d.ts.map +1 -0
- package/dist/auth/device-flow-routes.js +90 -0
- package/dist/auth/device-flow-routes.js.map +1 -0
- package/dist/auth/device-flow.d.ts +111 -0
- package/dist/auth/device-flow.d.ts.map +1 -0
- package/dist/auth/device-flow.js +221 -0
- package/dist/auth/device-flow.js.map +1 -0
- package/dist/auth/email/messages.d.ts +21 -0
- package/dist/auth/email/messages.d.ts.map +1 -0
- package/dist/auth/email/messages.js +91 -0
- package/dist/auth/email/messages.js.map +1 -0
- package/dist/auth/email-change/cancel.d.ts +15 -0
- package/dist/auth/email-change/cancel.d.ts.map +1 -0
- package/dist/auth/email-change/cancel.js +18 -0
- package/dist/auth/email-change/cancel.js.map +1 -0
- package/dist/auth/email-change/errors.d.ts +13 -0
- package/dist/auth/email-change/errors.d.ts.map +1 -0
- package/dist/auth/email-change/errors.js +45 -0
- package/dist/auth/email-change/errors.js.map +1 -0
- package/dist/auth/email-change/index.d.ts +5 -0
- package/dist/auth/email-change/index.d.ts.map +1 -0
- package/dist/auth/email-change/index.js +5 -0
- package/dist/auth/email-change/index.js.map +1 -0
- package/dist/auth/email-change/request.d.ts +55 -0
- package/dist/auth/email-change/request.d.ts.map +1 -0
- package/dist/auth/email-change/request.js +93 -0
- package/dist/auth/email-change/request.js.map +1 -0
- package/dist/auth/email-change/routes.d.ts +17 -0
- package/dist/auth/email-change/routes.d.ts.map +1 -0
- package/dist/auth/email-change/routes.js +63 -0
- package/dist/auth/email-change/routes.js.map +1 -0
- package/dist/auth/email-change/verify.d.ts +30 -0
- package/dist/auth/email-change/verify.d.ts.map +1 -0
- package/dist/auth/email-change/verify.js +81 -0
- package/dist/auth/email-change/verify.js.map +1 -0
- package/dist/auth/flow-routes.d.ts +15 -0
- package/dist/auth/flow-routes.d.ts.map +1 -0
- package/dist/auth/flow-routes.js +15 -0
- package/dist/auth/flow-routes.js.map +1 -0
- package/dist/auth/identity.d.ts +96 -0
- package/dist/auth/identity.d.ts.map +1 -0
- package/dist/auth/identity.js +145 -0
- package/dist/auth/identity.js.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/invite.d.ts +25 -0
- package/dist/auth/invite.d.ts.map +1 -0
- package/dist/auth/invite.js +53 -0
- package/dist/auth/invite.js.map +1 -0
- package/dist/auth/magic-link/errors.d.ts +13 -0
- package/dist/auth/magic-link/errors.d.ts.map +1 -0
- package/dist/auth/magic-link/errors.js +40 -0
- package/dist/auth/magic-link/errors.js.map +1 -0
- package/dist/auth/magic-link/index.d.ts +4 -0
- package/dist/auth/magic-link/index.d.ts.map +1 -0
- package/dist/auth/magic-link/index.js +6 -0
- package/dist/auth/magic-link/index.js.map +1 -0
- package/dist/auth/magic-link/request.d.ts +57 -0
- package/dist/auth/magic-link/request.d.ts.map +1 -0
- package/dist/auth/magic-link/request.js +119 -0
- package/dist/auth/magic-link/request.js.map +1 -0
- package/dist/auth/magic-link/routes.d.ts +20 -0
- package/dist/auth/magic-link/routes.d.ts.map +1 -0
- package/dist/auth/magic-link/routes.js +121 -0
- package/dist/auth/magic-link/routes.js.map +1 -0
- package/dist/auth/magic-link/verify.d.ts +43 -0
- package/dist/auth/magic-link/verify.d.ts.map +1 -0
- package/dist/auth/magic-link/verify.js +80 -0
- package/dist/auth/magic-link/verify.js.map +1 -0
- package/dist/auth/mailer/console.d.ts +22 -0
- package/dist/auth/mailer/console.d.ts.map +1 -0
- package/dist/auth/mailer/console.js +24 -0
- package/dist/auth/mailer/console.js.map +1 -0
- package/dist/auth/mailer/index.d.ts +4 -0
- package/dist/auth/mailer/index.d.ts.map +1 -0
- package/dist/auth/mailer/index.js +2 -0
- package/dist/auth/mailer/index.js.map +1 -0
- package/dist/auth/mailer/resolve.d.ts +12 -0
- package/dist/auth/mailer/resolve.d.ts.map +1 -0
- package/dist/auth/mailer/resolve.js +5 -0
- package/dist/auth/mailer/resolve.js.map +1 -0
- package/dist/auth/mailer/types.d.ts +25 -0
- package/dist/auth/mailer/types.d.ts.map +1 -0
- package/dist/auth/mailer/types.js +1 -0
- package/dist/auth/mailer/types.js.map +1 -0
- package/dist/auth/oauth/consumer.d.ts +37 -0
- package/dist/auth/oauth/consumer.d.ts.map +1 -0
- package/dist/auth/oauth/consumer.js +136 -0
- package/dist/auth/oauth/consumer.js.map +1 -0
- package/dist/auth/oauth/errors.d.ts +22 -0
- package/dist/auth/oauth/errors.d.ts.map +1 -0
- package/dist/auth/oauth/errors.js +57 -0
- package/dist/auth/oauth/errors.js.map +1 -0
- package/dist/auth/oauth/index.d.ts +7 -0
- package/dist/auth/oauth/index.d.ts.map +1 -0
- package/dist/auth/oauth/index.js +22 -0
- package/dist/auth/oauth/index.js.map +1 -0
- package/dist/auth/oauth/match.d.ts +19 -0
- package/dist/auth/oauth/match.d.ts.map +1 -0
- package/dist/auth/oauth/match.js +28 -0
- package/dist/auth/oauth/match.js.map +1 -0
- package/dist/auth/oauth/pkce.d.ts +3 -0
- package/dist/auth/oauth/pkce.d.ts.map +1 -0
- package/dist/auth/oauth/pkce.js +13 -0
- package/dist/auth/oauth/pkce.js.map +1 -0
- package/dist/auth/oauth/providers/github.d.ts +3 -0
- package/dist/auth/oauth/providers/github.d.ts.map +1 -0
- package/dist/auth/oauth/providers/github.js +39 -0
- package/dist/auth/oauth/providers/github.js.map +1 -0
- package/dist/auth/oauth/providers/google.d.ts +3 -0
- package/dist/auth/oauth/providers/google.d.ts.map +1 -0
- package/dist/auth/oauth/providers/google.js +26 -0
- package/dist/auth/oauth/providers/google.js.map +1 -0
- package/dist/auth/oauth/providers/index.d.ts +3 -0
- package/dist/auth/oauth/providers/index.d.ts.map +1 -0
- package/dist/auth/oauth/providers/index.js +3 -0
- package/dist/auth/oauth/providers/index.js.map +1 -0
- package/dist/auth/oauth/routes.d.ts +5 -0
- package/dist/auth/oauth/routes.d.ts.map +1 -0
- package/dist/auth/oauth/routes.js +134 -0
- package/dist/auth/oauth/routes.js.map +1 -0
- package/dist/auth/oauth/signup.d.ts +40 -0
- package/dist/auth/oauth/signup.d.ts.map +1 -0
- package/dist/auth/oauth/signup.js +92 -0
- package/dist/auth/oauth/signup.js.map +1 -0
- package/dist/auth/oauth/state.d.ts +19 -0
- package/dist/auth/oauth/state.d.ts.map +1 -0
- package/dist/auth/oauth/state.js +48 -0
- package/dist/auth/oauth/state.js.map +1 -0
- package/dist/auth/oauth/types.d.ts +81 -0
- package/dist/auth/oauth/types.d.ts.map +1 -0
- package/dist/auth/oauth/types.js +6 -0
- package/dist/auth/oauth/types.js.map +1 -0
- package/dist/auth/passkey/authenticate.d.ts +26 -0
- package/dist/auth/passkey/authenticate.d.ts.map +1 -0
- package/dist/auth/passkey/authenticate.js +124 -0
- package/dist/auth/passkey/authenticate.js.map +1 -0
- package/dist/auth/passkey/challenges.d.ts +31 -0
- package/dist/auth/passkey/challenges.d.ts.map +1 -0
- package/dist/auth/passkey/challenges.js +57 -0
- package/dist/auth/passkey/challenges.js.map +1 -0
- package/dist/auth/passkey/config.d.ts +18 -0
- package/dist/auth/passkey/config.d.ts.map +1 -0
- package/dist/auth/passkey/config.js +14 -0
- package/dist/auth/passkey/config.js.map +1 -0
- package/dist/auth/passkey/errors.d.ts +41 -0
- package/dist/auth/passkey/errors.d.ts.map +1 -0
- package/dist/auth/passkey/errors.js +85 -0
- package/dist/auth/passkey/errors.js.map +1 -0
- package/dist/auth/passkey/index.d.ts +7 -0
- package/dist/auth/passkey/index.d.ts.map +1 -0
- package/dist/auth/passkey/index.js +7 -0
- package/dist/auth/passkey/index.js.map +1 -0
- package/dist/auth/passkey/register.d.ts +39 -0
- package/dist/auth/passkey/register.d.ts.map +1 -0
- package/dist/auth/passkey/register.js +175 -0
- package/dist/auth/passkey/register.js.map +1 -0
- package/dist/auth/passkey/routes.d.ts +10 -0
- package/dist/auth/passkey/routes.d.ts.map +1 -0
- package/dist/auth/passkey/routes.js +450 -0
- package/dist/auth/passkey/routes.js.map +1 -0
- package/dist/auth/passkey/types.d.ts +59 -0
- package/dist/auth/passkey/types.d.ts.map +1 -0
- package/dist/auth/passkey/types.js +1 -0
- package/dist/auth/passkey/types.js.map +1 -0
- package/dist/auth/preview-token.d.ts +21 -0
- package/dist/auth/preview-token.d.ts.map +1 -0
- package/dist/auth/preview-token.js +43 -0
- package/dist/auth/preview-token.js.map +1 -0
- package/dist/auth/rbac.d.ts +81 -0
- package/dist/auth/rbac.d.ts.map +1 -0
- package/dist/auth/rbac.js +166 -0
- package/dist/auth/rbac.js.map +1 -0
- package/dist/auth/sessions.d.ts +69 -0
- package/dist/auth/sessions.d.ts.map +1 -0
- package/dist/auth/sessions.js +147 -0
- package/dist/auth/sessions.js.map +1 -0
- package/dist/auth/sign-in.d.ts +21 -0
- package/dist/auth/sign-in.d.ts.map +1 -0
- package/dist/auth/sign-in.js +26 -0
- package/dist/auth/sign-in.js.map +1 -0
- package/dist/auth/tokens.d.ts +9 -0
- package/dist/auth/tokens.d.ts.map +1 -0
- package/dist/auth/tokens.js +23 -0
- package/dist/auth/tokens.js.map +1 -0
- package/dist/base-path.d.ts +36 -0
- package/dist/base-path.d.ts.map +1 -0
- package/dist/base-path.js +57 -0
- package/dist/base-path.js.map +1 -0
- package/dist/cache/decision.d.ts +34 -0
- package/dist/cache/decision.d.ts.map +1 -0
- package/dist/cache/decision.js +47 -0
- package/dist/cache/decision.js.map +1 -0
- package/dist/cache/purge.d.ts +17 -0
- package/dist/cache/purge.d.ts.map +1 -0
- package/dist/cache/purge.js +82 -0
- package/dist/cache/purge.js.map +1 -0
- package/dist/cache/read-through.d.ts +30 -0
- package/dist/cache/read-through.d.ts.map +1 -0
- package/dist/cache/read-through.js +28 -0
- package/dist/cache/read-through.js.map +1 -0
- package/dist/cache/tags.d.ts +30 -0
- package/dist/cache/tags.d.ts.map +1 -0
- package/dist/cache/tags.js +46 -0
- package/dist/cache/tags.js.map +1 -0
- package/dist/cli/errors.d.ts +75 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +85 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/schema-codegen.d.ts +8 -0
- package/dist/cli/schema-codegen.d.ts.map +1 -0
- package/dist/cli/schema-codegen.js +21 -0
- package/dist/cli/schema-codegen.js.map +1 -0
- package/dist/cli/spawn.d.ts +7 -0
- package/dist/cli/spawn.d.ts.map +1 -0
- package/dist/cli/spawn.js +22 -0
- package/dist/cli/spawn.js.map +1 -0
- package/dist/cli/worker-codegen.d.ts +5 -0
- package/dist/cli/worker-codegen.d.ts.map +1 -0
- package/dist/cli/worker-codegen.js +41 -0
- package/dist/cli/worker-codegen.js.map +1 -0
- package/dist/config.d.ts +141 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.errors.d.ts +13 -0
- package/dist/config.errors.d.ts.map +1 -0
- package/dist/config.errors.js +20 -0
- package/dist/config.errors.js.map +1 -0
- package/dist/config.js +36 -0
- package/dist/config.js.map +1 -0
- package/dist/context/app.d.ts +260 -0
- package/dist/context/app.d.ts.map +1 -0
- package/dist/context/app.js +149 -0
- package/dist/context/app.js.map +1 -0
- package/dist/context/errors.d.ts +16 -0
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/errors.js +27 -0
- package/dist/context/errors.js.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +3 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/stores.d.ts +19 -0
- package/dist/context/stores.d.ts.map +1 -0
- package/dist/context/stores.js +19 -0
- package/dist/context/stores.js.map +1 -0
- package/dist/db/errors.d.ts +2 -0
- package/dist/db/errors.d.ts.map +1 -0
- package/dist/db/errors.js +69 -0
- package/dist/db/errors.js.map +1 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +3 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/libsql.d.ts +30 -0
- package/dist/db/libsql.d.ts.map +1 -0
- package/dist/db/libsql.js +33 -0
- package/dist/db/libsql.js.map +1 -0
- package/dist/db/schema/allowed_domains.d.ts +230 -0
- package/dist/db/schema/allowed_domains.d.ts.map +1 -0
- package/dist/db/schema/allowed_domains.js +16 -0
- package/dist/db/schema/allowed_domains.js.map +1 -0
- package/dist/db/schema/api_tokens.d.ts +497 -0
- package/dist/db/schema/api_tokens.d.ts.map +1 -0
- package/dist/db/schema/api_tokens.js +72 -0
- package/dist/db/schema/api_tokens.js.map +1 -0
- package/dist/db/schema/auth_tokens.d.ts +505 -0
- package/dist/db/schema/auth_tokens.d.ts.map +1 -0
- package/dist/db/schema/auth_tokens.js +36 -0
- package/dist/db/schema/auth_tokens.js.map +1 -0
- package/dist/db/schema/credentials.d.ts +551 -0
- package/dist/db/schema/credentials.d.ts.map +1 -0
- package/dist/db/schema/credentials.js +32 -0
- package/dist/db/schema/credentials.js.map +1 -0
- package/dist/db/schema/device_codes.d.ts +454 -0
- package/dist/db/schema/device_codes.d.ts.map +1 -0
- package/dist/db/schema/device_codes.js +96 -0
- package/dist/db/schema/device_codes.js.map +1 -0
- package/dist/db/schema/entries.d.ts +779 -0
- package/dist/db/schema/entries.d.ts.map +1 -0
- package/dist/db/schema/entries.js +53 -0
- package/dist/db/schema/entries.js.map +1 -0
- package/dist/db/schema/entry_term.d.ts +167 -0
- package/dist/db/schema/entry_term.d.ts.map +1 -0
- package/dist/db/schema/entry_term.js +21 -0
- package/dist/db/schema/entry_term.js.map +1 -0
- package/dist/db/schema/index.d.ts +13 -0
- package/dist/db/schema/index.d.ts.map +1 -0
- package/dist/db/schema/index.js +13 -0
- package/dist/db/schema/index.js.map +1 -0
- package/dist/db/schema/oauth_accounts.d.ts +230 -0
- package/dist/db/schema/oauth_accounts.d.ts.map +1 -0
- package/dist/db/schema/oauth_accounts.js +22 -0
- package/dist/db/schema/oauth_accounts.js.map +1 -0
- package/dist/db/schema/sessions.d.ts +338 -0
- package/dist/db/schema/sessions.d.ts.map +1 -0
- package/dist/db/schema/sessions.js +24 -0
- package/dist/db/schema/sessions.js.map +1 -0
- package/dist/db/schema/settings.d.ts +185 -0
- package/dist/db/schema/settings.d.ts.map +1 -0
- package/dist/db/schema/settings.js +16 -0
- package/dist/db/schema/settings.js.map +1 -0
- package/dist/db/schema/terms.d.ts +452 -0
- package/dist/db/schema/terms.d.ts.map +1 -0
- package/dist/db/schema/terms.js +28 -0
- package/dist/db/schema/terms.js.map +1 -0
- package/dist/db/schema/users.d.ts +556 -0
- package/dist/db/schema/users.d.ts.map +1 -0
- package/dist/db/schema/users.js +36 -0
- package/dist/db/schema/users.js.map +1 -0
- package/dist/document-merge.d.ts +21 -0
- package/dist/document-merge.d.ts.map +1 -0
- package/dist/document-merge.js +51 -0
- package/dist/document-merge.js.map +1 -0
- package/dist/entries/errors.d.ts +22 -0
- package/dist/entries/errors.d.ts.map +1 -0
- package/dist/entries/errors.js +26 -0
- package/dist/entries/errors.js.map +1 -0
- package/dist/entries/read-service.d.ts +25 -0
- package/dist/entries/read-service.d.ts.map +1 -0
- package/dist/entries/read-service.js +159 -0
- package/dist/entries/read-service.js.map +1 -0
- package/dist/hooks/block-render.d.ts +30 -0
- package/dist/hooks/block-render.d.ts.map +1 -0
- package/dist/hooks/block-render.js +11 -0
- package/dist/hooks/block-render.js.map +1 -0
- package/dist/hooks/errors.d.ts +9 -0
- package/dist/hooks/errors.d.ts.map +1 -0
- package/dist/hooks/errors.js +19 -0
- package/dist/hooks/errors.js.map +1 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/registry.d.ts +51 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +104 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.d.ts +17 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +8 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/i18n/accept-language.d.ts +3 -0
- package/dist/i18n/accept-language.d.ts.map +1 -0
- package/dist/i18n/accept-language.js +61 -0
- package/dist/i18n/accept-language.js.map +1 -0
- package/dist/i18n/context.d.ts +10 -0
- package/dist/i18n/context.d.ts.map +1 -0
- package/dist/i18n/context.js +9 -0
- package/dist/i18n/context.js.map +1 -0
- package/dist/i18n/cookie.d.ts +8 -0
- package/dist/i18n/cookie.d.ts.map +1 -0
- package/dist/i18n/cookie.js +27 -0
- package/dist/i18n/cookie.js.map +1 -0
- package/dist/i18n/errors.d.ts +16 -0
- package/dist/i18n/errors.d.ts.map +1 -0
- package/dist/i18n/errors.js +28 -0
- package/dist/i18n/errors.js.map +1 -0
- package/dist/i18n/format.d.ts +13 -0
- package/dist/i18n/format.d.ts.map +1 -0
- package/dist/i18n/format.js +37 -0
- package/dist/i18n/format.js.map +1 -0
- package/dist/i18n/generic-type-labels.d.ts +209 -0
- package/dist/i18n/generic-type-labels.d.ts.map +1 -0
- package/dist/i18n/generic-type-labels.js +125 -0
- package/dist/i18n/generic-type-labels.js.map +1 -0
- package/dist/i18n/index.d.ts +10 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +19 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/label.d.ts +15 -0
- package/dist/i18n/label.d.ts.map +1 -0
- package/dist/i18n/label.js +25 -0
- package/dist/i18n/label.js.map +1 -0
- package/dist/i18n/load-catalog.d.ts +26 -0
- package/dist/i18n/load-catalog.d.ts.map +1 -0
- package/dist/i18n/load-catalog.js +54 -0
- package/dist/i18n/load-catalog.js.map +1 -0
- package/dist/i18n/locale-registry.d.ts +33 -0
- package/dist/i18n/locale-registry.d.ts.map +1 -0
- package/dist/i18n/locale-registry.js +72 -0
- package/dist/i18n/locale-registry.js.map +1 -0
- package/dist/i18n/resolve-locale.d.ts +10 -0
- package/dist/i18n/resolve-locale.d.ts.map +1 -0
- package/dist/i18n/resolve-locale.js +29 -0
- package/dist/i18n/resolve-locale.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/content-tools.d.ts +182 -0
- package/dist/mcp/content-tools.d.ts.map +1 -0
- package/dist/mcp/content-tools.js +67 -0
- package/dist/mcp/content-tools.js.map +1 -0
- package/dist/mcp/dispatch.d.ts +12 -0
- package/dist/mcp/dispatch.d.ts.map +1 -0
- package/dist/mcp/dispatch.js +30 -0
- package/dist/mcp/dispatch.js.map +1 -0
- package/dist/mcp/errors.d.ts +29 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +36 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/registry.d.ts +13 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +28 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/schema-describe.d.ts +13 -0
- package/dist/mcp/schema-describe.d.ts.map +1 -0
- package/dist/mcp/schema-describe.js +49 -0
- package/dist/mcp/schema-describe.js.map +1 -0
- package/dist/mcp/schema-projection.d.ts +5 -0
- package/dist/mcp/schema-projection.d.ts.map +1 -0
- package/dist/mcp/schema-projection.js +11 -0
- package/dist/mcp/schema-projection.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +40 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/term-tools.d.ts +59 -0
- package/dist/mcp/term-tools.d.ts.map +1 -0
- package/dist/mcp/term-tools.js +77 -0
- package/dist/mcp/term-tools.js.map +1 -0
- package/dist/mcp/tool.d.ts +20 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +1 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/plugin/define.d.ts +77 -0
- package/dist/plugin/define.d.ts.map +1 -0
- package/dist/plugin/define.js +74 -0
- package/dist/plugin/define.js.map +1 -0
- package/dist/plugin/errors.d.ts +265 -0
- package/dist/plugin/errors.d.ts.map +1 -0
- package/dist/plugin/errors.js +330 -0
- package/dist/plugin/errors.js.map +1 -0
- package/dist/plugin/fields/checkbox.d.ts +19 -0
- package/dist/plugin/fields/checkbox.d.ts.map +1 -0
- package/dist/plugin/fields/checkbox.js +20 -0
- package/dist/plugin/fields/checkbox.js.map +1 -0
- package/dist/plugin/fields/color.d.ts +28 -0
- package/dist/plugin/fields/color.d.ts.map +1 -0
- package/dist/plugin/fields/color.js +30 -0
- package/dist/plugin/fields/color.js.map +1 -0
- package/dist/plugin/fields/date.d.ts +24 -0
- package/dist/plugin/fields/date.d.ts.map +1 -0
- package/dist/plugin/fields/date.js +23 -0
- package/dist/plugin/fields/date.js.map +1 -0
- package/dist/plugin/fields/datetime.d.ts +26 -0
- package/dist/plugin/fields/datetime.d.ts.map +1 -0
- package/dist/plugin/fields/datetime.js +25 -0
- package/dist/plugin/fields/datetime.js.map +1 -0
- package/dist/plugin/fields/email.d.ts +17 -0
- package/dist/plugin/fields/email.d.ts.map +1 -0
- package/dist/plugin/fields/email.js +18 -0
- package/dist/plugin/fields/email.js.map +1 -0
- package/dist/plugin/fields/entry-list.d.ts +28 -0
- package/dist/plugin/fields/entry-list.d.ts.map +1 -0
- package/dist/plugin/fields/entry-list.js +31 -0
- package/dist/plugin/fields/entry-list.js.map +1 -0
- package/dist/plugin/fields/entry.d.ts +40 -0
- package/dist/plugin/fields/entry.d.ts.map +1 -0
- package/dist/plugin/fields/entry.js +25 -0
- package/dist/plugin/fields/entry.js.map +1 -0
- package/dist/plugin/fields/errors.d.ts +35 -0
- package/dist/plugin/fields/errors.d.ts.map +1 -0
- package/dist/plugin/fields/errors.js +41 -0
- package/dist/plugin/fields/errors.js.map +1 -0
- package/dist/plugin/fields/index.d.ts +50 -0
- package/dist/plugin/fields/index.d.ts.map +1 -0
- package/dist/plugin/fields/index.js +37 -0
- package/dist/plugin/fields/index.js.map +1 -0
- package/dist/plugin/fields/json.d.ts +19 -0
- package/dist/plugin/fields/json.d.ts.map +1 -0
- package/dist/plugin/fields/json.js +20 -0
- package/dist/plugin/fields/json.js.map +1 -0
- package/dist/plugin/fields/multiselect.d.ts +21 -0
- package/dist/plugin/fields/multiselect.d.ts.map +1 -0
- package/dist/plugin/fields/multiselect.js +43 -0
- package/dist/plugin/fields/multiselect.js.map +1 -0
- package/dist/plugin/fields/number.d.ts +23 -0
- package/dist/plugin/fields/number.d.ts.map +1 -0
- package/dist/plugin/fields/number.js +24 -0
- package/dist/plugin/fields/number.js.map +1 -0
- package/dist/plugin/fields/parse-date.d.ts +7 -0
- package/dist/plugin/fields/parse-date.d.ts.map +1 -0
- package/dist/plugin/fields/parse-date.js +42 -0
- package/dist/plugin/fields/parse-date.js.map +1 -0
- package/dist/plugin/fields/password.d.ts +24 -0
- package/dist/plugin/fields/password.d.ts.map +1 -0
- package/dist/plugin/fields/password.js +25 -0
- package/dist/plugin/fields/password.js.map +1 -0
- package/dist/plugin/fields/radio.d.ts +16 -0
- package/dist/plugin/fields/radio.d.ts.map +1 -0
- package/dist/plugin/fields/radio.js +17 -0
- package/dist/plugin/fields/radio.js.map +1 -0
- package/dist/plugin/fields/range.d.ts +28 -0
- package/dist/plugin/fields/range.d.ts.map +1 -0
- package/dist/plugin/fields/range.js +46 -0
- package/dist/plugin/fields/range.js.map +1 -0
- package/dist/plugin/fields/repeater-validate.d.ts +34 -0
- package/dist/plugin/fields/repeater-validate.d.ts.map +1 -0
- package/dist/plugin/fields/repeater-validate.js +104 -0
- package/dist/plugin/fields/repeater-validate.js.map +1 -0
- package/dist/plugin/fields/repeater.d.ts +16 -0
- package/dist/plugin/fields/repeater.d.ts.map +1 -0
- package/dist/plugin/fields/repeater.js +68 -0
- package/dist/plugin/fields/repeater.js.map +1 -0
- package/dist/plugin/fields/richtext-validate.d.ts +61 -0
- package/dist/plugin/fields/richtext-validate.d.ts.map +1 -0
- package/dist/plugin/fields/richtext-validate.js +190 -0
- package/dist/plugin/fields/richtext-validate.js.map +1 -0
- package/dist/plugin/fields/richtext.d.ts +25 -0
- package/dist/plugin/fields/richtext.d.ts.map +1 -0
- package/dist/plugin/fields/richtext.js +31 -0
- package/dist/plugin/fields/richtext.js.map +1 -0
- package/dist/plugin/fields/select.d.ts +20 -0
- package/dist/plugin/fields/select.d.ts.map +1 -0
- package/dist/plugin/fields/select.js +21 -0
- package/dist/plugin/fields/select.js.map +1 -0
- package/dist/plugin/fields/term-list.d.ts +27 -0
- package/dist/plugin/fields/term-list.d.ts.map +1 -0
- package/dist/plugin/fields/term-list.js +30 -0
- package/dist/plugin/fields/term-list.js.map +1 -0
- package/dist/plugin/fields/term.d.ts +34 -0
- package/dist/plugin/fields/term.d.ts.map +1 -0
- package/dist/plugin/fields/term.js +24 -0
- package/dist/plugin/fields/term.js.map +1 -0
- package/dist/plugin/fields/text.d.ts +37 -0
- package/dist/plugin/fields/text.d.ts.map +1 -0
- package/dist/plugin/fields/text.js +31 -0
- package/dist/plugin/fields/text.js.map +1 -0
- package/dist/plugin/fields/textarea.d.ts +20 -0
- package/dist/plugin/fields/textarea.d.ts.map +1 -0
- package/dist/plugin/fields/textarea.js +21 -0
- package/dist/plugin/fields/textarea.js.map +1 -0
- package/dist/plugin/fields/time.d.ts +24 -0
- package/dist/plugin/fields/time.d.ts.map +1 -0
- package/dist/plugin/fields/time.js +23 -0
- package/dist/plugin/fields/time.js.map +1 -0
- package/dist/plugin/fields/url.d.ts +17 -0
- package/dist/plugin/fields/url.d.ts.map +1 -0
- package/dist/plugin/fields/url.js +18 -0
- package/dist/plugin/fields/url.js.map +1 -0
- package/dist/plugin/fields/user-list.d.ts +29 -0
- package/dist/plugin/fields/user-list.d.ts.map +1 -0
- package/dist/plugin/fields/user-list.js +31 -0
- package/dist/plugin/fields/user-list.js.map +1 -0
- package/dist/plugin/fields/user.d.ts +43 -0
- package/dist/plugin/fields/user.d.ts.map +1 -0
- package/dist/plugin/fields/user.js +30 -0
- package/dist/plugin/fields/user.js.map +1 -0
- package/dist/plugin/index.d.ts +7 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +7 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/lookup.d.ts +92 -0
- package/dist/plugin/lookup.d.ts.map +1 -0
- package/dist/plugin/lookup.js +1 -0
- package/dist/plugin/lookup.js.map +1 -0
- package/dist/plugin/manifest.d.ts +1539 -0
- package/dist/plugin/manifest.d.ts.map +1 -0
- package/dist/plugin/manifest.js +913 -0
- package/dist/plugin/manifest.js.map +1 -0
- package/dist/plugin/provides-context.d.ts +26 -0
- package/dist/plugin/provides-context.d.ts.map +1 -0
- package/dist/plugin/provides-context.js +77 -0
- package/dist/plugin/provides-context.js.map +1 -0
- package/dist/plugin/register.d.ts +24 -0
- package/dist/plugin/register.d.ts.map +1 -0
- package/dist/plugin/register.js +45 -0
- package/dist/plugin/register.js.map +1 -0
- package/dist/plugin/setup-context.d.ts +224 -0
- package/dist/plugin/setup-context.d.ts.map +1 -0
- package/dist/plugin/setup-context.js +386 -0
- package/dist/plugin/setup-context.js.map +1 -0
- package/dist/plugin/validation/component-ref.d.ts +2 -0
- package/dist/plugin/validation/component-ref.d.ts.map +1 -0
- package/dist/plugin/validation/component-ref.js +7 -0
- package/dist/plugin/validation/component-ref.js.map +1 -0
- package/dist/plugin/validation/identifiers.d.ts +7 -0
- package/dist/plugin/validation/identifiers.d.ts.map +1 -0
- package/dist/plugin/validation/identifiers.js +92 -0
- package/dist/plugin/validation/identifiers.js.map +1 -0
- package/dist/plugin/validation/index.d.ts +7 -0
- package/dist/plugin/validation/index.d.ts.map +1 -0
- package/dist/plugin/validation/index.js +7 -0
- package/dist/plugin/validation/index.js.map +1 -0
- package/dist/plugin/validation/login-link.d.ts +3 -0
- package/dist/plugin/validation/login-link.d.ts.map +1 -0
- package/dist/plugin/validation/login-link.js +43 -0
- package/dist/plugin/validation/login-link.js.map +1 -0
- package/dist/plugin/validation/meta-box-fields.d.ts +6 -0
- package/dist/plugin/validation/meta-box-fields.d.ts.map +1 -0
- package/dist/plugin/validation/meta-box-fields.js +52 -0
- package/dist/plugin/validation/meta-box-fields.js.map +1 -0
- package/dist/plugin/validation/paths.d.ts +4 -0
- package/dist/plugin/validation/paths.d.ts.map +1 -0
- package/dist/plugin/validation/paths.js +44 -0
- package/dist/plugin/validation/paths.js.map +1 -0
- package/dist/plugin/validation/scheduled-task.d.ts +3 -0
- package/dist/plugin/validation/scheduled-task.d.ts.map +1 -0
- package/dist/plugin/validation/scheduled-task.js +14 -0
- package/dist/plugin/validation/scheduled-task.js.map +1 -0
- package/dist/rest/base.d.ts +27 -0
- package/dist/rest/base.d.ts.map +1 -0
- package/dist/rest/base.js +4 -0
- package/dist/rest/base.js.map +1 -0
- package/dist/rest/build-handler.d.ts +11 -0
- package/dist/rest/build-handler.d.ts.map +1 -0
- package/dist/rest/build-handler.js +53 -0
- package/dist/rest/build-handler.js.map +1 -0
- package/dist/rest/cors.d.ts +11 -0
- package/dist/rest/cors.d.ts.map +1 -0
- package/dist/rest/cors.js +58 -0
- package/dist/rest/cors.js.map +1 -0
- package/dist/rest/entries-resource.d.ts +44 -0
- package/dist/rest/entries-resource.d.ts.map +1 -0
- package/dist/rest/entries-resource.js +79 -0
- package/dist/rest/entries-resource.js.map +1 -0
- package/dist/rest/envelope.d.ts +18 -0
- package/dist/rest/envelope.d.ts.map +1 -0
- package/dist/rest/envelope.js +20 -0
- package/dist/rest/envelope.js.map +1 -0
- package/dist/rest/errors.d.ts +21 -0
- package/dist/rest/errors.d.ts.map +1 -0
- package/dist/rest/errors.js +16 -0
- package/dist/rest/errors.js.map +1 -0
- package/dist/rest/openapi.d.ts +4 -0
- package/dist/rest/openapi.d.ts.map +1 -0
- package/dist/rest/openapi.js +13 -0
- package/dist/rest/openapi.js.map +1 -0
- package/dist/rest/plugin-resources.d.ts +3 -0
- package/dist/rest/plugin-resources.d.ts.map +1 -0
- package/dist/rest/plugin-resources.js +37 -0
- package/dist/rest/plugin-resources.js.map +1 -0
- package/dist/rest/principal.d.ts +19 -0
- package/dist/rest/principal.d.ts.map +1 -0
- package/dist/rest/principal.js +27 -0
- package/dist/rest/principal.js.map +1 -0
- package/dist/rest/projection.d.ts +22 -0
- package/dist/rest/projection.d.ts.map +1 -0
- package/dist/rest/projection.js +99 -0
- package/dist/rest/projection.js.map +1 -0
- package/dist/rest/rest-base.d.ts +14 -0
- package/dist/rest/rest-base.d.ts.map +1 -0
- package/dist/rest/rest-base.js +36 -0
- package/dist/rest/rest-base.js.map +1 -0
- package/dist/rest/rest-routes.d.ts +14 -0
- package/dist/rest/rest-routes.d.ts.map +1 -0
- package/dist/rest/rest-routes.js +32 -0
- package/dist/rest/rest-routes.js.map +1 -0
- package/dist/rest/router.d.ts +117 -0
- package/dist/rest/router.d.ts.map +1 -0
- package/dist/rest/router.js +47 -0
- package/dist/rest/router.js.map +1 -0
- package/dist/rest/schemas.d.ts +102 -0
- package/dist/rest/schemas.d.ts.map +1 -0
- package/dist/rest/schemas.js +72 -0
- package/dist/rest/schemas.js.map +1 -0
- package/dist/rest/terms-resource.d.ts +22 -0
- package/dist/rest/terms-resource.d.ts.map +1 -0
- package/dist/rest/terms-resource.js +44 -0
- package/dist/rest/terms-resource.js.map +1 -0
- package/dist/revisions/errors.d.ts +6 -0
- package/dist/revisions/errors.d.ts.map +1 -0
- package/dist/revisions/errors.js +14 -0
- package/dist/revisions/errors.js.map +1 -0
- package/dist/revisions/repository.d.ts +55 -0
- package/dist/revisions/repository.d.ts.map +1 -0
- package/dist/revisions/repository.js +212 -0
- package/dist/revisions/repository.js.map +1 -0
- package/dist/revisions/slug-codec.d.ts +19 -0
- package/dist/revisions/slug-codec.d.ts.map +1 -0
- package/dist/revisions/slug-codec.js +61 -0
- package/dist/revisions/slug-codec.js.map +1 -0
- package/dist/revisions/snapshot-envelope.d.ts +20 -0
- package/dist/revisions/snapshot-envelope.d.ts.map +1 -0
- package/dist/revisions/snapshot-envelope.js +44 -0
- package/dist/revisions/snapshot-envelope.js.map +1 -0
- package/dist/route/compile.d.ts +15 -0
- package/dist/route/compile.d.ts.map +1 -0
- package/dist/route/compile.js +205 -0
- package/dist/route/compile.js.map +1 -0
- package/dist/route/current.d.ts +56 -0
- package/dist/route/current.d.ts.map +1 -0
- package/dist/route/current.js +50 -0
- package/dist/route/current.js.map +1 -0
- package/dist/route/edit-mode.d.ts +20 -0
- package/dist/route/edit-mode.d.ts.map +1 -0
- package/dist/route/edit-mode.js +22 -0
- package/dist/route/edit-mode.js.map +1 -0
- package/dist/route/errors.d.ts +19 -0
- package/dist/route/errors.d.ts.map +1 -0
- package/dist/route/errors.js +32 -0
- package/dist/route/errors.js.map +1 -0
- package/dist/route/intent.d.ts +35 -0
- package/dist/route/intent.d.ts.map +1 -0
- package/dist/route/intent.js +1 -0
- package/dist/route/intent.js.map +1 -0
- package/dist/route/match.d.ts +7 -0
- package/dist/route/match.d.ts.map +1 -0
- package/dist/route/match.js +18 -0
- package/dist/route/match.js.map +1 -0
- package/dist/route/paginate.d.ts +25 -0
- package/dist/route/paginate.d.ts.map +1 -0
- package/dist/route/paginate.js +24 -0
- package/dist/route/paginate.js.map +1 -0
- package/dist/route/path-chain.d.ts +22 -0
- package/dist/route/path-chain.d.ts.map +1 -0
- package/dist/route/path-chain.js +77 -0
- package/dist/route/path-chain.js.map +1 -0
- package/dist/route/permalink.d.ts +70 -0
- package/dist/route/permalink.d.ts.map +1 -0
- package/dist/route/permalink.js +163 -0
- package/dist/route/permalink.js.map +1 -0
- package/dist/route/preview.d.ts +12 -0
- package/dist/route/preview.d.ts.map +1 -0
- package/dist/route/preview.js +20 -0
- package/dist/route/preview.js.map +1 -0
- package/dist/route/render/archive-props.d.ts +39 -0
- package/dist/route/render/archive-props.d.ts.map +1 -0
- package/dist/route/render/archive-props.js +32 -0
- package/dist/route/render/archive-props.js.map +1 -0
- package/dist/route/render/asset-manifest.d.ts +23 -0
- package/dist/route/render/asset-manifest.d.ts.map +1 -0
- package/dist/route/render/asset-manifest.js +62 -0
- package/dist/route/render/asset-manifest.js.map +1 -0
- package/dist/route/render/build-resolved-entries.d.ts +11 -0
- package/dist/route/render/build-resolved-entries.d.ts.map +1 -0
- package/dist/route/render/build-resolved-entries.js +66 -0
- package/dist/route/render/build-resolved-entries.js.map +1 -0
- package/dist/route/render/inject-editor-bootstrap.d.ts +3 -0
- package/dist/route/render/inject-editor-bootstrap.d.ts.map +1 -0
- package/dist/route/render/inject-editor-bootstrap.js +13 -0
- package/dist/route/render/inject-editor-bootstrap.js.map +1 -0
- package/dist/route/render/inject-islands-bootstrap.d.ts +3 -0
- package/dist/route/render/inject-islands-bootstrap.d.ts.map +1 -0
- package/dist/route/render/inject-islands-bootstrap.js +34 -0
- package/dist/route/render/inject-islands-bootstrap.js.map +1 -0
- package/dist/route/render/render-template.d.ts +47 -0
- package/dist/route/render/render-template.d.ts.map +1 -0
- package/dist/route/render/render-template.js +370 -0
- package/dist/route/render/render-template.js.map +1 -0
- package/dist/route/render/resolved-entry.d.ts +58 -0
- package/dist/route/render/resolved-entry.d.ts.map +1 -0
- package/dist/route/render/resolved-entry.js +1 -0
- package/dist/route/render/resolved-entry.js.map +1 -0
- package/dist/route/render/template-hierarchy.d.ts +68 -0
- package/dist/route/render/template-hierarchy.d.ts.map +1 -0
- package/dist/route/render/template-hierarchy.js +88 -0
- package/dist/route/render/template-hierarchy.js.map +1 -0
- package/dist/route/render/tiptap.d.ts +8 -0
- package/dist/route/render/tiptap.d.ts.map +1 -0
- package/dist/route/render/tiptap.js +134 -0
- package/dist/route/render/tiptap.js.map +1 -0
- package/dist/route/resolve.d.ts +17 -0
- package/dist/route/resolve.d.ts.map +1 -0
- package/dist/route/resolve.js +408 -0
- package/dist/route/resolve.js.map +1 -0
- package/dist/rpc/authenticated.d.ts +2 -0
- package/dist/rpc/authenticated.d.ts.map +1 -0
- package/dist/rpc/authenticated.js +18 -0
- package/dist/rpc/authenticated.js.map +1 -0
- package/dist/rpc/base.d.ts +60 -0
- package/dist/rpc/base.d.ts.map +1 -0
- package/dist/rpc/base.js +4 -0
- package/dist/rpc/base.js.map +1 -0
- package/dist/rpc/build-handler.d.ts +12 -0
- package/dist/rpc/build-handler.d.ts.map +1 -0
- package/dist/rpc/build-handler.js +20 -0
- package/dist/rpc/build-handler.js.map +1 -0
- package/dist/rpc/errors.d.ts +59 -0
- package/dist/rpc/errors.d.ts.map +1 -0
- package/dist/rpc/errors.js +62 -0
- package/dist/rpc/errors.js.map +1 -0
- package/dist/rpc/hooks.d.ts +422 -0
- package/dist/rpc/hooks.d.ts.map +1 -0
- package/dist/rpc/hooks.js +2 -0
- package/dist/rpc/hooks.js.map +1 -0
- package/dist/rpc/index.d.ts +32 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +20 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/rpc/meta/core.d.ts +132 -0
- package/dist/rpc/meta/core.d.ts.map +1 -0
- package/dist/rpc/meta/core.js +795 -0
- package/dist/rpc/meta/core.js.map +1 -0
- package/dist/rpc/meta/errors.d.ts +16 -0
- package/dist/rpc/meta/errors.d.ts.map +1 -0
- package/dist/rpc/meta/errors.js +26 -0
- package/dist/rpc/meta/errors.js.map +1 -0
- package/dist/rpc/namespaces.d.ts +2 -0
- package/dist/rpc/namespaces.d.ts.map +1 -0
- package/dist/rpc/namespaces.js +16 -0
- package/dist/rpc/namespaces.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.d.ts +72 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.js +35 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts +70 -0
- package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/delete.js +25 -0
- package/dist/rpc/procedures/auth/allowed-domains/delete.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/index.d.ts +281 -0
- package/dist/rpc/procedures/auth/allowed-domains/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/index.js +11 -0
- package/dist/rpc/procedures/auth/allowed-domains/index.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/list.d.ts +68 -0
- package/dist/rpc/procedures/auth/allowed-domains/list.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/list.js +19 -0
- package/dist/rpc/procedures/auth/allowed-domains/list.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/schemas.d.ts +16 -0
- package/dist/rpc/procedures/auth/allowed-domains/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/schemas.js +23 -0
- package/dist/rpc/procedures/auth/allowed-domains/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/update.d.ts +72 -0
- package/dist/rpc/procedures/auth/allowed-domains/update.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/update.js +34 -0
- package/dist/rpc/procedures/auth/allowed-domains/update.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts +101 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-list.js +69 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-list.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts +64 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.js +35 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/create.d.ts +84 -0
- package/dist/rpc/procedures/auth/api-tokens/create.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/create.js +50 -0
- package/dist/rpc/procedures/auth/api-tokens/create.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/index.d.ts +385 -0
- package/dist/rpc/procedures/auth/api-tokens/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/index.js +13 -0
- package/dist/rpc/procedures/auth/api-tokens/index.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/list.d.ts +74 -0
- package/dist/rpc/procedures/auth/api-tokens/list.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/list.js +32 -0
- package/dist/rpc/procedures/auth/api-tokens/list.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts +64 -0
- package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/revoke.js +27 -0
- package/dist/rpc/procedures/auth/api-tokens/revoke.js.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/schemas.d.ts +27 -0
- package/dist/rpc/procedures/auth/api-tokens/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/api-tokens/schemas.js +68 -0
- package/dist/rpc/procedures/auth/api-tokens/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/credentials/delete.d.ts +64 -0
- package/dist/rpc/procedures/auth/credentials/delete.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/credentials/delete.js +44 -0
- package/dist/rpc/procedures/auth/credentials/delete.js.map +1 -0
- package/dist/rpc/procedures/auth/credentials/index.d.ts +203 -0
- package/dist/rpc/procedures/auth/credentials/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/credentials/index.js +9 -0
- package/dist/rpc/procedures/auth/credentials/index.js.map +1 -0
- package/dist/rpc/procedures/auth/credentials/list.d.ts +72 -0
- package/dist/rpc/procedures/auth/credentials/list.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/credentials/list.js +27 -0
- package/dist/rpc/procedures/auth/credentials/list.js.map +1 -0
- package/dist/rpc/procedures/auth/credentials/rename.d.ts +67 -0
- package/dist/rpc/procedures/auth/credentials/rename.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/credentials/rename.js +27 -0
- package/dist/rpc/procedures/auth/credentials/rename.js.map +1 -0
- package/dist/rpc/procedures/auth/credentials/schemas.d.ts +10 -0
- package/dist/rpc/procedures/auth/credentials/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/credentials/schemas.js +20 -0
- package/dist/rpc/procedures/auth/credentials/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/approve.d.ts +66 -0
- package/dist/rpc/procedures/auth/device-flow/approve.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/approve.js +42 -0
- package/dist/rpc/procedures/auth/device-flow/approve.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/deny.d.ts +64 -0
- package/dist/rpc/procedures/auth/device-flow/deny.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/deny.js +27 -0
- package/dist/rpc/procedures/auth/device-flow/deny.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/index.d.ts +194 -0
- package/dist/rpc/procedures/auth/device-flow/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/index.js +9 -0
- package/dist/rpc/procedures/auth/device-flow/index.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/lookup-helpers.d.ts +19 -0
- package/dist/rpc/procedures/auth/device-flow/lookup-helpers.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/lookup-helpers.js +17 -0
- package/dist/rpc/procedures/auth/device-flow/lookup-helpers.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/lookup.d.ts +64 -0
- package/dist/rpc/procedures/auth/device-flow/lookup.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/lookup.js +23 -0
- package/dist/rpc/procedures/auth/device-flow/lookup.js.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/schemas.d.ts +13 -0
- package/dist/rpc/procedures/auth/device-flow/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/device-flow/schemas.js +45 -0
- package/dist/rpc/procedures/auth/device-flow/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/index.d.ts +1524 -0
- package/dist/rpc/procedures/auth/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/index.js +21 -0
- package/dist/rpc/procedures/auth/index.js.map +1 -0
- package/dist/rpc/procedures/auth/login-links.d.ts +66 -0
- package/dist/rpc/procedures/auth/login-links.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/login-links.js +14 -0
- package/dist/rpc/procedures/auth/login-links.js.map +1 -0
- package/dist/rpc/procedures/auth/mailer/index.d.ts +66 -0
- package/dist/rpc/procedures/auth/mailer/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/mailer/index.js +5 -0
- package/dist/rpc/procedures/auth/mailer/index.js.map +1 -0
- package/dist/rpc/procedures/auth/mailer/schemas.d.ts +5 -0
- package/dist/rpc/procedures/auth/mailer/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/mailer/schemas.js +5 -0
- package/dist/rpc/procedures/auth/mailer/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/mailer/test-send.d.ts +64 -0
- package/dist/rpc/procedures/auth/mailer/test-send.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/mailer/test-send.js +44 -0
- package/dist/rpc/procedures/auth/mailer/test-send.js.map +1 -0
- package/dist/rpc/procedures/auth/oauth-providers.d.ts +59 -0
- package/dist/rpc/procedures/auth/oauth-providers.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/oauth-providers.js +8 -0
- package/dist/rpc/procedures/auth/oauth-providers.js.map +1 -0
- package/dist/rpc/procedures/auth/schemas.d.ts +27 -0
- package/dist/rpc/procedures/auth/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/schemas.js +28 -0
- package/dist/rpc/procedures/auth/schemas.js.map +1 -0
- package/dist/rpc/procedures/auth/session.d.ts +78 -0
- package/dist/rpc/procedures/auth/session.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/session.js +32 -0
- package/dist/rpc/procedures/auth/session.js.map +1 -0
- package/dist/rpc/procedures/auth/sessions/index.d.ts +198 -0
- package/dist/rpc/procedures/auth/sessions/index.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/sessions/index.js +9 -0
- package/dist/rpc/procedures/auth/sessions/index.js.map +1 -0
- package/dist/rpc/procedures/auth/sessions/list.d.ts +72 -0
- package/dist/rpc/procedures/auth/sessions/list.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/sessions/list.js +47 -0
- package/dist/rpc/procedures/auth/sessions/list.js.map +1 -0
- package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts +62 -0
- package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/sessions/revoke-others.js +47 -0
- package/dist/rpc/procedures/auth/sessions/revoke-others.js.map +1 -0
- package/dist/rpc/procedures/auth/sessions/revoke.d.ts +64 -0
- package/dist/rpc/procedures/auth/sessions/revoke.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/sessions/revoke.js +39 -0
- package/dist/rpc/procedures/auth/sessions/revoke.js.map +1 -0
- package/dist/rpc/procedures/auth/sessions/schemas.d.ts +7 -0
- package/dist/rpc/procedures/auth/sessions/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/auth/sessions/schemas.js +11 -0
- package/dist/rpc/procedures/auth/sessions/schemas.js.map +1 -0
- package/dist/rpc/procedures/entry/activity.d.ts +75 -0
- package/dist/rpc/procedures/entry/activity.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/activity.js +76 -0
- package/dist/rpc/procedures/entry/activity.js.map +1 -0
- package/dist/rpc/procedures/entry/bulk.d.ts +190 -0
- package/dist/rpc/procedures/entry/bulk.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/bulk.js +72 -0
- package/dist/rpc/procedures/entry/bulk.js.map +1 -0
- package/dist/rpc/procedures/entry/concurrency.d.ts +4 -0
- package/dist/rpc/procedures/entry/concurrency.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/concurrency.js +13 -0
- package/dist/rpc/procedures/entry/concurrency.js.map +1 -0
- package/dist/rpc/procedures/entry/content.d.ts +20 -0
- package/dist/rpc/procedures/entry/content.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/content.js +27 -0
- package/dist/rpc/procedures/entry/content.js.map +1 -0
- package/dist/rpc/procedures/entry/create-preview-link.d.ts +66 -0
- package/dist/rpc/procedures/entry/create-preview-link.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/create-preview-link.js +38 -0
- package/dist/rpc/procedures/entry/create-preview-link.js.map +1 -0
- package/dist/rpc/procedures/entry/create.d.ts +107 -0
- package/dist/rpc/procedures/entry/create.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/create.js +115 -0
- package/dist/rpc/procedures/entry/create.js.map +1 -0
- package/dist/rpc/procedures/entry/dashboard.d.ts +140 -0
- package/dist/rpc/procedures/entry/dashboard.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/dashboard.js +82 -0
- package/dist/rpc/procedures/entry/dashboard.js.map +1 -0
- package/dist/rpc/procedures/entry/delete-permanent.d.ts +90 -0
- package/dist/rpc/procedures/entry/delete-permanent.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/delete-permanent.js +28 -0
- package/dist/rpc/procedures/entry/delete-permanent.js.map +1 -0
- package/dist/rpc/procedures/entry/discard-draft.d.ts +65 -0
- package/dist/rpc/procedures/entry/discard-draft.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/discard-draft.js +43 -0
- package/dist/rpc/procedures/entry/discard-draft.js.map +1 -0
- package/dist/rpc/procedures/entry/duplicate.d.ts +90 -0
- package/dist/rpc/procedures/entry/duplicate.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/duplicate.js +86 -0
- package/dist/rpc/procedures/entry/duplicate.js.map +1 -0
- package/dist/rpc/procedures/entry/get.d.ts +105 -0
- package/dist/rpc/procedures/entry/get.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/get.js +56 -0
- package/dist/rpc/procedures/entry/get.js.map +1 -0
- package/dist/rpc/procedures/entry/helpers.d.ts +2 -0
- package/dist/rpc/procedures/entry/helpers.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/helpers.js +10 -0
- package/dist/rpc/procedures/entry/helpers.js.map +1 -0
- package/dist/rpc/procedures/entry/index.d.ts +1811 -0
- package/dist/rpc/procedures/entry/index.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/index.js +38 -0
- package/dist/rpc/procedures/entry/index.js.map +1 -0
- package/dist/rpc/procedures/entry/lifecycle.d.ts +77 -0
- package/dist/rpc/procedures/entry/lifecycle.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/lifecycle.js +223 -0
- package/dist/rpc/procedures/entry/lifecycle.js.map +1 -0
- package/dist/rpc/procedures/entry/list.d.ts +114 -0
- package/dist/rpc/procedures/entry/list.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/list.js +19 -0
- package/dist/rpc/procedures/entry/list.js.map +1 -0
- package/dist/rpc/procedures/entry/lookup.d.ts +4 -0
- package/dist/rpc/procedures/entry/lookup.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/lookup.js +120 -0
- package/dist/rpc/procedures/entry/lookup.js.map +1 -0
- package/dist/rpc/procedures/entry/meta.d.ts +64 -0
- package/dist/rpc/procedures/entry/meta.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/meta.js +65 -0
- package/dist/rpc/procedures/entry/meta.js.map +1 -0
- package/dist/rpc/procedures/entry/publish-scheduled.d.ts +21 -0
- package/dist/rpc/procedures/entry/publish-scheduled.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/publish-scheduled.js +50 -0
- package/dist/rpc/procedures/entry/publish-scheduled.js.map +1 -0
- package/dist/rpc/procedures/entry/publish.d.ts +92 -0
- package/dist/rpc/procedures/entry/publish.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/publish.js +111 -0
- package/dist/rpc/procedures/entry/publish.js.map +1 -0
- package/dist/rpc/procedures/entry/read-errors.d.ts +29 -0
- package/dist/rpc/procedures/entry/read-errors.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/read-errors.js +23 -0
- package/dist/rpc/procedures/entry/read-errors.js.map +1 -0
- package/dist/rpc/procedures/entry/refresh-block-loader.d.ts +65 -0
- package/dist/rpc/procedures/entry/refresh-block-loader.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/refresh-block-loader.js +42 -0
- package/dist/rpc/procedures/entry/refresh-block-loader.js.map +1 -0
- package/dist/rpc/procedures/entry/restore.d.ts +90 -0
- package/dist/rpc/procedures/entry/restore.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/restore.js +27 -0
- package/dist/rpc/procedures/entry/restore.js.map +1 -0
- package/dist/rpc/procedures/entry/revisions.d.ts +672 -0
- package/dist/rpc/procedures/entry/revisions.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/revisions.js +305 -0
- package/dist/rpc/procedures/entry/revisions.js.map +1 -0
- package/dist/rpc/procedures/entry/schemas.d.ts +172 -0
- package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/schemas.js +171 -0
- package/dist/rpc/procedures/entry/schemas.js.map +1 -0
- package/dist/rpc/procedures/entry/search-terms.d.ts +45 -0
- package/dist/rpc/procedures/entry/search-terms.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/search-terms.js +79 -0
- package/dist/rpc/procedures/entry/search-terms.js.map +1 -0
- package/dist/rpc/procedures/entry/terms.d.ts +61 -0
- package/dist/rpc/procedures/entry/terms.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/terms.js +128 -0
- package/dist/rpc/procedures/entry/terms.js.map +1 -0
- package/dist/rpc/procedures/entry/trash.d.ts +90 -0
- package/dist/rpc/procedures/entry/trash.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/trash.js +27 -0
- package/dist/rpc/procedures/entry/trash.js.map +1 -0
- package/dist/rpc/procedures/entry/update.d.ts +110 -0
- package/dist/rpc/procedures/entry/update.d.ts.map +1 -0
- package/dist/rpc/procedures/entry/update.js +268 -0
- package/dist/rpc/procedures/entry/update.js.map +1 -0
- package/dist/rpc/procedures/lookup/index.d.ts +135 -0
- package/dist/rpc/procedures/lookup/index.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup/index.js +7 -0
- package/dist/rpc/procedures/lookup/index.js.map +1 -0
- package/dist/rpc/procedures/lookup/list.d.ts +68 -0
- package/dist/rpc/procedures/lookup/list.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup/list.js +23 -0
- package/dist/rpc/procedures/lookup/list.js.map +1 -0
- package/dist/rpc/procedures/lookup/resolve.d.ts +66 -0
- package/dist/rpc/procedures/lookup/resolve.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup/resolve.js +18 -0
- package/dist/rpc/procedures/lookup/resolve.js.map +1 -0
- package/dist/rpc/procedures/lookup/schemas.d.ts +31 -0
- package/dist/rpc/procedures/lookup/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup/schemas.js +55 -0
- package/dist/rpc/procedures/lookup/schemas.js.map +1 -0
- package/dist/rpc/procedures/lookup-adapters.d.ts +3 -0
- package/dist/rpc/procedures/lookup-adapters.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup-adapters.js +36 -0
- package/dist/rpc/procedures/lookup-adapters.js.map +1 -0
- package/dist/rpc/procedures/lookup.errors.d.ts +15 -0
- package/dist/rpc/procedures/lookup.errors.d.ts.map +1 -0
- package/dist/rpc/procedures/lookup.errors.js +23 -0
- package/dist/rpc/procedures/lookup.errors.js.map +1 -0
- package/dist/rpc/procedures/search/index.d.ts +64 -0
- package/dist/rpc/procedures/search/index.d.ts.map +1 -0
- package/dist/rpc/procedures/search/index.js +25 -0
- package/dist/rpc/procedures/search/index.js.map +1 -0
- package/dist/rpc/procedures/settings/get.d.ts +60 -0
- package/dist/rpc/procedures/settings/get.d.ts.map +1 -0
- package/dist/rpc/procedures/settings/get.js +35 -0
- package/dist/rpc/procedures/settings/get.js.map +1 -0
- package/dist/rpc/procedures/settings/index.d.ts +125 -0
- package/dist/rpc/procedures/settings/index.d.ts.map +1 -0
- package/dist/rpc/procedures/settings/index.js +7 -0
- package/dist/rpc/procedures/settings/index.js.map +1 -0
- package/dist/rpc/procedures/settings/schemas.d.ts +15 -0
- package/dist/rpc/procedures/settings/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/settings/schemas.js +33 -0
- package/dist/rpc/procedures/settings/schemas.js.map +1 -0
- package/dist/rpc/procedures/settings/upsert.d.ts +63 -0
- package/dist/rpc/procedures/settings/upsert.d.ts.map +1 -0
- package/dist/rpc/procedures/settings/upsert.js +84 -0
- package/dist/rpc/procedures/settings/upsert.js.map +1 -0
- package/dist/rpc/procedures/term/create.d.ts +85 -0
- package/dist/rpc/procedures/term/create.d.ts.map +1 -0
- package/dist/rpc/procedures/term/create.js +73 -0
- package/dist/rpc/procedures/term/create.js.map +1 -0
- package/dist/rpc/procedures/term/delete.d.ts +78 -0
- package/dist/rpc/procedures/term/delete.d.ts.map +1 -0
- package/dist/rpc/procedures/term/delete.js +33 -0
- package/dist/rpc/procedures/term/delete.js.map +1 -0
- package/dist/rpc/procedures/term/get.d.ts +78 -0
- package/dist/rpc/procedures/term/get.d.ts.map +1 -0
- package/dist/rpc/procedures/term/get.js +18 -0
- package/dist/rpc/procedures/term/get.js.map +1 -0
- package/dist/rpc/procedures/term/helpers.d.ts +13 -0
- package/dist/rpc/procedures/term/helpers.d.ts.map +1 -0
- package/dist/rpc/procedures/term/helpers.js +33 -0
- package/dist/rpc/procedures/term/helpers.js.map +1 -0
- package/dist/rpc/procedures/term/index.d.ts +407 -0
- package/dist/rpc/procedures/term/index.d.ts.map +1 -0
- package/dist/rpc/procedures/term/index.js +13 -0
- package/dist/rpc/procedures/term/index.js.map +1 -0
- package/dist/rpc/procedures/term/list.d.ts +82 -0
- package/dist/rpc/procedures/term/list.d.ts.map +1 -0
- package/dist/rpc/procedures/term/list.js +19 -0
- package/dist/rpc/procedures/term/list.js.map +1 -0
- package/dist/rpc/procedures/term/lookup.d.ts +4 -0
- package/dist/rpc/procedures/term/lookup.d.ts.map +1 -0
- package/dist/rpc/procedures/term/lookup.js +111 -0
- package/dist/rpc/procedures/term/lookup.js.map +1 -0
- package/dist/rpc/procedures/term/meta.d.ts +33 -0
- package/dist/rpc/procedures/term/meta.d.ts.map +1 -0
- package/dist/rpc/procedures/term/meta.js +37 -0
- package/dist/rpc/procedures/term/meta.js.map +1 -0
- package/dist/rpc/procedures/term/read-errors.d.ts +23 -0
- package/dist/rpc/procedures/term/read-errors.d.ts.map +1 -0
- package/dist/rpc/procedures/term/read-errors.js +24 -0
- package/dist/rpc/procedures/term/read-errors.js.map +1 -0
- package/dist/rpc/procedures/term/schemas.d.ts +40 -0
- package/dist/rpc/procedures/term/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/term/schemas.js +32 -0
- package/dist/rpc/procedures/term/schemas.js.map +1 -0
- package/dist/rpc/procedures/term/update.d.ts +85 -0
- package/dist/rpc/procedures/term/update.d.ts.map +1 -0
- package/dist/rpc/procedures/term/update.js +95 -0
- package/dist/rpc/procedures/term/update.js.map +1 -0
- package/dist/rpc/procedures/user/cancel-email-change.d.ts +64 -0
- package/dist/rpc/procedures/user/cancel-email-change.d.ts.map +1 -0
- package/dist/rpc/procedures/user/cancel-email-change.js +35 -0
- package/dist/rpc/procedures/user/cancel-email-change.js.map +1 -0
- package/dist/rpc/procedures/user/delete.d.ts +83 -0
- package/dist/rpc/procedures/user/delete.d.ts.map +1 -0
- package/dist/rpc/procedures/user/delete.js +70 -0
- package/dist/rpc/procedures/user/delete.js.map +1 -0
- package/dist/rpc/procedures/user/disable.d.ts +82 -0
- package/dist/rpc/procedures/user/disable.d.ts.map +1 -0
- package/dist/rpc/procedures/user/disable.js +51 -0
- package/dist/rpc/procedures/user/disable.js.map +1 -0
- package/dist/rpc/procedures/user/enable.d.ts +82 -0
- package/dist/rpc/procedures/user/enable.d.ts.map +1 -0
- package/dist/rpc/procedures/user/enable.js +44 -0
- package/dist/rpc/procedures/user/enable.js.map +1 -0
- package/dist/rpc/procedures/user/get.d.ts +82 -0
- package/dist/rpc/procedures/user/get.d.ts.map +1 -0
- package/dist/rpc/procedures/user/get.js +27 -0
- package/dist/rpc/procedures/user/get.js.map +1 -0
- package/dist/rpc/procedures/user/helpers.d.ts +10 -0
- package/dist/rpc/procedures/user/helpers.d.ts.map +1 -0
- package/dist/rpc/procedures/user/helpers.js +16 -0
- package/dist/rpc/procedures/user/helpers.js.map +1 -0
- package/dist/rpc/procedures/user/index.d.ts +834 -0
- package/dist/rpc/procedures/user/index.d.ts.map +1 -0
- package/dist/rpc/procedures/user/index.js +25 -0
- package/dist/rpc/procedures/user/index.js.map +1 -0
- package/dist/rpc/procedures/user/invite.d.ts +68 -0
- package/dist/rpc/procedures/user/invite.d.ts.map +1 -0
- package/dist/rpc/procedures/user/invite.js +62 -0
- package/dist/rpc/procedures/user/invite.js.map +1 -0
- package/dist/rpc/procedures/user/list.d.ts +89 -0
- package/dist/rpc/procedures/user/list.d.ts.map +1 -0
- package/dist/rpc/procedures/user/list.js +75 -0
- package/dist/rpc/procedures/user/list.js.map +1 -0
- package/dist/rpc/procedures/user/lookup.d.ts +4 -0
- package/dist/rpc/procedures/user/lookup.d.ts.map +1 -0
- package/dist/rpc/procedures/user/lookup.js +95 -0
- package/dist/rpc/procedures/user/lookup.js.map +1 -0
- package/dist/rpc/procedures/user/meta.d.ts +32 -0
- package/dist/rpc/procedures/user/meta.d.ts.map +1 -0
- package/dist/rpc/procedures/user/meta.js +38 -0
- package/dist/rpc/procedures/user/meta.js.map +1 -0
- package/dist/rpc/procedures/user/pending-email-change.d.ts +76 -0
- package/dist/rpc/procedures/user/pending-email-change.d.ts.map +1 -0
- package/dist/rpc/procedures/user/pending-email-change.js +62 -0
- package/dist/rpc/procedures/user/pending-email-change.js.map +1 -0
- package/dist/rpc/procedures/user/request-email-change.d.ts +67 -0
- package/dist/rpc/procedures/user/request-email-change.d.ts.map +1 -0
- package/dist/rpc/procedures/user/request-email-change.js +86 -0
- package/dist/rpc/procedures/user/request-email-change.js.map +1 -0
- package/dist/rpc/procedures/user/schemas.d.ts +52 -0
- package/dist/rpc/procedures/user/schemas.d.ts.map +1 -0
- package/dist/rpc/procedures/user/schemas.js +44 -0
- package/dist/rpc/procedures/user/schemas.js.map +1 -0
- package/dist/rpc/procedures/user/set-locale.d.ts +61 -0
- package/dist/rpc/procedures/user/set-locale.d.ts.map +1 -0
- package/dist/rpc/procedures/user/set-locale.js +31 -0
- package/dist/rpc/procedures/user/set-locale.js.map +1 -0
- package/dist/rpc/procedures/user/update.d.ts +89 -0
- package/dist/rpc/procedures/user/update.d.ts.map +1 -0
- package/dist/rpc/procedures/user/update.js +137 -0
- package/dist/rpc/procedures/user/update.js.map +1 -0
- package/dist/rpc/router.d.ts +4893 -0
- package/dist/rpc/router.d.ts.map +1 -0
- package/dist/rpc/router.js +17 -0
- package/dist/rpc/router.js.map +1 -0
- package/dist/rpc/schemas.d.ts +3 -0
- package/dist/rpc/schemas.d.ts.map +1 -0
- package/dist/rpc/schemas.js +9 -0
- package/dist/rpc/schemas.js.map +1 -0
- package/dist/rpc/validation.d.ts +58 -0
- package/dist/rpc/validation.d.ts.map +1 -0
- package/dist/rpc/validation.js +72 -0
- package/dist/rpc/validation.js.map +1 -0
- package/dist/rpc/vmessage.d.ts +21 -0
- package/dist/rpc/vmessage.d.ts.map +1 -0
- package/dist/rpc/vmessage.js +20 -0
- package/dist/rpc/vmessage.js.map +1 -0
- package/dist/runtime/adapter.d.ts +38 -0
- package/dist/runtime/adapter.d.ts.map +1 -0
- package/dist/runtime/adapter.js +1 -0
- package/dist/runtime/adapter.js.map +1 -0
- package/dist/runtime/admin-shell.d.ts +11 -0
- package/dist/runtime/admin-shell.d.ts.map +1 -0
- package/dist/runtime/admin-shell.js +14 -0
- package/dist/runtime/admin-shell.js.map +1 -0
- package/dist/runtime/app.d.ts +165 -0
- package/dist/runtime/app.d.ts.map +1 -0
- package/dist/runtime/app.js +232 -0
- package/dist/runtime/app.js.map +1 -0
- package/dist/runtime/bindings.d.ts +6 -0
- package/dist/runtime/bindings.d.ts.map +1 -0
- package/dist/runtime/bindings.js +1 -0
- package/dist/runtime/bindings.js.map +1 -0
- package/dist/runtime/dispatcher.d.ts +11 -0
- package/dist/runtime/dispatcher.d.ts.map +1 -0
- package/dist/runtime/dispatcher.js +560 -0
- package/dist/runtime/dispatcher.js.map +1 -0
- package/dist/runtime/env-input.d.ts +19 -0
- package/dist/runtime/env-input.d.ts.map +1 -0
- package/dist/runtime/env-input.js +13 -0
- package/dist/runtime/env-input.js.map +1 -0
- package/dist/runtime/errors.d.ts +29 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/errors.js +32 -0
- package/dist/runtime/errors.js.map +1 -0
- package/dist/runtime/http.d.ts +10 -0
- package/dist/runtime/http.d.ts.map +1 -0
- package/dist/runtime/http.js +51 -0
- package/dist/runtime/http.js.map +1 -0
- package/dist/runtime/load-user-for-public-request.d.ts +3 -0
- package/dist/runtime/load-user-for-public-request.d.ts.map +1 -0
- package/dist/runtime/load-user-for-public-request.js +13 -0
- package/dist/runtime/load-user-for-public-request.js.map +1 -0
- package/dist/runtime/memory-storage.d.ts +8 -0
- package/dist/runtime/memory-storage.d.ts.map +1 -0
- package/dist/runtime/memory-storage.js +166 -0
- package/dist/runtime/memory-storage.js.map +1 -0
- package/dist/runtime/register-core-scheduled-tasks.d.ts +7 -0
- package/dist/runtime/register-core-scheduled-tasks.d.ts.map +1 -0
- package/dist/runtime/register-core-scheduled-tasks.js +38 -0
- package/dist/runtime/register-core-scheduled-tasks.js.map +1 -0
- package/dist/runtime/scheduled.d.ts +17 -0
- package/dist/runtime/scheduled.d.ts.map +1 -0
- package/dist/runtime/scheduled.js +33 -0
- package/dist/runtime/scheduled.js.map +1 -0
- package/dist/runtime/shortcode-registry.d.ts +10 -0
- package/dist/runtime/shortcode-registry.d.ts.map +1 -0
- package/dist/runtime/shortcode-registry.js +15 -0
- package/dist/runtime/shortcode-registry.js.map +1 -0
- package/dist/runtime/slots.d.ts +203 -0
- package/dist/runtime/slots.d.ts.map +1 -0
- package/dist/runtime/slots.js +1 -0
- package/dist/runtime/slots.js.map +1 -0
- package/dist/search/admin-search.d.ts +37 -0
- package/dist/search/admin-search.d.ts.map +1 -0
- package/dist/search/admin-search.js +24 -0
- package/dist/search/admin-search.js.map +1 -0
- package/dist/search/entries-handler.d.ts +10 -0
- package/dist/search/entries-handler.d.ts.map +1 -0
- package/dist/search/entries-handler.js +77 -0
- package/dist/search/entries-handler.js.map +1 -0
- package/dist/search/register-core-handlers.d.ts +8 -0
- package/dist/search/register-core-handlers.d.ts.map +1 -0
- package/dist/search/register-core-handlers.js +20 -0
- package/dist/search/register-core-handlers.js.map +1 -0
- package/dist/search/terms-handler.d.ts +9 -0
- package/dist/search/terms-handler.d.ts.map +1 -0
- package/dist/search/terms-handler.js +61 -0
- package/dist/search/terms-handler.js.map +1 -0
- package/dist/search/users-handler.d.ts +9 -0
- package/dist/search/users-handler.d.ts.map +1 -0
- package/dist/search/users-handler.js +49 -0
- package/dist/search/users-handler.js.map +1 -0
- package/dist/seo/canonical.d.ts +31 -0
- package/dist/seo/canonical.d.ts.map +1 -0
- package/dist/seo/canonical.js +81 -0
- package/dist/seo/canonical.js.map +1 -0
- package/dist/seo/feed.d.ts +73 -0
- package/dist/seo/feed.d.ts.map +1 -0
- package/dist/seo/feed.js +254 -0
- package/dist/seo/feed.js.map +1 -0
- package/dist/seo/head-defaults.d.ts +27 -0
- package/dist/seo/head-defaults.d.ts.map +1 -0
- package/dist/seo/head-defaults.js +82 -0
- package/dist/seo/head-defaults.js.map +1 -0
- package/dist/seo/register-sitemap-invalidator.d.ts +7 -0
- package/dist/seo/register-sitemap-invalidator.d.ts.map +1 -0
- package/dist/seo/register-sitemap-invalidator.js +43 -0
- package/dist/seo/register-sitemap-invalidator.js.map +1 -0
- package/dist/seo/robots.d.ts +20 -0
- package/dist/seo/robots.d.ts.map +1 -0
- package/dist/seo/robots.js +18 -0
- package/dist/seo/robots.js.map +1 -0
- package/dist/seo/site-settings.d.ts +6 -0
- package/dist/seo/site-settings.d.ts.map +1 -0
- package/dist/seo/site-settings.js +11 -0
- package/dist/seo/site-settings.js.map +1 -0
- package/dist/seo/sitemap-cache.d.ts +20 -0
- package/dist/seo/sitemap-cache.d.ts.map +1 -0
- package/dist/seo/sitemap-cache.js +96 -0
- package/dist/seo/sitemap-cache.js.map +1 -0
- package/dist/seo/sitemap.d.ts +26 -0
- package/dist/seo/sitemap.d.ts.map +1 -0
- package/dist/seo/sitemap.js +151 -0
- package/dist/seo/sitemap.js.map +1 -0
- package/dist/seo/xml.d.ts +3 -0
- package/dist/seo/xml.d.ts.map +1 -0
- package/dist/seo/xml.js +12 -0
- package/dist/seo/xml.js.map +1 -0
- package/dist/settings-core.d.ts +49 -0
- package/dist/settings-core.d.ts.map +1 -0
- package/dist/settings-core.js +113 -0
- package/dist/settings-core.js.map +1 -0
- package/dist/slugify.d.ts +14 -0
- package/dist/slugify.d.ts.map +1 -0
- package/dist/slugify.js +17 -0
- package/dist/slugify.js.map +1 -0
- package/dist/template-deps-core.d.ts +19 -0
- package/dist/template-deps-core.d.ts.map +1 -0
- package/dist/template-deps-core.js +35 -0
- package/dist/template-deps-core.js.map +1 -0
- package/dist/template-deps.d.ts +41 -0
- package/dist/template-deps.d.ts.map +1 -0
- package/dist/template-deps.js +90 -0
- package/dist/template-deps.js.map +1 -0
- package/dist/template.d.ts +84 -0
- package/dist/template.d.ts.map +1 -0
- package/dist/template.js +54 -0
- package/dist/template.js.map +1 -0
- package/dist/terms/errors.d.ts +22 -0
- package/dist/terms/errors.d.ts.map +1 -0
- package/dist/terms/errors.js +25 -0
- package/dist/terms/errors.js.map +1 -0
- package/dist/terms/read-service.d.ts +20 -0
- package/dist/terms/read-service.d.ts.map +1 -0
- package/dist/terms/read-service.js +53 -0
- package/dist/terms/read-service.js.map +1 -0
- package/dist/test/default-theme.d.ts +2 -0
- package/dist/test/default-theme.d.ts.map +1 -0
- package/dist/test/default-theme.js +28 -0
- package/dist/test/default-theme.js.map +1 -0
- package/dist/test/defer.d.ts +19 -0
- package/dist/test/defer.d.ts.map +1 -0
- package/dist/test/defer.js +22 -0
- package/dist/test/defer.js.map +1 -0
- package/dist/test/dispatcher.d.ts +139 -0
- package/dist/test/dispatcher.d.ts.map +1 -0
- package/dist/test/dispatcher.js +125 -0
- package/dist/test/dispatcher.js.map +1 -0
- package/dist/test/factories.d.ts +707 -0
- package/dist/test/factories.d.ts.map +1 -0
- package/dist/test/factories.js +336 -0
- package/dist/test/factories.js.map +1 -0
- package/dist/test/fixtures/webauthn.d.ts +40 -0
- package/dist/test/fixtures/webauthn.d.ts.map +1 -0
- package/dist/test/fixtures/webauthn.js +209 -0
- package/dist/test/fixtures/webauthn.js.map +1 -0
- package/dist/test/harness.d.ts +10 -0
- package/dist/test/harness.d.ts.map +1 -0
- package/dist/test/harness.js +34 -0
- package/dist/test/harness.js.map +1 -0
- package/dist/test/index.d.ts +17 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +16 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/mailer.d.ts +26 -0
- package/dist/test/mailer.d.ts.map +1 -0
- package/dist/test/mailer.js +14 -0
- package/dist/test/mailer.js.map +1 -0
- package/dist/test/match.d.ts +14 -0
- package/dist/test/match.d.ts.map +1 -0
- package/dist/test/match.js +83 -0
- package/dist/test/match.js.map +1 -0
- package/dist/test/playwright/acting-as.d.ts +45 -0
- package/dist/test/playwright/acting-as.d.ts.map +1 -0
- package/dist/test/playwright/acting-as.js +50 -0
- package/dist/test/playwright/acting-as.js.map +1 -0
- package/dist/test/playwright/build-admin-chunk.d.ts +24 -0
- package/dist/test/playwright/build-admin-chunk.d.ts.map +1 -0
- package/dist/test/playwright/build-admin-chunk.js +61 -0
- package/dist/test/playwright/build-admin-chunk.js.map +1 -0
- package/dist/test/playwright/index.d.ts +78 -0
- package/dist/test/playwright/index.d.ts.map +1 -0
- package/dist/test/playwright/index.js +155 -0
- package/dist/test/playwright/index.js.map +1 -0
- package/dist/test/playwright/open-playground-db.d.ts +32 -0
- package/dist/test/playwright/open-playground-db.d.ts.map +1 -0
- package/dist/test/playwright/open-playground-db.js +49 -0
- package/dist/test/playwright/open-playground-db.js.map +1 -0
- package/dist/test/playwright/playwright-config.d.ts +84 -0
- package/dist/test/playwright/playwright-config.d.ts.map +1 -0
- package/dist/test/playwright/playwright-config.js +91 -0
- package/dist/test/playwright/playwright-config.js.map +1 -0
- package/dist/test/request.d.ts +66 -0
- package/dist/test/request.d.ts.map +1 -0
- package/dist/test/request.js +110 -0
- package/dist/test/request.js.map +1 -0
- package/dist/test/rpc.d.ts +86 -0
- package/dist/test/rpc.d.ts.map +1 -0
- package/dist/test/rpc.js +91 -0
- package/dist/test/rpc.js.map +1 -0
- package/dist/test/spies.d.ts +68 -0
- package/dist/test/spies.d.ts.map +1 -0
- package/dist/test/spies.js +144 -0
- package/dist/test/spies.js.map +1 -0
- package/dist/theme-errors.d.ts +37 -0
- package/dist/theme-errors.d.ts.map +1 -0
- package/dist/theme-errors.js +87 -0
- package/dist/theme-errors.js.map +1 -0
- package/dist/theme.d.ts +91 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +74 -0
- package/dist/theme.js.map +1 -0
- package/dist/welcome/i18n.d.ts +9 -0
- package/dist/welcome/i18n.d.ts.map +1 -0
- package/dist/welcome/i18n.js +51 -0
- package/dist/welcome/i18n.js.map +1 -0
- package/dist/welcome-theme.d.ts +10 -0
- package/dist/welcome-theme.d.ts.map +1 -0
- package/dist/welcome-theme.js +165 -0
- package/dist/welcome-theme.js.map +1 -0
- package/locales/admin-bar-ar.d.mts +1 -0
- package/locales/admin-bar-ar.mjs +1 -0
- package/locales/admin-bar-ar.po +49 -0
- package/locales/admin-bar-de.d.mts +1 -0
- package/locales/admin-bar-de.mjs +1 -0
- package/locales/admin-bar-de.po +49 -0
- package/locales/admin-bar-en.d.mts +1 -0
- package/locales/admin-bar-en.mjs +1 -0
- package/locales/admin-bar-en.po +49 -0
- package/locales/admin-bar-uk.d.mts +1 -0
- package/locales/admin-bar-uk.mjs +1 -0
- package/locales/admin-bar-uk.po +49 -0
- package/locales/admin-bar-zh-CN.d.mts +1 -0
- package/locales/admin-bar-zh-CN.mjs +1 -0
- package/locales/admin-bar-zh-CN.po +49 -0
- package/locales/welcome-ar.d.mts +1 -0
- package/locales/welcome-ar.mjs +1 -0
- package/locales/welcome-ar.po +33 -0
- package/locales/welcome-de.d.mts +1 -0
- package/locales/welcome-de.mjs +1 -0
- package/locales/welcome-de.po +33 -0
- package/locales/welcome-en.d.mts +1 -0
- package/locales/welcome-en.mjs +1 -0
- package/locales/welcome-en.po +33 -0
- package/locales/welcome-uk.d.mts +1 -0
- package/locales/welcome-uk.mjs +1 -0
- package/locales/welcome-uk.po +33 -0
- package/locales/welcome-zh-CN.d.mts +1 -0
- package/locales/welcome-zh-CN.mjs +1 -0
- package/locales/welcome-zh-CN.po +33 -0
- package/package.json +150 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { withBasePath } from "../../base-path.js";
|
|
2
|
+
import { eq } from "../../db/index.js";
|
|
3
|
+
import { allowedDomains } from "../../db/schema/allowed_domains.js";
|
|
4
|
+
import { authTokens } from "../../db/schema/auth_tokens.js";
|
|
5
|
+
import { users } from "../../db/schema/users.js";
|
|
6
|
+
import { emailStringsFor } from "../email/messages.js";
|
|
7
|
+
import { extractDomain } from "../identity.js";
|
|
8
|
+
import { generateToken, hashToken } from "../tokens.js";
|
|
9
|
+
// 15-minute default — the Copenhagen Book / emdash convention for
|
|
10
|
+
// passwordless sign-in tokens. Long enough to survive normal email
|
|
11
|
+
// delivery, short enough that a stolen / leaked link is mostly stale.
|
|
12
|
+
// Operators can lower via `auth.magicLink.ttlSeconds` (60–3600).
|
|
13
|
+
const MAGIC_LINK_TTL_SECONDS = 15 * 60;
|
|
14
|
+
// Artificial delay range when the recipient is unknown — adds enough
|
|
15
|
+
// jitter that response timing alone can't tell a registered email apart
|
|
16
|
+
// from an unregistered one. The 100-250ms band approximates the cost
|
|
17
|
+
// of token generation + the mailer round-trip on the happy path.
|
|
18
|
+
const TIMING_DELAY_MIN_MS = 100;
|
|
19
|
+
const TIMING_DELAY_RANGE_MS = 150;
|
|
20
|
+
/**
|
|
21
|
+
* Issue a magic-link for sign-in or domain-gated signup.
|
|
22
|
+
*
|
|
23
|
+
* sign-in (existing user) → token row carries `userId = user.id`.
|
|
24
|
+
* signup (allowed-domain match) → token row carries `userId = null`,
|
|
25
|
+
* role omitted (resolved at verify).
|
|
26
|
+
* neither → silent no-op + timing delay.
|
|
27
|
+
*
|
|
28
|
+
* Always behaves identically from the caller's perspective regardless of
|
|
29
|
+
* which branch fired — the route layer turns this into an "If an
|
|
30
|
+
* account exists or self-signup is open, we sent you a link" response.
|
|
31
|
+
* Per Copenhagen Book / emdash: don't reveal email existence via
|
|
32
|
+
* response timing or shape; honour that here at the function boundary.
|
|
33
|
+
*
|
|
34
|
+
* Bootstrap rail: signup is refused when the system has zero users
|
|
35
|
+
* (matches OAuth — first-admin must enrol via passkey).
|
|
36
|
+
*
|
|
37
|
+
* Errors from the mailer are swallowed (logged via input.logger when
|
|
38
|
+
* present). The function never throws; it returns normally regardless
|
|
39
|
+
* of outcome.
|
|
40
|
+
*/
|
|
41
|
+
export async function requestMagicLink(db, input) {
|
|
42
|
+
const email = input.email.trim().toLowerCase();
|
|
43
|
+
const ttlSeconds = input.ttlSeconds ?? MAGIC_LINK_TTL_SECONDS;
|
|
44
|
+
const user = await db.query.users.findFirst({
|
|
45
|
+
where: eq(users.email, email),
|
|
46
|
+
});
|
|
47
|
+
// Sign-in path — existing active user.
|
|
48
|
+
if (user && !user.disabledAt) {
|
|
49
|
+
await issueAndSend(db, input, ttlSeconds, {
|
|
50
|
+
userId: user.id,
|
|
51
|
+
email: user.email,
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (user?.disabledAt) {
|
|
56
|
+
// Disabled user: no signup attempt, silent no-op + jitter.
|
|
57
|
+
await timingDelay();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Signup path — no user yet. Gate on allowed_domains + non-zero
|
|
61
|
+
// user count so the bootstrap-via-passkey rule holds.
|
|
62
|
+
const domain = extractDomain(email);
|
|
63
|
+
if (!domain) {
|
|
64
|
+
await timingDelay();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const allowed = await db.query.allowedDomains.findFirst({
|
|
68
|
+
where: eq(allowedDomains.domain, domain),
|
|
69
|
+
});
|
|
70
|
+
if (!allowed?.isEnabled) {
|
|
71
|
+
await timingDelay();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (!input.bootstrapAllowed) {
|
|
75
|
+
const userCount = await db.$count(users);
|
|
76
|
+
if (userCount === 0) {
|
|
77
|
+
// Refuse signup before bootstrap completes. Same rail OAuth uses.
|
|
78
|
+
await timingDelay();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
await issueAndSend(db, input, ttlSeconds, { userId: null, email });
|
|
83
|
+
}
|
|
84
|
+
async function issueAndSend(db, input, ttlSeconds, target) {
|
|
85
|
+
const token = generateToken();
|
|
86
|
+
const hash = await hashToken(token);
|
|
87
|
+
const expiresAt = new Date(Date.now() + ttlSeconds * 1000);
|
|
88
|
+
await db.insert(authTokens).values({
|
|
89
|
+
hash,
|
|
90
|
+
userId: target.userId,
|
|
91
|
+
email: target.email,
|
|
92
|
+
type: "magic_link",
|
|
93
|
+
expiresAt,
|
|
94
|
+
});
|
|
95
|
+
const verifyUrl = new URL(withBasePath("/_plumix/auth/magic-link/verify", input.basePath), input.origin);
|
|
96
|
+
verifyUrl.searchParams.set("token", token);
|
|
97
|
+
try {
|
|
98
|
+
// Plain-text body only. Branded HTML / template rendering is the
|
|
99
|
+
// operator's call — they wrap their `Mailer` adapter and template
|
|
100
|
+
// however they like. Plumix is not in the email-design business.
|
|
101
|
+
const strings = emailStringsFor(input.locale);
|
|
102
|
+
await input.mailer.send({
|
|
103
|
+
to: target.email,
|
|
104
|
+
subject: strings.magicLink.subject(input.siteName),
|
|
105
|
+
text: strings.magicLink.body(input.siteName, verifyUrl.toString(), ttlSeconds),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
// Swallow toward the caller — surfacing this would leak that the
|
|
110
|
+
// recipient is registered. Log it server-side so the operator sees
|
|
111
|
+
// the failure (otherwise broken mail config would be silent).
|
|
112
|
+
input.logger?.warn("magic_link_mailer_failed", { error });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function timingDelay() {
|
|
116
|
+
const ms = TIMING_DELAY_MIN_MS + Math.random() * TIMING_DELAY_RANGE_MS;
|
|
117
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/auth/magic-link/request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExD,kEAAkE;AAClE,mEAAmE;AACnE,sEAAsE;AACtE,iEAAiE;AACjE,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvC,qEAAqE;AACrE,wEAAwE;AACxE,qEAAqE;AACrE,iEAAiE;AACjE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAkClC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAM,EACN,KAA4B;IAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,sBAAsB,CAAC;IAE9D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;KAC9B,CAAC,CAAC;IAEH,uCAAuC;IACvC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QACrB,2DAA2D;QAC3D,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,sDAAsD;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;QACtD,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACxB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,kEAAkE;YAClE,MAAM,WAAW,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,CAAC;AAOD,KAAK,UAAU,YAAY,CACzB,EAAM,EACN,KAA4B,EAC5B,UAAkB,EAClB,MAAyB;IAEzB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;IAE3D,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QACjC,IAAI;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,YAAY;QAClB,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,YAAY,CAAC,iCAAiC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC/D,KAAK,CAAC,MAAM,CACb,CAAC;IACF,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC,KAAK;YAChB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClD,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAC1B,KAAK,CAAC,QAAQ,EACd,SAAS,CAAC,QAAQ,EAAE,EACpB,UAAU,CACX;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iEAAiE;QACjE,mEAAmE;QACnE,8DAA8D;QAC9D,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,qBAAqB,CAAC;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AppContext } from "../../context/app.js";
|
|
2
|
+
import type { PlumixApp } from "../../runtime/app.js";
|
|
3
|
+
/**
|
|
4
|
+
* POST /_plumix/auth/magic-link/request — JSON body `{ email }`.
|
|
5
|
+
*
|
|
6
|
+
* Always responds with 200 and a generic "If an account exists…"
|
|
7
|
+
* message regardless of whether the recipient is registered. The
|
|
8
|
+
* dispatcher's CSRF gate fires before this handler (custom header +
|
|
9
|
+
* Origin check); we don't need additional CSRF here.
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleMagicLinkRequest(ctx: AppContext, app: PlumixApp): Promise<Response>;
|
|
12
|
+
/**
|
|
13
|
+
* GET /_plumix/auth/magic-link/verify?token=…
|
|
14
|
+
*
|
|
15
|
+
* Top-level navigation from the user's email client; consumes the
|
|
16
|
+
* single-use token, mints a session, redirects to /admin. Errors
|
|
17
|
+
* redirect to /admin/login with a typed `magic_link_error=<code>`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function handleMagicLinkVerify(ctx: AppContext, app: PlumixApp): Promise<Response>;
|
|
20
|
+
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/auth/magic-link/routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA+BtD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,QAAQ,CAAC,CA+BnB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { withBasePath } from "../../base-path.js";
|
|
3
|
+
import { jsonResponse, loginErrorRedirect, redirectTo, } from "../../runtime/http.js";
|
|
4
|
+
import { mintSessionAndCookie } from "../sign-in.js";
|
|
5
|
+
import { MagicLinkError } from "./errors.js";
|
|
6
|
+
import { requestMagicLink } from "./request.js";
|
|
7
|
+
import { verifyMagicLink } from "./verify.js";
|
|
8
|
+
const ADMIN_PATH = "/_plumix/admin";
|
|
9
|
+
const LOGIN_PATH = "/_plumix/admin/login";
|
|
10
|
+
// Defensive bound on the inbound `token` query param. Our generator
|
|
11
|
+
// emits 192-bit base64url (32 chars); 256 chars is generous for
|
|
12
|
+
// future-proofing while bounding malformed-callback amplification.
|
|
13
|
+
const MAX_TOKEN_LENGTH = 256;
|
|
14
|
+
const requestInputSchema = v.object({
|
|
15
|
+
email: v.pipe(v.string(), v.trim(), v.toLowerCase(), v.email(), v.maxLength(255)),
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* POST /_plumix/auth/magic-link/request — JSON body `{ email }`.
|
|
19
|
+
*
|
|
20
|
+
* Always responds with 200 and a generic "If an account exists…"
|
|
21
|
+
* message regardless of whether the recipient is registered. The
|
|
22
|
+
* dispatcher's CSRF gate fires before this handler (custom header +
|
|
23
|
+
* Origin check); we don't need additional CSRF here.
|
|
24
|
+
*/
|
|
25
|
+
export async function handleMagicLinkRequest(ctx, app) {
|
|
26
|
+
// 503 distinguishes "plumix doesn't have magic-link wired up" (operator
|
|
27
|
+
// omission, should fail loudly) from "this email isn't registered"
|
|
28
|
+
// (always-success contract, intentionally silent). Don't fold them.
|
|
29
|
+
// The cross-field check in `plumix()` prevents `magicLink` from being
|
|
30
|
+
// configured without a top-level mailer, so `ctx.mailer` is reliably
|
|
31
|
+
// present here when `magicLink` is. Belt + braces: re-check both.
|
|
32
|
+
if (!app.config.auth.magicLink || !ctx.mailer) {
|
|
33
|
+
return jsonResponse({ error: "magic_link_not_configured" }, { status: 503 });
|
|
34
|
+
}
|
|
35
|
+
let body;
|
|
36
|
+
try {
|
|
37
|
+
body = await ctx.request.json();
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return invalidInput();
|
|
41
|
+
}
|
|
42
|
+
const parsed = v.safeParse(requestInputSchema, body);
|
|
43
|
+
if (!parsed.success)
|
|
44
|
+
return invalidInput();
|
|
45
|
+
try {
|
|
46
|
+
await requestMagicLink(ctx.db, {
|
|
47
|
+
email: parsed.output.email,
|
|
48
|
+
origin: app.origin,
|
|
49
|
+
basePath: app.basePath,
|
|
50
|
+
mailer: ctx.mailer,
|
|
51
|
+
siteName: app.config.auth.magicLink.siteName,
|
|
52
|
+
ttlSeconds: app.config.auth.magicLink.ttlSeconds,
|
|
53
|
+
// `ctx.locale` already reflects the unified resolver — the user's
|
|
54
|
+
// pre-auth dropdown pick reaches us via `?lang=` or `plumix_locale`
|
|
55
|
+
// cookie, so the magic-link email goes out in the locale they were
|
|
56
|
+
// looking at the login form in.
|
|
57
|
+
locale: ctx.locale.code,
|
|
58
|
+
logger: ctx.logger,
|
|
59
|
+
bootstrapAllowed: ctx.bootstrapAllowed,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
// requestMagicLink swallows mailer errors internally; anything that
|
|
64
|
+
// reaches here is a programming error (DB outage, etc.). The
|
|
65
|
+
// always-success contract is non-negotiable — distinguishing
|
|
66
|
+
// success from "DB blew up while looking up your email" would let
|
|
67
|
+
// an attacker fingerprint the registered set via response codes.
|
|
68
|
+
// Log server-side; respond identically.
|
|
69
|
+
ctx.logger.error("magic_link_request_failed", { error });
|
|
70
|
+
}
|
|
71
|
+
return jsonResponse({
|
|
72
|
+
ok: true,
|
|
73
|
+
message: "If an account exists for this email, we sent a sign-in link.",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* GET /_plumix/auth/magic-link/verify?token=…
|
|
78
|
+
*
|
|
79
|
+
* Top-level navigation from the user's email client; consumes the
|
|
80
|
+
* single-use token, mints a session, redirects to /admin. Errors
|
|
81
|
+
* redirect to /admin/login with a typed `magic_link_error=<code>`.
|
|
82
|
+
*/
|
|
83
|
+
export async function handleMagicLinkVerify(ctx, app) {
|
|
84
|
+
if (!app.config.auth.magicLink) {
|
|
85
|
+
return loginError(app.basePath, "token_invalid");
|
|
86
|
+
}
|
|
87
|
+
const url = new URL(ctx.request.url);
|
|
88
|
+
const token = url.searchParams.get("token");
|
|
89
|
+
if (!token)
|
|
90
|
+
return loginError(app.basePath, "missing_token");
|
|
91
|
+
if (token.length > MAX_TOKEN_LENGTH)
|
|
92
|
+
return loginError(app.basePath, "token_invalid");
|
|
93
|
+
try {
|
|
94
|
+
const { user, created } = await verifyMagicLink(ctx.db, token, {
|
|
95
|
+
bootstrapAllowed: ctx.bootstrapAllowed,
|
|
96
|
+
});
|
|
97
|
+
const { cookieHeader } = await mintSessionAndCookie(ctx, app, user.id);
|
|
98
|
+
await ctx.hooks.doAction("user:signed_in", user, {
|
|
99
|
+
method: "magic_link",
|
|
100
|
+
firstSignIn: created,
|
|
101
|
+
});
|
|
102
|
+
return redirectTo(withBasePath(ADMIN_PATH, app.basePath), {
|
|
103
|
+
"set-cookie": cookieHeader,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error instanceof MagicLinkError) {
|
|
108
|
+
ctx.logger.warn("magic_link_verify_rejected", { code: error.code });
|
|
109
|
+
return loginError(app.basePath, error.code);
|
|
110
|
+
}
|
|
111
|
+
ctx.logger.error("magic_link_verify_failed", { error });
|
|
112
|
+
return loginError(app.basePath, "token_invalid");
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function invalidInput() {
|
|
116
|
+
return jsonResponse({ error: "invalid_input" }, { status: 400 });
|
|
117
|
+
}
|
|
118
|
+
function loginError(basePath, code) {
|
|
119
|
+
return loginErrorRedirect(withBasePath(LOGIN_PATH, basePath), "magic_link_error", code);
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/auth/magic-link/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAK7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,oEAAoE;AACpE,gEAAgE;AAChE,mEAAmE;AACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,IAAI,EAAE,EACR,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,KAAK,EAAE,EACT,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CACjB;CACF,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAe,EACf,GAAc;IAEd,wEAAwE;IACxE,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,kEAAkE;IAClE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,YAAY,CACjB,EAAE,KAAK,EAAE,2BAA2B,EAAE,EACtC,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,YAAY,EAAE,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE;YAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;YAC5C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU;YAChD,kEAAkE;YAClE,oEAAoE;YACpE,mEAAmE;YACnE,gCAAgC;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oEAAoE;QACpE,6DAA6D;QAC7D,6DAA6D;QAC7D,kEAAkE;QAClE,iEAAiE;QACjE,wCAAwC;QACxC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,8DAA8D;KACxE,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAe,EACf,GAAc;IAEd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB;QACjC,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE;YAC7D,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,EAAE;YAC/C,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,OAAO;SACrB,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;YACxD,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAwB;IAC5D,OAAO,kBAAkB,CACvB,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,kBAAkB,EAClB,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Db } from "../../context/app.js";
|
|
2
|
+
import type { User } from "../../db/schema/users.js";
|
|
3
|
+
interface VerifyMagicLinkOptions {
|
|
4
|
+
/**
|
|
5
|
+
* When true, allow this magic-link verify to mint the very first
|
|
6
|
+
* admin (forwarded to `resolveExternalIdentity`). The route handler
|
|
7
|
+
* reads this from `ctx.bootstrapAllowed`, derived from
|
|
8
|
+
* `auth.bootstrapVia`. Default false keeps the bootstrap rail
|
|
9
|
+
* passkey-only.
|
|
10
|
+
*/
|
|
11
|
+
readonly bootstrapAllowed?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface VerifyMagicLinkResult {
|
|
14
|
+
readonly user: User;
|
|
15
|
+
/**
|
|
16
|
+
* True when the click provisioned a brand-new user (signup path);
|
|
17
|
+
* false when the token bound to an existing user (sign-in path).
|
|
18
|
+
* The caller forwards this to `user:signed_in`'s `firstSignIn`
|
|
19
|
+
* field so audit logs and onboarding handlers can branch on
|
|
20
|
+
* first-vs-returning. Mirrors `resolveOAuthUser`'s `created`.
|
|
21
|
+
*/
|
|
22
|
+
readonly created: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Consume a magic-link token and return the matching user + whether
|
|
26
|
+
* it was just created (signup) or pre-existing (sign-in).
|
|
27
|
+
*
|
|
28
|
+
* userId set in the token row → sign-in; created=false.
|
|
29
|
+
* userId null in the token row → signup; created comes from
|
|
30
|
+
* `resolveExternalIdentity` (true on a fresh row, false when the
|
|
31
|
+
* helper linked an existing user via verified-email match).
|
|
32
|
+
*
|
|
33
|
+
* Atomic compare-and-delete via `DELETE … RETURNING` — a concurrent
|
|
34
|
+
* second verify of the same token sees an empty result, never the same
|
|
35
|
+
* row twice. Scoped by `type='magic_link'` so a hash collision with
|
|
36
|
+
* another token type can't accidentally consume that row.
|
|
37
|
+
*
|
|
38
|
+
* The link click implicitly verifies that the user has access to the
|
|
39
|
+
* email's inbox — we always pass `emailVerified: true` to the helper.
|
|
40
|
+
*/
|
|
41
|
+
export declare function verifyMagicLink(db: Db, rawToken: string, options?: VerifyMagicLinkOptions): Promise<VerifyMagicLinkResult>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/auth/magic-link/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAQrD,UAAU,sBAAsB;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA+ChC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { and, eq } from "../../db/index.js";
|
|
2
|
+
import { authTokens } from "../../db/schema/auth_tokens.js";
|
|
3
|
+
import { users } from "../../db/schema/users.js";
|
|
4
|
+
import { ExternalIdentityError, resolveExternalIdentity } from "../identity.js";
|
|
5
|
+
import { hashToken } from "../tokens.js";
|
|
6
|
+
import { MagicLinkError } from "./errors.js";
|
|
7
|
+
/**
|
|
8
|
+
* Consume a magic-link token and return the matching user + whether
|
|
9
|
+
* it was just created (signup) or pre-existing (sign-in).
|
|
10
|
+
*
|
|
11
|
+
* userId set in the token row → sign-in; created=false.
|
|
12
|
+
* userId null in the token row → signup; created comes from
|
|
13
|
+
* `resolveExternalIdentity` (true on a fresh row, false when the
|
|
14
|
+
* helper linked an existing user via verified-email match).
|
|
15
|
+
*
|
|
16
|
+
* Atomic compare-and-delete via `DELETE … RETURNING` — a concurrent
|
|
17
|
+
* second verify of the same token sees an empty result, never the same
|
|
18
|
+
* row twice. Scoped by `type='magic_link'` so a hash collision with
|
|
19
|
+
* another token type can't accidentally consume that row.
|
|
20
|
+
*
|
|
21
|
+
* The link click implicitly verifies that the user has access to the
|
|
22
|
+
* email's inbox — we always pass `emailVerified: true` to the helper.
|
|
23
|
+
*/
|
|
24
|
+
export async function verifyMagicLink(db, rawToken, options = {}) {
|
|
25
|
+
const hash = await hashToken(rawToken);
|
|
26
|
+
const [row] = await db
|
|
27
|
+
.delete(authTokens)
|
|
28
|
+
.where(and(eq(authTokens.hash, hash), eq(authTokens.type, "magic_link")))
|
|
29
|
+
.returning();
|
|
30
|
+
if (!row)
|
|
31
|
+
throw MagicLinkError.tokenInvalid();
|
|
32
|
+
if (row.expiresAt.getTime() < Date.now()) {
|
|
33
|
+
throw MagicLinkError.tokenExpired();
|
|
34
|
+
}
|
|
35
|
+
if (row.email === null) {
|
|
36
|
+
// Defensive: every magic_link row written by `requestMagicLink`
|
|
37
|
+
// sets email. A null here means hand-rolled DB state.
|
|
38
|
+
throw MagicLinkError.tokenInvalid();
|
|
39
|
+
}
|
|
40
|
+
if (row.userId !== null) {
|
|
41
|
+
const user = await resolveExistingUser(db, row.userId);
|
|
42
|
+
return { user, created: false };
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const { user, created } = await resolveExternalIdentity(db, {
|
|
46
|
+
email: row.email,
|
|
47
|
+
emailVerified: true, // link click is the verification
|
|
48
|
+
bootstrapAllowed: options.bootstrapAllowed,
|
|
49
|
+
});
|
|
50
|
+
return { user, created };
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error instanceof ExternalIdentityError) {
|
|
54
|
+
switch (error.code) {
|
|
55
|
+
case "email_unverified":
|
|
56
|
+
// Can't fire here (we always pass emailVerified: true);
|
|
57
|
+
// re-throw as-is to surface the programming error if it ever does.
|
|
58
|
+
throw error;
|
|
59
|
+
case "account_disabled":
|
|
60
|
+
throw MagicLinkError.accountDisabled();
|
|
61
|
+
case "domain_not_allowed":
|
|
62
|
+
throw MagicLinkError.domainNotAllowed();
|
|
63
|
+
case "registration_closed":
|
|
64
|
+
throw MagicLinkError.registrationClosed();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function resolveExistingUser(db, userId) {
|
|
71
|
+
const user = await db.query.users.findFirst({
|
|
72
|
+
where: eq(users.id, userId),
|
|
73
|
+
});
|
|
74
|
+
if (!user)
|
|
75
|
+
throw MagicLinkError.tokenInvalid();
|
|
76
|
+
if (user.disabledAt)
|
|
77
|
+
throw MagicLinkError.accountDisabled();
|
|
78
|
+
return user;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/auth/magic-link/verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyB7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAM,EACN,QAAgB,EAChB,UAAkC,EAAE;IAEpC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,UAAU,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;SACxE,SAAS,EAAE,CAAC;IAEf,IAAI,CAAC,GAAG;QAAE,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IAC9C,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACzC,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACvB,gEAAgE;QAChE,sDAAsD;QACtD,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE;YAC1D,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,aAAa,EAAE,IAAI,EAAE,iCAAiC;YACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,kBAAkB;oBACrB,wDAAwD;oBACxD,mEAAmE;oBACnE,MAAM,KAAK,CAAC;gBACd,KAAK,kBAAkB;oBACrB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;gBACzC,KAAK,oBAAoB;oBACvB,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;gBAC1C,KAAK,qBAAqB;oBACxB,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EAAM,EAAE,MAAc;IACvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC,IAAI;QAAE,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Logger } from "../../context/app.js";
|
|
2
|
+
import type { Mailer } from "./types.js";
|
|
3
|
+
interface ConsoleMailerOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Logger to write the message through. Defaults to `console`. Pass
|
|
6
|
+
* the request `Logger` from a route handler when you want the
|
|
7
|
+
* message to appear with the rest of that request's structured logs.
|
|
8
|
+
*/
|
|
9
|
+
readonly logger?: Pick<Logger, "info">;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Dev-only mailer that logs each outgoing message instead of sending.
|
|
13
|
+
* Intended for local development and tests — there's no hidden network
|
|
14
|
+
* call and no rate-limit. Production deploys should pass a real
|
|
15
|
+
* `Mailer` (Resend, Postmark, SES, SMTP, …).
|
|
16
|
+
*
|
|
17
|
+
* The full message body is dumped at `info` level so the operator can
|
|
18
|
+
* copy the magic-link URL out of the logs during local sign-in.
|
|
19
|
+
*/
|
|
20
|
+
export declare function consoleMailer(options?: ConsoleMailerOptions): Mailer;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=console.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/auth/mailer/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAgB,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvD,UAAU,oBAAoB;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAaxE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-only mailer that logs each outgoing message instead of sending.
|
|
3
|
+
* Intended for local development and tests — there's no hidden network
|
|
4
|
+
* call and no rate-limit. Production deploys should pass a real
|
|
5
|
+
* `Mailer` (Resend, Postmark, SES, SMTP, …).
|
|
6
|
+
*
|
|
7
|
+
* The full message body is dumped at `info` level so the operator can
|
|
8
|
+
* copy the magic-link URL out of the logs during local sign-in.
|
|
9
|
+
*/
|
|
10
|
+
export function consoleMailer(options = {}) {
|
|
11
|
+
const logger = options.logger ?? console;
|
|
12
|
+
return {
|
|
13
|
+
send(message) {
|
|
14
|
+
logger.info("[mailer:console]", {
|
|
15
|
+
to: message.to,
|
|
16
|
+
subject: message.subject,
|
|
17
|
+
text: message.text,
|
|
18
|
+
...(message.html === undefined ? {} : { html: message.html }),
|
|
19
|
+
});
|
|
20
|
+
return Promise.resolve();
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/auth/mailer/console.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IACzC,OAAO;QACL,IAAI,CAAC,OAAqB;YACxB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/mailer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/mailer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PlumixEnv } from "../../runtime/bindings.js";
|
|
2
|
+
import type { EnvInput } from "../../runtime/env-input.js";
|
|
3
|
+
import type { Mailer } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* The mailer config slot: a literal {@link Mailer}, or an `(env) => Mailer`
|
|
6
|
+
* resolver for a transport whose API key only exists in the per-request `env`
|
|
7
|
+
* (the Workers case). See {@link EnvInput} for the shared union + the typed
|
|
8
|
+
* `env`; resolution is memoized per resolver.
|
|
9
|
+
*/
|
|
10
|
+
export type MailerInput = EnvInput<Mailer>;
|
|
11
|
+
export declare function resolveMailer(input: MailerInput | undefined, env: PlumixEnv): Mailer | undefined;
|
|
12
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/auth/mailer/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE3C,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,GAAG,EAAE,SAAS,GACb,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/auth/mailer/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAU7D,MAAM,UAAU,aAAa,CAC3B,KAA8B,EAC9B,GAAc;IAEd,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outbound email message — the payload `Mailer.send` is invoked with.
|
|
3
|
+
* Plain text required; HTML optional. Subject + recipient are the two
|
|
4
|
+
* routing-relevant fields.
|
|
5
|
+
*/
|
|
6
|
+
export interface EmailMessage {
|
|
7
|
+
readonly to: string;
|
|
8
|
+
readonly subject: string;
|
|
9
|
+
readonly text: string;
|
|
10
|
+
readonly html?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Pluggable outbound-email transport. Plumix needs this exactly when
|
|
14
|
+
* an auth feature wants to send mail (magic-link today; email-verify,
|
|
15
|
+
* invite-email, password-reset later). Implementations can wrap any
|
|
16
|
+
* provider — Resend, Postmark, SES, SMTP, a queue. Core never knows.
|
|
17
|
+
*
|
|
18
|
+
* The contract is one method, fail-fast: throw on send failure so the
|
|
19
|
+
* caller can react (the magic-link flow swallows + logs to avoid
|
|
20
|
+
* leaking whether the recipient is registered).
|
|
21
|
+
*/
|
|
22
|
+
export interface Mailer {
|
|
23
|
+
send(message: EmailMessage): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/mailer/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/auth/mailer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Db } from "../../context/app.js";
|
|
2
|
+
import type { PlumixEnv } from "../../runtime/bindings.js";
|
|
3
|
+
import type { OAuthProfile, OAuthProviderClient } from "./types.js";
|
|
4
|
+
interface BuildAuthorizeUrlInput {
|
|
5
|
+
readonly db: Db;
|
|
6
|
+
readonly providerKey: string;
|
|
7
|
+
readonly provider: OAuthProviderClient;
|
|
8
|
+
readonly redirectUri: string;
|
|
9
|
+
/** Request env, for resolving a `client` that's an `(env) => …` resolver. */
|
|
10
|
+
readonly env: PlumixEnv;
|
|
11
|
+
}
|
|
12
|
+
interface BuiltAuthorizeUrl {
|
|
13
|
+
readonly url: string;
|
|
14
|
+
readonly state: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Mint a PKCE verifier + state, persist them under `oauth_state`, and
|
|
18
|
+
* return the authorize URL. State is what the provider echoes back; it's
|
|
19
|
+
* the only way the callback ties the response to a verifier we can replay.
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildAuthorizeUrl(input: BuildAuthorizeUrlInput): Promise<BuiltAuthorizeUrl>;
|
|
22
|
+
interface ExchangeAndFetchInput {
|
|
23
|
+
readonly provider: OAuthProviderClient;
|
|
24
|
+
readonly code: string;
|
|
25
|
+
readonly redirectUri: string;
|
|
26
|
+
readonly codeVerifier: string;
|
|
27
|
+
/** Request env, for resolving a `client` that's an `(env) => …` resolver. */
|
|
28
|
+
readonly env: PlumixEnv;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Exchange the authorization code for tokens, then fetch the user's
|
|
32
|
+
* profile. Returns a normalised OAuthProfile or throws OAuthError on any
|
|
33
|
+
* step failure — the route layer maps codes to user-facing messages.
|
|
34
|
+
*/
|
|
35
|
+
export declare function exchangeAndFetchProfile(input: ExchangeAndFetchInput): Promise<OAuthProfile>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../src/auth/oauth/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMpE,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAsB5B;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAQD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+BvB"}
|