@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,81 @@
|
|
|
1
|
+
import type { UserRole } from "../db/schema/users.js";
|
|
2
|
+
import type { EntryTypeOptions, PluginRegistry, TermTaxonomyOptions } from "../plugin/manifest.js";
|
|
3
|
+
/**
|
|
4
|
+
* Role hierarchy (ascending). A role with a higher level has all capabilities
|
|
5
|
+
* of lower roles — e.g., editor satisfies any capability whose minRole is
|
|
6
|
+
* author, contributor, or subscriber.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ROLE_LEVEL: Readonly<Record<UserRole, number>>;
|
|
9
|
+
export declare function roleLevel(role: UserRole): number;
|
|
10
|
+
export declare const CORE_CAPABILITIES: Readonly<Record<string, UserRole>>;
|
|
11
|
+
export declare const POST_TYPE_CAPABILITY_ACTIONS: {
|
|
12
|
+
readonly read: "subscriber";
|
|
13
|
+
readonly create: "contributor";
|
|
14
|
+
readonly edit_own: "contributor";
|
|
15
|
+
readonly publish: "author";
|
|
16
|
+
readonly edit_any: "editor";
|
|
17
|
+
readonly delete: "editor";
|
|
18
|
+
readonly read_revisions: "editor";
|
|
19
|
+
readonly restore_revision: "editor";
|
|
20
|
+
};
|
|
21
|
+
export declare const TERM_TAXONOMY_CAPABILITY_ACTIONS: {
|
|
22
|
+
readonly read: "subscriber";
|
|
23
|
+
readonly assign: "contributor";
|
|
24
|
+
readonly edit: "editor";
|
|
25
|
+
readonly delete: "editor";
|
|
26
|
+
readonly manage: "editor";
|
|
27
|
+
};
|
|
28
|
+
export type PostCapabilityAction = keyof typeof POST_TYPE_CAPABILITY_ACTIONS;
|
|
29
|
+
export type TermTaxonomyCapabilityAction = keyof typeof TERM_TAXONOMY_CAPABILITY_ACTIONS;
|
|
30
|
+
export type CoreCapability = keyof typeof CORE_CAPABILITIES;
|
|
31
|
+
export type EntryTypeCapabilityOverrides = Partial<Record<PostCapabilityAction, UserRole>>;
|
|
32
|
+
export type TermTaxonomyCapabilityOverrides = Partial<Record<TermTaxonomyCapabilityAction, UserRole>>;
|
|
33
|
+
/**
|
|
34
|
+
* Capabilities we know about statically — the built-in core caps. IDE
|
|
35
|
+
* autocomplete picks these up when a `KnownCapability | (string & {})`
|
|
36
|
+
* signature is used (the `string & {}` half preserves flexibility for
|
|
37
|
+
* plugin-defined caps without losing literal suggestions). Derived
|
|
38
|
+
* `{entryType|termTaxonomy}:{action}` shapes deliberately aren't listed here:
|
|
39
|
+
* `${string}:${action}` collapses to `string` in TypeScript, which would
|
|
40
|
+
* erase the autocomplete benefit for the core strings.
|
|
41
|
+
*/
|
|
42
|
+
export type KnownCapability = CoreCapability;
|
|
43
|
+
export interface DerivedCapability {
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly minRole: UserRole;
|
|
46
|
+
}
|
|
47
|
+
export declare function deriveEntryTypeCapabilities(entryTypeName: string, options: EntryTypeOptions): readonly DerivedCapability[];
|
|
48
|
+
export declare function deriveTermTaxonomyCapabilities(termTaxonomyName: string, options: TermTaxonomyOptions): readonly DerivedCapability[];
|
|
49
|
+
export interface CapabilityResolver {
|
|
50
|
+
/** Returns the minimum role required for a capability, or null if unknown. */
|
|
51
|
+
requiredRole(capability: string): UserRole | null;
|
|
52
|
+
/** True iff the given role meets the capability's minimum role. */
|
|
53
|
+
hasCapability(role: UserRole, capability: string): boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function createCapabilityResolver(plugins: PluginRegistry): CapabilityResolver;
|
|
56
|
+
export declare class CapabilityError extends Error {
|
|
57
|
+
readonly code: "unauthorized" | "forbidden";
|
|
58
|
+
readonly capability: string;
|
|
59
|
+
private constructor();
|
|
60
|
+
static unauthorized(ctx: {
|
|
61
|
+
capability: string;
|
|
62
|
+
}): CapabilityError;
|
|
63
|
+
static forbidden(ctx: {
|
|
64
|
+
capability: string;
|
|
65
|
+
}): CapabilityError;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Flatten every capability the given role is granted — core plus every
|
|
69
|
+
* plugin-registered capability (including the derived `{type}:{action}`
|
|
70
|
+
* entries). Sorted for deterministic output so wire payloads are stable
|
|
71
|
+
* across identical inputs (tests, caching, etc.).
|
|
72
|
+
*
|
|
73
|
+
* The returned list is intended for shipping to the admin on `auth.session`
|
|
74
|
+
* so client code can gate nav items and actions without knowing the
|
|
75
|
+
* role-hierarchy rules.
|
|
76
|
+
*/
|
|
77
|
+
export declare function capabilitiesForRole(role: UserRole, plugins: PluginRegistry): readonly string[];
|
|
78
|
+
export declare function requireCapability(resolver: CapabilityResolver, user: {
|
|
79
|
+
role: UserRole;
|
|
80
|
+
} | null, capability: string): void;
|
|
81
|
+
//# sourceMappingURL=rbac.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../src/auth/rbac.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAQzD,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEhD;AAmBD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAwB7D,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;CAgBI,CAAC;AAE9C,eAAO,MAAM,gCAAgC;;;;;;CAMA,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAC7E,MAAM,MAAM,4BAA4B,GACtC,MAAM,OAAO,gCAAgC,CAAC;AAChD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE5D,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CACvC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,OAAO,CACnD,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAC/C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC5B;AAaD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,gBAAgB,GACxB,SAAS,iBAAiB,EAAE,CAQ9B;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,GAC3B,SAAS,iBAAiB,EAAE,CAM9B;AAED,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAClD,mEAAmE;IACnE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5D;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,cAAc,GACtB,kBAAkB,CAgBpB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IAKxC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO;IAUP,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;IAQjE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;CAO/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,cAAc,GACtB,SAAS,MAAM,EAAE,CAgBnB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,IAAI,EAC/B,UAAU,EAAE,MAAM,GACjB,IAAI,CAKN"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { USER_ROLES } from "../db/schema/users.js";
|
|
2
|
+
/**
|
|
3
|
+
* Role hierarchy (ascending). A role with a higher level has all capabilities
|
|
4
|
+
* of lower roles — e.g., editor satisfies any capability whose minRole is
|
|
5
|
+
* author, contributor, or subscriber.
|
|
6
|
+
*/
|
|
7
|
+
export const ROLE_LEVEL = Object.freeze(USER_ROLES.reduce((acc, role, index) => {
|
|
8
|
+
acc[role] = index;
|
|
9
|
+
return acc;
|
|
10
|
+
}, {}));
|
|
11
|
+
export function roleLevel(role) {
|
|
12
|
+
return ROLE_LEVEL[role];
|
|
13
|
+
}
|
|
14
|
+
// Capability shape: `<entity>:<typeName>:<action>` for per-type
|
|
15
|
+
// resources (`entry:post:edit_own`, `term:category:manage`); flat
|
|
16
|
+
// `<entity>:<action>` for entity-level caps without a type segment
|
|
17
|
+
// (`user:list`, `settings:manage`).
|
|
18
|
+
//
|
|
19
|
+
// `entry:post:*` is the baked-in default — plumix assumes a "post"
|
|
20
|
+
// entry type exists out of the box (the conventional default). Other
|
|
21
|
+
// entry types and every term taxonomy derive their caps at plugin
|
|
22
|
+
// registration time. The `entry:` and `term:` prefixes prevent name
|
|
23
|
+
// collisions when an entry type and a taxonomy share a name (e.g.
|
|
24
|
+
// `entry:location:read` ≠ `term:location:read`).
|
|
25
|
+
//
|
|
26
|
+
// `user:*` mirrors WP's split: `list` is editor+, `edit_own` is any
|
|
27
|
+
// authenticated user, create / edit / promote / delete are admin-only.
|
|
28
|
+
// `promote` is split out from `edit` — role escalation is more
|
|
29
|
+
// sensitive than a name/avatar change. `settings:manage` is a single
|
|
30
|
+
// gate over both reads and writes (matches WP's `manage_options`).
|
|
31
|
+
export const CORE_CAPABILITIES = Object.freeze({
|
|
32
|
+
"entry:post:read": "subscriber",
|
|
33
|
+
"entry:post:create": "contributor",
|
|
34
|
+
"entry:post:edit_own": "contributor",
|
|
35
|
+
"entry:post:publish": "author",
|
|
36
|
+
"entry:post:edit_any": "editor",
|
|
37
|
+
"entry:post:delete": "editor",
|
|
38
|
+
"entry:post:read_revisions": "editor",
|
|
39
|
+
"entry:post:restore_revision": "editor",
|
|
40
|
+
"user:list": "editor",
|
|
41
|
+
"user:edit_own": "subscriber",
|
|
42
|
+
"user:create": "admin",
|
|
43
|
+
"user:edit": "admin",
|
|
44
|
+
"user:promote": "admin",
|
|
45
|
+
"user:delete": "admin",
|
|
46
|
+
// Cross-user PAT oversight: list/revoke any user's API tokens.
|
|
47
|
+
// Distinct from `user:edit` so an audit policy can grant "edit
|
|
48
|
+
// profiles but not nuke tokens" or vice-versa. Self-management
|
|
49
|
+
// doesn't need this cap — every authed user manages their own
|
|
50
|
+
// via the self-scoped procedures.
|
|
51
|
+
"user:manage_tokens": "admin",
|
|
52
|
+
"plugin:manage": "admin",
|
|
53
|
+
"settings:manage": "admin",
|
|
54
|
+
});
|
|
55
|
+
export const POST_TYPE_CAPABILITY_ACTIONS = {
|
|
56
|
+
read: "subscriber",
|
|
57
|
+
create: "contributor",
|
|
58
|
+
edit_own: "contributor",
|
|
59
|
+
publish: "author",
|
|
60
|
+
edit_any: "editor",
|
|
61
|
+
delete: "editor",
|
|
62
|
+
// Revision history reads are an editor concern — authors don't
|
|
63
|
+
// ordinarily look at past versions of their own drafts. Matches the
|
|
64
|
+
// PRD's "editors can see who saved what and when" framing.
|
|
65
|
+
read_revisions: "editor",
|
|
66
|
+
// Restoring a prior revision overwrites the live row. Pairs with
|
|
67
|
+
// `read_revisions` for symmetry with the existing list/get gates;
|
|
68
|
+
// capability lands here so the full surface is consistent before
|
|
69
|
+
// the restore-into-autosave action wires up in a later slice.
|
|
70
|
+
restore_revision: "editor",
|
|
71
|
+
};
|
|
72
|
+
export const TERM_TAXONOMY_CAPABILITY_ACTIONS = {
|
|
73
|
+
read: "subscriber",
|
|
74
|
+
assign: "contributor",
|
|
75
|
+
edit: "editor",
|
|
76
|
+
delete: "editor",
|
|
77
|
+
manage: "editor",
|
|
78
|
+
};
|
|
79
|
+
function deriveCapabilities(base, actions, overrides) {
|
|
80
|
+
return Object.entries(actions).map(([action, minRole]) => ({
|
|
81
|
+
name: `${base}:${action}`,
|
|
82
|
+
minRole: overrides?.[action] ?? minRole,
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
export function deriveEntryTypeCapabilities(entryTypeName, options) {
|
|
86
|
+
// Sharing `capabilityType` across entry types pools their permissions —
|
|
87
|
+
// two plugins both with `capabilityType: "post"` share `entry:post:*`.
|
|
88
|
+
return deriveCapabilities(`entry:${options.capabilityType ?? entryTypeName}`, POST_TYPE_CAPABILITY_ACTIONS, options.capabilities);
|
|
89
|
+
}
|
|
90
|
+
export function deriveTermTaxonomyCapabilities(termTaxonomyName, options) {
|
|
91
|
+
return deriveCapabilities(`term:${termTaxonomyName}`, TERM_TAXONOMY_CAPABILITY_ACTIONS, options.capabilities);
|
|
92
|
+
}
|
|
93
|
+
export function createCapabilityResolver(plugins) {
|
|
94
|
+
return {
|
|
95
|
+
requiredRole(capability) {
|
|
96
|
+
const fromPlugin = plugins.capabilities.get(capability);
|
|
97
|
+
if (fromPlugin)
|
|
98
|
+
return fromPlugin.minRole;
|
|
99
|
+
return CORE_CAPABILITIES[capability] ?? null;
|
|
100
|
+
},
|
|
101
|
+
hasCapability(role, capability) {
|
|
102
|
+
const fromPlugin = plugins.capabilities.get(capability);
|
|
103
|
+
// defaultGrants is an explicit allowlist independent of hierarchy.
|
|
104
|
+
if (fromPlugin?.defaultGrants?.includes(role))
|
|
105
|
+
return true;
|
|
106
|
+
const required = this.requiredRole(capability);
|
|
107
|
+
if (required === null)
|
|
108
|
+
return false;
|
|
109
|
+
return roleLevel(role) >= roleLevel(required);
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export class CapabilityError extends Error {
|
|
114
|
+
static {
|
|
115
|
+
CapabilityError.prototype.name = "CapabilityError";
|
|
116
|
+
}
|
|
117
|
+
code;
|
|
118
|
+
capability;
|
|
119
|
+
constructor(code, capability, message) {
|
|
120
|
+
super(message);
|
|
121
|
+
this.code = code;
|
|
122
|
+
this.capability = capability;
|
|
123
|
+
}
|
|
124
|
+
static unauthorized(ctx) {
|
|
125
|
+
return new CapabilityError("unauthorized", ctx.capability, "Authentication required");
|
|
126
|
+
}
|
|
127
|
+
static forbidden(ctx) {
|
|
128
|
+
return new CapabilityError("forbidden", ctx.capability, `Missing capability: ${ctx.capability}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Flatten every capability the given role is granted — core plus every
|
|
133
|
+
* plugin-registered capability (including the derived `{type}:{action}`
|
|
134
|
+
* entries). Sorted for deterministic output so wire payloads are stable
|
|
135
|
+
* across identical inputs (tests, caching, etc.).
|
|
136
|
+
*
|
|
137
|
+
* The returned list is intended for shipping to the admin on `auth.session`
|
|
138
|
+
* so client code can gate nav items and actions without knowing the
|
|
139
|
+
* role-hierarchy rules.
|
|
140
|
+
*/
|
|
141
|
+
export function capabilitiesForRole(role, plugins) {
|
|
142
|
+
const level = roleLevel(role);
|
|
143
|
+
// Set — a plugin registering an entry type with `capabilityType: 'post'`
|
|
144
|
+
// duplicates the derived `entry:post:read` etc. caps into `plugins.capabilities`
|
|
145
|
+
// on top of the entries already present in CORE_CAPABILITIES. Dedupe so
|
|
146
|
+
// the wire payload doesn't carry `["entry:post:read", "entry:post:read", ...]`.
|
|
147
|
+
const granted = new Set();
|
|
148
|
+
for (const [name, minRole] of Object.entries(CORE_CAPABILITIES)) {
|
|
149
|
+
if (roleLevel(minRole) <= level)
|
|
150
|
+
granted.add(name);
|
|
151
|
+
}
|
|
152
|
+
for (const [name, cap] of plugins.capabilities) {
|
|
153
|
+
if (roleLevel(cap.minRole) <= level || cap.defaultGrants?.includes(role)) {
|
|
154
|
+
granted.add(name);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return [...granted].sort();
|
|
158
|
+
}
|
|
159
|
+
export function requireCapability(resolver, user, capability) {
|
|
160
|
+
if (!user)
|
|
161
|
+
throw CapabilityError.unauthorized({ capability });
|
|
162
|
+
if (!resolver.hasCapability(user.role, capability)) {
|
|
163
|
+
throw CapabilityError.forbidden({ capability });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=rbac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../src/auth/rbac.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Db } from "../context/app.js";
|
|
2
|
+
import type { Session } from "../db/schema/sessions.js";
|
|
3
|
+
import type { User } from "../db/schema/users.js";
|
|
4
|
+
export interface SessionPolicy {
|
|
5
|
+
/** Sliding-window duration. The cookie's Max-Age and DB expiresAt. */
|
|
6
|
+
readonly maxAgeSeconds: number;
|
|
7
|
+
/** Hard ceiling regardless of activity — re-auth required past this. */
|
|
8
|
+
readonly absoluteMaxAgeSeconds: number;
|
|
9
|
+
/** Refresh expiry only when more than this fraction of life has elapsed. */
|
|
10
|
+
readonly refreshThreshold: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const DEFAULT_SESSION_POLICY: SessionPolicy;
|
|
13
|
+
export interface CreateSessionInput {
|
|
14
|
+
readonly userId: number;
|
|
15
|
+
readonly ipAddress?: string | null;
|
|
16
|
+
readonly userAgent?: string | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Pull the client IP + user-agent off a request for `sessions.ipAddress`
|
|
20
|
+
* / `sessions.userAgent`. Prefers `cf-connecting-ip` (set by Cloudflare
|
|
21
|
+
* Access / Workers / CDN) over `x-forwarded-for` (which can be a chain
|
|
22
|
+
* — pick the first hop). Falls back to null when neither header is
|
|
23
|
+
* present. Truncates aggressively so a misconfigured upstream can't
|
|
24
|
+
* blow up the row width.
|
|
25
|
+
*
|
|
26
|
+
* Used at every `createSession` call site so the per-session admin UI
|
|
27
|
+
* can surface meaningful "what device / where from" context for the
|
|
28
|
+
* "is this me?" workflow. The values are advisory: an attacker who
|
|
29
|
+
* controls the request can spoof both, so policy decisions still flow
|
|
30
|
+
* through the session id (hash-keyed, server-issued).
|
|
31
|
+
*/
|
|
32
|
+
export declare function readRequestMeta(request: Request): {
|
|
33
|
+
readonly ipAddress: string | null;
|
|
34
|
+
readonly userAgent: string | null;
|
|
35
|
+
};
|
|
36
|
+
export interface CreatedSession {
|
|
37
|
+
/** Raw token to send to the client as a cookie value. Never stored. */
|
|
38
|
+
readonly token: string;
|
|
39
|
+
readonly session: Session;
|
|
40
|
+
readonly expiresAt: Date;
|
|
41
|
+
}
|
|
42
|
+
export interface ValidatedSession {
|
|
43
|
+
readonly session: Session;
|
|
44
|
+
readonly user: User;
|
|
45
|
+
/** True if `expiresAt` was extended on this validation. */
|
|
46
|
+
readonly refreshed: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Mint a new session: random token → SHA-256 hash → row keyed by hash.
|
|
50
|
+
* The raw token is returned exactly once for the cookie; the DB never sees it.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createSession(db: Db, input: CreateSessionInput, policy?: SessionPolicy): Promise<CreatedSession>;
|
|
53
|
+
/**
|
|
54
|
+
* Validate a raw session token from the cookie. Returns null on any failure
|
|
55
|
+
* (no row, expired, beyond absolute cap). Slides expiresAt when over the
|
|
56
|
+
* refresh threshold; deletes the row on absolute-cap breach so a stolen
|
|
57
|
+
* token past the ceiling is purged on first use.
|
|
58
|
+
*/
|
|
59
|
+
export declare function validateSession(db: Db, rawToken: string, policy?: SessionPolicy): Promise<ValidatedSession | null>;
|
|
60
|
+
export declare function invalidateSession(db: Db, rawToken: string): Promise<void>;
|
|
61
|
+
/** Used on role/permission change. */
|
|
62
|
+
export declare function invalidateAllSessionsForUser(db: Db, userId: number): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Bulk-delete expired rows, returning how many were reaped. Caller decides
|
|
65
|
+
* cadence (cron / on-demand). `returning()` gives a driver-portable count
|
|
66
|
+
* (SQLite `DELETE ... RETURNING` on both libsql and D1).
|
|
67
|
+
*/
|
|
68
|
+
export declare function pruneExpiredSessions(db: Db): Promise<number>;
|
|
69
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/auth/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAOlD,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,sBAAsB,EAAE,aAIpC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAaA;AASD,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,kBAAkB,EACzB,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAqDlC;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,sCAAsC;AACtC,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { eq, lt } from "drizzle-orm";
|
|
2
|
+
import { sessions } from "../db/schema/sessions.js";
|
|
3
|
+
import { users } from "../db/schema/users.js";
|
|
4
|
+
import { generateToken, hashToken } from "./tokens.js";
|
|
5
|
+
const SECONDS_PER_DAY = 60 * 60 * 24;
|
|
6
|
+
export const DEFAULT_SESSION_POLICY = {
|
|
7
|
+
maxAgeSeconds: 30 * SECONDS_PER_DAY,
|
|
8
|
+
absoluteMaxAgeSeconds: 90 * SECONDS_PER_DAY,
|
|
9
|
+
refreshThreshold: 0.5,
|
|
10
|
+
};
|
|
11
|
+
// Bounds for the values we persist. Real-world UA strings are typically
|
|
12
|
+
// 100-400 chars; 1024 leaves headroom while bounding row width on
|
|
13
|
+
// hostile / malformed input. IPs are at most 45 chars (IPv6) — 64 gives
|
|
14
|
+
// space for IPv6 zone IDs without going wild.
|
|
15
|
+
const MAX_IP_LENGTH = 64;
|
|
16
|
+
const MAX_UA_LENGTH = 1024;
|
|
17
|
+
/**
|
|
18
|
+
* Pull the client IP + user-agent off a request for `sessions.ipAddress`
|
|
19
|
+
* / `sessions.userAgent`. Prefers `cf-connecting-ip` (set by Cloudflare
|
|
20
|
+
* Access / Workers / CDN) over `x-forwarded-for` (which can be a chain
|
|
21
|
+
* — pick the first hop). Falls back to null when neither header is
|
|
22
|
+
* present. Truncates aggressively so a misconfigured upstream can't
|
|
23
|
+
* blow up the row width.
|
|
24
|
+
*
|
|
25
|
+
* Used at every `createSession` call site so the per-session admin UI
|
|
26
|
+
* can surface meaningful "what device / where from" context for the
|
|
27
|
+
* "is this me?" workflow. The values are advisory: an attacker who
|
|
28
|
+
* controls the request can spoof both, so policy decisions still flow
|
|
29
|
+
* through the session id (hash-keyed, server-issued).
|
|
30
|
+
*/
|
|
31
|
+
export function readRequestMeta(request) {
|
|
32
|
+
const cfIp = request.headers.get("cf-connecting-ip");
|
|
33
|
+
const xff = request.headers.get("x-forwarded-for");
|
|
34
|
+
// x-forwarded-for is comma-separated when multiple proxies appended;
|
|
35
|
+
// the leftmost entry is the original client (per RFC 7239 / common
|
|
36
|
+
// proxy convention).
|
|
37
|
+
const fallback = xff?.split(",")[0]?.trim() ?? null;
|
|
38
|
+
const rawIp = cfIp ?? fallback ?? null;
|
|
39
|
+
const rawUa = request.headers.get("user-agent");
|
|
40
|
+
return {
|
|
41
|
+
ipAddress: clip(rawIp, MAX_IP_LENGTH),
|
|
42
|
+
userAgent: clip(rawUa, MAX_UA_LENGTH),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function clip(value, max) {
|
|
46
|
+
if (value === null)
|
|
47
|
+
return null;
|
|
48
|
+
const trimmed = value.trim();
|
|
49
|
+
if (trimmed.length === 0)
|
|
50
|
+
return null;
|
|
51
|
+
return trimmed.length > max ? trimmed.slice(0, max) : trimmed;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Mint a new session: random token → SHA-256 hash → row keyed by hash.
|
|
55
|
+
* The raw token is returned exactly once for the cookie; the DB never sees it.
|
|
56
|
+
*/
|
|
57
|
+
export async function createSession(db, input, policy = DEFAULT_SESSION_POLICY) {
|
|
58
|
+
const token = generateToken();
|
|
59
|
+
const id = await hashToken(token);
|
|
60
|
+
const expiresAt = new Date(Date.now() + policy.maxAgeSeconds * 1000);
|
|
61
|
+
const [session] = await db
|
|
62
|
+
.insert(sessions)
|
|
63
|
+
.values({
|
|
64
|
+
id,
|
|
65
|
+
userId: input.userId,
|
|
66
|
+
expiresAt,
|
|
67
|
+
ipAddress: input.ipAddress ?? null,
|
|
68
|
+
userAgent: input.userAgent ?? null,
|
|
69
|
+
})
|
|
70
|
+
.returning();
|
|
71
|
+
// eslint-disable-next-line no-restricted-syntax -- defensive driver-regression guard; migrate alongside auth errors in PR 2 (#234)
|
|
72
|
+
if (!session)
|
|
73
|
+
throw new Error("createSession: insert returned no row");
|
|
74
|
+
return { token, session, expiresAt };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validate a raw session token from the cookie. Returns null on any failure
|
|
78
|
+
* (no row, expired, beyond absolute cap). Slides expiresAt when over the
|
|
79
|
+
* refresh threshold; deletes the row on absolute-cap breach so a stolen
|
|
80
|
+
* token past the ceiling is purged on first use.
|
|
81
|
+
*/
|
|
82
|
+
export async function validateSession(db, rawToken, policy = DEFAULT_SESSION_POLICY) {
|
|
83
|
+
if (!rawToken)
|
|
84
|
+
return null;
|
|
85
|
+
const id = await hashToken(rawToken);
|
|
86
|
+
const row = await db
|
|
87
|
+
.select({ session: sessions, user: users })
|
|
88
|
+
.from(sessions)
|
|
89
|
+
.innerJoin(users, eq(sessions.userId, users.id))
|
|
90
|
+
.where(eq(sessions.id, id))
|
|
91
|
+
.get();
|
|
92
|
+
if (!row)
|
|
93
|
+
return null;
|
|
94
|
+
const now = Date.now();
|
|
95
|
+
const expiresAtMs = row.session.expiresAt.getTime();
|
|
96
|
+
const createdAtMs = row.session.createdAt.getTime();
|
|
97
|
+
if (now >= expiresAtMs ||
|
|
98
|
+
now >= createdAtMs + policy.absoluteMaxAgeSeconds * 1000) {
|
|
99
|
+
await db.delete(sessions).where(eq(sessions.id, id));
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
if (row.user.disabledAt) {
|
|
103
|
+
await db.delete(sessions).where(eq(sessions.id, id));
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const elapsedFraction = (now - createdAtMs) / (policy.maxAgeSeconds * 1000);
|
|
107
|
+
if (elapsedFraction < policy.refreshThreshold) {
|
|
108
|
+
return { session: row.session, user: row.user, refreshed: false };
|
|
109
|
+
}
|
|
110
|
+
const newExpiryMs = Math.min(now + policy.maxAgeSeconds * 1000, createdAtMs + policy.absoluteMaxAgeSeconds * 1000);
|
|
111
|
+
if (newExpiryMs === expiresAtMs) {
|
|
112
|
+
return { session: row.session, user: row.user, refreshed: false };
|
|
113
|
+
}
|
|
114
|
+
const newExpiry = new Date(newExpiryMs);
|
|
115
|
+
await db
|
|
116
|
+
.update(sessions)
|
|
117
|
+
.set({ expiresAt: newExpiry })
|
|
118
|
+
.where(eq(sessions.id, id));
|
|
119
|
+
return {
|
|
120
|
+
session: { ...row.session, expiresAt: newExpiry },
|
|
121
|
+
user: row.user,
|
|
122
|
+
refreshed: true,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export async function invalidateSession(db, rawToken) {
|
|
126
|
+
if (!rawToken)
|
|
127
|
+
return;
|
|
128
|
+
const id = await hashToken(rawToken);
|
|
129
|
+
await db.delete(sessions).where(eq(sessions.id, id));
|
|
130
|
+
}
|
|
131
|
+
/** Used on role/permission change. */
|
|
132
|
+
export async function invalidateAllSessionsForUser(db, userId) {
|
|
133
|
+
await db.delete(sessions).where(eq(sessions.userId, userId));
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Bulk-delete expired rows, returning how many were reaped. Caller decides
|
|
137
|
+
* cadence (cron / on-demand). `returning()` gives a driver-portable count
|
|
138
|
+
* (SQLite `DELETE ... RETURNING` on both libsql and D1).
|
|
139
|
+
*/
|
|
140
|
+
export async function pruneExpiredSessions(db) {
|
|
141
|
+
const deleted = await db
|
|
142
|
+
.delete(sessions)
|
|
143
|
+
.where(lt(sessions.expiresAt, new Date()))
|
|
144
|
+
.returning({ id: sessions.id });
|
|
145
|
+
return deleted.length;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/auth/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AppContext } from "../context/app.js";
|
|
2
|
+
import type { PlumixApp } from "../runtime/app.js";
|
|
3
|
+
interface MintedSession {
|
|
4
|
+
/** Raw session token — same value the cookie carries. */
|
|
5
|
+
readonly token: string;
|
|
6
|
+
/** Ready-to-set `Set-Cookie` header value. */
|
|
7
|
+
readonly cookieHeader: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Compose the four steps every successful sign-in shares: read request
|
|
11
|
+
* meta, create the session row, derive the secure-context flag, and
|
|
12
|
+
* build the `Set-Cookie` header from the configured `sessionPolicy`.
|
|
13
|
+
*
|
|
14
|
+
* Every auth flow that mints a session for the user (magic-link, oauth,
|
|
15
|
+
* passkey register/login/invite-accept) calls this — cookie attribute
|
|
16
|
+
* policy lives here so a change to `SameSite`, `Secure`, or `Max-Age`
|
|
17
|
+
* applies uniformly without scanning five call sites.
|
|
18
|
+
*/
|
|
19
|
+
export declare function mintSessionAndCookie(ctx: AppContext, app: PlumixApp, userId: number): Promise<MintedSession>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=sign-in.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sign-in.d.ts","sourceRoot":"","sources":["../../src/auth/sign-in.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,UAAU,aAAa;IACrB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAexB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { withBasePath } from "../base-path.js";
|
|
2
|
+
import { buildSessionCookie, isSecureRequest } from "./cookies.js";
|
|
3
|
+
import { createSession, readRequestMeta } from "./sessions.js";
|
|
4
|
+
/**
|
|
5
|
+
* Compose the four steps every successful sign-in shares: read request
|
|
6
|
+
* meta, create the session row, derive the secure-context flag, and
|
|
7
|
+
* build the `Set-Cookie` header from the configured `sessionPolicy`.
|
|
8
|
+
*
|
|
9
|
+
* Every auth flow that mints a session for the user (magic-link, oauth,
|
|
10
|
+
* passkey register/login/invite-accept) calls this — cookie attribute
|
|
11
|
+
* policy lives here so a change to `SameSite`, `Secure`, or `Max-Age`
|
|
12
|
+
* applies uniformly without scanning five call sites.
|
|
13
|
+
*/
|
|
14
|
+
export async function mintSessionAndCookie(ctx, app, userId) {
|
|
15
|
+
const { token } = await createSession(ctx.db, { userId, ...readRequestMeta(ctx.request) }, app.sessionPolicy);
|
|
16
|
+
const cookieHeader = buildSessionCookie(token, {
|
|
17
|
+
maxAgeSeconds: app.sessionPolicy.maxAgeSeconds,
|
|
18
|
+
secure: isSecureRequest(ctx.request),
|
|
19
|
+
sameSite: "Lax",
|
|
20
|
+
// Scope the session to the subdirectory so it isn't sent to a sibling
|
|
21
|
+
// app on the same host (`""` → `/`, the host-wide default).
|
|
22
|
+
path: withBasePath("/", app.basePath),
|
|
23
|
+
});
|
|
24
|
+
return { token, cookieHeader };
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=sign-in.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/auth/sign-in.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAS/D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAe,EACf,GAAc,EACd,MAAc;IAEd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CACnC,GAAG,CAAC,EAAE,EACN,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAC3C,GAAG,CAAC,aAAa,CAClB,CAAC;IACF,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;QAC7C,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,aAAa;QAC9C,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,QAAQ,EAAE,KAAK;QACf,sEAAsE;QACtE,4DAA4D;QAC5D,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function generateToken(): string;
|
|
2
|
+
/**
|
|
3
|
+
* SHA-256(token), hex-encoded. The DB stores only the hash so a snapshot
|
|
4
|
+
* leak does not yield live tokens. Native WebCrypto on the hot path.
|
|
5
|
+
*/
|
|
6
|
+
export declare function hashToken(token: string): Promise<string>;
|
|
7
|
+
/** Constant-time string equality — `constantTimeEqual` short-circuits on length mismatch. */
|
|
8
|
+
export declare function safeEqual(a: string, b: string): boolean;
|
|
9
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/auth/tokens.ts"],"names":[],"mappings":"AAQA,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { constantTimeEqual } from "@oslojs/crypto/subtle";
|
|
2
|
+
import { encodeBase64urlNoPadding, encodeHexLowerCase } from "@oslojs/encoding";
|
|
3
|
+
// 192 bits — comfortably inside the Copenhagen Book's 120–256 band.
|
|
4
|
+
const TOKEN_BYTES = 24;
|
|
5
|
+
const ENCODER = new TextEncoder();
|
|
6
|
+
export function generateToken() {
|
|
7
|
+
const bytes = new Uint8Array(TOKEN_BYTES);
|
|
8
|
+
crypto.getRandomValues(bytes);
|
|
9
|
+
return encodeBase64urlNoPadding(bytes);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* SHA-256(token), hex-encoded. The DB stores only the hash so a snapshot
|
|
13
|
+
* leak does not yield live tokens. Native WebCrypto on the hot path.
|
|
14
|
+
*/
|
|
15
|
+
export async function hashToken(token) {
|
|
16
|
+
const digest = await crypto.subtle.digest("SHA-256", ENCODER.encode(token));
|
|
17
|
+
return encodeHexLowerCase(new Uint8Array(digest));
|
|
18
|
+
}
|
|
19
|
+
/** Constant-time string equality — `constantTimeEqual` short-circuits on length mismatch. */
|
|
20
|
+
export function safeEqual(a, b) {
|
|
21
|
+
return constantTimeEqual(ENCODER.encode(a), ENCODER.encode(b));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/auth/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,oEAAoE;AACpE,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,OAAO,kBAAkB,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,CAAS;IAC5C,OAAO,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base-path algebra for serving a plumix site under a subdirectory
|
|
3
|
+
* (`example.com/custom-directory/*`). Three pure helpers mirror the model
|
|
4
|
+
* the major frameworks settled on: normalize once at config load, strip once
|
|
5
|
+
* on the inbound request before routing, prepend on every outbound URL.
|
|
6
|
+
*
|
|
7
|
+
* The empty string is the root deployment (today's behavior) and every helper
|
|
8
|
+
* treats it as a no-op, so an unconfigured site is byte-for-byte unchanged.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Canonicalize an operator-supplied base path: `""` for a root deployment,
|
|
12
|
+
* otherwise a leading-slash, no-trailing-slash, single-slash-separated prefix.
|
|
13
|
+
* Lenient by design (`docs`, `/docs/`, `/a//b` all normalize) so a small
|
|
14
|
+
* config typo doesn't 404 the whole site.
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeBasePath(input: string | undefined): string;
|
|
17
|
+
/**
|
|
18
|
+
* Remove the base prefix from an inbound pathname so the rest of the router
|
|
19
|
+
* matches against root-relative paths unchanged. Returns the remainder (always
|
|
20
|
+
* leading-slash; the bare base maps to `/`) or `null` when the request isn't
|
|
21
|
+
* under the base, which the caller turns into a 404.
|
|
22
|
+
*
|
|
23
|
+
* A root base (`""`) is a pure pass-through — the path is returned verbatim so
|
|
24
|
+
* an unconfigured deployment behaves exactly as before. When a base IS set,
|
|
25
|
+
* duplicate leading slashes are collapsed first so `//docs/admin` can't dodge
|
|
26
|
+
* the prefix gate (matching the hardening the SSR frameworks apply).
|
|
27
|
+
*/
|
|
28
|
+
export declare function stripBasePath(pathname: string, basePath: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Prepend the base to a root-relative path for an outbound URL (canonical tag,
|
|
31
|
+
* sitemap `<loc>`, feed link, permalink, cookie `Path`). Inverse of
|
|
32
|
+
* {@link stripBasePath}: the site root (`/`) maps back to the bare base, and a
|
|
33
|
+
* root base (`""`) returns the path untouched.
|
|
34
|
+
*/
|
|
35
|
+
export declare function withBasePath(path: string, basePath: string): string;
|
|
36
|
+
//# sourceMappingURL=base-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-path.d.ts","sourceRoot":"","sources":["../src/base-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAQf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGnE"}
|