dineway 0.1.17 → 0.1.19

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.
Files changed (212) hide show
  1. package/dist/api/route-utils.d.mts +2 -2
  2. package/dist/api/route-utils.mjs +3 -3
  3. package/dist/api/schemas/index.d.mts +2 -2
  4. package/dist/api/schemas/index.mjs +4 -4
  5. package/dist/{api-CgxdfUg4.mjs → api-CUdFqNOK.mjs} +11 -11
  6. package/dist/{apply-CGVHi2r7.mjs → apply-Wyg77UOb.mjs} +13 -13
  7. package/dist/astro/index.d.mts +2 -2
  8. package/dist/astro/index.mjs +5 -1
  9. package/dist/astro/middleware/auth.d.mts +2 -2
  10. package/dist/astro/middleware/redirect.mjs +3 -3
  11. package/dist/astro/middleware.mjs +43 -43
  12. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +3 -3
  13. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +3 -3
  14. package/dist/astro/routes/api/admin/briefing.mjs +10 -10
  15. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +6 -6
  16. package/dist/astro/routes/api/admin/bylines/index.mjs +6 -6
  17. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +3 -3
  18. package/dist/astro/routes/api/admin/comments/bulk.mjs +3 -3
  19. package/dist/astro/routes/api/admin/comments/index.mjs +3 -3
  20. package/dist/astro/routes/api/admin/context/_id_/history.mjs +13 -13
  21. package/dist/astro/routes/api/admin/context/_id_/index.mjs +13 -13
  22. package/dist/astro/routes/api/admin/context/_id_/review.mjs +15 -15
  23. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +15 -15
  24. package/dist/astro/routes/api/admin/context/diff.mjs +15 -15
  25. package/dist/astro/routes/api/admin/context/index.mjs +15 -15
  26. package/dist/astro/routes/api/admin/context/stale.mjs +15 -15
  27. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +14 -14
  28. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +16 -16
  29. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +16 -16
  30. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +13 -13
  31. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +29 -29
  32. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +29 -29
  33. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +26 -26
  34. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +29 -29
  35. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +29 -29
  36. package/dist/astro/routes/api/admin/plugins/index.mjs +26 -26
  37. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +26 -26
  38. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +29 -29
  39. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +26 -26
  40. package/dist/astro/routes/api/admin/plugins/updates.mjs +26 -26
  41. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +1 -1
  42. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +15 -15
  43. package/dist/astro/routes/api/admin/review-requests/index.mjs +4 -4
  44. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +26 -26
  45. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +26 -26
  46. package/dist/astro/routes/api/admin/users/_id_/index.mjs +3 -3
  47. package/dist/astro/routes/api/admin/users/index.mjs +3 -3
  48. package/dist/astro/routes/api/auth/invite/complete.mjs +3 -3
  49. package/dist/astro/routes/api/auth/invite/index.mjs +3 -3
  50. package/dist/astro/routes/api/auth/invite/register-options.mjs +3 -3
  51. package/dist/astro/routes/api/auth/magic-link/send.mjs +3 -3
  52. package/dist/astro/routes/api/auth/me.mjs +3 -3
  53. package/dist/astro/routes/api/auth/passkey/_id_.mjs +3 -3
  54. package/dist/astro/routes/api/auth/passkey/options.mjs +3 -3
  55. package/dist/astro/routes/api/auth/passkey/register/options.mjs +3 -3
  56. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +3 -3
  57. package/dist/astro/routes/api/auth/passkey/verify.mjs +3 -3
  58. package/dist/astro/routes/api/auth/signup/complete.mjs +3 -3
  59. package/dist/astro/routes/api/auth/signup/request.mjs +3 -3
  60. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +3 -3
  61. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +1 -1
  62. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +1 -1
  63. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +1 -1
  64. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +3 -3
  65. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  66. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +1 -1
  67. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +5 -5
  68. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +7 -7
  69. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +1 -1
  70. package/dist/astro/routes/api/content/_collection_/_id_.mjs +5 -5
  71. package/dist/astro/routes/api/content/_collection_/index.mjs +4 -4
  72. package/dist/astro/routes/api/content/_collection_/trash.mjs +3 -3
  73. package/dist/astro/routes/api/dashboard.mjs +1 -1
  74. package/dist/astro/routes/api/health.mjs +1 -1
  75. package/dist/astro/routes/api/import/probe.mjs +5 -5
  76. package/dist/astro/routes/api/import/wordpress/analyze.mjs +1 -1
  77. package/dist/astro/routes/api/import/wordpress/execute.mjs +15 -15
  78. package/dist/astro/routes/api/import/wordpress/media.mjs +4 -4
  79. package/dist/astro/routes/api/import/wordpress/prepare.mjs +19 -19
  80. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +17 -17
  81. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +5 -5
  82. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +18 -18
  83. package/dist/astro/routes/api/manifest.mjs +1 -1
  84. package/dist/astro/routes/api/mcp.mjs +38 -38
  85. package/dist/astro/routes/api/media/_id_/confirm.mjs +3 -3
  86. package/dist/astro/routes/api/media/_id_.mjs +3 -3
  87. package/dist/astro/routes/api/media/upload-url.mjs +5 -5
  88. package/dist/astro/routes/api/media.mjs +7 -7
  89. package/dist/astro/routes/api/menus/_name_/items/_id_.d.mts +8 -0
  90. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +127 -0
  91. package/dist/astro/routes/api/menus/_name_/items.d.mts +1 -3
  92. package/dist/astro/routes/api/menus/_name_/items.mjs +17 -108
  93. package/dist/astro/routes/api/menus/_name_/reorder.mjs +16 -16
  94. package/dist/astro/routes/api/menus/_name_/translations.mjs +16 -16
  95. package/dist/astro/routes/api/menus/_name_.mjs +16 -16
  96. package/dist/astro/routes/api/menus/index.mjs +16 -16
  97. package/dist/astro/routes/api/openapi.json.mjs +26 -26
  98. package/dist/astro/routes/api/redirects/404s/index.mjs +5 -5
  99. package/dist/astro/routes/api/redirects/404s/summary.mjs +5 -5
  100. package/dist/astro/routes/api/redirects/_id_.mjs +17 -17
  101. package/dist/astro/routes/api/redirects/index.mjs +17 -17
  102. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +26 -26
  103. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +26 -26
  104. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +26 -26
  105. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +26 -26
  106. package/dist/astro/routes/api/schema/collections/index.mjs +26 -26
  107. package/dist/astro/routes/api/schema/index.mjs +3 -3
  108. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +26 -26
  109. package/dist/astro/routes/api/schema/orphans/index.mjs +26 -26
  110. package/dist/astro/routes/api/search/enable.mjs +6 -6
  111. package/dist/astro/routes/api/search/index.mjs +6 -6
  112. package/dist/astro/routes/api/search/rebuild.mjs +6 -6
  113. package/dist/astro/routes/api/search/stats.mjs +3 -3
  114. package/dist/astro/routes/api/search/suggest.mjs +6 -6
  115. package/dist/astro/routes/api/sections/_slug_.mjs +16 -16
  116. package/dist/astro/routes/api/sections/index.mjs +16 -16
  117. package/dist/astro/routes/api/settings.mjs +16 -16
  118. package/dist/astro/routes/api/setup/admin-verify.mjs +3 -3
  119. package/dist/astro/routes/api/setup/admin.mjs +3 -3
  120. package/dist/astro/routes/api/setup/dev-bypass.mjs +11 -11
  121. package/dist/astro/routes/api/setup/index.mjs +14 -14
  122. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +18 -18
  123. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +18 -18
  124. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +18 -18
  125. package/dist/astro/routes/api/taxonomies/index.mjs +18 -18
  126. package/dist/astro/routes/api/typegen.mjs +3 -3
  127. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  128. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +15 -15
  129. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +16 -16
  130. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +16 -16
  131. package/dist/astro/routes/api/widget-areas/_name_.mjs +14 -14
  132. package/dist/astro/routes/api/widget-areas/index.mjs +16 -16
  133. package/dist/astro/routes/robots.txt.mjs +3 -3
  134. package/dist/astro/routes/sitemap-_collection_.xml.mjs +4 -4
  135. package/dist/astro/routes/sitemap.xml.mjs +4 -4
  136. package/dist/astro/types.d.mts +2 -2
  137. package/dist/{briefing-4k6R0KAr.mjs → briefing-Dk4I4VC8.mjs} +3 -3
  138. package/dist/{briefing-DM7e2yd3.mjs → briefing-PFT3T6KW.mjs} +1 -1
  139. package/dist/{byline-BxAf79s1.mjs → byline-9WeA8b0a.mjs} +1 -1
  140. package/dist/{bylines-DhCnhR70.mjs → bylines-B6QpwVAr.mjs} +2 -2
  141. package/dist/{bylines--KurdDQK.d.mts → bylines-CCkI7Rh3.d.mts} +76 -65
  142. package/dist/{cache-inQvbrP5.mjs → cache-BhJYDPP8.mjs} +1 -1
  143. package/dist/cli/index.mjs +11 -11
  144. package/dist/client/external-auth-headers.d.mts +1 -1
  145. package/dist/client/index.d.mts +1 -1
  146. package/dist/{context-CT44ux1O.mjs → context-DRq-f4sM.mjs} +2 -2
  147. package/dist/{context-CGbVhAmd.mjs → context-oSCcgE1U.mjs} +2 -2
  148. package/dist/{hitl-requests-CUnch_4e.mjs → hitl-requests-CJBs03Ep.mjs} +1 -1
  149. package/dist/{hitl-route-helpers-DcUCm57p.mjs → hitl-route-helpers-kTkP1NJ7.mjs} +1 -1
  150. package/dist/{import-BVqG28WP.mjs → import-B8lnqfnN.mjs} +1 -1
  151. package/dist/{import-DE2ziezs.mjs → import-BO_gy5vZ.mjs} +2 -2
  152. package/dist/index.d.mts +2 -2
  153. package/dist/index.mjs +41 -41
  154. package/dist/{jsonld-BjsoTL5m.d.mts → jsonld-CvXmIBls.d.mts} +2 -2
  155. package/dist/media/index.mjs +2 -2
  156. package/dist/media/local-runtime.d.mts +2 -2
  157. package/dist/{media-allowlist-eS3AZ2L_.mjs → media-allowlist-vdlqBR-8.mjs} +1 -1
  158. package/dist/{menus-BDW1yIdj.mjs → menus-BTOa-tsI.mjs} +3 -3
  159. package/dist/menus-DXaFTRyU.mjs +720 -0
  160. package/dist/page/index.d.mts +1 -1
  161. package/dist/page/index.mjs +1 -1
  162. package/dist/plugins/adapt-sandbox-entry.d.mts +2 -2
  163. package/dist/{plugins-DKceDtUM.mjs → plugins-CxUx-b5a.mjs} +1 -1
  164. package/dist/{query-BtuwuZRd.mjs → query-CH1GaJmt.mjs} +3 -3
  165. package/dist/{query-CWPxZjGM.mjs → query-TQqoOaxy.mjs} +7 -7
  166. package/dist/{redirect-BHo9--Jz.mjs → redirect-hKO66LS_.mjs} +1 -1
  167. package/dist/{redirects-xVDvj_yQ.mjs → redirects-BO0fI750.mjs} +30 -22
  168. package/dist/{redirects-Bc40BgxA.mjs → redirects-CvIzUvek.mjs} +3 -3
  169. package/dist/{registry-DumDzFDn.mjs → registry-CYO6XQ-4.mjs} +3 -3
  170. package/dist/{runtime-B5hJAnKF.d.mts → runtime-DY_XmE9Y.d.mts} +2 -2
  171. package/dist/runtime.d.mts +3 -3
  172. package/dist/runtime.mjs +1 -1
  173. package/dist/{schema-D1z41cq_.mjs → schema-mjeMcn_6.mjs} +1 -1
  174. package/dist/{search-CPcQGTHW.mjs → search-vzCYAk0F.mjs} +2 -2
  175. package/dist/{sections-B9RYyf3I.mjs → sections-DA3GMhNG.mjs} +1 -1
  176. package/dist/seed/index.mjs +11 -11
  177. package/dist/{seo-BPz1KkCq.mjs → seo-DASNc4gD.mjs} +1 -1
  178. package/dist/{seo-contributions-CQzUjJKY.mjs → seo-contributions-BG4TtU7H.mjs} +5 -5
  179. package/dist/{settings-BGCo_c2y.mjs → settings-BJW_lmrM.mjs} +1 -1
  180. package/dist/{settings-qPzY2KIF.mjs → settings-D2k1JraC.mjs} +13 -2
  181. package/dist/{site-context-DHRIU6x9.mjs → site-context-CyBvmvQY.mjs} +7 -7
  182. package/dist/{ssrf-BOSGjXxb.mjs → ssrf-z3oH8wjK.mjs} +4 -4
  183. package/dist/{taxonomies-aQXvYVPm.mjs → taxonomies-CagluJHp.mjs} +2 -2
  184. package/dist/{taxonomies-BWmxbumf.mjs → taxonomies-DPNIwTGk.mjs} +4 -4
  185. package/dist/{taxonomy-DI-0HgKe.mjs → taxonomy-DpXdVSSR.mjs} +1 -1
  186. package/dist/ui/server-runtime.d.mts +6 -3
  187. package/dist/ui/server-runtime.mjs +53 -12
  188. package/dist/{validate-B8ZvLeOE.mjs → validate-CaKEnLed.mjs} +1 -1
  189. package/dist/version-CGRX_5CT.mjs +6 -0
  190. package/dist/{widgets-Cce2-2fM.mjs → widgets-D7UK-2hW.mjs} +1 -1
  191. package/dist/{wordpress-slugs-C4EhE6fo.mjs → wordpress-slugs-Bnf3-sf8.mjs} +1 -1
  192. package/dist/{zod-generator-BKhtHT3e.mjs → zod-generator-vOxhed6n.mjs} +1 -1
  193. package/package.json +7 -6
  194. package/src/components/DinewayHead.astro +11 -3
  195. package/dist/menus-CwI7DQJ5.mjs +0 -569
  196. package/dist/version-CjsyxeBD.mjs +0 -6
  197. /package/dist/{chunks-vkrCT4Ta.mjs → chunks-BjOMG4LF.mjs} +0 -0
  198. /package/dist/{context-types-DuiyY6xF.mjs → context-types-BWspNMDr.mjs} +0 -0
  199. /package/dist/{dashboard-6gH7SlPM.mjs → dashboard-DdqRifyu.mjs} +0 -0
  200. /package/dist/{fts-manager-D7KVeBmg.mjs → fts-manager-DYRy6HVi.mjs} +0 -0
  201. /package/dist/{hash-V8oZo1W2.mjs → hash-DHSsP6_G.mjs} +0 -0
  202. /package/dist/{loader-CQFxFOt1.mjs → loader-dt5DoyI1.mjs} +0 -0
  203. /package/dist/{mime-DJOFDGux.mjs → mime-DltzYYAL.mjs} +0 -0
  204. /package/dist/{normalize-9GU-bv_T.mjs → normalize-ba36HTxZ.mjs} +0 -0
  205. /package/dist/{patterns-CW4n2PQs.mjs → patterns-BKmjvM7K.mjs} +0 -0
  206. /package/dist/{placeholder-BJPmhjHP.mjs → placeholder-BAy3k441.mjs} +0 -0
  207. /package/dist/{provider-loader-D0F6E2qv.d.mts → provider-loader-BPhii_3H.d.mts} +0 -0
  208. /package/dist/{request-cache-DmVyQUBh.mjs → request-cache-BzuhyUXj.mjs} +0 -0
  209. /package/dist/{review-requests-vCw7_3DS.mjs → review-requests-CO-vO0O0.mjs} +0 -0
  210. /package/dist/{seo-DJoop90w.mjs → seo-Dl4QE4El.mjs} +0 -0
  211. /package/dist/{transport-CyOHECBA.d.mts → transport-DA3H3xB4.d.mts} +0 -0
  212. /package/dist/{types-Dz2EKzsX.mjs → types-zfg8SDVI.mjs} +0 -0
