dineway 0.2.0 → 0.2.2
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/README.md +17 -17
- package/dist/activity-BDMlkpYY.mjs +79 -0
- package/dist/{activity-events-y6eT8UW6.mjs → activity-events-DEYmJhWd.mjs} +1 -77
- package/dist/{actor-CrObAPV0.mjs → actor-DA7yL9Yp.mjs} +1 -1
- package/dist/{allowed-origins-_oeyP6x-.mjs → allowed-origins-VLgv2PL1.mjs} +1 -1
- package/dist/api/route-utils.d.mts +9 -10
- package/dist/api/route-utils.mjs +14 -14
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +5 -5
- package/dist/{api-ByrU2q-Z.mjs → api-DsO87Qak.mjs} +51 -23
- package/dist/{api-tokens-CjVMQT-X.mjs → api-tokens-C4K9eocv.mjs} +1 -1
- package/dist/{apply-bZswmZPm.mjs → apply-DHT0l398.mjs} +19 -19
- package/dist/astro/index.d.mts +10 -11
- package/dist/astro/index.mjs +18 -5
- package/dist/astro/middleware/auth.d.mts +9 -19
- package/dist/astro/middleware/auth.mjs +6 -6
- package/dist/astro/middleware/redirect.mjs +5 -5
- package/dist/astro/middleware/request-context.mjs +2 -2
- package/dist/astro/middleware/seed.d.mts +1 -1
- package/dist/astro/middleware/seed.mjs +1 -1
- package/dist/astro/middleware/setup.mjs +1 -1
- package/dist/astro/middleware.mjs +142 -98
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +6 -6
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +6 -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 +18 -18
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -9
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -9
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -9
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +16 -16
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +16 -16
- package/dist/astro/routes/api/admin/bylines/index.mjs +16 -16
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +12 -12
- package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/bulk.mjs +10 -10
- package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/index.mjs +10 -10
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +25 -24
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +25 -24
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +30 -29
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +30 -29
- package/dist/astro/routes/api/admin/context/diff.mjs +29 -28
- package/dist/astro/routes/api/admin/context/index.mjs +30 -29
- package/dist/astro/routes/api/admin/context/stale.mjs +29 -28
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +25 -24
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +29 -28
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +29 -28
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +26 -25
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
- 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 -44
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -50
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +54 -50
- package/dist/astro/routes/api/admin/plugins/index.mjs +47 -44
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -44
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +54 -50
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -44
- package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -44
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +30 -65
- package/dist/astro/routes/api/admin/review-requests/index.d.mts +2 -1
- package/dist/astro/routes/api/admin/review-requests/index.mjs +58 -11
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -44
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -44
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +7 -7
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
- package/dist/astro/routes/api/admin/users/index.mjs +6 -6
- package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +10 -10
- package/dist/astro/routes/api/auth/invite/index.mjs +7 -7
- package/dist/astro/routes/api/auth/invite/register-options.mjs +9 -9
- package/dist/astro/routes/api/auth/logout.mjs +2 -2
- package/dist/astro/routes/api/auth/magic-link/send.mjs +9 -9
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
- package/dist/astro/routes/api/auth/me.mjs +8 -8
- package/dist/astro/routes/api/auth/mode.mjs +1 -1
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -6
- package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/options.mjs +11 -11
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +9 -9
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +10 -10
- package/dist/astro/routes/api/auth/passkey/verify.mjs +10 -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 +10 -10
- package/dist/astro/routes/api/auth/signup/request.mjs +9 -9
- package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +12 -12
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +10 -10
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +49 -21
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +67 -33
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +14 -14
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -7
- package/dist/astro/routes/api/dashboard.mjs +8 -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 +19 -19
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +8 -9
- package/dist/astro/routes/api/import/wordpress/execute.mjs +35 -34
- package/dist/astro/routes/api/import/wordpress/media.d.mts +8 -9
- package/dist/astro/routes/api/import/wordpress/media.mjs +12 -12
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +34 -33
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +9 -10
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +31 -30
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +22 -22
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +8 -9
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +40 -39
- package/dist/astro/routes/api/integrations/_provider_.d.mts +8 -0
- package/dist/astro/routes/api/integrations/_provider_.mjs +51 -0
- package/dist/astro/routes/api/integrations/index.d.mts +7 -0
- package/dist/astro/routes/api/integrations/index.mjs +24 -0
- package/dist/astro/routes/api/manifest.mjs +4 -4
- package/dist/astro/routes/api/mcp.mjs +474 -167
- package/dist/astro/routes/api/media/_id_/confirm.mjs +10 -10
- package/dist/astro/routes/api/media/_id_.mjs +8 -8
- 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 -11
- package/dist/astro/routes/api/media.mjs +14 -14
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +30 -29
- package/dist/astro/routes/api/menus/_name_/items.mjs +30 -29
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +30 -29
- package/dist/astro/routes/api/menus/_name_/translations.mjs +30 -29
- package/dist/astro/routes/api/menus/_name_.mjs +30 -29
- package/dist/astro/routes/api/menus/index.mjs +30 -29
- 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 -4
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +20 -5
- package/dist/astro/routes/api/redirects/404s/index.mjs +10 -10
- package/dist/astro/routes/api/redirects/404s/summary.mjs +10 -10
- package/dist/astro/routes/api/redirects/_id_.mjs +31 -30
- package/dist/astro/routes/api/redirects/index.mjs +31 -30
- 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 +49 -45
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +49 -45
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +49 -45
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +49 -45
- package/dist/astro/routes/api/schema/collections/index.mjs +49 -45
- package/dist/astro/routes/api/schema/index.mjs +8 -8
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -44
- package/dist/astro/routes/api/schema/orphans/index.mjs +47 -44
- package/dist/astro/routes/api/search/enable.mjs +11 -11
- package/dist/astro/routes/api/search/index.mjs +10 -10
- package/dist/astro/routes/api/search/rebuild.mjs +11 -11
- package/dist/astro/routes/api/search/stats.mjs +6 -6
- package/dist/astro/routes/api/search/suggest.mjs +10 -10
- package/dist/astro/routes/api/sections/_slug_.mjs +30 -29
- package/dist/astro/routes/api/sections/index.mjs +30 -29
- package/dist/astro/routes/api/settings/email.mjs +3 -3
- package/dist/astro/routes/api/settings.mjs +30 -29
- package/dist/astro/routes/api/setup/admin-verify.mjs +12 -12
- package/dist/astro/routes/api/setup/admin.mjs +10 -10
- package/dist/astro/routes/api/setup/dev-bypass.mjs +25 -25
- package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
- package/dist/astro/routes/api/setup/index.mjs +27 -27
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +6 -6
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +33 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +33 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +33 -32
- package/dist/astro/routes/api/taxonomies/index.mjs +33 -32
- package/dist/astro/routes/api/themes/preview.mjs +4 -4
- package/dist/astro/routes/api/typegen.mjs +4 -4
- package/dist/astro/routes/api/well-known/auth.mjs +2 -2
- 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 +29 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +30 -29
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +30 -29
- package/dist/astro/routes/api/widget-areas/_name_.mjs +27 -26
- package/dist/astro/routes/api/widget-areas/index.mjs +30 -29
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +6 -6
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +9 -9
- package/dist/astro/routes/sitemap.xml.mjs +7 -7
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +2 -2
- package/dist/astro/types.d.mts +13 -12
- package/dist/{audit-ByVKIwWF.mjs → audit-BzhwRVym.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-CqeUmQsv.mjs → auth-control-guard-B_Dx-epW.mjs} +1 -1
- package/dist/{authorize-CcBxcHtz.mjs → authorize-D6MkRtPw.mjs} +1 -1
- package/dist/{briefing-BJaJI8dm.mjs → briefing-Cl70iEH5.mjs} +1 -1
- package/dist/{briefing-CawZ59CY.mjs → briefing-GFhLTLJo.mjs} +7 -7
- package/dist/{bundle-7C_DpkEq.mjs → bundle-CIrUlrkQ.mjs} +2 -2
- package/dist/{byline-e51-fWRs.mjs → byline-BJa1MyKB.mjs} +6 -6
- package/dist/{byline-fields-D-N5qVIG.mjs → byline-fields-BKzA0fJU.mjs} +1 -1
- package/dist/{byline-fields-CUvbslGc.d.mts → byline-fields-DxMpdtsZ.d.mts} +57 -47
- package/dist/{byline-fields-DOJO16Gm.mjs → byline-fields-yT4herdN.mjs} +10 -4
- package/dist/{byline-registry-87nNnYl4.mjs → byline-registry-Ba54M74c.mjs} +2 -2
- package/dist/{bylines-CMQNCNFh.mjs → bylines-B53Saxdb.mjs} +3 -3
- package/dist/{bylines-y4LO-dTj.mjs → bylines-kixFoaRV.mjs} +5 -5
- package/dist/{cache-C-FNTFYK.mjs → cache-fpisdt5Q.mjs} +2 -2
- package/dist/{chunks-CxBt-GxR.mjs → chunks-DX_b8_4Z.mjs} +1 -1
- package/dist/cli/index.d.mts +29 -1
- package/dist/cli/index.mjs +1527 -1222
- package/dist/cli/plugin-kit.d.mts +75 -0
- package/dist/cli/plugin-kit.mjs +4 -0
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +27 -52
- package/dist/client/index.mjs +34 -7
- package/dist/client-factory-DEtHApCc.mjs +323 -0
- package/dist/{comment-DlA4iChg.mjs → comment-B88XcvU1.mjs} +1 -1
- package/dist/{comment-reaction-DfFao1ST.mjs → comment-reaction-Ckn6vCmB.mjs} +1 -1
- package/dist/{comments-DApFGMsP.mjs → comments-BDXsbL7z.mjs} +1 -1
- package/dist/{content-Bh4BDjv8.mjs → content-Cbl8HbIR.mjs} +2 -2
- package/dist/{content-refresh-CgutSUfO.mjs → content-refresh-BmkilU5M.mjs} +5 -5
- package/dist/{context-CK4ym2Sf.mjs → context-AJNd0tcG.mjs} +2 -2
- package/dist/{context-C5W3G18y.mjs → context-DT0tIsfw.mjs} +24 -13
- package/dist/{context-route-helpers-MASyGgWf.mjs → context-route-helpers-DhP--tTq.mjs} +2 -2
- package/dist/{dashboard-DQkVT7Ei.mjs → dashboard-YvDEYbS3.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-BnqRH-T9.mjs → device-flow-BKKeobcV.mjs} +5 -5
- package/dist/{enrich-DIFIFA8O.mjs → enrich-Ck9tfMqe.mjs} +1 -1
- package/dist/{error-CytFlgcd.mjs → error-BW9f_ynq.mjs} +16 -2
- package/dist/{experimental-workflows-BMsUnIAw.mjs → experimental-workflows-CgO73K4e.mjs} +1 -1
- package/dist/{field-defs-cache-DRNdhBJv.mjs → field-defs-cache-CiXP3eO3.mjs} +4 -4
- package/dist/{fts-manager-Crzypjqu.mjs → fts-manager-Zo9uhGel.mjs} +1 -1
- package/dist/{hitl-requests-B4Vbcmaq.mjs → hitl-requests-Bee8Cjj8.mjs} +2 -2
- package/dist/{hitl-route-helpers-hEVzvP8l.mjs → hitl-route-helpers-DtHaKGgm.mjs} +5 -5
- package/dist/{import-Bh9biJfx.mjs → import-C-zxnT89.mjs} +7 -7
- package/dist/{index-D4y6NGiy.d.mts → index-DybFmYtZ.d.mts} +79 -3
- package/dist/index.d.mts +15 -17
- package/dist/index.mjs +83 -78
- package/dist/integration-credentials-D3ZneN0L.mjs +49 -0
- package/dist/{jsonld-Dq0gsnOH.d.mts → jsonld-CoTa8I1a.d.mts} +2 -2
- package/dist/{load-DmYeniXl.mjs → load-Cuiyh8LT.mjs} +1 -1
- package/dist/{loader-CjWqjweO.mjs → loader-WHf22FwU.mjs} +2 -2
- package/dist/{manifest-schema-BxVPYMJR.mjs → manifest-schema-DKa3ZaJL.mjs} +6 -2
- package/dist/{mcp-reviewed-executor-TwVbMzG6.mjs → mcp-reviewed-executor-DnlF7mIL.mjs} +6 -3
- package/dist/media/image-endpoint.mjs +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/index.mjs +2 -2
- package/dist/media/local-runtime.d.mts +10 -11
- package/dist/media/local-runtime.mjs +2 -2
- package/dist/{media-DMj0grzC.mjs → media-B4m-cnmj.mjs} +1 -1
- package/dist/{media-allowlist-BlVCSzHx.mjs → media-allowlist-BQyIBPzd.mjs} +1 -1
- package/dist/{menus-TaW1gKnk.mjs → menus-LYALU2Mf.mjs} +2 -2
- package/dist/{menus-xvsnVZXw.mjs → menus-oYfViqfE.mjs} +6 -6
- package/dist/{oauth-authorization-DiaGvRVz.mjs → oauth-authorization-CX7aa8Ph.mjs} +5 -5
- package/dist/{oauth-clients-Dl9E8dEM.mjs → oauth-clients-D9Gg0WjF.mjs} +2 -2
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/output-13u4dvu-.mjs +68 -0
- package/dist/page/index.d.mts +9 -3
- package/dist/page/index.mjs +1 -1
- package/dist/{parse-CbymENaR.mjs → parse-B-Y84oJl.mjs} +1 -1
- package/dist/plugin-utils.d.mts +8 -9
- package/dist/plugins/adapt-sandbox-entry.d.mts +8 -9
- package/dist/plugins/adapt-sandbox-entry.mjs +3 -1
- package/dist/{plugins-BolVa-tl.mjs → plugins-B7-4Okii.mjs} +95 -10
- package/dist/portable-text-Ehqj3I_y.d.mts +45 -0
- package/dist/{preview-vSVg6fwG.mjs → preview-BMIReQGc.mjs} +2 -2
- package/dist/{provider-loader-MD8zAbnH.d.mts → provider-loader-BIbIiz0P.d.mts} +1 -1
- package/dist/{public-url-gsp3oUbu.d.mts → public-url-DYISdY_R.d.mts} +1 -1
- package/dist/publication-authorization-BVQ5rCAF.mjs +985 -0
- package/dist/{query-CfRCdaL3.mjs → query-C_m8sn-S.mjs} +13 -13
- package/dist/{query-jaAmw8E1.mjs → query-DNczixZr.mjs} +3 -3
- package/dist/{rate-limit-ZLdyWoZF.mjs → rate-limit-oUGexQO1.mjs} +2 -2
- package/dist/{redirect-BAjt4Z6b.mjs → redirect-DoDgOWIA.mjs} +2 -2
- package/dist/{redirects-BTdwpQtE.mjs → redirects-CrP6U4hZ.mjs} +4 -4
- package/dist/{redirects-CA-xylPG.mjs → redirects-E_B6hvuz.mjs} +18 -10
- package/dist/{registry-CtyVedcN.mjs → registry-SEJqFliS.mjs} +24 -10
- package/dist/{request-meta-CUypToDJ.mjs → request-meta-DHFIzWcf.mjs} +1 -1
- package/dist/review-payload-BysRWpxS.mjs +111 -0
- package/dist/{review-requests-DUyEmtmG.mjs → review-requests-CObSuTYU.mjs} +1 -1
- package/dist/review-requests-Cu9051_B.mjs +142 -0
- package/dist/review-route-helpers-Dp_7PH8r.mjs +41 -0
- package/dist/{runner-1tC2tIRV.d.mts → runner-Bcy5w0vj.d.mts} +1 -1
- package/dist/{runner-DB7CRfOF.mjs → runner-BfWbi9YY.mjs} +1166 -447
- package/dist/runtime.d.mts +9 -10
- package/dist/runtime.mjs +3 -3
- package/dist/schema-Dk_N31V4.mjs +8 -0
- package/dist/{search-DSaLgEFI.mjs → search-BXEQepxL.mjs} +3 -3
- package/dist/{secrets-CDZo2k8L.mjs → secrets-CpGpyGcO.mjs} +1 -1
- package/dist/{sections-PVVXHGfp.mjs → sections-DxvEF6Bj.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +19 -19
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +1 -1
- package/dist/{seo-CQG3GCHQ.mjs → seo-D1RiaooQ.mjs} +1 -1
- package/dist/service-CY0aH6eI.mjs +347 -0
- package/dist/{service-DiN4ZuPp.mjs → service-QdG0YHws.mjs} +2 -2
- package/dist/{settings-i4VPP8bT.mjs → settings-Dje-PHXo.mjs} +2 -2
- package/dist/{settings-BbqgHWpU.mjs → settings-SVDAB7_W.mjs} +5 -5
- package/dist/{site-activity-Dy3FROs0.mjs → site-activity-BVK40wCy.mjs} +1 -1
- package/dist/{site-context-DQiL8Fl5.mjs → site-context-CzaEGizi.mjs} +565 -129
- package/dist/stable-hash-DshcXvRE.mjs +19 -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/store-CCfMD6nw.mjs +262 -0
- package/dist/{taxonomies-9s-v03H-.mjs → taxonomies-DuhGjBa8.mjs} +3 -3
- package/dist/{taxonomies-DRiixp_E.mjs → taxonomies-WVnFki0o.mjs} +6 -6
- package/dist/{taxonomy-Dvsw6BOs.mjs → taxonomy-CCo2plmV.mjs} +2 -2
- package/dist/{types-DU0bU2Wu.d.mts → types-BFeoAIHl.d.mts} +596 -2
- package/dist/{types-Dq1qT19x.mjs → types-Bshd_6wQ.mjs} +1 -1
- package/dist/{runtime-BOeiQsCv.d.mts → types-CJezJeNE.d.mts} +3561 -1355
- package/dist/{types-4garmdWa.mjs → types-CK0r-Xq4.mjs} +5 -2
- package/dist/{types-C_ly5eTp.d.mts → types-GtwhHAg8.d.mts} +1 -1
- package/dist/{types-DW_-sFyz.d.mts → types-ywmuDETA.d.mts} +2 -0
- package/dist/ui/server-runtime.d.mts +12 -14
- package/dist/ui/server-runtime.mjs +21 -21
- package/dist/{user-BIZPzCb9.mjs → user-Bcvr5ihC.mjs} +2 -2
- package/dist/{utils-CMDhr5Xd.mjs → utils-B7gemXz5.mjs} +1 -1
- package/dist/{validate-CZvb-BKB.d.mts → validate-YiX3rly5.d.mts} +59 -5
- package/dist/{validate-DNs0pTSc.mjs → validate-qKzI3BCv.mjs} +2 -2
- package/dist/version-DEAV9k58.mjs +6 -0
- package/dist/{widgets-f0ibZUIq.mjs → widgets-DyGcotPM.mjs} +3 -3
- package/dist/{wordpress-slugs-BhHJX8XE.mjs → wordpress-slugs-D_LfQCan.mjs} +1 -1
- package/dist/{zod-generator-B7TMjyFJ.mjs → zod-generator-Cr3SiHsc.mjs} +2 -2
- package/package.json +16 -6
- package/dist/hitl-Hw1RmWOq.mjs +0 -677
- package/dist/review-requests-C9Ff11Vq.mjs +0 -79
- package/dist/schema-DXdYj4R3.mjs +0 -8
- package/dist/types-C46EvNdc.d.mts +0 -56
- package/dist/types-C8XW6L19.d.mts +0 -1468
- package/dist/version-BTvfRGc6.mjs +0 -6
- /package/dist/{adapters-NVSs4UH7.d.mts → adapters-DnMDRQ4e.d.mts} +0 -0
- /package/dist/{api-tokens-2r7OWi_I.mjs → api-tokens-D4tcY8R6.mjs} +0 -0
- /package/dist/{challenge-store-Bjlepa2E.mjs → challenge-store-BMkL2kmt.mjs} +0 -0
- /package/dist/{components-Bclf98Be.mjs → components-D0w9MzQe.mjs} +0 -0
- /package/dist/{context-types-DqTo6C79.mjs → context-types-eBuMDAg-.mjs} +0 -0
- /package/dist/{cron-cKcNTix_.mjs → cron-D_c3WUPN.mjs} +0 -0
- /package/dist/{default--K40jqm0.mjs → default-BxoI3SoK.mjs} +0 -0
- /package/dist/{email-console-ChgKFO8-.mjs → email-console-BEMwuxhV.mjs} +0 -0
- /package/dist/{escape-Bd4P_xKg.mjs → escape-smSUOb7u.mjs} +0 -0
- /package/dist/{hash-BPmX6P8I.mjs → hash-mxxx2oPW.mjs} +0 -0
- /package/dist/{media-url-lEKSrpr9.mjs → media-url-B6d-yVI6.mjs} +0 -0
- /package/dist/{mime-CA7Lgovc.mjs → mime-C0vOHFm7.mjs} +0 -0
- /package/dist/{mode-C4CIyjtR.mjs → mode-DPC7segX.mjs} +0 -0
- /package/dist/{normalize-5ek_z7de.mjs → normalize-Cyt7JdF7.mjs} +0 -0
- /package/dist/{oauth-state-store-CNoXafF7.mjs → oauth-state-store-DPVzeoyY.mjs} +0 -0
- /package/dist/{oauth-user-lookup-Ygw4bNyt.mjs → oauth-user-lookup-3E5jlXrr.mjs} +0 -0
- /package/dist/{parser-C1nYd-81.mjs → parser-DX_c5iG3.mjs} +0 -0
- /package/dist/{passkey-config-BUwu8BA3.mjs → passkey-config-DE_0EGEP.mjs} +0 -0
- /package/dist/{patterns-BhAvqO0S.mjs → patterns-CoqlXUvk.mjs} +0 -0
- /package/dist/{placeholder-uvNRZBX9.d.mts → placeholder-C6ZjZcmJ.d.mts} +0 -0
- /package/dist/{portable-text-dA_UlJwW.mjs → portable-text-BASHceim.mjs} +0 -0
- /package/dist/{process-cache-7xgAO9JY.mjs → process-cache-CCDgti7j.mjs} +0 -0
- /package/dist/{provider-loader-D0w9dqjm.mjs → provider-loader-BeQcnPN1.mjs} +0 -0
- /package/dist/{public-url-BEz_sM9n.mjs → public-url-BA-7LKvQ.mjs} +0 -0
- /package/dist/{redirect-wphRBv4y.mjs → redirect-CZFAqHLr.mjs} +0 -0
- /package/dist/{request-cache-D9GQBxMP.mjs → request-cache-CBFjCwSt.mjs} +0 -0
- /package/dist/{resolve-Cb6Dbz-C.mjs → resolve-B6BpqwAR.mjs} +0 -0
- /package/dist/{seo-qa7Dn0jK.mjs → seo-BLszyJxd.mjs} +0 -0
- /package/dist/{seo-contributions-C1EnikHB.mjs → seo-contributions-Ci8_12_r.mjs} +0 -0
- /package/dist/{session-user-CAKImna3.mjs → session-user-BwliEFp0.mjs} +0 -0
- /package/dist/{setup-complete-B8fl-mjV.mjs → setup-complete-PvF8I7Oh.mjs} +0 -0
- /package/dist/{setup-nonce-CoyjILvW.mjs → setup-nonce-DkpYROqg.mjs} +0 -0
- /package/dist/{sidecar-client-C3mqXg4C.mjs → sidecar-client-dt5fv23q.mjs} +0 -0
- /package/dist/{site-url-BML3GQYm.mjs → site-url-DfYDZyWl.mjs} +0 -0
- /package/dist/{ssrf-DWe8jwAp.mjs → ssrf-BZHvtFEv.mjs} +0 -0
- /package/dist/{status-DANd8ERo.mjs → status-BN40hMpr.mjs} +0 -0
- /package/dist/{tokens-1RK1n6ED.mjs → tokens-DIzhPT80.mjs} +0 -0
- /package/dist/{transaction-C2EOMTJA.mjs → transaction-0LEAAy8R.mjs} +0 -0
- /package/dist/{transport-CcJu3Co8.d.mts → transport-BZ3aqdu7.d.mts} +0 -0
- /package/dist/{transport-BNmCqLu7.mjs → transport-C46KHLMP.mjs} +0 -0
- /package/dist/{trusted-proxy-DTXQ2IMv.mjs → trusted-proxy-czZuby6G.mjs} +0 -0
- /package/dist/{types-B3t5cxhU.mjs → types-B7TDDFMG.mjs} +0 -0
- /package/dist/{types-CDpH6MA4.d.mts → types-BsTXSvKG.d.mts} +0 -0
- /package/dist/{types-DF7ZuGGk.d.mts → types-CDcuRd4z.d.mts} +0 -0
- /package/dist/{types-Rc3gQqqw.d.mts → types-S9VIopdY.d.mts} +0 -0
- /package/dist/{types-POH8PQZh.d.mts → types-YxFz4lDr.d.mts} +0 -0
- /package/dist/{types-C5CVgwsV.mjs → types-gvNBqijt.mjs} +0 -0
- /package/dist/{url-CpyFDFpO.mjs → url-D282S1Zw.mjs} +0 -0
- /package/dist/{url-Cac7a9QZ.mjs → url-guoXQQcV.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as PLUGIN_CAPABILITIES, t as HOOK_NAMES } from "../manifest-schema-
|
|
1
|
+
import { n as PLUGIN_CAPABILITIES, t as HOOK_NAMES } from "../manifest-schema-DKa3ZaJL.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/plugins/adapt-sandbox-entry.ts
|
|
4
4
|
/**
|
|
@@ -90,6 +90,7 @@ function adaptSandboxEntry(definition, descriptor) {
|
|
|
90
90
|
if (capabilities.includes("content:write") && !capabilities.includes("content:read")) capabilities.push("content:read");
|
|
91
91
|
if (capabilities.includes("media:write") && !capabilities.includes("media:read")) capabilities.push("media:read");
|
|
92
92
|
if (capabilities.includes("network:request:unrestricted") && !capabilities.includes("network:request")) capabilities.push("network:request");
|
|
93
|
+
if (capabilities.includes("network:request:development-loopback") && !capabilities.includes("network:request:unrestricted")) throw new Error(`Plugin "${pluginId}" must also declare "network:request:unrestricted" when using "network:request:development-loopback".`);
|
|
93
94
|
const rawStorage = descriptor.storage ?? {};
|
|
94
95
|
const storage = {};
|
|
95
96
|
for (const [name, config] of Object.entries(rawStorage)) storage[name] = {
|
|
@@ -107,6 +108,7 @@ function adaptSandboxEntry(definition, descriptor) {
|
|
|
107
108
|
capabilities,
|
|
108
109
|
allowedHosts,
|
|
109
110
|
storage,
|
|
111
|
+
migrations: {},
|
|
110
112
|
hooks: resolvedHooks,
|
|
111
113
|
routes: resolvedRoutes,
|
|
112
114
|
mcp: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as validatePluginIdentifier, t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
|
|
2
2
|
import { i as encodeBase64url, n as decodeBase64url } from "./base64-F8-DUraK.mjs";
|
|
3
|
-
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-
|
|
3
|
+
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-DX_b8_4Z.mjs";
|
|
4
4
|
import { t as OptionsRepository } from "./options-DQPTH5n0.mjs";
|
|
5
|
-
import { n as createPluginContext, t as PluginContextFactory } from "./context-
|
|
6
|
-
import { t as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { sql } from "kysely";
|
|
5
|
+
import { n as createPluginContext, t as PluginContextFactory } from "./context-DT0tIsfw.mjs";
|
|
6
|
+
import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-CpGpyGcO.mjs";
|
|
7
|
+
import { t as extractRequestMeta } from "./request-meta-DHFIzWcf.mjs";
|
|
8
|
+
import { r as setCronTasksEnabled } from "./cron-D_c3WUPN.mjs";
|
|
9
|
+
import { Migrator, sql } from "kysely";
|
|
10
10
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
11
11
|
import { ulid } from "ulidx";
|
|
12
12
|
import { z } from "astro/zod";
|
|
@@ -1249,14 +1249,17 @@ function defineNativePlugin(definition) {
|
|
|
1249
1249
|
const SIMPLE_ID = /^[a-z0-9-]+$/;
|
|
1250
1250
|
const SCOPED_ID = /^@[a-z0-9-]+\/[a-z0-9-]+$/;
|
|
1251
1251
|
const SEMVER_PATTERN = /^\d+\.\d+\.\d+/;
|
|
1252
|
-
const
|
|
1252
|
+
const MIGRATION_NAME_PATTERN = /^\d{3}_[a-z][a-z0-9_]*$/;
|
|
1253
|
+
const { id, version, capabilities = [], allowedHosts = [], migrations = {}, hooks = {}, routes = {}, publicationReleasePolicies = [], admin = {} } = definition;
|
|
1253
1254
|
const mcp = resolveMcp(definition.mcp, id);
|
|
1254
1255
|
const storage = definition.storage ?? {};
|
|
1256
|
+
const normalizedMigrations = Object.fromEntries(Object.entries(migrations).toSorted(([left], [right]) => left.localeCompare(right)));
|
|
1255
1257
|
if (!SIMPLE_ID.test(id) && !SCOPED_ID.test(id)) throw new Error(`Invalid plugin id "${id}". Must be lowercase alphanumeric with dashes (e.g., "my-plugin" or "@scope/my-plugin").`);
|
|
1256
1258
|
if (!SEMVER_PATTERN.test(version)) throw new Error(`Invalid plugin version "${version}". Must be semver format (e.g., "1.0.0").`);
|
|
1257
1259
|
const validCapabilities = new Set([
|
|
1258
1260
|
"network:request",
|
|
1259
1261
|
"network:request:unrestricted",
|
|
1262
|
+
"network:request:development-loopback",
|
|
1260
1263
|
"content:read",
|
|
1261
1264
|
"content:write",
|
|
1262
1265
|
"media:read",
|
|
@@ -1268,30 +1271,47 @@ function defineNativePlugin(definition) {
|
|
|
1268
1271
|
"hooks.page-fragments:register"
|
|
1269
1272
|
]);
|
|
1270
1273
|
for (const cap of capabilities) if (!validCapabilities.has(cap)) throw new Error(`Invalid capability "${cap}" in plugin "${id}".`);
|
|
1274
|
+
for (const [name, migration] of Object.entries(normalizedMigrations)) {
|
|
1275
|
+
if (!MIGRATION_NAME_PATTERN.test(name)) throw new Error(`Invalid migration name "${name}" in plugin "${id}". Use NNN_descriptive_name.`);
|
|
1276
|
+
if (typeof migration.up !== "function") throw new Error(`Plugin "${id}" migration "${name}" requires an up function.`);
|
|
1277
|
+
if (migration.down !== void 0 && typeof migration.down !== "function") throw new Error(`Plugin "${id}" migration "${name}" has an invalid down function.`);
|
|
1278
|
+
}
|
|
1271
1279
|
const normalizedCapabilities = [...capabilities];
|
|
1272
1280
|
if (capabilities.includes("content:write") && !capabilities.includes("content:read")) normalizedCapabilities.push("content:read");
|
|
1273
1281
|
if (capabilities.includes("media:write") && !capabilities.includes("media:read")) normalizedCapabilities.push("media:read");
|
|
1274
1282
|
if (capabilities.includes("network:request:unrestricted") && !capabilities.includes("network:request")) normalizedCapabilities.push("network:request");
|
|
1283
|
+
if (capabilities.includes("network:request:development-loopback") && !capabilities.includes("network:request:unrestricted")) throw new Error(`Plugin "${id}" must also declare "network:request:unrestricted" when using "network:request:development-loopback".`);
|
|
1275
1284
|
for (const [routeName, route] of Object.entries(routes)) {
|
|
1276
1285
|
if (route.body !== void 0 && route.body !== "json" && route.body !== "raw") throw new Error(`Plugin "${id}" route "${routeName}" has an invalid body mode.`);
|
|
1277
1286
|
if (route.body === "raw" && route.input) throw new Error(`Plugin "${id}" raw-body route "${routeName}" cannot declare an input schema.`);
|
|
1278
1287
|
if (route.body !== "raw" && route.maxBodyBytes !== void 0) throw new Error(`Plugin "${id}" JSON route "${routeName}" cannot declare a raw body-size limit.`);
|
|
1279
1288
|
if (route.body === "raw" && route.maxBodyBytes !== void 0 && (!Number.isSafeInteger(route.maxBodyBytes) || route.maxBodyBytes < 1 || route.maxBodyBytes > MAX_PLUGIN_RAW_BODY_LIMIT_BYTES)) throw new Error(`Plugin "${id}" raw-body route "${routeName}" has an invalid body-size limit.`);
|
|
1280
1289
|
if (route.public === true && route.authorization) throw new Error(`Plugin "${id}" public route "${routeName}" cannot declare private authorization.`);
|
|
1290
|
+
if (route.apiTokenPolicy && (route.public === true || !route.authorization)) throw new Error(`Plugin "${id}" route "${routeName}" API-token policy requires private authorization.`);
|
|
1291
|
+
if (route.apiTokenPolicy?.effect === "write" && (route.apiTokenPolicy.idempotencyField.trim().length === 0 || !route.input)) throw new Error(`Plugin "${id}" route "${routeName}" API-token write policy requires a parsed input schema and idempotency field.`);
|
|
1281
1292
|
if (route.authorization && (route.authorization.anyOfTokenScopes.length === 0 || route.authorization.anyOfTokenScopes.some((scope) => scope.trim().length === 0))) throw new Error(`Plugin "${id}" route "${routeName}" requires at least one valid token scope.`);
|
|
1282
1293
|
const restaurantPermission = route.authorization?.restaurantPermission;
|
|
1283
1294
|
if (restaurantPermission !== void 0 && (restaurantPermission.trim().length === 0 || typeof route.resolveTarget !== "function" || typeof route.authorizeTarget !== "function")) throw new Error(`Plugin "${id}" route "${routeName}" requires a restaurant target resolver and authorizer.`);
|
|
1284
1295
|
if (!restaurantPermission && (route.resolveTarget || route.authorizeTarget)) throw new Error(`Plugin "${id}" route "${routeName}" cannot declare target authorization without a restaurant permission.`);
|
|
1285
1296
|
}
|
|
1297
|
+
const resolvedHooks = resolveHooks(hooks, id);
|
|
1298
|
+
const releasePolicyIds = /* @__PURE__ */ new Set();
|
|
1299
|
+
for (const policy of publicationReleasePolicies) {
|
|
1300
|
+
if (!policy.id.trim()) throw new Error(`Plugin "${id}" publication release policy requires an ID.`);
|
|
1301
|
+
if (releasePolicyIds.has(policy.id)) throw new Error(`Plugin "${id}" has duplicate publication release policy "${policy.id}".`);
|
|
1302
|
+
releasePolicyIds.add(policy.id);
|
|
1303
|
+
}
|
|
1286
1304
|
return {
|
|
1287
1305
|
id,
|
|
1288
1306
|
version,
|
|
1289
1307
|
capabilities: normalizedCapabilities,
|
|
1290
1308
|
allowedHosts,
|
|
1291
1309
|
storage,
|
|
1292
|
-
|
|
1310
|
+
migrations: Object.freeze(normalizedMigrations),
|
|
1311
|
+
hooks: resolvedHooks,
|
|
1293
1312
|
routes,
|
|
1294
1313
|
mcp,
|
|
1314
|
+
publicationReleasePolicies: [...publicationReleasePolicies].toSorted((left, right) => left.id.localeCompare(right.id)),
|
|
1295
1315
|
admin
|
|
1296
1316
|
};
|
|
1297
1317
|
}
|
|
@@ -1418,6 +1438,69 @@ function resolveHook(hook, pluginId) {
|
|
|
1418
1438
|
};
|
|
1419
1439
|
}
|
|
1420
1440
|
|
|
1441
|
+
//#endregion
|
|
1442
|
+
//#region src/plugins/migrations.ts
|
|
1443
|
+
const LEADING_AT = /^@/;
|
|
1444
|
+
var StaticPluginMigrationProvider = class {
|
|
1445
|
+
constructor(migrations) {
|
|
1446
|
+
this.migrations = migrations;
|
|
1447
|
+
}
|
|
1448
|
+
async getMigrations() {
|
|
1449
|
+
return this.migrations;
|
|
1450
|
+
}
|
|
1451
|
+
};
|
|
1452
|
+
/**
|
|
1453
|
+
* Run migrations contributed by configured trusted native plugins.
|
|
1454
|
+
*
|
|
1455
|
+
* Each plugin receives isolated Kysely migration and lock tables. This keeps migration history valid
|
|
1456
|
+
* when another plugin is removed and lets different plugins safely reuse local migration names.
|
|
1457
|
+
*/
|
|
1458
|
+
async function runPluginMigrations(db, plugins) {
|
|
1459
|
+
const applied = [];
|
|
1460
|
+
for (const plugin of [...plugins].toSorted((left, right) => left.id.localeCompare(right.id))) {
|
|
1461
|
+
if (Object.keys(plugin.migrations).length === 0) continue;
|
|
1462
|
+
const tables = pluginMigrationTableNames(plugin.id);
|
|
1463
|
+
const { error, results } = await new Migrator({
|
|
1464
|
+
db,
|
|
1465
|
+
provider: new StaticPluginMigrationProvider(plugin.migrations),
|
|
1466
|
+
migrationTableName: tables.migrations,
|
|
1467
|
+
migrationLockTableName: tables.lock
|
|
1468
|
+
}).migrateToLatest();
|
|
1469
|
+
const successful = results?.filter((result) => result.status === "Success").map((result) => result.migrationName) ?? [];
|
|
1470
|
+
if (error) {
|
|
1471
|
+
const failed = results?.find((result) => result.status === "Error")?.migrationName;
|
|
1472
|
+
throw new Error(`Plugin migration failed for ${plugin.id}${failed ? ` (${failed})` : ""}: ${errorMessage(error)}`, { cause: error });
|
|
1473
|
+
}
|
|
1474
|
+
applied.push({
|
|
1475
|
+
pluginId: plugin.id,
|
|
1476
|
+
applied: successful
|
|
1477
|
+
});
|
|
1478
|
+
}
|
|
1479
|
+
return applied;
|
|
1480
|
+
}
|
|
1481
|
+
function pluginMigrationTableNames(pluginId) {
|
|
1482
|
+
const slug = pluginId.replace(LEADING_AT, "").replaceAll("/", "_").replaceAll("-", "_").slice(0, 20);
|
|
1483
|
+
const suffix = fnv1a(pluginId);
|
|
1484
|
+
return {
|
|
1485
|
+
migrations: `_dineway_plugin_migration_${slug}_${suffix}`,
|
|
1486
|
+
lock: `_dineway_plugin_migration_lock_${slug}_${suffix}`
|
|
1487
|
+
};
|
|
1488
|
+
}
|
|
1489
|
+
function fnv1a(value) {
|
|
1490
|
+
let hash = 2166136261;
|
|
1491
|
+
for (let index = 0; index < value.length; index++) {
|
|
1492
|
+
hash ^= value.charCodeAt(index);
|
|
1493
|
+
hash = Math.imul(hash, 16777619);
|
|
1494
|
+
}
|
|
1495
|
+
return (hash >>> 0).toString(16).padStart(8, "0");
|
|
1496
|
+
}
|
|
1497
|
+
function errorMessage(error) {
|
|
1498
|
+
if (!(error instanceof Error)) return JSON.stringify(error);
|
|
1499
|
+
if (error.message) return error.message;
|
|
1500
|
+
if (error.cause instanceof Error && error.cause.message) return error.cause.message;
|
|
1501
|
+
return "unknown error";
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1421
1504
|
//#endregion
|
|
1422
1505
|
//#region src/plugins/hooks.ts
|
|
1423
1506
|
/**
|
|
@@ -2696,7 +2779,8 @@ var PluginRouteHandler = class {
|
|
|
2696
2779
|
public: route.public === true,
|
|
2697
2780
|
body: route.body ?? "json",
|
|
2698
2781
|
...route.body === "raw" ? { maxBodyBytes: route.maxBodyBytes ?? DEFAULT_PLUGIN_RAW_BODY_LIMIT_BYTES } : {},
|
|
2699
|
-
authorization: route.authorization
|
|
2782
|
+
authorization: route.authorization,
|
|
2783
|
+
apiTokenPolicy: route.apiTokenPolicy
|
|
2700
2784
|
};
|
|
2701
2785
|
}
|
|
2702
2786
|
};
|
|
@@ -3815,6 +3899,7 @@ function createResolvedPluginFromManifest(manifest) {
|
|
|
3815
3899
|
capabilities: normalizeCapabilities(manifest.capabilities),
|
|
3816
3900
|
allowedHosts: manifest.allowedHosts,
|
|
3817
3901
|
storage: manifest.storage,
|
|
3902
|
+
migrations: {},
|
|
3818
3903
|
hooks: {},
|
|
3819
3904
|
routes: {},
|
|
3820
3905
|
mcp: {
|
|
@@ -4235,4 +4320,4 @@ function createNodeSandboxRunner(options) {
|
|
|
4235
4320
|
}
|
|
4236
4321
|
|
|
4237
4322
|
//#endregion
|
|
4238
|
-
export {
|
|
4323
|
+
export { portableTextToProsemirror as C, image as D, reference as E, RelationRepository as O, verifyGuestAccessToken as S, portableText as T, DEFAULT_PLUGIN_RAW_BODY_LIMIT_BYTES as _, createNoopSandboxRunner as a, hashGuestAccessToken as b, PluginSecretStore as c, EmailPipeline as d, HookPipeline as f, definePlugin as g, runPluginMigrations as h, SandboxNotAvailableError as i, PluginRouteError as l, resolveExclusiveHooks as m, createNodeSandboxRunner as n, PluginManager as o, createHookPipeline as p, NoopSandboxRunner as r, createPluginManager as s, NodeSandboxRunner as t, PluginRouteRegistry as u, readBoundedPluginRouteBody as v, prosemirrorToPortableText as w, issueGuestAccessToken as x, GuestAccessTokenConfigurationError as y };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/client/portable-text.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Portable Text <-> Markdown conversion layer.
|
|
4
|
+
*
|
|
5
|
+
* Three tiers of block handling:
|
|
6
|
+
* Tier 1: Standard PT blocks <-> standard Markdown (headings, paragraphs, lists, etc.)
|
|
7
|
+
* Tier 2: Dineway custom blocks <-> Markdown directives (future)
|
|
8
|
+
* Tier 3: Unknown blocks <-> opaque HTML comment fences (preserved, not editable)
|
|
9
|
+
*/
|
|
10
|
+
/** Minimal Portable Text block shape */
|
|
11
|
+
interface PortableTextBlock {
|
|
12
|
+
_type: string;
|
|
13
|
+
_key?: string;
|
|
14
|
+
style?: string;
|
|
15
|
+
level?: number;
|
|
16
|
+
listItem?: string;
|
|
17
|
+
markDefs?: MarkDef[];
|
|
18
|
+
children?: PortableTextSpan[];
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
interface PortableTextSpan {
|
|
22
|
+
_type: string;
|
|
23
|
+
_key?: string;
|
|
24
|
+
text?: string;
|
|
25
|
+
marks?: string[];
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
}
|
|
28
|
+
interface MarkDef {
|
|
29
|
+
_key: string;
|
|
30
|
+
_type: string;
|
|
31
|
+
href?: string;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Convert Portable Text blocks to Markdown.
|
|
36
|
+
* Unknown block types are serialized as opaque fences.
|
|
37
|
+
*/
|
|
38
|
+
declare function portableTextToMarkdown(blocks: PortableTextBlock[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Convert Markdown to Portable Text blocks.
|
|
41
|
+
* Opaque fences (<!--ec:block ... -->) are deserialized and spliced back in.
|
|
42
|
+
*/
|
|
43
|
+
declare function markdownToPortableText(markdown: string): PortableTextBlock[];
|
|
44
|
+
//#endregion
|
|
45
|
+
export { markdownToPortableText as n, portableTextToMarkdown as r, PortableTextBlock as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as loadBetterSqlite3, t as createDatabase } from "./connection-CiJWiWya.mjs";
|
|
2
2
|
import { runWithContext } from "./request-context.mjs";
|
|
3
|
-
import { a as verifyPreviewSignature, t as buildPreviewSignatureHeader } from "./sidecar-client-
|
|
4
|
-
import { t as generatePreviewToken } from "./tokens-
|
|
3
|
+
import { a as verifyPreviewSignature, t as buildPreviewSignatureHeader } from "./sidecar-client-dt5fv23q.mjs";
|
|
4
|
+
import { t as generatePreviewToken } from "./tokens-DIzhPT80.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { sql } from "kysely";
|
|
7
7
|
import { ulid } from "ulidx";
|