dineway 0.2.20 → 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 (390) 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-VLgv2PL1.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-DIdotXfH.mjs → api-Bbtpvq2-.mjs} +15 -15
  9. package/dist/{api-tokens-C4K9eocv.mjs → api-tokens-BFgXg0l2.mjs} +1 -1
  10. package/dist/{apply-CPcb8oiS.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 +6 -6
  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/setup.mjs +1 -1
  20. package/dist/astro/middleware.mjs +111 -98
  21. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  22. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  23. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  24. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  25. package/dist/astro/routes/api/admin/briefing.mjs +16 -16
  26. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +3 -3
  27. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +7 -7
  28. package/dist/astro/routes/api/admin/byline-fields/index.mjs +7 -7
  29. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +7 -7
  30. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +13 -13
  31. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -13
  32. package/dist/astro/routes/api/admin/bylines/index.mjs +13 -13
  33. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
  34. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  35. package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
  36. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  37. package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
  38. package/dist/astro/routes/api/admin/context/_id_/history.mjs +23 -23
  39. package/dist/astro/routes/api/admin/context/_id_/index.mjs +23 -23
  40. package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
  41. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
  42. package/dist/astro/routes/api/admin/context/diff.mjs +27 -27
  43. package/dist/astro/routes/api/admin/context/index.mjs +28 -28
  44. package/dist/astro/routes/api/admin/context/stale.mjs +27 -27
  45. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +23 -23
  46. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +27 -27
  47. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +27 -27
  48. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +24 -24
  49. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  50. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  51. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  52. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +53 -52
  53. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +53 -52
  54. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +45 -44
  55. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +52 -51
  56. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -51
  57. package/dist/astro/routes/api/admin/plugins/index.mjs +45 -44
  58. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +45 -44
  60. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -51
  61. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +45 -44
  62. package/dist/astro/routes/api/admin/plugins/updates.mjs +45 -44
  63. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  64. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +28 -28
  65. package/dist/astro/routes/api/admin/review-requests/index.mjs +28 -28
  66. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +45 -44
  67. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  68. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +45 -44
  69. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  70. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  71. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  72. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  73. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  74. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  75. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  76. package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
  77. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  78. package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
  79. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  80. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  81. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  82. package/dist/astro/routes/api/auth/me.mjs +7 -7
  83. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  84. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  85. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  86. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  87. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  88. package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
  89. package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
  90. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
  91. package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
  92. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  93. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  94. package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
  95. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  96. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  97. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
  98. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +11 -11
  99. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  100. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  101. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  102. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  103. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  104. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  105. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +7 -7
  106. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  107. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  108. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  109. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +12 -12
  110. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  111. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  112. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
  113. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  114. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
  115. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  116. package/dist/astro/routes/api/dashboard.mjs +8 -8
  117. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  118. package/dist/astro/routes/api/health.mjs +1 -1
  119. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  120. package/dist/astro/routes/api/import/probe.mjs +17 -17
  121. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  122. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -8
  123. package/dist/astro/routes/api/import/wordpress/execute.mjs +32 -32
  124. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -8
  125. package/dist/astro/routes/api/import/wordpress/media.mjs +9 -9
  126. package/dist/astro/routes/api/import/wordpress/prepare.mjs +31 -31
  127. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -9
  128. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +28 -28
  129. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  130. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +20 -20
  131. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -8
  132. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -36
  133. package/dist/astro/routes/api/integrations/_provider_.mjs +6 -6
  134. package/dist/astro/routes/api/integrations/index.mjs +5 -5
  135. package/dist/astro/routes/api/manifest.mjs +4 -4
  136. package/dist/astro/routes/api/mcp.mjs +64 -64
  137. package/dist/astro/routes/api/media/_id_/confirm.mjs +8 -8
  138. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  139. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  140. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  141. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  142. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  143. package/dist/astro/routes/api/media/upload-url.mjs +9 -9
  144. package/dist/astro/routes/api/media.mjs +9 -9
  145. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +28 -28
  146. package/dist/astro/routes/api/menus/_name_/items.mjs +28 -28
  147. package/dist/astro/routes/api/menus/_name_/reorder.mjs +28 -28
  148. package/dist/astro/routes/api/menus/_name_/translations.mjs +28 -28
  149. package/dist/astro/routes/api/menus/_name_.mjs +28 -28
  150. package/dist/astro/routes/api/menus/index.mjs +28 -28
  151. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  152. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  153. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  154. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  155. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  156. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  157. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  158. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  159. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  160. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  161. package/dist/astro/routes/api/redirects/404s/index.mjs +9 -9
  162. package/dist/astro/routes/api/redirects/404s/summary.mjs +9 -9
  163. package/dist/astro/routes/api/redirects/_id_.mjs +29 -29
  164. package/dist/astro/routes/api/redirects/index.mjs +29 -29
  165. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  166. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  167. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -46
  168. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -46
  169. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -46
  170. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -46
  171. package/dist/astro/routes/api/schema/collections/index.mjs +47 -46
  172. package/dist/astro/routes/api/schema/index.mjs +7 -7
  173. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +45 -44
  174. package/dist/astro/routes/api/schema/orphans/index.mjs +45 -44
  175. package/dist/astro/routes/api/search/enable.mjs +10 -10
  176. package/dist/astro/routes/api/search/index.mjs +9 -9
  177. package/dist/astro/routes/api/search/rebuild.mjs +10 -10
  178. package/dist/astro/routes/api/search/stats.mjs +6 -6
  179. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  180. package/dist/astro/routes/api/sections/_slug_.mjs +28 -28
  181. package/dist/astro/routes/api/sections/index.mjs +28 -28
  182. package/dist/astro/routes/api/settings/email.mjs +3 -3
  183. package/dist/astro/routes/api/settings.mjs +28 -28
  184. package/dist/astro/routes/api/setup/admin-verify.mjs +11 -11
  185. package/dist/astro/routes/api/setup/admin.mjs +9 -9
  186. package/dist/astro/routes/api/setup/dev-bypass.mjs +23 -23
  187. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  188. package/dist/astro/routes/api/setup/index.mjs +24 -24
  189. package/dist/astro/routes/api/setup/status.mjs +3 -3
  190. package/dist/astro/routes/api/snapshot.mjs +6 -6
  191. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
  192. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
  193. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
  194. package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
  195. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  196. package/dist/astro/routes/api/typegen.mjs +4 -4
  197. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  198. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  199. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  200. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +27 -27
  201. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +28 -28
  202. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +28 -28
  203. package/dist/astro/routes/api/widget-areas/_name_.mjs +25 -25
  204. package/dist/astro/routes/api/widget-areas/index.mjs +28 -28
  205. package/dist/astro/routes/api/widget-components.mjs +2 -2
  206. package/dist/astro/routes/robots.txt.mjs +5 -5
  207. package/dist/astro/routes/sitemap-_collection_.xml.mjs +34 -41
  208. package/dist/astro/routes/sitemap.xml.mjs +29 -17
  209. package/dist/astro/session-driver.d.mts +1 -1
  210. package/dist/astro/session-driver.mjs +2 -2
  211. package/dist/astro/types.d.mts +14 -11
  212. package/dist/{audit-DeBteyL4.mjs → audit-nenmMR-2.mjs} +1 -1
  213. package/dist/auth/providers/github.d.mts +1 -1
  214. package/dist/auth/providers/google.d.mts +1 -1
  215. package/dist/{auth-control-guard-B_Dx-epW.mjs → auth-control-guard-B7PdECn6.mjs} +1 -1
  216. package/dist/{authorize-D6MkRtPw.mjs → authorize-DTvHe9bm.mjs} +1 -1
  217. package/dist/{briefing-BTA39bRc.mjs → briefing-CpU_z8qH.mjs} +5 -5
  218. package/dist/{briefing-BfUOJfCy.mjs → briefing-PxagUoJJ.mjs} +1 -1
  219. package/dist/{bundle-C-eQG8un.mjs → bundle-dsO2-7eh.mjs} +2 -2
  220. package/dist/{byline-CB0OLcK1.mjs → byline-DEBDPF8R.mjs} +4 -4
  221. package/dist/{byline-fields-BRUB-Vla.mjs → byline-fields-BQRx17y_.mjs} +1 -1
  222. package/dist/{byline-fields-urVGl6bz.d.mts → byline-fields-BXg94LXd.d.mts} +50 -44
  223. package/dist/{bylines-BDp4-cpl.mjs → bylines-C7hm1-iI.mjs} +3 -3
  224. package/dist/{bylines-CiSL5IrP.mjs → bylines-YK6eGHvV.mjs} +5 -5
  225. package/dist/{cache-CtXIOJKw.mjs → cache-BuVpjvBc.mjs} +1 -1
  226. package/dist/{chunks-BdkWx1oD.mjs → chunks-B-1_U3oF.mjs} +1 -1
  227. package/dist/cli/index.mjs +28 -27
  228. package/dist/cli/plugin-kit.d.mts +9 -8
  229. package/dist/cli/plugin-kit.mjs +2 -2
  230. package/dist/client/external-auth-headers.d.mts +1 -1
  231. package/dist/client/index.d.mts +11 -10
  232. package/dist/client/index.mjs +2 -2
  233. package/dist/{client-factory-Dll61uB1.mjs → client-factory-Nyp2sznG.mjs} +1 -1
  234. package/dist/{comment-3JihGSh6.mjs → comment-BX6H4NF-.mjs} +1 -1
  235. package/dist/{comment-reaction-BNXm1YHa.mjs → comment-reaction-QSENU_3S.mjs} +1 -1
  236. package/dist/{comments-DJZXQi0j.mjs → comments-BHSYG53k.mjs} +1 -1
  237. package/dist/{content-Bturdi4b.mjs → content-Bg_hMt4Q.mjs} +2 -2
  238. package/dist/{content-refresh-C4YoqoNs.mjs → content-refresh-CHBBZGwf.mjs} +2 -2
  239. package/dist/{context-CB4PwkM_.mjs → context-BGt7zfQ-.mjs} +8 -8
  240. package/dist/{context-DH-YFjZr.mjs → context-BHXgPEPC.mjs} +2 -2
  241. package/dist/{context-route-helpers-CLoNF0pp.mjs → context-route-helpers-SwM-_GT4.mjs} +2 -2
  242. package/dist/{dashboard-DP4dxA1S.mjs → dashboard-DPUW4hBR.mjs} +4 -4
  243. package/dist/db/index.d.mts +3 -3
  244. package/dist/db/index.mjs +1 -1
  245. package/dist/db/libsql.d.mts +1 -1
  246. package/dist/db/postgres.d.mts +1 -1
  247. package/dist/db/sqlite.d.mts +1 -1
  248. package/dist/{device-flow-BWV1ZxXW.mjs → device-flow-XqdFNsv_.mjs} +4 -4
  249. package/dist/discovery-DvuRcbP-.mjs +178 -0
  250. package/dist/{field-defs-cache-BGhsaYGT.mjs → field-defs-cache-sSdDeJXP.mjs} +1 -1
  251. package/dist/{fts-manager-6KClQEs0.mjs → fts-manager-C7pxxk6B.mjs} +1 -1
  252. package/dist/{hitl-requests-DDYRgSeH.mjs → hitl-requests-D7pfIM6q.mjs} +2 -2
  253. package/dist/{hitl-route-helpers-BI3qTO75.mjs → hitl-route-helpers-Br9uvIQs.mjs} +5 -5
  254. package/dist/{import-CoaAe-mc.mjs → import-CrsquhXj.mjs} +7 -7
  255. package/dist/{index-DybFmYtZ.d.mts → index-NdJMMO48.d.mts} +3 -3
  256. package/dist/index.d.mts +16 -15
  257. package/dist/index.mjs +75 -74
  258. package/dist/{integration-credentials-D3ZneN0L.mjs → integration-credentials-B7Pj6YCv.mjs} +2 -2
  259. package/dist/{jsonld-DfR5LVWQ.d.mts → jsonld-TsDIJx5A.d.mts} +19 -7
  260. package/dist/{load-CfFRVQkS.mjs → load-Bul8Tk6e.mjs} +1 -1
  261. package/dist/{loader-CqKPLiKx.mjs → loader-BCr2VSzt.mjs} +2 -2
  262. package/dist/{manifest-schema-DKa3ZaJL.mjs → manifest-schema-U5qGq-iB.mjs} +1 -1
  263. package/dist/{mcp-reviewed-executor-ANVt5edE.mjs → mcp-reviewed-executor-C1lIimd0.mjs} +4 -4
  264. package/dist/media/index.d.mts +1 -1
  265. package/dist/media/local-runtime.d.mts +11 -10
  266. package/dist/media/local-runtime.mjs +2 -2
  267. package/dist/{media-BXbOL8xv.mjs → media-D8pQJSug.mjs} +1 -1
  268. package/dist/{menus-DCjNW2e4.mjs → menus-3B-PGTX3.mjs} +1 -1
  269. package/dist/{menus-Cu8lQOFw.mjs → menus-DSWeEWXl.mjs} +5 -5
  270. package/dist/{oauth-authorization-fiXxn7FY.mjs → oauth-authorization-CMU5kREy.mjs} +4 -4
  271. package/dist/{oauth-clients-D9Gg0WjF.mjs → oauth-clients-CLdR0WyA.mjs} +2 -2
  272. package/dist/object-cache/memory.d.mts +1 -1
  273. package/dist/page/index.d.mts +11 -10
  274. package/dist/page/index.mjs +2 -2
  275. package/dist/{parse-B-Y84oJl.mjs → parse-DEG06jjr.mjs} +1 -1
  276. package/dist/plugin-utils.d.mts +9 -8
  277. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -8
  278. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  279. package/dist/{plugins-BVSrX4gZ.mjs → plugins-D8YxTh9q.mjs} +26 -23
  280. package/dist/{preview-BMIReQGc.mjs → preview-Bn59ztjn.mjs} +2 -2
  281. package/dist/{provider-loader-Db-pJFu3.d.mts → provider-loader-jdkZM6xZ.d.mts} +1 -1
  282. package/dist/public-url-DFX2c_20.d.mts +99 -0
  283. package/dist/{public-url-ClXQnxy1.d.mts → public-url-NkNXl8OU.d.mts} +1 -1
  284. package/dist/{publication-authorization-DrqQCW3R.mjs → publication-authorization-BmazS4K0.mjs} +6 -6
  285. package/dist/{query-B0rPTc7J.mjs → query-CrUftarl.mjs} +12 -12
  286. package/dist/{query-D5Wvb06i.mjs → query-DPC5GT6e.mjs} +2 -2
  287. package/dist/{rate-limit-oUGexQO1.mjs → rate-limit-DvGL45wH.mjs} +2 -2
  288. package/dist/{redirect-3Zzd0xIN.mjs → redirect-8B-gorhg.mjs} +1 -1
  289. package/dist/{redirects-lCeytkeq.mjs → redirects-D2SVS1zo.mjs} +3 -3
  290. package/dist/{redirects-CWGZMRsj.mjs → redirects-DdPaQiWQ.mjs} +6 -2
  291. package/dist/{registry-c51Wf_AZ.mjs → registry-D3n4-yUl.mjs} +13 -6
  292. package/dist/{request-meta-DHFIzWcf.mjs → request-meta-DZTiCIQR.mjs} +1 -1
  293. package/dist/resolve-CThKf9_X.mjs +27 -0
  294. package/dist/{review-requests-eQbhj62T.mjs → review-requests-BQbmYLnz.mjs} +1 -1
  295. package/dist/{review-requests-B9NfBTCJ.mjs → review-requests-D5CJ4JCy.mjs} +1 -1
  296. package/dist/{review-route-helpers-4KBg7Hi3.mjs → review-route-helpers-DYiujAPM.mjs} +2 -2
  297. package/dist/{runner-Bcy5w0vj.d.mts → runner-BITx7yBF.d.mts} +1 -1
  298. package/dist/{runner-BE1taNgj.mjs → runner-BWZ87FK-.mjs} +482 -457
  299. package/dist/runtime.d.mts +10 -9
  300. package/dist/runtime.mjs +3 -3
  301. package/dist/schema-kk9-6bUd.mjs +8 -0
  302. package/dist/{search-NcUUIJOw.mjs → search-B_ir6H6m.mjs} +3 -3
  303. package/dist/{sections-D_imfMlM.mjs → sections-pRy07N5I.mjs} +2 -2
  304. package/dist/seed/index.d.mts +2 -2
  305. package/dist/seed/index.mjs +17 -17
  306. package/dist/seo/index.d.mts +4 -2
  307. package/dist/seo/index.mjs +10 -11
  308. package/dist/{seo-BasNtS3J.mjs → seo-C4nlxiaY.mjs} +1 -1
  309. package/dist/seo-DdNntVj-.mjs +52 -0
  310. package/dist/{seo-contributions-Ci8_12_r.mjs → seo-contributions-BGBehNCN.mjs} +260 -76
  311. package/dist/{service-BTYluCDf.mjs → service-D6fJX7D7.mjs} +2 -2
  312. package/dist/{settings-BUZ7b4Bn.mjs → settings-C4OMR0zf.mjs} +2 -2
  313. package/dist/{settings-Cs-ST1tU.mjs → settings-D-a7uy2z.mjs} +2 -2
  314. package/dist/{site-activity-QPC-7Vnq.mjs → site-activity-CnrmnFRy.mjs} +1 -1
  315. package/dist/{site-context-BDEjOzOk.mjs → site-context-Bdsobbh9.mjs} +13 -13
  316. package/dist/storage/local.d.mts +1 -1
  317. package/dist/storage/local.mjs +1 -1
  318. package/dist/storage/s3.d.mts +1 -1
  319. package/dist/storage/s3.mjs +1 -1
  320. package/dist/{store-CCfMD6nw.mjs → store-DerEE3jG.mjs} +1 -1
  321. package/dist/{taxonomies-DoyE8B41.mjs → taxonomies-6bWkaa_G.mjs} +3 -3
  322. package/dist/{taxonomies-CpYwz_sN.mjs → taxonomies-FKTevd14.mjs} +5 -5
  323. package/dist/{taxonomy-C-Aqi1cF.mjs → taxonomy-BU0eCfij.mjs} +2 -2
  324. package/dist/{types-ywmuDETA.d.mts → types-B2kbOwSj.d.mts} +6 -0
  325. package/dist/{types-GtwhHAg8.d.mts → types-B6r_SMeR.d.mts} +1 -1
  326. package/dist/{types-BFeoAIHl.d.mts → types-C8cUW9dh.d.mts} +1 -0
  327. package/dist/{types-al8YMHdF.mjs → types-C9F2TLQV.mjs} +1 -1
  328. package/dist/{types-C4ZrBtdu.d.mts → types-Cty2_HVR.d.mts} +50 -52
  329. package/dist/ui/server-runtime.d.mts +13 -12
  330. package/dist/ui/server-runtime.mjs +19 -60
  331. package/dist/{user-Ldseid1x.mjs → user-BV02bsWz.mjs} +2 -2
  332. package/dist/{validate-YiX3rly5.d.mts → validate-Bc9gaua6.d.mts} +5 -3
  333. package/dist/{validate-hHdBXn4U.mjs → validate-Drps_jbV.mjs} +9 -1
  334. package/dist/version-Cg-aQHxG.mjs +6 -0
  335. package/dist/{widgets-cBtEykx0.mjs → widgets-BFqy7PYs.mjs} +2 -2
  336. package/dist/{zod-generator-BGSszwCw.mjs → zod-generator-BlY_vGgR.mjs} +1 -1
  337. package/package.json +4 -4
  338. package/src/components/DinewayHead.astro +6 -6
  339. package/dist/resolve-B6BpqwAR.mjs +0 -100
  340. package/dist/schema-dGCjdAx9.mjs +0 -8
  341. package/dist/seo-BLszyJxd.mjs +0 -105
  342. package/dist/version-CZX1tQmH.mjs +0 -6
  343. /package/dist/{actor-DA7yL9Yp.mjs → actor-D3A5PNkH.mjs} +0 -0
  344. /package/dist/{adapters-DnMDRQ4e.d.mts → adapters-DUVI3Mpc.d.mts} +0 -0
  345. /package/dist/{api-tokens-D4tcY8R6.mjs → api-tokens-CbMAy6xF.mjs} +0 -0
  346. /package/dist/{byline-fields-sE9SQsDR.mjs → byline-fields-DPi4Ri_5.mjs} +0 -0
  347. /package/dist/{challenge-store-BMkL2kmt.mjs → challenge-store-DtdQHXf5.mjs} +0 -0
  348. /package/dist/{components-D0w9MzQe.mjs → components-DGu-rih7.mjs} +0 -0
  349. /package/dist/{cron-D_c3WUPN.mjs → cron-BjKHo0QD.mjs} +0 -0
  350. /package/dist/{default-BxoI3SoK.mjs → default-CO47mlSA.mjs} +0 -0
  351. /package/dist/{email-console-BEMwuxhV.mjs → email-console-CFE1ay18.mjs} +0 -0
  352. /package/dist/{error-BW9f_ynq.mjs → error-Jz0EtEwI.mjs} +0 -0
  353. /package/dist/{escape-smSUOb7u.mjs → escape-HmHTC1Is.mjs} +0 -0
  354. /package/dist/{experimental-workflows-CgO73K4e.mjs → experimental-workflows-EYZRNkRR.mjs} +0 -0
  355. /package/dist/{media-allowlist-BQyIBPzd.mjs → media-allowlist-9u_gxMG2.mjs} +0 -0
  356. /package/dist/{media-url-B6d-yVI6.mjs → media-url-DVoOhf4X.mjs} +0 -0
  357. /package/dist/{mode-DPC7segX.mjs → mode-DqpBaEOy.mjs} +0 -0
  358. /package/dist/{oauth-state-store-DPVzeoyY.mjs → oauth-state-store-HdGg_nSm.mjs} +0 -0
  359. /package/dist/{oauth-user-lookup-3E5jlXrr.mjs → oauth-user-lookup-CP16vyFW.mjs} +0 -0
  360. /package/dist/{output-13u4dvu-.mjs → output-CXOC3BFr.mjs} +0 -0
  361. /package/dist/{parser-DX_c5iG3.mjs → parser-buoH2frr.mjs} +0 -0
  362. /package/dist/{passkey-config-DE_0EGEP.mjs → passkey-config-T47FwLtS.mjs} +0 -0
  363. /package/dist/{placeholder-C6ZjZcmJ.d.mts → placeholder-BsYSFPjY.d.mts} +0 -0
  364. /package/dist/{portable-text-BASHceim.mjs → portable-text-DQHE3b5v.mjs} +0 -0
  365. /package/dist/{portable-text-BYUu-wtj.d.mts → portable-text-Dm0bgrdZ.d.mts} +0 -0
  366. /package/dist/{provider-loader-BeQcnPN1.mjs → provider-loader-Dxka0BDp.mjs} +0 -0
  367. /package/dist/{public-url-BA-7LKvQ.mjs → public-url-CIAtNGEg.mjs} +0 -0
  368. /package/dist/{redirect-CZFAqHLr.mjs → redirect-CzqnLxK-.mjs} +0 -0
  369. /package/dist/{secrets-CpGpyGcO.mjs → secrets-Dw3lXI42.mjs} +0 -0
  370. /package/dist/{service-CY0aH6eI.mjs → service-DOdvCW-9.mjs} +0 -0
  371. /package/dist/{session-user-BwliEFp0.mjs → session-user-CYjNeJoD.mjs} +0 -0
  372. /package/dist/{setup-complete-PvF8I7Oh.mjs → setup-complete-Blqo_adb.mjs} +0 -0
  373. /package/dist/{setup-nonce-DkpYROqg.mjs → setup-nonce-CGUTFWgQ.mjs} +0 -0
  374. /package/dist/{sidecar-client-dt5fv23q.mjs → sidecar-client-C6ylL-0S.mjs} +0 -0
  375. /package/dist/{site-url-DfYDZyWl.mjs → site-url-CK5vBdFu.mjs} +0 -0
  376. /package/dist/{ssrf-BZHvtFEv.mjs → ssrf-Dz2hqAiG.mjs} +0 -0
  377. /package/dist/{status-BN40hMpr.mjs → status-xz9JACSX.mjs} +0 -0
  378. /package/dist/{tokens-DIzhPT80.mjs → tokens-DiodRT2y.mjs} +0 -0
  379. /package/dist/{transport-CXkC1F2Z.d.mts → transport-DKy93p6V.d.mts} +0 -0
  380. /package/dist/{transport-C46KHLMP.mjs → transport-zquJ7Bzm.mjs} +0 -0
  381. /package/dist/{trusted-proxy-czZuby6G.mjs → trusted-proxy-NySPw95m.mjs} +0 -0
  382. /package/dist/{types-BsTXSvKG.d.mts → types-BaKec6bx.d.mts} +0 -0
  383. /package/dist/{types-gvNBqijt.mjs → types-C1LdZbQb.mjs} +0 -0
  384. /package/dist/{types-S9VIopdY.d.mts → types-C2LBO0t8.d.mts} +0 -0
  385. /package/dist/{types-CDcuRd4z.d.mts → types-DY9lJRpo.d.mts} +0 -0
  386. /package/dist/{types-YxFz4lDr.d.mts → types-Gd4kXLsa.d.mts} +0 -0
  387. /package/dist/{types-CK0r-Xq4.mjs → types-ftxcMx5-.mjs} +0 -0
  388. /package/dist/{url-D282S1Zw.mjs → url-C05Zz4pW.mjs} +0 -0
  389. /package/dist/{utils-B7gemXz5.mjs → utils-BPzpVHqR.mjs} +0 -0
  390. /package/dist/{wordpress-slugs-D_LfQCan.mjs → wordpress-slugs-fMvfO22_.mjs} +0 -0
@@ -1,11 +1,11 @@
1
1
  import { r as validatePluginIdentifier, t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
2
  import { i as encodeBase64url, n as decodeBase64url } from "./base64-F8-DUraK.mjs";
3
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-BdkWx1oD.mjs";
3
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-B-1_U3oF.mjs";
4
4
  import { t as OptionsRepository } from "./options-DQPTH5n0.mjs";
5
- import { n as createPluginContext, t as PluginContextFactory } from "./context-CB4PwkM_.mjs";
6
- import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-CpGpyGcO.mjs";
7
- import { t as extractRequestMeta } from "./request-meta-DHFIzWcf.mjs";
8
- import { r as setCronTasksEnabled } from "./cron-D_c3WUPN.mjs";
5
+ import { n as createPluginContext, t as PluginContextFactory } from "./context-BGt7zfQ-.mjs";
6
+ import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-Dw3lXI42.mjs";
7
+ import { t as extractRequestMeta } from "./request-meta-DZTiCIQR.mjs";
8
+ import { r as setCronTasksEnabled } from "./cron-BjKHo0QD.mjs";
9
9
  import { Migrator, sql } from "kysely";
10
10
  import { AsyncLocalStorage } from "node:async_hooks";
11
11
  import { ulid } from "ulidx";
@@ -1816,7 +1816,7 @@ var HookPipeline = class HookPipeline {
1816
1816
  /**
1817
1817
  * Run content:afterSave hooks
1818
1818
  */
1819
- async runContentAfterSave(content, collection, isNew) {
1819
+ async runContentAfterSave(content, collection, isNew, previousContent) {
1820
1820
  const hooks = this.getTypedHooks("content:afterSave");
1821
1821
  const results = [];
1822
1822
  for (const hook of hooks) {
@@ -1824,7 +1824,8 @@ var HookPipeline = class HookPipeline {
1824
1824
  const event = {
1825
1825
  content,
1826
1826
  collection,
1827
- isNew
1827
+ isNew,
1828
+ ...previousContent ? { previousContent } : {}
1828
1829
  };
1829
1830
  const ctx = this.getContext(hook.pluginId);
1830
1831
  const start = Date.now();
@@ -1891,7 +1892,7 @@ var HookPipeline = class HookPipeline {
1891
1892
  /**
1892
1893
  * Run content:afterDelete hooks
1893
1894
  */
1894
- async runContentAfterDelete(id, collection, permanent) {
1895
+ async runContentAfterDelete(id, collection, permanent, previousContent) {
1895
1896
  const hooks = this.getTypedHooks("content:afterDelete");
1896
1897
  const results = [];
1897
1898
  for (const hook of hooks) {
@@ -1899,7 +1900,8 @@ var HookPipeline = class HookPipeline {
1899
1900
  const event = {
1900
1901
  id,
1901
1902
  collection,
1902
- permanent
1903
+ permanent,
1904
+ ...previousContent ? { previousContent } : {}
1903
1905
  };
1904
1906
  const ctx = this.getContext(hook.pluginId);
1905
1907
  const start = Date.now();
@@ -1925,14 +1927,14 @@ var HookPipeline = class HookPipeline {
1925
1927
  /**
1926
1928
  * Run content:afterPublish hooks (fire-and-forget).
1927
1929
  */
1928
- async runContentAfterPublish(content, collection) {
1929
- return this.runContentStateChangeHook("content:afterPublish", content, collection);
1930
+ async runContentAfterPublish(content, collection, previousContent) {
1931
+ return this.runContentStateChangeHook("content:afterPublish", content, collection, previousContent);
1930
1932
  }
1931
1933
  /**
1932
1934
  * Run content:afterUnpublish hooks (fire-and-forget).
1933
1935
  */
1934
- async runContentAfterUnpublish(content, collection) {
1935
- return this.runContentStateChangeHook("content:afterUnpublish", content, collection);
1936
+ async runContentAfterUnpublish(content, collection, previousContent) {
1937
+ return this.runContentStateChangeHook("content:afterUnpublish", content, collection, previousContent);
1936
1938
  }
1937
1939
  /**
1938
1940
  * Run content:afterRestore hooks (fire-and-forget).
@@ -1952,14 +1954,15 @@ var HookPipeline = class HookPipeline {
1952
1954
  async runContentAfterUnschedule(content, collection) {
1953
1955
  return this.runContentStateChangeHook("content:afterUnschedule", content, collection);
1954
1956
  }
1955
- async runContentStateChangeHook(name, content, collection) {
1957
+ async runContentStateChangeHook(name, content, collection, previousContent) {
1956
1958
  const hooks = this.getTypedHooks(name);
1957
1959
  const results = [];
1958
1960
  for (const hook of hooks) {
1959
1961
  const { handler } = hook;
1960
1962
  const event = {
1961
1963
  content,
1962
- collection
1964
+ collection,
1965
+ ...previousContent ? { previousContent } : {}
1963
1966
  };
1964
1967
  const ctx = this.getContext(hook.pluginId);
1965
1968
  const start = Date.now();
@@ -3193,9 +3196,9 @@ var PluginManager = class {
3193
3196
  /**
3194
3197
  * Run content:afterSave hooks across all active plugins
3195
3198
  */
3196
- async runContentAfterSave(content, collection, isNew) {
3199
+ async runContentAfterSave(content, collection, isNew, previousContent) {
3197
3200
  this.ensureInitialized();
3198
- return this.hookPipeline.runContentAfterSave(content, collection, isNew);
3201
+ return this.hookPipeline.runContentAfterSave(content, collection, isNew, previousContent);
3199
3202
  }
3200
3203
  /**
3201
3204
  * Run content:beforeDelete hooks across all active plugins
@@ -3207,23 +3210,23 @@ var PluginManager = class {
3207
3210
  /**
3208
3211
  * Run content:afterDelete hooks across all active plugins
3209
3212
  */
3210
- async runContentAfterDelete(id, collection, permanent) {
3213
+ async runContentAfterDelete(id, collection, permanent, previousContent) {
3211
3214
  this.ensureInitialized();
3212
- return this.hookPipeline.runContentAfterDelete(id, collection, permanent);
3215
+ return this.hookPipeline.runContentAfterDelete(id, collection, permanent, previousContent);
3213
3216
  }
3214
3217
  /**
3215
3218
  * Run content:afterPublish hooks across all active plugins
3216
3219
  */
3217
- async runContentAfterPublish(content, collection) {
3220
+ async runContentAfterPublish(content, collection, previousContent) {
3218
3221
  this.ensureInitialized();
3219
- return this.hookPipeline.runContentAfterPublish(content, collection);
3222
+ return this.hookPipeline.runContentAfterPublish(content, collection, previousContent);
3220
3223
  }
3221
3224
  /**
3222
3225
  * Run content:afterUnpublish hooks across all active plugins
3223
3226
  */
3224
- async runContentAfterUnpublish(content, collection) {
3227
+ async runContentAfterUnpublish(content, collection, previousContent) {
3225
3228
  this.ensureInitialized();
3226
- return this.hookPipeline.runContentAfterUnpublish(content, collection);
3229
+ return this.hookPipeline.runContentAfterUnpublish(content, collection, previousContent);
3227
3230
  }
3228
3231
  /**
3229
3232
  * Run content:afterRestore hooks across all active plugins
@@ -1,7 +1,7 @@
1
1
  import { n as loadBetterSqlite3, t as createDatabase } from "./connection-CiJWiWya.mjs";
2
2
  import { runWithContext } from "./request-context.mjs";
3
- import { a as verifyPreviewSignature, t as buildPreviewSignatureHeader } from "./sidecar-client-dt5fv23q.mjs";
4
- import { t as generatePreviewToken } from "./tokens-DIzhPT80.mjs";
3
+ import { a as verifyPreviewSignature, t as buildPreviewSignatureHeader } from "./sidecar-client-C6ylL-0S.mjs";
4
+ import { t as generatePreviewToken } from "./tokens-DiodRT2y.mjs";
5
5
  import { createHash } from "node:crypto";
6
6
  import { sql } from "kysely";
7
7
  import { ulid } from "ulidx";
@@ -1,4 +1,4 @@
1
- import { f as MediaProvider } from "./placeholder-C6ZjZcmJ.mjs";
1
+ import { f as MediaProvider } from "./placeholder-BsYSFPjY.mjs";
2
2
 
3
3
  //#region src/media/provider-loader.d.ts
4
4
  /**
@@ -0,0 +1,99 @@
1
+ import { t as Database } from "./types-C8cUW9dh.mjs";
2
+ import { Kysely } from "kysely";
3
+
4
+ //#region src/i18n/config.d.ts
5
+ /**
6
+ * Dineway i18n Configuration
7
+ *
8
+ * Reads locale configuration from the virtual module (sourced from Astro config).
9
+ * Initialized during runtime startup, then available via getI18nConfig().
10
+ */
11
+ interface I18nConfig {
12
+ defaultLocale: string;
13
+ locales: string[];
14
+ fallback?: Record<string, string>;
15
+ prefixDefaultLocale?: boolean;
16
+ }
17
+ /**
18
+ * Get the current i18n config.
19
+ * Returns null if i18n is not configured.
20
+ */
21
+ declare function getI18nConfig(): I18nConfig | null;
22
+ /**
23
+ * Check if i18n is enabled.
24
+ * Returns true when multiple locales are configured.
25
+ */
26
+ declare function isI18nEnabled(): boolean;
27
+ /**
28
+ * Resolve fallback locale chain for a given locale.
29
+ * Returns array of locales to try, from most preferred to least.
30
+ * Always ends with defaultLocale.
31
+ */
32
+ declare function getFallbackChain(locale: string): string[];
33
+ //#endregion
34
+ //#region src/seo/discovery.d.ts
35
+ /** A public projection, never an arbitrary CMS record or draft snapshot. */
36
+ interface PublicContentEntry {
37
+ id: string;
38
+ collection: string;
39
+ collectionLabel: string;
40
+ slug: string;
41
+ url: string;
42
+ title: string;
43
+ description?: string;
44
+ updatedAt: string;
45
+ locale: string;
46
+ translationGroup: string | null;
47
+ image: string | null;
48
+ }
49
+ interface PublicContentOptions {
50
+ siteUrl: string;
51
+ cfg?: I18nConfig | null;
52
+ collection?: string;
53
+ /** Exact public path for checking a selected redirect target. */
54
+ path?: string;
55
+ /** Candidate search scope, retaining city and language path segments. */
56
+ pathPrefix?: string;
57
+ locale?: string;
58
+ searchTerms?: readonly string[];
59
+ limit?: number;
60
+ cursor?: string;
61
+ /** Optional identity filter for translation and individual-page lookups. */
62
+ ids?: readonly string[];
63
+ translationGroup?: string;
64
+ }
65
+ /**
66
+ * Keyset pagination over collection slug + entry ID. At most limit + 1 content
67
+ * rows are read per collection, with a total scan budget of limit rows. An empty
68
+ * page can have a nextCursor when invalid stored paths used the scan budget.
69
+ * Content columns contain the live version; draft revisions are never loaded.
70
+ */
71
+ declare function listPublicContent(db: Kysely<Database>, options: PublicContentOptions): Promise<{
72
+ items: PublicContentEntry[];
73
+ nextCursor?: string;
74
+ }>;
75
+ //#endregion
76
+ //#region src/seo/canonical-url.d.ts
77
+ /** Resolve an explicit canonical without inventing path case or slash rules. */
78
+ declare function resolveCanonicalUrl(value: string, siteUrl?: string): string | null;
79
+ //#endregion
80
+ //#region src/seo/public-url.d.ts
81
+ /** Collection routing accepts a complete stored path or a conventional slug pattern. */
82
+ interface ResolveContentUrlInput {
83
+ siteUrl: string;
84
+ slug: string;
85
+ locale?: string | null;
86
+ urlField?: string | null;
87
+ urlPattern?: string | null;
88
+ data?: Record<string, unknown>;
89
+ cfg?: I18nConfig | null;
90
+ }
91
+ /**
92
+ * Returns a same-origin public URL, or null when the collection has no usable route.
93
+ * urlField paths are authoritative, including case, trailing slash and locale prefix.
94
+ * Pattern routes add locale prefixes and preserve the declared slash convention. Never infer a route from
95
+ * a collection name when the site has not declared one.
96
+ */
97
+ declare function resolveContentUrl(input: ResolveContentUrlInput): string | null;
98
+ //#endregion
99
+ export { PublicContentOptions as a, getFallbackChain as c, PublicContentEntry as i, getI18nConfig as l, resolveContentUrl as n, listPublicContent as o, resolveCanonicalUrl as r, I18nConfig as s, ResolveContentUrlInput as t, isI18nEnabled as u };
@@ -1,4 +1,4 @@
1
- import { To as DinewayConfig } from "./types-C4ZrBtdu.mjs";
1
+ import { wo as DinewayConfig } from "./types-Cty2_HVR.mjs";
2
2
 
3
3
  //#region src/api/public-url.d.ts
4
4
  /**
@@ -1,10 +1,10 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
2
- import { t as SiteActivityRepository } from "./site-activity-QPC-7Vnq.mjs";
3
- import { t as ReviewRequestRepository } from "./review-requests-B9NfBTCJ.mjs";
4
- import { a as getSiteSettingsWithDb } from "./settings-Cs-ST1tU.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
2
+ import { t as SiteActivityRepository } from "./site-activity-CnrmnFRy.mjs";
3
+ import { t as ReviewRequestRepository } from "./review-requests-D5CJ4JCy.mjs";
4
+ import { a as getSiteSettingsWithDb } from "./settings-D-a7uy2z.mjs";
5
5
  import { n as buildStableActionHash, t as ReviewPayloadBuilder } from "./review-payload-BysRWpxS.mjs";
6
- import { t as SYSTEM_ACTOR_ID } from "./actor-DA7yL9Yp.mjs";
7
- import { n as redactActivityRecord } from "./activity-Dq9zDvAK.mjs";
6
+ import { t as SYSTEM_ACTOR_ID } from "./actor-D3A5PNkH.mjs";
7
+ import { n as redactActivityRecord } from "./activity-Bm5x0dik.mjs";
8
8
  import { ulid } from "ulidx";
9
9
 
10
10
  //#region src/database/repositories/content-release-grants.ts
@@ -1,8 +1,8 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { n as getI18nConfig, r as isI18nEnabled, t as getFallbackChain } from "./config-CVssduLe.mjs";
3
3
  import { getRequestContext } from "./request-context.mjs";
4
- import { i as encodeCursor } from "./types-al8YMHdF.mjs";
5
- import { o as isMissingTableError, s as takeLiveCollectionMeta, t as CURSOR_RAW_VALUES } from "./loader-CqKPLiKx.mjs";
4
+ import { i as encodeCursor } from "./types-C9F2TLQV.mjs";
5
+ import { o as isMissingTableError, s as takeLiveCollectionMeta, t as CURSOR_RAW_VALUES } from "./loader-BCr2VSzt.mjs";
6
6
  import { i as contentNamespaces, n as cachedQuery, u as invalidateSchemaObjectCache } from "./object-cache-D51qOseS.mjs";
7
7
  import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
8
8
 
@@ -596,9 +596,9 @@ async function hydrateEntryBylines(type, entries) {
596
596
  let needsQueryPath = parsed.some((item) => item.credits.length === 0 && (dataStr(item.data, "authorId") !== "" || dataStr(item.data, "primaryBylineId") !== ""));
597
597
  let hasCustomFields = false;
598
598
  if (!needsQueryPath) try {
599
- const { getDb } = await import("./loader-CqKPLiKx.mjs").then((n) => n.i);
599
+ const { getDb } = await import("./loader-BCr2VSzt.mjs").then((n) => n.i);
600
600
  const db = await getDb();
601
- const { getBylineFieldDefs } = await import("./field-defs-cache-BGhsaYGT.mjs").then((n) => n.t);
601
+ const { getBylineFieldDefs } = await import("./field-defs-cache-sSdDeJXP.mjs").then((n) => n.t);
602
602
  hasCustomFields = (await getBylineFieldDefs(db)).length > 0;
603
603
  } catch (error) {
604
604
  if (!isMissingTableError(error)) needsQueryPath = true;
@@ -612,7 +612,7 @@ async function hydrateEntryBylines(type, entries) {
612
612
  }
613
613
  }
614
614
  try {
615
- const { getBylinesForEntries } = await import("./bylines-CiSL5IrP.mjs").then((n) => n.t);
615
+ const { getBylinesForEntries } = await import("./bylines-YK6eGHvV.mjs").then((n) => n.t);
616
616
  const refs = entries.map((entry) => {
617
617
  const data = entryData(entry);
618
618
  const id = dataStr(data, "id");
@@ -670,12 +670,12 @@ async function hydrateEntryTerms(type, entries, locale) {
670
670
  byTaxonomy: grouped
671
671
  });
672
672
  }
673
- const { primeFoldedEntryTerms } = await import("./taxonomies-CpYwz_sN.mjs").then((n) => n.u);
673
+ const { primeFoldedEntryTerms } = await import("./taxonomies-FKTevd14.mjs").then((n) => n.u);
674
674
  primeFoldedEntryTerms(type, perEntry, { locale });
675
675
  return;
676
676
  }
677
677
  try {
678
- const { getAllTermsForEntries } = await import("./taxonomies-CpYwz_sN.mjs").then((n) => n.u);
678
+ const { getAllTermsForEntries } = await import("./taxonomies-FKTevd14.mjs").then((n) => n.u);
679
679
  const ids = entries.map((entry) => dataStr(entryData(entry), "id")).filter(Boolean);
680
680
  if (ids.length === 0) return;
681
681
  const termsMap = await getAllTermsForEntries(type, ids, { locale });
@@ -709,9 +709,9 @@ async function hydrateEntryTerms(type, entries, locale) {
709
709
  */
710
710
  async function getTranslations(type, id) {
711
711
  try {
712
- const db = (await import("./loader-CqKPLiKx.mjs").then((n) => n.i)).getDb;
712
+ const db = (await import("./loader-BCr2VSzt.mjs").then((n) => n.i)).getDb;
713
713
  const dbInstance = await db();
714
- const { ContentRepository } = await import("./content-Bturdi4b.mjs").then((n) => n.n);
714
+ const { ContentRepository } = await import("./content-Bg_hMt4Q.mjs").then((n) => n.n);
715
715
  const repo = new ContentRepository(dbInstance);
716
716
  const item = await repo.findByIdOrSlug(type, id);
717
717
  if (!item) return {
@@ -779,8 +779,8 @@ async function resolveDinewayPath(path) {
779
779
  const hasDbOverride = !!getRequestContext()?.db;
780
780
  let patterns = !hasDbOverride ? cachedUrlPatterns : null;
781
781
  if (!patterns) {
782
- const { getDb } = await import("./loader-CqKPLiKx.mjs").then((n) => n.i);
783
- const { SchemaRegistry } = await import("./registry-c51Wf_AZ.mjs").then((n) => n.r);
782
+ const { getDb } = await import("./loader-BCr2VSzt.mjs").then((n) => n.i);
783
+ const { SchemaRegistry } = await import("./registry-D3n4-yUl.mjs").then((n) => n.r);
784
784
  patterns = (await new SchemaRegistry(await getDb()).listCollections()).filter((collection) => collection.urlPattern).map((collection) => {
785
785
  const { regex, paramNames } = patternToRegex(collection.urlPattern);
786
786
  return {
@@ -1,7 +1,7 @@
1
- import { r as getDb } from "./loader-CqKPLiKx.mjs";
1
+ import { r as getDb } from "./loader-BCr2VSzt.mjs";
2
2
  import { n as cachedQuery, t as CacheNamespace } from "./object-cache-D51qOseS.mjs";
3
3
  import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
4
- import { n as SchemaRegistry } from "./registry-c51Wf_AZ.mjs";
4
+ import { n as SchemaRegistry } from "./registry-D3n4-yUl.mjs";
5
5
 
6
6
  //#region src/schema/query.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { t as apiError } from "./error-BW9f_ynq.mjs";
2
- import { n as normalizeTrustedHeaders } from "./trusted-proxy-czZuby6G.mjs";
1
+ import { t as apiError } from "./error-Jz0EtEwI.mjs";
2
+ import { n as normalizeTrustedHeaders } from "./trusted-proxy-NySPw95m.mjs";
3
3
  import { sql } from "kysely";
4
4
 
5
5
  //#region src/auth/rate-limit.ts
@@ -1,5 +1,5 @@
1
1
  import { a as currentTimestampValue } from "./dialect-helpers-fk43GbDb.mjs";
2
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
2
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
3
3
  import { i as matchPattern, n as interpolateDestination, r as isPattern, t as compilePattern } from "./patterns-CoqlXUvk.mjs";
4
4
  import { sql } from "kysely";
5
5
  import { ulid } from "ulidx";
@@ -1,8 +1,8 @@
1
1
  import { t as OptionsRepository } from "./options-DQPTH5n0.mjs";
2
- import { t as RedirectRepository } from "./redirect-3Zzd0xIN.mjs";
2
+ import { t as RedirectRepository } from "./redirect-8B-gorhg.mjs";
3
3
  import { a as validateDestinationParams, i as matchPattern, n as interpolateDestination, o as validatePattern, r as isPattern, t as compilePattern } from "./patterns-CoqlXUvk.mjs";
4
- import { i as invalidateRedirectCache } from "./cache-CtXIOJKw.mjs";
5
- import { n as isTerminalStatus } from "./status-BN40hMpr.mjs";
4
+ import { i as invalidateRedirectCache } from "./cache-BuVpjvBc.mjs";
5
+ import { n as isTerminalStatus } from "./status-xz9JACSX.mjs";
6
6
 
7
7
  //#region src/redirects/loops.ts
8
8
  /**
@@ -1,5 +1,5 @@
1
- import { t as isSafeHref } from "./url-D282S1Zw.mjs";
2
- import { n as isTerminalStatus, t as REDIRECT_RULE_STATUSES } from "./status-BN40hMpr.mjs";
1
+ import { t as isSafeHref } from "./url-C05Zz4pW.mjs";
2
+ import { n as isTerminalStatus, t as REDIRECT_RULE_STATUSES } from "./status-xz9JACSX.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/api/schemas/common.ts
@@ -478,6 +478,7 @@ const collectionSupportValues = z.enum([
478
478
  "search"
479
479
  ]);
480
480
  const collectionSourcePattern = /^(template:.+|import:.+|manual|discovered|seed)$/;
481
+ const urlFieldSchema = z.string().min(1).max(63).regex(slugPattern, "Invalid URL field identifier");
481
482
  const urlPatternSchema = z.string().refine((value) => !value || value.includes("{slug}"), "URL pattern must include a {slug} placeholder");
482
483
  const fieldTypeValues = z.enum([
483
484
  "string",
@@ -537,6 +538,7 @@ const createCollectionBody = z.object({
537
538
  supports: z.array(collectionSupportValues).optional(),
538
539
  source: z.string().regex(collectionSourcePattern).optional(),
539
540
  urlPattern: urlPatternSchema.optional(),
541
+ urlField: urlFieldSchema.optional(),
540
542
  hasSeo: z.boolean().optional()
541
543
  }).meta({ id: "CreateCollectionBody" });
542
544
  const updateCollectionBody = z.object({
@@ -546,6 +548,7 @@ const updateCollectionBody = z.object({
546
548
  icon: z.string().optional(),
547
549
  supports: z.array(collectionSupportValues).optional(),
548
550
  urlPattern: urlPatternSchema.nullish(),
551
+ urlField: urlFieldSchema.nullish(),
549
552
  hasSeo: z.boolean().optional(),
550
553
  commentsEnabled: z.boolean().optional(),
551
554
  commentsModeration: z.enum([
@@ -601,6 +604,7 @@ const collectionSchema = z.object({
601
604
  supports: z.array(z.string()),
602
605
  source: z.string().nullable(),
603
606
  urlPattern: z.string().nullable(),
607
+ urlField: z.string().nullish(),
604
608
  hasSeo: z.boolean(),
605
609
  createdAt: z.string(),
606
610
  updatedAt: z.string()
@@ -1,12 +1,12 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
3
3
  import { i as currentTimestamp, l as listTablesLike, n as columnExists, u as tableExists } from "./dialect-helpers-fk43GbDb.mjs";
4
4
  import { n as contentLocaleUpdatedIndexName, t as contentLocaleCreatedIndexName } from "./content-index-names-Bbu1FY1r.mjs";
5
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-BdkWx1oD.mjs";
5
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-B-1_U3oF.mjs";
6
6
  import { t as withTransaction } from "./transaction-Chz7SBGr.mjs";
7
7
  import { a as RESERVED_COLLECTION_SLUGS, o as RESERVED_FIELD_SLUGS, r as FIELD_TYPE_TO_COLUMN } from "./types-B7TDDFMG.mjs";
8
- import { a as markContentMediaUsageCollectionStaleSafely, n as deleteContentMediaUsageCollection } from "./content-refresh-C4YoqoNs.mjs";
9
- import { t as FTSManager } from "./fts-manager-6KClQEs0.mjs";
8
+ import { a as markContentMediaUsageCollectionStaleSafely, n as deleteContentMediaUsageCollection } from "./content-refresh-CHBBZGwf.mjs";
9
+ import { t as FTSManager } from "./fts-manager-C7pxxk6B.mjs";
10
10
  import { t as buildStableHash } from "./stable-hash-DshcXvRE.mjs";
11
11
  import { sql } from "kysely";
12
12
  import { ulid } from "ulidx";
@@ -140,6 +140,7 @@ var SchemaRegistry = class {
140
140
  if (RESERVED_COLLECTION_SLUGS.includes(input.slug)) throw new SchemaError(`Collection slug "${input.slug}" is reserved`, "RESERVED_SLUG");
141
141
  if (await this.getCollection(input.slug)) throw new SchemaError(`Collection "${input.slug}" already exists`, "COLLECTION_EXISTS");
142
142
  await this.validateUrlPattern(input.urlPattern);
143
+ if (input.urlField) this.validateSlug(input.urlField, "field");
143
144
  await this.checkLabelUniqueness(input.label, input.labelSingular);
144
145
  await this.checkUrlPatternUniqueness(input.urlPattern);
145
146
  const id = ulid();
@@ -156,7 +157,8 @@ var SchemaRegistry = class {
156
157
  source: input.source ?? "manual",
157
158
  has_seo: hasSeo ? 1 : 0,
158
159
  comments_enabled: input.commentsEnabled ? 1 : 0,
159
- url_pattern: input.urlPattern ?? null
160
+ url_pattern: input.urlPattern ?? null,
161
+ url_field: input.urlField || null
160
162
  }).execute();
161
163
  await this.createContentTable(input.slug, trx);
162
164
  });
@@ -173,7 +175,9 @@ var SchemaRegistry = class {
173
175
  const labelChanged = input.label !== void 0 && input.label !== existing.label;
174
176
  const labelSingularChanged = input.labelSingular !== void 0 && input.labelSingular !== (existing.labelSingular ?? void 0);
175
177
  if (labelChanged || labelSingularChanged) await this.checkLabelUniqueness(labelChanged ? input.label : void 0, labelSingularChanged ? input.labelSingular : void 0, slug);
176
- if (input.urlPattern !== void 0 && input.urlPattern !== (existing.urlPattern ?? null)) {
178
+ const urlPatternChanged = input.urlPattern !== void 0 && input.urlPattern !== (existing.urlPattern ?? null);
179
+ if (input.urlField) this.validateSlug(input.urlField, "field");
180
+ if (urlPatternChanged) {
177
181
  await this.validateUrlPattern(input.urlPattern);
178
182
  await this.checkUrlPatternUniqueness(input.urlPattern, slug);
179
183
  }
@@ -188,6 +192,7 @@ var SchemaRegistry = class {
188
192
  icon: input.icon ?? existing.icon ?? null,
189
193
  supports: input.supports ? JSON.stringify(input.supports) : JSON.stringify(existing.supports),
190
194
  url_pattern: input.urlPattern !== void 0 ? input.urlPattern ?? null : existing.urlPattern ?? null,
195
+ url_field: input.urlField !== void 0 ? input.urlField || null : existing.urlField ?? null,
191
196
  has_seo: hasSeo ? 1 : 0,
192
197
  comments_enabled: input.commentsEnabled !== void 0 ? input.commentsEnabled ? 1 : 0 : existing.commentsEnabled ? 1 : 0,
193
198
  comments_moderation: input.commentsModeration ?? existing.commentsModeration,
@@ -484,6 +489,7 @@ var SchemaRegistry = class {
484
489
  CREATE INDEX ${sql.ref(`idx_${tableName}_translation_group`)}
485
490
  ON ${sql.ref(tableName)} (translation_group)
486
491
  `.execute(conn);
492
+ await sql`CREATE INDEX ${sql.ref(`idx_${tableName}_public_id`)} ON ${sql.ref(tableName)} (deleted_at, status, id)`.execute(conn);
487
493
  await sql`
488
494
  CREATE INDEX ${sql.ref(`idx_${tableName}_deleted_updated_id`)}
489
495
  ON ${sql.ref(tableName)} (deleted_at, updated_at DESC, id DESC)
@@ -648,6 +654,7 @@ var SchemaRegistry = class {
648
654
  source: row.source && isCollectionSource(row.source) ? row.source : void 0,
649
655
  hasSeo: row.has_seo === 1,
650
656
  urlPattern: row.url_pattern ?? void 0,
657
+ urlField: row.url_field ?? void 0,
651
658
  commentsEnabled: row.comments_enabled === 1,
652
659
  commentsModeration: moderation === "all" || moderation === "first_time" || moderation === "none" ? moderation : "first_time",
653
660
  commentsClosedAfterDays: row.comments_closed_after_days ?? 90,
@@ -1,4 +1,4 @@
1
- import { n as normalizeTrustedHeaders, t as getTrustedProxyHeaders } from "./trusted-proxy-czZuby6G.mjs";
1
+ import { n as normalizeTrustedHeaders, t as getTrustedProxyHeaders } from "./trusted-proxy-NySPw95m.mjs";
2
2
 
3
3
  //#region src/plugins/request-meta.ts
4
4
  /**
@@ -0,0 +1,27 @@
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
+
26
+ //#endregion
27
+ export { resolveLocaleChain as n, resolveLocale as t };
@@ -1,4 +1,4 @@
1
- import { t as ReviewRequestRepository } from "./review-requests-B9NfBTCJ.mjs";
1
+ import { t as ReviewRequestRepository } from "./review-requests-D5CJ4JCy.mjs";
2
2
  import { t as ReviewPayloadBuilder } from "./review-payload-BysRWpxS.mjs";
3
3
 
4
4
  //#region src/api/handlers/review-requests.ts
@@ -1,4 +1,4 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
2
2
  import { ulid } from "ulidx";
3
3
 
4
4
  //#region src/database/repositories/review-requests.ts
@@ -1,5 +1,5 @@
1
- import { n as resolveActorIdentity } from "./actor-DA7yL9Yp.mjs";
2
- import { p as logSiteActivitySafely } from "./activity-events-iGYnf7TK.mjs";
1
+ import { n as resolveActorIdentity } from "./actor-D3A5PNkH.mjs";
2
+ import { p as logSiteActivitySafely } from "./activity-events-DpvhcjTP.mjs";
3
3
 
4
4
  //#region src/api/review-route-helpers.ts
5
5
  function resolveReviewRouteActor(locals) {
@@ -1,4 +1,4 @@
1
- import { t as Database } from "./types-BFeoAIHl.mjs";
1
+ import { t as Database } from "./types-C8cUW9dh.mjs";
2
2
  import { Kysely } from "kysely";
3
3
 
4
4
  //#region src/database/migrations/runner.d.ts