@@ -4,19 +4,19 @@ import "../types-D1DjBFA9.mjs";
4
4
  import "../media-Cg4zc9fq.mjs";
5
5
  import "../comment-BmJXz3lc.mjs";
6
6
  import "../options-BF11H_FD.mjs";
7
- import "../request-cache-DmVyQUBh.mjs";
8
- import "../fts-manager-D7KVeBmg.mjs";
9
- import "../registry-DumDzFDn.mjs";
10
- import "../loader-CQFxFOt1.mjs";
11
- import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-qPzY2KIF.mjs";
12
- import { t as getCollectionInfo } from "../query-BtuwuZRd.mjs";
13
- import { a as getTaxonomyTerms } from "../taxonomies-BWmxbumf.mjs";
7
+ import "../request-cache-BzuhyUXj.mjs";
8
+ import "../fts-manager-DYRy6HVi.mjs";
9
+ import "../registry-CYO6XQ-4.mjs";
10
+ import "../loader-dt5DoyI1.mjs";
11
+ import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-D2k1JraC.mjs";
12
+ import { t as getCollectionInfo } from "../query-CH1GaJmt.mjs";
13
+ import { a as getTaxonomyTerms } from "../taxonomies-DPNIwTGk.mjs";
14
14
  import { n as sanitizeHref } from "../url-DOS4RGym.mjs";
