dineway 0.1.49 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{activity-events-CwM7yxPW.mjs → activity-events-y6eT8UW6.mjs} +6 -38
- package/dist/actor-CrObAPV0.mjs +37 -0
- package/dist/after-BfniwgIf.mjs +9 -0
- package/dist/{allowed-origins-CyGnbgBd.mjs → allowed-origins-_oeyP6x-.mjs} +1 -1
- package/dist/api/route-utils.d.mts +10 -10
- package/dist/api/route-utils.mjs +16 -13
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +5 -4
- package/dist/{api-BMIxRIEN.mjs → api-ByrU2q-Z.mjs} +60 -36
- package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-CjVMQT-X.mjs} +6 -2
- package/dist/{apply-D_RlTYtC.mjs → apply-bZswmZPm.mjs} +117 -77
- package/dist/astro/image-endpoint.d.mts +7 -0
- package/dist/astro/image-endpoint.mjs +54 -0
- package/dist/astro/index.d.mts +35 -11
- package/dist/astro/index.mjs +157 -23
- package/dist/astro/integration/shims/use-sync-external-store-with-selector.js +71 -0
- package/dist/astro/integration/shims/use-sync-external-store.js +1 -0
- package/dist/astro/middleware/auth.d.mts +10 -10
- package/dist/astro/middleware/auth.mjs +42 -24
- package/dist/astro/middleware/redirect.mjs +13 -4
- package/dist/astro/middleware/request-context.mjs +8 -5
- package/dist/astro/middleware/seed.d.mts +1 -1
- package/dist/astro/middleware/seed.mjs +2 -2
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.mjs +333 -192
- package/dist/astro/routes/admin.astro +6 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +7 -6
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +7 -6
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
- package/dist/astro/routes/api/admin/briefing.mjs +21 -17
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -8
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -8
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -8
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -14
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -14
- package/dist/astro/routes/api/admin/bylines/index.mjs +17 -14
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -12
- package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -5
- package/dist/astro/routes/api/admin/comments/bulk.mjs +11 -9
- package/dist/astro/routes/api/admin/comments/counts.mjs +6 -5
- package/dist/astro/routes/api/admin/comments/index.mjs +11 -9
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +26 -24
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +26 -24
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +31 -28
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +31 -28
- package/dist/astro/routes/api/admin/context/diff.mjs +30 -27
- package/dist/astro/routes/api/admin/context/index.mjs +31 -28
- package/dist/astro/routes/api/admin/context/stale.mjs +30 -27
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +26 -24
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +30 -27
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +30 -27
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +27 -25
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
- 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 +55 -51
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +55 -51
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +53 -49
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -48
- package/dist/astro/routes/api/admin/plugins/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +46 -42
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -48
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +46 -42
- package/dist/astro/routes/api/admin/plugins/updates.mjs +46 -42
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +31 -27
- package/dist/astro/routes/api/admin/review-requests/index.mjs +10 -9
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +46 -42
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +46 -42
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +8 -7
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
- package/dist/astro/routes/api/admin/users/index.mjs +7 -6
- package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
- package/dist/astro/routes/api/auth/invite/complete.mjs +12 -11
- package/dist/astro/routes/api/auth/invite/index.mjs +9 -8
- package/dist/astro/routes/api/auth/invite/register-options.mjs +11 -10
- package/dist/astro/routes/api/auth/logout.mjs +2 -2
- package/dist/astro/routes/api/auth/magic-link/send.mjs +11 -10
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
- package/dist/astro/routes/api/auth/me.mjs +9 -8
- package/dist/astro/routes/api/auth/mode.mjs +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -5
- package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +12 -11
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +10 -9
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +11 -10
- package/dist/astro/routes/api/auth/passkey/verify.mjs +11 -10
- package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
- package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/signup/complete.mjs +12 -11
- package/dist/astro/routes/api/auth/signup/request.mjs +11 -10
- package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -13
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.d.mts +8 -0
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +160 -0
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +16 -14
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/index.mjs +10 -9
- package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
- package/dist/astro/routes/api/dashboard.mjs +9 -8
- package/dist/astro/routes/api/dev/emails.mjs +2 -2
- package/dist/astro/routes/api/health.mjs +1 -1
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +22 -10
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +9 -6
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +19 -1
- package/dist/astro/routes/api/import/wordpress/execute.mjs +84 -37
- package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -1
- package/dist/astro/routes/api/import/wordpress/media.mjs +19 -13
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +35 -32
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +18 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +120 -100
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +24 -12
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +56 -2
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +283 -55
- package/dist/astro/routes/api/manifest.mjs +14 -5
- package/dist/astro/routes/api/mcp.mjs +265 -69
- package/dist/astro/routes/api/media/_id_/confirm.mjs +38 -10
- package/dist/astro/routes/api/media/_id_.mjs +11 -7
- package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
- package/dist/astro/routes/api/media/providers/index.mjs +2 -2
- package/dist/astro/routes/api/media/upload-url.mjs +11 -10
- package/dist/astro/routes/api/media.mjs +27 -34
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +31 -28
- package/dist/astro/routes/api/menus/_name_/items.mjs +31 -28
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +31 -28
- package/dist/astro/routes/api/menus/_name_/translations.mjs +31 -28
- package/dist/astro/routes/api/menus/_name_.mjs +31 -28
- package/dist/astro/routes/api/menus/index.mjs +31 -28
- package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
- package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
- package/dist/astro/routes/api/oauth/register.mjs +4 -4
- package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
- package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
- package/dist/astro/routes/api/oauth/token.mjs +6 -6
- package/dist/astro/routes/api/openapi.json.mjs +4 -3
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +30 -30
- package/dist/astro/routes/api/redirects/404s/index.mjs +11 -10
- package/dist/astro/routes/api/redirects/404s/summary.mjs +11 -10
- package/dist/astro/routes/api/redirects/_id_.mjs +32 -29
- package/dist/astro/routes/api/redirects/index.mjs +32 -29
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -43
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -43
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -43
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -43
- package/dist/astro/routes/api/schema/collections/index.mjs +47 -43
- package/dist/astro/routes/api/schema/index.mjs +13 -14
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +46 -42
- package/dist/astro/routes/api/schema/orphans/index.mjs +46 -42
- package/dist/astro/routes/api/search/enable.mjs +11 -10
- package/dist/astro/routes/api/search/index.mjs +10 -9
- package/dist/astro/routes/api/search/rebuild.mjs +11 -10
- package/dist/astro/routes/api/search/stats.mjs +6 -6
- package/dist/astro/routes/api/search/suggest.mjs +10 -9
- package/dist/astro/routes/api/sections/_slug_.mjs +31 -28
- package/dist/astro/routes/api/sections/index.mjs +31 -28
- package/dist/astro/routes/api/settings/email.mjs +4 -4
- package/dist/astro/routes/api/settings.mjs +31 -28
- package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
- package/dist/astro/routes/api/setup/admin.mjs +12 -11
- package/dist/astro/routes/api/setup/dev-bypass.mjs +31 -25
- package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
- package/dist/astro/routes/api/setup/index.mjs +29 -25
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +8 -7
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +34 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +34 -31
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +34 -31
- package/dist/astro/routes/api/taxonomies/index.mjs +34 -31
- package/dist/astro/routes/api/themes/preview.mjs +5 -5
- package/dist/astro/routes/api/typegen.mjs +4 -4
- package/dist/astro/routes/api/well-known/auth.mjs +3 -3
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +30 -27
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +31 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +31 -28
- package/dist/astro/routes/api/widget-areas/_name_.mjs +28 -26
- package/dist/astro/routes/api/widget-areas/index.mjs +31 -28
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +8 -7
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +23 -14
- package/dist/astro/routes/sitemap.xml.mjs +9 -8
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +2 -2
- package/dist/astro/types.d.mts +21 -13
- package/dist/{audit-BeNsSyfU.mjs → audit-ByVKIwWF.mjs} +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{auth-control-guard-Dr14I98m.mjs → auth-control-guard-CqeUmQsv.mjs} +1 -1
- package/dist/{authorize-BLO0m7fW.mjs → authorize-CcBxcHtz.mjs} +1 -1
- package/dist/{briefing-DJX6irto.mjs → briefing-BJaJI8dm.mjs} +2 -1
- package/dist/{briefing-CkTee1ex.mjs → briefing-CawZ59CY.mjs} +90 -28
- package/dist/bundle-7C_DpkEq.mjs +602 -0
- package/dist/{byline-BVC1lV6G.mjs → byline-e51-fWRs.mjs} +30 -62
- package/dist/{byline-fields-uJlygdzM.d.mts → byline-fields-CUvbslGc.d.mts} +80 -37
- package/dist/{byline-fields-Cj39WhXC.mjs → byline-fields-D-N5qVIG.mjs} +1 -1
- package/dist/{byline-fields-cNrLJVRs.mjs → byline-fields-DOJO16Gm.mjs} +3 -3
- package/dist/{byline-registry-4v6tXMNX.mjs → byline-registry-87nNnYl4.mjs} +2 -2
- package/dist/{bylines-LN9XISRo.mjs → bylines-CMQNCNFh.mjs} +9 -3
- package/dist/{bylines-DwokOFj6.mjs → bylines-y4LO-dTj.mjs} +5 -5
- package/dist/{cache-Bac05gBd.mjs → cache-C-FNTFYK.mjs} +2 -2
- package/dist/{chunks-CuUt7K50.mjs → chunks-CxBt-GxR.mjs} +1 -1
- package/dist/cli/index.mjs +94 -659
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +1 -1
- package/dist/client/index.mjs +2 -1
- package/dist/{comment-Beue8-15.mjs → comment-DlA4iChg.mjs} +13 -3
- package/dist/comment-reaction-DfFao1ST.mjs +58 -0
- package/dist/{comments-DcjFIfqX.mjs → comments-DApFGMsP.mjs} +1 -1
- package/dist/{content-CBxYGWfL.mjs → content-Bh4BDjv8.mjs} +51 -34
- package/dist/content-refresh-CgutSUfO.mjs +1576 -0
- package/dist/{context-CQVNZaR8.mjs → context-C5W3G18y.mjs} +111 -50
- package/dist/{context-Df1xVYyr.mjs → context-CK4ym2Sf.mjs} +2 -2
- package/dist/{context-route-helpers-B9wj8Rmh.mjs → context-route-helpers-MASyGgWf.mjs} +2 -1
- package/dist/{cron-DxCAU_Sn.mjs → cron-cKcNTix_.mjs} +7 -3
- package/dist/{dashboard-B7ZUNuyF.mjs → dashboard-DQkVT7Ei.mjs} +4 -4
- package/dist/db/index.d.mts +3 -3
- package/dist/db/index.mjs +1 -1
- package/dist/db/libsql.d.mts +1 -1
- package/dist/db/postgres.d.mts +1 -1
- package/dist/db/sqlite.d.mts +1 -1
- package/dist/{device-flow-BZVGftqi.mjs → device-flow-BnqRH-T9.mjs} +5 -5
- package/dist/{placeholder-d54Qr_7n.mjs → enrich-DIFIFA8O.mjs} +36 -9
- package/dist/{error-DCSuUAZW.mjs → error-CytFlgcd.mjs} +5 -0
- package/dist/field-defs-cache-DRNdhBJv.mjs +49 -0
- package/dist/{fts-manager-B5l_qwrA.mjs → fts-manager-Crzypjqu.mjs} +1 -1
- package/dist/hitl-Hw1RmWOq.mjs +677 -0
- package/dist/{hitl-requests-7NlzVeUA.mjs → hitl-requests-B4Vbcmaq.mjs} +2 -2
- package/dist/{hitl-route-helpers-k---_H3-.mjs → hitl-route-helpers-hEVzvP8l.mjs} +5 -4
- package/dist/import-Bh9biJfx.mjs +1354 -0
- package/dist/{index-CZiWCQDp.d.mts → index-D4y6NGiy.d.mts} +75 -3
- package/dist/index.d.mts +17 -16
- package/dist/index.mjs +80 -68
- package/dist/{jsonld-DZ67souc.d.mts → jsonld-Dq0gsnOH.d.mts} +8 -4
- package/dist/{load-D9OiGr2m.mjs → load-DmYeniXl.mjs} +1 -1
- package/dist/{loader--GOYux8M.mjs → loader-CjWqjweO.mjs} +117 -31
- package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-BxVPYMJR.mjs} +34 -1
- package/dist/mcp-reviewed-executor-TwVbMzG6.mjs +555 -0
- package/dist/media/image-endpoint.d.mts +32 -0
- package/dist/media/image-endpoint.mjs +111 -0
- package/dist/media/index.d.mts +27 -2
- package/dist/media/index.mjs +5 -3
- package/dist/media/local-runtime.d.mts +16 -11
- package/dist/media/local-runtime.mjs +9 -7
- package/dist/{media-CbKyYukG.mjs → media-DMj0grzC.mjs} +3 -1
- package/dist/{media-allowlist-BYxJIcTO.mjs → media-allowlist-BlVCSzHx.mjs} +1 -1
- package/dist/media-url-lEKSrpr9.mjs +20 -0
- package/dist/{menus-BZbXf-ej.mjs → menus-TaW1gKnk.mjs} +19 -5
- package/dist/{menus-C7F0sCrC.mjs → menus-xvsnVZXw.mjs} +80 -15
- package/dist/{normalize-ByemhhfW.mjs → normalize-5ek_z7de.mjs} +8 -1
- package/dist/{oauth-authorization-DF-LCsIA.mjs → oauth-authorization-DiaGvRVz.mjs} +5 -5
- package/dist/{oauth-clients-Du-V0fEm.mjs → oauth-clients-Dl9E8dEM.mjs} +2 -2
- package/dist/object-cache/memory.d.mts +14 -0
- package/dist/object-cache/memory.mjs +55 -0
- package/dist/object-cache-D51qOseS.mjs +419 -0
- package/dist/page/index.d.mts +4 -3
- package/dist/page/index.mjs +2 -2
- package/dist/{parse-CneSgl7-.mjs → parse-CbymENaR.mjs} +1 -1
- package/dist/{parser-DxfsARXL.mjs → parser-C1nYd-81.mjs} +151 -9
- package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-uvNRZBX9.d.mts} +12 -4
- package/dist/plugin-utils.d.mts +9 -9
- package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
- package/dist/plugins/adapt-sandbox-entry.mjs +11 -2
- package/dist/{plugins-DzfqRREq.mjs → plugins-BolVa-tl.mjs} +831 -63
- package/dist/{transport-LSdZVXHF.mjs → portable-text-dA_UlJwW.mjs} +1 -134
- package/dist/{preview-C-3YTX2U.mjs → preview-vSVg6fwG.mjs} +4 -3
- package/dist/process-cache-7xgAO9JY.mjs +106 -0
- package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-MD8zAbnH.d.mts} +1 -1
- package/dist/{public-url-B4xV4rGa.d.mts → public-url-gsp3oUbu.d.mts} +1 -1
- package/dist/{query-Ds0EnMFX.mjs → query-CfRCdaL3.mjs} +281 -76
- package/dist/{query-CZ3TH_Uu.mjs → query-jaAmw8E1.mjs} +11 -6
- package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-ZLdyWoZF.mjs} +2 -2
- package/dist/{redirect-CEACczxo.mjs → redirect-BAjt4Z6b.mjs} +2 -2
- package/dist/{redirects-DYj1yPxs.mjs → redirects-BTdwpQtE.mjs} +47 -24
- package/dist/{redirects-ocRJmQHP.mjs → redirects-CA-xylPG.mjs} +19 -11
- package/dist/{registry-D7HACema.mjs → registry-CtyVedcN.mjs} +130 -77
- package/dist/request-context.d.mts +2 -0
- package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CUypToDJ.mjs} +1 -1
- package/dist/{review-requests-Qum4713s.mjs → review-requests-C9Ff11Vq.mjs} +1 -1
- package/dist/{review-requests-BW2NxY-l.mjs → review-requests-DUyEmtmG.mjs} +1 -1
- package/dist/{runner-09sTqtv0.d.mts → runner-1tC2tIRV.d.mts} +1 -1
- package/dist/runner-DB7CRfOF.mjs +6740 -0
- package/dist/{runtime-C4-2lSFg.d.mts → runtime-BOeiQsCv.d.mts} +1952 -1489
- package/dist/runtime.d.mts +10 -10
- package/dist/runtime.mjs +3 -3
- package/dist/schema-DXdYj4R3.mjs +8 -0
- package/dist/{search-Gdrqj582.mjs → search-DSaLgEFI.mjs} +5 -3
- package/dist/{secrets-CeGpBFV2.mjs → secrets-CDZo2k8L.mjs} +14 -11
- package/dist/{sections-BOjU13Y-.mjs → sections-PVVXHGfp.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +21 -18
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +3 -12
- package/dist/{seo-CLj8lS7Q.mjs → seo-CQG3GCHQ.mjs} +5 -2
- package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-C1EnikHB.mjs} +11 -3
- package/dist/{seo-5lJOtB5J.mjs → seo-qa7Dn0jK.mjs} +22 -4
- package/dist/{service-jGlhrICs.mjs → service-DiN4ZuPp.mjs} +2 -2
- package/dist/session-user-CAKImna3.mjs +22 -0
- package/dist/{settings-CUXOxzsT.mjs → settings-BbqgHWpU.mjs} +28 -55
- package/dist/{settings-DlBsT2VS.mjs → settings-i4VPP8bT.mjs} +2 -2
- package/dist/{setup-complete-BRrdPYjZ.mjs → setup-complete-B8fl-mjV.mjs} +1 -1
- package/dist/{site-activity-DONFrMBJ.mjs → site-activity-Dy3FROs0.mjs} +1 -1
- package/dist/{site-context-C8Az_P_I.mjs → site-context-DQiL8Fl5.mjs} +23 -652
- package/dist/{site-url-DIMD68go.mjs → site-url-BML3GQYm.mjs} +1 -1
- package/dist/status-DANd8ERo.mjs +21 -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/{taxonomies-D9Sw4wWM.mjs → taxonomies-9s-v03H-.mjs} +36 -29
- package/dist/taxonomies-DRiixp_E.mjs +443 -0
- package/dist/{taxonomy-B169Nm6B.mjs → taxonomy-Dvsw6BOs.mjs} +44 -9
- package/dist/transport-BNmCqLu7.mjs +134 -0
- package/dist/types-4garmdWa.mjs +66 -0
- package/dist/{types-DSPGWjxO.d.mts → types-C8XW6L19.d.mts} +225 -4
- package/dist/{types-GaCtZ1k9.d.mts → types-CDpH6MA4.d.mts} +18 -0
- package/dist/{types-DRIKLmJI.d.mts → types-C_ly5eTp.d.mts} +17 -2
- package/dist/types-DF7ZuGGk.d.mts +118 -0
- package/dist/types-DU0bU2Wu.d.mts +2392 -0
- package/dist/{types-CwawBUTa.d.mts → types-DW_-sFyz.d.mts} +2 -1
- package/dist/{types-CSgR9nQB.mjs → types-Dq1qT19x.mjs} +1 -1
- package/dist/ui/server-runtime.d.mts +15 -15
- package/dist/ui/server-runtime.mjs +24 -20
- package/dist/url-Cac7a9QZ.mjs +33 -0
- package/dist/{user-DTLoZs16.mjs → user-BIZPzCb9.mjs} +2 -2
- package/dist/{utils-B8hBJ9Oz.mjs → utils-CMDhr5Xd.mjs} +129 -7
- package/dist/{validate-DzjCdy6v.d.mts → validate-CZvb-BKB.d.mts} +10 -7
- package/dist/{validate-DWmPO6oj.mjs → validate-DNs0pTSc.mjs} +11 -6
- package/dist/version-BTvfRGc6.mjs +6 -0
- package/dist/{widgets-BpJ8EpPd.mjs → widgets-f0ibZUIq.mjs} +46 -43
- package/dist/{wordpress-slugs-DHNR9LpG.mjs → wordpress-slugs-BhHJX8XE.mjs} +1 -1
- package/dist/{zod-generator-K91-g665.mjs → zod-generator-B7TMjyFJ.mjs} +41 -13
- package/package.json +30 -8
- package/src/components/Block.astro +50 -0
- package/src/components/Comments.astro +143 -1
- package/src/components/DinewayHead.astro +19 -2
- package/src/components/DinewayImage.astro +66 -33
- package/src/components/DinewayMedia.astro +1 -2
- package/src/components/Image.astro +85 -40
- package/src/components/InlinePortableTextEditor.tsx +12 -2
- package/src/components/JsonLdScript.astro +9 -0
- package/src/components/LiveSearch.astro +40 -4
- package/src/components/index.ts +4 -0
- package/src/components/live-search-routing.ts +30 -0
- package/src/components/portable-text-text-align.ts +15 -0
- package/src/ui.ts +2 -0
- package/dist/entity-aliases-4y93Yjuc.mjs +0 -51
- package/dist/import-4YBXbDkI.mjs +0 -684
- package/dist/runner-DzIpHGND.mjs +0 -2836
- package/dist/schema-Bsi-VpYv.mjs +0 -8
- package/dist/taxonomies-CZ-_DitR.mjs +0 -327
- package/dist/types-CuJOqHfM.d.mts +0 -758
- package/dist/version-C4gfn0PJ.mjs +0 -6
- /package/dist/{adapters-OQCImOL7.d.mts → adapters-NVSs4UH7.d.mts} +0 -0
- /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-2r7OWi_I.mjs} +0 -0
- /package/dist/{challenge-store-DFxX0_15.mjs → challenge-store-Bjlepa2E.mjs} +0 -0
- /package/dist/{components--pg6zBvu.mjs → components-Bclf98Be.mjs} +0 -0
- /package/dist/{context-types-r8oFvyOq.mjs → context-types-DqTo6C79.mjs} +0 -0
- /package/dist/{default-B6iaLvP7.mjs → default--K40jqm0.mjs} +0 -0
- /package/dist/{email-console-BOVqIYpB.mjs → email-console-ChgKFO8-.mjs} +0 -0
- /package/dist/{escape-BDgouFFY.mjs → escape-Bd4P_xKg.mjs} +0 -0
- /package/dist/{experimental-workflows-CSMffP6q.mjs → experimental-workflows-BMsUnIAw.mjs} +0 -0
- /package/dist/{mime-CbKsKDCB.mjs → mime-CA7Lgovc.mjs} +0 -0
- /package/dist/{mode-CZqCF9dZ.mjs → mode-C4CIyjtR.mjs} +0 -0
- /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CNoXafF7.mjs} +0 -0
- /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-Ygw4bNyt.mjs} +0 -0
- /package/dist/{options-LsPjZlqD.mjs → options-DQPTH5n0.mjs} +0 -0
- /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-BUwu8BA3.mjs} +0 -0
- /package/dist/{patterns-DKAX6oqN.mjs → patterns-BhAvqO0S.mjs} +0 -0
- /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-D0w9dqjm.mjs} +0 -0
- /package/dist/{public-url-B_m9IwdV.mjs → public-url-BEz_sM9n.mjs} +0 -0
- /package/dist/{redirect-BjIBtDWY.mjs → redirect-wphRBv4y.mjs} +0 -0
- /package/dist/{request-cache-ho99schz.mjs → request-cache-D9GQBxMP.mjs} +0 -0
- /package/dist/{resolve-DTuDyYKs.mjs → resolve-Cb6Dbz-C.mjs} +0 -0
- /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-CoyjILvW.mjs} +0 -0
- /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-C3mqXg4C.mjs} +0 -0
- /package/dist/{slugify-BqebcqBg.mjs → slugify-KSsVD_D3.mjs} +0 -0
- /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-DWe8jwAp.mjs} +0 -0
- /package/dist/{tokens-SLmgowfd.mjs → tokens-1RK1n6ED.mjs} +0 -0
- /package/dist/{transaction-CFLhEOuH.mjs → transaction-C2EOMTJA.mjs} +0 -0
- /package/dist/{transport-BnsNxh2l.d.mts → transport-CcJu3Co8.d.mts} +0 -0
- /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-DTXQ2IMv.mjs} +0 -0
- /package/dist/{types-CJ8DkL0q.mjs → types-B3t5cxhU.mjs} +0 -0
- /package/dist/{types-nP9vGUFq.d.mts → types-C46EvNdc.d.mts} +0 -0
- /package/dist/{types-Cg276-3z.mjs → types-C5CVgwsV.mjs} +0 -0
- /package/dist/{types-DZpT-PnG.d.mts → types-POH8PQZh.d.mts} +0 -0
- /package/dist/{types-Dryvv7LH.d.mts → types-Rc3gQqqw.d.mts} +0 -0
- /package/dist/{url-w7Mp5qAD.mjs → url-CpyFDFpO.mjs} +0 -0
|
@@ -1,39 +1,49 @@
|
|
|
1
1
|
import "../../../../../dialect-helpers-fk43GbDb.mjs";
|
|
2
2
|
import "../../../../../base64-F8-DUraK.mjs";
|
|
3
|
-
import "../../../../../types-
|
|
4
|
-
import "../../../../../loader
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import "../../../../../
|
|
8
|
-
import "../../../../../
|
|
9
|
-
import "../../../../../
|
|
10
|
-
import "../../../../../
|
|
11
|
-
import "../../../../../
|
|
12
|
-
import "../../../../../
|
|
13
|
-
import "../../../../../
|
|
14
|
-
import
|
|
15
|
-
import "../../../../../
|
|
16
|
-
import "../../../../../
|
|
17
|
-
import "../../../../../
|
|
18
|
-
import
|
|
19
|
-
import "../../../../../
|
|
20
|
-
import "../../../../../
|
|
21
|
-
import "../../../../../
|
|
22
|
-
import "../../../../../
|
|
23
|
-
import { n as
|
|
24
|
-
import
|
|
25
|
-
import "../../../../../
|
|
26
|
-
import
|
|
3
|
+
import "../../../../../types-Dq1qT19x.mjs";
|
|
4
|
+
import "../../../../../loader-CjWqjweO.mjs";
|
|
5
|
+
import "../../../../../object-cache-D51qOseS.mjs";
|
|
6
|
+
import { n as slugify } from "../../../../../slugify-KSsVD_D3.mjs";
|
|
7
|
+
import { t as ContentRepository } from "../../../../../content-Bh4BDjv8.mjs";
|
|
8
|
+
import "../../../../../media-DMj0grzC.mjs";
|
|
9
|
+
import "../../../../../taxonomy-Dvsw6BOs.mjs";
|
|
10
|
+
import "../../../../../options-DQPTH5n0.mjs";
|
|
11
|
+
import "../../../../../site-activity-Dy3FROs0.mjs";
|
|
12
|
+
import "../../../../../review-requests-DUyEmtmG.mjs";
|
|
13
|
+
import "../../../../../hitl-Hw1RmWOq.mjs";
|
|
14
|
+
import "../../../../../request-cache-D9GQBxMP.mjs";
|
|
15
|
+
import "../../../../../byline-registry-87nNnYl4.mjs";
|
|
16
|
+
import "../../../../../field-defs-cache-DRNdhBJv.mjs";
|
|
17
|
+
import { t as BylineRepository } from "../../../../../byline-e51-fWRs.mjs";
|
|
18
|
+
import "../../../../../enrich-DIFIFA8O.mjs";
|
|
19
|
+
import "../../../../../briefing-CawZ59CY.mjs";
|
|
20
|
+
import "../../../../../context-types-DqTo6C79.mjs";
|
|
21
|
+
import "../../../../../content-refresh-CgutSUfO.mjs";
|
|
22
|
+
import "../../../../../fts-manager-Crzypjqu.mjs";
|
|
23
|
+
import { n as SchemaRegistry } from "../../../../../registry-CtyVedcN.mjs";
|
|
24
|
+
import "../../../../../settings-BbqgHWpU.mjs";
|
|
25
|
+
import "../../../../../query-jaAmw8E1.mjs";
|
|
26
|
+
import "../../../../../zod-generator-B7TMjyFJ.mjs";
|
|
27
|
+
import "../../../../../schema-DXdYj4R3.mjs";
|
|
28
|
+
import "../../../../../resolve-Cb6Dbz-C.mjs";
|
|
29
|
+
import "../../../../../taxonomies-DRiixp_E.mjs";
|
|
30
|
+
import { t as handleTaxonomyCreate } from "../../../../../taxonomies-9s-v03H-.mjs";
|
|
31
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CytFlgcd.mjs";
|
|
32
|
+
import { n as parseBody, t as isParseError } from "../../../../../parse-CbymENaR.mjs";
|
|
33
|
+
import "../../../../../redirects-CA-xylPG.mjs";
|
|
34
|
+
import { u as wpPluginExecuteBody } from "../../../../../byline-fields-DOJO16Gm.mjs";
|
|
35
|
+
import "../../../../../status-DANd8ERo.mjs";
|
|
27
36
|
import "../../../../../api/schemas/index.mjs";
|
|
28
|
-
import "../../../../../parser-
|
|
29
|
-
import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../../../../../ssrf-
|
|
30
|
-
import
|
|
31
|
-
import {
|
|
32
|
-
import "../../../../../
|
|
33
|
-
import
|
|
34
|
-
import {
|
|
35
|
-
import "../../../../../
|
|
36
|
-
import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-
|
|
37
|
+
import "../../../../../parser-C1nYd-81.mjs";
|
|
38
|
+
import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../../../../../ssrf-DWe8jwAp.mjs";
|
|
39
|
+
import "../../../../../activity-events-y6eT8UW6.mjs";
|
|
40
|
+
import { C as importMenusFromPlugin, S as importCommentsFromPlugin, b as parseSiteSettingsFromPlugin, h as getSource, n as fetchPluginMenus, r as fetchPluginOptions, t as fetchPluginComments, y as importSiteSettings } from "../../../../../import-Bh9biJfx.mjs";
|
|
41
|
+
import { _ as sanitizeFieldSlug, g as resolveImportByline } from "../../../../../utils-CMDhr5Xd.mjs";
|
|
42
|
+
import "../../../../../search-DSaLgEFI.mjs";
|
|
43
|
+
import { n as requirePerm } from "../../../../../authorize-CcBxcHtz.mjs";
|
|
44
|
+
import { f as WordPressImportHitlPayloadBuilder, g as RiskPolicyEvaluator } from "../../../../../site-context-DQiL8Fl5.mjs";
|
|
45
|
+
import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-hEVzvP8l.mjs";
|
|
46
|
+
import { importMediaWithProgress } from "../wordpress/media.mjs";
|
|
37
47
|
import { z } from "zod";
|
|
38
48
|
|
|
39
49
|
//#region src/astro/routes/api/import/wordpress-plugin/execute.ts
|
|
@@ -92,7 +102,15 @@ const POST = async ({ request, locals }) => {
|
|
|
92
102
|
includeDrafts: true
|
|
93
103
|
});
|
|
94
104
|
const manifest = await dineway.getManifest();
|
|
95
|
-
const result = await importContent(items, config, dineway, manifest);
|
|
105
|
+
const { result, contentIdMap, collectionByWpId } = await importContent(items, config, dineway, manifest);
|
|
106
|
+
await importPluginFollowups({
|
|
107
|
+
dineway,
|
|
108
|
+
url: body.url,
|
|
109
|
+
token: body.token,
|
|
110
|
+
result,
|
|
111
|
+
contentIdMap,
|
|
112
|
+
collectionByWpId
|
|
113
|
+
});
|
|
96
114
|
console.log("[WP Plugin Import] Import result:", JSON.stringify(result, null, 2));
|
|
97
115
|
return apiSuccess({
|
|
98
116
|
success: true,
|
|
@@ -127,8 +145,168 @@ const IMPORT_FIELDS = [
|
|
|
127
145
|
label: "Featured Image",
|
|
128
146
|
type: "image",
|
|
129
147
|
check: (item) => !!item.featuredImage
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
slug: "seo_title",
|
|
151
|
+
label: "SEO Title",
|
|
152
|
+
type: "string",
|
|
153
|
+
check: (item) => !!extractSeo(item).title
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
slug: "seo_description",
|
|
157
|
+
label: "SEO Description",
|
|
158
|
+
type: "text",
|
|
159
|
+
check: (item) => !!extractSeo(item).description
|
|
130
160
|
}
|
|
131
161
|
];
|
|
162
|
+
/**
|
|
163
|
+
* Coerce WordPress meta values to the destination Dineway field type.
|
|
164
|
+
* Returns undefined when the value cannot be represented safely.
|
|
165
|
+
*/
|
|
166
|
+
function coerceToFieldType(value, fieldType) {
|
|
167
|
+
switch (fieldType) {
|
|
168
|
+
case "integer": {
|
|
169
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
170
|
+
return Number.isInteger(n) ? n : void 0;
|
|
171
|
+
}
|
|
172
|
+
case "number": {
|
|
173
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
174
|
+
return Number.isFinite(n) ? n : void 0;
|
|
175
|
+
}
|
|
176
|
+
case "boolean":
|
|
177
|
+
if (typeof value === "boolean") return value;
|
|
178
|
+
if (value === 1 || value === "1" || value === "true" || value === "yes") return true;
|
|
179
|
+
if (value === 0 || value === "0" || value === "false" || value === "no") return false;
|
|
180
|
+
return;
|
|
181
|
+
case "datetime": {
|
|
182
|
+
if (typeof value !== "string" && typeof value !== "number") return void 0;
|
|
183
|
+
const d = new Date(value);
|
|
184
|
+
return Number.isNaN(d.getTime()) ? void 0 : d.toISOString();
|
|
185
|
+
}
|
|
186
|
+
case "json": return value;
|
|
187
|
+
case "string":
|
|
188
|
+
case "text":
|
|
189
|
+
case "url":
|
|
190
|
+
case "select":
|
|
191
|
+
case "slug":
|
|
192
|
+
case "reference":
|
|
193
|
+
if (typeof value === "string") return value;
|
|
194
|
+
if (typeof value === "number") return String(value);
|
|
195
|
+
return;
|
|
196
|
+
default: return typeof value === "object" && value !== null ? value : void 0;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
function pickSeoValue(blob, key) {
|
|
200
|
+
if (typeof blob !== "object" || blob === null) return void 0;
|
|
201
|
+
const value = blob[key];
|
|
202
|
+
return typeof value === "string" && value.trim() !== "" ? value : void 0;
|
|
203
|
+
}
|
|
204
|
+
function extractSeo(item) {
|
|
205
|
+
const yoast = item.meta?._yoast;
|
|
206
|
+
const rankmath = item.meta?._rankmath;
|
|
207
|
+
return {
|
|
208
|
+
title: pickSeoValue(yoast, "title") ?? pickSeoValue(rankmath, "title"),
|
|
209
|
+
description: pickSeoValue(yoast, "description") ?? pickSeoValue(rankmath, "description")
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const BUILTIN_TAXONOMIES = new Set([
|
|
213
|
+
"category",
|
|
214
|
+
"post_tag",
|
|
215
|
+
"nav_menu",
|
|
216
|
+
"post_format"
|
|
217
|
+
]);
|
|
218
|
+
const TAXONOMY_NAME_PATTERN = /^[a-z][a-z0-9_]*$/;
|
|
219
|
+
function manifestFieldType(field) {
|
|
220
|
+
if (typeof field !== "object" || field === null) return void 0;
|
|
221
|
+
if ("kind" in field && typeof field.kind === "string") return field.kind;
|
|
222
|
+
if ("type" in field && typeof field.type === "string") return field.type;
|
|
223
|
+
}
|
|
224
|
+
async function ensureCustomTaxonomyDefs(db, taxonomies, config) {
|
|
225
|
+
const created = [];
|
|
226
|
+
for (const taxonomy of taxonomies) {
|
|
227
|
+
if (BUILTIN_TAXONOMIES.has(taxonomy.name)) continue;
|
|
228
|
+
if (taxonomy.terms.length === 0) continue;
|
|
229
|
+
if (!TAXONOMY_NAME_PATTERN.test(taxonomy.name)) continue;
|
|
230
|
+
if (await db.selectFrom("_dineway_taxonomy_defs").select("id").where("name", "=", taxonomy.name).executeTakeFirst()) continue;
|
|
231
|
+
const collections = (taxonomy.post_types ?? []).map((postType) => config.postTypeMappings[postType]).filter((mapping) => mapping?.enabled).map((mapping) => mapping.collection);
|
|
232
|
+
const result = await handleTaxonomyCreate(db, {
|
|
233
|
+
name: taxonomy.name,
|
|
234
|
+
label: taxonomy.label,
|
|
235
|
+
labelSingular: taxonomy.label_singular,
|
|
236
|
+
hierarchical: taxonomy.hierarchical,
|
|
237
|
+
collections: [...new Set(collections)]
|
|
238
|
+
});
|
|
239
|
+
if (result.success) created.push(taxonomy.name);
|
|
240
|
+
else console.warn(`[WP Plugin Import] Could not create taxonomy '${taxonomy.name}':`, result.error.message);
|
|
241
|
+
}
|
|
242
|
+
return created;
|
|
243
|
+
}
|
|
244
|
+
async function importPluginFollowups({ dineway, url, token, result, contentIdMap, collectionByWpId, fetchers }) {
|
|
245
|
+
const fetchMenus = fetchers?.menus ?? fetchPluginMenus;
|
|
246
|
+
const fetchComments = fetchers?.comments ?? fetchPluginComments;
|
|
247
|
+
const fetchOptions = fetchers?.options ?? fetchPluginOptions;
|
|
248
|
+
try {
|
|
249
|
+
const menus = await fetchMenus(url, token);
|
|
250
|
+
if (menus.length > 0) {
|
|
251
|
+
const menuResult = await importMenusFromPlugin(menus, dineway.db, contentIdMap);
|
|
252
|
+
result.menus = {
|
|
253
|
+
created: menuResult.menusCreated,
|
|
254
|
+
items: menuResult.itemsCreated
|
|
255
|
+
};
|
|
256
|
+
for (const menuError of menuResult.errors) result.errors.push({
|
|
257
|
+
title: `Menu: ${menuError.menu}`,
|
|
258
|
+
error: menuError.error
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
} catch (error) {
|
|
262
|
+
console.warn("[WP Plugin Import] Menu import failed:", error);
|
|
263
|
+
}
|
|
264
|
+
try {
|
|
265
|
+
const comments = await fetchComments(url, token);
|
|
266
|
+
if (comments.length > 0) {
|
|
267
|
+
const commentsResult = await importCommentsFromPlugin(comments, dineway.db, contentIdMap, collectionByWpId);
|
|
268
|
+
result.comments = {
|
|
269
|
+
imported: commentsResult.imported,
|
|
270
|
+
skipped: commentsResult.skipped
|
|
271
|
+
};
|
|
272
|
+
for (const commentError of commentsResult.errors) result.errors.push({
|
|
273
|
+
title: `Comment: ${commentError.comment}`,
|
|
274
|
+
error: commentError.error
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
} catch (error) {
|
|
278
|
+
console.warn("[WP Plugin Import] Comment import failed:", error);
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
result.siteSettings = await applySiteSettings(dineway, url, token, fetchOptions);
|
|
282
|
+
} catch (error) {
|
|
283
|
+
console.warn("[WP Plugin Import] Site settings import failed:", error);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
async function applySiteSettings(dineway, url, token, fetchOptions) {
|
|
287
|
+
const parsed = parseSiteSettingsFromPlugin(await fetchOptions(url, token));
|
|
288
|
+
const media = {};
|
|
289
|
+
const storage = dineway.storage;
|
|
290
|
+
if (storage && (parsed.logo?.url || parsed.favicon?.url)) {
|
|
291
|
+
const attachments = [];
|
|
292
|
+
if (parsed.logo?.url) attachments.push({
|
|
293
|
+
id: parsed.logo.id,
|
|
294
|
+
url: parsed.logo.url
|
|
295
|
+
});
|
|
296
|
+
if (parsed.favicon?.url && parsed.favicon.url !== parsed.logo?.url) attachments.push({
|
|
297
|
+
id: parsed.favicon.id,
|
|
298
|
+
url: parsed.favicon.url
|
|
299
|
+
});
|
|
300
|
+
const mediaResult = await importMediaWithProgress(attachments, dineway.db, storage, () => {});
|
|
301
|
+
for (const item of mediaResult.imported) {
|
|
302
|
+
if (item.originalUrl === parsed.logo?.url) media.logoMediaId = item.mediaId;
|
|
303
|
+
if (item.originalUrl === parsed.favicon?.url) media.faviconMediaId = item.mediaId;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
const settingsResult = await importSiteSettings(parsed, dineway.db, true, media);
|
|
307
|
+
for (const settingError of settingsResult.errors) console.warn(`[WP Plugin Import] Site setting "${settingError.setting}" failed:`, settingError.error);
|
|
308
|
+
return settingsResult.applied;
|
|
309
|
+
}
|
|
132
310
|
async function importContent(items, config, dineway, manifest) {
|
|
133
311
|
const result = {
|
|
134
312
|
success: true,
|
|
@@ -137,11 +315,14 @@ async function importContent(items, config, dineway, manifest) {
|
|
|
137
315
|
errors: [],
|
|
138
316
|
byCollection: {}
|
|
139
317
|
};
|
|
318
|
+
const contentIdMap = /* @__PURE__ */ new Map();
|
|
319
|
+
const collectionByWpId = /* @__PURE__ */ new Map();
|
|
140
320
|
const contentRepo = new ContentRepository(dineway.db);
|
|
141
321
|
const bylineRepo = new BylineRepository(dineway.db);
|
|
142
322
|
const bylineCache = /* @__PURE__ */ new Map();
|
|
143
323
|
const schemaRegistry = new SchemaRegistry(dineway.db);
|
|
144
|
-
const
|
|
324
|
+
const ensuredFields = /* @__PURE__ */ new Set();
|
|
325
|
+
const fieldTypesByCollection = /* @__PURE__ */ new Map();
|
|
145
326
|
const translationGroupMap = /* @__PURE__ */ new Map();
|
|
146
327
|
for await (const item of items) {
|
|
147
328
|
console.log("[WP Plugin Import] Processing item:", {
|
|
@@ -168,29 +349,50 @@ async function importContent(items, config, dineway, manifest) {
|
|
|
168
349
|
continue;
|
|
169
350
|
}
|
|
170
351
|
try {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
352
|
+
for (const field of IMPORT_FIELDS) {
|
|
353
|
+
const ensureKey = `${collection}:${field.slug}`;
|
|
354
|
+
if (ensuredFields.has(ensureKey) || !field.check(item)) continue;
|
|
355
|
+
ensuredFields.add(ensureKey);
|
|
356
|
+
if (!await schemaRegistry.getField(collection, field.slug)) {
|
|
357
|
+
console.log(`[WP Plugin Import] Creating missing field "${field.slug}" in collection "${collection}"`);
|
|
358
|
+
try {
|
|
359
|
+
await schemaRegistry.createField(collection, {
|
|
360
|
+
slug: field.slug,
|
|
361
|
+
label: field.label,
|
|
362
|
+
type: field.type,
|
|
363
|
+
required: false
|
|
364
|
+
});
|
|
365
|
+
fieldTypesByCollection.get(collection)?.set(field.slug, field.type);
|
|
366
|
+
} catch (e) {
|
|
367
|
+
console.log(`[WP Plugin Import] Field "${field.slug}" creation skipped:`, e instanceof Error ? e.message : e);
|
|
185
368
|
}
|
|
186
369
|
}
|
|
187
|
-
|
|
370
|
+
}
|
|
371
|
+
let fieldTypes = fieldTypesByCollection.get(collection);
|
|
372
|
+
if (!fieldTypes) {
|
|
373
|
+
fieldTypes = /* @__PURE__ */ new Map();
|
|
374
|
+
const manifestFields = manifest.collections[collection]?.fields ?? {};
|
|
375
|
+
for (const [slug, field] of Object.entries(manifestFields)) {
|
|
376
|
+
const fieldType = manifestFieldType(field);
|
|
377
|
+
if (fieldType) fieldTypes.set(slug, fieldType);
|
|
378
|
+
}
|
|
379
|
+
const registryWithLists = schemaRegistry;
|
|
380
|
+
if (typeof registryWithLists.getCollection === "function" && typeof registryWithLists.listFields === "function") {
|
|
381
|
+
const collectionDef = await registryWithLists.getCollection(collection);
|
|
382
|
+
for (const field of collectionDef ? await registryWithLists.listFields(collectionDef.id) : []) fieldTypes.set(field.slug, field.type);
|
|
383
|
+
}
|
|
384
|
+
fieldTypesByCollection.set(collection, fieldTypes);
|
|
188
385
|
}
|
|
189
386
|
const slug = item.slug || slugify(item.title || `post-${item.sourceId}`);
|
|
190
387
|
if (config.skipExisting) {
|
|
191
388
|
const existing = await contentRepo.findBySlug(collection, slug, item.locale);
|
|
192
389
|
if (existing) {
|
|
193
390
|
if (item.translationGroup) translationGroupMap.set(item.translationGroup, existing.id);
|
|
391
|
+
const wpId = Number(item.sourceId);
|
|
392
|
+
if (Number.isFinite(wpId)) {
|
|
393
|
+
contentIdMap.set(wpId, existing.id);
|
|
394
|
+
collectionByWpId.set(wpId, collection);
|
|
395
|
+
}
|
|
194
396
|
result.skipped++;
|
|
195
397
|
continue;
|
|
196
398
|
}
|
|
@@ -204,6 +406,23 @@ async function importContent(items, config, dineway, manifest) {
|
|
|
204
406
|
data.featured_image = item.featuredImage;
|
|
205
407
|
console.log("[WP Plugin Import] Adding featured_image:", item.featuredImage);
|
|
206
408
|
}
|
|
409
|
+
const seo = extractSeo(item);
|
|
410
|
+
if (seo.title) data.seo_title = seo.title;
|
|
411
|
+
if (seo.description) data.seo_description = seo.description;
|
|
412
|
+
const assignMetaValue = (key, value) => {
|
|
413
|
+
if (value === null || value === "") return;
|
|
414
|
+
const fieldSlug = sanitizeFieldSlug(key);
|
|
415
|
+
const fieldType = fieldTypes.get(fieldSlug);
|
|
416
|
+
if (!fieldType || fieldSlug in data) return;
|
|
417
|
+
const coerced = coerceToFieldType(value, fieldType);
|
|
418
|
+
if (coerced !== void 0) data[fieldSlug] = coerced;
|
|
419
|
+
};
|
|
420
|
+
const acf = item.meta?._acf;
|
|
421
|
+
if (typeof acf === "object" && acf !== null) for (const [key, value] of Object.entries(acf)) assignMetaValue(key, value);
|
|
422
|
+
if (item.meta) for (const [key, value] of Object.entries(item.meta)) {
|
|
423
|
+
if (key.startsWith("_")) continue;
|
|
424
|
+
assignMetaValue(key, value);
|
|
425
|
+
}
|
|
207
426
|
let authorId;
|
|
208
427
|
if (config.authorMappings && item.author) {
|
|
209
428
|
const mappedUserId = config.authorMappings[item.author];
|
|
@@ -232,10 +451,15 @@ async function importContent(items, config, dineway, manifest) {
|
|
|
232
451
|
if (createResult.success) {
|
|
233
452
|
result.imported++;
|
|
234
453
|
result.byCollection[collection] = (result.byCollection[collection] || 0) + 1;
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
454
|
+
const createdId = createResult.data?.item?.id;
|
|
455
|
+
if (createdId) {
|
|
456
|
+
const wpId = Number(item.sourceId);
|
|
457
|
+
if (Number.isFinite(wpId)) {
|
|
458
|
+
contentIdMap.set(wpId, createdId);
|
|
459
|
+
collectionByWpId.set(wpId, collection);
|
|
460
|
+
}
|
|
238
461
|
}
|
|
462
|
+
if (item.translationGroup && !translationGroupMap.has(item.translationGroup) && createdId) translationGroupMap.set(item.translationGroup, createdId);
|
|
239
463
|
} else result.errors.push({
|
|
240
464
|
title: item.title || "Untitled",
|
|
241
465
|
error: typeof createResult.error === "object" && createResult.error !== null ? createResult.error.message || "Unknown error" : String(createResult.error)
|
|
@@ -249,7 +473,11 @@ async function importContent(items, config, dineway, manifest) {
|
|
|
249
473
|
}
|
|
250
474
|
}
|
|
251
475
|
result.success = result.errors.length === 0;
|
|
252
|
-
return
|
|
476
|
+
return {
|
|
477
|
+
result,
|
|
478
|
+
contentIdMap,
|
|
479
|
+
collectionByWpId
|
|
480
|
+
};
|
|
253
481
|
}
|
|
254
482
|
function mapStatus(wpStatus) {
|
|
255
483
|
switch (wpStatus) {
|
|
@@ -267,4 +495,4 @@ async function collectPluginItems(items) {
|
|
|
267
495
|
}
|
|
268
496
|
|
|
269
497
|
//#endregion
|
|
270
|
-
export { POST, prerender };
|
|
498
|
+
export { POST, coerceToFieldType, ensureCustomTaxonomyDefs, importContent, importPluginFollowups, prerender };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { t as OptionsRepository } from "../../../options-DQPTH5n0.mjs";
|
|
2
|
+
import { n as VERSION, t as COMMIT } from "../../../version-BTvfRGc6.mjs";
|
|
3
|
+
import { r as handleError } from "../../../error-CytFlgcd.mjs";
|
|
4
|
+
import { t as getAuthMode } from "../../../mode-C4CIyjtR.mjs";
|
|
5
|
+
import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-BMsUnIAw.mjs";
|
|
5
6
|
|
|
6
7
|
//#region src/astro/routes/api/manifest.ts
|
|
7
8
|
const prerender = false;
|
|
@@ -10,7 +11,15 @@ const GET = async ({ locals }) => {
|
|
|
10
11
|
const { dineway } = locals;
|
|
11
12
|
const manifestSource = dineway ? await dineway.getManifest() : null;
|
|
12
13
|
const authMode = getAuthMode(dineway?.config);
|
|
13
|
-
|
|
14
|
+
let adminBranding = manifestSource?.admin ?? dineway?.config.admin;
|
|
15
|
+
if (!adminBranding?.siteName && dineway?.db) try {
|
|
16
|
+
const titles = await new OptionsRepository(dineway.db).getMany(["site:title", "dineway:site_title"]);
|
|
17
|
+
const siteTitle = titles.get("site:title") ?? titles.get("dineway:site_title");
|
|
18
|
+
if (siteTitle) adminBranding = {
|
|
19
|
+
...adminBranding,
|
|
20
|
+
siteName: siteTitle
|
|
21
|
+
};
|
|
22
|
+
} catch {}
|
|
14
23
|
let signupEnabled = false;
|
|
15
24
|
if (dineway?.db && authMode.type === "passkey") try {
|
|
16
25
|
const { sql } = await import("kysely");
|