emdash 0.37.0 → 0.39.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/action-token-On1sot_c.mjs +26 -0
- package/dist/action-token-On1sot_c.mjs.map +1 -0
- package/dist/activation-CaMfdBt1.mjs +382 -0
- package/dist/activation-CaMfdBt1.mjs.map +1 -0
- package/dist/adapters-Cq10K4_c.d.mts +171 -0
- package/dist/adapters-Cq10K4_c.d.mts.map +1 -0
- package/dist/after-PcEvMY_6.mjs +96 -0
- package/dist/after-PcEvMY_6.mjs.map +1 -0
- package/dist/allowed-origins-1Sa-2wZK.mjs +116 -0
- package/dist/allowed-origins-1Sa-2wZK.mjs.map +1 -0
- package/dist/api/route-utils.d.mts +4 -3
- package/dist/api/route-utils.d.mts.map +1 -1
- package/dist/api/route-utils.mjs +45 -29
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +7 -6
- package/dist/api-DmjKxPCY.mjs +4831 -0
- package/dist/api-DmjKxPCY.mjs.map +1 -0
- package/dist/api-tokens-BIXItFKV.mjs +163 -0
- package/dist/api-tokens-BIXItFKV.mjs.map +1 -0
- package/dist/apply-drpfmqrR.mjs +1005 -0
- package/dist/apply-drpfmqrR.mjs.map +1 -0
- package/dist/artifact-fetch-COiMhVgk.mjs +813 -0
- package/dist/artifact-fetch-COiMhVgk.mjs.map +1 -0
- package/dist/astro/index.d.mts +14 -12
- package/dist/astro/index.d.mts.map +1 -1
- package/dist/astro/index.mjs +123 -13
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +12 -10
- package/dist/astro/middleware/auth.d.mts.map +1 -1
- package/dist/astro/middleware/auth.mjs +20 -11
- package/dist/astro/middleware/auth.mjs.map +1 -1
- package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
- package/dist/astro/middleware/redirect.mjs +11 -9
- package/dist/astro/middleware/redirect.mjs.map +1 -1
- package/dist/astro/middleware/request-context.d.mts +1 -1
- package/dist/astro/middleware/request-context.d.mts.map +1 -1
- package/dist/astro/middleware/request-context.mjs +154 -28
- package/dist/astro/middleware/request-context.mjs.map +1 -1
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.d.mts +13 -10
- package/dist/astro/middleware.d.mts.map +1 -1
- package/dist/astro/middleware.mjs +122 -3041
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +10 -9
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +10 -9
- 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 +13 -12
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +13 -12
- package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +13 -12
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +22 -21
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +22 -21
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/index.mjs +22 -21
- package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_/status.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +21 -54
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
- package/dist/astro/routes/api/admin/comments/bulk.mjs +15 -14
- package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
- package/dist/astro/routes/api/admin/comments/index.mjs +15 -14
- package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -6
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -5
- package/dist/astro/routes/api/admin/media-usage/activation.mjs +17 -16
- package/dist/astro/routes/api/admin/media-usage/activation.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +19 -18
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +19 -18
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/progress.mjs +17 -17
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +21 -20
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +19 -18
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +19 -18
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -1
- 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 +9 -66
- 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 +9 -69
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +66 -59
- 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 +65 -59
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +70 -61
- 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 +87 -63
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +66 -59
- 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 +65 -59
- 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 +85 -63
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +65 -59
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +70 -61
- 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 +90 -66
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +9 -7
- 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 +77 -63
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/verify.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +67 -61
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +66 -60
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.d.mts +8 -0
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +27 -0
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs.map +1 -0
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +65 -59
- 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 +65 -59
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +4 -4
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +11 -10
- package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +5 -5
- package/dist/astro/routes/api/admin/users/index.mjs +10 -9
- package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
- package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
- package/dist/astro/routes/api/auth/invite/complete.mjs +15 -14
- package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.mjs +12 -11
- package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/register-options.mjs +14 -13
- 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 +14 -13
- 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 +11 -10
- 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 +4 -4
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +10 -9
- 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 +16 -15
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +14 -13
- package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +15 -14
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.mjs +15 -14
- package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.mjs +15 -14
- package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/request.mjs +14 -13
- 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.d.mts.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -211
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +18 -17
- 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.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +17 -11
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/lock.d.mts +10 -0
- package/dist/astro/routes/api/content/_collection_/_id_/lock.d.mts.map +1 -0
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +67 -0
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -0
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.d.mts +8 -0
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.d.mts.map +1 -0
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +35 -0
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs.map +1 -0
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +16 -15
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts +9 -2
- package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +28 -16
- 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 +27 -23
- 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 +27 -23
- 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.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +27 -12
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +23 -20
- 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.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +25 -12
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +27 -14
- 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 +18 -12
- package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/trash.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
- package/dist/astro/routes/api/dashboard.mjs +14 -12
- 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/health.d.mts +8 -0
- package/dist/astro/routes/api/health.d.mts.map +1 -0
- package/dist/astro/routes/api/health.mjs +21 -0
- package/dist/astro/routes/api/health.mjs.map +1 -0
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +25 -23
- 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 +13 -11
- package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/execute.mjs +20 -19
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -10
- package/dist/astro/routes/api/import/wordpress/media.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.mjs +15 -14
- package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +14 -13
- package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -11
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +18 -17
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -23
- 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 +13 -11
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -33
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +17 -9
- package/dist/astro/routes/api/manifest.mjs.map +1 -1
- package/dist/astro/routes/api/mcp.d.mts.map +1 -1
- package/dist/astro/routes/api/mcp.mjs +192 -110
- package/dist/astro/routes/api/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +15 -14
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/replace.mjs +12 -11
- package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.mjs +8 -8
- package/dist/astro/routes/api/media/_id_/usage.mjs +23 -22
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +22 -21
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/asset/_id_/_filename_.d.mts +8 -0
- package/dist/astro/routes/api/media/asset/_id_/_filename_.d.mts.map +1 -0
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +52 -0
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs.map +1 -0
- package/dist/astro/routes/api/media/file/_...key_.mjs +3 -3
- package/dist/astro/routes/api/media/folders/_id_.mjs +12 -11
- package/dist/astro/routes/api/media/folders/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/folders/index.mjs +12 -11
- package/dist/astro/routes/api/media/folders/index.mjs.map +1 -1
- 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 +14 -13
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +26 -25
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +15 -14
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items.mjs +15 -14
- package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +15 -14
- package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/translations.mjs +15 -14
- package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_.mjs +15 -14
- package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/index.mjs +15 -14
- package/dist/astro/routes/api/menus/index.mjs.map +1 -1
- 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 +95 -24
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts +2 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +22 -40
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/index.mjs +18 -14
- package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/summary.mjs +18 -14
- package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.d.mts.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.mjs +20 -22
- package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/index.d.mts.map +1 -1
- package/dist/astro/routes/api/redirects/index.mjs +19 -19
- package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/index.mjs +27 -23
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/translations.mjs +21 -18
- package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +27 -23
- 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 +65 -59
- 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 +65 -59
- 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 +65 -59
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +65 -59
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +65 -59
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/reorder.mjs +65 -59
- package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +16 -14
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +65 -59
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +65 -59
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +16 -14
- package/dist/astro/routes/api/search/enable.mjs.map +1 -1
- package/dist/astro/routes/api/search/index.mjs +17 -14
- package/dist/astro/routes/api/search/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/rebuild.mjs +16 -14
- package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
- package/dist/astro/routes/api/search/stats.mjs +10 -9
- package/dist/astro/routes/api/search/stats.mjs.map +1 -1
- package/dist/astro/routes/api/search/suggest.mjs +15 -13
- package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
- package/dist/astro/routes/api/sections/_slug_.mjs +15 -13
- package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/sections/index.mjs +15 -13
- package/dist/astro/routes/api/sections/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +9 -8
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +8 -7
- package/dist/astro/routes/api/settings/backups/archives/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/export.mjs +9 -8
- package/dist/astro/routes/api/settings/backups/export.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/index.mjs +10 -9
- package/dist/astro/routes/api/settings/backups/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/email.mjs +6 -6
- package/dist/astro/routes/api/settings.mjs +22 -20
- package/dist/astro/routes/api/settings.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +16 -15
- package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin.mjs +15 -14
- package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-bypass.mjs +42 -38
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +4 -4
- package/dist/astro/routes/api/setup/index.mjs +43 -38
- 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 +11 -10
- package/dist/astro/routes/api/snapshot.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +22 -20
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/index.mjs +23 -21
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +8 -8
- package/dist/astro/routes/api/typegen.mjs +6 -6
- package/dist/astro/routes/api/visual-editing/action-token.d.mts +8 -0
- package/dist/astro/routes/api/visual-editing/action-token.d.mts.map +1 -0
- package/dist/astro/routes/api/visual-editing/action-token.mjs +25 -0
- package/dist/astro/routes/api/visual-editing/action-token.mjs.map +1 -0
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.d.mts +8 -0
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.d.mts.map +1 -0
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +37 -0
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs.map +1 -0
- package/dist/astro/routes/api/visual-editing/toolbar-labels.d.mts +8 -0
- package/dist/astro/routes/api/visual-editing/toolbar-labels.d.mts.map +1 -0
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +20 -0
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs.map +1 -0
- package/dist/astro/routes/api/well-known/auth.mjs +2 -2
- 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 +12 -11
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +16 -15
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +16 -15
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_.mjs +10 -10
- package/dist/astro/routes/api/widget-areas/index.mjs +16 -15
- 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 +13 -12
- package/dist/astro/routes/robots.txt.mjs.map +1 -1
- package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +24 -19
- package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
- package/dist/astro/routes/sitemap.xml.mjs +14 -13
- package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
- package/dist/astro/types.d.mts +79 -26
- 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/authoritative-records-DbqshfKD.mjs +5172 -0
- package/dist/authoritative-records-DbqshfKD.mjs.map +1 -0
- package/dist/authorize-BXpfMpp0.mjs +40 -0
- package/dist/authorize-BXpfMpp0.mjs.map +1 -0
- package/dist/backup-BsPQdwnS.mjs +246 -0
- package/dist/backup-BsPQdwnS.mjs.map +1 -0
- package/dist/base64-DvnNgP7e.mjs +63 -0
- package/dist/base64-DvnNgP7e.mjs.map +1 -0
- package/dist/byline-Doh-wt99.mjs +906 -0
- package/dist/byline-Doh-wt99.mjs.map +1 -0
- package/dist/byline-fields-CsrdvaLV.mjs +123 -0
- package/dist/byline-fields-CsrdvaLV.mjs.map +1 -0
- package/dist/byline-registry-D6lWzXk6.mjs +406 -0
- package/dist/byline-registry-D6lWzXk6.mjs.map +1 -0
- package/dist/bylines-Cop0hkoy.mjs +214 -0
- package/dist/bylines-Cop0hkoy.mjs.map +1 -0
- package/dist/bylines-kpBzHPr8.mjs +232 -0
- package/dist/bylines-kpBzHPr8.mjs.map +1 -0
- package/dist/cache-B0pOlXdM.mjs +108 -0
- package/dist/cache-B0pOlXdM.mjs.map +1 -0
- package/dist/capture-triggers-gxQxnxrJ.mjs +362 -0
- package/dist/capture-triggers-gxQxnxrJ.mjs.map +1 -0
- package/dist/challenge-store-CkRdSdd8.mjs +51 -0
- package/dist/challenge-store-CkRdSdd8.mjs.map +1 -0
- package/dist/checksum-Bsi2D9M1.mjs +162 -0
- package/dist/checksum-Bsi2D9M1.mjs.map +1 -0
- package/dist/chrome-tags-D7LGB91U.mjs +24 -0
- package/dist/chrome-tags-D7LGB91U.mjs.map +1 -0
- package/dist/chunks-BmWyou79.mjs +25 -0
- package/dist/chunks-BmWyou79.mjs.map +1 -0
- package/dist/cli/index.mjs +921 -106
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +17 -7
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +17 -12
- package/dist/client/index.mjs.map +1 -1
- package/dist/collection-deletion-C3Xixmkx.mjs +436 -0
- package/dist/collection-deletion-C3Xixmkx.mjs.map +1 -0
- package/dist/collection-slugs-cache-D9auiKmI.mjs +85 -0
- package/dist/collection-slugs-cache-D9auiKmI.mjs.map +1 -0
- package/dist/comment-DcT8qdPK.mjs +313 -0
- package/dist/comment-DcT8qdPK.mjs.map +1 -0
- package/dist/comment-reaction-DY5-y8Y5.mjs +85 -0
- package/dist/comment-reaction-DY5-y8Y5.mjs.map +1 -0
- package/dist/comments-B67VRNGw.mjs +204 -0
- package/dist/comments-B67VRNGw.mjs.map +1 -0
- package/dist/comments-BVzzt6x5.mjs +99 -0
- package/dist/comments-BVzzt6x5.mjs.map +1 -0
- package/dist/components-DIl9Qzh6.mjs +108 -0
- package/dist/components-DIl9Qzh6.mjs.map +1 -0
- package/dist/config-B2acLeC5.mjs +242 -0
- package/dist/config-B2acLeC5.mjs.map +1 -0
- package/dist/config-CGVeT8Hc.mjs +73 -0
- package/dist/config-CGVeT8Hc.mjs.map +1 -0
- package/dist/config-D3HhLON3.d.mts +39 -0
- package/dist/config-D3HhLON3.d.mts.map +1 -0
- package/dist/config-DS7e4EZ9.d.mts +6387 -0
- package/dist/config-DS7e4EZ9.d.mts.map +1 -0
- package/dist/content-DZ3B5qtA.mjs +2216 -0
- package/dist/content-DZ3B5qtA.mjs.map +1 -0
- package/dist/content-list-query-CbPdzsna.d.mts +26 -0
- package/dist/content-list-query-CbPdzsna.d.mts.map +1 -0
- package/dist/content-policy-CM4skrNi.mjs +46 -0
- package/dist/content-policy-CM4skrNi.mjs.map +1 -0
- package/dist/content-refresh-BHLHJgyt.mjs +3599 -0
- package/dist/content-refresh-BHLHJgyt.mjs.map +1 -0
- package/dist/content-repair-BVll5WNl.mjs +440 -0
- package/dist/content-repair-BVll5WNl.mjs.map +1 -0
- package/dist/context-B195kjqZ.mjs +1835 -0
- package/dist/context-B195kjqZ.mjs.map +1 -0
- package/dist/cron-BcR3RN4K.mjs +282 -0
- package/dist/cron-BcR3RN4K.mjs.map +1 -0
- package/dist/dashboard-CZD4G7k_.mjs +151 -0
- package/dist/dashboard-CZD4G7k_.mjs.map +1 -0
- package/dist/database/migration-lock.d.mts +37 -0
- package/dist/database/migration-lock.d.mts.map +1 -0
- package/dist/database/migration-lock.mjs +76 -0
- package/dist/database/migration-lock.mjs.map +1 -0
- package/dist/database/pg-migration-lock.d.mts +1 -1
- package/dist/database/pg-migration-lock.mjs +1 -1
- package/dist/database/pg-migration-lock.mjs.map +1 -1
- package/dist/datetime-normalization-PeiEdcRY.mjs +187 -0
- package/dist/datetime-normalization-PeiEdcRY.mjs.map +1 -0
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +4 -3
- package/dist/db/index.mjs.map +1 -1
- package/dist/db/libsql-migrations.d.mts +1 -1
- package/dist/db/libsql-migrations.mjs +7 -6
- package/dist/db/libsql-migrations.mjs.map +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres-migrations.d.mts +1 -1
- package/dist/db/postgres-migrations.mjs +7 -6
- package/dist/db/postgres-migrations.mjs.map +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite-migrations.d.mts +1 -1
- package/dist/db/sqlite-migrations.mjs +7 -6
- package/dist/db/sqlite-migrations.mjs.map +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/db/sqlite.mjs +1 -1
- package/dist/db-errors-CBD5yMro.mjs +55 -0
- package/dist/db-errors-CBD5yMro.mjs.map +1 -0
- package/dist/default-BtlxWgh9.mjs +81 -0
- package/dist/default-BtlxWgh9.mjs.map +1 -0
- package/dist/deferred-tasks-Ba9fphlE.d.mts +9 -0
- package/dist/deferred-tasks-Ba9fphlE.d.mts.map +1 -0
- package/dist/dev-typegen-CZaPLl3V.mjs +29 -0
- package/dist/dev-typegen-CZaPLl3V.mjs.map +1 -0
- package/dist/device-flow-3E5l0fpH.mjs +466 -0
- package/dist/device-flow-3E5l0fpH.mjs.map +1 -0
- package/dist/dialect-helpers-CtYdsX4W.mjs +307 -0
- package/dist/dialect-helpers-CtYdsX4W.mjs.map +1 -0
- package/dist/direct-executor-ZI8E01Yt.mjs +104 -0
- package/dist/direct-executor-ZI8E01Yt.mjs.map +1 -0
- package/dist/dist-2hDLsLeq.mjs +810 -0
- package/dist/dist-2hDLsLeq.mjs.map +1 -0
- package/dist/email-console-gc-E3Eqj.mjs +50 -0
- package/dist/email-console-gc-E3Eqj.mjs.map +1 -0
- package/dist/emdash-runtime-DZGinqTL.mjs +4041 -0
- package/dist/emdash-runtime-DZGinqTL.mjs.map +1 -0
- package/dist/enrich-C2Mk0lwE.mjs +194 -0
- package/dist/enrich-C2Mk0lwE.mjs.map +1 -0
- package/dist/entry-lock-D3C99MXS.mjs +1520 -0
- package/dist/entry-lock-D3C99MXS.mjs.map +1 -0
- package/dist/entry-lock-D9rnj2Lu.mjs +163 -0
- package/dist/entry-lock-D9rnj2Lu.mjs.map +1 -0
- package/dist/entry-lock-DX7QkqEg.d.mts +3503 -0
- package/dist/entry-lock-DX7QkqEg.d.mts.map +1 -0
- package/dist/entry-locks-CO_KaoU5.mjs +167 -0
- package/dist/entry-locks-CO_KaoU5.mjs.map +1 -0
- package/dist/error-CCTCskie.mjs +90 -0
- package/dist/error-CCTCskie.mjs.map +1 -0
- package/dist/errors-W3PA8HqB.mjs +447 -0
- package/dist/errors-W3PA8HqB.mjs.map +1 -0
- package/dist/escape-DN4Qmjsl.mjs +9 -0
- package/dist/escape-DN4Qmjsl.mjs.map +1 -0
- package/dist/field-defs-cache-B337z8UJ.mjs +77 -0
- package/dist/field-defs-cache-B337z8UJ.mjs.map +1 -0
- package/dist/focal-point-Gr34o-4o.mjs +23 -0
- package/dist/focal-point-Gr34o-4o.mjs.map +1 -0
- package/dist/fts-manager-DMb0sbIQ.mjs +413 -0
- package/dist/fts-manager-DMb0sbIQ.mjs.map +1 -0
- package/dist/hash-CLVFzWvx.mjs +37 -0
- package/dist/hash-CLVFzWvx.mjs.map +1 -0
- package/dist/hook-result-KY1jq21o.d.mts +31 -0
- package/dist/hook-result-KY1jq21o.d.mts.map +1 -0
- package/dist/hreflang-BgS2FqhH.d.mts +50 -0
- package/dist/hreflang-BgS2FqhH.d.mts.map +1 -0
- package/dist/hreflang-CrJwqoeb.mjs +105 -0
- package/dist/hreflang-CrJwqoeb.mjs.map +1 -0
- package/dist/http-route-dispatch-DAKlanXb.mjs +339 -0
- package/dist/http-route-dispatch-DAKlanXb.mjs.map +1 -0
- package/dist/identity-DRGSHEEr.mjs +35 -0
- package/dist/identity-DRGSHEEr.mjs.map +1 -0
- package/dist/import-DFr5B_hC.mjs +2020 -0
- package/dist/import-DFr5B_hC.mjs.map +1 -0
- package/dist/index-CDwKDkTq.d.mts +623 -0
- package/dist/index-CDwKDkTq.d.mts.map +1 -0
- package/dist/index.d.mts +27 -22
- package/dist/index.mjs +101 -86
- package/dist/init-lock-4eRRB4Le.mjs +56 -0
- package/dist/init-lock-4eRRB4Le.mjs.map +1 -0
- package/dist/install-finalization-5Os-QZ-2.mjs +58 -0
- package/dist/install-finalization-5Os-QZ-2.mjs.map +1 -0
- package/dist/lifecycle-7e-Lt_kX.mjs +25 -0
- package/dist/lifecycle-7e-Lt_kX.mjs.map +1 -0
- package/dist/load-Cu5bvCZh.mjs +28 -0
- package/dist/load-Cu5bvCZh.mjs.map +1 -0
- package/dist/loader-t4TxaFiQ.mjs +1004 -0
- package/dist/loader-t4TxaFiQ.mjs.map +1 -0
- package/dist/manifest-builder-D31UoJCu.mjs +189 -0
- package/dist/manifest-builder-D31UoJCu.mjs.map +1 -0
- package/dist/manifest-schema-Bkh8SeHd.mjs +491 -0
- package/dist/manifest-schema-Bkh8SeHd.mjs.map +1 -0
- package/dist/media/image-endpoint.mjs +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/index.mjs +4 -4
- package/dist/media/local-runtime.d.mts +14 -12
- package/dist/media/local-runtime.d.mts.map +1 -1
- package/dist/media/local-runtime.mjs +12 -11
- package/dist/media/local-runtime.mjs.map +1 -1
- package/dist/media-TBlKCwo7.mjs +334 -0
- package/dist/media-TBlKCwo7.mjs.map +1 -0
- package/dist/media-allowlist-s60eAIf6.mjs +44 -0
- package/dist/media-allowlist-s60eAIf6.mjs.map +1 -0
- package/dist/media-folders-ClIRLUQv.mjs +210 -0
- package/dist/media-folders-ClIRLUQv.mjs.map +1 -0
- package/dist/media-url-DY_ijO3B.mjs +43 -0
- package/dist/media-url-DY_ijO3B.mjs.map +1 -0
- package/dist/media-usage-C4NolTpQ.mjs +1833 -0
- package/dist/media-usage-C4NolTpQ.mjs.map +1 -0
- package/dist/media-usage-activation-CAhmb14O.mjs +78 -0
- package/dist/media-usage-activation-CAhmb14O.mjs.map +1 -0
- package/dist/media-usage-work-Cu5DqewW.mjs +586 -0
- package/dist/media-usage-work-Cu5DqewW.mjs.map +1 -0
- package/dist/media-usage-work-DJr3rOEN.mjs +152 -0
- package/dist/media-usage-work-DJr3rOEN.mjs.map +1 -0
- package/dist/media-usage-write-fence-DW5oHT7q.mjs +42 -0
- package/dist/media-usage-write-fence-DW5oHT7q.mjs.map +1 -0
- package/dist/menus-DbgU9z5Q.mjs +3732 -0
- package/dist/menus-DbgU9z5Q.mjs.map +1 -0
- package/dist/menus-Wy8m5NcH.mjs +753 -0
- package/dist/menus-Wy8m5NcH.mjs.map +1 -0
- package/dist/migrations/index.d.mts +2 -2
- package/dist/migrations/index.d.mts.map +1 -1
- package/dist/migrations/index.mjs +6 -5
- package/dist/mime-CCYRC4r1.mjs +36 -0
- package/dist/mime-CCYRC4r1.mjs.map +1 -0
- package/dist/mode-CkmOhFqj.mjs +23 -0
- package/dist/mode-CkmOhFqj.mjs.map +1 -0
- package/dist/node-sqlite-compat-vpVaILnb.mjs +46 -0
- package/dist/node-sqlite-compat-vpVaILnb.mjs.map +1 -0
- package/dist/normalize-dChXQjwS.mjs +191 -0
- package/dist/normalize-dChXQjwS.mjs.map +1 -0
- package/dist/oauth-authorization-DZ-R-hmx.mjs +274 -0
- package/dist/oauth-authorization-DZ-R-hmx.mjs.map +1 -0
- package/dist/oauth-clients-BMPA8vjl.mjs +266 -0
- package/dist/oauth-clients-BMPA8vjl.mjs.map +1 -0
- package/dist/oauth-state-store-0gIdb48-.mjs +50 -0
- package/dist/oauth-state-store-0gIdb48-.mjs.map +1 -0
- package/dist/oauth-user-lookup-ChVW4UWu.mjs +26 -0
- package/dist/oauth-user-lookup-ChVW4UWu.mjs.map +1 -0
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/object-cache-DlSVbn5Y.mjs +534 -0
- package/dist/object-cache-DlSVbn5Y.mjs.map +1 -0
- package/dist/options-D5WcorD5.mjs +200 -0
- package/dist/options-D5WcorD5.mjs.map +1 -0
- package/dist/options-DAknChnw.d.mts +77 -0
- package/dist/options-DAknChnw.d.mts.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/page/index.d.mts.map +1 -1
- package/dist/page/index.mjs +13 -0
- package/dist/page/index.mjs.map +1 -1
- package/dist/parse-Cr379Av9.mjs +81 -0
- package/dist/parse-Cr379Av9.mjs.map +1 -0
- package/dist/parse-tj9XLNO_.d.mts +165 -0
- package/dist/parse-tj9XLNO_.d.mts.map +1 -0
- package/dist/passkey-config-BD-wMaCf.mjs +46 -0
- package/dist/passkey-config-BD-wMaCf.mjs.map +1 -0
- package/dist/patterns-Do3iqi7N.mjs +145 -0
- package/dist/patterns-Do3iqi7N.mjs.map +1 -0
- package/dist/placeholder-CubPFn_L.d.mts +306 -0
- package/dist/placeholder-CubPFn_L.d.mts.map +1 -0
- package/dist/plugin-test-runtime.d.mts +97 -0
- package/dist/plugin-test-runtime.d.mts.map +1 -0
- package/dist/plugin-test-runtime.mjs +105 -0
- package/dist/plugin-types.d.mts +53 -15
- package/dist/plugin-types.d.mts.map +1 -1
- package/dist/plugin-types.mjs +18 -1
- package/dist/plugin-types.mjs.map +1 -0
- package/dist/plugin-utils.d.mts +12 -10
- package/dist/plugin-utils.d.mts.map +1 -1
- package/dist/plugins/adapt-sandbox-entry.d.mts +12 -10
- package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
- package/dist/plugins/adapt-sandbox-entry.mjs +18 -13
- package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
- package/dist/plugins/host.d.mts +7 -0
- package/dist/plugins/host.mjs +45 -0
- package/dist/plugins/http-wire.d.mts +25 -0
- package/dist/plugins/http-wire.d.mts.map +1 -0
- package/dist/plugins/http-wire.mjs +148 -0
- package/dist/plugins/http-wire.mjs.map +1 -0
- package/dist/plugins/secret-redactor.d.mts +9 -0
- package/dist/plugins/secret-redactor.d.mts.map +1 -0
- package/dist/plugins/secret-redactor.mjs +51 -0
- package/dist/plugins/secret-redactor.mjs.map +1 -0
- package/dist/plugins-DHurtdXQ.mjs +277 -0
- package/dist/plugins-DHurtdXQ.mjs.map +1 -0
- package/dist/policy-lyZnjpwz.mjs +45 -0
- package/dist/policy-lyZnjpwz.mjs.map +1 -0
- package/dist/portable-text-oAwodbPS.mjs +286 -0
- package/dist/portable-text-oAwodbPS.mjs.map +1 -0
- package/dist/preview-Cup2bj8c.mjs +107 -0
- package/dist/preview-Cup2bj8c.mjs.map +1 -0
- package/dist/protocol-C1CNiKX4.d.mts +61 -0
- package/dist/protocol-C1CNiKX4.d.mts.map +1 -0
- package/dist/public-submission-Cs-pFMQK.mjs +245 -0
- package/dist/public-submission-Cs-pFMQK.mjs.map +1 -0
- package/dist/public-url-BWVHsfQv.mjs +101 -0
- package/dist/public-url-BWVHsfQv.mjs.map +1 -0
- package/dist/query-D-lxiOgn.mjs +890 -0
- package/dist/query-D-lxiOgn.mjs.map +1 -0
- package/dist/query-D7kHKOws.mjs +41 -0
- package/dist/query-D7kHKOws.mjs.map +1 -0
- package/dist/rate-limit-CqJn-w4h.mjs +120 -0
- package/dist/rate-limit-CqJn-w4h.mjs.map +1 -0
- package/dist/redirect-BrChFPIu.mjs +17 -0
- package/dist/redirect-BrChFPIu.mjs.map +1 -0
- package/dist/redirect-D2Yo-b6S.mjs +415 -0
- package/dist/redirect-D2Yo-b6S.mjs.map +1 -0
- package/dist/redirects-BCiTaIQ-.mjs +146 -0
- package/dist/redirects-BCiTaIQ-.mjs.map +1 -0
- package/dist/redirects-ByItliuu.mjs +644 -0
- package/dist/redirects-ByItliuu.mjs.map +1 -0
- package/dist/registry/testing.d.mts +14 -0
- package/dist/registry/testing.d.mts.map +1 -0
- package/dist/registry/testing.mjs +255 -0
- package/dist/registry/testing.mjs.map +1 -0
- package/dist/registry-CkuPoZs7.mjs +1222 -0
- package/dist/registry-CkuPoZs7.mjs.map +1 -0
- package/dist/relation-XTAtOpJO.mjs +334 -0
- package/dist/relation-XTAtOpJO.mjs.map +1 -0
- package/dist/relations-B4w-G5U9.mjs +309 -0
- package/dist/relations-B4w-G5U9.mjs.map +1 -0
- package/dist/relations-O63JWBRj.mjs +403 -0
- package/dist/relations-O63JWBRj.mjs.map +1 -0
- package/dist/request-cache-DaMhSQdx.mjs +104 -0
- package/dist/request-cache-DaMhSQdx.mjs.map +1 -0
- package/dist/request-context.d.mts +1 -1
- package/dist/request-meta-C8yl_sIs.mjs +141 -0
- package/dist/request-meta-C8yl_sIs.mjs.map +1 -0
- package/dist/resolve-BJIS8wKr.mjs +199 -0
- package/dist/resolve-BJIS8wKr.mjs.map +1 -0
- package/dist/route-wire-D66L2oaZ.mjs +197 -0
- package/dist/route-wire-D66L2oaZ.mjs.map +1 -0
- package/dist/routes-DYsTe-oR.mjs +321 -0
- package/dist/routes-DYsTe-oR.mjs.map +1 -0
- package/dist/runner-3gfxRsJG.d.mts +68 -0
- package/dist/runner-3gfxRsJG.d.mts.map +1 -0
- package/dist/runner-ClrleR8A.mjs +5502 -0
- package/dist/runner-ClrleR8A.mjs.map +1 -0
- package/dist/runtime.d.mts +13 -11
- package/dist/runtime.d.mts.map +1 -1
- package/dist/runtime.mjs +6 -5
- package/dist/runtime.mjs.map +1 -1
- package/dist/schema-CPhPM9Do.mjs +420 -0
- package/dist/schema-CPhPM9Do.mjs.map +1 -0
- package/dist/schema-DEERRrKS.mjs +9 -0
- package/dist/schema-DEERRrKS.mjs.map +1 -0
- package/dist/scopes-Bn8_rCSt.mjs +27 -0
- package/dist/scopes-Bn8_rCSt.mjs.map +1 -0
- package/dist/search-lami_Ota.mjs +448 -0
- package/dist/search-lami_Ota.mjs.map +1 -0
- package/dist/secrets-DNgVgz_e.mjs +341 -0
- package/dist/secrets-DNgVgz_e.mjs.map +1 -0
- package/dist/sections-BIpd4Cxf.mjs +346 -0
- package/dist/sections-BIpd4Cxf.mjs.map +1 -0
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +35 -31
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.d.mts.map +1 -1
- package/dist/seo/index.mjs +27 -26
- package/dist/seo/index.mjs.map +1 -1
- package/dist/seo-BtU70b7l.mjs +114 -0
- package/dist/seo-BtU70b7l.mjs.map +1 -0
- package/dist/seo-_4qmazxz.mjs +133 -0
- package/dist/seo-_4qmazxz.mjs.map +1 -0
- package/dist/service-Bpy5iTX0.mjs +150 -0
- package/dist/service-Bpy5iTX0.mjs.map +1 -0
- package/dist/session-user-BQeS2Mrb.mjs +51 -0
- package/dist/session-user-BQeS2Mrb.mjs.map +1 -0
- package/dist/settings-DmroR53o.mjs +420 -0
- package/dist/settings-DmroR53o.mjs.map +1 -0
- package/dist/settings-g2F2a3Ub.mjs +51 -0
- package/dist/settings-g2F2a3Ub.mjs.map +1 -0
- package/dist/setup-complete-BrZaXpVV.mjs +26 -0
- package/dist/setup-complete-BrZaXpVV.mjs.map +1 -0
- package/dist/setup-nonce-Cb9-884O.mjs +25 -0
- package/dist/setup-nonce-Cb9-884O.mjs.map +1 -0
- package/dist/single-flight-cache-B5O2qhO1.mjs +104 -0
- package/dist/single-flight-cache-B5O2qhO1.mjs.map +1 -0
- package/dist/site-url-DjhYCaep.mjs +16 -0
- package/dist/site-url-DjhYCaep.mjs.map +1 -0
- package/dist/slugify-T5GHH42D.mjs +17 -0
- package/dist/slugify-T5GHH42D.mjs.map +1 -0
- package/dist/snapshot-C32Xuv3o.mjs +233 -0
- package/dist/snapshot-C32Xuv3o.mjs.map +1 -0
- package/dist/ssrf-Co1GGFZz.mjs +406 -0
- package/dist/ssrf-Co1GGFZz.mjs.map +1 -0
- package/dist/state-C7gCoiHr.mjs +153 -0
- package/dist/state-C7gCoiHr.mjs.map +1 -0
- package/dist/status-DLoBmcDz.mjs +30 -0
- package/dist/status-DLoBmcDz.mjs.map +1 -0
- 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/storage-query-CPctdMKX.d.mts +1519 -0
- package/dist/storage-query-CPctdMKX.d.mts.map +1 -0
- package/dist/target-CUKlGrXb.mjs +27 -0
- package/dist/target-CUKlGrXb.mjs.map +1 -0
- package/dist/taxonomies-BpqpXJUE.mjs +707 -0
- package/dist/taxonomies-BpqpXJUE.mjs.map +1 -0
- package/dist/taxonomies-ClCo4IGO.mjs +899 -0
- package/dist/taxonomies-ClCo4IGO.mjs.map +1 -0
- package/dist/taxonomy-Dj1vpw5E.mjs +508 -0
- package/dist/taxonomy-Dj1vpw5E.mjs.map +1 -0
- package/dist/tokens-Ns02GAma.mjs +171 -0
- package/dist/tokens-Ns02GAma.mjs.map +1 -0
- package/dist/transaction-BcJO4Tmc.mjs +29 -0
- package/dist/transaction-BcJO4Tmc.mjs.map +1 -0
- package/dist/transport-B8P1xsqk.mjs +136 -0
- package/dist/transport-B8P1xsqk.mjs.map +1 -0
- package/dist/transport-BLHZZcD_.d.mts +42 -0
- package/dist/transport-BLHZZcD_.d.mts.map +1 -0
- package/dist/trusted-proxy-Cg7SuD15.mjs +51 -0
- package/dist/trusted-proxy-Cg7SuD15.mjs.map +1 -0
- package/dist/turnstile-DWCSh_Qc.mjs +53 -0
- package/dist/turnstile-DWCSh_Qc.mjs.map +1 -0
- package/dist/types-B3RkqvDW.mjs +156 -0
- package/dist/types-B3RkqvDW.mjs.map +1 -0
- package/dist/types-BkUg2yHx.mjs +92 -0
- package/dist/types-BkUg2yHx.mjs.map +1 -0
- package/dist/types-BtuppOTV.mjs +16 -0
- package/dist/types-BtuppOTV.mjs.map +1 -0
- package/dist/types-CCR3ivXE.d.mts +363 -0
- package/dist/types-CCR3ivXE.d.mts.map +1 -0
- package/dist/types-CSHgU_-_.mjs +18 -0
- package/dist/types-CSHgU_-_.mjs.map +1 -0
- package/dist/types-CbwqGOXm.d.mts +766 -0
- package/dist/types-CbwqGOXm.d.mts.map +1 -0
- package/dist/types-D4RGIc2I.d.mts +198 -0
- package/dist/types-D4RGIc2I.d.mts.map +1 -0
- package/dist/types-DEHidMEk.d.mts +1637 -0
- package/dist/types-DEHidMEk.d.mts.map +1 -0
- package/dist/types-DQeU2SR7.d.mts +279 -0
- package/dist/types-DQeU2SR7.d.mts.map +1 -0
- package/dist/types-DxQWoQLA.d.mts +264 -0
- package/dist/types-DxQWoQLA.d.mts.map +1 -0
- package/dist/types-FBBnGZ2Y.d.mts +198 -0
- package/dist/types-FBBnGZ2Y.d.mts.map +1 -0
- package/dist/types-ZCnlropY.mjs +69 -0
- package/dist/types-ZCnlropY.mjs.map +1 -0
- package/dist/types-_Qtyawiy.d.mts +124 -0
- package/dist/types-_Qtyawiy.d.mts.map +1 -0
- package/dist/types-gC6FAoa_.d.mts +75 -0
- package/dist/types-gC6FAoa_.d.mts.map +1 -0
- package/dist/types-k--LneIF.mjs +22 -0
- package/dist/types-k--LneIF.mjs.map +1 -0
- package/dist/upload-attempts-2xdnoKGe.mjs +27 -0
- package/dist/upload-attempts-2xdnoKGe.mjs.map +1 -0
- package/dist/url-pattern-3m3reMzr.mjs +33 -0
- package/dist/url-pattern-3m3reMzr.mjs.map +1 -0
- package/dist/user-DroRntkx.mjs +171 -0
- package/dist/user-DroRntkx.mjs.map +1 -0
- package/dist/utils-CC2oNGV8.mjs +435 -0
- package/dist/utils-CC2oNGV8.mjs.map +1 -0
- package/dist/validate-BCP9HNDn.mjs +384 -0
- package/dist/validate-BCP9HNDn.mjs.map +1 -0
- package/dist/validate-CyQ7I3xF.d.mts +410 -0
- package/dist/validate-CyQ7I3xF.d.mts.map +1 -0
- package/dist/validate-DANX1-Qi.mjs +120 -0
- package/dist/validate-DANX1-Qi.mjs.map +1 -0
- package/dist/validation-DBy6WF94.mjs +216 -0
- package/dist/validation-DBy6WF94.mjs.map +1 -0
- package/dist/version-B57E4Uo7.mjs +7 -0
- package/dist/version-B57E4Uo7.mjs.map +1 -0
- package/dist/widgets-wQ7Xcgq8.mjs +126 -0
- package/dist/widgets-wQ7Xcgq8.mjs.map +1 -0
- package/dist/wxr-taxonomies-DIHfvEDt.mjs +406 -0
- package/dist/wxr-taxonomies-DIHfvEDt.mjs.map +1 -0
- package/dist/wxr-taxonomies-DU2ZSiGc.d.mts +34 -0
- package/dist/wxr-taxonomies-DU2ZSiGc.d.mts.map +1 -0
- package/dist/zod-generator-D_yHIWfs.mjs +329 -0
- package/dist/zod-generator-D_yHIWfs.mjs.map +1 -0
- package/package.json +39 -12
- package/src/api/errors.ts +23 -0
- package/src/api/handlers/backup.ts +11 -5
- package/src/api/handlers/content.ts +226 -85
- package/src/api/handlers/dashboard.ts +31 -1
- package/src/api/handlers/entry-lock.ts +206 -0
- package/src/api/handlers/index.ts +3 -0
- package/src/api/handlers/manifest.ts +5 -6
- package/src/api/handlers/marketplace.ts +126 -34
- package/src/api/handlers/media-upload.ts +31 -4
- package/src/api/handlers/menus.ts +9 -0
- package/src/api/handlers/plugin-settings.ts +35 -3
- package/src/api/handlers/redirects.ts +221 -138
- package/src/api/handlers/registry.ts +75 -29
- package/src/api/handlers/revision.ts +16 -27
- package/src/api/handlers/seo.ts +10 -1
- package/src/api/handlers/snapshot.ts +87 -72
- package/src/api/handlers/taxonomies.ts +79 -5
- package/src/api/handlers/validation.ts +120 -19
- package/src/api/openapi/document.ts +133 -11
- package/src/api/schemas/content.ts +32 -12
- package/src/api/schemas/entry-lock.ts +57 -0
- package/src/api/schemas/index.ts +1 -0
- package/src/api/schemas/schema.ts +10 -1
- package/src/api/schemas/search.ts +4 -0
- package/src/api/types.ts +4 -0
- package/src/astro/integration/index.ts +22 -6
- package/src/astro/integration/routes.ts +89 -0
- package/src/astro/integration/runtime.ts +40 -24
- package/src/astro/integration/virtual-modules.ts +4 -0
- package/src/astro/integration/vite-config.ts +31 -0
- package/src/astro/middleware/auth.ts +25 -4
- package/src/astro/middleware/request-context.ts +28 -10
- package/src/astro/middleware.ts +33 -1
- package/src/astro/prefetch.ts +2 -2
- package/src/astro/routes/api/admin/comments/[id]/status.ts +22 -58
- package/src/astro/routes/api/admin/plugins/[id]/disable.ts +2 -15
- package/src/astro/routes/api/admin/plugins/[id]/enable.ts +2 -25
- package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +1 -0
- package/src/astro/routes/api/admin/plugins/[id]/update.ts +23 -4
- package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +12 -2
- package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +1 -0
- package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +29 -10
- package/src/astro/routes/api/admin/plugins/registry/artifact.ts +8 -2
- package/src/astro/routes/api/admin/plugins/registry/install.ts +15 -4
- package/src/astro/routes/api/admin/plugins/registry/verify.ts +2 -1
- package/src/astro/routes/api/admin/plugins/updates.ts +6 -1
- package/src/astro/routes/api/admin/scheduled-policy-rejections/[collection]/[id].ts +34 -0
- package/src/astro/routes/api/comments/[collection]/[contentId]/index.ts +4 -259
- package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +10 -0
- package/src/astro/routes/api/content/[collection]/[id]/lock.ts +133 -0
- package/src/astro/routes/api/content/[collection]/[id]/plugin-extensions/[pluginId]/[kind]/[extensionId].ts +29 -0
- package/src/astro/routes/api/content/[collection]/[id]/publish.ts +21 -4
- package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +30 -1
- package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +15 -1
- package/src/astro/routes/api/content/[collection]/[id].ts +27 -2
- package/src/astro/routes/api/content/[collection]/index.ts +3 -0
- package/src/astro/routes/api/health.ts +23 -0
- package/src/astro/routes/api/manifest.ts +14 -4
- package/src/astro/routes/api/mcp.ts +2 -1
- package/src/astro/routes/api/media/asset/[id]/[filename].ts +50 -0
- package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +13 -81
- package/src/astro/routes/api/redirects/[id].ts +0 -3
- package/src/astro/routes/api/redirects/index.ts +0 -2
- package/src/astro/routes/api/search/index.ts +1 -0
- package/src/astro/routes/api/visual-editing/action-token.ts +36 -0
- package/src/astro/routes/api/visual-editing/content/[collection]/[id]/publish.ts +32 -0
- package/src/astro/routes/api/visual-editing/toolbar-labels.ts +16 -0
- package/src/astro/routes/sitemap-[collection].xml.ts +11 -4
- package/src/astro/types.ts +83 -12
- package/src/cli/commands/bundle-utils.ts +19 -19
- package/src/cli/commands/bundle.ts +9 -6
- package/src/cli/commands/content.ts +32 -6
- package/src/cli/commands/doctor.ts +25 -0
- package/src/cli/commands/export-seed.ts +195 -56
- package/src/cli/commands/migrate.ts +71 -23
- package/src/cli/commands/publish.ts +2 -2
- package/src/client/index.ts +34 -7
- package/src/comments/public-submission.ts +246 -0
- package/src/comments/service.ts +59 -12
- package/src/components/EmDashBodyEnd.astro +4 -1
- package/src/components/EmDashBodyStart.astro +4 -1
- package/src/components/EmDashHead.astro +36 -16
- package/src/components/Gallery.astro +18 -4
- package/src/components/InlineEditor.astro +3 -1
- package/src/components/InlinePortableTextEditor.tsx +106 -11
- package/src/components/PortableText.astro +4 -0
- package/src/components/Table.astro +147 -62
- package/src/components/widgets/Archives.astro +6 -5
- package/src/config/errors.ts +13 -0
- package/src/config/secrets.ts +25 -11
- package/src/content/converters/portable-text-to-prosemirror.ts +26 -2
- package/src/content/converters/prosemirror-to-portable-text.ts +35 -6
- package/src/content/converters/types.ts +10 -0
- package/src/content/known-fields.ts +44 -0
- package/src/database/connection.ts +5 -1
- package/src/database/content-datetime.ts +123 -0
- package/src/database/datetime-storage.ts +452 -0
- package/src/database/dialect-helpers.ts +161 -1
- package/src/database/migration-lock.ts +140 -0
- package/src/database/migrations/075_entry_edit_locks.ts +44 -0
- package/src/database/migrations/076_collection_nav_group.ts +22 -0
- package/src/database/migrations/077_plugin_storage_revisions.ts +89 -0
- package/src/database/migrations/078_menu_item_translation_groups.ts +15 -0
- package/src/database/migrations/079_datetime_normalization.ts +13 -0
- package/src/database/migrations/080_content_translation_locale_unique.ts +88 -0
- package/src/database/migrations/081_redirect_write_guards.ts +257 -0
- package/src/database/migrations/082_taxonomy_translation_locale_unique.ts +49 -0
- package/src/database/migrations/runner.ts +63 -15
- package/src/database/pg-migration-lock.ts +2 -2
- package/src/database/repositories/byline.ts +9 -0
- package/src/database/repositories/comment.ts +86 -0
- package/src/database/repositories/content.ts +560 -69
- package/src/database/repositories/entry-locks.ts +257 -0
- package/src/database/repositories/media.ts +35 -4
- package/src/database/repositories/menu.ts +1 -0
- package/src/database/repositories/options.ts +113 -7
- package/src/database/repositories/plugin-storage.ts +159 -0
- package/src/database/repositories/redirect.ts +262 -56
- package/src/database/repositories/revision.ts +116 -17
- package/src/database/repositories/taxonomy.ts +42 -0
- package/src/database/repositories/types.ts +5 -0
- package/src/database/types.ts +26 -1
- package/src/datetime-normalization.ts +311 -0
- package/src/db/node-sqlite-compat.ts +3 -2
- package/src/emdash-runtime.ts +1994 -424
- package/src/fields/image.ts +2 -0
- package/src/i18n/config.ts +6 -6
- package/src/i18n/resolve.ts +98 -15
- package/src/index.ts +101 -0
- package/src/loader.ts +49 -4
- package/src/mcp/server.ts +216 -68
- package/src/media/responsive.ts +23 -0
- package/src/media/usage/content-refresh.ts +2 -1
- package/src/media/usage/extractor.ts +50 -15
- package/src/media/usage/types.ts +1 -1
- package/src/menus/index.ts +64 -35
- package/src/migrations/direct-executor.ts +40 -2
- package/src/migrations/index.ts +1 -0
- package/src/migrations/protocol.ts +11 -1
- package/src/page/seo-contributions.ts +78 -1
- package/src/page/seo-panel.ts +47 -0
- package/src/plugin-test-runtime.ts +17 -0
- package/src/plugin-types.ts +128 -21
- package/src/plugins/adapt-sandbox-entry.ts +34 -27
- package/src/plugins/conditional-storage.ts +30 -0
- package/src/plugins/content-access.ts +170 -0
- package/src/plugins/content-policy.ts +74 -0
- package/src/plugins/context.ts +790 -166
- package/src/plugins/cron.ts +18 -10
- package/src/plugins/define-plugin.ts +55 -54
- package/src/plugins/editor-draft.ts +257 -0
- package/src/plugins/hooks.ts +136 -3
- package/src/plugins/host.ts +29 -0
- package/src/plugins/http-route-dispatch.ts +389 -0
- package/src/plugins/http-wire.ts +180 -0
- package/src/plugins/index.ts +97 -3
- package/src/plugins/install-finalization.ts +77 -0
- package/src/plugins/lifecycle.ts +47 -0
- package/src/plugins/manager.ts +5 -2
- package/src/plugins/manifest-schema.ts +314 -58
- package/src/plugins/media.ts +166 -0
- package/src/plugins/request-meta.ts +12 -2
- package/src/plugins/route-wire.ts +304 -0
- package/src/plugins/routes.ts +38 -5
- package/src/plugins/sandbox/index.ts +4 -0
- package/src/plugins/sandbox/proxy.ts +129 -0
- package/src/plugins/sandbox/types.ts +83 -7
- package/src/plugins/secret-redactor.ts +65 -0
- package/src/plugins/settings.ts +303 -0
- package/src/plugins/state.ts +26 -0
- package/src/plugins/storage-query.ts +45 -0
- package/src/plugins/storage-update.ts +96 -0
- package/src/plugins/types.ts +602 -15
- package/src/query.ts +84 -4
- package/src/registry/authoritative-records.ts +26 -0
- package/src/registry/config.ts +182 -31
- package/src/registry/testing.ts +100 -0
- package/src/registry/types.ts +12 -70
- package/src/scheduled-publish.ts +70 -3
- package/src/schema/collection-slugs-cache.ts +157 -0
- package/src/schema/index.ts +1 -0
- package/src/schema/registry.ts +64 -1
- package/src/schema/types.ts +32 -6
- package/src/schema/zod-generator.ts +5 -13
- package/src/search/fts-manager.ts +3 -3
- package/src/search/query.ts +32 -5
- package/src/search/types.ts +8 -0
- package/src/security/ssrf.ts +167 -141
- package/src/seed/apply.ts +41 -3
- package/src/seed/types.ts +13 -3
- package/src/seed/validate.ts +18 -1
- package/src/seo/hreflang.ts +10 -6
- package/src/seo/index.ts +5 -10
- package/src/seo/media-url.ts +26 -0
- package/src/settings/index.ts +53 -11
- package/src/taxonomies/term-counts.ts +22 -5
- package/src/visual-editing/action-token.ts +31 -0
- package/src/visual-editing/toolbar-bootstrap.ts +31 -6
- package/src/visual-editing/toolbar.ts +103 -12
- package/src/widgets/archives.ts +10 -9
- package/src/widgets/index.ts +11 -1
- package/dist/activation-K0kGBWuJ.mjs +0 -382
- package/dist/activation-K0kGBWuJ.mjs.map +0 -1
- package/dist/adapters-BDQwg236.d.mts +0 -171
- package/dist/adapters-BDQwg236.d.mts.map +0 -1
- package/dist/after-CBU2vkoO.mjs +0 -96
- package/dist/after-CBU2vkoO.mjs.map +0 -1
- package/dist/allowed-origins-BGglilcs.mjs +0 -116
- package/dist/allowed-origins-BGglilcs.mjs.map +0 -1
- package/dist/api-Dz6rgoa3.mjs +0 -10040
- package/dist/api-Dz6rgoa3.mjs.map +0 -1
- package/dist/api-tokens-BSsQACNe.mjs +0 -163
- package/dist/api-tokens-BSsQACNe.mjs.map +0 -1
- package/dist/apply-B4SIOxR1.mjs +0 -980
- package/dist/apply-B4SIOxR1.mjs.map +0 -1
- package/dist/authorize-Bkf_UHhD.mjs +0 -40
- package/dist/authorize-Bkf_UHhD.mjs.map +0 -1
- package/dist/backup-rwVAl9NI.mjs +0 -241
- package/dist/backup-rwVAl9NI.mjs.map +0 -1
- package/dist/base64-CvLhUKQv.mjs +0 -63
- package/dist/base64-CvLhUKQv.mjs.map +0 -1
- package/dist/bundle-C8S2Zl6U.mjs +0 -663
- package/dist/bundle-C8S2Zl6U.mjs.map +0 -1
- package/dist/byline-DuhF7NWl.mjs +0 -902
- package/dist/byline-DuhF7NWl.mjs.map +0 -1
- package/dist/byline-fields-BovY4KYM.mjs +0 -123
- package/dist/byline-fields-BovY4KYM.mjs.map +0 -1
- package/dist/byline-registry-Bpu9-MVs.mjs +0 -406
- package/dist/byline-registry-Bpu9-MVs.mjs.map +0 -1
- package/dist/bylines-CJ5nd6Lw.mjs +0 -232
- package/dist/bylines-CJ5nd6Lw.mjs.map +0 -1
- package/dist/bylines-RwBAeOF1.mjs +0 -214
- package/dist/bylines-RwBAeOF1.mjs.map +0 -1
- package/dist/cache-BF5Kvn59.mjs +0 -108
- package/dist/cache-BF5Kvn59.mjs.map +0 -1
- package/dist/capture-triggers-CNW1q3HK.mjs +0 -362
- package/dist/capture-triggers-CNW1q3HK.mjs.map +0 -1
- package/dist/challenge-store-DQN_Yrck.mjs +0 -51
- package/dist/challenge-store-DQN_Yrck.mjs.map +0 -1
- package/dist/chrome-tags-D8fiZG94.mjs +0 -24
- package/dist/chrome-tags-D8fiZG94.mjs.map +0 -1
- package/dist/chunks-C4szrD8o.mjs +0 -25
- package/dist/chunks-C4szrD8o.mjs.map +0 -1
- package/dist/collection-deletion-Bj07NHbj.mjs +0 -436
- package/dist/collection-deletion-Bj07NHbj.mjs.map +0 -1
- package/dist/comment-reaction-BhrvSHml.mjs +0 -85
- package/dist/comment-reaction-BhrvSHml.mjs.map +0 -1
- package/dist/comment-vxOzWbZN.mjs +0 -255
- package/dist/comment-vxOzWbZN.mjs.map +0 -1
- package/dist/comments-Ct4ensnf.mjs +0 -204
- package/dist/comments-Ct4ensnf.mjs.map +0 -1
- package/dist/components-DJbo1z0S.mjs +0 -108
- package/dist/components-DJbo1z0S.mjs.map +0 -1
- package/dist/config-B9eZ340f.d.mts +0 -34
- package/dist/config-B9eZ340f.d.mts.map +0 -1
- package/dist/config-C3EBstHi.mjs +0 -72
- package/dist/config-C3EBstHi.mjs.map +0 -1
- package/dist/config-it29yDLA.mjs +0 -1163
- package/dist/config-it29yDLA.mjs.map +0 -1
- package/dist/content-DjvM0T92.mjs +0 -1725
- package/dist/content-DjvM0T92.mjs.map +0 -1
- package/dist/content-list-query-Btqd4uV2.d.mts +0 -26
- package/dist/content-list-query-Btqd4uV2.d.mts.map +0 -1
- package/dist/content-refresh-Bwp-8yGy.mjs +0 -3588
- package/dist/content-refresh-Bwp-8yGy.mjs.map +0 -1
- package/dist/content-repair-Czdp7jz5.mjs +0 -440
- package/dist/content-repair-Czdp7jz5.mjs.map +0 -1
- package/dist/context-CX6gxOLW.mjs +0 -1068
- package/dist/context-CX6gxOLW.mjs.map +0 -1
- package/dist/cron-C6o7VppJ.mjs +0 -277
- package/dist/cron-C6o7VppJ.mjs.map +0 -1
- package/dist/dashboard-C2kTeeRI.mjs +0 -140
- package/dist/dashboard-C2kTeeRI.mjs.map +0 -1
- package/dist/db-errors-Cl-sKYTm.mjs +0 -55
- package/dist/db-errors-Cl-sKYTm.mjs.map +0 -1
- package/dist/default-Clra32mw.mjs +0 -81
- package/dist/default-Clra32mw.mjs.map +0 -1
- package/dist/deferred-tasks-CvDETTJO.d.mts +0 -9
- package/dist/deferred-tasks-CvDETTJO.d.mts.map +0 -1
- package/dist/dev-typegen-DzOPfsNj.mjs +0 -29
- package/dist/dev-typegen-DzOPfsNj.mjs.map +0 -1
- package/dist/device-flow-D2oCWvLJ.mjs +0 -466
- package/dist/device-flow-D2oCWvLJ.mjs.map +0 -1
- package/dist/dialect-helpers-BSbfaO3F.mjs +0 -202
- package/dist/dialect-helpers-BSbfaO3F.mjs.map +0 -1
- package/dist/direct-executor-Bfa5_ToE.mjs +0 -85
- package/dist/direct-executor-Bfa5_ToE.mjs.map +0 -1
- package/dist/dist-89xCrGqi.mjs +0 -810
- package/dist/dist-89xCrGqi.mjs.map +0 -1
- package/dist/email-console-Dzb6uGYa.mjs +0 -50
- package/dist/email-console-Dzb6uGYa.mjs.map +0 -1
- package/dist/enrich-BX0IDp4z.mjs +0 -194
- package/dist/enrich-BX0IDp4z.mjs.map +0 -1
- package/dist/error-DFrQjppn.mjs +0 -90
- package/dist/error-DFrQjppn.mjs.map +0 -1
- package/dist/errors-DsVoDUjJ.mjs +0 -427
- package/dist/errors-DsVoDUjJ.mjs.map +0 -1
- package/dist/escape-HmHTC1Is.mjs +0 -9
- package/dist/escape-HmHTC1Is.mjs.map +0 -1
- package/dist/field-defs-cache-BM4SIRqH.mjs +0 -77
- package/dist/field-defs-cache-BM4SIRqH.mjs.map +0 -1
- package/dist/focal-point-BeWFo6Xx.mjs +0 -23
- package/dist/focal-point-BeWFo6Xx.mjs.map +0 -1
- package/dist/fts-manager-Do1BlW2r.mjs +0 -413
- package/dist/fts-manager-Do1BlW2r.mjs.map +0 -1
- package/dist/hash-3JJPlHF2.mjs +0 -37
- package/dist/hash-3JJPlHF2.mjs.map +0 -1
- package/dist/hook-result-DCh2WUpe.d.mts +0 -31
- package/dist/hook-result-DCh2WUpe.d.mts.map +0 -1
- package/dist/hreflang-B6hbAuuO.d.mts +0 -48
- package/dist/hreflang-B6hbAuuO.d.mts.map +0 -1
- package/dist/hreflang-DQbPZliA.mjs +0 -102
- package/dist/hreflang-DQbPZliA.mjs.map +0 -1
- package/dist/identity-DksvEazf.mjs +0 -35
- package/dist/identity-DksvEazf.mjs.map +0 -1
- package/dist/import-CJpaBBBT.mjs +0 -2020
- package/dist/import-CJpaBBBT.mjs.map +0 -1
- package/dist/index-BJNMCWmu.d.mts +0 -6562
- package/dist/index-BJNMCWmu.d.mts.map +0 -1
- package/dist/index-Du8K7bWa.d.mts +0 -278
- package/dist/index-Du8K7bWa.d.mts.map +0 -1
- package/dist/init-lock-DJkX6Hto.mjs +0 -56
- package/dist/init-lock-DJkX6Hto.mjs.map +0 -1
- package/dist/load-CawHjTOH.mjs +0 -28
- package/dist/load-CawHjTOH.mjs.map +0 -1
- package/dist/loader-Z8vl7zTq.mjs +0 -966
- package/dist/loader-Z8vl7zTq.mjs.map +0 -1
- package/dist/manifest-builder-COtzuca2.mjs +0 -189
- package/dist/manifest-builder-COtzuca2.mjs.map +0 -1
- package/dist/manifest-schema-BNWwR8Vd.mjs +0 -301
- package/dist/manifest-schema-BNWwR8Vd.mjs.map +0 -1
- package/dist/media-BBm8Wg3f.mjs +0 -318
- package/dist/media-BBm8Wg3f.mjs.map +0 -1
- package/dist/media-BHjus86Y.mjs +0 -464
- package/dist/media-BHjus86Y.mjs.map +0 -1
- package/dist/media-allowlist-CoTBWoDp.mjs +0 -44
- package/dist/media-allowlist-CoTBWoDp.mjs.map +0 -1
- package/dist/media-folders-BGkATs8n.mjs +0 -210
- package/dist/media-folders-BGkATs8n.mjs.map +0 -1
- package/dist/media-upload-BCidR-EY.mjs +0 -147
- package/dist/media-upload-BCidR-EY.mjs.map +0 -1
- package/dist/media-url-DHoPr0hq.mjs +0 -26
- package/dist/media-url-DHoPr0hq.mjs.map +0 -1
- package/dist/media-usage-CdY5jhSR.mjs +0 -1833
- package/dist/media-usage-CdY5jhSR.mjs.map +0 -1
- package/dist/media-usage-activation-BgeMtK5C.mjs +0 -78
- package/dist/media-usage-activation-BgeMtK5C.mjs.map +0 -1
- package/dist/media-usage-work-CnGCdHxx.mjs +0 -152
- package/dist/media-usage-work-CnGCdHxx.mjs.map +0 -1
- package/dist/media-usage-work-D6D9sMCA.mjs +0 -586
- package/dist/media-usage-work-D6D9sMCA.mjs.map +0 -1
- package/dist/media-usage-write-fence-hjeD4u7s.mjs +0 -42
- package/dist/media-usage-write-fence-hjeD4u7s.mjs.map +0 -1
- package/dist/menus-6qSwTNxG.mjs +0 -4010
- package/dist/menus-6qSwTNxG.mjs.map +0 -1
- package/dist/menus-uvPLXMZf.mjs +0 -744
- package/dist/menus-uvPLXMZf.mjs.map +0 -1
- package/dist/mime-CUIG6x84.mjs +0 -36
- package/dist/mime-CUIG6x84.mjs.map +0 -1
- package/dist/mode-DN_WneRx.mjs +0 -23
- package/dist/mode-DN_WneRx.mjs.map +0 -1
- package/dist/node-sqlite-compat-BuJXIeMz.mjs +0 -46
- package/dist/node-sqlite-compat-BuJXIeMz.mjs.map +0 -1
- package/dist/normalize-C2xNjTSG.mjs +0 -191
- package/dist/normalize-C2xNjTSG.mjs.map +0 -1
- package/dist/oauth-authorization-Dj6Kwc21.mjs +0 -274
- package/dist/oauth-authorization-Dj6Kwc21.mjs.map +0 -1
- package/dist/oauth-clients-FD7I0J8m.mjs +0 -266
- package/dist/oauth-clients-FD7I0J8m.mjs.map +0 -1
- package/dist/oauth-state-store-DkmDOmHs.mjs +0 -50
- package/dist/oauth-state-store-DkmDOmHs.mjs.map +0 -1
- package/dist/oauth-user-lookup-CvIwGpYd.mjs +0 -26
- package/dist/oauth-user-lookup-CvIwGpYd.mjs.map +0 -1
- package/dist/object-cache-DVKnyOfy.mjs +0 -534
- package/dist/object-cache-DVKnyOfy.mjs.map +0 -1
- package/dist/options-BHPeIbBd.mjs +0 -117
- package/dist/options-BHPeIbBd.mjs.map +0 -1
- package/dist/options-CYb4y7hM.d.mts +0 -221
- package/dist/options-CYb4y7hM.d.mts.map +0 -1
- package/dist/parse-Ckpg-Qfp.mjs +0 -81
- package/dist/parse-Ckpg-Qfp.mjs.map +0 -1
- package/dist/passkey-config-O_lj3y0k.mjs +0 -46
- package/dist/passkey-config-O_lj3y0k.mjs.map +0 -1
- package/dist/patterns-D9iDO3j8.mjs +0 -145
- package/dist/patterns-D9iDO3j8.mjs.map +0 -1
- package/dist/placeholder-4X9BrRrp.d.mts +0 -306
- package/dist/placeholder-4X9BrRrp.d.mts.map +0 -1
- package/dist/policy-Dhtwntrt.mjs +0 -45
- package/dist/policy-Dhtwntrt.mjs.map +0 -1
- package/dist/portable-text-U85hOafW.mjs +0 -286
- package/dist/portable-text-U85hOafW.mjs.map +0 -1
- package/dist/preview-B_vJLvf8.mjs +0 -107
- package/dist/preview-B_vJLvf8.mjs.map +0 -1
- package/dist/protocol-JdD2YhY9.d.mts +0 -52
- package/dist/protocol-JdD2YhY9.d.mts.map +0 -1
- package/dist/public-url-CarhZJgf.mjs +0 -101
- package/dist/public-url-CarhZJgf.mjs.map +0 -1
- package/dist/query-BZKZcG5b.mjs +0 -881
- package/dist/query-BZKZcG5b.mjs.map +0 -1
- package/dist/query-BndaFxxp.mjs +0 -41
- package/dist/query-BndaFxxp.mjs.map +0 -1
- package/dist/rate-limit-BZmATC6W.mjs +0 -120
- package/dist/rate-limit-BZmATC6W.mjs.map +0 -1
- package/dist/redirect-CZkbozu9.mjs +0 -313
- package/dist/redirect-CZkbozu9.mjs.map +0 -1
- package/dist/redirect-CzqnLxK-.mjs +0 -17
- package/dist/redirect-CzqnLxK-.mjs.map +0 -1
- package/dist/redirects-BLNOWQTn.mjs +0 -1238
- package/dist/redirects-BLNOWQTn.mjs.map +0 -1
- package/dist/redirects-CqzNM0KM.mjs +0 -579
- package/dist/redirects-CqzNM0KM.mjs.map +0 -1
- package/dist/registry-AZAsRsor.mjs +0 -1179
- package/dist/registry-AZAsRsor.mjs.map +0 -1
- package/dist/relation-04DfKRTO.mjs +0 -334
- package/dist/relation-04DfKRTO.mjs.map +0 -1
- package/dist/relations-C4htk5sb.mjs +0 -309
- package/dist/relations-C4htk5sb.mjs.map +0 -1
- package/dist/relations-CcFwDJdJ.mjs +0 -403
- package/dist/relations-CcFwDJdJ.mjs.map +0 -1
- package/dist/relations-DnRK4YIT.d.mts +0 -3354
- package/dist/relations-DnRK4YIT.d.mts.map +0 -1
- package/dist/request-cache-DH9zdCOD.mjs +0 -104
- package/dist/request-cache-DH9zdCOD.mjs.map +0 -1
- package/dist/request-meta-DYxLlnmz.mjs +0 -140
- package/dist/request-meta-DYxLlnmz.mjs.map +0 -1
- package/dist/resolve-prZ3mP7l.mjs +0 -143
- package/dist/resolve-prZ3mP7l.mjs.map +0 -1
- package/dist/runner-BLIDKpmA.mjs +0 -4676
- package/dist/runner-BLIDKpmA.mjs.map +0 -1
- package/dist/runner-YKfIMnaF.d.mts +0 -67
- package/dist/runner-YKfIMnaF.d.mts.map +0 -1
- package/dist/schema-CGnBeLiW.mjs +0 -9
- package/dist/schema-CGnBeLiW.mjs.map +0 -1
- package/dist/schema-DYr-Vd-L.mjs +0 -420
- package/dist/schema-DYr-Vd-L.mjs.map +0 -1
- package/dist/scopes-BhWvBavj.mjs +0 -27
- package/dist/scopes-BhWvBavj.mjs.map +0 -1
- package/dist/search-C-qDk4kx.mjs +0 -439
- package/dist/search-C-qDk4kx.mjs.map +0 -1
- package/dist/secrets-rEtHt-6z.mjs +0 -330
- package/dist/secrets-rEtHt-6z.mjs.map +0 -1
- package/dist/sections-B_nYvlwn.mjs +0 -346
- package/dist/sections-B_nYvlwn.mjs.map +0 -1
- package/dist/seo-926NRIgt.mjs +0 -133
- package/dist/seo-926NRIgt.mjs.map +0 -1
- package/dist/seo-CVWkdv6x.mjs +0 -113
- package/dist/seo-CVWkdv6x.mjs.map +0 -1
- package/dist/service-CJl3ZAYs.mjs +0 -195
- package/dist/service-CJl3ZAYs.mjs.map +0 -1
- package/dist/session-user-BlMgqCHS.mjs +0 -51
- package/dist/session-user-BlMgqCHS.mjs.map +0 -1
- package/dist/settings--wobrkkC.mjs +0 -258
- package/dist/settings--wobrkkC.mjs.map +0 -1
- package/dist/settings-Cwm6o2jY.mjs +0 -51
- package/dist/settings-Cwm6o2jY.mjs.map +0 -1
- package/dist/setup-complete-DQbClIN2.mjs +0 -26
- package/dist/setup-complete-DQbClIN2.mjs.map +0 -1
- package/dist/setup-nonce-DZCFS2sn.mjs +0 -25
- package/dist/setup-nonce-DZCFS2sn.mjs.map +0 -1
- package/dist/single-flight-cache-BPuGPdcN.mjs +0 -104
- package/dist/single-flight-cache-BPuGPdcN.mjs.map +0 -1
- package/dist/site-url-BrxA_E9H.mjs +0 -16
- package/dist/site-url-BrxA_E9H.mjs.map +0 -1
- package/dist/slugify-B994zkXC.mjs +0 -17
- package/dist/slugify-B994zkXC.mjs.map +0 -1
- package/dist/snapshot--OCDTqdb.mjs +0 -216
- package/dist/snapshot--OCDTqdb.mjs.map +0 -1
- package/dist/ssrf-5sIM5jzl.mjs +0 -349
- package/dist/ssrf-5sIM5jzl.mjs.map +0 -1
- package/dist/state-BpFVsJZB.mjs +0 -136
- package/dist/state-BpFVsJZB.mjs.map +0 -1
- package/dist/status-B777-dXz.mjs +0 -30
- package/dist/status-B777-dXz.mjs.map +0 -1
- package/dist/target-BmR0iTwz.mjs +0 -27
- package/dist/target-BmR0iTwz.mjs.map +0 -1
- package/dist/taxonomies-DkAkMupr.mjs +0 -837
- package/dist/taxonomies-DkAkMupr.mjs.map +0 -1
- package/dist/taxonomies-Wfy_Lg12.mjs +0 -698
- package/dist/taxonomies-Wfy_Lg12.mjs.map +0 -1
- package/dist/taxonomy-tJepplLL.mjs +0 -484
- package/dist/taxonomy-tJepplLL.mjs.map +0 -1
- package/dist/tokens-BCO1oruF.mjs +0 -171
- package/dist/tokens-BCO1oruF.mjs.map +0 -1
- package/dist/transaction-0KOpOyMu.mjs +0 -29
- package/dist/transaction-0KOpOyMu.mjs.map +0 -1
- package/dist/transport-Dr3qtwXC.mjs +0 -136
- package/dist/transport-Dr3qtwXC.mjs.map +0 -1
- package/dist/transport-xh6YKW2G.d.mts +0 -42
- package/dist/transport-xh6YKW2G.d.mts.map +0 -1
- package/dist/trusted-proxy-BR5F1Otp.mjs +0 -51
- package/dist/trusted-proxy-BR5F1Otp.mjs.map +0 -1
- package/dist/types-3qNFPlci.mjs +0 -16
- package/dist/types-3qNFPlci.mjs.map +0 -1
- package/dist/types-75KIqzL9.mjs +0 -142
- package/dist/types-75KIqzL9.mjs.map +0 -1
- package/dist/types-B6GrPic4.d.mts +0 -1335
- package/dist/types-B6GrPic4.d.mts.map +0 -1
- package/dist/types-BuHW4xDE.d.mts +0 -259
- package/dist/types-BuHW4xDE.d.mts.map +0 -1
- package/dist/types-C00oyCZp.d.mts +0 -198
- package/dist/types-C00oyCZp.d.mts.map +0 -1
- package/dist/types-CDtkNSFQ.d.mts +0 -75
- package/dist/types-CDtkNSFQ.d.mts.map +0 -1
- package/dist/types-CPeXo1wF.d.mts +0 -124
- package/dist/types-CPeXo1wF.d.mts.map +0 -1
- package/dist/types-CQPWhPxE.mjs +0 -92
- package/dist/types-CQPWhPxE.mjs.map +0 -1
- package/dist/types-CXFkwEGC.d.mts +0 -198
- package/dist/types-CXFkwEGC.d.mts.map +0 -1
- package/dist/types-DM3vioBY.mjs +0 -18
- package/dist/types-DM3vioBY.mjs.map +0 -1
- package/dist/types-DczELMop.d.mts +0 -363
- package/dist/types-DczELMop.d.mts.map +0 -1
- package/dist/types-DfuTR6dL.mjs +0 -3
- package/dist/types-FV23hEoW.d.mts +0 -743
- package/dist/types-FV23hEoW.d.mts.map +0 -1
- package/dist/types-xDMtUFnO.d.mts +0 -257
- package/dist/types-xDMtUFnO.d.mts.map +0 -1
- package/dist/upload-attempts-BsqoQ1fn.mjs +0 -27
- package/dist/upload-attempts-BsqoQ1fn.mjs.map +0 -1
- package/dist/url-pattern-D4c2czpJ.mjs +0 -33
- package/dist/url-pattern-D4c2czpJ.mjs.map +0 -1
- package/dist/user-BTZ40aq6.mjs +0 -171
- package/dist/user-BTZ40aq6.mjs.map +0 -1
- package/dist/utils-BKvNjjhY.mjs +0 -435
- package/dist/utils-BKvNjjhY.mjs.map +0 -1
- package/dist/validate-BpwoDOgt.mjs +0 -120
- package/dist/validate-BpwoDOgt.mjs.map +0 -1
- package/dist/validate-DE_LRwo9.mjs +0 -379
- package/dist/validate-DE_LRwo9.mjs.map +0 -1
- package/dist/validate-DUP27OYD.d.mts +0 -400
- package/dist/validate-DUP27OYD.d.mts.map +0 -1
- package/dist/validation-BMImFJ11.mjs +0 -153
- package/dist/validation-BMImFJ11.mjs.map +0 -1
- package/dist/version-Bii3suaO.mjs +0 -7
- package/dist/version-Bii3suaO.mjs.map +0 -1
- package/dist/widgets-D3gJ10xU.mjs +0 -122
- package/dist/widgets-D3gJ10xU.mjs.map +0 -1
- package/dist/wxr-taxonomies-B2Og_6rU.d.mts +0 -34
- package/dist/wxr-taxonomies-B2Og_6rU.d.mts.map +0 -1
- package/dist/wxr-taxonomies-Cxngsjwo.mjs +0 -406
- package/dist/wxr-taxonomies-Cxngsjwo.mjs.map +0 -1
- package/dist/zod-generator-BuYSQJB7.mjs +0 -331
- package/dist/zod-generator-BuYSQJB7.mjs.map +0 -1
- /package/dist/{api-tokens-BfYts-sq.mjs → api-tokens-DS1VzN7_.mjs} +0 -0
- /package/dist/{ssrf-Dg3cIT-b.mjs → ssrf-BRpTDMV6.mjs} +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import "../../../config-
|
|
2
|
-
import { i as encodeBase64, t as decodeBase64 } from "../../../base64-
|
|
3
|
-
import { i as InvalidCursorError, o as decodeCursor } from "../../../types-
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import
|
|
7
|
-
import "../../../
|
|
8
|
-
import "../../../
|
|
1
|
+
import "../../../config-CGVeT8Hc.mjs";
|
|
2
|
+
import { i as encodeBase64, t as decodeBase64 } from "../../../base64-DvnNgP7e.mjs";
|
|
3
|
+
import { i as InvalidCursorError, o as decodeCursor } from "../../../types-BkUg2yHx.mjs";
|
|
4
|
+
import { n as siteSettingsTag, r as taxonomyTag, t as menuTag } from "../../../chrome-tags-D7LGB91U.mjs";
|
|
5
|
+
import { t as apiError } from "../../../error-CCTCskie.mjs";
|
|
6
|
+
import "../../../redirects-BCiTaIQ-.mjs";
|
|
7
|
+
import { Dt as updateCollectionBody, F as createTaxonomyDefBody, Ot as updateFieldBody, X as updateTaxonomyDefBody, _r as bylineUpdateBody, _t as createCollectionBody, dr as bylineCreateBody, kt as CONTENT_TYPE_RE, tr as contentSeoInput, yr as contentBylineInputSchema } from "../../../entry-lock-D3C99MXS.mjs";
|
|
8
|
+
import "../../../comments-BVzzt6x5.mjs";
|
|
9
|
+
import "../../../relations-B4w-G5U9.mjs";
|
|
10
|
+
import "../../../status-DLoBmcDz.mjs";
|
|
9
11
|
import "../../../api/schemas/index.mjs";
|
|
10
|
-
import { i as hasScope$1 } from "../../../api-tokens-
|
|
11
|
-
import { n as convertDataForWrite, t as convertDataForRead } from "../../../portable-text-
|
|
12
|
+
import { i as hasScope$1 } from "../../../api-tokens-DS1VzN7_.mjs";
|
|
13
|
+
import { n as convertDataForWrite, t as convertDataForRead } from "../../../portable-text-oAwodbPS.mjs";
|
|
12
14
|
import { z } from "zod";
|
|
13
15
|
import { Permissions, Role, canActOnOwn, hasPermission } from "@emdash-cms/auth";
|
|
14
16
|
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
@@ -82,10 +84,12 @@ const schemaUpdateCollectionToolSchema = z.object({
|
|
|
82
84
|
urlPattern: updateCollectionBody.shape.urlPattern.describe("New public URL pattern; pass null to clear it"),
|
|
83
85
|
routable: updateCollectionBody.shape.routable.describe("Whether entries require a slug before they can be published"),
|
|
84
86
|
hasSeo: updateCollectionBody.shape.hasSeo.describe("Whether the collection supports SEO metadata"),
|
|
87
|
+
group: updateCollectionBody.shape.group.describe("Admin sidebar folder shared with other collections of the same group; pass null to move the collection back inline"),
|
|
85
88
|
commentsEnabled: updateCollectionBody.shape.commentsEnabled.describe("Whether comments are enabled for this collection"),
|
|
86
89
|
commentsModeration: updateCollectionBody.shape.commentsModeration.describe("Comment moderation policy"),
|
|
87
90
|
commentsClosedAfterDays: updateCollectionBody.shape.commentsClosedAfterDays.describe("Close comments after this many days; 0 keeps them open"),
|
|
88
91
|
commentsAutoApproveUsers: updateCollectionBody.shape.commentsAutoApproveUsers.describe("Whether comments from authenticated users are automatically approved"),
|
|
92
|
+
editLocking: updateCollectionBody.shape.editLocking.describe("Whether opening an entry takes an edit lock that refuses other editors' writes"),
|
|
89
93
|
titleField: updateCollectionBody.shape.titleField.describe("Field slug to use as the Title column in admin lists; pass null to fall back to the default"),
|
|
90
94
|
dateField: updateCollectionBody.shape.dateField.describe("Datetime field slug to use as the Date column in admin lists; pass null to fall back to the default")
|
|
91
95
|
});
|
|
@@ -252,9 +256,21 @@ function getExtra(extra) {
|
|
|
252
256
|
function getEmDash(extra) {
|
|
253
257
|
return getExtra(extra).emdash;
|
|
254
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Unwrap a write result, first invalidating `tags` in the route cache when the
|
|
261
|
+
* write succeeded. Pass `changedEarlier` when an earlier step of the same tool
|
|
262
|
+
* already changed live content, so a failure in a later step still invalidates.
|
|
263
|
+
*/
|
|
264
|
+
async function unwrapAndInvalidate(extra, result, tags, changedEarlier = false) {
|
|
265
|
+
if (result.success || changedEarlier) {
|
|
266
|
+
const { cache } = getExtra(extra);
|
|
267
|
+
if (cache?.enabled) await cache.invalidate({ tags });
|
|
268
|
+
}
|
|
269
|
+
return unwrap(result);
|
|
270
|
+
}
|
|
255
271
|
async function getCollectionFields(ec, collection) {
|
|
256
272
|
try {
|
|
257
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
273
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
258
274
|
const col = await new SchemaRegistry(ec.db).getCollectionWithFields(collection);
|
|
259
275
|
return col ? col.fields : null;
|
|
260
276
|
} catch {
|
|
@@ -283,7 +299,7 @@ async function applyReadMarkdown(ec, collection, items) {
|
|
|
283
299
|
for (const item of items) if (item.data && typeof item.data === "object") item.data = convertDataForRead(item.data, fields, false);
|
|
284
300
|
}
|
|
285
301
|
async function invalidateBylines() {
|
|
286
|
-
const { invalidateBylineCache } = await import("../../../bylines-
|
|
302
|
+
const { invalidateBylineCache } = await import("../../../bylines-kpBzHPr8.mjs").then((n) => n.t);
|
|
287
303
|
invalidateBylineCache();
|
|
288
304
|
}
|
|
289
305
|
/**
|
|
@@ -385,7 +401,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
385
401
|
return originalRegisterTool(name, config, wrapped);
|
|
386
402
|
});
|
|
387
403
|
for (const tool of pluginTools) {
|
|
388
|
-
if (!(tool.permission
|
|
404
|
+
if (!Object.hasOwn(Permissions, tool.permission)) continue;
|
|
389
405
|
server.registerTool(`${tool.pluginId}__${tool.name}`, {
|
|
390
406
|
description: tool.description,
|
|
391
407
|
inputSchema: tool.inputSchema,
|
|
@@ -403,7 +419,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
403
419
|
throw new EmDashAuthError(`Insufficient permission: requires ${tool.permission}`, "INSUFFICIENT_PERMISSIONS");
|
|
404
420
|
}
|
|
405
421
|
if (!request) return respondError("INTERNAL_ERROR", "Missing MCP request context");
|
|
406
|
-
const
|
|
422
|
+
const routeCache = payload.cache;
|
|
423
|
+
const result = await payload.emdash.handlePluginMcpTool(tool.pluginId, tool.name, tool.route, input, payload.userId, request, payload.user, routeCache?.enabled ? (tags) => routeCache.invalidate({ tags }) : void 0);
|
|
407
424
|
if (!result.success) return unwrap(result);
|
|
408
425
|
if (tool.outputSchema) {
|
|
409
426
|
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");
|
|
@@ -499,7 +516,11 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
499
516
|
}, async (args, extra) => {
|
|
500
517
|
requireScope(extra, "content:write");
|
|
501
518
|
requireRole(extra, Role.CONTRIBUTOR);
|
|
502
|
-
const { emdash, userId } = getExtra(extra);
|
|
519
|
+
const { emdash, userId, userRole } = getExtra(extra);
|
|
520
|
+
const actor = {
|
|
521
|
+
id: userId,
|
|
522
|
+
role: userRole
|
|
523
|
+
};
|
|
503
524
|
if (args.translationOf) {
|
|
504
525
|
const source = await emdash.handleContentGet(args.collection, args.translationOf);
|
|
505
526
|
if (!source.success) return unwrap(source);
|
|
@@ -509,7 +530,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
509
530
|
if (args.status === "published") {
|
|
510
531
|
if (!hasPermission({
|
|
511
532
|
id: userId,
|
|
512
|
-
role:
|
|
533
|
+
role: userRole
|
|
513
534
|
}, "content:publish_own")) throw new EmDashAuthError("Insufficient permissions: publishing requires content:publish_own", "INSUFFICIENT_PERMISSIONS");
|
|
514
535
|
const result = await emdash.handleContentCreate(args.collection, {
|
|
515
536
|
data,
|
|
@@ -518,22 +539,30 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
518
539
|
locale: args.locale,
|
|
519
540
|
translationOf: args.translationOf,
|
|
520
541
|
bylines: args.bylines,
|
|
521
|
-
taxonomies: args.taxonomies
|
|
542
|
+
taxonomies: args.taxonomies,
|
|
543
|
+
actor
|
|
522
544
|
});
|
|
523
545
|
if (!result.success) return unwrap(result);
|
|
524
546
|
const itemId = extractContentId(result.data);
|
|
525
|
-
if (itemId) return
|
|
526
|
-
|
|
547
|
+
if (itemId) return unwrapAndInvalidate(extra, await emdash.handleContentPublish(args.collection, itemId, {
|
|
548
|
+
actor: {
|
|
549
|
+
...actor,
|
|
550
|
+
source: "mcp"
|
|
551
|
+
},
|
|
552
|
+
origin: { source: "mcp" }
|
|
553
|
+
}), [args.collection, itemId], true);
|
|
554
|
+
return unwrapAndInvalidate(extra, result, [args.collection]);
|
|
527
555
|
}
|
|
528
|
-
return
|
|
556
|
+
return unwrapAndInvalidate(extra, await emdash.handleContentCreate(args.collection, {
|
|
529
557
|
data,
|
|
530
558
|
slug: args.slug,
|
|
531
559
|
authorId: userId,
|
|
532
560
|
locale: args.locale,
|
|
533
561
|
translationOf: args.translationOf,
|
|
534
562
|
bylines: args.bylines,
|
|
535
|
-
taxonomies: args.taxonomies
|
|
536
|
-
|
|
563
|
+
taxonomies: args.taxonomies,
|
|
564
|
+
actor
|
|
565
|
+
}), [args.collection]);
|
|
537
566
|
});
|
|
538
567
|
server.registerTool("content_update", {
|
|
539
568
|
title: "Update Content",
|
|
@@ -555,6 +584,10 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
555
584
|
requireScope(extra, "content:write");
|
|
556
585
|
requireRole(extra, Role.AUTHOR);
|
|
557
586
|
const { emdash, userId, userRole } = getExtra(extra);
|
|
587
|
+
const actor = {
|
|
588
|
+
id: userId,
|
|
589
|
+
role: userRole
|
|
590
|
+
};
|
|
558
591
|
const existing = await emdash.handleContentGet(args.collection, args.id, args.locale);
|
|
559
592
|
if (!existing.success) return unwrap(existing);
|
|
560
593
|
const ownerId = extractContentAuthorId(existing.data);
|
|
@@ -570,11 +603,12 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
570
603
|
if (args.status === "published") {
|
|
571
604
|
requireOwnership(extra, ownerId, "content:publish_own", "content:publish_any");
|
|
572
605
|
let rev = args._rev;
|
|
606
|
+
let liveChanged = false;
|
|
573
607
|
if (args.data || args.slug || args.seo !== void 0 || args.bylines !== void 0 || args.taxonomies !== void 0 || args.publishedAt !== void 0) {
|
|
574
608
|
const updateResult = await emdash.handleContentUpdate(args.collection, resolvedId, {
|
|
575
609
|
data,
|
|
576
610
|
slug: args.slug,
|
|
577
|
-
|
|
611
|
+
actor,
|
|
578
612
|
locale: args.locale,
|
|
579
613
|
seo: args.seo,
|
|
580
614
|
bylines: args.bylines,
|
|
@@ -583,18 +617,27 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
583
617
|
_rev: args._rev
|
|
584
618
|
});
|
|
585
619
|
if (!updateResult.success) return unwrap(updateResult);
|
|
620
|
+
liveChanged = updateResult.liveContentChanged !== false;
|
|
586
621
|
rev = extractContentRev(updateResult.data);
|
|
587
622
|
}
|
|
588
|
-
return
|
|
623
|
+
return unwrapAndInvalidate(extra, await emdash.handleContentPublish(args.collection, resolvedId, {
|
|
624
|
+
_rev: rev,
|
|
625
|
+
actor: {
|
|
626
|
+
...actor,
|
|
627
|
+
source: "mcp"
|
|
628
|
+
},
|
|
629
|
+
origin: { source: "mcp" }
|
|
630
|
+
}), [args.collection, resolvedId], liveChanged);
|
|
589
631
|
}
|
|
590
632
|
if (args.status === "draft") {
|
|
591
633
|
requireOwnership(extra, ownerId, "content:publish_own", "content:publish_any");
|
|
592
634
|
let rev = args._rev;
|
|
635
|
+
let liveChanged = false;
|
|
593
636
|
if (args.data || args.slug || args.seo !== void 0 || args.bylines !== void 0 || args.taxonomies !== void 0 || args.publishedAt !== void 0) {
|
|
594
637
|
const updateResult = await emdash.handleContentUpdate(args.collection, resolvedId, {
|
|
595
638
|
data,
|
|
596
639
|
slug: args.slug,
|
|
597
|
-
|
|
640
|
+
actor,
|
|
598
641
|
locale: args.locale,
|
|
599
642
|
seo: args.seo,
|
|
600
643
|
bylines: args.bylines,
|
|
@@ -603,21 +646,31 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
603
646
|
_rev: args._rev
|
|
604
647
|
});
|
|
605
648
|
if (!updateResult.success) return unwrap(updateResult);
|
|
649
|
+
liveChanged = updateResult.liveContentChanged !== false;
|
|
606
650
|
rev = extractContentRev(updateResult.data);
|
|
607
651
|
}
|
|
608
|
-
return
|
|
652
|
+
return unwrapAndInvalidate(extra, await emdash.handleContentUnpublish(args.collection, resolvedId, {
|
|
653
|
+
_rev: rev,
|
|
654
|
+
actor: {
|
|
655
|
+
...actor,
|
|
656
|
+
source: "mcp"
|
|
657
|
+
},
|
|
658
|
+
origin: { source: "mcp" }
|
|
659
|
+
}), [args.collection, resolvedId], liveChanged);
|
|
609
660
|
}
|
|
610
|
-
|
|
661
|
+
const result = await emdash.handleContentUpdate(args.collection, resolvedId, {
|
|
611
662
|
data,
|
|
612
663
|
slug: args.slug,
|
|
613
|
-
|
|
664
|
+
actor,
|
|
614
665
|
locale: args.locale,
|
|
615
666
|
seo: args.seo,
|
|
616
667
|
bylines: args.bylines,
|
|
617
668
|
taxonomies: args.taxonomies,
|
|
618
669
|
publishedAt: args.publishedAt,
|
|
619
670
|
_rev: args._rev
|
|
620
|
-
})
|
|
671
|
+
});
|
|
672
|
+
if (result.liveContentChanged === false) return unwrap(result);
|
|
673
|
+
return unwrapAndInvalidate(extra, result, [args.collection, resolvedId]);
|
|
621
674
|
});
|
|
622
675
|
server.registerTool("content_delete", {
|
|
623
676
|
title: "Delete Content (Trash)",
|
|
@@ -635,11 +688,11 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
635
688
|
if (!existing.success) return unwrap(existing);
|
|
636
689
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:delete_own", "content:delete_any");
|
|
637
690
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
638
|
-
return
|
|
691
|
+
return unwrapAndInvalidate(extra, await ec.handleContentDelete(args.collection, resolvedId), [args.collection, resolvedId]);
|
|
639
692
|
});
|
|
640
693
|
server.registerTool("content_restore", {
|
|
641
694
|
title: "Restore Content",
|
|
642
|
-
description: "Restore a soft-deleted content item from the trash back
|
|
695
|
+
description: "Restore a soft-deleted content item from the trash. It comes back as a draft with no schedule, even if it was published or scheduled before it was trashed.",
|
|
643
696
|
inputSchema: z.object({
|
|
644
697
|
collection: z.string().describe("Collection slug"),
|
|
645
698
|
id: z.string().describe("Content item ID or slug")
|
|
@@ -652,7 +705,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
652
705
|
if (!existing.success) return unwrap(existing);
|
|
653
706
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:edit_own", "content:edit_any");
|
|
654
707
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
655
|
-
return
|
|
708
|
+
return unwrapAndInvalidate(extra, await ec.handleContentRestore(args.collection, resolvedId), [args.collection, resolvedId]);
|
|
656
709
|
});
|
|
657
710
|
server.registerTool("content_permanent_delete", {
|
|
658
711
|
title: "Permanently Delete Content",
|
|
@@ -665,7 +718,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
665
718
|
}, async (args, extra) => {
|
|
666
719
|
requireScope(extra, "content:write");
|
|
667
720
|
requireRole(extra, Role.ADMIN);
|
|
668
|
-
return
|
|
721
|
+
return unwrapAndInvalidate(extra, await getEmDash(extra).handleContentPermanentDelete(args.collection, args.id), [args.collection, args.id]);
|
|
669
722
|
});
|
|
670
723
|
server.registerTool("content_publish", {
|
|
671
724
|
title: "Publish Content",
|
|
@@ -690,14 +743,20 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
690
743
|
}, "content:publish_any")) throw new EmDashAuthError("Setting publishedAt requires content:publish_any permission", "INSUFFICIENT_PERMISSIONS");
|
|
691
744
|
}
|
|
692
745
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
693
|
-
return
|
|
746
|
+
return unwrapAndInvalidate(extra, await emdash.handleContentPublish(args.collection, resolvedId, {
|
|
694
747
|
publishedAt: args.publishedAt,
|
|
695
|
-
_rev: args._rev
|
|
696
|
-
|
|
748
|
+
_rev: args._rev,
|
|
749
|
+
actor: {
|
|
750
|
+
id: userId,
|
|
751
|
+
role: userRole,
|
|
752
|
+
source: "mcp"
|
|
753
|
+
},
|
|
754
|
+
origin: { source: "mcp" }
|
|
755
|
+
}), [args.collection, resolvedId]);
|
|
697
756
|
});
|
|
698
757
|
server.registerTool("content_unpublish", {
|
|
699
758
|
title: "Unpublish Content",
|
|
700
|
-
description: "Unpublish a content item, reverting it to draft status. It will no longer be visible on the live site, but its content and publication date are preserved.",
|
|
759
|
+
description: "Unpublish a content item, reverting it to draft status. It will no longer be visible on the live site, but its content and publication date are preserved. Any pending schedule is cancelled.",
|
|
701
760
|
inputSchema: z.object({
|
|
702
761
|
collection: z.string().describe("Collection slug"),
|
|
703
762
|
id: z.string().describe("Content item ID or slug"),
|
|
@@ -706,12 +765,20 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
706
765
|
}, async (args, extra) => {
|
|
707
766
|
requireScope(extra, "content:write");
|
|
708
767
|
requireRole(extra, Role.AUTHOR);
|
|
709
|
-
const ec =
|
|
768
|
+
const { emdash: ec, userId, userRole } = getExtra(extra);
|
|
710
769
|
const existing = await ec.handleContentGet(args.collection, args.id);
|
|
711
770
|
if (!existing.success) return unwrap(existing);
|
|
712
771
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:publish_own", "content:publish_any");
|
|
713
772
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
714
|
-
return
|
|
773
|
+
return unwrapAndInvalidate(extra, await ec.handleContentUnpublish(args.collection, resolvedId, {
|
|
774
|
+
_rev: args._rev,
|
|
775
|
+
actor: {
|
|
776
|
+
id: userId,
|
|
777
|
+
role: userRole,
|
|
778
|
+
source: "mcp"
|
|
779
|
+
},
|
|
780
|
+
origin: { source: "mcp" }
|
|
781
|
+
}), [args.collection, resolvedId]);
|
|
715
782
|
});
|
|
716
783
|
server.registerTool("content_schedule", {
|
|
717
784
|
title: "Schedule Content",
|
|
@@ -719,21 +786,30 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
719
786
|
inputSchema: z.object({
|
|
720
787
|
collection: z.string().describe("Collection slug"),
|
|
721
788
|
id: z.string().describe("Content item ID or slug"),
|
|
722
|
-
|
|
789
|
+
_rev: z.string({ error: REV_MISSING_ERROR }).describe(REV_PARAM_DESCRIPTION),
|
|
790
|
+
scheduledAt: contentDateTimeInputSchema.describe("ISO 8601 datetime for publication (e.g. '2025-06-01T09:00:00Z')")
|
|
723
791
|
})
|
|
724
792
|
}, async (args, extra) => {
|
|
725
793
|
requireScope(extra, "content:write");
|
|
726
794
|
requireRole(extra, Role.AUTHOR);
|
|
727
|
-
const ec =
|
|
795
|
+
const { emdash: ec, userId, userRole } = getExtra(extra);
|
|
728
796
|
const existing = await ec.handleContentGet(args.collection, args.id);
|
|
729
797
|
if (!existing.success) return unwrap(existing);
|
|
730
798
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:publish_own", "content:publish_any");
|
|
731
799
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
732
|
-
return
|
|
800
|
+
return unwrapAndInvalidate(extra, await ec.handleContentSchedule(args.collection, resolvedId, args.scheduledAt, {
|
|
801
|
+
_rev: args._rev,
|
|
802
|
+
actor: {
|
|
803
|
+
id: userId,
|
|
804
|
+
role: userRole,
|
|
805
|
+
source: "mcp"
|
|
806
|
+
},
|
|
807
|
+
origin: { source: "mcp" }
|
|
808
|
+
}), [args.collection, resolvedId]);
|
|
733
809
|
});
|
|
734
810
|
server.registerTool("content_unschedule", {
|
|
735
811
|
title: "Cancel Scheduled Publication",
|
|
736
|
-
description: "Cancel a previously scheduled publication.
|
|
812
|
+
description: "Cancel a previously scheduled publication. Scheduled drafts return to draft status; published items stay published. The scheduledAt timestamp is cleared. Idempotent — calling on an item that isn't scheduled is a no-op.",
|
|
737
813
|
inputSchema: z.object({
|
|
738
814
|
collection: z.string().describe("Collection slug"),
|
|
739
815
|
id: z.string().describe("Content item ID or slug")
|
|
@@ -746,7 +822,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
746
822
|
if (!existing.success) return unwrap(existing);
|
|
747
823
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:publish_own", "content:publish_any");
|
|
748
824
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
749
|
-
return
|
|
825
|
+
return unwrapAndInvalidate(extra, await ec.handleContentUnschedule(args.collection, resolvedId), [args.collection, resolvedId]);
|
|
750
826
|
});
|
|
751
827
|
server.registerTool("content_compare", {
|
|
752
828
|
title: "Compare Live vs Draft",
|
|
@@ -763,7 +839,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
763
839
|
});
|
|
764
840
|
server.registerTool("content_discard_draft", {
|
|
765
841
|
title: "Discard Draft",
|
|
766
|
-
description: "Discard the current draft
|
|
842
|
+
description: "Discard the current draft revision. Published content reverts to its live version; an item without a pending draft is unchanged.",
|
|
767
843
|
inputSchema: z.object({
|
|
768
844
|
collection: z.string().describe("Collection slug"),
|
|
769
845
|
id: z.string().describe("Content item ID or slug"),
|
|
@@ -778,7 +854,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
778
854
|
if (!existing.success) return unwrap(existing);
|
|
779
855
|
requireOwnership(extra, extractContentAuthorId(existing.data), "content:edit_own", "content:edit_any");
|
|
780
856
|
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
781
|
-
return
|
|
857
|
+
return unwrapAndInvalidate(extra, await ec.handleContentDiscardDraft(args.collection, resolvedId, { _rev: args._rev }), [args.collection, resolvedId]);
|
|
782
858
|
});
|
|
783
859
|
server.registerTool("content_list_trashed", {
|
|
784
860
|
title: "List Trashed Content",
|
|
@@ -807,7 +883,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
807
883
|
}, async (args, extra) => {
|
|
808
884
|
requireScope(extra, "content:write");
|
|
809
885
|
requireRole(extra, Role.CONTRIBUTOR);
|
|
810
|
-
return
|
|
886
|
+
return unwrapAndInvalidate(extra, await getEmDash(extra).handleContentDuplicate(args.collection, args.id), [args.collection]);
|
|
811
887
|
});
|
|
812
888
|
server.registerTool("content_translations", {
|
|
813
889
|
title: "Get Content Translations",
|
|
@@ -849,7 +925,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
849
925
|
requireScope(extra, "content:read");
|
|
850
926
|
const ec = getEmDash(extra);
|
|
851
927
|
try {
|
|
852
|
-
const { BylineRepository } = await import("../../../byline-
|
|
928
|
+
const { BylineRepository } = await import("../../../byline-Doh-wt99.mjs").then((n) => n.n);
|
|
853
929
|
return jsonResult(await new BylineRepository(ec.db).findMany({
|
|
854
930
|
search: args.search,
|
|
855
931
|
isGuest: args.isGuest,
|
|
@@ -871,7 +947,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
871
947
|
requireScope(extra, "content:read");
|
|
872
948
|
const ec = getEmDash(extra);
|
|
873
949
|
try {
|
|
874
|
-
const { BylineRepository } = await import("../../../byline-
|
|
950
|
+
const { BylineRepository } = await import("../../../byline-Doh-wt99.mjs").then((n) => n.n);
|
|
875
951
|
const byline = await new BylineRepository(ec.db).findById(args.id);
|
|
876
952
|
if (!byline) return respondError("NOT_FOUND", `Byline '${args.id}' not found`);
|
|
877
953
|
return jsonResult(byline);
|
|
@@ -889,7 +965,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
889
965
|
requireRole(extra, Role.EDITOR);
|
|
890
966
|
const ec = getEmDash(extra);
|
|
891
967
|
try {
|
|
892
|
-
const { handleBylineCreate } = await import("../../../bylines-
|
|
968
|
+
const { handleBylineCreate } = await import("../../../bylines-Cop0hkoy.mjs").then((n) => n.t);
|
|
893
969
|
const result = await handleBylineCreate(ec.db, args);
|
|
894
970
|
if (result.success) await invalidateBylines();
|
|
895
971
|
return unwrap(result);
|
|
@@ -909,7 +985,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
909
985
|
requireRole(extra, Role.EDITOR);
|
|
910
986
|
const ec = getEmDash(extra);
|
|
911
987
|
try {
|
|
912
|
-
const { handleBylineUpdate } = await import("../../../bylines-
|
|
988
|
+
const { handleBylineUpdate } = await import("../../../bylines-Cop0hkoy.mjs").then((n) => n.t);
|
|
913
989
|
const { id, ...input } = args;
|
|
914
990
|
const result = await handleBylineUpdate(ec.db, id, input);
|
|
915
991
|
if (result.success) await invalidateBylines();
|
|
@@ -928,7 +1004,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
928
1004
|
requireRole(extra, Role.EDITOR);
|
|
929
1005
|
const ec = getEmDash(extra);
|
|
930
1006
|
try {
|
|
931
|
-
const { BylineRepository } = await import("../../../byline-
|
|
1007
|
+
const { BylineRepository } = await import("../../../byline-Doh-wt99.mjs").then((n) => n.n);
|
|
932
1008
|
if (!await new BylineRepository(ec.db).delete(args.id)) return respondError("NOT_FOUND", `Byline '${args.id}' not found`);
|
|
933
1009
|
await invalidateBylines();
|
|
934
1010
|
return jsonResult({ deleted: args.id });
|
|
@@ -945,7 +1021,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
945
1021
|
requireScope(extra, "content:read");
|
|
946
1022
|
const ec = getEmDash(extra);
|
|
947
1023
|
try {
|
|
948
|
-
const { handleBylineTranslations } = await import("../../../bylines-
|
|
1024
|
+
const { handleBylineTranslations } = await import("../../../bylines-Cop0hkoy.mjs").then((n) => n.t);
|
|
949
1025
|
return unwrap(await handleBylineTranslations(ec.db, args.id));
|
|
950
1026
|
} catch (error) {
|
|
951
1027
|
return respondHandlerError(error, "BYLINE_TRANSLATIONS_ERROR");
|
|
@@ -961,7 +1037,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
961
1037
|
requireRole(extra, Role.EDITOR);
|
|
962
1038
|
const ec = getEmDash(extra);
|
|
963
1039
|
try {
|
|
964
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1040
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
965
1041
|
return jsonResult({ items: await new SchemaRegistry(ec.db).listCollections() });
|
|
966
1042
|
} catch (error) {
|
|
967
1043
|
return respondHandlerError(error, "SCHEMA_LIST_ERROR");
|
|
@@ -977,7 +1053,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
977
1053
|
requireRole(extra, Role.EDITOR);
|
|
978
1054
|
const ec = getEmDash(extra);
|
|
979
1055
|
try {
|
|
980
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1056
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
981
1057
|
const collection = await new SchemaRegistry(ec.db).getCollectionWithFields(args.slug);
|
|
982
1058
|
if (!collection) return respondError("NOT_FOUND", `Collection '${args.slug}' not found`);
|
|
983
1059
|
return jsonResult(collection);
|
|
@@ -995,14 +1071,16 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
995
1071
|
description: z.string().optional().describe("Description of this collection"),
|
|
996
1072
|
icon: z.string().optional().describe("Icon name for the admin UI"),
|
|
997
1073
|
supports: createCollectionBody.shape.supports.describe("Features to enable (default: ['drafts', 'revisions'])"),
|
|
998
|
-
routable: createCollectionBody.shape.routable.describe("Require a slug before publishing (default: true)")
|
|
1074
|
+
routable: createCollectionBody.shape.routable.describe("Require a slug before publishing (default: true)"),
|
|
1075
|
+
editLocking: createCollectionBody.shape.editLocking.describe("Take an edit lock when an entry is opened (default: true)"),
|
|
1076
|
+
group: createCollectionBody.shape.group.describe("Admin sidebar folder shared with other collections of the same group")
|
|
999
1077
|
})
|
|
1000
1078
|
}, async (args, extra) => {
|
|
1001
1079
|
requireScope(extra, "schema:write");
|
|
1002
1080
|
requireRole(extra, Role.ADMIN);
|
|
1003
1081
|
const ec = getEmDash(extra);
|
|
1004
1082
|
try {
|
|
1005
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1083
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
1006
1084
|
const collection = await new SchemaRegistry(ec.db).createCollection({
|
|
1007
1085
|
slug: args.slug,
|
|
1008
1086
|
label: args.label,
|
|
@@ -1010,7 +1088,9 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1010
1088
|
description: args.description,
|
|
1011
1089
|
icon: args.icon,
|
|
1012
1090
|
supports: args.supports,
|
|
1013
|
-
routable: args.routable
|
|
1091
|
+
routable: args.routable,
|
|
1092
|
+
editLocking: args.editLocking,
|
|
1093
|
+
group: args.group
|
|
1014
1094
|
});
|
|
1015
1095
|
ec.invalidateUrlPatternCache();
|
|
1016
1096
|
return jsonResult(collection);
|
|
@@ -1031,7 +1111,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1031
1111
|
requireRole(extra, Role.ADMIN);
|
|
1032
1112
|
const ec = getEmDash(extra);
|
|
1033
1113
|
try {
|
|
1034
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1114
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
1035
1115
|
await new SchemaRegistry(ec.db).deleteCollection(args.slug, { force: args.force });
|
|
1036
1116
|
ec.invalidateUrlPatternCache();
|
|
1037
1117
|
return jsonResult({ deleted: args.slug });
|
|
@@ -1050,7 +1130,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1050
1130
|
const ec = getEmDash(extra);
|
|
1051
1131
|
const { slug, ...input } = args;
|
|
1052
1132
|
try {
|
|
1053
|
-
const { handleSchemaCollectionUpdate } = await import("../../../schema-
|
|
1133
|
+
const { handleSchemaCollectionUpdate } = await import("../../../schema-CPhPM9Do.mjs").then((n) => n.h);
|
|
1054
1134
|
const result = await handleSchemaCollectionUpdate(ec.db, slug, input);
|
|
1055
1135
|
if (result.success) ec.invalidateUrlPatternCache();
|
|
1056
1136
|
return unwrap(result);
|
|
@@ -1105,7 +1185,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1105
1185
|
requireRole(extra, Role.ADMIN);
|
|
1106
1186
|
const ec = getEmDash(extra);
|
|
1107
1187
|
try {
|
|
1108
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1188
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
1109
1189
|
return jsonResult(await new SchemaRegistry(ec.db).createField(args.collection, {
|
|
1110
1190
|
slug: args.slug,
|
|
1111
1191
|
label: args.label,
|
|
@@ -1136,7 +1216,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1136
1216
|
requireRole(extra, Role.ADMIN);
|
|
1137
1217
|
const ec = getEmDash(extra);
|
|
1138
1218
|
try {
|
|
1139
|
-
const { SchemaRegistry } = await import("../../../schema-
|
|
1219
|
+
const { SchemaRegistry } = await import("../../../schema-DEERRrKS.mjs").then((n) => n.t);
|
|
1140
1220
|
await new SchemaRegistry(ec.db).deleteField(args.collection, args.fieldSlug);
|
|
1141
1221
|
return jsonResult({
|
|
1142
1222
|
deleted: args.fieldSlug,
|
|
@@ -1157,7 +1237,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1157
1237
|
const ec = getEmDash(extra);
|
|
1158
1238
|
const { collection, fieldSlug, ...input } = args;
|
|
1159
1239
|
try {
|
|
1160
|
-
const { handleSchemaFieldUpdate } = await import("../../../schema-
|
|
1240
|
+
const { handleSchemaFieldUpdate } = await import("../../../schema-CPhPM9Do.mjs").then((n) => n.h);
|
|
1161
1241
|
return unwrap(await handleSchemaFieldUpdate(ec.db, collection, fieldSlug, input));
|
|
1162
1242
|
} catch (error) {
|
|
1163
1243
|
return respondHandlerError(error, "SCHEMA_FIELD_UPDATE_ERROR");
|
|
@@ -1228,8 +1308,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1228
1308
|
const { emdash, userId } = getExtra(extra);
|
|
1229
1309
|
if (!emdash.storage) return respondError("NO_STORAGE", "Storage not configured");
|
|
1230
1310
|
try {
|
|
1231
|
-
|
|
1232
|
-
return unwrap(await handleMediaUpload(emdash.db, emdash.storage, {
|
|
1311
|
+
return unwrap(await emdash.handleMediaUpload({
|
|
1233
1312
|
filename: args.filename,
|
|
1234
1313
|
base64: args.base64,
|
|
1235
1314
|
url: args.url,
|
|
@@ -1308,7 +1387,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1308
1387
|
};
|
|
1309
1388
|
} else input = { scope: "all" };
|
|
1310
1389
|
try {
|
|
1311
|
-
const { handleMediaUsageRepair } = await import("../../../media-usage-
|
|
1390
|
+
const { handleMediaUsageRepair } = await import("../../../media-usage-C4NolTpQ.mjs").then((n) => n.o);
|
|
1312
1391
|
return unwrap(await handleMediaUsageRepair(ec.db, input));
|
|
1313
1392
|
} catch (error) {
|
|
1314
1393
|
return respondHandlerError(error, "MEDIA_USAGE_REPAIR_ERROR");
|
|
@@ -1329,7 +1408,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1329
1408
|
requireScope(extra, "content:read");
|
|
1330
1409
|
const ec = getEmDash(extra);
|
|
1331
1410
|
try {
|
|
1332
|
-
const { searchWithDb } = await import("../../../search-
|
|
1411
|
+
const { searchWithDb } = await import("../../../search-lami_Ota.mjs").then((n) => n.t);
|
|
1333
1412
|
return jsonResult(await searchWithDb(ec.db, args.query, {
|
|
1334
1413
|
collections: args.collections,
|
|
1335
1414
|
locale: args.locale,
|
|
@@ -1349,7 +1428,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1349
1428
|
requireScope(extra, "content:read");
|
|
1350
1429
|
const ec = getEmDash(extra);
|
|
1351
1430
|
try {
|
|
1352
|
-
const { handleTaxonomyList } = await import("../../../taxonomies-
|
|
1431
|
+
const { handleTaxonomyList } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1353
1432
|
return unwrap(await handleTaxonomyList(ec.db, { locale: args.locale }));
|
|
1354
1433
|
} catch (error) {
|
|
1355
1434
|
return respondHandlerError(error, "TAXONOMY_LIST_ERROR");
|
|
@@ -1367,7 +1446,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1367
1446
|
requireScope(extra, "content:read");
|
|
1368
1447
|
const ec = getEmDash(extra);
|
|
1369
1448
|
try {
|
|
1370
|
-
const { handleTaxonomyGet } = await import("../../../taxonomies-
|
|
1449
|
+
const { handleTaxonomyGet } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1371
1450
|
return unwrap(await handleTaxonomyGet(ec.db, args.name, { locale: args.locale }));
|
|
1372
1451
|
} catch (error) {
|
|
1373
1452
|
return respondHandlerError(error, "TAXONOMY_GET_ERROR");
|
|
@@ -1390,8 +1469,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1390
1469
|
requireRole(extra, Role.EDITOR);
|
|
1391
1470
|
const ec = getEmDash(extra);
|
|
1392
1471
|
try {
|
|
1393
|
-
const { handleTaxonomyCreate } = await import("../../../taxonomies-
|
|
1394
|
-
return
|
|
1472
|
+
const { handleTaxonomyCreate } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1473
|
+
return unwrapAndInvalidate(extra, await handleTaxonomyCreate(ec.db, {
|
|
1395
1474
|
name: args.name,
|
|
1396
1475
|
label: args.label,
|
|
1397
1476
|
labelSingular: args.labelSingular,
|
|
@@ -1399,7 +1478,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1399
1478
|
collections: args.collections,
|
|
1400
1479
|
locale: args.locale,
|
|
1401
1480
|
translationOf: args.translationOf
|
|
1402
|
-
}));
|
|
1481
|
+
}), [taxonomyTag(args.name)]);
|
|
1403
1482
|
} catch (error) {
|
|
1404
1483
|
return respondHandlerError(error, "TAXONOMY_CREATE_ERROR");
|
|
1405
1484
|
}
|
|
@@ -1420,14 +1499,14 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1420
1499
|
requireRole(extra, Role.EDITOR);
|
|
1421
1500
|
const ec = getEmDash(extra);
|
|
1422
1501
|
try {
|
|
1423
|
-
const { handleTaxonomyUpdate } = await import("../../../taxonomies-
|
|
1424
|
-
return
|
|
1502
|
+
const { handleTaxonomyUpdate } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1503
|
+
return unwrapAndInvalidate(extra, await handleTaxonomyUpdate(ec.db, args.name, {
|
|
1425
1504
|
label: args.label,
|
|
1426
1505
|
labelSingular: args.labelSingular,
|
|
1427
1506
|
hierarchical: args.hierarchical,
|
|
1428
1507
|
collections: args.collections,
|
|
1429
1508
|
locale: args.locale
|
|
1430
|
-
}));
|
|
1509
|
+
}), [taxonomyTag(args.name)]);
|
|
1431
1510
|
} catch (error) {
|
|
1432
1511
|
return respondHandlerError(error, "TAXONOMY_UPDATE_ERROR");
|
|
1433
1512
|
}
|
|
@@ -1442,8 +1521,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1442
1521
|
requireRole(extra, Role.EDITOR);
|
|
1443
1522
|
const ec = getEmDash(extra);
|
|
1444
1523
|
try {
|
|
1445
|
-
const { handleTaxonomyDelete } = await import("../../../taxonomies-
|
|
1446
|
-
return
|
|
1524
|
+
const { handleTaxonomyDelete } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1525
|
+
return unwrapAndInvalidate(extra, await handleTaxonomyDelete(ec.db, args.name), [taxonomyTag(args.name)]);
|
|
1447
1526
|
} catch (error) {
|
|
1448
1527
|
return respondHandlerError(error, "TAXONOMY_DELETE_ERROR");
|
|
1449
1528
|
}
|
|
@@ -1462,11 +1541,11 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1462
1541
|
requireScope(extra, "content:read");
|
|
1463
1542
|
const ec = getEmDash(extra);
|
|
1464
1543
|
try {
|
|
1465
|
-
const { handleTaxonomyList } = await import("../../../taxonomies-
|
|
1544
|
+
const { handleTaxonomyList } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1466
1545
|
const listResult = await handleTaxonomyList(ec.db, { locale: args.locale });
|
|
1467
1546
|
if (!listResult.success) return unwrap(listResult);
|
|
1468
1547
|
if (!listResult.data.taxonomies.find((t) => t.name === args.taxonomy)) return respondError("NOT_FOUND", `Taxonomy '${args.taxonomy}' not found`);
|
|
1469
|
-
const { TaxonomyRepository } = await import("../../../taxonomy-
|
|
1548
|
+
const { TaxonomyRepository } = await import("../../../taxonomy-Dj1vpw5E.mjs").then((n) => n.n);
|
|
1470
1549
|
const repo = new TaxonomyRepository(ec.db);
|
|
1471
1550
|
const limit = Math.min(args.limit ?? 50, 100);
|
|
1472
1551
|
let cursor;
|
|
@@ -1527,52 +1606,54 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1527
1606
|
requireRole(extra, Role.EDITOR);
|
|
1528
1607
|
const ec = getEmDash(extra);
|
|
1529
1608
|
try {
|
|
1530
|
-
const { handleTermCreate } = await import("../../../taxonomies-
|
|
1531
|
-
return
|
|
1609
|
+
const { handleTermCreate } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1610
|
+
return unwrapAndInvalidate(extra, await handleTermCreate(ec.db, args.taxonomy, {
|
|
1532
1611
|
slug: args.slug,
|
|
1533
1612
|
label: args.label,
|
|
1534
1613
|
parentId: args.parentId,
|
|
1535
1614
|
description: args.description,
|
|
1536
1615
|
locale: args.locale,
|
|
1537
1616
|
translationOf: args.translationOf
|
|
1538
|
-
}));
|
|
1617
|
+
}), [taxonomyTag(args.taxonomy)]);
|
|
1539
1618
|
} catch (error) {
|
|
1540
1619
|
return respondHandlerError(error, "TAXONOMY_TERM_CREATE_ERROR");
|
|
1541
1620
|
}
|
|
1542
1621
|
});
|
|
1543
1622
|
server.registerTool("taxonomy_update_term", {
|
|
1544
1623
|
title: "Update Taxonomy Term",
|
|
1545
|
-
description: "Update an existing term in a taxonomy. Any field can be omitted to leave it unchanged. Renaming a term's slug must not collide with another term in the same taxonomy. Set parentId to null to detach from a parent. The new parent must exist, belong to the same taxonomy, and not introduce a cycle (a term cannot be its own ancestor). The new parent's ancestor chain must not exceed 100 levels — reparenting under a chain of 100+ ancestors is rejected.",
|
|
1624
|
+
description: "Update an existing term in a taxonomy. Any field can be omitted to leave it unchanged. Renaming a term's slug must not collide with another term in the same taxonomy. Set parentId to null to detach from a parent. The new parent must exist, belong to the same taxonomy, and not introduce a cycle (a term cannot be its own ancestor). The new parent's ancestor chain must not exceed 100 levels — reparenting under a chain of 100+ ancestors is rejected. Translations of a term can share a slug: pass `locale` to update a specific translation; otherwise the lowest matching locale is updated.",
|
|
1546
1625
|
inputSchema: z.object({
|
|
1547
1626
|
taxonomy: z.string().describe("Taxonomy name (e.g. 'categories', 'tags')"),
|
|
1548
1627
|
termSlug: z.string().describe("Current slug of the term to update"),
|
|
1549
1628
|
slug: z.string().optional().describe("New slug (must be unique in the taxonomy)"),
|
|
1550
1629
|
label: z.string().optional().describe("New display name"),
|
|
1551
1630
|
parentId: z.string().nullable().optional().describe("New parent term ID; null to detach"),
|
|
1552
|
-
description: z.string().optional().describe("New description")
|
|
1631
|
+
description: z.string().optional().describe("New description"),
|
|
1632
|
+
locale: z.string().optional().describe("Locale of the term to update (e.g. 'fr')")
|
|
1553
1633
|
})
|
|
1554
1634
|
}, async (args, extra) => {
|
|
1555
1635
|
requireScope(extra, "taxonomies:manage");
|
|
1556
1636
|
requireRole(extra, Role.EDITOR);
|
|
1557
1637
|
const ec = getEmDash(extra);
|
|
1558
1638
|
try {
|
|
1559
|
-
const { handleTermUpdate } = await import("../../../taxonomies-
|
|
1560
|
-
return
|
|
1639
|
+
const { handleTermUpdate } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1640
|
+
return unwrapAndInvalidate(extra, await handleTermUpdate(ec.db, args.taxonomy, args.termSlug, {
|
|
1561
1641
|
slug: args.slug,
|
|
1562
1642
|
label: args.label,
|
|
1563
1643
|
parentId: args.parentId,
|
|
1564
1644
|
description: args.description
|
|
1565
|
-
}));
|
|
1645
|
+
}, { locale: args.locale }), [taxonomyTag(args.taxonomy)]);
|
|
1566
1646
|
} catch (error) {
|
|
1567
1647
|
return respondHandlerError(error, "TAXONOMY_TERM_UPDATE_ERROR");
|
|
1568
1648
|
}
|
|
1569
1649
|
});
|
|
1570
1650
|
server.registerTool("taxonomy_delete_term", {
|
|
1571
1651
|
title: "Delete Taxonomy Term",
|
|
1572
|
-
description: "Permanently delete a term from a taxonomy. Any content tagged with this term loses the association. Cannot delete a term that has children — delete children first.",
|
|
1652
|
+
description: "Permanently delete a term from a taxonomy. Any content tagged with this term loses the association. Cannot delete a term that has children — delete children first. Translations of a term can share a slug: pass `locale` to delete a specific translation; otherwise the lowest matching locale is deleted.",
|
|
1573
1653
|
inputSchema: z.object({
|
|
1574
1654
|
taxonomy: z.string().describe("Taxonomy name"),
|
|
1575
|
-
termSlug: z.string().describe("Slug of the term to delete")
|
|
1655
|
+
termSlug: z.string().describe("Slug of the term to delete"),
|
|
1656
|
+
locale: z.string().optional().describe("Locale of the term to delete (e.g. 'fr')")
|
|
1576
1657
|
}),
|
|
1577
1658
|
annotations: { destructiveHint: true }
|
|
1578
1659
|
}, async (args, extra) => {
|
|
@@ -1580,8 +1661,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1580
1661
|
requireRole(extra, Role.EDITOR);
|
|
1581
1662
|
const ec = getEmDash(extra);
|
|
1582
1663
|
try {
|
|
1583
|
-
const { handleTermDelete } = await import("../../../taxonomies-
|
|
1584
|
-
return
|
|
1664
|
+
const { handleTermDelete } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1665
|
+
return unwrapAndInvalidate(extra, await handleTermDelete(ec.db, args.taxonomy, args.termSlug, { locale: args.locale }), [taxonomyTag(args.taxonomy)]);
|
|
1585
1666
|
} catch (error) {
|
|
1586
1667
|
return respondHandlerError(error, "TAXONOMY_TERM_DELETE_ERROR");
|
|
1587
1668
|
}
|
|
@@ -1595,7 +1676,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1595
1676
|
requireScope(extra, "content:read");
|
|
1596
1677
|
const ec = getEmDash(extra);
|
|
1597
1678
|
try {
|
|
1598
|
-
const { handleTermTranslations } = await import("../../../taxonomies-
|
|
1679
|
+
const { handleTermTranslations } = await import("../../../taxonomies-ClCo4IGO.mjs").then((n) => n.m);
|
|
1599
1680
|
return unwrap(await handleTermTranslations(ec.db, args.id));
|
|
1600
1681
|
} catch (error) {
|
|
1601
1682
|
return respondHandlerError(error, "TERM_TRANSLATIONS_ERROR");
|
|
@@ -1610,7 +1691,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1610
1691
|
requireScope(extra, "content:read");
|
|
1611
1692
|
const ec = getEmDash(extra);
|
|
1612
1693
|
try {
|
|
1613
|
-
const { handleMenuList } = await import("../../../menus-
|
|
1694
|
+
const { handleMenuList } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1614
1695
|
return unwrap(await handleMenuList(ec.db, { locale: args.locale }));
|
|
1615
1696
|
} catch (error) {
|
|
1616
1697
|
return respondHandlerError(error, "MENU_LIST_ERROR");
|
|
@@ -1628,7 +1709,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1628
1709
|
requireScope(extra, "content:read");
|
|
1629
1710
|
const ec = getEmDash(extra);
|
|
1630
1711
|
try {
|
|
1631
|
-
const { handleMenuGet } = await import("../../../menus-
|
|
1712
|
+
const { handleMenuGet } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1632
1713
|
return unwrap(await handleMenuGet(ec.db, args.name, { locale: args.locale }));
|
|
1633
1714
|
} catch (error) {
|
|
1634
1715
|
return respondHandlerError(error, "MENU_GET_ERROR");
|
|
@@ -1643,7 +1724,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1643
1724
|
requireScope(extra, "content:read");
|
|
1644
1725
|
const ec = getEmDash(extra);
|
|
1645
1726
|
try {
|
|
1646
|
-
const { handleMenuTranslations } = await import("../../../menus-
|
|
1727
|
+
const { handleMenuTranslations } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1647
1728
|
return unwrap(await handleMenuTranslations(ec.db, args.id));
|
|
1648
1729
|
} catch (error) {
|
|
1649
1730
|
return respondHandlerError(error, "MENU_TRANSLATIONS_ERROR");
|
|
@@ -1663,13 +1744,13 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1663
1744
|
requireRole(extra, Role.EDITOR);
|
|
1664
1745
|
const ec = getEmDash(extra);
|
|
1665
1746
|
try {
|
|
1666
|
-
const { handleMenuCreate } = await import("../../../menus-
|
|
1667
|
-
return
|
|
1747
|
+
const { handleMenuCreate } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1748
|
+
return unwrapAndInvalidate(extra, await handleMenuCreate(ec.db, {
|
|
1668
1749
|
name: args.name,
|
|
1669
1750
|
label: args.label,
|
|
1670
1751
|
locale: args.locale,
|
|
1671
1752
|
translationOf: args.translationOf
|
|
1672
|
-
}));
|
|
1753
|
+
}), [menuTag(args.name)]);
|
|
1673
1754
|
} catch (error) {
|
|
1674
1755
|
return respondHandlerError(error, "MENU_CREATE_ERROR");
|
|
1675
1756
|
}
|
|
@@ -1687,11 +1768,11 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1687
1768
|
requireRole(extra, Role.EDITOR);
|
|
1688
1769
|
const ec = getEmDash(extra);
|
|
1689
1770
|
try {
|
|
1690
|
-
const { handleMenuUpdate } = await import("../../../menus-
|
|
1691
|
-
return
|
|
1771
|
+
const { handleMenuUpdate } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1772
|
+
return unwrapAndInvalidate(extra, await handleMenuUpdate(ec.db, args.name, {
|
|
1692
1773
|
label: args.label,
|
|
1693
1774
|
locale: args.locale
|
|
1694
|
-
}));
|
|
1775
|
+
}), [menuTag(args.name)]);
|
|
1695
1776
|
} catch (error) {
|
|
1696
1777
|
return respondHandlerError(error, "MENU_UPDATE_ERROR");
|
|
1697
1778
|
}
|
|
@@ -1709,8 +1790,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1709
1790
|
requireRole(extra, Role.EDITOR);
|
|
1710
1791
|
const ec = getEmDash(extra);
|
|
1711
1792
|
try {
|
|
1712
|
-
const { handleMenuDelete } = await import("../../../menus-
|
|
1713
|
-
return
|
|
1793
|
+
const { handleMenuDelete } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1794
|
+
return unwrapAndInvalidate(extra, await handleMenuDelete(ec.db, args.name, { locale: args.locale }), [menuTag(args.name)]);
|
|
1714
1795
|
} catch (error) {
|
|
1715
1796
|
return respondHandlerError(error, "MENU_DELETE_ERROR");
|
|
1716
1797
|
}
|
|
@@ -1744,8 +1825,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1744
1825
|
requireRole(extra, Role.EDITOR);
|
|
1745
1826
|
const ec = getEmDash(extra);
|
|
1746
1827
|
try {
|
|
1747
|
-
const { handleMenuSetItems } = await import("../../../menus-
|
|
1748
|
-
return
|
|
1828
|
+
const { handleMenuSetItems } = await import("../../../menus-Wy8m5NcH.mjs").then((n) => n.d);
|
|
1829
|
+
return unwrapAndInvalidate(extra, await handleMenuSetItems(ec.db, args.name, args.items, { locale: args.locale }), [menuTag(args.name)]);
|
|
1749
1830
|
} catch (error) {
|
|
1750
1831
|
return respondHandlerError(error, "MENU_SET_ITEMS_ERROR");
|
|
1751
1832
|
}
|
|
@@ -1791,7 +1872,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1791
1872
|
requireRole(extra, Role.EDITOR);
|
|
1792
1873
|
const ec = getEmDash(extra);
|
|
1793
1874
|
try {
|
|
1794
|
-
const { handleSettingsGet } = await import("../../../settings-
|
|
1875
|
+
const { handleSettingsGet } = await import("../../../settings-g2F2a3Ub.mjs").then((n) => n.r);
|
|
1795
1876
|
return unwrap(await handleSettingsGet(ec.db, ec.storage));
|
|
1796
1877
|
} catch (error) {
|
|
1797
1878
|
return respondHandlerError(error, "SETTINGS_READ_ERROR");
|
|
@@ -1817,8 +1898,8 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1817
1898
|
requireRole(extra, Role.ADMIN);
|
|
1818
1899
|
const ec = getEmDash(extra);
|
|
1819
1900
|
try {
|
|
1820
|
-
const { handleSettingsUpdate } = await import("../../../settings-
|
|
1821
|
-
return
|
|
1901
|
+
const { handleSettingsUpdate } = await import("../../../settings-g2F2a3Ub.mjs").then((n) => n.r);
|
|
1902
|
+
return unwrapAndInvalidate(extra, await handleSettingsUpdate(ec.db, ec.storage, args), [siteSettingsTag()]);
|
|
1822
1903
|
} catch (error) {
|
|
1823
1904
|
return respondHandlerError(error, "SETTINGS_UPDATE_ERROR");
|
|
1824
1905
|
}
|
|
@@ -1841,7 +1922,7 @@ function createMcpServer(pluginTools = [], request) {
|
|
|
1841
1922
|
* DELETE /_emdash/api/mcp — Session close (not used in stateless mode)
|
|
1842
1923
|
*/
|
|
1843
1924
|
const prerender = false;
|
|
1844
|
-
const POST = async ({ request, locals }) => {
|
|
1925
|
+
const POST = async ({ request, locals, cache }) => {
|
|
1845
1926
|
const { emdash, user } = locals;
|
|
1846
1927
|
if (!emdash) return apiError("NOT_CONFIGURED", "EmDash is not initialized", 500);
|
|
1847
1928
|
if (!user) return apiError("UNAUTHORIZED", "Authentication required", 401);
|
|
@@ -1858,7 +1939,8 @@ const POST = async ({ request, locals }) => {
|
|
|
1858
1939
|
user,
|
|
1859
1940
|
userId: user.id,
|
|
1860
1941
|
userRole: user.role,
|
|
1861
|
-
tokenScopes: locals.tokenScopes
|
|
1942
|
+
tokenScopes: locals.tokenScopes,
|
|
1943
|
+
cache
|
|
1862
1944
|
}
|
|
1863
1945
|
} });
|
|
1864
1946
|
} catch (error) {
|