dineway 0.2.19 → 0.2.21

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 (385) hide show
  1. package/dist/{activity-Dq9zDvAK.mjs → activity-Bm5x0dik.mjs} +2 -2
  2. package/dist/{activity-events-iGYnf7TK.mjs → activity-events-DpvhcjTP.mjs} +1 -1
  3. package/dist/{allowed-origins-oVgzR3X5.mjs → allowed-origins-M5Rcl6XL.mjs} +1 -1
  4. package/dist/api/route-utils.d.mts +10 -9
  5. package/dist/api/route-utils.mjs +13 -13
  6. package/dist/api/schemas/index.d.mts +1 -1
  7. package/dist/api/schemas/index.mjs +3 -3
  8. package/dist/{api-C8IpJnQ7.mjs → api-Bbtpvq2-.mjs} +15 -15
  9. package/dist/{api-tokens-C4K9eocv.mjs → api-tokens-BFgXg0l2.mjs} +1 -1
  10. package/dist/{apply-C0v5UKOI.mjs → apply-Hodkn7PL.mjs} +20 -18
  11. package/dist/astro/index.d.mts +11 -10
  12. package/dist/astro/index.mjs +3 -3
  13. package/dist/astro/middleware/auth.d.mts +9 -8
  14. package/dist/astro/middleware/auth.mjs +4 -4
  15. package/dist/astro/middleware/redirect.mjs +5 -5
  16. package/dist/astro/middleware/request-context.mjs +2 -2
  17. package/dist/astro/middleware/seed.d.mts +1 -1
  18. package/dist/astro/middleware/seed.mjs +1 -1
  19. package/dist/astro/middleware.mjs +108 -95
  20. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  21. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  22. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  23. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  24. package/dist/astro/routes/api/admin/briefing.mjs +16 -16
  25. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +3 -3
  26. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +7 -7
  27. package/dist/astro/routes/api/admin/byline-fields/index.mjs +7 -7
  28. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +7 -7
  29. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +13 -13
  30. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -13
  31. package/dist/astro/routes/api/admin/bylines/index.mjs +13 -13
  32. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
  33. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  34. package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
  35. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  36. package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
  37. package/dist/astro/routes/api/admin/context/_id_/history.mjs +23 -23
  38. package/dist/astro/routes/api/admin/context/_id_/index.mjs +23 -23
  39. package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
  40. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
  41. package/dist/astro/routes/api/admin/context/diff.mjs +27 -27
  42. package/dist/astro/routes/api/admin/context/index.mjs +28 -28
  43. package/dist/astro/routes/api/admin/context/stale.mjs +27 -27
  44. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +23 -23
  45. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +27 -27
  46. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +27 -27
  47. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +24 -24
  48. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  49. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  50. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  51. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +53 -52
  52. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +53 -52
  53. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +45 -44
  54. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +52 -51
  55. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -51
  56. package/dist/astro/routes/api/admin/plugins/index.mjs +45 -44
  57. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  58. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +45 -44
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -51
  60. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +45 -44
  61. package/dist/astro/routes/api/admin/plugins/updates.mjs +45 -44
  62. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  63. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +28 -28
  64. package/dist/astro/routes/api/admin/review-requests/index.mjs +28 -28
  65. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +45 -44
  66. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  67. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +45 -44
  68. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  69. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  70. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  71. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  72. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  73. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  74. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  75. package/dist/astro/routes/api/auth/invite/complete.mjs +8 -8
  76. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  77. package/dist/astro/routes/api/auth/invite/register-options.mjs +7 -7
  78. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  79. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  80. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  81. package/dist/astro/routes/api/auth/me.mjs +7 -7
  82. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  83. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  84. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  85. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  86. package/dist/astro/routes/api/auth/passkey/options.mjs +9 -9
  87. package/dist/astro/routes/api/auth/passkey/register/options.mjs +7 -7
  88. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +8 -8
  89. package/dist/astro/routes/api/auth/passkey/verify.mjs +8 -8
  90. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  91. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  92. package/dist/astro/routes/api/auth/signup/complete.mjs +8 -8
  93. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  94. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  95. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
  96. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +11 -11
  97. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  98. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  99. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  100. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  101. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  102. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  103. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +7 -7
  104. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  105. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  106. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  107. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +12 -12
  108. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  109. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  110. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
  111. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  112. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
  113. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  114. package/dist/astro/routes/api/dashboard.mjs +8 -8
  115. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  116. package/dist/astro/routes/api/health.mjs +1 -1
  117. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  118. package/dist/astro/routes/api/import/probe.mjs +17 -17
  119. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  120. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -8
  121. package/dist/astro/routes/api/import/wordpress/execute.mjs +32 -32
  122. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -8
  123. package/dist/astro/routes/api/import/wordpress/media.mjs +9 -9
  124. package/dist/astro/routes/api/import/wordpress/prepare.mjs +31 -31
  125. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -9
  126. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +28 -28
  127. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  128. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +20 -20
  129. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -8
  130. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -36
  131. package/dist/astro/routes/api/integrations/_provider_.mjs +6 -6
  132. package/dist/astro/routes/api/integrations/index.mjs +5 -5
  133. package/dist/astro/routes/api/manifest.mjs +3 -3
  134. package/dist/astro/routes/api/mcp.mjs +64 -64
  135. package/dist/astro/routes/api/media/_id_/confirm.mjs +8 -8
  136. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  137. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  138. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  139. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  140. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  141. package/dist/astro/routes/api/media/upload-url.mjs +9 -9
  142. package/dist/astro/routes/api/media.mjs +9 -9
  143. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +28 -28
  144. package/dist/astro/routes/api/menus/_name_/items.mjs +28 -28
  145. package/dist/astro/routes/api/menus/_name_/reorder.mjs +28 -28
  146. package/dist/astro/routes/api/menus/_name_/translations.mjs +28 -28
  147. package/dist/astro/routes/api/menus/_name_.mjs +28 -28
  148. package/dist/astro/routes/api/menus/index.mjs +28 -28
  149. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  150. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  151. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  152. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  153. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  154. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  155. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  156. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  157. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  158. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  159. package/dist/astro/routes/api/redirects/404s/index.mjs +9 -9
  160. package/dist/astro/routes/api/redirects/404s/summary.mjs +9 -9
  161. package/dist/astro/routes/api/redirects/_id_.mjs +29 -29
  162. package/dist/astro/routes/api/redirects/index.mjs +29 -29
  163. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  164. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  165. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -46
  166. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -46
  167. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -46
  168. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -46
  169. package/dist/astro/routes/api/schema/collections/index.mjs +47 -46
  170. package/dist/astro/routes/api/schema/index.mjs +7 -7
  171. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +45 -44
  172. package/dist/astro/routes/api/schema/orphans/index.mjs +45 -44
  173. package/dist/astro/routes/api/search/enable.mjs +10 -10
  174. package/dist/astro/routes/api/search/index.mjs +9 -9
  175. package/dist/astro/routes/api/search/rebuild.mjs +10 -10
  176. package/dist/astro/routes/api/search/stats.mjs +6 -6
  177. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  178. package/dist/astro/routes/api/sections/_slug_.mjs +28 -28
  179. package/dist/astro/routes/api/sections/index.mjs +28 -28
  180. package/dist/astro/routes/api/settings/email.mjs +3 -3
  181. package/dist/astro/routes/api/settings.mjs +28 -28
  182. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  183. package/dist/astro/routes/api/setup/admin.mjs +8 -8
  184. package/dist/astro/routes/api/setup/dev-bypass.mjs +23 -23
  185. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  186. package/dist/astro/routes/api/setup/index.mjs +23 -23
  187. package/dist/astro/routes/api/setup/status.mjs +2 -2
  188. package/dist/astro/routes/api/snapshot.mjs +5 -5
  189. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
  190. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
  191. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
  192. package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
  193. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  194. package/dist/astro/routes/api/typegen.mjs +4 -4
  195. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  196. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  197. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  198. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +27 -27
  199. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +28 -28
  200. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +28 -28
  201. package/dist/astro/routes/api/widget-areas/_name_.mjs +25 -25
  202. package/dist/astro/routes/api/widget-areas/index.mjs +28 -28
  203. package/dist/astro/routes/api/widget-components.mjs +2 -2
  204. package/dist/astro/routes/robots.txt.mjs +5 -5
  205. package/dist/astro/routes/sitemap-_collection_.xml.mjs +34 -41
  206. package/dist/astro/routes/sitemap.xml.mjs +29 -17
  207. package/dist/astro/session-driver.d.mts +1 -1
  208. package/dist/astro/session-driver.mjs +2 -2
  209. package/dist/astro/types.d.mts +14 -11
  210. package/dist/{audit-DeBteyL4.mjs → audit-nenmMR-2.mjs} +1 -1
  211. package/dist/auth/providers/github.d.mts +1 -1
  212. package/dist/auth/providers/google.d.mts +1 -1
  213. package/dist/{auth-control-guard-B_Dx-epW.mjs → auth-control-guard-B7PdECn6.mjs} +1 -1
  214. package/dist/{authorize-D6MkRtPw.mjs → authorize-DTvHe9bm.mjs} +1 -1
  215. package/dist/{briefing-DiJir0Ev.mjs → briefing-CpU_z8qH.mjs} +5 -5
  216. package/dist/{briefing-5Y-NTrWG.mjs → briefing-PxagUoJJ.mjs} +1 -1
  217. package/dist/{bundle-C-eQG8un.mjs → bundle-dsO2-7eh.mjs} +2 -2
  218. package/dist/{byline-CB0OLcK1.mjs → byline-DEBDPF8R.mjs} +4 -4
  219. package/dist/{byline-fields-BRUB-Vla.mjs → byline-fields-BQRx17y_.mjs} +1 -1
  220. package/dist/{byline-fields-DEQ1wcUa.d.mts → byline-fields-BXg94LXd.d.mts} +37 -31
  221. package/dist/{bylines-BDp4-cpl.mjs → bylines-C7hm1-iI.mjs} +3 -3
  222. package/dist/{bylines-CMKhrSEg.mjs → bylines-YK6eGHvV.mjs} +5 -5
  223. package/dist/{cache-CtXIOJKw.mjs → cache-BuVpjvBc.mjs} +1 -1
  224. package/dist/{chunks-BdkWx1oD.mjs → chunks-B-1_U3oF.mjs} +1 -1
  225. package/dist/cli/index.mjs +28 -27
  226. package/dist/cli/plugin-kit.d.mts +9 -8
  227. package/dist/cli/plugin-kit.mjs +2 -2
  228. package/dist/client/external-auth-headers.d.mts +1 -1
  229. package/dist/client/index.d.mts +11 -10
  230. package/dist/client/index.mjs +2 -2
  231. package/dist/{client-factory-Dll61uB1.mjs → client-factory-Nyp2sznG.mjs} +1 -1
  232. package/dist/{comment-3JihGSh6.mjs → comment-BX6H4NF-.mjs} +1 -1
  233. package/dist/{comment-reaction-BNXm1YHa.mjs → comment-reaction-QSENU_3S.mjs} +1 -1
  234. package/dist/{comments-DJZXQi0j.mjs → comments-BHSYG53k.mjs} +1 -1
  235. package/dist/{content-Bturdi4b.mjs → content-Bg_hMt4Q.mjs} +2 -2
  236. package/dist/{content-refresh-C4YoqoNs.mjs → content-refresh-CHBBZGwf.mjs} +2 -2
  237. package/dist/{context-CB4PwkM_.mjs → context-BGt7zfQ-.mjs} +8 -8
  238. package/dist/{context-B6HQWp5l.mjs → context-BHXgPEPC.mjs} +2 -2
  239. package/dist/{context-route-helpers-CLoNF0pp.mjs → context-route-helpers-SwM-_GT4.mjs} +2 -2
  240. package/dist/{dashboard-DP4dxA1S.mjs → dashboard-DPUW4hBR.mjs} +4 -4
  241. package/dist/db/index.d.mts +3 -3
  242. package/dist/db/index.mjs +1 -1
  243. package/dist/db/libsql.d.mts +1 -1
  244. package/dist/db/postgres.d.mts +1 -1
  245. package/dist/db/sqlite.d.mts +1 -1
  246. package/dist/{device-flow-BWV1ZxXW.mjs → device-flow-XqdFNsv_.mjs} +4 -4
  247. package/dist/discovery-DvuRcbP-.mjs +178 -0
  248. package/dist/{field-defs-cache-BGhsaYGT.mjs → field-defs-cache-sSdDeJXP.mjs} +1 -1
  249. package/dist/{fts-manager-6KClQEs0.mjs → fts-manager-C7pxxk6B.mjs} +1 -1
  250. package/dist/{hitl-requests-BAE_3YMO.mjs → hitl-requests-D7pfIM6q.mjs} +2 -2
  251. package/dist/{hitl-route-helpers-BkX6pLBa.mjs → hitl-route-helpers-Br9uvIQs.mjs} +5 -5
  252. package/dist/{import-CJm91blH.mjs → import-CrsquhXj.mjs} +7 -7
  253. package/dist/{index-DybFmYtZ.d.mts → index-NdJMMO48.d.mts} +3 -3
  254. package/dist/index.d.mts +16 -15
  255. package/dist/index.mjs +75 -74
  256. package/dist/{integration-credentials-D3ZneN0L.mjs → integration-credentials-B7Pj6YCv.mjs} +2 -2
  257. package/dist/{jsonld-BS1v8xeZ.d.mts → jsonld-TsDIJx5A.d.mts} +19 -7
  258. package/dist/{load-CfFRVQkS.mjs → load-Bul8Tk6e.mjs} +1 -1
  259. package/dist/{loader-DtE00Fml.mjs → loader-BCr2VSzt.mjs} +27 -5
  260. package/dist/{manifest-schema-DKa3ZaJL.mjs → manifest-schema-U5qGq-iB.mjs} +1 -1
  261. package/dist/{mcp-reviewed-executor-DaIhmgOW.mjs → mcp-reviewed-executor-C1lIimd0.mjs} +4 -4
  262. package/dist/media/index.d.mts +1 -1
  263. package/dist/media/local-runtime.d.mts +11 -10
  264. package/dist/media/local-runtime.mjs +2 -2
  265. package/dist/{media-BXbOL8xv.mjs → media-D8pQJSug.mjs} +1 -1
  266. package/dist/{menus-DCjNW2e4.mjs → menus-3B-PGTX3.mjs} +1 -1
  267. package/dist/{menus-b1JWwI1Z.mjs → menus-DSWeEWXl.mjs} +5 -5
  268. package/dist/{oauth-authorization-fiXxn7FY.mjs → oauth-authorization-CMU5kREy.mjs} +4 -4
  269. package/dist/{oauth-clients-D9Gg0WjF.mjs → oauth-clients-CLdR0WyA.mjs} +2 -2
  270. package/dist/object-cache/memory.d.mts +1 -1
  271. package/dist/page/index.d.mts +11 -10
  272. package/dist/page/index.mjs +2 -2
  273. package/dist/{parse-B-Y84oJl.mjs → parse-DEG06jjr.mjs} +1 -1
  274. package/dist/plugin-utils.d.mts +9 -8
  275. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -8
  276. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  277. package/dist/{plugins-BVSrX4gZ.mjs → plugins-D8YxTh9q.mjs} +26 -23
  278. package/dist/{preview-BMIReQGc.mjs → preview-Bn59ztjn.mjs} +2 -2
  279. package/dist/{provider-loader-Db-pJFu3.d.mts → provider-loader-jdkZM6xZ.d.mts} +1 -1
  280. package/dist/public-url-DFX2c_20.d.mts +99 -0
  281. package/dist/{public-url-CoGGAgPW.d.mts → public-url-NkNXl8OU.d.mts} +1 -1
  282. package/dist/{publication-authorization-Dzr05Xx7.mjs → publication-authorization-BmazS4K0.mjs} +6 -6
  283. package/dist/{query-DTGsFOQu.mjs → query-CrUftarl.mjs} +17 -36
  284. package/dist/{query-BnxjGFfS.mjs → query-DPC5GT6e.mjs} +2 -2
  285. package/dist/{rate-limit-oUGexQO1.mjs → rate-limit-DvGL45wH.mjs} +2 -2
  286. package/dist/{redirect-3Zzd0xIN.mjs → redirect-8B-gorhg.mjs} +1 -1
  287. package/dist/{redirects-lCeytkeq.mjs → redirects-D2SVS1zo.mjs} +3 -3
  288. package/dist/{redirects-CWGZMRsj.mjs → redirects-DdPaQiWQ.mjs} +6 -2
  289. package/dist/{registry-c51Wf_AZ.mjs → registry-D3n4-yUl.mjs} +13 -6
  290. package/dist/{request-meta-DHFIzWcf.mjs → request-meta-DZTiCIQR.mjs} +1 -1
  291. package/dist/resolve-CThKf9_X.mjs +27 -0
  292. package/dist/{review-requests-eQbhj62T.mjs → review-requests-BQbmYLnz.mjs} +1 -1
  293. package/dist/{review-requests-B9NfBTCJ.mjs → review-requests-D5CJ4JCy.mjs} +1 -1
  294. package/dist/{review-route-helpers-4KBg7Hi3.mjs → review-route-helpers-DYiujAPM.mjs} +2 -2
  295. package/dist/{runner-Bcy5w0vj.d.mts → runner-BITx7yBF.d.mts} +1 -1
  296. package/dist/{runner-BE1taNgj.mjs → runner-BWZ87FK-.mjs} +482 -457
  297. package/dist/runtime.d.mts +10 -9
  298. package/dist/runtime.mjs +3 -3
  299. package/dist/schema-kk9-6bUd.mjs +8 -0
  300. package/dist/{search-BKBSn2Yf.mjs → search-B_ir6H6m.mjs} +3 -3
  301. package/dist/{sections-CyXQJaUl.mjs → sections-pRy07N5I.mjs} +2 -2
  302. package/dist/seed/index.d.mts +2 -2
  303. package/dist/seed/index.mjs +17 -17
  304. package/dist/seo/index.d.mts +4 -2
  305. package/dist/seo/index.mjs +10 -11
  306. package/dist/{seo-BasNtS3J.mjs → seo-C4nlxiaY.mjs} +1 -1
  307. package/dist/seo-DdNntVj-.mjs +52 -0
  308. package/dist/{seo-contributions-Ci8_12_r.mjs → seo-contributions-BGBehNCN.mjs} +260 -76
  309. package/dist/{service-BTYluCDf.mjs → service-D6fJX7D7.mjs} +2 -2
  310. package/dist/{settings-BAFyDIGn.mjs → settings-C4OMR0zf.mjs} +2 -2
  311. package/dist/{settings-DcwHL9mx.mjs → settings-D-a7uy2z.mjs} +2 -2
  312. package/dist/{site-activity-QPC-7Vnq.mjs → site-activity-CnrmnFRy.mjs} +1 -1
  313. package/dist/{site-context-BSw2bNdG.mjs → site-context-Bdsobbh9.mjs} +13 -13
  314. package/dist/storage/local.d.mts +1 -1
  315. package/dist/storage/local.mjs +1 -1
  316. package/dist/storage/s3.d.mts +1 -1
  317. package/dist/storage/s3.mjs +1 -1
  318. package/dist/{store-CCfMD6nw.mjs → store-DerEE3jG.mjs} +1 -1
  319. package/dist/{taxonomies-DkMW6kj5.mjs → taxonomies-6bWkaa_G.mjs} +3 -3
  320. package/dist/{taxonomies-B5jTGXEC.mjs → taxonomies-FKTevd14.mjs} +5 -5
  321. package/dist/{taxonomy-C-Aqi1cF.mjs → taxonomy-BU0eCfij.mjs} +2 -2
  322. package/dist/{types-ywmuDETA.d.mts → types-B2kbOwSj.d.mts} +6 -0
  323. package/dist/{types-GtwhHAg8.d.mts → types-B6r_SMeR.d.mts} +1 -1
  324. package/dist/{types-BFeoAIHl.d.mts → types-C8cUW9dh.d.mts} +1 -0
  325. package/dist/{types-al8YMHdF.mjs → types-C9F2TLQV.mjs} +1 -1
  326. package/dist/{types-CnuliyMS.d.mts → types-Cty2_HVR.d.mts} +92 -51
  327. package/dist/ui/server-runtime.d.mts +13 -12
  328. package/dist/ui/server-runtime.mjs +19 -60
  329. package/dist/{user-Ldseid1x.mjs → user-BV02bsWz.mjs} +2 -2
  330. package/dist/{validate-YiX3rly5.d.mts → validate-Bc9gaua6.d.mts} +5 -3
  331. package/dist/{validate-hHdBXn4U.mjs → validate-Drps_jbV.mjs} +9 -1
  332. package/dist/version-Cg-aQHxG.mjs +6 -0
  333. package/dist/{widgets-oRtISrJQ.mjs → widgets-BFqy7PYs.mjs} +2 -2
  334. package/dist/{zod-generator-BGSszwCw.mjs → zod-generator-BlY_vGgR.mjs} +1 -1
  335. package/package.json +4 -4
  336. package/src/components/DinewayHead.astro +6 -6
  337. package/dist/resolve-B6BpqwAR.mjs +0 -100
  338. package/dist/schema-dGCjdAx9.mjs +0 -8
  339. package/dist/seo-BLszyJxd.mjs +0 -105
  340. package/dist/version-wVceh475.mjs +0 -6
  341. /package/dist/{actor-DA7yL9Yp.mjs → actor-D3A5PNkH.mjs} +0 -0
  342. /package/dist/{adapters-DnMDRQ4e.d.mts → adapters-DUVI3Mpc.d.mts} +0 -0
  343. /package/dist/{api-tokens-D4tcY8R6.mjs → api-tokens-CbMAy6xF.mjs} +0 -0
  344. /package/dist/{byline-fields-sE9SQsDR.mjs → byline-fields-DPi4Ri_5.mjs} +0 -0
  345. /package/dist/{components-D0w9MzQe.mjs → components-DGu-rih7.mjs} +0 -0
  346. /package/dist/{cron-D_c3WUPN.mjs → cron-BjKHo0QD.mjs} +0 -0
  347. /package/dist/{default-BxoI3SoK.mjs → default-CO47mlSA.mjs} +0 -0
  348. /package/dist/{email-console-BEMwuxhV.mjs → email-console-CFE1ay18.mjs} +0 -0
  349. /package/dist/{error-BW9f_ynq.mjs → error-Jz0EtEwI.mjs} +0 -0
  350. /package/dist/{escape-smSUOb7u.mjs → escape-HmHTC1Is.mjs} +0 -0
  351. /package/dist/{experimental-workflows-CgO73K4e.mjs → experimental-workflows-EYZRNkRR.mjs} +0 -0
  352. /package/dist/{media-allowlist-BQyIBPzd.mjs → media-allowlist-9u_gxMG2.mjs} +0 -0
  353. /package/dist/{media-url-B6d-yVI6.mjs → media-url-DVoOhf4X.mjs} +0 -0
  354. /package/dist/{oauth-state-store-DPVzeoyY.mjs → oauth-state-store-HdGg_nSm.mjs} +0 -0
  355. /package/dist/{oauth-user-lookup-3E5jlXrr.mjs → oauth-user-lookup-CP16vyFW.mjs} +0 -0
  356. /package/dist/{output-BbqsKnS_.mjs → output-CXOC3BFr.mjs} +0 -0
  357. /package/dist/{parser-DX_c5iG3.mjs → parser-buoH2frr.mjs} +0 -0
  358. /package/dist/{passkey-config-DE_0EGEP.mjs → passkey-config-T47FwLtS.mjs} +0 -0
  359. /package/dist/{placeholder-C6ZjZcmJ.d.mts → placeholder-BsYSFPjY.d.mts} +0 -0
  360. /package/dist/{portable-text-y8QVqTzd.mjs → portable-text-DQHE3b5v.mjs} +0 -0
  361. /package/dist/{portable-text-BYUu-wtj.d.mts → portable-text-Dm0bgrdZ.d.mts} +0 -0
  362. /package/dist/{provider-loader-BeQcnPN1.mjs → provider-loader-Dxka0BDp.mjs} +0 -0
  363. /package/dist/{public-url-BA-7LKvQ.mjs → public-url-CIAtNGEg.mjs} +0 -0
  364. /package/dist/{redirect-CZFAqHLr.mjs → redirect-CzqnLxK-.mjs} +0 -0
  365. /package/dist/{secrets-CpGpyGcO.mjs → secrets-Dw3lXI42.mjs} +0 -0
  366. /package/dist/{service-DbHMAoiN.mjs → service-DOdvCW-9.mjs} +0 -0
  367. /package/dist/{setup-complete-DcAQzVsB.mjs → setup-complete-Blqo_adb.mjs} +0 -0
  368. /package/dist/{setup-nonce-DkpYROqg.mjs → setup-nonce-CGUTFWgQ.mjs} +0 -0
  369. /package/dist/{sidecar-client-dt5fv23q.mjs → sidecar-client-C6ylL-0S.mjs} +0 -0
  370. /package/dist/{site-url-DfYDZyWl.mjs → site-url-CK5vBdFu.mjs} +0 -0
  371. /package/dist/{ssrf-BZHvtFEv.mjs → ssrf-Dz2hqAiG.mjs} +0 -0
  372. /package/dist/{status-BN40hMpr.mjs → status-xz9JACSX.mjs} +0 -0
  373. /package/dist/{tokens-DIzhPT80.mjs → tokens-DiodRT2y.mjs} +0 -0
  374. /package/dist/{transport-CXkC1F2Z.d.mts → transport-DKy93p6V.d.mts} +0 -0
  375. /package/dist/{transport-D0dLIuDC.mjs → transport-zquJ7Bzm.mjs} +0 -0
  376. /package/dist/{trusted-proxy-czZuby6G.mjs → trusted-proxy-NySPw95m.mjs} +0 -0
  377. /package/dist/{types-BsTXSvKG.d.mts → types-BaKec6bx.d.mts} +0 -0
  378. /package/dist/{types-gvNBqijt.mjs → types-C1LdZbQb.mjs} +0 -0
  379. /package/dist/{types-S9VIopdY.d.mts → types-C2LBO0t8.d.mts} +0 -0
  380. /package/dist/{types-CDcuRd4z.d.mts → types-DY9lJRpo.d.mts} +0 -0
  381. /package/dist/{types-YxFz4lDr.d.mts → types-Gd4kXLsa.d.mts} +0 -0
  382. /package/dist/{types-CK0r-Xq4.mjs → types-ftxcMx5-.mjs} +0 -0
  383. /package/dist/{url-D282S1Zw.mjs → url-C05Zz4pW.mjs} +0 -0
  384. /package/dist/{utils-B7gemXz5.mjs → utils-BPzpVHqR.mjs} +0 -0
  385. /package/dist/{wordpress-slugs-D_LfQCan.mjs → wordpress-slugs-fMvfO22_.mjs} +0 -0