15
- import { r as getEditMeta, t as getDinewayCollection } from "../query-CWPxZjGM.mjs";
16
- import { i as getComments, t as getMenu } from "../menus-BDW1yIdj.mjs";
17
- import { t as getWidgetArea } from "../widgets-Cce2-2fM.mjs";
15
+ import { r as getEditMeta, t as getDinewayCollection } from "../query-TQqoOaxy.mjs";
16
+ import { i as getComments, t as getMenu } from "../menus-BTOa-tsI.mjs";
17
+ import { t as getWidgetArea } from "../widgets-D7UK-2hW.mjs";
18
18
  import { t as getMediaProvider } from "../provider-loader-Decn0Ktc.mjs";
19
- import { c as escapeHtmlAttr, l as renderPageMetadata, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as resolvePageMetadata } from "../seo-contributions-CQzUjJKY.mjs";
19
+ import { c as escapeHtmlAttr, l as renderPageMetadata, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as resolvePageMetadata } from "../seo-contributions-BG4TtU7H.mjs";
20
20
  import { getPageRuntime } from "../page/index.mjs";
21
21
  import sanitizeHtml from "sanitize-html";
22
22
 
@@ -64,6 +64,47 @@ function sanitizeContent(html) {
64
64
  });
65
65
  }
66
66
 
