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.
Files changed (275) hide show
  1. package/README.md +57 -54
  2. package/dist/{activity-events-CNk3clTT.mjs → activity-events-C9u37D5z.mjs} +1 -1
  3. package/dist/api/route-utils.d.mts +8 -22
  4. package/dist/api/route-utils.mjs +8 -8
  5. package/dist/api/schemas/index.d.mts +2 -2
  6. package/dist/api/schemas/index.mjs +3 -3
  7. package/dist/{api-Bmfii2mH.mjs → api-Eiy8_zVZ.mjs} +63 -16
  8. package/dist/{apply-BpRBCqUt.mjs → apply-CX3no7XE.mjs} +54 -48
  9. package/dist/astro/index.d.mts +8 -8
  10. package/dist/astro/index.mjs +66 -24
  11. package/dist/astro/middleware/auth.d.mts +7 -7
  12. package/dist/astro/middleware/redirect.mjs +4 -4
  13. package/dist/astro/middleware/request-context.mjs +2 -2
  14. package/dist/astro/middleware/seed.d.mts +1 -1
  15. package/dist/astro/middleware/seed.mjs +2 -2
  16. package/dist/astro/middleware.d.mts +2 -1
  17. package/dist/astro/middleware.mjs +359 -140
  18. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +2 -2
  19. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +2 -2
  20. package/dist/astro/routes/api/admin/briefing.mjs +14 -14
  21. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +2 -2
  22. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +4 -4
  23. package/dist/astro/routes/api/admin/byline-fields/index.mjs +4 -4
  24. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +4 -4
  25. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +9 -9
  26. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +9 -9
  27. package/dist/astro/routes/api/admin/bylines/index.mjs +9 -9
  28. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +8 -8
  29. package/dist/astro/routes/api/admin/comments/_id_.mjs +3 -3
  30. package/dist/astro/routes/api/admin/comments/bulk.mjs +5 -5
  31. package/dist/astro/routes/api/admin/comments/counts.mjs +3 -3
  32. package/dist/astro/routes/api/admin/comments/index.mjs +5 -5
  33. package/dist/astro/routes/api/admin/context/_id_/history.mjs +20 -20
  34. package/dist/astro/routes/api/admin/context/_id_/index.mjs +20 -20
  35. package/dist/astro/routes/api/admin/context/_id_/review.mjs +23 -23
  36. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +23 -23
  37. package/dist/astro/routes/api/admin/context/diff.mjs +22 -22
  38. package/dist/astro/routes/api/admin/context/index.mjs +23 -23
  39. package/dist/astro/routes/api/admin/context/stale.mjs +22 -22
  40. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +21 -21
  41. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +23 -23
  42. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +23 -23
  43. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +20 -20
  44. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +1 -1
  45. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +40 -40
  46. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +40 -40
  47. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +35 -35
  48. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +40 -40
  49. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +40 -40
  50. package/dist/astro/routes/api/admin/plugins/index.mjs +35 -35
  51. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +35 -35
  52. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +40 -40
  53. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +35 -35
  54. package/dist/astro/routes/api/admin/plugins/updates.mjs +35 -35
  55. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +3 -3
  56. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +22 -22
  57. package/dist/astro/routes/api/admin/review-requests/index.mjs +5 -5
  58. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +35 -35
  59. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +35 -35
  60. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  61. package/dist/astro/routes/api/admin/users/_id_/index.mjs +3 -3
  62. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  63. package/dist/astro/routes/api/admin/users/index.mjs +2 -2
  64. package/dist/astro/routes/api/auth/dev-bypass.mjs +1 -1
  65. package/dist/astro/routes/api/auth/invite/complete.mjs +3 -3
  66. package/dist/astro/routes/api/auth/invite/index.mjs +4 -4
  67. package/dist/astro/routes/api/auth/invite/register-options.mjs +3 -3
  68. package/dist/astro/routes/api/auth/magic-link/send.mjs +4 -4
  69. package/dist/astro/routes/api/auth/me.mjs +5 -5
  70. package/dist/astro/routes/api/auth/passkey/_id_.mjs +2 -2
  71. package/dist/astro/routes/api/auth/passkey/options.mjs +3 -3
  72. package/dist/astro/routes/api/auth/passkey/register/options.mjs +3 -3
  73. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +3 -3
  74. package/dist/astro/routes/api/auth/passkey/verify.mjs +3 -3
  75. package/dist/astro/routes/api/auth/setup-token/index.mjs +2 -2
  76. package/dist/astro/routes/api/auth/signup/complete.mjs +3 -3
  77. package/dist/astro/routes/api/auth/signup/request.mjs +4 -4
  78. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +9 -9
  79. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -5
  80. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
  81. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +3 -3
  82. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +4 -4
  83. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +8 -7
  84. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
  85. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -9
  86. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +8 -8
  87. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -5
  88. package/dist/astro/routes/api/content/_collection_/_id_.mjs +8 -7
  89. package/dist/astro/routes/api/content/_collection_/authors.d.mts +7 -0
  90. package/dist/astro/routes/api/content/_collection_/authors.mjs +16 -0
  91. package/dist/astro/routes/api/content/_collection_/index.mjs +5 -5
  92. package/dist/astro/routes/api/content/_collection_/trash.mjs +2 -2
  93. package/dist/astro/routes/api/dashboard.mjs +6 -6
  94. package/dist/astro/routes/api/health.mjs +1 -1
  95. package/dist/astro/routes/api/import/probe.d.mts +2 -2
  96. package/dist/astro/routes/api/import/probe.mjs +2 -2
  97. package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
  98. package/dist/astro/routes/api/import/wordpress/execute.mjs +23 -23
  99. package/dist/astro/routes/api/import/wordpress/media.mjs +4 -4
  100. package/dist/astro/routes/api/import/wordpress/prepare.mjs +26 -26
  101. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +24 -24
  102. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +4 -4
  103. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +24 -24
  104. package/dist/astro/routes/api/manifest.mjs +1 -1
  105. package/dist/astro/routes/api/mcp.mjs +46 -46
  106. package/dist/astro/routes/api/media/_id_/confirm.mjs +4 -4
  107. package/dist/astro/routes/api/media/_id_.mjs +2 -2
  108. package/dist/astro/routes/api/media/upload-url.mjs +4 -4
  109. package/dist/astro/routes/api/media.mjs +4 -4
  110. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +23 -23
  111. package/dist/astro/routes/api/menus/_name_/items.mjs +23 -23
  112. package/dist/astro/routes/api/menus/_name_/reorder.mjs +23 -23
  113. package/dist/astro/routes/api/menus/_name_/translations.mjs +23 -23
  114. package/dist/astro/routes/api/menus/_name_.mjs +23 -23
  115. package/dist/astro/routes/api/menus/index.mjs +23 -23
  116. package/dist/astro/routes/api/oauth/authorize.mjs +1 -1
  117. package/dist/astro/routes/api/oauth/device/authorize.mjs +1 -1
  118. package/dist/astro/routes/api/oauth/device/code.mjs +1 -1
  119. package/dist/astro/routes/api/oauth/device/token.mjs +1 -1
  120. package/dist/astro/routes/api/oauth/token/refresh.mjs +1 -1
  121. package/dist/astro/routes/api/oauth/token/revoke.mjs +1 -1
  122. package/dist/astro/routes/api/oauth/token.mjs +2 -2
  123. package/dist/astro/routes/api/openapi.json.mjs +16 -2
  124. package/dist/astro/routes/api/redirects/404s/index.mjs +6 -6
  125. package/dist/astro/routes/api/redirects/404s/summary.mjs +6 -6
  126. package/dist/astro/routes/api/redirects/_id_.mjs +24 -24
  127. package/dist/astro/routes/api/redirects/index.mjs +24 -24
  128. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +36 -36
  129. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +36 -36
  130. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +36 -36
  131. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +36 -36
  132. package/dist/astro/routes/api/schema/collections/index.mjs +36 -36
  133. package/dist/astro/routes/api/schema/index.mjs +3 -3
  134. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +35 -35
  135. package/dist/astro/routes/api/schema/orphans/index.mjs +35 -35
  136. package/dist/astro/routes/api/search/enable.mjs +6 -6
  137. package/dist/astro/routes/api/search/index.mjs +6 -6
  138. package/dist/astro/routes/api/search/rebuild.mjs +6 -6
  139. package/dist/astro/routes/api/search/stats.mjs +4 -4
  140. package/dist/astro/routes/api/search/suggest.mjs +6 -6
  141. package/dist/astro/routes/api/sections/_slug_.mjs +23 -23
  142. package/dist/astro/routes/api/sections/index.mjs +23 -23
  143. package/dist/astro/routes/api/settings/email.mjs +1 -1
  144. package/dist/astro/routes/api/settings.mjs +23 -23
  145. package/dist/astro/routes/api/setup/admin-verify.mjs +4 -4
  146. package/dist/astro/routes/api/setup/admin.mjs +3 -3
  147. package/dist/astro/routes/api/setup/dev-bypass.mjs +17 -17
  148. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  149. package/dist/astro/routes/api/setup/index.mjs +19 -19
  150. package/dist/astro/routes/api/setup/status.mjs +1 -1
  151. package/dist/astro/routes/api/snapshot.mjs +2 -2
  152. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -25
  153. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -25
  154. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -25
  155. package/dist/astro/routes/api/taxonomies/index.mjs +25 -25
  156. package/dist/astro/routes/api/themes/preview.mjs +2 -2
  157. package/dist/astro/routes/api/typegen.mjs +3 -3
  158. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  159. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +22 -22
  160. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +23 -23
  161. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +23 -23
  162. package/dist/astro/routes/api/widget-areas/_name_.mjs +21 -21
  163. package/dist/astro/routes/api/widget-areas/index.mjs +23 -23
  164. package/dist/astro/routes/robots.txt.mjs +45 -22
  165. package/dist/astro/routes/sitemap-_collection_.xml.mjs +6 -6
  166. package/dist/astro/routes/sitemap.xml.mjs +6 -6
  167. package/dist/astro/session-driver.d.mts +1 -1
  168. package/dist/astro/session-driver.mjs +2 -2
  169. package/dist/astro/types.d.mts +15 -8
  170. package/dist/{audit-DuRbTm8L.mjs → audit-D1cbG7xH.mjs} +1 -1
  171. package/dist/{briefing-C4fJSVYW.mjs → briefing-CObXGOGz.mjs} +1 -1
  172. package/dist/{briefing-BFEWeJtR.mjs → briefing-gKWiGLt1.mjs} +6 -6
  173. package/dist/{byline-CXQcMsBu.mjs → byline-1ntDwv8c.mjs} +5 -5
  174. package/dist/{byline-fields-D7TJ_oHF.mjs → byline-fields-B-ZkoVft.mjs} +2 -2
  175. package/dist/{byline-fields-CaF_xfpj.d.mts → byline-fields-BX7rWKNU.d.mts} +58 -34
  176. package/dist/{byline-fields-Dc7L6Yry.mjs → byline-fields-C9_iaPaM.mjs} +1 -1
  177. package/dist/{byline-registry-CL8BxPPp.mjs → byline-registry-CUSvkasJ.mjs} +2 -2
  178. package/dist/{bylines-BgriNlW7.mjs → bylines-DtxChhN_.mjs} +38 -4
  179. package/dist/{bylines-D2vqm1aZ.mjs → bylines-bC15ZqAv.mjs} +2 -2
  180. package/dist/{cache-GRK71jOU.mjs → cache-DbKyr60Q.mjs} +2 -2
  181. package/dist/{chunks-DgEw12Bc.mjs → chunks-C5zp2xir.mjs} +1 -1
  182. package/dist/cli/index.mjs +73 -28
  183. package/dist/client/external-auth-headers.d.mts +1 -1
  184. package/dist/client/index.d.mts +1 -1
  185. package/dist/{comment-ogMaF1gk.mjs → comment-CXDOQ93N.mjs} +1 -1
  186. package/dist/{comments-CTSOKrZq.mjs → comments-hK-rdzJ9.mjs} +1 -1
  187. package/dist/{content-BfyjOiMi.mjs → content-QaryevFO.mjs} +103 -40
  188. package/dist/{context-ZMHhwzkG.mjs → context-CoYb_fvK.mjs} +7 -7
  189. package/dist/{context-DRhmPCiE.mjs → context-DBL1ib4v.mjs} +2 -2
  190. package/dist/{context-route-helpers-YLWx2N1j.mjs → context-route-helpers-CYQVmbIm.mjs} +1 -1
  191. package/dist/{dashboard-D0gWuzNp.mjs → dashboard-DNlqsknJ.mjs} +4 -4
  192. package/dist/db/index.d.mts +2 -2
  193. package/dist/db/index.mjs +1 -1
  194. package/dist/{default-BHauvIdG.mjs → default-B6iaLvP7.mjs} +4 -2
  195. package/dist/{device-flow-BL5ZRlc1.mjs → device-flow-DygsFPGL.mjs} +1 -1
  196. package/dist/{fts-manager-EHY2Kes9.mjs → fts-manager-CIZlScg5.mjs} +1 -1
  197. package/dist/{hitl-requests-B4Hkt0TO.mjs → hitl-requests-CGQwOEiq.mjs} +1 -1
  198. package/dist/{hitl-route-helpers-CHjdfQ0s.mjs → hitl-route-helpers-GSDLNPpN.mjs} +2 -2
  199. package/dist/{index-DJVaYiUV.d.mts → index-CwRuZ-u8.d.mts} +1 -1
  200. package/dist/index.d.mts +10 -10
  201. package/dist/index.mjs +51 -51
  202. package/dist/{jsonld-AcPnCEGD.d.mts → jsonld-DZ67souc.d.mts} +1 -1
  203. package/dist/{load-BdbvtoDb.mjs → load-xE01Jm0V.mjs} +1 -1
  204. package/dist/{loader-Y0QvC_QO.mjs → loader-tg63WSY2.mjs} +138 -36
  205. package/dist/media/index.mjs +1 -1
  206. package/dist/media/local-runtime.d.mts +7 -7
  207. package/dist/media/local-runtime.mjs +2 -2
  208. package/dist/{media-DhBwiCYR.mjs → media-DUAjMfvR.mjs} +1 -1
  209. package/dist/{menus-fqqzXyHd.mjs → menus-DU1eZqw_.mjs} +13 -8
  210. package/dist/{menus-BzGQpw9d.mjs → menus-WpFRMXjz.mjs} +2 -2
  211. package/dist/{normalize-O-hi3a27.mjs → normalize-DUnoXAa9.mjs} +1 -1
  212. package/dist/{oauth-authorization-Dk3_LOfj.mjs → oauth-authorization-D-1p52Je.mjs} +1 -1
  213. package/dist/page/index.d.mts +2 -2
  214. package/dist/plugin-utils.d.mts +7 -7
  215. package/dist/plugins/adapt-sandbox-entry.d.mts +7 -7
  216. package/dist/{plugins-BQ5Joz6v.mjs → plugins-C57YQi4l.mjs} +195 -5
  217. package/dist/public-url-B5HaoGzj.d.mts +18 -0
  218. package/dist/{query-CSx0EdSW.mjs → query-BYc3oruA.mjs} +29 -18
  219. package/dist/{query-BJuUydtD.mjs → query-DKEwzobh.mjs} +3 -3
  220. package/dist/{redirect-BqFMj67n.mjs → redirect-C2zXRj3c.mjs} +2 -2
  221. package/dist/{redirects-CJwHl_YG.mjs → redirects-YZo_znWG.mjs} +4 -4
  222. package/dist/{redirects-q_cToaHv.mjs → redirects-ocRJmQHP.mjs} +23 -3
  223. package/dist/{registry-Cq3QRBW2.mjs → registry-CTkbIDB9.mjs} +38 -6
  224. package/dist/{review-requests-GYqjl2jO.mjs → review-requests-C0un5kdV.mjs} +1 -1
  225. package/dist/{review-requests-tPw8_pAO.mjs → review-requests-gGMyYYhy.mjs} +1 -1
  226. package/dist/{runner-DTfG5v0G.mjs → runner-B-tbV751.mjs} +233 -193
  227. package/dist/{runner-Cnz4dl0f.d.mts → runner-D4FL9usy.d.mts} +1 -1
  228. package/dist/{runtime-Cd-kjPfN.d.mts → runtime-DEWQpZ-4.d.mts} +154 -22
  229. package/dist/runtime.d.mts +8 -8
  230. package/dist/runtime.mjs +2 -2
  231. package/dist/schema-B6zyB-Xn.mjs +8 -0
  232. package/dist/{search-BAiFLz81.mjs → search-axGQ1KY3.mjs} +3 -3
  233. package/dist/{secrets-CN6FCpcB.mjs → secrets-062Izo8i.mjs} +1 -1
  234. package/dist/{sections-DsuIrFDC.mjs → sections-OLKgXL10.mjs} +2 -2
  235. package/dist/seed/index.d.mts +2 -2
  236. package/dist/seed/index.mjs +17 -17
  237. package/dist/seo/index.d.mts +1 -1
  238. package/dist/{seo-uMFBaR8G.mjs → seo-Cd45Po8L.mjs} +1 -1
  239. package/dist/{service-CifrxCru.mjs → service-Bwad8s5h.mjs} +1 -1
  240. package/dist/{settings-BYGdocdj.mjs → settings-lAHjaUit.mjs} +2 -2
  241. package/dist/{settings-DNRQuX3d.mjs → settings-yLjz_I4T.mjs} +4 -4
  242. package/dist/{setup-complete-BytMc6HO.mjs → setup-complete--PradA4R.mjs} +1 -1
  243. package/dist/{site-activity-6x1JccoR.mjs → site-activity-D7Xyropw.mjs} +1 -1
  244. package/dist/{site-context-sN12ehZF.mjs → site-context-DaN9Z91j.mjs} +12 -12
  245. package/dist/{site-url-C-cu8Ff2.mjs → site-url-DpGZo9Z6.mjs} +1 -1
  246. package/dist/{taxonomies-faQVeMgj.mjs → taxonomies-CNOGeC-3.mjs} +9 -7
  247. package/dist/{taxonomies-CQFmkP5u.mjs → taxonomies-uXVEoQso.mjs} +3 -3
  248. package/dist/{taxonomy-BnH-6VsX.mjs → taxonomy-CBmkmMuU.mjs} +2 -2
  249. package/dist/{types-DEAQG87T.d.mts → types-CwawBUTa.d.mts} +1 -1
  250. package/dist/{types-B7_vSiPD.d.mts → types-DRIKLmJI.d.mts} +14 -2
  251. package/dist/{types-UGmU5sWx.d.mts → types-DSPGWjxO.d.mts} +1 -1
  252. package/dist/{types-Ck7-WoUD.mjs → types-DfuD0Afl.mjs} +9 -2
  253. package/dist/{types-DYKtk8f1.d.mts → types-eu5UDgHN.d.mts} +22 -0
  254. package/dist/ui/server-runtime.d.mts +58 -10
  255. package/dist/ui/server-runtime.mjs +97 -15
  256. package/dist/{user-CqZwN21P.mjs → user-DtNmjNYt.mjs} +15 -1
  257. package/dist/{validate-CK4a1sIF.mjs → validate-7SYRbz2f.mjs} +5 -2
  258. package/dist/{validate-BJuG-ISL.d.mts → validate-BMs11tan.d.mts} +10 -2
  259. package/dist/version-xlzMSXF2.mjs +6 -0
  260. package/dist/{widgets-CdDvF4fV.mjs → widgets-DR8EHuRO.mjs} +1 -1
  261. package/dist/{wordpress-slugs-B6Gw9q3Q.mjs → wordpress-slugs-Dvhxh4cl.mjs} +1 -1
  262. package/dist/{zod-generator-D1ROBNuC.mjs → zod-generator-BS9-umbk.mjs} +3 -2
  263. package/package.json +5 -5
  264. package/src/components/DinewayImage.astro +23 -5
  265. package/src/components/Image.astro +19 -3
  266. package/dist/schema-DmHMWnSA.mjs +0 -8
  267. package/dist/version-Cg6ur4zS.mjs +0 -6
  268. /package/dist/{entity-aliases-uOrKvlPg.mjs → entity-aliases-Egjmqc7I.mjs} +0 -0
  269. /package/dist/{options-BF11H_FD.mjs → options-BvJoSSJR.mjs} +0 -0
  270. /package/dist/{patterns-D9iDO3j8.mjs → patterns-r-0n824Y.mjs} +0 -0
  271. /package/dist/{provider-loader-B5PMjpN7.d.mts → provider-loader-9it4vd6L.d.mts} +0 -0
  272. /package/dist/{request-cache-w5cj5itT.mjs → request-cache-CYMbwZc6.mjs} +0 -0
  273. /package/dist/{transaction-D0FOsb3X.mjs → transaction-CShMWIej.mjs} +0 -0
  274. /package/dist/{transport-DidKKxvW.d.mts → transport-BnsNxh2l.d.mts} +0 -0
  275. /package/dist/{types-DbZhHtqS.mjs → types-BO8TGjS8.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { c as CustomFieldValue } from "./types-DEAQG87T.mjs";
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 { ContentSeoInput as a, FindManyOptions as c, ContentSeo as i, FindManyResult as l, ContentBylineCredit as n, CreateContentInput as o, ContentItem as r, DinewayValidationError as s, BylineSummary as t, UpdateContentInput as u };
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,4 +1,4 @@
1
- import { d as FieldType } from "./types-DEAQG87T.mjs";
1
+ import { d as FieldType } from "./types-CwawBUTa.mjs";
2
2
  import { z } from "astro/zod";
3
3
  import "react/jsx-runtime";
4
4
  import { JSX } from "astro/jsx-runtime";
@@ -1,9 +1,10 @@
1
- import { a as __exportAll } from "./runner-DTfG5v0G.mjs";
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, decodeCursor as n, encodeCursor as r, DinewayValidationError as t };
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, Er as getCollectionInfo, Mn as getDinewayCollection, Pn as getEditMeta, Xn as sanitizeHref, Y as getMenu, ct as getComments, ft as getSiteSettings, hi as PublicComment, j as Widget, z as getTaxonomyTerms } from "../runtime-Cd-kjPfN.mjs";
2
- import "../types-DYKtk8f1.mjs";
3
- import { A as PageMetadataContribution, q as PublicPageContext } from "../types-UGmU5sWx.mjs";
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-Cnz4dl0f.mjs";
7
- import "../index-DJVaYiUV.mjs";
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-CaF_xfpj.mjs";
9
+ import "../byline-fields-BX7rWKNU.mjs";
10
10
  import "../types-GaCtZ1k9.mjs";
