emdash 0.39.1 → 0.40.1
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-DYwe4Pk0.mjs +26 -0
- package/dist/action-token-DYwe4Pk0.mjs.map +1 -0
- package/dist/activation-LOkDM5WT.mjs +382 -0
- package/dist/activation-LOkDM5WT.mjs.map +1 -0
- package/dist/adapters-B64LbYcB.d.mts +171 -0
- package/dist/adapters-B64LbYcB.d.mts.map +1 -0
- package/dist/allowed-origins-CHB8oZNM.mjs +116 -0
- package/dist/allowed-origins-CHB8oZNM.mjs.map +1 -0
- package/dist/api/route-utils.d.mts +4 -4
- package/dist/api/route-utils.mjs +49 -40
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +11 -7
- package/dist/api-CuyNEHZG.mjs +4718 -0
- package/dist/api-CuyNEHZG.mjs.map +1 -0
- package/dist/api-tokens-CE1ECIg0.mjs +3 -0
- package/dist/api-tokens-s4i4aUp_.mjs +166 -0
- package/dist/api-tokens-s4i4aUp_.mjs.map +1 -0
- package/dist/apply-npY1TAhG.mjs +1366 -0
- package/dist/apply-npY1TAhG.mjs.map +1 -0
- package/dist/approvals-CqMfNxak.mjs +460 -0
- package/dist/approvals-CqMfNxak.mjs.map +1 -0
- package/dist/artifact-fetch-DZMOGZ3-.mjs +818 -0
- package/dist/artifact-fetch-DZMOGZ3-.mjs.map +1 -0
- package/dist/astro/index.d.mts +14 -14
- package/dist/astro/index.mjs +68 -18
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +14 -12
- package/dist/astro/middleware/auth.d.mts.map +1 -1
- package/dist/astro/middleware/auth.mjs +26 -11
- package/dist/astro/middleware/auth.mjs.map +1 -1
- package/dist/astro/middleware/media-usage-write-fence.d.mts +9 -1
- package/dist/astro/middleware/media-usage-write-fence.d.mts.map +1 -1
- package/dist/astro/middleware/media-usage-write-fence.mjs +95 -13
- package/dist/astro/middleware/media-usage-write-fence.mjs.map +1 -1
- package/dist/astro/middleware/redirect.mjs +8 -8
- package/dist/astro/middleware/request-context.d.mts.map +1 -1
- package/dist/astro/middleware/request-context.mjs +145 -47
- package/dist/astro/middleware/request-context.mjs.map +1 -1
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.d.mts +12 -12
- package/dist/astro/middleware.d.mts.map +1 -1
- package/dist/astro/middleware.mjs +130 -123
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +14 -8
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +14 -8
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +5 -3
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -4
- package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -4
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +17 -11
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +17 -11
- package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +17 -11
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +25 -19
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +25 -19
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/index.mjs +25 -19
- package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +19 -13
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_.mjs +7 -5
- package/dist/astro/routes/api/admin/comments/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/bulk.mjs +18 -12
- package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/counts.mjs +7 -5
- package/dist/astro/routes/api/admin/comments/counts.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/index.mjs +18 -12
- package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -4
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -6
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -15
- 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 +23 -17
- 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 +23 -17
- 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 +26 -15
- package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +32 -19
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -17
- 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 +23 -17
- 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 -3
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -3
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +10 -8
- 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 +10 -8
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +72 -62
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -4
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +71 -61
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +74 -64
- 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 +84 -74
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +72 -62
- package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +71 -61
- 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 +83 -73
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +71 -61
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +74 -64
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +85 -75
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +8 -6
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +76 -66
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.d.mts +8 -0
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +221 -0
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs.map +1 -0
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +72 -62
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +71 -61
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -4
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +71 -61
- 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 -2
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -61
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/_...path_.d.mts +12 -0
- package/dist/astro/routes/api/admin/transfer/_...path_.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/_...path_.mjs +144 -0
- package/dist/astro/routes/api/admin/transfer/_...path_.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +68 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +68 -0
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/approvals/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +67 -0
- package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/capabilities.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/capabilities.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/capabilities.mjs +70 -0
- package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +67 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +70 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +69 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +66 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +69 -0
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/index.d.mts +9 -0
- package/dist/astro/routes/api/admin/transfer/exports/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/exports/index.mjs +91 -0
- package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +66 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +70 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +78 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +66 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +77 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +77 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +66 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +70 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +67 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.d.mts +8 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +66 -0
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/index.d.mts +9 -0
- package/dist/astro/routes/api/admin/transfer/imports/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/transfer/imports/index.mjs +99 -0
- package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -1
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +14 -8
- package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +16 -6
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/index.mjs +14 -8
- package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -3
- package/dist/astro/routes/api/auth/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/accept.mjs +3 -1
- package/dist/astro/routes/api/auth/invite/accept.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +19 -13
- package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.mjs +24 -12
- package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -12
- package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/logout.mjs +4 -2
- package/dist/astro/routes/api/auth/logout.mjs.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/send.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/send.mjs +29 -15
- package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.d.mts +2 -1
- package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +37 -17
- package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/me.mjs +15 -9
- package/dist/astro/routes/api/auth/me.mjs.map +1 -1
- package/dist/astro/routes/api/auth/mode.mjs +4 -2
- package/dist/astro/routes/api/auth/mode.mjs.map +1 -1
- 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 +14 -8
- package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/index.mjs +3 -1
- package/dist/astro/routes/api/auth/passkey/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +21 -24
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -12
- package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -13
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.mjs +19 -13
- package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.mjs +19 -13
- package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/request.mjs +18 -12
- package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/verify.mjs +3 -1
- package/dist/astro/routes/api/auth/signup/verify.mjs.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -11
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +21 -15
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -2
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +18 -13
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -3
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +18 -13
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -2
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +10 -8
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +68 -16
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +18 -13
- 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 +31 -22
- 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 +31 -22
- 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 +4 -3
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -2
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +18 -13
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +38 -19
- 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 -2
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +18 -13
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +18 -13
- package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -2
- package/dist/astro/routes/api/content/_collection_/authors.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/index.mjs +15 -10
- package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/trash.mjs +15 -9
- package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
- package/dist/astro/routes/api/dashboard.mjs +11 -9
- package/dist/astro/routes/api/dashboard.mjs.map +1 -1
- package/dist/astro/routes/api/dev/emails.mjs +4 -2
- package/dist/astro/routes/api/dev/emails.mjs.map +1 -1
- package/dist/astro/routes/api/health.mjs +5 -3
- package/dist/astro/routes/api/health.mjs.map +1 -1
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +27 -21
- package/dist/astro/routes/api/import/probe.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -3
- package/dist/astro/routes/api/import/wordpress/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress/execute.mjs +18 -16
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
- package/dist/astro/routes/api/import/wordpress/media.mjs +19 -13
- package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +18 -12
- package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +5 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +4 -2
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +29 -15
- 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 +27 -21
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +38 -32
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +6 -4
- 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 +724 -94
- package/dist/astro/routes/api/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +19 -13
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/replace.mjs +16 -10
- package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.mjs +8 -6
- package/dist/astro/routes/api/media/_id_/upload.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/usage.mjs +34 -21
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.d.mts.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +37 -26
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +5 -3
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.mjs +31 -2
- package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
- package/dist/astro/routes/api/media/folders/_id_.mjs +16 -10
- package/dist/astro/routes/api/media/folders/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/folders/index.mjs +16 -10
- package/dist/astro/routes/api/media/folders/index.mjs.map +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -2
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs.map +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -2
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/media/providers/index.mjs +4 -2
- package/dist/astro/routes/api/media/providers/index.mjs.map +1 -1
- package/dist/astro/routes/api/media/upload-url.mjs +18 -12
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +36 -24
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +18 -12
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items.mjs +18 -12
- package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +18 -12
- package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/translations.mjs +18 -12
- package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_.mjs +18 -12
- package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/index.mjs +18 -12
- package/dist/astro/routes/api/menus/index.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/authorize.d.mts.map +1 -1
- package/dist/astro/routes/api/oauth/authorize.mjs +9 -6
- package/dist/astro/routes/api/oauth/authorize.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -5
- package/dist/astro/routes/api/oauth/device/authorize.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/device/code.mjs +10 -8
- package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/device/token.mjs +9 -7
- package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/register.mjs +4 -2
- package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -5
- package/dist/astro/routes/api/oauth/token/refresh.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -5
- package/dist/astro/routes/api/oauth/token/revoke.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/token.mjs +7 -5
- package/dist/astro/routes/api/oauth/token.mjs.map +1 -1
- package/dist/astro/routes/api/openapi.json.mjs +497 -12
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +10 -8
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/index.mjs +21 -15
- package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/summary.mjs +21 -15
- package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.mjs +21 -15
- package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/index.mjs +21 -15
- package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/index.mjs +31 -22
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/translations.mjs +21 -16
- package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +31 -22
- package/dist/astro/routes/api/relations/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -2
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +4 -3
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs.map +1 -1
- package/dist/astro/routes/api/schema/block-types/_slug_/index.d.mts +9 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/index.d.mts.map +1 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +102 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.d.mts +8 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.d.mts.map +1 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +96 -0
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -0
- package/dist/astro/routes/api/schema/block-types/index.d.mts +9 -0
- package/dist/astro/routes/api/schema/block-types/index.d.mts.map +1 -0
- package/dist/astro/routes/api/schema/block-types/index.mjs +102 -0
- package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -0
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +71 -61
- 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 +71 -61
- 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 +71 -61
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +71 -61
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +71 -61
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/reorder.mjs +71 -61
- package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +17 -14
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +71 -61
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +71 -61
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +20 -14
- package/dist/astro/routes/api/search/enable.mjs.map +1 -1
- package/dist/astro/routes/api/search/index.mjs +19 -13
- package/dist/astro/routes/api/search/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/rebuild.mjs +20 -14
- package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
- package/dist/astro/routes/api/search/stats.mjs +10 -8
- package/dist/astro/routes/api/search/stats.mjs.map +1 -1
- package/dist/astro/routes/api/search/suggest.mjs +19 -13
- package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
- package/dist/astro/routes/api/sections/_slug_.mjs +19 -13
- package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/sections/index.mjs +19 -13
- package/dist/astro/routes/api/sections/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +8 -7
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +8 -6
- package/dist/astro/routes/api/settings/backups/archives/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/export.mjs +8 -7
- package/dist/astro/routes/api/settings/backups/export.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/index.mjs +9 -8
- package/dist/astro/routes/api/settings/backups/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/email.mjs +6 -4
- package/dist/astro/routes/api/settings/email.mjs.map +1 -1
- package/dist/astro/routes/api/settings.mjs +25 -19
- package/dist/astro/routes/api/settings.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +20 -14
- package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin.mjs +19 -13
- package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-bypass.mjs +43 -37
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +4 -2
- package/dist/astro/routes/api/setup/dev-reset.mjs.map +1 -1
- package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
- package/dist/astro/routes/api/setup/index.mjs +78 -43
- package/dist/astro/routes/api/setup/index.mjs.map +1 -1
- package/dist/astro/routes/api/setup/status.mjs +5 -3
- package/dist/astro/routes/api/setup/status.mjs.map +1 -1
- package/dist/astro/routes/api/snapshot.mjs +11 -9
- package/dist/astro/routes/api/snapshot.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +24 -18
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/bulk-tag.d.mts +8 -0
- package/dist/astro/routes/api/taxonomies/bulk-tag.d.mts.map +1 -0
- package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +295 -0
- package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -0
- package/dist/astro/routes/api/taxonomies/index.mjs +25 -19
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +7 -5
- package/dist/astro/routes/api/themes/preview.mjs.map +1 -1
- package/dist/astro/routes/api/typegen.d.mts.map +1 -1
- package/dist/astro/routes/api/typegen.mjs +12 -9
- package/dist/astro/routes/api/typegen.mjs.map +1 -1
- package/dist/astro/routes/api/visual-editing/action-token.mjs +7 -5
- package/dist/astro/routes/api/visual-editing/action-token.mjs.map +1 -1
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +22 -16
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs.map +1 -1
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +3 -1
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs.map +1 -1
- 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 +16 -10
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +20 -14
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +20 -14
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_.mjs +10 -8
- package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/index.mjs +20 -14
- package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
- package/dist/astro/routes/api/widget-components.mjs +4 -2
- package/dist/astro/routes/api/widget-components.mjs.map +1 -1
- package/dist/astro/routes/robots.txt.mjs +10 -10
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +13 -13
- package/dist/astro/routes/sitemap.xml.mjs +11 -11
- package/dist/astro/types.d.mts +25 -17
- package/dist/astro/types.d.mts.map +1 -1
- package/dist/audit-RfCugiSB.mjs +127 -0
- package/dist/audit-RfCugiSB.mjs.map +1 -0
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/authoritative-records-CoJvBXAD.mjs +5172 -0
- package/dist/authoritative-records-CoJvBXAD.mjs.map +1 -0
- package/dist/authorize-seCifOMJ.mjs +49 -0
- package/dist/authorize-seCifOMJ.mjs.map +1 -0
- package/dist/backup-BQRj3afm.mjs +246 -0
- package/dist/backup-BQRj3afm.mjs.map +1 -0
- package/dist/block-type-registry-DUI_3KxT.mjs +6709 -0
- package/dist/block-type-registry-DUI_3KxT.mjs.map +1 -0
- package/dist/block-types-BmZmLmAD.mjs +132 -0
- package/dist/block-types-BmZmLmAD.mjs.map +1 -0
- package/dist/block-values-C_VIPr5t.mjs +175 -0
- package/dist/block-values-C_VIPr5t.mjs.map +1 -0
- package/dist/byline-DYmkXqvo.mjs +909 -0
- package/dist/byline-DYmkXqvo.mjs.map +1 -0
- package/dist/byline-fields-D28AT-Fh.mjs +123 -0
- package/dist/byline-fields-D28AT-Fh.mjs.map +1 -0
- package/dist/byline-registry-gnKscbQX.mjs +406 -0
- package/dist/byline-registry-gnKscbQX.mjs.map +1 -0
- package/dist/bylines-BPwJqoYH.mjs +232 -0
- package/dist/bylines-BPwJqoYH.mjs.map +1 -0
- package/dist/bylines-ukLaYpVZ.mjs +214 -0
- package/dist/bylines-ukLaYpVZ.mjs.map +1 -0
- package/dist/cache-m7UEkRFV.mjs +108 -0
- package/dist/cache-m7UEkRFV.mjs.map +1 -0
- package/dist/canonical-YhEQezjg.mjs +174 -0
- package/dist/canonical-YhEQezjg.mjs.map +1 -0
- package/dist/capture-triggers-kJyl_yyM.mjs +362 -0
- package/dist/capture-triggers-kJyl_yyM.mjs.map +1 -0
- package/dist/challenge-store-ppU6Uv13.mjs +51 -0
- package/dist/challenge-store-ppU6Uv13.mjs.map +1 -0
- package/dist/checksum-B2IINIlN.mjs +162 -0
- package/dist/checksum-B2IINIlN.mjs.map +1 -0
- package/dist/chrome-tags-DApCQSIk.mjs +24 -0
- package/dist/chrome-tags-DApCQSIk.mjs.map +1 -0
- package/dist/chunks-Dms7Uxbt.mjs +25 -0
- package/dist/chunks-Dms7Uxbt.mjs.map +1 -0
- package/dist/cli/index.mjs +1471 -56
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +1050 -4
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +193 -11
- package/dist/client/index.mjs.map +1 -1
- package/dist/collection-deletion-BIm28mo3.mjs +436 -0
- package/dist/collection-deletion-BIm28mo3.mjs.map +1 -0
- package/dist/collection-deletion-processor-Br6rxs3u.mjs +217 -0
- package/dist/collection-deletion-processor-Br6rxs3u.mjs.map +1 -0
- package/dist/collection-slugs-cache-CjGk__zp.mjs +85 -0
- package/dist/collection-slugs-cache-CjGk__zp.mjs.map +1 -0
- package/dist/comment-CrBl22OF.mjs +313 -0
- package/dist/comment-CrBl22OF.mjs.map +1 -0
- package/dist/comment-reaction-JEQ2Fpd8.mjs +85 -0
- package/dist/comment-reaction-JEQ2Fpd8.mjs.map +1 -0
- package/dist/comments-2ah9du9y.mjs +195 -0
- package/dist/comments-2ah9du9y.mjs.map +1 -0
- package/dist/comments-fHZ8ON9O.mjs +99 -0
- package/dist/comments-fHZ8ON9O.mjs.map +1 -0
- package/dist/components-CXbq7CSM.mjs +108 -0
- package/dist/components-CXbq7CSM.mjs.map +1 -0
- package/dist/config-BjEm_3xL.d.mts +6537 -0
- package/dist/config-BjEm_3xL.d.mts.map +1 -0
- package/dist/config-CvmjJcVw.mjs +73 -0
- package/dist/config-CvmjJcVw.mjs.map +1 -0
- package/dist/config-IhybvkIQ.mjs +242 -0
- package/dist/config-IhybvkIQ.mjs.map +1 -0
- package/dist/config-Py43JK9r.d.mts +39 -0
- package/dist/config-Py43JK9r.d.mts.map +1 -0
- package/dist/content-DFaIEDj9.mjs +2281 -0
- package/dist/content-DFaIEDj9.mjs.map +1 -0
- package/dist/content-list-query-Dra4Dalc.d.mts +26 -0
- package/dist/content-list-query-Dra4Dalc.d.mts.map +1 -0
- package/dist/content-policy-DFNw91-d.mjs +46 -0
- package/dist/content-policy-DFNw91-d.mjs.map +1 -0
- package/dist/content-repair-Q8IUrpLL.mjs +442 -0
- package/dist/content-repair-Q8IUrpLL.mjs.map +1 -0
- package/dist/context-BV_7t-Ua.mjs +1921 -0
- package/dist/context-BV_7t-Ua.mjs.map +1 -0
- package/dist/cron-7DCJwPXq.mjs +284 -0
- package/dist/cron-7DCJwPXq.mjs.map +1 -0
- package/dist/dashboard-BP-iJqpd.mjs +151 -0
- package/dist/dashboard-BP-iJqpd.mjs.map +1 -0
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +3 -3
- package/dist/db/libsql-migrations.d.mts +1 -1
- package/dist/db/libsql-migrations.mjs +6 -6
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres-migrations.d.mts +1 -1
- package/dist/db/postgres-migrations.mjs +6 -6
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite-migrations.d.mts +1 -1
- package/dist/db/sqlite-migrations.mjs +6 -6
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/db/sqlite.mjs +2 -2
- package/dist/db/sqlite.mjs.map +1 -1
- package/dist/default-DQ6vsviu.mjs +81 -0
- package/dist/default-DQ6vsviu.mjs.map +1 -0
- package/dist/deferred-tasks-BPxXUB4x.d.mts +9 -0
- package/dist/deferred-tasks-BPxXUB4x.d.mts.map +1 -0
- package/dist/device-flow-CRd6DXmW.mjs +466 -0
- package/dist/device-flow-CRd6DXmW.mjs.map +1 -0
- package/dist/dialect-helpers-7_IqPdh9.mjs +307 -0
- package/dist/dialect-helpers-7_IqPdh9.mjs.map +1 -0
- package/dist/digest-BarSh-pN.mjs +194 -0
- package/dist/digest-BarSh-pN.mjs.map +1 -0
- package/dist/direct-executor-D2lNadwo.mjs +104 -0
- package/dist/direct-executor-D2lNadwo.mjs.map +1 -0
- package/dist/dist-BNwANFJR.mjs +810 -0
- package/dist/dist-BNwANFJR.mjs.map +1 -0
- package/dist/email-console-bJn3ctqA.mjs +50 -0
- package/dist/email-console-bJn3ctqA.mjs.map +1 -0
- package/dist/email-locale-CN6WAMx0.mjs +25 -0
- package/dist/email-locale-CN6WAMx0.mjs.map +1 -0
- package/dist/emdash-runtime-CtfnZmPi.mjs +4186 -0
- package/dist/emdash-runtime-CtfnZmPi.mjs.map +1 -0
- package/dist/enrich-Dl3kZ-lP.mjs +194 -0
- package/dist/enrich-Dl3kZ-lP.mjs.map +1 -0
- package/dist/entry-lock-BJYdBfXb.mjs +1097 -0
- package/dist/entry-lock-BJYdBfXb.mjs.map +1 -0
- package/dist/entry-lock-Cf5OoIgN.d.mts +4368 -0
- package/dist/entry-lock-Cf5OoIgN.d.mts.map +1 -0
- package/dist/entry-lock-DHQOxN7R.mjs +163 -0
- package/dist/entry-lock-DHQOxN7R.mjs.map +1 -0
- package/dist/entry-locks-D0foLdjQ.mjs +167 -0
- package/dist/entry-locks-D0foLdjQ.mjs.map +1 -0
- package/dist/error-CfvOHP0M.mjs +90 -0
- package/dist/error-CfvOHP0M.mjs.map +1 -0
- package/dist/errors-BF0_LFhW.mjs +460 -0
- package/dist/errors-BF0_LFhW.mjs.map +1 -0
- package/dist/errors-DgE1zJGG.mjs +120 -0
- package/dist/errors-DgE1zJGG.mjs.map +1 -0
- package/dist/escape-CuaZhZvL.mjs +9 -0
- package/dist/escape-CuaZhZvL.mjs.map +1 -0
- package/dist/fence-CMDXJYc_.mjs +162 -0
- package/dist/fence-CMDXJYc_.mjs.map +1 -0
- package/dist/field-defs-cache-HIgBbqZZ.mjs +77 -0
- package/dist/field-defs-cache-HIgBbqZZ.mjs.map +1 -0
- package/dist/fts-manager-S-K0laoS.mjs +443 -0
- package/dist/fts-manager-S-K0laoS.mjs.map +1 -0
- package/dist/gc-DjKY0Ay1.mjs +75 -0
- package/dist/gc-DjKY0Ay1.mjs.map +1 -0
- package/dist/hash-SDAW6zC-.mjs +37 -0
- package/dist/hash-SDAW6zC-.mjs.map +1 -0
- package/dist/hook-result-B5bXDgS2.d.mts +31 -0
- package/dist/hook-result-B5bXDgS2.d.mts.map +1 -0
- package/dist/hreflang-CbVI4paR.mjs +105 -0
- package/dist/hreflang-CbVI4paR.mjs.map +1 -0
- package/dist/hreflang-D5uNnsGJ.d.mts +50 -0
- package/dist/hreflang-D5uNnsGJ.d.mts.map +1 -0
- package/dist/http-route-dispatch-BitqzwMy.mjs +339 -0
- package/dist/http-route-dispatch-BitqzwMy.mjs.map +1 -0
- package/dist/identity-Be5kzutJ.mjs +35 -0
- package/dist/identity-Be5kzutJ.mjs.map +1 -0
- package/dist/import-YzfKCaco.mjs +2020 -0
- package/dist/import-YzfKCaco.mjs.map +1 -0
- package/dist/index-D-hdtLe8.d.mts +623 -0
- package/dist/index-D-hdtLe8.d.mts.map +1 -0
- package/dist/index.d.mts +24 -24
- package/dist/index.mjs +105 -93
- package/dist/install-finalization-DfM1fj5x.mjs +58 -0
- package/dist/install-finalization-DfM1fj5x.mjs.map +1 -0
- package/dist/keys-yxLm5l35.mjs +61 -0
- package/dist/keys-yxLm5l35.mjs.map +1 -0
- package/dist/kinds-CRu_T5T5.mjs +961 -0
- package/dist/kinds-CRu_T5T5.mjs.map +1 -0
- package/dist/lifecycle-BzeGPeQ-.mjs +25 -0
- package/dist/lifecycle-BzeGPeQ-.mjs.map +1 -0
- package/dist/load-XgJiE6_3.mjs +28 -0
- package/dist/load-XgJiE6_3.mjs.map +1 -0
- package/dist/loader-BzqeR1ZN.mjs +1086 -0
- package/dist/loader-BzqeR1ZN.mjs.map +1 -0
- package/dist/loops-BQSzv5Zn.mjs +203 -0
- package/dist/loops-BQSzv5Zn.mjs.map +1 -0
- package/dist/manifest-builder-BmSAOOEF.mjs +189 -0
- package/dist/manifest-builder-BmSAOOEF.mjs.map +1 -0
- package/dist/manifest-schema-CY3zng_M.mjs +492 -0
- package/dist/manifest-schema-CY3zng_M.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 +3 -3
- package/dist/media/local-runtime.d.mts +14 -14
- package/dist/media/local-runtime.d.mts.map +1 -1
- package/dist/media/local-runtime.mjs +15 -16
- package/dist/media/local-runtime.mjs.map +1 -1
- package/dist/media-CPXTbb1R.mjs +373 -0
- package/dist/media-CPXTbb1R.mjs.map +1 -0
- package/dist/media-JXRWDhw3.mjs +294 -0
- package/dist/media-JXRWDhw3.mjs.map +1 -0
- package/dist/media-Pu1L6xir.mjs +408 -0
- package/dist/media-Pu1L6xir.mjs.map +1 -0
- package/dist/media-allowlist-BSoa9Vvm.mjs +44 -0
- package/dist/media-allowlist-BSoa9Vvm.mjs.map +1 -0
- package/dist/media-folders-BE0oo2eX.mjs +210 -0
- package/dist/media-folders-BE0oo2eX.mjs.map +1 -0
- package/dist/media-url-jArBpzIG.mjs +43 -0
- package/dist/media-url-jArBpzIG.mjs.map +1 -0
- package/dist/media-usage-De-zeR9E.mjs +1629 -0
- package/dist/media-usage-De-zeR9E.mjs.map +1 -0
- package/dist/media-usage-activation-HKp7zk7W.mjs +78 -0
- package/dist/media-usage-activation-HKp7zk7W.mjs.map +1 -0
- package/dist/media-usage-work-C2OZLCAd.mjs +586 -0
- package/dist/media-usage-work-C2OZLCAd.mjs.map +1 -0
- package/dist/media-usage-work-DwUNbgvS.mjs +152 -0
- package/dist/media-usage-work-DwUNbgvS.mjs.map +1 -0
- package/dist/menus-BM7BPLOb.mjs +139 -0
- package/dist/menus-BM7BPLOb.mjs.map +1 -0
- package/dist/menus-Cm68rsAq.mjs +3608 -0
- package/dist/menus-Cm68rsAq.mjs.map +1 -0
- package/dist/menus-ITeAbcIF.mjs +753 -0
- package/dist/menus-ITeAbcIF.mjs.map +1 -0
- package/dist/migrations/index.d.mts +1 -1
- package/dist/migrations/index.mjs +5 -5
- package/dist/mime-ChLqYwDk.mjs +36 -0
- package/dist/mime-ChLqYwDk.mjs.map +1 -0
- package/dist/mode-CCuKXUci.mjs +23 -0
- package/dist/mode-CCuKXUci.mjs.map +1 -0
- package/dist/node-sqlite-compat-CONMsl-x.mjs +46 -0
- package/dist/node-sqlite-compat-CONMsl-x.mjs.map +1 -0
- package/dist/normalize-CO2P8-iE.mjs +191 -0
- package/dist/normalize-CO2P8-iE.mjs.map +1 -0
- package/dist/oauth-authorization-DlMIL5_h.mjs +274 -0
- package/dist/oauth-authorization-DlMIL5_h.mjs.map +1 -0
- package/dist/oauth-clients-Djq9r_KP.mjs +266 -0
- package/dist/oauth-clients-Djq9r_KP.mjs.map +1 -0
- package/dist/oauth-state-store-BbjnZXNC.mjs +50 -0
- package/dist/oauth-state-store-BbjnZXNC.mjs.map +1 -0
- package/dist/oauth-user-lookup-vue9a64A.mjs +26 -0
- package/dist/oauth-user-lookup-vue9a64A.mjs.map +1 -0
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/object-cache-CqWNY5uP.mjs +582 -0
- package/dist/object-cache-CqWNY5uP.mjs.map +1 -0
- package/dist/options-DhrI7eMv.mjs +208 -0
- package/dist/options-DhrI7eMv.mjs.map +1 -0
- package/dist/options-SQCHQCPH.d.mts +81 -0
- package/dist/options-SQCHQCPH.d.mts.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/page/index.mjs +9 -9
- package/dist/parse-CVgO-Qai.d.mts +168 -0
- package/dist/parse-CVgO-Qai.d.mts.map +1 -0
- package/dist/parse-DY6OD1j_.mjs +81 -0
- package/dist/parse-DY6OD1j_.mjs.map +1 -0
- package/dist/passkey-config-X_H8128a.mjs +46 -0
- package/dist/passkey-config-X_H8128a.mjs.map +1 -0
- package/dist/paths-JxokKIbr.mjs +77 -0
- package/dist/paths-JxokKIbr.mjs.map +1 -0
- package/dist/patterns-BhAvqO0S.mjs +145 -0
- package/dist/patterns-BhAvqO0S.mjs.map +1 -0
- package/dist/placeholder-MSEd8gty.d.mts +306 -0
- package/dist/placeholder-MSEd8gty.d.mts.map +1 -0
- package/dist/plan-xjcWrAah.mjs +135 -0
- package/dist/plan-xjcWrAah.mjs.map +1 -0
- package/dist/plugin-test-runtime.d.mts +38 -15
- package/dist/plugin-test-runtime.d.mts.map +1 -1
- package/dist/plugin-test-runtime.mjs +112 -100
- package/dist/plugin-types.d.mts +2 -2
- package/dist/plugin-utils.d.mts +12 -12
- package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
- package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
- package/dist/plugins/host.d.mts +5 -5
- package/dist/plugins/host.mjs +45 -37
- package/dist/plugins-DUXUt8B9.mjs +277 -0
- package/dist/plugins-DUXUt8B9.mjs.map +1 -0
- package/dist/policy-CUvwAARc.mjs +45 -0
- package/dist/policy-CUvwAARc.mjs.map +1 -0
- package/dist/portable-text-5O_ZGUjB.mjs +307 -0
- package/dist/portable-text-5O_ZGUjB.mjs.map +1 -0
- package/dist/preview-CIUcPYr6.mjs +107 -0
- package/dist/preview-CIUcPYr6.mjs.map +1 -0
- package/dist/protocol-B97DZaFr.d.mts +61 -0
- package/dist/protocol-B97DZaFr.d.mts.map +1 -0
- package/dist/public-submission-BFBUrqst.mjs +250 -0
- package/dist/public-submission-BFBUrqst.mjs.map +1 -0
- package/dist/public-url-Bn7U0D7-.mjs +101 -0
- package/dist/public-url-Bn7U0D7-.mjs.map +1 -0
- package/dist/query-B48peoRT.mjs +890 -0
- package/dist/query-B48peoRT.mjs.map +1 -0
- package/dist/query-C4IH0uhR.mjs +41 -0
- package/dist/query-C4IH0uhR.mjs.map +1 -0
- package/dist/rate-limit-BZ6nybgc.mjs +120 -0
- package/dist/rate-limit-BZ6nybgc.mjs.map +1 -0
- package/dist/receipt-B4wJj5Jq.mjs +43 -0
- package/dist/receipt-B4wJj5Jq.mjs.map +1 -0
- package/dist/redirect-B29UjdUn.mjs +411 -0
- package/dist/redirect-B29UjdUn.mjs.map +1 -0
- package/dist/redirect-Cd1E7VUt.mjs +17 -0
- package/dist/redirect-Cd1E7VUt.mjs.map +1 -0
- package/dist/redirects-Ca2MPfEG.mjs +446 -0
- package/dist/redirects-Ca2MPfEG.mjs.map +1 -0
- package/dist/redirects-Cv9apQKj.mjs +148 -0
- package/dist/redirects-Cv9apQKj.mjs.map +1 -0
- package/dist/registry/testing.mjs +3 -3
- package/dist/relation-M4NUCb0b.mjs +334 -0
- package/dist/relation-M4NUCb0b.mjs.map +1 -0
- package/dist/relations-CCif47Oq.mjs +403 -0
- package/dist/relations-CCif47Oq.mjs.map +1 -0
- package/dist/relations-CK9CYUyr.mjs +310 -0
- package/dist/relations-CK9CYUyr.mjs.map +1 -0
- package/dist/request-cache-DzLYKm_x.mjs +104 -0
- package/dist/request-cache-DzLYKm_x.mjs.map +1 -0
- package/dist/request-context.d.mts +1 -1
- package/dist/request-meta-sZXt3sRo.mjs +141 -0
- package/dist/request-meta-sZXt3sRo.mjs.map +1 -0
- package/dist/resolve-2WbQsCvT.mjs +199 -0
- package/dist/resolve-2WbQsCvT.mjs.map +1 -0
- package/dist/route-wire--1hLuACz.mjs +197 -0
- package/dist/route-wire--1hLuACz.mjs.map +1 -0
- package/dist/routes-vrR95WR6.mjs +272 -0
- package/dist/routes-vrR95WR6.mjs.map +1 -0
- package/dist/runner-1y4J9fJB.mjs +5742 -0
- package/dist/runner-1y4J9fJB.mjs.map +1 -0
- package/dist/runner-D5_LzKXI.d.mts +68 -0
- package/dist/runner-D5_LzKXI.d.mts.map +1 -0
- package/dist/runtime.d.mts +13 -13
- package/dist/runtime.mjs +4 -4
- package/dist/schema-BABiRdsH.mjs +13 -0
- package/dist/schema-BABiRdsH.mjs.map +1 -0
- package/dist/schema-Du3MzCG0.mjs +446 -0
- package/dist/schema-Du3MzCG0.mjs.map +1 -0
- package/dist/scopes-Dbk-ElhT.mjs +34 -0
- package/dist/scopes-Dbk-ElhT.mjs.map +1 -0
- package/dist/search-Bt1PL1jf.mjs +448 -0
- package/dist/search-Bt1PL1jf.mjs.map +1 -0
- package/dist/secrets-CIi0nFiR.mjs +341 -0
- package/dist/secrets-CIi0nFiR.mjs.map +1 -0
- package/dist/sections-Ddptx_o9.mjs +346 -0
- package/dist/sections-Ddptx_o9.mjs.map +1 -0
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +35 -30
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +25 -21
- package/dist/seo/index.mjs.map +1 -1
- package/dist/seo-CZT2oLtT.mjs +114 -0
- package/dist/seo-CZT2oLtT.mjs.map +1 -0
- package/dist/seo-D5w3-Azy.mjs +133 -0
- package/dist/seo-D5w3-Azy.mjs.map +1 -0
- package/dist/service-DuykXPyW.mjs +150 -0
- package/dist/service-DuykXPyW.mjs.map +1 -0
- package/dist/session-user-BhaVp8w0.mjs +51 -0
- package/dist/session-user-BhaVp8w0.mjs.map +1 -0
- package/dist/settings-B4vDl1fK.mjs +439 -0
- package/dist/settings-B4vDl1fK.mjs.map +1 -0
- package/dist/settings-DYidIB26.mjs +61 -0
- package/dist/settings-DYidIB26.mjs.map +1 -0
- package/dist/settings-Dyj6v8C4.mjs +51 -0
- package/dist/settings-Dyj6v8C4.mjs.map +1 -0
- package/dist/setup-complete-bOogcHWG.mjs +26 -0
- package/dist/setup-complete-bOogcHWG.mjs.map +1 -0
- package/dist/setup-nonce-0EGuKM4s.mjs +25 -0
- package/dist/setup-nonce-0EGuKM4s.mjs.map +1 -0
- package/dist/site-settings-DOgRUoFX.mjs +50 -0
- package/dist/site-settings-DOgRUoFX.mjs.map +1 -0
- package/dist/site-url-BU_bbxwj.mjs +16 -0
- package/dist/site-url-BU_bbxwj.mjs.map +1 -0
- package/dist/snapshot-PawoX-WG.mjs +414 -0
- package/dist/snapshot-PawoX-WG.mjs.map +1 -0
- package/dist/ssrf-CJUnJymJ.mjs +406 -0
- package/dist/ssrf-CJUnJymJ.mjs.map +1 -0
- package/dist/stage-DgrBz_du.mjs +662 -0
- package/dist/stage-DgrBz_du.mjs.map +1 -0
- package/dist/state-DDiPySSG.mjs +153 -0
- package/dist/state-DDiPySSG.mjs.map +1 -0
- package/dist/status-DZKIG4a9.mjs +30 -0
- package/dist/status-DZKIG4a9.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-FXJH5pI8.d.mts +1581 -0
- package/dist/storage-query-FXJH5pI8.d.mts.map +1 -0
- package/dist/tar-_1AgTYFu.mjs +449 -0
- package/dist/tar-_1AgTYFu.mjs.map +1 -0
- package/dist/target-_7pn2Gbg.mjs +27 -0
- package/dist/target-_7pn2Gbg.mjs.map +1 -0
- package/dist/taxonomies-C1IwNe8Q.mjs +697 -0
- package/dist/taxonomies-C1IwNe8Q.mjs.map +1 -0
- package/dist/taxonomies-C_XMoRcX.mjs +939 -0
- package/dist/taxonomies-C_XMoRcX.mjs.map +1 -0
- package/dist/taxonomy-C3Fu1YeH.mjs +525 -0
- package/dist/taxonomy-C3Fu1YeH.mjs.map +1 -0
- package/dist/tokens-u78jETkX.mjs +171 -0
- package/dist/tokens-u78jETkX.mjs.map +1 -0
- package/dist/transfer-DIGvR9Af.mjs +166 -0
- package/dist/transfer-DIGvR9Af.mjs.map +1 -0
- package/dist/transfer-DgeCvHnj.mjs +8675 -0
- package/dist/transfer-DgeCvHnj.mjs.map +1 -0
- package/dist/transfer-download-Pml7RMio.mjs +33 -0
- package/dist/transfer-download-Pml7RMio.mjs.map +1 -0
- package/dist/transformations-9gfpwY65.mjs +196 -0
- package/dist/transformations-9gfpwY65.mjs.map +1 -0
- package/dist/transport-BIfH7_hx.d.mts +42 -0
- package/dist/transport-BIfH7_hx.d.mts.map +1 -0
- package/dist/transport-DKWIq53q.mjs +136 -0
- package/dist/transport-DKWIq53q.mjs.map +1 -0
- package/dist/trusted-proxy-tKiVtyTD.mjs +51 -0
- package/dist/trusted-proxy-tKiVtyTD.mjs.map +1 -0
- package/dist/turnstile-DpsoyOfg.mjs +53 -0
- package/dist/turnstile-DpsoyOfg.mjs.map +1 -0
- package/dist/types-B4sUC2p1.d.mts +198 -0
- package/dist/types-B4sUC2p1.d.mts.map +1 -0
- package/dist/types-B7Lmsh1E.d.mts +887 -0
- package/dist/types-B7Lmsh1E.d.mts.map +1 -0
- package/dist/types-BZakh7Ym.mjs +22 -0
- package/dist/types-BZakh7Ym.mjs.map +1 -0
- package/dist/types-B_CppEmv.d.mts +264 -0
- package/dist/types-B_CppEmv.d.mts.map +1 -0
- package/dist/types-BcrBrE6-.mjs +159 -0
- package/dist/types-BcrBrE6-.mjs.map +1 -0
- package/dist/types-CAZgq9fO.d.mts +124 -0
- package/dist/types-CAZgq9fO.d.mts.map +1 -0
- package/dist/types-Cd-O03VG.d.mts +363 -0
- package/dist/types-Cd-O03VG.d.mts.map +1 -0
- package/dist/types-Cr-Kg-3D.d.mts +1641 -0
- package/dist/types-Cr-Kg-3D.d.mts.map +1 -0
- package/dist/types-D2fvWd1i.d.mts +359 -0
- package/dist/types-D2fvWd1i.d.mts.map +1 -0
- package/dist/types-D7HUsguf.mjs +77 -0
- package/dist/types-D7HUsguf.mjs.map +1 -0
- package/dist/types-DA1Te3Oy.d.mts +198 -0
- package/dist/types-DA1Te3Oy.d.mts.map +1 -0
- package/dist/types-DhV6Q5bP.mjs +18 -0
- package/dist/types-DhV6Q5bP.mjs.map +1 -0
- package/dist/types-DnnVSl6Y.d.mts +85 -0
- package/dist/types-DnnVSl6Y.d.mts.map +1 -0
- package/dist/types-VT4-BugW.mjs +16 -0
- package/dist/types-VT4-BugW.mjs.map +1 -0
- package/dist/upload-attempts-B68ZGNu9.mjs +32 -0
- package/dist/upload-attempts-B68ZGNu9.mjs.map +1 -0
- package/dist/url-pattern-CCeZMGOh.mjs +33 -0
- package/dist/url-pattern-CCeZMGOh.mjs.map +1 -0
- package/dist/user-DDSL-sGw.mjs +171 -0
- package/dist/user-DDSL-sGw.mjs.map +1 -0
- package/dist/utils-DdhmO9w9.mjs +439 -0
- package/dist/utils-DdhmO9w9.mjs.map +1 -0
- package/dist/validate-CHosPEhs.mjs +453 -0
- package/dist/validate-CHosPEhs.mjs.map +1 -0
- package/dist/validate-CM79QXYE.d.mts +432 -0
- package/dist/validate-CM79QXYE.d.mts.map +1 -0
- package/dist/validation-BFecQczG.mjs +218 -0
- package/dist/validation-BFecQczG.mjs.map +1 -0
- package/dist/version-BRZXVifl.mjs +9 -0
- package/dist/version-BRZXVifl.mjs.map +1 -0
- package/dist/version-DXsxRrob.mjs +7 -0
- package/dist/version-DXsxRrob.mjs.map +1 -0
- package/dist/widgets-WdV72brA.mjs +126 -0
- package/dist/widgets-WdV72brA.mjs.map +1 -0
- package/dist/wxr-taxonomies-BHTdqkmZ.d.mts +34 -0
- package/dist/wxr-taxonomies-BHTdqkmZ.d.mts.map +1 -0
- package/dist/wxr-taxonomies-DP6ESgMN.mjs +372 -0
- package/dist/wxr-taxonomies-DP6ESgMN.mjs.map +1 -0
- package/dist/zod-generator-D6uE4WiS.mjs +389 -0
- package/dist/zod-generator-D6uE4WiS.mjs.map +1 -0
- package/package.json +6 -5
- package/src/api/authorize.ts +17 -0
- package/src/api/email-locale.ts +24 -0
- package/src/api/errors.ts +16 -0
- package/src/api/handlers/api-tokens.ts +18 -3
- package/src/api/handlers/block-types.ts +129 -0
- package/src/api/handlers/bulk-tag.ts +309 -0
- package/src/api/handlers/comments.ts +0 -28
- package/src/api/handlers/index.ts +11 -0
- package/src/api/handlers/manifest.ts +8 -1
- package/src/api/handlers/marketplace.ts +22 -16
- package/src/api/handlers/media-upload.ts +17 -71
- package/src/api/handlers/media-usage.ts +31 -12
- package/src/api/handlers/media.ts +112 -13
- package/src/api/handlers/schema.ts +33 -8
- package/src/api/handlers/settings.ts +2 -2
- package/src/api/handlers/snapshot.ts +261 -3
- package/src/api/handlers/taxonomies.ts +132 -83
- package/src/api/handlers/transfer.ts +1347 -0
- package/src/api/handlers/validate-media-fields.ts +124 -12
- package/src/api/media-usage-write-fence.ts +5 -26
- package/src/api/openapi/document.ts +614 -5
- package/src/api/schemas/auth.ts +7 -1
- package/src/api/schemas/common.ts +5 -0
- package/src/api/schemas/content.ts +20 -1
- package/src/api/schemas/media-usage.ts +11 -0
- package/src/api/schemas/menus.ts +1 -1
- package/src/api/schemas/schema.ts +117 -0
- package/src/api/schemas/settings.ts +3 -3
- package/src/api/schemas/taxonomies.ts +18 -0
- package/src/api/schemas/transfer.ts +249 -0
- package/src/api/transfer-download.ts +36 -0
- package/src/api/types.ts +3 -0
- package/src/astro/integration/routes.ts +31 -0
- package/src/astro/integration/vite-config.ts +36 -4
- package/src/astro/middleware/auth.ts +30 -7
- package/src/astro/middleware/media-usage-write-fence.ts +106 -11
- package/src/astro/middleware/request-context.ts +16 -2
- package/src/astro/middleware.ts +39 -18
- package/src/astro/routes/admin.astro +3 -1
- package/src/astro/routes/api/admin/hooks/exclusive/index.ts +1 -5
- package/src/astro/routes/api/admin/plugins/[id]/disable.ts +4 -3
- package/src/astro/routes/api/admin/plugins/[id]/enable.ts +4 -3
- package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +4 -3
- package/src/astro/routes/api/admin/plugins/[id]/update.ts +4 -3
- package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +4 -3
- package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +4 -3
- package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +3 -3
- package/src/astro/routes/api/admin/plugins/registry/install.ts +3 -3
- package/src/astro/routes/api/admin/plugins/registry/publisher-handle.ts +59 -0
- package/src/astro/routes/api/admin/transfer/[...path].ts +143 -0
- package/src/astro/routes/api/admin/transfer/approvals/[id]/approve.ts +35 -0
- package/src/astro/routes/api/admin/transfer/approvals/[id]/deny.ts +35 -0
- package/src/astro/routes/api/admin/transfer/approvals/index.ts +33 -0
- package/src/astro/routes/api/admin/transfer/capabilities.ts +36 -0
- package/src/astro/routes/api/admin/transfer/exports/[id]/advance.ts +34 -0
- package/src/astro/routes/api/admin/transfer/exports/[id]/archive.ts +35 -0
- package/src/astro/routes/api/admin/transfer/exports/[id]/files/[...path].ts +40 -0
- package/src/astro/routes/api/admin/transfer/exports/[id]/index.ts +25 -0
- package/src/astro/routes/api/admin/transfer/exports/[id]/manifest.ts +38 -0
- package/src/astro/routes/api/admin/transfer/exports/index.ts +64 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/abandon.ts +28 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/advance.ts +37 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/analyze.ts +51 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/cancel.ts +27 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/execute.ts +48 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/files/[...path].ts +54 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/index.ts +25 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/missing.ts +34 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/plan.ts +29 -0
- package/src/astro/routes/api/admin/transfer/imports/[id]/receipt.ts +25 -0
- package/src/astro/routes/api/admin/transfer/imports/index.ts +85 -0
- package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +9 -1
- package/src/astro/routes/api/auth/invite/index.ts +15 -1
- package/src/astro/routes/api/auth/magic-link/send.ts +9 -1
- package/src/astro/routes/api/auth/magic-link/verify.ts +37 -39
- package/src/astro/routes/api/auth/passkey/options.ts +2 -21
- package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +64 -13
- package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +16 -1
- package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +11 -4
- package/src/astro/routes/api/mcp.ts +1 -0
- package/src/astro/routes/api/media/[id].ts +5 -15
- package/src/astro/routes/api/media/file/[...key].ts +30 -5
- package/src/astro/routes/api/oauth/authorize.ts +4 -0
- package/src/astro/routes/api/schema/block-types/[slug]/index.ts +29 -0
- package/src/astro/routes/api/schema/block-types/[slug]/versions/[version]/activate.ts +31 -0
- package/src/astro/routes/api/schema/block-types/index.ts +29 -0
- package/src/astro/routes/api/setup/index.ts +66 -23
- package/src/astro/routes/api/snapshot.ts +2 -1
- package/src/astro/routes/api/taxonomies/bulk-tag.ts +29 -0
- package/src/astro/routes/api/typegen.ts +8 -4
- package/src/astro/types.ts +9 -0
- package/src/auth/api-tokens.ts +1 -0
- package/src/auth/rate-limit.ts +2 -1
- package/src/auth/scopes.ts +11 -0
- package/src/cleanup.ts +24 -0
- package/src/cli/client-factory.ts +6 -1
- package/src/cli/commands/export-seed.ts +41 -15
- package/src/cli/commands/seed.ts +6 -2
- package/src/cli/commands/site.ts +556 -0
- package/src/cli/index.ts +2 -0
- package/src/cli/site/archive.ts +273 -0
- package/src/cli/site/export.ts +311 -0
- package/src/cli/site/import.ts +815 -0
- package/src/cli/site/shared.ts +241 -0
- package/src/client/index.ts +414 -11
- package/src/client/portable-text.ts +41 -0
- package/src/comments/public-submission.ts +19 -11
- package/src/components/Blocks.astro +46 -0
- package/src/components/Columns.astro +3 -1
- package/src/components/Cover.astro +3 -1
- package/src/components/Gallery.astro +2 -1
- package/src/components/Image.astro +51 -6
- package/src/components/InlinePortableTextEditor.tsx +28 -18
- package/src/components/blocks.ts +44 -0
- package/src/components/index.ts +14 -4
- package/src/content/converters/gallery.ts +54 -16
- package/src/content/converters/image-link.ts +27 -0
- package/src/content/converters/index.ts +1 -0
- package/src/content/converters/portable-text-to-prosemirror.ts +10 -7
- package/src/content/converters/prosemirror-to-portable-text.ts +14 -0
- package/src/content/converters/types.ts +17 -0
- package/src/database/content-datetime.ts +19 -2
- package/src/database/migrations/035_bounded_404_log.ts +28 -39
- package/src/database/migrations/083_block_types.ts +58 -0
- package/src/database/migrations/084_site_transfer.ts +264 -0
- package/src/database/migrations/085_taxonomy_def_groups.ts +155 -0
- package/src/database/migrations/runner.ts +6 -0
- package/src/database/repositories/audit.ts +10 -1
- package/src/database/repositories/byline.ts +4 -1
- package/src/database/repositories/content.ts +83 -11
- package/src/database/repositories/media-usage.ts +43 -13
- package/src/database/repositories/media.ts +72 -2
- package/src/database/repositories/options.ts +12 -0
- package/src/database/repositories/redirect.ts +17 -34
- package/src/database/repositories/revision.ts +6 -3
- package/src/database/repositories/taxonomy-def.ts +126 -0
- package/src/database/repositories/taxonomy.ts +65 -26
- package/src/database/types.ts +133 -1
- package/src/db/sqlite.ts +1 -1
- package/src/emdash-runtime.ts +315 -51
- package/src/import/utils.ts +8 -1
- package/src/import/wxr-taxonomies.ts +11 -67
- package/src/index.ts +27 -1
- package/src/loader.ts +9 -5
- package/src/mcp/server.ts +533 -76
- package/src/mcp/transfer.ts +569 -0
- package/src/media/local-runtime.ts +5 -18
- package/src/media/upload-attempts.ts +5 -0
- package/src/media/url.ts +15 -0
- package/src/media/usage/content-fields.ts +69 -5
- package/src/media/usage/content-refresh.ts +13 -66
- package/src/media/usage/content-repair.ts +10 -2
- package/src/media/usage/extractor.ts +74 -3
- package/src/media/usage/projection-fingerprint.ts +14 -0
- package/src/media/usage/schema-invalidation.ts +72 -0
- package/src/media/usage/site-settings.ts +52 -0
- package/src/media/usage/types.ts +2 -0
- package/src/object-cache/index.ts +69 -4
- package/src/plugin-test-runtime.ts +1 -0
- package/src/plugins/context.ts +104 -56
- package/src/plugins/cron.ts +6 -4
- package/src/plugins/define-plugin.ts +11 -1
- package/src/plugins/email-console.ts +2 -0
- package/src/plugins/email.ts +16 -0
- package/src/plugins/hooks.ts +33 -9
- package/src/plugins/manifest-schema.ts +1 -0
- package/src/plugins/route-error.ts +57 -0
- package/src/plugins/routes.ts +5 -60
- package/src/plugins/sandbox/types.ts +22 -2
- package/src/plugins/types.ts +4 -0
- package/src/registry/artifact-fetch.ts +17 -4
- package/src/registry/publisher-handle.ts +273 -0
- package/src/schema/block-type-contract.ts +478 -0
- package/src/schema/block-type-registry.ts +689 -0
- package/src/schema/block-types.ts +110 -0
- package/src/schema/block-values.ts +293 -0
- package/src/schema/byline-registry.ts +1 -1
- package/src/schema/index.ts +28 -0
- package/src/schema/registry.ts +462 -12
- package/src/schema/types.ts +12 -1
- package/src/schema/zod-generator.ts +92 -9
- package/src/search/fts-manager.ts +40 -0
- package/src/seed/apply.ts +493 -88
- package/src/seed/types.ts +23 -3
- package/src/seed/validate.ts +131 -7
- package/src/settings/index.ts +32 -9
- package/src/settings/types.ts +15 -0
- package/src/taxonomies/index.ts +72 -83
- package/src/transfer/analyze/index.ts +45 -0
- package/src/transfer/analyze/issues.ts +55 -0
- package/src/transfer/analyze/plan.ts +327 -0
- package/src/transfer/analyze/read.ts +134 -0
- package/src/transfer/analyze/step.ts +551 -0
- package/src/transfer/analyze/target.ts +269 -0
- package/src/transfer/analyze/unique-keys.ts +228 -0
- package/src/transfer/analyze/validate.ts +1412 -0
- package/src/transfer/analyze/values.ts +227 -0
- package/src/transfer/analyze/write-rules.ts +196 -0
- package/src/transfer/audit.ts +38 -0
- package/src/transfer/auth.ts +25 -0
- package/src/transfer/container/tar.ts +242 -0
- package/src/transfer/domain.ts +248 -0
- package/src/transfer/errors.ts +134 -0
- package/src/transfer/export/exporter.ts +1067 -0
- package/src/transfer/export/fence.ts +84 -0
- package/src/transfer/export/media.ts +165 -0
- package/src/transfer/export/readers.ts +1164 -0
- package/src/transfer/export/verify.ts +677 -0
- package/src/transfer/fence.ts +193 -0
- package/src/transfer/format/canonical.ts +151 -0
- package/src/transfer/format/column-codec.ts +275 -0
- package/src/transfer/format/columns.ts +707 -0
- package/src/transfer/format/digest.ts +287 -0
- package/src/transfer/format/features.ts +91 -0
- package/src/transfer/format/issues.ts +39 -0
- package/src/transfer/format/kinds.ts +936 -0
- package/src/transfer/format/limits.ts +87 -0
- package/src/transfer/format/manifest.ts +297 -0
- package/src/transfer/format/media-refs.ts +716 -0
- package/src/transfer/format/paths.ts +73 -0
- package/src/transfer/format/plan.ts +162 -0
- package/src/transfer/format/receipt.ts +43 -0
- package/src/transfer/format/records.ts +127 -0
- package/src/transfer/format/settings.ts +94 -0
- package/src/transfer/format/transformations.ts +260 -0
- package/src/transfer/format/version.ts +9 -0
- package/src/transfer/gc.ts +103 -0
- package/src/transfer/import/advance.ts +522 -0
- package/src/transfer/import/context.ts +281 -0
- package/src/transfer/import/entries.ts +186 -0
- package/src/transfer/import/ids.ts +40 -0
- package/src/transfer/import/index.ts +15 -0
- package/src/transfer/import/media.ts +141 -0
- package/src/transfer/import/rebuild.ts +300 -0
- package/src/transfer/import/rows.ts +114 -0
- package/src/transfer/import/scaffold.ts +221 -0
- package/src/transfer/import/sql.ts +134 -0
- package/src/transfer/import/stages.ts +329 -0
- package/src/transfer/import/writers.ts +370 -0
- package/src/transfer/index.ts +472 -0
- package/src/transfer/ops/approvals.ts +359 -0
- package/src/transfer/ops/budget.ts +82 -0
- package/src/transfer/ops/collation.ts +21 -0
- package/src/transfer/ops/identity-map.ts +142 -0
- package/src/transfer/ops/media-blobs.ts +135 -0
- package/src/transfer/ops/operations.ts +842 -0
- package/src/transfer/ops/package-index.ts +159 -0
- package/src/transfer/ops/staged-files.ts +231 -0
- package/src/transfer/ops/states.ts +265 -0
- package/src/transfer/ops/time.ts +54 -0
- package/src/transfer/schema-importer.ts +34 -0
- package/src/transfer/site-id.ts +30 -0
- package/src/transfer/staging/assembler.ts +217 -0
- package/src/transfer/staging/keys.ts +94 -0
- package/src/transfer/staging/package.ts +229 -0
- package/src/transfer/staging/stage.ts +231 -0
- package/src/ui.ts +19 -0
- package/src/visual-editing/toolbar.ts +125 -37
- package/dist/action-token-On1sot_c.mjs +0 -26
- package/dist/action-token-On1sot_c.mjs.map +0 -1
- package/dist/activation-CaMfdBt1.mjs +0 -382
- package/dist/activation-CaMfdBt1.mjs.map +0 -1
- package/dist/adapters-Cq10K4_c.d.mts +0 -171
- package/dist/adapters-Cq10K4_c.d.mts.map +0 -1
- package/dist/allowed-origins-1Sa-2wZK.mjs +0 -116
- package/dist/allowed-origins-1Sa-2wZK.mjs.map +0 -1
- package/dist/api-BB5BoQbN.mjs +0 -4831
- package/dist/api-BB5BoQbN.mjs.map +0 -1
- package/dist/api-tokens-BIXItFKV.mjs +0 -163
- package/dist/api-tokens-BIXItFKV.mjs.map +0 -1
- package/dist/api-tokens-DS1VzN7_.mjs +0 -3
- package/dist/apply-CsKm_5S5.mjs +0 -1005
- package/dist/apply-CsKm_5S5.mjs.map +0 -1
- package/dist/artifact-fetch-COiMhVgk.mjs +0 -813
- package/dist/artifact-fetch-COiMhVgk.mjs.map +0 -1
- package/dist/authoritative-records-DbqshfKD.mjs +0 -5172
- package/dist/authoritative-records-DbqshfKD.mjs.map +0 -1
- package/dist/authorize-BXpfMpp0.mjs +0 -40
- package/dist/authorize-BXpfMpp0.mjs.map +0 -1
- package/dist/backup-B4tByjBb.mjs +0 -246
- package/dist/backup-B4tByjBb.mjs.map +0 -1
- package/dist/byline-C8ndlnP0.mjs +0 -906
- package/dist/byline-C8ndlnP0.mjs.map +0 -1
- package/dist/byline-fields-CsrdvaLV.mjs +0 -123
- package/dist/byline-fields-CsrdvaLV.mjs.map +0 -1
- package/dist/byline-registry-D6lWzXk6.mjs +0 -406
- package/dist/byline-registry-D6lWzXk6.mjs.map +0 -1
- package/dist/bylines-CHP44GkL.mjs +0 -232
- package/dist/bylines-CHP44GkL.mjs.map +0 -1
- package/dist/bylines-DxjM4Usz.mjs +0 -214
- package/dist/bylines-DxjM4Usz.mjs.map +0 -1
- package/dist/cache-BByLKGPu.mjs +0 -108
- package/dist/cache-BByLKGPu.mjs.map +0 -1
- package/dist/capture-triggers-gxQxnxrJ.mjs +0 -362
- package/dist/capture-triggers-gxQxnxrJ.mjs.map +0 -1
- package/dist/challenge-store-CkRdSdd8.mjs +0 -51
- package/dist/challenge-store-CkRdSdd8.mjs.map +0 -1
- package/dist/checksum-Bsi2D9M1.mjs +0 -162
- package/dist/checksum-Bsi2D9M1.mjs.map +0 -1
- package/dist/chrome-tags-D7LGB91U.mjs +0 -24
- package/dist/chrome-tags-D7LGB91U.mjs.map +0 -1
- package/dist/chunks-DUK-cWXi.mjs +0 -25
- package/dist/chunks-DUK-cWXi.mjs.map +0 -1
- package/dist/collection-deletion-C-yQB9fq.mjs +0 -436
- package/dist/collection-deletion-C-yQB9fq.mjs.map +0 -1
- package/dist/collection-slugs-cache-D9auiKmI.mjs +0 -85
- package/dist/collection-slugs-cache-D9auiKmI.mjs.map +0 -1
- package/dist/comment-DcT8qdPK.mjs +0 -313
- package/dist/comment-DcT8qdPK.mjs.map +0 -1
- package/dist/comment-reaction-B6KHCLYK.mjs +0 -85
- package/dist/comment-reaction-B6KHCLYK.mjs.map +0 -1
- package/dist/comments-B67VRNGw.mjs +0 -204
- package/dist/comments-B67VRNGw.mjs.map +0 -1
- package/dist/comments-BVzzt6x5.mjs +0 -99
- package/dist/comments-BVzzt6x5.mjs.map +0 -1
- package/dist/components-DIl9Qzh6.mjs +0 -108
- package/dist/components-DIl9Qzh6.mjs.map +0 -1
- package/dist/config-B2acLeC5.mjs +0 -242
- package/dist/config-B2acLeC5.mjs.map +0 -1
- package/dist/config-CGVeT8Hc.mjs +0 -73
- package/dist/config-CGVeT8Hc.mjs.map +0 -1
- package/dist/config-Cw1Xz_Br.d.mts +0 -6387
- package/dist/config-Cw1Xz_Br.d.mts.map +0 -1
- package/dist/config-D3HhLON3.d.mts +0 -39
- package/dist/config-D3HhLON3.d.mts.map +0 -1
- package/dist/content-C0Hl3ktM.mjs +0 -2216
- package/dist/content-C0Hl3ktM.mjs.map +0 -1
- package/dist/content-list-query-CbPdzsna.d.mts +0 -26
- package/dist/content-list-query-CbPdzsna.d.mts.map +0 -1
- package/dist/content-policy-CM4skrNi.mjs +0 -46
- package/dist/content-policy-CM4skrNi.mjs.map +0 -1
- package/dist/content-refresh-iRBhQHr5.mjs +0 -3599
- package/dist/content-refresh-iRBhQHr5.mjs.map +0 -1
- package/dist/content-repair-8uHRIJkd.mjs +0 -440
- package/dist/content-repair-8uHRIJkd.mjs.map +0 -1
- package/dist/context-DJP3aNeR.mjs +0 -1835
- package/dist/context-DJP3aNeR.mjs.map +0 -1
- package/dist/cron-BcR3RN4K.mjs +0 -282
- package/dist/cron-BcR3RN4K.mjs.map +0 -1
- package/dist/dashboard-B0s6QKgi.mjs +0 -151
- package/dist/dashboard-B0s6QKgi.mjs.map +0 -1
- package/dist/default-BtlxWgh9.mjs +0 -81
- package/dist/default-BtlxWgh9.mjs.map +0 -1
- package/dist/deferred-tasks-Ba9fphlE.d.mts +0 -9
- package/dist/deferred-tasks-Ba9fphlE.d.mts.map +0 -1
- package/dist/device-flow-3E5l0fpH.mjs +0 -466
- package/dist/device-flow-3E5l0fpH.mjs.map +0 -1
- package/dist/dialect-helpers-CtYdsX4W.mjs +0 -307
- package/dist/dialect-helpers-CtYdsX4W.mjs.map +0 -1
- package/dist/direct-executor-CDr1quOq.mjs +0 -104
- package/dist/direct-executor-CDr1quOq.mjs.map +0 -1
- package/dist/dist-2hDLsLeq.mjs +0 -810
- package/dist/dist-2hDLsLeq.mjs.map +0 -1
- package/dist/email-console-gc-E3Eqj.mjs +0 -50
- package/dist/email-console-gc-E3Eqj.mjs.map +0 -1
- package/dist/emdash-runtime-CxxL05Z0.mjs +0 -4041
- package/dist/emdash-runtime-CxxL05Z0.mjs.map +0 -1
- package/dist/enrich-C2Mk0lwE.mjs +0 -194
- package/dist/enrich-C2Mk0lwE.mjs.map +0 -1
- package/dist/entry-lock-CwWdnFyR.mjs +0 -1520
- package/dist/entry-lock-CwWdnFyR.mjs.map +0 -1
- package/dist/entry-lock-D9rnj2Lu.mjs +0 -163
- package/dist/entry-lock-D9rnj2Lu.mjs.map +0 -1
- package/dist/entry-lock-DqkvBC6L.d.mts +0 -3503
- package/dist/entry-lock-DqkvBC6L.d.mts.map +0 -1
- package/dist/entry-locks-CO_KaoU5.mjs +0 -167
- package/dist/entry-locks-CO_KaoU5.mjs.map +0 -1
- package/dist/error-CCTCskie.mjs +0 -90
- package/dist/error-CCTCskie.mjs.map +0 -1
- package/dist/errors-W3PA8HqB.mjs +0 -447
- package/dist/errors-W3PA8HqB.mjs.map +0 -1
- package/dist/escape-DN4Qmjsl.mjs +0 -9
- package/dist/escape-DN4Qmjsl.mjs.map +0 -1
- package/dist/field-defs-cache-Db0pJgqn.mjs +0 -77
- package/dist/field-defs-cache-Db0pJgqn.mjs.map +0 -1
- package/dist/fts-manager-CjX0e5BR.mjs +0 -413
- package/dist/fts-manager-CjX0e5BR.mjs.map +0 -1
- package/dist/hash-CLVFzWvx.mjs +0 -37
- package/dist/hash-CLVFzWvx.mjs.map +0 -1
- package/dist/hook-result-KY1jq21o.d.mts +0 -31
- package/dist/hook-result-KY1jq21o.d.mts.map +0 -1
- package/dist/hreflang-BgS2FqhH.d.mts +0 -50
- package/dist/hreflang-BgS2FqhH.d.mts.map +0 -1
- package/dist/hreflang-DOQeTXpg.mjs +0 -105
- package/dist/hreflang-DOQeTXpg.mjs.map +0 -1
- package/dist/http-route-dispatch-MCVKiQCl.mjs +0 -339
- package/dist/http-route-dispatch-MCVKiQCl.mjs.map +0 -1
- package/dist/identity-vFbpuwfY.mjs +0 -35
- package/dist/identity-vFbpuwfY.mjs.map +0 -1
- package/dist/import-got6I69S.mjs +0 -2020
- package/dist/import-got6I69S.mjs.map +0 -1
- package/dist/index-CDwKDkTq.d.mts +0 -623
- package/dist/index-CDwKDkTq.d.mts.map +0 -1
- package/dist/install-finalization-5Os-QZ-2.mjs +0 -58
- package/dist/install-finalization-5Os-QZ-2.mjs.map +0 -1
- package/dist/lifecycle-7e-Lt_kX.mjs +0 -25
- package/dist/lifecycle-7e-Lt_kX.mjs.map +0 -1
- package/dist/load-C56XiwbV.mjs +0 -28
- package/dist/load-C56XiwbV.mjs.map +0 -1
- package/dist/loader-xhNQiT9T.mjs +0 -1004
- package/dist/loader-xhNQiT9T.mjs.map +0 -1
- package/dist/manifest-builder-Bz3nxVET.mjs +0 -189
- package/dist/manifest-builder-Bz3nxVET.mjs.map +0 -1
- package/dist/manifest-schema-Bkh8SeHd.mjs +0 -491
- package/dist/manifest-schema-Bkh8SeHd.mjs.map +0 -1
- package/dist/media-TBlKCwo7.mjs +0 -334
- package/dist/media-TBlKCwo7.mjs.map +0 -1
- package/dist/media-allowlist-s60eAIf6.mjs +0 -44
- package/dist/media-allowlist-s60eAIf6.mjs.map +0 -1
- package/dist/media-folders-ClIRLUQv.mjs +0 -210
- package/dist/media-folders-ClIRLUQv.mjs.map +0 -1
- package/dist/media-url-DY_ijO3B.mjs +0 -43
- package/dist/media-url-DY_ijO3B.mjs.map +0 -1
- package/dist/media-usage-Bd9rFPKN.mjs +0 -1833
- package/dist/media-usage-Bd9rFPKN.mjs.map +0 -1
- package/dist/media-usage-activation-CAhmb14O.mjs +0 -78
- package/dist/media-usage-activation-CAhmb14O.mjs.map +0 -1
- package/dist/media-usage-work-BPlRMOJv.mjs +0 -152
- package/dist/media-usage-work-BPlRMOJv.mjs.map +0 -1
- package/dist/media-usage-work-Cu5DqewW.mjs +0 -586
- package/dist/media-usage-work-Cu5DqewW.mjs.map +0 -1
- package/dist/media-usage-write-fence-DW5oHT7q.mjs +0 -42
- package/dist/media-usage-write-fence-DW5oHT7q.mjs.map +0 -1
- package/dist/menus-BUQdvXep.mjs +0 -3732
- package/dist/menus-BUQdvXep.mjs.map +0 -1
- package/dist/menus-DgSUodmF.mjs +0 -753
- package/dist/menus-DgSUodmF.mjs.map +0 -1
- package/dist/mime-CCYRC4r1.mjs +0 -36
- package/dist/mime-CCYRC4r1.mjs.map +0 -1
- package/dist/mode-CkmOhFqj.mjs +0 -23
- package/dist/mode-CkmOhFqj.mjs.map +0 -1
- package/dist/node-sqlite-compat-vpVaILnb.mjs +0 -46
- package/dist/node-sqlite-compat-vpVaILnb.mjs.map +0 -1
- package/dist/normalize-dChXQjwS.mjs +0 -191
- package/dist/normalize-dChXQjwS.mjs.map +0 -1
- package/dist/oauth-authorization-DZ-R-hmx.mjs +0 -274
- package/dist/oauth-authorization-DZ-R-hmx.mjs.map +0 -1
- package/dist/oauth-clients-BMPA8vjl.mjs +0 -266
- package/dist/oauth-clients-BMPA8vjl.mjs.map +0 -1
- package/dist/oauth-state-store-0gIdb48-.mjs +0 -50
- package/dist/oauth-state-store-0gIdb48-.mjs.map +0 -1
- package/dist/oauth-user-lookup-ChVW4UWu.mjs +0 -26
- package/dist/oauth-user-lookup-ChVW4UWu.mjs.map +0 -1
- package/dist/object-cache-DlSVbn5Y.mjs +0 -534
- package/dist/object-cache-DlSVbn5Y.mjs.map +0 -1
- package/dist/options-D5WcorD5.mjs +0 -200
- package/dist/options-D5WcorD5.mjs.map +0 -1
- package/dist/options-DAknChnw.d.mts +0 -77
- package/dist/options-DAknChnw.d.mts.map +0 -1
- package/dist/parse-Cr379Av9.mjs +0 -81
- package/dist/parse-Cr379Av9.mjs.map +0 -1
- package/dist/parse-tj9XLNO_.d.mts +0 -165
- package/dist/parse-tj9XLNO_.d.mts.map +0 -1
- package/dist/passkey-config-BD-wMaCf.mjs +0 -46
- package/dist/passkey-config-BD-wMaCf.mjs.map +0 -1
- package/dist/patterns-Do3iqi7N.mjs +0 -145
- package/dist/patterns-Do3iqi7N.mjs.map +0 -1
- package/dist/placeholder-CubPFn_L.d.mts +0 -306
- package/dist/placeholder-CubPFn_L.d.mts.map +0 -1
- package/dist/plugins-DHurtdXQ.mjs +0 -277
- package/dist/plugins-DHurtdXQ.mjs.map +0 -1
- package/dist/policy-pL9QLKZm.mjs +0 -45
- package/dist/policy-pL9QLKZm.mjs.map +0 -1
- package/dist/portable-text-oAwodbPS.mjs +0 -286
- package/dist/portable-text-oAwodbPS.mjs.map +0 -1
- package/dist/preview-Cup2bj8c.mjs +0 -107
- package/dist/preview-Cup2bj8c.mjs.map +0 -1
- package/dist/protocol-C1CNiKX4.d.mts +0 -61
- package/dist/protocol-C1CNiKX4.d.mts.map +0 -1
- package/dist/public-submission-Cs-pFMQK.mjs +0 -245
- package/dist/public-submission-Cs-pFMQK.mjs.map +0 -1
- package/dist/public-url-BWVHsfQv.mjs +0 -101
- package/dist/public-url-BWVHsfQv.mjs.map +0 -1
- package/dist/query-CxnFU6sz.mjs +0 -890
- package/dist/query-CxnFU6sz.mjs.map +0 -1
- package/dist/query-sgHYEgBW.mjs +0 -41
- package/dist/query-sgHYEgBW.mjs.map +0 -1
- package/dist/rate-limit-CqJn-w4h.mjs +0 -120
- package/dist/rate-limit-CqJn-w4h.mjs.map +0 -1
- package/dist/redirect-BrChFPIu.mjs +0 -17
- package/dist/redirect-BrChFPIu.mjs.map +0 -1
- package/dist/redirect-D2Yo-b6S.mjs +0 -415
- package/dist/redirect-D2Yo-b6S.mjs.map +0 -1
- package/dist/redirects-BCiTaIQ-.mjs +0 -146
- package/dist/redirects-BCiTaIQ-.mjs.map +0 -1
- package/dist/redirects-CAoL3r26.mjs +0 -644
- package/dist/redirects-CAoL3r26.mjs.map +0 -1
- package/dist/registry-xKzE-_m5.mjs +0 -1222
- package/dist/registry-xKzE-_m5.mjs.map +0 -1
- package/dist/relation-ClsWcYg2.mjs +0 -334
- package/dist/relation-ClsWcYg2.mjs.map +0 -1
- package/dist/relations-B4w-G5U9.mjs +0 -309
- package/dist/relations-B4w-G5U9.mjs.map +0 -1
- package/dist/relations-C3Td_mct.mjs +0 -403
- package/dist/relations-C3Td_mct.mjs.map +0 -1
- package/dist/request-cache-DaMhSQdx.mjs +0 -104
- package/dist/request-cache-DaMhSQdx.mjs.map +0 -1
- package/dist/request-meta-C8yl_sIs.mjs +0 -141
- package/dist/request-meta-C8yl_sIs.mjs.map +0 -1
- package/dist/resolve-BJIS8wKr.mjs +0 -199
- package/dist/resolve-BJIS8wKr.mjs.map +0 -1
- package/dist/route-wire-D66L2oaZ.mjs +0 -197
- package/dist/route-wire-D66L2oaZ.mjs.map +0 -1
- package/dist/routes-CWzxcZpn.mjs +0 -321
- package/dist/routes-CWzxcZpn.mjs.map +0 -1
- package/dist/runner-3gfxRsJG.d.mts +0 -68
- package/dist/runner-3gfxRsJG.d.mts.map +0 -1
- package/dist/runner-CIltKk4i.mjs +0 -5502
- package/dist/runner-CIltKk4i.mjs.map +0 -1
- package/dist/schema-DQIE9Htn.mjs +0 -420
- package/dist/schema-DQIE9Htn.mjs.map +0 -1
- package/dist/schema-ILPFMPW3.mjs +0 -9
- package/dist/schema-ILPFMPW3.mjs.map +0 -1
- package/dist/scopes-Bn8_rCSt.mjs +0 -27
- package/dist/scopes-Bn8_rCSt.mjs.map +0 -1
- package/dist/search-D6muneha.mjs +0 -448
- package/dist/search-D6muneha.mjs.map +0 -1
- package/dist/secrets-DNgVgz_e.mjs +0 -341
- package/dist/secrets-DNgVgz_e.mjs.map +0 -1
- package/dist/sections-BPCEGYWd.mjs +0 -346
- package/dist/sections-BPCEGYWd.mjs.map +0 -1
- package/dist/seo-BtU70b7l.mjs +0 -114
- package/dist/seo-BtU70b7l.mjs.map +0 -1
- package/dist/seo-rCk6pDwT.mjs +0 -133
- package/dist/seo-rCk6pDwT.mjs.map +0 -1
- package/dist/service-Bpy5iTX0.mjs +0 -150
- package/dist/service-Bpy5iTX0.mjs.map +0 -1
- package/dist/session-user-BQeS2Mrb.mjs +0 -51
- package/dist/session-user-BQeS2Mrb.mjs.map +0 -1
- package/dist/settings-CsoLiwpL.mjs +0 -420
- package/dist/settings-CsoLiwpL.mjs.map +0 -1
- package/dist/settings-DCnWtfSZ.mjs +0 -51
- package/dist/settings-DCnWtfSZ.mjs.map +0 -1
- package/dist/setup-complete-BrZaXpVV.mjs +0 -26
- package/dist/setup-complete-BrZaXpVV.mjs.map +0 -1
- package/dist/setup-nonce-Cb9-884O.mjs +0 -25
- package/dist/setup-nonce-Cb9-884O.mjs.map +0 -1
- package/dist/site-url-DjhYCaep.mjs +0 -16
- package/dist/site-url-DjhYCaep.mjs.map +0 -1
- package/dist/snapshot-C32Xuv3o.mjs +0 -233
- package/dist/snapshot-C32Xuv3o.mjs.map +0 -1
- package/dist/ssrf-Co1GGFZz.mjs +0 -406
- package/dist/ssrf-Co1GGFZz.mjs.map +0 -1
- package/dist/state-C7gCoiHr.mjs +0 -153
- package/dist/state-C7gCoiHr.mjs.map +0 -1
- package/dist/status-DLoBmcDz.mjs +0 -30
- package/dist/status-DLoBmcDz.mjs.map +0 -1
- package/dist/storage-query-CPctdMKX.d.mts +0 -1519
- package/dist/storage-query-CPctdMKX.d.mts.map +0 -1
- package/dist/target-CUKlGrXb.mjs +0 -27
- package/dist/target-CUKlGrXb.mjs.map +0 -1
- package/dist/taxonomies-Bs5dJVDJ.mjs +0 -899
- package/dist/taxonomies-Bs5dJVDJ.mjs.map +0 -1
- package/dist/taxonomies-DjGU22ur.mjs +0 -707
- package/dist/taxonomies-DjGU22ur.mjs.map +0 -1
- package/dist/taxonomy-c1Q8PMFF.mjs +0 -508
- package/dist/taxonomy-c1Q8PMFF.mjs.map +0 -1
- package/dist/tokens-Ns02GAma.mjs +0 -171
- package/dist/tokens-Ns02GAma.mjs.map +0 -1
- package/dist/transport-B8P1xsqk.mjs +0 -136
- package/dist/transport-B8P1xsqk.mjs.map +0 -1
- package/dist/transport-BLHZZcD_.d.mts +0 -42
- package/dist/transport-BLHZZcD_.d.mts.map +0 -1
- package/dist/trusted-proxy-Cg7SuD15.mjs +0 -51
- package/dist/trusted-proxy-Cg7SuD15.mjs.map +0 -1
- package/dist/turnstile-DWCSh_Qc.mjs +0 -53
- package/dist/turnstile-DWCSh_Qc.mjs.map +0 -1
- package/dist/types-B3RkqvDW.mjs +0 -156
- package/dist/types-B3RkqvDW.mjs.map +0 -1
- package/dist/types-BtuppOTV.mjs +0 -16
- package/dist/types-BtuppOTV.mjs.map +0 -1
- package/dist/types-CCR3ivXE.d.mts +0 -363
- package/dist/types-CCR3ivXE.d.mts.map +0 -1
- package/dist/types-CSHgU_-_.mjs +0 -18
- package/dist/types-CSHgU_-_.mjs.map +0 -1
- package/dist/types-CbwqGOXm.d.mts +0 -766
- package/dist/types-CbwqGOXm.d.mts.map +0 -1
- package/dist/types-D4RGIc2I.d.mts +0 -198
- package/dist/types-D4RGIc2I.d.mts.map +0 -1
- package/dist/types-DEHidMEk.d.mts +0 -1637
- package/dist/types-DEHidMEk.d.mts.map +0 -1
- package/dist/types-DQeU2SR7.d.mts +0 -279
- package/dist/types-DQeU2SR7.d.mts.map +0 -1
- package/dist/types-DxQWoQLA.d.mts +0 -264
- package/dist/types-DxQWoQLA.d.mts.map +0 -1
- package/dist/types-FBBnGZ2Y.d.mts +0 -198
- package/dist/types-FBBnGZ2Y.d.mts.map +0 -1
- package/dist/types-ZCnlropY.mjs +0 -69
- package/dist/types-ZCnlropY.mjs.map +0 -1
- package/dist/types-_Qtyawiy.d.mts +0 -124
- package/dist/types-_Qtyawiy.d.mts.map +0 -1
- package/dist/types-gC6FAoa_.d.mts +0 -75
- package/dist/types-gC6FAoa_.d.mts.map +0 -1
- package/dist/types-k--LneIF.mjs +0 -22
- package/dist/types-k--LneIF.mjs.map +0 -1
- package/dist/upload-attempts-2xdnoKGe.mjs +0 -27
- package/dist/upload-attempts-2xdnoKGe.mjs.map +0 -1
- package/dist/url-pattern-3m3reMzr.mjs +0 -33
- package/dist/url-pattern-3m3reMzr.mjs.map +0 -1
- package/dist/user-2R1gceFl.mjs +0 -171
- package/dist/user-2R1gceFl.mjs.map +0 -1
- package/dist/utils-CC2oNGV8.mjs +0 -435
- package/dist/utils-CC2oNGV8.mjs.map +0 -1
- package/dist/validate-CaFSi_Wa.mjs +0 -384
- package/dist/validate-CaFSi_Wa.mjs.map +0 -1
- package/dist/validate-CyQ7I3xF.d.mts +0 -410
- package/dist/validate-CyQ7I3xF.d.mts.map +0 -1
- package/dist/validation-nsX2uixg.mjs +0 -216
- package/dist/validation-nsX2uixg.mjs.map +0 -1
- package/dist/version-DGh4SL8e.mjs +0 -7
- package/dist/version-DGh4SL8e.mjs.map +0 -1
- package/dist/widgets-B7ued6f5.mjs +0 -126
- package/dist/widgets-B7ued6f5.mjs.map +0 -1
- package/dist/wxr-taxonomies-BtH3jYSg.mjs +0 -406
- package/dist/wxr-taxonomies-BtH3jYSg.mjs.map +0 -1
- package/dist/wxr-taxonomies-DU2ZSiGc.d.mts +0 -34
- package/dist/wxr-taxonomies-DU2ZSiGc.d.mts.map +0 -1
- package/dist/zod-generator-DuBjYyrI.mjs +0 -329
- package/dist/zod-generator-DuBjYyrI.mjs.map +0 -1
- /package/dist/{ssrf-BRpTDMV6.mjs → ssrf-DpBH7aOt.mjs} +0 -0
package/src/mcp/server.ts
CHANGED
|
@@ -21,9 +21,11 @@ import {
|
|
|
21
21
|
CONTENT_TYPE_RE,
|
|
22
22
|
contentBylineInputSchema,
|
|
23
23
|
contentSeoInput,
|
|
24
|
+
createBlockTypeBody,
|
|
24
25
|
createCollectionBody,
|
|
25
26
|
createTaxonomyDefBody,
|
|
26
27
|
updateCollectionBody,
|
|
28
|
+
updateBlockTypeBody,
|
|
27
29
|
updateFieldBody,
|
|
28
30
|
updateTaxonomyDefBody,
|
|
29
31
|
} from "#api/schemas.js";
|
|
@@ -36,7 +38,27 @@ import { convertDataForRead, convertDataForWrite } from "../client/portable-text
|
|
|
36
38
|
import type { FieldSchema } from "../client/portable-text.js";
|
|
37
39
|
import { decodeCursor, InvalidCursorError } from "../database/repositories/types.js";
|
|
38
40
|
import type { RouteCallerInput } from "../plugins/routes.js";
|
|
41
|
+
import {
|
|
42
|
+
TRANSFER_SCOPES,
|
|
43
|
+
type TransferApprovalAction,
|
|
44
|
+
type TransferScope,
|
|
45
|
+
} from "../transfer/auth.js";
|
|
46
|
+
import { readSiteWriteFence, recordSiteWrite } from "../transfer/fence.js";
|
|
47
|
+
import { toSha256Digest } from "../transfer/format/digest.js";
|
|
48
|
+
import { siteImportDecisionsInputSchema } from "../transfer/format/plan.js";
|
|
39
49
|
import { decodeBase64, encodeBase64 } from "../utils/base64.js";
|
|
50
|
+
import {
|
|
51
|
+
analyzeImport,
|
|
52
|
+
exportStatus,
|
|
53
|
+
hasOperationGrant,
|
|
54
|
+
importReceipt,
|
|
55
|
+
importStatus,
|
|
56
|
+
resumeImport,
|
|
57
|
+
startExport,
|
|
58
|
+
startImport,
|
|
59
|
+
transferCapabilities,
|
|
60
|
+
type TransferContext,
|
|
61
|
+
} from "./transfer.js";
|
|
40
62
|
|
|
41
63
|
const COLLECTION_SLUG_PATTERN = /^[a-z][a-z0-9_]*$/;
|
|
42
64
|
/** http(s) scheme matcher used by `settings_update` URL validation. */
|
|
@@ -58,6 +80,43 @@ const REV_PARAM_DESCRIPTION =
|
|
|
58
80
|
const REV_MISSING_ERROR =
|
|
59
81
|
"_rev is required: call content_get for this item and pass back the _rev it returns.";
|
|
60
82
|
|
|
83
|
+
const SHA256_DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/;
|
|
84
|
+
const TRANSFER_OPERATION_ID_PATTERN = /^[0-9A-Za-z_-]{1,64}$/;
|
|
85
|
+
|
|
86
|
+
const transferOperationIdSchema = z
|
|
87
|
+
.string()
|
|
88
|
+
.regex(TRANSFER_OPERATION_ID_PATTERN, "Invalid operation id")
|
|
89
|
+
.describe("Transfer operation id");
|
|
90
|
+
|
|
91
|
+
const transferApprovalIdSchema = z
|
|
92
|
+
.string()
|
|
93
|
+
.min(1)
|
|
94
|
+
.max(64)
|
|
95
|
+
.describe("Approval id from an earlier TRANSFER_APPROVAL_REQUIRED error, once approved");
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* The site transfer tools. Like the transfer REST API they are exempt from
|
|
99
|
+
* the site write fence, so an import started over MCP can be driven to
|
|
100
|
+
* completion over MCP.
|
|
101
|
+
*/
|
|
102
|
+
const TRANSFER_TOOL_NAMES: ReadonlySet<string> = new Set([
|
|
103
|
+
"site_transfer_capabilities",
|
|
104
|
+
"site_export_start",
|
|
105
|
+
"site_export_status",
|
|
106
|
+
"site_import_analyze",
|
|
107
|
+
"site_import_start",
|
|
108
|
+
"site_import_status",
|
|
109
|
+
"site_import_resume",
|
|
110
|
+
"site_import_receipt",
|
|
111
|
+
]);
|
|
112
|
+
|
|
113
|
+
const APPROVAL_FLOW_DESCRIPTION =
|
|
114
|
+
"If the token lacks the scope, the first call fails with TRANSFER_APPROVAL_REQUIRED and " +
|
|
115
|
+
"details.approvalId; an admin must approve that request in the EmDash admin " +
|
|
116
|
+
"(Settings → Transfer). Then repeat the call with the same arguments plus approvalId. " +
|
|
117
|
+
"Approvals are single-use, bound to this user, this token, and these exact arguments, " +
|
|
118
|
+
"and expire 15 minutes after they are requested or approved.";
|
|
119
|
+
|
|
61
120
|
const TAXONOMY_CURSOR_VERSION = 2;
|
|
62
121
|
const MAX_TAXONOMY_CURSOR_LENGTH = 2048;
|
|
63
122
|
const contentDateTimeInputSchema = z.iso
|
|
@@ -97,8 +156,9 @@ const settingsSeoSchema = z.object({
|
|
|
97
156
|
.optional()
|
|
98
157
|
.describe("Separator between page title and site title (e.g. ' | ')"),
|
|
99
158
|
defaultOgImage: settingsMediaReferenceSchema
|
|
159
|
+
.nullable()
|
|
100
160
|
.optional()
|
|
101
|
-
.describe("Default Open Graph image when content has none"),
|
|
161
|
+
.describe("Default Open Graph image when content has none; null removes it"),
|
|
102
162
|
robotsTxt: z
|
|
103
163
|
.string()
|
|
104
164
|
.max(5000)
|
|
@@ -465,6 +525,8 @@ interface EmDashExtra {
|
|
|
465
525
|
userRole: RoleLevel;
|
|
466
526
|
/** Token scopes — undefined for session auth (all access allowed). */
|
|
467
527
|
tokenScopes?: string[];
|
|
528
|
+
/** Id of the API or OAuth token the caller authenticated with. */
|
|
529
|
+
tokenId?: string;
|
|
468
530
|
/** The route cache of the MCP request, used to invalidate the same tags the REST routes do. */
|
|
469
531
|
cache?: APIContext["cache"];
|
|
470
532
|
}
|
|
@@ -514,8 +576,9 @@ async function getCollectionFields(
|
|
|
514
576
|
): Promise<FieldSchema[] | null> {
|
|
515
577
|
try {
|
|
516
578
|
const { SchemaRegistry } = await import("../schema/index.js");
|
|
579
|
+
const { expandCollectionBlockFields } = await import("../schema/block-values.js");
|
|
517
580
|
const col = await new SchemaRegistry(ec.db).getCollectionWithFields(collection);
|
|
518
|
-
return col ? col.fields : null;
|
|
581
|
+
return col ? (await expandCollectionBlockFields(ec.db, col)).fields : null;
|
|
519
582
|
} catch {
|
|
520
583
|
return null;
|
|
521
584
|
}
|
|
@@ -603,6 +666,61 @@ function requireRole(
|
|
|
603
666
|
}
|
|
604
667
|
}
|
|
605
668
|
|
|
669
|
+
type TransferScopeRequirement = TransferScope | "transfer:*";
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Whether the caller's token holds `scope` (`transfer:*`: any transfer
|
|
673
|
+
* scope). A caller without token scopes holds none.
|
|
674
|
+
*/
|
|
675
|
+
function transferScopeHeld(
|
|
676
|
+
extra: { authInfo?: { extra?: Record<string, unknown> } },
|
|
677
|
+
scope: TransferScopeRequirement,
|
|
678
|
+
): boolean {
|
|
679
|
+
const { tokenScopes } = getExtra(extra);
|
|
680
|
+
if (!tokenScopes) return false;
|
|
681
|
+
if (scope === "transfer:*") return TRANSFER_SCOPES.some((held) => hasScope(tokenScopes, held));
|
|
682
|
+
return hasScope(tokenScopes, scope);
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
function insufficientTransferScope(scope: TransferScopeRequirement): EmDashAuthError {
|
|
686
|
+
const required = scope === "transfer:*" ? TRANSFER_SCOPES.join(" or ") : scope;
|
|
687
|
+
return new EmDashAuthError(`Insufficient scope: requires ${required}`, "INSUFFICIENT_SCOPE");
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
function requireTransferScope(
|
|
691
|
+
extra: { authInfo?: { extra?: Record<string, unknown> } },
|
|
692
|
+
scope: TransferScopeRequirement,
|
|
693
|
+
): void {
|
|
694
|
+
if (!transferScopeHeld(extra, scope)) throw insufficientTransferScope(scope);
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Require `scope`, or a grant this user consumed with this token to start
|
|
699
|
+
* `operationId`.
|
|
700
|
+
*/
|
|
701
|
+
async function requireTransferAccess(
|
|
702
|
+
extra: { authInfo?: { extra?: Record<string, unknown> } },
|
|
703
|
+
scope: TransferScopeRequirement,
|
|
704
|
+
action: TransferApprovalAction,
|
|
705
|
+
operationId: string,
|
|
706
|
+
): Promise<void> {
|
|
707
|
+
if (transferScopeHeld(extra, scope)) return;
|
|
708
|
+
const { emdash, userId, tokenId } = getExtra(extra);
|
|
709
|
+
if (await hasOperationGrant(emdash.db, { userId, tokenId }, action, operationId)) return;
|
|
710
|
+
throw insufficientTransferScope(scope);
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
function transferContext(extra: {
|
|
714
|
+
authInfo?: { extra?: Record<string, unknown> };
|
|
715
|
+
}): TransferContext {
|
|
716
|
+
const { emdash } = getExtra(extra);
|
|
717
|
+
return { db: emdash.db, storage: emdash.storage, maxUploadSize: emdash.config.maxUploadSize };
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
function transferDigest(value: string) {
|
|
721
|
+
return toSha256Digest(value.slice("sha256:".length));
|
|
722
|
+
}
|
|
723
|
+
|
|
606
724
|
/**
|
|
607
725
|
* Whether the current user may read non-published content (drafts, scheduled,
|
|
608
726
|
* trashed, revisions, compare). SUBSCRIBER may hold content:read for
|
|
@@ -715,20 +833,38 @@ export function createMcpServer(
|
|
|
715
833
|
// surface as structured `_meta.code`-bearing tool error envelopes
|
|
716
834
|
// instead of the SDK's text-only fallback in createToolError().
|
|
717
835
|
//
|
|
836
|
+
// The wrapper also applies the site write fence. Every MCP request is a
|
|
837
|
+
// POST, so the fence middleware leaves the endpoint to this per-tool
|
|
838
|
+
// check: every tool is fenced unless it is annotated `readOnlyHint: true`
|
|
839
|
+
// or is a transfer tool. A tool annotated read-only must never write.
|
|
840
|
+
//
|
|
718
841
|
// Type-erased on purpose — the SDK's overloads are too narrow for a
|
|
719
842
|
// generic wrapper, but the runtime contract (callback returns the tool
|
|
720
843
|
// result envelope) holds for every registered tool.
|
|
721
844
|
const originalRegisterTool = server.registerTool.bind(server);
|
|
722
845
|
(server as { registerTool: typeof server.registerTool }).registerTool = ((
|
|
723
846
|
name: string,
|
|
724
|
-
config:
|
|
847
|
+
config: { annotations?: { readOnlyHint?: boolean } },
|
|
725
848
|
callback: (...callbackArgs: unknown[]) => Promise<SuccessEnvelope | ErrorEnvelope>,
|
|
726
849
|
) => {
|
|
850
|
+
const fenced = config.annotations?.readOnlyHint !== true && !TRANSFER_TOOL_NAMES.has(name);
|
|
727
851
|
const wrapped = async (
|
|
728
852
|
...callbackArgs: unknown[]
|
|
729
853
|
): Promise<SuccessEnvelope | ErrorEnvelope> => {
|
|
730
854
|
try {
|
|
731
|
-
return await callback(...callbackArgs);
|
|
855
|
+
if (!fenced) return await callback(...callbackArgs);
|
|
856
|
+
// The SDK passes the request extra as the last callback argument.
|
|
857
|
+
const extra = callbackArgs.at(-1) as { authInfo?: { extra?: Record<string, unknown> } };
|
|
858
|
+
const { db } = getEmDash(extra);
|
|
859
|
+
const fence = await readSiteWriteFence(db);
|
|
860
|
+
if (fence.error) return respondError(fence.error.code, fence.error.message);
|
|
861
|
+
const result = await callback(...callbackArgs);
|
|
862
|
+
// Recorded after the write so an export whose fence was captured
|
|
863
|
+
// while this tool ran still sees it.
|
|
864
|
+
if (fence.exportRunning && !("isError" in result && result.isError)) {
|
|
865
|
+
await recordSiteWrite(db);
|
|
866
|
+
}
|
|
867
|
+
return result;
|
|
732
868
|
} catch (error) {
|
|
733
869
|
return respondHandlerError(error, "INTERNAL_ERROR");
|
|
734
870
|
}
|
|
@@ -984,6 +1120,14 @@ export function createMcpServer(
|
|
|
984
1120
|
.describe(
|
|
985
1121
|
"ID of the content item this is a translation of. Links items in the same translation group.",
|
|
986
1122
|
),
|
|
1123
|
+
migrateBlocks: z
|
|
1124
|
+
.boolean()
|
|
1125
|
+
.optional()
|
|
1126
|
+
.describe("Allow retained blocks to migrate to their type's active version"),
|
|
1127
|
+
replaceBlocks: z
|
|
1128
|
+
.boolean()
|
|
1129
|
+
.optional()
|
|
1130
|
+
.describe("Treat an entirely keyless blocks array as an explicit replacement"),
|
|
987
1131
|
bylines: z
|
|
988
1132
|
.array(contentBylineInputSchema)
|
|
989
1133
|
.optional()
|
|
@@ -1036,6 +1180,8 @@ export function createMcpServer(
|
|
|
1036
1180
|
translationOf: args.translationOf,
|
|
1037
1181
|
bylines: args.bylines,
|
|
1038
1182
|
taxonomies: args.taxonomies,
|
|
1183
|
+
migrateBlocks: args.migrateBlocks,
|
|
1184
|
+
replaceBlocks: args.replaceBlocks,
|
|
1039
1185
|
actor,
|
|
1040
1186
|
});
|
|
1041
1187
|
if (!result.success) return unwrap(result);
|
|
@@ -1064,6 +1210,8 @@ export function createMcpServer(
|
|
|
1064
1210
|
translationOf: args.translationOf,
|
|
1065
1211
|
bylines: args.bylines,
|
|
1066
1212
|
taxonomies: args.taxonomies,
|
|
1213
|
+
migrateBlocks: args.migrateBlocks,
|
|
1214
|
+
replaceBlocks: args.replaceBlocks,
|
|
1067
1215
|
actor,
|
|
1068
1216
|
}),
|
|
1069
1217
|
[args.collection],
|
|
@@ -1136,6 +1284,14 @@ export function createMcpServer(
|
|
|
1136
1284
|
.describe(
|
|
1137
1285
|
"Override the publication timestamp (ISO 8601). Requires content:publish_any permission. Pass null to clear. Useful for content migrations.",
|
|
1138
1286
|
),
|
|
1287
|
+
migrateBlocks: z
|
|
1288
|
+
.boolean()
|
|
1289
|
+
.optional()
|
|
1290
|
+
.describe("Allow existing blocks to migrate to their type's active version"),
|
|
1291
|
+
replaceBlocks: z
|
|
1292
|
+
.boolean()
|
|
1293
|
+
.optional()
|
|
1294
|
+
.describe("Treat an entirely keyless blocks array as an explicit replacement"),
|
|
1139
1295
|
_rev: z.string({ error: REV_MISSING_ERROR }).describe(REV_PARAM_DESCRIPTION),
|
|
1140
1296
|
}),
|
|
1141
1297
|
},
|
|
@@ -1194,6 +1350,8 @@ export function createMcpServer(
|
|
|
1194
1350
|
bylines: args.bylines,
|
|
1195
1351
|
taxonomies: args.taxonomies,
|
|
1196
1352
|
publishedAt: args.publishedAt,
|
|
1353
|
+
migrateBlocks: args.migrateBlocks,
|
|
1354
|
+
replaceBlocks: args.replaceBlocks,
|
|
1197
1355
|
_rev: args._rev,
|
|
1198
1356
|
});
|
|
1199
1357
|
if (!updateResult.success) return unwrap(updateResult);
|
|
@@ -1233,6 +1391,8 @@ export function createMcpServer(
|
|
|
1233
1391
|
bylines: args.bylines,
|
|
1234
1392
|
taxonomies: args.taxonomies,
|
|
1235
1393
|
publishedAt: args.publishedAt,
|
|
1394
|
+
migrateBlocks: args.migrateBlocks,
|
|
1395
|
+
replaceBlocks: args.replaceBlocks,
|
|
1236
1396
|
_rev: args._rev,
|
|
1237
1397
|
});
|
|
1238
1398
|
if (!updateResult.success) return unwrap(updateResult);
|
|
@@ -1260,6 +1420,8 @@ export function createMcpServer(
|
|
|
1260
1420
|
bylines: args.bylines,
|
|
1261
1421
|
taxonomies: args.taxonomies,
|
|
1262
1422
|
publishedAt: args.publishedAt,
|
|
1423
|
+
migrateBlocks: args.migrateBlocks,
|
|
1424
|
+
replaceBlocks: args.replaceBlocks,
|
|
1263
1425
|
_rev: args._rev,
|
|
1264
1426
|
});
|
|
1265
1427
|
if (result.liveContentChanged === false) return unwrap(result);
|
|
@@ -1665,10 +1827,21 @@ export function createMcpServer(
|
|
|
1665
1827
|
async (args, extra) => {
|
|
1666
1828
|
requireScope(extra, "content:write");
|
|
1667
1829
|
requireRole(extra, Role.CONTRIBUTOR);
|
|
1668
|
-
const
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1830
|
+
const { emdash, userId } = getExtra(extra);
|
|
1831
|
+
const existing = await emdash.handleContentGet(args.collection, args.id);
|
|
1832
|
+
if (!existing.success) return unwrap(existing);
|
|
1833
|
+
requireOwnership(
|
|
1834
|
+
extra,
|
|
1835
|
+
extractContentAuthorId(existing.data),
|
|
1836
|
+
"content:edit_own",
|
|
1837
|
+
"content:edit_any",
|
|
1838
|
+
);
|
|
1839
|
+
const resolvedId = extractContentId(existing.data) ?? args.id;
|
|
1840
|
+
return unwrapAndInvalidate(
|
|
1841
|
+
extra,
|
|
1842
|
+
await emdash.handleContentDuplicate(args.collection, resolvedId, userId),
|
|
1843
|
+
[args.collection],
|
|
1844
|
+
);
|
|
1672
1845
|
},
|
|
1673
1846
|
);
|
|
1674
1847
|
|
|
@@ -1925,7 +2098,8 @@ export function createMcpServer(
|
|
|
1925
2098
|
"Get detailed info about a collection including all field definitions. " +
|
|
1926
2099
|
"Fields describe the data model: name, type (string, text, number, " +
|
|
1927
2100
|
"boolean, datetime, portableText, image, reference, json, select, " +
|
|
1928
|
-
"multiSelect, slug), constraints, and validation rules.
|
|
2101
|
+
"multiSelect, slug, blocks), constraints, and validation rules. Blocks fields " +
|
|
2102
|
+
"include every allowed and retired block type version. Use this to " +
|
|
1929
2103
|
"understand what data content_create and content_update expect.",
|
|
1930
2104
|
inputSchema: z.object({
|
|
1931
2105
|
slug: z
|
|
@@ -1941,19 +2115,114 @@ export function createMcpServer(
|
|
|
1941
2115
|
requireRole(extra, Role.EDITOR);
|
|
1942
2116
|
const ec = getEmDash(extra);
|
|
1943
2117
|
try {
|
|
1944
|
-
const { SchemaRegistry } = await import("../schema/index.js");
|
|
2118
|
+
const { SchemaRegistry, expandCollectionBlockFields } = await import("../schema/index.js");
|
|
1945
2119
|
const registry = new SchemaRegistry(ec.db);
|
|
1946
2120
|
const collection = await registry.getCollectionWithFields(args.slug);
|
|
1947
2121
|
if (!collection) {
|
|
1948
2122
|
return respondError("NOT_FOUND", `Collection '${args.slug}' not found`);
|
|
1949
2123
|
}
|
|
1950
|
-
return jsonResult(collection);
|
|
2124
|
+
return jsonResult(await expandCollectionBlockFields(ec.db, collection));
|
|
1951
2125
|
} catch (error) {
|
|
1952
2126
|
return respondHandlerError(error, "SCHEMA_GET_ERROR");
|
|
1953
2127
|
}
|
|
1954
2128
|
},
|
|
1955
2129
|
);
|
|
1956
2130
|
|
|
2131
|
+
server.registerTool(
|
|
2132
|
+
"schema_list_block_types",
|
|
2133
|
+
{
|
|
2134
|
+
title: "List Block Types",
|
|
2135
|
+
description: "List every database-owned block type and all retained versions.",
|
|
2136
|
+
inputSchema: z.object({}),
|
|
2137
|
+
annotations: { readOnlyHint: true },
|
|
2138
|
+
},
|
|
2139
|
+
async (_args, extra) => {
|
|
2140
|
+
requireScope(extra, "schema:read");
|
|
2141
|
+
requireRole(extra, Role.EDITOR);
|
|
2142
|
+
const ec = getEmDash(extra);
|
|
2143
|
+
const { handleBlockTypeList } = await import("../api/handlers/block-types.js");
|
|
2144
|
+
return unwrap(await handleBlockTypeList(ec.db));
|
|
2145
|
+
},
|
|
2146
|
+
);
|
|
2147
|
+
|
|
2148
|
+
server.registerTool(
|
|
2149
|
+
"schema_get_block_type",
|
|
2150
|
+
{
|
|
2151
|
+
title: "Get Block Type",
|
|
2152
|
+
description: "Get one block type, including active, inactive, and historical versions.",
|
|
2153
|
+
inputSchema: z.object({ slug: z.string().describe("Block type slug") }),
|
|
2154
|
+
annotations: { readOnlyHint: true },
|
|
2155
|
+
},
|
|
2156
|
+
async (args, extra) => {
|
|
2157
|
+
requireScope(extra, "schema:read");
|
|
2158
|
+
requireRole(extra, Role.EDITOR);
|
|
2159
|
+
const ec = getEmDash(extra);
|
|
2160
|
+
const { handleBlockTypeGet } = await import("../api/handlers/block-types.js");
|
|
2161
|
+
return unwrap(await handleBlockTypeGet(ec.db, args.slug));
|
|
2162
|
+
},
|
|
2163
|
+
);
|
|
2164
|
+
|
|
2165
|
+
server.registerTool(
|
|
2166
|
+
"schema_create_block_type",
|
|
2167
|
+
{
|
|
2168
|
+
title: "Create Block Type",
|
|
2169
|
+
description: "Create a block type with active version 1.",
|
|
2170
|
+
inputSchema: z.object(createBlockTypeBody.shape),
|
|
2171
|
+
},
|
|
2172
|
+
async (args, extra) => {
|
|
2173
|
+
requireScope(extra, "schema:write");
|
|
2174
|
+
requireRole(extra, Role.ADMIN);
|
|
2175
|
+
const ec = getEmDash(extra);
|
|
2176
|
+
const { handleBlockTypeCreate } = await import("../api/handlers/block-types.js");
|
|
2177
|
+
return unwrap(await handleBlockTypeCreate(ec.db, args));
|
|
2178
|
+
},
|
|
2179
|
+
);
|
|
2180
|
+
|
|
2181
|
+
server.registerTool(
|
|
2182
|
+
"schema_update_block_type",
|
|
2183
|
+
{
|
|
2184
|
+
title: "Update Block Type",
|
|
2185
|
+
description:
|
|
2186
|
+
"Update presentation or compatible fields in place. Set breaking to create an inactive retained version.",
|
|
2187
|
+
inputSchema: z.object({ slug: z.string(), ...updateBlockTypeBody.shape }),
|
|
2188
|
+
},
|
|
2189
|
+
async (args, extra) => {
|
|
2190
|
+
requireScope(extra, "schema:write");
|
|
2191
|
+
requireRole(extra, Role.ADMIN);
|
|
2192
|
+
const ec = getEmDash(extra);
|
|
2193
|
+
const { slug, ...input } = args;
|
|
2194
|
+
const { handleBlockTypeUpdate } = await import("../api/handlers/block-types.js");
|
|
2195
|
+
return unwrap(await handleBlockTypeUpdate(ec.db, slug, input));
|
|
2196
|
+
},
|
|
2197
|
+
);
|
|
2198
|
+
|
|
2199
|
+
server.registerTool(
|
|
2200
|
+
"schema_activate_block_type_version",
|
|
2201
|
+
{
|
|
2202
|
+
title: "Activate Block Type Version",
|
|
2203
|
+
description: "Make a retained version the active version used by newly created blocks.",
|
|
2204
|
+
inputSchema: z.object({
|
|
2205
|
+
slug: z.string(),
|
|
2206
|
+
version: z.number().int().positive(),
|
|
2207
|
+
expectedFingerprint: z.string().min(1),
|
|
2208
|
+
}),
|
|
2209
|
+
},
|
|
2210
|
+
async (args, extra) => {
|
|
2211
|
+
requireScope(extra, "schema:write");
|
|
2212
|
+
requireRole(extra, Role.ADMIN);
|
|
2213
|
+
const ec = getEmDash(extra);
|
|
2214
|
+
const { handleBlockTypeVersionActivate } = await import("../api/handlers/block-types.js");
|
|
2215
|
+
return unwrap(
|
|
2216
|
+
await handleBlockTypeVersionActivate(
|
|
2217
|
+
ec.db,
|
|
2218
|
+
args.slug,
|
|
2219
|
+
args.version,
|
|
2220
|
+
args.expectedFingerprint,
|
|
2221
|
+
),
|
|
2222
|
+
);
|
|
2223
|
+
},
|
|
2224
|
+
);
|
|
2225
|
+
|
|
1957
2226
|
server.registerTool(
|
|
1958
2227
|
"schema_create_collection",
|
|
1959
2228
|
{
|
|
@@ -2084,7 +2353,7 @@ export function createMcpServer(
|
|
|
2084
2353
|
"database table. Field types: string (short text), text (long text), " +
|
|
2085
2354
|
"number (decimal), integer, boolean, datetime, select (single choice), " +
|
|
2086
2355
|
"multiSelect (multiple), portableText (rich text), image, file, " +
|
|
2087
|
-
"reference (link to another collection), json, slug (URL-safe id). " +
|
|
2356
|
+
"reference (link to another collection), json, slug (URL-safe id), or blocks. " +
|
|
2088
2357
|
"For select/multiSelect, provide choices in validation.options array.",
|
|
2089
2358
|
inputSchema: z.object({
|
|
2090
2359
|
collection: z.string().describe("Collection slug to add the field to"),
|
|
@@ -2109,6 +2378,7 @@ export function createMcpServer(
|
|
|
2109
2378
|
"reference",
|
|
2110
2379
|
"json",
|
|
2111
2380
|
"slug",
|
|
2381
|
+
"blocks",
|
|
2112
2382
|
])
|
|
2113
2383
|
.describe("Data type for this field"),
|
|
2114
2384
|
required: z.boolean().optional().describe("Whether the field is required (default false)"),
|
|
@@ -2125,6 +2395,12 @@ export function createMcpServer(
|
|
|
2125
2395
|
.array(z.string())
|
|
2126
2396
|
.optional()
|
|
2127
2397
|
.describe("Allowed values for select/multiSelect"),
|
|
2398
|
+
allowedTypes: z
|
|
2399
|
+
.array(z.string())
|
|
2400
|
+
.optional()
|
|
2401
|
+
.describe("Ordered block type slugs allowed by a blocks field"),
|
|
2402
|
+
minItems: z.number().int().min(0).optional(),
|
|
2403
|
+
maxItems: z.number().int().min(1).optional(),
|
|
2128
2404
|
})
|
|
2129
2405
|
.optional()
|
|
2130
2406
|
.describe("Validation constraints"),
|
|
@@ -2271,27 +2547,15 @@ export function createMcpServer(
|
|
|
2271
2547
|
server.registerTool(
|
|
2272
2548
|
"media_create",
|
|
2273
2549
|
{
|
|
2274
|
-
title: "
|
|
2550
|
+
title: "Confirm Signed Media Upload",
|
|
2275
2551
|
description:
|
|
2276
|
-
"
|
|
2277
|
-
"
|
|
2278
|
-
"
|
|
2279
|
-
"
|
|
2280
|
-
"media_list / media_get
|
|
2281
|
-
"file itself, use media_upload (base64 data or a public URL) instead.",
|
|
2552
|
+
"Confirm a file after uploading it with a signed URL obtained from " +
|
|
2553
|
+
"POST /_emdash/api/media/upload-url. `storageKey` must be the key returned " +
|
|
2554
|
+
"for the same user. Confirmation checks that the stored file exists and " +
|
|
2555
|
+
"matches the size fixed when the URL was issued, then makes it available " +
|
|
2556
|
+
"through media_list / media_get. To upload through MCP, use media_upload instead.",
|
|
2282
2557
|
inputSchema: z.object({
|
|
2283
|
-
|
|
2284
|
-
mimeType: z.string().describe("MIME type (e.g. 'image/png')"),
|
|
2285
|
-
storageKey: z.string().describe("Storage path/key the file was uploaded to"),
|
|
2286
|
-
size: z.number().int().nonnegative().optional().describe("File size in bytes"),
|
|
2287
|
-
width: z.number().int().positive().optional().describe("Image width in pixels"),
|
|
2288
|
-
height: z.number().int().positive().optional().describe("Image height in pixels"),
|
|
2289
|
-
contentHash: z.string().optional().describe("Hash of the file contents (for dedupe)"),
|
|
2290
|
-
blurhash: z.string().optional().describe("Blurhash for image placeholders"),
|
|
2291
|
-
dominantColor: z
|
|
2292
|
-
.string()
|
|
2293
|
-
.optional()
|
|
2294
|
-
.describe("Hex color string for the image's dominant color"),
|
|
2558
|
+
storageKey: z.string().describe("Storage key returned by the signed upload URL request"),
|
|
2295
2559
|
}),
|
|
2296
2560
|
},
|
|
2297
2561
|
async (args, extra) => {
|
|
@@ -2299,16 +2563,8 @@ export function createMcpServer(
|
|
|
2299
2563
|
requireRole(extra, Role.AUTHOR);
|
|
2300
2564
|
const { emdash, userId } = getExtra(extra);
|
|
2301
2565
|
return unwrap(
|
|
2302
|
-
await emdash.
|
|
2303
|
-
filename: args.filename,
|
|
2304
|
-
mimeType: args.mimeType,
|
|
2566
|
+
await emdash.handleMediaRegisterUpload({
|
|
2305
2567
|
storageKey: args.storageKey,
|
|
2306
|
-
size: args.size,
|
|
2307
|
-
width: args.width,
|
|
2308
|
-
height: args.height,
|
|
2309
|
-
contentHash: args.contentHash,
|
|
2310
|
-
blurhash: args.blurhash,
|
|
2311
|
-
dominantColor: args.dominantColor,
|
|
2312
2568
|
authorId: userId,
|
|
2313
2569
|
}),
|
|
2314
2570
|
);
|
|
@@ -2320,34 +2576,20 @@ export function createMcpServer(
|
|
|
2320
2576
|
{
|
|
2321
2577
|
title: "Upload Media",
|
|
2322
2578
|
description:
|
|
2323
|
-
"Upload a media file from base64-encoded data
|
|
2579
|
+
"Upload a media file from base64-encoded data and " +
|
|
2324
2580
|
"register it in the media library. Returns the media item with id, " +
|
|
2325
2581
|
"storageKey, and url — ready to reference from content fields (e.g. " +
|
|
2326
2582
|
"featured_image) via content_create / content_update. Uploads are " +
|
|
2327
2583
|
"deduplicated by content hash: re-uploading identical bytes returns " +
|
|
2328
|
-
"the existing item with deduplicated: true.
|
|
2329
|
-
"to a public http(s) host (SSRF-guarded). Subject to the global " +
|
|
2584
|
+
"the existing item with deduplicated: true. Subject to the global " +
|
|
2330
2585
|
"upload MIME allowlist and the configured maximum upload size.",
|
|
2331
2586
|
inputSchema: z.object({
|
|
2332
2587
|
filename: z.string().min(1).describe("Filename including extension (e.g. 'cover.png')"),
|
|
2333
|
-
base64: z
|
|
2334
|
-
.string()
|
|
2335
|
-
.optional()
|
|
2336
|
-
.describe("Base64-encoded file contents. Provide exactly one of base64 / url."),
|
|
2337
|
-
url: z
|
|
2338
|
-
.url()
|
|
2339
|
-
.optional()
|
|
2340
|
-
.describe(
|
|
2341
|
-
"Public http(s) URL to fetch the file from. Provide exactly one of base64 / url.",
|
|
2342
|
-
),
|
|
2588
|
+
base64: z.string().describe("Base64-encoded file contents."),
|
|
2343
2589
|
contentType: z
|
|
2344
2590
|
.string()
|
|
2345
2591
|
.regex(CONTENT_TYPE_RE, "Invalid content type")
|
|
2346
|
-
.
|
|
2347
|
-
.describe(
|
|
2348
|
-
"MIME type (e.g. 'image/png'). Required with base64; with url it " +
|
|
2349
|
-
"defaults to the response's Content-Type header.",
|
|
2350
|
-
),
|
|
2592
|
+
.describe("MIME type (e.g. 'image/png')."),
|
|
2351
2593
|
alt: z.string().optional().describe("Alt text for accessibility"),
|
|
2352
2594
|
}),
|
|
2353
2595
|
annotations: { destructiveHint: false },
|
|
@@ -2364,7 +2606,6 @@ export function createMcpServer(
|
|
|
2364
2606
|
await emdash.handleMediaUpload({
|
|
2365
2607
|
filename: args.filename,
|
|
2366
2608
|
base64: args.base64,
|
|
2367
|
-
url: args.url,
|
|
2368
2609
|
contentType: args.contentType,
|
|
2369
2610
|
alt: args.alt,
|
|
2370
2611
|
authorId: userId,
|
|
@@ -2620,12 +2861,13 @@ export function createMcpServer(
|
|
|
2620
2861
|
{
|
|
2621
2862
|
title: "Create Taxonomy Definition",
|
|
2622
2863
|
description:
|
|
2623
|
-
"Create a
|
|
2624
|
-
"
|
|
2625
|
-
"
|
|
2626
|
-
"
|
|
2627
|
-
"
|
|
2628
|
-
"
|
|
2864
|
+
"Create a taxonomy definition in one locale. `label` and `labelSingular` " +
|
|
2865
|
+
"belong to that locale; `hierarchical` and `collections` belong to the " +
|
|
2866
|
+
"taxonomy and are the same in every locale. `collections` names which " +
|
|
2867
|
+
"content types the taxonomy applies to. A definition for a name that " +
|
|
2868
|
+
"already exists in another locale joins that taxonomy and takes its " +
|
|
2869
|
+
"`hierarchical` and `collections`; passing different values is an error " +
|
|
2870
|
+
"(change them with taxonomy_update).",
|
|
2629
2871
|
inputSchema: z.object({
|
|
2630
2872
|
name: createTaxonomyDefBody.shape.name.describe(
|
|
2631
2873
|
"Taxonomy name (lowercase letters, numbers, underscores)",
|
|
@@ -2635,10 +2877,10 @@ export function createMcpServer(
|
|
|
2635
2877
|
"Singular form of the display name",
|
|
2636
2878
|
),
|
|
2637
2879
|
hierarchical: createTaxonomyDefBody.shape.hierarchical.describe(
|
|
2638
|
-
"Whether the taxonomy supports parent/child terms (defaults to false
|
|
2880
|
+
"Whether the taxonomy supports parent/child terms, in every locale (defaults to false; must match when the taxonomy exists in another locale)",
|
|
2639
2881
|
),
|
|
2640
2882
|
collections: createTaxonomyDefBody.shape.collections.describe(
|
|
2641
|
-
"Collection slugs this taxonomy applies to (defaults to []
|
|
2883
|
+
"Collection slugs this taxonomy applies to, in every locale (defaults to []; must match when the taxonomy exists in another locale)",
|
|
2642
2884
|
),
|
|
2643
2885
|
locale: z.string().optional().describe("Locale for this definition (e.g. 'fr-fr')"),
|
|
2644
2886
|
translationOf: z
|
|
@@ -2678,9 +2920,10 @@ export function createMcpServer(
|
|
|
2678
2920
|
title: "Update Taxonomy Definition",
|
|
2679
2921
|
description:
|
|
2680
2922
|
"Update an existing taxonomy definition. The taxonomy `name` cannot be " +
|
|
2681
|
-
"changed. Pass `locale` to update a specific translation
|
|
2682
|
-
"lowest matching locale is updated.
|
|
2683
|
-
"
|
|
2923
|
+
"changed. Pass `locale` to update a specific translation's `label` and " +
|
|
2924
|
+
"`labelSingular`; otherwise the lowest matching locale is updated. " +
|
|
2925
|
+
"`hierarchical` and `collections` change for every locale. Any field " +
|
|
2926
|
+
"may be omitted to leave it unchanged.",
|
|
2684
2927
|
inputSchema: z.object({
|
|
2685
2928
|
name: z.string().describe("Taxonomy name to update"),
|
|
2686
2929
|
label: updateTaxonomyDefBody.shape.label.describe("New display name"),
|
|
@@ -2688,10 +2931,10 @@ export function createMcpServer(
|
|
|
2688
2931
|
"New singular display name; pass null to clear",
|
|
2689
2932
|
),
|
|
2690
2933
|
hierarchical: updateTaxonomyDefBody.shape.hierarchical.describe(
|
|
2691
|
-
"Whether the taxonomy supports parent/child terms",
|
|
2934
|
+
"Whether the taxonomy supports parent/child terms, in every locale",
|
|
2692
2935
|
),
|
|
2693
2936
|
collections: updateTaxonomyDefBody.shape.collections.describe(
|
|
2694
|
-
"Collection slugs this taxonomy applies to",
|
|
2937
|
+
"Collection slugs this taxonomy applies to, in every locale",
|
|
2695
2938
|
),
|
|
2696
2939
|
locale: z.string().optional().describe("Locale of the definition to update"),
|
|
2697
2940
|
}),
|
|
@@ -2863,7 +3106,9 @@ export function createMcpServer(
|
|
|
2863
3106
|
translationOf: z
|
|
2864
3107
|
.string()
|
|
2865
3108
|
.optional()
|
|
2866
|
-
.describe(
|
|
3109
|
+
.describe(
|
|
3110
|
+
"Term id to join as a translation (same translation_group). The new term takes that term's parent and position; a different parentId moves the term in every locale",
|
|
3111
|
+
),
|
|
2867
3112
|
}),
|
|
2868
3113
|
},
|
|
2869
3114
|
async (args, extra) => {
|
|
@@ -3367,16 +3612,18 @@ export function createMcpServer(
|
|
|
3367
3612
|
"the full settings object after the update. To set a media reference " +
|
|
3368
3613
|
"(logo, favicon, seo.defaultOgImage), pass an object with `mediaId` " +
|
|
3369
3614
|
"(and optional `alt`) — the media item must already exist (use " +
|
|
3370
|
-
"media_create first).",
|
|
3615
|
+
"media_create first), or pass null to remove it.",
|
|
3371
3616
|
inputSchema: z.object({
|
|
3372
3617
|
title: z.string().optional().describe("Site title"),
|
|
3373
3618
|
tagline: z.string().optional().describe("Site tagline / short description"),
|
|
3374
3619
|
logo: settingsMediaReferenceSchema
|
|
3620
|
+
.nullable()
|
|
3375
3621
|
.optional()
|
|
3376
|
-
.describe("Logo media reference ({ mediaId, alt? })"),
|
|
3622
|
+
.describe("Logo media reference ({ mediaId, alt? }); null removes it"),
|
|
3377
3623
|
favicon: settingsMediaReferenceSchema
|
|
3624
|
+
.nullable()
|
|
3378
3625
|
.optional()
|
|
3379
|
-
.describe("Favicon media reference ({ mediaId, alt? })"),
|
|
3626
|
+
.describe("Favicon media reference ({ mediaId, alt? }); null removes it"),
|
|
3380
3627
|
url: z
|
|
3381
3628
|
.union([
|
|
3382
3629
|
z.url().refine((u) => HTTP_SCHEME_PATTERN.test(u), "URL must use http or https"),
|
|
@@ -3412,5 +3659,215 @@ export function createMcpServer(
|
|
|
3412
3659
|
},
|
|
3413
3660
|
);
|
|
3414
3661
|
|
|
3662
|
+
// =====================================================================
|
|
3663
|
+
// Site transfer tools
|
|
3664
|
+
// =====================================================================
|
|
3665
|
+
|
|
3666
|
+
server.registerTool(
|
|
3667
|
+
"site_transfer_capabilities",
|
|
3668
|
+
{
|
|
3669
|
+
title: "Get Site Transfer Capabilities",
|
|
3670
|
+
description:
|
|
3671
|
+
"Site package format versions, features, and limits this site supports, and whether " +
|
|
3672
|
+
"it can receive an import (its portable content is empty) with the reasons it cannot. " +
|
|
3673
|
+
"Requires any transfer scope (transfer:export, transfer:analyze, or transfer:execute).",
|
|
3674
|
+
inputSchema: z.object({}),
|
|
3675
|
+
annotations: { readOnlyHint: true },
|
|
3676
|
+
},
|
|
3677
|
+
async (_args, extra) => {
|
|
3678
|
+
requireRole(extra, Role.ADMIN);
|
|
3679
|
+
requireTransferScope(extra, "transfer:*");
|
|
3680
|
+
return unwrap(await transferCapabilities(transferContext(extra)));
|
|
3681
|
+
},
|
|
3682
|
+
);
|
|
3683
|
+
|
|
3684
|
+
server.registerTool(
|
|
3685
|
+
"site_export_start",
|
|
3686
|
+
{
|
|
3687
|
+
title: "Start Site Export",
|
|
3688
|
+
description:
|
|
3689
|
+
"Start exporting the whole site as a portable site package (schema, content, media, " +
|
|
3690
|
+
"settings; never users, credentials, or secrets). Returns the operation id and " +
|
|
3691
|
+
"status only; drive it with site_export_status. The package itself is downloaded " +
|
|
3692
|
+
"outside MCP, from the admin or the CLI. Requires the transfer:export scope. " +
|
|
3693
|
+
APPROVAL_FLOW_DESCRIPTION,
|
|
3694
|
+
inputSchema: z.object({
|
|
3695
|
+
comments: z.boolean().optional().describe("Include comments and reactions (default true)"),
|
|
3696
|
+
approvalId: transferApprovalIdSchema.optional(),
|
|
3697
|
+
}),
|
|
3698
|
+
},
|
|
3699
|
+
async (args, extra) => {
|
|
3700
|
+
requireRole(extra, Role.ADMIN);
|
|
3701
|
+
const scoped = transferScopeHeld(extra, "transfer:export");
|
|
3702
|
+
const { userId, tokenId } = getExtra(extra);
|
|
3703
|
+
return unwrap(
|
|
3704
|
+
await startExport(transferContext(extra), { userId, tokenId }, { ...args, scoped }),
|
|
3705
|
+
);
|
|
3706
|
+
},
|
|
3707
|
+
);
|
|
3708
|
+
|
|
3709
|
+
server.registerTool(
|
|
3710
|
+
"site_export_status",
|
|
3711
|
+
{
|
|
3712
|
+
title: "Get Site Export Status",
|
|
3713
|
+
description:
|
|
3714
|
+
"Report an export's state, stage, and progress, and once it is complete its package " +
|
|
3715
|
+
"digest and record and media totals. By default each call also runs one bounded " +
|
|
3716
|
+
"export step, so call it repeatedly until nextRequestInMs is null; pass advance: " +
|
|
3717
|
+
"false to only read. Requires the transfer:export scope, or the approval that " +
|
|
3718
|
+
"started this export (same token).",
|
|
3719
|
+
inputSchema: z.object({
|
|
3720
|
+
operationId: transferOperationIdSchema,
|
|
3721
|
+
advance: z
|
|
3722
|
+
.boolean()
|
|
3723
|
+
.optional()
|
|
3724
|
+
.describe("Run one bounded export step before reporting (default true)"),
|
|
3725
|
+
}),
|
|
3726
|
+
},
|
|
3727
|
+
async (args, extra) => {
|
|
3728
|
+
requireRole(extra, Role.ADMIN);
|
|
3729
|
+
await requireTransferAccess(extra, "transfer:export", "export", args.operationId);
|
|
3730
|
+
return unwrap(
|
|
3731
|
+
await exportStatus(transferContext(extra), {
|
|
3732
|
+
operationId: args.operationId,
|
|
3733
|
+
advance: args.advance ?? true,
|
|
3734
|
+
}),
|
|
3735
|
+
);
|
|
3736
|
+
},
|
|
3737
|
+
);
|
|
3738
|
+
|
|
3739
|
+
server.registerTool(
|
|
3740
|
+
"site_import_analyze",
|
|
3741
|
+
{
|
|
3742
|
+
title: "Analyze Site Import",
|
|
3743
|
+
description:
|
|
3744
|
+
"Validate an uploaded site package against this site and produce an import plan. " +
|
|
3745
|
+
"The package must already be uploaded over HTTP, from the admin or the CLI; MCP " +
|
|
3746
|
+
"never carries package bytes. Each call runs one bounded analysis step: repeat until " +
|
|
3747
|
+
"nextRequestInMs is null, then read plan (counts, principals with suggested user " +
|
|
3748
|
+
"mappings, warnings, blockers, packageDigest, planDigest). Pass decisions to map " +
|
|
3749
|
+
"principals or keep this site's title and tagline; that produces a new planDigest. " +
|
|
3750
|
+
"Principal emails are never returned. Writes no site content. Requires the " +
|
|
3751
|
+
"transfer:analyze scope.",
|
|
3752
|
+
inputSchema: z.object({
|
|
3753
|
+
operationId: transferOperationIdSchema,
|
|
3754
|
+
decisions: siteImportDecisionsInputSchema
|
|
3755
|
+
.optional()
|
|
3756
|
+
.describe(
|
|
3757
|
+
"principalMappings (principal id to target user id, or null to drop the " +
|
|
3758
|
+
"reference) and siteTitle / siteTagline ('package' or 'target'). Omitted " +
|
|
3759
|
+
"values keep the plan defaults.",
|
|
3760
|
+
),
|
|
3761
|
+
}),
|
|
3762
|
+
},
|
|
3763
|
+
async (args, extra) => {
|
|
3764
|
+
requireRole(extra, Role.ADMIN);
|
|
3765
|
+
requireTransferScope(extra, "transfer:analyze");
|
|
3766
|
+
return unwrap(await analyzeImport(transferContext(extra), args));
|
|
3767
|
+
},
|
|
3768
|
+
);
|
|
3769
|
+
|
|
3770
|
+
server.registerTool(
|
|
3771
|
+
"site_import_start",
|
|
3772
|
+
{
|
|
3773
|
+
title: "Start Site Import",
|
|
3774
|
+
description:
|
|
3775
|
+
"Start importing an analyzed package into this site. packageDigest and planDigest " +
|
|
3776
|
+
"must be the values from the latest site_import_analyze plan, which must have no " +
|
|
3777
|
+
"blockers. Returns the operation id and status; drive it with site_import_resume. " +
|
|
3778
|
+
"The site refuses ordinary content writes until the import completes or an admin " +
|
|
3779
|
+
"abandons it. Requires the transfer:execute scope. " +
|
|
3780
|
+
APPROVAL_FLOW_DESCRIPTION,
|
|
3781
|
+
inputSchema: z.object({
|
|
3782
|
+
operationId: transferOperationIdSchema,
|
|
3783
|
+
packageDigest: z
|
|
3784
|
+
.string()
|
|
3785
|
+
.regex(SHA256_DIGEST_PATTERN, "Expected sha256:<64 hex>")
|
|
3786
|
+
.describe("Package digest from the plan"),
|
|
3787
|
+
planDigest: z
|
|
3788
|
+
.string()
|
|
3789
|
+
.regex(SHA256_DIGEST_PATTERN, "Expected sha256:<64 hex>")
|
|
3790
|
+
.describe("Plan digest from the latest analysis"),
|
|
3791
|
+
approvalId: transferApprovalIdSchema.optional(),
|
|
3792
|
+
}),
|
|
3793
|
+
annotations: { destructiveHint: true },
|
|
3794
|
+
},
|
|
3795
|
+
async (args, extra) => {
|
|
3796
|
+
requireRole(extra, Role.ADMIN);
|
|
3797
|
+
const scoped = transferScopeHeld(extra, "transfer:execute");
|
|
3798
|
+
const { userId, tokenId } = getExtra(extra);
|
|
3799
|
+
return unwrap(
|
|
3800
|
+
await startImport(
|
|
3801
|
+
transferContext(extra),
|
|
3802
|
+
{ userId, tokenId },
|
|
3803
|
+
{
|
|
3804
|
+
operationId: args.operationId,
|
|
3805
|
+
packageDigest: transferDigest(args.packageDigest),
|
|
3806
|
+
planDigest: transferDigest(args.planDigest),
|
|
3807
|
+
approvalId: args.approvalId,
|
|
3808
|
+
scoped,
|
|
3809
|
+
},
|
|
3810
|
+
),
|
|
3811
|
+
);
|
|
3812
|
+
},
|
|
3813
|
+
);
|
|
3814
|
+
|
|
3815
|
+
server.registerTool(
|
|
3816
|
+
"site_import_status",
|
|
3817
|
+
{
|
|
3818
|
+
title: "Get Site Import Status",
|
|
3819
|
+
description:
|
|
3820
|
+
"Report an import's state, stage, progress, digests, and uploaded file counts. Does " +
|
|
3821
|
+
"not advance the import. Requires any transfer scope, or the approval that started " +
|
|
3822
|
+
"this import (same token).",
|
|
3823
|
+
inputSchema: z.object({ operationId: transferOperationIdSchema }),
|
|
3824
|
+
annotations: { readOnlyHint: true },
|
|
3825
|
+
},
|
|
3826
|
+
async (args, extra) => {
|
|
3827
|
+
requireRole(extra, Role.ADMIN);
|
|
3828
|
+
await requireTransferAccess(extra, "transfer:*", "import", args.operationId);
|
|
3829
|
+
return unwrap(await importStatus(transferContext(extra), args.operationId));
|
|
3830
|
+
},
|
|
3831
|
+
);
|
|
3832
|
+
|
|
3833
|
+
server.registerTool(
|
|
3834
|
+
"site_import_resume",
|
|
3835
|
+
{
|
|
3836
|
+
title: "Resume Site Import",
|
|
3837
|
+
description:
|
|
3838
|
+
"Run one bounded step of a started import and report its status. Call repeatedly " +
|
|
3839
|
+
"until nextRequestInMs is null; safe to repeat after a disconnect. Requires the " +
|
|
3840
|
+
"transfer:execute scope, or the approval that started this import (same token).",
|
|
3841
|
+
inputSchema: z.object({ operationId: transferOperationIdSchema }),
|
|
3842
|
+
},
|
|
3843
|
+
async (args, extra) => {
|
|
3844
|
+
requireRole(extra, Role.ADMIN);
|
|
3845
|
+
await requireTransferAccess(extra, "transfer:execute", "import", args.operationId);
|
|
3846
|
+
const { userId, tokenId } = getExtra(extra);
|
|
3847
|
+
return unwrap(
|
|
3848
|
+
await resumeImport(transferContext(extra), { userId, tokenId }, args.operationId),
|
|
3849
|
+
);
|
|
3850
|
+
},
|
|
3851
|
+
);
|
|
3852
|
+
|
|
3853
|
+
server.registerTool(
|
|
3854
|
+
"site_import_receipt",
|
|
3855
|
+
{
|
|
3856
|
+
title: "Get Site Import Receipt",
|
|
3857
|
+
description:
|
|
3858
|
+
"Return the verified receipt of a completed import: package and plan digests, " +
|
|
3859
|
+
"origin and target site ids, logical digest, record counts, warnings, and the " +
|
|
3860
|
+
"receipt's own digest. Requires any transfer scope, or the approval that started " +
|
|
3861
|
+
"this import (same token).",
|
|
3862
|
+
inputSchema: z.object({ operationId: transferOperationIdSchema }),
|
|
3863
|
+
annotations: { readOnlyHint: true },
|
|
3864
|
+
},
|
|
3865
|
+
async (args, extra) => {
|
|
3866
|
+
requireRole(extra, Role.ADMIN);
|
|
3867
|
+
await requireTransferAccess(extra, "transfer:*", "import", args.operationId);
|
|
3868
|
+
return unwrap(await importReceipt(transferContext(extra), args.operationId));
|
|
3869
|
+
},
|
|
3870
|
+
);
|
|
3871
|
+
|
|
3415
3872
|
return server;
|
|
3416
3873
|
}
|