dineway 0.1.46 → 0.1.48
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 +57 -54
- package/dist/{activity-events-CNk3clTT.mjs → activity-events-C9u37D5z.mjs} +1 -1
- package/dist/api/route-utils.d.mts +8 -22
- package/dist/api/route-utils.mjs +8 -8
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +3 -3
- package/dist/{api-Bmfii2mH.mjs → api-Eiy8_zVZ.mjs} +63 -16
- package/dist/{apply-BpRBCqUt.mjs → apply-CX3no7XE.mjs} +54 -48
- package/dist/astro/index.d.mts +8 -8
- package/dist/astro/index.mjs +66 -24
- package/dist/astro/middleware/auth.d.mts +7 -7
- package/dist/astro/middleware/redirect.mjs +4 -4
- package/dist/astro/middleware/request-context.mjs +2 -2
- package/dist/astro/middleware/seed.d.mts +1 -1
- package/dist/astro/middleware/seed.mjs +2 -2
- package/dist/astro/middleware.d.mts +2 -1
- package/dist/astro/middleware.mjs +359 -140
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +2 -2
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +2 -2
- package/dist/astro/routes/api/admin/briefing.mjs +14 -14
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +2 -2
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +4 -4
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +9 -9
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +9 -9
- package/dist/astro/routes/api/admin/bylines/index.mjs +9 -9
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +8 -8
- package/dist/astro/routes/api/admin/comments/_id_.mjs +3 -3
- package/dist/astro/routes/api/admin/comments/bulk.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/counts.mjs +3 -3
- package/dist/astro/routes/api/admin/comments/index.mjs +5 -5
- package/dist/astro/routes/api/admin/context/_id_/history.mjs +20 -20
- package/dist/astro/routes/api/admin/context/_id_/index.mjs +20 -20
- package/dist/astro/routes/api/admin/context/_id_/review.mjs +23 -23
- package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +23 -23
- package/dist/astro/routes/api/admin/context/diff.mjs +22 -22
- package/dist/astro/routes/api/admin/context/index.mjs +23 -23
- package/dist/astro/routes/api/admin/context/stale.mjs +22 -22
- package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +21 -21
- package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +23 -23
- package/dist/astro/routes/api/admin/hitl-requests/index.mjs +23 -23
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +20 -20
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +40 -40
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +40 -40
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +35 -35
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +40 -40
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +40 -40
- package/dist/astro/routes/api/admin/plugins/index.mjs +35 -35
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +35 -35
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +40 -40
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +35 -35
- package/dist/astro/routes/api/admin/plugins/updates.mjs +35 -35
- package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +3 -3
- package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +22 -22
- package/dist/astro/routes/api/admin/review-requests/index.mjs +5 -5
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +35 -35
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +35 -35
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +3 -3
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
- package/dist/astro/routes/api/admin/users/index.mjs +2 -2
- package/dist/astro/routes/api/auth/dev-bypass.mjs +1 -1
- package/dist/astro/routes/api/auth/invite/complete.mjs +3 -3
- package/dist/astro/routes/api/auth/invite/index.mjs +4 -4
- package/dist/astro/routes/api/auth/invite/register-options.mjs +3 -3
- package/dist/astro/routes/api/auth/magic-link/send.mjs +4 -4
- package/dist/astro/routes/api/auth/me.mjs +5 -5
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/options.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +3 -3
- package/dist/astro/routes/api/auth/passkey/verify.mjs +3 -3
- package/dist/astro/routes/api/auth/setup-token/index.mjs +2 -2
- package/dist/astro/routes/api/auth/signup/complete.mjs +3 -3
- package/dist/astro/routes/api/auth/signup/request.mjs +4 -4
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +9 -9
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +4 -4
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +8 -7
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -9
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +8 -8
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -5
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +8 -7
- package/dist/astro/routes/api/content/_collection_/authors.d.mts +7 -0
- package/dist/astro/routes/api/content/_collection_/authors.mjs +16 -0
- package/dist/astro/routes/api/content/_collection_/index.mjs +5 -5
- package/dist/astro/routes/api/content/_collection_/trash.mjs +2 -2
- package/dist/astro/routes/api/dashboard.mjs +6 -6
- package/dist/astro/routes/api/health.mjs +1 -1
- package/dist/astro/routes/api/import/probe.d.mts +2 -2
- package/dist/astro/routes/api/import/probe.mjs +2 -2
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
- package/dist/astro/routes/api/import/wordpress/execute.mjs +23 -23
- package/dist/astro/routes/api/import/wordpress/media.mjs +4 -4
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +26 -26
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +24 -24
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +4 -4
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +24 -24
- package/dist/astro/routes/api/manifest.mjs +1 -1
- package/dist/astro/routes/api/mcp.mjs +46 -46
- package/dist/astro/routes/api/media/_id_/confirm.mjs +4 -4
- package/dist/astro/routes/api/media/_id_.mjs +2 -2
- package/dist/astro/routes/api/media/upload-url.mjs +4 -4
- package/dist/astro/routes/api/media.mjs +4 -4
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +23 -23
- package/dist/astro/routes/api/menus/_name_/items.mjs +23 -23
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +23 -23
- package/dist/astro/routes/api/menus/_name_/translations.mjs +23 -23
- package/dist/astro/routes/api/menus/_name_.mjs +23 -23
- package/dist/astro/routes/api/menus/index.mjs +23 -23
- package/dist/astro/routes/api/oauth/authorize.mjs +1 -1
- package/dist/astro/routes/api/oauth/device/authorize.mjs +1 -1
- package/dist/astro/routes/api/oauth/device/code.mjs +1 -1
- package/dist/astro/routes/api/oauth/device/token.mjs +1 -1
- package/dist/astro/routes/api/oauth/token/refresh.mjs +1 -1
- package/dist/astro/routes/api/oauth/token/revoke.mjs +1 -1
- package/dist/astro/routes/api/oauth/token.mjs +2 -2
- package/dist/astro/routes/api/openapi.json.mjs +16 -2
- package/dist/astro/routes/api/redirects/404s/index.mjs +6 -6
- package/dist/astro/routes/api/redirects/404s/summary.mjs +6 -6
- package/dist/astro/routes/api/redirects/_id_.mjs +24 -24
- package/dist/astro/routes/api/redirects/index.mjs +24 -24
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +36 -36
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +36 -36
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +36 -36
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +36 -36
- package/dist/astro/routes/api/schema/collections/index.mjs +36 -36
- package/dist/astro/routes/api/schema/index.mjs +3 -3
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +35 -35
- package/dist/astro/routes/api/schema/orphans/index.mjs +35 -35
- package/dist/astro/routes/api/search/enable.mjs +6 -6
- package/dist/astro/routes/api/search/index.mjs +6 -6
- package/dist/astro/routes/api/search/rebuild.mjs +6 -6
- package/dist/astro/routes/api/search/stats.mjs +4 -4
- package/dist/astro/routes/api/search/suggest.mjs +6 -6
- package/dist/astro/routes/api/sections/_slug_.mjs +23 -23
- package/dist/astro/routes/api/sections/index.mjs +23 -23
- package/dist/astro/routes/api/settings/email.mjs +1 -1
- package/dist/astro/routes/api/settings.mjs +23 -23
- package/dist/astro/routes/api/setup/admin-verify.mjs +4 -4
- package/dist/astro/routes/api/setup/admin.mjs +3 -3
- package/dist/astro/routes/api/setup/dev-bypass.mjs +17 -17
- package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
- package/dist/astro/routes/api/setup/index.mjs +19 -19
- package/dist/astro/routes/api/setup/status.mjs +1 -1
- package/dist/astro/routes/api/snapshot.mjs +2 -2
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -25
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -25
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -25
- package/dist/astro/routes/api/taxonomies/index.mjs +25 -25
- package/dist/astro/routes/api/themes/preview.mjs +2 -2
- package/dist/astro/routes/api/typegen.mjs +3 -3
- package/dist/astro/routes/api/well-known/auth.mjs +2 -2
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +22 -22
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +23 -23
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +23 -23
- package/dist/astro/routes/api/widget-areas/_name_.mjs +21 -21
- package/dist/astro/routes/api/widget-areas/index.mjs +23 -23
- package/dist/astro/routes/robots.txt.mjs +45 -22
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +6 -6
- package/dist/astro/routes/sitemap.xml.mjs +6 -6
- package/dist/astro/session-driver.d.mts +1 -1
- package/dist/astro/session-driver.mjs +2 -2
- package/dist/astro/types.d.mts +15 -8
- package/dist/{audit-DuRbTm8L.mjs → audit-D1cbG7xH.mjs} +1 -1
- package/dist/{briefing-C4fJSVYW.mjs → briefing-CObXGOGz.mjs} +1 -1
- package/dist/{briefing-BFEWeJtR.mjs → briefing-gKWiGLt1.mjs} +6 -6
- package/dist/{byline-CXQcMsBu.mjs → byline-1ntDwv8c.mjs} +5 -5
- package/dist/{byline-fields-D7TJ_oHF.mjs → byline-fields-B-ZkoVft.mjs} +2 -2
- package/dist/{byline-fields-CaF_xfpj.d.mts → byline-fields-BX7rWKNU.d.mts} +58 -34
- package/dist/{byline-fields-Dc7L6Yry.mjs → byline-fields-C9_iaPaM.mjs} +1 -1
- package/dist/{byline-registry-CL8BxPPp.mjs → byline-registry-CUSvkasJ.mjs} +2 -2
- package/dist/{bylines-BgriNlW7.mjs → bylines-DtxChhN_.mjs} +38 -4
- package/dist/{bylines-D2vqm1aZ.mjs → bylines-bC15ZqAv.mjs} +2 -2
- package/dist/{cache-GRK71jOU.mjs → cache-DbKyr60Q.mjs} +2 -2
- package/dist/{chunks-DgEw12Bc.mjs → chunks-C5zp2xir.mjs} +1 -1
- package/dist/cli/index.mjs +73 -28
- package/dist/client/external-auth-headers.d.mts +1 -1
- package/dist/client/index.d.mts +1 -1
- package/dist/{comment-ogMaF1gk.mjs → comment-CXDOQ93N.mjs} +1 -1
- package/dist/{comments-CTSOKrZq.mjs → comments-hK-rdzJ9.mjs} +1 -1
- package/dist/{content-BfyjOiMi.mjs → content-QaryevFO.mjs} +103 -40
- package/dist/{context-ZMHhwzkG.mjs → context-CoYb_fvK.mjs} +7 -7
- package/dist/{context-DRhmPCiE.mjs → context-DBL1ib4v.mjs} +2 -2
- package/dist/{context-route-helpers-YLWx2N1j.mjs → context-route-helpers-CYQVmbIm.mjs} +1 -1
- package/dist/{dashboard-D0gWuzNp.mjs → dashboard-DNlqsknJ.mjs} +4 -4
- package/dist/db/index.d.mts +2 -2
- package/dist/db/index.mjs +1 -1
- package/dist/{default-BHauvIdG.mjs → default-B6iaLvP7.mjs} +4 -2
- package/dist/{device-flow-BL5ZRlc1.mjs → device-flow-DygsFPGL.mjs} +1 -1
- package/dist/{fts-manager-EHY2Kes9.mjs → fts-manager-CIZlScg5.mjs} +1 -1
- package/dist/{hitl-requests-B4Hkt0TO.mjs → hitl-requests-CGQwOEiq.mjs} +1 -1
- package/dist/{hitl-route-helpers-CHjdfQ0s.mjs → hitl-route-helpers-GSDLNPpN.mjs} +2 -2
- package/dist/{index-DJVaYiUV.d.mts → index-CwRuZ-u8.d.mts} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.mjs +51 -51
- package/dist/{jsonld-AcPnCEGD.d.mts → jsonld-DZ67souc.d.mts} +1 -1
- package/dist/{load-BdbvtoDb.mjs → load-xE01Jm0V.mjs} +1 -1
- package/dist/{loader-Y0QvC_QO.mjs → loader-tg63WSY2.mjs} +138 -36
- package/dist/media/index.mjs +1 -1
- package/dist/media/local-runtime.d.mts +7 -7
- package/dist/media/local-runtime.mjs +2 -2
- package/dist/{media-DhBwiCYR.mjs → media-DUAjMfvR.mjs} +1 -1
- package/dist/{menus-fqqzXyHd.mjs → menus-DU1eZqw_.mjs} +13 -8
- package/dist/{menus-BzGQpw9d.mjs → menus-WpFRMXjz.mjs} +2 -2
- package/dist/{normalize-O-hi3a27.mjs → normalize-DUnoXAa9.mjs} +1 -1
- package/dist/{oauth-authorization-Dk3_LOfj.mjs → oauth-authorization-D-1p52Je.mjs} +1 -1
- package/dist/page/index.d.mts +2 -2
- package/dist/plugin-utils.d.mts +7 -7
- package/dist/plugins/adapt-sandbox-entry.d.mts +7 -7
- package/dist/{plugins-BQ5Joz6v.mjs → plugins-C57YQi4l.mjs} +195 -5
- package/dist/public-url-B5HaoGzj.d.mts +18 -0
- package/dist/{query-CSx0EdSW.mjs → query-BYc3oruA.mjs} +29 -18
- package/dist/{query-BJuUydtD.mjs → query-DKEwzobh.mjs} +3 -3
- package/dist/{redirect-BqFMj67n.mjs → redirect-C2zXRj3c.mjs} +2 -2
- package/dist/{redirects-CJwHl_YG.mjs → redirects-YZo_znWG.mjs} +4 -4
- package/dist/{redirects-q_cToaHv.mjs → redirects-ocRJmQHP.mjs} +23 -3
- package/dist/{registry-Cq3QRBW2.mjs → registry-CTkbIDB9.mjs} +38 -6
- package/dist/{review-requests-GYqjl2jO.mjs → review-requests-C0un5kdV.mjs} +1 -1
- package/dist/{review-requests-tPw8_pAO.mjs → review-requests-gGMyYYhy.mjs} +1 -1
- package/dist/{runner-DTfG5v0G.mjs → runner-B-tbV751.mjs} +233 -193
- package/dist/{runner-Cnz4dl0f.d.mts → runner-D4FL9usy.d.mts} +1 -1
- package/dist/{runtime-Cd-kjPfN.d.mts → runtime-DEWQpZ-4.d.mts} +154 -22
- package/dist/runtime.d.mts +8 -8
- package/dist/runtime.mjs +2 -2
- package/dist/schema-B6zyB-Xn.mjs +8 -0
- package/dist/{search-BAiFLz81.mjs → search-axGQ1KY3.mjs} +3 -3
- package/dist/{secrets-CN6FCpcB.mjs → secrets-062Izo8i.mjs} +1 -1
- package/dist/{sections-DsuIrFDC.mjs → sections-OLKgXL10.mjs} +2 -2
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +17 -17
- package/dist/seo/index.d.mts +1 -1
- package/dist/{seo-uMFBaR8G.mjs → seo-Cd45Po8L.mjs} +1 -1
- package/dist/{service-CifrxCru.mjs → service-Bwad8s5h.mjs} +1 -1
- package/dist/{settings-BYGdocdj.mjs → settings-lAHjaUit.mjs} +2 -2
- package/dist/{settings-DNRQuX3d.mjs → settings-yLjz_I4T.mjs} +4 -4
- package/dist/{setup-complete-BytMc6HO.mjs → setup-complete--PradA4R.mjs} +1 -1
- package/dist/{site-activity-6x1JccoR.mjs → site-activity-D7Xyropw.mjs} +1 -1
- package/dist/{site-context-sN12ehZF.mjs → site-context-DaN9Z91j.mjs} +12 -12
- package/dist/{site-url-C-cu8Ff2.mjs → site-url-DpGZo9Z6.mjs} +1 -1
- package/dist/{taxonomies-faQVeMgj.mjs → taxonomies-CNOGeC-3.mjs} +9 -7
- package/dist/{taxonomies-CQFmkP5u.mjs → taxonomies-uXVEoQso.mjs} +3 -3
- package/dist/{taxonomy-BnH-6VsX.mjs → taxonomy-CBmkmMuU.mjs} +2 -2
- package/dist/{types-DEAQG87T.d.mts → types-CwawBUTa.d.mts} +1 -1
- package/dist/{types-B7_vSiPD.d.mts → types-DRIKLmJI.d.mts} +14 -2
- package/dist/{types-UGmU5sWx.d.mts → types-DSPGWjxO.d.mts} +1 -1
- package/dist/{types-Ck7-WoUD.mjs → types-DfuD0Afl.mjs} +9 -2
- package/dist/{types-DYKtk8f1.d.mts → types-eu5UDgHN.d.mts} +22 -0
- package/dist/ui/server-runtime.d.mts +58 -10
- package/dist/ui/server-runtime.mjs +97 -15
- package/dist/{user-CqZwN21P.mjs → user-DtNmjNYt.mjs} +15 -1
- package/dist/{validate-CK4a1sIF.mjs → validate-7SYRbz2f.mjs} +5 -2
- package/dist/{validate-BJuG-ISL.d.mts → validate-BMs11tan.d.mts} +10 -2
- package/dist/version-xlzMSXF2.mjs +6 -0
- package/dist/{widgets-CdDvF4fV.mjs → widgets-DR8EHuRO.mjs} +1 -1
- package/dist/{wordpress-slugs-B6Gw9q3Q.mjs → wordpress-slugs-Dvhxh4cl.mjs} +1 -1
- package/dist/{zod-generator-D1ROBNuC.mjs → zod-generator-BS9-umbk.mjs} +3 -2
- package/package.json +5 -5
- package/src/components/DinewayImage.astro +23 -5
- package/src/components/Image.astro +19 -3
- package/dist/schema-DmHMWnSA.mjs +0 -8
- package/dist/version-Cg6ur4zS.mjs +0 -6
- /package/dist/{entity-aliases-uOrKvlPg.mjs → entity-aliases-Egjmqc7I.mjs} +0 -0
- /package/dist/{options-BF11H_FD.mjs → options-BvJoSSJR.mjs} +0 -0
- /package/dist/{patterns-D9iDO3j8.mjs → patterns-r-0n824Y.mjs} +0 -0
- /package/dist/{provider-loader-B5PMjpN7.d.mts → provider-loader-9it4vd6L.d.mts} +0 -0
- /package/dist/{request-cache-w5cj5itT.mjs → request-cache-CYMbwZc6.mjs} +0 -0
- /package/dist/{transaction-D0FOsb3X.mjs → transaction-CShMWIej.mjs} +0 -0
- /package/dist/{transport-DidKKxvW.d.mts → transport-BnsNxh2l.d.mts} +0 -0
- /package/dist/{types-DbZhHtqS.mjs → types-BO8TGjS8.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as CustomFieldValue } from "./types-
|
|
1
|
+
import { c as CustomFieldValue } from "./types-CwawBUTa.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/database/repositories/types.d.ts
|
|
4
4
|
interface CreateContentInput {
|
|
@@ -68,6 +68,14 @@ interface ContentBylineCredit {
|
|
|
68
68
|
/** Whether this credit was explicitly assigned or inferred from authorId */
|
|
69
69
|
source?: "explicit" | "inferred";
|
|
70
70
|
}
|
|
71
|
+
/** A whitelisted timestamp column a content-list date range can filter on. */
|
|
72
|
+
type ContentDateField = "createdAt" | "updatedAt" | "publishedAt";
|
|
73
|
+
/** Inclusive date-range filter for a single whitelisted timestamp column. */
|
|
74
|
+
interface ContentDateFilter {
|
|
75
|
+
field: ContentDateField;
|
|
76
|
+
from?: string;
|
|
77
|
+
to?: string;
|
|
78
|
+
}
|
|
71
79
|
interface FindManyOptions {
|
|
72
80
|
where?: {
|
|
73
81
|
status?: string;
|
|
@@ -75,6 +83,7 @@ interface FindManyOptions {
|
|
|
75
83
|
locale?: string;
|
|
76
84
|
q?: string;
|
|
77
85
|
searchColumns?: string[];
|
|
86
|
+
dateFilter?: ContentDateFilter;
|
|
78
87
|
};
|
|
79
88
|
orderBy?: {
|
|
80
89
|
field: string;
|
|
@@ -115,5 +124,8 @@ declare class DinewayValidationError extends Error {
|
|
|
115
124
|
details?: unknown | undefined;
|
|
116
125
|
constructor(message: string, details?: unknown | undefined);
|
|
117
126
|
}
|
|
127
|
+
declare class ScheduledNotDueError extends Error {
|
|
128
|
+
constructor();
|
|
129
|
+
}
|
|
118
130
|
//#endregion
|
|
119
|
-
export {
|
|
131
|
+
export { ContentSeo as a, DinewayValidationError as c, ScheduledNotDueError as d, UpdateContentInput as f, ContentItem as i, FindManyOptions as l, ContentBylineCredit as n, ContentSeoInput as o, ContentDateField as r, CreateContentInput as s, BylineSummary as t, FindManyResult as u };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
1
|
+
import { a as __exportAll } from "./runner-B-tbV751.mjs";
|
|
2
2
|
import { r as encodeBase64, t as decodeBase64 } from "./base64-C1Q9yr0B.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/database/repositories/types.ts
|
|
5
5
|
var types_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
DinewayValidationError: () => DinewayValidationError,
|
|
7
|
+
ScheduledNotDueError: () => ScheduledNotDueError,
|
|
7
8
|
decodeCursor: () => decodeCursor,
|
|
8
9
|
encodeCursor: () => encodeCursor
|
|
9
10
|
});
|
|
@@ -31,6 +32,12 @@ var DinewayValidationError = class extends Error {
|
|
|
31
32
|
this.name = "DinewayValidationError";
|
|
32
33
|
}
|
|
33
34
|
};
|
|
35
|
+
var ScheduledNotDueError = class extends Error {
|
|
36
|
+
constructor() {
|
|
37
|
+
super("Scheduled content is not due for publishing");
|
|
38
|
+
this.name = "ScheduledNotDueError";
|
|
39
|
+
}
|
|
40
|
+
};
|
|
34
41
|
|
|
35
42
|
//#endregion
|
|
36
|
-
export { types_exports as i,
|
|
43
|
+
export { types_exports as a, encodeCursor as i, ScheduledNotDueError as n, decodeCursor as r, DinewayValidationError as t };
|
|
@@ -497,6 +497,26 @@ interface DinewaySessionTable {
|
|
|
497
497
|
value: string;
|
|
498
498
|
updated_at: Generated<string>;
|
|
499
499
|
}
|
|
500
|
+
interface RelationTable {
|
|
501
|
+
id: string;
|
|
502
|
+
name: string;
|
|
503
|
+
parent_collection: string;
|
|
504
|
+
child_collection: string;
|
|
505
|
+
parent_label: string;
|
|
506
|
+
child_label: string;
|
|
507
|
+
locale: Generated<string>;
|
|
508
|
+
translation_group: string;
|
|
509
|
+
created_at: Generated<string>;
|
|
510
|
+
updated_at: Generated<string>;
|
|
511
|
+
}
|
|
512
|
+
interface ContentReferenceTable {
|
|
513
|
+
id: string;
|
|
514
|
+
relation_group: string;
|
|
515
|
+
parent_group: string;
|
|
516
|
+
child_group: string;
|
|
517
|
+
sort_order: Generated<number>;
|
|
518
|
+
created_at: Generated<string>;
|
|
519
|
+
}
|
|
500
520
|
interface Database {
|
|
501
521
|
revisions: RevisionTable;
|
|
502
522
|
taxonomies: TaxonomyTable;
|
|
@@ -545,6 +565,8 @@ interface Database {
|
|
|
545
565
|
_dineway_byline_fields: BylineFieldTable;
|
|
546
566
|
_dineway_byline_field_values: BylineFieldValueTable;
|
|
547
567
|
_dineway_byline_field_group_values: BylineFieldGroupValueTable;
|
|
568
|
+
_dineway_relations: RelationTable;
|
|
569
|
+
_dineway_content_references: ContentReferenceTable;
|
|
548
570
|
_dineway_rate_limits: RateLimitTable;
|
|
549
571
|
_dineway_sessions: DinewaySessionTable;
|
|
550
572
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { C as getWidgetArea,
|
|
2
|
-
import "../types-
|
|
3
|
-
import { A as PageMetadataContribution, q as PublicPageContext } from "../types-
|
|
1
|
+
import { C as getWidgetArea, Dr as getCollectionInfo, Fn as getEditMeta, Nn as getDinewayCollection, Si as PublicComment, X as getMenu, Zn as sanitizeHref, j as Widget, lt as getComments, pt as getSiteSettings, z as getTaxonomyTerms } from "../runtime-DEWQpZ-4.mjs";
|
|
2
|
+
import "../types-eu5UDgHN.mjs";
|
|
3
|
+
import { A as PageMetadataContribution, q as PublicPageContext } from "../types-DSPGWjxO.mjs";
|
|
4
4
|
import "../types-Dryvv7LH.mjs";
|
|
5
5
|
import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-CXfoCtCd.mjs";
|
|
6
|
-
import "../runner-
|
|
7
|
-
import "../index-
|
|
6
|
+
import "../runner-D4FL9usy.mjs";
|
|
7
|
+
import "../index-CwRuZ-u8.mjs";
|
|
8
8
|
import { t as MediaReference } from "../types-nP9vGUFq.mjs";
|
|
9
|
-
import "../byline-fields-
|
|
9
|
+
import "../byline-fields-BX7rWKNU.mjs";
|
|
10
10
|
import "../types-GaCtZ1k9.mjs";
|
|
11
|
-
import "../validate-
|
|
12
|
-
import {
|
|
11
|
+
import "../validate-BMs11tan.mjs";
|
|
12
|
+
import { t as getPublicOrigin } from "../public-url-B5HaoGzj.mjs";
|
|
13
|
+
import { a as generateSiteSeoContributions, d as resolvePageMetadata, i as generateBaseSeoContributions, o as renderFragments, u as renderPageMetadata } from "../jsonld-DZ67souc.mjs";
|
|
13
14
|
import { getPageRuntime } from "../page/index.mjs";
|
|
14
|
-
import { t as getMediaProvider } from "../provider-loader-
|
|
15
|
+
import { t as getMediaProvider } from "../provider-loader-9it4vd6L.mjs";
|
|
15
16
|
|
|
16
17
|
//#region src/utils/sanitize.d.ts
|
|
17
18
|
/**
|
|
@@ -30,6 +31,53 @@ interface RenderMediaRef {
|
|
|
30
31
|
}
|
|
31
32
|
declare function buildRenderMediaUrl(resolve: ((key: string) => string) | undefined, ref: RenderMediaRef): string;
|
|
32
33
|
//#endregion
|
|
34
|
+
//#region src/media/responsive.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Responsive image helpers shared by public image components.
|
|
37
|
+
*
|
|
38
|
+
* The Astro components pass `getImage` in from `astro:assets` so this module
|
|
39
|
+
* remains importable in tests and in the precompiled package output.
|
|
40
|
+
*/
|
|
41
|
+
/** Standard responsive breakpoints. Matches provider srcset generation. */
|
|
42
|
+
declare const RESPONSIVE_BREAKPOINTS: number[];
|
|
43
|
+
/**
|
|
44
|
+
* Make a same-origin media URL absolute so Astro's image service can optimize it.
|
|
45
|
+
*
|
|
46
|
+
* Only same-origin root-relative paths are resolved. Protocol-relative URLs and
|
|
47
|
+
* backslash escapes are returned unchanged so the image service never becomes a
|
|
48
|
+
* cross-origin fetch primitive.
|
|
49
|
+
*/
|
|
50
|
+
declare function toAbsoluteMediaUrl(src: string, origin: string | undefined): string;
|
|
51
|
+
/** Minimal structural subset of Astro's `getImage`. */
|
|
52
|
+
type GetImage = (options: {
|
|
53
|
+
src: string;
|
|
54
|
+
width?: number;
|
|
55
|
+
height?: number;
|
|
56
|
+
widths?: number[];
|
|
57
|
+
sizes?: string;
|
|
58
|
+
}) => Promise<{
|
|
59
|
+
src: string;
|
|
60
|
+
srcSet?: {
|
|
61
|
+
attribute?: string;
|
|
62
|
+
} | undefined;
|
|
63
|
+
}>;
|
|
64
|
+
interface ResponsiveImage {
|
|
65
|
+
src: string;
|
|
66
|
+
srcset?: string;
|
|
67
|
+
sizes?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Generate responsive image attributes through Astro's configured image service.
|
|
71
|
+
*
|
|
72
|
+
* Returns `null` when optimization is unavailable, unsafe, or would be a no-op,
|
|
73
|
+
* so callers can fall back to a plain `<img>`.
|
|
74
|
+
*/
|
|
75
|
+
declare function buildResponsiveImage(getImage: GetImage, opts: {
|
|
76
|
+
src: string;
|
|
77
|
+
width?: number;
|
|
78
|
+
height?: number;
|
|
79
|
+
}): Promise<ResponsiveImage | null>;
|
|
80
|
+
//#endregion
|
|
33
81
|
//#region src/page/absolute-url.d.ts
|
|
34
82
|
declare function absolutizeMediaUrl(url: string | undefined, configuredSiteUrl: string | undefined, page: PublicPageContext): string | null;
|
|
35
83
|
//#endregion
|
|
@@ -39,4 +87,4 @@ interface SiteIdentityInput {
|
|
|
39
87
|
}
|
|
40
88
|
declare function renderSiteIdentity(input: SiteIdentityInput | undefined): string;
|
|
41
89
|
//#endregion
|
|
42
|
-
export { type EmbedOptions, type EmbedResult, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref };
|
|
90
|
+
export { type EmbedOptions, type EmbedResult, type GetImage, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, RESPONSIVE_BREAKPOINTS, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import "../dialect-helpers-fk43GbDb.mjs";
|
|
2
2
|
import "../base64-C1Q9yr0B.mjs";
|
|
3
|
-
import "../types-
|
|
4
|
-
import "../media-
|
|
5
|
-
import "../comment-
|
|
6
|
-
import "../options-
|
|
7
|
-
import "../request-cache-
|
|
8
|
-
import "../fts-manager-
|
|
9
|
-
import "../registry-
|
|
10
|
-
import "../loader-
|
|
11
|
-
import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-
|
|
12
|
-
import { t as getCollectionInfo } from "../query-
|
|
3
|
+
import "../types-DfuD0Afl.mjs";
|
|
4
|
+
import "../media-DUAjMfvR.mjs";
|
|
5
|
+
import "../comment-CXDOQ93N.mjs";
|
|
6
|
+
import "../options-BvJoSSJR.mjs";
|
|
7
|
+
import "../request-cache-CYMbwZc6.mjs";
|
|
8
|
+
import "../fts-manager-CIZlScg5.mjs";
|
|
9
|
+
import "../registry-CTkbIDB9.mjs";
|
|
10
|
+
import "../loader-tg63WSY2.mjs";
|
|
11
|
+
import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-yLjz_I4T.mjs";
|
|
12
|
+
import { t as getCollectionInfo } from "../query-DKEwzobh.mjs";
|
|
13
13
|
import "../resolve-DTuDyYKs.mjs";
|
|
14
|
-
import { a as getTaxonomyTerms } from "../taxonomies-
|
|
14
|
+
import { a as getTaxonomyTerms } from "../taxonomies-CNOGeC-3.mjs";
|
|
15
15
|
import { n as sanitizeHref } from "../url-w7Mp5qAD.mjs";
|
|
16
|
-
import { r as getEditMeta, t as getDinewayCollection } from "../query-
|
|
17
|
-
import { i as getComments, t as getMenu } from "../menus-
|
|
18
|
-
import { t as getWidgetArea } from "../widgets-
|
|
16
|
+
import { r as getEditMeta, t as getDinewayCollection } from "../query-BYc3oruA.mjs";
|
|
17
|
+
import { i as getComments, t as getMenu } from "../menus-DU1eZqw_.mjs";
|
|
18
|
+
import { t as getWidgetArea } from "../widgets-DR8EHuRO.mjs";
|
|
19
19
|
import { t as getMediaProvider } from "../provider-loader-DzUxejk7.mjs";
|
|
20
|
+
import { n as getPublicOrigin } from "../public-url-DLUM5OOv.mjs";
|
|
20
21
|
import { c as escapeHtmlAttr, l as renderPageMetadata, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as resolvePageMetadata } from "../seo-contributions-CqVvReEj.mjs";
|
|
21
22
|
import { getPageRuntime } from "../page/index.mjs";
|
|
22
23
|
import sanitizeHtml from "sanitize-html";
|
|
@@ -65,6 +66,87 @@ function sanitizeContent(html) {
|
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/media/responsive.ts
|
|
71
|
+
/**
|
|
72
|
+
* Responsive image helpers shared by public image components.
|
|
73
|
+
*
|
|
74
|
+
* The Astro components pass `getImage` in from `astro:assets` so this module
|
|
75
|
+
* remains importable in tests and in the precompiled package output.
|
|
76
|
+
*/
|
|
77
|
+
/** Standard responsive breakpoints. Matches provider srcset generation. */
|
|
78
|
+
const RESPONSIVE_BREAKPOINTS = [
|
|
79
|
+
640,
|
|
80
|
+
750,
|
|
81
|
+
828,
|
|
82
|
+
960,
|
|
83
|
+
1080,
|
|
84
|
+
1280,
|
|
85
|
+
1600,
|
|
86
|
+
1920
|
|
87
|
+
];
|
|
88
|
+
const ABSOLUTE_HTTP_URL = /^https?:\/\//i;
|
|
89
|
+
/**
|
|
90
|
+
* Pick srcset widths for an image rendered at `maxWidth`.
|
|
91
|
+
* Includes breakpoints up to 2x plus the rendered width itself.
|
|
92
|
+
*/
|
|
93
|
+
function responsiveWidths(maxWidth) {
|
|
94
|
+
const cap = maxWidth * 2;
|
|
95
|
+
const widths = new Set(RESPONSIVE_BREAKPOINTS.filter((w) => w <= cap));
|
|
96
|
+
widths.add(maxWidth);
|
|
97
|
+
return [...widths].toSorted((a, b) => a - b);
|
|
98
|
+
}
|
|
99
|
+
/** Build the `sizes` attribute for an image with a known display width. */
|
|
100
|
+
function responsiveSizes(width) {
|
|
101
|
+
return width ? `(min-width: ${width}px) ${width}px, 100vw` : "100vw";
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Make a same-origin media URL absolute so Astro's image service can optimize it.
|
|
105
|
+
*
|
|
106
|
+
* Only same-origin root-relative paths are resolved. Protocol-relative URLs and
|
|
107
|
+
* backslash escapes are returned unchanged so the image service never becomes a
|
|
108
|
+
* cross-origin fetch primitive.
|
|
109
|
+
*/
|
|
110
|
+
function toAbsoluteMediaUrl(src, origin) {
|
|
111
|
+
if (!src || !origin || !src.startsWith("/")) return src;
|
|
112
|
+
try {
|
|
113
|
+
const resolved = new URL(src, origin);
|
|
114
|
+
if (resolved.origin !== new URL(origin).origin) return src;
|
|
115
|
+
return resolved.href;
|
|
116
|
+
} catch {
|
|
117
|
+
return src;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Generate responsive image attributes through Astro's configured image service.
|
|
122
|
+
*
|
|
123
|
+
* Returns `null` when optimization is unavailable, unsafe, or would be a no-op,
|
|
124
|
+
* so callers can fall back to a plain `<img>`.
|
|
125
|
+
*/
|
|
126
|
+
async function buildResponsiveImage(getImage, opts) {
|
|
127
|
+
const { src, width, height } = opts;
|
|
128
|
+
if (!src || !width || !height) return null;
|
|
129
|
+
if (!ABSOLUTE_HTTP_URL.test(src)) return null;
|
|
130
|
+
try {
|
|
131
|
+
const sizes = responsiveSizes(width);
|
|
132
|
+
const result = await getImage({
|
|
133
|
+
src,
|
|
134
|
+
width,
|
|
135
|
+
height,
|
|
136
|
+
widths: responsiveWidths(width),
|
|
137
|
+
sizes
|
|
138
|
+
});
|
|
139
|
+
if (!result.src || result.src === src) return null;
|
|
140
|
+
return {
|
|
141
|
+
src: result.src,
|
|
142
|
+
srcset: result.srcSet?.attribute || void 0,
|
|
143
|
+
sizes
|
|
144
|
+
};
|
|
145
|
+
} catch {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
68
150
|
//#endregion
|
|
69
151
|
//#region src/page/absolute-url.ts
|
|
70
152
|
const HTTP_URL_RE = /^https?:\/\//i;
|
|
@@ -119,4 +201,4 @@ function renderSiteIdentity(input) {
|
|
|
119
201
|
}
|
|
120
202
|
|
|
121
203
|
//#endregion
|
|
122
|
-
export { absolutizeMediaUrl, buildRenderMediaUrl, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref };
|
|
204
|
+
export { RESPONSIVE_BREAKPOINTS, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as encodeCursor, r as decodeCursor } from "./types-DfuD0Afl.mjs";
|
|
2
|
+
import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-C5zp2xir.mjs";
|
|
2
3
|
import { ulid } from "ulidx";
|
|
3
4
|
|
|
4
5
|
//#region src/database/repositories/user.ts
|
|
@@ -36,6 +37,19 @@ var UserRepository = class UserRepository {
|
|
|
36
37
|
return row ? this.rowToUser(row) : null;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
40
|
+
* Batch-resolve users by ID. Missing IDs are ignored.
|
|
41
|
+
*/
|
|
42
|
+
async findByIds(ids) {
|
|
43
|
+
const unique = [...new Set(ids)].filter((id) => id.length > 0);
|
|
44
|
+
if (unique.length === 0) return [];
|
|
45
|
+
const out = [];
|
|
46
|
+
for (const batch of chunks(unique, SQL_BATCH_SIZE)) {
|
|
47
|
+
const rows = await this.db.selectFrom("users").selectAll().where("id", "in", batch).execute();
|
|
48
|
+
for (const row of rows) out.push(this.rowToUser(row));
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
39
53
|
* Find user by email (case-insensitive)
|
|
40
54
|
*/
|
|
41
55
|
async findByEmail(email) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
2
|
-
import { n as FIELD_TYPES } from "./types-
|
|
1
|
+
import { a as __exportAll } from "./runner-B-tbV751.mjs";
|
|
2
|
+
import { n as FIELD_TYPES } from "./types-BO8TGjS8.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/seed/validate.ts
|
|
5
5
|
/**
|
|
@@ -46,6 +46,9 @@ function validateSeed(data) {
|
|
|
46
46
|
const seed = data;
|
|
47
47
|
if (!seed.version) errors.push("Seed must have a version field");
|
|
48
48
|
else if (seed.version !== "1") errors.push(`Unsupported seed version: ${String(seed.version)}`);
|
|
49
|
+
if (seed.defaultLocale !== void 0) {
|
|
50
|
+
if (typeof seed.defaultLocale !== "string" || seed.defaultLocale.length === 0 || seed.defaultLocale !== seed.defaultLocale.trim()) errors.push("defaultLocale: must be a non-empty string with no leading or trailing whitespace");
|
|
51
|
+
}
|
|
49
52
|
if (seed.collections) if (!Array.isArray(seed.collections)) errors.push("collections must be an array");
|
|
50
53
|
else {
|
|
51
54
|
const collectionSlugs = /* @__PURE__ */ new Set();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as FieldType } from "./types-
|
|
2
|
-
import { t as Database } from "./types-
|
|
1
|
+
import { d as FieldType } from "./types-CwawBUTa.mjs";
|
|
2
|
+
import { t as Database } from "./types-eu5UDgHN.mjs";
|
|
3
3
|
import { d as Storage } from "./types-DZpT-PnG.mjs";
|
|
4
4
|
import { i as SiteSettings } from "./types-nP9vGUFq.mjs";
|
|
5
5
|
import { Kysely } from "kysely";
|
|
@@ -13,6 +13,12 @@ interface SeedFile {
|
|
|
13
13
|
$schema?: string;
|
|
14
14
|
/** Seed format version */
|
|
15
15
|
version: "1";
|
|
16
|
+
/**
|
|
17
|
+
* Default locale for locale-bearing rows (menus, taxonomies, content) that
|
|
18
|
+
* omit an explicit `locale`. This lets non-`en` single-locale projects
|
|
19
|
+
* survive export-seed -> seed round-trips outside the Astro runtime.
|
|
20
|
+
*/
|
|
21
|
+
defaultLocale?: string;
|
|
16
22
|
/** Metadata about the seed */
|
|
17
23
|
meta?: {
|
|
18
24
|
name?: string;
|
|
@@ -245,6 +251,8 @@ interface SeedApplyOptions {
|
|
|
245
251
|
includeContent?: boolean;
|
|
246
252
|
/** How to handle conflicts (default: "skip") */
|
|
247
253
|
onConflict?: "skip" | "update" | "error";
|
|
254
|
+
/** Repair missing schema storage for existing seed collections before applying content. */
|
|
255
|
+
repairSchema?: boolean;
|
|
248
256
|
/** Base path for local media files (for $media.file resolution) */
|
|
249
257
|
mediaBasePath?: string;
|
|
250
258
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-
|
|
1
|
+
import { a as __exportAll } from "./runner-B-tbV751.mjs";
|
|
2
2
|
import { n as hashString } from "./hash-BPmX6P8I.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
|
|
@@ -30,6 +30,7 @@ function generateTypeScript(collection) {
|
|
|
30
30
|
lines.push(` updatedAt: Date;`);
|
|
31
31
|
lines.push(` publishedAt: Date | null;`);
|
|
32
32
|
lines.push(` bylines?: ContentBylineCredit[];`);
|
|
33
|
+
lines.push(` terms?: Record<string, TaxonomyTerm[]>;`);
|
|
33
34
|
lines.push(`}`);
|
|
34
35
|
return lines.join("\n");
|
|
35
36
|
}
|
|
@@ -45,7 +46,7 @@ function generateTypesFile(collections) {
|
|
|
45
46
|
lines.push(`/// <reference types="dineway/locals" />`);
|
|
46
47
|
lines.push(``);
|
|
47
48
|
const needsPortableText = collections.some((c) => c.fields.some((f) => f.type === "portableText"));
|
|
48
|
-
const imports = ["ContentBylineCredit"];
|
|
49
|
+
const imports = ["ContentBylineCredit", "TaxonomyTerm"];
|
|
49
50
|
if (needsPortableText) imports.push("PortableTextBlock");
|
|
50
51
|
lines.push(`import type { ${imports.join(", ")} } from "dineway";`);
|
|
51
52
|
lines.push(``);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dineway",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.48",
|
|
4
4
|
"description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -355,9 +355,9 @@
|
|
|
355
355
|
"ulidx": "^2.4.1",
|
|
356
356
|
"upng-js": "^2.1.0",
|
|
357
357
|
"zod": "^4.4.1",
|
|
358
|
-
"@dineway-ai/admin": "^0.1.
|
|
359
|
-
"@dineway-ai/auth": "^0.1.
|
|
360
|
-
"@dineway-ai/gutenberg-to-portable-text": "^0.1.
|
|
358
|
+
"@dineway-ai/admin": "^0.1.17",
|
|
359
|
+
"@dineway-ai/auth": "^0.1.17",
|
|
360
|
+
"@dineway-ai/gutenberg-to-portable-text": "^0.1.15"
|
|
361
361
|
},
|
|
362
362
|
"optionalDependencies": {
|
|
363
363
|
"@aws-sdk/client-s3": "^3.1049.0",
|
|
@@ -386,7 +386,7 @@
|
|
|
386
386
|
"vite": "^6.0.0",
|
|
387
387
|
"vitest": "^4.0.18",
|
|
388
388
|
"zod-openapi": "^5.4.6",
|
|
389
|
-
"@dineway-ai/blocks": "^0.1.
|
|
389
|
+
"@dineway-ai/blocks": "^0.1.15"
|
|
390
390
|
},
|
|
391
391
|
"keywords": [
|
|
392
392
|
"astro",
|
|
@@ -16,15 +16,18 @@
|
|
|
16
16
|
* <Image image={post.data.featured_image} class="hero" />
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
+
import { getImage } from "astro:assets";
|
|
19
20
|
import type { HTMLAttributes } from "astro/types";
|
|
20
21
|
import {
|
|
22
|
+
RESPONSIVE_BREAKPOINTS,
|
|
23
|
+
buildResponsiveImage,
|
|
21
24
|
buildRenderMediaUrl,
|
|
22
25
|
getMediaProvider,
|
|
26
|
+
getPublicOrigin,
|
|
27
|
+
toAbsoluteMediaUrl,
|
|
23
28
|
type ImageEmbed,
|
|
24
29
|
type MediaValue,
|
|
25
30
|
} from "dineway/ui/server-runtime";
|
|
26
|
-
// Standard responsive breakpoints
|
|
27
|
-
const BREAKPOINTS = [640, 750, 828, 960, 1080, 1280, 1600, 1920];
|
|
28
31
|
|
|
29
32
|
interface Props extends Omit<
|
|
30
33
|
HTMLAttributes<"img">,
|
|
@@ -75,7 +78,7 @@ function generateSrcset(
|
|
|
75
78
|
maxWidth: number,
|
|
76
79
|
aspectRatio?: number
|
|
77
80
|
): string {
|
|
78
|
-
return
|
|
81
|
+
return RESPONSIVE_BREAKPOINTS.filter((w) => w <= maxWidth * 2) // Include up to 2x for retina
|
|
79
82
|
.map((w) => {
|
|
80
83
|
const h = aspectRatio ? Math.round(w / aspectRatio) : undefined;
|
|
81
84
|
return `${getSrc({ width: w, height: h })} ${w}w`;
|
|
@@ -101,8 +104,22 @@ if (img) {
|
|
|
101
104
|
const providerId = img.provider ?? "local";
|
|
102
105
|
|
|
103
106
|
if (providerId === "local" || img.src) {
|
|
104
|
-
// Local provider or direct src URL
|
|
105
|
-
|
|
107
|
+
// Local provider or direct src URL. Route through Astro's image service
|
|
108
|
+
// when possible; fall back to the plain URL when optimization is unavailable.
|
|
109
|
+
src = img.src || buildLocalImageUrl(img);
|
|
110
|
+
const optimized = await buildResponsiveImage(getImage, {
|
|
111
|
+
src: toAbsoluteMediaUrl(
|
|
112
|
+
src,
|
|
113
|
+
getPublicOrigin(Astro.url, Astro.locals.dineway?.config)
|
|
114
|
+
),
|
|
115
|
+
width: finalWidth,
|
|
116
|
+
height: finalHeight,
|
|
117
|
+
});
|
|
118
|
+
if (optimized) {
|
|
119
|
+
src = optimized.src;
|
|
120
|
+
srcset = optimized.srcset;
|
|
121
|
+
sizes = optimized.sizes;
|
|
122
|
+
}
|
|
106
123
|
} else {
|
|
107
124
|
// External provider
|
|
108
125
|
try {
|
|
@@ -173,6 +190,7 @@ const imgProps: Record<string, unknown> = {
|
|
|
173
190
|
height: finalHeight,
|
|
174
191
|
alt: finalAlt,
|
|
175
192
|
loading: priority ? "eager" : "lazy",
|
|
193
|
+
fetchpriority: priority ? "high" : undefined,
|
|
176
194
|
decoding: "async",
|
|
177
195
|
style: placeholderStyle ? `${baseStyle} ${placeholderStyle}` : baseStyle,
|
|
178
196
|
...attrs,
|
|
@@ -5,13 +5,16 @@
|
|
|
5
5
|
* Renders image blocks from WordPress imports and Dineway media.
|
|
6
6
|
* Uses the provider's getSrc function for responsive srcset generation.
|
|
7
7
|
*/
|
|
8
|
+
import { getImage } from "astro:assets";
|
|
8
9
|
import {
|
|
10
|
+
RESPONSIVE_BREAKPOINTS,
|
|
11
|
+
buildResponsiveImage,
|
|
9
12
|
buildRenderMediaUrl,
|
|
10
13
|
getMediaProvider,
|
|
14
|
+
getPublicOrigin,
|
|
15
|
+
toAbsoluteMediaUrl,
|
|
11
16
|
type ImageEmbed,
|
|
12
17
|
} from "dineway/ui/server-runtime";
|
|
13
|
-
// Standard responsive breakpoints
|
|
14
|
-
const BREAKPOINTS = [640, 750, 828, 960, 1080, 1280, 1600, 1920];
|
|
15
18
|
|
|
16
19
|
export interface Props {
|
|
17
20
|
node: {
|
|
@@ -46,7 +49,7 @@ function generateSrcset(
|
|
|
46
49
|
maxWidth: number,
|
|
47
50
|
aspectRatio?: number,
|
|
48
51
|
): string {
|
|
49
|
-
return
|
|
52
|
+
return RESPONSIVE_BREAKPOINTS.filter((w) => w <= maxWidth * 2)
|
|
50
53
|
.map((w) => {
|
|
51
54
|
const h = aspectRatio ? Math.round(w / aspectRatio) : undefined;
|
|
52
55
|
return `${getSrc({ width: w, height: h })} ${w}w`;
|
|
@@ -132,6 +135,19 @@ if (!src) {
|
|
|
132
135
|
url: asset.url,
|
|
133
136
|
id: asset._ref,
|
|
134
137
|
});
|
|
138
|
+
const optimized = await buildResponsiveImage(getImage, {
|
|
139
|
+
src: toAbsoluteMediaUrl(
|
|
140
|
+
src,
|
|
141
|
+
getPublicOrigin(Astro.url, Astro.locals.dineway?.config)
|
|
142
|
+
),
|
|
143
|
+
width: renderWidth,
|
|
144
|
+
height: renderHeight,
|
|
145
|
+
});
|
|
146
|
+
if (optimized) {
|
|
147
|
+
src = optimized.src;
|
|
148
|
+
srcset = optimized.srcset;
|
|
149
|
+
sizes = optimized.sizes;
|
|
150
|
+
}
|
|
135
151
|
}
|
|
136
152
|
|
|
137
153
|
// Build placeholder background style
|
package/dist/schema-DmHMWnSA.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { a as __exportAll } from "./runner-DTfG5v0G.mjs";
|
|
2
|
-
import { n as SchemaRegistry } from "./registry-Cq3QRBW2.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/schema/index.ts
|
|
5
|
-
var schema_exports = /* @__PURE__ */ __exportAll({ SchemaRegistry: () => SchemaRegistry });
|
|
6
|
-
|
|
7
|
-
//#endregion
|
|
8
|
-
export { schema_exports as t };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|