@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,1539 @@
|
|
|
1
|
+
import type { BlockNode, BlockPattern, BlockSpec, BlockVariation, MarkSpec, PatternInsertMode, PatternPreview, PatternTarget, ShortcodeSpec, ThemeBreakpoints, ThemeTokens } from "@plumix/blocks";
|
|
2
|
+
import type { EntryTypeCapabilityOverrides, TermTaxonomyCapabilityOverrides } from "../auth/rbac.js";
|
|
3
|
+
import type { AppContext } from "../context/app.js";
|
|
4
|
+
import type { UserRole } from "../db/schema/users.js";
|
|
5
|
+
import type { Label } from "../i18n/label.js";
|
|
6
|
+
import type { ResolvedI18n, ResolvedLocale } from "../i18n/locale-registry.js";
|
|
7
|
+
import type { McpTool } from "../mcp/tool.js";
|
|
8
|
+
import type { RouteIntent } from "../route/intent.js";
|
|
9
|
+
import type { RegisteredTemplateDep } from "../template-deps.js";
|
|
10
|
+
import type { PluginI18nSlot } from "./define.js";
|
|
11
|
+
import type { RegisteredLookupAdapter } from "./lookup.js";
|
|
12
|
+
/**
|
|
13
|
+
* WP-style per-type chrome labels shared between `EntryTypeOptions.labels`
|
|
14
|
+
* and `EntryTypeManifestEntry.labels`. Every field is optional on the
|
|
15
|
+
* options side; `buildManifest` resolves the cascade server-side so the
|
|
16
|
+
* projection (`ResolvedEntryTypeLabels`) ships every key fully populated.
|
|
17
|
+
* Consumers read `entry.labels.editItem` directly — no per-call-site
|
|
18
|
+
* fallback boilerplate.
|
|
19
|
+
*
|
|
20
|
+
* Key set mirrors WP's `register_post_type()` labels table where the
|
|
21
|
+
* mental model carries (`searchItems`, `notFound`, `addNewItem`, etc.)
|
|
22
|
+
* plus plumix-specific SPA chrome (`loadingItems`, `loadErrorItems`,
|
|
23
|
+
* `untitledItem`, `noMatch`) that PHP-WP doesn't need. Deliberately
|
|
24
|
+
* excludes `menu_name` (already covered by `label`/`plural`),
|
|
25
|
+
* `name_admin_bar` (plumix has no admin bar), media-specific keys
|
|
26
|
+
* (`featured_image`, `insert_into_item`, …) that belong on the media
|
|
27
|
+
* plugin, and tag-cloud affordances (`popular_items`, `most_used`)
|
|
28
|
+
* that plumix's picker UX doesn't surface.
|
|
29
|
+
*/
|
|
30
|
+
export interface EntryTypeLabels {
|
|
31
|
+
readonly singular?: Label;
|
|
32
|
+
readonly plural?: Label;
|
|
33
|
+
/** "Add New" — short-form CTA for the admin bar quick-create overflow. */
|
|
34
|
+
readonly addNew?: Label;
|
|
35
|
+
/** "Add Post" — primary create CTA on list pages and slash menu. */
|
|
36
|
+
readonly addNewItem?: Label;
|
|
37
|
+
/** "Edit Post" — list-table row action and editor heading. */
|
|
38
|
+
readonly editItem?: Label;
|
|
39
|
+
/** "New Post" — quick-create affordance distinct from `addNewItem`. */
|
|
40
|
+
readonly newItem?: Label;
|
|
41
|
+
/** "View Post" — list-table row action and post-save toast link. */
|
|
42
|
+
readonly viewItem?: Label;
|
|
43
|
+
/** "View Posts" — plural archive-link variant of `viewItem`. */
|
|
44
|
+
readonly viewItems?: Label;
|
|
45
|
+
/** "Search Posts…" — list-page search input placeholder. */
|
|
46
|
+
readonly searchItems?: Label;
|
|
47
|
+
/** "No posts yet" — list-page empty state title (no rows registered). */
|
|
48
|
+
readonly notFound?: Label;
|
|
49
|
+
/** "No posts found in Trash" — trash view empty state. */
|
|
50
|
+
readonly notFoundInTrash?: Label;
|
|
51
|
+
/** "Loading posts" — aria-busy state during list fetch. */
|
|
52
|
+
readonly loadingItems?: Label;
|
|
53
|
+
/** "Couldn't load posts. Try again." — list-page fetch-failure banner. */
|
|
54
|
+
readonly loadErrorItems?: Label;
|
|
55
|
+
/** "All posts" — "all-types" filter chip label. */
|
|
56
|
+
readonly allItems?: Label;
|
|
57
|
+
/** "No posts match" — empty state after a search returns zero rows. */
|
|
58
|
+
readonly noMatch?: Label;
|
|
59
|
+
/** "Parent Post" — hierarchical parent picker option label. */
|
|
60
|
+
readonly parentItem?: Label;
|
|
61
|
+
/** "Parent Post:" — colon-suffixed variant for form labels. */
|
|
62
|
+
readonly parentItemColon?: Label;
|
|
63
|
+
/** "Untitled Post" — reference-picker label when an entry has no title. */
|
|
64
|
+
readonly untitledItem?: Label;
|
|
65
|
+
/** "Move post to trash?" — confirmation prompt on trash action. */
|
|
66
|
+
readonly moveToTrash?: Label;
|
|
67
|
+
/** "Post updated" — toast after autosave or explicit save. */
|
|
68
|
+
readonly itemUpdated?: Label;
|
|
69
|
+
/** "Post published" — toast after first publish. */
|
|
70
|
+
readonly itemPublished?: Label;
|
|
71
|
+
/** "Post published privately" — toast for private visibility. */
|
|
72
|
+
readonly itemPublishedPrivately?: Label;
|
|
73
|
+
/** "Post scheduled" — toast after scheduling a future publish. */
|
|
74
|
+
readonly itemScheduled?: Label;
|
|
75
|
+
/** "Post moved to trash" — toast after trash action completes. */
|
|
76
|
+
readonly itemTrashed?: Label;
|
|
77
|
+
/** "Post reverted to draft" — toast after unpublish. */
|
|
78
|
+
readonly itemRevertedToDraft?: Label;
|
|
79
|
+
/** "Posts list" — SR-only region label for the data table. */
|
|
80
|
+
readonly itemsList?: Label;
|
|
81
|
+
/** "Posts list navigation" — SR-only region label for pagination. */
|
|
82
|
+
readonly itemsListNavigation?: Label;
|
|
83
|
+
/** "Filter posts list" — SR-only label for the filter row. */
|
|
84
|
+
readonly filterItemsList?: Label;
|
|
85
|
+
}
|
|
86
|
+
export interface EntryTypeOptions {
|
|
87
|
+
readonly label: Label;
|
|
88
|
+
/**
|
|
89
|
+
* Human-readable label variants. `plural` also drives the admin URL slug
|
|
90
|
+
* (`/entries/<slugified-plural>`) unless overridden; omit it and the slug
|
|
91
|
+
* falls back to `${name}s`, which is acceptable for English-named types
|
|
92
|
+
* but surfaces an "anglos" for `name: "angle"` etc. — plugins with
|
|
93
|
+
* irregular plurals should set `labels.plural` explicitly.
|
|
94
|
+
*
|
|
95
|
+
* The other keys mirror WordPress's `register_post_type()` labels table:
|
|
96
|
+
* per-type chrome strings the admin would otherwise produce by
|
|
97
|
+
* lowercase-noun substitution. Substitution breaks in languages with
|
|
98
|
+
* gender/case agreement (DE, RU, PL, UK, AR), and lowercasing translated
|
|
99
|
+
* nouns is wrong in DE (Beiträge → beiträge is a typo). Each label is
|
|
100
|
+
* optional and the admin falls back to a generic noun-less catalog
|
|
101
|
+
* string when missing.
|
|
102
|
+
*/
|
|
103
|
+
readonly labels?: EntryTypeLabels;
|
|
104
|
+
readonly description?: string;
|
|
105
|
+
readonly supports?: readonly string[];
|
|
106
|
+
readonly termTaxonomies?: readonly string[];
|
|
107
|
+
readonly isHierarchical?: boolean;
|
|
108
|
+
/** Master visibility switch; defaults to `true`. Cascades to `showUI`/`showInSidebar`/`excludeFromGenericRpc`/`excludeFromSearch` when those are unset. */
|
|
109
|
+
readonly isPublic?: boolean;
|
|
110
|
+
readonly showUI?: boolean;
|
|
111
|
+
readonly showInSidebar?: boolean;
|
|
112
|
+
readonly excludeFromGenericRpc?: boolean;
|
|
113
|
+
readonly excludeFromSearch?: boolean;
|
|
114
|
+
readonly hasArchive?: boolean | string;
|
|
115
|
+
readonly rewrite?: {
|
|
116
|
+
readonly slug?: string;
|
|
117
|
+
readonly isHierarchical?: boolean;
|
|
118
|
+
};
|
|
119
|
+
readonly capabilityType?: string;
|
|
120
|
+
readonly capabilities?: EntryTypeCapabilityOverrides;
|
|
121
|
+
readonly priority?: number;
|
|
122
|
+
readonly menuIcon?: string;
|
|
123
|
+
/** Synonyms the command palette matches in addition to the sidebar label. */
|
|
124
|
+
readonly keywords?: readonly Label[];
|
|
125
|
+
/**
|
|
126
|
+
* Per-type versioning policy. Only honored when `supports` includes
|
|
127
|
+
* `"revisions"`. `maxRevisions` caps how many revision rows are
|
|
128
|
+
* retained per live entry (default 25); `autosaveIntervalSeconds`
|
|
129
|
+
* shapes the editor's autosave cadence (default 60).
|
|
130
|
+
*/
|
|
131
|
+
readonly versioning?: {
|
|
132
|
+
readonly maxRevisions?: number;
|
|
133
|
+
readonly autosaveIntervalSeconds?: number;
|
|
134
|
+
};
|
|
135
|
+
/** Page size for this type's archive route. Default 20. */
|
|
136
|
+
readonly archivePerPage?: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* WP-style per-type chrome labels for term taxonomies. Same cascade
|
|
140
|
+
* semantics as `EntryTypeLabels` — `buildManifest` resolves into
|
|
141
|
+
* `ResolvedTermTaxonomyLabels` server-side. Terms always have a
|
|
142
|
+
* server-supplied `name` so `untitledItem` doesn't apply here.
|
|
143
|
+
*/
|
|
144
|
+
export interface TermTaxonomyLabels {
|
|
145
|
+
readonly singular?: Label;
|
|
146
|
+
/** "Categories" — plural form (symmetric with `EntryTypeLabels.plural`). */
|
|
147
|
+
readonly plural?: Label;
|
|
148
|
+
/** "Add New" — short-form CTA paired with `addNewItem`. */
|
|
149
|
+
readonly addNew?: Label;
|
|
150
|
+
/** "Add Category" — primary create CTA. */
|
|
151
|
+
readonly addNewItem?: Label;
|
|
152
|
+
/** "Edit Category" — term-edit form heading. */
|
|
153
|
+
readonly editItem?: Label;
|
|
154
|
+
/** "View Category" — list-table row action linking to the public archive. */
|
|
155
|
+
readonly viewItem?: Label;
|
|
156
|
+
/** "Update Category" — save-button text on the term edit form. */
|
|
157
|
+
readonly updateItem?: Label;
|
|
158
|
+
/** "New Category Name" — placeholder for the create-form name input. */
|
|
159
|
+
readonly newItemName?: Label;
|
|
160
|
+
/** "Search categories…" — list-page search input placeholder. */
|
|
161
|
+
readonly searchItems?: Label;
|
|
162
|
+
/** "No categories yet" — list-page empty state title. */
|
|
163
|
+
readonly notFound?: Label;
|
|
164
|
+
/** "Loading categories" — aria-busy state during fetch. */
|
|
165
|
+
readonly loadingItems?: Label;
|
|
166
|
+
/** "Couldn't load categories. Try again." — fetch-failure banner. */
|
|
167
|
+
readonly loadErrorItems?: Label;
|
|
168
|
+
/** "All categories" — filter chip label. */
|
|
169
|
+
readonly allItems?: Label;
|
|
170
|
+
/** "No categories match" — empty state after zero-match search. */
|
|
171
|
+
readonly noMatch?: Label;
|
|
172
|
+
/** "Parent Category" — hierarchical parent picker option label. */
|
|
173
|
+
readonly parentItem?: Label;
|
|
174
|
+
/** "Parent Category:" — colon-suffixed variant for form labels. */
|
|
175
|
+
readonly parentItemColon?: Label;
|
|
176
|
+
/** "No categories" — entry-list cell empty placeholder. */
|
|
177
|
+
readonly noTerms?: Label;
|
|
178
|
+
/** "Filter by category" — SR-only label on filter dropdown. */
|
|
179
|
+
readonly filterByItem?: Label;
|
|
180
|
+
/** "← Go to Categories" — back-link from term edit to list. */
|
|
181
|
+
readonly backToItems?: Label;
|
|
182
|
+
/** "Categories list" — SR-only region label for the data table. */
|
|
183
|
+
readonly itemsList?: Label;
|
|
184
|
+
/** "Categories list navigation" — SR-only region label for pagination. */
|
|
185
|
+
readonly itemsListNavigation?: Label;
|
|
186
|
+
/** "Separate tags with commas" — help text for chip-style multi-input
|
|
187
|
+
* pickers (non-hierarchical only; categories don't use it). */
|
|
188
|
+
readonly separateItemsWithCommas?: Label;
|
|
189
|
+
/** "Add or remove tags" — help text for chip-style picker controls. */
|
|
190
|
+
readonly addOrRemoveItems?: Label;
|
|
191
|
+
}
|
|
192
|
+
export interface TermTaxonomyOptions {
|
|
193
|
+
readonly label: Label;
|
|
194
|
+
readonly labels?: TermTaxonomyLabels;
|
|
195
|
+
readonly description?: string;
|
|
196
|
+
readonly isHierarchical?: boolean;
|
|
197
|
+
readonly entryTypes?: readonly string[];
|
|
198
|
+
readonly isPublic?: boolean;
|
|
199
|
+
readonly showUI?: boolean;
|
|
200
|
+
readonly showInSidebar?: boolean;
|
|
201
|
+
readonly excludeFromGenericRpc?: boolean;
|
|
202
|
+
readonly isInQuickEdit?: boolean;
|
|
203
|
+
readonly hasAdminColumn?: boolean;
|
|
204
|
+
readonly rewrite?: {
|
|
205
|
+
readonly slug?: string;
|
|
206
|
+
readonly isHierarchical?: boolean;
|
|
207
|
+
};
|
|
208
|
+
readonly capabilities?: TermTaxonomyCapabilityOverrides;
|
|
209
|
+
readonly menuIcon?: string;
|
|
210
|
+
/** Synonyms the command palette matches in addition to the sidebar label. */
|
|
211
|
+
readonly keywords?: readonly Label[];
|
|
212
|
+
/** Page size for this taxonomy's term archives. Default 20. */
|
|
213
|
+
readonly archivePerPage?: number;
|
|
214
|
+
}
|
|
215
|
+
export declare function resolveEntryTypeVisibility(options: EntryTypeOptions): {
|
|
216
|
+
readonly isPublic: boolean;
|
|
217
|
+
readonly showUI: boolean;
|
|
218
|
+
readonly showInSidebar: boolean;
|
|
219
|
+
readonly excludeFromGenericRpc: boolean;
|
|
220
|
+
readonly excludeFromSearch: boolean;
|
|
221
|
+
};
|
|
222
|
+
export declare function resolveTermTaxonomyVisibility(options: TermTaxonomyOptions): {
|
|
223
|
+
readonly isPublic: boolean;
|
|
224
|
+
readonly showUI: boolean;
|
|
225
|
+
readonly showInSidebar: boolean;
|
|
226
|
+
readonly excludeFromGenericRpc: boolean;
|
|
227
|
+
};
|
|
228
|
+
export declare function manifestEntryVisibility(entry: Pick<EntryTypeManifestEntry, "isPublic" | "showUI" | "showInSidebar"> | Pick<TermTaxonomyManifestEntry, "isPublic" | "showUI" | "showInSidebar">): {
|
|
229
|
+
readonly isPublic: boolean;
|
|
230
|
+
readonly showUI: boolean;
|
|
231
|
+
readonly showInSidebar: boolean;
|
|
232
|
+
};
|
|
233
|
+
export type MetaScalarType = "string" | "number" | "boolean" | "json";
|
|
234
|
+
export interface MetaBoxFieldOption {
|
|
235
|
+
readonly value: string;
|
|
236
|
+
readonly label: Label;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Column span for a field within its meta box's 12-column grid. A plain
|
|
240
|
+
* number applies from the smallest breakpoint up. The object form is
|
|
241
|
+
* mobile-first: `base` is the default, `sm` / `md` / `lg` override upward.
|
|
242
|
+
* Breakpoints key off the card's own width (Tailwind container queries,
|
|
243
|
+
* `@sm` / `@md` / `@lg`) so the same `span` renders consistently whether
|
|
244
|
+
* the box lands in a full-width route or a narrow sidebar. Values outside
|
|
245
|
+
* 1..12 are clamped at render time. Omitted span means full width (12).
|
|
246
|
+
*/
|
|
247
|
+
export type MetaBoxFieldSpan = number | {
|
|
248
|
+
readonly base?: number;
|
|
249
|
+
readonly sm?: number;
|
|
250
|
+
readonly md?: number;
|
|
251
|
+
readonly lg?: number;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Shared shape for every meta-box field variant — properties carried
|
|
255
|
+
* regardless of `inputType`. Each narrowed variant of `MetaBoxField`
|
|
256
|
+
* extends this with input-specific options.
|
|
257
|
+
*/
|
|
258
|
+
export interface MetaBoxFieldBase {
|
|
259
|
+
readonly key: string;
|
|
260
|
+
readonly label: Label;
|
|
261
|
+
/**
|
|
262
|
+
* Storage type. Drives server-side sanitization on write and
|
|
263
|
+
* coercion on read (`entry.meta` / `term.meta` columns store JSON,
|
|
264
|
+
* but the type informs the expected shape). `json` accepts any
|
|
265
|
+
* JSON-serialisable value.
|
|
266
|
+
*/
|
|
267
|
+
readonly type: MetaScalarType;
|
|
268
|
+
/**
|
|
269
|
+
* Applied after type coercion, before persistence. Returning a
|
|
270
|
+
* sanitized value replaces the caller's input — ideal for trimming,
|
|
271
|
+
* whitelisting, or normalising shape.
|
|
272
|
+
*/
|
|
273
|
+
readonly sanitize?: (value: unknown) => unknown;
|
|
274
|
+
/** Default surfaced in the admin form when the key has no saved value. */
|
|
275
|
+
readonly default?: unknown;
|
|
276
|
+
/** Optional help text rendered under the label on every input type. */
|
|
277
|
+
readonly description?: Label;
|
|
278
|
+
/** Renders `required` on the native input; server validation is separate. */
|
|
279
|
+
readonly required?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Column span within the meta box's 12-column grid. Defaults to full
|
|
282
|
+
* width. See `MetaBoxFieldSpan` for the responsive object form.
|
|
283
|
+
*/
|
|
284
|
+
readonly span?: MetaBoxFieldSpan;
|
|
285
|
+
/**
|
|
286
|
+
* Capability gate for the individual field. When set, the admin hides
|
|
287
|
+
* the field from viewers whose capability set lacks it. The server
|
|
288
|
+
* rejects entry/term/user writes that include the field's key — both
|
|
289
|
+
* upserts and deletes count, so a viewer can't blank a value they
|
|
290
|
+
* can't see. Gating applies at the top-level field only; capabilities
|
|
291
|
+
* on repeater subfields are ignored (a row's gate is the parent
|
|
292
|
+
* repeater field's gate). Defaults to no gating.
|
|
293
|
+
*/
|
|
294
|
+
readonly capability?: string;
|
|
295
|
+
/**
|
|
296
|
+
* Expose this field's value on the public REST API. Default-deny: meta is
|
|
297
|
+
* hidden from REST responses unless a field opts in with `showInApi: true`,
|
|
298
|
+
* so internal fields never leak by default. Has no effect on the admin RPC.
|
|
299
|
+
*/
|
|
300
|
+
readonly showInApi?: boolean;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* The narrowed `text` field variant produced by the `text()` builder
|
|
304
|
+
* helper exported from `plumix/fields`. The builder rejects options
|
|
305
|
+
* that don't apply to a text input (e.g. `min`, `step`, `options`) at
|
|
306
|
+
* the type level; downstream consumers can rely on the narrowed shape
|
|
307
|
+
* via the `inputType` discriminator.
|
|
308
|
+
*/
|
|
309
|
+
export interface TextMetaBoxField extends MetaBoxFieldBase {
|
|
310
|
+
readonly inputType: "text";
|
|
311
|
+
readonly type: "string";
|
|
312
|
+
readonly placeholder?: Label;
|
|
313
|
+
readonly maxLength?: number;
|
|
314
|
+
}
|
|
315
|
+
/** Multi-line text input. Storage shape mirrors `text`. */
|
|
316
|
+
export interface TextareaMetaBoxField extends MetaBoxFieldBase {
|
|
317
|
+
readonly inputType: "textarea";
|
|
318
|
+
readonly type: "string";
|
|
319
|
+
readonly placeholder?: Label;
|
|
320
|
+
readonly maxLength?: number;
|
|
321
|
+
}
|
|
322
|
+
/** Numeric input with optional `min` / `max` / `step` bounds. */
|
|
323
|
+
export interface NumberMetaBoxField extends MetaBoxFieldBase {
|
|
324
|
+
readonly inputType: "number";
|
|
325
|
+
readonly type: "number";
|
|
326
|
+
readonly placeholder?: Label;
|
|
327
|
+
readonly min?: number;
|
|
328
|
+
readonly max?: number;
|
|
329
|
+
readonly step?: number;
|
|
330
|
+
}
|
|
331
|
+
/** RFC-5322-shaped email input. */
|
|
332
|
+
export interface EmailMetaBoxField extends MetaBoxFieldBase {
|
|
333
|
+
readonly inputType: "email";
|
|
334
|
+
readonly type: "string";
|
|
335
|
+
readonly placeholder?: Label;
|
|
336
|
+
readonly maxLength?: number;
|
|
337
|
+
}
|
|
338
|
+
/** URL input. */
|
|
339
|
+
export interface UrlMetaBoxField extends MetaBoxFieldBase {
|
|
340
|
+
readonly inputType: "url";
|
|
341
|
+
readonly type: "string";
|
|
342
|
+
readonly placeholder?: Label;
|
|
343
|
+
readonly maxLength?: number;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Masked-input password field. Visually hides characters in the admin
|
|
347
|
+
* so values aren't shoulder-surfable in shared sessions; storage
|
|
348
|
+
* shape mirrors `text`.
|
|
349
|
+
*/
|
|
350
|
+
export interface PasswordMetaBoxField extends MetaBoxFieldBase {
|
|
351
|
+
readonly inputType: "password";
|
|
352
|
+
readonly type: "string";
|
|
353
|
+
readonly placeholder?: Label;
|
|
354
|
+
readonly maxLength?: number;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Date-only field. Stored as `YYYY-MM-DD` (ISO 8601 calendar date,
|
|
358
|
+
* no time, no timezone). Optional `min` / `max` bounds use the same
|
|
359
|
+
* format and are enforced as registration-time validation only —
|
|
360
|
+
* server-side bound enforcement is deferred to a later release.
|
|
361
|
+
*/
|
|
362
|
+
export interface DateMetaBoxField extends MetaBoxFieldBase {
|
|
363
|
+
readonly inputType: "date";
|
|
364
|
+
readonly type: "string";
|
|
365
|
+
readonly min?: string;
|
|
366
|
+
readonly max?: string;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Date + time field. Stored as a partial ISO 8601 string
|
|
370
|
+
* (`YYYY-MM-DDTHH:MM` with optional `:SS`) reflecting whatever the
|
|
371
|
+
* author's browser produced via `<input type="datetime-local">`. A
|
|
372
|
+
* future iteration may bake in the browser's timezone offset so the
|
|
373
|
+
* wall-clock semantics survive cross-region reads; today's storage is
|
|
374
|
+
* naive local time and consumers anchor to a timezone explicitly via
|
|
375
|
+
* `parseMetaDate` + their own `Temporal.ZonedDateTime` shaping if
|
|
376
|
+
* needed.
|
|
377
|
+
*/
|
|
378
|
+
export interface DateTimeMetaBoxField extends MetaBoxFieldBase {
|
|
379
|
+
readonly inputType: "datetime";
|
|
380
|
+
readonly type: "string";
|
|
381
|
+
readonly min?: string;
|
|
382
|
+
readonly max?: string;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Time-only field. Stored as `HH:MM` (with optional `:SS`). No date
|
|
386
|
+
* anchor, no timezone — useful for "open at 09:00" style values where
|
|
387
|
+
* the calendar date is supplied separately.
|
|
388
|
+
*/
|
|
389
|
+
export interface TimeMetaBoxField extends MetaBoxFieldBase {
|
|
390
|
+
readonly inputType: "time";
|
|
391
|
+
readonly type: "string";
|
|
392
|
+
readonly min?: string;
|
|
393
|
+
readonly max?: string;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Hex color picker. Stored as a `#xxxxxx` string (the format the
|
|
397
|
+
* native `<input type="color">` produces). The builder injects a
|
|
398
|
+
* default sanitizer that rejects values that don't match the hex
|
|
399
|
+
* shape on write.
|
|
400
|
+
*/
|
|
401
|
+
export interface ColorMetaBoxField extends MetaBoxFieldBase {
|
|
402
|
+
readonly inputType: "color";
|
|
403
|
+
readonly type: "string";
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Bounded numeric slider. Renders as `<input type="range">`. `min` /
|
|
407
|
+
* `max` are required so the slider has a concrete range; `step`
|
|
408
|
+
* defaults to `1`. The builder injects a default sanitizer that
|
|
409
|
+
* enforces the bounds on write.
|
|
410
|
+
*/
|
|
411
|
+
export interface RangeMetaBoxField extends MetaBoxFieldBase {
|
|
412
|
+
readonly inputType: "range";
|
|
413
|
+
readonly type: "number";
|
|
414
|
+
readonly min: number;
|
|
415
|
+
readonly max: number;
|
|
416
|
+
readonly step?: number;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Multi-value picker over a fixed option list. Storage is a JSON
|
|
420
|
+
* array of option `value` strings. Renders as a toggle group in the
|
|
421
|
+
* admin so authors see all options at once. The builder ships a
|
|
422
|
+
* default sanitizer that rejects values outside the declared
|
|
423
|
+
* options.
|
|
424
|
+
*/
|
|
425
|
+
export interface MultiselectMetaBoxField extends MetaBoxFieldBase {
|
|
426
|
+
readonly inputType: "multiselect";
|
|
427
|
+
readonly type: "json";
|
|
428
|
+
readonly options: readonly MetaBoxFieldOption[];
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Free-form JSON value. Storage round-trips through the JSON
|
|
432
|
+
* serializer so any structure that survives `JSON.stringify`
|
|
433
|
+
* survives the wire.
|
|
434
|
+
*/
|
|
435
|
+
export interface JsonMetaBoxField extends MetaBoxFieldBase {
|
|
436
|
+
readonly inputType: "json";
|
|
437
|
+
readonly type: "json";
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Reference target descriptor carried on every reference field
|
|
441
|
+
* variant (`user`, `entry`, `term`, `media`, plugin-registered
|
|
442
|
+
* custom kinds). The `kind` matches a registered `LookupAdapter`;
|
|
443
|
+
* the adapter interprets `scope` according to its own contract.
|
|
444
|
+
*
|
|
445
|
+
* Reading the manifest, the admin dispatches to a generic picker
|
|
446
|
+
* that calls the lookup RPC with `{ kind, scope }` — picker UI is
|
|
447
|
+
* one component, target-specific knowledge lives in the adapter.
|
|
448
|
+
*/
|
|
449
|
+
export interface ReferenceTarget<TScope = unknown> {
|
|
450
|
+
readonly kind: string;
|
|
451
|
+
readonly scope?: TScope;
|
|
452
|
+
/**
|
|
453
|
+
* Storage cardinality. `false`/absent → single value (string or
|
|
454
|
+
* cached object). `true` → array (of strings or cached objects).
|
|
455
|
+
* The server-side write validator and read-side orphan filter
|
|
456
|
+
* dispatch on this flag to handle both shapes uniformly.
|
|
457
|
+
*/
|
|
458
|
+
readonly multiple?: boolean;
|
|
459
|
+
/**
|
|
460
|
+
* Storage shape per item. `"id"` (default) → bare id string —
|
|
461
|
+
* every read needs a join/resolve to get a label. `"object"` →
|
|
462
|
+
* `{ id, ...cachedFields, ...userFields }` — the meta pipeline
|
|
463
|
+
* normalizes cached fields from the adapter on every write so
|
|
464
|
+
* reads can render without a join. Used by `media` (where the
|
|
465
|
+
* thumbnail/mime/filename are needed on every render and a
|
|
466
|
+
* resolve per render is wasteful on the edge).
|
|
467
|
+
*
|
|
468
|
+
* The cached fields come from `LookupResult.cached` returned by
|
|
469
|
+
* the adapter; user-supplied keys (e.g. per-usage `alt`) survive
|
|
470
|
+
* the merge so editors can override per-usage metadata.
|
|
471
|
+
*/
|
|
472
|
+
readonly valueShape?: "id" | "object";
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Single user reference. Storage is the bare user id as a string
|
|
476
|
+
* (`"42"` → `users.id = 42`); reads return `null` when the user is
|
|
477
|
+
* gone or no longer matches scope. The `referenceTarget.scope`
|
|
478
|
+
* accepts the user adapter's scope shape (roles + disabled-state).
|
|
479
|
+
*/
|
|
480
|
+
export interface UserMetaBoxField extends MetaBoxFieldBase {
|
|
481
|
+
readonly inputType: "user";
|
|
482
|
+
readonly type: "string";
|
|
483
|
+
readonly referenceTarget: ReferenceTarget;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Multi user reference. Storage is a JSON array of bare user ids
|
|
487
|
+
* (`["42", "43"]`); reads filter out orphans (the bag's array stays
|
|
488
|
+
* dense — missing IDs are dropped, not nulled, so consumers iterate
|
|
489
|
+
* without branching). `referenceTarget.multiple` is `true`; `max`
|
|
490
|
+
* caps the array length at write time.
|
|
491
|
+
*/
|
|
492
|
+
export interface UserListMetaBoxField extends MetaBoxFieldBase {
|
|
493
|
+
readonly inputType: "userList";
|
|
494
|
+
readonly type: "json";
|
|
495
|
+
readonly referenceTarget: ReferenceTarget;
|
|
496
|
+
/** Max items allowed in the array. Omitted = unbounded. */
|
|
497
|
+
readonly max?: number;
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Single entry reference. Storage is the bare entry id as a string;
|
|
501
|
+
* reads return `null` when the entry is gone, scope-mismatched, or
|
|
502
|
+
* trashed. `referenceTarget.scope` carries `entryTypes` (the only
|
|
503
|
+
* entry-type names this field accepts).
|
|
504
|
+
*
|
|
505
|
+
* Naming note: the `Reference` infix avoids the collision with
|
|
506
|
+
* `EntryMetaBoxField` further down — the latter is the per-variant
|
|
507
|
+
* Omit-distributive union for fields inside an entry meta box.
|
|
508
|
+
*/
|
|
509
|
+
export interface EntryReferenceMetaBoxField extends MetaBoxFieldBase {
|
|
510
|
+
readonly inputType: "entry";
|
|
511
|
+
readonly type: "string";
|
|
512
|
+
readonly referenceTarget: ReferenceTarget;
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Multi entry reference. Storage is a JSON array of bare entry ids;
|
|
516
|
+
* reads filter out orphans (the array stays dense — missing IDs are
|
|
517
|
+
* dropped, not nulled). `referenceTarget.multiple` is `true`; `max`
|
|
518
|
+
* caps the array length at write time. Scope rules match
|
|
519
|
+
* `EntryReferenceMetaBoxField` — `entryTypes` is required.
|
|
520
|
+
*/
|
|
521
|
+
export interface EntryListMetaBoxField extends MetaBoxFieldBase {
|
|
522
|
+
readonly inputType: "entryList";
|
|
523
|
+
readonly type: "json";
|
|
524
|
+
readonly referenceTarget: ReferenceTarget;
|
|
525
|
+
/** Max items allowed in the array. Omitted = unbounded. */
|
|
526
|
+
readonly max?: number;
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Single term reference. Storage is the bare term id as a string;
|
|
530
|
+
* reads return `null` for orphans / scope mismatches.
|
|
531
|
+
* `referenceTarget.scope` carries `termTaxonomies` (the taxonomy
|
|
532
|
+
* names this field accepts).
|
|
533
|
+
*/
|
|
534
|
+
export interface TermReferenceMetaBoxField extends MetaBoxFieldBase {
|
|
535
|
+
readonly inputType: "term";
|
|
536
|
+
readonly type: "string";
|
|
537
|
+
readonly referenceTarget: ReferenceTarget;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Multi term reference. Storage is a JSON array of bare term ids;
|
|
541
|
+
* reads filter out orphans the same way `EntryListMetaBoxField`
|
|
542
|
+
* does. `referenceTarget.multiple` is `true`; `max` caps array
|
|
543
|
+
* length. Scope rules match `TermReferenceMetaBoxField` —
|
|
544
|
+
* `termTaxonomies` is required.
|
|
545
|
+
*/
|
|
546
|
+
export interface TermListMetaBoxField extends MetaBoxFieldBase {
|
|
547
|
+
readonly inputType: "termList";
|
|
548
|
+
readonly type: "json";
|
|
549
|
+
readonly referenceTarget: ReferenceTarget;
|
|
550
|
+
/** Max items allowed in the array. Omitted = unbounded. */
|
|
551
|
+
readonly max?: number;
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* Single media reference with cached metadata. Storage is the
|
|
555
|
+
* `MediaValue` object — `{ id, mime?, filename?, alt? }` — not a
|
|
556
|
+
* bare id, so admin renders show a thumbnail + filename without an
|
|
557
|
+
* extra resolve round-trip per render. `referenceTarget.valueShape`
|
|
558
|
+
* is `"object"`; the meta pipeline overwrites the cached fields
|
|
559
|
+
* (mime/filename) from the lookup adapter on every write but lets
|
|
560
|
+
* user-supplied keys (e.g. per-usage `alt`) survive the merge.
|
|
561
|
+
*
|
|
562
|
+
* Lives in core so the typed builder narrows correctly at call
|
|
563
|
+
* sites — same convention as `entry` / `term`. The actual builder
|
|
564
|
+
* + adapter are in `@plumix/plugin-media`.
|
|
565
|
+
*/
|
|
566
|
+
export interface MediaMetaBoxField extends MetaBoxFieldBase {
|
|
567
|
+
readonly inputType: "media";
|
|
568
|
+
readonly type: "json";
|
|
569
|
+
readonly referenceTarget: ReferenceTarget;
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Multi media reference. Storage is a JSON array of `MediaValue`
|
|
573
|
+
* objects — `[{ id, mime?, filename? }, ...]` — extending the cached-
|
|
574
|
+
* object pattern from `MediaMetaBoxField` to the array shape. The
|
|
575
|
+
* meta pipeline rewrites each entry's cached fields on every write,
|
|
576
|
+
* so admin renders thumbnails for every item without a per-item
|
|
577
|
+
* resolve. `referenceTarget.multiple` is `true`, `valueShape` is
|
|
578
|
+
* `"object"`; `max` caps the array length at write time.
|
|
579
|
+
*/
|
|
580
|
+
export interface MediaListMetaBoxField extends MetaBoxFieldBase {
|
|
581
|
+
readonly inputType: "mediaList";
|
|
582
|
+
readonly type: "json";
|
|
583
|
+
readonly referenceTarget: ReferenceTarget;
|
|
584
|
+
/** Max items allowed in the array. Omitted = unbounded. */
|
|
585
|
+
readonly max?: number;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Richtext field — Tiptap ProseMirror JSON storage. `marks`, `nodes`,
|
|
589
|
+
* and `blocks` are strict allowlists: omitted entries are denied even
|
|
590
|
+
* if they're standard Tiptap extensions. `doc`/`paragraph`/`text` are
|
|
591
|
+
* always included implicitly because ProseMirror requires them for
|
|
592
|
+
* any document to parse.
|
|
593
|
+
*
|
|
594
|
+
* `marks` are inline formatters (`bold`, `italic`, `link`, …).
|
|
595
|
+
* `nodes` are block-level Tiptap nodes (`heading`, `bulletList`,
|
|
596
|
+
* `codeBlock`, …). `blocks` is a forward-compatible allowlist of
|
|
597
|
+
* custom node names — the validator accepts documents containing them,
|
|
598
|
+
* leaving the theme-side block render registry (planned) responsible
|
|
599
|
+
* for actually drawing them.
|
|
600
|
+
*
|
|
601
|
+
* Server-side validator (`walkRichtextDoc`) walks the saved doc and
|
|
602
|
+
* rejects any node/mark/block name outside the allowlist. The admin
|
|
603
|
+
* toolbar surfaces only the buttons that match the allowlist.
|
|
604
|
+
*
|
|
605
|
+
* Replaces the dropped `markdown` and `code` standalone field types —
|
|
606
|
+
* `richtext({ nodes: ["codeBlock"] })` covers code-in-meta;
|
|
607
|
+
* `richtext({ marks: ["bold","italic","link"], nodes: ["bulletList","orderedList"] })`
|
|
608
|
+
* covers markdown-shaped formatting.
|
|
609
|
+
*/
|
|
610
|
+
export interface RichtextMetaBoxField extends MetaBoxFieldBase {
|
|
611
|
+
readonly inputType: "richtext";
|
|
612
|
+
readonly type: "json";
|
|
613
|
+
readonly marks?: readonly string[];
|
|
614
|
+
readonly nodes?: readonly string[];
|
|
615
|
+
readonly blocks?: readonly string[];
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Flat list of structured rows. Each row carries the same fixed schema
|
|
619
|
+
* declared via `subFields`; mixed-row "flexible content" is explicitly
|
|
620
|
+
* out of scope. Subfields may be any registered field type *except*
|
|
621
|
+
* another repeater — nesting is rejected at registration time so v0.1
|
|
622
|
+
* doesn't ship recursive UX (lift later non-breakingly if a real use
|
|
623
|
+
* case appears).
|
|
624
|
+
*
|
|
625
|
+
* Storage rides on the `json` primitive so any JSON-serialisable row
|
|
626
|
+
* shape survives the wire. The auto-injected sanitizer drops rows
|
|
627
|
+
* where every subfield value is empty (`null` / `undefined` / `""`),
|
|
628
|
+
* then enforces optional `min` / `max` row counts. "Empty" is strictly
|
|
629
|
+
* those three: a row whose only populated subfield is `0` (number) or
|
|
630
|
+
* `false` (checkbox) survives — those are real values.
|
|
631
|
+
*/
|
|
632
|
+
export interface RepeaterMetaBoxField extends MetaBoxFieldBase {
|
|
633
|
+
readonly inputType: "repeater";
|
|
634
|
+
readonly type: "json";
|
|
635
|
+
readonly subFields: readonly MetaBoxField[];
|
|
636
|
+
readonly min?: number;
|
|
637
|
+
readonly max?: number;
|
|
638
|
+
}
|
|
639
|
+
/** Single-value dropdown picker; `options` is required. */
|
|
640
|
+
export interface SelectMetaBoxField extends MetaBoxFieldBase {
|
|
641
|
+
readonly inputType: "select";
|
|
642
|
+
readonly type: "string";
|
|
643
|
+
readonly options: readonly MetaBoxFieldOption[];
|
|
644
|
+
}
|
|
645
|
+
/** Single-value radio group; `options` is required. */
|
|
646
|
+
export interface RadioMetaBoxField extends MetaBoxFieldBase {
|
|
647
|
+
readonly inputType: "radio";
|
|
648
|
+
readonly type: "string";
|
|
649
|
+
readonly options: readonly MetaBoxFieldOption[];
|
|
650
|
+
}
|
|
651
|
+
/** Boolean checkbox — storage type pinned to `boolean`. */
|
|
652
|
+
export interface CheckboxMetaBoxField extends MetaBoxFieldBase {
|
|
653
|
+
readonly inputType: "checkbox";
|
|
654
|
+
readonly type: "boolean";
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Catch-all variant for any `inputType` not narrowed into a dedicated
|
|
658
|
+
* variant above — primarily plugin-registered custom types arriving via
|
|
659
|
+
* `registerFieldType`. Object-literal registrations using built-in
|
|
660
|
+
* input-type strings (e.g. `inputType: "text"`) still type-check
|
|
661
|
+
* against the narrowed variant when their option shape matches; this
|
|
662
|
+
* variant exists so authoring patterns and plugin extensions don't
|
|
663
|
+
* regress.
|
|
664
|
+
*/
|
|
665
|
+
export interface LegacyMetaBoxField extends MetaBoxFieldBase {
|
|
666
|
+
readonly inputType: string;
|
|
667
|
+
readonly placeholder?: Label;
|
|
668
|
+
readonly maxLength?: number;
|
|
669
|
+
readonly min?: number;
|
|
670
|
+
readonly max?: number;
|
|
671
|
+
readonly step?: number;
|
|
672
|
+
readonly options?: readonly MetaBoxFieldOption[];
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* A field inside a meta box — the single source of truth for both the
|
|
676
|
+
* admin UI renderer and the server-side storage contract. Declaring a
|
|
677
|
+
* meta box is the only way to register a meta key; there is no separate
|
|
678
|
+
* `registerMeta` step.
|
|
679
|
+
*
|
|
680
|
+
* Modelled as a discriminated union keyed on `inputType`. Each built-in
|
|
681
|
+
* input type has its own narrowed variant produced by a builder helper
|
|
682
|
+
* exported from `plumix/fields`; `LegacyMetaBoxField` keeps custom
|
|
683
|
+
* `registerFieldType` registrations and broad object-literal authoring
|
|
684
|
+
* compiling unchanged.
|
|
685
|
+
*/
|
|
686
|
+
export type MetaBoxField = TextMetaBoxField | TextareaMetaBoxField | NumberMetaBoxField | EmailMetaBoxField | UrlMetaBoxField | PasswordMetaBoxField | DateMetaBoxField | DateTimeMetaBoxField | TimeMetaBoxField | ColorMetaBoxField | RangeMetaBoxField | MultiselectMetaBoxField | JsonMetaBoxField | UserMetaBoxField | UserListMetaBoxField | EntryReferenceMetaBoxField | EntryListMetaBoxField | TermReferenceMetaBoxField | TermListMetaBoxField | MediaMetaBoxField | MediaListMetaBoxField | RichtextMetaBoxField | RepeaterMetaBoxField | SelectMetaBoxField | RadioMetaBoxField | CheckboxMetaBoxField | LegacyMetaBoxField;
|
|
687
|
+
/**
|
|
688
|
+
* Shared base for every "card of fields" registration surface — entry
|
|
689
|
+
* meta boxes, term meta boxes, user meta boxes, and settings groups.
|
|
690
|
+
* Each concrete surface extends this with its scope specifier (if any)
|
|
691
|
+
* and any surface-specific layout hints (`location` on entry boxes).
|
|
692
|
+
*
|
|
693
|
+
* Semantics shared across every extender:
|
|
694
|
+
* - `priority` orders cards within their region; lower first,
|
|
695
|
+
* unspecified sorts last, ties break by `id` / `name` alphabetical.
|
|
696
|
+
* - `capability` is a UI-only filter — the admin hides cards the
|
|
697
|
+
* viewer lacks the capability for. The server enforces only the
|
|
698
|
+
* entity-level write gate (`<entryType>:edit*`, `<termTaxonomy>:edit`,
|
|
699
|
+
* `user:edit`, `settings:manage`). Do NOT use `capability` for
|
|
700
|
+
* secrets; any user with the entity write gate can write any
|
|
701
|
+
* registered field via the raw RPC.
|
|
702
|
+
* - `fields` carry `MetaBoxField.sanitize` which runs server-side only
|
|
703
|
+
* — the manifest wire contract strips callbacks before shipping.
|
|
704
|
+
*/
|
|
705
|
+
export interface MetaBoxBaseOptions {
|
|
706
|
+
readonly label: Label;
|
|
707
|
+
readonly description?: Label;
|
|
708
|
+
readonly priority?: number;
|
|
709
|
+
readonly capability?: string;
|
|
710
|
+
readonly fields: readonly MetaBoxField[];
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Field shape for entry meta boxes. Drops `span` from the shared
|
|
714
|
+
* `MetaBoxField` — the editor's document rail is a fixed 256px column,
|
|
715
|
+
* so side-by-side layouts can't fit legibly. Compile-time signal to
|
|
716
|
+
* plugin authors that spans are a page-width affordance only (term,
|
|
717
|
+
* user, settings).
|
|
718
|
+
*
|
|
719
|
+
* `Omit<MetaBoxField, "span">` would normally distribute over the
|
|
720
|
+
* union, but TS's excess-property check across a many-variant
|
|
721
|
+
* distributed `Omit` gets pessimistic and starts rejecting options
|
|
722
|
+
* that exist only on a subset of variants. The explicit per-variant
|
|
723
|
+
* union below preserves the same shape with stable inference.
|
|
724
|
+
*/
|
|
725
|
+
export type EntryMetaBoxField = Omit<TextMetaBoxField, "span"> | Omit<TextareaMetaBoxField, "span"> | Omit<NumberMetaBoxField, "span"> | Omit<EmailMetaBoxField, "span"> | Omit<UrlMetaBoxField, "span"> | Omit<PasswordMetaBoxField, "span"> | Omit<DateMetaBoxField, "span"> | Omit<DateTimeMetaBoxField, "span"> | Omit<TimeMetaBoxField, "span"> | Omit<ColorMetaBoxField, "span"> | Omit<RangeMetaBoxField, "span"> | Omit<MultiselectMetaBoxField, "span"> | Omit<JsonMetaBoxField, "span"> | Omit<UserMetaBoxField, "span"> | Omit<UserListMetaBoxField, "span"> | Omit<EntryReferenceMetaBoxField, "span"> | Omit<EntryListMetaBoxField, "span"> | Omit<TermReferenceMetaBoxField, "span"> | Omit<TermListMetaBoxField, "span"> | Omit<MediaMetaBoxField, "span"> | Omit<MediaListMetaBoxField, "span"> | Omit<RichtextMetaBoxField, "span"> | Omit<RepeaterMetaBoxField, "span"> | Omit<SelectMetaBoxField, "span"> | Omit<RadioMetaBoxField, "span"> | Omit<CheckboxMetaBoxField, "span"> | Omit<LegacyMetaBoxField, "span">;
|
|
726
|
+
/**
|
|
727
|
+
* Meta box shown on the entry editor. Scoped by `entryTypes`. Renders
|
|
728
|
+
* as a collapsible section in the editor's document rail, which is
|
|
729
|
+
* fixed at 256px — fields always occupy the full row.
|
|
730
|
+
*/
|
|
731
|
+
export interface EntryMetaBoxOptions extends Omit<MetaBoxBaseOptions, "fields"> {
|
|
732
|
+
/**
|
|
733
|
+
* @deprecated The entry editor no longer partitions meta boxes by
|
|
734
|
+
* location — every registered box renders as a collapsible section in
|
|
735
|
+
* the right rail regardless of this flag. Declared for backward
|
|
736
|
+
* compatibility with plugins that still set it; safe to remove from
|
|
737
|
+
* new code.
|
|
738
|
+
*/
|
|
739
|
+
readonly location?: "bottom" | "sidebar";
|
|
740
|
+
readonly entryTypes: readonly string[];
|
|
741
|
+
readonly fields: readonly EntryMetaBoxField[];
|
|
742
|
+
}
|
|
743
|
+
/** Meta box shown on the termTaxonomy term edit form. Scoped by `termTaxonomies`. */
|
|
744
|
+
export interface TermMetaBoxOptions extends MetaBoxBaseOptions {
|
|
745
|
+
readonly termTaxonomies: readonly string[];
|
|
746
|
+
}
|
|
747
|
+
/**
|
|
748
|
+
* Meta box shown on the user edit form. User meta is a flat keyspace
|
|
749
|
+
* (no scope analogue to entry types or termTaxonomies), so the base shape
|
|
750
|
+
* is everything an author needs.
|
|
751
|
+
*/
|
|
752
|
+
export type UserMetaBoxOptions = MetaBoxBaseOptions;
|
|
753
|
+
/**
|
|
754
|
+
* A self-contained group of fields on a settings page — storage unit
|
|
755
|
+
* AND visual unit. Each group gets its own Save button (independent
|
|
756
|
+
* storage, unlike entity meta which rides the entity's single Save).
|
|
757
|
+
* Surfaced via `registerSettingsPage.groups: string[]`.
|
|
758
|
+
*/
|
|
759
|
+
export type SettingsGroupOptions = MetaBoxBaseOptions;
|
|
760
|
+
/**
|
|
761
|
+
* A UI-level composition of groups rendered at `/settings/<page>` in the
|
|
762
|
+
* admin. Pages are not stored — they're pure registration metadata. A
|
|
763
|
+
* page lists the groups it wants to surface by name (each group can be
|
|
764
|
+
* referenced from multiple pages if useful).
|
|
765
|
+
*/
|
|
766
|
+
export interface SettingsPageOptions {
|
|
767
|
+
readonly label: Label;
|
|
768
|
+
readonly description?: Label;
|
|
769
|
+
readonly groups: readonly string[];
|
|
770
|
+
/**
|
|
771
|
+
* Admin menu ordering. Unspecified positions sort last (in
|
|
772
|
+
* registration order). Mirrors `EntryTypeOptions.priority` so
|
|
773
|
+
* sidebar composition stays predictable across plugins.
|
|
774
|
+
*/
|
|
775
|
+
readonly priority?: number;
|
|
776
|
+
}
|
|
777
|
+
export interface RegisteredEntryType extends EntryTypeOptions {
|
|
778
|
+
readonly name: string;
|
|
779
|
+
readonly registeredBy: string | null;
|
|
780
|
+
}
|
|
781
|
+
export interface RegisteredTermTaxonomy extends TermTaxonomyOptions {
|
|
782
|
+
readonly name: string;
|
|
783
|
+
readonly registeredBy: string | null;
|
|
784
|
+
}
|
|
785
|
+
export interface RegisteredEntryMetaBox extends EntryMetaBoxOptions {
|
|
786
|
+
readonly id: string;
|
|
787
|
+
readonly registeredBy: string | null;
|
|
788
|
+
}
|
|
789
|
+
export interface RegisteredTermMetaBox extends TermMetaBoxOptions {
|
|
790
|
+
readonly id: string;
|
|
791
|
+
readonly registeredBy: string | null;
|
|
792
|
+
}
|
|
793
|
+
export interface RegisteredUserMetaBox extends UserMetaBoxOptions {
|
|
794
|
+
readonly id: string;
|
|
795
|
+
readonly registeredBy: string | null;
|
|
796
|
+
}
|
|
797
|
+
export interface RegisteredSettingsGroup extends SettingsGroupOptions {
|
|
798
|
+
readonly name: string;
|
|
799
|
+
readonly registeredBy: string | null;
|
|
800
|
+
}
|
|
801
|
+
export interface RegisteredSettingsPage extends SettingsPageOptions {
|
|
802
|
+
readonly name: string;
|
|
803
|
+
readonly registeredBy: string | null;
|
|
804
|
+
}
|
|
805
|
+
export interface RegisteredCapability {
|
|
806
|
+
readonly name: string;
|
|
807
|
+
readonly minRole: UserRole;
|
|
808
|
+
/**
|
|
809
|
+
* Additional roles explicitly granted the capability, independent of
|
|
810
|
+
* hierarchy. Complements `minRole`: a role satisfies the capability
|
|
811
|
+
* if it meets `minRole` OR appears here. Useful for non-contiguous
|
|
812
|
+
* grants ("editors and authors but not admins in between" stays
|
|
813
|
+
* impossible; "admin by hierarchy + author explicitly" becomes
|
|
814
|
+
* expressible). Sorted + deduped at registration.
|
|
815
|
+
*/
|
|
816
|
+
readonly defaultGrants?: readonly UserRole[];
|
|
817
|
+
readonly registeredBy: string | null;
|
|
818
|
+
}
|
|
819
|
+
export interface RegisteredRewriteRule {
|
|
820
|
+
readonly pattern: string;
|
|
821
|
+
readonly intent: RouteIntent;
|
|
822
|
+
readonly priority: number;
|
|
823
|
+
readonly registeredBy: string | null;
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Reference to a React component contributed by a plugin. The string is
|
|
827
|
+
* the export name on the plugin's `adminEntry` module — the plumix vite
|
|
828
|
+
* pipeline namespace-imports each plugin's entry and emits the matching
|
|
829
|
+
* `window.plumix.registerPlugin{Page,FieldType}` calls into the
|
|
830
|
+
* synthesised admin chunk, so plugin authors only need `export const
|
|
831
|
+
* MyComponent = ...` and a single registration call to `ctx.register*`.
|
|
832
|
+
*
|
|
833
|
+
* No `package` field is needed: the plugin id (implicit from
|
|
834
|
+
* registration context) keys the namespace import the export resolves
|
|
835
|
+
* against. Drop-in for the previous `{ package, export }` shape; bumped
|
|
836
|
+
* pre-release so consumers can update in one pass.
|
|
837
|
+
*/
|
|
838
|
+
export type PluginComponentRef = string;
|
|
839
|
+
/**
|
|
840
|
+
* How an admin page slots into the sidebar. `group` is either a bare
|
|
841
|
+
* id (string) or an object that declares group metadata inline — first
|
|
842
|
+
* page using a given id sets the label/priority for that group; later
|
|
843
|
+
* pages can use the bare-string form to attach to it. Core group ids
|
|
844
|
+
* (`overview` / `content` / `term-taxonomies` / `management`) carry
|
|
845
|
+
* their own label/priority and ignore inline metadata.
|
|
846
|
+
*/
|
|
847
|
+
export type AdminNavGroupRef = string | {
|
|
848
|
+
readonly id: string;
|
|
849
|
+
readonly label?: Label;
|
|
850
|
+
readonly priority?: number;
|
|
851
|
+
};
|
|
852
|
+
export interface AdminPageOptions {
|
|
853
|
+
readonly path: string;
|
|
854
|
+
readonly title: Label;
|
|
855
|
+
readonly nav?: {
|
|
856
|
+
readonly group: AdminNavGroupRef;
|
|
857
|
+
readonly label: Label;
|
|
858
|
+
readonly icon?: PluginComponentRef;
|
|
859
|
+
readonly order?: number;
|
|
860
|
+
/** Synonyms the command palette matches in addition to `label`. */
|
|
861
|
+
readonly keywords?: readonly Label[];
|
|
862
|
+
};
|
|
863
|
+
readonly capability?: string;
|
|
864
|
+
readonly component: PluginComponentRef;
|
|
865
|
+
}
|
|
866
|
+
export interface RegisteredAdminPage extends AdminPageOptions {
|
|
867
|
+
readonly registeredBy: string | null;
|
|
868
|
+
}
|
|
869
|
+
export interface DashboardWidgetOptions {
|
|
870
|
+
/** Unique widget id, conventionally `<pluginId>:<name>`. */
|
|
871
|
+
readonly id: string;
|
|
872
|
+
readonly title: Label;
|
|
873
|
+
/** Hidden unless the viewer holds this capability (when set). */
|
|
874
|
+
readonly capability?: string;
|
|
875
|
+
/** Export name in the plugin's admin chunk, resolved at render. */
|
|
876
|
+
readonly component: PluginComponentRef;
|
|
877
|
+
/** Lower sorts first on the dashboard; unset sorts last. */
|
|
878
|
+
readonly priority?: number;
|
|
879
|
+
}
|
|
880
|
+
export interface RegisteredDashboardWidget extends DashboardWidgetOptions {
|
|
881
|
+
readonly registeredBy: string | null;
|
|
882
|
+
}
|
|
883
|
+
export interface DashboardWidgetManifestEntry {
|
|
884
|
+
readonly id: string;
|
|
885
|
+
readonly title: Label;
|
|
886
|
+
readonly capability?: string;
|
|
887
|
+
readonly component: PluginComponentRef;
|
|
888
|
+
readonly priority?: number;
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Built-in nav-icon names that core nav items reference. The admin maps
|
|
892
|
+
* each value to a lucide component at render time — keeps the wire
|
|
893
|
+
* payload free of package identifiers and makes the union exhaustive at
|
|
894
|
+
* the type level.
|
|
895
|
+
*/
|
|
896
|
+
export type CoreIconName = "dashboard" | "content" | "file-text" | "layout" | "image" | "calendar" | "tag" | "folder" | "users" | "settings" | "puzzle" | "mail" | "key";
|
|
897
|
+
/**
|
|
898
|
+
* Built-in nav groups core ships. Plugins target their items at these
|
|
899
|
+
* ids via `nav.group`, and can interleave their own groups by picking
|
|
900
|
+
* priorities between or around these defaults. Labels are
|
|
901
|
+
* `MessageDescriptor`s so the sidebar localizes at render time via
|
|
902
|
+
* the admin's `useLabel` hook.
|
|
903
|
+
*
|
|
904
|
+
* Convention: plugin-declared groups keep their label descriptor id
|
|
905
|
+
* under the same `core.adminNav.<groupId>` namespace (see
|
|
906
|
+
* `@plumix/plugin-menu` → `appearance`, `@plumix/plugin-media` →
|
|
907
|
+
* `library`, `@plumix/plugin-audit-log` → `tools`). The id space is
|
|
908
|
+
* the concept, not the owner — translators see one "Appearance"
|
|
909
|
+
* entry rather than one per plugin sharing the group.
|
|
910
|
+
*/
|
|
911
|
+
export declare const CORE_NAV_GROUPS: readonly {
|
|
912
|
+
readonly id: string;
|
|
913
|
+
readonly label: Label;
|
|
914
|
+
readonly priority: number;
|
|
915
|
+
}[];
|
|
916
|
+
/**
|
|
917
|
+
* Plugin-contributed form field renderer. The admin's form dispatcher
|
|
918
|
+
* falls through to a plain text input on unknown `inputType` values
|
|
919
|
+
* (with a dev-mode warning); registering a type here swaps in a
|
|
920
|
+
* plugin React component that renders the custom UI.
|
|
921
|
+
*
|
|
922
|
+
* The `type` string must match a field's `inputType` — registering
|
|
923
|
+
* `type: "media_picker"` means any field (entry meta, term meta,
|
|
924
|
+
* user meta, settings group) with `inputType: "media_picker"`
|
|
925
|
+
* renders through the plugin's component.
|
|
926
|
+
*/
|
|
927
|
+
export interface FieldTypeOptions {
|
|
928
|
+
readonly type: string;
|
|
929
|
+
readonly component: PluginComponentRef;
|
|
930
|
+
}
|
|
931
|
+
export interface RegisteredFieldType extends FieldTypeOptions {
|
|
932
|
+
readonly registeredBy: string | null;
|
|
933
|
+
}
|
|
934
|
+
export type PluginRouteMethod = "GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "*";
|
|
935
|
+
export type PluginRouteAuth = "public" | "authenticated" | {
|
|
936
|
+
readonly capability: string;
|
|
937
|
+
};
|
|
938
|
+
export interface RegisteredRawRoute {
|
|
939
|
+
readonly pluginId: string;
|
|
940
|
+
readonly method: PluginRouteMethod;
|
|
941
|
+
readonly path: string;
|
|
942
|
+
readonly auth: PluginRouteAuth;
|
|
943
|
+
readonly handler: (request: Request, ctx: AppContext) => Response | Promise<Response>;
|
|
944
|
+
}
|
|
945
|
+
export type RestResourceMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
946
|
+
/**
|
|
947
|
+
* A REST resource a plugin contributes into the shared `/_plumix/api/v1/`
|
|
948
|
+
* namespace. `path` is relative to that prefix (e.g. `/{type}/{id}/comments`)
|
|
949
|
+
* and uses `{param}` segments. `auth` reuses the declarative route model; core
|
|
950
|
+
* enforces it before the handler runs. `input`/`output` are valibot schemas —
|
|
951
|
+
* the `output` schema is the public allowlist and feeds the generated spec.
|
|
952
|
+
*/
|
|
953
|
+
export interface RestResourceOptions {
|
|
954
|
+
readonly method?: RestResourceMethod;
|
|
955
|
+
readonly path: string;
|
|
956
|
+
readonly auth: PluginRouteAuth;
|
|
957
|
+
readonly input?: any;
|
|
958
|
+
readonly output: any;
|
|
959
|
+
readonly handler: (args: {
|
|
960
|
+
input: any;
|
|
961
|
+
context: AppContext;
|
|
962
|
+
}) => any;
|
|
963
|
+
}
|
|
964
|
+
export interface RegisteredRestResource extends RestResourceOptions {
|
|
965
|
+
readonly pluginId: string;
|
|
966
|
+
readonly method: RestResourceMethod;
|
|
967
|
+
}
|
|
968
|
+
/**
|
|
969
|
+
* Tiny `{ key, label, href }` blob a plugin attaches so the standard
|
|
970
|
+
* login screen can render a button for the sign-in flow it ships. The
|
|
971
|
+
* actual flow (start route, callback route, identity resolution) is
|
|
972
|
+
* registered separately via `registerRoute` + `resolveExternalIdentity`;
|
|
973
|
+
* this is purely the UI affordance that points the user at it.
|
|
974
|
+
*/
|
|
975
|
+
export interface LoginLinkOptions {
|
|
976
|
+
/**
|
|
977
|
+
* Stable key, scoped per-plugin. The wire id surfaced to the admin
|
|
978
|
+
* (and used as its React key) is `${pluginId}:${key}`, so the bare
|
|
979
|
+
* `key` you pass only needs to be unique within your own plugin —
|
|
980
|
+
* two different plugins can both register a `key: "default"`.
|
|
981
|
+
*
|
|
982
|
+
* Lowercase alphanum + dash/underscore, must start with a letter,
|
|
983
|
+
* 1–32 chars total. Same shape as `OAUTH_PROVIDER_KEY_PATTERN`.
|
|
984
|
+
*/
|
|
985
|
+
readonly key: string;
|
|
986
|
+
/**
|
|
987
|
+
* Button text shown on the login screen ("Sign in with Microsoft",
|
|
988
|
+
* "Continue with Okta"). No CR/LF — see `siteName` for rationale.
|
|
989
|
+
*/
|
|
990
|
+
readonly label: string;
|
|
991
|
+
/**
|
|
992
|
+
* URL the button points at — typically the plugin's own start route,
|
|
993
|
+
* e.g. `/_plumix/saml-microsoft/start`. Must be a relative path
|
|
994
|
+
* starting with `/` or an `https://` absolute URL; arbitrary schemes
|
|
995
|
+
* are rejected so a malicious or misconfigured plugin can't surface
|
|
996
|
+
* a `javascript:` link.
|
|
997
|
+
*/
|
|
998
|
+
readonly href: string;
|
|
999
|
+
}
|
|
1000
|
+
export interface RegisteredLoginLink extends LoginLinkOptions {
|
|
1001
|
+
readonly registeredBy: string;
|
|
1002
|
+
}
|
|
1003
|
+
/**
|
|
1004
|
+
* Plugin-registered work that fires on the runtime's scheduled trigger
|
|
1005
|
+
* (Cloudflare cron, future Node/Bun timers). The handler receives a
|
|
1006
|
+
* synthetic-request `AppContext` — same `db` / `hooks` / `logger` /
|
|
1007
|
+
* `defer` as a normal request, but `user` is `null` and `request` is
|
|
1008
|
+
* an internal marker.
|
|
1009
|
+
*
|
|
1010
|
+
* A task with a `cron` runs only on the invocation whose fired schedule
|
|
1011
|
+
* (`event.cron`) byte-matches it; a task without one runs on every
|
|
1012
|
+
* invocation. The operator must declare a matching `wrangler` `triggers.crons`
|
|
1013
|
+
* entry for a `cron`-tagged task to ever fire — the strings must be identical.
|
|
1014
|
+
*/
|
|
1015
|
+
export interface ScheduledTask {
|
|
1016
|
+
readonly id: string;
|
|
1017
|
+
/** Cron expression; must byte-match a `wrangler` `triggers.crons` entry. */
|
|
1018
|
+
readonly cron?: string;
|
|
1019
|
+
readonly handler: (ctx: AppContext) => void | Promise<void>;
|
|
1020
|
+
}
|
|
1021
|
+
export interface RegisteredScheduledTask extends ScheduledTask {
|
|
1022
|
+
readonly registeredBy: string;
|
|
1023
|
+
}
|
|
1024
|
+
export type PluginRpcRouter = Record<string, any>;
|
|
1025
|
+
export interface RegisteredMcpTool {
|
|
1026
|
+
readonly tool: McpTool;
|
|
1027
|
+
readonly registeredBy: string;
|
|
1028
|
+
}
|
|
1029
|
+
export interface RegisteredBlock {
|
|
1030
|
+
readonly spec: BlockSpec;
|
|
1031
|
+
readonly registeredBy: string;
|
|
1032
|
+
}
|
|
1033
|
+
export interface RegisteredMark {
|
|
1034
|
+
readonly spec: MarkSpec;
|
|
1035
|
+
readonly registeredBy: string;
|
|
1036
|
+
}
|
|
1037
|
+
export interface RegisteredPattern {
|
|
1038
|
+
readonly spec: BlockPattern;
|
|
1039
|
+
readonly registeredBy: string;
|
|
1040
|
+
}
|
|
1041
|
+
export interface RegisteredShortcode {
|
|
1042
|
+
readonly spec: ShortcodeSpec;
|
|
1043
|
+
readonly registeredBy: string;
|
|
1044
|
+
}
|
|
1045
|
+
export interface PluginRegistry {
|
|
1046
|
+
readonly entryTypes: ReadonlyMap<string, RegisteredEntryType>;
|
|
1047
|
+
readonly termTaxonomies: ReadonlyMap<string, RegisteredTermTaxonomy>;
|
|
1048
|
+
readonly entryMetaBoxes: ReadonlyMap<string, RegisteredEntryMetaBox>;
|
|
1049
|
+
readonly termMetaBoxes: ReadonlyMap<string, RegisteredTermMetaBox>;
|
|
1050
|
+
readonly userMetaBoxes: ReadonlyMap<string, RegisteredUserMetaBox>;
|
|
1051
|
+
readonly capabilities: ReadonlyMap<string, RegisteredCapability>;
|
|
1052
|
+
readonly settingsGroups: ReadonlyMap<string, RegisteredSettingsGroup>;
|
|
1053
|
+
readonly settingsPages: ReadonlyMap<string, RegisteredSettingsPage>;
|
|
1054
|
+
readonly rewriteRules: readonly RegisteredRewriteRule[];
|
|
1055
|
+
readonly rpcRouters: ReadonlyMap<string, PluginRpcRouter>;
|
|
1056
|
+
readonly mcpTools: ReadonlyMap<string, RegisteredMcpTool>;
|
|
1057
|
+
readonly rawRoutes: readonly RegisteredRawRoute[];
|
|
1058
|
+
readonly restResources: readonly RegisteredRestResource[];
|
|
1059
|
+
readonly loginLinks: readonly RegisteredLoginLink[];
|
|
1060
|
+
readonly adminPages: ReadonlyMap<string, RegisteredAdminPage>;
|
|
1061
|
+
readonly dashboardWidgets: ReadonlyMap<string, RegisteredDashboardWidget>;
|
|
1062
|
+
readonly fieldTypes: ReadonlyMap<string, RegisteredFieldType>;
|
|
1063
|
+
readonly blockSpecs: ReadonlyMap<string, RegisteredBlock>;
|
|
1064
|
+
readonly markSpecs: ReadonlyMap<string, RegisteredMark>;
|
|
1065
|
+
readonly patternSpecs: ReadonlyMap<string, RegisteredPattern>;
|
|
1066
|
+
readonly shortcodeSpecs: ReadonlyMap<string, RegisteredShortcode>;
|
|
1067
|
+
readonly lookupAdapters: ReadonlyMap<string, RegisteredLookupAdapter>;
|
|
1068
|
+
readonly scheduledTasks: readonly RegisteredScheduledTask[];
|
|
1069
|
+
readonly templateDeps: ReadonlyMap<string, RegisteredTemplateDep>;
|
|
1070
|
+
}
|
|
1071
|
+
export interface MutablePluginRegistry extends PluginRegistry {
|
|
1072
|
+
readonly entryTypes: Map<string, RegisteredEntryType>;
|
|
1073
|
+
readonly termTaxonomies: Map<string, RegisteredTermTaxonomy>;
|
|
1074
|
+
readonly entryMetaBoxes: Map<string, RegisteredEntryMetaBox>;
|
|
1075
|
+
readonly termMetaBoxes: Map<string, RegisteredTermMetaBox>;
|
|
1076
|
+
readonly userMetaBoxes: Map<string, RegisteredUserMetaBox>;
|
|
1077
|
+
readonly capabilities: Map<string, RegisteredCapability>;
|
|
1078
|
+
readonly settingsGroups: Map<string, RegisteredSettingsGroup>;
|
|
1079
|
+
readonly settingsPages: Map<string, RegisteredSettingsPage>;
|
|
1080
|
+
readonly rewriteRules: RegisteredRewriteRule[];
|
|
1081
|
+
readonly rpcRouters: Map<string, PluginRpcRouter>;
|
|
1082
|
+
readonly mcpTools: Map<string, RegisteredMcpTool>;
|
|
1083
|
+
readonly rawRoutes: RegisteredRawRoute[];
|
|
1084
|
+
readonly restResources: RegisteredRestResource[];
|
|
1085
|
+
readonly loginLinks: RegisteredLoginLink[];
|
|
1086
|
+
readonly adminPages: Map<string, RegisteredAdminPage>;
|
|
1087
|
+
readonly dashboardWidgets: Map<string, RegisteredDashboardWidget>;
|
|
1088
|
+
readonly fieldTypes: Map<string, RegisteredFieldType>;
|
|
1089
|
+
readonly blockSpecs: Map<string, RegisteredBlock>;
|
|
1090
|
+
readonly markSpecs: Map<string, RegisteredMark>;
|
|
1091
|
+
readonly patternSpecs: Map<string, RegisteredPattern>;
|
|
1092
|
+
readonly shortcodeSpecs: Map<string, RegisteredShortcode>;
|
|
1093
|
+
readonly lookupAdapters: Map<string, RegisteredLookupAdapter>;
|
|
1094
|
+
readonly scheduledTasks: RegisteredScheduledTask[];
|
|
1095
|
+
readonly templateDeps: Map<string, RegisteredTemplateDep>;
|
|
1096
|
+
}
|
|
1097
|
+
export declare function createPluginRegistry(): MutablePluginRegistry;
|
|
1098
|
+
/**
|
|
1099
|
+
* Look up the `MetaBoxField` declaration for a meta key within the
|
|
1100
|
+
* entry meta surface, scoped to a given entry type. Returns the first
|
|
1101
|
+
* matching field across all registered entry meta boxes — key
|
|
1102
|
+
* uniqueness per (entryType, key) is enforced at registration time,
|
|
1103
|
+
* so "first match" is the only match.
|
|
1104
|
+
*/
|
|
1105
|
+
export declare function findEntryMetaField(registry: PluginRegistry, entryType: string, key: string): MetaBoxField | undefined;
|
|
1106
|
+
/**
|
|
1107
|
+
* Like `findEntryMetaField`, but for term meta. Scoped by termTaxonomy.
|
|
1108
|
+
*/
|
|
1109
|
+
export declare function findTermMetaField(registry: PluginRegistry, termTaxonomy: string, key: string): MetaBoxField | undefined;
|
|
1110
|
+
/**
|
|
1111
|
+
* Like `findEntryMetaField`, but for user meta. Users have a flat
|
|
1112
|
+
* keyspace (no entry-type / termTaxonomy analogue), so no scope argument —
|
|
1113
|
+
* key uniqueness across all user meta boxes is enforced at manifest-
|
|
1114
|
+
* build time.
|
|
1115
|
+
*/
|
|
1116
|
+
export declare function findUserMetaField(registry: PluginRegistry, key: string): MetaBoxField | undefined;
|
|
1117
|
+
/**
|
|
1118
|
+
* Shape serialised into the admin's `<script id="plumix-manifest">` payload.
|
|
1119
|
+
* Intentionally a strict subset of `RegisteredEntryType`: drops
|
|
1120
|
+
* `registeredBy` (plugin attribution is server-only debug metadata) and
|
|
1121
|
+
* `rewrite` (URL mapping is evaluated server-side). Add fields only when the
|
|
1122
|
+
* admin UI needs them.
|
|
1123
|
+
*
|
|
1124
|
+
* `adminSlug` is derived at build time (see `buildManifest`) and is what the
|
|
1125
|
+
* admin router uses for `/entries/$slug`. Keeping it in the manifest rather
|
|
1126
|
+
* than re-deriving client-side lets the collision check run once on the
|
|
1127
|
+
* server and ships the final routing key as authoritative.
|
|
1128
|
+
*/
|
|
1129
|
+
export interface EntryTypeManifestEntry {
|
|
1130
|
+
readonly name: string;
|
|
1131
|
+
readonly adminSlug: string;
|
|
1132
|
+
readonly label: Label;
|
|
1133
|
+
/** Plugin-author-declared per-type labels. Admin consumers resolve
|
|
1134
|
+
* the cascade via `entryTypeLabel(entry, key)` which falls back to
|
|
1135
|
+
* `GENERIC_ENTRY_TYPE_LABELS[key]` when a key is unset — keeping
|
|
1136
|
+
* the wire shape narrow (only author-declared keys serialize). */
|
|
1137
|
+
readonly labels?: EntryTypeLabels;
|
|
1138
|
+
readonly description?: string;
|
|
1139
|
+
readonly supports?: readonly string[];
|
|
1140
|
+
readonly termTaxonomies?: readonly string[];
|
|
1141
|
+
readonly isHierarchical?: boolean;
|
|
1142
|
+
/**
|
|
1143
|
+
* Resolved visibility. `buildManifest` always emits these — consumers
|
|
1144
|
+
* should read them via `manifestEntryVisibility(entry)` which applies
|
|
1145
|
+
* the same cascade rules as `resolveEntryTypeVisibility` when they
|
|
1146
|
+
* happen to be missing (lets admin test fixtures stay terse without
|
|
1147
|
+
* the client ever branching on undefined).
|
|
1148
|
+
*/
|
|
1149
|
+
readonly isPublic?: boolean;
|
|
1150
|
+
readonly showUI?: boolean;
|
|
1151
|
+
readonly showInSidebar?: boolean;
|
|
1152
|
+
readonly hasArchive?: boolean | string;
|
|
1153
|
+
readonly capabilityType?: string;
|
|
1154
|
+
readonly priority?: number;
|
|
1155
|
+
readonly menuIcon?: string;
|
|
1156
|
+
/** Synonyms the command palette matches in addition to the sidebar label. */
|
|
1157
|
+
readonly keywords?: readonly Label[];
|
|
1158
|
+
/**
|
|
1159
|
+
* Per-type versioning policy. Populated when the entry type opts
|
|
1160
|
+
* into `supports: ['revisions']`. `maxRevisions` caps how many
|
|
1161
|
+
* revision rows are retained per live entry — oldest pruned past
|
|
1162
|
+
* the cap on each successful update. `autosaveIntervalSeconds`
|
|
1163
|
+
* shapes the editor's autosave cadence in a later slice; defaults
|
|
1164
|
+
* to 60 here so themes can read it without nil-checking.
|
|
1165
|
+
*/
|
|
1166
|
+
readonly versioning?: {
|
|
1167
|
+
readonly maxRevisions: number;
|
|
1168
|
+
readonly autosaveIntervalSeconds: number;
|
|
1169
|
+
};
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Client-safe field descriptor inside a meta box. Mirrors `MetaBoxField`
|
|
1173
|
+
* minus the server-only `sanitize` callback and `default` value (the
|
|
1174
|
+
* admin receives the default server-side and injects it into the form).
|
|
1175
|
+
*/
|
|
1176
|
+
export interface MetaBoxFieldManifestEntry {
|
|
1177
|
+
readonly key: string;
|
|
1178
|
+
readonly label: Label;
|
|
1179
|
+
readonly type: MetaScalarType;
|
|
1180
|
+
readonly inputType: string;
|
|
1181
|
+
readonly description?: Label;
|
|
1182
|
+
readonly required?: boolean;
|
|
1183
|
+
readonly placeholder?: Label;
|
|
1184
|
+
readonly maxLength?: number;
|
|
1185
|
+
/**
|
|
1186
|
+
* Lower bound. `number` carries it as a number; `date` / `datetime`
|
|
1187
|
+
* / `time` carry it as the matching ISO string. Renderers branch on
|
|
1188
|
+
* `inputType` to pick the right interpretation.
|
|
1189
|
+
*/
|
|
1190
|
+
readonly min?: number | string;
|
|
1191
|
+
/** Upper bound — see `min`. */
|
|
1192
|
+
readonly max?: number | string;
|
|
1193
|
+
readonly step?: number;
|
|
1194
|
+
readonly options?: readonly MetaBoxFieldOption[];
|
|
1195
|
+
readonly default?: unknown;
|
|
1196
|
+
readonly span?: MetaBoxFieldSpan;
|
|
1197
|
+
/**
|
|
1198
|
+
* Carried for reference field variants (`user`, `entry`, `term`,
|
|
1199
|
+
* `media`, plugin-registered kinds). The admin's generic picker
|
|
1200
|
+
* dispatches on `referenceTarget.kind` to call the matching
|
|
1201
|
+
* lookup RPC; `scope` rides along untouched.
|
|
1202
|
+
*/
|
|
1203
|
+
readonly referenceTarget?: ReferenceTarget;
|
|
1204
|
+
/**
|
|
1205
|
+
* Richtext field allowlists — wire projection of
|
|
1206
|
+
* `RichtextMetaBoxField`'s `marks` / `nodes` / `blocks`. See that
|
|
1207
|
+
* type for semantics.
|
|
1208
|
+
*/
|
|
1209
|
+
readonly marks?: readonly string[];
|
|
1210
|
+
readonly nodes?: readonly string[];
|
|
1211
|
+
readonly blocks?: readonly string[];
|
|
1212
|
+
/**
|
|
1213
|
+
* Repeater subfield manifest, keyed positionally — same shape as a
|
|
1214
|
+
* top-level field minus `span` (rows are full-width). Sanitize
|
|
1215
|
+
* callbacks are stripped from the wire shape; the admin recurses
|
|
1216
|
+
* through this list when rendering each row.
|
|
1217
|
+
*/
|
|
1218
|
+
readonly subFields?: readonly EntryMetaBoxFieldManifestEntry[];
|
|
1219
|
+
/**
|
|
1220
|
+
* Capability gate for the individual field. See `MetaBoxFieldBase.capability`.
|
|
1221
|
+
*/
|
|
1222
|
+
readonly capability?: string;
|
|
1223
|
+
}
|
|
1224
|
+
/**
|
|
1225
|
+
* Shared base for every "card of fields" serialised entry. Each
|
|
1226
|
+
* concrete projection extends with its identifier + any surface-
|
|
1227
|
+
* specific layout + scope fields.
|
|
1228
|
+
*/
|
|
1229
|
+
export interface MetaBoxBaseManifestEntry {
|
|
1230
|
+
readonly label: Label;
|
|
1231
|
+
readonly description?: Label;
|
|
1232
|
+
readonly priority?: number;
|
|
1233
|
+
readonly capability?: string;
|
|
1234
|
+
readonly fields: readonly MetaBoxFieldManifestEntry[];
|
|
1235
|
+
}
|
|
1236
|
+
/**
|
|
1237
|
+
* Wire-side mirror of `EntryMetaBoxField` — drops `span` from the
|
|
1238
|
+
* shared `MetaBoxFieldManifestEntry`. See `EntryMetaBoxField` for why.
|
|
1239
|
+
*/
|
|
1240
|
+
export type EntryMetaBoxFieldManifestEntry = Omit<MetaBoxFieldManifestEntry, "span">;
|
|
1241
|
+
export interface EntryMetaBoxManifestEntry extends Omit<MetaBoxBaseManifestEntry, "fields"> {
|
|
1242
|
+
readonly id: string;
|
|
1243
|
+
/**
|
|
1244
|
+
* @deprecated Ignored by the admin editor — all entry meta boxes
|
|
1245
|
+
* render in the document rail as collapsible sections. Kept on the
|
|
1246
|
+
* wire so older plugins that set it don't fail manifest validation.
|
|
1247
|
+
*/
|
|
1248
|
+
readonly location?: "bottom" | "sidebar";
|
|
1249
|
+
readonly entryTypes: readonly string[];
|
|
1250
|
+
readonly fields: readonly EntryMetaBoxFieldManifestEntry[];
|
|
1251
|
+
}
|
|
1252
|
+
export interface TermMetaBoxManifestEntry extends MetaBoxBaseManifestEntry {
|
|
1253
|
+
readonly id: string;
|
|
1254
|
+
readonly termTaxonomies: readonly string[];
|
|
1255
|
+
}
|
|
1256
|
+
export interface UserMetaBoxManifestEntry extends MetaBoxBaseManifestEntry {
|
|
1257
|
+
readonly id: string;
|
|
1258
|
+
}
|
|
1259
|
+
/**
|
|
1260
|
+
* Shape serialised for termTaxonomies in the manifest. Strict allowlist
|
|
1261
|
+
* projection of `RegisteredTermTaxonomy` — drops `registeredBy` (server-only
|
|
1262
|
+
* debug metadata) and server-only operational flags (`isInQuickEdit`,
|
|
1263
|
+
* `hasAdminColumn`, `rewrite`) that don't affect the admin UI today.
|
|
1264
|
+
* `entryTypes` is kept so future admin surfaces (term-picker on post
|
|
1265
|
+
* editor) can filter by post type without a second round-trip.
|
|
1266
|
+
*/
|
|
1267
|
+
export interface TermTaxonomyManifestEntry {
|
|
1268
|
+
readonly name: string;
|
|
1269
|
+
readonly label: Label;
|
|
1270
|
+
/** Plugin-author-declared per-type labels — see
|
|
1271
|
+
* `EntryTypeManifestEntry.labels` for the cascade contract. */
|
|
1272
|
+
readonly labels?: TermTaxonomyLabels;
|
|
1273
|
+
readonly description?: string;
|
|
1274
|
+
readonly isHierarchical?: boolean;
|
|
1275
|
+
readonly entryTypes?: readonly string[];
|
|
1276
|
+
/** Resolved visibility — see `EntryTypeManifestEntry`. */
|
|
1277
|
+
readonly isPublic?: boolean;
|
|
1278
|
+
readonly showUI?: boolean;
|
|
1279
|
+
readonly showInSidebar?: boolean;
|
|
1280
|
+
readonly menuIcon?: string;
|
|
1281
|
+
/** Synonyms the command palette matches in addition to the sidebar label. */
|
|
1282
|
+
readonly keywords?: readonly Label[];
|
|
1283
|
+
}
|
|
1284
|
+
/**
|
|
1285
|
+
* Shape serialised for settings groups in the manifest. Same shared
|
|
1286
|
+
* shape as every other meta surface; the storage key `name` replaces
|
|
1287
|
+
* the meta-box `id`. Fields use the same `MetaBoxFieldManifestEntry`
|
|
1288
|
+
* type — one field contract for plugin authors.
|
|
1289
|
+
*/
|
|
1290
|
+
export interface SettingsGroupManifestEntry extends MetaBoxBaseManifestEntry {
|
|
1291
|
+
readonly name: string;
|
|
1292
|
+
}
|
|
1293
|
+
/**
|
|
1294
|
+
* Shape serialised for settings pages in the manifest. Pages are pure
|
|
1295
|
+
* admin-UI composition: `groups` names registered groups in render
|
|
1296
|
+
* order, one shadcn `<Card>` per group in the admin route.
|
|
1297
|
+
*/
|
|
1298
|
+
export interface SettingsPageManifestEntry {
|
|
1299
|
+
readonly name: string;
|
|
1300
|
+
readonly label: Label;
|
|
1301
|
+
readonly description?: Label;
|
|
1302
|
+
readonly groups: readonly string[];
|
|
1303
|
+
readonly priority?: number;
|
|
1304
|
+
}
|
|
1305
|
+
/**
|
|
1306
|
+
* One row in the assembled admin sidebar tree. Sources contributing
|
|
1307
|
+
* items: core (Dashboard, Users, Settings), entry types (auto-projected
|
|
1308
|
+
* to the `content` group), term taxonomies (auto-projected to the
|
|
1309
|
+
* `term-taxonomies` group), and plugin-registered admin pages with
|
|
1310
|
+
* `nav` set.
|
|
1311
|
+
*
|
|
1312
|
+
* Exactly one of `icon` (plugin-supplied React component ref) or
|
|
1313
|
+
* `coreIcon` (built-in lucide name) is set per item; admin picks a
|
|
1314
|
+
* generic fallback when neither is provided.
|
|
1315
|
+
*
|
|
1316
|
+
* `component` is set only for plugin-rendered routes — the admin's
|
|
1317
|
+
* `/p/$` catch-all looks up this ref to render the page. Items that
|
|
1318
|
+
* point at core admin routes (`/`, `/users`, `/settings`,
|
|
1319
|
+
* `/entries/<slug>`, etc.) leave it undefined.
|
|
1320
|
+
*/
|
|
1321
|
+
export interface AdminNavItem {
|
|
1322
|
+
readonly to: string;
|
|
1323
|
+
readonly label: Label;
|
|
1324
|
+
readonly order?: number;
|
|
1325
|
+
readonly capability?: string;
|
|
1326
|
+
readonly icon?: PluginComponentRef;
|
|
1327
|
+
readonly coreIcon?: CoreIconName;
|
|
1328
|
+
readonly component?: PluginComponentRef;
|
|
1329
|
+
readonly exact?: boolean;
|
|
1330
|
+
/** Synonyms the command palette matches in addition to `label`. */
|
|
1331
|
+
readonly keywords?: readonly Label[];
|
|
1332
|
+
}
|
|
1333
|
+
export interface AdminNavGroup {
|
|
1334
|
+
readonly id: string;
|
|
1335
|
+
readonly label: Label;
|
|
1336
|
+
readonly priority?: number;
|
|
1337
|
+
readonly icon?: PluginComponentRef;
|
|
1338
|
+
readonly coreIcon?: CoreIconName;
|
|
1339
|
+
readonly items: readonly AdminNavItem[];
|
|
1340
|
+
}
|
|
1341
|
+
export interface FieldTypeManifestEntry {
|
|
1342
|
+
readonly type: string;
|
|
1343
|
+
readonly component: PluginComponentRef;
|
|
1344
|
+
}
|
|
1345
|
+
export interface BlockManifestEntry {
|
|
1346
|
+
readonly name: string;
|
|
1347
|
+
readonly title: Label;
|
|
1348
|
+
readonly category?: string;
|
|
1349
|
+
readonly icon?: string;
|
|
1350
|
+
readonly description?: Label;
|
|
1351
|
+
readonly keywords?: readonly Label[];
|
|
1352
|
+
readonly inserter?: boolean;
|
|
1353
|
+
readonly variations?: readonly BlockVariation[];
|
|
1354
|
+
}
|
|
1355
|
+
export interface MarkManifestEntry {
|
|
1356
|
+
readonly name: string;
|
|
1357
|
+
readonly title: string;
|
|
1358
|
+
readonly description?: string;
|
|
1359
|
+
readonly keyboardShortcut?: string;
|
|
1360
|
+
readonly bubbleMenuLabel?: string;
|
|
1361
|
+
readonly bubbleMenuIcon?: string;
|
|
1362
|
+
/** Export name on the plugin's `adminEntry` module — see `MarkSpec.adminSchema`. */
|
|
1363
|
+
readonly adminSchema?: string;
|
|
1364
|
+
}
|
|
1365
|
+
export interface PatternManifestEntry {
|
|
1366
|
+
readonly name: string;
|
|
1367
|
+
readonly title: Label;
|
|
1368
|
+
readonly category?: string;
|
|
1369
|
+
readonly keywords?: readonly Label[];
|
|
1370
|
+
readonly insert?: PatternInsertMode;
|
|
1371
|
+
readonly preview?: PatternPreview;
|
|
1372
|
+
readonly target?: PatternTarget;
|
|
1373
|
+
readonly entryTypes?: readonly string[];
|
|
1374
|
+
readonly priority?: number;
|
|
1375
|
+
readonly content: readonly BlockNode[];
|
|
1376
|
+
}
|
|
1377
|
+
/**
|
|
1378
|
+
* Wire-shipped manifest payload. Every field is optional on the type
|
|
1379
|
+
* so test fixtures can declare just the slice they exercise; the
|
|
1380
|
+
* server's `buildManifest` always populates all of them and consumers
|
|
1381
|
+
* coerce missing fields to `[]` at the read site.
|
|
1382
|
+
*/
|
|
1383
|
+
export interface PlumixManifest {
|
|
1384
|
+
readonly entryTypes?: readonly EntryTypeManifestEntry[];
|
|
1385
|
+
readonly termTaxonomies?: readonly TermTaxonomyManifestEntry[];
|
|
1386
|
+
readonly entryMetaBoxes?: readonly EntryMetaBoxManifestEntry[];
|
|
1387
|
+
readonly termMetaBoxes?: readonly TermMetaBoxManifestEntry[];
|
|
1388
|
+
readonly userMetaBoxes?: readonly UserMetaBoxManifestEntry[];
|
|
1389
|
+
readonly settingsGroups?: readonly SettingsGroupManifestEntry[];
|
|
1390
|
+
readonly settingsPages?: readonly SettingsPageManifestEntry[];
|
|
1391
|
+
readonly adminNav?: readonly AdminNavGroup[];
|
|
1392
|
+
readonly dashboardWidgets?: readonly DashboardWidgetManifestEntry[];
|
|
1393
|
+
readonly fieldTypes?: readonly FieldTypeManifestEntry[];
|
|
1394
|
+
readonly blocks?: readonly BlockManifestEntry[];
|
|
1395
|
+
readonly marks?: readonly MarkManifestEntry[];
|
|
1396
|
+
readonly patterns?: readonly PatternManifestEntry[];
|
|
1397
|
+
/**
|
|
1398
|
+
* Theme tokens from `defineTheme({ tokens })`. Routed through the
|
|
1399
|
+
* manifest channel because the precompiled admin shell can't import
|
|
1400
|
+
* `plumix.config.ts` at build time.
|
|
1401
|
+
*/
|
|
1402
|
+
readonly tokens?: ThemeTokens;
|
|
1403
|
+
/**
|
|
1404
|
+
* Theme responsive breakpoints from `defineTheme({ breakpoints })`. Same
|
|
1405
|
+
* manifest-channel reason as `tokens`: the precompiled admin shell can't
|
|
1406
|
+
* import the user's config, but the editor needs them for device widths.
|
|
1407
|
+
*/
|
|
1408
|
+
readonly breakpoints?: ThemeBreakpoints;
|
|
1409
|
+
/**
|
|
1410
|
+
* Site i18n config — populates the locale-switcher dropdown and gives
|
|
1411
|
+
* admin components access to the active default. Same channel reason as
|
|
1412
|
+
* `tokens`: the precompiled admin shell can't import the user's config.
|
|
1413
|
+
*/
|
|
1414
|
+
readonly i18n?: I18nManifest;
|
|
1415
|
+
/**
|
|
1416
|
+
* Per-plugin catalog URL maps for the i18n runtime registry (#697).
|
|
1417
|
+
* Admin fetches `pluginI18n[id].catalogs[locale]` at boot, merges the
|
|
1418
|
+
* loaded `messages` into the active Lingui instance. The source
|
|
1419
|
+
* locale never has an entry (Lingui returns `descriptor.message`
|
|
1420
|
+
* when active === source). Locales are intersected with the site's
|
|
1421
|
+
* enabled list before emission. Plugins without an `i18n` slot
|
|
1422
|
+
* don't appear here.
|
|
1423
|
+
*/
|
|
1424
|
+
readonly pluginI18n?: PluginI18nManifest;
|
|
1425
|
+
}
|
|
1426
|
+
/** Per-plugin catalog URL maps. Flat record keyed by plugin id so
|
|
1427
|
+
* `manifest.pluginI18n[id]` is direct lookup; admin reads this
|
|
1428
|
+
* shape verbatim. */
|
|
1429
|
+
export type PluginI18nManifest = Readonly<Record<string, {
|
|
1430
|
+
readonly catalogs: Readonly<Record<string, string>>;
|
|
1431
|
+
}>>;
|
|
1432
|
+
/** URL the admin runtime fetches to load a plugin's compiled catalog
|
|
1433
|
+
* for a given locale. Same-origin under `/_plumix/admin/...` so the
|
|
1434
|
+
* default CSP `script-src 'self'` covers the dynamic import. Widening
|
|
1435
|
+
* to absolute URLs (CDN-hosted catalogs) would need a CSP review.
|
|
1436
|
+
*
|
|
1437
|
+
* Paired with `pluginCatalogStagedPath` — the plumix Vite plugin stages
|
|
1438
|
+
* each plugin's `.mjs` at that filesystem path so the URL resolves. */
|
|
1439
|
+
export declare function pluginCatalogUrl(pluginId: string, locale: string): string;
|
|
1440
|
+
/** Filesystem path (relative to the admin asset root) where the plumix
|
|
1441
|
+
* Vite plugin must stage `<plugin.i18n.catalogPath>/<locale>.mjs`.
|
|
1442
|
+
* Mirrors `pluginCatalogUrl` so a single edit retargets both ends of
|
|
1443
|
+
* the runtime fetch. */
|
|
1444
|
+
export declare function pluginCatalogStagedPath(pluginId: string, locale: string): string;
|
|
1445
|
+
export interface I18nManifest {
|
|
1446
|
+
readonly defaultLocale: string;
|
|
1447
|
+
readonly locales: readonly ResolvedLocale[];
|
|
1448
|
+
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Strict manifest shape — every slice is populated. `buildManifest`
|
|
1451
|
+
* returns this; tests reading from it don't need `?.` everywhere. The
|
|
1452
|
+
* wider `PlumixManifest` (all-optional) is what flows over the wire
|
|
1453
|
+
* and what test fixtures construct.
|
|
1454
|
+
*/
|
|
1455
|
+
export type BuiltManifest = {
|
|
1456
|
+
readonly [K in keyof PlumixManifest]-?: NonNullable<PlumixManifest[K]>;
|
|
1457
|
+
};
|
|
1458
|
+
/** Script tag id that carries the JSON-encoded manifest in the admin HTML. */
|
|
1459
|
+
export declare const MANIFEST_SCRIPT_ID = "plumix-manifest";
|
|
1460
|
+
export declare function emptyManifest(): PlumixManifest;
|
|
1461
|
+
/**
|
|
1462
|
+
* Project a registry snapshot into its manifest form — the subset that ships
|
|
1463
|
+
* to the admin bundle. Every surface with a `priority?: number` field —
|
|
1464
|
+
* entry types, entry/term/user meta boxes, settings pages, settings groups —
|
|
1465
|
+
* is sorted by `priority` ascending; ties break by `name` / `id`
|
|
1466
|
+
* alphabetical so the shipped order is deterministic regardless of
|
|
1467
|
+
* plugin install order.
|
|
1468
|
+
*
|
|
1469
|
+
* Throws `DuplicateAdminSlugError` if two post types resolve to the same
|
|
1470
|
+
* admin slug — the admin router can't disambiguate `/entries/$slug` in that
|
|
1471
|
+
* case, and catching it at build time is cheaper than a 404 at runtime.
|
|
1472
|
+
*/
|
|
1473
|
+
export declare function buildManifest(registry: PluginRegistry, options?: {
|
|
1474
|
+
readonly tokens?: ThemeTokens;
|
|
1475
|
+
readonly breakpoints?: ThemeBreakpoints;
|
|
1476
|
+
readonly i18n?: ResolvedI18n;
|
|
1477
|
+
readonly plugins?: readonly {
|
|
1478
|
+
readonly id: string;
|
|
1479
|
+
readonly i18n?: PluginI18nSlot;
|
|
1480
|
+
}[];
|
|
1481
|
+
/** Plugin ids whose catalogs admin already bakes into its bundle
|
|
1482
|
+
* via `import.meta.glob("../../../plugins/*"/locales/*.mjs")` —
|
|
1483
|
+
* emitting URLs for them double-loads at runtime. The plumix
|
|
1484
|
+
* vite plugin computes this set by inspecting which plugins
|
|
1485
|
+
* resolve through the `@plumix/plugin-<id>` convention against
|
|
1486
|
+
* the consumer's `node_modules`. Empty / omitted means every
|
|
1487
|
+
* i18n-slot plugin gets a URL. Only consulted alongside
|
|
1488
|
+
* `plugins`; passing this set without `plugins` is a no-op. */
|
|
1489
|
+
readonly adminBundledPluginIds?: ReadonlySet<string>;
|
|
1490
|
+
}): BuiltManifest;
|
|
1491
|
+
/**
|
|
1492
|
+
* Shared comparator: `priority` ascending (unspecified sorts last),
|
|
1493
|
+
* ties broken by a caller-supplied stable key (id / name) in
|
|
1494
|
+
* alphabetical order. Used by `buildManifest` server-side AND the
|
|
1495
|
+
* admin's in-memory filter helpers so the shipped manifest and the
|
|
1496
|
+
* admin filter paths agree on order regardless of registration
|
|
1497
|
+
* sequence.
|
|
1498
|
+
*/
|
|
1499
|
+
export declare function byPriorityThen<T extends {
|
|
1500
|
+
readonly priority?: number;
|
|
1501
|
+
}>(getKey: (item: T) => string): (a: T, b: T) => number;
|
|
1502
|
+
/**
|
|
1503
|
+
* Seed per-field values from a server meta bag, falling back to each
|
|
1504
|
+
* field's registered `default`. Shared by every admin form that owns
|
|
1505
|
+
* meta state (entry editor, term edit route, user edit route, settings
|
|
1506
|
+
* group card) — one shape, one behaviour.
|
|
1507
|
+
*/
|
|
1508
|
+
export declare function seedFromMetaBoxes(boxes: readonly {
|
|
1509
|
+
readonly fields: readonly {
|
|
1510
|
+
readonly key: string;
|
|
1511
|
+
readonly default?: unknown;
|
|
1512
|
+
}[];
|
|
1513
|
+
}[], stored: Readonly<Record<string, unknown>> | null | undefined): Record<string, unknown>;
|
|
1514
|
+
/**
|
|
1515
|
+
* Derive the URL-safe admin slug for a post type. Prefers `plural` when
|
|
1516
|
+
* set (allows "fish" → `fish`, "children" → `children`, etc.), falls back
|
|
1517
|
+
* to `${name}s` which is English-biased but matches the common case.
|
|
1518
|
+
* Non-alphanumerics collapse to single dashes; leading/trailing dashes
|
|
1519
|
+
* are trimmed. Empty results throw — an empty slug would shadow
|
|
1520
|
+
* `/entries/` itself in TanStack Router.
|
|
1521
|
+
*/
|
|
1522
|
+
export declare function deriveAdminSlug(name: string, plural?: string): string;
|
|
1523
|
+
/**
|
|
1524
|
+
* Serialise a manifest into the `<script>` markup injected into the admin
|
|
1525
|
+
* `index.html`. The payload lives inside a `type="application/json"` block,
|
|
1526
|
+
* so it isn't executed — but a stray `</script>` sequence would still end
|
|
1527
|
+
* the tag and leak the remainder into the document. Escape the slash to
|
|
1528
|
+
* neutralise that, which is the standard JSON-in-HTML-script hardening.
|
|
1529
|
+
*/
|
|
1530
|
+
export declare function serializeManifestScript(manifest: PlumixManifest): string;
|
|
1531
|
+
/**
|
|
1532
|
+
* Replace the `<script id="plumix-manifest">` placeholder in the admin's
|
|
1533
|
+
* `index.html` with a freshly serialised manifest. Throws if the placeholder
|
|
1534
|
+
* is missing — that's an indicator that the admin bundle is out of date
|
|
1535
|
+
* (was built without the placeholder), and silently appending would mask
|
|
1536
|
+
* the staleness.
|
|
1537
|
+
*/
|
|
1538
|
+
export declare function injectManifestIntoHtml(html: string, manifest: PlumixManifest): string;
|
|
1539
|
+
//# sourceMappingURL=manifest.d.ts.map
|