emdash 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action-token-BdWad2YG.mjs +26 -0
- package/dist/action-token-BdWad2YG.mjs.map +1 -0
- package/dist/adapters-B4-nbElt.d.mts +173 -0
- package/dist/adapters-B4-nbElt.d.mts.map +1 -0
- package/dist/allowed-origins-CLpHGGlc.mjs +116 -0
- package/dist/allowed-origins-CLpHGGlc.mjs.map +1 -0
- package/dist/api/route-utils.d.mts +4 -4
- package/dist/api/route-utils.d.mts.map +1 -1
- package/dist/api/route-utils.mjs +39 -39
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +10 -10
- package/dist/api-DBw_IWoi.mjs +5024 -0
- package/dist/api-DBw_IWoi.mjs.map +1 -0
- package/dist/api-tokens-B0ZipcZ-.mjs +173 -0
- package/dist/api-tokens-B0ZipcZ-.mjs.map +1 -0
- package/dist/apply-Cx48saFC.mjs +1680 -0
- package/dist/apply-Cx48saFC.mjs.map +1 -0
- package/dist/approvals-BXgtXA2s.mjs +460 -0
- package/dist/approvals-BXgtXA2s.mjs.map +1 -0
- package/dist/artifact-fetch-DsRczRGG.mjs +659 -0
- package/dist/artifact-fetch-DsRczRGG.mjs.map +1 -0
- package/dist/artifacts-D-O-qj9C.mjs +307 -0
- package/dist/artifacts-D-O-qj9C.mjs.map +1 -0
- package/dist/astro/image-endpoint.d.mts.map +1 -1
- package/dist/astro/image-endpoint.mjs +26 -6
- package/dist/astro/image-endpoint.mjs.map +1 -1
- package/dist/astro/index.d.mts +14 -14
- package/dist/astro/index.d.mts.map +1 -1
- package/dist/astro/index.mjs +225 -15
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +12 -12
- package/dist/astro/middleware/auth.d.mts.map +1 -1
- package/dist/astro/middleware/auth.mjs +15 -11
- package/dist/astro/middleware/auth.mjs.map +1 -1
- package/dist/astro/middleware/media-usage-write-fence.mjs +4 -4
- package/dist/astro/middleware/redirect.d.mts.map +1 -1
- package/dist/astro/middleware/redirect.mjs +30 -15
- package/dist/astro/middleware/redirect.mjs.map +1 -1
- package/dist/astro/middleware/request-context.d.mts.map +1 -1
- package/dist/astro/middleware/request-context.mjs +71 -44
- package/dist/astro/middleware/request-context.mjs.map +1 -1
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.d.mts +12 -12
- package/dist/astro/middleware.d.mts.map +1 -1
- package/dist/astro/middleware.mjs +129 -107
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +13 -13
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +13 -13
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -5
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -6
- package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +5 -5
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +15 -15
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +15 -15
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +15 -15
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +20 -20
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +20 -20
- package/dist/astro/routes/api/admin/bylines/index.mjs +20 -20
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +17 -17
- package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/bulk.mjs +16 -16
- package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
- package/dist/astro/routes/api/admin/comments/index.mjs +16 -16
- package/dist/astro/routes/api/admin/core-update.mjs +6 -6
- 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/activation.mjs +17 -17
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +19 -19
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +19 -19
- package/dist/astro/routes/api/admin/media-usage/progress.mjs +16 -16
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +22 -22
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +19 -19
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +19 -19
- 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.mjs +7 -7
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +7 -7
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +63 -63
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +62 -62
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +63 -63
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +72 -72
- package/dist/astro/routes/api/admin/plugins/index.mjs +63 -63
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +62 -62
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +71 -71
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +62 -62
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +63 -63
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +73 -73
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +8 -8
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +65 -65
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +63 -63
- package/dist/astro/routes/api/admin/plugins/updates.mjs +62 -62
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +62 -62
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +6 -6
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +62 -62
- package/dist/astro/routes/api/admin/transfer/_...path_.mjs +3 -3
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +30 -30
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +30 -30
- package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/capabilities.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +33 -33
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +33 -33
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +33 -33
- package/dist/astro/routes/api/admin/transfer/exports/index.mjs +34 -34
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +34 -34
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +34 -34
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +34 -34
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +32 -32
- package/dist/astro/routes/api/admin/transfer/imports/index.mjs +34 -34
- 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 +13 -13
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +5 -5
- package/dist/astro/routes/api/admin/users/index.mjs +13 -13
- package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
- package/dist/astro/routes/api/auth/handover.d.mts +8 -0
- package/dist/astro/routes/api/auth/handover.d.mts.map +1 -0
- package/dist/astro/routes/api/auth/handover.mjs +49 -0
- package/dist/astro/routes/api/auth/handover.mjs.map +1 -0
- package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
- package/dist/astro/routes/api/auth/invite/complete.mjs +18 -18
- package/dist/astro/routes/api/auth/invite/index.mjs +15 -15
- package/dist/astro/routes/api/auth/invite/register-options.mjs +16 -16
- package/dist/astro/routes/api/auth/logout.mjs +4 -4
- package/dist/astro/routes/api/auth/magic-link/send.mjs +18 -17
- package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +22 -16
- package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/me.mjs +14 -14
- package/dist/astro/routes/api/auth/mode.mjs +4 -4
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +7 -7
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +13 -13
- package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +26 -19
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +16 -16
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +17 -17
- package/dist/astro/routes/api/auth/passkey/verify.mjs +18 -18
- package/dist/astro/routes/api/auth/signup/complete.mjs +18 -18
- package/dist/astro/routes/api/auth/signup/request.mjs +17 -16
- 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/calendar.mjs +14 -14
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +11 -11
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +17 -17
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +8 -8
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +23 -23
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +27 -27
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +27 -27
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +20 -20
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +15 -15
- package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/index.mjs +14 -14
- package/dist/astro/routes/api/content/_collection_/trash.mjs +14 -14
- package/dist/astro/routes/api/dashboard.mjs +9 -9
- package/dist/astro/routes/api/dev/emails.mjs +4 -4
- package/dist/astro/routes/api/health.mjs +5 -5
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +22 -22
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +4 -4
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress/execute.mjs +28 -21
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
- package/dist/astro/routes/api/import/wordpress/media.mjs +16 -16
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +16 -16
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +8 -0
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +67 -31
- package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +20 -20
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +22 -22
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +35 -28
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +8 -5
- package/dist/astro/routes/api/manifest.mjs.map +1 -1
- package/dist/astro/routes/api/mcp.mjs +81 -81
- package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +32 -16
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/replace.mjs +13 -13
- package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
- package/dist/astro/routes/api/media/_id_/usage.mjs +24 -24
- package/dist/astro/routes/api/media/_id_.mjs +22 -22
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +5 -5
- package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.mjs +44 -14
- package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
- package/dist/astro/routes/api/media/folders/_id_.mjs +15 -15
- package/dist/astro/routes/api/media/folders/index.mjs +15 -15
- 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 +39 -19
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.d.mts.map +1 -1
- package/dist/astro/routes/api/media.mjs +33 -23
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +15 -15
- package/dist/astro/routes/api/menus/_name_/items.mjs +15 -15
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +15 -15
- package/dist/astro/routes/api/menus/_name_/translations.mjs +15 -15
- package/dist/astro/routes/api/menus/_name_.mjs +15 -15
- package/dist/astro/routes/api/menus/index.mjs +15 -15
- 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 +11 -10
- package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/device/token.mjs +10 -9
- package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/register.mjs +7 -6
- package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
- 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 +21 -21
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +8 -8
- package/dist/astro/routes/api/redirects/404s/index.mjs +18 -18
- package/dist/astro/routes/api/redirects/404s/summary.mjs +18 -18
- package/dist/astro/routes/api/redirects/_id_.mjs +18 -18
- package/dist/astro/routes/api/redirects/index.mjs +18 -18
- package/dist/astro/routes/api/relations/_id_/index.mjs +27 -27
- package/dist/astro/routes/api/relations/index.mjs +27 -27
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +15 -15
- package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +62 -62
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +62 -62
- package/dist/astro/routes/api/schema/block-types/index.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/index.mjs +62 -62
- package/dist/astro/routes/api/schema/collections/reorder.mjs +62 -62
- package/dist/astro/routes/api/schema/index.mjs +10 -10
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +62 -62
- package/dist/astro/routes/api/schema/orphans/index.mjs +62 -62
- package/dist/astro/routes/api/search/enable.mjs +17 -17
- package/dist/astro/routes/api/search/index.mjs +16 -16
- package/dist/astro/routes/api/search/rebuild.mjs +17 -17
- package/dist/astro/routes/api/search/stats.mjs +7 -7
- package/dist/astro/routes/api/search/suggest.mjs +16 -16
- package/dist/astro/routes/api/sections/_slug_.mjs +16 -16
- package/dist/astro/routes/api/sections/index.mjs +16 -16
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +6 -6
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -6
- package/dist/astro/routes/api/settings/backups/export.mjs +6 -6
- package/dist/astro/routes/api/settings/backups/index.mjs +7 -7
- package/dist/astro/routes/api/settings/domain-notify.d.mts +8 -0
- package/dist/astro/routes/api/settings/domain-notify.d.mts.map +1 -0
- package/dist/astro/routes/api/settings/domain-notify.mjs +125 -0
- package/dist/astro/routes/api/settings/domain-notify.mjs.map +1 -0
- package/dist/astro/routes/api/settings/domain.d.mts +9 -0
- package/dist/astro/routes/api/settings/domain.d.mts.map +1 -0
- package/dist/astro/routes/api/settings/domain.mjs +61 -0
- package/dist/astro/routes/api/settings/domain.mjs.map +1 -0
- package/dist/astro/routes/api/settings/email.mjs +5 -5
- package/dist/astro/routes/api/settings.mjs +18 -18
- package/dist/astro/routes/api/setup/admin-verify.mjs +19 -19
- package/dist/astro/routes/api/setup/admin.mjs +17 -17
- package/dist/astro/routes/api/setup/dev-bypass.mjs +34 -34
- package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
- package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
- package/dist/astro/routes/api/setup/index.mjs +44 -40
- 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/site/domain-proof.d.mts +8 -0
- package/dist/astro/routes/api/site/domain-proof.d.mts.map +1 -0
- package/dist/astro/routes/api/site/domain-proof.mjs +33 -0
- package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -0
- package/dist/astro/routes/api/snapshot.mjs +7 -7
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/_name_.mjs +19 -19
- package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +27 -27
- package/dist/astro/routes/api/taxonomies/index.mjs +19 -19
- package/dist/astro/routes/api/themes/preview.mjs +5 -5
- package/dist/astro/routes/api/typegen.mjs +5 -5
- package/dist/astro/routes/api/visual-editing/action-token.mjs +5 -5
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +17 -17
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +3 -3
- 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 +14 -14
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +16 -16
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +16 -16
- package/dist/astro/routes/api/widget-areas/_name_.mjs +6 -6
- package/dist/astro/routes/api/widget-areas/index.mjs +16 -16
- package/dist/astro/routes/api/widget-components.mjs +4 -4
- package/dist/astro/routes/robots.txt.mjs +4 -4
- package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +27 -10
- package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
- package/dist/astro/routes/sitemap.xml.d.mts.map +1 -1
- package/dist/astro/routes/sitemap.xml.mjs +11 -10
- package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
- package/dist/astro/types.d.mts +30 -18
- 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/auth/providers/microsoft.d.mts +1 -1
- package/dist/authoritative-records-Dcs7l2H5.mjs +5183 -0
- package/dist/authoritative-records-Dcs7l2H5.mjs.map +1 -0
- package/dist/authorize-TdIGpRSE.mjs +49 -0
- package/dist/authorize-TdIGpRSE.mjs.map +1 -0
- package/dist/backup-CZt5Mzwx.mjs +246 -0
- package/dist/backup-CZt5Mzwx.mjs.map +1 -0
- package/dist/block-types-DHnkzE6u.mjs +132 -0
- package/dist/block-types-DHnkzE6u.mjs.map +1 -0
- package/dist/block-values-C4N_F2-G.mjs +175 -0
- package/dist/block-values-C4N_F2-G.mjs.map +1 -0
- package/dist/byline-BmVKOQ8l.mjs +909 -0
- package/dist/byline-BmVKOQ8l.mjs.map +1 -0
- package/dist/byline-fields-B8SDs3M_.mjs +123 -0
- package/dist/byline-fields-B8SDs3M_.mjs.map +1 -0
- package/dist/byline-fields-Bze3ZdAw.mjs +280 -0
- package/dist/byline-fields-Bze3ZdAw.mjs.map +1 -0
- package/dist/bylines-CHhR28r9.mjs +150 -0
- package/dist/bylines-CHhR28r9.mjs.map +1 -0
- package/dist/bylines-DZS4OflA.mjs +234 -0
- package/dist/bylines-DZS4OflA.mjs.map +1 -0
- package/dist/cache-x0z8t_m9.mjs +133 -0
- package/dist/cache-x0z8t_m9.mjs.map +1 -0
- package/dist/canonical-BUcKRYpG.mjs +174 -0
- package/dist/canonical-BUcKRYpG.mjs.map +1 -0
- package/dist/challenge-store-BHgdPVze.mjs +51 -0
- package/dist/challenge-store-BHgdPVze.mjs.map +1 -0
- package/dist/checksum-BYR5i7qe.mjs +162 -0
- package/dist/checksum-BYR5i7qe.mjs.map +1 -0
- package/dist/chunks-Dr5Vr0zA.mjs +25 -0
- package/dist/chunks-Dr5Vr0zA.mjs.map +1 -0
- package/dist/cli/index.mjs +44 -42
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +107 -107
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +2 -2
- package/dist/client/index.mjs.map +1 -1
- package/dist/comment-CWla6OHV.mjs +325 -0
- package/dist/comment-CWla6OHV.mjs.map +1 -0
- package/dist/comment-reaction-RZrcs5cW.mjs +85 -0
- package/dist/comment-reaction-RZrcs5cW.mjs.map +1 -0
- package/dist/comments-BzmIKVb2.mjs +99 -0
- package/dist/comments-BzmIKVb2.mjs.map +1 -0
- package/dist/comments-Da_dI2O1.mjs +195 -0
- package/dist/comments-Da_dI2O1.mjs.map +1 -0
- package/dist/components-oFXumpf5.mjs +112 -0
- package/dist/components-oFXumpf5.mjs.map +1 -0
- package/dist/config--wamYxBW.d.mts +39 -0
- package/dist/config--wamYxBW.d.mts.map +1 -0
- package/dist/config-Bo4eOOdV.mjs +228 -0
- package/dist/config-Bo4eOOdV.mjs.map +1 -0
- package/dist/config-C4-UxIk7.d.mts +6790 -0
- package/dist/config-C4-UxIk7.d.mts.map +1 -0
- package/dist/connection-UpzYxtE2.mjs +36 -0
- package/dist/connection-UpzYxtE2.mjs.map +1 -0
- package/dist/content-CcHrqkgp.mjs +2072 -0
- package/dist/content-CcHrqkgp.mjs.map +1 -0
- package/dist/content-list-query-Bxxdd9fv.d.mts +26 -0
- package/dist/content-list-query-Bxxdd9fv.d.mts.map +1 -0
- package/dist/content-repair-havk1F0-.mjs +442 -0
- package/dist/content-repair-havk1F0-.mjs.map +1 -0
- package/dist/context-CvhgHgSH.mjs +2043 -0
- package/dist/context-CvhgHgSH.mjs.map +1 -0
- package/dist/credits-CygUrPOi.mjs +110 -0
- package/dist/credits-CygUrPOi.mjs.map +1 -0
- package/dist/cron-C6ytTOLw.mjs +306 -0
- package/dist/cron-C6ytTOLw.mjs.map +1 -0
- package/dist/dashboard-7_FYfafc.mjs +151 -0
- package/dist/dashboard-7_FYfafc.mjs.map +1 -0
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +1 -1
- package/dist/db/libsql-migrations.d.mts +1 -1
- package/dist/db/libsql-migrations.mjs +4 -4
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres-migrations.d.mts +1 -1
- package/dist/db/postgres-migrations.mjs +4 -4
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite-migrations.d.mts +1 -1
- package/dist/db/sqlite-migrations.mjs +4 -4
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/db/sqlite.mjs +1 -1
- package/dist/default-CHCUkV4Z.mjs +81 -0
- package/dist/default-CHCUkV4Z.mjs.map +1 -0
- package/dist/deferred-tasks-G0xhcJTl.d.mts +9 -0
- package/dist/deferred-tasks-G0xhcJTl.d.mts.map +1 -0
- package/dist/device-flow-CzDJmQ1q.mjs +521 -0
- package/dist/device-flow-CzDJmQ1q.mjs.map +1 -0
- package/dist/digest-xJmyPv2r.mjs +194 -0
- package/dist/digest-xJmyPv2r.mjs.map +1 -0
- package/dist/direct-executor-BXiYIVJ9.mjs +104 -0
- package/dist/direct-executor-BXiYIVJ9.mjs.map +1 -0
- package/dist/email-console-7ZPApLlm.mjs +50 -0
- package/dist/email-console-7ZPApLlm.mjs.map +1 -0
- package/dist/email-locale-DFdUA6UF.mjs +25 -0
- package/dist/email-locale-DFdUA6UF.mjs.map +1 -0
- package/dist/emdash-runtime-C4oFeVpN.mjs +4363 -0
- package/dist/emdash-runtime-C4oFeVpN.mjs.map +1 -0
- package/dist/entry-lock-B4n0HdQ_.mjs +163 -0
- package/dist/entry-lock-B4n0HdQ_.mjs.map +1 -0
- package/dist/entry-lock-BAAlKYrz.d.mts +4566 -0
- package/dist/entry-lock-BAAlKYrz.d.mts.map +1 -0
- package/dist/entry-lock-Cjz0h45X.mjs +1209 -0
- package/dist/entry-lock-Cjz0h45X.mjs.map +1 -0
- package/dist/env-types-4bkF6Bqg.mjs +38 -0
- package/dist/env-types-4bkF6Bqg.mjs.map +1 -0
- package/dist/error-DxgQdaZ_.mjs +90 -0
- package/dist/error-DxgQdaZ_.mjs.map +1 -0
- package/dist/errors-CjtE5aWF.mjs +120 -0
- package/dist/errors-CjtE5aWF.mjs.map +1 -0
- package/dist/errors-hskQ0C8G.mjs +479 -0
- package/dist/errors-hskQ0C8G.mjs.map +1 -0
- package/dist/escape-ESFhYzwG.mjs +9 -0
- package/dist/escape-ESFhYzwG.mjs.map +1 -0
- package/dist/fence-vc3aHgRA.mjs +162 -0
- package/dist/fence-vc3aHgRA.mjs.map +1 -0
- package/dist/field-defs-cache-zoow36nz.mjs +77 -0
- package/dist/field-defs-cache-zoow36nz.mjs.map +1 -0
- package/dist/field-map-JD1wG0Tq.mjs +83 -0
- package/dist/field-map-JD1wG0Tq.mjs.map +1 -0
- package/dist/fts-manager-WJCN8uU6.mjs +443 -0
- package/dist/fts-manager-WJCN8uU6.mjs.map +1 -0
- package/dist/gc-CsGZiKdH.mjs +75 -0
- package/dist/gc-CsGZiKdH.mjs.map +1 -0
- package/dist/hook-result-CXjtMk7Q.d.mts +31 -0
- package/dist/hook-result-CXjtMk7Q.d.mts.map +1 -0
- package/dist/hreflang-BAma7iRr.mjs +105 -0
- package/dist/hreflang-BAma7iRr.mjs.map +1 -0
- package/dist/hreflang-BsYo4x_M.d.mts +50 -0
- package/dist/hreflang-BsYo4x_M.d.mts.map +1 -0
- package/dist/http-route-dispatch-C8G7hAK6.mjs +342 -0
- package/dist/http-route-dispatch-C8G7hAK6.mjs.map +1 -0
- package/dist/identity-BwBKM1fH.mjs +35 -0
- package/dist/identity-BwBKM1fH.mjs.map +1 -0
- package/dist/import-DJ3Z2wxE.mjs +2021 -0
- package/dist/import-DJ3Z2wxE.mjs.map +1 -0
- package/dist/index-DYsn97dY.d.mts +623 -0
- package/dist/index-DYsn97dY.d.mts.map +1 -0
- package/dist/index.d.mts +24 -24
- package/dist/index.mjs +87 -87
- package/dist/install-finalization-DCFnFSHv.mjs +58 -0
- package/dist/install-finalization-DCFnFSHv.mjs.map +1 -0
- package/dist/keys-CGvAndSp.mjs +61 -0
- package/dist/keys-CGvAndSp.mjs.map +1 -0
- package/dist/kinds-DT1W4T4Y.mjs +974 -0
- package/dist/kinds-DT1W4T4Y.mjs.map +1 -0
- package/dist/lifecycle-BzglCSY0.mjs +25 -0
- package/dist/lifecycle-BzglCSY0.mjs.map +1 -0
- package/dist/load-DjUqmf3s.mjs +28 -0
- package/dist/load-DjUqmf3s.mjs.map +1 -0
- package/dist/loader-CetY659y.mjs +1355 -0
- package/dist/loader-CetY659y.mjs.map +1 -0
- package/dist/loops-DkT1zkPH.mjs +205 -0
- package/dist/loops-DkT1zkPH.mjs.map +1 -0
- package/dist/manifest-builder-BOFCd9rX.mjs +189 -0
- package/dist/manifest-builder-BOFCd9rX.mjs.map +1 -0
- package/dist/manifest-schema-BiFBPEsp.mjs +497 -0
- package/dist/manifest-schema-BiFBPEsp.mjs.map +1 -0
- package/dist/marketplace-CUlenvZm.mjs +257 -0
- package/dist/marketplace-CUlenvZm.mjs.map +1 -0
- package/dist/media/image-endpoint.d.mts +26 -2
- package/dist/media/image-endpoint.d.mts.map +1 -1
- package/dist/media/image-endpoint.mjs +73 -3
- package/dist/media/image-endpoint.mjs.map +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/local-runtime.d.mts +14 -14
- package/dist/media/local-runtime.mjs +4 -4
- package/dist/media-CRKsKlfK.mjs +416 -0
- package/dist/media-CRKsKlfK.mjs.map +1 -0
- package/dist/media-C_z7sRuC.mjs +294 -0
- package/dist/media-C_z7sRuC.mjs.map +1 -0
- package/dist/media-IT8hQleU.mjs +373 -0
- package/dist/media-IT8hQleU.mjs.map +1 -0
- package/dist/media-allowlist-Ct6wvnT2.mjs +45 -0
- package/dist/media-allowlist-Ct6wvnT2.mjs.map +1 -0
- package/dist/media-folders-DtMt-vAA.mjs +210 -0
- package/dist/media-folders-DtMt-vAA.mjs.map +1 -0
- package/dist/media-url-BpXLqCmf.mjs +43 -0
- package/dist/media-url-BpXLqCmf.mjs.map +1 -0
- package/dist/media-usage-DEPHZZ9X.mjs +282 -0
- package/dist/media-usage-DEPHZZ9X.mjs.map +1 -0
- package/dist/media-usage-activation-V2Siabtw.mjs +78 -0
- package/dist/media-usage-activation-V2Siabtw.mjs.map +1 -0
- package/dist/media-usage-work-Cv1OE59F.mjs +151 -0
- package/dist/media-usage-work-Cv1OE59F.mjs.map +1 -0
- package/dist/media-usage-work-cgDYGvrt.mjs +1015 -0
- package/dist/media-usage-work-cgDYGvrt.mjs.map +1 -0
- package/dist/menus-CvVYfsuk.mjs +753 -0
- package/dist/menus-CvVYfsuk.mjs.map +1 -0
- package/dist/menus-D1HC8npj.mjs +92 -0
- package/dist/menus-D1HC8npj.mjs.map +1 -0
- package/dist/menus-DL8IPIcm.mjs +3721 -0
- package/dist/menus-DL8IPIcm.mjs.map +1 -0
- package/dist/migrations/index.d.mts +1 -1
- package/dist/migrations/index.mjs +3 -3
- package/dist/mode-eieqAWLe.mjs +23 -0
- package/dist/mode-eieqAWLe.mjs.map +1 -0
- package/dist/node-sqlite-compat-VuyzJw1b.mjs +63 -0
- package/dist/node-sqlite-compat-VuyzJw1b.mjs.map +1 -0
- package/dist/oauth-authorization-B6ZJbMd2.mjs +274 -0
- package/dist/oauth-authorization-B6ZJbMd2.mjs.map +1 -0
- package/dist/oauth-clients-DVjRc9v3.mjs +266 -0
- package/dist/oauth-clients-DVjRc9v3.mjs.map +1 -0
- package/dist/oauth-state-store-CnmYYsVQ.mjs +50 -0
- package/dist/oauth-state-store-CnmYYsVQ.mjs.map +1 -0
- package/dist/oauth-user-lookup-Dz1_R5vT.mjs +26 -0
- package/dist/oauth-user-lookup-Dz1_R5vT.mjs.map +1 -0
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/options-BR9XZl7h.d.mts +81 -0
- package/dist/options-BR9XZl7h.d.mts.map +1 -0
- package/dist/ownership-COPyVysP.mjs +12 -0
- package/dist/ownership-COPyVysP.mjs.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/page/index.mjs +3 -3
- package/dist/parse-BOGhrwSq.d.mts +174 -0
- package/dist/parse-BOGhrwSq.d.mts.map +1 -0
- package/dist/parse-Cn5aSk1N.mjs +81 -0
- package/dist/parse-Cn5aSk1N.mjs.map +1 -0
- package/dist/passkey-config-mMFRQUCj.mjs +46 -0
- package/dist/passkey-config-mMFRQUCj.mjs.map +1 -0
- package/dist/paths-BmcAdBo9.mjs +77 -0
- package/dist/paths-BmcAdBo9.mjs.map +1 -0
- package/dist/patterns-CMNnYCgf.mjs +159 -0
- package/dist/patterns-CMNnYCgf.mjs.map +1 -0
- package/dist/placeholder-nOep3_Gn.d.mts +306 -0
- package/dist/placeholder-nOep3_Gn.d.mts.map +1 -0
- package/dist/plan-CDY4K8CH.mjs +135 -0
- package/dist/plan-CDY4K8CH.mjs.map +1 -0
- package/dist/plugin-test-runtime.d.mts +14 -14
- package/dist/plugin-test-runtime.d.mts.map +1 -1
- package/dist/plugin-test-runtime.mjs +100 -100
- package/dist/plugin-types.d.mts +2 -2
- package/dist/plugin-utils.d.mts +12 -12
- package/dist/plugin-utils.mjs +1 -1
- package/dist/plugin-utils.mjs.map +1 -1
- package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
- package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
- package/dist/plugins/host.d.mts +5 -5
- package/dist/plugins/host.mjs +35 -35
- package/dist/plugins-DFBpfbO3.mjs +261 -0
- package/dist/plugins-DFBpfbO3.mjs.map +1 -0
- package/dist/policy-B_2qnHSy.mjs +45 -0
- package/dist/policy-B_2qnHSy.mjs.map +1 -0
- package/dist/portable-text-Dc2YAusw.mjs +307 -0
- package/dist/portable-text-Dc2YAusw.mjs.map +1 -0
- package/dist/preview-BtzikJ9O.mjs +107 -0
- package/dist/preview-BtzikJ9O.mjs.map +1 -0
- package/dist/protocol-M268ox8L.d.mts +61 -0
- package/dist/protocol-M268ox8L.d.mts.map +1 -0
- package/dist/public-submission-BQZavgZU.mjs +251 -0
- package/dist/public-submission-BQZavgZU.mjs.map +1 -0
- package/dist/public-url-uT1Ok2Tu.mjs +101 -0
- package/dist/public-url-uT1Ok2Tu.mjs.map +1 -0
- package/dist/query-BGG3sDEd.mjs +1127 -0
- package/dist/query-BGG3sDEd.mjs.map +1 -0
- package/dist/query-C_CWlifp.mjs +41 -0
- package/dist/query-C_CWlifp.mjs.map +1 -0
- package/dist/range-CXK_kDbI.mjs +51 -0
- package/dist/range-CXK_kDbI.mjs.map +1 -0
- package/dist/rate-limit-Dvamvay-.mjs +127 -0
- package/dist/rate-limit-Dvamvay-.mjs.map +1 -0
- package/dist/receipt-BmQGzquP.mjs +43 -0
- package/dist/receipt-BmQGzquP.mjs.map +1 -0
- package/dist/redirect-B39kTQ_0.mjs +423 -0
- package/dist/redirect-B39kTQ_0.mjs.map +1 -0
- package/dist/redirect-BguJ00Pv.mjs +19 -0
- package/dist/redirect-BguJ00Pv.mjs.map +1 -0
- package/dist/redirects-C8G4BsfP.mjs +446 -0
- package/dist/redirects-C8G4BsfP.mjs.map +1 -0
- package/dist/redirects-DFT7Wr-e.mjs +148 -0
- package/dist/redirects-DFT7Wr-e.mjs.map +1 -0
- package/dist/registry/testing.mjs +3 -3
- package/dist/registry-DeZ27gVi.mjs +8374 -0
- package/dist/registry-DeZ27gVi.mjs.map +1 -0
- package/dist/relations-DBB1bRJW.mjs +776 -0
- package/dist/relations-DBB1bRJW.mjs.map +1 -0
- package/dist/request-context.d.mts +1 -1
- package/dist/request-meta-BSvkhIBX.mjs +141 -0
- package/dist/request-meta-BSvkhIBX.mjs.map +1 -0
- package/dist/resolve-BxH64HN9.mjs +100 -0
- package/dist/resolve-BxH64HN9.mjs.map +1 -0
- package/dist/route-wire-CwbWB_6O.mjs +197 -0
- package/dist/route-wire-CwbWB_6O.mjs.map +1 -0
- package/dist/routes-BfIxc7ft.mjs +272 -0
- package/dist/routes-BfIxc7ft.mjs.map +1 -0
- package/dist/runner-DkeafPBA.d.mts +68 -0
- package/dist/runner-DkeafPBA.d.mts.map +1 -0
- package/dist/runner-wqt4BrIW.mjs +6383 -0
- package/dist/runner-wqt4BrIW.mjs.map +1 -0
- package/dist/runtime.d.mts +13 -13
- package/dist/runtime.mjs +1 -1
- package/dist/schema/project-env-types.mjs +29 -29
- package/dist/schema-BXIW-JHi.mjs +815 -0
- package/dist/schema-BXIW-JHi.mjs.map +1 -0
- package/dist/schema-I74JwYte.mjs +13 -0
- package/dist/schema-I74JwYte.mjs.map +1 -0
- package/dist/scopes-RWZ5ft_Z.mjs +34 -0
- package/dist/scopes-RWZ5ft_Z.mjs.map +1 -0
- package/dist/search-DxwagyWS.mjs +450 -0
- package/dist/search-DxwagyWS.mjs.map +1 -0
- package/dist/sections-Ccq9ZgyD.mjs +346 -0
- package/dist/sections-Ccq9ZgyD.mjs.map +1 -0
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +27 -27
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +14 -14
- package/dist/seo-CCnfPWAQ.mjs +133 -0
- package/dist/seo-CCnfPWAQ.mjs.map +1 -0
- package/dist/seo-QCtJ1jjV.mjs +188 -0
- package/dist/seo-QCtJ1jjV.mjs.map +1 -0
- package/dist/service-DX84s2rw.mjs +150 -0
- package/dist/service-DX84s2rw.mjs.map +1 -0
- package/dist/session-user-1dtJc2zv.mjs +61 -0
- package/dist/session-user-1dtJc2zv.mjs.map +1 -0
- package/dist/settings-B1jOxAIl.mjs +443 -0
- package/dist/settings-B1jOxAIl.mjs.map +1 -0
- package/dist/settings-Bc1IBl1t.mjs +66 -0
- package/dist/settings-Bc1IBl1t.mjs.map +1 -0
- package/dist/settings-GaZ5sVgg.mjs +73 -0
- package/dist/settings-GaZ5sVgg.mjs.map +1 -0
- package/dist/setup-complete-DidMAWJS.mjs +65 -0
- package/dist/setup-complete-DidMAWJS.mjs.map +1 -0
- package/dist/setup-nonce-DKl4S4c6.mjs +25 -0
- package/dist/setup-nonce-DKl4S4c6.mjs.map +1 -0
- package/dist/site-domain-CbI51Pc2.mjs +113 -0
- package/dist/site-domain-CbI51Pc2.mjs.map +1 -0
- package/dist/site-settings-CDdT4mVm.mjs +50 -0
- package/dist/site-settings-CDdT4mVm.mjs.map +1 -0
- package/dist/site-url-CrDZaAvo.mjs +45 -0
- package/dist/site-url-CrDZaAvo.mjs.map +1 -0
- package/dist/sitemap-name-W3BTor6X.mjs +26 -0
- package/dist/sitemap-name-W3BTor6X.mjs.map +1 -0
- package/dist/slug-BJhHKoOH.mjs +16 -0
- package/dist/slug-BJhHKoOH.mjs.map +1 -0
- package/dist/slugify-bu2-jKia.mjs +22 -0
- package/dist/slugify-bu2-jKia.mjs.map +1 -0
- package/dist/snapshot-BuI_2uDe.mjs +414 -0
- package/dist/snapshot-BuI_2uDe.mjs.map +1 -0
- package/dist/ssrf-LM_0wpGA.mjs +406 -0
- package/dist/ssrf-LM_0wpGA.mjs.map +1 -0
- package/dist/stage-DhzZuYaT.mjs +662 -0
- package/dist/stage-DhzZuYaT.mjs.map +1 -0
- package/dist/staged-DboEaWsV.mjs +686 -0
- package/dist/staged-DboEaWsV.mjs.map +1 -0
- package/dist/state-DCXDzjHq.mjs +178 -0
- package/dist/state-DCXDzjHq.mjs.map +1 -0
- package/dist/status-Dl85BK39.mjs +30 -0
- package/dist/status-Dl85BK39.mjs.map +1 -0
- package/dist/storage/local.d.mts +2 -2
- package/dist/storage/local.d.mts.map +1 -1
- package/dist/storage/local.mjs +11 -4
- package/dist/storage/local.mjs.map +1 -1
- package/dist/storage/s3.d.mts +4 -2
- package/dist/storage/s3.d.mts.map +1 -1
- package/dist/storage/s3.mjs +56 -9
- package/dist/storage/s3.mjs.map +1 -1
- package/dist/storage-query-BOBmeDMD.d.mts +1615 -0
- package/dist/storage-query-BOBmeDMD.d.mts.map +1 -0
- package/dist/tar-K40edFMt.mjs +449 -0
- package/dist/tar-K40edFMt.mjs.map +1 -0
- package/dist/target-BOighEY1.mjs +27 -0
- package/dist/target-BOighEY1.mjs.map +1 -0
- package/dist/taxonomies-DQSywBvX.mjs +697 -0
- package/dist/taxonomies-DQSywBvX.mjs.map +1 -0
- package/dist/taxonomies-Dj5eaobC.mjs +939 -0
- package/dist/taxonomies-Dj5eaobC.mjs.map +1 -0
- package/dist/taxonomy-QrNmTfIZ.mjs +550 -0
- package/dist/taxonomy-QrNmTfIZ.mjs.map +1 -0
- package/dist/tokens-j5L0as2H.mjs +171 -0
- package/dist/tokens-j5L0as2H.mjs.map +1 -0
- package/dist/transfer-CYEw8Tu4.mjs +8873 -0
- package/dist/transfer-CYEw8Tu4.mjs.map +1 -0
- package/dist/transfer-DDX10hkD.mjs +166 -0
- package/dist/transfer-DDX10hkD.mjs.map +1 -0
- package/dist/transfer-download-BAqq6GJv.mjs +33 -0
- package/dist/transfer-download-BAqq6GJv.mjs.map +1 -0
- package/dist/transformations-De44wqV_.mjs +196 -0
- package/dist/transformations-De44wqV_.mjs.map +1 -0
- package/dist/transport-1QjUhCRO.d.mts +42 -0
- package/dist/transport-1QjUhCRO.d.mts.map +1 -0
- package/dist/transport-Ds5pVX7p.mjs +136 -0
- package/dist/transport-Ds5pVX7p.mjs.map +1 -0
- package/dist/trusted-proxy-d4Tk6biT.mjs +51 -0
- package/dist/trusted-proxy-d4Tk6biT.mjs.map +1 -0
- package/dist/turnstile-DaFLtyrs.mjs +58 -0
- package/dist/turnstile-DaFLtyrs.mjs.map +1 -0
- package/dist/types-B4-1P2DK.d.mts +227 -0
- package/dist/types-B4-1P2DK.d.mts.map +1 -0
- package/dist/types-BKXA0f-c.mjs +16 -0
- package/dist/types-BKXA0f-c.mjs.map +1 -0
- package/dist/types-BiHcpUoO.d.mts +374 -0
- package/dist/types-BiHcpUoO.d.mts.map +1 -0
- package/dist/types-BihhvkyN.d.mts +85 -0
- package/dist/types-BihhvkyN.d.mts.map +1 -0
- package/dist/types-Bq9Wohd7.d.mts +363 -0
- package/dist/types-Bq9Wohd7.d.mts.map +1 -0
- package/dist/types-C-Xp0CcN.mjs.map +1 -1
- package/dist/types-C4P7F1Vq.d.mts +1741 -0
- package/dist/types-C4P7F1Vq.d.mts.map +1 -0
- package/dist/types-CGaqwHw4.mjs +37 -0
- package/dist/types-CGaqwHw4.mjs.map +1 -0
- package/dist/types-D4ECCE4X.mjs +77 -0
- package/dist/types-D4ECCE4X.mjs.map +1 -0
- package/dist/types-DcRJp0vS.d.mts +125 -0
- package/dist/types-DcRJp0vS.d.mts.map +1 -0
- package/dist/types-Ff85fTzU.d.mts +289 -0
- package/dist/types-Ff85fTzU.d.mts.map +1 -0
- package/dist/types-UKr5Sf4y.d.mts +916 -0
- package/dist/types-UKr5Sf4y.d.mts.map +1 -0
- package/dist/types-YpN8hZW7.d.mts +204 -0
- package/dist/types-YpN8hZW7.d.mts.map +1 -0
- package/dist/update-check-DrlsK-tt.mjs +161 -0
- package/dist/update-check-DrlsK-tt.mjs.map +1 -0
- package/dist/upload-attempts-D8CPPvRU.mjs +32 -0
- package/dist/upload-attempts-D8CPPvRU.mjs.map +1 -0
- package/dist/url-pattern-Di4Nn3vP.mjs +41 -0
- package/dist/url-pattern-Di4Nn3vP.mjs.map +1 -0
- package/dist/user-B-ZdGjhI.mjs +171 -0
- package/dist/user-B-ZdGjhI.mjs.map +1 -0
- package/dist/utils-D7wL3r6-.mjs +437 -0
- package/dist/utils-D7wL3r6-.mjs.map +1 -0
- package/dist/validate-BSZbSUDk.mjs +524 -0
- package/dist/validate-BSZbSUDk.mjs.map +1 -0
- package/dist/validate-Dfv0DpZi.d.mts +468 -0
- package/dist/validate-Dfv0DpZi.d.mts.map +1 -0
- package/dist/validation-DRyC_Vm5.mjs +219 -0
- package/dist/validation-DRyC_Vm5.mjs.map +1 -0
- package/dist/version-C4kz0PcO.mjs +7 -0
- package/dist/version-C4kz0PcO.mjs.map +1 -0
- package/dist/version-jhs2BRtl.mjs +9 -0
- package/dist/version-jhs2BRtl.mjs.map +1 -0
- package/dist/video-DReZ48Un.mjs +54 -0
- package/dist/video-DReZ48Un.mjs.map +1 -0
- package/dist/virtual-modules-D0e6VbEv.mjs +516 -0
- package/dist/virtual-modules-D0e6VbEv.mjs.map +1 -0
- package/dist/widgets-BkcMzKct.mjs +121 -0
- package/dist/widgets-BkcMzKct.mjs.map +1 -0
- package/dist/wxr-taxonomies-BxI0CbTg.mjs +453 -0
- package/dist/wxr-taxonomies-BxI0CbTg.mjs.map +1 -0
- package/dist/wxr-taxonomies-Dad33GJi.d.mts +34 -0
- package/dist/wxr-taxonomies-Dad33GJi.d.mts.map +1 -0
- package/package.json +13 -10
- package/src/api/errors.ts +9 -0
- package/src/api/handlers/api-tokens.ts +12 -6
- package/src/api/handlers/content.ts +57 -8
- package/src/api/handlers/domain-move-notice.ts +94 -0
- package/src/api/handlers/index.ts +2 -0
- package/src/api/handlers/manifest.ts +5 -0
- package/src/api/handlers/media-usage.ts +2 -1
- package/src/api/handlers/media.ts +1 -0
- package/src/api/handlers/seo.ts +155 -59
- package/src/api/handlers/settings.ts +31 -1
- package/src/api/handlers/site-domain.ts +143 -0
- package/src/api/openapi/document.ts +2 -2
- package/src/api/public-url.ts +1 -1
- package/src/api/schemas/content.ts +20 -0
- package/src/api/schemas/media-usage.ts +7 -1
- package/src/api/schemas/media.ts +12 -0
- package/src/api/site-url.ts +53 -5
- package/src/api/types.ts +2 -0
- package/src/astro/image-endpoint.ts +46 -4
- package/src/astro/integration/admin-locales.ts +168 -0
- package/src/astro/integration/dev-env.ts +84 -0
- package/src/astro/integration/index.ts +49 -9
- package/src/astro/integration/routes.ts +20 -0
- package/src/astro/integration/runtime.ts +15 -0
- package/src/astro/integration/vite-config.ts +18 -1
- package/src/astro/middleware/auth.ts +16 -3
- package/src/astro/middleware/csp.ts +1 -0
- package/src/astro/middleware/redirect.ts +27 -12
- package/src/astro/middleware/request-context.ts +12 -6
- package/src/astro/middleware.ts +53 -14
- package/src/astro/routes/api/auth/handover.ts +58 -0
- package/src/astro/routes/api/auth/magic-link/verify.ts +11 -3
- package/src/astro/routes/api/auth/passkey/options.ts +10 -2
- package/src/astro/routes/api/import/wordpress/execute.ts +19 -0
- package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +80 -42
- package/src/astro/routes/api/import/wordpress-plugin/execute.ts +15 -0
- package/src/astro/routes/api/manifest.ts +10 -0
- package/src/astro/routes/api/media/[id]/confirm.ts +19 -0
- package/src/astro/routes/api/media/file/[...key].ts +60 -12
- package/src/astro/routes/api/media/upload-url.ts +28 -4
- package/src/astro/routes/api/media.ts +15 -0
- package/src/astro/routes/api/schema/index.ts +1 -1
- package/src/astro/routes/api/settings/domain-notify.ts +76 -0
- package/src/astro/routes/api/settings/domain.ts +63 -0
- package/src/astro/routes/api/setup/index.ts +7 -0
- package/src/astro/routes/api/site/domain-proof.ts +28 -0
- package/src/astro/routes/sitemap-[collection].xml.ts +31 -8
- package/src/astro/routes/sitemap.xml.ts +12 -10
- package/src/astro/types.ts +13 -1
- package/src/auth/rate-limit.ts +18 -13
- package/src/auth/types.ts +7 -0
- package/src/aws-sdk.d.ts +2 -1
- package/src/cleanup.ts +26 -0
- package/src/cli/commands/export-seed.ts +2 -0
- package/src/cli/commands/seed.ts +5 -4
- package/src/client/index.ts +6 -1
- package/src/comments/public-submission.ts +15 -8
- package/src/components/CommentForm.astro +48 -8
- package/src/components/Comments.astro +50 -28
- package/src/components/EmDashImage.astro +6 -4
- package/src/components/Gallery.astro +4 -3
- package/src/components/Image.astro +4 -3
- package/src/components/InlinePortableTextEditor.tsx +148 -26
- package/src/components/Video.astro +100 -0
- package/src/components/index.ts +4 -1
- package/src/components/inline-code-block.tsx +8 -0
- package/src/components/webmcp-search.ts +15 -19
- package/src/components/widgets/RecentPosts.astro +57 -17
- package/src/content/converters/mark-safety.ts +3 -3
- package/src/content/converters/portable-text-identity.ts +1 -0
- package/src/content/converters/portable-text-to-prosemirror.ts +7 -0
- package/src/content/converters/prosemirror-to-portable-text.ts +16 -0
- package/src/content/converters/types.ts +22 -0
- package/src/content/converters/video.ts +77 -0
- package/src/database/datetime-storage.ts +1 -1
- package/src/database/migrations/runner.ts +13 -1
- package/src/database/repositories/comment.ts +17 -3
- package/src/database/repositories/content.ts +22 -3
- package/src/database/repositories/plugin-storage.ts +28 -19
- package/src/database/repositories/redirect.ts +24 -2
- package/src/database/repositories/taxonomy.ts +61 -46
- package/src/database/repositories/types.ts +2 -0
- package/src/emdash-runtime.ts +217 -68
- package/src/import/sources/wordpress-plugin.ts +3 -2
- package/src/import/utils.ts +2 -3
- package/src/index.ts +3 -0
- package/src/loader.ts +134 -43
- package/src/media/image-endpoint.ts +101 -1
- package/src/media/responsive.ts +14 -7
- package/src/media/usage/extractor.ts +19 -2
- package/src/media/usage/types.ts +5 -1
- package/src/plugin-utils.ts +1 -1
- package/src/plugins/context.ts +3 -7
- package/src/plugins/hooks.ts +1 -1
- package/src/plugins/http-route-dispatch.ts +5 -1
- package/src/plugins/manifest-schema.ts +1 -0
- package/src/plugins/route-error.ts +14 -0
- package/src/plugins/routes.ts +2 -2
- package/src/plugins/state.ts +36 -0
- package/src/plugins/types.ts +6 -0
- package/src/query.ts +8 -0
- package/src/redirects/patterns.ts +26 -2
- package/src/schema/registry.ts +7 -4
- package/src/schema/slug.ts +19 -0
- package/src/search/text-extraction.ts +6 -1
- package/src/seed/validate.ts +31 -0
- package/src/seo/sitemap-name.ts +22 -0
- package/src/storage/index.ts +2 -0
- package/src/storage/local.ts +10 -2
- package/src/storage/range.ts +54 -0
- package/src/storage/s3.ts +52 -8
- package/src/storage/types.ts +30 -3
- package/src/ui.ts +1 -0
- package/src/utils/slugify.ts +6 -1
- package/src/visual-editing/toolbar.ts +80 -35
- package/src/widgets/components.ts +4 -0
- package/src/widgets/index.ts +74 -82
- package/src/widgets/recent-posts.ts +62 -0
- package/dist/action-token-AgOs1UWD.mjs +0 -26
- package/dist/action-token-AgOs1UWD.mjs.map +0 -1
- package/dist/adapters-DM1oyHIN.d.mts +0 -173
- package/dist/adapters-DM1oyHIN.d.mts.map +0 -1
- package/dist/allowed-origins-CFtudhyw.mjs +0 -116
- package/dist/allowed-origins-CFtudhyw.mjs.map +0 -1
- package/dist/api-CltsXhiX.mjs +0 -4980
- package/dist/api-CltsXhiX.mjs.map +0 -1
- package/dist/api-tokens-P3mAaQgr.mjs +0 -166
- package/dist/api-tokens-P3mAaQgr.mjs.map +0 -1
- package/dist/apply-Q7uvzBWW.mjs +0 -1680
- package/dist/apply-Q7uvzBWW.mjs.map +0 -1
- package/dist/approvals-DycwI6lZ.mjs +0 -460
- package/dist/approvals-DycwI6lZ.mjs.map +0 -1
- package/dist/artifact-fetch-CWxyELVI.mjs +0 -659
- package/dist/artifact-fetch-CWxyELVI.mjs.map +0 -1
- package/dist/artifacts-UzWbysb8.mjs +0 -307
- package/dist/artifacts-UzWbysb8.mjs.map +0 -1
- package/dist/authoritative-records-dSvXCfzb.mjs +0 -5172
- package/dist/authoritative-records-dSvXCfzb.mjs.map +0 -1
- package/dist/authorize-DeWfk--K.mjs +0 -49
- package/dist/authorize-DeWfk--K.mjs.map +0 -1
- package/dist/backup-CFnbdTSJ.mjs +0 -246
- package/dist/backup-CFnbdTSJ.mjs.map +0 -1
- package/dist/block-types-C0YFSfR7.mjs +0 -132
- package/dist/block-types-C0YFSfR7.mjs.map +0 -1
- package/dist/block-values-H4E0XwE8.mjs +0 -175
- package/dist/block-values-H4E0XwE8.mjs.map +0 -1
- package/dist/byline-BhVslYLz.mjs +0 -909
- package/dist/byline-BhVslYLz.mjs.map +0 -1
- package/dist/byline-fields-DHJs0Mja.mjs +0 -280
- package/dist/byline-fields-DHJs0Mja.mjs.map +0 -1
- package/dist/byline-fields-xdxE9kxZ.mjs +0 -123
- package/dist/byline-fields-xdxE9kxZ.mjs.map +0 -1
- package/dist/bylines-B_nN9liM.mjs +0 -234
- package/dist/bylines-B_nN9liM.mjs.map +0 -1
- package/dist/bylines-C71YACkL.mjs +0 -150
- package/dist/bylines-C71YACkL.mjs.map +0 -1
- package/dist/cache-aTYCL9nK.mjs +0 -133
- package/dist/cache-aTYCL9nK.mjs.map +0 -1
- package/dist/canonical-Y1dpjCnp.mjs +0 -174
- package/dist/canonical-Y1dpjCnp.mjs.map +0 -1
- package/dist/challenge-store-CxZxPqaw.mjs +0 -51
- package/dist/challenge-store-CxZxPqaw.mjs.map +0 -1
- package/dist/checksum-DtH6m5uk.mjs +0 -162
- package/dist/checksum-DtH6m5uk.mjs.map +0 -1
- package/dist/chunks-zlGB5IQP.mjs +0 -25
- package/dist/chunks-zlGB5IQP.mjs.map +0 -1
- package/dist/comment-Bu08Wvr3.mjs +0 -313
- package/dist/comment-Bu08Wvr3.mjs.map +0 -1
- package/dist/comment-reaction-B8SfT-yM.mjs +0 -85
- package/dist/comment-reaction-B8SfT-yM.mjs.map +0 -1
- package/dist/comments-BRtp992B.mjs +0 -99
- package/dist/comments-BRtp992B.mjs.map +0 -1
- package/dist/comments-DVUYqdyC.mjs +0 -195
- package/dist/comments-DVUYqdyC.mjs.map +0 -1
- package/dist/components-CQY-Sgm-.mjs +0 -108
- package/dist/components-CQY-Sgm-.mjs.map +0 -1
- package/dist/config-B-uePMLj.d.mts +0 -39
- package/dist/config-B-uePMLj.d.mts.map +0 -1
- package/dist/config-B6BDSsz2.d.mts +0 -6712
- package/dist/config-B6BDSsz2.d.mts.map +0 -1
- package/dist/config-BsJHiQxC.mjs +0 -228
- package/dist/config-BsJHiQxC.mjs.map +0 -1
- package/dist/connection-B9pIasFd.mjs +0 -36
- package/dist/connection-B9pIasFd.mjs.map +0 -1
- package/dist/content-Dji9vEiW.mjs +0 -2063
- package/dist/content-Dji9vEiW.mjs.map +0 -1
- package/dist/content-list-query-DiNwyKtd.d.mts +0 -26
- package/dist/content-list-query-DiNwyKtd.d.mts.map +0 -1
- package/dist/content-repair-B7wnbzhN.mjs +0 -442
- package/dist/content-repair-B7wnbzhN.mjs.map +0 -1
- package/dist/context-Ctcxc8Ia.mjs +0 -2026
- package/dist/context-Ctcxc8Ia.mjs.map +0 -1
- package/dist/credits-Bu7dlobo.mjs +0 -110
- package/dist/credits-Bu7dlobo.mjs.map +0 -1
- package/dist/cron-xe5XKqA-.mjs +0 -306
- package/dist/cron-xe5XKqA-.mjs.map +0 -1
- package/dist/dashboard-B5hVHOtf.mjs +0 -151
- package/dist/dashboard-B5hVHOtf.mjs.map +0 -1
- package/dist/default-DaoYyFRS.mjs +0 -81
- package/dist/default-DaoYyFRS.mjs.map +0 -1
- package/dist/deferred-tasks-BYcDx2o_.d.mts +0 -9
- package/dist/deferred-tasks-BYcDx2o_.d.mts.map +0 -1
- package/dist/device-flow-Ma5P5d2e.mjs +0 -521
- package/dist/device-flow-Ma5P5d2e.mjs.map +0 -1
- package/dist/digest-xIpR3o64.mjs +0 -194
- package/dist/digest-xIpR3o64.mjs.map +0 -1
- package/dist/direct-executor-DMWwCey3.mjs +0 -104
- package/dist/direct-executor-DMWwCey3.mjs.map +0 -1
- package/dist/email-console-DmqVF5J_.mjs +0 -50
- package/dist/email-console-DmqVF5J_.mjs.map +0 -1
- package/dist/email-locale-Cc5YSXfJ.mjs +0 -25
- package/dist/email-locale-Cc5YSXfJ.mjs.map +0 -1
- package/dist/emdash-runtime-BlybX9Ui.mjs +0 -4249
- package/dist/emdash-runtime-BlybX9Ui.mjs.map +0 -1
- package/dist/entry-lock-De1L8qUQ.mjs +0 -163
- package/dist/entry-lock-De1L8qUQ.mjs.map +0 -1
- package/dist/entry-lock-esmMbgI9.d.mts +0 -4551
- package/dist/entry-lock-esmMbgI9.d.mts.map +0 -1
- package/dist/entry-lock-sxz2PGAT.mjs +0 -1197
- package/dist/entry-lock-sxz2PGAT.mjs.map +0 -1
- package/dist/env-types-BkjCtN13.mjs +0 -38
- package/dist/env-types-BkjCtN13.mjs.map +0 -1
- package/dist/error-B0rgPgsQ.mjs +0 -90
- package/dist/error-B0rgPgsQ.mjs.map +0 -1
- package/dist/errors-CuHQRiBW.mjs +0 -120
- package/dist/errors-CuHQRiBW.mjs.map +0 -1
- package/dist/errors-DTE6C3K_.mjs +0 -470
- package/dist/errors-DTE6C3K_.mjs.map +0 -1
- package/dist/escape-nJW7dR0s.mjs +0 -9
- package/dist/escape-nJW7dR0s.mjs.map +0 -1
- package/dist/fence-CGw57S4v.mjs +0 -162
- package/dist/fence-CGw57S4v.mjs.map +0 -1
- package/dist/field-defs-cache-Bw8w499w.mjs +0 -77
- package/dist/field-defs-cache-Bw8w499w.mjs.map +0 -1
- package/dist/field-map-hn-D-SyH.mjs +0 -83
- package/dist/field-map-hn-D-SyH.mjs.map +0 -1
- package/dist/fts-manager-DacCYIe4.mjs +0 -443
- package/dist/fts-manager-DacCYIe4.mjs.map +0 -1
- package/dist/gc-BBplHrv6.mjs +0 -75
- package/dist/gc-BBplHrv6.mjs.map +0 -1
- package/dist/hook-result-DSRRxu_-.d.mts +0 -31
- package/dist/hook-result-DSRRxu_-.d.mts.map +0 -1
- package/dist/hreflang-CKPunvU0.mjs +0 -105
- package/dist/hreflang-CKPunvU0.mjs.map +0 -1
- package/dist/hreflang-egumj6WF.d.mts +0 -50
- package/dist/hreflang-egumj6WF.d.mts.map +0 -1
- package/dist/http-route-dispatch-DjNFZcJ2.mjs +0 -339
- package/dist/http-route-dispatch-DjNFZcJ2.mjs.map +0 -1
- package/dist/identity-Dfrx2_Bc.mjs +0 -35
- package/dist/identity-Dfrx2_Bc.mjs.map +0 -1
- package/dist/import-ROBvhbNc.mjs +0 -2021
- package/dist/import-ROBvhbNc.mjs.map +0 -1
- package/dist/index-B4sIdCAT.d.mts +0 -623
- package/dist/index-B4sIdCAT.d.mts.map +0 -1
- package/dist/install-finalization-CPM7Gged.mjs +0 -58
- package/dist/install-finalization-CPM7Gged.mjs.map +0 -1
- package/dist/keys-DxqxcAD4.mjs +0 -61
- package/dist/keys-DxqxcAD4.mjs.map +0 -1
- package/dist/kinds-BQl5gN6e.mjs +0 -974
- package/dist/kinds-BQl5gN6e.mjs.map +0 -1
- package/dist/lifecycle-DGQI7itS.mjs +0 -25
- package/dist/lifecycle-DGQI7itS.mjs.map +0 -1
- package/dist/load-DMxRl4VK.mjs +0 -28
- package/dist/load-DMxRl4VK.mjs.map +0 -1
- package/dist/loader-1DMiOq5s.mjs +0 -1303
- package/dist/loader-1DMiOq5s.mjs.map +0 -1
- package/dist/loops-Dn1i16FP.mjs +0 -205
- package/dist/loops-Dn1i16FP.mjs.map +0 -1
- package/dist/manifest-builder-CTw4FmZk.mjs +0 -189
- package/dist/manifest-builder-CTw4FmZk.mjs.map +0 -1
- package/dist/manifest-schema-gy37bD_D.mjs +0 -496
- package/dist/manifest-schema-gy37bD_D.mjs.map +0 -1
- package/dist/marketplace-tHWSsCUo.mjs +0 -257
- package/dist/marketplace-tHWSsCUo.mjs.map +0 -1
- package/dist/media-Bw-Q65ve.mjs +0 -294
- package/dist/media-Bw-Q65ve.mjs.map +0 -1
- package/dist/media-BzUDu7nl.mjs +0 -373
- package/dist/media-BzUDu7nl.mjs.map +0 -1
- package/dist/media-aahnKHze.mjs +0 -408
- package/dist/media-aahnKHze.mjs.map +0 -1
- package/dist/media-allowlist-RMrjo8TU.mjs +0 -45
- package/dist/media-allowlist-RMrjo8TU.mjs.map +0 -1
- package/dist/media-folders-kabR1oJf.mjs +0 -210
- package/dist/media-folders-kabR1oJf.mjs.map +0 -1
- package/dist/media-url-DloW2xrP.mjs +0 -43
- package/dist/media-url-DloW2xrP.mjs.map +0 -1
- package/dist/media-usage-CHHpV7ee.mjs +0 -282
- package/dist/media-usage-CHHpV7ee.mjs.map +0 -1
- package/dist/media-usage-activation-BinYqC_r.mjs +0 -78
- package/dist/media-usage-activation-BinYqC_r.mjs.map +0 -1
- package/dist/media-usage-work-C734aq6s.mjs +0 -1015
- package/dist/media-usage-work-C734aq6s.mjs.map +0 -1
- package/dist/media-usage-work-lxvV0-UO.mjs +0 -151
- package/dist/media-usage-work-lxvV0-UO.mjs.map +0 -1
- package/dist/menus-6RHNq4ZK.mjs +0 -753
- package/dist/menus-6RHNq4ZK.mjs.map +0 -1
- package/dist/menus-AuCTaO9W.mjs +0 -3704
- package/dist/menus-AuCTaO9W.mjs.map +0 -1
- package/dist/menus-BQKqf0Up.mjs +0 -92
- package/dist/menus-BQKqf0Up.mjs.map +0 -1
- package/dist/mode-nh0ppSX5.mjs +0 -23
- package/dist/mode-nh0ppSX5.mjs.map +0 -1
- package/dist/node-sqlite-compat-CDOEcc97.mjs +0 -63
- package/dist/node-sqlite-compat-CDOEcc97.mjs.map +0 -1
- package/dist/oauth-authorization-BtYQ80uU.mjs +0 -274
- package/dist/oauth-authorization-BtYQ80uU.mjs.map +0 -1
- package/dist/oauth-clients-C1S4NQHh.mjs +0 -266
- package/dist/oauth-clients-C1S4NQHh.mjs.map +0 -1
- package/dist/oauth-state-store-CpGi2FZH.mjs +0 -50
- package/dist/oauth-state-store-CpGi2FZH.mjs.map +0 -1
- package/dist/oauth-user-lookup-BNp1aFAr.mjs +0 -26
- package/dist/oauth-user-lookup-BNp1aFAr.mjs.map +0 -1
- package/dist/options-B41aLm1I.d.mts +0 -81
- package/dist/options-B41aLm1I.d.mts.map +0 -1
- package/dist/ownership-DoeAIuTg.mjs +0 -12
- package/dist/ownership-DoeAIuTg.mjs.map +0 -1
- package/dist/parse-CmFDTGzp.mjs +0 -81
- package/dist/parse-CmFDTGzp.mjs.map +0 -1
- package/dist/parse-QVS0t5oR.d.mts +0 -172
- package/dist/parse-QVS0t5oR.d.mts.map +0 -1
- package/dist/passkey-config-C-MxsV22.mjs +0 -46
- package/dist/passkey-config-C-MxsV22.mjs.map +0 -1
- package/dist/paths-kr8hAMMI.mjs +0 -77
- package/dist/paths-kr8hAMMI.mjs.map +0 -1
- package/dist/patterns-DyZJ67I7.mjs +0 -140
- package/dist/patterns-DyZJ67I7.mjs.map +0 -1
- package/dist/placeholder-Dn7MMdWr.d.mts +0 -306
- package/dist/placeholder-Dn7MMdWr.d.mts.map +0 -1
- package/dist/plan-CuQOeU9g.mjs +0 -135
- package/dist/plan-CuQOeU9g.mjs.map +0 -1
- package/dist/plugins-CGb-G98c.mjs +0 -261
- package/dist/plugins-CGb-G98c.mjs.map +0 -1
- package/dist/policy-C5wrDXYV.mjs +0 -45
- package/dist/policy-C5wrDXYV.mjs.map +0 -1
- package/dist/portable-text-BnRuiR1-.mjs +0 -307
- package/dist/portable-text-BnRuiR1-.mjs.map +0 -1
- package/dist/preview-xWNSR1Li.mjs +0 -107
- package/dist/preview-xWNSR1Li.mjs.map +0 -1
- package/dist/protocol-ClxN-m1e.d.mts +0 -61
- package/dist/protocol-ClxN-m1e.d.mts.map +0 -1
- package/dist/public-submission-CkmT2SKv.mjs +0 -250
- package/dist/public-submission-CkmT2SKv.mjs.map +0 -1
- package/dist/public-url-B5a0QAh6.mjs +0 -101
- package/dist/public-url-B5a0QAh6.mjs.map +0 -1
- package/dist/query-DHqFiqqH.mjs +0 -41
- package/dist/query-DHqFiqqH.mjs.map +0 -1
- package/dist/query-DT85BehD.mjs +0 -1125
- package/dist/query-DT85BehD.mjs.map +0 -1
- package/dist/rate-limit-iMvcu3eu.mjs +0 -120
- package/dist/rate-limit-iMvcu3eu.mjs.map +0 -1
- package/dist/receipt-Dpp1uaX9.mjs +0 -43
- package/dist/receipt-Dpp1uaX9.mjs.map +0 -1
- package/dist/redirect-BRoLiWQE.mjs +0 -19
- package/dist/redirect-BRoLiWQE.mjs.map +0 -1
- package/dist/redirect-xZNpBoGp.mjs +0 -417
- package/dist/redirect-xZNpBoGp.mjs.map +0 -1
- package/dist/redirects-D4EWeXAo.mjs +0 -148
- package/dist/redirects-D4EWeXAo.mjs.map +0 -1
- package/dist/redirects-DCKqwiWp.mjs +0 -446
- package/dist/redirects-DCKqwiWp.mjs.map +0 -1
- package/dist/registry-DaXmUsD4.mjs +0 -8369
- package/dist/registry-DaXmUsD4.mjs.map +0 -1
- package/dist/relations-JvBP8nGP.mjs +0 -776
- package/dist/relations-JvBP8nGP.mjs.map +0 -1
- package/dist/request-meta-B6blULFY.mjs +0 -141
- package/dist/request-meta-B6blULFY.mjs.map +0 -1
- package/dist/resolve-DAhHi5tn.mjs +0 -100
- package/dist/resolve-DAhHi5tn.mjs.map +0 -1
- package/dist/route-wire-DK600v4u.mjs +0 -197
- package/dist/route-wire-DK600v4u.mjs.map +0 -1
- package/dist/routes-BeZyaCzv.mjs +0 -272
- package/dist/routes-BeZyaCzv.mjs.map +0 -1
- package/dist/runner-CskI4Hmq.mjs +0 -6372
- package/dist/runner-CskI4Hmq.mjs.map +0 -1
- package/dist/runner-J3Cj6DGk.d.mts +0 -68
- package/dist/runner-J3Cj6DGk.d.mts.map +0 -1
- package/dist/schema-CK0ihqMR.mjs +0 -815
- package/dist/schema-CK0ihqMR.mjs.map +0 -1
- package/dist/schema-VtaZSrC-.mjs +0 -13
- package/dist/schema-VtaZSrC-.mjs.map +0 -1
- package/dist/scopes-BRnGlL9t.mjs +0 -34
- package/dist/scopes-BRnGlL9t.mjs.map +0 -1
- package/dist/search-D6-XK1Sn.mjs +0 -448
- package/dist/search-D6-XK1Sn.mjs.map +0 -1
- package/dist/sections-CBDCf7qR.mjs +0 -346
- package/dist/sections-CBDCf7qR.mjs.map +0 -1
- package/dist/seo-BdeEPDNW.mjs +0 -133
- package/dist/seo-BdeEPDNW.mjs.map +0 -1
- package/dist/seo-C61bnPuV.mjs +0 -114
- package/dist/seo-C61bnPuV.mjs.map +0 -1
- package/dist/service-BuRKLMxa.mjs +0 -150
- package/dist/service-BuRKLMxa.mjs.map +0 -1
- package/dist/session-user-CqkPtrPL.mjs +0 -61
- package/dist/session-user-CqkPtrPL.mjs.map +0 -1
- package/dist/settings-0u0lTthS.mjs +0 -51
- package/dist/settings-0u0lTthS.mjs.map +0 -1
- package/dist/settings-WHr45II1.mjs +0 -61
- package/dist/settings-WHr45II1.mjs.map +0 -1
- package/dist/settings-m5tIYnF0.mjs +0 -443
- package/dist/settings-m5tIYnF0.mjs.map +0 -1
- package/dist/setup-complete-B2_dhZZz.mjs +0 -65
- package/dist/setup-complete-B2_dhZZz.mjs.map +0 -1
- package/dist/setup-nonce-CJV9ftSK.mjs +0 -25
- package/dist/setup-nonce-CJV9ftSK.mjs.map +0 -1
- package/dist/site-settings-KJOqJW6W.mjs +0 -50
- package/dist/site-settings-KJOqJW6W.mjs.map +0 -1
- package/dist/site-url-Ceq_AUK0.mjs +0 -16
- package/dist/site-url-Ceq_AUK0.mjs.map +0 -1
- package/dist/slugify-T5GHH42D.mjs +0 -17
- package/dist/slugify-T5GHH42D.mjs.map +0 -1
- package/dist/snapshot-Dzsn3NZa.mjs +0 -414
- package/dist/snapshot-Dzsn3NZa.mjs.map +0 -1
- package/dist/ssrf-DsmvZB80.mjs +0 -406
- package/dist/ssrf-DsmvZB80.mjs.map +0 -1
- package/dist/stage-Csnh_yEd.mjs +0 -662
- package/dist/stage-Csnh_yEd.mjs.map +0 -1
- package/dist/staged-Q7pnEVvI.mjs +0 -686
- package/dist/staged-Q7pnEVvI.mjs.map +0 -1
- package/dist/state-kGdOMQRY.mjs +0 -153
- package/dist/state-kGdOMQRY.mjs.map +0 -1
- package/dist/status-D39Fpy8R.mjs +0 -30
- package/dist/status-D39Fpy8R.mjs.map +0 -1
- package/dist/storage-query-C7iy6eUb.d.mts +0 -1615
- package/dist/storage-query-C7iy6eUb.d.mts.map +0 -1
- package/dist/tar-BWiraSUY.mjs +0 -449
- package/dist/tar-BWiraSUY.mjs.map +0 -1
- package/dist/target-DOFs5oUC.mjs +0 -27
- package/dist/target-DOFs5oUC.mjs.map +0 -1
- package/dist/taxonomies-BS40Wxvi.mjs +0 -939
- package/dist/taxonomies-BS40Wxvi.mjs.map +0 -1
- package/dist/taxonomies-DAZU9VDd.mjs +0 -697
- package/dist/taxonomies-DAZU9VDd.mjs.map +0 -1
- package/dist/taxonomy-XzLE95Vx.mjs +0 -525
- package/dist/taxonomy-XzLE95Vx.mjs.map +0 -1
- package/dist/tokens-DSQan4p7.mjs +0 -171
- package/dist/tokens-DSQan4p7.mjs.map +0 -1
- package/dist/transfer-BcCVxDgf.mjs +0 -166
- package/dist/transfer-BcCVxDgf.mjs.map +0 -1
- package/dist/transfer-OMrancOt.mjs +0 -8873
- package/dist/transfer-OMrancOt.mjs.map +0 -1
- package/dist/transfer-download-Dc-ltjZY.mjs +0 -33
- package/dist/transfer-download-Dc-ltjZY.mjs.map +0 -1
- package/dist/transformations-Ddx7UtrY.mjs +0 -196
- package/dist/transformations-Ddx7UtrY.mjs.map +0 -1
- package/dist/transport-flR-Zmds.d.mts +0 -42
- package/dist/transport-flR-Zmds.d.mts.map +0 -1
- package/dist/transport-umzEbgYO.mjs +0 -136
- package/dist/transport-umzEbgYO.mjs.map +0 -1
- package/dist/trusted-proxy-BqfQFs6a.mjs +0 -51
- package/dist/trusted-proxy-BqfQFs6a.mjs.map +0 -1
- package/dist/turnstile-Do60baId.mjs +0 -58
- package/dist/turnstile-Do60baId.mjs.map +0 -1
- package/dist/types-BT1p3uyb.d.mts +0 -1735
- package/dist/types-BT1p3uyb.d.mts.map +0 -1
- package/dist/types-BYaPWs_F.d.mts +0 -198
- package/dist/types-BYaPWs_F.d.mts.map +0 -1
- package/dist/types-CLTQ9b_r.d.mts +0 -374
- package/dist/types-CLTQ9b_r.d.mts.map +0 -1
- package/dist/types-CPkQw2T2.d.mts +0 -85
- package/dist/types-CPkQw2T2.d.mts.map +0 -1
- package/dist/types-CQLvuXoZ.d.mts +0 -198
- package/dist/types-CQLvuXoZ.d.mts.map +0 -1
- package/dist/types-CV5xszpF.d.mts +0 -363
- package/dist/types-CV5xszpF.d.mts.map +0 -1
- package/dist/types-CdEMurNh.mjs +0 -77
- package/dist/types-CdEMurNh.mjs.map +0 -1
- package/dist/types-CxwtnuSS.mjs +0 -37
- package/dist/types-CxwtnuSS.mjs.map +0 -1
- package/dist/types-DGw8KMX_.mjs +0 -16
- package/dist/types-DGw8KMX_.mjs.map +0 -1
- package/dist/types-DOfVMPoo.d.mts +0 -125
- package/dist/types-DOfVMPoo.d.mts.map +0 -1
- package/dist/types-LtS0SM4F.d.mts +0 -287
- package/dist/types-LtS0SM4F.d.mts.map +0 -1
- package/dist/types-ifgOkcBa.d.mts +0 -916
- package/dist/types-ifgOkcBa.d.mts.map +0 -1
- package/dist/update-check-DOc2aBIU.mjs +0 -161
- package/dist/update-check-DOc2aBIU.mjs.map +0 -1
- package/dist/upload-attempts-nzdc3cay.mjs +0 -32
- package/dist/upload-attempts-nzdc3cay.mjs.map +0 -1
- package/dist/url-pattern-hVbqpXs6.mjs +0 -41
- package/dist/url-pattern-hVbqpXs6.mjs.map +0 -1
- package/dist/user-Dnp53zTq.mjs +0 -171
- package/dist/user-Dnp53zTq.mjs.map +0 -1
- package/dist/utils-CoV-PYhg.mjs +0 -439
- package/dist/utils-CoV-PYhg.mjs.map +0 -1
- package/dist/validate-CfQ9_YlD.d.mts +0 -468
- package/dist/validate-CfQ9_YlD.d.mts.map +0 -1
- package/dist/validate-DBX3DKtL.mjs +0 -516
- package/dist/validate-DBX3DKtL.mjs.map +0 -1
- package/dist/validation-BJMiDhB1.mjs +0 -219
- package/dist/validation-BJMiDhB1.mjs.map +0 -1
- package/dist/version-BaT8yKIT.mjs +0 -7
- package/dist/version-BaT8yKIT.mjs.map +0 -1
- package/dist/version-BwEGkqkx.mjs +0 -9
- package/dist/version-BwEGkqkx.mjs.map +0 -1
- package/dist/virtual-modules-B6vJW15k.mjs +0 -516
- package/dist/virtual-modules-B6vJW15k.mjs.map +0 -1
- package/dist/widgets-BkxBAgZ_.mjs +0 -126
- package/dist/widgets-BkxBAgZ_.mjs.map +0 -1
- package/dist/wxr-taxonomies-D7gAJyOF.mjs +0 -453
- package/dist/wxr-taxonomies-D7gAJyOF.mjs.map +0 -1
- package/dist/wxr-taxonomies-DM5J9AsT.d.mts +0 -34
- package/dist/wxr-taxonomies-DM5J9AsT.d.mts.map +0 -1
- /package/dist/{api-tokens-BLz2MtQs.mjs → api-tokens-D2zgAIEt.mjs} +0 -0
- /package/dist/{ssrf-tA45vIPX.mjs → ssrf-BvNItdxk.mjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-UKr5Sf4y.d.mts","names":[],"sources":["../src/database/types.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import * as react from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/auth/types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Auth Provider Types
|
|
6
|
+
*
|
|
7
|
+
* Defines the interfaces for pluggable authentication providers.
|
|
8
|
+
*
|
|
9
|
+
* Two systems coexist:
|
|
10
|
+
* - `AuthDescriptor` — transparent auth (Cloudflare Access) that authenticates
|
|
11
|
+
* every request via headers/cookies. No login UI needed.
|
|
12
|
+
* - `AuthProviderDescriptor` — pluggable login methods (GitHub, Google,
|
|
13
|
+
* AT Protocol, etc.) that appear as options on the login page and setup
|
|
14
|
+
* wizard. Passkey is built-in; providers are additive.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Result of authenticating a request via an external auth provider
|
|
18
|
+
*/
|
|
19
|
+
interface AuthResult {
|
|
20
|
+
/** User's email address */
|
|
21
|
+
email: string;
|
|
22
|
+
/** User's display name */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Resolved role level (e.g., 50 for Admin, 30 for Editor) */
|
|
25
|
+
role: number;
|
|
26
|
+
/** Provider-specific subject ID */
|
|
27
|
+
subject?: string;
|
|
28
|
+
/** Additional provider-specific data */
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Auth descriptor — transparent auth providers (e.g., Cloudflare Access).
|
|
33
|
+
*
|
|
34
|
+
* These authenticate every request via headers/cookies. No login UI needed.
|
|
35
|
+
* The module's `authenticate()` function is called by middleware on each request.
|
|
36
|
+
*/
|
|
37
|
+
interface AuthDescriptor {
|
|
38
|
+
/**
|
|
39
|
+
* Auth provider type identifier
|
|
40
|
+
* @example "cloudflare-access", "okta", "auth0"
|
|
41
|
+
*/
|
|
42
|
+
type: string;
|
|
43
|
+
/**
|
|
44
|
+
* Module specifier to import at runtime
|
|
45
|
+
* The module must export an `authenticate` function.
|
|
46
|
+
* @example "@emdash-cms/cloudflare/auth"
|
|
47
|
+
*/
|
|
48
|
+
entrypoint: string;
|
|
49
|
+
/**
|
|
50
|
+
* Provider-specific configuration (JSON-serializable)
|
|
51
|
+
*/
|
|
52
|
+
config: unknown;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Auth provider module interface
|
|
56
|
+
*
|
|
57
|
+
* Modules specified by AuthDescriptor.entrypoint must export
|
|
58
|
+
* an `authenticate` function matching this signature.
|
|
59
|
+
*/
|
|
60
|
+
interface AuthProviderModule {
|
|
61
|
+
/**
|
|
62
|
+
* Authenticate a request using the provider
|
|
63
|
+
*
|
|
64
|
+
* @param request - The incoming HTTP request
|
|
65
|
+
* @param config - Provider-specific configuration from AuthDescriptor
|
|
66
|
+
* @returns Authentication result if valid, throws if invalid
|
|
67
|
+
*/
|
|
68
|
+
authenticate(request: Request, config: unknown): Promise<AuthResult>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Descriptor for a pluggable auth provider.
|
|
72
|
+
*
|
|
73
|
+
* Auth providers appear as login options on the login page and setup wizard.
|
|
74
|
+
* They coexist with passkey (which is built-in) and with each other.
|
|
75
|
+
* Any provider can be used to create the initial admin account.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* // astro.config.ts
|
|
80
|
+
* import { atproto } from "@emdash-cms/auth-atproto";
|
|
81
|
+
*
|
|
82
|
+
* emdash({
|
|
83
|
+
* authProviders: [atproto(), github(), google()],
|
|
84
|
+
* })
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
interface AuthProviderDescriptor {
|
|
88
|
+
/** Unique provider ID (e.g., "github", "atproto") */
|
|
89
|
+
id: string;
|
|
90
|
+
/** Human-readable label for UI (e.g., "GitHub", "AT Protocol") */
|
|
91
|
+
label: string;
|
|
92
|
+
/** Provider-specific config (JSON-serializable) */
|
|
93
|
+
config?: unknown;
|
|
94
|
+
/**
|
|
95
|
+
* Module exporting React components for the admin UI.
|
|
96
|
+
* Statically imported at build time via virtual module.
|
|
97
|
+
*
|
|
98
|
+
* The module should export components matching `AuthProviderAdminExports`.
|
|
99
|
+
*/
|
|
100
|
+
adminEntry?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Astro route handlers this provider needs injected at build time.
|
|
103
|
+
* Used for login initiation, OAuth callbacks, well-known endpoints, etc.
|
|
104
|
+
*/
|
|
105
|
+
routes?: AuthRouteDescriptor[];
|
|
106
|
+
/**
|
|
107
|
+
* URL prefixes/paths that should bypass auth middleware.
|
|
108
|
+
* Added to the public routes set so login/callback endpoints work
|
|
109
|
+
* for unauthenticated users.
|
|
110
|
+
*/
|
|
111
|
+
publicRoutes?: string[];
|
|
112
|
+
/**
|
|
113
|
+
* Storage collections for persistent auth state (e.g., OAuth sessions).
|
|
114
|
+
* Same format as plugin storage — collections are stored in the shared
|
|
115
|
+
* `_plugin_storage` table namespaced under `auth:<providerId>`.
|
|
116
|
+
*
|
|
117
|
+
* Access via `getAuthProviderStorage()` from `emdash/api/route-utils`.
|
|
118
|
+
*/
|
|
119
|
+
storage?: Record<string, {
|
|
120
|
+
indexes?: Array<string | string[]>;
|
|
121
|
+
uniqueIndexes?: Array<string | string[]>;
|
|
122
|
+
}>;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* A route that an auth provider needs injected into the Astro app.
|
|
126
|
+
*/
|
|
127
|
+
interface AuthRouteDescriptor {
|
|
128
|
+
/** URL pattern (e.g., "/_emdash/api/auth/atproto/login") */
|
|
129
|
+
pattern: string;
|
|
130
|
+
/** Module specifier for the Astro route handler */
|
|
131
|
+
entrypoint: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Expected exports from an auth provider's `adminEntry` module.
|
|
135
|
+
*
|
|
136
|
+
* All exports are optional. Providers export whichever components
|
|
137
|
+
* make sense for their auth flow.
|
|
138
|
+
*/
|
|
139
|
+
interface AuthProviderAdminExports {
|
|
140
|
+
/**
|
|
141
|
+
* Compact button for the login page (icon + label).
|
|
142
|
+
* Used for providers with a simple redirect flow (GitHub, Google).
|
|
143
|
+
* Rendered in the "Or continue with" section.
|
|
144
|
+
*/
|
|
145
|
+
LoginButton?: react.ComponentType;
|
|
146
|
+
/**
|
|
147
|
+
* Full login form for providers that need custom input.
|
|
148
|
+
* Used for providers like AT Protocol that need a handle field.
|
|
149
|
+
* Rendered as an expandable section on the login page.
|
|
150
|
+
*/
|
|
151
|
+
LoginForm?: react.ComponentType;
|
|
152
|
+
/**
|
|
153
|
+
* Setup wizard step for creating the admin account via this provider.
|
|
154
|
+
* When present, this provider appears as an option in the setup wizard's
|
|
155
|
+
* "Create admin account" step.
|
|
156
|
+
*/
|
|
157
|
+
SetupStep?: react.ComponentType<{
|
|
158
|
+
onComplete: () => void;
|
|
159
|
+
}>;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Configuration options common to external auth providers
|
|
163
|
+
*/
|
|
164
|
+
interface ExternalAuthConfig {
|
|
165
|
+
/**
|
|
166
|
+
* Automatically create EmDash users on first login
|
|
167
|
+
* @default true
|
|
168
|
+
*/
|
|
169
|
+
autoProvision?: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Role level for users not matching any group in roleMapping
|
|
172
|
+
* @default 30 (Editor)
|
|
173
|
+
*/
|
|
174
|
+
defaultRole?: number;
|
|
175
|
+
/**
|
|
176
|
+
* Update user's role on each login based on current IdP groups
|
|
177
|
+
* When false, role is only set on first provisioning
|
|
178
|
+
* @default false
|
|
179
|
+
*/
|
|
180
|
+
syncRoles?: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Update user's name from the IdP on every authenticated request
|
|
183
|
+
* When false, name is only set on first provisioning, so names edited in the admin are kept
|
|
184
|
+
* @default true
|
|
185
|
+
*/
|
|
186
|
+
syncName?: boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Map IdP group names to EmDash role levels
|
|
189
|
+
* First match wins if user is in multiple groups
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* roleMapping: {
|
|
194
|
+
* "Admins": 50, // Admin
|
|
195
|
+
* "Developers": 40, // Developer
|
|
196
|
+
* "Content Team": 30, // Editor
|
|
197
|
+
* }
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
roleMapping?: Record<string, number>;
|
|
201
|
+
}
|
|
202
|
+
//#endregion
|
|
203
|
+
export { AuthResult as a, AuthProviderModule as i, AuthProviderAdminExports as n, AuthRouteDescriptor as o, AuthProviderDescriptor as r, ExternalAuthConfig as s, AuthDescriptor as t };
|
|
204
|
+
//# sourceMappingURL=types-YpN8hZW7.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-YpN8hZW7.d.mts","names":[],"sources":["../src/auth/types.ts"],"mappings":";;;;;;AAgBA;;;;;;;;;;;;UAAiB,UAAA;EAmBc;EAjB9B,KAAA;EAiB8B;EAf9B,IAAA;EA2BA;EAzBA,IAAA;EA8BM;EA5BN,OAAA;EAqCgB;EAnChB,QAAA,GAAW,MAAA;AAAA;;;;;;;UASK,cAAA;EAkCH;;;;EA7Bb,IAAA;EA6BmE;AAwBpE;;;;EA9CC,UAAA;EAsFuD;;;EAjFvD,MAAA;AAAA;;;;;;;UASgB,kBAAA;EAsEN;;;;;;;EA9DV,YAAA,CAAa,OAAA,EAAS,OAAA,EAAS,MAAA,YAAkB,OAAA,CAAQ,UAAA;AAAA;;;;AAoF1D;;;;;;;;;;;;;;UA5DiB,sBAAA;EAgFsC;EA9EtD,EAAA;EAoFgB;EAjFhB,KAAA;;EAGA,MAAA;EAmFA;;;;;;EA3EA,UAAA;EA8GoB;;;;EAxGpB,MAAA,GAAS,mBAAA;;;;;;EAOT,YAAA;;;;;;;;EASA,OAAA,GAAU,MAAA;IAEP,OAAA,GAAU,KAAA;IAA0B,aAAA,GAAgB,KAAA;EAAA;AAAA;;;;UAOvC,mBAAA;;EAEhB,OAAA;;EAEA,UAAA;AAAA;;;;;;;UASgB,wBAAA;;;;;;EAMhB,WAAA,GANwC,KAAA,CAMV,aAAA;;;;;;EAO9B,SAAA,GAP2C,KAAA,CAOf,aAAA;;;;;;EAO5B,SAAA,GAPyC,KAAA,CAOb,aAAA;IAAgB,UAAA;EAAA;AAAA;;;;UAM5B,kBAAA;;;;;EAKhB,aAAA;;;;;EAMA,WAAA;;;;;;EAOA,SAAA;;;;;;EAOA,QAAA;;;;;;;;;;;;;;EAeA,WAAA,GAAc,MAAA;AAAA"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { t as after } from "./after-PcEvMY_6.mjs";
|
|
2
|
+
import { t as OptionsRepository } from "./options-DhrI7eMv.mjs";
|
|
3
|
+
import { a as parseDurationSeconds } from "./config-Bo4eOOdV.mjs";
|
|
4
|
+
import { n as VERSION } from "./version-C4kz0PcO.mjs";
|
|
5
|
+
import { t as ErrorCode } from "./errors-hskQ0C8G.mjs";
|
|
6
|
+
|
|
7
|
+
//#region src/api/handlers/update-check.ts
|
|
8
|
+
/** Options-table key for the cached registry result. */
|
|
9
|
+
const CORE_UPDATE_OPTION = "emdash:core_update_check";
|
|
10
|
+
/** Check the registry at most once per day, whether or not the check succeeds. */
|
|
11
|
+
const CHECK_INTERVAL_MS = 1440 * 60 * 1e3;
|
|
12
|
+
/** npm packument for `emdash`: the `latest` dist-tag and each version's publish time. */
|
|
13
|
+
const REGISTRY_URL = "https://registry.npmjs.org/emdash";
|
|
14
|
+
/** Default time a release must be public before admins are told about it. */
|
|
15
|
+
const DEFAULT_MINIMUM_RELEASE_AGE = "24h";
|
|
16
|
+
const REGISTRY_TIMEOUT_MS = 1e4;
|
|
17
|
+
const SEMVER_RE = /^(\d+)\.(\d+)\.(\d+)(-.+)?$/;
|
|
18
|
+
const STABLE_RE = /^\d+\.\d+\.\d+$/;
|
|
19
|
+
/**
|
|
20
|
+
* True when `latest` is a strictly newer release than `current`.
|
|
21
|
+
*
|
|
22
|
+
* Handles plain `major.minor.patch` versions. Anything unparsable —
|
|
23
|
+
* including the `"dev"` fallback version — compares as "not newer", so
|
|
24
|
+
* dev/test runs never show the banner. On an equal base version, a stable
|
|
25
|
+
* release is newer than a prerelease of it, so a site running
|
|
26
|
+
* `0.24.0-beta.1` is notified when `0.24.0` ships. Prerelease identifiers
|
|
27
|
+
* are not compared to each other.
|
|
28
|
+
*/
|
|
29
|
+
function isNewerVersion(latest, current) {
|
|
30
|
+
const l = SEMVER_RE.exec(latest);
|
|
31
|
+
const c = SEMVER_RE.exec(current);
|
|
32
|
+
if (!l || !c) return false;
|
|
33
|
+
for (let i = 1; i <= 3; i++) {
|
|
34
|
+
const a = Number(l[i]);
|
|
35
|
+
const b = Number(c[i]);
|
|
36
|
+
if (a !== b) return a > b;
|
|
37
|
+
}
|
|
38
|
+
return !l[4] && !!c[4];
|
|
39
|
+
}
|
|
40
|
+
function field(value, key) {
|
|
41
|
+
return typeof value === "object" && value !== null && Object.hasOwn(value, key) ? Reflect.get(value, key) : void 0;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Fetch the stable releases and their publish times from the npm registry
|
|
45
|
+
* and cache them. Exported for tests; production callers go through
|
|
46
|
+
* `handleCoreUpdateStatus`, which defers this via `after()`.
|
|
47
|
+
*/
|
|
48
|
+
async function refreshCoreUpdateCache(db, fetchImpl = fetch) {
|
|
49
|
+
const response = await fetchImpl(REGISTRY_URL, {
|
|
50
|
+
headers: { accept: "application/json" },
|
|
51
|
+
signal: AbortSignal.timeout(REGISTRY_TIMEOUT_MS)
|
|
52
|
+
});
|
|
53
|
+
if (!response.ok) throw new Error(`registry responded ${response.status}`);
|
|
54
|
+
const body = await response.json();
|
|
55
|
+
const latest = field(field(body, "dist-tags"), "latest");
|
|
56
|
+
if (typeof latest !== "string" || !STABLE_RE.test(latest)) throw new Error("registry response missing a valid version");
|
|
57
|
+
const time = field(body, "time");
|
|
58
|
+
const versions = field(body, "versions");
|
|
59
|
+
const releases = {};
|
|
60
|
+
if (typeof time === "object" && time !== null) for (const [version, publishedAt] of Object.entries(time)) {
|
|
61
|
+
if (!STABLE_RE.test(version) || isNewerVersion(version, latest)) continue;
|
|
62
|
+
const manifest = field(versions, version);
|
|
63
|
+
if (manifest === void 0 || field(manifest, "deprecated") !== void 0) continue;
|
|
64
|
+
if (typeof publishedAt !== "string" || Number.isNaN(Date.parse(publishedAt))) continue;
|
|
65
|
+
releases[version] = publishedAt;
|
|
66
|
+
}
|
|
67
|
+
if (!releases[latest]) throw new Error("registry response missing a publish time for the latest version");
|
|
68
|
+
const cache = {
|
|
69
|
+
releases,
|
|
70
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
71
|
+
};
|
|
72
|
+
await new OptionsRepository(db).set(CORE_UPDATE_OPTION, cache);
|
|
73
|
+
}
|
|
74
|
+
function parseCache(value) {
|
|
75
|
+
const releases = field(value, "releases");
|
|
76
|
+
const checkedAt = field(value, "checkedAt");
|
|
77
|
+
if (typeof releases !== "object" || releases === null || typeof checkedAt !== "string") return null;
|
|
78
|
+
if (Number.isNaN(Date.parse(checkedAt))) return null;
|
|
79
|
+
const valid = {};
|
|
80
|
+
for (const [version, publishedAt] of Object.entries(releases)) if (STABLE_RE.test(version) && typeof publishedAt === "string" && !Number.isNaN(Date.parse(publishedAt))) valid[version] = publishedAt;
|
|
81
|
+
return {
|
|
82
|
+
releases: valid,
|
|
83
|
+
checkedAt
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/** The newest release published at least `minimumAgeMs` before `now`. */
|
|
87
|
+
function newestReleased(releases, now, minimumAgeMs) {
|
|
88
|
+
let newest = null;
|
|
89
|
+
for (const [version, publishedAt] of Object.entries(releases)) {
|
|
90
|
+
if (now.getTime() - Date.parse(publishedAt) < minimumAgeMs) continue;
|
|
91
|
+
if (!newest || isNewerVersion(version, newest)) newest = version;
|
|
92
|
+
}
|
|
93
|
+
return newest;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Seconds a release must be public before it is reported, from the
|
|
97
|
+
* `updateCheck` option. Throws on an invalid duration.
|
|
98
|
+
*/
|
|
99
|
+
function minimumReleaseAgeSeconds(option) {
|
|
100
|
+
return parseDurationSeconds((typeof option === "object" ? option?.minimumReleaseAge : void 0) ?? DEFAULT_MINIMUM_RELEASE_AGE);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Report the cached update status and, when the cache is stale (or
|
|
104
|
+
* missing), kick a deferred registry refresh. Never blocks on the
|
|
105
|
+
* network: the first request after install/expiry reports the previous
|
|
106
|
+
* state and the next request sees the refreshed one.
|
|
107
|
+
*/
|
|
108
|
+
async function handleCoreUpdateStatus(db, options) {
|
|
109
|
+
const current = options?.current ?? VERSION;
|
|
110
|
+
if (options?.enabled === false) return {
|
|
111
|
+
success: true,
|
|
112
|
+
data: {
|
|
113
|
+
current,
|
|
114
|
+
latest: null,
|
|
115
|
+
updateAvailable: false,
|
|
116
|
+
checkedAt: null
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
try {
|
|
120
|
+
const repo = new OptionsRepository(db);
|
|
121
|
+
const cache = parseCache(await repo.get(CORE_UPDATE_OPTION));
|
|
122
|
+
const now = options?.now ?? /* @__PURE__ */ new Date();
|
|
123
|
+
const minimumAgeMs = (options?.minimumReleaseAgeSeconds ?? minimumReleaseAgeSeconds(void 0)) * 1e3;
|
|
124
|
+
if ((!cache || now.getTime() - Date.parse(cache.checkedAt) >= CHECK_INTERVAL_MS) && current !== "dev") after(async () => {
|
|
125
|
+
try {
|
|
126
|
+
await refreshCoreUpdateCache(db);
|
|
127
|
+
} catch (error) {
|
|
128
|
+
console.warn("[update-check] registry refresh failed:", error);
|
|
129
|
+
if (parseCache(await repo.get(CORE_UPDATE_OPTION))?.checkedAt !== cache?.checkedAt) return;
|
|
130
|
+
const retryLater = {
|
|
131
|
+
releases: cache?.releases ?? {},
|
|
132
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
133
|
+
};
|
|
134
|
+
await repo.set(CORE_UPDATE_OPTION, retryLater);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
const latest = cache ? newestReleased(cache.releases, now, minimumAgeMs) : null;
|
|
138
|
+
return {
|
|
139
|
+
success: true,
|
|
140
|
+
data: {
|
|
141
|
+
current,
|
|
142
|
+
latest,
|
|
143
|
+
updateAvailable: latest ? isNewerVersion(latest, current) : false,
|
|
144
|
+
checkedAt: cache?.checkedAt ?? null
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
} catch (error) {
|
|
148
|
+
console.error("[update-check] status read failed:", error);
|
|
149
|
+
return {
|
|
150
|
+
success: false,
|
|
151
|
+
error: {
|
|
152
|
+
code: ErrorCode.UPDATE_CHECK_ERROR,
|
|
153
|
+
message: "Failed to read update status"
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
//#endregion
|
|
160
|
+
export { minimumReleaseAgeSeconds as n, handleCoreUpdateStatus as t };
|
|
161
|
+
//# sourceMappingURL=update-check-DrlsK-tt.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check-DrlsK-tt.mjs","names":[],"sources":["../src/api/handlers/update-check.ts"],"sourcesContent":["/**\n * Core update status handler.\n *\n * Caches the publish times of stable `emdash` releases from the npm\n * registry in the options table, and reports the newest release that has\n * been public for the minimum release age when it is newer than the\n * running `VERSION`. A stale or missing cache schedules a deferred refresh.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport { after } from \"../../after.js\";\nimport { OptionsRepository } from \"../../database/repositories/options.js\";\nimport type { Database } from \"../../database/types.js\";\nimport { parseDurationSeconds } from \"../../registry/config.js\";\nimport { VERSION } from \"../../version.js\";\nimport { ErrorCode } from \"../errors.js\";\nimport type { ApiResult } from \"../types.js\";\n\n/** Options-table key for the cached registry result. */\nexport const CORE_UPDATE_OPTION = \"emdash:core_update_check\";\n\n/** Check the registry at most once per day, whether or not the check succeeds. */\nconst CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;\n\n/** npm packument for `emdash`: the `latest` dist-tag and each version's publish time. */\nconst REGISTRY_URL = \"https://registry.npmjs.org/emdash\";\n\n/** Default time a release must be public before admins are told about it. */\nexport const DEFAULT_MINIMUM_RELEASE_AGE = \"24h\";\n\nconst REGISTRY_TIMEOUT_MS = 10_000;\n\n/** Cached registry state, stored in the options table. */\ninterface CoreUpdateCache {\n\t/** Publish time (ISO) of each non-deprecated stable release up to the `latest` dist-tag. */\n\treleases: Record<string, string>;\n\t/** ISO timestamp of the last registry check. */\n\tcheckedAt: string;\n}\n\nexport interface CoreUpdateStatus {\n\t/** The running EmDash version (`\"dev\"` in uncompiled dev/test runs). */\n\tcurrent: string;\n\t/**\n\t * Newest stable release that has been public for the minimum release\n\t * age, or null when no check has completed yet.\n\t */\n\tlatest: string | null;\n\tupdateAvailable: boolean;\n\t/** ISO timestamp of the last registry check, if any. */\n\tcheckedAt: string | null;\n}\n\nconst SEMVER_RE = /^(\\d+)\\.(\\d+)\\.(\\d+)(-.+)?$/;\nconst STABLE_RE = /^\\d+\\.\\d+\\.\\d+$/;\n\n/**\n * True when `latest` is a strictly newer release than `current`.\n *\n * Handles plain `major.minor.patch` versions. Anything unparsable —\n * including the `\"dev\"` fallback version — compares as \"not newer\", so\n * dev/test runs never show the banner. On an equal base version, a stable\n * release is newer than a prerelease of it, so a site running\n * `0.24.0-beta.1` is notified when `0.24.0` ships. Prerelease identifiers\n * are not compared to each other.\n */\nexport function isNewerVersion(latest: string, current: string): boolean {\n\tconst l = SEMVER_RE.exec(latest);\n\tconst c = SEMVER_RE.exec(current);\n\tif (!l || !c) return false;\n\tfor (let i = 1; i <= 3; i++) {\n\t\tconst a = Number(l[i]);\n\t\tconst b = Number(c[i]);\n\t\tif (a !== b) return a > b;\n\t}\n\treturn !l[4] && !!c[4];\n}\n\nfunction field(value: unknown, key: string): unknown {\n\treturn typeof value === \"object\" && value !== null && Object.hasOwn(value, key)\n\t\t? (Reflect.get(value, key) as unknown)\n\t\t: undefined;\n}\n\n/**\n * Fetch the stable releases and their publish times from the npm registry\n * and cache them. Exported for tests; production callers go through\n * `handleCoreUpdateStatus`, which defers this via `after()`.\n */\nexport async function refreshCoreUpdateCache(\n\tdb: Kysely<Database>,\n\tfetchImpl: typeof fetch = fetch,\n): Promise<void> {\n\tconst response = await fetchImpl(REGISTRY_URL, {\n\t\theaders: { accept: \"application/json\" },\n\t\tsignal: AbortSignal.timeout(REGISTRY_TIMEOUT_MS),\n\t});\n\tif (!response.ok) {\n\t\tthrow new Error(`registry responded ${response.status}`);\n\t}\n\tconst body: unknown = await response.json();\n\tconst latest = field(field(body, \"dist-tags\"), \"latest\");\n\tif (typeof latest !== \"string\" || !STABLE_RE.test(latest)) {\n\t\tthrow new Error(\"registry response missing a valid version\");\n\t}\n\tconst time = field(body, \"time\");\n\tconst versions = field(body, \"versions\");\n\tconst releases: Record<string, string> = {};\n\tif (typeof time === \"object\" && time !== null) {\n\t\tfor (const [version, publishedAt] of Object.entries(time)) {\n\t\t\tif (!STABLE_RE.test(version) || isNewerVersion(version, latest)) continue;\n\t\t\tconst manifest = field(versions, version);\n\t\t\tif (manifest === undefined || field(manifest, \"deprecated\") !== undefined) continue;\n\t\t\tif (typeof publishedAt !== \"string\" || Number.isNaN(Date.parse(publishedAt))) continue;\n\t\t\treleases[version] = publishedAt;\n\t\t}\n\t}\n\tif (!releases[latest]) {\n\t\tthrow new Error(\"registry response missing a publish time for the latest version\");\n\t}\n\tconst cache: CoreUpdateCache = { releases, checkedAt: new Date().toISOString() };\n\tawait new OptionsRepository(db).set(CORE_UPDATE_OPTION, cache);\n}\n\nfunction parseCache(value: unknown): CoreUpdateCache | null {\n\tconst releases = field(value, \"releases\");\n\tconst checkedAt = field(value, \"checkedAt\");\n\tif (typeof releases !== \"object\" || releases === null || typeof checkedAt !== \"string\") {\n\t\treturn null;\n\t}\n\t// An unparsable checkedAt would make the staleness math NaN (never\n\t// stale), freezing a corrupt cache forever — treat it as no cache so\n\t// the next request schedules a refresh that overwrites it.\n\tif (Number.isNaN(Date.parse(checkedAt))) return null;\n\tconst valid: Record<string, string> = {};\n\tfor (const [version, publishedAt] of Object.entries(releases)) {\n\t\tif (\n\t\t\tSTABLE_RE.test(version) &&\n\t\t\ttypeof publishedAt === \"string\" &&\n\t\t\t!Number.isNaN(Date.parse(publishedAt))\n\t\t) {\n\t\t\tvalid[version] = publishedAt;\n\t\t}\n\t}\n\treturn { releases: valid, checkedAt };\n}\n\n/** The newest release published at least `minimumAgeMs` before `now`. */\nfunction newestReleased(\n\treleases: Record<string, string>,\n\tnow: Date,\n\tminimumAgeMs: number,\n): string | null {\n\tlet newest: string | null = null;\n\tfor (const [version, publishedAt] of Object.entries(releases)) {\n\t\tif (now.getTime() - Date.parse(publishedAt) < minimumAgeMs) continue;\n\t\tif (!newest || isNewerVersion(version, newest)) newest = version;\n\t}\n\treturn newest;\n}\n\n/**\n * Seconds a release must be public before it is reported, from the\n * `updateCheck` option. Throws on an invalid duration.\n */\nexport function minimumReleaseAgeSeconds(\n\toption: boolean | { minimumReleaseAge?: string | number } | null | undefined,\n): number {\n\tconst age = typeof option === \"object\" ? option?.minimumReleaseAge : undefined;\n\treturn parseDurationSeconds(age ?? DEFAULT_MINIMUM_RELEASE_AGE);\n}\n\n/**\n * Report the cached update status and, when the cache is stale (or\n * missing), kick a deferred registry refresh. Never blocks on the\n * network: the first request after install/expiry reports the previous\n * state and the next request sees the refreshed one.\n */\nexport async function handleCoreUpdateStatus(\n\tdb: Kysely<Database>,\n\toptions?: { now?: Date; enabled?: boolean; minimumReleaseAgeSeconds?: number; current?: string },\n): Promise<ApiResult<CoreUpdateStatus>> {\n\tconst current = options?.current ?? VERSION;\n\tif (options?.enabled === false) {\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: { current, latest: null, updateAvailable: false, checkedAt: null },\n\t\t};\n\t}\n\n\ttry {\n\t\tconst repo = new OptionsRepository(db);\n\t\tconst cache = parseCache(await repo.get(CORE_UPDATE_OPTION));\n\n\t\tconst now = options?.now ?? new Date();\n\t\tconst minimumAgeMs =\n\t\t\t(options?.minimumReleaseAgeSeconds ?? minimumReleaseAgeSeconds(undefined)) * 1000;\n\t\tconst stale = !cache || now.getTime() - Date.parse(cache.checkedAt) >= CHECK_INTERVAL_MS;\n\t\t// A \"dev\" version can never compare as outdated, so skip the\n\t\t// registry round-trip entirely in uncompiled dev/test runs.\n\t\tif (stale && current !== \"dev\") {\n\t\t\tafter(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait refreshCoreUpdateCache(db);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.warn(\"[update-check] registry refresh failed:\", error);\n\t\t\t\t\tconst latestCache = parseCache(await repo.get(CORE_UPDATE_OPTION));\n\t\t\t\t\tif (latestCache?.checkedAt !== cache?.checkedAt) return;\n\t\t\t\t\tconst retryLater: CoreUpdateCache = {\n\t\t\t\t\t\treleases: cache?.releases ?? {},\n\t\t\t\t\t\tcheckedAt: new Date().toISOString(),\n\t\t\t\t\t};\n\t\t\t\t\tawait repo.set(CORE_UPDATE_OPTION, retryLater);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tconst latest = cache ? newestReleased(cache.releases, now, minimumAgeMs) : null;\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tcurrent,\n\t\t\t\tlatest,\n\t\t\t\tupdateAvailable: latest ? isNewerVersion(latest, current) : false,\n\t\t\t\tcheckedAt: cache?.checkedAt ?? null,\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\tconsole.error(\"[update-check] status read failed:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: { code: ErrorCode.UPDATE_CHECK_ERROR, message: \"Failed to read update status\" },\n\t\t};\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/media/upload-attempts.ts
|
|
2
|
+
async function removeUploadAttempt(storage, repo, storageKey, options = {}) {
|
|
3
|
+
try {
|
|
4
|
+
if (!await repo.claimUploadAttemptForCleanup(storageKey)) {
|
|
5
|
+
if (await repo.hasUploadAttempt(storageKey) || !options.allowUntracked) return false;
|
|
6
|
+
}
|
|
7
|
+
} catch (error) {
|
|
8
|
+
console.error("[media] upload cleanup claim failed:", error);
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
await storage.delete(storageKey);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
console.error("[media] upload cleanup failed:", error);
|
|
15
|
+
try {
|
|
16
|
+
await repo.deferUploadAttemptCleanup(storageKey);
|
|
17
|
+
} catch (deferError) {
|
|
18
|
+
console.error("[media] upload cleanup deferral failed:", deferError);
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
await repo.deleteUploadAttempt(storageKey);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
console.error("[media] upload cleanup record deletion failed:", error);
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { removeUploadAttempt as t };
|
|
32
|
+
//# sourceMappingURL=upload-attempts-D8CPPvRU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-attempts-D8CPPvRU.mjs","names":[],"sources":["../src/media/upload-attempts.ts"],"sourcesContent":["import type { MediaRepository } from \"../database/repositories/media.js\";\nimport type { Storage } from \"../storage/types.js\";\n\nexport async function removeUploadAttempt(\n\tstorage: Storage,\n\trepo: MediaRepository,\n\tstorageKey: string,\n\toptions: { allowUntracked?: boolean } = {},\n): Promise<boolean> {\n\ttry {\n\t\tif (!(await repo.claimUploadAttemptForCleanup(storageKey))) {\n\t\t\tconst tracked = await repo.hasUploadAttempt(storageKey);\n\t\t\tif (tracked || !options.allowUntracked) return false;\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(\"[media] upload cleanup claim failed:\", error);\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tawait storage.delete(storageKey);\n\t} catch (error) {\n\t\tconsole.error(\"[media] upload cleanup failed:\", error);\n\t\ttry {\n\t\t\tawait repo.deferUploadAttemptCleanup(storageKey);\n\t\t} catch (deferError) {\n\t\t\tconsole.error(\"[media] upload cleanup deferral failed:\", deferError);\n\t\t}\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tawait repo.deleteUploadAttempt(storageKey);\n\t} catch (error) {\n\t\tconsole.error(\"[media] upload cleanup record deletion failed:\", error);\n\t}\n\treturn true;\n}\n"],"mappings":";AAGA,eAAsB,oBACrB,SACA,MACA,YACA,UAAwC,EAAE,EACvB;AACnB,KAAI;AACH,MAAI,CAAE,MAAM,KAAK,6BAA6B,WAAW,EAExD;OADgB,MAAM,KAAK,iBAAiB,WAAW,IACxC,CAAC,QAAQ,eAAgB,QAAO;;UAExC,OAAO;AACf,UAAQ,MAAM,wCAAwC,MAAM;AAC5D,SAAO;;AAGR,KAAI;AACH,QAAM,QAAQ,OAAO,WAAW;UACxB,OAAO;AACf,UAAQ,MAAM,kCAAkC,MAAM;AACtD,MAAI;AACH,SAAM,KAAK,0BAA0B,WAAW;WACxC,YAAY;AACpB,WAAQ,MAAM,2CAA2C,WAAW;;AAErE,SAAO;;AAGR,KAAI;AACH,QAAM,KAAK,oBAAoB,WAAW;UAClC,OAAO;AACf,UAAQ,MAAM,kDAAkD,MAAM;;AAEvE,QAAO"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/schema/url-pattern.ts
|
|
2
|
+
const URL_PARAM_PATTERN = /\{(\w+)\}/g;
|
|
3
|
+
const REGEX_SPECIAL_CHARACTERS = /[.*+?^${}()|[\]\\]/g;
|
|
4
|
+
const INVALID_LITERAL_PATTERN = /[{}]/;
|
|
5
|
+
function escapeRegex(literal) {
|
|
6
|
+
return literal.replace(REGEX_SPECIAL_CHARACTERS, "\\$&");
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Compile a collection URL pattern to an anchored regex.
|
|
10
|
+
*
|
|
11
|
+
* Each placeholder must sit in its own path segment. Two `[^/]+` groups in one
|
|
12
|
+
* segment can split the segment many ways, so a crafted request path makes the
|
|
13
|
+
* regex backtrack polynomially (exponentially in the placeholder count).
|
|
14
|
+
*/
|
|
15
|
+
function compileUrlPattern(pattern) {
|
|
16
|
+
const paramNames = [];
|
|
17
|
+
let regexSource = "";
|
|
18
|
+
let previousIndex = 0;
|
|
19
|
+
for (const match of pattern.matchAll(URL_PARAM_PATTERN)) {
|
|
20
|
+
const matchIndex = match.index;
|
|
21
|
+
const literal = pattern.slice(previousIndex, matchIndex);
|
|
22
|
+
if (INVALID_LITERAL_PATTERN.test(literal)) throw new Error("Invalid URL pattern placeholder");
|
|
23
|
+
if (paramNames.length > 0 && !literal.includes("/")) throw new Error("URL patterns allow only one placeholder per path segment");
|
|
24
|
+
regexSource += escapeRegex(literal);
|
|
25
|
+
const name = match[1];
|
|
26
|
+
paramNames.push(name);
|
|
27
|
+
regexSource += "([^/]+)";
|
|
28
|
+
previousIndex = matchIndex + match[0].length;
|
|
29
|
+
}
|
|
30
|
+
const trailingLiteral = pattern.slice(previousIndex);
|
|
31
|
+
if (INVALID_LITERAL_PATTERN.test(trailingLiteral)) throw new Error("Invalid URL pattern placeholder");
|
|
32
|
+
regexSource += escapeRegex(trailingLiteral);
|
|
33
|
+
return {
|
|
34
|
+
regex: new RegExp(`^${regexSource}$`),
|
|
35
|
+
paramNames
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { compileUrlPattern as t };
|
|
41
|
+
//# sourceMappingURL=url-pattern-Di4Nn3vP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-pattern-Di4Nn3vP.mjs","names":[],"sources":["../src/schema/url-pattern.ts"],"sourcesContent":["const URL_PARAM_PATTERN = /\\{(\\w+)\\}/g;\nconst REGEX_SPECIAL_CHARACTERS = /[.*+?^${}()|[\\]\\\\]/g;\nconst INVALID_LITERAL_PATTERN = /[{}]/;\n\nfunction escapeRegex(literal: string): string {\n\treturn literal.replace(REGEX_SPECIAL_CHARACTERS, \"\\\\$&\");\n}\n\n/**\n * Compile a collection URL pattern to an anchored regex.\n *\n * Each placeholder must sit in its own path segment. Two `[^/]+` groups in one\n * segment can split the segment many ways, so a crafted request path makes the\n * regex backtrack polynomially (exponentially in the placeholder count).\n */\nexport function compileUrlPattern(pattern: string): { regex: RegExp; paramNames: string[] } {\n\tconst paramNames: string[] = [];\n\tlet regexSource = \"\";\n\tlet previousIndex = 0;\n\n\tfor (const match of pattern.matchAll(URL_PARAM_PATTERN)) {\n\t\tconst matchIndex = match.index;\n\t\tconst literal = pattern.slice(previousIndex, matchIndex);\n\t\tif (INVALID_LITERAL_PATTERN.test(literal)) throw new Error(\"Invalid URL pattern placeholder\");\n\t\tif (paramNames.length > 0 && !literal.includes(\"/\")) {\n\t\t\tthrow new Error(\"URL patterns allow only one placeholder per path segment\");\n\t\t}\n\t\tregexSource += escapeRegex(literal);\n\n\t\tconst name = match[1];\n\t\tparamNames.push(name);\n\t\tregexSource += \"([^/]+)\";\n\t\tpreviousIndex = matchIndex + match[0].length;\n\t}\n\n\tconst trailingLiteral = pattern.slice(previousIndex);\n\tif (INVALID_LITERAL_PATTERN.test(trailingLiteral)) {\n\t\tthrow new Error(\"Invalid URL pattern placeholder\");\n\t}\n\tregexSource += escapeRegex(trailingLiteral);\n\n\treturn { regex: new RegExp(`^${regexSource}$`), paramNames };\n}\n"],"mappings":";AAAA,MAAM,oBAAoB;AAC1B,MAAM,2BAA2B;AACjC,MAAM,0BAA0B;AAEhC,SAAS,YAAY,SAAyB;AAC7C,QAAO,QAAQ,QAAQ,0BAA0B,OAAO;;;;;;;;;AAUzD,SAAgB,kBAAkB,SAA0D;CAC3F,MAAM,aAAuB,EAAE;CAC/B,IAAI,cAAc;CAClB,IAAI,gBAAgB;AAEpB,MAAK,MAAM,SAAS,QAAQ,SAAS,kBAAkB,EAAE;EACxD,MAAM,aAAa,MAAM;EACzB,MAAM,UAAU,QAAQ,MAAM,eAAe,WAAW;AACxD,MAAI,wBAAwB,KAAK,QAAQ,CAAE,OAAM,IAAI,MAAM,kCAAkC;AAC7F,MAAI,WAAW,SAAS,KAAK,CAAC,QAAQ,SAAS,IAAI,CAClD,OAAM,IAAI,MAAM,2DAA2D;AAE5E,iBAAe,YAAY,QAAQ;EAEnC,MAAM,OAAO,MAAM;AACnB,aAAW,KAAK,KAAK;AACrB,iBAAe;AACf,kBAAgB,aAAa,MAAM,GAAG;;CAGvC,MAAM,kBAAkB,QAAQ,MAAM,cAAc;AACpD,KAAI,wBAAwB,KAAK,gBAAgB,CAChD,OAAM,IAAI,MAAM,kCAAkC;AAEnD,gBAAe,YAAY,gBAAgB;AAE3C,QAAO;EAAE,OAAO,IAAI,OAAO,IAAI,YAAY,GAAG;EAAE;EAAY"}
|