emdash 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapters-BMyNSSZi.d.mts → adapters-34EN2eXO.d.mts} +26 -2
- package/dist/adapters-34EN2eXO.d.mts.map +1 -0
- package/dist/{allowed-origins-CG1pACtS.mjs → allowed-origins-DW7sYyqg.mjs} +2 -2
- package/dist/{allowed-origins-CG1pACtS.mjs.map → allowed-origins-DW7sYyqg.mjs.map} +1 -1
- package/dist/api/route-utils.d.mts +3 -3
- package/dist/api/route-utils.mjs +22 -21
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +6 -5
- package/dist/{api-D2hunekQ.mjs → api-DdAsirBe.mjs} +98 -407
- package/dist/api-DdAsirBe.mjs.map +1 -0
- package/dist/{api-tokens-CSND0i1z.mjs → api-tokens-CFXu8F_2.mjs} +2 -2
- package/dist/{api-tokens-CSND0i1z.mjs.map → api-tokens-CFXu8F_2.mjs.map} +1 -1
- package/dist/{apply-kwNEJW2l.mjs → apply-D5zfeD09.mjs} +131 -107
- package/dist/apply-D5zfeD09.mjs.map +1 -0
- package/dist/astro/index.d.mts +12 -12
- package/dist/astro/index.d.mts.map +1 -1
- package/dist/astro/index.mjs +93 -35
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +10 -10
- package/dist/astro/middleware/auth.mjs +8 -8
- package/dist/astro/middleware/media-usage-write-fence.d.mts +7 -0
- package/dist/astro/middleware/media-usage-write-fence.d.mts.map +1 -0
- package/dist/astro/middleware/media-usage-write-fence.mjs +35 -0
- package/dist/astro/middleware/media-usage-write-fence.mjs.map +1 -0
- package/dist/astro/middleware/redirect.d.mts.map +1 -1
- package/dist/astro/middleware/redirect.mjs +10 -7
- package/dist/astro/middleware/redirect.mjs.map +1 -1
- package/dist/astro/middleware/request-context.mjs +3 -3
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.d.mts +12 -11
- package/dist/astro/middleware.d.mts.map +1 -1
- package/dist/astro/middleware.mjs +1677 -156
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +9 -8
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +9 -8
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -6
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +12 -11
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -17
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -17
- package/dist/astro/routes/api/admin/bylines/index.mjs +17 -17
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -13
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -11
- package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/index.mjs +12 -11
- package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +5 -5
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +4 -4
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +36 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +36 -0
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +15 -14
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/index.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +37 -0
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts +8 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +37 -0
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -0
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -5
- package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -4
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +50 -42
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +51 -43
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -42
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -42
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +4 -4
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -42
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +9 -8
- package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
- package/dist/astro/routes/api/admin/users/index.mjs +9 -8
- package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -7
- package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
- package/dist/astro/routes/api/auth/invite/complete.mjs +13 -12
- package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.mjs +10 -9
- package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/register-options.mjs +12 -11
- package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/logout.mjs +4 -4
- package/dist/astro/routes/api/auth/magic-link/send.mjs +12 -11
- package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +4 -4
- package/dist/astro/routes/api/auth/me.mjs +10 -9
- package/dist/astro/routes/api/auth/me.mjs.map +1 -1
- package/dist/astro/routes/api/auth/mode.mjs +4 -4
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +9 -8
- package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/options.mjs +14 -13
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +12 -11
- package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +13 -12
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.mjs +13 -12
- package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.mjs +13 -12
- package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/request.mjs +12 -11
- package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/verify.mjs +3 -3
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -14
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +14 -13
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +13 -13
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +44 -31
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/trash.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
- package/dist/astro/routes/api/dashboard.mjs +10 -8
- package/dist/astro/routes/api/dashboard.mjs.map +1 -1
- package/dist/astro/routes/api/dev/emails.mjs +4 -4
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +18 -16
- package/dist/astro/routes/api/import/probe.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -5
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/execute.mjs +15 -15
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +10 -10
- package/dist/astro/routes/api/import/wordpress/media.mjs +14 -12
- package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +13 -12
- package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +14 -14
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +18 -16
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +28 -27
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +5 -5
- package/dist/astro/routes/api/mcp.d.mts.map +1 -1
- package/dist/astro/routes/api/mcp.mjs +174 -72
- package/dist/astro/routes/api/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +13 -11
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
- package/dist/astro/routes/api/media/_id_/usage.mjs +17 -16
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +16 -15
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.mjs +3 -3
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -4
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -4
- package/dist/astro/routes/api/media/providers/index.mjs +4 -4
- package/dist/astro/routes/api/media/upload-url.mjs +11 -10
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +18 -15
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/items.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_/translations.mjs +11 -11
- package/dist/astro/routes/api/menus/_name_.mjs +11 -11
- package/dist/astro/routes/api/menus/index.mjs +11 -11
- package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/code.mjs +10 -10
- package/dist/astro/routes/api/oauth/device/token.mjs +9 -9
- package/dist/astro/routes/api/oauth/register.mjs +4 -4
- package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -7
- package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -7
- package/dist/astro/routes/api/oauth/token.mjs +7 -7
- package/dist/astro/routes/api/openapi.json.mjs +152 -6
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +8 -7
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.mjs +13 -12
- package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/index.mjs +13 -12
- package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/index.mjs +18 -17
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/translations.mjs +13 -12
- package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +18 -17
- package/dist/astro/routes/api/relations/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +5 -5
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/reorder.mjs +47 -42
- package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +10 -9
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -42
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +47 -42
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +13 -13
- package/dist/astro/routes/api/search/index.mjs +12 -12
- package/dist/astro/routes/api/search/rebuild.mjs +13 -13
- package/dist/astro/routes/api/search/stats.mjs +8 -8
- package/dist/astro/routes/api/search/suggest.mjs +12 -12
- package/dist/astro/routes/api/sections/_slug_.mjs +12 -11
- package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/sections/index.mjs +12 -11
- package/dist/astro/routes/api/sections/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -6
- package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
- package/dist/astro/routes/api/settings/email.mjs +5 -5
- package/dist/astro/routes/api/settings.mjs +14 -13
- package/dist/astro/routes/api/settings.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
- package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin.mjs +13 -12
- package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-bypass.mjs +30 -28
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
- package/dist/astro/routes/api/setup/index.mjs +32 -30
- package/dist/astro/routes/api/setup/index.mjs.map +1 -1
- package/dist/astro/routes/api/setup/status.mjs +5 -5
- package/dist/astro/routes/api/snapshot.mjs +8 -8
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +18 -16
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts +8 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +46 -0
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_.d.mts +19 -0
- package/dist/astro/routes/api/taxonomies/_name_.d.mts.map +1 -0
- package/dist/astro/routes/api/taxonomies/_name_.mjs +88 -0
- package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -0
- package/dist/astro/routes/api/taxonomies/index.mjs +16 -15
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +6 -6
- package/dist/astro/routes/api/typegen.mjs +6 -6
- package/dist/astro/routes/api/well-known/auth.mjs +1 -1
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +10 -9
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_.mjs +7 -6
- package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/index.mjs +12 -11
- package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
- package/dist/astro/routes/api/widget-components.mjs +4 -4
- package/dist/astro/routes/robots.txt.mjs +7 -6
- package/dist/astro/routes/robots.txt.mjs.map +1 -1
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
- package/dist/astro/routes/sitemap.xml.mjs +8 -7
- package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
- package/dist/astro/types.d.mts +35 -17
- package/dist/astro/types.d.mts.map +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{authorize-qRhWQnel.mjs → authorize-1iFJzPaZ.mjs} +2 -2
- package/dist/{authorize-qRhWQnel.mjs.map → authorize-1iFJzPaZ.mjs.map} +1 -1
- package/dist/{backup-CtA6LDNw.mjs → backup-LHjIAVNP.mjs} +4 -4
- package/dist/{backup-CtA6LDNw.mjs.map → backup-LHjIAVNP.mjs.map} +1 -1
- package/dist/{base64-B-PsqheR.mjs → base64-CvLhUKQv.mjs} +1 -1
- package/dist/{base64-B-PsqheR.mjs.map → base64-CvLhUKQv.mjs.map} +1 -1
- package/dist/bundle-CBEXrBnb.mjs +663 -0
- package/dist/bundle-CBEXrBnb.mjs.map +1 -0
- package/dist/{byline-fields-CNc0Yq5i.mjs → byline-fields-C5S8wygO.mjs} +2 -2
- package/dist/{byline-fields-CNc0Yq5i.mjs.map → byline-fields-C5S8wygO.mjs.map} +1 -1
- package/dist/{byline-Cp6csL84.mjs → byline-pEcoDps8.mjs} +5 -5
- package/dist/{byline-Cp6csL84.mjs.map → byline-pEcoDps8.mjs.map} +1 -1
- package/dist/{byline-registry-ZkPKqEwC.mjs → byline-registry-DDun8sxh.mjs} +2 -2
- package/dist/{byline-registry-ZkPKqEwC.mjs.map → byline-registry-DDun8sxh.mjs.map} +1 -1
- package/dist/{bylines-CEj5CdT4.mjs → bylines-BWemdX2k.mjs} +7 -7
- package/dist/{bylines-CEj5CdT4.mjs.map → bylines-BWemdX2k.mjs.map} +1 -1
- package/dist/{bylines-cf-C9lmF.mjs → bylines-DJfSfXCL.mjs} +5 -5
- package/dist/{bylines-cf-C9lmF.mjs.map → bylines-DJfSfXCL.mjs.map} +1 -1
- package/dist/{cache-C9FptTFR.mjs → cache-CBJaDy_E.mjs} +3 -3
- package/dist/{cache-C9FptTFR.mjs.map → cache-CBJaDy_E.mjs.map} +1 -1
- package/dist/{challenge-store-D9VNKELo.mjs → challenge-store-CZyFVaad.mjs} +1 -1
- package/dist/{challenge-store-D9VNKELo.mjs.map → challenge-store-CZyFVaad.mjs.map} +1 -1
- package/dist/{chunks-DbYzib_k.mjs → chunks-DfPax1I0.mjs} +2 -2
- package/dist/{chunks-DbYzib_k.mjs.map → chunks-DfPax1I0.mjs.map} +1 -1
- package/dist/cli/index.mjs +176 -698
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +74 -4
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +25 -2
- package/dist/client/index.mjs.map +1 -1
- package/dist/collection-deletion-C8BugSGz.mjs +779 -0
- package/dist/collection-deletion-C8BugSGz.mjs.map +1 -0
- package/dist/{comment-BIkJ6Fil.mjs → comment-Dxlep6cE.mjs} +2 -2
- package/dist/{comment-BIkJ6Fil.mjs.map → comment-Dxlep6cE.mjs.map} +1 -1
- package/dist/{comment-reaction-D-laEceb.mjs → comment-reaction-D6qfHKBc.mjs} +2 -2
- package/dist/{comment-reaction-D-laEceb.mjs.map → comment-reaction-D6qfHKBc.mjs.map} +1 -1
- package/dist/{comments-0_w6KChA.mjs → comments-CTOuhTSX.mjs} +3 -3
- package/dist/{comments-0_w6KChA.mjs.map → comments-CTOuhTSX.mjs.map} +1 -1
- package/dist/{components-BPxrRjpE.mjs → components-CQy3lh9x.mjs} +1 -1
- package/dist/{components-BPxrRjpE.mjs.map → components-CQy3lh9x.mjs.map} +1 -1
- package/dist/{config-DyF3OKg_.mjs → config-C3EBstHi.mjs} +18 -2
- package/dist/config-C3EBstHi.mjs.map +1 -0
- package/dist/{content-CJ94NEx5.mjs → content-BNfwh7xX.mjs} +509 -78
- package/dist/content-BNfwh7xX.mjs.map +1 -0
- package/dist/content-list-query-DhQ84eVV.d.mts +26 -0
- package/dist/content-list-query-DhQ84eVV.d.mts.map +1 -0
- package/dist/content-refresh-DNERP4-f.mjs +2560 -0
- package/dist/content-refresh-DNERP4-f.mjs.map +1 -0
- package/dist/{context-C_1nrqnW.mjs → context-DRgOvSnW.mjs} +25 -17
- package/dist/context-DRgOvSnW.mjs.map +1 -0
- package/dist/{cron-DRV-UC4K.mjs → cron-Y9aLtgrA.mjs} +1 -1
- package/dist/{cron-DRV-UC4K.mjs.map → cron-Y9aLtgrA.mjs.map} +1 -1
- package/dist/{dashboard-DINnNVVU.mjs → dashboard-CB8J89rJ.mjs} +44 -10
- package/dist/dashboard-CB8J89rJ.mjs.map +1 -0
- package/dist/db/index.d.mts +4 -4
- package/dist/db/index.mjs +2 -2
- package/dist/db/index.mjs.map +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/{db-errors-CcWLaRiR.mjs → db-errors-Cl-sKYTm.mjs} +1 -1
- package/dist/{db-errors-CcWLaRiR.mjs.map → db-errors-Cl-sKYTm.mjs.map} +1 -1
- package/dist/{default-BD2FG0xV.mjs → default-DdDl3fxv.mjs} +1 -1
- package/dist/{default-BD2FG0xV.mjs.map → default-DdDl3fxv.mjs.map} +1 -1
- package/dist/{deferred-tasks-C-WRCcKo.d.mts → deferred-tasks-BMsa9F64.d.mts} +1 -1
- package/dist/{deferred-tasks-C-WRCcKo.d.mts.map → deferred-tasks-BMsa9F64.d.mts.map} +1 -1
- package/dist/{device-flow-CTqd8mud.mjs → device-flow-CaioYGK3.mjs} +4 -4
- package/dist/{device-flow-CTqd8mud.mjs.map → device-flow-CaioYGK3.mjs.map} +1 -1
- package/dist/dist-D_6CKR8z.mjs +810 -0
- package/dist/dist-D_6CKR8z.mjs.map +1 -0
- package/dist/{email-console-C6WdcWbL.mjs → email-console-BHNjIwiB.mjs} +1 -1
- package/dist/{email-console-C6WdcWbL.mjs.map → email-console-BHNjIwiB.mjs.map} +1 -1
- package/dist/{enrich-CFJJgxs_.mjs → enrich-_ySMEvEE.mjs} +2 -2
- package/dist/{enrich-CFJJgxs_.mjs.map → enrich-_ySMEvEE.mjs.map} +1 -1
- package/dist/{error-oh_9i6bR.mjs → error-DupyJZE2.mjs} +3 -3
- package/dist/{error-oh_9i6bR.mjs.map → error-DupyJZE2.mjs.map} +1 -1
- package/dist/{errors-BucQ8VYz.mjs → errors-CLUPm7aD.mjs} +14 -2
- package/dist/errors-CLUPm7aD.mjs.map +1 -0
- package/dist/{escape-CXps5F_v.mjs → escape-C_aLKP3H.mjs} +1 -1
- package/dist/{escape-CXps5F_v.mjs.map → escape-C_aLKP3H.mjs.map} +1 -1
- package/dist/{field-defs-cache-WD82dMQq.mjs → field-defs-cache-hg6QkjV9.mjs} +4 -4
- package/dist/{field-defs-cache-WD82dMQq.mjs.map → field-defs-cache-hg6QkjV9.mjs.map} +1 -1
- package/dist/{fts-manager-BITakW_R.mjs → fts-manager-CZ-5dVwJ.mjs} +76 -50
- package/dist/fts-manager-CZ-5dVwJ.mjs.map +1 -0
- package/dist/{hreflang-BaLCNcDx.d.mts → hreflang-D3Uehfv2.d.mts} +2 -2
- package/dist/{hreflang-BaLCNcDx.d.mts.map → hreflang-D3Uehfv2.d.mts.map} +1 -1
- package/dist/{hreflang-BdZuVBhL.mjs → hreflang-DNswoYsi.mjs} +7 -7
- package/dist/{hreflang-BdZuVBhL.mjs.map → hreflang-DNswoYsi.mjs.map} +1 -1
- package/dist/{import-C-9uqyT3.mjs → import-B41u8Rot.mjs} +5 -5
- package/dist/{import-C-9uqyT3.mjs.map → import-B41u8Rot.mjs.map} +1 -1
- package/dist/{index-M37iz29I.d.mts → index-C3Y-rsyN.d.mts} +226 -73
- package/dist/index-C3Y-rsyN.d.mts.map +1 -0
- package/dist/{index-MGw47uWq.d.mts → index-Cof4-Fab.d.mts} +5 -10
- package/dist/index-Cof4-Fab.d.mts.map +1 -0
- package/dist/index.d.mts +20 -19
- package/dist/index.mjs +73 -67
- package/dist/{init-lock-DJkX6Hto.mjs → init-lock-6b309ZrF.mjs} +1 -1
- package/dist/{init-lock-DJkX6Hto.mjs.map → init-lock-6b309ZrF.mjs.map} +1 -1
- package/dist/{load-DV1DZuUJ.mjs → load-DmvJrtxS.mjs} +2 -2
- package/dist/{load-DV1DZuUJ.mjs.map → load-DmvJrtxS.mjs.map} +1 -1
- package/dist/{loader-CGugY7Zl.mjs → loader-DLBqRiGP.mjs} +95 -53
- package/dist/loader-DLBqRiGP.mjs.map +1 -0
- package/dist/{manifest-schema-Da7kj23y.mjs → manifest-schema-BXbUAHod.mjs} +1 -1
- package/dist/{manifest-schema-Da7kj23y.mjs.map → manifest-schema-BXbUAHod.mjs.map} +1 -1
- package/dist/media/image-endpoint.mjs +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/index.mjs +3 -2
- package/dist/media/index.mjs.map +1 -1
- package/dist/media/local-runtime.d.mts +12 -12
- package/dist/media/local-runtime.mjs +6 -5
- package/dist/media/local-runtime.mjs.map +1 -1
- package/dist/{media-OhYL-7Io.mjs → media-BWWWb8kg.mjs} +92 -3
- package/dist/media-BWWWb8kg.mjs.map +1 -0
- package/dist/{media-BP7S-nHT.mjs → media-CzhAn2--.mjs} +2 -2
- package/dist/{media-BP7S-nHT.mjs.map → media-CzhAn2--.mjs.map} +1 -1
- package/dist/{media-allowlist-D-peH1H5.mjs → media-allowlist-BD6HhgXA.mjs} +14 -3
- package/dist/media-allowlist-BD6HhgXA.mjs.map +1 -0
- package/dist/{media-upload-DtrwU2B0.mjs → media-upload-9yas9zGH.mjs} +10 -8
- package/dist/{media-upload-DtrwU2B0.mjs.map → media-upload-9yas9zGH.mjs.map} +1 -1
- package/dist/{media-url-DYs_YLOx.mjs → media-url-BvoX88FA.mjs} +1 -1
- package/dist/{media-url-DYs_YLOx.mjs.map → media-url-BvoX88FA.mjs.map} +1 -1
- package/dist/{media-usage-BlxfTkN0.mjs → media-usage-De3qvwjc.mjs} +137 -60
- package/dist/media-usage-De3qvwjc.mjs.map +1 -0
- package/dist/media-usage-work-B9Bksh_b.mjs +152 -0
- package/dist/media-usage-work-B9Bksh_b.mjs.map +1 -0
- package/dist/media-usage-work-DrCbqBcl.mjs +424 -0
- package/dist/media-usage-work-DrCbqBcl.mjs.map +1 -0
- package/dist/media-usage-write-fence-aHEgN1zB.mjs +42 -0
- package/dist/media-usage-write-fence-aHEgN1zB.mjs.map +1 -0
- package/dist/{menus-Y54RDPIN.mjs → menus-CC-yn1F9.mjs} +351 -95
- package/dist/menus-CC-yn1F9.mjs.map +1 -0
- package/dist/{menus-BcQWxeXu.mjs → menus-fxvEDYE6.mjs} +3 -3
- package/dist/{menus-BcQWxeXu.mjs.map → menus-fxvEDYE6.mjs.map} +1 -1
- package/dist/{mode-BWyTBe3I.mjs → mode-Bpe-tNNy.mjs} +1 -1
- package/dist/{mode-BWyTBe3I.mjs.map → mode-Bpe-tNNy.mjs.map} +1 -1
- package/dist/{normalize-C-SHXmra.mjs → normalize-Bc-s_r-a.mjs} +1 -1
- package/dist/{normalize-C-SHXmra.mjs.map → normalize-Bc-s_r-a.mjs.map} +1 -1
- package/dist/{oauth-authorization-ClvktmrL.mjs → oauth-authorization-BXO1MKej.mjs} +4 -4
- package/dist/{oauth-authorization-ClvktmrL.mjs.map → oauth-authorization-BXO1MKej.mjs.map} +1 -1
- package/dist/{oauth-clients-8ao-U66l.mjs → oauth-clients-C_DNqtRu.mjs} +1 -1
- package/dist/{oauth-clients-8ao-U66l.mjs.map → oauth-clients-C_DNqtRu.mjs.map} +1 -1
- package/dist/{oauth-state-store-B1ofdTiQ.mjs → oauth-state-store-DwAxMtk4.mjs} +1 -1
- package/dist/{oauth-state-store-B1ofdTiQ.mjs.map → oauth-state-store-DwAxMtk4.mjs.map} +1 -1
- package/dist/{oauth-user-lookup-CscEuIiR.mjs → oauth-user-lookup-BxfZizdk.mjs} +1 -1
- package/dist/{oauth-user-lookup-CscEuIiR.mjs.map → oauth-user-lookup-BxfZizdk.mjs.map} +1 -1
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/{options-CA4eVX6P.d.mts → options-DRe1pIBL.d.mts} +4 -3
- package/dist/options-DRe1pIBL.d.mts.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/{parse-CJKNuewM.mjs → parse-DFbuc-Fh.mjs} +2 -2
- package/dist/{parse-CJKNuewM.mjs.map → parse-DFbuc-Fh.mjs.map} +1 -1
- package/dist/{passkey-config-D-zrzMJI.mjs → passkey-config-_2GOwwK8.mjs} +1 -1
- package/dist/{passkey-config-D-zrzMJI.mjs.map → passkey-config-_2GOwwK8.mjs.map} +1 -1
- package/dist/{placeholder-DaeNS-VG.d.mts → placeholder-CzW7Lshs.d.mts} +1 -1
- package/dist/{placeholder-DaeNS-VG.d.mts.map → placeholder-CzW7Lshs.d.mts.map} +1 -1
- package/dist/plugin-types.d.mts +8 -1
- package/dist/plugin-types.d.mts.map +1 -1
- package/dist/plugin-utils.d.mts +10 -10
- package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
- package/dist/plugins/adapt-sandbox-entry.mjs +7 -4
- package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
- package/dist/{portable-text-B_kqBmXB.mjs → portable-text-DhKbDAGr.mjs} +1 -1
- package/dist/{portable-text-B_kqBmXB.mjs.map → portable-text-DhKbDAGr.mjs.map} +1 -1
- package/dist/{preview-BU6PaLpM.mjs → preview-PW-nOnq4.mjs} +2 -2
- package/dist/{preview-BU6PaLpM.mjs.map → preview-PW-nOnq4.mjs.map} +1 -1
- package/dist/{public-url-Ox9oOlgp.mjs → public-url-CWoFhQT8.mjs} +1 -1
- package/dist/{public-url-Ox9oOlgp.mjs.map → public-url-CWoFhQT8.mjs.map} +1 -1
- package/dist/{query-C5w7PsRQ.mjs → query-BgjfiLUQ.mjs} +31 -49
- package/dist/query-BgjfiLUQ.mjs.map +1 -0
- package/dist/{query-rC9HKv1N.mjs → query-vgZNwIhh.mjs} +3 -3
- package/dist/{query-rC9HKv1N.mjs.map → query-vgZNwIhh.mjs.map} +1 -1
- package/dist/{rate-limit-kug6q99V.mjs → rate-limit-L5anykgo.mjs} +2 -2
- package/dist/{rate-limit-kug6q99V.mjs.map → rate-limit-L5anykgo.mjs.map} +1 -1
- package/dist/{redirect-DIJxXKOG.mjs → redirect-COsS6SWJ.mjs} +2 -2
- package/dist/{redirect-DIJxXKOG.mjs.map → redirect-COsS6SWJ.mjs.map} +1 -1
- package/dist/{redirect-Egf2R9yP.mjs → redirect-KBNE3UEs.mjs} +1 -1
- package/dist/{redirect-Egf2R9yP.mjs.map → redirect-KBNE3UEs.mjs.map} +1 -1
- package/dist/{redirects-Bzm812bY.mjs → redirects-CufRQt0Q.mjs} +4 -4
- package/dist/{redirects-Bzm812bY.mjs.map → redirects-CufRQt0Q.mjs.map} +1 -1
- package/dist/{redirects-G8wAhWAf.mjs → redirects-cV9g7V-0.mjs} +133 -14
- package/dist/redirects-cV9g7V-0.mjs.map +1 -0
- package/dist/registry-C581V4TP.mjs +1275 -0
- package/dist/registry-C581V4TP.mjs.map +1 -0
- package/dist/{relation-Cbe3Sd3m.mjs → relation-DtmAQH7s.mjs} +3 -3
- package/dist/{relation-Cbe3Sd3m.mjs.map → relation-DtmAQH7s.mjs.map} +1 -1
- package/dist/{relations-Bw_E1TXo.mjs → relations-BBApI4e2.mjs} +3 -3
- package/dist/{relations-Bw_E1TXo.mjs.map → relations-BBApI4e2.mjs.map} +1 -1
- package/dist/{relations-qHwpUe66.mjs → relations-DICSyfsh.mjs} +6 -6
- package/dist/{relations-qHwpUe66.mjs.map → relations-DICSyfsh.mjs.map} +1 -1
- package/dist/{relations-G2ta7GIl.d.mts → relations-DItI3MN9.d.mts} +369 -35
- package/dist/relations-DItI3MN9.d.mts.map +1 -0
- package/dist/request-context.d.mts +1 -1
- package/dist/{request-meta-Df-jFbAd.mjs → request-meta-DgZJh3zG.mjs} +2 -2
- package/dist/{request-meta-Df-jFbAd.mjs.map → request-meta-DgZJh3zG.mjs.map} +1 -1
- package/dist/{resolve-DZzG4HqM.mjs → resolve-DOhVEvty.mjs} +2 -2
- package/dist/{resolve-DZzG4HqM.mjs.map → resolve-DOhVEvty.mjs.map} +1 -1
- package/dist/{runner-BFTrkYhu.mjs → runner-BiDvq5dv.mjs} +1157 -254
- package/dist/runner-BiDvq5dv.mjs.map +1 -0
- package/dist/{runner-BaADli8l.d.mts → runner-CgQbELYC.d.mts} +2 -2
- package/dist/{runner-BaADli8l.d.mts.map → runner-CgQbELYC.d.mts.map} +1 -1
- package/dist/runtime.d.mts +11 -11
- package/dist/runtime.mjs +4 -3
- package/dist/runtime.mjs.map +1 -1
- package/dist/{schema-CiQXr6_F.mjs → schema-BFyTg38T.mjs} +3 -3
- package/dist/{schema-CiQXr6_F.mjs.map → schema-BFyTg38T.mjs.map} +1 -1
- package/dist/schema-CeQSNwB3.mjs +390 -0
- package/dist/schema-CeQSNwB3.mjs.map +1 -0
- package/dist/{scopes-CNJVT5i5.mjs → scopes-BVeuhGBE.mjs} +3 -3
- package/dist/{scopes-CNJVT5i5.mjs.map → scopes-BVeuhGBE.mjs.map} +1 -1
- package/dist/{search-FZhx5dDU.mjs → search-BpuPKZb0.mjs} +25 -15
- package/dist/search-BpuPKZb0.mjs.map +1 -0
- package/dist/{secrets-DLd8RXee.mjs → secrets-dtYs2hDo.mjs} +3 -3
- package/dist/{secrets-DLd8RXee.mjs.map → secrets-dtYs2hDo.mjs.map} +1 -1
- package/dist/{sections-BrIrMUCn.mjs → sections-COctk6hf.mjs} +3 -3
- package/dist/{sections-BrIrMUCn.mjs.map → sections-COctk6hf.mjs.map} +1 -1
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +24 -22
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +16 -15
- package/dist/seo/index.mjs.map +1 -1
- package/dist/{seo-CobNfOvb.mjs → seo-AFpVvTqr.mjs} +5 -3
- package/dist/seo-AFpVvTqr.mjs.map +1 -0
- package/dist/{seo-DTHRntNC.mjs → seo-CvDxfvFb.mjs} +2 -2
- package/dist/{seo-DTHRntNC.mjs.map → seo-CvDxfvFb.mjs.map} +1 -1
- package/dist/{service-B-pYGPgR.mjs → service-xMiMSTsR.mjs} +3 -3
- package/dist/{service-B-pYGPgR.mjs.map → service-xMiMSTsR.mjs.map} +1 -1
- package/dist/{session-user-BvM9-zNl.mjs → session-user-BzVemLkw.mjs} +1 -1
- package/dist/{session-user-BvM9-zNl.mjs.map → session-user-BzVemLkw.mjs.map} +1 -1
- package/dist/{settings-kJhGiQ4z.mjs → settings-B372MV0p.mjs} +4 -4
- package/dist/{settings-kJhGiQ4z.mjs.map → settings-B372MV0p.mjs.map} +1 -1
- package/dist/{settings-DPHau-WH.mjs → settings-BE9aqn_9.mjs} +3 -3
- package/dist/{settings-DPHau-WH.mjs.map → settings-BE9aqn_9.mjs.map} +1 -1
- package/dist/{setup-complete-u50Qm8rY.mjs → setup-complete-DF7TAfD5.mjs} +1 -1
- package/dist/{setup-complete-u50Qm8rY.mjs.map → setup-complete-DF7TAfD5.mjs.map} +1 -1
- package/dist/{setup-nonce-DCjiiOD2.mjs → setup-nonce-Do-U_cg9.mjs} +1 -1
- package/dist/{setup-nonce-DCjiiOD2.mjs.map → setup-nonce-Do-U_cg9.mjs.map} +1 -1
- package/dist/{single-flight-cache-DW3w11Pu.mjs → single-flight-cache-B0eLKS6K.mjs} +2 -2
- package/dist/{single-flight-cache-DW3w11Pu.mjs.map → single-flight-cache-B0eLKS6K.mjs.map} +1 -1
- package/dist/{site-url-I-lJ5kma.mjs → site-url-Bowsi9T-.mjs} +2 -2
- package/dist/{site-url-I-lJ5kma.mjs.map → site-url-Bowsi9T-.mjs.map} +1 -1
- package/dist/slugify-B994zkXC.mjs +17 -0
- package/dist/slugify-B994zkXC.mjs.map +1 -0
- package/dist/{snapshot-I_fjLDaD.mjs → snapshot-B5h6aPMh.mjs} +1 -1
- package/dist/{snapshot-I_fjLDaD.mjs.map → snapshot-B5h6aPMh.mjs.map} +1 -1
- package/dist/{ssrf-CTa6v21i.mjs → ssrf-Cpvg_n3A.mjs} +1 -1
- package/dist/{ssrf-CTa6v21i.mjs.map → ssrf-Cpvg_n3A.mjs.map} +1 -1
- package/dist/{state-CQvoefYP.mjs → state-DYwPue40.mjs} +1 -1
- package/dist/{state-CQvoefYP.mjs.map → state-DYwPue40.mjs.map} +1 -1
- package/dist/{status-CIsmlC1E.mjs → status-CWVYpbD8.mjs} +1 -1
- package/dist/{status-CIsmlC1E.mjs.map → status-CWVYpbD8.mjs.map} +1 -1
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/local.mjs +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/{taxonomies-CLN1N92E.mjs → taxonomies-B0o9ExNV.mjs} +75 -64
- package/dist/taxonomies-B0o9ExNV.mjs.map +1 -0
- package/dist/{taxonomies-CKuaZER5.mjs → taxonomies-Dk3MAklL.mjs} +280 -56
- package/dist/taxonomies-Dk3MAklL.mjs.map +1 -0
- package/dist/{taxonomy-pOrB2kZe.mjs → taxonomy-CPeM8d2o.mjs} +131 -78
- package/dist/taxonomy-CPeM8d2o.mjs.map +1 -0
- package/dist/{tokens-DagaJGK8.mjs → tokens-C39klX8R.mjs} +2 -2
- package/dist/{tokens-DagaJGK8.mjs.map → tokens-C39klX8R.mjs.map} +1 -1
- package/dist/{transport-DVsa5YYo.mjs → transport--CfOflrp.mjs} +1 -1
- package/dist/{transport-DVsa5YYo.mjs.map → transport--CfOflrp.mjs.map} +1 -1
- package/dist/{transport-CAwTaTp_.d.mts → transport-B_rfeU-a.d.mts} +1 -1
- package/dist/{transport-CAwTaTp_.d.mts.map → transport-B_rfeU-a.d.mts.map} +1 -1
- package/dist/{trusted-proxy-D20_7fyX.mjs → trusted-proxy-CEVekpby.mjs} +1 -1
- package/dist/{trusted-proxy-D20_7fyX.mjs.map → trusted-proxy-CEVekpby.mjs.map} +1 -1
- package/dist/{types-NBI3rF-_.mjs → types-75KIqzL9.mjs} +18 -2
- package/dist/types-75KIqzL9.mjs.map +1 -0
- package/dist/{types-CbUcuxxc.d.mts → types-BPuloofb.d.mts} +1 -1
- package/dist/{types-CbUcuxxc.d.mts.map → types-BPuloofb.d.mts.map} +1 -1
- package/dist/{types-BjxTKxrZ.mjs → types-BW1syrlw.mjs} +1 -1
- package/dist/{types-BjxTKxrZ.mjs.map → types-BW1syrlw.mjs.map} +1 -1
- package/dist/{types-BnFP1M3J.d.mts → types-C3_AbkDP.d.mts} +32 -10
- package/dist/types-C3_AbkDP.d.mts.map +1 -0
- package/dist/{types-Dc4ntQjQ.d.mts → types-CAGdePf3.d.mts} +124 -1
- package/dist/types-CAGdePf3.d.mts.map +1 -0
- package/dist/{types-DLG4IFEQ.d.mts → types-CFUfyt1s.d.mts} +1 -1
- package/dist/{types-DLG4IFEQ.d.mts.map → types-CFUfyt1s.d.mts.map} +1 -1
- package/dist/{types-LoagAGzH.d.mts → types-CPx2lIGo.d.mts} +1 -1
- package/dist/{types-LoagAGzH.d.mts.map → types-CPx2lIGo.d.mts.map} +1 -1
- package/dist/{types-Cd8iuS1J.mjs → types-CQPWhPxE.mjs} +9 -12
- package/dist/types-CQPWhPxE.mjs.map +1 -0
- package/dist/{types-Cz8hNch2.d.mts → types-Cs-TFLNf.d.mts} +25 -5
- package/dist/types-Cs-TFLNf.d.mts.map +1 -0
- package/dist/types-CtzytVXn.mjs.map +1 -1
- package/dist/{types-BGWPMiBO.d.mts → types-D4_1Ga4L.d.mts} +44 -5
- package/dist/types-D4_1Ga4L.d.mts.map +1 -0
- package/dist/{types-C8oz_ayJ.d.mts → types-DefV3OiO.d.mts} +1 -1
- package/dist/{types-C8oz_ayJ.d.mts.map → types-DefV3OiO.d.mts.map} +1 -1
- package/dist/{types-BK6U01Ro.d.mts → types-X0MThr7x.d.mts} +1 -1
- package/dist/{types-BK6U01Ro.d.mts.map → types-X0MThr7x.d.mts.map} +1 -1
- package/dist/{upload-attempts-D8QAFLUJ.mjs → upload-attempts-hlne3iA1.mjs} +1 -1
- package/dist/{upload-attempts-D8QAFLUJ.mjs.map → upload-attempts-hlne3iA1.mjs.map} +1 -1
- package/dist/url-pattern-BHS0V5Ng.mjs +33 -0
- package/dist/url-pattern-BHS0V5Ng.mjs.map +1 -0
- package/dist/{user-DBrq4UVq.mjs → user-sHgJ62SP.mjs} +3 -3
- package/dist/{user-DBrq4UVq.mjs.map → user-sHgJ62SP.mjs.map} +1 -1
- package/dist/{utils-hLzi_2Fn.mjs → utils-D4vD_Y98.mjs} +3 -3
- package/dist/{utils-hLzi_2Fn.mjs.map → utils-D4vD_Y98.mjs.map} +1 -1
- package/dist/{validate-mKo3RxBM.mjs → validate-BkqIG_Uj.mjs} +24 -5
- package/dist/validate-BkqIG_Uj.mjs.map +1 -0
- package/dist/{validate-C3oSmA7F.d.mts → validate-DeGtBN84.d.mts} +15 -7
- package/dist/validate-DeGtBN84.d.mts.map +1 -0
- package/dist/{validation-BgpucsvF.mjs → validation-CiJb_X5o.mjs} +11 -10
- package/dist/{validation-BgpucsvF.mjs.map → validation-CiJb_X5o.mjs.map} +1 -1
- package/dist/version-x0NjTScG.mjs +7 -0
- package/dist/{version-C4PnpmoV.mjs.map → version-x0NjTScG.mjs.map} +1 -1
- package/dist/{widgets-CJJtkiKh.mjs → widgets-Cwzvww0W.mjs} +3 -3
- package/dist/{widgets-CJJtkiKh.mjs.map → widgets-Cwzvww0W.mjs.map} +1 -1
- package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts → wxr-taxonomies-CmC0ZsDr.d.mts} +1 -1
- package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts.map → wxr-taxonomies-CmC0ZsDr.d.mts.map} +1 -1
- package/dist/{wxr-taxonomies-9PPSy8X6.mjs → wxr-taxonomies-QZjWxjyk.mjs} +13 -32
- package/dist/{wxr-taxonomies-9PPSy8X6.mjs.map → wxr-taxonomies-QZjWxjyk.mjs.map} +1 -1
- package/dist/{zod-generator-CG64Hnbh.mjs → zod-generator-D11MhxG4.mjs} +52 -5
- package/dist/zod-generator-D11MhxG4.mjs.map +1 -0
- package/package.json +16 -8
- package/src/api/errors.ts +12 -0
- package/src/api/handlers/content.ts +127 -29
- package/src/api/handlers/dashboard.ts +12 -2
- package/src/api/handlers/index.ts +16 -0
- package/src/api/handlers/manifest.ts +2 -0
- package/src/api/handlers/media-allowlist.ts +13 -2
- package/src/api/handlers/media-usage-work.ts +188 -0
- package/src/api/handlers/media-usage.ts +5 -3
- package/src/api/handlers/schema.ts +9 -3
- package/src/api/handlers/seo.ts +5 -2
- package/src/api/handlers/taxonomies.ts +345 -82
- package/src/api/media-usage-write-fence.ts +64 -0
- package/src/api/openapi/document.ts +199 -0
- package/src/api/schemas/common.ts +3 -1
- package/src/api/schemas/content.ts +122 -1
- package/src/api/schemas/media-usage.ts +133 -0
- package/src/api/schemas/schema.ts +78 -3
- package/src/api/schemas/taxonomies.ts +40 -8
- package/src/api/types.ts +1 -0
- package/src/astro/integration/index.ts +55 -42
- package/src/astro/integration/routes.ts +34 -4
- package/src/astro/integration/runtime.ts +15 -0
- package/src/astro/integration/virtual-modules.ts +25 -1
- package/src/astro/integration/vite-config.ts +16 -1
- package/src/astro/middleware/media-usage-write-fence.ts +30 -0
- package/src/astro/middleware/redirect.ts +12 -2
- package/src/astro/middleware.ts +75 -8
- package/src/astro/routes/api/admin/media-usage/collection-deletions/index.ts +22 -0
- package/src/astro/routes/api/admin/media-usage/collection-deletions/retry.ts +22 -0
- package/src/astro/routes/api/admin/media-usage/work/index.ts +26 -0
- package/src/astro/routes/api/admin/media-usage/work/retry.ts +26 -0
- package/src/astro/routes/api/admin/plugins/[id]/disable.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/enable.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +4 -0
- package/src/astro/routes/api/admin/plugins/[id]/update.ts +4 -0
- package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +4 -0
- package/src/astro/routes/api/admin/plugins/registry/install.ts +4 -0
- package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +67 -31
- package/src/astro/routes/api/import/wordpress/execute.ts +3 -10
- package/src/astro/routes/api/mcp.ts +1 -0
- package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +7 -1
- package/src/astro/routes/api/schema/collections/[slug]/index.ts +1 -7
- package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +1 -0
- package/src/astro/routes/api/taxonomies/[name]/translations.ts +48 -0
- package/src/astro/routes/api/taxonomies/[name].ts +102 -0
- package/src/astro/types.ts +25 -4
- package/src/cleanup.ts +6 -12
- package/src/cli/commands/doctor.ts +193 -6
- package/src/cli/commands/export-seed.ts +4 -1
- package/src/client/index.ts +119 -0
- package/src/components/Block.astro +12 -0
- package/src/components/InlinePortableTextEditor.tsx +89 -1
- package/src/content/converters/mark-safety.ts +120 -0
- package/src/content/converters/portable-text-to-prosemirror.ts +25 -16
- package/src/content/converters/prosemirror-to-portable-text.ts +12 -2
- package/src/content-list-query.ts +29 -0
- package/src/database/migrations/060_collection_admin_config.ts +16 -0
- package/src/database/migrations/061_media_usage_cleanup.ts +77 -0
- package/src/database/migrations/062_media_usage_cleanup_fence.ts +295 -0
- package/src/database/migrations/063_media_usage_incremental_work.ts +397 -0
- package/src/database/migrations/064_fts_plain_text.ts +253 -0
- package/src/database/migrations/065_media_usage_collection_deletion.ts +85 -0
- package/src/database/migrations/066_media_usage_reconciliation.ts +115 -0
- package/src/database/migrations/067_indexed_content_fields.ts +39 -0
- package/src/database/migrations/068_content_taxonomy_entry_groups.ts +61 -0
- package/src/database/migrations/069_collection_title_date_fields.ts +45 -0
- package/src/database/migrations/070_collection_routable.ts +18 -0
- package/src/database/migrations/runner.ts +22 -0
- package/src/database/repositories/content.ts +861 -96
- package/src/database/repositories/media-usage-work.ts +848 -0
- package/src/database/repositories/media-usage.ts +1502 -138
- package/src/database/repositories/revision.ts +17 -6
- package/src/database/repositories/taxonomy.ts +234 -103
- package/src/database/repositories/types.ts +51 -2
- package/src/database/types.ts +134 -16
- package/src/db/adapters.ts +28 -0
- package/src/db/index.ts +3 -0
- package/src/emdash-runtime.ts +227 -20
- package/src/fields/file.ts +7 -4
- package/src/fields/image.ts +8 -1
- package/src/fields/types.ts +18 -5
- package/src/i18n/config.ts +32 -0
- package/src/i18n/repair-locale-casing.ts +0 -14
- package/src/i18n/taxonomy-locale-diagnostic.ts +47 -0
- package/src/import/wxr-taxonomies.ts +7 -47
- package/src/index.ts +25 -2
- package/src/loader.ts +119 -65
- package/src/mcp/server.ts +242 -34
- package/src/media/usage/activation.ts +626 -0
- package/src/media/usage/capture-triggers.ts +543 -0
- package/src/media/usage/cleanup.ts +305 -0
- package/src/media/usage/collection-deletion-processor.ts +356 -0
- package/src/media/usage/collection-deletion.ts +836 -0
- package/src/media/usage/content-fields.ts +40 -3
- package/src/media/usage/content-refresh.ts +356 -47
- package/src/media/usage/content-repair.ts +180 -61
- package/src/media/usage/content-snapshots.ts +85 -105
- package/src/media/usage/projection-fingerprint.ts +129 -0
- package/src/media/usage/reconciliation-processor.ts +372 -0
- package/src/media/usage/reconciliation.ts +1117 -0
- package/src/media/usage/source-key.ts +4 -0
- package/src/media/usage/types.ts +2 -0
- package/src/media/usage/work-processor.ts +248 -0
- package/src/menus/index.ts +246 -141
- package/src/plugin-types.ts +8 -0
- package/src/plugins/adapt-sandbox-entry.ts +24 -5
- package/src/plugins/context.ts +24 -7
- package/src/plugins/index.ts +9 -0
- package/src/plugins/routes.ts +43 -1
- package/src/plugins/sandbox/index.ts +10 -1
- package/src/plugins/sandbox/types.ts +78 -1
- package/src/plugins/scheduler/node.ts +13 -1
- package/src/plugins/scheduler/types.ts +2 -0
- package/src/plugins/types.ts +39 -2
- package/src/query.ts +29 -37
- package/src/scheduler-health.ts +46 -0
- package/src/schema/registry.ts +777 -255
- package/src/schema/types.ts +50 -8
- package/src/schema/url-pattern.ts +33 -0
- package/src/schema/zod-generator.ts +77 -5
- package/src/search/fts-manager.ts +117 -76
- package/src/search/query.ts +32 -11
- package/src/search/types.ts +2 -0
- package/src/seed/apply.ts +68 -15
- package/src/seed/types.ts +11 -3
- package/src/seed/validate.ts +52 -2
- package/src/taxonomies/index.ts +77 -75
- package/src/taxonomies/term-counts.ts +21 -8
- package/src/utils/slugify.ts +1 -29
- package/src/virtual-modules.d.ts +16 -0
- package/dist/adapters-BMyNSSZi.d.mts.map +0 -1
- package/dist/api-D2hunekQ.mjs.map +0 -1
- package/dist/apply-kwNEJW2l.mjs.map +0 -1
- package/dist/config-DyF3OKg_.mjs.map +0 -1
- package/dist/content-CJ94NEx5.mjs.map +0 -1
- package/dist/content-refresh-Xw7aKmou.mjs +0 -1629
- package/dist/content-refresh-Xw7aKmou.mjs.map +0 -1
- package/dist/context-C_1nrqnW.mjs.map +0 -1
- package/dist/dashboard-DINnNVVU.mjs.map +0 -1
- package/dist/errors-BucQ8VYz.mjs.map +0 -1
- package/dist/fts-manager-BITakW_R.mjs.map +0 -1
- package/dist/index-M37iz29I.d.mts.map +0 -1
- package/dist/index-MGw47uWq.d.mts.map +0 -1
- package/dist/loader-CGugY7Zl.mjs.map +0 -1
- package/dist/media-OhYL-7Io.mjs.map +0 -1
- package/dist/media-allowlist-D-peH1H5.mjs.map +0 -1
- package/dist/media-usage-BlxfTkN0.mjs.map +0 -1
- package/dist/menus-Y54RDPIN.mjs.map +0 -1
- package/dist/options-CA4eVX6P.d.mts.map +0 -1
- package/dist/query-C5w7PsRQ.mjs.map +0 -1
- package/dist/redirects-G8wAhWAf.mjs.map +0 -1
- package/dist/registry-Dbodb4Uo.mjs +0 -840
- package/dist/registry-Dbodb4Uo.mjs.map +0 -1
- package/dist/relations-G2ta7GIl.d.mts.map +0 -1
- package/dist/runner-BFTrkYhu.mjs.map +0 -1
- package/dist/search-FZhx5dDU.mjs.map +0 -1
- package/dist/seo-CobNfOvb.mjs.map +0 -1
- package/dist/slugify-C_tqlU4G.mjs +0 -30
- package/dist/slugify-C_tqlU4G.mjs.map +0 -1
- package/dist/taxonomies-CKuaZER5.mjs.map +0 -1
- package/dist/taxonomies-CLN1N92E.mjs.map +0 -1
- package/dist/taxonomy-pOrB2kZe.mjs.map +0 -1
- package/dist/types-BGWPMiBO.d.mts.map +0 -1
- package/dist/types-BnFP1M3J.d.mts.map +0 -1
- package/dist/types-Cd8iuS1J.mjs.map +0 -1
- package/dist/types-Cz8hNch2.d.mts.map +0 -1
- package/dist/types-Dc4ntQjQ.d.mts.map +0 -1
- package/dist/types-NBI3rF-_.mjs.map +0 -1
- package/dist/validate-C3oSmA7F.d.mts.map +0 -1
- package/dist/validate-mKo3RxBM.mjs.map +0 -1
- package/dist/version-C4PnpmoV.mjs +0 -7
- package/dist/zod-generator-CG64Hnbh.mjs.map +0 -1
- /package/dist/{api-tokens-Dai9dND0.mjs → api-tokens-CyTsLszZ.mjs} +0 -0
- /package/dist/{ssrf-Cj568Dgs.mjs → ssrf-DpXgKsna.mjs} +0 -0
- /package/dist/{types-DKuWPYV5.mjs → types-CP1CflWf.mjs} +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { r as
|
|
10
|
-
import { r as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
1
|
+
import { r as ContentFieldFilters } from "./content-list-query-DhQ84eVV.mjs";
|
|
2
|
+
import { _ as UpdateCollectionInput, a as CollectionWithFields, c as CreateFieldInput, d as Field, p as FieldValidation, s as CreateCollectionInput, t as Collection, v as UpdateFieldInput } from "./types-C3_AbkDP.mjs";
|
|
3
|
+
import { f as UpdateContentInput, i as ContentItem, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-D4_1Ga4L.mjs";
|
|
4
|
+
import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-DRe1pIBL.mjs";
|
|
5
|
+
import { t as Database } from "./types-CAGdePf3.mjs";
|
|
6
|
+
import { At as SettingField, B as FieldWidgetConfig, Bt as UserInfo, Ct as PublicPageContext, Dt as ResolvedPlugin, Q as MediaItem$1, Tt as RequestMeta, U as HttpAccess, Vt as WhereClause, _t as PluginManifest, at as PageMetadataEvent, bt as PluginStorageConfig, c as CommentBeforeCreateEvent, ht as PluginDefinition, i as CommentAfterCreateEvent, it as PageMetadataContribution, jt as StorageCollection, k as CronEvent, lt as PaginatedResult, nt as PageFragmentEvent, o as CommentAfterModerateEvent, pt as PluginCapability, tt as PageFragmentContribution, vt as PluginMcpManifestConfig, wt as QueryOptions, xt as PortableTextBlockConfig, z as EmailMessage } from "./types-Cs-TFLNf.mjs";
|
|
7
|
+
import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-CzW7Lshs.mjs";
|
|
8
|
+
import { T as ContentBylineInput } from "./index-Cof4-Fab.mjs";
|
|
9
|
+
import { r as DatabaseDescriptor } from "./adapters-34EN2eXO.mjs";
|
|
10
|
+
import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-BPuloofb.mjs";
|
|
11
|
+
import { r as ObjectCacheDescriptor } from "./types-X0MThr7x.mjs";
|
|
12
|
+
import { d as Storage } from "./types-CFUfyt1s.mjs";
|
|
13
|
+
import { i as SiteSettings, r as SiteSettingKey } from "./types-CPx2lIGo.mjs";
|
|
13
14
|
import { EmDashManifest } from "./astro/types.mjs";
|
|
14
15
|
import { Dialect, Kysely, sql } from "kysely";
|
|
15
16
|
import { z } from "astro/zod";
|
|
@@ -56,7 +57,7 @@ declare class ContentRepository {
|
|
|
56
57
|
* (optionally scoped to a locale) and appends a numeric suffix (`-1`,
|
|
57
58
|
* `-2`, etc.) on collision to guarantee uniqueness.
|
|
58
59
|
*
|
|
59
|
-
* Returns
|
|
60
|
+
* Returns null when slug normalization cannot produce a value.
|
|
60
61
|
*/
|
|
61
62
|
generateUniqueSlug(type: string, text: string, locale?: string): Promise<string | null>;
|
|
62
63
|
/**
|
|
@@ -102,6 +103,13 @@ declare class ContentRepository {
|
|
|
102
103
|
* Update content
|
|
103
104
|
*/
|
|
104
105
|
update(type: string, id: string, input: UpdateContentInput): Promise<ContentItem>;
|
|
106
|
+
/**
|
|
107
|
+
* Update plugin-authored fields without letting content columns diverge
|
|
108
|
+
* from the revision pointers that publication promotes.
|
|
109
|
+
*/
|
|
110
|
+
updateDraftAware(type: string, id: string, input: UpdateContentInput): Promise<ContentItem>;
|
|
111
|
+
private deleteUnstagedRevision;
|
|
112
|
+
private replaceDraftRevisionForUpdate;
|
|
105
113
|
/**
|
|
106
114
|
* Delete content (soft delete - moves to trash)
|
|
107
115
|
*/
|
|
@@ -110,19 +118,6 @@ declare class ContentRepository {
|
|
|
110
118
|
* Restore content from trash
|
|
111
119
|
*/
|
|
112
120
|
restore(type: string, id: string): Promise<ContentItem | null>;
|
|
113
|
-
/**
|
|
114
|
-
* Re-stamp the denormalized filter + sort columns on every
|
|
115
|
-
* `content_taxonomies` pivot row for an entry from its authoritative `ec_*`
|
|
116
|
-
* row (migration 051). Called after any mutation that moves one of those
|
|
117
|
-
* columns so a taxonomy-filtered listing can seek the entry directly.
|
|
118
|
-
*
|
|
119
|
-
* A single correlated `UPDATE` reads the post-mutation values from `ec_*`, so
|
|
120
|
-
* the pivot converges to the authoritative row. This is NOT atomic with the
|
|
121
|
-
* `ec_*` mutation on D1 (no transactions), which is why the read path
|
|
122
|
-
* re-checks the real predicates on the joined `ec_*` row. Untagged entries
|
|
123
|
-
* have no pivot rows, so the statement is a cheap no-op for them.
|
|
124
|
-
*/
|
|
125
|
-
private restampEntryPivot;
|
|
126
121
|
/**
|
|
127
122
|
* Permanently delete content (cannot be undone)
|
|
128
123
|
*/
|
|
@@ -171,10 +166,25 @@ declare class ContentRepository {
|
|
|
171
166
|
* range naturally excludes never-published rows (their column is NULL).
|
|
172
167
|
*/
|
|
173
168
|
private applyDateFilter;
|
|
169
|
+
/**
|
|
170
|
+
* Apply the optional byline filter as a correlated (NOT) EXISTS against
|
|
171
|
+
* `_emdash_content_bylines`.
|
|
172
|
+
*
|
|
173
|
+
* Correlating from the content table preserves the outer sort index so
|
|
174
|
+
* `LIMIT` can short-circuit. `mode: "none"` tests the junction rather than
|
|
175
|
+
* `primary_byline_id` because the two are written in the same call but
|
|
176
|
+
* are not atomically consistent, so the junction is authoritative.
|
|
177
|
+
*
|
|
178
|
+
* Whether a credit *renders* is locale-scoped; whether one *exists* is
|
|
179
|
+
* not. Both are needed: the first decides what the filter matches, the
|
|
180
|
+
* second decides whether the author fallback applies at all.
|
|
181
|
+
*/
|
|
182
|
+
private applyBylineFilter;
|
|
174
183
|
/**
|
|
175
184
|
* Count content items
|
|
176
185
|
*/
|
|
177
186
|
count(type: string, where?: FindManyOptions["where"]): Promise<number>;
|
|
187
|
+
private countWithResolvedFilters;
|
|
178
188
|
/**
|
|
179
189
|
* Distinct, non-null `author_id` values across the collection's live
|
|
180
190
|
* (non-trashed) content. Used to populate the admin author filter with
|
|
@@ -182,11 +192,12 @@ declare class ContentRepository {
|
|
|
182
192
|
* full user directory (which requires admin privileges to read).
|
|
183
193
|
*/
|
|
184
194
|
findDistinctAuthorIds(type: string): Promise<string[]>;
|
|
185
|
-
getStats(type: string): Promise<{
|
|
195
|
+
getStats(type: string, now?: Date): Promise<{
|
|
186
196
|
total: number;
|
|
187
197
|
published: number;
|
|
188
198
|
draft: number;
|
|
189
199
|
scheduled: number;
|
|
200
|
+
overdueScheduled: number;
|
|
190
201
|
}>;
|
|
191
202
|
/**
|
|
192
203
|
* Schedule content for future publishing
|
|
@@ -263,6 +274,8 @@ declare class ContentRepository {
|
|
|
263
274
|
* Syncs the draft revision's data into the content table columns so the
|
|
264
275
|
* content table always reflects the published version.
|
|
265
276
|
* If no draft revision exists, creates one from current data and publishes it.
|
|
277
|
+
* When `promoteRevision` is false, publishes the current content-table data
|
|
278
|
+
* by changing lifecycle metadata only.
|
|
266
279
|
*
|
|
267
280
|
* `publishedAt` (optional) overrides the publication timestamp. If omitted,
|
|
268
281
|
* the existing `published_at` is preserved (idempotent re-publish keeps the
|
|
@@ -274,7 +287,7 @@ declare class ContentRepository {
|
|
|
274
287
|
* `expectedScheduledAt` additionally fences changes made after a sweep
|
|
275
288
|
* selected the row but before publication preparation began.
|
|
276
289
|
*/
|
|
277
|
-
publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string): Promise<ContentItem>;
|
|
290
|
+
publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string, promoteRevision?: boolean, requireSlug?: boolean): Promise<ContentItem>;
|
|
278
291
|
/**
|
|
279
292
|
* Unpublish content
|
|
280
293
|
*
|
|
@@ -314,11 +327,17 @@ declare class ContentRepository {
|
|
|
314
327
|
* Excludes null values from data to match input semantics
|
|
315
328
|
*/
|
|
316
329
|
private mapRow;
|
|
330
|
+
private normalizeFilterScalar;
|
|
331
|
+
private normalizeFieldFilter;
|
|
332
|
+
private collectionExists;
|
|
333
|
+
private resolveFieldFilters;
|
|
334
|
+
private applyFieldFilters;
|
|
317
335
|
/**
|
|
318
336
|
* Map order field names to database columns.
|
|
319
337
|
* Only allows known fields to prevent column enumeration via crafted orderBy values.
|
|
320
338
|
*/
|
|
321
339
|
private mapOrderField;
|
|
340
|
+
private resolveOrderField;
|
|
322
341
|
}
|
|
323
342
|
//#endregion
|
|
324
343
|
//#region src/database/repositories/media.d.ts
|
|
@@ -693,14 +712,27 @@ interface PortableTextBlock$1 {
|
|
|
693
712
|
*/
|
|
694
713
|
type ImageValue = MediaValue;
|
|
695
714
|
/**
|
|
696
|
-
*
|
|
715
|
+
* Persisted file field value.
|
|
716
|
+
*
|
|
717
|
+
* File values are references with cached metadata, not implicitly hydrated
|
|
718
|
+
* media records. Use the media provider API when current metadata is needed.
|
|
697
719
|
*/
|
|
698
720
|
interface FileValue {
|
|
699
721
|
id: string;
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
722
|
+
/** Legacy cached URL. Provider-backed values commonly omit this. */
|
|
723
|
+
url?: string;
|
|
724
|
+
/** Direct URL used by external media providers. */
|
|
725
|
+
src?: string;
|
|
726
|
+
/** Cached original filename, when available. */
|
|
727
|
+
filename?: string;
|
|
728
|
+
/** Cached MIME type, when available. */
|
|
729
|
+
mimeType?: string;
|
|
730
|
+
/** Cached file size in bytes, when persisted with the value. */
|
|
731
|
+
size?: number;
|
|
732
|
+
/** Media provider ID. Defaults to `local` when omitted. */
|
|
733
|
+
provider?: string;
|
|
734
|
+
/** Provider-specific data needed to resolve or render the file. */
|
|
735
|
+
meta?: Record<string, unknown>;
|
|
704
736
|
}
|
|
705
737
|
//#endregion
|
|
706
738
|
//#region src/fields/image.d.ts
|
|
@@ -769,6 +801,10 @@ declare function handleContentList(db: Kysely<Database>, collection: string, par
|
|
|
769
801
|
dateField?: ContentDateField;
|
|
770
802
|
dateFrom?: string;
|
|
771
803
|
dateTo?: string;
|
|
804
|
+
bylines?: string[];
|
|
805
|
+
bylinesNone?: boolean;
|
|
806
|
+
includeInferredBylines?: boolean;
|
|
807
|
+
fieldFilters?: ContentFieldFilters;
|
|
772
808
|
}): Promise<ApiResult<ContentListResponse>>;
|
|
773
809
|
/** A content author option for the admin author filter. */
|
|
774
810
|
interface ContentAuthor {
|
|
@@ -806,7 +842,7 @@ declare function handleContentGetIncludingTrashed(db: Kysely<Database>, collecti
|
|
|
806
842
|
*/
|
|
807
843
|
declare function handleContentCreate(db: Kysely<Database>, collection: string, body: {
|
|
808
844
|
data: Record<string, unknown>;
|
|
809
|
-
slug?: string;
|
|
845
|
+
slug?: string | null;
|
|
810
846
|
status?: string;
|
|
811
847
|
authorId?: string;
|
|
812
848
|
bylines?: ContentBylineInput[];
|
|
@@ -826,7 +862,7 @@ declare function handleContentCreate(db: Kysely<Database>, collection: string, b
|
|
|
826
862
|
*/
|
|
827
863
|
declare function handleContentUpdate(db: Kysely<Database>, collection: string, id: string, body: {
|
|
828
864
|
data?: Record<string, unknown>;
|
|
829
|
-
slug?: string;
|
|
865
|
+
slug?: string | null;
|
|
830
866
|
status?: string;
|
|
831
867
|
authorId?: string | null;
|
|
832
868
|
bylines?: ContentBylineInput[];
|
|
@@ -954,6 +990,7 @@ interface CollectionDefinition {
|
|
|
954
990
|
label: string;
|
|
955
991
|
labelSingular?: string;
|
|
956
992
|
supports?: string[];
|
|
993
|
+
routable?: boolean;
|
|
957
994
|
};
|
|
958
995
|
}
|
|
959
996
|
type CollectionMap = Record<string, CollectionDefinition>;
|
|
@@ -1046,7 +1083,7 @@ declare function handleMediaDelete(db: Kysely<Database>, id: string): Promise<Ap
|
|
|
1046
1083
|
}>>;
|
|
1047
1084
|
//#endregion
|
|
1048
1085
|
//#region src/media/usage/content-refresh.d.ts
|
|
1049
|
-
type ContentMediaUsageRefreshErrorCode = "CONTENT_NOT_FOUND" | "DRAFT_REVISION_NOT_FOUND" | "DRAFT_REVISION_MISMATCH" | "DRAFT_REVISION_INVALID" | "CONTENT_USAGE_REFRESH_ERROR" | "CONTENT_USAGE_DELETE_ERROR" | "CONTENT_USAGE_GENERATION_CONFLICT" | "CONTENT_USAGE_STALE";
|
|
1086
|
+
type ContentMediaUsageRefreshErrorCode = "CONTENT_NOT_FOUND" | "DRAFT_REVISION_NOT_FOUND" | "DRAFT_REVISION_MISMATCH" | "DRAFT_REVISION_INVALID" | "CONTENT_USAGE_REFRESH_ERROR" | "CONTENT_USAGE_DELETE_ERROR" | "CONTENT_USAGE_GENERATION_CONFLICT" | "CONTENT_USAGE_RESOURCE_LIMIT" | "CONTENT_USAGE_STALE";
|
|
1050
1087
|
declare function markContentMediaUsageCollectionStaleSafely(db: Kysely<Database>, collectionSlug: string, lastErrorCode: ContentMediaUsageRefreshErrorCode): Promise<boolean>;
|
|
1051
1088
|
//#endregion
|
|
1052
1089
|
//#region src/schema/registry.d.ts
|
|
@@ -1096,6 +1133,12 @@ declare class SchemaRegistry {
|
|
|
1096
1133
|
* a manifest that is now built fresh per admin request (no cache).
|
|
1097
1134
|
*/
|
|
1098
1135
|
listCollectionsWithFields(): Promise<CollectionWithFields[]>;
|
|
1136
|
+
/**
|
|
1137
|
+
* Validate `titleField`/`dateField` against the collection's fields:
|
|
1138
|
+
* `titleField` must be a text-like field; `dateField` must be a `datetime` field.
|
|
1139
|
+
* Only truthy values are checked (undefined = unchanged, null/"" = cleared).
|
|
1140
|
+
*/
|
|
1141
|
+
private validateTitleDateFields;
|
|
1099
1142
|
/**
|
|
1100
1143
|
* Create a new collection
|
|
1101
1144
|
*/
|
|
@@ -1111,6 +1154,7 @@ declare class SchemaRegistry {
|
|
|
1111
1154
|
* in parameter-safe batches.
|
|
1112
1155
|
*/
|
|
1113
1156
|
createSeedCollection(input: Omit<CreateCollectionInput, "source">, fields: readonly CreateFieldInput[]): Promise<void>;
|
|
1157
|
+
private assertSeedFieldDefinitions;
|
|
1114
1158
|
/**
|
|
1115
1159
|
* Update a collection
|
|
1116
1160
|
*/
|
|
@@ -1173,6 +1217,10 @@ declare class SchemaRegistry {
|
|
|
1173
1217
|
* Create a content table for a collection
|
|
1174
1218
|
*/
|
|
1175
1219
|
private createContentTable;
|
|
1220
|
+
private getFieldIndexName;
|
|
1221
|
+
private getLocaleFieldIndexName;
|
|
1222
|
+
private createFieldIndex;
|
|
1223
|
+
private dropFieldIndex;
|
|
1176
1224
|
/**
|
|
1177
1225
|
* Add a column to a content table
|
|
1178
1226
|
*/
|
|
@@ -1918,6 +1966,19 @@ interface EmDashConfig {
|
|
|
1918
1966
|
*/
|
|
1919
1967
|
allowedOrigins?: string[];
|
|
1920
1968
|
trustedProxyHeaders?: string[];
|
|
1969
|
+
/**
|
|
1970
|
+
* User middleware that wraps the complete EmDash request pipeline.
|
|
1971
|
+
*
|
|
1972
|
+
* Before `next()` it runs before EmDash initializes its runtime or database,
|
|
1973
|
+
* so `locals.emdash`, the authenticated user, and request-scoped EmDash state
|
|
1974
|
+
* are unavailable. This allows cached responses and request gates to return
|
|
1975
|
+
* without paying initialization cost. When it calls `next()`, the resolved
|
|
1976
|
+
* response includes EmDash HTML injection and all other response mutations,
|
|
1977
|
+
* allowing the middleware to finalize caching and response headers safely.
|
|
1978
|
+
*/
|
|
1979
|
+
middleware?: {
|
|
1980
|
+
/** Astro middleware module entrypoint. */outer: string | URL;
|
|
1981
|
+
};
|
|
1921
1982
|
/**
|
|
1922
1983
|
* Enable playground mode for ephemeral "try EmDash" sites.
|
|
1923
1984
|
*
|
|
@@ -2126,6 +2187,8 @@ interface SandboxOptions {
|
|
|
2126
2187
|
storage?: PluginCodeStorage;
|
|
2127
2188
|
/** Database for bridge operations */
|
|
2128
2189
|
db: Kysely<Database>;
|
|
2190
|
+
/** Called immediately before a sandboxed plugin content mutation. */
|
|
2191
|
+
beforeContentWrite?: () => Promise<void>;
|
|
2129
2192
|
/** Default resource limits */
|
|
2130
2193
|
limits?: ResourceLimits;
|
|
2131
2194
|
/** Site info for plugin context (injected into wrapper at generation time) */
|
|
@@ -2194,7 +2257,36 @@ interface SerializedRequest {
|
|
|
2194
2257
|
headers: Record<string, string>;
|
|
2195
2258
|
/** Normalized request metadata extracted before RPC serialization */
|
|
2196
2259
|
meta: RequestMeta;
|
|
2260
|
+
/**
|
|
2261
|
+
* Authenticated caller for private routes, resolved by the host before
|
|
2262
|
+
* dispatch. Undefined for public routes and unbound machine tokens.
|
|
2263
|
+
*/
|
|
2264
|
+
user?: UserInfo;
|
|
2197
2265
|
}
|
|
2266
|
+
declare const SANDBOX_ROUTE_ERROR_DEFINITIONS: {
|
|
2267
|
+
readonly MEDIA_USAGE_ACTIVATION_IN_PROGRESS: {
|
|
2268
|
+
readonly message: "Media usage activation is in progress";
|
|
2269
|
+
readonly status: 503;
|
|
2270
|
+
};
|
|
2271
|
+
readonly MEDIA_USAGE_ACTIVATION_CHECK_FAILED: {
|
|
2272
|
+
readonly message: "Unable to verify media usage activation state";
|
|
2273
|
+
readonly status: 503;
|
|
2274
|
+
};
|
|
2275
|
+
};
|
|
2276
|
+
type SandboxRouteErrorCode = keyof typeof SANDBOX_ROUTE_ERROR_DEFINITIONS;
|
|
2277
|
+
interface SandboxRouteErrorDetails {
|
|
2278
|
+
code: SandboxRouteErrorCode;
|
|
2279
|
+
message: string;
|
|
2280
|
+
status: 503;
|
|
2281
|
+
}
|
|
2282
|
+
interface SandboxRouteErrorEnvelope {
|
|
2283
|
+
__emdashSandboxRouteError: true;
|
|
2284
|
+
error: SandboxRouteErrorDetails;
|
|
2285
|
+
}
|
|
2286
|
+
declare function getSandboxRouteErrorDetails(error: unknown): SandboxRouteErrorDetails | null;
|
|
2287
|
+
declare function createSandboxRouteError(code: SandboxRouteErrorCode): Error & SandboxRouteErrorDetails;
|
|
2288
|
+
declare function createSandboxRouteErrorEnvelope(error: unknown): SandboxRouteErrorEnvelope | null;
|
|
2289
|
+
declare function getSandboxRouteErrorEnvelope(value: unknown): SandboxRouteErrorEnvelope | null;
|
|
2198
2290
|
/**
|
|
2199
2291
|
* Sandbox runner interface.
|
|
2200
2292
|
* Platform adapters implement this to provide plugin isolation.
|
|
@@ -2330,6 +2422,7 @@ interface SiteInfoOptions {
|
|
|
2330
2422
|
}
|
|
2331
2423
|
interface PluginContextFactoryOptions {
|
|
2332
2424
|
db: Kysely<Database>;
|
|
2425
|
+
beforeContentWrite?: () => Promise<void>;
|
|
2333
2426
|
/**
|
|
2334
2427
|
* Resolver for the database connection, preferred over `db` when present.
|
|
2335
2428
|
* Called per `createContext()` so connection-backed adapters (e.g. Postgres
|
|
@@ -2760,6 +2853,18 @@ interface RouteResult<T = unknown> {
|
|
|
2760
2853
|
};
|
|
2761
2854
|
status: number;
|
|
2762
2855
|
}
|
|
2856
|
+
/**
|
|
2857
|
+
* Host-side user shape accepted when dispatching a plugin route. Structurally
|
|
2858
|
+
* matches `User` from `@emdash-cms/auth` so hosts can pass `locals.user`
|
|
2859
|
+
* directly without the plugin layer depending on the auth package.
|
|
2860
|
+
*/
|
|
2861
|
+
interface RouteCallerInput {
|
|
2862
|
+
id: string;
|
|
2863
|
+
email: string;
|
|
2864
|
+
name: string | null;
|
|
2865
|
+
role: number;
|
|
2866
|
+
createdAt: Date | string;
|
|
2867
|
+
}
|
|
2763
2868
|
/**
|
|
2764
2869
|
* Route invocation options
|
|
2765
2870
|
*/
|
|
@@ -2768,6 +2873,11 @@ interface InvokeRouteOptions {
|
|
|
2768
2873
|
request: Request;
|
|
2769
2874
|
/** Request body (already parsed) */
|
|
2770
2875
|
body?: unknown;
|
|
2876
|
+
/**
|
|
2877
|
+
* Authenticated caller resolved by the host, exposed to the handler as
|
|
2878
|
+
* `ctx.user`. Undefined for public routes and unbound machine tokens.
|
|
2879
|
+
*/
|
|
2880
|
+
user?: UserInfo;
|
|
2771
2881
|
}
|
|
2772
2882
|
/**
|
|
2773
2883
|
* Error class for plugin routes
|
|
@@ -2824,6 +2934,8 @@ interface CronScheduler {
|
|
|
2824
2934
|
reschedule(): void;
|
|
2825
2935
|
/** Register a system cleanup function to run alongside each tick. */
|
|
2826
2936
|
setSystemCleanup(fn: SystemCleanupFn): void;
|
|
2937
|
+
/** Register bounded Media Usage maintenance to run after the general tick settles. */
|
|
2938
|
+
setMediaUsageMaintenance?(fn: SystemCleanupFn): void;
|
|
2827
2939
|
}
|
|
2828
2940
|
/**
|
|
2829
2941
|
* System cleanup callback invoked alongside each scheduler tick.
|
|
@@ -2991,6 +3103,7 @@ interface EmDashRuntimeParts {
|
|
|
2991
3103
|
pipelineFactoryOptions: {
|
|
2992
3104
|
db: Kysely<Database>;
|
|
2993
3105
|
getDb?: () => Kysely<Database>;
|
|
3106
|
+
beforeContentWrite?: () => Promise<void>;
|
|
2994
3107
|
storage?: Storage;
|
|
2995
3108
|
siteInfo?: {
|
|
2996
3109
|
siteName?: string;
|
|
@@ -3004,6 +3117,16 @@ interface EmDashRuntimeParts {
|
|
|
3004
3117
|
current: HookPipeline;
|
|
3005
3118
|
};
|
|
3006
3119
|
}
|
|
3120
|
+
type MediaUsageMaintenanceTaskClass = "entry_work" | "collection_deletion" | "reconciliation";
|
|
3121
|
+
type MediaUsageMaintenanceResult = {
|
|
3122
|
+
outcome: "inactive" | "admission_closed";
|
|
3123
|
+
taskClass: null;
|
|
3124
|
+
turn: null;
|
|
3125
|
+
} | {
|
|
3126
|
+
outcome: "processed";
|
|
3127
|
+
taskClass: MediaUsageMaintenanceTaskClass;
|
|
3128
|
+
turn: number;
|
|
3129
|
+
};
|
|
3007
3130
|
/**
|
|
3008
3131
|
* EmDashRuntime - singleton per worker
|
|
3009
3132
|
*/
|
|
@@ -3084,6 +3207,7 @@ declare class EmDashRuntime {
|
|
|
3084
3207
|
* Returns the items promoted so callers can invalidate their cache tags.
|
|
3085
3208
|
*/
|
|
3086
3209
|
publishScheduled(): Promise<PublishedRef[]>;
|
|
3210
|
+
private publishScheduledWithFence;
|
|
3087
3211
|
/**
|
|
3088
3212
|
* Run the full scheduled-maintenance batch: cron tasks, scheduled
|
|
3089
3213
|
* publishing, and system cleanup. For request-less drivers — the
|
|
@@ -3103,6 +3227,7 @@ declare class EmDashRuntime {
|
|
|
3103
3227
|
}): Promise<{
|
|
3104
3228
|
published: PublishedRef[];
|
|
3105
3229
|
}>;
|
|
3230
|
+
runScheduledMediaUsageTasks(): Promise<MediaUsageMaintenanceResult>;
|
|
3106
3231
|
/**
|
|
3107
3232
|
* Materialize plugin-declared storage indexes, once per process.
|
|
3108
3233
|
*
|
|
@@ -3327,6 +3452,10 @@ declare class EmDashRuntime {
|
|
|
3327
3452
|
dateField?: ContentDateField;
|
|
3328
3453
|
dateFrom?: string;
|
|
3329
3454
|
dateTo?: string;
|
|
3455
|
+
bylines?: string[];
|
|
3456
|
+
bylinesNone?: boolean;
|
|
3457
|
+
includeInferredBylines?: boolean;
|
|
3458
|
+
fieldFilters?: ContentFieldFilters;
|
|
3330
3459
|
}): Promise<ApiResult<ContentListResponse>>;
|
|
3331
3460
|
handleContentAuthors(collection: string): Promise<ApiResult<{
|
|
3332
3461
|
items: ContentAuthor[];
|
|
@@ -3346,7 +3475,7 @@ declare class EmDashRuntime {
|
|
|
3346
3475
|
private hydrateDraftData;
|
|
3347
3476
|
handleContentCreate(collection: string, body: {
|
|
3348
3477
|
data: Record<string, unknown>;
|
|
3349
|
-
slug?: string;
|
|
3478
|
+
slug?: string | null;
|
|
3350
3479
|
status?: string;
|
|
3351
3480
|
authorId?: string;
|
|
3352
3481
|
bylines?: Array<{
|
|
@@ -3375,7 +3504,7 @@ declare class EmDashRuntime {
|
|
|
3375
3504
|
}>;
|
|
3376
3505
|
handleContentUpdate(collection: string, id: string, body: {
|
|
3377
3506
|
data?: Record<string, unknown>;
|
|
3378
|
-
slug?: string;
|
|
3507
|
+
slug?: string | null;
|
|
3379
3508
|
status?: string;
|
|
3380
3509
|
authorId?: string | null;
|
|
3381
3510
|
bylines?: Array<{
|
|
@@ -3523,13 +3652,14 @@ declare class EmDashRuntime {
|
|
|
3523
3652
|
* contract of `getPluginSettingsSchema` for build-time plugins.
|
|
3524
3653
|
*/
|
|
3525
3654
|
getRuntimePluginSettingsSchema(pluginId: string): Record<string, SettingField> | null;
|
|
3526
|
-
handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request): Promise<{
|
|
3655
|
+
handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request, user?: RouteCallerInput | null): Promise<{
|
|
3527
3656
|
success: boolean;
|
|
3528
3657
|
data?: unknown;
|
|
3529
3658
|
error?: {
|
|
3530
3659
|
code: string;
|
|
3531
3660
|
message: string;
|
|
3532
3661
|
};
|
|
3662
|
+
status?: number;
|
|
3533
3663
|
}>;
|
|
3534
3664
|
getPluginMcpTools(pluginId?: string): Promise<{
|
|
3535
3665
|
pluginId: string;
|
|
@@ -3552,13 +3682,14 @@ declare class EmDashRuntime {
|
|
|
3552
3682
|
outputSchema?: z$1.ZodType;
|
|
3553
3683
|
}[]>;
|
|
3554
3684
|
serializePluginMcpConsent(tools: Awaited<ReturnType<EmDashRuntime["getPluginMcpTools"]>>, pluginId: string): string;
|
|
3555
|
-
handlePluginMcpTool(pluginId: string, toolName: string, route: string, input: unknown, actorId: string, request: Request): Promise<{
|
|
3685
|
+
handlePluginMcpTool(pluginId: string, toolName: string, route: string, input: unknown, actorId: string, request: Request, caller?: RouteCallerInput | null): Promise<{
|
|
3556
3686
|
success: boolean;
|
|
3557
3687
|
data?: unknown;
|
|
3558
3688
|
error?: {
|
|
3559
3689
|
code: string;
|
|
3560
3690
|
message: string;
|
|
3561
3691
|
};
|
|
3692
|
+
status?: number;
|
|
3562
3693
|
}>;
|
|
3563
3694
|
handlePluginMcpDenied(pluginId: string, toolName: string, route: string, actorId: string, request: Request, reason: string): Promise<void>;
|
|
3564
3695
|
private findSandboxedPlugin;
|
|
@@ -4458,6 +4589,8 @@ interface I18nConfig {
|
|
|
4458
4589
|
* Returns null if i18n is not configured.
|
|
4459
4590
|
*/
|
|
4460
4591
|
declare function getI18nConfig(): I18nConfig | null;
|
|
4592
|
+
/** Resolve the locale for a new content row. */
|
|
4593
|
+
declare function resolveContentCreateLocale(locale: unknown, config?: I18nConfig | null): string;
|
|
4461
4594
|
/**
|
|
4462
4595
|
* Check if i18n is enabled.
|
|
4463
4596
|
* Returns true when multiple locales are configured.
|
|
@@ -4814,12 +4947,12 @@ declare const pluginManifestSchema: z$1.ZodObject<{
|
|
|
4814
4947
|
number: "number";
|
|
4815
4948
|
boolean: "boolean";
|
|
4816
4949
|
slug: "slug";
|
|
4950
|
+
text: "text";
|
|
4951
|
+
select: "select";
|
|
4817
4952
|
file: "file";
|
|
4818
4953
|
image: "image";
|
|
4819
4954
|
datetime: "datetime";
|
|
4820
|
-
text: "text";
|
|
4821
4955
|
integer: "integer";
|
|
4822
|
-
select: "select";
|
|
4823
4956
|
multiSelect: "multiSelect";
|
|
4824
4957
|
portableText: "portableText";
|
|
4825
4958
|
reference: "reference";
|
|
@@ -5072,8 +5205,10 @@ declare class NodeCronScheduler implements CronScheduler {
|
|
|
5072
5205
|
private timer;
|
|
5073
5206
|
private running;
|
|
5074
5207
|
private systemCleanup;
|
|
5208
|
+
private mediaUsageMaintenance;
|
|
5075
5209
|
constructor(executor: CronExecutor);
|
|
5076
5210
|
setSystemCleanup(fn: SystemCleanupFn): void;
|
|
5211
|
+
setMediaUsageMaintenance(fn: SystemCleanupFn): void;
|
|
5077
5212
|
start(): void;
|
|
5078
5213
|
stop(): void;
|
|
5079
5214
|
reschedule(): void;
|
|
@@ -5768,8 +5903,8 @@ declare function getTaxonomyTerms(taxonomyName: string, options?: TaxonomyTermsO
|
|
|
5768
5903
|
*/
|
|
5769
5904
|
declare function getTerm(taxonomyName: string, slug: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm | null>;
|
|
5770
5905
|
/**
|
|
5771
|
-
* Terms assigned to a content entry, resolved into the active locale
|
|
5772
|
-
*
|
|
5906
|
+
* Terms assigned to a content entry, resolved into the active locale and then
|
|
5907
|
+
* the configured default locale.
|
|
5773
5908
|
*/
|
|
5774
5909
|
declare function getEntryTerms(collection: string, entryId: string, taxonomyName?: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm[]>;
|
|
5775
5910
|
/**
|
|
@@ -5875,6 +6010,8 @@ interface SearchConfig {
|
|
|
5875
6010
|
enabled: boolean;
|
|
5876
6011
|
/** Field weights for ranking (higher = more important) */
|
|
5877
6012
|
weights?: Record<string, number>;
|
|
6013
|
+
/** Field slug used as the result title, from the collection's titleField. */
|
|
6014
|
+
titleField?: string;
|
|
5878
6015
|
/** FTS5 tokenizer configuration (defaults to English Porter stemming) */
|
|
5879
6016
|
tokenize?: SearchTokenizer;
|
|
5880
6017
|
}
|
|
@@ -6013,6 +6150,30 @@ declare class FTSManager {
|
|
|
6013
6150
|
* @param tokenize - Optional FTS5 tokenizer configuration
|
|
6014
6151
|
*/
|
|
6015
6152
|
createFtsTable(collectionSlug: string, searchableFields: string[], _weights?: Record<string, number>, tokenize?: SearchTokenizer): Promise<void>;
|
|
6153
|
+
/**
|
|
6154
|
+
* SQL expression producing the indexed value for one searchable field.
|
|
6155
|
+
*
|
|
6156
|
+
* Portable Text fields are stored as JSON; indexing the raw JSON pollutes
|
|
6157
|
+
* the index with structural tokens (`_type`, style values like `normal`,
|
|
6158
|
+
* `_key` ULIDs) and makes snippets show JSON fragments. Extract the prose
|
|
6159
|
+
* instead: every JSON string under a `text`, `alt`, `caption`, or `code`
|
|
6160
|
+
* key (span text, image alt/caption, code blocks). This is a superset of
|
|
6161
|
+
* `extractPlainText` in text-extraction.ts, which walks only known block
|
|
6162
|
+
* shapes — the SQL variant takes those keys at any depth, so search and
|
|
6163
|
+
* the extractPlainText consumers (vectorize/ai-search) can see different
|
|
6164
|
+
* text for the same document. Only JSON documents
|
|
6165
|
+
* (arrays/objects) are extracted; legacy rows holding a bare string or a
|
|
6166
|
+
* JSON scalar (`Some title`, `2024`) are indexed as-is. Extraction must
|
|
6167
|
+
* live in SQL because the sync triggers cannot call into JS.
|
|
6168
|
+
*
|
|
6169
|
+
* `ref` must be a validated column reference (`NEW.x`, `OLD.x`, `"x"`).
|
|
6170
|
+
*/
|
|
6171
|
+
private searchValueExpr;
|
|
6172
|
+
/**
|
|
6173
|
+
* Field type per slug for a collection, for choosing the indexed-value
|
|
6174
|
+
* expression. Fields missing from the schema fall back to raw indexing.
|
|
6175
|
+
*/
|
|
6176
|
+
private getFieldTypes;
|
|
6016
6177
|
/**
|
|
6017
6178
|
* Create triggers to keep FTS table in sync with content table.
|
|
6018
6179
|
*
|
|
@@ -6021,31 +6182,20 @@ declare class FTSManager {
|
|
|
6021
6182
|
* search index and ensures the FTS row count matches the non-deleted
|
|
6022
6183
|
* content count (which `verifyAndRepairIndex` relies on).
|
|
6023
6184
|
*
|
|
6024
|
-
*
|
|
6025
|
-
*
|
|
6026
|
-
*
|
|
6027
|
-
*
|
|
6028
|
-
*
|
|
6029
|
-
*
|
|
6030
|
-
*
|
|
6031
|
-
*
|
|
6032
|
-
*
|
|
6033
|
-
*
|
|
6034
|
-
*
|
|
6035
|
-
*
|
|
6036
|
-
*
|
|
6037
|
-
*
|
|
6038
|
-
* https://www.sqlite.org/fts5.html#external_content_tables.
|
|
6039
|
-
*
|
|
6040
|
-
* The UPDATE and DELETE triggers gate the `'delete'` on
|
|
6041
|
-
* `OLD.deleted_at IS NULL` because the INSERT trigger never indexed
|
|
6042
|
-
* rows that were already soft-deleted. Issuing `'delete'` for a rowid
|
|
6043
|
-
* that was never inserted into the FTS index is itself a corruption
|
|
6044
|
-
* trigger -- FTS5's `'delete'` is not a no-op on missing rowids and
|
|
6045
|
-
* raises `SQLITE_CORRUPT_VTAB`. Affected paths include restore-from-
|
|
6046
|
-
* trash (UPDATE where `OLD.deleted_at IS NOT NULL`), permanent-delete
|
|
6047
|
-
* from trash (DELETE on a soft-deleted row), and any edit on a row
|
|
6048
|
-
* that's currently in the trash.
|
|
6185
|
+
* The FTS table stores its own values (no `content=` option), so removal
|
|
6186
|
+
* is a plain `DELETE FROM fts WHERE rowid = OLD.rowid` — a harmless no-op
|
|
6187
|
+
* for rows that were never indexed (soft-deleted content). The
|
|
6188
|
+
* external-content `'delete'`-command choreography and its corruption
|
|
6189
|
+
* modes (migration 039) do not apply to self-contained tables.
|
|
6190
|
+
*
|
|
6191
|
+
* `INSERT OR REPLACE` keeps the insert path idempotent: re-running a
|
|
6192
|
+
* populate (D1 has no migration lock, so two isolates can race) converges
|
|
6193
|
+
* on one index row per content row instead of failing on the rowid
|
|
6194
|
+
* constraint.
|
|
6195
|
+
*
|
|
6196
|
+
* The trigger SQL emitted here MUST stay in lock-step with migration
|
|
6197
|
+
* `064_fts_plain_text.ts`. If this changes again, add a new migration
|
|
6198
|
+
* rather than editing shipped ones — migrations are forward-only.
|
|
6049
6199
|
*/
|
|
6050
6200
|
private createTriggers;
|
|
6051
6201
|
/**
|
|
@@ -6063,7 +6213,10 @@ declare class FTSManager {
|
|
|
6063
6213
|
*/
|
|
6064
6214
|
rebuildIndex(collectionSlug: string, searchableFields: string[], weights?: Record<string, number>, tokenize?: SearchTokenizer): Promise<void>;
|
|
6065
6215
|
/**
|
|
6066
|
-
* Populate the FTS table from existing content
|
|
6216
|
+
* Populate the FTS table from existing content.
|
|
6217
|
+
*
|
|
6218
|
+
* `INSERT OR REPLACE` so a concurrent double-populate (D1 has no
|
|
6219
|
+
* migration lock) converges instead of failing on the rowid constraint.
|
|
6067
6220
|
*/
|
|
6068
6221
|
populateFromContent(collectionSlug: string, searchableFields: string[]): Promise<void>;
|
|
6069
6222
|
/**
|
|
@@ -6084,7 +6237,7 @@ declare class FTSManager {
|
|
|
6084
6237
|
* `title` is not a system column on `ec_*` tables -- it exists only when a
|
|
6085
6238
|
* collection defines a field with slug `title`. Search and suggestion SQL
|
|
6086
6239
|
* that selects `c.title` must check this first; otherwise collections
|
|
6087
|
-
* without a title field raise "no such column: c.title"
|
|
6240
|
+
* without a title field raise "no such column: c.title".
|
|
6088
6241
|
*/
|
|
6089
6242
|
hasTitleColumn(collectionSlug: string): Promise<boolean>;
|
|
6090
6243
|
/**
|
|
@@ -6241,5 +6394,5 @@ declare function extractPlainText(blocks: PortableTextBlock[] | string | null |
|
|
|
6241
6394
|
*/
|
|
6242
6395
|
declare function extractSearchableFields(entry: Record<string, unknown>, fields: string[]): Record<string, string>;
|
|
6243
6396
|
//#endregion
|
|
6244
|
-
export { MenuItem as $,
|
|
6245
|
-
//# sourceMappingURL=index-
|
|
6397
|
+
export { MenuItem as $, SandboxedPluginEntry as $n, handleContentCountTrashed as $r, CacheHint as $t, WidgetType as A, MediaRepository as Ai, hashString as An, LocalStorageConfig as Ar, createPluginManager as At, CreateTermInput as B, PortableTextUnknownBlock as Bn, handleMediaDelete as Br, invalidateCollectionCache as Bt, CreateWidgetInput as C, ImageValue as Ci, WhereRange as Cn, createSandboxRouteError as Cr, parseContentId as Ct, Widget as D, UserRepository as Di, isSafeHref as Dn, EmDashConfig as Dr, createNoopSandboxRunner as Dt, UpdateWidgetInput as E, PluginStorageRepository as Ei, getDb as En, getSandboxRouteErrorEnvelope as Er, SandboxNotAvailableError as Et, getTaxonomyDefs as F, PortableTextImageBlock as Fn, SchemaRegistry as Fr, CachedQueryOptions as Ft, getByline as G, getSections as Gn, RevisionResponse as Gr, invalidateTaxonomyObjectCache as Gt, TaxonomyTerm as H, ProseMirrorMark as Hn, handleMediaList as Hr, invalidateMenuObjectCache as Ht, getTaxonomyTerms as I, PortableTextLinkMark as In, markContentMediaUsageCollectionStaleSafely as Ir, cachedQuery as It, getMenu as J, Section as Jn, handleRevisionRestore as Jr, getI18nConfig as Jt, getBylineBySlug as K, CreateSectionInput as Kn, handleRevisionGet as Kr, I18nConfig as Kt, getTerm as L, PortableTextMarkDef as Ln, MediaListResponse as Lr, contentNamespace as Lt, getEntriesByTerm as M, DatabaseConfig as Mi, prosemirrorToPortableText as Mn, StorageDescriptor as Mr, pluginManifestSchema as Mt, getEntryTerms as N, EmDashDatabaseError as Ni, PortableTextCodeBlock as Nn, getCollectionInfo as Nr, definePlugin as Nt, WidgetArea as O, CreateMediaInput as Oi, sanitizeHref as On, PluginDescriptor as Or, NodeCronScheduler as Ot, getTaxonomyDef as P, PortableTextHtmlBlock as Pn, SchemaError as Pr, CacheNamespace as Pt, Menu as Q, MediaUsageMaintenanceResult as Qn, handleContentCountScheduled as Qr, after as Qt, getTermsForEntries as R, PortableTextSpan as Rn, MediaResponse as Rr, contentNamespaces as Rt, CreateWidgetAreaInput as S, FileValue as Si, EntryFilter as Sn, SerializedRequest as Sr, generatePreviewToken as St, ReorderWidgetsInput as T, CompoundSelectLimitedAdapter as Ti, emdashLoader as Tn, getSandboxRouteErrorDetails as Tr, NoopSandboxRunner as Tt, TaxonomyTermRow as U, ProseMirrorNode as Un, handleMediaUpdate as Ur, invalidateObjectCache as Ut, TaxonomyDef as V, ProseMirrorDocument as Vn, handleMediaGet as Vr, invalidateCommentObjectCache as Vt, UpdateTermInput as W, getSection as Wn, RevisionListResponse as Wr, invalidateSchemaObjectCache as Wt, CreateMenuInput as X, UpdateSectionInput as Xn, handleContentAuthors as Xr, resolveContentCreateLocale as Xt, getMenus as Y, SectionSource as Yn, generateManifest as Yr, isI18nEnabled as Yt, CreateMenuItemInput as Z, EmDashRuntime as Zn, handleContentCompare as Zr, WaitUntilFn as Zt, SuggestOptions as _, reference as _i, FieldAnnotation as _n, SandboxRouteErrorEnvelope as _r, getPreviewUrl as _t, search as a, handleContentGetIncludingTrashed as ai, EntryResult as an, RouteMeta as ar, GetCommentsResult as at, getWidgetAreas as b, FieldDefinition as bi, CollectionFilter$1 as bn, SandboxUnavailableError as br, VerifyPreviewTokenOptions as bt, FTSManager as c, handleContentPermanentDelete as ci, TranslationSummary as cn, HookResult as cr, getPluginSetting as ct, SearchConfig as d, handleContentSchedule as di, getEmDashCollection as dn, createUnrestrictedHttpAccess as dr, getSiteSettings as dt, handleContentCreate as ei, CollectionFilter as en, PublishedRef as er, MenuItemType as et, SearchOptions as f, handleContentTranslations as fi, getEmDashEntry as fn, SandboxEmailMessage as fr, setSiteSettings as ft, SearchTokenizer as g, portableText as gi, EditProxy as gn, SandboxRouteErrorDetails as gr, buildPreviewUrl as gt, SearchStats as h, handleContentUpdate as hi, CMSAnnotation as hn, SandboxRouteErrorCode as hr, GetPreviewUrlOptions as ht, getSuggestions as i, handleContentGet as ii, EmDashCollections as in, RouteCallerInput as ir, GetCommentsOptions as it, getAllTermsForEntries as j, ContentRepository as ji, portableTextToProsemirror as jn, S3StorageConfig as jr, ValidatedPluginManifest as jt, WidgetComponentDef as k, MediaItem as ki, computeContentHash as kn, getStoredConfig as kr, PluginManager as kt, CollectionSearchOptions as l, handleContentPublish as li, TranslationsResult as ln, createHookPipeline as lr, getPluginSettings as lt, SearchResult as m, handleContentUnschedule as mi, resolveEmDashPath as mn, SandboxOptions as mr, isPreviewRequest as mt, extractSearchableFields as n, handleContentDiscardDraft as ni, ContentEntry as nn, SystemCleanupFn as nr, UpdateMenuInput as nt, searchCollection as o, handleContentList as oi, InferCollectionData as on, EmailPipeline as or, getCommentCount as ot, SearchResponse as p, handleContentUnpublish as pi, getTranslations as pn, SandboxEmailSendCallback as pr, getPreviewToken as pt, getEntriesByByline as q, GetSectionsOptions as qn, handleRevisionList as qr, getFallbackChain as qt, getSearchStats as r, handleContentDuplicate as ri, EditFieldMeta as rn, PluginRouteError as rr, UpdateMenuItemInput as rt, searchWithDb as s, handleContentListTrashed as si, ResolvePathResult as sn, HookPipeline as sr, getComments as st, extractPlainText as t, handleContentDelete as ti, CollectionResult as tn, CronScheduler as tr, ReorderMenuItemsInput as tt, SEARCH_TOKENIZERS as u, handleContentRestore as ui, getEditMeta as un, createHttpAccess as ur, getSiteSetting as ut, Suggestion as v, file as vi, createEditable as vn, SandboxRunner as vr, GeneratePreviewTokenOptions as vt, PropDef as w, PortableTextBlock$1 as wi, WhereValue as wn, createSandboxRouteErrorEnvelope as wr, verifyPreviewToken as wt, getWidgetComponents as x, FieldUIHints as xi, EntryData as xn, SandboxedPluginInstance as xr, VerifyPreviewTokenResult as xt, getWidgetArea as y, image as yi, createNoop as yn, SandboxRunnerFactory as yr, PreviewTokenPayload as yt, invalidateTermCache as z, PortableTextTextBlock as zn, handleMediaCreate as zr, invalidateBylineObjectCache as zt };
|
|
6398
|
+
//# sourceMappingURL=index-C3Y-rsyN.d.mts.map
|