67
+ //#endregion
68
+ //#region src/page/absolute-url.ts
69
+ const HTTP_URL_RE = /^https?:\/\//i;
70
+ const PROTOCOL_RELATIVE_RE = /^\/\//;
71
+ const PASSTHROUGH_SCHEME_RE = /^data:image\//i;
72
+ const OTHER_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
73
+ const WHITESPACE_OR_CONTROL_RE = /[\s\u0000-\u001f\u007f-\u009f]/;
74
+ const TRAILING_SLASH_RE = /\/$/;
75
+ function isUsableOrigin(origin) {
76
+ return origin !== "null" && origin !== "";
77
+ }
78
+ function resolveSiteOrigin(configuredSiteUrl, page) {
79
+ const candidates = [
80
+ configuredSiteUrl,
81
+ page.siteUrl,
82
+ page.url
83
+ ];
84
+ for (const candidate of candidates) {
85
+ if (!candidate || typeof candidate !== "string") continue;
86
+ try {
87
+ const parsed = new URL(candidate);
88
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") continue;
89
+ if (!isUsableOrigin(parsed.origin)) continue;
90
+ return parsed.origin;
91
+ } catch {}
92
+ }
93
+ return null;
94
+ }
95
+ function absolutizeMediaUrl(url, configuredSiteUrl, page) {
96
+ if (!url) return null;
97
+ if (WHITESPACE_OR_CONTROL_RE.test(url)) return null;
98
+ if (HTTP_URL_RE.test(url)) return url;
99
+ if (PASSTHROUGH_SCHEME_RE.test(url)) return url;
100
+ if (PROTOCOL_RELATIVE_RE.test(url)) return null;
101
+ if (OTHER_SCHEME_RE.test(url)) return null;
102
+ const origin = resolveSiteOrigin(configuredSiteUrl, page);
103
+ if (!origin) return url;
104
+ const safePath = url.startsWith("/") ? url : `/${url}`;
105
+ return `${origin.replace(TRAILING_SLASH_RE, "")}${safePath}`;
106
+ }
107
+
67
108
  //#endregion