11
- import "../validate-BJuG-ISL.mjs";
12
- import { a as generateSiteSeoContributions, d as resolvePageMetadata, i as generateBaseSeoContributions, o as renderFragments, u as renderPageMetadata } from "../jsonld-AcPnCEGD.mjs";
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-B5PMjpN7.mjs";
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-Ck7-WoUD.mjs";
4
- import "../media-DhBwiCYR.mjs";
5
- import "../comment-ogMaF1gk.mjs";
6
- import "../options-BF11H_FD.mjs";
7
- import "../request-cache-w5cj5itT.mjs";
8
- import "../fts-manager-EHY2Kes9.mjs";
9
- import "../registry-Cq3QRBW2.mjs";
10
- import "../loader-Y0QvC_QO.mjs";
11
- import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-DNRQuX3d.mjs";
12
- import { t as getCollectionInfo } from "../query-BJuUydtD.mjs";
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-faQVeMgj.mjs";
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-CSx0EdSW.mjs";
17
- import { i as getComments, t as getMenu } from "../menus-fqqzXyHd.mjs";
18
- import { t as getWidgetArea } from "../widgets-CdDvF4fV.mjs";
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 { n as decodeCursor, r as encodeCursor } from "./types-Ck7-WoUD.mjs";
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-DTfG5v0G.mjs";
2
- import { n as FIELD_TYPES } from "./types-DbZhHtqS.mjs";
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-DEAQG87T.mjs";
2
- import { t as Database } from "./types-DYKtk8f1.mjs";
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
  /**
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.1.48";
3
+ const COMMIT = "0cff3cbb";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -1,4 +1,4 @@
1
- import { r as getDb } from "./loader-Y0QvC_QO.mjs";
1
+ import { r as getDb } from "./loader-tg63WSY2.mjs";
2
2
  import { t as getWidgetComponents$1 } from "./components--pg6zBvu.mjs";
3
3
 
4
4
  //#region src/widgets/index.ts
@@ -1,4 +1,4 @@
1
- import { a as RESERVED_COLLECTION_SLUGS } from "./types-DbZhHtqS.mjs";
1
+ import { a as RESERVED_COLLECTION_SLUGS } from "./types-BO8TGjS8.mjs";
2
2
 
3
3
  //#region src/import/wordpress-slugs.ts
4
4
  const INVALID_SLUG_CHARS = /[^a-z0-9_]/g;
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-DTfG5v0G.mjs";
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.46",
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.16",
359
- "@dineway-ai/auth": "^0.1.16",
360
- "@dineway-ai/gutenberg-to-portable-text": "^0.1.14"
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.14"
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 BREAKPOINTS.filter((w) => w <= maxWidth * 2) // Include up to 2x for retina
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
- src = buildLocalImageUrl(img);
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 BREAKPOINTS.filter((w) => w <= maxWidth * 2)
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
@@ -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 };
@@ -1,6 +0,0 @@
1
- //#region src/version.ts
2
- const VERSION = "0.1.46";
3
- const COMMIT = "74b06bd1";
4
-
5
- //#endregion
6
- export { VERSION as n, COMMIT as t };
File without changes