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
|
@@ -1,516 +0,0 @@
|
|
|
1
|
-
import { t as defaultSeed } from "./default-DaoYyFRS.mjs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { resolve } from "node:path";
|
|
4
|
-
import { readFileSync } from "node:fs";
|
|
5
|
-
|
|
6
|
-
//#region src/astro/integration/virtual-modules.ts
|
|
7
|
-
/**
|
|
8
|
-
* Virtual Module Generators
|
|
9
|
-
*
|
|
10
|
-
* Functions that generate virtual module content for Vite.
|
|
11
|
-
* These modules statically import configured dependencies
|
|
12
|
-
* so Vite can properly resolve and bundle them.
|
|
13
|
-
*/
|
|
14
|
-
const TS_SOURCE_EXT_RE = /^\.(ts|tsx|mts|cts|jsx)$/;
|
|
15
|
-
/** Pattern to remove scoped package prefix from plugin ID */
|
|
16
|
-
const SCOPED_PREFIX_PATTERN = /^@[^/]+\/plugin-/;
|
|
17
|
-
/** Pattern to remove emdash-plugin- prefix from plugin ID */
|
|
18
|
-
const EMDASH_PREFIX_PATTERN = /^emdash-plugin-/;
|
|
19
|
-
const VIRTUAL_CONFIG_ID = "virtual:emdash/config";
|
|
20
|
-
const RESOLVED_VIRTUAL_CONFIG_ID = "\0" + VIRTUAL_CONFIG_ID;
|
|
21
|
-
const VIRTUAL_DIALECT_ID = "virtual:emdash/dialect";
|
|
22
|
-
const RESOLVED_VIRTUAL_DIALECT_ID = "\0" + VIRTUAL_DIALECT_ID;
|
|
23
|
-
const VIRTUAL_STORAGE_ID = "virtual:emdash/storage";
|
|
24
|
-
const RESOLVED_VIRTUAL_STORAGE_ID = "\0" + VIRTUAL_STORAGE_ID;
|
|
25
|
-
const VIRTUAL_OBJECT_CACHE_ID = "virtual:emdash/object-cache";
|
|
26
|
-
const RESOLVED_VIRTUAL_OBJECT_CACHE_ID = "\0" + VIRTUAL_OBJECT_CACHE_ID;
|
|
27
|
-
const VIRTUAL_ADMIN_REGISTRY_ID = "virtual:emdash/admin-registry";
|
|
28
|
-
const RESOLVED_VIRTUAL_ADMIN_REGISTRY_ID = "\0" + VIRTUAL_ADMIN_REGISTRY_ID;
|
|
29
|
-
const VIRTUAL_PLUGINS_ID = "virtual:emdash/plugins";
|
|
30
|
-
const RESOLVED_VIRTUAL_PLUGINS_ID = "\0" + VIRTUAL_PLUGINS_ID;
|
|
31
|
-
const VIRTUAL_SANDBOX_RUNNER_ID = "virtual:emdash/sandbox-runner";
|
|
32
|
-
const RESOLVED_VIRTUAL_SANDBOX_RUNNER_ID = "\0" + VIRTUAL_SANDBOX_RUNNER_ID;
|
|
33
|
-
const VIRTUAL_SANDBOXED_PLUGINS_ID = "virtual:emdash/sandboxed-plugins";
|
|
34
|
-
const RESOLVED_VIRTUAL_SANDBOXED_PLUGINS_ID = "\0" + VIRTUAL_SANDBOXED_PLUGINS_ID;
|
|
35
|
-
const VIRTUAL_AUTH_ID = "virtual:emdash/auth";
|
|
36
|
-
const RESOLVED_VIRTUAL_AUTH_ID = "\0" + VIRTUAL_AUTH_ID;
|
|
37
|
-
const VIRTUAL_AUTH_PROVIDERS_ID = "virtual:emdash/auth-providers";
|
|
38
|
-
const RESOLVED_VIRTUAL_AUTH_PROVIDERS_ID = "\0" + VIRTUAL_AUTH_PROVIDERS_ID;
|
|
39
|
-
const VIRTUAL_MEDIA_PROVIDERS_ID = "virtual:emdash/media-providers";
|
|
40
|
-
const RESOLVED_VIRTUAL_MEDIA_PROVIDERS_ID = "\0" + VIRTUAL_MEDIA_PROVIDERS_ID;
|
|
41
|
-
const VIRTUAL_BLOCK_COMPONENTS_ID = "virtual:emdash/block-components";
|
|
42
|
-
const RESOLVED_VIRTUAL_BLOCK_COMPONENTS_ID = "\0" + VIRTUAL_BLOCK_COMPONENTS_ID;
|
|
43
|
-
const VIRTUAL_SEED_ID = "virtual:emdash/seed";
|
|
44
|
-
const RESOLVED_VIRTUAL_SEED_ID = "\0" + VIRTUAL_SEED_ID;
|
|
45
|
-
const VIRTUAL_WAIT_UNTIL_ID = "virtual:emdash/wait-until";
|
|
46
|
-
const RESOLVED_VIRTUAL_WAIT_UNTIL_ID = "\0" + VIRTUAL_WAIT_UNTIL_ID;
|
|
47
|
-
const VIRTUAL_SCHEDULER_ID = "virtual:emdash/scheduler";
|
|
48
|
-
const RESOLVED_VIRTUAL_SCHEDULER_ID = "\0" + VIRTUAL_SCHEDULER_ID;
|
|
49
|
-
const VIRTUAL_ENV_ID = "virtual:emdash/env";
|
|
50
|
-
const RESOLVED_VIRTUAL_ENV_ID = "\0" + VIRTUAL_ENV_ID;
|
|
51
|
-
const VIRTUAL_BUILD_ID = "virtual:emdash/build";
|
|
52
|
-
const RESOLVED_VIRTUAL_BUILD_ID = "\0" + VIRTUAL_BUILD_ID;
|
|
53
|
-
/**
|
|
54
|
-
* Generates the config virtual module.
|
|
55
|
-
*/
|
|
56
|
-
function generateConfigModule(serializableConfig) {
|
|
57
|
-
return `export default ${JSON.stringify(serializableConfig)};`;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Generates the dialect virtual module.
|
|
61
|
-
*
|
|
62
|
-
* Adapters that set `supportsRequestScope: true` on their descriptor are
|
|
63
|
-
* expected to export `createRequestScopedDb` from their runtime entrypoint;
|
|
64
|
-
* the generator re-exports it so middleware can ask for a per-request Kysely
|
|
65
|
-
* (used for D1 Sessions API, bookmark cookies, read-replica routing). Other
|
|
66
|
-
* adapters get a stub that returns null.
|
|
67
|
-
*
|
|
68
|
-
* Adapters independently opt into the cold-start coalescing dialect. Keeping
|
|
69
|
-
* this capability explicit prevents bundlers from probing exports that do not
|
|
70
|
-
* exist on SQLite, libSQL, PostgreSQL, or other adapters.
|
|
71
|
-
*/
|
|
72
|
-
function generateDialectModule(opts) {
|
|
73
|
-
const { entrypoint, supportsRequestScope, supportsCoalescing, supportsCollectionDeletionGuard } = opts;
|
|
74
|
-
if (!entrypoint) return [
|
|
75
|
-
`export const createDialect = undefined;`,
|
|
76
|
-
`export const dialectType = "sqlite";`,
|
|
77
|
-
`export const createRequestScopedDb = (_opts) => null;`,
|
|
78
|
-
`export const createCoalescingDialect = undefined;`,
|
|
79
|
-
`export const executeCollectionDeletionGuard = undefined;`
|
|
80
|
-
].join("\n");
|
|
81
|
-
const type = opts.type ?? "sqlite";
|
|
82
|
-
const coalescingExport = supportsCoalescing ? `import { createCoalescingDialect as _createCoalescingDialect } from "${entrypoint}";
|
|
83
|
-
export const createCoalescingDialect = _createCoalescingDialect;` : `export const createCoalescingDialect = undefined;`;
|
|
84
|
-
const collectionDeletionExport = supportsCollectionDeletionGuard ? `export { executeCollectionDeletionGuard } from "${entrypoint}";` : `export const executeCollectionDeletionGuard = undefined;`;
|
|
85
|
-
if (supportsRequestScope) return `
|
|
86
|
-
import { createDialect as _createDialect } from "${entrypoint}";
|
|
87
|
-
export { createRequestScopedDb } from "${entrypoint}";
|
|
88
|
-
${coalescingExport}
|
|
89
|
-
${collectionDeletionExport}
|
|
90
|
-
export const createDialect = _createDialect;
|
|
91
|
-
export const dialectType = ${JSON.stringify(type)};
|
|
92
|
-
`;
|
|
93
|
-
return `
|
|
94
|
-
import { createDialect as _createDialect } from "${entrypoint}";
|
|
95
|
-
${coalescingExport}
|
|
96
|
-
${collectionDeletionExport}
|
|
97
|
-
export const createDialect = _createDialect;
|
|
98
|
-
export const dialectType = ${JSON.stringify(type)};
|
|
99
|
-
export const createRequestScopedDb = (_opts) => null;
|
|
100
|
-
`;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Generates the storage virtual module.
|
|
104
|
-
* Statically imports the configured storage adapter.
|
|
105
|
-
*/
|
|
106
|
-
function generateStorageModule(storageEntrypoint) {
|
|
107
|
-
if (!storageEntrypoint) return `export const createStorage = undefined;`;
|
|
108
|
-
return `
|
|
109
|
-
import { createStorage as _createStorage } from "${storageEntrypoint}";
|
|
110
|
-
export const createStorage = _createStorage;
|
|
111
|
-
`;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Generates the object-cache virtual module.
|
|
115
|
-
*
|
|
116
|
-
* Statically imports the configured object-cache backend's `createObjectCache`
|
|
117
|
-
* factory and embeds its serializable config. When no object cache is
|
|
118
|
-
* configured, exports `undefined` so the runtime read-through layer becomes a
|
|
119
|
-
* transparent passthrough (cache off by default).
|
|
120
|
-
*/
|
|
121
|
-
function generateObjectCacheModule(entrypoint, config) {
|
|
122
|
-
if (!entrypoint) return [`export const createObjectCache = undefined;`, `export const objectCacheConfig = undefined;`].join("\n");
|
|
123
|
-
return `
|
|
124
|
-
import { createObjectCache as _createObjectCache } from "${entrypoint}";
|
|
125
|
-
export const createObjectCache = _createObjectCache;
|
|
126
|
-
export const objectCacheConfig = ${JSON.stringify(config ?? {})};
|
|
127
|
-
`;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Generates the auth virtual module.
|
|
131
|
-
* Statically imports the configured auth provider.
|
|
132
|
-
*/
|
|
133
|
-
function generateAuthModule(authEntrypoint) {
|
|
134
|
-
if (!authEntrypoint) return `export const authenticate = undefined;`;
|
|
135
|
-
return `
|
|
136
|
-
import { authenticate as _authenticate } from "${authEntrypoint}";
|
|
137
|
-
export const authenticate = _authenticate;
|
|
138
|
-
`;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Generates the auth providers module.
|
|
142
|
-
*
|
|
143
|
-
* Statically imports each auth provider's `adminEntry` module and exports
|
|
144
|
-
* a registry keyed by provider ID. The admin UI uses this to render
|
|
145
|
-
* provider-specific login buttons/forms and setup steps.
|
|
146
|
-
*
|
|
147
|
-
* Follows the same pattern as `generateAdminRegistryModule()` for plugins.
|
|
148
|
-
*/
|
|
149
|
-
function generateAuthProvidersModule(descriptors) {
|
|
150
|
-
const withAdmin = descriptors.filter((d) => d.adminEntry);
|
|
151
|
-
if (withAdmin.length === 0) return `export const authProviders = {};`;
|
|
152
|
-
const imports = [];
|
|
153
|
-
const entries = [];
|
|
154
|
-
withAdmin.forEach((descriptor, index) => {
|
|
155
|
-
const varName = `authProvider${index}`;
|
|
156
|
-
imports.push(`import * as ${varName} from ${JSON.stringify(descriptor.adminEntry)};`);
|
|
157
|
-
entries.push(` ${JSON.stringify(descriptor.id)}: { ...${varName}, id: ${JSON.stringify(descriptor.id)}, label: ${JSON.stringify(descriptor.label)} },`);
|
|
158
|
-
});
|
|
159
|
-
return `
|
|
160
|
-
// Auto-generated auth provider registry
|
|
161
|
-
${imports.join("\n")}
|
|
162
|
-
|
|
163
|
-
export const authProviders = {
|
|
164
|
-
${entries.join("\n")}
|
|
165
|
-
};
|
|
166
|
-
`;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Generates the plugins module.
|
|
170
|
-
* Imports and instantiates all plugins at runtime.
|
|
171
|
-
*
|
|
172
|
-
* Handles two plugin formats:
|
|
173
|
-
* - **Native**: imports `createPlugin` and calls it with options
|
|
174
|
-
* - **Standard**: imports the default export and wraps it with `adaptSandboxEntry`
|
|
175
|
-
*
|
|
176
|
-
* The format is determined by `descriptor.format`:
|
|
177
|
-
* - `"standard"` -- uses adaptSandboxEntry
|
|
178
|
-
* - `"native"` or undefined -- uses createPlugin
|
|
179
|
-
*
|
|
180
|
-
* This is critical for Cloudflare Workers where globals don't persist
|
|
181
|
-
* between build time and runtime.
|
|
182
|
-
*/
|
|
183
|
-
function generatePluginsModule(descriptors) {
|
|
184
|
-
if (descriptors.length === 0) return `export const plugins = [];`;
|
|
185
|
-
const imports = [];
|
|
186
|
-
const instantiations = [];
|
|
187
|
-
let needsAdapter = false;
|
|
188
|
-
descriptors.forEach((descriptor, index) => {
|
|
189
|
-
if (!descriptor.entrypoint) throw new Error(`[emdash] Plugin "${descriptor.id}" has no \`entrypoint\`. The astro integration's \`plugins: []\` requires plugins that resolve to a file/package entrypoint so they can be bundled at build time; an in-process \`definePlugin({...})\` result passed directly is not supported. Move the plugin into its own module and reference it via a factory that returns a descriptor with an \`entrypoint\` (e.g. \`plugins: [myPlugin()]\`).`);
|
|
190
|
-
if (descriptor.format === "standard") {
|
|
191
|
-
needsAdapter = true;
|
|
192
|
-
const varName = `pluginDef${index}`;
|
|
193
|
-
imports.push(`import ${varName} from "${descriptor.entrypoint}";`);
|
|
194
|
-
instantiations.push(`adaptSandboxEntry(${varName}, ${JSON.stringify({
|
|
195
|
-
id: descriptor.id,
|
|
196
|
-
version: descriptor.version,
|
|
197
|
-
capabilities: descriptor.capabilities,
|
|
198
|
-
allowedHosts: descriptor.allowedHosts,
|
|
199
|
-
storage: descriptor.storage,
|
|
200
|
-
adminPages: descriptor.adminPages,
|
|
201
|
-
adminWidgets: descriptor.adminWidgets,
|
|
202
|
-
editorPanels: descriptor.editorPanels,
|
|
203
|
-
editorActions: descriptor.editorActions,
|
|
204
|
-
settingsSchema: descriptor.settingsSchema,
|
|
205
|
-
portableTextBlocks: descriptor.portableTextBlocks,
|
|
206
|
-
fieldWidgets: descriptor.fieldWidgets,
|
|
207
|
-
mcp: descriptor.mcp
|
|
208
|
-
})})`);
|
|
209
|
-
} else {
|
|
210
|
-
const varName = `createPlugin${index}`;
|
|
211
|
-
imports.push(`import { createPlugin as ${varName} } from "${descriptor.entrypoint}";`);
|
|
212
|
-
instantiations.push(`${varName}(${JSON.stringify(descriptor.options ?? {})})`);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
return `
|
|
216
|
-
// Auto-generated plugins module
|
|
217
|
-
// Imports and instantiates all configured plugins at runtime
|
|
218
|
-
|
|
219
|
-
${needsAdapter ? `import { adaptSandboxEntry } from "emdash/internal/plugins/adapt-sandbox-entry";\n` : ""}${imports.join("\n")}
|
|
220
|
-
|
|
221
|
-
/** Resolved plugins array */
|
|
222
|
-
export const plugins = [
|
|
223
|
-
${instantiations.join(",\n ")}
|
|
224
|
-
];
|
|
225
|
-
`;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Generates the admin registry module.
|
|
229
|
-
* Uses adminEntry from plugin descriptors to statically import admin modules.
|
|
230
|
-
*/
|
|
231
|
-
function generateAdminRegistryModule(descriptors) {
|
|
232
|
-
const adminDescriptors = descriptors.filter((d) => d.adminEntry);
|
|
233
|
-
if (adminDescriptors.length === 0) return `export const pluginAdmins = {};`;
|
|
234
|
-
const imports = [];
|
|
235
|
-
const entries = [];
|
|
236
|
-
adminDescriptors.forEach((descriptor, index) => {
|
|
237
|
-
const varName = `admin${index}`;
|
|
238
|
-
const pluginId = descriptor.id ?? descriptor.entrypoint.replace(SCOPED_PREFIX_PATTERN, "").replace(EMDASH_PREFIX_PATTERN, "");
|
|
239
|
-
imports.push(`import * as ${varName} from "${descriptor.adminEntry}";`);
|
|
240
|
-
entries.push(` "${pluginId}": ${varName},`);
|
|
241
|
-
});
|
|
242
|
-
return `
|
|
243
|
-
// Auto-generated plugin admin registry
|
|
244
|
-
${imports.join("\n")}
|
|
245
|
-
|
|
246
|
-
export const pluginAdmins = {
|
|
247
|
-
${entries.join("\n")}
|
|
248
|
-
};
|
|
249
|
-
`;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Generates the sandbox runner module.
|
|
253
|
-
* Imports the configured sandbox runner factory or provides a noop default.
|
|
254
|
-
*
|
|
255
|
-
* When sandbox is explicitly false (debugging escape hatch), we still mark
|
|
256
|
-
* sandboxEnabled = true so sandboxed plugin entries are loaded, but we use
|
|
257
|
-
* the noop runner which falls through to in-process loading via adaptSandboxEntry.
|
|
258
|
-
*/
|
|
259
|
-
function generateSandboxRunnerModule(sandboxRunner, sandbox) {
|
|
260
|
-
if (!sandboxRunner) return `
|
|
261
|
-
// No sandbox runner configured - sandboxed plugins disabled
|
|
262
|
-
import { createNoopSandboxRunner } from "emdash";
|
|
263
|
-
|
|
264
|
-
export const createSandboxRunner = createNoopSandboxRunner;
|
|
265
|
-
export const sandboxEnabled = false;
|
|
266
|
-
`;
|
|
267
|
-
if (sandbox === false) return `
|
|
268
|
-
// Sandbox explicitly disabled (sandbox: false) - plugins run in-process
|
|
269
|
-
import { createNoopSandboxRunner } from "emdash";
|
|
270
|
-
|
|
271
|
-
export const createSandboxRunner = createNoopSandboxRunner;
|
|
272
|
-
export const sandboxEnabled = true;
|
|
273
|
-
export const sandboxBypassed = true;
|
|
274
|
-
`;
|
|
275
|
-
return `
|
|
276
|
-
// Auto-generated sandbox runner module
|
|
277
|
-
import { createSandboxRunner as _createSandboxRunner } from "${sandboxRunner}";
|
|
278
|
-
|
|
279
|
-
export const createSandboxRunner = _createSandboxRunner;
|
|
280
|
-
export const sandboxEnabled = true;
|
|
281
|
-
`;
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Generates the media providers module.
|
|
285
|
-
* Imports and instantiates configured media providers at runtime.
|
|
286
|
-
*/
|
|
287
|
-
function generateMediaProvidersModule(descriptors) {
|
|
288
|
-
const localDisabled = descriptors.some((d) => d.id === "local" && d.config.enabled === false);
|
|
289
|
-
const imports = [];
|
|
290
|
-
const entries = [];
|
|
291
|
-
if (!localDisabled) {
|
|
292
|
-
imports.push(`import { createMediaProvider as createLocalProvider } from "emdash/internal/media/local-runtime";`);
|
|
293
|
-
entries.push(`{
|
|
294
|
-
id: "local",
|
|
295
|
-
name: "Library",
|
|
296
|
-
icon: "folder",
|
|
297
|
-
capabilities: { browse: true, search: false, upload: true, delete: true },
|
|
298
|
-
createProvider: (ctx) => createLocalProvider({ ...ctx, enabled: true }),
|
|
299
|
-
}`);
|
|
300
|
-
}
|
|
301
|
-
descriptors.filter((d) => d.id !== "local" || d.config.enabled !== false).filter((d) => d.id !== "local").forEach((descriptor, index) => {
|
|
302
|
-
const varName = `createProvider${index}`;
|
|
303
|
-
imports.push(`import { createMediaProvider as ${varName} } from "${descriptor.entrypoint}";`);
|
|
304
|
-
entries.push(`{
|
|
305
|
-
id: ${JSON.stringify(descriptor.id)},
|
|
306
|
-
name: ${JSON.stringify(descriptor.name)},
|
|
307
|
-
icon: ${JSON.stringify(descriptor.icon)},
|
|
308
|
-
capabilities: ${JSON.stringify(descriptor.capabilities)},
|
|
309
|
-
createProvider: (ctx) => ${varName}({ ...${JSON.stringify(descriptor.config)}, ...ctx }),
|
|
310
|
-
}`);
|
|
311
|
-
});
|
|
312
|
-
return `
|
|
313
|
-
// Auto-generated media providers module
|
|
314
|
-
${imports.join("\n")}
|
|
315
|
-
|
|
316
|
-
/** Media provider descriptors with factory functions */
|
|
317
|
-
export const mediaProviders = [
|
|
318
|
-
${entries.join(",\n ")}
|
|
319
|
-
];
|
|
320
|
-
`;
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Generates the block components module.
|
|
324
|
-
* Collects and merges `blockComponents` exports from plugin component entries.
|
|
325
|
-
*/
|
|
326
|
-
function generateBlockComponentsModule(descriptors) {
|
|
327
|
-
const withComponents = descriptors.filter((d) => d.componentsEntry);
|
|
328
|
-
if (withComponents.length === 0) return `export const pluginBlockComponents = {};`;
|
|
329
|
-
const imports = [];
|
|
330
|
-
const spreads = [];
|
|
331
|
-
withComponents.forEach((d, i) => {
|
|
332
|
-
imports.push(`import { blockComponents as bc${i} } from "${d.componentsEntry}";`);
|
|
333
|
-
spreads.push(`...bc${i}`);
|
|
334
|
-
});
|
|
335
|
-
return `${imports.join("\n")}\nexport const pluginBlockComponents = { ${spreads.join(", ")} };`;
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Generates the wait-until virtual module.
|
|
339
|
-
*
|
|
340
|
-
* Under @astrojs/cloudflare, re-exports `waitUntil` from `cloudflare:workers`
|
|
341
|
-
* so `after(fn)` in core can extend the worker's lifetime past the response
|
|
342
|
-
* for deferred bookkeeping. For any other adapter, exports `undefined` —
|
|
343
|
-
* Node's long-lived event loop keeps deferred promises running without a
|
|
344
|
-
* lifetime extender.
|
|
345
|
-
*
|
|
346
|
-
* Keeping the adapter check here — rather than in core — means core itself
|
|
347
|
-
* has no Cloudflare-specific imports or code paths.
|
|
348
|
-
*/
|
|
349
|
-
function generateWaitUntilModule(adapterName) {
|
|
350
|
-
if (adapterName === "@astrojs/cloudflare") return `export { waitUntil } from "cloudflare:workers";`;
|
|
351
|
-
return `export const waitUntil = undefined;`;
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* Generates the env virtual module.
|
|
355
|
-
*
|
|
356
|
-
* Under @astrojs/cloudflare, re-exports `env` from `cloudflare:workers` so
|
|
357
|
-
* routes can read Worker bindings/secrets without touching
|
|
358
|
-
* `Astro.locals.runtime.env`, which Astro 6+ removed (accessing it throws
|
|
359
|
-
* rather than returning undefined, so `locals.runtime?.env` optional-chaining
|
|
360
|
-
* doesn't help -- see #1736). For any other adapter, exports `undefined` so
|
|
361
|
-
* callers fall back to `import.meta.env`. Mirrors generateWaitUntilModule:
|
|
362
|
-
* core stays adapter-agnostic, with no direct `cloudflare:workers` import
|
|
363
|
-
* that would fail to resolve under a Node build.
|
|
364
|
-
*/
|
|
365
|
-
function generateEnvModule(adapterName) {
|
|
366
|
-
if (adapterName === "@astrojs/cloudflare") return `export { env } from "cloudflare:workers";`;
|
|
367
|
-
return `export const env = undefined;`;
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Generates the build virtual module.
|
|
371
|
-
*
|
|
372
|
-
* Content-hashed `/_astro/*` names make the response depend on the build, not
|
|
373
|
-
* only on the content. Exposing the build timestamp lets the middleware fold
|
|
374
|
-
* that dimension into the cache validator, so a code-only deploy stops
|
|
375
|
-
* answering conditional requests with 304 while the assets the cached HTML
|
|
376
|
-
* references are already gone.
|
|
377
|
-
*/
|
|
378
|
-
function generateBuildModule(buildTime) {
|
|
379
|
-
return `export const buildTime = ${buildTime};`;
|
|
380
|
-
}
|
|
381
|
-
/**
|
|
382
|
-
* Generates the scheduler virtual module.
|
|
383
|
-
*
|
|
384
|
-
* Decides — at build time, from the Astro adapter — whether the runtime gets a
|
|
385
|
-
* long-lived timer heartbeat. A *production* Cloudflare build has no persistent
|
|
386
|
-
* timers, so the Worker's `scheduled()` handler (a Cron Trigger) drives
|
|
387
|
-
* `runScheduledTasks()` instead and this exports `null`. Every other case — any
|
|
388
|
-
* other adapter (Node, Bun), and crucially local `astro dev` even under the
|
|
389
|
-
* Cloudflare adapter (no Cron Trigger fires in dev) — gets a `NodeCronScheduler`
|
|
390
|
-
* factory so plugin cron, scheduled publishing, and cleanup still run.
|
|
391
|
-
*
|
|
392
|
-
* Keeping the adapter check here — rather than in core's runtime — means the
|
|
393
|
-
* runtime has no Cloudflare-specific code path; it just calls `createScheduler`
|
|
394
|
-
* if one was injected. Mirrors the wait-until module's approach.
|
|
395
|
-
*/
|
|
396
|
-
function generateSchedulerModule(adapterName, command) {
|
|
397
|
-
if (adapterName === "@astrojs/cloudflare" && command !== "serve") return `// Serverless build: an external Cron Trigger drives scheduled work.
|
|
398
|
-
export const createScheduler = null;
|
|
399
|
-
`;
|
|
400
|
-
return `// Long-lived runtime (or local dev): drive scheduled work from an in-process timer.
|
|
401
|
-
import { NodeCronScheduler } from "emdash";
|
|
402
|
-
|
|
403
|
-
export function createScheduler(executor) {
|
|
404
|
-
return new NodeCronScheduler(executor);
|
|
405
|
-
}
|
|
406
|
-
`;
|
|
407
|
-
}
|
|
408
|
-
/**
|
|
409
|
-
* Generates the seed virtual module.
|
|
410
|
-
* Reads the user's seed file at build time (in Node context) and embeds it,
|
|
411
|
-
* so the runtime doesn't need filesystem access (required for workerd).
|
|
412
|
-
*
|
|
413
|
-
* Search order:
|
|
414
|
-
* 1. `.emdash/seed.json`
|
|
415
|
-
* 2. `package.json` → `emdash.seed` reference
|
|
416
|
-
* 3. `seed/seed.json` (conventional template path)
|
|
417
|
-
*
|
|
418
|
-
* Exports `userSeed` (user's seed or null) and `seed` (user's seed or default).
|
|
419
|
-
*
|
|
420
|
-
* When no user seed is found, falls back to the built-in default seed and
|
|
421
|
-
* (if `warnOnFallback` is true) logs a warning so misconfiguration is visible
|
|
422
|
-
* during `astro dev`. Build/preview/sync stay silent so sites that
|
|
423
|
-
* intentionally use the default seed (e.g. the blank template) don't
|
|
424
|
-
* generate noisy logs.
|
|
425
|
-
*/
|
|
426
|
-
function generateSeedModule(projectRoot, warnOnFallback = false) {
|
|
427
|
-
let userSeedJson = null;
|
|
428
|
-
try {
|
|
429
|
-
const content = readFileSync(resolve(projectRoot, ".emdash", "seed.json"), "utf-8");
|
|
430
|
-
JSON.parse(content);
|
|
431
|
-
userSeedJson = content;
|
|
432
|
-
} catch {}
|
|
433
|
-
if (!userSeedJson) try {
|
|
434
|
-
const pkgContent = readFileSync(resolve(projectRoot, "package.json"), "utf-8");
|
|
435
|
-
const pkg = JSON.parse(pkgContent);
|
|
436
|
-
if (pkg.emdash?.seed) {
|
|
437
|
-
const content = readFileSync(resolve(projectRoot, pkg.emdash.seed), "utf-8");
|
|
438
|
-
JSON.parse(content);
|
|
439
|
-
userSeedJson = content;
|
|
440
|
-
}
|
|
441
|
-
} catch {}
|
|
442
|
-
if (!userSeedJson) try {
|
|
443
|
-
const content = readFileSync(resolve(projectRoot, "seed", "seed.json"), "utf-8");
|
|
444
|
-
JSON.parse(content);
|
|
445
|
-
userSeedJson = content;
|
|
446
|
-
} catch {}
|
|
447
|
-
if (userSeedJson) return [`export const userSeed = ${userSeedJson};`, `export const seed = userSeed;`].join("\n");
|
|
448
|
-
if (warnOnFallback) console.warn("[emdash] No user seed found at .emdash/seed.json, package.json#emdash.seed, or seed/seed.json. Falling back to the built-in default seed; the setup wizard will not offer demo content for this site.");
|
|
449
|
-
return [`export const userSeed = null;`, `export const seed = ${JSON.stringify(defaultSeed)};`].join("\n");
|
|
450
|
-
}
|
|
451
|
-
/**
|
|
452
|
-
* Resolve a module specifier from the project's context.
|
|
453
|
-
* Uses Node.js require.resolve with the project root as base.
|
|
454
|
-
*/
|
|
455
|
-
function resolveModulePathFromProject(specifier, projectRoot) {
|
|
456
|
-
return createRequire(resolve(projectRoot, "package.json")).resolve(specifier);
|
|
457
|
-
}
|
|
458
|
-
/**
|
|
459
|
-
* Generates the sandboxed plugins module.
|
|
460
|
-
* Resolves plugin entrypoints to files, reads them, and embeds the code.
|
|
461
|
-
* Notifies the caller about each resolved entry so build tools can watch it.
|
|
462
|
-
*
|
|
463
|
-
* At runtime, middleware uses SandboxRunner to load these into isolates.
|
|
464
|
-
*/
|
|
465
|
-
function generateSandboxedPluginsModule(sandboxed, projectRoot, onEntryResolved) {
|
|
466
|
-
if (sandboxed.length === 0) return `
|
|
467
|
-
// No sandboxed plugins configured
|
|
468
|
-
export const sandboxedPlugins = [];
|
|
469
|
-
`;
|
|
470
|
-
const pluginEntries = [];
|
|
471
|
-
for (const descriptor of sandboxed) {
|
|
472
|
-
const bundleSpecifier = descriptor.entrypoint;
|
|
473
|
-
const filePath = resolveModulePathFromProject(bundleSpecifier, projectRoot);
|
|
474
|
-
const ext = filePath.slice(filePath.lastIndexOf("."));
|
|
475
|
-
if (TS_SOURCE_EXT_RE.test(ext)) throw new Error(`Sandboxed plugin "${descriptor.id}" entrypoint "${bundleSpecifier}" resolves to unbuilt source (${filePath}). Sandbox entries must be pre-built JavaScript. Ensure the plugin's package.json exports point to built files (e.g. dist/*.mjs) and run the plugin's build step before building the site.`);
|
|
476
|
-
onEntryResolved?.(filePath);
|
|
477
|
-
const code = readFileSync(filePath, "utf-8");
|
|
478
|
-
pluginEntries.push(`{
|
|
479
|
-
id: ${JSON.stringify(descriptor.id)},
|
|
480
|
-
version: ${JSON.stringify(descriptor.version)},
|
|
481
|
-
options: ${JSON.stringify(descriptor.options ?? {})},
|
|
482
|
-
capabilities: ${JSON.stringify(descriptor.capabilities ?? [])},
|
|
483
|
-
allowedHosts: ${JSON.stringify(descriptor.allowedHosts ?? [])},
|
|
484
|
-
storage: ${JSON.stringify(descriptor.storage ?? {})},
|
|
485
|
-
mcp: ${JSON.stringify(descriptor.mcp)},
|
|
486
|
-
routes: ${JSON.stringify(descriptor.routes ?? [])},
|
|
487
|
-
hooks: ${JSON.stringify(descriptor.hooks ?? [])},
|
|
488
|
-
adminPages: ${JSON.stringify(descriptor.adminPages ?? [])},
|
|
489
|
-
adminWidgets: ${JSON.stringify(descriptor.adminWidgets ?? [])},
|
|
490
|
-
editorPanels: ${JSON.stringify(descriptor.editorPanels ?? [])},
|
|
491
|
-
editorActions: ${JSON.stringify(descriptor.editorActions ?? [])},
|
|
492
|
-
settingsSchema: ${JSON.stringify(descriptor.settingsSchema)},
|
|
493
|
-
portableTextBlocks: ${JSON.stringify(descriptor.portableTextBlocks ?? [])},
|
|
494
|
-
fieldWidgets: ${JSON.stringify(descriptor.fieldWidgets ?? [])},
|
|
495
|
-
adminEntry: ${JSON.stringify(descriptor.adminEntry)},
|
|
496
|
-
// Code read from: ${filePath}
|
|
497
|
-
code: ${JSON.stringify(code)},
|
|
498
|
-
}`);
|
|
499
|
-
}
|
|
500
|
-
return `
|
|
501
|
-
// Auto-generated sandboxed plugins module
|
|
502
|
-
// Plugin code is embedded at build time
|
|
503
|
-
|
|
504
|
-
/**
|
|
505
|
-
* Sandboxed plugin entries with embedded code.
|
|
506
|
-
* Loaded at runtime via SandboxRunner.
|
|
507
|
-
*/
|
|
508
|
-
export const sandboxedPlugins = [
|
|
509
|
-
${pluginEntries.join(",\n ")}
|
|
510
|
-
];
|
|
511
|
-
`;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
//#endregion
|
|
515
|
-
export { VIRTUAL_SANDBOX_RUNNER_ID as A, generateConfigModule as B, VIRTUAL_CONFIG_ID as C, VIRTUAL_OBJECT_CACHE_ID as D, VIRTUAL_MEDIA_PROVIDERS_ID as E, generateAdminRegistryModule as F, generatePluginsModule as G, generateEnvModule as H, generateAuthModule as I, generateSchedulerModule as J, generateSandboxRunnerModule as K, generateAuthProvidersModule as L, VIRTUAL_SEED_ID as M, VIRTUAL_STORAGE_ID as N, VIRTUAL_PLUGINS_ID as O, VIRTUAL_WAIT_UNTIL_ID as P, generateBlockComponentsModule as R, VIRTUAL_BUILD_ID as S, VIRTUAL_ENV_ID as T, generateMediaProvidersModule as U, generateDialectModule as V, generateObjectCacheModule as W, generateStorageModule as X, generateSeedModule as Y, generateWaitUntilModule as Z, RESOLVED_VIRTUAL_WAIT_UNTIL_ID as _, RESOLVED_VIRTUAL_BUILD_ID as a, VIRTUAL_AUTH_PROVIDERS_ID as b, RESOLVED_VIRTUAL_ENV_ID as c, RESOLVED_VIRTUAL_PLUGINS_ID as d, RESOLVED_VIRTUAL_SANDBOXED_PLUGINS_ID as f, RESOLVED_VIRTUAL_STORAGE_ID as g, RESOLVED_VIRTUAL_SEED_ID as h, RESOLVED_VIRTUAL_BLOCK_COMPONENTS_ID as i, VIRTUAL_SCHEDULER_ID as j, VIRTUAL_SANDBOXED_PLUGINS_ID as k, RESOLVED_VIRTUAL_MEDIA_PROVIDERS_ID as l, RESOLVED_VIRTUAL_SCHEDULER_ID as m, RESOLVED_VIRTUAL_AUTH_ID as n, RESOLVED_VIRTUAL_CONFIG_ID as o, RESOLVED_VIRTUAL_SANDBOX_RUNNER_ID as p, generateSandboxedPluginsModule as q, RESOLVED_VIRTUAL_AUTH_PROVIDERS_ID as r, RESOLVED_VIRTUAL_DIALECT_ID as s, RESOLVED_VIRTUAL_ADMIN_REGISTRY_ID as t, RESOLVED_VIRTUAL_OBJECT_CACHE_ID as u, VIRTUAL_ADMIN_REGISTRY_ID as v, VIRTUAL_DIALECT_ID as w, VIRTUAL_BLOCK_COMPONENTS_ID as x, VIRTUAL_AUTH_ID as y, generateBuildModule as z };
|
|
516
|
-
//# sourceMappingURL=virtual-modules-B6vJW15k.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-modules-B6vJW15k.mjs","names":[],"sources":["../src/astro/integration/virtual-modules.ts"],"sourcesContent":["/**\n * Virtual Module Generators\n *\n * Functions that generate virtual module content for Vite.\n * These modules statically import configured dependencies\n * so Vite can properly resolve and bundle them.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { resolve } from \"node:path\";\n\nimport type { AuthProviderDescriptor } from \"../../auth/types.js\";\nimport type { MediaProviderDescriptor } from \"../../media/types.js\";\nimport { defaultSeed } from \"../../seed/default.js\";\nimport type { PluginDescriptor } from \"./runtime.js\";\n\nconst TS_SOURCE_EXT_RE = /^\\.(ts|tsx|mts|cts|jsx)$/;\n\n/** Pattern to remove scoped package prefix from plugin ID */\nconst SCOPED_PREFIX_PATTERN = /^@[^/]+\\/plugin-/;\n\n/** Pattern to remove emdash-plugin- prefix from plugin ID */\nconst EMDASH_PREFIX_PATTERN = /^emdash-plugin-/;\n\n// Virtual module IDs\nexport const VIRTUAL_CONFIG_ID = \"virtual:emdash/config\";\nexport const RESOLVED_VIRTUAL_CONFIG_ID = \"\\0\" + VIRTUAL_CONFIG_ID;\n\nexport const VIRTUAL_DIALECT_ID = \"virtual:emdash/dialect\";\nexport const RESOLVED_VIRTUAL_DIALECT_ID = \"\\0\" + VIRTUAL_DIALECT_ID;\n\nexport const VIRTUAL_STORAGE_ID = \"virtual:emdash/storage\";\nexport const RESOLVED_VIRTUAL_STORAGE_ID = \"\\0\" + VIRTUAL_STORAGE_ID;\n\nexport const VIRTUAL_OBJECT_CACHE_ID = \"virtual:emdash/object-cache\";\nexport const RESOLVED_VIRTUAL_OBJECT_CACHE_ID = \"\\0\" + VIRTUAL_OBJECT_CACHE_ID;\n\nexport const VIRTUAL_ADMIN_REGISTRY_ID = \"virtual:emdash/admin-registry\";\nexport const RESOLVED_VIRTUAL_ADMIN_REGISTRY_ID = \"\\0\" + VIRTUAL_ADMIN_REGISTRY_ID;\n\nexport const VIRTUAL_PLUGINS_ID = \"virtual:emdash/plugins\";\nexport const RESOLVED_VIRTUAL_PLUGINS_ID = \"\\0\" + VIRTUAL_PLUGINS_ID;\n\nexport const VIRTUAL_SANDBOX_RUNNER_ID = \"virtual:emdash/sandbox-runner\";\nexport const RESOLVED_VIRTUAL_SANDBOX_RUNNER_ID = \"\\0\" + VIRTUAL_SANDBOX_RUNNER_ID;\n\nexport const VIRTUAL_SANDBOXED_PLUGINS_ID = \"virtual:emdash/sandboxed-plugins\";\nexport const RESOLVED_VIRTUAL_SANDBOXED_PLUGINS_ID = \"\\0\" + VIRTUAL_SANDBOXED_PLUGINS_ID;\n\nexport const VIRTUAL_AUTH_ID = \"virtual:emdash/auth\";\nexport const RESOLVED_VIRTUAL_AUTH_ID = \"\\0\" + VIRTUAL_AUTH_ID;\n\nexport const VIRTUAL_AUTH_PROVIDERS_ID = \"virtual:emdash/auth-providers\";\nexport const RESOLVED_VIRTUAL_AUTH_PROVIDERS_ID = \"\\0\" + VIRTUAL_AUTH_PROVIDERS_ID;\n\nexport const VIRTUAL_MEDIA_PROVIDERS_ID = \"virtual:emdash/media-providers\";\nexport const RESOLVED_VIRTUAL_MEDIA_PROVIDERS_ID = \"\\0\" + VIRTUAL_MEDIA_PROVIDERS_ID;\n\nexport const VIRTUAL_BLOCK_COMPONENTS_ID = \"virtual:emdash/block-components\";\nexport const RESOLVED_VIRTUAL_BLOCK_COMPONENTS_ID = \"\\0\" + VIRTUAL_BLOCK_COMPONENTS_ID;\n\nexport const VIRTUAL_SEED_ID = \"virtual:emdash/seed\";\nexport const RESOLVED_VIRTUAL_SEED_ID = \"\\0\" + VIRTUAL_SEED_ID;\n\nexport const VIRTUAL_WAIT_UNTIL_ID = \"virtual:emdash/wait-until\";\nexport const RESOLVED_VIRTUAL_WAIT_UNTIL_ID = \"\\0\" + VIRTUAL_WAIT_UNTIL_ID;\n\nexport const VIRTUAL_SCHEDULER_ID = \"virtual:emdash/scheduler\";\nexport const RESOLVED_VIRTUAL_SCHEDULER_ID = \"\\0\" + VIRTUAL_SCHEDULER_ID;\n\nexport const VIRTUAL_ENV_ID = \"virtual:emdash/env\";\nexport const RESOLVED_VIRTUAL_ENV_ID = \"\\0\" + VIRTUAL_ENV_ID;\n\nexport const VIRTUAL_BUILD_ID = \"virtual:emdash/build\";\nexport const RESOLVED_VIRTUAL_BUILD_ID = \"\\0\" + VIRTUAL_BUILD_ID;\n\n/**\n * Generates the config virtual module.\n */\nexport function generateConfigModule(serializableConfig: Record<string, unknown>): string {\n\treturn `export default ${JSON.stringify(serializableConfig)};`;\n}\n\n/**\n * Generates the dialect virtual module.\n *\n * Adapters that set `supportsRequestScope: true` on their descriptor are\n * expected to export `createRequestScopedDb` from their runtime entrypoint;\n * the generator re-exports it so middleware can ask for a per-request Kysely\n * (used for D1 Sessions API, bookmark cookies, read-replica routing). Other\n * adapters get a stub that returns null.\n *\n * Adapters independently opt into the cold-start coalescing dialect. Keeping\n * this capability explicit prevents bundlers from probing exports that do not\n * exist on SQLite, libSQL, PostgreSQL, or other adapters.\n */\nexport function generateDialectModule(opts: {\n\tentrypoint?: string;\n\ttype?: string;\n\tsupportsRequestScope: boolean;\n\tsupportsCoalescing: boolean;\n\tsupportsCollectionDeletionGuard: boolean;\n}): string {\n\tconst { entrypoint, supportsRequestScope, supportsCoalescing, supportsCollectionDeletionGuard } =\n\t\topts;\n\tif (!entrypoint) {\n\t\treturn [\n\t\t\t`export const createDialect = undefined;`,\n\t\t\t`export const dialectType = \"sqlite\";`,\n\t\t\t`export const createRequestScopedDb = (_opts) => null;`,\n\t\t\t`export const createCoalescingDialect = undefined;`,\n\t\t\t`export const executeCollectionDeletionGuard = undefined;`,\n\t\t].join(\"\\n\");\n\t}\n\tconst type = opts.type ?? \"sqlite\";\n\n\tconst coalescingExport = supportsCoalescing\n\t\t? `import { createCoalescingDialect as _createCoalescingDialect } from \"${entrypoint}\";\nexport const createCoalescingDialect = _createCoalescingDialect;`\n\t\t: `export const createCoalescingDialect = undefined;`;\n\tconst collectionDeletionExport = supportsCollectionDeletionGuard\n\t\t? `export { executeCollectionDeletionGuard } from \"${entrypoint}\";`\n\t\t: `export const executeCollectionDeletionGuard = undefined;`;\n\n\tif (supportsRequestScope) {\n\t\treturn `\nimport { createDialect as _createDialect } from \"${entrypoint}\";\nexport { createRequestScopedDb } from \"${entrypoint}\";\n${coalescingExport}\n${collectionDeletionExport}\nexport const createDialect = _createDialect;\nexport const dialectType = ${JSON.stringify(type)};\n`;\n\t}\n\n\treturn `\nimport { createDialect as _createDialect } from \"${entrypoint}\";\n${coalescingExport}\n${collectionDeletionExport}\nexport const createDialect = _createDialect;\nexport const dialectType = ${JSON.stringify(type)};\nexport const createRequestScopedDb = (_opts) => null;\n`;\n}\n\n/**\n * Generates the storage virtual module.\n * Statically imports the configured storage adapter.\n */\nexport function generateStorageModule(storageEntrypoint?: string): string {\n\tif (!storageEntrypoint) {\n\t\treturn `export const createStorage = undefined;`;\n\t}\n\treturn `\nimport { createStorage as _createStorage } from \"${storageEntrypoint}\";\nexport const createStorage = _createStorage;\n`;\n}\n\n/**\n * Generates the object-cache virtual module.\n *\n * Statically imports the configured object-cache backend's `createObjectCache`\n * factory and embeds its serializable config. When no object cache is\n * configured, exports `undefined` so the runtime read-through layer becomes a\n * transparent passthrough (cache off by default).\n */\nexport function generateObjectCacheModule(\n\tentrypoint?: string,\n\tconfig?: Record<string, unknown>,\n): string {\n\tif (!entrypoint) {\n\t\treturn [\n\t\t\t`export const createObjectCache = undefined;`,\n\t\t\t`export const objectCacheConfig = undefined;`,\n\t\t].join(\"\\n\");\n\t}\n\treturn `\nimport { createObjectCache as _createObjectCache } from \"${entrypoint}\";\nexport const createObjectCache = _createObjectCache;\nexport const objectCacheConfig = ${JSON.stringify(config ?? {})};\n`;\n}\n\n/**\n * Generates the auth virtual module.\n * Statically imports the configured auth provider.\n */\nexport function generateAuthModule(authEntrypoint?: string): string {\n\tif (!authEntrypoint) {\n\t\treturn `export const authenticate = undefined;`;\n\t}\n\treturn `\nimport { authenticate as _authenticate } from \"${authEntrypoint}\";\nexport const authenticate = _authenticate;\n`;\n}\n\n/**\n * Generates the auth providers module.\n *\n * Statically imports each auth provider's `adminEntry` module and exports\n * a registry keyed by provider ID. The admin UI uses this to render\n * provider-specific login buttons/forms and setup steps.\n *\n * Follows the same pattern as `generateAdminRegistryModule()` for plugins.\n */\nexport function generateAuthProvidersModule(descriptors: AuthProviderDescriptor[]): string {\n\tconst withAdmin = descriptors.filter((d) => d.adminEntry);\n\n\tif (withAdmin.length === 0) {\n\t\treturn `export const authProviders = {};`;\n\t}\n\n\tconst imports: string[] = [];\n\tconst entries: string[] = [];\n\n\twithAdmin.forEach((descriptor, index) => {\n\t\tconst varName = `authProvider${index}`;\n\t\timports.push(`import * as ${varName} from ${JSON.stringify(descriptor.adminEntry)};`);\n\t\tentries.push(\n\t\t\t` ${JSON.stringify(descriptor.id)}: { ...${varName}, id: ${JSON.stringify(descriptor.id)}, label: ${JSON.stringify(descriptor.label)} },`,\n\t\t);\n\t});\n\n\treturn `\n// Auto-generated auth provider registry\n${imports.join(\"\\n\")}\n\nexport const authProviders = {\n${entries.join(\"\\n\")}\n};\n`;\n}\n\n/**\n * Generates the plugins module.\n * Imports and instantiates all plugins at runtime.\n *\n * Handles two plugin formats:\n * - **Native**: imports `createPlugin` and calls it with options\n * - **Standard**: imports the default export and wraps it with `adaptSandboxEntry`\n *\n * The format is determined by `descriptor.format`:\n * - `\"standard\"` -- uses adaptSandboxEntry\n * - `\"native\"` or undefined -- uses createPlugin\n *\n * This is critical for Cloudflare Workers where globals don't persist\n * between build time and runtime.\n */\nexport function generatePluginsModule(descriptors: PluginDescriptor[]): string {\n\tif (descriptors.length === 0) {\n\t\treturn `export const plugins = [];`;\n\t}\n\n\tconst imports: string[] = [];\n\tconst instantiations: string[] = [];\n\n\t// Track whether we need the adapter import\n\tlet needsAdapter = false;\n\n\tdescriptors.forEach((descriptor, index) => {\n\t\t// Every `plugins: []` entry must resolve to a file/package entrypoint that\n\t\t// can be statically imported and bundled at build time. An in-process\n\t\t// `definePlugin({...})` result passed directly has no entrypoint; without\n\t\t// this guard the generator emitted `import pluginDefN from \"undefined\";`,\n\t\t// which failed deep in Rollup with `failed to resolve import \"undefined\"`\n\t\t// (#1416). Fail fast with an actionable message instead.\n\t\tif (!descriptor.entrypoint) {\n\t\t\tthrow new Error(\n\t\t\t\t`[emdash] Plugin \"${descriptor.id}\" has no \\`entrypoint\\`. The astro integration's ` +\n\t\t\t\t\t`\\`plugins: []\\` requires plugins that resolve to a file/package entrypoint so they can be ` +\n\t\t\t\t\t`bundled at build time; an in-process \\`definePlugin({...})\\` result passed directly is not ` +\n\t\t\t\t\t`supported. Move the plugin into its own module and reference it via a factory that returns ` +\n\t\t\t\t\t`a descriptor with an \\`entrypoint\\` (e.g. \\`plugins: [myPlugin()]\\`).`,\n\t\t\t);\n\t\t}\n\t\tif (descriptor.format === \"standard\") {\n\t\t\t// Standard format: import default export, wrap with adaptSandboxEntry\n\t\t\tneedsAdapter = true;\n\t\t\tconst varName = `pluginDef${index}`;\n\t\t\timports.push(`import ${varName} from \"${descriptor.entrypoint}\";`);\n\t\t\tinstantiations.push(\n\t\t\t\t`adaptSandboxEntry(${varName}, ${JSON.stringify({\n\t\t\t\t\tid: descriptor.id,\n\t\t\t\t\tversion: descriptor.version,\n\t\t\t\t\tcapabilities: descriptor.capabilities,\n\t\t\t\t\tallowedHosts: descriptor.allowedHosts,\n\t\t\t\t\tstorage: descriptor.storage,\n\t\t\t\t\tadminPages: descriptor.adminPages,\n\t\t\t\t\tadminWidgets: descriptor.adminWidgets,\n\t\t\t\t\teditorPanels: descriptor.editorPanels,\n\t\t\t\t\teditorActions: descriptor.editorActions,\n\t\t\t\t\tsettingsSchema: descriptor.settingsSchema,\n\t\t\t\t\tportableTextBlocks: descriptor.portableTextBlocks,\n\t\t\t\t\tfieldWidgets: descriptor.fieldWidgets,\n\t\t\t\t\tmcp: descriptor.mcp,\n\t\t\t\t})})`,\n\t\t\t);\n\t\t} else {\n\t\t\t// Native format: import createPlugin and call with options\n\t\t\tconst varName = `createPlugin${index}`;\n\t\t\timports.push(`import { createPlugin as ${varName} } from \"${descriptor.entrypoint}\";`);\n\t\t\tinstantiations.push(`${varName}(${JSON.stringify(descriptor.options ?? {})})`);\n\t\t}\n\t});\n\n\tconst adapterImport = needsAdapter\n\t\t? `import { adaptSandboxEntry } from \"emdash/internal/plugins/adapt-sandbox-entry\";\\n`\n\t\t: \"\";\n\n\treturn `\n// Auto-generated plugins module\n// Imports and instantiates all configured plugins at runtime\n\n${adapterImport}${imports.join(\"\\n\")}\n\n/** Resolved plugins array */\nexport const plugins = [\n ${instantiations.join(\",\\n \")}\n];\n`;\n}\n\n/**\n * Generates the admin registry module.\n * Uses adminEntry from plugin descriptors to statically import admin modules.\n */\nexport function generateAdminRegistryModule(descriptors: PluginDescriptor[]): string {\n\t// Filter to descriptors with admin entries\n\tconst adminDescriptors = descriptors.filter((d) => d.adminEntry);\n\n\tif (adminDescriptors.length === 0) {\n\t\treturn `export const pluginAdmins = {};`;\n\t}\n\n\tconst imports: string[] = [];\n\tconst entries: string[] = [];\n\n\tadminDescriptors.forEach((descriptor, index) => {\n\t\tconst varName = `admin${index}`;\n\t\t// Use explicit ID from descriptor if available, otherwise derive from entrypoint\n\t\tconst pluginId =\n\t\t\tdescriptor.id ??\n\t\t\tdescriptor.entrypoint.replace(SCOPED_PREFIX_PATTERN, \"\").replace(EMDASH_PREFIX_PATTERN, \"\");\n\n\t\timports.push(`import * as ${varName} from \"${descriptor.adminEntry}\";`);\n\t\tentries.push(` \"${pluginId}\": ${varName},`);\n\t});\n\n\treturn `\n// Auto-generated plugin admin registry\n${imports.join(\"\\n\")}\n\nexport const pluginAdmins = {\n${entries.join(\"\\n\")}\n};\n`;\n}\n\n/**\n * Generates the sandbox runner module.\n * Imports the configured sandbox runner factory or provides a noop default.\n *\n * When sandbox is explicitly false (debugging escape hatch), we still mark\n * sandboxEnabled = true so sandboxed plugin entries are loaded, but we use\n * the noop runner which falls through to in-process loading via adaptSandboxEntry.\n */\nexport function generateSandboxRunnerModule(sandboxRunner?: string, sandbox?: boolean): string {\n\tif (!sandboxRunner) {\n\t\t// No sandbox runner configured - sandboxed plugins disabled\n\t\treturn `\n// No sandbox runner configured - sandboxed plugins disabled\nimport { createNoopSandboxRunner } from \"emdash\";\n\nexport const createSandboxRunner = createNoopSandboxRunner;\nexport const sandboxEnabled = false;\n`;\n\t}\n\n\tif (sandbox === false) {\n\t\t// sandbox: false escape hatch - plugins are loaded but run in-process\n\t\t// (no isolation, for debugging)\n\t\treturn `\n// Sandbox explicitly disabled (sandbox: false) - plugins run in-process\nimport { createNoopSandboxRunner } from \"emdash\";\n\nexport const createSandboxRunner = createNoopSandboxRunner;\nexport const sandboxEnabled = true;\nexport const sandboxBypassed = true;\n`;\n\t}\n\n\treturn `\n// Auto-generated sandbox runner module\nimport { createSandboxRunner as _createSandboxRunner } from \"${sandboxRunner}\";\n\nexport const createSandboxRunner = _createSandboxRunner;\nexport const sandboxEnabled = true;\n`;\n}\n\n/**\n * Generates the media providers module.\n * Imports and instantiates configured media providers at runtime.\n */\nexport function generateMediaProvidersModule(descriptors: MediaProviderDescriptor[]): string {\n\t// Always include local provider by default unless explicitly disabled\n\tconst localDisabled = descriptors.some((d) => d.id === \"local\" && d.config.enabled === false);\n\n\tconst imports: string[] = [];\n\tconst entries: string[] = [];\n\n\t// Add local provider first if not disabled\n\tif (!localDisabled) {\n\t\timports.push(\n\t\t\t`import { createMediaProvider as createLocalProvider } from \"emdash/internal/media/local-runtime\";`,\n\t\t);\n\t\tentries.push(`{\n\tid: \"local\",\n\tname: \"Library\",\n\ticon: \"folder\",\n\tcapabilities: { browse: true, search: false, upload: true, delete: true },\n\tcreateProvider: (ctx) => createLocalProvider({ ...ctx, enabled: true }),\n}`);\n\t}\n\n\t// Add custom providers\n\tdescriptors\n\t\t.filter((d) => d.id !== \"local\" || d.config.enabled !== false)\n\t\t.filter((d) => d.id !== \"local\") // Skip local if we already added it\n\t\t.forEach((descriptor, index) => {\n\t\t\tconst varName = `createProvider${index}`;\n\t\t\timports.push(`import { createMediaProvider as ${varName} } from \"${descriptor.entrypoint}\";`);\n\t\t\tentries.push(`{\n\tid: ${JSON.stringify(descriptor.id)},\n\tname: ${JSON.stringify(descriptor.name)},\n\ticon: ${JSON.stringify(descriptor.icon)},\n\tcapabilities: ${JSON.stringify(descriptor.capabilities)},\n\tcreateProvider: (ctx) => ${varName}({ ...${JSON.stringify(descriptor.config)}, ...ctx }),\n}`);\n\t\t});\n\n\treturn `\n// Auto-generated media providers module\n${imports.join(\"\\n\")}\n\n/** Media provider descriptors with factory functions */\nexport const mediaProviders = [\n ${entries.join(\",\\n \")}\n];\n`;\n}\n\n/**\n * Generates the block components module.\n * Collects and merges `blockComponents` exports from plugin component entries.\n */\nexport function generateBlockComponentsModule(descriptors: PluginDescriptor[]): string {\n\tconst withComponents = descriptors.filter((d) => d.componentsEntry);\n\tif (withComponents.length === 0) {\n\t\treturn `export const pluginBlockComponents = {};`;\n\t}\n\n\tconst imports: string[] = [];\n\tconst spreads: string[] = [];\n\twithComponents.forEach((d, i) => {\n\t\timports.push(`import { blockComponents as bc${i} } from \"${d.componentsEntry}\";`);\n\t\tspreads.push(`...bc${i}`);\n\t});\n\n\treturn `${imports.join(\"\\n\")}\\nexport const pluginBlockComponents = { ${spreads.join(\", \")} };`;\n}\n\n/**\n * Generates the wait-until virtual module.\n *\n * Under @astrojs/cloudflare, re-exports `waitUntil` from `cloudflare:workers`\n * so `after(fn)` in core can extend the worker's lifetime past the response\n * for deferred bookkeeping. For any other adapter, exports `undefined` —\n * Node's long-lived event loop keeps deferred promises running without a\n * lifetime extender.\n *\n * Keeping the adapter check here — rather than in core — means core itself\n * has no Cloudflare-specific imports or code paths.\n */\nexport function generateWaitUntilModule(adapterName: string | undefined): string {\n\tif (adapterName === \"@astrojs/cloudflare\") {\n\t\treturn `export { waitUntil } from \"cloudflare:workers\";`;\n\t}\n\treturn `export const waitUntil = undefined;`;\n}\n\n/**\n * Generates the env virtual module.\n *\n * Under @astrojs/cloudflare, re-exports `env` from `cloudflare:workers` so\n * routes can read Worker bindings/secrets without touching\n * `Astro.locals.runtime.env`, which Astro 6+ removed (accessing it throws\n * rather than returning undefined, so `locals.runtime?.env` optional-chaining\n * doesn't help -- see #1736). For any other adapter, exports `undefined` so\n * callers fall back to `import.meta.env`. Mirrors generateWaitUntilModule:\n * core stays adapter-agnostic, with no direct `cloudflare:workers` import\n * that would fail to resolve under a Node build.\n */\nexport function generateEnvModule(adapterName: string | undefined): string {\n\tif (adapterName === \"@astrojs/cloudflare\") {\n\t\treturn `export { env } from \"cloudflare:workers\";`;\n\t}\n\treturn `export const env = undefined;`;\n}\n\n/**\n * Generates the build virtual module.\n *\n * Content-hashed `/_astro/*` names make the response depend on the build, not\n * only on the content. Exposing the build timestamp lets the middleware fold\n * that dimension into the cache validator, so a code-only deploy stops\n * answering conditional requests with 304 while the assets the cached HTML\n * references are already gone.\n */\nexport function generateBuildModule(buildTime: number): string {\n\treturn `export const buildTime = ${buildTime};`;\n}\n\n/**\n * Generates the scheduler virtual module.\n *\n * Decides — at build time, from the Astro adapter — whether the runtime gets a\n * long-lived timer heartbeat. A *production* Cloudflare build has no persistent\n * timers, so the Worker's `scheduled()` handler (a Cron Trigger) drives\n * `runScheduledTasks()` instead and this exports `null`. Every other case — any\n * other adapter (Node, Bun), and crucially local `astro dev` even under the\n * Cloudflare adapter (no Cron Trigger fires in dev) — gets a `NodeCronScheduler`\n * factory so plugin cron, scheduled publishing, and cleanup still run.\n *\n * Keeping the adapter check here — rather than in core's runtime — means the\n * runtime has no Cloudflare-specific code path; it just calls `createScheduler`\n * if one was injected. Mirrors the wait-until module's approach.\n */\nexport function generateSchedulerModule(\n\tadapterName: string | undefined,\n\tcommand: \"build\" | \"serve\" | undefined,\n): string {\n\t// Only suppress the timer for an actual Cloudflare *build* — that artifact\n\t// runs in workerd where a Cron Trigger drives scheduled work. In `serve`\n\t// (local dev) nothing fires the Cron Trigger, so fall through to the timer.\n\tif (adapterName === \"@astrojs/cloudflare\" && command !== \"serve\") {\n\t\treturn `// Serverless build: an external Cron Trigger drives scheduled work.\nexport const createScheduler = null;\n`;\n\t}\n\treturn `// Long-lived runtime (or local dev): drive scheduled work from an in-process timer.\nimport { NodeCronScheduler } from \"emdash\";\n\nexport function createScheduler(executor) {\n\treturn new NodeCronScheduler(executor);\n}\n`;\n}\n\n/**\n * Generates the seed virtual module.\n * Reads the user's seed file at build time (in Node context) and embeds it,\n * so the runtime doesn't need filesystem access (required for workerd).\n *\n * Search order:\n * 1. `.emdash/seed.json`\n * 2. `package.json` → `emdash.seed` reference\n * 3. `seed/seed.json` (conventional template path)\n *\n * Exports `userSeed` (user's seed or null) and `seed` (user's seed or default).\n *\n * When no user seed is found, falls back to the built-in default seed and\n * (if `warnOnFallback` is true) logs a warning so misconfiguration is visible\n * during `astro dev`. Build/preview/sync stay silent so sites that\n * intentionally use the default seed (e.g. the blank template) don't\n * generate noisy logs.\n */\nexport function generateSeedModule(projectRoot: string, warnOnFallback = false): string {\n\tlet userSeedJson: string | null = null;\n\n\t// Try .emdash/seed.json\n\ttry {\n\t\tconst seedPath = resolve(projectRoot, \".emdash\", \"seed.json\");\n\t\tconst content = readFileSync(seedPath, \"utf-8\");\n\t\tJSON.parse(content); // validate\n\t\tuserSeedJson = content;\n\t} catch {\n\t\t// Not found, try next\n\t}\n\n\t// Try package.json → emdash.seed reference\n\tif (!userSeedJson) {\n\t\ttry {\n\t\t\tconst pkgPath = resolve(projectRoot, \"package.json\");\n\t\t\tconst pkgContent = readFileSync(pkgPath, \"utf-8\");\n\t\t\tconst pkg: { emdash?: { seed?: string } } = JSON.parse(pkgContent);\n\n\t\t\tif (pkg.emdash?.seed) {\n\t\t\t\tconst seedPath = resolve(projectRoot, pkg.emdash.seed);\n\t\t\t\tconst content = readFileSync(seedPath, \"utf-8\");\n\t\t\t\tJSON.parse(content); // validate\n\t\t\t\tuserSeedJson = content;\n\t\t\t}\n\t\t} catch {\n\t\t\t// Not found\n\t\t}\n\t}\n\n\t// Try conventional seed/seed.json fallback\n\tif (!userSeedJson) {\n\t\ttry {\n\t\t\tconst seedPath = resolve(projectRoot, \"seed\", \"seed.json\");\n\t\t\tconst content = readFileSync(seedPath, \"utf-8\");\n\t\t\tJSON.parse(content); // validate\n\t\t\tuserSeedJson = content;\n\t\t} catch {\n\t\t\t// Not found\n\t\t}\n\t}\n\n\tif (userSeedJson) {\n\t\treturn [`export const userSeed = ${userSeedJson};`, `export const seed = userSeed;`].join(\"\\n\");\n\t}\n\n\t// No user seed — inline the default. Caller (the Vite plugin) gates this\n\t// to dev-only so production builds stay quiet for sites that intentionally\n\t// rely on the default seed.\n\tif (warnOnFallback) {\n\t\tconsole.warn(\n\t\t\t\"[emdash] No user seed found at .emdash/seed.json, package.json#emdash.seed, or seed/seed.json. Falling back to the built-in default seed; the setup wizard will not offer demo content for this site.\",\n\t\t);\n\t}\n\treturn [\n\t\t`export const userSeed = null;`,\n\t\t`export const seed = ${JSON.stringify(defaultSeed)};`,\n\t].join(\"\\n\");\n}\n\n/**\n * Resolve a module specifier from the project's context.\n * Uses Node.js require.resolve with the project root as base.\n */\nfunction resolveModulePathFromProject(specifier: string, projectRoot: string): string {\n\t// Create require from the project's package.json location\n\tconst projectPackageJson = resolve(projectRoot, \"package.json\");\n\tconst require = createRequire(projectPackageJson);\n\treturn require.resolve(specifier);\n}\n\n/**\n * Generates the sandboxed plugins module.\n * Resolves plugin entrypoints to files, reads them, and embeds the code.\n * Notifies the caller about each resolved entry so build tools can watch it.\n *\n * At runtime, middleware uses SandboxRunner to load these into isolates.\n */\nexport function generateSandboxedPluginsModule(\n\tsandboxed: PluginDescriptor[],\n\tprojectRoot: string,\n\tonEntryResolved?: (filePath: string) => void,\n): string {\n\tif (sandboxed.length === 0) {\n\t\treturn `\n// No sandboxed plugins configured\nexport const sandboxedPlugins = [];\n`;\n\t}\n\n\tconst pluginEntries: string[] = [];\n\n\tfor (const descriptor of sandboxed) {\n\t\tconst bundleSpecifier = descriptor.entrypoint;\n\n\t\t// Resolve the bundle to a file path using project's require context\n\t\tconst filePath = resolveModulePathFromProject(bundleSpecifier, projectRoot);\n\n\t\tconst ext = filePath.slice(filePath.lastIndexOf(\".\"));\n\t\tif (TS_SOURCE_EXT_RE.test(ext)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Sandboxed plugin \"${descriptor.id}\" entrypoint \"${bundleSpecifier}\" resolves to ` +\n\t\t\t\t\t`unbuilt source (${filePath}). Sandbox entries must be pre-built JavaScript. ` +\n\t\t\t\t\t`Ensure the plugin's package.json exports point to built files (e.g. dist/*.mjs) ` +\n\t\t\t\t\t`and run the plugin's build step before building the site.`,\n\t\t\t);\n\t\t}\n\n\t\tonEntryResolved?.(filePath);\n\n\t\tconst code = readFileSync(filePath, \"utf-8\");\n\n\t\t// Create the plugin entry with embedded code and sandbox config\n\t\tpluginEntries.push(`{\n id: ${JSON.stringify(descriptor.id)},\n version: ${JSON.stringify(descriptor.version)},\n options: ${JSON.stringify(descriptor.options ?? {})},\n capabilities: ${JSON.stringify(descriptor.capabilities ?? [])},\n allowedHosts: ${JSON.stringify(descriptor.allowedHosts ?? [])},\n storage: ${JSON.stringify(descriptor.storage ?? {})},\n mcp: ${JSON.stringify(descriptor.mcp)},\n routes: ${JSON.stringify(descriptor.routes ?? [])},\n hooks: ${JSON.stringify(descriptor.hooks ?? [])},\n adminPages: ${JSON.stringify(descriptor.adminPages ?? [])},\n adminWidgets: ${JSON.stringify(descriptor.adminWidgets ?? [])},\n editorPanels: ${JSON.stringify(descriptor.editorPanels ?? [])},\n editorActions: ${JSON.stringify(descriptor.editorActions ?? [])},\n settingsSchema: ${JSON.stringify(descriptor.settingsSchema)},\n portableTextBlocks: ${JSON.stringify(descriptor.portableTextBlocks ?? [])},\n fieldWidgets: ${JSON.stringify(descriptor.fieldWidgets ?? [])},\n adminEntry: ${JSON.stringify(descriptor.adminEntry)},\n // Code read from: ${filePath}\n code: ${JSON.stringify(code)},\n }`);\n\t}\n\n\treturn `\n// Auto-generated sandboxed plugins module\n// Plugin code is embedded at build time\n\n/**\n * Sandboxed plugin entries with embedded code.\n * Loaded at runtime via SandboxRunner.\n */\nexport const sandboxedPlugins = [\n ${pluginEntries.join(\",\\n \")}\n];\n`;\n}\n"],"mappings":"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"}
|