@@ -1,5 +1,5 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
2
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-BdkWx1oD.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
2
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-B-1_U3oF.mjs";
3
3
  import { ulid } from "ulidx";
4
4
 
5
5
  //#region src/database/repositories/user.ts
@@ -1,6 +1,6 @@
1
- import { d as FieldType } from "./types-ywmuDETA.mjs";
2
- import { t as Database } from "./types-BFeoAIHl.mjs";
3
- import { d as Storage } from "./types-YxFz4lDr.mjs";
1
+ import { d as FieldType } from "./types-B2kbOwSj.mjs";
2
+ import { t as Database } from "./types-C8cUW9dh.mjs";
3
+ import { d as Storage } from "./types-Gd4kXLsa.mjs";
4
4
  import { Kysely } from "kysely";
5
5
 
6
6
  //#region src/settings/types.d.ts
@@ -109,6 +109,8 @@ interface SeedCollection {
109
109
  icon?: string;
110
110
  supports?: ("drafts" | "revisions" | "preview" | "scheduling" | "search" | "seo")[];
111
111
  urlPattern?: string;
112
+ /** Field containing the complete public path, including any locale prefix. */
113
+ urlField?: string;
112
114
  /** Enable comments on this collection */
113
115
  commentsEnabled?: boolean;
114
116
  fields: SeedField[];
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { n as FIELD_TYPES } from "./types-B7TDDFMG.mjs";
3
3
 
4
4
  //#region src/seed/validate.ts
@@ -66,6 +66,14 @@ function validateSeed(data) {
66
66
  }
67
67
  if (!collection.label) errors.push(`${prefix}: label is required`);
68
68
  if (collection.urlPattern && !collection.urlPattern.includes("{slug}")) errors.push(`${prefix}.urlPattern: must include a {slug} placeholder`);
69
+ if (collection.urlField) {
70
+ const field = Array.isArray(collection.fields) ? collection.fields.find((candidate) => candidate.slug === collection.urlField) : void 0;
71
+ if (!field || ![
72
+ "string",
73
+ "text",
74
+ "url"
75
+ ].includes(field.type)) errors.push(`${prefix}.urlField: must reference an existing string, text or url field`);
76
+ }
69
77
  if (!Array.isArray(collection.fields)) errors.push(`${prefix}.fields: must be an array`);
70
78
  else {
71
79
  const fieldSlugs = /* @__PURE__ */ new Set();
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.2.21";
3
+ const COMMIT = "fa00cadb3";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -1,6 +1,6 @@
1
- import { r as getDb } from "./loader-DtE00Fml.mjs";
1
+ import { r as getDb } from "./loader-BCr2VSzt.mjs";
2
2
  import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
3
- import { t as getWidgetComponents$1 } from "./components-D0w9MzQe.mjs";
3
+ import { t as getWidgetComponents$1 } from "./components-DGu-rih7.mjs";
4
4
 
5
5
  //#region src/widgets/index.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { n as hashString } from "./hash-mxxx2oPW.mjs";
3
3
  import { z } from "zod";
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dineway",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
4
4
  "description": "Agentic Website builder for restaurants — structured content meets AI via the Model Context Protocol",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -387,9 +387,9 @@
387
387
  "ulidx": "^2.4.1",
388
388
  "upng-js": "^2.1.0",
389
389
  "zod": "^4.4.1",
390
- "@dineway-ai/admin": "^0.2.7",
391
- "@dineway-ai/auth": "^0.2.5",
392
- "@dineway-ai/gutenberg-to-portable-text": "^0.2.3"
390
+ "@dineway-ai/admin": "^0.2.9",
391
+ "@dineway-ai/gutenberg-to-portable-text": "^0.2.3",
392
+ "@dineway-ai/auth": "^0.2.5"
393
393
  },
394
394
  "optionalDependencies": {
395
395
  "@aws-sdk/client-s3": "^3.1049.0",
@@ -23,7 +23,6 @@ import {
23
23
  renderPageMetadata,
24
24
  renderSiteIdentity,
25
25
  resolvePageMetadata,
26
- absolutizeMediaUrl,
27
26
  type PageMetadataContribution,
28
27
  type PublicPageContext,
29
28
  type ResolvedPageMetadata,
@@ -51,11 +50,12 @@ if (runtime) {
51
50
  runtime.collectPageFragments(page),
52
51
  ]);
53
52
 
54
- const defaultOgImage = absolutizeMediaUrl(
55
- siteSettings.seo?.defaultOgImage?.url,
56
- siteSettings.url,
57
- page,
58
- );
53
+ const reference = siteSettings.seo?.defaultOgImage;
54
+ const defaultOgImage = reference?.url ? {
55
+ url: reference.url, alt: reference.alt, width: reference.width,
56
+ height: reference.height, mimeType: reference.contentType,
57
+ } : undefined;
58
+
59
59
  const baseContributions: PageMetadataContribution[] = generateBaseSeoContributions(
60
60
  page,
61
61
  defaultOgImage,
@@ -1,100 +0,0 @@
1
- import { n as getI18nConfig, r as isI18nEnabled, t as getFallbackChain } from "./config-CVssduLe.mjs";
2
- import { getRequestContext } from "./request-context.mjs";
3
-
4
- //#region src/i18n/resolve.ts
5
- /**
6
- * Shared locale-resolution helpers.
7
- *
8
- * An explicit locale wins, then the request-context locale, then the configured
9
- * defaultLocale when i18n is enabled. If none of those exist, callers should
10
- * treat the result as "do not filter by locale" for legacy single-locale sites.
11
- */
12
- function resolveLocale(explicit) {
13
- if (explicit !== void 0) return explicit;
14
- const ctxLocale = getRequestContext()?.locale;
15
- if (ctxLocale !== void 0) return ctxLocale;
16
- const config = getI18nConfig();
17
- if (config && isI18nEnabled()) return config.defaultLocale;
18
- }
19
- function resolveLocaleChain(explicit) {
20
- const locale = resolveLocale(explicit);
21
- if (locale === void 0) return [];
22
- if (!isI18nEnabled()) return [locale];
23
- return getFallbackChain(locale);
24
- }
25
- const REPEATED_SLASHES = /\/{2,}/g;
26
- /**
27
- * Interpolate a collection `url_pattern` with a row's slug and id.
28
- *
29
- * Falls back to `/{collection}/{slug}` when no pattern is configured.
30
- * Does not apply any locale prefix; pass the result through `localizePath`
31
- * when generating public i18n-aware URLs.
32
- */
33
- function interpolateUrlPattern(options) {
34
- const { pattern, collection, slug, id } = options;
35
- let path = (pattern ?? `/${encodeURIComponent(collection)}/{slug}`).replace("{slug}", encodeURIComponent(slug)).replace("{id}", encodeURIComponent(id));
36
- path = path.replace(REPEATED_SLASHES, "/");
37
- if (path.length > 1 && path.endsWith("/")) path = path.slice(0, -1);
38
- if (!path.startsWith("/")) path = `/${path}`;
39
- return path;
40
- }
41
- /**
42
- * Apply a locale prefix to a path, honoring the user's Astro i18n routing
43
- * config (`prefixDefaultLocale` and custom `path`/`codes` mappings).
44
- *
45
- * Returns `null` when the locale is not in the configured list so callers can
46
- * omit sitemap URLs for routes the site cannot serve.
47
- */
48
- async function localizePath(path, locale) {
49
- const segment = await resolveLocaleSegment(locale);
50
- if (segment === void 0) return null;
51
- if (segment === null || segment === "") return normalizePath(path);
52
- return normalizePath(`/${segment}${path}`);
53
- }
54
- async function resolveLocaleSegment(locale) {
55
- const i18n = await readAstroI18nConfig();
56
- if (!i18n || !i18n.locales || i18n.locales.length <= 1) return null;
57
- if (locale === i18n.defaultLocale && !i18n.prefixDefaultLocale) return "";
58
- for (const entry of i18n.locales) if (typeof entry === "string") {
59
- if (entry === locale) return entry;
60
- } else if (entry.codes.includes(locale)) return entry.path;
61
- }
62
- let astroI18nCache;
63
- async function readAstroI18nConfig() {
64
- if (astroI18nCache !== void 0) return astroI18nCache;
65
- try {
66
- const mod = await import("astro:config/server");
67
- if (!mod.i18n) {
68
- astroI18nCache = null;
69
- return null;
70
- }
71
- const routing = mod.i18n.routing;
72
- astroI18nCache = {
73
- defaultLocale: mod.i18n.defaultLocale,
74
- locales: mod.i18n.locales,
75
- prefixDefaultLocale: typeof routing === "object" ? routing.prefixDefaultLocale ?? false : false
76
- };
77
- return astroI18nCache;
78
- } catch {
79
- const config = getI18nConfig();
80
- if (!config || !isI18nEnabled()) {
81
- astroI18nCache = null;
82
- return null;
83
- }
84
- astroI18nCache = {
85
- defaultLocale: config.defaultLocale,
86
- locales: config.locales,
87
- prefixDefaultLocale: config.prefixDefaultLocale
88
- };
89
- return astroI18nCache;
90
- }
91
- }
92
- function normalizePath(path) {
93
- let normalized = path.replace(REPEATED_SLASHES, "/");
94
- if (normalized.length > 1 && normalized.endsWith("/")) normalized = normalized.slice(0, -1);
95
- if (!normalized.startsWith("/")) normalized = `/${normalized}`;
96
- return normalized;
97
- }
98
-
99
- //#endregion
100
- export { resolveLocaleChain as i, localizePath as n, resolveLocale as r, interpolateUrlPattern as t };
@@ -1,8 +0,0 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
2
- import { n as SchemaRegistry } from "./registry-c51Wf_AZ.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,105 +0,0 @@
1
- import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
- import { sql } from "kysely";
3
-
4
- //#region src/api/handlers/seo.ts
5
- /**
6
- * SEO Handlers
7
- *
8
- * Business logic for sitemap generation and robots.txt.
9
- */
10
- /** Maximum entries per sitemap (per spec) */
11
- const SITEMAP_MAX_ENTRIES = 5e4;
12
- /** Matches a trailing timezone designator (`Z` or `+08`, `+0800`, `+08:00`). */
13
- const TZ_SUFFIX_RE = /([zZ]|[+-]\d{2}(?::?\d{2})?)$/;
14
- /**
15
- * Normalize stored timestamps to W3C Datetime for sitemap <lastmod>.
16
- *
17
- * Content rows can store SQLite/Postgres defaults like `YYYY-MM-DD HH:MM:SS`
18
- * or imported date shapes. When no timezone is present, assume UTC to match
19
- * SQLite's `datetime('now')`. Unparseable values are returned unchanged.
20
- */
21
- function toW3CDate(value) {
22
- if (!value) return value;
23
- let normalized = value.trim();
24
- if (normalized.includes(" ") && !normalized.includes("T")) normalized = normalized.replace(" ", "T");
25
- if (!TZ_SUFFIX_RE.test(normalized)) normalized += "Z";
26
- const parsed = Date.parse(normalized);
27
- return Number.isNaN(parsed) ? value : new Date(parsed).toISOString();
28
- }
29
- /**
30
- * Collect all published, indexable content across SEO-enabled collections
31
- * for sitemap generation, grouped by collection.
32
- *
33
- * Only includes content from collections with `has_seo = 1`.
34
- * Excludes content with `seo_no_index = 1` in the `_dineway_seo` table.
35
- *
36
- * Returns raw data grouped per collection. The caller (route) is
37
- * responsible for building absolute URLs — this handler does NOT
38
- * assume a URL structure.
39
- */
40
- async function handleSitemapData(db, collectionSlug) {
41
- try {
42
- let query = db.selectFrom("_dineway_collections").select(["slug", "url_pattern"]).where("has_seo", "=", 1);
43
- if (collectionSlug) query = query.where("slug", "=", collectionSlug);
44
- const collections = await query.execute();
45
- const result = [];
46
- for (const col of collections) {
47
- try {
48
- validateIdentifier(col.slug, "collection slug");
49
- } catch {
50
- console.warn(`[SITEMAP] Skipping collection with invalid slug: ${col.slug}`);
51
- continue;
52
- }
53
- const tableName = `ec_${col.slug}`;
54
- try {
55
- const rows = await sql`
56
- SELECT c.slug, c.id, c.updated_at, c.locale, c.translation_group, s.seo_image
57
- FROM ${sql.ref(tableName)} c
58
- LEFT JOIN _dineway_seo s
59
- ON s.collection = ${col.slug}
60
- AND s.content_id = c.id
61
- WHERE c.status = 'published'
62
- AND c.deleted_at IS NULL
63
- AND (s.seo_no_index IS NULL OR s.seo_no_index = 0)
64
- ORDER BY c.updated_at DESC
65
- LIMIT ${SITEMAP_MAX_ENTRIES}
66
- `.execute(db);
67
- if (rows.rows.length === 0) continue;
68
- const entries = [];
69
- for (const row of rows.rows) entries.push({
70
- id: row.id,
71
- slug: row.slug,
72
- updatedAt: toW3CDate(row.updated_at),
73
- locale: row.locale,
74
- translationGroup: row.translation_group,
75
- image: row.seo_image ?? null
76
- });
77
- result.push({
78
- collection: col.slug,
79
- urlPattern: col.url_pattern,
80
- lastmod: toW3CDate(rows.rows[0].updated_at),
81
- entries
82
- });
83
- } catch (err) {
84
- console.warn(`[SITEMAP] Failed to query collection "${col.slug}":`, err);
85
- continue;
86
- }
87
- }
88
- return {
89
- success: true,
90
- data: { collections: result }
91
- };
92
- } catch (error) {
93
- console.error("[SITEMAP_ERROR]", error);
94
- return {
95
- success: false,
96
- error: {
97
- code: "SITEMAP_ERROR",
98
- message: "Failed to generate sitemap data"
99
- }
100
- };
101
- }
102
- }
103
-
104
- //#endregion
105
- export { handleSitemapData as t };
@@ -1,6 +0,0 @@
1
- //#region src/version.ts
2
- const VERSION = "0.2.19";
3
- const COMMIT = "0a677af7d";
4
-
5
- //#endregion
6
- export { VERSION as n, COMMIT 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