emdash 0.41.0 → 0.42.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-DBki7IT4.mjs +26 -0
- package/dist/action-token-DBki7IT4.mjs.map +1 -0
- package/dist/activation-DDuqAat2.mjs +387 -0
- package/dist/activation-DDuqAat2.mjs.map +1 -0
- package/dist/adapters-BrZxU6vM.d.mts +171 -0
- package/dist/adapters-BrZxU6vM.d.mts.map +1 -0
- package/dist/allowed-origins-CFtudhyw.mjs +116 -0
- package/dist/allowed-origins-CFtudhyw.mjs.map +1 -0
- package/dist/api/route-utils.d.mts +5 -4
- package/dist/api/route-utils.d.mts.map +1 -1
- package/dist/api/route-utils.mjs +52 -47
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +11 -10
- package/dist/api-CFQn8VLR.mjs +4973 -0
- package/dist/api-CFQn8VLR.mjs.map +1 -0
- package/dist/api-tokens-P3mAaQgr.mjs +166 -0
- package/dist/api-tokens-P3mAaQgr.mjs.map +1 -0
- package/dist/apply-C1kq5l7p.mjs +1672 -0
- package/dist/apply-C1kq5l7p.mjs.map +1 -0
- package/dist/approvals-l9sGqPmL.mjs +460 -0
- package/dist/approvals-l9sGqPmL.mjs.map +1 -0
- package/dist/artifact-fetch-CWxyELVI.mjs +659 -0
- package/dist/artifact-fetch-CWxyELVI.mjs.map +1 -0
- package/dist/astro/index.d.mts +14 -14
- package/dist/astro/index.d.mts.map +1 -1
- package/dist/astro/index.mjs +96 -546
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +12 -12
- package/dist/astro/middleware/auth.mjs +10 -10
- package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
- package/dist/astro/middleware/redirect.d.mts.map +1 -1
- package/dist/astro/middleware/redirect.mjs +19 -9
- package/dist/astro/middleware/redirect.mjs.map +1 -1
- package/dist/astro/middleware/request-context.d.mts +2 -1
- package/dist/astro/middleware/request-context.d.mts.map +1 -1
- package/dist/astro/middleware/request-context.mjs +15 -6
- 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.mjs +114 -110
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +15 -14
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +15 -14
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -7
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +18 -17
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +18 -17
- package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +18 -17
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +36 -27
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/translations.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +32 -26
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/index.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/bylines/index.mjs +32 -26
- package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +20 -19
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
- package/dist/astro/routes/api/admin/comments/bulk.mjs +19 -18
- package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
- package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
- package/dist/astro/routes/api/admin/comments/index.mjs +19 -18
- package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/core-update.d.mts +8 -0
- package/dist/astro/routes/api/admin/core-update.d.mts.map +1 -0
- package/dist/astro/routes/api/admin/core-update.mjs +28 -0
- package/dist/astro/routes/api/admin/core-update.mjs.map +1 -0
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -6
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -5
- package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -20
- package/dist/astro/routes/api/admin/media-usage/activation.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +23 -22
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +23 -22
- package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/progress.mjs +26 -25
- package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +32 -31
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -22
- package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +23 -22
- package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -1
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +8 -8
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +8 -8
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +75 -73
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +7 -7
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +74 -72
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +75 -73
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +86 -83
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +75 -73
- package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +10 -7
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +74 -72
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +85 -82
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +74 -72
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +75 -73
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +87 -84
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +9 -9
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +77 -75
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +7 -7
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +75 -73
- package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +74 -72
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +74 -72
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +10 -7
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +74 -72
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/_...path_.mjs +4 -4
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +42 -41
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +42 -41
- package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/capabilities.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +45 -44
- package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +45 -44
- package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +45 -44
- package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/exports/index.mjs +46 -45
- package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +46 -45
- package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +46 -45
- package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +46 -45
- package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +44 -43
- package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -1
- package/dist/astro/routes/api/admin/transfer/imports/index.mjs +46 -45
- package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +4 -4
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +16 -15
- package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +6 -6
- package/dist/astro/routes/api/admin/users/index.mjs +15 -14
- package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/dev-bypass.mjs +6 -6
- package/dist/astro/routes/api/auth/invite/accept.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/complete.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +23 -19
- package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/index.mjs +17 -16
- package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -17
- package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/logout.mjs +5 -5
- package/dist/astro/routes/api/auth/magic-link/send.mjs +19 -18
- 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 +19 -15
- package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/me.mjs +16 -15
- package/dist/astro/routes/api/auth/me.mjs.map +1 -1
- package/dist/astro/routes/api/auth/mode.mjs +5 -5
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +13 -4
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +15 -14
- package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/index.mjs +4 -4
- package/dist/astro/routes/api/auth/passkey/options.mjs +20 -19
- package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -17
- package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -18
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/passkey/verify.mjs +23 -19
- package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.d.mts.map +1 -1
- package/dist/astro/routes/api/auth/signup/complete.mjs +23 -19
- package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/request.mjs +18 -17
- package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
- package/dist/astro/routes/api/auth/signup/verify.mjs +4 -4
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +20 -19
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -11
- package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +33 -32
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +36 -35
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +36 -35
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +27 -26
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +18 -17
- package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/authors.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/index.mjs +16 -15
- package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/trash.mjs +16 -15
- package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
- package/dist/astro/routes/api/dashboard.mjs +13 -11
- package/dist/astro/routes/api/dashboard.mjs.map +1 -1
- package/dist/astro/routes/api/dev/emails.mjs +5 -5
- package/dist/astro/routes/api/health.mjs +6 -6
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +25 -24
- package/dist/astro/routes/api/import/probe.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +6 -6
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +14 -14
- package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -1
- package/dist/astro/routes/api/import/wordpress/execute.mjs +167 -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 +20 -19
- package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +19 -18
- package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +29 -28
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -24
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -35
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +6 -6
- package/dist/astro/routes/api/mcp.mjs +167 -110
- package/dist/astro/routes/api/mcp.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +20 -19
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/replace.mjs +17 -16
- package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.mjs +9 -9
- package/dist/astro/routes/api/media/_id_/usage.mjs +34 -33
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +32 -31
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +6 -6
- package/dist/astro/routes/api/media/file/_...key_.mjs +9 -9
- package/dist/astro/routes/api/media/folders/_id_.mjs +17 -16
- package/dist/astro/routes/api/media/folders/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/folders/index.mjs +17 -16
- package/dist/astro/routes/api/media/folders/index.mjs.map +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +5 -5
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +5 -5
- package/dist/astro/routes/api/media/providers/index.mjs +5 -5
- package/dist/astro/routes/api/media/upload-url.mjs +19 -18
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +36 -35
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +19 -18
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items.mjs +19 -18
- package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +19 -18
- package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/translations.mjs +19 -18
- package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_.mjs +19 -18
- package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/index.mjs +19 -18
- package/dist/astro/routes/api/menus/index.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/authorize.mjs +8 -8
- package/dist/astro/routes/api/oauth/device/code.mjs +11 -11
- package/dist/astro/routes/api/oauth/device/token.mjs +10 -10
- package/dist/astro/routes/api/oauth/register.d.mts.map +1 -1
- package/dist/astro/routes/api/oauth/register.mjs +15 -7
- package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/token/refresh.mjs +8 -8
- package/dist/astro/routes/api/oauth/token/revoke.mjs +8 -8
- package/dist/astro/routes/api/oauth/token.mjs +8 -8
- package/dist/astro/routes/api/openapi.json.mjs +21 -20
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -11
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/index.mjs +20 -19
- package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/404s/summary.mjs +20 -19
- package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/_id_.mjs +20 -19
- package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/redirects/index.mjs +20 -19
- package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/index.mjs +36 -35
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +36 -35
- package/dist/astro/routes/api/relations/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +5 -5
- package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +26 -6
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs.map +1 -1
- package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +74 -72
- package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +74 -72
- package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
- package/dist/astro/routes/api/schema/block-types/index.mjs +74 -72
- package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/reorder.mjs +74 -72
- package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +17 -16
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +74 -72
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +74 -72
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +20 -19
- package/dist/astro/routes/api/search/enable.mjs.map +1 -1
- package/dist/astro/routes/api/search/index.mjs +19 -18
- package/dist/astro/routes/api/search/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/rebuild.mjs +20 -19
- package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
- package/dist/astro/routes/api/search/stats.mjs +9 -9
- package/dist/astro/routes/api/search/suggest.mjs +19 -18
- package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
- package/dist/astro/routes/api/sections/_slug_.mjs +19 -18
- package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/sections/index.mjs +19 -18
- package/dist/astro/routes/api/sections/index.mjs.map +1 -1
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
- package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
- package/dist/astro/routes/api/settings/email.mjs +6 -6
- package/dist/astro/routes/api/settings.mjs +23 -22
- package/dist/astro/routes/api/settings.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.d.mts.map +1 -1
- package/dist/astro/routes/api/setup/admin-verify.mjs +26 -24
- package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
- package/dist/astro/routes/api/setup/admin.mjs +19 -18
- package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-bypass.mjs +47 -46
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +4 -4
- package/dist/astro/routes/api/setup/index.mjs +52 -51
- package/dist/astro/routes/api/setup/index.mjs.map +1 -1
- package/dist/astro/routes/api/setup/status.mjs +6 -6
- package/dist/astro/routes/api/snapshot.mjs +8 -8
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +24 -23
- package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +42 -41
- package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/index.mjs +25 -24
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +6 -6
- package/dist/astro/routes/api/typegen.d.mts.map +1 -1
- package/dist/astro/routes/api/typegen.mjs +8 -39
- package/dist/astro/routes/api/typegen.mjs.map +1 -1
- package/dist/astro/routes/api/visual-editing/action-token.mjs +6 -6
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +20 -19
- package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs.map +1 -1
- package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +4 -4
- 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 +17 -16
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +20 -19
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +20 -19
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
- package/dist/astro/routes/api/widget-areas/_name_.mjs +9 -9
- package/dist/astro/routes/api/widget-areas/index.mjs +20 -19
- package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
- package/dist/astro/routes/api/widget-components.mjs +5 -5
- package/dist/astro/routes/robots.txt.mjs +7 -7
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
- package/dist/astro/routes/sitemap.xml.mjs +8 -8
- package/dist/astro/types.d.mts +23 -17
- package/dist/astro/types.d.mts.map +1 -1
- package/dist/audit-BszbE_BP.mjs +127 -0
- package/dist/audit-BszbE_BP.mjs.map +1 -0
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/authoritative-records-dSvXCfzb.mjs +5172 -0
- package/dist/authoritative-records-dSvXCfzb.mjs.map +1 -0
- package/dist/authorize-soZXK7U0.mjs +49 -0
- package/dist/authorize-soZXK7U0.mjs.map +1 -0
- package/dist/backup-DQ3CABsO.mjs +246 -0
- package/dist/backup-DQ3CABsO.mjs.map +1 -0
- package/dist/block-types-DIG_KZwi.mjs +132 -0
- package/dist/block-types-DIG_KZwi.mjs.map +1 -0
- package/dist/block-values-BrTrtA-v.mjs +175 -0
- package/dist/block-values-BrTrtA-v.mjs.map +1 -0
- package/dist/byline-02tu_Uc-.mjs +909 -0
- package/dist/byline-02tu_Uc-.mjs.map +1 -0
- package/dist/byline-fields-B01Txzyx.mjs +123 -0
- package/dist/byline-fields-B01Txzyx.mjs.map +1 -0
- package/dist/byline-fields-DHJs0Mja.mjs +280 -0
- package/dist/byline-fields-DHJs0Mja.mjs.map +1 -0
- package/dist/byline-registry-dvt4N3xV.mjs +406 -0
- package/dist/byline-registry-dvt4N3xV.mjs.map +1 -0
- package/dist/bylines-COTwmMBF.mjs +150 -0
- package/dist/bylines-COTwmMBF.mjs.map +1 -0
- package/dist/bylines-D_S8UKRX.mjs +214 -0
- package/dist/bylines-D_S8UKRX.mjs.map +1 -0
- package/dist/cache-CPanL9IO.mjs +114 -0
- package/dist/cache-CPanL9IO.mjs.map +1 -0
- package/dist/canonical-CAecl1UQ.mjs +174 -0
- package/dist/canonical-CAecl1UQ.mjs.map +1 -0
- package/dist/capture-triggers-CdZfvHtF.mjs +362 -0
- package/dist/capture-triggers-CdZfvHtF.mjs.map +1 -0
- package/dist/challenge-store-CxZxPqaw.mjs +51 -0
- package/dist/challenge-store-CxZxPqaw.mjs.map +1 -0
- package/dist/checksum-DtH6m5uk.mjs +162 -0
- package/dist/checksum-DtH6m5uk.mjs.map +1 -0
- package/dist/chrome-tags-CKELm-bo.mjs +24 -0
- package/dist/chrome-tags-CKELm-bo.mjs.map +1 -0
- package/dist/chunks-DBmkKmBH.mjs +25 -0
- package/dist/chunks-DBmkKmBH.mjs.map +1 -0
- package/dist/cli/index.mjs +58 -911
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +39 -34
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs +8 -3
- package/dist/client/index.mjs.map +1 -1
- package/dist/collection-deletion-JecE26cS.mjs +436 -0
- package/dist/collection-deletion-JecE26cS.mjs.map +1 -0
- package/dist/collection-deletion-processor-DgCfF3a1.mjs +217 -0
- package/dist/collection-deletion-processor-DgCfF3a1.mjs.map +1 -0
- package/dist/collection-slugs-cache-BNRAPNiu.mjs +85 -0
- package/dist/collection-slugs-cache-BNRAPNiu.mjs.map +1 -0
- package/dist/comment-Cq1UYN8_.mjs +313 -0
- package/dist/comment-Cq1UYN8_.mjs.map +1 -0
- package/dist/comment-reaction-DPeGAfjd.mjs +85 -0
- package/dist/comment-reaction-DPeGAfjd.mjs.map +1 -0
- package/dist/comments-BRtp992B.mjs +99 -0
- package/dist/comments-BRtp992B.mjs.map +1 -0
- package/dist/comments-Bi2j9IoX.mjs +195 -0
- package/dist/comments-Bi2j9IoX.mjs.map +1 -0
- package/dist/components-CQY-Sgm-.mjs +108 -0
- package/dist/components-CQY-Sgm-.mjs.map +1 -0
- package/dist/config-BnuORwSP.mjs +242 -0
- package/dist/config-BnuORwSP.mjs.map +1 -0
- package/dist/config-CDmPF4p7.d.mts +39 -0
- package/dist/config-CDmPF4p7.d.mts.map +1 -0
- package/dist/config-DHsDMpXc.d.mts +6707 -0
- package/dist/config-DHsDMpXc.d.mts.map +1 -0
- package/dist/connection-B9pIasFd.mjs +36 -0
- package/dist/connection-B9pIasFd.mjs.map +1 -0
- package/dist/content-RzEXY3QX.mjs +2020 -0
- package/dist/content-RzEXY3QX.mjs.map +1 -0
- package/dist/content-list-query-CnXfe1Nu.d.mts +26 -0
- package/dist/content-list-query-CnXfe1Nu.d.mts.map +1 -0
- package/dist/content-policy-Dm32n9C6.mjs +46 -0
- package/dist/content-policy-Dm32n9C6.mjs.map +1 -0
- package/dist/content-repair-B-k5JrVN.mjs +442 -0
- package/dist/content-repair-B-k5JrVN.mjs.map +1 -0
- package/dist/context-CtRvoSAj.mjs +2026 -0
- package/dist/context-CtRvoSAj.mjs.map +1 -0
- package/dist/credits-CAFPFhuk.mjs +110 -0
- package/dist/credits-CAFPFhuk.mjs.map +1 -0
- package/dist/cron-xe5XKqA-.mjs +306 -0
- package/dist/cron-xe5XKqA-.mjs.map +1 -0
- package/dist/dashboard-BoV4pwPP.mjs +151 -0
- package/dist/dashboard-BoV4pwPP.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-DaoYyFRS.mjs +81 -0
- package/dist/default-DaoYyFRS.mjs.map +1 -0
- package/dist/deferred-tasks-OBADxoFf.d.mts +9 -0
- package/dist/deferred-tasks-OBADxoFf.d.mts.map +1 -0
- package/dist/destination-r2zIAZ2S.mjs +18 -0
- package/dist/destination-r2zIAZ2S.mjs.map +1 -0
- package/dist/dev-typegen-8JlYYFno.mjs +29 -0
- package/dist/dev-typegen-8JlYYFno.mjs.map +1 -0
- package/dist/device-flow-CzKi6tID.mjs +521 -0
- package/dist/device-flow-CzKi6tID.mjs.map +1 -0
- package/dist/digest-DiYAoZpf.mjs +194 -0
- package/dist/digest-DiYAoZpf.mjs.map +1 -0
- package/dist/direct-executor-CsEmH_2m.mjs +104 -0
- package/dist/direct-executor-CsEmH_2m.mjs.map +1 -0
- package/dist/dist-Cfu8mMBs.mjs +810 -0
- package/dist/dist-Cfu8mMBs.mjs.map +1 -0
- package/dist/email-console-DmqVF5J_.mjs +50 -0
- package/dist/email-console-DmqVF5J_.mjs.map +1 -0
- package/dist/email-locale-B5OjmAj_.mjs +25 -0
- package/dist/email-locale-B5OjmAj_.mjs.map +1 -0
- package/dist/emdash-runtime-CMdYH2Of.mjs +4229 -0
- package/dist/emdash-runtime-CMdYH2Of.mjs.map +1 -0
- package/dist/enrich-BDdVNeDK.mjs +194 -0
- package/dist/enrich-BDdVNeDK.mjs.map +1 -0
- package/dist/entry-lock-B-1bUDxX.d.mts +4544 -0
- package/dist/entry-lock-B-1bUDxX.d.mts.map +1 -0
- package/dist/entry-lock-B5eaZEZP.mjs +163 -0
- package/dist/entry-lock-B5eaZEZP.mjs.map +1 -0
- package/dist/entry-lock-PP1JCXBB.mjs +1180 -0
- package/dist/entry-lock-PP1JCXBB.mjs.map +1 -0
- package/dist/entry-locks-DJAqVweV.mjs +167 -0
- package/dist/entry-locks-DJAqVweV.mjs.map +1 -0
- package/dist/env-types-BaTCgn-y.mjs +38 -0
- package/dist/env-types-BaTCgn-y.mjs.map +1 -0
- package/dist/error-CEdm_AWU.mjs +90 -0
- package/dist/error-CEdm_AWU.mjs.map +1 -0
- package/dist/errors-CNvATh_7.mjs +469 -0
- package/dist/errors-CNvATh_7.mjs.map +1 -0
- package/dist/errors-CjXd1LgH.mjs +120 -0
- package/dist/errors-CjXd1LgH.mjs.map +1 -0
- package/dist/escape-nJW7dR0s.mjs +9 -0
- package/dist/escape-nJW7dR0s.mjs.map +1 -0
- package/dist/fence-BrnQffdY.mjs +162 -0
- package/dist/fence-BrnQffdY.mjs.map +1 -0
- package/dist/field-defs-cache-DEkFYCDE.mjs +77 -0
- package/dist/field-defs-cache-DEkFYCDE.mjs.map +1 -0
- package/dist/field-map-Cp5hDSRU.mjs +83 -0
- package/dist/field-map-Cp5hDSRU.mjs.map +1 -0
- package/dist/focal-point-JX8kcOTQ.mjs +23 -0
- package/dist/focal-point-JX8kcOTQ.mjs.map +1 -0
- package/dist/fts-manager-DU03MxWu.mjs +443 -0
- package/dist/fts-manager-DU03MxWu.mjs.map +1 -0
- package/dist/gc-Gf9LOF42.mjs +75 -0
- package/dist/gc-Gf9LOF42.mjs.map +1 -0
- package/dist/hash-CY4QdeMJ.mjs +37 -0
- package/dist/hash-CY4QdeMJ.mjs.map +1 -0
- package/dist/hook-result-DjdVwWpw.d.mts +31 -0
- package/dist/hook-result-DjdVwWpw.d.mts.map +1 -0
- package/dist/hreflang-Bq0ahAd4.mjs +105 -0
- package/dist/hreflang-Bq0ahAd4.mjs.map +1 -0
- package/dist/hreflang-C7ETs0Tv.d.mts +50 -0
- package/dist/hreflang-C7ETs0Tv.d.mts.map +1 -0
- package/dist/http-route-dispatch-B2G7_OOm.mjs +339 -0
- package/dist/http-route-dispatch-B2G7_OOm.mjs.map +1 -0
- package/dist/identity-u3KgtUC9.mjs +35 -0
- package/dist/identity-u3KgtUC9.mjs.map +1 -0
- package/dist/import-CzP9ffo0.mjs +2020 -0
- package/dist/import-CzP9ffo0.mjs.map +1 -0
- package/dist/index-D1_ykO2u.d.mts +623 -0
- package/dist/index-D1_ykO2u.d.mts.map +1 -0
- package/dist/index.d.mts +24 -24
- package/dist/index.mjs +108 -104
- package/dist/install-finalization-TbcQozrV.mjs +58 -0
- package/dist/install-finalization-TbcQozrV.mjs.map +1 -0
- package/dist/keys-r08WvAng.mjs +61 -0
- package/dist/keys-r08WvAng.mjs.map +1 -0
- package/dist/kinds-CXY-fwQ6.mjs +974 -0
- package/dist/kinds-CXY-fwQ6.mjs.map +1 -0
- package/dist/lifecycle-CpebZNAA.mjs +25 -0
- package/dist/lifecycle-CpebZNAA.mjs.map +1 -0
- package/dist/load-dHcR5yh9.mjs +28 -0
- package/dist/load-dHcR5yh9.mjs.map +1 -0
- package/dist/loader-B_bcoE1h.mjs +1197 -0
- package/dist/loader-B_bcoE1h.mjs.map +1 -0
- package/dist/loops-Dn1i16FP.mjs +205 -0
- package/dist/loops-Dn1i16FP.mjs.map +1 -0
- package/dist/manifest-builder-D7Y8iirE.mjs +189 -0
- package/dist/manifest-builder-D7Y8iirE.mjs.map +1 -0
- package/dist/manifest-schema-gy37bD_D.mjs +496 -0
- package/dist/manifest-schema-gy37bD_D.mjs.map +1 -0
- package/dist/marketplace-tHWSsCUo.mjs +257 -0
- package/dist/marketplace-tHWSsCUo.mjs.map +1 -0
- package/dist/media/image-endpoint.mjs +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/index.mjs +4 -4
- package/dist/media/local-runtime.d.mts +14 -14
- package/dist/media/local-runtime.mjs +7 -7
- package/dist/media-3v7mqAVX.mjs +294 -0
- package/dist/media-3v7mqAVX.mjs.map +1 -0
- package/dist/media-CputjGE1.mjs +373 -0
- package/dist/media-CputjGE1.mjs.map +1 -0
- package/dist/media-D1z_jisb.mjs +408 -0
- package/dist/media-D1z_jisb.mjs.map +1 -0
- package/dist/media-allowlist-D5a4d-RA.mjs +44 -0
- package/dist/media-allowlist-D5a4d-RA.mjs.map +1 -0
- package/dist/media-folders-D2VdVBf6.mjs +210 -0
- package/dist/media-folders-D2VdVBf6.mjs.map +1 -0
- package/dist/media-url-DloW2xrP.mjs +43 -0
- package/dist/media-url-DloW2xrP.mjs.map +1 -0
- package/dist/media-usage-B8q0owWQ.mjs +1629 -0
- package/dist/media-usage-B8q0owWQ.mjs.map +1 -0
- package/dist/media-usage-activation-CQWOOTJi.mjs +78 -0
- package/dist/media-usage-activation-CQWOOTJi.mjs.map +1 -0
- package/dist/media-usage-work-BC0qpkMD.mjs +152 -0
- package/dist/media-usage-work-BC0qpkMD.mjs.map +1 -0
- package/dist/media-usage-work-BlMjwPg8.mjs +586 -0
- package/dist/media-usage-work-BlMjwPg8.mjs.map +1 -0
- package/dist/menus-BQKqf0Up.mjs +92 -0
- package/dist/menus-BQKqf0Up.mjs.map +1 -0
- package/dist/menus-DiuhXKWf.mjs +3646 -0
- package/dist/menus-DiuhXKWf.mjs.map +1 -0
- package/dist/menus-trvc6_fW.mjs +753 -0
- package/dist/menus-trvc6_fW.mjs.map +1 -0
- package/dist/migrations/index.d.mts +1 -1
- package/dist/migrations/index.mjs +3 -3
- package/dist/mime-IZf-LHIS.mjs +36 -0
- package/dist/mime-IZf-LHIS.mjs.map +1 -0
- package/dist/mode-nh0ppSX5.mjs +23 -0
- package/dist/mode-nh0ppSX5.mjs.map +1 -0
- package/dist/node-sqlite-compat-CDOEcc97.mjs +63 -0
- package/dist/node-sqlite-compat-CDOEcc97.mjs.map +1 -0
- package/dist/normalize-BuWa0lvd.mjs +191 -0
- package/dist/normalize-BuWa0lvd.mjs.map +1 -0
- package/dist/oauth-authorization-BcRdGojQ.mjs +274 -0
- package/dist/oauth-authorization-BcRdGojQ.mjs.map +1 -0
- package/dist/oauth-clients-C-8WDTqj.mjs +266 -0
- package/dist/oauth-clients-C-8WDTqj.mjs.map +1 -0
- package/dist/oauth-state-store-CM5ZEYQS.mjs +50 -0
- package/dist/oauth-state-store-CM5ZEYQS.mjs.map +1 -0
- package/dist/oauth-user-lookup-DrrqvTZC.mjs +26 -0
- package/dist/oauth-user-lookup-DrrqvTZC.mjs.map +1 -0
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/object-cache-Bo6DGaC9.mjs +586 -0
- package/dist/object-cache-Bo6DGaC9.mjs.map +1 -0
- package/dist/options-C2IDQnD2.d.mts +81 -0
- package/dist/options-C2IDQnD2.d.mts.map +1 -0
- package/dist/ownership-DoeAIuTg.mjs +12 -0
- package/dist/ownership-DoeAIuTg.mjs.map +1 -0
- package/dist/page/index.d.mts +2 -2
- package/dist/page/index.mjs +6 -6
- package/dist/parse-D5Sw9wAI.d.mts +172 -0
- package/dist/parse-D5Sw9wAI.d.mts.map +1 -0
- package/dist/parse-Gt2l4Sld.mjs +81 -0
- package/dist/parse-Gt2l4Sld.mjs.map +1 -0
- package/dist/passkey-config-CkQsrcU-.mjs +46 -0
- package/dist/passkey-config-CkQsrcU-.mjs.map +1 -0
- package/dist/paths-DiENGBx5.mjs +77 -0
- package/dist/paths-DiENGBx5.mjs.map +1 -0
- package/dist/patterns-DyZJ67I7.mjs +140 -0
- package/dist/patterns-DyZJ67I7.mjs.map +1 -0
- package/dist/placeholder-Cq5wLDCX.d.mts +306 -0
- package/dist/placeholder-Cq5wLDCX.d.mts.map +1 -0
- package/dist/plan-BxCS1tl5.mjs +135 -0
- package/dist/plan-BxCS1tl5.mjs.map +1 -0
- package/dist/plugin-test-runtime.d.mts +14 -14
- package/dist/plugin-test-runtime.mjs +115 -111
- package/dist/plugin-types.d.mts +5 -3
- package/dist/plugin-types.d.mts.map +1 -1
- package/dist/plugin-types.mjs.map +1 -1
- package/dist/plugin-utils.d.mts +12 -12
- package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
- package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
- package/dist/plugins/adapt-sandbox-entry.mjs +48 -10
- package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
- package/dist/plugins/host.d.mts +6 -6
- package/dist/plugins/host.mjs +49 -44
- package/dist/plugins-BpLkXA1S.mjs +277 -0
- package/dist/plugins-BpLkXA1S.mjs.map +1 -0
- package/dist/policy-C1qpNxrr.mjs +45 -0
- package/dist/policy-C1qpNxrr.mjs.map +1 -0
- package/dist/portable-text-BnRuiR1-.mjs +307 -0
- package/dist/portable-text-BnRuiR1-.mjs.map +1 -0
- package/dist/preview-DU5rwz_m.mjs +107 -0
- package/dist/preview-DU5rwz_m.mjs.map +1 -0
- package/dist/protocol-B9GEhEyi.d.mts +61 -0
- package/dist/protocol-B9GEhEyi.d.mts.map +1 -0
- package/dist/public-submission-yZaTTfsC.mjs +250 -0
- package/dist/public-submission-yZaTTfsC.mjs.map +1 -0
- package/dist/public-url-B5a0QAh6.mjs +101 -0
- package/dist/public-url-B5a0QAh6.mjs.map +1 -0
- package/dist/query-6e2CQxUv.mjs +1161 -0
- package/dist/query-6e2CQxUv.mjs.map +1 -0
- package/dist/query-DC3bv__4.mjs +41 -0
- package/dist/query-DC3bv__4.mjs.map +1 -0
- package/dist/rate-limit-BXx3Ecp9.mjs +120 -0
- package/dist/rate-limit-BXx3Ecp9.mjs.map +1 -0
- package/dist/receipt-q1VK9jhj.mjs +43 -0
- package/dist/receipt-q1VK9jhj.mjs.map +1 -0
- package/dist/redirect-BvFKh8Sz.mjs +416 -0
- package/dist/redirect-BvFKh8Sz.mjs.map +1 -0
- package/dist/redirect-D1AmADlk.mjs +19 -0
- package/dist/redirect-D1AmADlk.mjs.map +1 -0
- package/dist/redirects-CWQMKYOS.mjs +446 -0
- package/dist/redirects-CWQMKYOS.mjs.map +1 -0
- package/dist/redirects-D4EWeXAo.mjs +148 -0
- package/dist/redirects-D4EWeXAo.mjs.map +1 -0
- package/dist/registry/testing.d.mts +16 -4
- package/dist/registry/testing.d.mts.map +1 -1
- package/dist/registry/testing.mjs +20 -10
- package/dist/registry/testing.mjs.map +1 -1
- package/dist/registry-CtHRqVe-.mjs +6771 -0
- package/dist/registry-CtHRqVe-.mjs.map +1 -0
- package/dist/relations-CVI2nbrn.mjs +776 -0
- package/dist/relations-CVI2nbrn.mjs.map +1 -0
- package/dist/request-cache-C4CIo5ad.mjs +104 -0
- package/dist/request-cache-C4CIo5ad.mjs.map +1 -0
- package/dist/request-context.d.mts +9 -1
- package/dist/request-context.d.mts.map +1 -1
- package/dist/request-context.mjs.map +1 -1
- package/dist/request-meta-B6blULFY.mjs +141 -0
- package/dist/request-meta-B6blULFY.mjs.map +1 -0
- package/dist/resolve-Cx0Pwz0-.mjs +100 -0
- package/dist/resolve-Cx0Pwz0-.mjs.map +1 -0
- package/dist/resolve-D-kqyKns.mjs +199 -0
- package/dist/resolve-D-kqyKns.mjs.map +1 -0
- package/dist/revision-CGkQA0e5.mjs +366 -0
- package/dist/revision-CGkQA0e5.mjs.map +1 -0
- package/dist/route-wire-DK600v4u.mjs +197 -0
- package/dist/route-wire-DK600v4u.mjs.map +1 -0
- package/dist/routes-DTduBPzX.mjs +272 -0
- package/dist/routes-DTduBPzX.mjs.map +1 -0
- package/dist/runner-CLpxmhl8.mjs +6197 -0
- package/dist/runner-CLpxmhl8.mjs.map +1 -0
- package/dist/runner-Ji7qyH2A.d.mts +68 -0
- package/dist/runner-Ji7qyH2A.d.mts.map +1 -0
- package/dist/runtime.d.mts +13 -13
- package/dist/runtime.mjs +3 -3
- package/dist/schema/project-env-types.d.mts +12 -0
- package/dist/schema/project-env-types.d.mts.map +1 -0
- package/dist/schema/project-env-types.mjs +86 -0
- package/dist/schema/project-env-types.mjs.map +1 -0
- package/dist/schema-BZPj3kwZ.mjs +13 -0
- package/dist/schema-BZPj3kwZ.mjs.map +1 -0
- package/dist/schema-Berj5VQx.mjs +815 -0
- package/dist/schema-Berj5VQx.mjs.map +1 -0
- package/dist/scopes-C1HJaIyf.mjs +34 -0
- package/dist/scopes-C1HJaIyf.mjs.map +1 -0
- package/dist/search-thYf8j9F.mjs +448 -0
- package/dist/search-thYf8j9F.mjs.map +1 -0
- package/dist/sections-2k1uIgJ0.mjs +346 -0
- package/dist/sections-2k1uIgJ0.mjs.map +1 -0
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +39 -38
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +24 -23
- package/dist/seo/index.mjs.map +1 -1
- package/dist/seo-C61bnPuV.mjs +114 -0
- package/dist/seo-C61bnPuV.mjs.map +1 -0
- package/dist/seo-DpYxmGaL.mjs +133 -0
- package/dist/seo-DpYxmGaL.mjs.map +1 -0
- package/dist/service-BFUImckH.mjs +150 -0
- package/dist/service-BFUImckH.mjs.map +1 -0
- package/dist/session-user-DVcHsFD5.mjs +61 -0
- package/dist/session-user-DVcHsFD5.mjs.map +1 -0
- package/dist/settings-B0zQj_Tj.mjs +61 -0
- package/dist/settings-B0zQj_Tj.mjs.map +1 -0
- package/dist/settings-BJjK_X7x.mjs +51 -0
- package/dist/settings-BJjK_X7x.mjs.map +1 -0
- package/dist/settings-BbVRRGDp.mjs +439 -0
- package/dist/settings-BbVRRGDp.mjs.map +1 -0
- package/dist/setup-complete-CuLcTDTU.mjs +65 -0
- package/dist/setup-complete-CuLcTDTU.mjs.map +1 -0
- package/dist/setup-nonce-CAQoY5PC.mjs +25 -0
- package/dist/setup-nonce-CAQoY5PC.mjs.map +1 -0
- package/dist/site-settings-AYFvhwQn.mjs +50 -0
- package/dist/site-settings-AYFvhwQn.mjs.map +1 -0
- package/dist/site-url-Ceq_AUK0.mjs +16 -0
- package/dist/site-url-Ceq_AUK0.mjs.map +1 -0
- package/dist/snapshot-Dzsn3NZa.mjs +414 -0
- package/dist/snapshot-Dzsn3NZa.mjs.map +1 -0
- package/dist/ssrf-DsmvZB80.mjs +406 -0
- package/dist/ssrf-DsmvZB80.mjs.map +1 -0
- package/dist/stage-Cf9PqdUB.mjs +662 -0
- package/dist/stage-Cf9PqdUB.mjs.map +1 -0
- package/dist/staged-Bw5eHbKS.mjs +686 -0
- package/dist/staged-Bw5eHbKS.mjs.map +1 -0
- package/dist/state-kGdOMQRY.mjs +153 -0
- package/dist/state-kGdOMQRY.mjs.map +1 -0
- package/dist/status-D39Fpy8R.mjs +30 -0
- package/dist/status-D39Fpy8R.mjs.map +1 -0
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/local.mjs +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/storage-query-C9bK0Dg6.d.mts +1614 -0
- package/dist/storage-query-C9bK0Dg6.d.mts.map +1 -0
- package/dist/tar-lDI_fzLD.mjs +449 -0
- package/dist/tar-lDI_fzLD.mjs.map +1 -0
- package/dist/target-DOFs5oUC.mjs +27 -0
- package/dist/target-DOFs5oUC.mjs.map +1 -0
- package/dist/taxonomies-DQGomz9p.mjs +939 -0
- package/dist/taxonomies-DQGomz9p.mjs.map +1 -0
- package/dist/taxonomies-DWv-OYT0.mjs +697 -0
- package/dist/taxonomies-DWv-OYT0.mjs.map +1 -0
- package/dist/taxonomy-BesdHIwi.mjs +525 -0
- package/dist/taxonomy-BesdHIwi.mjs.map +1 -0
- package/dist/tokens-BIGxi8sP.mjs +171 -0
- package/dist/tokens-BIGxi8sP.mjs.map +1 -0
- package/dist/transaction-BVYIo_yu.mjs +29 -0
- package/dist/transaction-BVYIo_yu.mjs.map +1 -0
- package/dist/transfer-BtzoaXLk.mjs +166 -0
- package/dist/transfer-BtzoaXLk.mjs.map +1 -0
- package/dist/transfer-DLu_6AXL.mjs +8856 -0
- package/dist/transfer-DLu_6AXL.mjs.map +1 -0
- package/dist/transfer-download-b_PCrqJJ.mjs +33 -0
- package/dist/transfer-download-b_PCrqJJ.mjs.map +1 -0
- package/dist/transformations-DdnpSdeC.mjs +196 -0
- package/dist/transformations-DdnpSdeC.mjs.map +1 -0
- package/dist/transport-flR-Zmds.d.mts +42 -0
- package/dist/transport-flR-Zmds.d.mts.map +1 -0
- package/dist/transport-umzEbgYO.mjs +136 -0
- package/dist/transport-umzEbgYO.mjs.map +1 -0
- package/dist/trusted-proxy-BqfQFs6a.mjs +51 -0
- package/dist/trusted-proxy-BqfQFs6a.mjs.map +1 -0
- package/dist/turnstile-IvQp2uyD.mjs +53 -0
- package/dist/turnstile-IvQp2uyD.mjs.map +1 -0
- package/dist/types-2V_MVPYy.d.mts +125 -0
- package/dist/types-2V_MVPYy.d.mts.map +1 -0
- package/dist/types-B-WCvzdi.d.mts +198 -0
- package/dist/types-B-WCvzdi.d.mts.map +1 -0
- package/dist/types-BGmQ0uXs.mjs +201 -0
- package/dist/types-BGmQ0uXs.mjs.map +1 -0
- package/dist/types-CVsmpTcU.mjs +18 -0
- package/dist/types-CVsmpTcU.mjs.map +1 -0
- package/dist/types-C_V-_vMS.d.mts +198 -0
- package/dist/types-C_V-_vMS.d.mts.map +1 -0
- package/dist/types-CdEMurNh.mjs +77 -0
- package/dist/types-CdEMurNh.mjs.map +1 -0
- package/dist/types-CsmwbOwa.mjs +22 -0
- package/dist/types-CsmwbOwa.mjs.map +1 -0
- package/dist/types-Cw-1it3n.d.mts +287 -0
- package/dist/types-Cw-1it3n.d.mts.map +1 -0
- package/dist/types-D7B20WFC.d.mts +374 -0
- package/dist/types-D7B20WFC.d.mts.map +1 -0
- package/dist/types-DGw8KMX_.mjs +16 -0
- package/dist/types-DGw8KMX_.mjs.map +1 -0
- package/dist/types-DZeDpzMc.d.mts +896 -0
- package/dist/types-DZeDpzMc.d.mts.map +1 -0
- package/dist/types-DuQAIPA-.d.mts +363 -0
- package/dist/types-DuQAIPA-.d.mts.map +1 -0
- package/dist/types-edRPQchz.d.mts +85 -0
- package/dist/types-edRPQchz.d.mts.map +1 -0
- package/dist/types-j6MBDjlZ.mjs +103 -0
- package/dist/types-j6MBDjlZ.mjs.map +1 -0
- package/dist/types-pOLeFKGq.d.mts +1720 -0
- package/dist/types-pOLeFKGq.d.mts.map +1 -0
- package/dist/update-check-CaZyFHZC.mjs +161 -0
- package/dist/update-check-CaZyFHZC.mjs.map +1 -0
- package/dist/upload-attempts-BodUoFBu.mjs +32 -0
- package/dist/upload-attempts-BodUoFBu.mjs.map +1 -0
- package/dist/url-Dn3IStq8.mjs +104 -0
- package/dist/url-Dn3IStq8.mjs.map +1 -0
- package/dist/url-pattern-DGAG6ZP2.mjs +41 -0
- package/dist/url-pattern-DGAG6ZP2.mjs.map +1 -0
- package/dist/user-BOvuF1sQ.mjs +171 -0
- package/dist/user-BOvuF1sQ.mjs.map +1 -0
- package/dist/utils-CoV-PYhg.mjs +439 -0
- package/dist/utils-CoV-PYhg.mjs.map +1 -0
- package/dist/validate-WkjGwBSO.mjs +516 -0
- package/dist/validate-WkjGwBSO.mjs.map +1 -0
- package/dist/validate-dK97qe7F.d.mts +468 -0
- package/dist/validate-dK97qe7F.d.mts.map +1 -0
- package/dist/validation-D-ICq_tY.mjs +219 -0
- package/dist/validation-D-ICq_tY.mjs.map +1 -0
- package/dist/version-DbT04wbH.mjs +9 -0
- package/dist/version-DbT04wbH.mjs.map +1 -0
- package/dist/version-IneBU54o.mjs +7 -0
- package/dist/version-IneBU54o.mjs.map +1 -0
- package/dist/virtual-modules-Brh6mRVe.mjs +516 -0
- package/dist/virtual-modules-Brh6mRVe.mjs.map +1 -0
- package/dist/widgets-D8T0xBYs.mjs +126 -0
- package/dist/widgets-D8T0xBYs.mjs.map +1 -0
- package/dist/wxr-taxonomies-B6iE8m9I.d.mts +34 -0
- package/dist/wxr-taxonomies-B6iE8m9I.d.mts.map +1 -0
- package/dist/wxr-taxonomies-DEzR9N7e.mjs +453 -0
- package/dist/wxr-taxonomies-DEzR9N7e.mjs.map +1 -0
- package/dist/zod-generator-DnfG5sGQ.mjs +424 -0
- package/dist/zod-generator-DnfG5sGQ.mjs.map +1 -0
- package/package.json +13 -14
- package/src/api/errors.ts +11 -0
- package/src/api/handlers/bulk-tag.ts +4 -4
- package/src/api/handlers/content.ts +39 -17
- package/src/api/handlers/index.ts +3 -0
- package/src/api/handlers/manifest.ts +2 -0
- package/src/api/handlers/media-upload.ts +3 -0
- package/src/api/handlers/media.ts +2 -2
- package/src/api/handlers/registry.ts +123 -70
- package/src/api/handlers/revision.ts +10 -2
- package/src/api/handlers/staged-references.ts +72 -6
- package/src/api/handlers/update-check.ts +236 -0
- package/src/api/redirect.ts +9 -1
- package/src/api/schemas/content.ts +4 -0
- package/src/api/schemas/import.ts +50 -14
- package/src/api/schemas/schema.ts +12 -6
- package/src/api/setup-complete.ts +49 -1
- package/src/api/types.ts +4 -0
- package/src/astro/dev-typegen.ts +15 -22
- package/src/astro/integration/dev-typegen.ts +32 -3
- package/src/astro/integration/index.ts +88 -22
- package/src/astro/integration/routes.ts +6 -0
- package/src/astro/integration/runtime.ts +33 -7
- package/src/astro/integration/virtual-modules.ts +1 -0
- package/src/astro/integration/vite-config.ts +16 -8
- package/src/astro/middleware/redirect.ts +15 -2
- package/src/astro/middleware/request-context.ts +13 -6
- package/src/astro/routes/api/admin/bylines/[id]/index.ts +11 -1
- package/src/astro/routes/api/admin/bylines/[id]/translations.ts +7 -1
- package/src/astro/routes/api/admin/bylines/index.ts +6 -1
- package/src/astro/routes/api/admin/core-update.ts +34 -0
- package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +6 -2
- package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +6 -2
- package/src/astro/routes/api/auth/invite/complete.ts +4 -4
- package/src/astro/routes/api/auth/magic-link/verify.ts +4 -1
- package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +9 -4
- package/src/astro/routes/api/auth/passkey/verify.ts +4 -4
- package/src/astro/routes/api/auth/signup/complete.ts +4 -4
- package/src/astro/routes/api/import/wordpress/execute.ts +252 -6
- package/src/astro/routes/api/import/wordpress/prepare.ts +1 -2
- package/src/astro/routes/api/oauth/register.ts +22 -2
- package/src/astro/routes/api/revisions/[revisionId]/restore.ts +17 -1
- package/src/astro/routes/api/setup/admin-verify.ts +6 -5
- package/src/astro/routes/api/typegen.ts +4 -46
- package/src/astro/session-user.ts +14 -0
- package/src/astro/types.ts +6 -0
- package/src/bylines/credits.ts +149 -0
- package/src/bylines/index.ts +4 -142
- package/src/cli/commands/seed.ts +2 -0
- package/src/cli/credentials.ts +1 -60
- package/src/cli/index.ts +0 -2
- package/src/client/index.ts +8 -2
- package/src/components/Image.astro +24 -13
- package/src/components/InlinePortableTextEditor.tsx +25 -8
- package/src/content/converters/portable-text-to-prosemirror.ts +23 -17
- package/src/content/converters/prosemirror-to-portable-text.ts +16 -5
- package/src/content/converters/types.ts +1 -0
- package/src/database/content-datetime.ts +111 -23
- package/src/database/migrations/036_i18n_menus_and_taxonomies.ts +132 -92
- package/src/database/migrations/088_cron_oneshot_utc.ts +39 -0
- package/src/database/migrations/089_auto_seed_completion.ts +13 -0
- package/src/database/migrations/runner.ts +4 -0
- package/src/database/repositories/comment.ts +2 -2
- package/src/database/repositories/content.ts +15 -8
- package/src/database/repositories/plugin-storage.ts +1 -1
- package/src/database/repositories/redirect.ts +7 -2
- package/src/database/repositories/relation.ts +2 -2
- package/src/database/types.ts +1 -1
- package/src/db/node-sqlite-compat.ts +63 -37
- package/src/emdash-runtime.ts +63 -35
- package/src/import/wxr-taxonomies.ts +163 -88
- package/src/index.ts +10 -0
- package/src/loader.ts +8 -1
- package/src/mcp/server.ts +90 -8
- package/src/media/usage/activation.ts +18 -9
- package/src/migrations/config-loader.ts +5 -0
- package/src/object-cache/index.ts +19 -7
- package/src/object-cache/types.ts +3 -2
- package/src/plugin-types.ts +7 -0
- package/src/plugins/adapt-sandbox-entry.ts +47 -12
- package/src/plugins/byline-access.ts +158 -0
- package/src/plugins/context.ts +7 -1
- package/src/plugins/cron.ts +27 -4
- package/src/plugins/hooks.ts +47 -0
- package/src/plugins/host.ts +1 -0
- package/src/plugins/index.ts +10 -1
- package/src/plugins/manifest-schema.ts +5 -1
- package/src/plugins/marketplace.ts +48 -36
- package/src/plugins/sandbox/proxy.ts +1 -0
- package/src/plugins/types.ts +95 -0
- package/src/query.ts +9 -2
- package/src/redirects/cache.ts +11 -1
- package/src/redirects/destination.ts +20 -0
- package/src/redirects/loops.ts +10 -6
- package/src/redirects/patterns.ts +12 -30
- package/src/references/staged.ts +40 -0
- package/src/registry/testing.ts +59 -14
- package/src/request-context.ts +8 -0
- package/src/schema/block-type-registry.ts +1 -1
- package/src/schema/env-types.ts +37 -0
- package/src/schema/project-env-types.ts +41 -0
- package/src/schema/registry.ts +33 -2
- package/src/schema/types.ts +5 -0
- package/src/schema/url-pattern.ts +10 -0
- package/src/schema/zod-generator.ts +11 -1
- package/src/seed/apply.ts +34 -1
- package/src/seed/ownership.ts +15 -0
- package/src/seed/validate.ts +45 -2
- package/src/transfer/analyze/validate.ts +113 -1
- package/src/transfer/analyze/values.ts +104 -1
- package/src/transfer/analyze/write-rules.ts +8 -0
- package/src/utils/url.ts +58 -3
- package/src/virtual-modules.d.ts +3 -0
- package/dist/action-token-CbKDcPJi.mjs +0 -26
- package/dist/action-token-CbKDcPJi.mjs.map +0 -1
- package/dist/activation-PtniBLt9.mjs +0 -382
- package/dist/activation-PtniBLt9.mjs.map +0 -1
- package/dist/adapters-C_Tf5x90.d.mts +0 -171
- package/dist/adapters-C_Tf5x90.d.mts.map +0 -1
- package/dist/allowed-origins-U1z4TdEZ.mjs +0 -116
- package/dist/allowed-origins-U1z4TdEZ.mjs.map +0 -1
- package/dist/api-CXwQkV_m.mjs +0 -5122
- package/dist/api-CXwQkV_m.mjs.map +0 -1
- package/dist/api-tokens-89WlohEN.mjs +0 -166
- package/dist/api-tokens-89WlohEN.mjs.map +0 -1
- package/dist/apply-Do3KNnUk.mjs +0 -1659
- package/dist/apply-Do3KNnUk.mjs.map +0 -1
- package/dist/approvals-CAX9Yw33.mjs +0 -460
- package/dist/approvals-CAX9Yw33.mjs.map +0 -1
- package/dist/artifact-fetch-B9W4CEST.mjs +0 -659
- package/dist/artifact-fetch-B9W4CEST.mjs.map +0 -1
- package/dist/audit-CrgmE9LE.mjs +0 -127
- package/dist/audit-CrgmE9LE.mjs.map +0 -1
- package/dist/authoritative-records-C2YzIdbu.mjs +0 -5172
- package/dist/authoritative-records-C2YzIdbu.mjs.map +0 -1
- package/dist/authorize-WgdKF8QY.mjs +0 -49
- package/dist/authorize-WgdKF8QY.mjs.map +0 -1
- package/dist/backup-Ck8_lMO3.mjs +0 -246
- package/dist/backup-Ck8_lMO3.mjs.map +0 -1
- package/dist/block-types-BQ90asVI.mjs +0 -132
- package/dist/block-types-BQ90asVI.mjs.map +0 -1
- package/dist/block-values-ACFqgB1D.mjs +0 -175
- package/dist/block-values-ACFqgB1D.mjs.map +0 -1
- package/dist/bundle-Db1iNMv_.mjs +0 -667
- package/dist/bundle-Db1iNMv_.mjs.map +0 -1
- package/dist/byline-BayaYGoj.mjs +0 -909
- package/dist/byline-BayaYGoj.mjs.map +0 -1
- package/dist/byline-fields-B8HH-35f.mjs +0 -254
- package/dist/byline-fields-B8HH-35f.mjs.map +0 -1
- package/dist/byline-fields-hMPjf6Eu.mjs +0 -123
- package/dist/byline-fields-hMPjf6Eu.mjs.map +0 -1
- package/dist/byline-registry-B_EK_TQf.mjs +0 -406
- package/dist/byline-registry-B_EK_TQf.mjs.map +0 -1
- package/dist/bylines-DFAaFXWi.mjs +0 -214
- package/dist/bylines-DFAaFXWi.mjs.map +0 -1
- package/dist/bylines-DkIxUxmr.mjs +0 -232
- package/dist/bylines-DkIxUxmr.mjs.map +0 -1
- package/dist/cache-DkvhQ8XE.mjs +0 -108
- package/dist/cache-DkvhQ8XE.mjs.map +0 -1
- package/dist/canonical-CcSuuTlH.mjs +0 -174
- package/dist/canonical-CcSuuTlH.mjs.map +0 -1
- package/dist/capture-triggers-DJEoOTOq.mjs +0 -362
- package/dist/capture-triggers-DJEoOTOq.mjs.map +0 -1
- package/dist/challenge-store-CvBl81AQ.mjs +0 -51
- package/dist/challenge-store-CvBl81AQ.mjs.map +0 -1
- package/dist/checksum-CClweQzI.mjs +0 -162
- package/dist/checksum-CClweQzI.mjs.map +0 -1
- package/dist/chrome-tags-D5caJwwp.mjs +0 -24
- package/dist/chrome-tags-D5caJwwp.mjs.map +0 -1
- package/dist/chunks-DwBaj8aT.mjs +0 -25
- package/dist/chunks-DwBaj8aT.mjs.map +0 -1
- package/dist/collection-deletion-CLCdXsnV.mjs +0 -436
- package/dist/collection-deletion-CLCdXsnV.mjs.map +0 -1
- package/dist/collection-deletion-processor-hNw8x01F.mjs +0 -217
- package/dist/collection-deletion-processor-hNw8x01F.mjs.map +0 -1
- package/dist/collection-slugs-cache-CUuiduLq.mjs +0 -85
- package/dist/collection-slugs-cache-CUuiduLq.mjs.map +0 -1
- package/dist/comment-D2uvL63j.mjs +0 -313
- package/dist/comment-D2uvL63j.mjs.map +0 -1
- package/dist/comment-reaction-DevUuzg4.mjs +0 -85
- package/dist/comment-reaction-DevUuzg4.mjs.map +0 -1
- package/dist/comments-Cq0s7_hO.mjs +0 -195
- package/dist/comments-Cq0s7_hO.mjs.map +0 -1
- package/dist/comments-M4EDYAHw.mjs +0 -99
- package/dist/comments-M4EDYAHw.mjs.map +0 -1
- package/dist/components-CuIGwXMs.mjs +0 -108
- package/dist/components-CuIGwXMs.mjs.map +0 -1
- package/dist/config-52Ea5IWt.d.mts +0 -39
- package/dist/config-52Ea5IWt.d.mts.map +0 -1
- package/dist/config-CCz3xOLc.mjs +0 -242
- package/dist/config-CCz3xOLc.mjs.map +0 -1
- package/dist/config-D3d5Qudq.d.mts +0 -6669
- package/dist/config-D3d5Qudq.d.mts.map +0 -1
- package/dist/content-CbnufDsM.mjs +0 -2018
- package/dist/content-CbnufDsM.mjs.map +0 -1
- package/dist/content-list-query-D_7B1FE5.d.mts +0 -26
- package/dist/content-list-query-D_7B1FE5.d.mts.map +0 -1
- package/dist/content-policy-CYu6K1KB.mjs +0 -46
- package/dist/content-policy-CYu6K1KB.mjs.map +0 -1
- package/dist/content-repair-DlDUgFGp.mjs +0 -442
- package/dist/content-repair-DlDUgFGp.mjs.map +0 -1
- package/dist/context-CGQLA1-a.mjs +0 -1922
- package/dist/context-CGQLA1-a.mjs.map +0 -1
- package/dist/cron-c4D5C5Fx.mjs +0 -284
- package/dist/cron-c4D5C5Fx.mjs.map +0 -1
- package/dist/dashboard-CBq9kmOn.mjs +0 -151
- package/dist/dashboard-CBq9kmOn.mjs.map +0 -1
- package/dist/default-DPsys51U.mjs +0 -81
- package/dist/default-DPsys51U.mjs.map +0 -1
- package/dist/deferred-tasks-CZ7rzBdo.d.mts +0 -9
- package/dist/deferred-tasks-CZ7rzBdo.d.mts.map +0 -1
- package/dist/dev-typegen-HRxwLRcT.mjs +0 -29
- package/dist/dev-typegen-HRxwLRcT.mjs.map +0 -1
- package/dist/device-flow-OcSqE9uY.mjs +0 -521
- package/dist/device-flow-OcSqE9uY.mjs.map +0 -1
- package/dist/digest-DVZ--cE9.mjs +0 -194
- package/dist/digest-DVZ--cE9.mjs.map +0 -1
- package/dist/direct-executor-DyjAqkpT.mjs +0 -104
- package/dist/direct-executor-DyjAqkpT.mjs.map +0 -1
- package/dist/dist-FPR93_xf.mjs +0 -810
- package/dist/dist-FPR93_xf.mjs.map +0 -1
- package/dist/email-console-DyQIgEnz.mjs +0 -50
- package/dist/email-console-DyQIgEnz.mjs.map +0 -1
- package/dist/email-locale-BYb16rVd.mjs +0 -25
- package/dist/email-locale-BYb16rVd.mjs.map +0 -1
- package/dist/emdash-runtime-CrzxJFmF.mjs +0 -4214
- package/dist/emdash-runtime-CrzxJFmF.mjs.map +0 -1
- package/dist/enrich-DBtCncE2.mjs +0 -194
- package/dist/enrich-DBtCncE2.mjs.map +0 -1
- package/dist/entry-lock-BN5y4YbO.d.mts +0 -4481
- package/dist/entry-lock-BN5y4YbO.d.mts.map +0 -1
- package/dist/entry-lock-BaRBHCsH.mjs +0 -1173
- package/dist/entry-lock-BaRBHCsH.mjs.map +0 -1
- package/dist/entry-lock-C6NcnZPV.mjs +0 -163
- package/dist/entry-lock-C6NcnZPV.mjs.map +0 -1
- package/dist/entry-locks-BTyQLdbC.mjs +0 -167
- package/dist/entry-locks-BTyQLdbC.mjs.map +0 -1
- package/dist/error-BfsNNrIE.mjs +0 -90
- package/dist/error-BfsNNrIE.mjs.map +0 -1
- package/dist/errors-BN1QAnEY.mjs +0 -460
- package/dist/errors-BN1QAnEY.mjs.map +0 -1
- package/dist/errors-Bt3goF8I.mjs +0 -120
- package/dist/errors-Bt3goF8I.mjs.map +0 -1
- package/dist/escape-BveidMa2.mjs +0 -9
- package/dist/escape-BveidMa2.mjs.map +0 -1
- package/dist/fence-Bb_IbCxI.mjs +0 -162
- package/dist/fence-Bb_IbCxI.mjs.map +0 -1
- package/dist/field-defs-cache-CsZctvbu.mjs +0 -77
- package/dist/field-defs-cache-CsZctvbu.mjs.map +0 -1
- package/dist/field-map-6m9rF49t.mjs +0 -83
- package/dist/field-map-6m9rF49t.mjs.map +0 -1
- package/dist/focal-point-CZ3d1wK5.mjs +0 -23
- package/dist/focal-point-CZ3d1wK5.mjs.map +0 -1
- package/dist/fts-manager-CCaZTp8y.mjs +0 -443
- package/dist/fts-manager-CCaZTp8y.mjs.map +0 -1
- package/dist/gc-xowRjczI.mjs +0 -75
- package/dist/gc-xowRjczI.mjs.map +0 -1
- package/dist/hash-COVK27Pc.mjs +0 -37
- package/dist/hash-COVK27Pc.mjs.map +0 -1
- package/dist/hook-result-CYSk0XFe.d.mts +0 -31
- package/dist/hook-result-CYSk0XFe.d.mts.map +0 -1
- package/dist/hreflang-CChPV7jx.mjs +0 -105
- package/dist/hreflang-CChPV7jx.mjs.map +0 -1
- package/dist/hreflang-DRslq3QI.d.mts +0 -50
- package/dist/hreflang-DRslq3QI.d.mts.map +0 -1
- package/dist/http-route-dispatch-CAdp2onn.mjs +0 -339
- package/dist/http-route-dispatch-CAdp2onn.mjs.map +0 -1
- package/dist/identity-NVTOOQyq.mjs +0 -35
- package/dist/identity-NVTOOQyq.mjs.map +0 -1
- package/dist/import-wpSO2N0x.mjs +0 -2020
- package/dist/import-wpSO2N0x.mjs.map +0 -1
- package/dist/index-CDs2wq4X.d.mts +0 -623
- package/dist/index-CDs2wq4X.d.mts.map +0 -1
- package/dist/install-finalization-D9R9R-W8.mjs +0 -58
- package/dist/install-finalization-D9R9R-W8.mjs.map +0 -1
- package/dist/keys-Bck6LBfF.mjs +0 -61
- package/dist/keys-Bck6LBfF.mjs.map +0 -1
- package/dist/kinds-CYmRESWj.mjs +0 -974
- package/dist/kinds-CYmRESWj.mjs.map +0 -1
- package/dist/lifecycle-C815ZQfV.mjs +0 -25
- package/dist/lifecycle-C815ZQfV.mjs.map +0 -1
- package/dist/load-D99axixL.mjs +0 -28
- package/dist/load-D99axixL.mjs.map +0 -1
- package/dist/loader-CrRPfkHS.mjs +0 -1197
- package/dist/loader-CrRPfkHS.mjs.map +0 -1
- package/dist/loops-DMKlygqX.mjs +0 -203
- package/dist/loops-DMKlygqX.mjs.map +0 -1
- package/dist/manifest-builder-BQzCHNgB.mjs +0 -189
- package/dist/manifest-builder-BQzCHNgB.mjs.map +0 -1
- package/dist/manifest-schema-Ci2gmd0u.mjs +0 -492
- package/dist/manifest-schema-Ci2gmd0u.mjs.map +0 -1
- package/dist/media-BUQePMxP.mjs +0 -373
- package/dist/media-BUQePMxP.mjs.map +0 -1
- package/dist/media-DH8ibNlY.mjs +0 -294
- package/dist/media-DH8ibNlY.mjs.map +0 -1
- package/dist/media-OEIQ3bVc.mjs +0 -408
- package/dist/media-OEIQ3bVc.mjs.map +0 -1
- package/dist/media-allowlist-pYtaBA95.mjs +0 -44
- package/dist/media-allowlist-pYtaBA95.mjs.map +0 -1
- package/dist/media-folders-Bf8_s4de.mjs +0 -210
- package/dist/media-folders-Bf8_s4de.mjs.map +0 -1
- package/dist/media-url-C6klEuNd.mjs +0 -43
- package/dist/media-url-C6klEuNd.mjs.map +0 -1
- package/dist/media-usage-D7Y64m6v.mjs +0 -1629
- package/dist/media-usage-D7Y64m6v.mjs.map +0 -1
- package/dist/media-usage-activation-DrqbmgLA.mjs +0 -78
- package/dist/media-usage-activation-DrqbmgLA.mjs.map +0 -1
- package/dist/media-usage-work-DommYhYA.mjs +0 -152
- package/dist/media-usage-work-DommYhYA.mjs.map +0 -1
- package/dist/media-usage-work-HU63hNDu.mjs +0 -586
- package/dist/media-usage-work-HU63hNDu.mjs.map +0 -1
- package/dist/menus-BQfusWEC.mjs +0 -3608
- package/dist/menus-BQfusWEC.mjs.map +0 -1
- package/dist/menus-BtwjQt5s.mjs +0 -753
- package/dist/menus-BtwjQt5s.mjs.map +0 -1
- package/dist/menus-p_M1V7J_.mjs +0 -139
- package/dist/menus-p_M1V7J_.mjs.map +0 -1
- package/dist/mime-C94qBG-P.mjs +0 -36
- package/dist/mime-C94qBG-P.mjs.map +0 -1
- package/dist/mode-DpYW3w6U.mjs +0 -23
- package/dist/mode-DpYW3w6U.mjs.map +0 -1
- package/dist/node-sqlite-compat-pWFw0lcc.mjs +0 -46
- package/dist/node-sqlite-compat-pWFw0lcc.mjs.map +0 -1
- package/dist/normalize-DduyxBjf.mjs +0 -191
- package/dist/normalize-DduyxBjf.mjs.map +0 -1
- package/dist/oauth-authorization-DAXsH1H9.mjs +0 -274
- package/dist/oauth-authorization-DAXsH1H9.mjs.map +0 -1
- package/dist/oauth-clients-DENiDQri.mjs +0 -266
- package/dist/oauth-clients-DENiDQri.mjs.map +0 -1
- package/dist/oauth-state-store-y8mEYVq9.mjs +0 -50
- package/dist/oauth-state-store-y8mEYVq9.mjs.map +0 -1
- package/dist/oauth-user-lookup-CtTYAy-O.mjs +0 -26
- package/dist/oauth-user-lookup-CtTYAy-O.mjs.map +0 -1
- package/dist/object-cache-CqWNY5uP.mjs +0 -582
- package/dist/object-cache-CqWNY5uP.mjs.map +0 -1
- package/dist/options-BYa1FgIM.d.mts +0 -81
- package/dist/options-BYa1FgIM.d.mts.map +0 -1
- package/dist/parse-CORGGhHf.mjs +0 -81
- package/dist/parse-CORGGhHf.mjs.map +0 -1
- package/dist/parse-avNM1xWV.d.mts +0 -168
- package/dist/parse-avNM1xWV.d.mts.map +0 -1
- package/dist/passkey-config-Dih5YeIS.mjs +0 -46
- package/dist/passkey-config-Dih5YeIS.mjs.map +0 -1
- package/dist/paths-d51RFm8M.mjs +0 -77
- package/dist/paths-d51RFm8M.mjs.map +0 -1
- package/dist/patterns-CoqlXUvk.mjs +0 -145
- package/dist/patterns-CoqlXUvk.mjs.map +0 -1
- package/dist/placeholder-D2aksPMF.d.mts +0 -306
- package/dist/placeholder-D2aksPMF.d.mts.map +0 -1
- package/dist/plan-DqeZKuaR.mjs +0 -135
- package/dist/plan-DqeZKuaR.mjs.map +0 -1
- package/dist/plugins-Bb7oqjQA.mjs +0 -277
- package/dist/plugins-Bb7oqjQA.mjs.map +0 -1
- package/dist/policy-BcEqut3n.mjs +0 -45
- package/dist/policy-BcEqut3n.mjs.map +0 -1
- package/dist/portable-text-DXE8ymtD.mjs +0 -307
- package/dist/portable-text-DXE8ymtD.mjs.map +0 -1
- package/dist/preview-DEDWbwA_.mjs +0 -107
- package/dist/preview-DEDWbwA_.mjs.map +0 -1
- package/dist/protocol-BJbTzvwl.d.mts +0 -61
- package/dist/protocol-BJbTzvwl.d.mts.map +0 -1
- package/dist/public-submission-D9c9S14m.mjs +0 -250
- package/dist/public-submission-D9c9S14m.mjs.map +0 -1
- package/dist/public-url-CIRe-2T6.mjs +0 -101
- package/dist/public-url-CIRe-2T6.mjs.map +0 -1
- package/dist/query-BzifXlPS.mjs +0 -1156
- package/dist/query-BzifXlPS.mjs.map +0 -1
- package/dist/query-OzMJ6vJP.mjs +0 -41
- package/dist/query-OzMJ6vJP.mjs.map +0 -1
- package/dist/rate-limit-Csp60Vik.mjs +0 -120
- package/dist/rate-limit-Csp60Vik.mjs.map +0 -1
- package/dist/receipt-B-aU4hpJ.mjs +0 -43
- package/dist/receipt-B-aU4hpJ.mjs.map +0 -1
- package/dist/redirect-CDSw1sU3.mjs +0 -17
- package/dist/redirect-CDSw1sU3.mjs.map +0 -1
- package/dist/redirect-D1ArbO85.mjs +0 -411
- package/dist/redirect-D1ArbO85.mjs.map +0 -1
- package/dist/redirects-BjTwDTsV.mjs +0 -148
- package/dist/redirects-BjTwDTsV.mjs.map +0 -1
- package/dist/redirects-Ck50kH3n.mjs +0 -446
- package/dist/redirects-Ck50kH3n.mjs.map +0 -1
- package/dist/registry-CFcNCayZ.mjs +0 -6754
- package/dist/registry-CFcNCayZ.mjs.map +0 -1
- package/dist/relations-Cfaa1fDl.mjs +0 -776
- package/dist/relations-Cfaa1fDl.mjs.map +0 -1
- package/dist/request-cache-iHRlHx1d.mjs +0 -104
- package/dist/request-cache-iHRlHx1d.mjs.map +0 -1
- package/dist/request-meta-D47mqyev.mjs +0 -141
- package/dist/request-meta-D47mqyev.mjs.map +0 -1
- package/dist/resolve-BPE8sMvx.mjs +0 -99
- package/dist/resolve-BPE8sMvx.mjs.map +0 -1
- package/dist/resolve-C0s1E_fH.mjs +0 -199
- package/dist/resolve-C0s1E_fH.mjs.map +0 -1
- package/dist/revision-j1p4-bOj.mjs +0 -302
- package/dist/revision-j1p4-bOj.mjs.map +0 -1
- package/dist/route-wire-C9PJV9aL.mjs +0 -197
- package/dist/route-wire-C9PJV9aL.mjs.map +0 -1
- package/dist/routes-lyYw0mMf.mjs +0 -272
- package/dist/routes-lyYw0mMf.mjs.map +0 -1
- package/dist/runner-B3eyB9Gb.mjs +0 -6121
- package/dist/runner-B3eyB9Gb.mjs.map +0 -1
- package/dist/runner-DoYH2Jcu.d.mts +0 -68
- package/dist/runner-DoYH2Jcu.d.mts.map +0 -1
- package/dist/schema-BAayK46S.mjs +0 -13
- package/dist/schema-BAayK46S.mjs.map +0 -1
- package/dist/schema-Gqcl-8G4.mjs +0 -815
- package/dist/schema-Gqcl-8G4.mjs.map +0 -1
- package/dist/scopes-BqPOKoKf.mjs +0 -34
- package/dist/scopes-BqPOKoKf.mjs.map +0 -1
- package/dist/search-YJKPIEV6.mjs +0 -448
- package/dist/search-YJKPIEV6.mjs.map +0 -1
- package/dist/sections-BR_e-wK5.mjs +0 -346
- package/dist/sections-BR_e-wK5.mjs.map +0 -1
- package/dist/seo-Dsj8hy3j.mjs +0 -114
- package/dist/seo-Dsj8hy3j.mjs.map +0 -1
- package/dist/seo-XvH4LNNp.mjs +0 -133
- package/dist/seo-XvH4LNNp.mjs.map +0 -1
- package/dist/service-BsVG05gS.mjs +0 -150
- package/dist/service-BsVG05gS.mjs.map +0 -1
- package/dist/session-user-DgKbYrlj.mjs +0 -51
- package/dist/session-user-DgKbYrlj.mjs.map +0 -1
- package/dist/settings-CNPUntkh.mjs +0 -51
- package/dist/settings-CNPUntkh.mjs.map +0 -1
- package/dist/settings-D5EHi0Tk.mjs +0 -439
- package/dist/settings-D5EHi0Tk.mjs.map +0 -1
- package/dist/settings-DSfE7wOa.mjs +0 -61
- package/dist/settings-DSfE7wOa.mjs.map +0 -1
- package/dist/setup-complete-B8W8sJ9v.mjs +0 -26
- package/dist/setup-complete-B8W8sJ9v.mjs.map +0 -1
- package/dist/setup-nonce-DnSBP260.mjs +0 -25
- package/dist/setup-nonce-DnSBP260.mjs.map +0 -1
- package/dist/site-settings-NGzdrt7O.mjs +0 -50
- package/dist/site-settings-NGzdrt7O.mjs.map +0 -1
- package/dist/site-url-D6JB7tLW.mjs +0 -16
- package/dist/site-url-D6JB7tLW.mjs.map +0 -1
- package/dist/snapshot-CdcwwWAf.mjs +0 -414
- package/dist/snapshot-CdcwwWAf.mjs.map +0 -1
- package/dist/ssrf-Dv0_tRpo.mjs +0 -406
- package/dist/ssrf-Dv0_tRpo.mjs.map +0 -1
- package/dist/stage-CUjhED3P.mjs +0 -662
- package/dist/stage-CUjhED3P.mjs.map +0 -1
- package/dist/staged-C36IWXff.mjs +0 -659
- package/dist/staged-C36IWXff.mjs.map +0 -1
- package/dist/state-CKouMCSY.mjs +0 -153
- package/dist/state-CKouMCSY.mjs.map +0 -1
- package/dist/status-lzyj4Uu7.mjs +0 -30
- package/dist/status-lzyj4Uu7.mjs.map +0 -1
- package/dist/storage-query-B-cWcTjJ.d.mts +0 -1594
- package/dist/storage-query-B-cWcTjJ.d.mts.map +0 -1
- package/dist/tar-DsTXX6ch.mjs +0 -449
- package/dist/tar-DsTXX6ch.mjs.map +0 -1
- package/dist/target-DLQCwp_Z.mjs +0 -27
- package/dist/target-DLQCwp_Z.mjs.map +0 -1
- package/dist/taxonomies-BlAjr4BL.mjs +0 -697
- package/dist/taxonomies-BlAjr4BL.mjs.map +0 -1
- package/dist/taxonomies-Byyo7LOZ.mjs +0 -939
- package/dist/taxonomies-Byyo7LOZ.mjs.map +0 -1
- package/dist/taxonomy-CKDwM61Y.mjs +0 -525
- package/dist/taxonomy-CKDwM61Y.mjs.map +0 -1
- package/dist/tokens-BojXlk49.mjs +0 -171
- package/dist/tokens-BojXlk49.mjs.map +0 -1
- package/dist/transaction-DLPQWik1.mjs +0 -29
- package/dist/transaction-DLPQWik1.mjs.map +0 -1
- package/dist/transfer-XSTh2BCr.mjs +0 -8706
- package/dist/transfer-XSTh2BCr.mjs.map +0 -1
- package/dist/transfer-download-DkoCDA9d.mjs +0 -33
- package/dist/transfer-download-DkoCDA9d.mjs.map +0 -1
- package/dist/transfer-iQ26J-RT.mjs +0 -166
- package/dist/transfer-iQ26J-RT.mjs.map +0 -1
- package/dist/transformations-C7RQabKQ.mjs +0 -196
- package/dist/transformations-C7RQabKQ.mjs.map +0 -1
- package/dist/transport-D3RulfD6.mjs +0 -136
- package/dist/transport-D3RulfD6.mjs.map +0 -1
- package/dist/transport-DhlZlf4D.d.mts +0 -42
- package/dist/transport-DhlZlf4D.d.mts.map +0 -1
- package/dist/trusted-proxy-B6ECOZJc.mjs +0 -51
- package/dist/trusted-proxy-B6ECOZJc.mjs.map +0 -1
- package/dist/turnstile-lqUiY7lP.mjs +0 -53
- package/dist/turnstile-lqUiY7lP.mjs.map +0 -1
- package/dist/types-4Dn9bZhu.mjs +0 -77
- package/dist/types-4Dn9bZhu.mjs.map +0 -1
- package/dist/types-5LSo7PPx.d.mts +0 -85
- package/dist/types-5LSo7PPx.d.mts.map +0 -1
- package/dist/types-BQ3hwYJT.d.mts +0 -896
- package/dist/types-BQ3hwYJT.d.mts.map +0 -1
- package/dist/types-BYEk7qo3.d.mts +0 -198
- package/dist/types-BYEk7qo3.d.mts.map +0 -1
- package/dist/types-CJKsWVFR.mjs +0 -199
- package/dist/types-CJKsWVFR.mjs.map +0 -1
- package/dist/types-Ca_w8mmY.d.mts +0 -363
- package/dist/types-Ca_w8mmY.d.mts.map +0 -1
- package/dist/types-CkE41ZAG.mjs +0 -18
- package/dist/types-CkE41ZAG.mjs.map +0 -1
- package/dist/types-D0aJW2uR.d.mts +0 -1641
- package/dist/types-D0aJW2uR.d.mts.map +0 -1
- package/dist/types-DbpN4Qto.d.mts +0 -372
- package/dist/types-DbpN4Qto.d.mts.map +0 -1
- package/dist/types-ILDI1sdY.mjs +0 -16
- package/dist/types-ILDI1sdY.mjs.map +0 -1
- package/dist/types-OC5c-edM.mjs +0 -22
- package/dist/types-OC5c-edM.mjs.map +0 -1
- package/dist/types-aOOxRSx6.mjs +0 -103
- package/dist/types-aOOxRSx6.mjs.map +0 -1
- package/dist/types-m1WbUffD.d.mts +0 -198
- package/dist/types-m1WbUffD.d.mts.map +0 -1
- package/dist/types-uxLoPBio.d.mts +0 -124
- package/dist/types-uxLoPBio.d.mts.map +0 -1
- package/dist/types-we5uR-tV.d.mts +0 -287
- package/dist/types-we5uR-tV.d.mts.map +0 -1
- package/dist/upload-attempts-DduMy6B0.mjs +0 -32
- package/dist/upload-attempts-DduMy6B0.mjs.map +0 -1
- package/dist/url-pattern-B3EwxAAk.mjs +0 -33
- package/dist/url-pattern-B3EwxAAk.mjs.map +0 -1
- package/dist/user-ElwQjTQT.mjs +0 -171
- package/dist/user-ElwQjTQT.mjs.map +0 -1
- package/dist/utils-BlAXmfOG.mjs +0 -439
- package/dist/utils-BlAXmfOG.mjs.map +0 -1
- package/dist/validate-CH0X5b2c.d.mts +0 -468
- package/dist/validate-CH0X5b2c.d.mts.map +0 -1
- package/dist/validate-CfgRpcjA.mjs +0 -492
- package/dist/validate-CfgRpcjA.mjs.map +0 -1
- package/dist/validation-DvYJtv4k.mjs +0 -218
- package/dist/validation-DvYJtv4k.mjs.map +0 -1
- package/dist/version-DgYjhTud.mjs +0 -9
- package/dist/version-DgYjhTud.mjs.map +0 -1
- package/dist/version-Dq71scUb.mjs +0 -7
- package/dist/version-Dq71scUb.mjs.map +0 -1
- package/dist/widgets-ChFIj0be.mjs +0 -126
- package/dist/widgets-ChFIj0be.mjs.map +0 -1
- package/dist/wxr-taxonomies-CBZMp2YX.mjs +0 -372
- package/dist/wxr-taxonomies-CBZMp2YX.mjs.map +0 -1
- package/dist/wxr-taxonomies-DlKDpWN1.d.mts +0 -34
- package/dist/wxr-taxonomies-DlKDpWN1.d.mts.map +0 -1
- package/dist/zod-generator-DmTKI-Ig.mjs +0 -426
- package/dist/zod-generator-DmTKI-Ig.mjs.map +0 -1
- package/src/cli/commands/bundle-utils.ts +0 -408
- package/src/cli/commands/bundle.ts +0 -659
- package/src/cli/commands/plugin-init.ts +0 -417
- package/src/cli/commands/plugin-validate.ts +0 -31
- package/src/cli/commands/plugin.ts +0 -33
- package/src/cli/commands/publish.ts +0 -721
- /package/dist/{api-tokens-FaG1zPsj.mjs → api-tokens-BLz2MtQs.mjs} +0 -0
- /package/dist/{ssrf-DZOt8Qof.mjs → ssrf-tA45vIPX.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-Db1iNMv_.mjs","names":["capabilitiesToDeclaredAccess","declaredAccessToCapabilities"],"sources":["../src/cli/commands/bundle-utils.ts","../src/cli/commands/bundle.ts"],"sourcesContent":["/**\n * Bundle utility functions\n *\n * Shared logic extracted from the bundle command so it can be tested\n * without the CLI harness and tsdown dependency.\n */\n\nimport { createWriteStream } from \"node:fs\";\nimport { readdir, stat, access } from \"node:fs/promises\";\nimport { resolve, join } from \"node:path\";\nimport { pipeline } from \"node:stream/promises\";\nimport { pathToFileURL } from \"node:url\";\n\nimport { extractManifestRoute, isJsonPostRouteContract } from \"@emdash-cms/plugin-types\";\nimport { imageSize } from \"image-size\";\nimport { packTar } from \"modern-tar/fs\";\nimport { z } from \"zod\";\n\nimport { capabilitiesToDeclaredAccess, declaredAccessToCapabilities } from \"../../plugins/types.js\";\nimport type {\n\tPluginManifest,\n\tResolvedPlugin,\n\tHookName,\n\tManifestHookEntry,\n\tManifestMcpTool,\n\tManifestRouteEntry,\n} from \"../../plugins/types.js\";\n\n// ── Constants ────────────────────────────────────────────────────────────────\n\n// Bundle size caps per RFC 0001 §\"Bundle size limits\". These are decompressed\n// sizes; the gzipped tarball is typically a fraction of MAX_BUNDLE_SIZE.\nexport const MAX_BUNDLE_SIZE = 256 * 1024;\nexport const MAX_FILE_SIZE = 128 * 1024;\nexport const MAX_FILE_COUNT = 20;\n\nexport const MAX_SCREENSHOTS = 5;\nexport const MAX_SCREENSHOT_WIDTH = 1920;\nexport const MAX_SCREENSHOT_HEIGHT = 1080;\nexport const ICON_SIZE = 256;\nconst MCP_TOOL_NAME_PATTERN = /^[a-zA-Z0-9_-]+$/;\n\n// ── Regex patterns (module-scope to avoid re-compilation) ────────────────────\n\n/**\n * Matches Node.js built-in imports in bundled output:\n * - require(\"node:xxx\") / require(\"xxx\")\n * - import(\"node:xxx\") / import(\"xxx\")\n * - import X from \"node:xxx\" / import { X } from \"node:xxx\"\n * - import * as X from \"node:xxx\"\n * - export { X } from \"node:xxx\"\n * Captures the base module name (e.g. \"fs\" from \"node:fs/promises\").\n */\nconst NODE_BUILTIN_IMPORT_RE =\n\t/(?:import|export|require)\\s*(?:\\(|[^(]*?\\bfrom\\s+)[\"'](?:node:)?([a-z_]+)(?:\\/[^\"']*)?\\s*[\"']\\)?/g;\nconst LEADING_DOT_SLASH_RE = /^\\.\\//;\nconst DIST_PREFIX_RE = /^dist\\//;\nconst MJS_EXT_RE = /\\.m?js$/;\nconst TS_TO_TSX_RE = /\\.ts$/;\n\n/** Node.js built-in modules that shouldn't appear in sandbox code */\nconst NODE_BUILTINS = new Set([\n\t\"assert\",\n\t\"buffer\",\n\t\"child_process\",\n\t\"cluster\",\n\t\"crypto\",\n\t\"dgram\",\n\t\"dns\",\n\t\"domain\",\n\t\"events\",\n\t\"fs\",\n\t\"http\",\n\t\"http2\",\n\t\"https\",\n\t\"inspector\",\n\t\"module\",\n\t\"net\",\n\t\"os\",\n\t\"path\",\n\t\"perf_hooks\",\n\t\"process\",\n\t\"punycode\",\n\t\"querystring\",\n\t\"readline\",\n\t\"repl\",\n\t\"stream\",\n\t\"string_decoder\",\n\t\"sys\",\n\t\"timers\",\n\t\"tls\",\n\t\"trace_events\",\n\t\"tty\",\n\t\"url\",\n\t\"util\",\n\t\"v8\",\n\t\"vm\",\n\t\"wasi\",\n\t\"worker_threads\",\n\t\"zlib\",\n]);\n\n// ── File helpers ─────────────────────────────────────────────────────────────\n\nexport async function fileExists(path: string): Promise<boolean> {\n\ttry {\n\t\tawait access(path);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/** Convert an absolute build artifact path into a portable ESM import specifier. */\nexport function toFileImportSpecifier(path: string): string {\n\treturn pathToFileURL(path).href;\n}\n\n// ── Image dimension readers ──────────────────────────────────────────────────\n\n/**\n * Read image dimensions from a buffer.\n * Returns [width, height] or null if the format is unrecognized.\n */\nexport function readImageDimensions(buf: Uint8Array): [number, number] | null {\n\ttry {\n\t\tconst result = imageSize(buf);\n\t\tif (result.width != null && result.height != null) {\n\t\t\treturn [result.width, result.height];\n\t\t}\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\n// ── Manifest extraction ──────────────────────────────────────────────────────\n\n/**\n * Extract manifest metadata from a ResolvedPlugin.\n * Strips functions (hooks, route handlers) and keeps only serializable metadata.\n */\nexport function extractManifest(plugin: ResolvedPlugin): PluginManifest {\n\tif ((plugin.admin.pages?.length ?? 0) > 0 || (plugin.admin.widgets?.length ?? 0) > 0) {\n\t\tconst adminRoute = plugin.routes.admin;\n\t\tif (adminRoute && (adminRoute.public === true || !isJsonPostRouteContract(adminRoute))) {\n\t\t\tthrow new Error(\"Block Kit admin route must accept POST JSON requests and return JSON\");\n\t\t}\n\t}\n\tconst declaredAccess = capabilitiesToDeclaredAccess(plugin.capabilities, plugin.allowedHosts);\n\tconst enforcedAccess = declaredAccessToCapabilities(declaredAccess);\n\t// Build hook entries preserving exclusive/priority/timeout metadata.\n\t// Plain HookName strings are emitted for hooks with default settings;\n\t// structured ManifestHookEntry objects are emitted when metadata differs.\n\tconst hooks: Array<ManifestHookEntry | HookName> = [];\n\tfor (const [name, resolved] of Object.entries(plugin.hooks)) {\n\t\tif (!resolved) continue;\n\t\tconst hasMetadata =\n\t\t\tresolved.exclusive || resolved.priority !== 100 || resolved.timeout !== 5000;\n\t\tif (hasMetadata) {\n\t\t\tconst entry: ManifestHookEntry = { name };\n\t\t\tif (resolved.exclusive) entry.exclusive = true;\n\t\t\tif (resolved.priority !== 100) entry.priority = resolved.priority;\n\t\t\tif (resolved.timeout !== 5000) entry.timeout = resolved.timeout;\n\t\t\thooks.push(entry);\n\t\t} else {\n\t\t\thooks.push(name as HookName);\n\t\t}\n\t}\n\n\tconst routes: Array<ManifestRouteEntry | string> = Object.entries(plugin.routes).map(\n\t\t([name, route]) => extractManifestRoute(name, route),\n\t);\n\tconst tools: ManifestMcpTool[] = Object.entries(plugin.mcp?.tools ?? {}).map(([name, tool]) => {\n\t\tif (!MCP_TOOL_NAME_PATTERN.test(name)) throw new Error(`Invalid MCP tool name \"${name}\"`);\n\t\tconst route = plugin.routes[tool.route];\n\t\tif (!route?.permission || route.public || route.response === \"raw\") {\n\t\t\tthrow new Error(`MCP tool \"${name}\" must reference a private route with a permission`);\n\t\t}\n\t\tif (!isJsonPostRouteContract(route)) {\n\t\t\tthrow new Error(`MCP tool \"${name}\" must reference a POST-compatible JSON route`);\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tdescription: tool.description,\n\t\t\troute: tool.route,\n\t\t\tpermission: route.permission,\n\t\t\tdestructive: tool.destructive ?? false,\n\t\t\tinputSchema: z.toJSONSchema(tool.input, { target: \"draft-7\" }),\n\t\t\t...(tool.output\n\t\t\t\t? {\n\t\t\t\t\t\toutputSchema: z.toJSONSchema(tool.output, { target: \"draft-7\" }),\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t};\n\t});\n\n\treturn {\n\t\tid: plugin.id,\n\t\tversion: plugin.version,\n\t\tdeclaredAccess,\n\t\tcapabilities: enforcedAccess.capabilities,\n\t\tallowedHosts: plugin.allowedHosts,\n\t\tstorage: plugin.storage,\n\t\thooks,\n\t\troutes,\n\t\t...(tools.length > 0 ? { mcp: { tools } } : {}),\n\t\tadmin: {\n\t\t\t// Omit entry (it's a module specifier for the host, not relevant in bundles)\n\t\t\tsettingsSchema: plugin.admin.settingsSchema,\n\t\t\tpages: plugin.admin.pages,\n\t\t\twidgets: plugin.admin.widgets,\n\t\t\teditorPanels: plugin.admin.editorPanels,\n\t\t\teditorActions: plugin.admin.editorActions,\n\t\t},\n\t};\n}\n\n// ── Node.js built-in detection ───────────────────────────────────────────────\n\n/**\n * Scan bundled code for Node.js built-in imports.\n * Matches require(\"node:xxx\"), require(\"xxx\"), import(\"node:xxx\") — the patterns\n * that appear in bundled ESM/CJS output (not source-level named imports).\n * Returns deduplicated array of built-in module names found.\n */\nexport function findNodeBuiltinImports(code: string): string[] {\n\tconst found: string[] = [];\n\tNODE_BUILTIN_IMPORT_RE.lastIndex = 0;\n\tlet match;\n\twhile ((match = NODE_BUILTIN_IMPORT_RE.exec(code)) !== null) {\n\t\tconst mod = match[1];\n\t\tif (NODE_BUILTINS.has(mod)) {\n\t\t\tfound.push(mod);\n\t\t}\n\t}\n\treturn [...new Set(found)];\n}\n\n// ── Path resolution ──────────────────────────────────────────────────────────\n\n/**\n * Find a build output file by base name, checking common extensions.\n * tsdown may output .mjs, .js, or .cjs depending on format and config.\n */\nexport async function findBuildOutput(dir: string, baseName: string): Promise<string | undefined> {\n\tfor (const ext of [\".mjs\", \".js\", \".cjs\"]) {\n\t\tconst candidate = join(dir, `${baseName}${ext}`);\n\t\tif (await fileExists(candidate)) return candidate;\n\t}\n\treturn undefined;\n}\n\n/**\n * Resolve a dist/built path back to its source .ts/.tsx equivalent.\n * E.g., \"./dist/index.mjs\" → \"src/index.ts\"\n */\nexport async function resolveSourceEntry(\n\tpluginDir: string,\n\tdistPath: string,\n): Promise<string | undefined> {\n\tconst cleaned = distPath.replace(LEADING_DOT_SLASH_RE, \"\");\n\n\t// Prefer source over dist — dist/foo.mjs → src/foo.ts\n\tconst srcPath = cleaned.replace(DIST_PREFIX_RE, \"src/\").replace(MJS_EXT_RE, \".ts\");\n\tconst srcFull = resolve(pluginDir, srcPath);\n\tif (await fileExists(srcFull)) return srcFull;\n\n\t// Try .tsx\n\tconst tsxPath = srcPath.replace(TS_TO_TSX_RE, \".tsx\");\n\tconst tsxFull = resolve(pluginDir, tsxPath);\n\tif (await fileExists(tsxFull)) return tsxFull;\n\n\t// Fall back to direct path (might be source already, or pre-compiled plugin)\n\tconst direct = resolve(pluginDir, cleaned);\n\tif (await fileExists(direct)) return direct;\n\n\treturn undefined;\n}\n\n// ── Export validation ───────────────────────────────────────────────────────\n\nconst TS_SOURCE_EXPORT_RE = /\\.(?:ts|tsx|mts|cts|jsx)$/;\n\n/**\n * Find package.json exports that point to source files instead of built output.\n * Returns an array of `{ exportPath, resolvedPath }` for each offending export.\n */\nexport function findSourceExports(\n\texports: Record<string, unknown>,\n): Array<{ exportPath: string; resolvedPath: string }> {\n\tconst issues: Array<{ exportPath: string; resolvedPath: string }> = [];\n\tfor (const [exportPath, exportValue] of Object.entries(exports)) {\n\t\tconst resolved =\n\t\t\ttypeof exportValue === \"string\"\n\t\t\t\t? exportValue\n\t\t\t\t: exportValue && typeof exportValue === \"object\" && \"import\" in exportValue\n\t\t\t\t\t? (exportValue as { import: string }).import\n\t\t\t\t\t: null;\n\t\tif (resolved && TS_SOURCE_EXPORT_RE.test(resolved)) {\n\t\t\tissues.push({ exportPath, resolvedPath: resolved });\n\t\t}\n\t}\n\treturn issues;\n}\n\n// ── Directory helpers ────────────────────────────────────────────────────────\n\n/**\n * One file in a bundle: a tarball-relative path and its byte length.\n * Produced by `collectBundleEntries` (from a staging dir) or by the publish\n * flow (from tarball entries); consumed by `validateBundleSize`.\n */\nexport interface BundleFileEntry {\n\tname: string;\n\tbytes: number;\n}\n\n/**\n * Recursively walk a staging directory and return a flat list of all files\n * with sizes. Names are relative to `dir` so they match what would appear\n * as the tarball entry name.\n */\nexport async function collectBundleEntries(dir: string): Promise<BundleFileEntry[]> {\n\tconst entries: BundleFileEntry[] = [];\n\tawait walkBundle(dir, \"\", entries);\n\treturn entries;\n}\n\nasync function walkBundle(dir: string, prefix: string, into: BundleFileEntry[]): Promise<void> {\n\tconst items = await readdir(dir, { withFileTypes: true });\n\tfor (const item of items) {\n\t\tconst fullPath = join(dir, item.name);\n\t\tconst relPath = prefix ? `${prefix}/${item.name}` : item.name;\n\t\tif (item.isFile()) {\n\t\t\tconst s = await stat(fullPath);\n\t\t\tinto.push({ name: relPath, bytes: s.size });\n\t\t} else if (item.isDirectory()) {\n\t\t\tawait walkBundle(fullPath, relPath, into);\n\t\t}\n\t}\n}\n\n/**\n * Sum the byte sizes of all entries.\n */\nexport function totalBundleBytes(entries: readonly BundleFileEntry[]): number {\n\tlet total = 0;\n\tfor (const e of entries) total += e.bytes;\n\treturn total;\n}\n\n/**\n * Check a bundle against the three size caps from RFC 0001:\n * - total decompressed ≤ MAX_BUNDLE_SIZE\n * - per-file decompressed ≤ MAX_FILE_SIZE\n * - file count ≤ MAX_FILE_COUNT\n *\n * Returns a list of violation messages (empty if the bundle is within all\n * caps). Messages are deterministic per input — the total/count violations\n * come first, then oversized files in alphabetical order — so the same\n * bundle always produces the same error text.\n */\nexport function validateBundleSize(entries: readonly BundleFileEntry[]): string[] {\n\tconst violations: string[] = [];\n\tconst total = totalBundleBytes(entries);\n\tif (total > MAX_BUNDLE_SIZE) {\n\t\tviolations.push(\n\t\t\t`Bundle size ${formatBytes(total)} exceeds maximum of ${formatBytes(MAX_BUNDLE_SIZE)}.`,\n\t\t);\n\t}\n\tif (entries.length > MAX_FILE_COUNT) {\n\t\tviolations.push(\n\t\t\t`Bundle contains ${entries.length} files, exceeds maximum of ${MAX_FILE_COUNT}.`,\n\t\t);\n\t}\n\tconst oversized = entries\n\t\t.filter((e) => e.bytes > MAX_FILE_SIZE)\n\t\t.toSorted((a, b) => a.name.localeCompare(b.name));\n\tfor (const e of oversized) {\n\t\tviolations.push(\n\t\t\t`File ${e.name} is ${formatBytes(e.bytes)}, exceeds per-file maximum of ${formatBytes(MAX_FILE_SIZE)}.`,\n\t\t);\n\t}\n\treturn violations;\n}\n\n/**\n * Render a byte count as a human-friendly string (e.g. \"256.0 KB\").\n */\nexport function formatBytes(n: number): string {\n\tif (n < 1024) return `${n} B`;\n\tif (n < 1024 * 1024) return `${(n / 1024).toFixed(1)} KB`;\n\treturn `${(n / 1024 / 1024).toFixed(2)} MB`;\n}\n\n// ── Tarball creation ─────────────────────────────────────────────────────────\n\n/**\n * Create a gzipped tarball from a directory.\n */\nexport async function createTarball(sourceDir: string, outputPath: string): Promise<void> {\n\tconst { createGzip } = await import(\"node:zlib\");\n\tconst tarStream = packTar(sourceDir);\n\tconst gzip = createGzip({ level: 9 });\n\tconst out = createWriteStream(outputPath);\n\tawait pipeline(tarStream, gzip, out);\n}\n","/**\n * emdash plugin bundle\n *\n * Produces a publishable plugin tarball from a plugin source directory.\n *\n * Steps:\n * 1. Resolve plugin entrypoint (finds definePlugin() export)\n * 2. Bundle backend code with tsdown → backend.js (single ES module, tree-shaken)\n * 3. Bundle admin code if present → admin.js\n * 4. Extract manifest from definePlugin() → manifest.json\n * 5. Collect assets (README.md, icon.png, screenshots/)\n * 6. Validate bundle (manifest schema, size limits, no Node.js builtins)\n * 7. Create tarball ({id}-{version}.tar.gz)\n */\n\nimport { createHash } from \"node:crypto\";\nimport { readFile, stat, mkdir, writeFile, rm, copyFile, symlink, readdir } from \"node:fs/promises\";\nimport { resolve, join, extname, basename } from \"node:path\";\n\nimport { extractRouteOptions } from \"@emdash-cms/plugin-types\";\nimport { defineCommand } from \"citty\";\nimport consola from \"consola\";\n\nimport { CAPABILITY_RENAMES, isDeprecatedCapability } from \"../../plugins/types.js\";\nimport type { ResolvedPlugin } from \"../../plugins/types.js\";\nimport {\n\tcollectBundleEntries,\n\tcreateTarball,\n\textractManifest,\n\tfileExists,\n\tfindBuildOutput,\n\tfindNodeBuiltinImports,\n\tfindSourceExports,\n\tformatBytes,\n\tICON_SIZE,\n\tMAX_SCREENSHOTS,\n\tMAX_SCREENSHOT_WIDTH,\n\tMAX_SCREENSHOT_HEIGHT,\n\treadImageDimensions,\n\tresolveSourceEntry,\n\ttoFileImportSpecifier,\n\ttotalBundleBytes,\n\tvalidateBundleSize,\n} from \"./bundle-utils.js\";\n\nconst TS_EXT_RE = /\\.(tsx?|[mc]?js)$/;\nconst SLASH_RE = /\\//g;\nconst LEADING_AT_RE = /^@/;\nconst emdash_SCOPE_RE = /^@emdash-cms\\//;\n\nexport const bundleCommand = defineCommand({\n\tmeta: {\n\t\tname: \"bundle\",\n\t\tdescription: \"Bundle a plugin for marketplace distribution\",\n\t},\n\targs: {\n\t\tdir: {\n\t\t\ttype: \"string\",\n\t\t\tdescription: \"Plugin directory (default: current directory)\",\n\t\t\tdefault: process.cwd(),\n\t\t},\n\t\toutDir: {\n\t\t\ttype: \"string\",\n\t\t\talias: \"o\",\n\t\t\tdescription: \"Output directory for the tarball (default: ./dist)\",\n\t\t\tdefault: \"dist\",\n\t\t},\n\t\tvalidateOnly: {\n\t\t\ttype: \"boolean\",\n\t\t\tdescription: \"Run validation only, skip tarball creation\",\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tasync run({ args }) {\n\t\tconst pluginDir = resolve(args.dir);\n\t\tconst outDir = resolve(pluginDir, args.outDir);\n\t\tconst validateOnly = args.validateOnly;\n\n\t\tconsola.start(validateOnly ? \"Validating plugin...\" : \"Bundling plugin...\");\n\n\t\t// ── Step 1: Read package.json and resolve entrypoints ──\n\n\t\tconst pkgPath = join(pluginDir, \"package.json\");\n\t\tif (!(await fileExists(pkgPath))) {\n\t\t\tconsola.error(\"No package.json found in\", pluginDir);\n\t\t\tprocess.exit(1);\n\t\t}\n\n\t\tconst pkg = JSON.parse(await readFile(pkgPath, \"utf-8\")) as {\n\t\t\tname?: string;\n\t\t\tmain?: string;\n\t\t\texports?: Record<string, unknown>;\n\t\t};\n\n\t\t// Find the sandbox entrypoint — look for ./sandbox export first, then main\n\t\tlet backendEntry: string | undefined;\n\t\tlet adminEntry: string | undefined;\n\n\t\tif (pkg.exports) {\n\t\t\t// Check for explicit sandbox export\n\t\t\tconst sandboxExport = pkg.exports[\"./sandbox\"];\n\t\t\tif (typeof sandboxExport === \"string\") {\n\t\t\t\tbackendEntry = await resolveSourceEntry(pluginDir, sandboxExport);\n\t\t\t} else if (sandboxExport && typeof sandboxExport === \"object\" && \"import\" in sandboxExport) {\n\t\t\t\tbackendEntry = await resolveSourceEntry(\n\t\t\t\t\tpluginDir,\n\t\t\t\t\t(sandboxExport as { import: string }).import,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Check for admin export\n\t\t\tconst adminExport = pkg.exports[\"./admin\"];\n\t\t\tif (typeof adminExport === \"string\") {\n\t\t\t\tadminEntry = await resolveSourceEntry(pluginDir, adminExport);\n\t\t\t} else if (adminExport && typeof adminExport === \"object\" && \"import\" in adminExport) {\n\t\t\t\tadminEntry = await resolveSourceEntry(\n\t\t\t\t\tpluginDir,\n\t\t\t\t\t(adminExport as { import: string }).import,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If no sandbox export, look for src/sandbox-entry.ts\n\t\tif (!backendEntry) {\n\t\t\tconst defaultSandbox = join(pluginDir, \"src/sandbox-entry.ts\");\n\t\t\tif (await fileExists(defaultSandbox)) {\n\t\t\t\tbackendEntry = defaultSandbox;\n\t\t\t}\n\t\t}\n\n\t\t// Find the main entry for manifest extraction\n\t\tlet mainEntry: string | undefined;\n\t\tif (pkg.exports?.[\".\"] !== undefined) {\n\t\t\tconst mainExport = pkg.exports[\".\"];\n\t\t\tif (typeof mainExport === \"string\") {\n\t\t\t\tmainEntry = await resolveSourceEntry(pluginDir, mainExport);\n\t\t\t} else if (mainExport && typeof mainExport === \"object\" && \"import\" in mainExport) {\n\t\t\t\tmainEntry = await resolveSourceEntry(pluginDir, (mainExport as { import: string }).import);\n\t\t\t}\n\t\t}\n\t\tif (!mainEntry && pkg.main) {\n\t\t\tmainEntry = await resolveSourceEntry(pluginDir, pkg.main);\n\t\t}\n\t\tif (!mainEntry) {\n\t\t\tconst defaultMain = join(pluginDir, \"src/index.ts\");\n\t\t\tif (await fileExists(defaultMain)) {\n\t\t\t\tmainEntry = defaultMain;\n\t\t\t}\n\t\t}\n\n\t\tif (!mainEntry) {\n\t\t\tconsola.error(\n\t\t\t\t\"Cannot find plugin entrypoint. Expected src/index.ts or main/exports in package.json\",\n\t\t\t);\n\t\t\tprocess.exit(1);\n\t\t}\n\n\t\tconsola.info(`Main entry: ${mainEntry}`);\n\t\tif (backendEntry) consola.info(`Backend entry: ${backendEntry}`);\n\t\tif (adminEntry) consola.info(`Admin entry: ${adminEntry}`);\n\n\t\t// ── Step 2: Extract manifest by importing the plugin ──\n\n\t\tconsola.start(\"Extracting plugin manifest...\");\n\n\t\t// Build the main entry first so we can import it\n\t\tconst { build } = await import(\"tsdown\");\n\t\tconst tmpDir = join(pluginDir, \".emdash-bundle-tmp\");\n\n\t\ttry {\n\t\t\t// Clean up any stale temp directory from a previous failed run\n\t\t\tawait rm(tmpDir, { recursive: true, force: true });\n\t\t\tawait mkdir(tmpDir, { recursive: true });\n\n\t\t\t// Build main entry to extract manifest.\n\t\t\t// Externalize emdash and sibling packages — they'll resolve\n\t\t\t// via the symlinked node_modules below.\n\t\t\tconst mainOutDir = join(tmpDir, \"main\");\n\t\t\tawait build({\n\t\t\t\tconfig: false,\n\t\t\t\tentry: [mainEntry],\n\t\t\t\tformat: \"esm\",\n\t\t\t\toutDir: mainOutDir,\n\t\t\t\tdts: false,\n\t\t\t\tplatform: \"node\",\n\t\t\t\texternal: [\"emdash\", emdash_SCOPE_RE],\n\t\t\t});\n\n\t\t\t// Symlink plugin's node_modules so the built module can resolve\n\t\t\t// external dependencies (emdash, @emdash-cms/*, etc.)\n\t\t\tconst pluginNodeModules = join(pluginDir, \"node_modules\");\n\t\t\tconst tmpNodeModules = join(mainOutDir, \"node_modules\");\n\t\t\tif (await fileExists(pluginNodeModules)) {\n\t\t\t\tawait symlink(pluginNodeModules, tmpNodeModules, \"junction\");\n\t\t\t}\n\n\t\t\t// Import the built module to get the resolved plugin\n\t\t\tconst mainBaseName = basename(mainEntry).replace(TS_EXT_RE, \"\");\n\t\t\tconst mainOutputPath = await findBuildOutput(mainOutDir, mainBaseName);\n\n\t\t\tif (!mainOutputPath) {\n\t\t\t\tconsola.error(\"Failed to build main entry — no output found in\", mainOutDir);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\t// Dynamic import of the built plugin\n\t\t\tconst pluginModule = (await import(toFileImportSpecifier(mainOutputPath))) as Record<\n\t\t\t\tstring,\n\t\t\t\tunknown\n\t\t\t>;\n\n\t\t\t// Extract manifest from the imported module.\n\t\t\t// Supports three patterns:\n\t\t\t// 1. Native: createPlugin() export -> ResolvedPlugin\n\t\t\t// 2. Native: default export that is/returns a ResolvedPlugin (has id+version)\n\t\t\t// 3. Standard: descriptor factory function (returns { id, version, ... })\n\t\t\tlet resolvedPlugin: ResolvedPlugin | undefined;\n\n\t\t\tif (typeof pluginModule.createPlugin === \"function\") {\n\t\t\t\tresolvedPlugin = pluginModule.createPlugin() as ResolvedPlugin;\n\t\t\t} else if (typeof pluginModule.default === \"function\") {\n\t\t\t\tresolvedPlugin = pluginModule.default() as ResolvedPlugin;\n\t\t\t} else if (typeof pluginModule.default === \"object\" && pluginModule.default !== null) {\n\t\t\t\tconst defaultExport = pluginModule.default as Record<string, unknown>;\n\t\t\t\tif (\"id\" in defaultExport && \"version\" in defaultExport) {\n\t\t\t\t\tresolvedPlugin = defaultExport as unknown as ResolvedPlugin;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Standard format: no createPlugin, no default with id/version.\n\t\t\t// Look for a descriptor factory -- any named export function that\n\t\t\t// returns an object with { id, version }.\n\t\t\tif (!resolvedPlugin) {\n\t\t\t\tfor (const [key, value] of Object.entries(pluginModule)) {\n\t\t\t\t\tif (key === \"default\" || typeof value !== \"function\") continue;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = (value as () => unknown)() as Record<string, unknown> | null;\n\t\t\t\t\t\tif (result && typeof result === \"object\" && \"id\" in result && \"version\" in result) {\n\t\t\t\t\t\t\tresolvedPlugin = {\n\t\t\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\t\t\tversion: result.version,\n\t\t\t\t\t\t\t\tcapabilities: result.capabilities ?? [],\n\t\t\t\t\t\t\t\tallowedHosts: result.allowedHosts ?? [],\n\t\t\t\t\t\t\t\tstorage: result.storage ?? {},\n\t\t\t\t\t\t\t\thooks: {},\n\t\t\t\t\t\t\t\troutes: {},\n\t\t\t\t\t\t\t\tadmin: {\n\t\t\t\t\t\t\t\t\tpages: result.adminPages,\n\t\t\t\t\t\t\t\t\twidgets: result.adminWidgets,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} as ResolvedPlugin;\n\n\t\t\t\t\t\t\t// If there's a sandbox entry, build and import it\n\t\t\t\t\t\t\t// to get hook/route names for the manifest.\n\t\t\t\t\t\t\tif (backendEntry) {\n\t\t\t\t\t\t\t\tconst backendProbeDir = join(tmpDir, \"backend-probe\");\n\t\t\t\t\t\t\t\tconst probeShimDir = join(tmpDir, \"probe-shims\");\n\t\t\t\t\t\t\t\tawait mkdir(probeShimDir, { recursive: true });\n\t\t\t\t\t\t\t\tawait writeFile(\n\t\t\t\t\t\t\t\t\tjoin(probeShimDir, \"emdash.mjs\"),\n\t\t\t\t\t\t\t\t\t\"export const definePlugin = (d) => d;\\n\",\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tawait build({\n\t\t\t\t\t\t\t\t\tconfig: false,\n\t\t\t\t\t\t\t\t\tentry: [backendEntry],\n\t\t\t\t\t\t\t\t\tformat: \"esm\",\n\t\t\t\t\t\t\t\t\toutDir: backendProbeDir,\n\t\t\t\t\t\t\t\t\tdts: false,\n\t\t\t\t\t\t\t\t\tplatform: \"neutral\",\n\t\t\t\t\t\t\t\t\texternal: [],\n\t\t\t\t\t\t\t\t\talias: { emdash: join(probeShimDir, \"emdash.mjs\") },\n\t\t\t\t\t\t\t\t\ttreeshake: true,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst backendBaseName = basename(backendEntry).replace(TS_EXT_RE, \"\");\n\t\t\t\t\t\t\t\tconst backendProbePath = await findBuildOutput(backendProbeDir, backendBaseName);\n\t\t\t\t\t\t\t\tif (backendProbePath) {\n\t\t\t\t\t\t\t\t\tconst backendModule = (await import(\n\t\t\t\t\t\t\t\t\t\ttoFileImportSpecifier(backendProbePath)\n\t\t\t\t\t\t\t\t\t)) as Record<string, unknown>;\n\t\t\t\t\t\t\t\t\tconst standardDef = (backendModule.default ?? {}) as Record<string, unknown>;\n\t\t\t\t\t\t\t\t\tconst hooks = standardDef.hooks as Record<string, unknown> | undefined;\n\t\t\t\t\t\t\t\t\tconst routes = standardDef.routes as Record<string, unknown> | undefined;\n\t\t\t\t\t\t\t\t\tif (hooks) {\n\t\t\t\t\t\t\t\t\t\tfor (const hookName of Object.keys(hooks)) {\n\t\t\t\t\t\t\t\t\t\t\tconst hookEntry = hooks[hookName];\n\t\t\t\t\t\t\t\t\t\t\tconst isConfig =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof hookEntry === \"object\" &&\n\t\t\t\t\t\t\t\t\t\t\t\thookEntry !== null &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"handler\" in hookEntry;\n\t\t\t\t\t\t\t\t\t\t\tconst config = isConfig ? (hookEntry as Record<string, unknown>) : {};\n\t\t\t\t\t\t\t\t\t\t\t(resolvedPlugin.hooks as Record<string, unknown>)[hookName] = {\n\t\t\t\t\t\t\t\t\t\t\t\thandler: isConfig\n\t\t\t\t\t\t\t\t\t\t\t\t\t? (hookEntry as Record<string, unknown>).handler\n\t\t\t\t\t\t\t\t\t\t\t\t\t: hookEntry,\n\t\t\t\t\t\t\t\t\t\t\t\tpriority: (config.priority as number) ?? 100,\n\t\t\t\t\t\t\t\t\t\t\t\ttimeout: (config.timeout as number) ?? 5000,\n\t\t\t\t\t\t\t\t\t\t\t\tdependencies: (config.dependencies as string[]) ?? [],\n\t\t\t\t\t\t\t\t\t\t\t\terrorPolicy: (config.errorPolicy as string) ?? \"abort\",\n\t\t\t\t\t\t\t\t\t\t\t\texclusive: (config.exclusive as boolean) ?? false,\n\t\t\t\t\t\t\t\t\t\t\t\tpluginId: result.id,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (routes) {\n\t\t\t\t\t\t\t\t\t\tfor (const [name, route] of Object.entries(routes)) {\n\t\t\t\t\t\t\t\t\t\t\tconst routeObj =\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof route === \"object\" && route !== null\n\t\t\t\t\t\t\t\t\t\t\t\t\t? (route as Record<string, unknown>)\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {};\n\t\t\t\t\t\t\t\t\t\t\t(resolvedPlugin.routes as Record<string, unknown>)[name] = {\n\t\t\t\t\t\t\t\t\t\t\t\thandler: typeof route === \"function\" ? route : routeObj.handler,\n\t\t\t\t\t\t\t\t\t\t\t\t...extractRouteOptions(route),\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (resolvedPlugin) throw error;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!resolvedPlugin?.id || !resolvedPlugin?.version) {\n\t\t\t\tconsola.error(\n\t\t\t\t\t\"Could not extract plugin definition. Expected one of:\\n\" +\n\t\t\t\t\t\t\" - createPlugin() export (native format)\\n\" +\n\t\t\t\t\t\t\" - Descriptor factory function returning { id, version, ... } (standard format)\",\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tconst manifest = extractManifest(resolvedPlugin);\n\n\t\t\t// Validate format consistency: bundled plugins are for the marketplace\n\t\t\t// (sandboxed), so they must be standard format without trusted-only features.\n\t\t\tif (resolvedPlugin.admin?.entry) {\n\t\t\t\tconsola.error(\n\t\t\t\t\t`Plugin declares adminEntry — React admin components require native/trusted mode. ` +\n\t\t\t\t\t\t`Use Block Kit for sandboxed admin pages, or remove adminEntry.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tresolvedPlugin.admin?.portableTextBlocks &&\n\t\t\t\tresolvedPlugin.admin.portableTextBlocks.length > 0\n\t\t\t) {\n\t\t\t\tconsola.error(\n\t\t\t\t\t`Plugin declares portableTextBlocks — these require native/trusted mode ` +\n\t\t\t\t\t\t`and cannot be bundled for the marketplace.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tconsola.success(`Plugin: ${manifest.id}@${manifest.version}`);\n\t\t\tconsola.info(\n\t\t\t\t` Capabilities: ${manifest.capabilities.length > 0 ? manifest.capabilities.join(\", \") : \"(none)\"}`,\n\t\t\t);\n\t\t\tconsola.info(\n\t\t\t\t` Hooks: ${manifest.hooks.length > 0 ? manifest.hooks.map((h) => (typeof h === \"string\" ? h : h.name)).join(\", \") : \"(none)\"}`,\n\t\t\t);\n\t\t\tconsola.info(\n\t\t\t\t` Routes: ${manifest.routes.length > 0 ? manifest.routes.map((r) => (typeof r === \"string\" ? r : r.name)).join(\", \") : \"(none)\"}`,\n\t\t\t);\n\n\t\t\t// ── Step 3: Bundle backend.js ──\n\n\t\t\tconst bundleDir = join(tmpDir, \"bundle\");\n\t\t\tawait mkdir(bundleDir, { recursive: true });\n\n\t\t\tif (backendEntry) {\n\t\t\t\tconsola.start(\"Bundling backend...\");\n\n\t\t\t\t// Create a shim for emdash so the sandbox entry doesn't pull in the\n\t\t\t\t// entire core package. definePlugin is an identity function for standard\n\t\t\t\t// format, and PluginContext is a type-only import that disappears.\n\t\t\t\tconst shimDir = join(tmpDir, \"shims\");\n\t\t\t\tawait mkdir(shimDir, { recursive: true });\n\t\t\t\tawait writeFile(join(shimDir, \"emdash.mjs\"), \"export const definePlugin = (d) => d;\\n\");\n\n\t\t\t\tawait build({\n\t\t\t\t\tconfig: false,\n\t\t\t\t\tentry: [backendEntry],\n\t\t\t\t\tformat: \"esm\",\n\t\t\t\t\toutDir: join(tmpDir, \"backend\"),\n\t\t\t\t\tdts: false,\n\t\t\t\t\tplatform: \"neutral\",\n\t\t\t\t\t// Bundle everything for a self-contained sandbox file,\n\t\t\t\t\t// but alias emdash to our shim so we don't pull in the core.\n\t\t\t\t\texternal: [],\n\t\t\t\t\talias: { emdash: join(shimDir, \"emdash.mjs\") },\n\t\t\t\t\tminify: true,\n\t\t\t\t\ttreeshake: true,\n\t\t\t\t});\n\n\t\t\t\tconst backendBaseName = basename(backendEntry).replace(TS_EXT_RE, \"\");\n\t\t\t\tconst backendOutputPath = await findBuildOutput(join(tmpDir, \"backend\"), backendBaseName);\n\n\t\t\t\tif (backendOutputPath) {\n\t\t\t\t\tawait copyFile(backendOutputPath, join(bundleDir, \"backend.js\"));\n\t\t\t\t\tconsola.success(\"Built backend.js\");\n\t\t\t\t} else {\n\t\t\t\t\tconsola.error(\"Backend build produced no output\");\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsola.warn(\"No sandbox entry found — bundle will have no backend.js\");\n\t\t\t\tconsola.warn(' Add a \"sandbox-entry.ts\" in src/ or a \"./sandbox\" export in package.json');\n\t\t\t}\n\n\t\t\t// ── Step 4: Bundle admin.js ──\n\n\t\t\tif (adminEntry) {\n\t\t\t\tconsola.start(\"Bundling admin...\");\n\t\t\t\tawait build({\n\t\t\t\t\tconfig: false,\n\t\t\t\t\tentry: [adminEntry],\n\t\t\t\t\tformat: \"esm\",\n\t\t\t\t\toutDir: join(tmpDir, \"admin\"),\n\t\t\t\t\tdts: false,\n\t\t\t\t\tplatform: \"neutral\",\n\t\t\t\t\texternal: [],\n\t\t\t\t\tminify: true,\n\t\t\t\t\ttreeshake: true,\n\t\t\t\t});\n\n\t\t\t\tconst adminBaseName = basename(adminEntry).replace(TS_EXT_RE, \"\");\n\t\t\t\tconst adminOutputPath = await findBuildOutput(join(tmpDir, \"admin\"), adminBaseName);\n\n\t\t\t\tif (adminOutputPath) {\n\t\t\t\t\tawait copyFile(adminOutputPath, join(bundleDir, \"admin.js\"));\n\t\t\t\t\tconsola.success(\"Built admin.js\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// ── Step 5: Write manifest.json ──\n\n\t\t\tawait writeFile(join(bundleDir, \"manifest.json\"), JSON.stringify(manifest, null, 2));\n\n\t\t\t// ── Step 6: Collect assets ──\n\n\t\t\tconsola.start(\"Collecting assets...\");\n\n\t\t\t// README.md\n\t\t\tconst readmePath = join(pluginDir, \"README.md\");\n\t\t\tif (await fileExists(readmePath)) {\n\t\t\t\tawait copyFile(readmePath, join(bundleDir, \"README.md\"));\n\t\t\t\tconsola.success(\"Included README.md\");\n\t\t\t}\n\n\t\t\t// icon.png\n\t\t\tconst iconPath = join(pluginDir, \"icon.png\");\n\t\t\tif (await fileExists(iconPath)) {\n\t\t\t\tconst iconBuf = await readFile(iconPath);\n\t\t\t\tconst dims = readImageDimensions(iconBuf);\n\t\t\t\tif (!dims) {\n\t\t\t\t\tconsola.warn(\"icon.png is not a valid PNG — skipping\");\n\t\t\t\t} else if (dims[0] !== ICON_SIZE || dims[1] !== ICON_SIZE) {\n\t\t\t\t\tconsola.warn(\n\t\t\t\t\t\t`icon.png is ${dims[0]}x${dims[1]}, expected ${ICON_SIZE}x${ICON_SIZE} — including anyway`,\n\t\t\t\t\t);\n\t\t\t\t\tawait copyFile(iconPath, join(bundleDir, \"icon.png\"));\n\t\t\t\t} else {\n\t\t\t\t\tawait copyFile(iconPath, join(bundleDir, \"icon.png\"));\n\t\t\t\t\tconsola.success(\"Included icon.png\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// screenshots/\n\t\t\tconst screenshotsDir = join(pluginDir, \"screenshots\");\n\t\t\tif (await fileExists(screenshotsDir)) {\n\t\t\t\tconst screenshotFiles = (await readdir(screenshotsDir))\n\t\t\t\t\t.filter((f) => {\n\t\t\t\t\t\tconst ext = extname(f).toLowerCase();\n\t\t\t\t\t\treturn ext === \".png\" || ext === \".jpg\" || ext === \".jpeg\";\n\t\t\t\t\t})\n\t\t\t\t\t.toSorted()\n\t\t\t\t\t.slice(0, MAX_SCREENSHOTS);\n\n\t\t\t\tif (screenshotFiles.length > 0) {\n\t\t\t\t\tawait mkdir(join(bundleDir, \"screenshots\"), { recursive: true });\n\n\t\t\t\t\tfor (const file of screenshotFiles) {\n\t\t\t\t\t\tconst filePath = join(screenshotsDir, file);\n\t\t\t\t\t\tconst buf = await readFile(filePath);\n\n\t\t\t\t\t\tconst dims = readImageDimensions(buf);\n\n\t\t\t\t\t\tif (!dims) {\n\t\t\t\t\t\t\tconsola.warn(`screenshots/${file} — cannot read dimensions, skipping`);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (dims[0] > MAX_SCREENSHOT_WIDTH || dims[1] > MAX_SCREENSHOT_HEIGHT) {\n\t\t\t\t\t\t\tconsola.warn(\n\t\t\t\t\t\t\t\t`screenshots/${file} is ${dims[0]}x${dims[1]}, max ${MAX_SCREENSHOT_WIDTH}x${MAX_SCREENSHOT_HEIGHT} — including anyway`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait copyFile(filePath, join(bundleDir, \"screenshots\", file));\n\t\t\t\t\t}\n\n\t\t\t\t\tconsola.success(`Included ${screenshotFiles.length} screenshot(s)`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// ── Step 7: Validation ──\n\n\t\t\tconsola.start(\"Validating bundle...\");\n\t\t\tlet hasErrors = false;\n\n\t\t\t// Check that package.json exports point to built files, not source.\n\t\t\t// Plugins published to npm with source exports will break site builds\n\t\t\t// because the sandbox module generator embeds the resolved file as-is.\n\t\t\tif (pkg.exports) {\n\t\t\t\tfor (const issue of findSourceExports(pkg.exports)) {\n\t\t\t\t\tconsola.error(\n\t\t\t\t\t\t`Export \"${issue.exportPath}\" points to source (${issue.resolvedPath}). ` +\n\t\t\t\t\t\t\t`Package exports must point to built files (e.g. dist/*.mjs). ` +\n\t\t\t\t\t\t\t`Add a build step and update the exports map.`,\n\t\t\t\t\t);\n\t\t\t\t\thasErrors = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Check for Node.js builtins in backend.js\n\t\t\tconst backendPath = join(bundleDir, \"backend.js\");\n\t\t\tif (await fileExists(backendPath)) {\n\t\t\t\tconst backendCode = await readFile(backendPath, \"utf-8\");\n\t\t\t\tconst builtins = findNodeBuiltinImports(backendCode);\n\t\t\t\tif (builtins.length > 0) {\n\t\t\t\t\tconsola.error(`backend.js imports Node.js built-in modules: ${builtins.join(\", \")}`);\n\t\t\t\t\tconsola.error(\"Sandboxed plugins cannot use Node.js APIs\");\n\t\t\t\t\thasErrors = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Check capabilities warnings — use canonical names. Deprecated\n\t\t\t// names are accepted (and warned about separately below) so we\n\t\t\t// also check the legacy aliases here for the duration of the\n\t\t\t// deprecation window.\n\t\t\tconst declaresUnrestricted =\n\t\t\t\tmanifest.capabilities.includes(\"network:request:unrestricted\") ||\n\t\t\t\tmanifest.capabilities.includes(\"network:fetch:any\");\n\t\t\tconst declaresHostRestricted =\n\t\t\t\tmanifest.capabilities.includes(\"network:request\") ||\n\t\t\t\tmanifest.capabilities.includes(\"network:fetch\");\n\t\t\tif (declaresUnrestricted) {\n\t\t\t\tconsola.warn(\n\t\t\t\t\t\"Plugin declares unrestricted network access (network:request:unrestricted) — it can make requests to any host\",\n\t\t\t\t);\n\t\t\t} else if (declaresHostRestricted && manifest.allowedHosts.length === 0) {\n\t\t\t\tconsola.warn(\n\t\t\t\t\t\"Plugin declares network:request capability but no allowedHosts — all requests will be blocked\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Warn for each deprecated capability used. The warning points\n\t\t\t// to the new name so the fix is mechanical. We continue (not\n\t\t\t// error) here — the hard fail lives in `publish` so authors\n\t\t\t// can still build and test locally.\n\t\t\tconst deprecatedCaps = manifest.capabilities.filter(isDeprecatedCapability);\n\t\t\tif (deprecatedCaps.length > 0) {\n\t\t\t\tconsola.warn(\"Plugin uses deprecated capability names. Rename them before publishing:\");\n\t\t\t\tfor (const cap of deprecatedCaps) {\n\t\t\t\t\tconst replacement = CAPABILITY_RENAMES[cap];\n\t\t\t\t\tconsola.warn(` ${cap} → ${replacement}`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Check for features that won't work in sandboxed mode\n\t\t\tif (\n\t\t\t\tresolvedPlugin.admin?.portableTextBlocks &&\n\t\t\t\tresolvedPlugin.admin.portableTextBlocks.length > 0\n\t\t\t) {\n\t\t\t\tconsola.warn(\n\t\t\t\t\t\"Plugin declares portableTextBlocks — these require trusted mode and will be ignored in sandboxed plugins\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (resolvedPlugin.admin?.entry) {\n\t\t\t\tconsola.warn(\n\t\t\t\t\t\"Plugin declares admin.entry — custom React components require trusted mode. Use Block Kit for sandboxed admin pages\",\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Check for page:fragments hook — trusted-only, not allowed in sandbox\n\t\t\tif (resolvedPlugin.hooks[\"page:fragments\"]) {\n\t\t\t\tconsola.warn(\n\t\t\t\t\t\"Plugin declares page:fragments hook — this is trusted-only and will not work in sandboxed mode\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Check: if plugin declares admin pages or widgets, it must have an \"admin\" route\n\t\t\tconst hasAdminPages = (manifest.admin?.pages?.length ?? 0) > 0;\n\t\t\tconst hasAdminWidgets = (manifest.admin?.widgets?.length ?? 0) > 0;\n\t\t\tif (hasAdminPages || hasAdminWidgets) {\n\t\t\t\tconst routeNames = manifest.routes.map((r: string | { name: string }) =>\n\t\t\t\t\ttypeof r === \"string\" ? r : r.name,\n\t\t\t\t);\n\t\t\t\tif (!routeNames.includes(\"admin\")) {\n\t\t\t\t\tconsola.error(\n\t\t\t\t\t\t`Plugin declares ${hasAdminPages ? \"adminPages\" : \"\"}${hasAdminPages && hasAdminWidgets ? \" and \" : \"\"}${hasAdminWidgets ? \"adminWidgets\" : \"\"} ` +\n\t\t\t\t\t\t\t`but the sandbox entry has no \"admin\" route. ` +\n\t\t\t\t\t\t\t`Add an admin route handler to serve Block Kit pages.`,\n\t\t\t\t\t);\n\t\t\t\t\thasErrors = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Bundle size caps (RFC 0001 §\"Bundle size limits\").\n\t\t\tconst bundleEntries = await collectBundleEntries(bundleDir);\n\t\t\tconst sizeViolations = validateBundleSize(bundleEntries);\n\t\t\tif (sizeViolations.length > 0) {\n\t\t\t\tfor (const v of sizeViolations) consola.error(v);\n\t\t\t\thasErrors = true;\n\t\t\t} else {\n\t\t\t\tconsola.info(\n\t\t\t\t\t`Bundle size: ${formatBytes(totalBundleBytes(bundleEntries))} across ${bundleEntries.length} file${bundleEntries.length === 1 ? \"\" : \"s\"}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (hasErrors) {\n\t\t\t\tconsola.error(\"Bundle validation failed\");\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tconsola.success(\"Validation passed\");\n\n\t\t\tif (validateOnly) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// ── Step 8: Create tarball ──\n\n\t\t\tawait mkdir(outDir, { recursive: true });\n\t\t\tconst tarballName = `${manifest.id.replace(SLASH_RE, \"-\").replace(LEADING_AT_RE, \"\")}-${manifest.version}.tar.gz`;\n\t\t\tconst tarballPath = join(outDir, tarballName);\n\n\t\t\tconsola.start(\"Creating tarball...\");\n\t\t\tawait createTarball(bundleDir, tarballPath);\n\n\t\t\tconst tarballStat = await stat(tarballPath);\n\t\t\tconst tarballSizeKB = (tarballStat.size / 1024).toFixed(1);\n\n\t\t\t// Calculate checksum\n\t\t\tconst tarballBuf = await readFile(tarballPath);\n\t\t\tconst checksum = createHash(\"sha256\").update(tarballBuf).digest(\"hex\");\n\n\t\t\tconsola.success(`Created ${tarballName} (${tarballSizeKB}KB)`);\n\t\t\tconsola.info(` SHA-256: ${checksum}`);\n\t\t\tconsola.info(` Path: ${tarballPath}`);\n\t\t} finally {\n\t\t\tif (tmpDir.endsWith(\".emdash-bundle-tmp\")) {\n\t\t\t\tawait rm(tmpDir, { recursive: true, force: true });\n\t\t\t}\n\t\t}\n\t},\n});\n"],"mappings":"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"}
|