68
109
  //#region src/page/site-identity.ts
69
110
  function renderSiteIdentity(input) {
@@ -77,4 +118,4 @@ function renderSiteIdentity(input) {
77
118
  }
78
119
 
79
120
  //#endregion
80
- export { buildRenderMediaUrl, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref };
121
+ export { absolutizeMediaUrl, buildRenderMediaUrl, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./chunk-ClPoSABd.mjs";
2
- import { t as FIELD_TYPES } from "./types-Dz2EKzsX.mjs";
2
+ import { t as FIELD_TYPES } from "./types-zfg8SDVI.mjs";
3
3
 
4
4
  //#region src/seed/validate.ts
5
5
  /**
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.1.19";
3
+ const COMMIT = "42354fe2";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -1,4 +1,4 @@
1
- import { r as getDb } from "./loader-CQFxFOt1.mjs";
1
+ import { r as getDb } from "./loader-dt5DoyI1.mjs";
2
2
  import { t as getWidgetComponents$1 } from "./components-BQiBW_Ji.mjs";
3
3
 
4
4
  //#region src/widgets/index.ts
@@ -1,4 +1,4 @@
1
- import { r as RESERVED_COLLECTION_SLUGS } from "./types-Dz2EKzsX.mjs";
1
+ import { r as RESERVED_COLLECTION_SLUGS } from "./types-zfg8SDVI.mjs";
2
2
 
3
3
  //#region src/import/wordpress-slugs.ts
4
4
  const INVALID_SLUG_CHARS = /[^a-z0-9_]/g;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./chunk-ClPoSABd.mjs";
2
- import { n as hashString } from "./hash-V8oZo1W2.mjs";
2
+ import { n as hashString } from "./hash-DHSsP6_G.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/schema/zod-generator.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dineway",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -183,6 +183,7 @@
183
183
  "#menus/*": "./src/menus/*",
184
184
  "#widgets/*": "./src/widgets/*",
185
185
  "#import/*": "./src/import/*",
186
+ "#security/*": "./src/security/*",
186
187
  "#utils/*": "./src/utils/*",
187
188
  "#preview/*": "./src/preview/*",
188
189
  "#seed/*": "./src/seed/*",
@@ -340,10 +341,10 @@
340
341
  "sax": "^1.4.1",
341
342
  "ulidx": "^2.4.1",
342
343
  "upng-js": "^2.1.0",
343
- "zod": "^4.3.5",
344
- "@dineway-ai/admin": "^0.1.11",
345
- "@dineway-ai/auth": "^0.1.12",
346
- "@dineway-ai/gutenberg-to-portable-text": "^0.1.11"
344
+ "zod": "^4.4.1",
345
+ "@dineway-ai/admin": "^0.1.12",
346
+ "@dineway-ai/gutenberg-to-portable-text": "^0.1.12",
347
+ "@dineway-ai/auth": "^0.1.13"
347
348
  },
348
349
  "optionalDependencies": {
349
350
  "@libsql/kysely-libsql": "^0.4.0",
@@ -372,7 +373,7 @@
372
373
  "vite": "^6.0.0",
373
374
  "vitest": "^4.0.18",
374
375
  "zod-openapi": "^5.4.6",
375
- "@dineway-ai/blocks": "^0.1.11"
376
+ "@dineway-ai/blocks": "^0.1.12"
376
377
  },
377
378
  "keywords": [
378
379
  "astro",
@@ -22,6 +22,7 @@ import {
22
22
  renderPageMetadata,
23
23
  renderSiteIdentity,
24
24
  resolvePageMetadata,
25
+ absolutizeMediaUrl,
25
26
  type PageMetadataContribution,
26
27
  type PublicPageContext,
27
28
  } from "dineway/ui/server-runtime";
@@ -33,9 +34,6 @@ interface Props {
33
34
  const { page } = Astro.props;
34
35
  const runtime = getPageRuntime(Astro.locals as Record<string, unknown>);
35
36
 
36
- // Base SEO contributions from page context (always generated)
37
- const baseContributions: PageMetadataContribution[] = generateBaseSeoContributions(page);
38
-
39
37
  let metadataHtml = "";
40
38
  let siteIdentityHtml = "";
41
39
  let fragmentsHtml = "";
@@ -49,6 +47,15 @@ if (runtime) {
49
47
  runtime.collectPageFragments(page),
50
48
  ]);
51
49
 
50
+ const defaultOgImage = absolutizeMediaUrl(
51
+ siteSettings.seo?.defaultOgImage?.url,
52
+ siteSettings.url,
53
+ page,
54
+ );
55
+ const baseContributions: PageMetadataContribution[] = generateBaseSeoContributions(
56
+ page,
57
+ defaultOgImage,
58
+ );
52
59
  const siteContributions = generateSiteSeoContributions(siteSettings.seo);
53
60
  const allContributions = [...pluginContributions, ...siteContributions, ...baseContributions];
54
61
  const resolved = resolvePageMetadata(allContributions);
@@ -57,6 +64,7 @@ if (runtime) {
57
64
  fragmentsHtml = renderFragments(fragments, "head");
58
65
  } else {
59
66
  // No runtime (Dineway not initialized) — still render base SEO
67
+ const baseContributions: PageMetadataContribution[] = generateBaseSeoContributions(page);
60
68
  const resolved = resolvePageMetadata(baseContributions);
61
69
  metadataHtml = renderPageMetadata(resolved);
62
70
  }