emdash 0.33.0 → 0.34.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/dist/{adapters-BMyNSSZi.d.mts → adapters-34EN2eXO.d.mts} +26 -2
- package/dist/adapters-34EN2eXO.d.mts.map +1 -0
- package/dist/{allowed-origins-CG1pACtS.mjs → allowed-origins-DW7sYyqg.mjs} +2 -2
- package/dist/{allowed-origins-CG1pACtS.mjs.map → allowed-origins-DW7sYyqg.mjs.map} +1 -1
- package/dist/api/route-utils.d.mts +3 -3
- package/dist/api/route-utils.mjs +22 -21
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +6 -5
- package/dist/{api-D2hunekQ.mjs → api-DdAsirBe.mjs} +98 -407
- package/dist/api-DdAsirBe.mjs.map +1 -0
- package/dist/{api-tokens-CSND0i1z.mjs → api-tokens-CFXu8F_2.mjs} +2 -2
- package/dist/{api-tokens-CSND0i1z.mjs.map → api-tokens-CFXu8F_2.mjs.map} +1 -1
- package/dist/{apply-kwNEJW2l.mjs → apply-D5zfeD09.mjs} +131 -107
- package/dist/apply-D5zfeD09.mjs.map +1 -0
- package/dist/astro/index.d.mts +12 -12
- package/dist/astro/index.d.mts.map +1 -1
- package/dist/astro/index.mjs +93 -35
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +10 -10
- package/dist/astro/middleware/auth.mjs +8 -8
- package/dist/astro/middleware/media-usage-write-fence.d.mts +7 -0
- package/dist/astro/middleware/media-usage-write-fence.d.mts.map +1 -0
- package/dist/astro/middleware/media-usage-write-fence.mjs +35 -0
- package/dist/astro/middleware/media-usage-write-fence.mjs.map +1 -0
- package/dist/astro/middleware/redirect.d.mts.map +1 -1
- package/dist/astro/middleware/redirect.mjs +10 -7
- package/dist/astro/middleware/redirect.mjs.map +1 -1
- package/dist/astro/middleware/request-context.mjs +3 -3
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.d.mts +12 -11
- package/dist/astro/middleware.d.mts.map +1 -1
- package/dist/astro/middleware.mjs +1677 -156
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +9 -8
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +9 -8
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -17
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -17
- package/dist/astro/routes/api/admin/bylines/index.mjs +17 -17
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -13
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -11
- package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/index.mjs +12 -11
- package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +5 -5
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +4 -4
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +36 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +36 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +15 -14
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +37 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +37 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -0
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -5
- package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -4
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +4 -4
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -42
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +9 -8
- package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
- package/dist/astro/routes/api/admin/users/index.mjs +9 -8
- package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -7
- package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
- package/dist/astro/routes/api/auth/invite/complete.mjs +13 -12
- package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.mjs +10 -9
- package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/register-options.mjs +12 -11
- package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/logout.mjs +4 -4
- package/dist/astro/routes/api/auth/magic-link/send.mjs +12 -11
- package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +4 -4
- package/dist/astro/routes/api/auth/me.mjs +10 -9
- package/dist/astro/routes/api/auth/me.mjs.map +1 -1
- package/dist/astro/routes/api/auth/mode.mjs +4 -4
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +9 -8
- package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/options.mjs +14 -13
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +12 -11
- package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +13 -12
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.mjs +13 -12
- package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.mjs +13 -12
- package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/request.mjs +12 -11
- package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/verify.mjs +3 -3
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -14
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +14 -13
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +13 -13
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +44 -31
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/trash.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
- package/dist/astro/routes/api/dashboard.mjs +10 -8
- package/dist/astro/routes/api/dashboard.mjs.map +1 -1
- package/dist/astro/routes/api/dev/emails.mjs +4 -4
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +18 -16
- package/dist/astro/routes/api/import/probe.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -5
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/execute.mjs +15 -15
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +10 -10
- package/dist/astro/routes/api/import/wordpress/media.mjs +14 -12
- package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +13 -12
- package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +14 -14
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +18 -16
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +28 -27
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +5 -5
- package/dist/astro/routes/api/mcp.d.mts.map +1 -1
- package/dist/astro/routes/api/mcp.mjs +174 -72
- package/dist/astro/routes/api/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +13 -11
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
- package/dist/astro/routes/api/media/_id_/usage.mjs +17 -16
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +16 -15
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.mjs +3 -3
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -4
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -4
- package/dist/astro/routes/api/media/providers/index.mjs +4 -4
- package/dist/astro/routes/api/media/upload-url.mjs +11 -10
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +18 -15
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/items.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/translations.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_.mjs +11 -11
- package/dist/astro/routes/api/menus/index.mjs +11 -11
- package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/code.mjs +10 -10
- package/dist/astro/routes/api/oauth/device/token.mjs +9 -9
- package/dist/astro/routes/api/oauth/register.mjs +4 -4
- package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -7
- package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -7
- package/dist/astro/routes/api/oauth/token.mjs +7 -7
- package/dist/astro/routes/api/openapi.json.mjs +152 -6
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +8 -7
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.mjs +13 -12
- package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/index.mjs +13 -12
- package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/index.mjs +18 -17
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/translations.mjs +13 -12
- package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +18 -17
- package/dist/astro/routes/api/relations/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +5 -5
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/reorder.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +10 -9
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -42
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +47 -42
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +13 -13
- package/dist/astro/routes/api/search/index.mjs +12 -12
- package/dist/astro/routes/api/search/rebuild.mjs +13 -13
- package/dist/astro/routes/api/search/stats.mjs +8 -8
- package/dist/astro/routes/api/search/suggest.mjs +12 -12
- package/dist/astro/routes/api/sections/_slug_.mjs +12 -11
- package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/sections/index.mjs +12 -11
- package/dist/astro/routes/api/sections/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -6
- package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
- package/dist/astro/routes/api/settings/email.mjs +5 -5
- package/dist/astro/routes/api/settings.mjs +14 -13
- package/dist/astro/routes/api/settings.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
- package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin.mjs +13 -12
- package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-bypass.mjs +30 -28
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
- package/dist/astro/routes/api/setup/index.mjs +32 -30
- package/dist/astro/routes/api/setup/index.mjs.map +1 -1
- package/dist/astro/routes/api/setup/status.mjs +5 -5
- package/dist/astro/routes/api/snapshot.mjs +8 -8
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +18 -16
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts +8 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +46 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_.d.mts +19 -0
- package/dist/astro/routes/api/taxonomies/_name_.d.mts.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_.mjs +88 -0
- package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -0
- package/dist/astro/routes/api/taxonomies/index.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +6 -6
- package/dist/astro/routes/api/typegen.mjs +6 -6
- package/dist/astro/routes/api/well-known/auth.mjs +1 -1
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +10 -9
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_.mjs +7 -6
- package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/index.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
- package/dist/astro/routes/api/widget-components.mjs +4 -4
- package/dist/astro/routes/robots.txt.mjs +7 -6
- package/dist/astro/routes/robots.txt.mjs.map +1 -1
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
- package/dist/astro/routes/sitemap.xml.mjs +8 -7
- package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
- package/dist/astro/types.d.mts +35 -17
- package/dist/astro/types.d.mts.map +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{authorize-qRhWQnel.mjs → authorize-1iFJzPaZ.mjs} +2 -2
- package/dist/{authorize-qRhWQnel.mjs.map → authorize-1iFJzPaZ.mjs.map} +1 -1
- package/dist/{backup-CtA6LDNw.mjs → backup-LHjIAVNP.mjs} +4 -4
- package/dist/{backup-CtA6LDNw.mjs.map → backup-LHjIAVNP.mjs.map} +1 -1
- package/dist/{base64-B-PsqheR.mjs → base64-CvLhUKQv.mjs} +1 -1
- package/dist/{base64-B-PsqheR.mjs.map → base64-CvLhUKQv.mjs.map} +1 -1
- package/dist/bundle-CBEXrBnb.mjs +663 -0
- package/dist/bundle-CBEXrBnb.mjs.map +1 -0
- package/dist/{byline-fields-CNc0Yq5i.mjs → byline-fields-C5S8wygO.mjs} +2 -2
- package/dist/{byline-fields-CNc0Yq5i.mjs.map → byline-fields-C5S8wygO.mjs.map} +1 -1
- package/dist/{byline-Cp6csL84.mjs → byline-pEcoDps8.mjs} +5 -5
- package/dist/{byline-Cp6csL84.mjs.map → byline-pEcoDps8.mjs.map} +1 -1
- package/dist/{byline-registry-ZkPKqEwC.mjs → byline-registry-DDun8sxh.mjs} +2 -2
- package/dist/{byline-registry-ZkPKqEwC.mjs.map → byline-registry-DDun8sxh.mjs.map} +1 -1
- package/dist/{bylines-CEj5CdT4.mjs → bylines-BWemdX2k.mjs} +7 -7
- package/dist/{bylines-CEj5CdT4.mjs.map → bylines-BWemdX2k.mjs.map} +1 -1
- package/dist/{bylines-cf-C9lmF.mjs → bylines-DJfSfXCL.mjs} +5 -5
- package/dist/{bylines-cf-C9lmF.mjs.map → bylines-DJfSfXCL.mjs.map} +1 -1
- package/dist/{cache-C9FptTFR.mjs → cache-CBJaDy_E.mjs} +3 -3
- package/dist/{cache-C9FptTFR.mjs.map → cache-CBJaDy_E.mjs.map} +1 -1
- package/dist/{challenge-store-D9VNKELo.mjs → challenge-store-CZyFVaad.mjs} +1 -1
- package/dist/{challenge-store-D9VNKELo.mjs.map → challenge-store-CZyFVaad.mjs.map} +1 -1
- package/dist/{chunks-DbYzib_k.mjs → chunks-DfPax1I0.mjs} +2 -2
- package/dist/{chunks-DbYzib_k.mjs.map → chunks-DfPax1I0.mjs.map} +1 -1
- package/dist/cli/index.mjs +176 -698
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +74 -4
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +25 -2
- package/dist/client/index.mjs.map +1 -1
- package/dist/collection-deletion-C8BugSGz.mjs +779 -0
- package/dist/collection-deletion-C8BugSGz.mjs.map +1 -0
- package/dist/{comment-BIkJ6Fil.mjs → comment-Dxlep6cE.mjs} +2 -2
- package/dist/{comment-BIkJ6Fil.mjs.map → comment-Dxlep6cE.mjs.map} +1 -1
- package/dist/{comment-reaction-D-laEceb.mjs → comment-reaction-D6qfHKBc.mjs} +2 -2
- package/dist/{comment-reaction-D-laEceb.mjs.map → comment-reaction-D6qfHKBc.mjs.map} +1 -1
- package/dist/{comments-0_w6KChA.mjs → comments-CTOuhTSX.mjs} +3 -3
- package/dist/{comments-0_w6KChA.mjs.map → comments-CTOuhTSX.mjs.map} +1 -1
- package/dist/{components-BPxrRjpE.mjs → components-CQy3lh9x.mjs} +1 -1
- package/dist/{components-BPxrRjpE.mjs.map → components-CQy3lh9x.mjs.map} +1 -1
- package/dist/{config-DyF3OKg_.mjs → config-C3EBstHi.mjs} +18 -2
- package/dist/config-C3EBstHi.mjs.map +1 -0
- package/dist/{content-CJ94NEx5.mjs → content-BNfwh7xX.mjs} +509 -78
- package/dist/content-BNfwh7xX.mjs.map +1 -0
- package/dist/content-list-query-DhQ84eVV.d.mts +26 -0
- package/dist/content-list-query-DhQ84eVV.d.mts.map +1 -0
- package/dist/content-refresh-DNERP4-f.mjs +2560 -0
- package/dist/content-refresh-DNERP4-f.mjs.map +1 -0
- package/dist/{context-C_1nrqnW.mjs → context-DRgOvSnW.mjs} +25 -17
- package/dist/context-DRgOvSnW.mjs.map +1 -0
- package/dist/{cron-DRV-UC4K.mjs → cron-Y9aLtgrA.mjs} +1 -1
- package/dist/{cron-DRV-UC4K.mjs.map → cron-Y9aLtgrA.mjs.map} +1 -1
- package/dist/{dashboard-DINnNVVU.mjs → dashboard-CB8J89rJ.mjs} +44 -10
- package/dist/dashboard-CB8J89rJ.mjs.map +1 -0
- package/dist/db/index.d.mts +4 -4
- package/dist/db/index.mjs +2 -2
- package/dist/db/index.mjs.map +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/{db-errors-CcWLaRiR.mjs → db-errors-Cl-sKYTm.mjs} +1 -1
- package/dist/{db-errors-CcWLaRiR.mjs.map → db-errors-Cl-sKYTm.mjs.map} +1 -1
- package/dist/{default-BD2FG0xV.mjs → default-DdDl3fxv.mjs} +1 -1
- package/dist/{default-BD2FG0xV.mjs.map → default-DdDl3fxv.mjs.map} +1 -1
- package/dist/{deferred-tasks-C-WRCcKo.d.mts → deferred-tasks-BMsa9F64.d.mts} +1 -1
- package/dist/{deferred-tasks-C-WRCcKo.d.mts.map → deferred-tasks-BMsa9F64.d.mts.map} +1 -1
- package/dist/{device-flow-CTqd8mud.mjs → device-flow-CaioYGK3.mjs} +4 -4
- package/dist/{device-flow-CTqd8mud.mjs.map → device-flow-CaioYGK3.mjs.map} +1 -1
- package/dist/dist-D_6CKR8z.mjs +810 -0
- package/dist/dist-D_6CKR8z.mjs.map +1 -0
- package/dist/{email-console-C6WdcWbL.mjs → email-console-BHNjIwiB.mjs} +1 -1
- package/dist/{email-console-C6WdcWbL.mjs.map → email-console-BHNjIwiB.mjs.map} +1 -1
- package/dist/{enrich-CFJJgxs_.mjs → enrich-_ySMEvEE.mjs} +2 -2
- package/dist/{enrich-CFJJgxs_.mjs.map → enrich-_ySMEvEE.mjs.map} +1 -1
- package/dist/{error-oh_9i6bR.mjs → error-DupyJZE2.mjs} +3 -3
- package/dist/{error-oh_9i6bR.mjs.map → error-DupyJZE2.mjs.map} +1 -1
- package/dist/{errors-BucQ8VYz.mjs → errors-CLUPm7aD.mjs} +14 -2
- package/dist/errors-CLUPm7aD.mjs.map +1 -0
- package/dist/{escape-CXps5F_v.mjs → escape-C_aLKP3H.mjs} +1 -1
- package/dist/{escape-CXps5F_v.mjs.map → escape-C_aLKP3H.mjs.map} +1 -1
- package/dist/{field-defs-cache-WD82dMQq.mjs → field-defs-cache-hg6QkjV9.mjs} +4 -4
- package/dist/{field-defs-cache-WD82dMQq.mjs.map → field-defs-cache-hg6QkjV9.mjs.map} +1 -1
- package/dist/{fts-manager-BITakW_R.mjs → fts-manager-CZ-5dVwJ.mjs} +76 -50
- package/dist/fts-manager-CZ-5dVwJ.mjs.map +1 -0
- package/dist/{hreflang-BaLCNcDx.d.mts → hreflang-D3Uehfv2.d.mts} +2 -2
- package/dist/{hreflang-BaLCNcDx.d.mts.map → hreflang-D3Uehfv2.d.mts.map} +1 -1
- package/dist/{hreflang-BdZuVBhL.mjs → hreflang-DNswoYsi.mjs} +7 -7
- package/dist/{hreflang-BdZuVBhL.mjs.map → hreflang-DNswoYsi.mjs.map} +1 -1
- package/dist/{import-C-9uqyT3.mjs → import-B41u8Rot.mjs} +5 -5
- package/dist/{import-C-9uqyT3.mjs.map → import-B41u8Rot.mjs.map} +1 -1
- package/dist/{index-M37iz29I.d.mts → index-C3Y-rsyN.d.mts} +226 -73
- package/dist/index-C3Y-rsyN.d.mts.map +1 -0
- package/dist/{index-MGw47uWq.d.mts → index-Cof4-Fab.d.mts} +5 -10
- package/dist/index-Cof4-Fab.d.mts.map +1 -0
- package/dist/index.d.mts +20 -19
- package/dist/index.mjs +73 -67
- package/dist/{init-lock-DJkX6Hto.mjs → init-lock-6b309ZrF.mjs} +1 -1
- package/dist/{init-lock-DJkX6Hto.mjs.map → init-lock-6b309ZrF.mjs.map} +1 -1
- package/dist/{load-DV1DZuUJ.mjs → load-DmvJrtxS.mjs} +2 -2
- package/dist/{load-DV1DZuUJ.mjs.map → load-DmvJrtxS.mjs.map} +1 -1
- package/dist/{loader-CGugY7Zl.mjs → loader-DLBqRiGP.mjs} +95 -53
- package/dist/loader-DLBqRiGP.mjs.map +1 -0
- package/dist/{manifest-schema-Da7kj23y.mjs → manifest-schema-BXbUAHod.mjs} +1 -1
- package/dist/{manifest-schema-Da7kj23y.mjs.map → manifest-schema-BXbUAHod.mjs.map} +1 -1
- package/dist/media/image-endpoint.mjs +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/index.mjs +3 -2
- package/dist/media/index.mjs.map +1 -1
- package/dist/media/local-runtime.d.mts +12 -12
- package/dist/media/local-runtime.mjs +6 -5
- package/dist/media/local-runtime.mjs.map +1 -1
- package/dist/{media-OhYL-7Io.mjs → media-BWWWb8kg.mjs} +92 -3
- package/dist/media-BWWWb8kg.mjs.map +1 -0
- package/dist/{media-BP7S-nHT.mjs → media-CzhAn2--.mjs} +2 -2
- package/dist/{media-BP7S-nHT.mjs.map → media-CzhAn2--.mjs.map} +1 -1
- package/dist/{media-allowlist-D-peH1H5.mjs → media-allowlist-BD6HhgXA.mjs} +14 -3
- package/dist/media-allowlist-BD6HhgXA.mjs.map +1 -0
- package/dist/{media-upload-DtrwU2B0.mjs → media-upload-9yas9zGH.mjs} +10 -8
- package/dist/{media-upload-DtrwU2B0.mjs.map → media-upload-9yas9zGH.mjs.map} +1 -1
- package/dist/{media-url-DYs_YLOx.mjs → media-url-BvoX88FA.mjs} +1 -1
- package/dist/{media-url-DYs_YLOx.mjs.map → media-url-BvoX88FA.mjs.map} +1 -1
- package/dist/{media-usage-BlxfTkN0.mjs → media-usage-De3qvwjc.mjs} +137 -60
- package/dist/media-usage-De3qvwjc.mjs.map +1 -0
- package/dist/media-usage-work-B9Bksh_b.mjs +152 -0
- package/dist/media-usage-work-B9Bksh_b.mjs.map +1 -0
- package/dist/media-usage-work-DrCbqBcl.mjs +424 -0
- package/dist/media-usage-work-DrCbqBcl.mjs.map +1 -0
- package/dist/media-usage-write-fence-aHEgN1zB.mjs +42 -0
- package/dist/media-usage-write-fence-aHEgN1zB.mjs.map +1 -0
- package/dist/{menus-Y54RDPIN.mjs → menus-CC-yn1F9.mjs} +351 -95
- package/dist/menus-CC-yn1F9.mjs.map +1 -0
- package/dist/{menus-BcQWxeXu.mjs → menus-fxvEDYE6.mjs} +3 -3
- package/dist/{menus-BcQWxeXu.mjs.map → menus-fxvEDYE6.mjs.map} +1 -1
- package/dist/{mode-BWyTBe3I.mjs → mode-Bpe-tNNy.mjs} +1 -1
- package/dist/{mode-BWyTBe3I.mjs.map → mode-Bpe-tNNy.mjs.map} +1 -1
- package/dist/{normalize-C-SHXmra.mjs → normalize-Bc-s_r-a.mjs} +1 -1
- package/dist/{normalize-C-SHXmra.mjs.map → normalize-Bc-s_r-a.mjs.map} +1 -1
- package/dist/{oauth-authorization-ClvktmrL.mjs → oauth-authorization-BXO1MKej.mjs} +4 -4
- package/dist/{oauth-authorization-ClvktmrL.mjs.map → oauth-authorization-BXO1MKej.mjs.map} +1 -1
- package/dist/{oauth-clients-8ao-U66l.mjs → oauth-clients-C_DNqtRu.mjs} +1 -1
- package/dist/{oauth-clients-8ao-U66l.mjs.map → oauth-clients-C_DNqtRu.mjs.map} +1 -1
- package/dist/{oauth-state-store-B1ofdTiQ.mjs → oauth-state-store-DwAxMtk4.mjs} +1 -1
- package/dist/{oauth-state-store-B1ofdTiQ.mjs.map → oauth-state-store-DwAxMtk4.mjs.map} +1 -1
- package/dist/{oauth-user-lookup-CscEuIiR.mjs → oauth-user-lookup-BxfZizdk.mjs} +1 -1
- package/dist/{oauth-user-lookup-CscEuIiR.mjs.map → oauth-user-lookup-BxfZizdk.mjs.map} +1 -1
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/{options-CA4eVX6P.d.mts → options-DRe1pIBL.d.mts} +4 -3
- package/dist/options-DRe1pIBL.d.mts.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/{parse-CJKNuewM.mjs → parse-DFbuc-Fh.mjs} +2 -2
- package/dist/{parse-CJKNuewM.mjs.map → parse-DFbuc-Fh.mjs.map} +1 -1
- package/dist/{passkey-config-D-zrzMJI.mjs → passkey-config-_2GOwwK8.mjs} +1 -1
- package/dist/{passkey-config-D-zrzMJI.mjs.map → passkey-config-_2GOwwK8.mjs.map} +1 -1
- package/dist/{placeholder-DaeNS-VG.d.mts → placeholder-CzW7Lshs.d.mts} +1 -1
- package/dist/{placeholder-DaeNS-VG.d.mts.map → placeholder-CzW7Lshs.d.mts.map} +1 -1
- package/dist/plugin-types.d.mts +8 -1
- package/dist/plugin-types.d.mts.map +1 -1
- package/dist/plugin-utils.d.mts +10 -10
- package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
- package/dist/plugins/adapt-sandbox-entry.mjs +7 -4
- package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
- package/dist/{portable-text-B_kqBmXB.mjs → portable-text-DhKbDAGr.mjs} +1 -1
- package/dist/{portable-text-B_kqBmXB.mjs.map → portable-text-DhKbDAGr.mjs.map} +1 -1
- package/dist/{preview-BU6PaLpM.mjs → preview-PW-nOnq4.mjs} +2 -2
- package/dist/{preview-BU6PaLpM.mjs.map → preview-PW-nOnq4.mjs.map} +1 -1
- package/dist/{public-url-Ox9oOlgp.mjs → public-url-CWoFhQT8.mjs} +1 -1
- package/dist/{public-url-Ox9oOlgp.mjs.map → public-url-CWoFhQT8.mjs.map} +1 -1
- package/dist/{query-C5w7PsRQ.mjs → query-BgjfiLUQ.mjs} +31 -49
- package/dist/query-BgjfiLUQ.mjs.map +1 -0
- package/dist/{query-rC9HKv1N.mjs → query-vgZNwIhh.mjs} +3 -3
- package/dist/{query-rC9HKv1N.mjs.map → query-vgZNwIhh.mjs.map} +1 -1
- package/dist/{rate-limit-kug6q99V.mjs → rate-limit-L5anykgo.mjs} +2 -2
- package/dist/{rate-limit-kug6q99V.mjs.map → rate-limit-L5anykgo.mjs.map} +1 -1
- package/dist/{redirect-DIJxXKOG.mjs → redirect-COsS6SWJ.mjs} +2 -2
- package/dist/{redirect-DIJxXKOG.mjs.map → redirect-COsS6SWJ.mjs.map} +1 -1
- package/dist/{redirect-Egf2R9yP.mjs → redirect-KBNE3UEs.mjs} +1 -1
- package/dist/{redirect-Egf2R9yP.mjs.map → redirect-KBNE3UEs.mjs.map} +1 -1
- package/dist/{redirects-Bzm812bY.mjs → redirects-CufRQt0Q.mjs} +4 -4
- package/dist/{redirects-Bzm812bY.mjs.map → redirects-CufRQt0Q.mjs.map} +1 -1
- package/dist/{redirects-G8wAhWAf.mjs → redirects-cV9g7V-0.mjs} +133 -14
- package/dist/redirects-cV9g7V-0.mjs.map +1 -0
- package/dist/registry-C581V4TP.mjs +1275 -0
- package/dist/registry-C581V4TP.mjs.map +1 -0
- package/dist/{relation-Cbe3Sd3m.mjs → relation-DtmAQH7s.mjs} +3 -3
- package/dist/{relation-Cbe3Sd3m.mjs.map → relation-DtmAQH7s.mjs.map} +1 -1
- package/dist/{relations-Bw_E1TXo.mjs → relations-BBApI4e2.mjs} +3 -3
- package/dist/{relations-Bw_E1TXo.mjs.map → relations-BBApI4e2.mjs.map} +1 -1
- package/dist/{relations-qHwpUe66.mjs → relations-DICSyfsh.mjs} +6 -6
- package/dist/{relations-qHwpUe66.mjs.map → relations-DICSyfsh.mjs.map} +1 -1
- package/dist/{relations-G2ta7GIl.d.mts → relations-DItI3MN9.d.mts} +369 -35
- package/dist/relations-DItI3MN9.d.mts.map +1 -0
- package/dist/request-context.d.mts +1 -1
- package/dist/{request-meta-Df-jFbAd.mjs → request-meta-DgZJh3zG.mjs} +2 -2
- package/dist/{request-meta-Df-jFbAd.mjs.map → request-meta-DgZJh3zG.mjs.map} +1 -1
- package/dist/{resolve-DZzG4HqM.mjs → resolve-DOhVEvty.mjs} +2 -2
- package/dist/{resolve-DZzG4HqM.mjs.map → resolve-DOhVEvty.mjs.map} +1 -1
- package/dist/{runner-BFTrkYhu.mjs → runner-BiDvq5dv.mjs} +1157 -254
- package/dist/runner-BiDvq5dv.mjs.map +1 -0
- package/dist/{runner-BaADli8l.d.mts → runner-CgQbELYC.d.mts} +2 -2
- package/dist/{runner-BaADli8l.d.mts.map → runner-CgQbELYC.d.mts.map} +1 -1
- package/dist/runtime.d.mts +11 -11
- package/dist/runtime.mjs +4 -3
- package/dist/runtime.mjs.map +1 -1
- package/dist/{schema-CiQXr6_F.mjs → schema-BFyTg38T.mjs} +3 -3
- package/dist/{schema-CiQXr6_F.mjs.map → schema-BFyTg38T.mjs.map} +1 -1
- package/dist/schema-CeQSNwB3.mjs +390 -0
- package/dist/schema-CeQSNwB3.mjs.map +1 -0
- package/dist/{scopes-CNJVT5i5.mjs → scopes-BVeuhGBE.mjs} +3 -3
- package/dist/{scopes-CNJVT5i5.mjs.map → scopes-BVeuhGBE.mjs.map} +1 -1
- package/dist/{search-FZhx5dDU.mjs → search-BpuPKZb0.mjs} +25 -15
- package/dist/search-BpuPKZb0.mjs.map +1 -0
- package/dist/{secrets-DLd8RXee.mjs → secrets-dtYs2hDo.mjs} +3 -3
- package/dist/{secrets-DLd8RXee.mjs.map → secrets-dtYs2hDo.mjs.map} +1 -1
- package/dist/{sections-BrIrMUCn.mjs → sections-COctk6hf.mjs} +3 -3
- package/dist/{sections-BrIrMUCn.mjs.map → sections-COctk6hf.mjs.map} +1 -1
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +24 -22
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +16 -15
- package/dist/seo/index.mjs.map +1 -1
- package/dist/{seo-CobNfOvb.mjs → seo-AFpVvTqr.mjs} +5 -3
- package/dist/seo-AFpVvTqr.mjs.map +1 -0
- package/dist/{seo-DTHRntNC.mjs → seo-CvDxfvFb.mjs} +2 -2
- package/dist/{seo-DTHRntNC.mjs.map → seo-CvDxfvFb.mjs.map} +1 -1
- package/dist/{service-B-pYGPgR.mjs → service-xMiMSTsR.mjs} +3 -3
- package/dist/{service-B-pYGPgR.mjs.map → service-xMiMSTsR.mjs.map} +1 -1
- package/dist/{session-user-BvM9-zNl.mjs → session-user-BzVemLkw.mjs} +1 -1
- package/dist/{session-user-BvM9-zNl.mjs.map → session-user-BzVemLkw.mjs.map} +1 -1
- package/dist/{settings-kJhGiQ4z.mjs → settings-B372MV0p.mjs} +4 -4
- package/dist/{settings-kJhGiQ4z.mjs.map → settings-B372MV0p.mjs.map} +1 -1
- package/dist/{settings-DPHau-WH.mjs → settings-BE9aqn_9.mjs} +3 -3
- package/dist/{settings-DPHau-WH.mjs.map → settings-BE9aqn_9.mjs.map} +1 -1
- package/dist/{setup-complete-u50Qm8rY.mjs → setup-complete-DF7TAfD5.mjs} +1 -1
- package/dist/{setup-complete-u50Qm8rY.mjs.map → setup-complete-DF7TAfD5.mjs.map} +1 -1
- package/dist/{setup-nonce-DCjiiOD2.mjs → setup-nonce-Do-U_cg9.mjs} +1 -1
- package/dist/{setup-nonce-DCjiiOD2.mjs.map → setup-nonce-Do-U_cg9.mjs.map} +1 -1
- package/dist/{single-flight-cache-DW3w11Pu.mjs → single-flight-cache-B0eLKS6K.mjs} +2 -2
- package/dist/{single-flight-cache-DW3w11Pu.mjs.map → single-flight-cache-B0eLKS6K.mjs.map} +1 -1
- package/dist/{site-url-I-lJ5kma.mjs → site-url-Bowsi9T-.mjs} +2 -2
- package/dist/{site-url-I-lJ5kma.mjs.map → site-url-Bowsi9T-.mjs.map} +1 -1
- package/dist/slugify-B994zkXC.mjs +17 -0
- package/dist/slugify-B994zkXC.mjs.map +1 -0
- package/dist/{snapshot-I_fjLDaD.mjs → snapshot-B5h6aPMh.mjs} +1 -1
- package/dist/{snapshot-I_fjLDaD.mjs.map → snapshot-B5h6aPMh.mjs.map} +1 -1
- package/dist/{ssrf-CTa6v21i.mjs → ssrf-Cpvg_n3A.mjs} +1 -1
- package/dist/{ssrf-CTa6v21i.mjs.map → ssrf-Cpvg_n3A.mjs.map} +1 -1
- package/dist/{state-CQvoefYP.mjs → state-DYwPue40.mjs} +1 -1
- package/dist/{state-CQvoefYP.mjs.map → state-DYwPue40.mjs.map} +1 -1
- package/dist/{status-CIsmlC1E.mjs → status-CWVYpbD8.mjs} +1 -1
- package/dist/{status-CIsmlC1E.mjs.map → status-CWVYpbD8.mjs.map} +1 -1
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/local.mjs +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/{taxonomies-CLN1N92E.mjs → taxonomies-B0o9ExNV.mjs} +75 -64
- package/dist/taxonomies-B0o9ExNV.mjs.map +1 -0
- package/dist/{taxonomies-CKuaZER5.mjs → taxonomies-Dk3MAklL.mjs} +280 -56
- package/dist/taxonomies-Dk3MAklL.mjs.map +1 -0
- package/dist/{taxonomy-pOrB2kZe.mjs → taxonomy-CPeM8d2o.mjs} +131 -78
- package/dist/taxonomy-CPeM8d2o.mjs.map +1 -0
- package/dist/{tokens-DagaJGK8.mjs → tokens-C39klX8R.mjs} +2 -2
- package/dist/{tokens-DagaJGK8.mjs.map → tokens-C39klX8R.mjs.map} +1 -1
- package/dist/{transport-DVsa5YYo.mjs → transport--CfOflrp.mjs} +1 -1
- package/dist/{transport-DVsa5YYo.mjs.map → transport--CfOflrp.mjs.map} +1 -1
- package/dist/{transport-CAwTaTp_.d.mts → transport-B_rfeU-a.d.mts} +1 -1
- package/dist/{transport-CAwTaTp_.d.mts.map → transport-B_rfeU-a.d.mts.map} +1 -1
- package/dist/{trusted-proxy-D20_7fyX.mjs → trusted-proxy-CEVekpby.mjs} +1 -1
- package/dist/{trusted-proxy-D20_7fyX.mjs.map → trusted-proxy-CEVekpby.mjs.map} +1 -1
- package/dist/{types-NBI3rF-_.mjs → types-75KIqzL9.mjs} +18 -2
- package/dist/types-75KIqzL9.mjs.map +1 -0
- package/dist/{types-CbUcuxxc.d.mts → types-BPuloofb.d.mts} +1 -1
- package/dist/{types-CbUcuxxc.d.mts.map → types-BPuloofb.d.mts.map} +1 -1
- package/dist/{types-BjxTKxrZ.mjs → types-BW1syrlw.mjs} +1 -1
- package/dist/{types-BjxTKxrZ.mjs.map → types-BW1syrlw.mjs.map} +1 -1
- package/dist/{types-BnFP1M3J.d.mts → types-C3_AbkDP.d.mts} +32 -10
- package/dist/types-C3_AbkDP.d.mts.map +1 -0
- package/dist/{types-Dc4ntQjQ.d.mts → types-CAGdePf3.d.mts} +124 -1
- package/dist/types-CAGdePf3.d.mts.map +1 -0
- package/dist/{types-DLG4IFEQ.d.mts → types-CFUfyt1s.d.mts} +1 -1
- package/dist/{types-DLG4IFEQ.d.mts.map → types-CFUfyt1s.d.mts.map} +1 -1
- package/dist/{types-LoagAGzH.d.mts → types-CPx2lIGo.d.mts} +1 -1
- package/dist/{types-LoagAGzH.d.mts.map → types-CPx2lIGo.d.mts.map} +1 -1
- package/dist/{types-Cd8iuS1J.mjs → types-CQPWhPxE.mjs} +9 -12
- package/dist/types-CQPWhPxE.mjs.map +1 -0
- package/dist/{types-Cz8hNch2.d.mts → types-Cs-TFLNf.d.mts} +25 -5
- package/dist/types-Cs-TFLNf.d.mts.map +1 -0
- package/dist/types-CtzytVXn.mjs.map +1 -1
- package/dist/{types-BGWPMiBO.d.mts → types-D4_1Ga4L.d.mts} +44 -5
- package/dist/types-D4_1Ga4L.d.mts.map +1 -0
- package/dist/{types-C8oz_ayJ.d.mts → types-DefV3OiO.d.mts} +1 -1
- package/dist/{types-C8oz_ayJ.d.mts.map → types-DefV3OiO.d.mts.map} +1 -1
- package/dist/{types-BK6U01Ro.d.mts → types-X0MThr7x.d.mts} +1 -1
- package/dist/{types-BK6U01Ro.d.mts.map → types-X0MThr7x.d.mts.map} +1 -1
- package/dist/{upload-attempts-D8QAFLUJ.mjs → upload-attempts-hlne3iA1.mjs} +1 -1
- package/dist/{upload-attempts-D8QAFLUJ.mjs.map → upload-attempts-hlne3iA1.mjs.map} +1 -1
- package/dist/url-pattern-BHS0V5Ng.mjs +33 -0
- package/dist/url-pattern-BHS0V5Ng.mjs.map +1 -0
- package/dist/{user-DBrq4UVq.mjs → user-sHgJ62SP.mjs} +3 -3
- package/dist/{user-DBrq4UVq.mjs.map → user-sHgJ62SP.mjs.map} +1 -1
- package/dist/{utils-hLzi_2Fn.mjs → utils-D4vD_Y98.mjs} +3 -3
- package/dist/{utils-hLzi_2Fn.mjs.map → utils-D4vD_Y98.mjs.map} +1 -1
- package/dist/{validate-mKo3RxBM.mjs → validate-BkqIG_Uj.mjs} +24 -5
- package/dist/validate-BkqIG_Uj.mjs.map +1 -0
- package/dist/{validate-C3oSmA7F.d.mts → validate-DeGtBN84.d.mts} +15 -7
- package/dist/validate-DeGtBN84.d.mts.map +1 -0
- package/dist/{validation-BgpucsvF.mjs → validation-CiJb_X5o.mjs} +11 -10
- package/dist/{validation-BgpucsvF.mjs.map → validation-CiJb_X5o.mjs.map} +1 -1
- package/dist/version-x0NjTScG.mjs +7 -0
- package/dist/{version-C4PnpmoV.mjs.map → version-x0NjTScG.mjs.map} +1 -1
- package/dist/{widgets-CJJtkiKh.mjs → widgets-Cwzvww0W.mjs} +3 -3
- package/dist/{widgets-CJJtkiKh.mjs.map → widgets-Cwzvww0W.mjs.map} +1 -1
- package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts → wxr-taxonomies-CmC0ZsDr.d.mts} +1 -1
- package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts.map → wxr-taxonomies-CmC0ZsDr.d.mts.map} +1 -1
- package/dist/{wxr-taxonomies-9PPSy8X6.mjs → wxr-taxonomies-QZjWxjyk.mjs} +13 -32
- package/dist/{wxr-taxonomies-9PPSy8X6.mjs.map → wxr-taxonomies-QZjWxjyk.mjs.map} +1 -1
- package/dist/{zod-generator-CG64Hnbh.mjs → zod-generator-D11MhxG4.mjs} +52 -5
- package/dist/zod-generator-D11MhxG4.mjs.map +1 -0
- package/package.json +16 -8
- package/src/api/errors.ts +12 -0
- package/src/api/handlers/content.ts +127 -29
- package/src/api/handlers/dashboard.ts +12 -2
- package/src/api/handlers/index.ts +16 -0
- package/src/api/handlers/manifest.ts +2 -0
- package/src/api/handlers/media-allowlist.ts +13 -2
- package/src/api/handlers/media-usage-work.ts +188 -0
- package/src/api/handlers/media-usage.ts +5 -3
- package/src/api/handlers/schema.ts +9 -3
- package/src/api/handlers/seo.ts +5 -2
- package/src/api/handlers/taxonomies.ts +345 -82
- package/src/api/media-usage-write-fence.ts +64 -0
- package/src/api/openapi/document.ts +199 -0
- package/src/api/schemas/common.ts +3 -1
- package/src/api/schemas/content.ts +122 -1
- package/src/api/schemas/media-usage.ts +133 -0
- package/src/api/schemas/schema.ts +78 -3
- package/src/api/schemas/taxonomies.ts +40 -8
- package/src/api/types.ts +1 -0
- package/src/astro/integration/index.ts +55 -42
- package/src/astro/integration/routes.ts +34 -4
- package/src/astro/integration/runtime.ts +15 -0
- package/src/astro/integration/virtual-modules.ts +25 -1
- package/src/astro/integration/vite-config.ts +16 -1
- package/src/astro/middleware/media-usage-write-fence.ts +30 -0
- package/src/astro/middleware/redirect.ts +12 -2
- package/src/astro/middleware.ts +75 -8
- package/src/astro/routes/api/admin/media-usage/collection-deletions/index.ts +22 -0
- package/src/astro/routes/api/admin/media-usage/collection-deletions/retry.ts +22 -0
- package/src/astro/routes/api/admin/media-usage/work/index.ts +26 -0
- package/src/astro/routes/api/admin/media-usage/work/retry.ts +26 -0
- package/src/astro/routes/api/admin/plugins/[id]/disable.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/enable.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/update.ts +4 -0
- package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/install.ts +4 -0
- package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +67 -31
- package/src/astro/routes/api/import/wordpress/execute.ts +3 -10
- package/src/astro/routes/api/mcp.ts +1 -0
- package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +7 -1
- package/src/astro/routes/api/schema/collections/[slug]/index.ts +1 -7
- package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +1 -0
- package/src/astro/routes/api/taxonomies/[name]/translations.ts +48 -0
- package/src/astro/routes/api/taxonomies/[name].ts +102 -0
- package/src/astro/types.ts +25 -4
- package/src/cleanup.ts +6 -12
- package/src/cli/commands/doctor.ts +193 -6
- package/src/cli/commands/export-seed.ts +4 -1
- package/src/client/index.ts +119 -0
- package/src/components/Block.astro +12 -0
- package/src/components/InlinePortableTextEditor.tsx +89 -1
- package/src/content/converters/mark-safety.ts +120 -0
- package/src/content/converters/portable-text-to-prosemirror.ts +25 -16
- package/src/content/converters/prosemirror-to-portable-text.ts +12 -2
- package/src/content-list-query.ts +29 -0
- package/src/database/migrations/060_collection_admin_config.ts +16 -0
- package/src/database/migrations/061_media_usage_cleanup.ts +77 -0
- package/src/database/migrations/062_media_usage_cleanup_fence.ts +295 -0
- package/src/database/migrations/063_media_usage_incremental_work.ts +397 -0
- package/src/database/migrations/064_fts_plain_text.ts +253 -0
- package/src/database/migrations/065_media_usage_collection_deletion.ts +85 -0
- package/src/database/migrations/066_media_usage_reconciliation.ts +115 -0
- package/src/database/migrations/067_indexed_content_fields.ts +39 -0
- package/src/database/migrations/068_content_taxonomy_entry_groups.ts +61 -0
- package/src/database/migrations/069_collection_title_date_fields.ts +45 -0
- package/src/database/migrations/070_collection_routable.ts +18 -0
- package/src/database/migrations/runner.ts +22 -0
- package/src/database/repositories/content.ts +861 -96
- package/src/database/repositories/media-usage-work.ts +848 -0
- package/src/database/repositories/media-usage.ts +1502 -138
- package/src/database/repositories/revision.ts +17 -6
- package/src/database/repositories/taxonomy.ts +234 -103
- package/src/database/repositories/types.ts +51 -2
- package/src/database/types.ts +134 -16
- package/src/db/adapters.ts +28 -0
- package/src/db/index.ts +3 -0
- package/src/emdash-runtime.ts +227 -20
- package/src/fields/file.ts +7 -4
- package/src/fields/image.ts +8 -1
- package/src/fields/types.ts +18 -5
- package/src/i18n/config.ts +32 -0
- package/src/i18n/repair-locale-casing.ts +0 -14
- package/src/i18n/taxonomy-locale-diagnostic.ts +47 -0
- package/src/import/wxr-taxonomies.ts +7 -47
- package/src/index.ts +25 -2
- package/src/loader.ts +119 -65
- package/src/mcp/server.ts +242 -34
- package/src/media/usage/activation.ts +626 -0
- package/src/media/usage/capture-triggers.ts +543 -0
- package/src/media/usage/cleanup.ts +305 -0
- package/src/media/usage/collection-deletion-processor.ts +356 -0
- package/src/media/usage/collection-deletion.ts +836 -0
- package/src/media/usage/content-fields.ts +40 -3
- package/src/media/usage/content-refresh.ts +356 -47
- package/src/media/usage/content-repair.ts +180 -61
- package/src/media/usage/content-snapshots.ts +85 -105
- package/src/media/usage/projection-fingerprint.ts +129 -0
- package/src/media/usage/reconciliation-processor.ts +372 -0
- package/src/media/usage/reconciliation.ts +1117 -0
- package/src/media/usage/source-key.ts +4 -0
- package/src/media/usage/types.ts +2 -0
- package/src/media/usage/work-processor.ts +248 -0
- package/src/menus/index.ts +246 -141
- package/src/plugin-types.ts +8 -0
- package/src/plugins/adapt-sandbox-entry.ts +24 -5
- package/src/plugins/context.ts +24 -7
- package/src/plugins/index.ts +9 -0
- package/src/plugins/routes.ts +43 -1
- package/src/plugins/sandbox/index.ts +10 -1
- package/src/plugins/sandbox/types.ts +78 -1
- package/src/plugins/scheduler/node.ts +13 -1
- package/src/plugins/scheduler/types.ts +2 -0
- package/src/plugins/types.ts +39 -2
- package/src/query.ts +29 -37
- package/src/scheduler-health.ts +46 -0
- package/src/schema/registry.ts +777 -255
- package/src/schema/types.ts +50 -8
- package/src/schema/url-pattern.ts +33 -0
- package/src/schema/zod-generator.ts +77 -5
- package/src/search/fts-manager.ts +117 -76
- package/src/search/query.ts +32 -11
- package/src/search/types.ts +2 -0
- package/src/seed/apply.ts +68 -15
- package/src/seed/types.ts +11 -3
- package/src/seed/validate.ts +52 -2
- package/src/taxonomies/index.ts +77 -75
- package/src/taxonomies/term-counts.ts +21 -8
- package/src/utils/slugify.ts +1 -29
- package/src/virtual-modules.d.ts +16 -0
- package/dist/adapters-BMyNSSZi.d.mts.map +0 -1
- package/dist/api-D2hunekQ.mjs.map +0 -1
- package/dist/apply-kwNEJW2l.mjs.map +0 -1
- package/dist/config-DyF3OKg_.mjs.map +0 -1
- package/dist/content-CJ94NEx5.mjs.map +0 -1
- package/dist/content-refresh-Xw7aKmou.mjs +0 -1629
- package/dist/content-refresh-Xw7aKmou.mjs.map +0 -1
- package/dist/context-C_1nrqnW.mjs.map +0 -1
- package/dist/dashboard-DINnNVVU.mjs.map +0 -1
- package/dist/errors-BucQ8VYz.mjs.map +0 -1
- package/dist/fts-manager-BITakW_R.mjs.map +0 -1
- package/dist/index-M37iz29I.d.mts.map +0 -1
- package/dist/index-MGw47uWq.d.mts.map +0 -1
- package/dist/loader-CGugY7Zl.mjs.map +0 -1
- package/dist/media-OhYL-7Io.mjs.map +0 -1
- package/dist/media-allowlist-D-peH1H5.mjs.map +0 -1
- package/dist/media-usage-BlxfTkN0.mjs.map +0 -1
- package/dist/menus-Y54RDPIN.mjs.map +0 -1
- package/dist/options-CA4eVX6P.d.mts.map +0 -1
- package/dist/query-C5w7PsRQ.mjs.map +0 -1
- package/dist/redirects-G8wAhWAf.mjs.map +0 -1
- package/dist/registry-Dbodb4Uo.mjs +0 -840
- package/dist/registry-Dbodb4Uo.mjs.map +0 -1
- package/dist/relations-G2ta7GIl.d.mts.map +0 -1
- package/dist/runner-BFTrkYhu.mjs.map +0 -1
- package/dist/search-FZhx5dDU.mjs.map +0 -1
- package/dist/seo-CobNfOvb.mjs.map +0 -1
- package/dist/slugify-C_tqlU4G.mjs +0 -30
- package/dist/slugify-C_tqlU4G.mjs.map +0 -1
- package/dist/taxonomies-CKuaZER5.mjs.map +0 -1
- package/dist/taxonomies-CLN1N92E.mjs.map +0 -1
- package/dist/taxonomy-pOrB2kZe.mjs.map +0 -1
- package/dist/types-BGWPMiBO.d.mts.map +0 -1
- package/dist/types-BnFP1M3J.d.mts.map +0 -1
- package/dist/types-Cd8iuS1J.mjs.map +0 -1
- package/dist/types-Cz8hNch2.d.mts.map +0 -1
- package/dist/types-Dc4ntQjQ.d.mts.map +0 -1
- package/dist/types-NBI3rF-_.mjs.map +0 -1
- package/dist/validate-C3oSmA7F.d.mts.map +0 -1
- package/dist/validate-mKo3RxBM.mjs.map +0 -1
- package/dist/version-C4PnpmoV.mjs +0 -7
- package/dist/zod-generator-CG64Hnbh.mjs.map +0 -1
- /package/dist/{api-tokens-Dai9dND0.mjs → api-tokens-CyTsLszZ.mjs} +0 -0
- /package/dist/{ssrf-Cj568Dgs.mjs → ssrf-DpXgKsna.mjs} +0 -0
- /package/dist/{types-DKuWPYV5.mjs → types-CP1CflWf.mjs} +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import "../../../
|
|
2
|
-
import "../../../
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import "../../../
|
|
7
|
-
import "../../../
|
|
1
|
+
import "../../../config-C3EBstHi.mjs";
|
|
2
|
+
import { i as encodeBase64, t as decodeBase64 } from "../../../base64-CvLhUKQv.mjs";
|
|
3
|
+
import { i as InvalidCursorError, o as decodeCursor } from "../../../types-CQPWhPxE.mjs";
|
|
4
|
+
import { t as apiError } from "../../../error-DupyJZE2.mjs";
|
|
5
|
+
import { t as CONTENT_TYPE_RE } from "../../../media-BWWWb8kg.mjs";
|
|
6
|
+
import { Gt as updateFieldBody, Pt as createCollectionBody, Wt as updateCollectionBody, in as contentSeoInput, pn as bylineCreateBody, xn as contentBylineInputSchema, yn as bylineUpdateBody } from "../../../redirects-cV9g7V-0.mjs";
|
|
7
|
+
import "../../../relations-BBApI4e2.mjs";
|
|
8
|
+
import "../../../status-CWVYpbD8.mjs";
|
|
8
9
|
import "../../../api/schemas/index.mjs";
|
|
9
|
-
import { i as hasScope$1 } from "../../../api-tokens-
|
|
10
|
-
import { n as convertDataForWrite, t as convertDataForRead } from "../../../portable-text-
|
|
10
|
+
import { i as hasScope$1 } from "../../../api-tokens-CyTsLszZ.mjs";
|
|
11
|
+
import { n as convertDataForWrite, t as convertDataForRead } from "../../../portable-text-DhKbDAGr.mjs";
|
|
11
12
|
import { z } from "zod";
|
|
12
13
|
import { Permissions, Role, canActOnOwn, hasPermission } from "@emdash-cms/auth";
|
|
13
14
|
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
@@ -17,6 +18,8 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
17
18
|
const COLLECTION_SLUG_PATTERN = /^[a-z][a-z0-9_]*$/;
|
|
18
19
|
/** http(s) scheme matcher used by `settings_update` URL validation. */
|
|
19
20
|
const HTTP_SCHEME_PATTERN = /^https?:\/\//i;
|
|
21
|
+
const TAXONOMY_CURSOR_VERSION = 2;
|
|
22
|
+
const MAX_TAXONOMY_CURSOR_LENGTH = 2048;
|
|
20
23
|
const settingsMediaReferenceSchema = z.object({
|
|
21
24
|
mediaId: z.string().describe("Media item ID (use media_create or media_list)"),
|
|
22
25
|
alt: z.string().optional().describe("Alt text for the media reference")
|
|
@@ -51,6 +54,64 @@ const mediaUsageRepairToolSchema = z.object({
|
|
|
51
54
|
message: "Collection must be omitted when scope is all"
|
|
52
55
|
});
|
|
53
56
|
});
|
|
57
|
+
const schemaUpdateCollectionToolSchema = z.object({
|
|
58
|
+
slug: z.string().min(1).max(63).regex(COLLECTION_SLUG_PATTERN, "Invalid collection slug").describe("Collection slug to update; the slug itself cannot be changed"),
|
|
59
|
+
label: updateCollectionBody.shape.label.describe("New plural display name"),
|
|
60
|
+
labelSingular: updateCollectionBody.shape.labelSingular.describe("New singular display name"),
|
|
61
|
+
description: updateCollectionBody.shape.description.describe("New collection description"),
|
|
62
|
+
icon: updateCollectionBody.shape.icon.describe("New admin UI icon name"),
|
|
63
|
+
supports: updateCollectionBody.shape.supports.describe("Complete feature list to enable; omit to preserve the current list"),
|
|
64
|
+
urlPattern: updateCollectionBody.shape.urlPattern.describe("New public URL pattern; pass null to clear it"),
|
|
65
|
+
routable: updateCollectionBody.shape.routable.describe("Whether entries require a slug before they can be published"),
|
|
66
|
+
hasSeo: updateCollectionBody.shape.hasSeo.describe("Whether the collection supports SEO metadata"),
|
|
67
|
+
commentsEnabled: updateCollectionBody.shape.commentsEnabled.describe("Whether comments are enabled for this collection"),
|
|
68
|
+
commentsModeration: updateCollectionBody.shape.commentsModeration.describe("Comment moderation policy"),
|
|
69
|
+
commentsClosedAfterDays: updateCollectionBody.shape.commentsClosedAfterDays.describe("Close comments after this many days; 0 keeps them open"),
|
|
70
|
+
commentsAutoApproveUsers: updateCollectionBody.shape.commentsAutoApproveUsers.describe("Whether comments from authenticated users are automatically approved")
|
|
71
|
+
});
|
|
72
|
+
const schemaUpdateFieldToolSchema = z.object({
|
|
73
|
+
collection: z.string().min(1).max(63).regex(COLLECTION_SLUG_PATTERN, "Invalid collection slug").describe("Collection slug containing the field"),
|
|
74
|
+
fieldSlug: z.string().min(1).max(63).regex(COLLECTION_SLUG_PATTERN, "Invalid field slug").describe("Field slug to update; the slug itself cannot be changed"),
|
|
75
|
+
label: updateFieldBody.shape.label.describe("New display name"),
|
|
76
|
+
type: updateFieldBody.shape.type.describe("New field type; only string, text, and slug aliases can be changed in place"),
|
|
77
|
+
required: updateFieldBody.shape.required.describe("Whether the field is required; changing this requires a manual content migration"),
|
|
78
|
+
unique: updateFieldBody.shape.unique.describe("Whether field values must be unique; changing this requires a manual content migration"),
|
|
79
|
+
defaultValue: updateFieldBody.shape.defaultValue.describe("Default value for new content"),
|
|
80
|
+
validation: updateFieldBody.shape.validation.describe("Validation constraints; pass null to clear existing constraints"),
|
|
81
|
+
widget: updateFieldBody.shape.widget.describe("Admin editor widget name"),
|
|
82
|
+
options: updateFieldBody.shape.options.describe("Widget configuration"),
|
|
83
|
+
sortOrder: updateFieldBody.shape.sortOrder.describe("Field order in the content editor"),
|
|
84
|
+
searchable: updateFieldBody.shape.searchable.describe("Whether full-text search indexes the field"),
|
|
85
|
+
translatable: updateFieldBody.shape.translatable.describe("Whether values vary by locale; changing to false requires a manual content migration"),
|
|
86
|
+
indexed: updateFieldBody.shape.indexed.describe("Create or remove a physical index for structured sorting")
|
|
87
|
+
});
|
|
88
|
+
function encodeTaxonomyCursor(term) {
|
|
89
|
+
const cursor = encodeBase64(JSON.stringify({
|
|
90
|
+
v: TAXONOMY_CURSOR_VERSION,
|
|
91
|
+
id: term.id
|
|
92
|
+
}));
|
|
93
|
+
if (cursor.length > MAX_TAXONOMY_CURSOR_LENGTH) throw new InvalidCursorError(cursor);
|
|
94
|
+
return cursor;
|
|
95
|
+
}
|
|
96
|
+
function decodeTaxonomyCursor(cursor) {
|
|
97
|
+
if (!cursor || cursor.length > MAX_TAXONOMY_CURSOR_LENGTH) throw new InvalidCursorError(cursor);
|
|
98
|
+
let parsed;
|
|
99
|
+
try {
|
|
100
|
+
parsed = JSON.parse(decodeBase64(cursor));
|
|
101
|
+
} catch {
|
|
102
|
+
throw new InvalidCursorError(cursor);
|
|
103
|
+
}
|
|
104
|
+
if (parsed === null || typeof parsed !== "object") throw new InvalidCursorError(cursor);
|
|
105
|
+
const candidate = parsed;
|
|
106
|
+
if ("v" in candidate) {
|
|
107
|
+
const { v, id } = candidate;
|
|
108
|
+
if (v !== TAXONOMY_CURSOR_VERSION || typeof id !== "string" || id.length === 0 || id.includes("\0")) throw new InvalidCursorError(cursor);
|
|
109
|
+
return { id };
|
|
110
|
+
}
|
|
111
|
+
const legacy = decodeCursor(cursor);
|
|
112
|
+
if (legacy.orderValue.includes("\0") || legacy.id.length === 0 || legacy.id.includes("\0")) throw new InvalidCursorError(cursor);
|
|
113
|
+
return { id: legacy.id };
|
|
114
|
+
}
|
|
54
115
|
/**
|
|
55
116
|
* Return a successful tool response with the data as pretty-printed JSON.
|
|
56
117
|
*/
|
|
@@ -173,7 +234,7 @@ function getEmDash(extra) {
|
|
|
173
234
|
}
|
|
174
235
|
async function getCollectionFields(ec, collection) {
|
|
175
236
|
try {
|
|
176
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
237
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
177
238
|
const col = await new SchemaRegistry(ec.db).getCollectionWithFields(collection);
|
|
178
239
|
return col ? col.fields : null;
|
|
179
240
|
} catch {
|
|
@@ -202,7 +263,7 @@ async function applyReadMarkdown(ec, collection, items) {
|
|
|
202
263
|
for (const item of items) if (item.data && typeof item.data === "object") item.data = convertDataForRead(item.data, fields, false);
|
|
203
264
|
}
|
|
204
265
|
async function invalidateBylines() {
|
|
205
|
-
const { invalidateBylineCache } = await import("../../../bylines-
|
|
266
|
+
const { invalidateBylineCache } = await import("../../../bylines-BWemdX2k.mjs").then((n) => n.t);
|
|
206
267
|
invalidateBylineCache();
|
|
207
268
|
}
|
|
208
269
|
/**
|
|
@@ -316,7 +377,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
316
377
|
throw new EmDashAuthError(`Insufficient permission: requires ${tool.permission}`, "INSUFFICIENT_PERMISSIONS");
|
|
317
378
|
}
|
|
318
379
|
if (!request) return respondError("INTERNAL_ERROR", "Missing MCP request context");
|
|
319
|
-
const result = await payload.emdash.handlePluginMcpTool(tool.pluginId, tool.name, tool.route, input, payload.userId, request);
|
|
380
|
+
const result = await payload.emdash.handlePluginMcpTool(tool.pluginId, tool.name, tool.route, input, payload.userId, request, payload.user);
|
|
320
381
|
if (!result.success) return unwrap(result);
|
|
321
382
|
if (tool.outputSchema) {
|
|
322
383
|
if (!result.data || typeof result.data !== "object" || Array.isArray(result.data)) return respondError("INVALID_PLUGIN_OUTPUT", "Plugin tool output must be an object when outputSchema is declared");
|
|
@@ -758,7 +819,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
758
819
|
requireScope(extra, "content:read");
|
|
759
820
|
const ec = getEmDash(extra);
|
|
760
821
|
try {
|
|
761
|
-
const { BylineRepository } = await import("../../../byline-
|
|
822
|
+
const { BylineRepository } = await import("../../../byline-pEcoDps8.mjs").then((n) => n.n);
|
|
762
823
|
return jsonResult(await new BylineRepository(ec.db).findMany({
|
|
763
824
|
search: args.search,
|
|
764
825
|
isGuest: args.isGuest,
|
|
@@ -780,7 +841,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
780
841
|
requireScope(extra, "content:read");
|
|
781
842
|
const ec = getEmDash(extra);
|
|
782
843
|
try {
|
|
783
|
-
const { BylineRepository } = await import("../../../byline-
|
|
844
|
+
const { BylineRepository } = await import("../../../byline-pEcoDps8.mjs").then((n) => n.n);
|
|
784
845
|
const byline = await new BylineRepository(ec.db).findById(args.id);
|
|
785
846
|
if (!byline) return respondError("NOT_FOUND", `Byline '${args.id}' not found`);
|
|
786
847
|
return jsonResult(byline);
|
|
@@ -798,7 +859,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
798
859
|
requireRole(extra, Role.EDITOR);
|
|
799
860
|
const ec = getEmDash(extra);
|
|
800
861
|
try {
|
|
801
|
-
const { handleBylineCreate } = await import("../../../bylines-
|
|
862
|
+
const { handleBylineCreate } = await import("../../../bylines-DJfSfXCL.mjs").then((n) => n.t);
|
|
802
863
|
const result = await handleBylineCreate(ec.db, args);
|
|
803
864
|
if (result.success) await invalidateBylines();
|
|
804
865
|
return unwrap(result);
|
|
@@ -818,7 +879,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
818
879
|
requireRole(extra, Role.EDITOR);
|
|
819
880
|
const ec = getEmDash(extra);
|
|
820
881
|
try {
|
|
821
|
-
const { handleBylineUpdate } = await import("../../../bylines-
|
|
882
|
+
const { handleBylineUpdate } = await import("../../../bylines-DJfSfXCL.mjs").then((n) => n.t);
|
|
822
883
|
const { id, ...input } = args;
|
|
823
884
|
const result = await handleBylineUpdate(ec.db, id, input);
|
|
824
885
|
if (result.success) await invalidateBylines();
|
|
@@ -837,7 +898,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
837
898
|
requireRole(extra, Role.EDITOR);
|
|
838
899
|
const ec = getEmDash(extra);
|
|
839
900
|
try {
|
|
840
|
-
const { BylineRepository } = await import("../../../byline-
|
|
901
|
+
const { BylineRepository } = await import("../../../byline-pEcoDps8.mjs").then((n) => n.n);
|
|
841
902
|
if (!await new BylineRepository(ec.db).delete(args.id)) return respondError("NOT_FOUND", `Byline '${args.id}' not found`);
|
|
842
903
|
await invalidateBylines();
|
|
843
904
|
return jsonResult({ deleted: args.id });
|
|
@@ -854,7 +915,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
854
915
|
requireScope(extra, "content:read");
|
|
855
916
|
const ec = getEmDash(extra);
|
|
856
917
|
try {
|
|
857
|
-
const { handleBylineTranslations } = await import("../../../bylines-
|
|
918
|
+
const { handleBylineTranslations } = await import("../../../bylines-DJfSfXCL.mjs").then((n) => n.t);
|
|
858
919
|
return unwrap(await handleBylineTranslations(ec.db, args.id));
|
|
859
920
|
} catch (error) {
|
|
860
921
|
return respondHandlerError(error, "BYLINE_TRANSLATIONS_ERROR");
|
|
@@ -870,7 +931,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
870
931
|
requireRole(extra, Role.EDITOR);
|
|
871
932
|
const ec = getEmDash(extra);
|
|
872
933
|
try {
|
|
873
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
934
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
874
935
|
return jsonResult({ items: await new SchemaRegistry(ec.db).listCollections() });
|
|
875
936
|
} catch (error) {
|
|
876
937
|
return respondHandlerError(error, "SCHEMA_LIST_ERROR");
|
|
@@ -886,7 +947,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
886
947
|
requireRole(extra, Role.EDITOR);
|
|
887
948
|
const ec = getEmDash(extra);
|
|
888
949
|
try {
|
|
889
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
950
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
890
951
|
const collection = await new SchemaRegistry(ec.db).getCollectionWithFields(args.slug);
|
|
891
952
|
if (!collection) return respondError("NOT_FOUND", `Collection '${args.slug}' not found`);
|
|
892
953
|
return jsonResult(collection);
|
|
@@ -896,34 +957,30 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
896
957
|
});
|
|
897
958
|
server.registerTool("schema_create_collection", {
|
|
898
959
|
title: "Create Collection",
|
|
899
|
-
description: "Create a new content collection (content type). This creates a database table and schema definition. The slug must be lowercase alphanumeric with underscores, starting with a letter. Supports: 'drafts' (draft/publish workflow), 'revisions' (version history), 'preview' (live preview), 'scheduling' (timed publish), 'search' (full-text indexing).",
|
|
960
|
+
description: "Create a new content collection (content type). This creates a database table and schema definition. The slug must be lowercase alphanumeric with underscores, starting with a letter. Supports: 'drafts' (draft/publish workflow), 'revisions' (version history), 'preview' (live preview), 'scheduling' (timed publish), 'search' (full-text indexing), and 'seo' (SEO metadata).",
|
|
900
961
|
inputSchema: z.object({
|
|
901
962
|
slug: z.string().regex(COLLECTION_SLUG_PATTERN).describe("Unique identifier (lowercase letters, numbers, underscores)"),
|
|
902
963
|
label: z.string().describe("Display name (plural, e.g. 'Blog Posts')"),
|
|
903
964
|
labelSingular: z.string().optional().describe("Singular display name (e.g. 'Blog Post')"),
|
|
904
965
|
description: z.string().optional().describe("Description of this collection"),
|
|
905
966
|
icon: z.string().optional().describe("Icon name for the admin UI"),
|
|
906
|
-
supports:
|
|
907
|
-
|
|
908
|
-
"revisions",
|
|
909
|
-
"preview",
|
|
910
|
-
"scheduling",
|
|
911
|
-
"search"
|
|
912
|
-
])).optional().describe("Features to enable (default: ['drafts', 'revisions'])")
|
|
967
|
+
supports: createCollectionBody.shape.supports.describe("Features to enable (default: ['drafts', 'revisions'])"),
|
|
968
|
+
routable: createCollectionBody.shape.routable.describe("Require a slug before publishing (default: true)")
|
|
913
969
|
})
|
|
914
970
|
}, async (args, extra) => {
|
|
915
971
|
requireScope(extra, "schema:write");
|
|
916
972
|
requireRole(extra, Role.ADMIN);
|
|
917
973
|
const ec = getEmDash(extra);
|
|
918
974
|
try {
|
|
919
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
975
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
920
976
|
const collection = await new SchemaRegistry(ec.db).createCollection({
|
|
921
977
|
slug: args.slug,
|
|
922
978
|
label: args.label,
|
|
923
979
|
labelSingular: args.labelSingular,
|
|
924
980
|
description: args.description,
|
|
925
981
|
icon: args.icon,
|
|
926
|
-
supports: args.supports
|
|
982
|
+
supports: args.supports,
|
|
983
|
+
routable: args.routable
|
|
927
984
|
});
|
|
928
985
|
ec.invalidateUrlPatternCache();
|
|
929
986
|
return jsonResult(collection);
|
|
@@ -944,7 +1001,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
944
1001
|
requireRole(extra, Role.ADMIN);
|
|
945
1002
|
const ec = getEmDash(extra);
|
|
946
1003
|
try {
|
|
947
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1004
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
948
1005
|
await new SchemaRegistry(ec.db).deleteCollection(args.slug, { force: args.force });
|
|
949
1006
|
ec.invalidateUrlPatternCache();
|
|
950
1007
|
return jsonResult({ deleted: args.slug });
|
|
@@ -952,6 +1009,25 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
952
1009
|
return respondHandlerError(error, "SCHEMA_DELETE_ERROR");
|
|
953
1010
|
}
|
|
954
1011
|
});
|
|
1012
|
+
server.registerTool("schema_update_collection", {
|
|
1013
|
+
title: "Update Collection",
|
|
1014
|
+
description: "Update an existing collection without deleting its table, fields, or content. Only provided settings change; omitted settings keep their current values. The collection slug cannot be changed.",
|
|
1015
|
+
inputSchema: schemaUpdateCollectionToolSchema,
|
|
1016
|
+
annotations: { destructiveHint: false }
|
|
1017
|
+
}, async (args, extra) => {
|
|
1018
|
+
requireScope(extra, "schema:write");
|
|
1019
|
+
requireRole(extra, Role.ADMIN);
|
|
1020
|
+
const ec = getEmDash(extra);
|
|
1021
|
+
const { slug, ...input } = args;
|
|
1022
|
+
try {
|
|
1023
|
+
const { handleSchemaCollectionUpdate } = await import("../../../schema-CeQSNwB3.mjs").then((n) => n.m);
|
|
1024
|
+
const result = await handleSchemaCollectionUpdate(ec.db, slug, input);
|
|
1025
|
+
if (result.success) ec.invalidateUrlPatternCache();
|
|
1026
|
+
return unwrap(result);
|
|
1027
|
+
} catch (error) {
|
|
1028
|
+
return respondHandlerError(error, "SCHEMA_UPDATE_ERROR");
|
|
1029
|
+
}
|
|
1030
|
+
});
|
|
955
1031
|
server.registerTool("schema_create_field", {
|
|
956
1032
|
title: "Add Field to Collection",
|
|
957
1033
|
description: "Add a new field to a collection's schema. This adds a column to the database table. Field types: string (short text), text (long text), number (decimal), integer, boolean, datetime, select (single choice), multiSelect (multiple), portableText (rich text), image, file, reference (link to another collection), json, slug (URL-safe id). For select/multiSelect, provide choices in validation.options array.",
|
|
@@ -991,6 +1067,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
991
1067
|
rows: z.number().optional().describe("Number of rows for textarea")
|
|
992
1068
|
}).passthrough().optional().describe("Widget configuration"),
|
|
993
1069
|
searchable: z.boolean().optional().describe("Include in full-text search index (default false)"),
|
|
1070
|
+
indexed: z.boolean().optional().describe("Create a physical index for structured sorting"),
|
|
994
1071
|
translatable: z.boolean().optional().describe("Whether this field is translatable (default true). Non-translatable fields are synced across all locales in a translation group.")
|
|
995
1072
|
})
|
|
996
1073
|
}, async (args, extra) => {
|
|
@@ -998,7 +1075,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
998
1075
|
requireRole(extra, Role.ADMIN);
|
|
999
1076
|
const ec = getEmDash(extra);
|
|
1000
1077
|
try {
|
|
1001
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1078
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
1002
1079
|
return jsonResult(await new SchemaRegistry(ec.db).createField(args.collection, {
|
|
1003
1080
|
slug: args.slug,
|
|
1004
1081
|
label: args.label,
|
|
@@ -1009,6 +1086,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1009
1086
|
validation: args.validation,
|
|
1010
1087
|
options: args.options,
|
|
1011
1088
|
searchable: args.searchable,
|
|
1089
|
+
indexed: args.indexed,
|
|
1012
1090
|
translatable: args.translatable
|
|
1013
1091
|
}));
|
|
1014
1092
|
} catch (error) {
|
|
@@ -1028,7 +1106,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1028
1106
|
requireRole(extra, Role.ADMIN);
|
|
1029
1107
|
const ec = getEmDash(extra);
|
|
1030
1108
|
try {
|
|
1031
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1109
|
+
const { SchemaRegistry } = await import("../../../schema-BFyTg38T.mjs").then((n) => n.t);
|
|
1032
1110
|
await new SchemaRegistry(ec.db).deleteField(args.collection, args.fieldSlug);
|
|
1033
1111
|
return jsonResult({
|
|
1034
1112
|
deleted: args.fieldSlug,
|
|
@@ -1038,6 +1116,23 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1038
1116
|
return respondHandlerError(error, "FIELD_DELETE_ERROR");
|
|
1039
1117
|
}
|
|
1040
1118
|
});
|
|
1119
|
+
server.registerTool("schema_update_field", {
|
|
1120
|
+
title: "Update Field",
|
|
1121
|
+
description: "Update an existing field without deleting its column or stored values. Only provided settings change; omitted settings keep their current values. Changes that require a content or column migration are rejected with migration guidance.",
|
|
1122
|
+
inputSchema: schemaUpdateFieldToolSchema,
|
|
1123
|
+
annotations: { destructiveHint: false }
|
|
1124
|
+
}, async (args, extra) => {
|
|
1125
|
+
requireScope(extra, "schema:write");
|
|
1126
|
+
requireRole(extra, Role.ADMIN);
|
|
1127
|
+
const ec = getEmDash(extra);
|
|
1128
|
+
const { collection, fieldSlug, ...input } = args;
|
|
1129
|
+
try {
|
|
1130
|
+
const { handleSchemaFieldUpdate } = await import("../../../schema-CeQSNwB3.mjs").then((n) => n.m);
|
|
1131
|
+
return unwrap(await handleSchemaFieldUpdate(ec.db, collection, fieldSlug, input));
|
|
1132
|
+
} catch (error) {
|
|
1133
|
+
return respondHandlerError(error, "SCHEMA_FIELD_UPDATE_ERROR");
|
|
1134
|
+
}
|
|
1135
|
+
});
|
|
1041
1136
|
server.registerTool("media_list", {
|
|
1042
1137
|
title: "List Media",
|
|
1043
1138
|
description: "List uploaded media files (images, documents, etc.) with optional MIME type filtering and pagination. Returns file metadata including filename, URL, dimensions, and alt text.",
|
|
@@ -1103,7 +1198,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1103
1198
|
const { emdash, userId } = getExtra(extra);
|
|
1104
1199
|
if (!emdash.storage) return respondError("NO_STORAGE", "Storage not configured");
|
|
1105
1200
|
try {
|
|
1106
|
-
const { handleMediaUpload } = await import("../../../media-upload-
|
|
1201
|
+
const { handleMediaUpload } = await import("../../../media-upload-9yas9zGH.mjs");
|
|
1107
1202
|
return unwrap(await handleMediaUpload(emdash.db, emdash.storage, {
|
|
1108
1203
|
filename: args.filename,
|
|
1109
1204
|
base64: args.base64,
|
|
@@ -1183,7 +1278,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1183
1278
|
};
|
|
1184
1279
|
} else input = { scope: "all" };
|
|
1185
1280
|
try {
|
|
1186
|
-
const { handleMediaUsageRepair } = await import("../../../media-usage-
|
|
1281
|
+
const { handleMediaUsageRepair } = await import("../../../media-usage-De3qvwjc.mjs").then((n) => n.i);
|
|
1187
1282
|
return unwrap(await handleMediaUsageRepair(ec.db, input));
|
|
1188
1283
|
} catch (error) {
|
|
1189
1284
|
return respondHandlerError(error, "MEDIA_USAGE_REPAIR_ERROR");
|
|
@@ -1204,7 +1299,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1204
1299
|
requireScope(extra, "content:read");
|
|
1205
1300
|
const ec = getEmDash(extra);
|
|
1206
1301
|
try {
|
|
1207
|
-
const { searchWithDb } = await import("../../../search-
|
|
1302
|
+
const { searchWithDb } = await import("../../../search-BpuPKZb0.mjs").then((n) => n.t);
|
|
1208
1303
|
return jsonResult(await searchWithDb(ec.db, args.query, {
|
|
1209
1304
|
collections: args.collections,
|
|
1210
1305
|
locale: args.locale,
|
|
@@ -1224,7 +1319,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1224
1319
|
requireScope(extra, "content:read");
|
|
1225
1320
|
const ec = getEmDash(extra);
|
|
1226
1321
|
try {
|
|
1227
|
-
const { handleTaxonomyList } = await import("../../../taxonomies-
|
|
1322
|
+
const { handleTaxonomyList } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1228
1323
|
return unwrap(await handleTaxonomyList(ec.db, { locale: args.locale }));
|
|
1229
1324
|
} catch (error) {
|
|
1230
1325
|
return respondHandlerError(error, "TAXONOMY_LIST_ERROR");
|
|
@@ -1236,7 +1331,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1236
1331
|
inputSchema: z.object({
|
|
1237
1332
|
taxonomy: z.string().describe("Taxonomy name (e.g. 'categories', 'tags')"),
|
|
1238
1333
|
limit: z.number().int().min(1).max(100).optional().describe("Max items (default 50)"),
|
|
1239
|
-
cursor: z.string().min(1).max(
|
|
1334
|
+
cursor: z.string().min(1).max(MAX_TAXONOMY_CURSOR_LENGTH).optional().describe("Pagination cursor"),
|
|
1240
1335
|
locale: z.string().optional().describe("Filter by locale (omit for all)")
|
|
1241
1336
|
}),
|
|
1242
1337
|
annotations: { readOnlyHint: true }
|
|
@@ -1244,33 +1339,39 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1244
1339
|
requireScope(extra, "content:read");
|
|
1245
1340
|
const ec = getEmDash(extra);
|
|
1246
1341
|
try {
|
|
1247
|
-
const { handleTaxonomyList } = await import("../../../taxonomies-
|
|
1342
|
+
const { handleTaxonomyList } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1248
1343
|
const listResult = await handleTaxonomyList(ec.db, { locale: args.locale });
|
|
1249
1344
|
if (!listResult.success) return unwrap(listResult);
|
|
1250
1345
|
if (!listResult.data.taxonomies.find((t) => t.name === args.taxonomy)) return respondError("NOT_FOUND", `Taxonomy '${args.taxonomy}' not found`);
|
|
1251
|
-
const { TaxonomyRepository } = await import("../../../taxonomy-
|
|
1252
|
-
const { decodeCursor, encodeCursor, InvalidCursorError } = await import("../../../types-Cd8iuS1J.mjs").then((n) => n.s);
|
|
1346
|
+
const { TaxonomyRepository } = await import("../../../taxonomy-CPeM8d2o.mjs").then((n) => n.n);
|
|
1253
1347
|
const repo = new TaxonomyRepository(ec.db);
|
|
1254
1348
|
const limit = Math.min(args.limit ?? 50, 100);
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
} catch (error) {
|
|
1262
|
-
if (error instanceof InvalidCursorError) return respondError("INVALID_CURSOR", error.message);
|
|
1263
|
-
throw error;
|
|
1264
|
-
}
|
|
1265
|
-
startIdx = terms.findIndex((t) => t.label > decoded.orderValue || t.label === decoded.orderValue && t.id > decoded.id);
|
|
1266
|
-
if (startIdx < 0) startIdx = terms.length;
|
|
1349
|
+
let cursor;
|
|
1350
|
+
if (args.cursor) try {
|
|
1351
|
+
cursor = decodeTaxonomyCursor(args.cursor);
|
|
1352
|
+
} catch (error) {
|
|
1353
|
+
if (error instanceof InvalidCursorError) return respondError("INVALID_CURSOR", error.message);
|
|
1354
|
+
throw error;
|
|
1267
1355
|
}
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1356
|
+
let pageCursor;
|
|
1357
|
+
if (cursor) {
|
|
1358
|
+
const cursorTerm = await repo.findById(cursor.id);
|
|
1359
|
+
if (!cursorTerm || cursorTerm.name !== args.taxonomy || args.locale !== void 0 && cursorTerm.locale !== args.locale) return respondError("INVALID_CURSOR", "Pagination cursor no longer identifies a term");
|
|
1360
|
+
pageCursor = {
|
|
1361
|
+
sortOrder: cursorTerm.sortOrder,
|
|
1362
|
+
label: cursorTerm.label,
|
|
1363
|
+
id: cursorTerm.id
|
|
1364
|
+
};
|
|
1365
|
+
}
|
|
1366
|
+
const page = await repo.findPageByName(args.taxonomy, {
|
|
1367
|
+
locale: args.locale,
|
|
1368
|
+
limit,
|
|
1369
|
+
...pageCursor ? { cursor: pageCursor } : {}
|
|
1370
|
+
});
|
|
1371
|
+
const last = page.items.at(-1);
|
|
1372
|
+
const nextCursor = page.hasMore && last ? encodeTaxonomyCursor(last) : void 0;
|
|
1272
1373
|
return jsonResult({
|
|
1273
|
-
items: page.map((t) => ({
|
|
1374
|
+
items: page.items.map((t) => ({
|
|
1274
1375
|
id: t.id,
|
|
1275
1376
|
name: t.name,
|
|
1276
1377
|
slug: t.slug,
|
|
@@ -1291,7 +1392,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1291
1392
|
description: "Create a new term in a taxonomy. For hierarchical taxonomies like categories, you can specify a parentId to create a child term. The parent must exist and belong to the same taxonomy. The parent's ancestor chain must not exceed 100 levels — attempts to attach a new term beneath a chain of 100+ existing ancestors are rejected.",
|
|
1292
1393
|
inputSchema: z.object({
|
|
1293
1394
|
taxonomy: z.string().describe("Taxonomy name (e.g. 'categories', 'tags')"),
|
|
1294
|
-
slug: z.string().describe("URL
|
|
1395
|
+
slug: z.string().min(1).optional().describe("URL identifier for the term; omit to derive it from the label"),
|
|
1295
1396
|
label: z.string().describe("Display name"),
|
|
1296
1397
|
parentId: z.string().optional().describe("Parent term ID for hierarchical taxonomies"),
|
|
1297
1398
|
description: z.string().optional().describe("Description of the term"),
|
|
@@ -1303,7 +1404,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1303
1404
|
requireRole(extra, Role.EDITOR);
|
|
1304
1405
|
const ec = getEmDash(extra);
|
|
1305
1406
|
try {
|
|
1306
|
-
const { handleTermCreate } = await import("../../../taxonomies-
|
|
1407
|
+
const { handleTermCreate } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1307
1408
|
return unwrap(await handleTermCreate(ec.db, args.taxonomy, {
|
|
1308
1409
|
slug: args.slug,
|
|
1309
1410
|
label: args.label,
|
|
@@ -1332,7 +1433,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1332
1433
|
requireRole(extra, Role.EDITOR);
|
|
1333
1434
|
const ec = getEmDash(extra);
|
|
1334
1435
|
try {
|
|
1335
|
-
const { handleTermUpdate } = await import("../../../taxonomies-
|
|
1436
|
+
const { handleTermUpdate } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1336
1437
|
return unwrap(await handleTermUpdate(ec.db, args.taxonomy, args.termSlug, {
|
|
1337
1438
|
slug: args.slug,
|
|
1338
1439
|
label: args.label,
|
|
@@ -1356,7 +1457,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1356
1457
|
requireRole(extra, Role.EDITOR);
|
|
1357
1458
|
const ec = getEmDash(extra);
|
|
1358
1459
|
try {
|
|
1359
|
-
const { handleTermDelete } = await import("../../../taxonomies-
|
|
1460
|
+
const { handleTermDelete } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1360
1461
|
return unwrap(await handleTermDelete(ec.db, args.taxonomy, args.termSlug));
|
|
1361
1462
|
} catch (error) {
|
|
1362
1463
|
return respondHandlerError(error, "TAXONOMY_TERM_DELETE_ERROR");
|
|
@@ -1371,7 +1472,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1371
1472
|
requireScope(extra, "content:read");
|
|
1372
1473
|
const ec = getEmDash(extra);
|
|
1373
1474
|
try {
|
|
1374
|
-
const { handleTermTranslations } = await import("../../../taxonomies-
|
|
1475
|
+
const { handleTermTranslations } = await import("../../../taxonomies-Dk3MAklL.mjs").then((n) => n.m);
|
|
1375
1476
|
return unwrap(await handleTermTranslations(ec.db, args.id));
|
|
1376
1477
|
} catch (error) {
|
|
1377
1478
|
return respondHandlerError(error, "TERM_TRANSLATIONS_ERROR");
|
|
@@ -1386,7 +1487,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1386
1487
|
requireScope(extra, "content:read");
|
|
1387
1488
|
const ec = getEmDash(extra);
|
|
1388
1489
|
try {
|
|
1389
|
-
const { handleMenuList } = await import("../../../menus-
|
|
1490
|
+
const { handleMenuList } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1390
1491
|
return unwrap(await handleMenuList(ec.db, { locale: args.locale }));
|
|
1391
1492
|
} catch (error) {
|
|
1392
1493
|
return respondHandlerError(error, "MENU_LIST_ERROR");
|
|
@@ -1404,7 +1505,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1404
1505
|
requireScope(extra, "content:read");
|
|
1405
1506
|
const ec = getEmDash(extra);
|
|
1406
1507
|
try {
|
|
1407
|
-
const { handleMenuGet } = await import("../../../menus-
|
|
1508
|
+
const { handleMenuGet } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1408
1509
|
return unwrap(await handleMenuGet(ec.db, args.name, { locale: args.locale }));
|
|
1409
1510
|
} catch (error) {
|
|
1410
1511
|
return respondHandlerError(error, "MENU_GET_ERROR");
|
|
@@ -1419,7 +1520,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1419
1520
|
requireScope(extra, "content:read");
|
|
1420
1521
|
const ec = getEmDash(extra);
|
|
1421
1522
|
try {
|
|
1422
|
-
const { handleMenuTranslations } = await import("../../../menus-
|
|
1523
|
+
const { handleMenuTranslations } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1423
1524
|
return unwrap(await handleMenuTranslations(ec.db, args.id));
|
|
1424
1525
|
} catch (error) {
|
|
1425
1526
|
return respondHandlerError(error, "MENU_TRANSLATIONS_ERROR");
|
|
@@ -1439,7 +1540,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1439
1540
|
requireRole(extra, Role.EDITOR);
|
|
1440
1541
|
const ec = getEmDash(extra);
|
|
1441
1542
|
try {
|
|
1442
|
-
const { handleMenuCreate } = await import("../../../menus-
|
|
1543
|
+
const { handleMenuCreate } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1443
1544
|
return unwrap(await handleMenuCreate(ec.db, {
|
|
1444
1545
|
name: args.name,
|
|
1445
1546
|
label: args.label,
|
|
@@ -1463,7 +1564,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1463
1564
|
requireRole(extra, Role.EDITOR);
|
|
1464
1565
|
const ec = getEmDash(extra);
|
|
1465
1566
|
try {
|
|
1466
|
-
const { handleMenuUpdate } = await import("../../../menus-
|
|
1567
|
+
const { handleMenuUpdate } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1467
1568
|
return unwrap(await handleMenuUpdate(ec.db, args.name, {
|
|
1468
1569
|
label: args.label,
|
|
1469
1570
|
locale: args.locale
|
|
@@ -1485,7 +1586,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1485
1586
|
requireRole(extra, Role.EDITOR);
|
|
1486
1587
|
const ec = getEmDash(extra);
|
|
1487
1588
|
try {
|
|
1488
|
-
const { handleMenuDelete } = await import("../../../menus-
|
|
1589
|
+
const { handleMenuDelete } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1489
1590
|
return unwrap(await handleMenuDelete(ec.db, args.name, { locale: args.locale }));
|
|
1490
1591
|
} catch (error) {
|
|
1491
1592
|
return respondHandlerError(error, "MENU_DELETE_ERROR");
|
|
@@ -1520,7 +1621,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1520
1621
|
requireRole(extra, Role.EDITOR);
|
|
1521
1622
|
const ec = getEmDash(extra);
|
|
1522
1623
|
try {
|
|
1523
|
-
const { handleMenuSetItems } = await import("../../../menus-
|
|
1624
|
+
const { handleMenuSetItems } = await import("../../../menus-fxvEDYE6.mjs").then((n) => n.d);
|
|
1524
1625
|
return unwrap(await handleMenuSetItems(ec.db, args.name, args.items, { locale: args.locale }));
|
|
1525
1626
|
} catch (error) {
|
|
1526
1627
|
return respondHandlerError(error, "MENU_SET_ITEMS_ERROR");
|
|
@@ -1567,7 +1668,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1567
1668
|
requireRole(extra, Role.EDITOR);
|
|
1568
1669
|
const ec = getEmDash(extra);
|
|
1569
1670
|
try {
|
|
1570
|
-
const { handleSettingsGet } = await import("../../../settings-
|
|
1671
|
+
const { handleSettingsGet } = await import("../../../settings-BE9aqn_9.mjs").then((n) => n.r);
|
|
1571
1672
|
return unwrap(await handleSettingsGet(ec.db, ec.storage));
|
|
1572
1673
|
} catch (error) {
|
|
1573
1674
|
return respondHandlerError(error, "SETTINGS_READ_ERROR");
|
|
@@ -1593,7 +1694,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1593
1694
|
requireRole(extra, Role.ADMIN);
|
|
1594
1695
|
const ec = getEmDash(extra);
|
|
1595
1696
|
try {
|
|
1596
|
-
const { handleSettingsUpdate } = await import("../../../settings-
|
|
1697
|
+
const { handleSettingsUpdate } = await import("../../../settings-BE9aqn_9.mjs").then((n) => n.r);
|
|
1597
1698
|
return unwrap(await handleSettingsUpdate(ec.db, ec.storage, args));
|
|
1598
1699
|
} catch (error) {
|
|
1599
1700
|
return respondHandlerError(error, "SETTINGS_UPDATE_ERROR");
|
|
@@ -1631,6 +1732,7 @@ const POST = async ({ request, locals }) => {
|
|
|
1631
1732
|
scopes: [],
|
|
1632
1733
|
extra: {
|
|
1633
1734
|
emdash,
|
|
1735
|
+
user,
|
|
1634
1736
|
userId: user.id,
|
|
1635
1737
|
userRole: user.role,
|
|
1636
1738
|
tokenScopes: locals.tokenScopes
|