dineway 0.1.48 → 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-C9u37D5z.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-DhipQNLb.mjs → allowed-origins-_oeyP6x-.mjs} +1 -1
- package/dist/api/route-utils.d.mts +10 -10
- package/dist/api/route-utils.mjs +17 -14
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +5 -4
- package/dist/{api-Eiy8_zVZ.mjs → api-ByrU2q-Z.mjs} +61 -37
- package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-CjVMQT-X.mjs} +6 -2
- package/dist/{apply-CX3no7XE.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 +14 -5
- package/dist/astro/middleware/request-context.mjs +9 -6
- 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 +334 -193
- 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 +22 -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 -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 +18 -15
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +18 -15
- package/dist/astro/routes/api/admin/bylines/index.mjs +18 -15
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +15 -13
- package/dist/astro/routes/api/admin/comments/_id_.mjs +7 -6
- package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -10
- package/dist/astro/routes/api/admin/comments/counts.mjs +7 -6
- package/dist/astro/routes/api/admin/comments/index.mjs +12 -10
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +27 -25
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +27 -25
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +32 -29
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +32 -29
- package/dist/astro/routes/api/admin/context/diff.mjs +31 -28
- package/dist/astro/routes/api/admin/context/index.mjs +32 -29
- package/dist/astro/routes/api/admin/context/stale.mjs +31 -28
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +27 -25
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +31 -28
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +31 -28
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +28 -26
- 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 +56 -52
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +56 -52
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +48 -44
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -50
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +53 -49
- package/dist/astro/routes/api/admin/plugins/index.mjs +48 -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 -43
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +53 -49
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -43
- package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -43
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +6 -6
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -28
- package/dist/astro/routes/api/admin/review-requests/index.mjs +11 -10
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -43
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -43
- 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 +10 -9
- 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 +6 -6
- 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 +16 -14
- 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 +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +12 -11
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +17 -15
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
- 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 -6
- package/dist/astro/routes/api/dashboard.mjs +10 -9
- 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 +23 -11
- 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 +85 -38
- package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -1
- package/dist/astro/routes/api/import/wordpress/media.mjs +20 -14
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +36 -33
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +18 -1
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +121 -101
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -13
- package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +56 -2
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +284 -56
- package/dist/astro/routes/api/manifest.mjs +14 -5
- package/dist/astro/routes/api/mcp.mjs +266 -70
- package/dist/astro/routes/api/media/_id_/confirm.mjs +39 -11
- 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 +12 -11
- package/dist/astro/routes/api/media.mjs +28 -35
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/items.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_/translations.mjs +32 -29
- package/dist/astro/routes/api/menus/_name_.mjs +32 -29
- package/dist/astro/routes/api/menus/index.mjs +32 -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 -3
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +30 -30
- package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
- package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
- package/dist/astro/routes/api/redirects/_id_.mjs +33 -30
- package/dist/astro/routes/api/redirects/index.mjs +33 -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 +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +48 -44
- package/dist/astro/routes/api/schema/collections/index.mjs +48 -44
- package/dist/astro/routes/api/schema/index.mjs +13 -14
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -43
- package/dist/astro/routes/api/schema/orphans/index.mjs +47 -43
- package/dist/astro/routes/api/search/enable.mjs +12 -11
- package/dist/astro/routes/api/search/index.mjs +11 -10
- package/dist/astro/routes/api/search/rebuild.mjs +12 -11
- package/dist/astro/routes/api/search/stats.mjs +7 -7
- package/dist/astro/routes/api/search/suggest.mjs +11 -10
- package/dist/astro/routes/api/sections/_slug_.mjs +32 -29
- package/dist/astro/routes/api/sections/index.mjs +32 -29
- package/dist/astro/routes/api/settings/email.mjs +4 -4
- package/dist/astro/routes/api/settings.mjs +32 -29
- 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 +32 -26
- package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
- package/dist/astro/routes/api/setup/index.mjs +30 -26
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +9 -8
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +35 -32
- package/dist/astro/routes/api/taxonomies/index.mjs +35 -32
- package/dist/astro/routes/api/themes/preview.mjs +6 -6
- 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 +31 -28
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +32 -29
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +32 -29
- package/dist/astro/routes/api/widget-areas/_name_.mjs +29 -27
- package/dist/astro/routes/api/widget-areas/index.mjs +32 -29
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +9 -8
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +24 -15
- package/dist/astro/routes/sitemap.xml.mjs +10 -9
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +3 -3
- package/dist/astro/types.d.mts +21 -13
- package/dist/{audit-D1cbG7xH.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-CObXGOGz.mjs → briefing-BJaJI8dm.mjs} +2 -1
- package/dist/{briefing-gKWiGLt1.mjs → briefing-CawZ59CY.mjs} +90 -28
- package/dist/bundle-7C_DpkEq.mjs +602 -0
- package/dist/{byline-1ntDwv8c.mjs → byline-e51-fWRs.mjs} +30 -62
- package/dist/{byline-fields-BX7rWKNU.d.mts → byline-fields-CUvbslGc.d.mts} +49 -6
- package/dist/{byline-fields-C9_iaPaM.mjs → byline-fields-D-N5qVIG.mjs} +1 -1
- package/dist/{byline-fields-B-ZkoVft.mjs → byline-fields-DOJO16Gm.mjs} +3 -3
- package/dist/{byline-registry-CUSvkasJ.mjs → byline-registry-87nNnYl4.mjs} +2 -2
- package/dist/{bylines-bC15ZqAv.mjs → bylines-CMQNCNFh.mjs} +9 -3
- package/dist/{bylines-DtxChhN_.mjs → bylines-y4LO-dTj.mjs} +5 -5
- package/dist/{cache-DbKyr60Q.mjs → cache-C-FNTFYK.mjs} +2 -2
- package/dist/{chunks-C5zp2xir.mjs → chunks-CxBt-GxR.mjs} +1 -1
- package/dist/cli/index.mjs +820 -1276
- 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-CXDOQ93N.mjs → comment-DlA4iChg.mjs} +13 -3
- package/dist/comment-reaction-DfFao1ST.mjs +58 -0
- package/dist/{comments-hK-rdzJ9.mjs → comments-DApFGMsP.mjs} +1 -1
- package/dist/{content-QaryevFO.mjs → content-Bh4BDjv8.mjs} +51 -34
- package/dist/content-refresh-CgutSUfO.mjs +1576 -0
- package/dist/{context-CoYb_fvK.mjs → context-C5W3G18y.mjs} +111 -50
- package/dist/{context-DBL1ib4v.mjs → context-CK4ym2Sf.mjs} +2 -2
- package/dist/{context-route-helpers-CYQVmbIm.mjs → context-route-helpers-MASyGgWf.mjs} +2 -1
- package/dist/{cron-DxCAU_Sn.mjs → cron-cKcNTix_.mjs} +7 -3
- package/dist/{dashboard-DNlqsknJ.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-DygsFPGL.mjs → device-flow-BnqRH-T9.mjs} +5 -5
- package/dist/{placeholder-BDo81Is5.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-CIZlScg5.mjs → fts-manager-Crzypjqu.mjs} +1 -1
- package/dist/hitl-Hw1RmWOq.mjs +677 -0
- package/dist/{hitl-requests-CGQwOEiq.mjs → hitl-requests-B4Vbcmaq.mjs} +2 -2
- package/dist/{hitl-route-helpers-GSDLNPpN.mjs → hitl-route-helpers-hEVzvP8l.mjs} +5 -4
- package/dist/import-Bh9biJfx.mjs +1354 -0
- package/dist/{index-CwRuZ-u8.d.mts → index-D4y6NGiy.d.mts} +75 -3
- package/dist/index.d.mts +17 -16
- package/dist/index.mjs +81 -69
- package/dist/{jsonld-DZ67souc.d.mts → jsonld-Dq0gsnOH.d.mts} +8 -4
- package/dist/{load-xE01Jm0V.mjs → load-DmYeniXl.mjs} +1 -1
- package/dist/{loader-tg63WSY2.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 +10 -8
- package/dist/{media-DUAjMfvR.mjs → media-DMj0grzC.mjs} +3 -1
- package/dist/{media-allowlist-BsXkT9RK.mjs → media-allowlist-BlVCSzHx.mjs} +1 -1
- package/dist/media-url-lEKSrpr9.mjs +20 -0
- package/dist/{menus-WpFRMXjz.mjs → menus-TaW1gKnk.mjs} +19 -5
- package/dist/{menus-DU1eZqw_.mjs → menus-xvsnVZXw.mjs} +80 -15
- package/dist/{normalize-DUnoXAa9.mjs → normalize-5ek_z7de.mjs} +8 -1
- package/dist/{oauth-authorization-D-1p52Je.mjs → oauth-authorization-DiaGvRVz.mjs} +5 -5
- package/dist/{oauth-clients-CzeMGyUU.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-C57YQi4l.mjs → plugins-BolVa-tl.mjs} +832 -64
- package/dist/{transport-LSdZVXHF.mjs → portable-text-dA_UlJwW.mjs} +1 -134
- package/dist/{preview-D5rvDhRt.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-DLUM5OOv.mjs → public-url-BEz_sM9n.mjs} +24 -18
- package/dist/{public-url-B5HaoGzj.d.mts → public-url-gsp3oUbu.d.mts} +5 -4
- package/dist/{query-BYc3oruA.mjs → query-CfRCdaL3.mjs} +281 -76
- package/dist/{query-DKEwzobh.mjs → query-jaAmw8E1.mjs} +11 -6
- package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-ZLdyWoZF.mjs} +2 -2
- package/dist/{redirect-C2zXRj3c.mjs → redirect-BAjt4Z6b.mjs} +2 -2
- package/dist/{redirects-YZo_znWG.mjs → redirects-BTdwpQtE.mjs} +47 -24
- package/dist/{redirects-ocRJmQHP.mjs → redirects-CA-xylPG.mjs} +19 -11
- package/dist/{registry-CTkbIDB9.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-C0un5kdV.mjs → review-requests-C9Ff11Vq.mjs} +1 -1
- package/dist/{review-requests-gGMyYYhy.mjs → review-requests-DUyEmtmG.mjs} +1 -1
- package/dist/{runner-D4FL9usy.d.mts → runner-1tC2tIRV.d.mts} +1 -1
- package/dist/runner-DB7CRfOF.mjs +6740 -0
- package/dist/{runtime-DEWQpZ-4.d.mts → runtime-BOeiQsCv.d.mts} +2028 -1564
- package/dist/runtime.d.mts +10 -10
- package/dist/runtime.mjs +4 -4
- package/dist/schema-DXdYj4R3.mjs +8 -0
- package/dist/{search-axGQ1KY3.mjs → search-DSaLgEFI.mjs} +5 -3
- package/dist/{secrets-062Izo8i.mjs → secrets-CDZo2k8L.mjs} +15 -12
- package/dist/{sections-OLKgXL10.mjs → sections-PVVXHGfp.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +22 -19
- package/dist/seo/index.d.mts +1 -1
- package/dist/seo/index.mjs +3 -12
- package/dist/{seo-Cd45Po8L.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-Bwad8s5h.mjs → service-DiN4ZuPp.mjs} +2 -2
- package/dist/session-user-CAKImna3.mjs +22 -0
- package/dist/{settings-yLjz_I4T.mjs → settings-BbqgHWpU.mjs} +28 -55
- package/dist/{settings-lAHjaUit.mjs → settings-i4VPP8bT.mjs} +2 -2
- package/dist/{setup-complete--PradA4R.mjs → setup-complete-B8fl-mjV.mjs} +1 -1
- package/dist/{site-activity-D7Xyropw.mjs → site-activity-Dy3FROs0.mjs} +1 -1
- package/dist/{site-context-DaN9Z91j.mjs → site-context-DQiL8Fl5.mjs} +23 -652
- package/dist/{site-url-DpGZo9Z6.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-uXVEoQso.mjs → taxonomies-9s-v03H-.mjs} +36 -29
- package/dist/taxonomies-DRiixp_E.mjs +443 -0
- package/dist/{taxonomy-CBmkmMuU.mjs → taxonomy-Dvsw6BOs.mjs} +44 -9
- package/dist/{tokens-CjSgb0AC.mjs → tokens-1RK1n6ED.mjs} +1 -1
- 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-DfuD0Afl.mjs → types-Dq1qT19x.mjs} +2 -2
- package/dist/ui/server-runtime.d.mts +15 -15
- package/dist/ui/server-runtime.mjs +25 -21
- package/dist/url-Cac7a9QZ.mjs +33 -0
- package/dist/{user-DtNmjNYt.mjs → user-BIZPzCb9.mjs} +2 -2
- package/dist/{utils-wv-zvC-Y.mjs → utils-CMDhr5Xd.mjs} +129 -7
- package/dist/{validate-BMs11tan.d.mts → validate-CZvb-BKB.d.mts} +10 -7
- package/dist/{validate-7SYRbz2f.mjs → validate-DNs0pTSc.mjs} +11 -6
- package/dist/version-BTvfRGc6.mjs +6 -0
- package/dist/{widgets-DR8EHuRO.mjs → widgets-f0ibZUIq.mjs} +46 -43
- package/dist/{wordpress-slugs-Dvhxh4cl.mjs → wordpress-slugs-BhHJX8XE.mjs} +1 -1
- package/dist/{zod-generator-BS9-umbk.mjs → zod-generator-B7TMjyFJ.mjs} +41 -13
- package/package.json +31 -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-Egjmqc7I.mjs +0 -51
- package/dist/import-CvHY6sf5.mjs +0 -684
- package/dist/runner-B-tbV751.mjs +0 -2741
- package/dist/schema-B6zyB-Xn.mjs +0 -8
- package/dist/taxonomies-CNOGeC-3.mjs +0 -327
- package/dist/types-eu5UDgHN.d.mts +0 -652
- package/dist/version-xlzMSXF2.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/{base64-C1Q9yr0B.mjs → base64-F8-DUraK.mjs} +0 -0
- /package/dist/{challenge-store-CRSz-Xim.mjs → challenge-store-Bjlepa2E.mjs} +0 -0
- /package/dist/{components--pg6zBvu.mjs → components-Bclf98Be.mjs} +0 -0
- /package/dist/{context-types-DQh_XKkn.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-Dh4DUoD_.mjs → experimental-workflows-BMsUnIAw.mjs} +0 -0
- /package/dist/{mime-8pAB8-77.mjs → mime-CA7Lgovc.mjs} +0 -0
- /package/dist/{mode-CpyEz8pe.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-BvJoSSJR.mjs → options-DQPTH5n0.mjs} +0 -0
- /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-BUwu8BA3.mjs} +0 -0
- /package/dist/{patterns-r-0n824Y.mjs → patterns-BhAvqO0S.mjs} +0 -0
- /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-D0w9dqjm.mjs} +0 -0
- /package/dist/{redirect-BjIBtDWY.mjs → redirect-wphRBv4y.mjs} +0 -0
- /package/dist/{request-cache-CYMbwZc6.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-BzGxlOFx.mjs → slugify-KSsVD_D3.mjs} +0 -0
- /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-DWe8jwAp.mjs} +0 -0
- /package/dist/{transaction-CShMWIej.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-BO8TGjS8.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
|
@@ -282,137 +282,4 @@ function convertDataForWrite(data, fields) {
|
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
//#endregion
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Transport layer for the Dineway client.
|
|
288
|
-
*
|
|
289
|
-
* Implements a composable interceptor pipeline that modifies requests
|
|
290
|
-
* and responses. The client calls `transport.fetch(request)` — everything
|
|
291
|
-
* else (auth, CSRF, retry) is handled by interceptors.
|
|
292
|
-
*/
|
|
293
|
-
const COOKIE_NAME_VALUE_PATTERN = /^([^;]+)/;
|
|
294
|
-
function baseFetch(request) {
|
|
295
|
-
return globalThis.fetch(request);
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Creates a fetch function that runs requests through an interceptor pipeline.
|
|
299
|
-
*/
|
|
300
|
-
function createTransport(options = {}) {
|
|
301
|
-
const interceptors = options.interceptors ?? [];
|
|
302
|
-
let chain = baseFetch;
|
|
303
|
-
for (let i = interceptors.length - 1; i >= 0; i--) {
|
|
304
|
-
const interceptor = interceptors[i];
|
|
305
|
-
const next = chain;
|
|
306
|
-
chain = (req) => interceptor(req, next);
|
|
307
|
-
}
|
|
308
|
-
return { fetch: chain };
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Adds X-Dineway-Request: 1 and Origin headers to mutation requests
|
|
312
|
-
* (POST, PUT, DELETE). The custom header satisfies Dineway's CSRF check;
|
|
313
|
-
* the Origin header satisfies Astro's built-in origin verification which
|
|
314
|
-
* rejects server-side POST requests that lack a matching Origin.
|
|
315
|
-
*/
|
|
316
|
-
function csrfInterceptor() {
|
|
317
|
-
const MUTATION_METHODS = new Set([
|
|
318
|
-
"POST",
|
|
319
|
-
"PUT",
|
|
320
|
-
"DELETE",
|
|
321
|
-
"PATCH"
|
|
322
|
-
]);
|
|
323
|
-
return (request, next) => {
|
|
324
|
-
if (MUTATION_METHODS.has(request.method)) {
|
|
325
|
-
const headers = new Headers(request.headers);
|
|
326
|
-
headers.set("X-Dineway-Request", "1");
|
|
327
|
-
if (!headers.has("Origin")) {
|
|
328
|
-
const url = new URL(request.url);
|
|
329
|
-
headers.set("Origin", url.origin);
|
|
330
|
-
}
|
|
331
|
-
return next(new Request(request, { headers }));
|
|
332
|
-
}
|
|
333
|
-
return next(request);
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Adds Authorization: Bearer header from a static token.
|
|
338
|
-
*/
|
|
339
|
-
function tokenInterceptor(token) {
|
|
340
|
-
return (request, next) => {
|
|
341
|
-
const headers = new Headers(request.headers);
|
|
342
|
-
headers.set("Authorization", `Bearer ${token}`);
|
|
343
|
-
return next(new Request(request, { headers }));
|
|
344
|
-
};
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Dev bypass interceptor. Calls the dev-bypass endpoint on first request
|
|
348
|
-
* to establish a session, then forwards the session cookie on subsequent
|
|
349
|
-
* requests.
|
|
350
|
-
*/
|
|
351
|
-
function devBypassInterceptor(baseUrl) {
|
|
352
|
-
let sessionCookie = null;
|
|
353
|
-
let initializing = null;
|
|
354
|
-
async function init() {
|
|
355
|
-
const bypassUrl = new URL("/_dineway/api/auth/dev-bypass", baseUrl);
|
|
356
|
-
const res = await globalThis.fetch(bypassUrl, { redirect: "manual" });
|
|
357
|
-
const setCookie = res.headers.get("set-cookie");
|
|
358
|
-
if (setCookie) {
|
|
359
|
-
const match = setCookie.match(COOKIE_NAME_VALUE_PATTERN);
|
|
360
|
-
if (match) sessionCookie = match[1];
|
|
361
|
-
}
|
|
362
|
-
if (res.body) await res.text().catch(() => {});
|
|
363
|
-
}
|
|
364
|
-
return async (request, next) => {
|
|
365
|
-
if (!sessionCookie) {
|
|
366
|
-
if (!initializing) initializing = init();
|
|
367
|
-
await initializing;
|
|
368
|
-
}
|
|
369
|
-
if (sessionCookie) {
|
|
370
|
-
const headers = new Headers(request.headers);
|
|
371
|
-
const existing = headers.get("cookie");
|
|
372
|
-
headers.set("cookie", existing ? `${existing}; ${sessionCookie}` : sessionCookie);
|
|
373
|
-
return next(new Request(request, { headers }));
|
|
374
|
-
}
|
|
375
|
-
return next(request);
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* Auto-refreshes expired OAuth tokens on 401 responses.
|
|
380
|
-
* Requires a refresh token and the token endpoint URL.
|
|
381
|
-
*/
|
|
382
|
-
function refreshInterceptor(options) {
|
|
383
|
-
let refreshing = null;
|
|
384
|
-
async function refresh() {
|
|
385
|
-
const res = await globalThis.fetch(options.tokenEndpoint, {
|
|
386
|
-
method: "POST",
|
|
387
|
-
headers: { "Content-Type": "application/json" },
|
|
388
|
-
body: JSON.stringify({
|
|
389
|
-
grant_type: "refresh_token",
|
|
390
|
-
refresh_token: options.refreshToken
|
|
391
|
-
})
|
|
392
|
-
});
|
|
393
|
-
if (!res.ok) return null;
|
|
394
|
-
const json = await res.json();
|
|
395
|
-
const tokenData = json.data && typeof json.data === "object" && "access_token" in json.data ? json.data : json;
|
|
396
|
-
const expiresAt = tokenData.expires_in ? new Date(Date.now() + tokenData.expires_in * 1e3).toISOString() : new Date(Date.now() + 36e5).toISOString();
|
|
397
|
-
if (options.onTokenRefreshed) options.onTokenRefreshed(tokenData.access_token, tokenData.refresh_token ?? options.refreshToken, expiresAt);
|
|
398
|
-
return tokenData.access_token;
|
|
399
|
-
}
|
|
400
|
-
return async (request, next) => {
|
|
401
|
-
const response = await next(request);
|
|
402
|
-
if (response.status === 401) {
|
|
403
|
-
if (!refreshing) refreshing = refresh().finally(() => {
|
|
404
|
-
refreshing = null;
|
|
405
|
-
});
|
|
406
|
-
const newToken = await refreshing;
|
|
407
|
-
if (newToken) {
|
|
408
|
-
const headers = new Headers(request.headers);
|
|
409
|
-
headers.set("Authorization", `Bearer ${newToken}`);
|
|
410
|
-
return next(new Request(request, { headers }));
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
return response;
|
|
414
|
-
};
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
//#endregion
|
|
418
|
-
export { tokenInterceptor as a, markdownToPortableText as c, refreshInterceptor as i, portableTextToMarkdown as l, csrfInterceptor as n, convertDataForRead as o, devBypassInterceptor as r, convertDataForWrite as s, createTransport as t };
|
|
285
|
+
export { portableTextToMarkdown as i, convertDataForWrite as n, markdownToPortableText as r, convertDataForRead 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-C3mqXg4C.mjs";
|
|
4
|
+
import { t as generatePreviewToken } from "./tokens-1RK1n6ED.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { sql } from "kysely";
|
|
7
7
|
import { ulid } from "ulidx";
|
|
@@ -667,7 +667,8 @@ function createFilePreviewMiddleware(config) {
|
|
|
667
667
|
try {
|
|
668
668
|
return await runWithContext({
|
|
669
669
|
editMode: false,
|
|
670
|
-
db: session.db
|
|
670
|
+
db: session.db,
|
|
671
|
+
dbIsIsolated: true
|
|
671
672
|
}, async () => {
|
|
672
673
|
return injectPreviewToolbar(await next(), {
|
|
673
674
|
generatedAt: snapshotGeneratedAt,
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
//#region src/utils/init-lock.ts
|
|
2
|
+
const DEFAULT_DEADLINE_MS = 15e3;
|
|
3
|
+
const DEFAULT_POLL_MS = 50;
|
|
4
|
+
const MAX_WAIT_HEADROOM_MS = 15e3;
|
|
5
|
+
function sleep(ms) {
|
|
6
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
|
+
}
|
|
8
|
+
function createInitLock() {
|
|
9
|
+
return {
|
|
10
|
+
ownerStartedAt: null,
|
|
11
|
+
generation: 0
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async function initWithLock(lock, getCached, init, options) {
|
|
15
|
+
const deadlineMs = options?.deadlineMs ?? DEFAULT_DEADLINE_MS;
|
|
16
|
+
const pollMs = options?.pollMs ?? DEFAULT_POLL_MS;
|
|
17
|
+
const maxWaitMs = options?.maxWaitMs ?? deadlineMs + MAX_WAIT_HEADROOM_MS;
|
|
18
|
+
const waitStart = Date.now();
|
|
19
|
+
for (;;) {
|
|
20
|
+
const cached = getCached();
|
|
21
|
+
if (cached !== null && cached !== void 0) return cached;
|
|
22
|
+
const ownerStartedAt = lock.ownerStartedAt;
|
|
23
|
+
if (ownerStartedAt === null || Date.now() - ownerStartedAt > deadlineMs) {
|
|
24
|
+
lock.generation += 1;
|
|
25
|
+
const claim = lock.generation;
|
|
26
|
+
lock.ownerStartedAt = Date.now();
|
|
27
|
+
try {
|
|
28
|
+
const isCurrentClaim = () => lock.generation === claim;
|
|
29
|
+
const initPromise = Promise.resolve().then(() => init(isCurrentClaim));
|
|
30
|
+
options?.anchor?.(initPromise.then(() => void 0, () => void 0));
|
|
31
|
+
return await initPromise;
|
|
32
|
+
} finally {
|
|
33
|
+
if (lock.generation === claim) lock.ownerStartedAt = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (Date.now() - waitStart > maxWaitMs) throw new Error(`initWithLock: timed out after ${maxWaitMs}ms waiting for initialization`);
|
|
37
|
+
await sleep(pollMs);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/utils/process-cache.ts
|
|
43
|
+
/**
|
|
44
|
+
* Process-lifetime async value cache with single-flight and stuck-owner recovery.
|
|
45
|
+
*
|
|
46
|
+
* Use this for "compute once per process, read on many requests" caches. It
|
|
47
|
+
* stores resolved values, never shared in-flight promises. One caller owns the
|
|
48
|
+
* fetch under `initWithLock`; other callers poll for the resolved value and can
|
|
49
|
+
* reclaim a stale owner after a deadline.
|
|
50
|
+
*/
|
|
51
|
+
const PROCESS_CACHE_EMPTY = Symbol("dineway.process-cache.empty");
|
|
52
|
+
const RECLAIM_HEADROOM_MS = 5e3;
|
|
53
|
+
function createProcessCache() {
|
|
54
|
+
return {
|
|
55
|
+
value: PROCESS_CACHE_EMPTY,
|
|
56
|
+
hasValue: false,
|
|
57
|
+
version: 0,
|
|
58
|
+
valueVersion: -1,
|
|
59
|
+
lock: createInitLock()
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function invalidateProcessCache(cache) {
|
|
63
|
+
cache.version++;
|
|
64
|
+
cache.hasValue = false;
|
|
65
|
+
cache.value = PROCESS_CACHE_EMPTY;
|
|
66
|
+
cache.valueVersion = -1;
|
|
67
|
+
cache.lock.ownerStartedAt = null;
|
|
68
|
+
}
|
|
69
|
+
function withTimeout(promise, ms) {
|
|
70
|
+
return new Promise((resolve, reject) => {
|
|
71
|
+
const timer = setTimeout(() => {
|
|
72
|
+
reject(/* @__PURE__ */ new Error(`processCachedAsync: owner fetch exceeded ${ms}ms`));
|
|
73
|
+
}, ms);
|
|
74
|
+
promise.then(resolve, reject).finally(() => {
|
|
75
|
+
clearTimeout(timer);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function processCachedAsync(cache, fetch, options = {}) {
|
|
80
|
+
const versionAtCall = cache.version;
|
|
81
|
+
const ownerTimeoutMs = options.ownerTimeoutMs !== void 0 && Number.isFinite(options.ownerTimeoutMs) && options.ownerTimeoutMs > 0 ? options.ownerTimeoutMs : void 0;
|
|
82
|
+
const deadlineMs = ownerTimeoutMs === void 0 ? options.deadlineMs : Math.max(options.deadlineMs ?? 0, ownerTimeoutMs + RECLAIM_HEADROOM_MS);
|
|
83
|
+
return initWithLock(cache.lock, () => {
|
|
84
|
+
const cachedValue = cache.value;
|
|
85
|
+
return cache.hasValue && cache.valueVersion === versionAtCall && cachedValue !== PROCESS_CACHE_EMPTY ? { value: cachedValue } : null;
|
|
86
|
+
}, (isCurrentClaim) => {
|
|
87
|
+
const real = (async () => {
|
|
88
|
+
const value = await fetch();
|
|
89
|
+
if (isCurrentClaim()) {
|
|
90
|
+
cache.value = value;
|
|
91
|
+
cache.hasValue = true;
|
|
92
|
+
cache.valueVersion = versionAtCall;
|
|
93
|
+
}
|
|
94
|
+
return { value };
|
|
95
|
+
})();
|
|
96
|
+
options.anchor?.(real.then(() => void 0, () => void 0));
|
|
97
|
+
return ownerTimeoutMs === void 0 ? real : withTimeout(real, ownerTimeoutMs);
|
|
98
|
+
}, {
|
|
99
|
+
deadlineMs,
|
|
100
|
+
pollMs: options.pollMs,
|
|
101
|
+
maxWaitMs: options.maxWaitMs
|
|
102
|
+
}).then((box) => box.value);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//#endregion
|
|
106
|
+
export { initWithLock as a, createInitLock as i, invalidateProcessCache as n, processCachedAsync as r, createProcessCache as t };
|
|
@@ -7,29 +7,33 @@
|
|
|
7
7
|
* the build. Container deployments set env vars at runtime, so we must read
|
|
8
8
|
* process.env which Vite leaves untouched.
|
|
9
9
|
*
|
|
10
|
+
* DINEWAY_SITE_URL is treated as an explicit runtime override. SITE_URL remains
|
|
11
|
+
* a generic fallback below config.siteUrl.
|
|
12
|
+
*
|
|
10
13
|
* On runtimes without `process.env`, the fallback chain
|
|
11
14
|
* continues to url.origin.
|
|
12
15
|
*
|
|
13
16
|
* Caches after first call.
|
|
14
17
|
*/
|
|
15
|
-
let
|
|
18
|
+
let _envSiteUrls = null;
|
|
16
19
|
let _envAllowedOrigins = null;
|
|
17
|
-
function
|
|
18
|
-
if (
|
|
20
|
+
function normalizeEnvSiteUrl(value) {
|
|
21
|
+
if (!value) return void 0;
|
|
19
22
|
try {
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
24
|
-
_envSiteUrl = "";
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
_envSiteUrl = parsed.origin;
|
|
28
|
-
} else _envSiteUrl = "";
|
|
23
|
+
const parsed = new URL(value);
|
|
24
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") return void 0;
|
|
25
|
+
return parsed.origin;
|
|
29
26
|
} catch {
|
|
30
|
-
|
|
27
|
+
return;
|
|
31
28
|
}
|
|
32
|
-
|
|
29
|
+
}
|
|
30
|
+
function getEnvSiteUrls() {
|
|
31
|
+
if (_envSiteUrls !== null) return _envSiteUrls;
|
|
32
|
+
_envSiteUrls = {
|
|
33
|
+
dineway: typeof process !== "undefined" ? normalizeEnvSiteUrl(process.env?.DINEWAY_SITE_URL) : void 0,
|
|
34
|
+
site: typeof process !== "undefined" ? normalizeEnvSiteUrl(process.env?.SITE_URL) : void 0
|
|
35
|
+
};
|
|
36
|
+
return _envSiteUrls;
|
|
33
37
|
}
|
|
34
38
|
function getEnvAllowedOrigins() {
|
|
35
39
|
if (_envAllowedOrigins !== null) return _envAllowedOrigins;
|
|
@@ -55,16 +59,18 @@ function getEnvAllowedOrigins() {
|
|
|
55
59
|
* Return the public-facing origin for the site.
|
|
56
60
|
*
|
|
57
61
|
* Resolution order:
|
|
58
|
-
* 1. `
|
|
59
|
-
* 2. `
|
|
60
|
-
* 3. `
|
|
62
|
+
* 1. `DINEWAY_SITE_URL` env var (explicit runtime override for containers)
|
|
63
|
+
* 2. `config.siteUrl` (set in astro.config.mjs, origin-normalized at startup)
|
|
64
|
+
* 3. `SITE_URL` env var (generic runtime fallback)
|
|
65
|
+
* 4. `url.origin` (internal request URL — correct when no proxy)
|
|
61
66
|
*
|
|
62
67
|
* @param url The request URL (`new URL(request.url)` or `Astro.url`)
|
|
63
68
|
* @param config The Dineway config (from `locals.dineway?.config`)
|
|
64
69
|
* @returns Origin string, e.g. `"https://mysite.example.com"`
|
|
65
70
|
*/
|
|
66
71
|
function getPublicOrigin(url, config) {
|
|
67
|
-
|
|
72
|
+
const envSiteUrls = getEnvSiteUrls();
|
|
73
|
+
return envSiteUrls.dineway || config?.siteUrl || envSiteUrls.site || url.origin;
|
|
68
74
|
}
|
|
69
75
|
|
|
70
76
|
//#endregion
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { t as DinewayConfig } from "./runtime-
|
|
1
|
+
import { t as DinewayConfig } from "./runtime-BOeiQsCv.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/api/public-url.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Return the public-facing origin for the site.
|
|
6
6
|
*
|
|
7
7
|
* Resolution order:
|
|
8
|
-
* 1. `
|
|
9
|
-
* 2. `
|
|
10
|
-
* 3. `
|
|
8
|
+
* 1. `DINEWAY_SITE_URL` env var (explicit runtime override for containers)
|
|
9
|
+
* 2. `config.siteUrl` (set in astro.config.mjs, origin-normalized at startup)
|
|
10
|
+
* 3. `SITE_URL` env var (generic runtime fallback)
|
|
11
|
+
* 4. `url.origin` (internal request URL — correct when no proxy)
|
|
11
12
|
*
|
|
12
13
|
* @param url The request URL (`new URL(request.url)` or `Astro.url`)
|
|
13
14
|
* @param config The Dineway config (from `locals.dineway?.config`)
|