dineway 0.1.15 → 0.1.17

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 (366) hide show
  1. package/README.md +22 -0
  2. package/dist/{activity-events-B4wp7CrU.mjs → activity-events-DbqJBNaY.mjs} +1 -1
  3. package/dist/{allowed-origins-C1AKK9AT.mjs → allowed-origins-D85wzUp6.mjs} +1 -1
  4. package/dist/api/route-utils.d.mts +10 -10
  5. package/dist/api/route-utils.mjs +15 -15
  6. package/dist/api/schemas/index.d.mts +2 -2
  7. package/dist/api/schemas/index.mjs +4 -4
  8. package/dist/{api-DX6X_a82.mjs → api-CgxdfUg4.mjs} +96 -17
  9. package/dist/{api-tokens-D7UjLbdt.mjs → api-tokens-CMmUPFae.mjs} +1 -1
  10. package/dist/{apply-Bm5QgdrE.mjs → apply-CGVHi2r7.mjs} +165 -85
  11. package/dist/astro/index.d.mts +11 -11
  12. package/dist/astro/index.mjs +3 -3
  13. package/dist/astro/middleware/auth.d.mts +10 -10
  14. package/dist/astro/middleware/auth.mjs +5 -5
  15. package/dist/astro/middleware/redirect.mjs +6 -6
  16. package/dist/astro/middleware/request-context.mjs +4 -4
  17. package/dist/astro/middleware/setup.mjs +1 -1
  18. package/dist/astro/middleware.mjs +119 -77
  19. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  20. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  21. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  22. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  23. package/dist/astro/routes/api/admin/briefing.mjs +19 -19
  24. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +12 -12
  25. package/dist/astro/routes/api/admin/bylines/index.mjs +12 -12
  26. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +13 -13
  27. package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
  28. package/dist/astro/routes/api/admin/comments/bulk.mjs +10 -10
  29. package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
  30. package/dist/astro/routes/api/admin/comments/index.mjs +10 -10
  31. package/dist/astro/routes/api/admin/context/_id_/history.mjs +26 -26
  32. package/dist/astro/routes/api/admin/context/_id_/index.mjs +26 -26
  33. package/dist/astro/routes/api/admin/context/_id_/review.mjs +30 -30
  34. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +30 -30
  35. package/dist/astro/routes/api/admin/context/diff.mjs +29 -29
  36. package/dist/astro/routes/api/admin/context/index.mjs +30 -30
  37. package/dist/astro/routes/api/admin/context/stale.mjs +29 -29
  38. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +26 -26
  39. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +29 -29
  40. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +29 -29
  41. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +27 -27
  42. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  43. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  44. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  45. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +47 -47
  46. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +47 -47
  47. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +40 -40
  48. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +46 -46
  49. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +46 -46
  50. package/dist/astro/routes/api/admin/plugins/index.mjs +40 -40
  51. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  52. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +40 -40
  53. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +46 -46
  54. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +40 -40
  55. package/dist/astro/routes/api/admin/plugins/updates.mjs +40 -40
  56. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +6 -6
  57. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +29 -29
  58. package/dist/astro/routes/api/admin/review-requests/index.mjs +10 -10
  59. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +40 -40
  60. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  61. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +40 -40
  62. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  63. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  64. package/dist/astro/routes/api/admin/users/_id_/index.mjs +6 -6
  65. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  66. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  67. package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
  68. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  69. package/dist/astro/routes/api/auth/invite/complete.mjs +10 -10
  70. package/dist/astro/routes/api/auth/invite/index.mjs +7 -7
  71. package/dist/astro/routes/api/auth/invite/register-options.mjs +9 -9
  72. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  73. package/dist/astro/routes/api/auth/magic-link/send.mjs +9 -9
  74. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  75. package/dist/astro/routes/api/auth/me.mjs +5 -5
  76. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  77. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  78. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  79. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  80. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  81. package/dist/astro/routes/api/auth/passkey/options.mjs +11 -11
  82. package/dist/astro/routes/api/auth/passkey/register/options.mjs +9 -9
  83. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +10 -10
  84. package/dist/astro/routes/api/auth/passkey/verify.mjs +10 -10
  85. package/dist/astro/routes/api/auth/signup/complete.mjs +10 -10
  86. package/dist/astro/routes/api/auth/signup/request.mjs +9 -9
  87. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  88. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -14
  89. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  90. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  91. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  92. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +7 -7
  93. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +12 -12
  94. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +28 -28
  95. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  96. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  97. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +10 -10
  98. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +13 -13
  99. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  100. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  101. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
  102. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
  103. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  104. package/dist/astro/routes/api/dashboard.mjs +9 -9
  105. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  106. package/dist/astro/routes/api/health.mjs +1 -1
  107. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  108. package/dist/astro/routes/api/import/probe.mjs +10 -10
  109. package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
  110. package/dist/astro/routes/api/import/wordpress/execute.mjs +29 -29
  111. package/dist/astro/routes/api/import/wordpress/media.mjs +7 -7
  112. package/dist/astro/routes/api/import/wordpress/prepare.mjs +33 -33
  113. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +48 -0
  114. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +124 -0
  115. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +32 -145
  116. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  117. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +10 -10
  118. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  119. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +1 -1
  120. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +33 -33
  121. package/dist/astro/routes/api/manifest.mjs +4 -4
  122. package/dist/astro/routes/api/mcp.mjs +277 -91
  123. package/dist/astro/routes/api/media/_id_/confirm.mjs +6 -6
  124. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  125. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  126. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  127. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  128. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  129. package/dist/astro/routes/api/media/upload-url.mjs +11 -13
  130. package/dist/astro/routes/api/media.mjs +18 -18
  131. package/dist/astro/routes/api/menus/_name_/items.mjs +45 -36
  132. package/dist/astro/routes/api/menus/_name_/reorder.mjs +34 -31
  133. package/dist/astro/routes/api/menus/_name_/translations.d.mts +8 -0
  134. package/dist/astro/routes/api/menus/_name_/translations.mjs +111 -0
  135. package/dist/astro/routes/api/menus/_name_.mjs +47 -36
  136. package/dist/astro/routes/api/menus/index.mjs +34 -32
  137. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  138. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  139. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  140. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  141. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  142. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  143. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  144. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  145. package/dist/astro/routes/api/openapi.json.mjs +3 -3
  146. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +3 -3
  147. package/dist/astro/routes/api/redirects/404s/index.mjs +12 -12
  148. package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -12
  149. package/dist/astro/routes/api/redirects/_id_.mjs +31 -31
  150. package/dist/astro/routes/api/redirects/index.mjs +31 -31
  151. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  152. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  153. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +41 -41
  154. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +41 -41
  155. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +41 -41
  156. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +41 -41
  157. package/dist/astro/routes/api/schema/collections/index.mjs +41 -41
  158. package/dist/astro/routes/api/schema/index.mjs +6 -6
  159. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +40 -40
  160. package/dist/astro/routes/api/schema/orphans/index.mjs +40 -40
  161. package/dist/astro/routes/api/search/enable.mjs +12 -12
  162. package/dist/astro/routes/api/search/index.mjs +11 -11
  163. package/dist/astro/routes/api/search/rebuild.mjs +12 -12
  164. package/dist/astro/routes/api/search/stats.mjs +8 -8
  165. package/dist/astro/routes/api/search/suggest.mjs +11 -11
  166. package/dist/astro/routes/api/sections/_slug_.mjs +30 -30
  167. package/dist/astro/routes/api/sections/index.mjs +30 -30
  168. package/dist/astro/routes/api/settings/email.mjs +4 -4
  169. package/dist/astro/routes/api/settings.mjs +30 -30
  170. package/dist/astro/routes/api/setup/admin-verify.mjs +12 -12
  171. package/dist/astro/routes/api/setup/admin.mjs +10 -10
  172. package/dist/astro/routes/api/setup/dev-bypass.mjs +25 -25
  173. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  174. package/dist/astro/routes/api/setup/index.mjs +26 -26
  175. package/dist/astro/routes/api/setup/status.mjs +3 -3
  176. package/dist/astro/routes/api/snapshot.mjs +7 -7
  177. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.d.mts +8 -0
  178. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +131 -0
  179. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +49 -41
  180. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +36 -34
  181. package/dist/astro/routes/api/taxonomies/index.mjs +36 -34
  182. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  183. package/dist/astro/routes/api/typegen.mjs +4 -4
  184. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  185. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  186. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  187. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +29 -29
  188. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +30 -30
  189. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +30 -30
  190. package/dist/astro/routes/api/widget-areas/_name_.mjs +28 -28
  191. package/dist/astro/routes/api/widget-areas/index.mjs +30 -30
  192. package/dist/astro/routes/api/widget-components.mjs +2 -2
  193. package/dist/astro/routes/robots.txt.mjs +9 -9
  194. package/dist/astro/routes/sitemap-_collection_.xml.mjs +9 -9
  195. package/dist/astro/routes/sitemap.xml.mjs +10 -10
  196. package/dist/astro/types.d.mts +16 -14
  197. package/dist/auth/providers/github.d.mts +1 -1
  198. package/dist/auth/providers/google.d.mts +1 -1
  199. package/dist/{auth-control-guard-DOZ3UCsP.mjs → auth-control-guard--r6LlNkX.mjs} +1 -1
  200. package/dist/{authorize-BAdbMCwC.mjs → authorize-wQDmXQJ1.mjs} +1 -1
  201. package/dist/{briefing-MVYe_Uyf.mjs → briefing-4k6R0KAr.mjs} +7 -7
  202. package/dist/{briefing-rty4O-wa.mjs → briefing-DM7e2yd3.mjs} +1 -1
  203. package/dist/{byline-naZxOPSa.mjs → byline-BxAf79s1.mjs} +4 -4
  204. package/dist/{bylines-DCvz5gtm.d.mts → bylines--KurdDQK.d.mts} +84 -22
  205. package/dist/{bylines-C4LIBOOO.mjs → bylines-DhCnhR70.mjs} +3 -3
  206. package/dist/{cache-DEbQ13c9.mjs → cache-inQvbrP5.mjs} +1 -1
  207. package/dist/{chunks-D_jVet6z.mjs → chunks-vkrCT4Ta.mjs} +7 -1
  208. package/dist/cli/index.mjs +337 -102
  209. package/dist/client/external-auth-headers.d.mts +1 -1
  210. package/dist/client/index.d.mts +1 -1
  211. package/dist/client/index.mjs +1 -1
  212. package/dist/{comment-DFO-gWDH.mjs → comment-BmJXz3lc.mjs} +1 -1
  213. package/dist/{comments--BsZ9pqA.mjs → comments-BW1qFiTa.mjs} +1 -1
  214. package/dist/{content-CyLkb-qH.mjs → content-DvpMad_N.mjs} +4 -3
  215. package/dist/{context-DNfcm853.mjs → context-CGbVhAmd.mjs} +2 -2
  216. package/dist/{context-CNIkMzot.mjs → context-CT44ux1O.mjs} +10 -10
  217. package/dist/{context-route-helpers-MurhoxWF.mjs → context-route-helpers-CcvSXJtQ.mjs} +1 -1
  218. package/dist/{dashboard-DqnYU8EU.mjs → dashboard-6gH7SlPM.mjs} +9 -18
  219. package/dist/database/instrumentation.d.mts +1 -1
  220. package/dist/database/instrumentation.mjs +14 -4
  221. package/dist/db/index.d.mts +3 -3
  222. package/dist/db/index.mjs +2 -2
  223. package/dist/db/libsql.d.mts +1 -1
  224. package/dist/db/postgres.d.mts +1 -1
  225. package/dist/db/sqlite.d.mts +1 -1
  226. package/dist/{device-flow-BGEH5jfn.mjs → device-flow-DaTBhALC.mjs} +5 -5
  227. package/dist/{dialect-helpers-DhTzaUxP.mjs → dialect-helpers-TkdbkFad.mjs} +7 -1
  228. package/dist/{fts-manager-B1pTNEG_.mjs → fts-manager-D7KVeBmg.mjs} +1 -1
  229. package/dist/{hitl-requests-ChT32Ilo.mjs → hitl-requests-CUnch_4e.mjs} +2 -2
  230. package/dist/{hitl-route-helpers-CSit54Ru.mjs → hitl-route-helpers-DcUCm57p.mjs} +4 -4
  231. package/dist/{import-BHRLhXAn.mjs → import-BVqG28WP.mjs} +3 -3
  232. package/dist/{import-CNcKWTbp.mjs → import-DE2ziezs.mjs} +2 -2
  233. package/dist/{index-CYfhYgXd.d.mts → index-DpMWSamU.d.mts} +2 -2
  234. package/dist/{index-EUAWaIxW.d.mts → index-JzJUzE4o.d.mts} +47 -47
  235. package/dist/index.d.mts +16 -16
  236. package/dist/index.mjs +65 -65
  237. package/dist/{jsonld-D2gUY4kA.d.mts → jsonld-BjsoTL5m.d.mts} +2 -2
  238. package/dist/{loader-PZnPxFLc.mjs → loader-CQFxFOt1.mjs} +2 -2
  239. package/dist/media/index.d.mts +2 -2
  240. package/dist/media/index.mjs +2 -2
  241. package/dist/media/local-runtime.d.mts +12 -12
  242. package/dist/media/local-runtime.mjs +3 -3
  243. package/dist/{media-_7Fxdu45.mjs → media-Cg4zc9fq.mjs} +12 -9
  244. package/dist/media-allowlist-eS3AZ2L_.mjs +26 -0
  245. package/dist/{menus-DYW_UHjv.mjs → menus-BDW1yIdj.mjs} +80 -87
  246. package/dist/menus-CwI7DQJ5.mjs +569 -0
  247. package/dist/mime-DJOFDGux.mjs +35 -0
  248. package/dist/{oauth-authorization-DxGjiWKL.mjs → oauth-authorization-DcYRiDfi.mjs} +5 -5
  249. package/dist/{oauth-clients-DxO_NO7k.mjs → oauth-clients-CgKFA-VH.mjs} +2 -2
  250. package/dist/page/index.d.mts +2 -2
  251. package/dist/page/index.mjs +1 -1
  252. package/dist/{parse-C9106ehs.mjs → parse-BBfZRZYb.mjs} +1 -1
  253. package/dist/{placeholder-Bh1dfUOd.d.mts → placeholder-DKMMLt42.d.mts} +1 -1
  254. package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
  255. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  256. package/dist/{plugins-D7-ILNib.mjs → plugins-DKceDtUM.mjs} +9 -7
  257. package/dist/{preview-DvYRU-Oy.mjs → preview-CIDYFBzd.mjs} +2 -2
  258. package/dist/{provider-loader-BiQ6lNmf.d.mts → provider-loader-D0F6E2qv.d.mts} +1 -1
  259. package/dist/{query-CsbOywSY.mjs → query-BtuwuZRd.mjs} +3 -3
  260. package/dist/{query-B9BO5goQ.mjs → query-CWPxZjGM.mjs} +11 -11
  261. package/dist/{rate-limit-DmVTHI5v.mjs → rate-limit-GN64_Jaw.mjs} +5 -5
  262. package/dist/{redirect-CGl64yOX.mjs → redirect-BHo9--Jz.mjs} +3 -3
  263. package/dist/{redirects-Cgi_cZfN.mjs → redirects-Bc40BgxA.mjs} +4 -4
  264. package/dist/{redirects-lrlmYXVE.mjs → redirects-xVDvj_yQ.mjs} +68 -15
  265. package/dist/{registry-C-_hxLqa.mjs → registry-DumDzFDn.mjs} +5 -5
  266. package/dist/{request-cache-DHMRr2Lf.mjs → request-cache-DmVyQUBh.mjs} +5 -1
  267. package/dist/request-context.d.mts +19 -1
  268. package/dist/request-context.mjs +15 -3
  269. package/dist/{request-meta-DixlNKKa.mjs → request-meta-BVx9KkL-.mjs} +1 -1
  270. package/dist/{review-requests-C2DIHwlJ.mjs → review-requests-BYuoyse0.mjs} +1 -1
  271. package/dist/{review-requests-DIyjw-K_.mjs → review-requests-vCw7_3DS.mjs} +1 -1
  272. package/dist/{runner-BU6Lo1ZS.d.mts → runner-CHR_W79l.d.mts} +1 -1
  273. package/dist/{runner-DWZm2KQm.mjs → runner-lqEiJbO-.mjs} +496 -181
  274. package/dist/{runtime-QuuFSlc6.d.mts → runtime-B5hJAnKF.d.mts} +17 -16
  275. package/dist/runtime.d.mts +11 -11
  276. package/dist/runtime.mjs +5 -5
  277. package/dist/{schema-BECjUhP8.mjs → schema-D1z41cq_.mjs} +1 -1
  278. package/dist/{search-DqTHQqtV.mjs → search-CPcQGTHW.mjs} +2 -2
  279. package/dist/{secrets-CkoJ9zN0.mjs → secrets-AFKoqUXj.mjs} +2 -2
  280. package/dist/{sections-B61OxnfB.mjs → sections-B9RYyf3I.mjs} +2 -2
  281. package/dist/seed/index.d.mts +2 -2
  282. package/dist/seed/index.mjs +19 -19
  283. package/dist/seo/index.d.mts +1 -1
  284. package/dist/{seo-CUQctrog.mjs → seo-BPz1KkCq.mjs} +1 -1
  285. package/dist/{service-CyOsm0R6.mjs → service-DgiH1Yud.mjs} +2 -2
  286. package/dist/{settings-Dzgswvg4.mjs → settings-BGCo_c2y.mjs} +1 -1
  287. package/dist/{settings-DGtLLSaz.mjs → settings-qPzY2KIF.mjs} +4 -4
  288. package/dist/{setup-complete-ChilE-da.mjs → setup-complete-4EiBS1E5.mjs} +1 -1
  289. package/dist/{site-activity-B8FjLIVh.mjs → site-activity-lsCX_cqp.mjs} +1 -1
  290. package/dist/{site-context-WBxoD99D.mjs → site-context-DHRIU6x9.mjs} +58 -34
  291. package/dist/{site-url-BP7k7OCe.mjs → site-url-oyqzZtoL.mjs} +1 -1
  292. package/dist/storage/local.d.mts +1 -1
  293. package/dist/storage/local.mjs +1 -1
  294. package/dist/storage/s3.d.mts +1 -1
  295. package/dist/storage/s3.mjs +1 -1
  296. package/dist/taxonomies-BWmxbumf.mjs +350 -0
  297. package/dist/taxonomies-aQXvYVPm.mjs +507 -0
  298. package/dist/taxonomy-DI-0HgKe.mjs +217 -0
  299. package/dist/{tokens-BOJw-D9F.mjs → tokens-DB4dASZl.mjs} +1 -1
  300. package/dist/{types-DZPw8Rru.d.mts → types-CYBaBvtm.d.mts} +9 -0
  301. package/dist/{types-C0mmVRJN.d.mts → types-CsnHvu4J.d.mts} +1 -0
  302. package/dist/{types-Bs6lTBBW.mjs → types-D1DjBFA9.mjs} +8 -2
  303. package/dist/{types-Q616b2Hn.d.mts → types-DS5PYew4.d.mts} +1 -1
  304. package/dist/ui/server-runtime.d.mts +7 -7
  305. package/dist/ui/server-runtime.mjs +19 -19
  306. package/dist/{user-CcXq-zoL.mjs → user-2aI21yV1.mjs} +1 -1
  307. package/dist/{utils-C0ONdBul.mjs → utils-BJF19gfk.mjs} +1 -1
  308. package/dist/{validate-C7TzfamJ.mjs → validate-B8ZvLeOE.mjs} +12 -8
  309. package/dist/{validate-BwmQEbu8.d.mts → validate-BQ24E8rK.d.mts} +21 -4
  310. package/dist/version-CjsyxeBD.mjs +6 -0
  311. package/dist/{widgets-B7DRpZvy.mjs → widgets-Cce2-2fM.mjs} +2 -2
  312. package/dist/{wordpress-slugs-CnporCYH.mjs → wordpress-slugs-C4EhE6fo.mjs} +1 -1
  313. package/dist/{zod-generator-DBVP8D0P.mjs → zod-generator-BKhtHT3e.mjs} +3 -3
  314. package/package.json +5 -5
  315. package/dist/menus-DS3_5nWY.mjs +0 -312
  316. package/dist/taxonomies-D2aZGuns.mjs +0 -270
  317. package/dist/taxonomies-z6Lz91BC.mjs +0 -355
  318. package/dist/taxonomy-D5cbhc8u.mjs +0 -165
  319. package/dist/version-DzWaHle7.mjs +0 -6
  320. /package/dist/{adapters-DuLQZhRY.d.mts → adapters-BPzUiHHm.d.mts} +0 -0
  321. /package/dist/{api-tokens-CPjC3zf8.mjs → api-tokens-B7fvbHM2.mjs} +0 -0
  322. /package/dist/{base64-Cz-aU0X1.mjs → base64-C1Q9yr0B.mjs} +0 -0
  323. /package/dist/{challenge-store-DDTbisbf.mjs → challenge-store-anhwVER0.mjs} +0 -0
  324. /package/dist/{components-BPknylYg.mjs → components-BQiBW_Ji.mjs} +0 -0
  325. /package/dist/{config-CAMFxGaV.mjs → config-XW5tMrH8.mjs} +0 -0
  326. /package/dist/{context-types-C-LwdAxx.mjs → context-types-DuiyY6xF.mjs} +0 -0
  327. /package/dist/{cron-CKxvBrRT.mjs → cron-fV9baRVc.mjs} +0 -0
  328. /package/dist/{db-errors-DyZkswzF.mjs → db-errors-BnUbfGsK.mjs} +0 -0
  329. /package/dist/{default-D4ngTpW8.mjs → default-2JDm1rj_.mjs} +0 -0
  330. /package/dist/{email-console-CuefUXfX.mjs → email-console-_pTim1bU.mjs} +0 -0
  331. /package/dist/{entity-aliases-C0v-yNET.mjs → entity-aliases-PJV8IxDq.mjs} +0 -0
  332. /package/dist/{error-BMUPwxgx.mjs → error-Dyf9fGZE.mjs} +0 -0
  333. /package/dist/{escape-BRVaw1Ai.mjs → escape-Bn168-uP.mjs} +0 -0
  334. /package/dist/{experimental-workflows-C9X7yblQ.mjs → experimental-workflows-CSRjuEwS.mjs} +0 -0
  335. /package/dist/{hash-CDX7M0ze.mjs → hash-V8oZo1W2.mjs} +0 -0
  336. /package/dist/{load-B2XtDw__.mjs → load-BvyvS_76.mjs} +0 -0
  337. /package/dist/{manifest-schema-CgFJAp0H.mjs → manifest-schema-CU0XL_ZK.mjs} +0 -0
  338. /package/dist/{mode-DUhxwUhv.mjs → mode-DWw2di1I.mjs} +0 -0
  339. /package/dist/{normalize-C49G_o1k.mjs → normalize-9GU-bv_T.mjs} +0 -0
  340. /package/dist/{oauth-state-store-C5UFhzwD.mjs → oauth-state-store-DhifLitQ.mjs} +0 -0
  341. /package/dist/{oauth-user-lookup-Bi0ek9eM.mjs → oauth-user-lookup-nyXQ2_6Q.mjs} +0 -0
  342. /package/dist/{options-z8VVg1Ll.mjs → options-BF11H_FD.mjs} +0 -0
  343. /package/dist/{passkey-config-BRSZx4pW.mjs → passkey-config-DZOjt0Hd.mjs} +0 -0
  344. /package/dist/{patterns-K0DLqWir.mjs → patterns-CW4n2PQs.mjs} +0 -0
  345. /package/dist/{placeholder-C2P5fKa4.mjs → placeholder-BJPmhjHP.mjs} +0 -0
  346. /package/dist/{provider-loader-C21b9OpH.mjs → provider-loader-Decn0Ktc.mjs} +0 -0
  347. /package/dist/{public-url-Cun8N3NU.mjs → public-url-5fFLJhjh.mjs} +0 -0
  348. /package/dist/{redirect-COZy-3iY.mjs → redirect-C077gVTf.mjs} +0 -0
  349. /package/dist/{seo-C007Luwn.mjs → seo-DJoop90w.mjs} +0 -0
  350. /package/dist/{seo-contributions-B1fWCnqY.mjs → seo-contributions-CQzUjJKY.mjs} +0 -0
  351. /package/dist/{setup-nonce-BpmLXAuu.mjs → setup-nonce-DN6BHIlP.mjs} +0 -0
  352. /package/dist/{sidecar-client-B1C6Cf80.mjs → sidecar-client-Dta0AELf.mjs} +0 -0
  353. /package/dist/{slugify-PDTDtMXp.mjs → slugify-BzGxlOFx.mjs} +0 -0
  354. /package/dist/{ssrf-DDwRxF6B.mjs → ssrf-BOSGjXxb.mjs} +0 -0
  355. /package/dist/{transaction-x2tJQ-A1.mjs → transaction-qfqpPVpu.mjs} +0 -0
  356. /package/dist/{transport-D3i4yWRE.mjs → transport-B3jxvfio.mjs} +0 -0
  357. /package/dist/{transport-BXe1AM79.d.mts → transport-CyOHECBA.d.mts} +0 -0
  358. /package/dist/{trusted-proxy-BbaZfkT9.mjs → trusted-proxy-8N8sX1D1.mjs} +0 -0
  359. /package/dist/{types-DJlpx5Ay.d.mts → types-6N-00csp.d.mts} +0 -0
  360. /package/dist/{types-BFmjniC2.d.mts → types-B45uSz1j.d.mts} +0 -0
  361. /package/dist/{types-B7kpsMJ3.d.mts → types-BDm7Ipoq.d.mts} +0 -0
  362. /package/dist/{types-0Vr68fc2.d.mts → types-BeYn-Yf0.d.mts} +0 -0
  363. /package/dist/{types-OPs5Q_sX.d.mts → types-D_wGrwiY.d.mts} +0 -0
  364. /package/dist/{types-DL7Y8D_t.mjs → types-Dz2EKzsX.mjs} +0 -0
  365. /package/dist/{types-fAInWQDO.mjs → types-iNqHe2-V.mjs} +0 -0
  366. /package/dist/{url-DNjT2abR.mjs → url-DOS4RGym.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { n as decodeCursor, r as encodeCursor } from "./types-Bs6lTBBW.mjs";
1
+ import { n as decodeCursor, r as encodeCursor } from "./types-D1DjBFA9.mjs";
2
2
  import { sql } from "kysely";
3
3
  import { ulid } from "ulidx";
4
4
 
@@ -1,4 +1,4 @@
1
- import { t as CommentRepository } from "./comment-DFO-gWDH.mjs";
1
+ import { t as CommentRepository } from "./comment-BmJXz3lc.mjs";
2
2
 
3
3
  //#region src/api/handlers/comments.ts
4
4
  async function handleCommentList(db, collection, contentId, options = {}) {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./chunk-ClPoSABd.mjs";
2
2
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
3
- import { n as slugify } from "./slugify-PDTDtMXp.mjs";
4
- import { n as decodeCursor, r as encodeCursor, t as DinewayValidationError } from "./types-Bs6lTBBW.mjs";
3
+ import { n as slugify } from "./slugify-BzGxlOFx.mjs";
4
+ import { n as decodeCursor, r as encodeCursor, t as DinewayValidationError } from "./types-D1DjBFA9.mjs";
5
5
  import { sql } from "kysely";
6
6
  import { monotonicFactory, ulid } from "ulidx";
7
7
 
@@ -478,13 +478,14 @@ var ContentRepository = class {
478
478
  `.execute(this.db)).numAffectedRows ?? 0n) > 0n;
479
479
  }
480
480
  /**
481
- * Permanently delete content (cannot be undone)
481
+ * Permanently delete a soft-deleted content row.
482
482
  */
483
483
  async permanentDelete(type, id) {
484
484
  const tableName = getTableName(type);
485
485
  return ((await sql`
486
486
  DELETE FROM ${sql.ref(tableName)}
487
487
  WHERE id = ${id}
488
+ AND deleted_at IS NOT NULL
488
489
  `.execute(this.db)).numAffectedRows ?? 0n) > 0n;
489
490
  }
490
491
  /**
@@ -1,5 +1,5 @@
1
- import { a as ContextRepository, i as parseSiteBriefingScope, n as SiteBriefingError } from "./briefing-MVYe_Uyf.mjs";
2
- import { b as toPublicContextEntry, x as toPublicContextEntryPage, y as toPublicContextDiff } from "./site-context-WBxoD99D.mjs";
1
+ import { a as ContextRepository, i as parseSiteBriefingScope, n as SiteBriefingError } from "./briefing-4k6R0KAr.mjs";
2
+ import { b as toPublicContextEntry, x as toPublicContextEntryPage, y as toPublicContextDiff } from "./site-context-DHRIU6x9.mjs";
3
3
 
4
4
  //#region src/api/handlers/context.ts
5
5
  async function handleContextEntryList(db, input = {}) {
@@ -1,14 +1,14 @@
1
1
  import { n as validateJsonFieldName } from "./validate-VPnKoIzW.mjs";
2
- import { o as jsonExtractExpr } from "./dialect-helpers-DhTzaUxP.mjs";
3
- import { t as ContentRepository } from "./content-CyLkb-qH.mjs";
4
- import { n as decodeCursor, r as encodeCursor } from "./types-Bs6lTBBW.mjs";
5
- import { t as MediaRepository } from "./media-_7Fxdu45.mjs";
6
- import { t as UserRepository } from "./user-CcXq-zoL.mjs";
7
- import { t as OptionsRepository } from "./options-z8VVg1Ll.mjs";
8
- import { t as withTransaction } from "./transaction-x2tJQ-A1.mjs";
9
- import { t as SeoRepository } from "./seo-CUQctrog.mjs";
10
- import { a as validateExternalUrl, i as stripCredentialHeaders, t as SsrfError } from "./ssrf-DDwRxF6B.mjs";
11
- import { t as CronAccessImpl } from "./cron-CKxvBrRT.mjs";
2
+ import { s as jsonExtractExpr } from "./dialect-helpers-TkdbkFad.mjs";
3
+ import { t as ContentRepository } from "./content-DvpMad_N.mjs";
4
+ import { n as decodeCursor, r as encodeCursor } from "./types-D1DjBFA9.mjs";
5
+ import { t as MediaRepository } from "./media-Cg4zc9fq.mjs";
6
+ import { t as UserRepository } from "./user-2aI21yV1.mjs";
7
+ import { t as OptionsRepository } from "./options-BF11H_FD.mjs";
8
+ import { t as withTransaction } from "./transaction-qfqpPVpu.mjs";
9
+ import { t as SeoRepository } from "./seo-BPz1KkCq.mjs";
10
+ import { a as validateExternalUrl, i as stripCredentialHeaders, t as SsrfError } from "./ssrf-BOSGjXxb.mjs";
11
+ import { t as CronAccessImpl } from "./cron-fV9baRVc.mjs";
12
12
  import { sql } from "kysely";
13
13
  import { ulid } from "ulidx";
14
14
 
@@ -1,4 +1,4 @@
1
- import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-B4wp7CrU.mjs";
1
+ import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-DbqJBNaY.mjs";
2
2
 
3
3
  //#region src/api/context-route-helpers.ts
4
4
  function resolveContextRouteActor(locals) {
@@ -1,8 +1,8 @@
1
1
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
- import { t as ContentRepository } from "./content-CyLkb-qH.mjs";
3
- import { t as MediaRepository } from "./media-_7Fxdu45.mjs";
4
- import { t as UserRepository } from "./user-CcXq-zoL.mjs";
5
- import { t as ReviewRequestRepository } from "./review-requests-C2DIHwlJ.mjs";
2
+ import { t as ContentRepository } from "./content-DvpMad_N.mjs";
3
+ import { t as MediaRepository } from "./media-Cg4zc9fq.mjs";
4
+ import { t as UserRepository } from "./user-2aI21yV1.mjs";
5
+ import { t as ReviewRequestRepository } from "./review-requests-BYuoyse0.mjs";
6
6
  import { sql } from "kysely";
7
7
 
8
8
  //#region src/api/handlers/dashboard.ts
@@ -65,7 +65,7 @@ async function handleDashboardStats(db) {
65
65
  /**
66
66
  * Fetch the 10 most recently updated items across all collections.
67
67
  *
68
- * Uses UNION ALL over each ec_* table. The query is safe because
68
+ * Uses one bounded query per ec_* table. The queries are safe because
69
69
  * collection slugs come from the system table and are validated.
70
70
  *
71
71
  * `title` is not a standard column — it's a user-defined field. We query
@@ -76,12 +76,11 @@ async function fetchRecentItems(db, collections) {
76
76
  if (collections.length === 0) return [];
77
77
  const titleFields = await db.selectFrom("_dineway_fields as f").innerJoin("_dineway_collections as c", "c.id", "f.collection_id").select(["c.slug as collection_slug"]).where("f.slug", "=", "title").execute();
78
78
  const collectionsWithTitle = new Set(titleFields.map((r) => r.collection_slug));
79
- const subQueries = collections.map((col) => {
79
+ return (await Promise.all(collections.map(async (col) => {
80
80
  validateIdentifier(col.slug);
81
81
  const table = `ec_${col.slug}`;
82
82
  const titleExpr = collectionsWithTitle.has(col.slug) ? sql`COALESCE(title, slug, id)` : sql`COALESCE(slug, id)`;
83
- return sql`
84
- SELECT * FROM (
83
+ return (await sql`
85
84
  SELECT
86
85
  id,
87
86
  ${sql.lit(col.slug)} AS collection,
@@ -95,16 +94,8 @@ async function fetchRecentItems(db, collections) {
95
94
  WHERE deleted_at IS NULL
96
95
  ORDER BY updated_at DESC
97
96
  LIMIT 10
98
- )
99
- `;
100
- });
101
- let combined = subQueries[0];
102
- for (let i = 1; i < subQueries.length; i++) combined = sql`${combined} UNION ALL ${subQueries[i]}`;
103
- return (await sql`
104
- SELECT * FROM (${combined})
105
- ORDER BY updated_at DESC
106
- LIMIT 10
107
- `.execute(db)).rows.map((row) => ({
97
+ `.execute(db)).rows;
98
+ }))).flat().toSorted((a, b) => a.updated_at < b.updated_at ? 1 : a.updated_at > b.updated_at ? -1 : 0).slice(0, 10).map((row) => ({
108
99
  id: row.id,
109
100
  collection: row.collection,
110
101
  collectionLabel: row.collection_label,
@@ -29,6 +29,6 @@ declare function flushRecorder(recorder: QueryRecorder): void;
29
29
  declare function isInstrumentationEnabled(): boolean;
30
30
  declare function isServerTimingEnabled(): boolean;
31
31
  declare function formatServerTimingHeader(metrics: readonly ServerTimingMetric[]): string;
32
- declare function kyselyLogOption(): Logger | undefined;
32
+ declare function kyselyLogOption(): Logger;
33
33
  //#endregion
34
34
  export { QUERY_LOG_ENV, QUERY_LOG_PREFIX, QueryEvent, QueryRecorder, SERVER_TIMING_ENV, ServerTimingMetric, createRecorder, flushRecorder, formatServerTimingHeader, isInstrumentationEnabled, isServerTimingEnabled, kyselyLogOption, recordEvent };
@@ -41,12 +41,22 @@ function formatServerTimingHeader(metrics) {
41
41
  }
42
42
  function kyselyLog(event) {
43
43
  if (event.level !== "query") return;
44
- const recorder = getRequestContext()?.queryRecorder;
45
- if (!recorder) return;
46
- recordEvent(recorder, event.query.sql, event.query.parameters, event.queryDurationMillis);
44
+ const ctx = getRequestContext();
45
+ if (!ctx) return;
46
+ const durationMs = event.queryDurationMillis;
47
+ if (ctx.metrics) {
48
+ const metrics = ctx.metrics;
49
+ metrics.dbCount += 1;
50
+ metrics.dbTotalMs += durationMs;
51
+ const finishedAt = performance.now() - metrics.start;
52
+ const startedAt = finishedAt - durationMs;
53
+ if (metrics.dbFirstOffset === null) metrics.dbFirstOffset = startedAt;
54
+ metrics.dbLastOffset = finishedAt;
55
+ }
56
+ if (ctx.queryRecorder) recordEvent(ctx.queryRecorder, event.query.sql, event.query.parameters, durationMs);
47
57
  }
48
58
  function kyselyLogOption() {
49
- return isInstrumentationEnabled() ? kyselyLog : void 0;
59
+ return kyselyLog;
50
60
  }
51
61
 
52
62
  //#endregion
@@ -1,4 +1,4 @@
1
- import "../types-DZPw8Rru.mjs";
2
- import { a as SqliteConfig, c as sqlite, i as PostgresConfig, n as DatabaseDialectType, o as libsql, r as LibsqlConfig, s as postgres, t as DatabaseDescriptor } from "../adapters-DuLQZhRY.mjs";
3
- import { i as runMigrations, n as getMigrationStatus, r as rollbackMigration, t as MigrationStatus } from "../runner-BU6Lo1ZS.mjs";
1
+ import "../types-CYBaBvtm.mjs";
2
+ import { a as SqliteConfig, c as sqlite, i as PostgresConfig, n as DatabaseDialectType, o as libsql, r as LibsqlConfig, s as postgres, t as DatabaseDescriptor } from "../adapters-BPzUiHHm.mjs";
3
+ import { i as runMigrations, n as getMigrationStatus, r as rollbackMigration, t as MigrationStatus } from "../runner-CHR_W79l.mjs";
4
4
  export { type DatabaseDescriptor, type DatabaseDialectType, type LibsqlConfig, type MigrationStatus, type PostgresConfig, type SqliteConfig, getMigrationStatus, libsql, postgres, rollbackMigration, runMigrations, sqlite };
package/dist/db/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import "../dialect-helpers-DhTzaUxP.mjs";
2
- import { n as rollbackMigration, r as runMigrations, t as getMigrationStatus } from "../runner-DWZm2KQm.mjs";
1
+ import "../dialect-helpers-TkdbkFad.mjs";
2
+ import { n as rollbackMigration, r as runMigrations, t as getMigrationStatus } from "../runner-lqEiJbO-.mjs";
3
3
 
4
4
  //#region src/db/adapters.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { r as LibsqlConfig } from "../adapters-DuLQZhRY.mjs";
1
+ import { r as LibsqlConfig } from "../adapters-BPzUiHHm.mjs";
2
2
  import { Dialect } from "kysely";
3
3
 
4
4
  //#region src/db/libsql.d.ts
@@ -1,4 +1,4 @@
1
- import { i as PostgresConfig } from "../adapters-DuLQZhRY.mjs";
1
+ import { i as PostgresConfig } from "../adapters-BPzUiHHm.mjs";
2
2
  import { PostgresDialect } from "kysely";
3
3
 
4
4
  //#region src/db/postgres.d.ts
@@ -1,4 +1,4 @@
1
- import { a as SqliteConfig } from "../adapters-DuLQZhRY.mjs";
1
+ import { a as SqliteConfig } from "../adapters-BPzUiHHm.mjs";
2
2
  import { Dialect } from "kysely";
3
3
 
4
4
  //#region src/db/sqlite.d.ts
@@ -1,8 +1,8 @@
1
- import { t as withTransaction } from "./transaction-x2tJQ-A1.mjs";
2
- import { a as filterExperimentalSiteContextWorkflowScopes, i as experimentalSiteContextWorkflowsEnabled, o as getExperimentalSiteContextWorkflowScopesDisabledMessage, r as disabledExperimentalSiteContextWorkflowScopes } from "./experimental-workflows-C9X7yblQ.mjs";
3
- import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-CPjC3zf8.mjs";
4
- import { o as lookupOAuthClient } from "./oauth-clients-DxO_NO7k.mjs";
5
- import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-Bi0ek9eM.mjs";
1
+ import { t as withTransaction } from "./transaction-qfqpPVpu.mjs";
2
+ import { a as filterExperimentalSiteContextWorkflowScopes, i as experimentalSiteContextWorkflowsEnabled, o as getExperimentalSiteContextWorkflowScopesDisabledMessage, r as disabledExperimentalSiteContextWorkflowScopes } from "./experimental-workflows-CSRjuEwS.mjs";
3
+ import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-B7fvbHM2.mjs";
4
+ import { o as lookupOAuthClient } from "./oauth-clients-CgKFA-VH.mjs";
5
+ import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-nyXQ2_6Q.mjs";
6
6
  import { clampScopes } from "@dineway-ai/auth";
7
7
  import { generateCodeVerifier } from "arctic";
8
8
 
@@ -53,6 +53,12 @@ async function tableExists(db, tableName) {
53
53
  `.execute(db)).rows.length > 0;
54
54
  }
55
55
  /**
56
+ * Check if a column exists in a table using Kysely introspection.
57
+ */
58
+ async function columnExists(db, tableName, columnName) {
59
+ return (await db.introspection.getTables()).find((t) => t.name === tableName)?.columns.some((column) => column.name === columnName) ?? false;
60
+ }
61
+ /**
56
62
  * List tables matching a LIKE pattern.
57
63
  */
58
64
  async function listTablesLike(db, pattern) {
@@ -89,4 +95,4 @@ function jsonExtractExpr(db, column, path) {
89
95
  }
90
96
 
91
97
  //#endregion
92
- export { isSqlite as a, tableExists as c, isPostgres as i, currentTimestamp as n, jsonExtractExpr as o, currentTimestampValue as r, listTablesLike as s, binaryType as t };
98
+ export { isPostgres as a, listTablesLike as c, currentTimestampValue as i, tableExists as l, columnExists as n, isSqlite as o, currentTimestamp as r, jsonExtractExpr as s, binaryType as t };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./chunk-ClPoSABd.mjs";
2
2
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
3
- import { a as isSqlite, c as tableExists } from "./dialect-helpers-DhTzaUxP.mjs";
3
+ import { l as tableExists, o as isSqlite } from "./dialect-helpers-TkdbkFad.mjs";
4
4
  import { sql } from "kysely";
5
5
 
6
6
  //#region src/search/fts-manager.ts
@@ -1,5 +1,5 @@
1
- import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-C9X7yblQ.mjs";
2
- import { n as HitlRequestService } from "./site-context-WBxoD99D.mjs";
1
+ import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-CSRjuEwS.mjs";
2
+ import { n as HitlRequestService } from "./site-context-DHRIU6x9.mjs";
3
3
 
4
4
  //#region src/api/handlers/hitl-requests.ts
5
5
  const HITL_NOT_FOUND_RE = /not found/i;
@@ -1,7 +1,7 @@
1
- import { t as apiError } from "./error-BMUPwxgx.mjs";
2
- import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-C9X7yblQ.mjs";
3
- import { t as WorkflowHitlCoordinator } from "./site-context-WBxoD99D.mjs";
4
- import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-B4wp7CrU.mjs";
1
+ import { t as apiError } from "./error-Dyf9fGZE.mjs";
2
+ import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-CSRjuEwS.mjs";
3
+ import { t as WorkflowHitlCoordinator } from "./site-context-DHRIU6x9.mjs";
4
+ import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-DbqJBNaY.mjs";
5
5
  import { Role } from "@dineway-ai/auth";
6
6
 
7
7
  //#region src/api/hitl-route-helpers.ts
@@ -1,6 +1,6 @@
1
- import { n as slugify } from "./slugify-PDTDtMXp.mjs";
2
- import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-DDwRxF6B.mjs";
3
- import { a as getFilenameFromUrl, c as isInternalMetaKey, d as mapPostTypeToCollection, f as mapWpStatus, i as checkSchemaCompatibility, l as isInternalPostType, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as normalizeUrl$1, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as mapMetaKeyToField } from "./utils-C0ONdBul.mjs";
1
+ import { n as slugify } from "./slugify-BzGxlOFx.mjs";
2
+ import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-BOSGjXxb.mjs";
3
+ import { a as getFilenameFromUrl, c as isInternalMetaKey, d as mapPostTypeToCollection, f as mapWpStatus, i as checkSchemaCompatibility, l as isInternalPostType, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as normalizeUrl$1, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as mapMetaKeyToField } from "./utils-BJF19gfk.mjs";
4
4
  import { ulid } from "ulidx";
5
5
  import sax from "sax";
6
6
  import { gutenbergToPortableText } from "@dineway-ai/gutenberg-to-portable-text";
@@ -1,5 +1,5 @@
1
- import { n as isSiteContextType, t as SITE_CONTEXT_TYPES } from "./context-types-C-LwdAxx.mjs";
2
- import { Dn as roleLevel, wn as httpUrl } from "./redirects-lrlmYXVE.mjs";
1
+ import { n as isSiteContextType, t as SITE_CONTEXT_TYPES } from "./context-types-DuiyY6xF.mjs";
2
+ import { Dn as httpUrl, jn as roleLevel } from "./redirects-xVDvj_yQ.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/api/schemas/context.ts
@@ -1,5 +1,5 @@
1
- import { t as Database } from "./types-DZPw8Rru.mjs";
2
- import { d as ImportSource, g as ProbeResult } from "./types-0Vr68fc2.mjs";
1
+ import { t as Database } from "./types-CYBaBvtm.mjs";
2
+ import { d as ImportSource, g as ProbeResult } from "./types-BeYn-Yf0.mjs";
3
3
  import { Kysely } from "kysely";
4
4
  import { Readable } from "node:stream";
5
5
 
@@ -1,6 +1,6 @@
1
- import { t as Database } from "./types-DZPw8Rru.mjs";
2
- import { a as Collection, i as SiteSettings, r as SiteSettingKey } from "./types-C0mmVRJN.mjs";
3
- import { m as MediaValue } from "./types-OPs5Q_sX.mjs";
1
+ import { t as Database } from "./types-CYBaBvtm.mjs";
2
+ import { a as Collection, h as FieldValidation, i as SiteSettings, r as SiteSettingKey } from "./types-CsnHvu4J.mjs";
3
+ import { m as MediaValue } from "./types-D_wGrwiY.mjs";
4
4
  import { Kysely } from "kysely";
5
5
  import { z } from "astro/zod";
6
6
 
@@ -35,6 +35,7 @@ interface FieldDefinition<_T = unknown> {
35
35
  schema: z.ZodTypeAny;
36
36
  options?: unknown;
37
37
  ui?: FieldUIHints;
38
+ validation?: FieldValidation;
38
39
  }
39
40
  /**
40
41
  * UI hints for admin rendering
@@ -584,6 +585,8 @@ interface Menu {
584
585
  name: string;
585
586
  label: string;
586
587
  items: MenuItem[];
588
+ locale: string;
589
+ translationGroup: string | null;
587
590
  }
588
591
  /**
589
592
  * Input for creating a menu item
@@ -591,6 +594,10 @@ interface Menu {
591
594
  interface CreateMenuItemInput {
592
595
  type: MenuItemType;
593
596
  label: string;
597
+ /**
598
+ * Identifier of the referenced entity. For content and taxonomy items it is
599
+ * the target row's translation_group.
600
+ */
594
601
  referenceCollection?: string;
595
602
  referenceId?: string;
596
603
  customUrl?: string;
@@ -618,6 +625,9 @@ interface UpdateMenuItemInput {
618
625
  interface CreateMenuInput {
619
626
  name: string;
620
627
  label: string;
628
+ locale?: string;
629
+ /** Existing menu id to join as a locale translation. */
630
+ translationOf?: string;
621
631
  }
622
632
  /**
623
633
  * Input for updating a menu
@@ -637,35 +647,21 @@ interface ReorderMenuItemsInput {
637
647
  }
638
648
  //#endregion
639
649
  //#region src/menus/index.d.ts
650
+ interface MenuQueryOptions {
651
+ locale?: string;
652
+ }
640
653
  /**
641
- * Get menu by name with resolved URLs
642
- *
643
- * @example
644
- * ```ts
645
- * import { getMenu } from "dineway";
646
- *
647
- * const menu = await getMenu("primary");
648
- * if (menu) {
649
- * console.log(menu.items); // Array of MenuItem with resolved URLs
650
- * }
651
- * ```
654
+ * Get menu by name with resolved URLs.
652
655
  */
653
- declare function getMenu(name: string): Promise<Menu | null>;
656
+ declare function getMenu(name: string, options?: MenuQueryOptions): Promise<Menu | null>;
654
657
  /**
655
- * Get all menus (without items - for admin list)
656
- *
657
- * @example
658
- * ```ts
659
- * import { getMenus } from "dineway";
660
- *
661
- * const menus = await getMenus();
662
- * console.log(menus); // [{ id, name, label }]
663
- * ```
658
+ * Get all menus without items.
664
659
  */
665
- declare function getMenus(): Promise<Array<{
660
+ declare function getMenus(options?: MenuQueryOptions): Promise<Array<{
666
661
  id: string;
667
662
  name: string;
668
663
  label: string;
664
+ locale: string;
669
665
  }>>;
670
666
  //#endregion
671
667
  //#region src/taxonomies/types.d.ts
@@ -682,6 +678,8 @@ interface TaxonomyDef {
682
678
  labelSingular?: string;
683
679
  hierarchical: boolean;
684
680
  collections: string[];
681
+ locale: string;
682
+ translationGroup: string | null;
685
683
  }
686
684
  /**
687
685
  * Taxonomy term - a specific term within a taxonomy (e.g., "News" in "category")
@@ -695,6 +693,8 @@ interface TaxonomyTerm {
695
693
  description?: string;
696
694
  children: TaxonomyTerm[];
697
695
  count?: number;
696
+ locale: string;
697
+ translationGroup: string | null;
698
698
  }
699
699
  /**
700
700
  * Flat version for DB row
@@ -706,6 +706,8 @@ interface TaxonomyTermRow {
706
706
  label: string;
707
707
  parent_id: string | null;
708
708
  data: string | null;
709
+ locale: string;
710
+ translation_group: string | null;
709
711
  }
710
712
  /**
711
713
  * Input for creating a term
@@ -715,6 +717,9 @@ interface CreateTermInput {
715
717
  label: string;
716
718
  parentId?: string;
717
719
  description?: string;
720
+ locale?: string;
721
+ /** Existing term id to join as a locale translation. */
722
+ translationOf?: string;
718
723
  }
719
724
  /**
720
725
  * Input for updating a term
@@ -727,42 +732,37 @@ interface UpdateTermInput {
727
732
  }
728
733
  //#endregion
729
734
  //#region src/taxonomies/index.d.ts
735
+ interface TaxonomyQueryOptions {
736
+ locale?: string;
737
+ }
730
738
  /**
731
- * Get all taxonomy definitions
739
+ * Get every taxonomy definition for the active locale.
732
740
  */
733
- declare function getTaxonomyDefs(): Promise<TaxonomyDef[]>;
741
+ declare function getTaxonomyDefs(options?: TaxonomyQueryOptions): Promise<TaxonomyDef[]>;
734
742
  /**
735
- * Get a single taxonomy definition by name
743
+ * Get a single taxonomy definition by name, following the locale fallback chain.
736
744
  */
737
- declare function getTaxonomyDef(name: string): Promise<TaxonomyDef | null>;
745
+ declare function getTaxonomyDef(name: string, options?: TaxonomyQueryOptions): Promise<TaxonomyDef | null>;
738
746
  /**
739
- * Get all terms for a taxonomy (as tree for hierarchical, flat for tags)
747
+ * Get all terms for a taxonomy in the active locale.
740
748
  */
741
- declare function getTaxonomyTerms(taxonomyName: string): Promise<TaxonomyTerm[]>;
749
+ declare function getTaxonomyTerms(taxonomyName: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm[]>;
742
750
  /**
743
- * Get a single term by taxonomy and slug
751
+ * Get a single term by taxonomy and slug, following the locale fallback chain.
744
752
  */
745
- declare function getTerm(taxonomyName: string, slug: string): Promise<TaxonomyTerm | null>;
753
+ declare function getTerm(taxonomyName: string, slug: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm | null>;
746
754
  /**
747
- * Get terms assigned to an entry
755
+ * Get terms assigned to an entry, resolved into the active locale.
748
756
  */
749
- declare function getEntryTerms(collection: string, entryId: string, taxonomyName?: string): Promise<TaxonomyTerm[]>;
757
+ declare function getEntryTerms(collection: string, entryId: string, taxonomyName?: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm[]>;
750
758
  /**
751
- * Get terms for multiple entries in a single query (batched API)
752
- *
753
- * This is more efficient than calling getEntryTerms for each entry
754
- * when you need terms for a list of entries.
755
- *
756
- * @param collection - The collection type (e.g., "posts")
757
- * @param entryIds - Array of entry IDs
758
- * @param taxonomyName - The taxonomy name (e.g., "categories")
759
- * @returns Map from entry ID to array of terms
759
+ * Get terms for multiple entries in one taxonomy.
760
760
  */
761
- declare function getTermsForEntries(collection: string, entryIds: string[], taxonomyName: string): Promise<Map<string, TaxonomyTerm[]>>;
761
+ declare function getTermsForEntries(collection: string, entryIds: string[], taxonomyName: string, options?: TaxonomyQueryOptions): Promise<Map<string, TaxonomyTerm[]>>;
762
762
  /**
763
- * Get entries by term (wraps getDinewayCollection)
763
+ * Get entries by term.
764
764
  */
765
- declare function getEntriesByTerm(collection: string, taxonomyName: string, termSlug: string): Promise<Array<{
765
+ declare function getEntriesByTerm(collection: string, taxonomyName: string, termSlug: string, options?: TaxonomyQueryOptions): Promise<Array<{
766
766
  id: string;
767
767
  data: Record<string, unknown>;
768
768
  }>>;
package/dist/index.d.mts CHANGED
@@ -1,22 +1,22 @@
1
- import { a as ContentSeoInput, c as FindManyOptions, i as ContentSeo, l as FindManyResult, n as ContentBylineCredit, o as CreateContentInput, r as ContentItem, s as DinewayValidationError, t as BylineSummary, u as UpdateContentInput } from "./types-DJlpx5Ay.mjs";
2
- import { $ as createPluginManager, $t as SandboxOptions, A as dropSessionDatabaseTables, An as handleContentDelete, At as verifyPreviewSignature, B as GeneratePreviewTokenOptions, Bn as handleContentSchedule, Bt as prosemirrorToPortableText, C as getByline, Cn as handleRevisionList, Ct as SessionOpenOrCreateOptions, D as AppliedSnapshotMeta, Dn as handleContentCountScheduled, Dt as defaultPreviewSidecarClient, E as renderPreviewToolbar, En as handleContentCompare, Et as buildPreviewSignatureHeader, F as getPreviewToken, Fn as handleContentList, Ft as AfterCallback, G as parseContentId, Gn as CreateMediaInput, Gt as PortableTextSpan, H as VerifyPreviewTokenOptions, Hn as handleContentUnpublish, Ht as PortableTextImageBlock, I as isPreviewRequest, In as handleContentListTrashed, It as after, J as createNodeSandboxRunner, Jn as ContentRepository, Jt as ProseMirrorDocument, K as verifyPreviewToken, Kn as MediaItem, Kt as PortableTextTextBlock, L as GetPreviewUrlOptions, Ln as handleContentPermanentDelete, Lt as computeContentHash, M as Snapshot, Mn as handleContentDuplicate, Mt as getFallbackChain, N as renderPreviewLoadingPage, Nn as handleContentGet, Nt as getI18nConfig, O as ApplySnapshotToDatabaseOptions, On as handleContentCountTrashed, Ot as parsePreviewSignatureHeader, P as isBlockedInPreview, Pn as handleContentGetIncludingTrashed, Pt as isI18nEnabled, Q as PluginManager, Qt as SandboxEmailSendCallback, R as buildPreviewUrl, Rn as handleContentPublish, Rt as hashString, S as Suggestion, Sn as handleRevisionGet, St as SessionOpenOptions, T as PreviewToolbarConfig, Tn as generateManifest, Tt as PreviewSidecarSignature, U as VerifyPreviewTokenResult, Un as handleContentUnschedule, Ut as PortableTextLinkMark, V as PreviewTokenPayload, Vn as handleContentTranslations, Vt as PortableTextCodeBlock, W as generatePreviewToken, Wn as handleContentUpdate, Wt as PortableTextMarkDef, X as SandboxNotAvailableError, Xn as DinewayDatabaseError, Xt as ProseMirrorNode, Y as NoopSandboxRunner, Yn as DatabaseConfig, Yt as ProseMirrorMark, Z as createNoopSandboxRunner, Zt as SandboxEmailMessage, _ as SearchOptions, _n as handleMediaGet, _t as SessionCleanupResult, an as getSections, ar as ApiContext, at as ValidatedPluginManifest, b as SearchStats, bn as RevisionListResponse, bt as SessionDatabaseInfo, c as extractSearchableFields, cn as Section, cr as FieldDescriptor, ct as CollectionFilter$1, d as search, dn as SchemaError, en as SandboxRunner, et as PluginRouteError, f as searchCollection, fn as SchemaRegistry, g as SearchConfig, gn as handleMediaDelete, gt as FileSessionDatabaseFactoryOptions, h as CollectionSearchOptions, hn as handleMediaCreate, ht as FileSessionDatabaseFactory, in as getSection, it as createHookPipeline, j as getAppliedSnapshotMeta, jn as handleContentDiscardDraft, jt as I18nConfig, k as applySnapshotToDatabase, kn as handleContentCreate, kt as signPreviewUrl, l as getSearchStats, ln as SectionSource, lr as ListResponse, lt as EntryData, m as FTSManager, mn as MediaResponse, mt as createFilePreviewMiddleware, n as PluginDescriptor, nn as SandboxedPlugin, nt as HookPipeline, on as CreateSectionInput, or as ContentListResponse, ot as pluginManifestSchema, p as searchWithDb, pn as MediaListResponse, pt as FilePreviewMiddlewareConfig, q as NodeSandboxRunner, qn as MediaRepository, qt as PortableTextUnknownBlock, rn as SerializedRequest, rt as HookResult, s as extractPlainText, sn as GetSectionsOptions, sr as ContentResponse, st as definePlugin, tn as SandboxRunnerFactory, u as getSuggestions, un as UpdateSectionInput, ur as ManifestResponse, ut as EntryFilter, v as SearchResponse, vn as handleMediaList, vt as SessionDatabaseFactory, w as getBylineBySlug, wn as handleRevisionRestore, wt as PreviewSidecarClient, x as SuggestOptions, xn as RevisionResponse, xt as SessionDatabaseLimitError, y as SearchResult, yn as handleMediaUpdate, yt as SessionDatabaseHandle, z as getPreviewUrl, zn as handleContentRestore, zt as portableTextToProsemirror } from "./runtime-QuuFSlc6.mjs";
3
- import { n as MediaTable, r as UserTable, t as Database } from "./types-DZPw8Rru.mjs";
4
- import { $ as StandardHookEntry, A as PageMetadataContribution, B as PluginDefinition, C as MediaAccess, D as PageFragmentContribution, E as ModerationDecision, F as PluginAdminConfig, G as PortableTextBlockConfig, H as PluginManifest, I as PluginAdminExports, K as PortableTextBlockField, L as PluginAdminPage, M as PageMetadataHandler, O as PageFragmentEvent, P as PagePlacement, Q as RouteContext, R as PluginCapability, S as LogAccess, T as MediaUploadEvent, U as PluginRoute, V as PluginHooks, W as PluginStorageConfig, X as ResolvedPlugin, Y as ResolvedHook, Z as ResolvedPluginHooks, _ as FieldWidgetConfig, a as CommentAfterModerateEvent, b as HttpAccess, c as CommentBeforeCreateHandler, d as ContentAccess, et as StandardHookHandler, f as ContentDeleteEvent, i as CommentAfterCreateHandler, it as StorageCollection, j as PageMetadataEvent, k as PageFragmentHandler, l as CommentModerateEvent, m as ContentPublishStateChangeEvent, n as CollectionCommentSettings, nt as StandardRouteEntry, o as CommentAfterModerateHandler, ot as StoredComment, p as ContentHookEvent, q as PublicPageContext, r as CommentAfterCreateEvent, rt as StandardRouteHandler, s as CommentBeforeCreateEvent, st as isStandardPluginDefinition, t as BreadcrumbItem, tt as StandardPluginDefinition, u as CommentModerateHandler, v as HookConfig, x as KVAccess, y as HookName, z as PluginContext } from "./types-Q616b2Hn.mjs";
5
- import { _ as RESERVED_COLLECTION_SLUGS, a as Collection, b as UpdateFieldInput, c as CollectionWithFields, d as CreateFieldInput, f as FIELD_TYPE_TO_COLUMN, g as FieldWidgetOptions, h as FieldValidation, i as SiteSettings, l as ColumnType, m as FieldType, n as SeoSettings, o as CollectionSource, p as Field, r as SiteSettingKey, s as CollectionSupport, t as MediaReference, u as CreateCollectionInput, v as RESERVED_FIELD_SLUGS, y as UpdateCollectionInput } from "./types-C0mmVRJN.mjs";
6
- import { a as AuthResult, i as AuthProviderModule, n as AuthProviderAdminExports, o as AuthRouteDescriptor, r as AuthProviderDescriptor, s as ExternalAuthConfig, t as AuthDescriptor } from "./types-BFmjniC2.mjs";
7
- import { a as SqliteConfig, i as PostgresConfig, n as DatabaseDialectType, r as LibsqlConfig, t as DatabaseDescriptor } from "./adapters-DuLQZhRY.mjs";
8
- import { m as MediaValue } from "./types-OPs5Q_sX.mjs";
9
- import { n as getMigrationStatus, t as MigrationStatus } from "./runner-BU6Lo1ZS.mjs";
10
- import { $ as TranslationSummary, A as MenuItem, B as getPluginSettings, C as TaxonomyTermRow, D as CreateMenuInput, E as getMenus, F as GetCommentsOptions, G as CollectionFilter, H as getSiteSettings, I as GetCommentsResult, J as DinewayCollections, K as CollectionResult, L as getCommentCount, M as ReorderMenuItemsInput, N as UpdateMenuInput, O as CreateMenuItemInput, P as UpdateMenuItemInput, Q as ResolvePathResult, R as getComments, S as TaxonomyTerm, T as getMenu, U as setSiteSettings, V as getSiteSetting, W as CacheHint, X as EntryResult, Y as EditFieldMeta, Z as InferCollectionData, _ as getTaxonomyTerms, _t as FieldDefinition, a as CreateWidgetInput, at as resolveDinewayPath, b as CreateTermInput, bt as ImageValue, c as UpdateWidgetInput, ct as FieldAnnotation, d as WidgetComponentDef, dt as isSafeHref, et as TranslationsResult, f as WidgetType, ft as sanitizeHref, g as getTaxonomyDefs, gt as image, h as getTaxonomyDef, ht as reference, i as CreateWidgetAreaInput, it as getTranslations, j as MenuItemType, k as Menu, l as Widget, lt as createEditable, m as getEntryTerms, mt as portableText, n as getWidgetAreas, nt as getDinewayEntry, o as PropDef, ot as CMSAnnotation, p as getEntriesByTerm, pt as getCollectionInfo, q as ContentEntry, r as getWidgetComponents, rt as getEditMeta, s as ReorderWidgetsInput, st as EditProxy, t as getWidgetArea, tt as getDinewayCollection, u as WidgetArea, ut as createNoop, v as getTerm, vt as FieldUIHints, w as UpdateTermInput, x as TaxonomyDef, xt as PortableTextBlock, y as getTermsForEntries, yt as FileValue, z as getPluginSetting } from "./index-EUAWaIxW.mjs";
11
- import { _ as WxrSite, a as getAllSources, b as parseWxrString, c as getUrlSources, d as importReusableBlocksAsSections, f as WxrAttachment, g as WxrPost, h as WxrData, i as clearSources, l as probeUrl, m as WxrCategory, n as parseWxrDate, o as getFileSources, p as WxrAuthor, r as wxrSource, s as getSource, t as wordpressRestSource, u as registerSource, v as WxrTag, x as decodeSlug, y as parseWxr } from "./index-CYfhYgXd.mjs";
12
- import { n as generatePlaceholder, r as normalizeMediaValue, t as PlaceholderData } from "./placeholder-Bh1dfUOd.mjs";
13
- import { a as ListOptions, c as S3StorageConfig, d as Storage, f as StorageDescriptor, i as FileInfo, l as SignedUploadOptions, n as DinewayStorageError, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, t as CreateStorageFn, u as SignedUploadUrl } from "./types-B7kpsMJ3.mjs";
14
- import "./bylines-DCvz5gtm.mjs";
1
+ import { a as ContentSeoInput, c as FindManyOptions, i as ContentSeo, l as FindManyResult, n as ContentBylineCredit, o as CreateContentInput, r as ContentItem, s as DinewayValidationError, t as BylineSummary, u as UpdateContentInput } from "./types-6N-00csp.mjs";
2
+ import { $ as createPluginManager, $t as SandboxOptions, A as dropSessionDatabaseTables, An as handleContentDelete, At as verifyPreviewSignature, B as GeneratePreviewTokenOptions, Bn as handleContentSchedule, Bt as prosemirrorToPortableText, C as getByline, Cn as handleRevisionList, Ct as SessionOpenOrCreateOptions, D as AppliedSnapshotMeta, Dn as handleContentCountScheduled, Dt as defaultPreviewSidecarClient, E as renderPreviewToolbar, En as handleContentCompare, Et as buildPreviewSignatureHeader, F as getPreviewToken, Fn as handleContentList, Ft as AfterCallback, G as parseContentId, Gn as CreateMediaInput, Gt as PortableTextSpan, H as VerifyPreviewTokenOptions, Hn as handleContentUnpublish, Ht as PortableTextImageBlock, I as isPreviewRequest, In as handleContentListTrashed, It as after, J as createNodeSandboxRunner, Jn as ContentRepository, Jt as ProseMirrorDocument, K as verifyPreviewToken, Kn as MediaItem, Kt as PortableTextTextBlock, L as GetPreviewUrlOptions, Ln as handleContentPermanentDelete, Lt as computeContentHash, M as Snapshot, Mn as handleContentDuplicate, Mt as getFallbackChain, N as renderPreviewLoadingPage, Nn as handleContentGet, Nt as getI18nConfig, O as ApplySnapshotToDatabaseOptions, On as handleContentCountTrashed, Ot as parsePreviewSignatureHeader, P as isBlockedInPreview, Pn as handleContentGetIncludingTrashed, Pt as isI18nEnabled, Q as PluginManager, Qt as SandboxEmailSendCallback, R as buildPreviewUrl, Rn as handleContentPublish, Rt as hashString, S as Suggestion, Sn as handleRevisionGet, St as SessionOpenOptions, T as PreviewToolbarConfig, Tn as generateManifest, Tt as PreviewSidecarSignature, U as VerifyPreviewTokenResult, Un as handleContentUnschedule, Ut as PortableTextLinkMark, V as PreviewTokenPayload, Vn as handleContentTranslations, Vt as PortableTextCodeBlock, W as generatePreviewToken, Wn as handleContentUpdate, Wt as PortableTextMarkDef, X as SandboxNotAvailableError, Xn as DinewayDatabaseError, Xt as ProseMirrorNode, Y as NoopSandboxRunner, Yn as DatabaseConfig, Yt as ProseMirrorMark, Z as createNoopSandboxRunner, Zt as SandboxEmailMessage, _ as SearchOptions, _n as handleMediaGet, _t as SessionCleanupResult, an as getSections, ar as ApiContext, at as ValidatedPluginManifest, b as SearchStats, bn as RevisionListResponse, bt as SessionDatabaseInfo, c as extractSearchableFields, cn as Section, cr as FieldDescriptor, ct as CollectionFilter$1, d as search, dn as SchemaError, en as SandboxRunner, et as PluginRouteError, f as searchCollection, fn as SchemaRegistry, g as SearchConfig, gn as handleMediaDelete, gt as FileSessionDatabaseFactoryOptions, h as CollectionSearchOptions, hn as handleMediaCreate, ht as FileSessionDatabaseFactory, in as getSection, it as createHookPipeline, j as getAppliedSnapshotMeta, jn as handleContentDiscardDraft, jt as I18nConfig, k as applySnapshotToDatabase, kn as handleContentCreate, kt as signPreviewUrl, l as getSearchStats, ln as SectionSource, lr as ListResponse, lt as EntryData, m as FTSManager, mn as MediaResponse, mt as createFilePreviewMiddleware, n as PluginDescriptor, nn as SandboxedPlugin, nt as HookPipeline, on as CreateSectionInput, or as ContentListResponse, ot as pluginManifestSchema, p as searchWithDb, pn as MediaListResponse, pt as FilePreviewMiddlewareConfig, q as NodeSandboxRunner, qn as MediaRepository, qt as PortableTextUnknownBlock, rn as SerializedRequest, rt as HookResult, s as extractPlainText, sn as GetSectionsOptions, sr as ContentResponse, st as definePlugin, tn as SandboxRunnerFactory, u as getSuggestions, un as UpdateSectionInput, ur as ManifestResponse, ut as EntryFilter, v as SearchResponse, vn as handleMediaList, vt as SessionDatabaseFactory, w as getBylineBySlug, wn as handleRevisionRestore, wt as PreviewSidecarClient, x as SuggestOptions, xn as RevisionResponse, xt as SessionDatabaseLimitError, y as SearchResult, yn as handleMediaUpdate, yt as SessionDatabaseHandle, z as getPreviewUrl, zn as handleContentRestore, zt as portableTextToProsemirror } from "./runtime-B5hJAnKF.mjs";
3
+ import { n as MediaTable, r as UserTable, t as Database } from "./types-CYBaBvtm.mjs";
4
+ import { $ as StandardHookEntry, A as PageMetadataContribution, B as PluginDefinition, C as MediaAccess, D as PageFragmentContribution, E as ModerationDecision, F as PluginAdminConfig, G as PortableTextBlockConfig, H as PluginManifest, I as PluginAdminExports, K as PortableTextBlockField, L as PluginAdminPage, M as PageMetadataHandler, O as PageFragmentEvent, P as PagePlacement, Q as RouteContext, R as PluginCapability, S as LogAccess, T as MediaUploadEvent, U as PluginRoute, V as PluginHooks, W as PluginStorageConfig, X as ResolvedPlugin, Y as ResolvedHook, Z as ResolvedPluginHooks, _ as FieldWidgetConfig, a as CommentAfterModerateEvent, b as HttpAccess, c as CommentBeforeCreateHandler, d as ContentAccess, et as StandardHookHandler, f as ContentDeleteEvent, i as CommentAfterCreateHandler, it as StorageCollection, j as PageMetadataEvent, k as PageFragmentHandler, l as CommentModerateEvent, m as ContentPublishStateChangeEvent, n as CollectionCommentSettings, nt as StandardRouteEntry, o as CommentAfterModerateHandler, ot as StoredComment, p as ContentHookEvent, q as PublicPageContext, r as CommentAfterCreateEvent, rt as StandardRouteHandler, s as CommentBeforeCreateEvent, st as isStandardPluginDefinition, t as BreadcrumbItem, tt as StandardPluginDefinition, u as CommentModerateHandler, v as HookConfig, x as KVAccess, y as HookName, z as PluginContext } from "./types-DS5PYew4.mjs";
5
+ import { _ as RESERVED_COLLECTION_SLUGS, a as Collection, b as UpdateFieldInput, c as CollectionWithFields, d as CreateFieldInput, f as FIELD_TYPE_TO_COLUMN, g as FieldWidgetOptions, h as FieldValidation, i as SiteSettings, l as ColumnType, m as FieldType, n as SeoSettings, o as CollectionSource, p as Field, r as SiteSettingKey, s as CollectionSupport, t as MediaReference, u as CreateCollectionInput, v as RESERVED_FIELD_SLUGS, y as UpdateCollectionInput } from "./types-CsnHvu4J.mjs";
6
+ import { a as AuthResult, i as AuthProviderModule, n as AuthProviderAdminExports, o as AuthRouteDescriptor, r as AuthProviderDescriptor, s as ExternalAuthConfig, t as AuthDescriptor } from "./types-B45uSz1j.mjs";
7
+ import { a as SqliteConfig, i as PostgresConfig, n as DatabaseDialectType, r as LibsqlConfig, t as DatabaseDescriptor } from "./adapters-BPzUiHHm.mjs";
8
+ import { m as MediaValue } from "./types-D_wGrwiY.mjs";
9
+ import { n as getMigrationStatus, t as MigrationStatus } from "./runner-CHR_W79l.mjs";
10
+ import { $ as TranslationSummary, A as MenuItem, B as getPluginSettings, C as TaxonomyTermRow, D as CreateMenuInput, E as getMenus, F as GetCommentsOptions, G as CollectionFilter, H as getSiteSettings, I as GetCommentsResult, J as DinewayCollections, K as CollectionResult, L as getCommentCount, M as ReorderMenuItemsInput, N as UpdateMenuInput, O as CreateMenuItemInput, P as UpdateMenuItemInput, Q as ResolvePathResult, R as getComments, S as TaxonomyTerm, T as getMenu, U as setSiteSettings, V as getSiteSetting, W as CacheHint, X as EntryResult, Y as EditFieldMeta, Z as InferCollectionData, _ as getTaxonomyTerms, _t as FieldDefinition, a as CreateWidgetInput, at as resolveDinewayPath, b as CreateTermInput, bt as ImageValue, c as UpdateWidgetInput, ct as FieldAnnotation, d as WidgetComponentDef, dt as isSafeHref, et as TranslationsResult, f as WidgetType, ft as sanitizeHref, g as getTaxonomyDefs, gt as image, h as getTaxonomyDef, ht as reference, i as CreateWidgetAreaInput, it as getTranslations, j as MenuItemType, k as Menu, l as Widget, lt as createEditable, m as getEntryTerms, mt as portableText, n as getWidgetAreas, nt as getDinewayEntry, o as PropDef, ot as CMSAnnotation, p as getEntriesByTerm, pt as getCollectionInfo, q as ContentEntry, r as getWidgetComponents, rt as getEditMeta, s as ReorderWidgetsInput, st as EditProxy, t as getWidgetArea, tt as getDinewayCollection, u as WidgetArea, ut as createNoop, v as getTerm, vt as FieldUIHints, w as UpdateTermInput, x as TaxonomyDef, xt as PortableTextBlock, y as getTermsForEntries, yt as FileValue, z as getPluginSetting } from "./index-JzJUzE4o.mjs";
11
+ import { _ as WxrSite, a as getAllSources, b as parseWxrString, c as getUrlSources, d as importReusableBlocksAsSections, f as WxrAttachment, g as WxrPost, h as WxrData, i as clearSources, l as probeUrl, m as WxrCategory, n as parseWxrDate, o as getFileSources, p as WxrAuthor, r as wxrSource, s as getSource, t as wordpressRestSource, u as registerSource, v as WxrTag, x as decodeSlug, y as parseWxr } from "./index-DpMWSamU.mjs";
12
+ import { n as generatePlaceholder, r as normalizeMediaValue, t as PlaceholderData } from "./placeholder-DKMMLt42.mjs";
13
+ import { a as ListOptions, c as S3StorageConfig, d as Storage, f as StorageDescriptor, i as FileInfo, l as SignedUploadOptions, n as DinewayStorageError, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, t as CreateStorageFn, u as SignedUploadUrl } from "./types-BDm7Ipoq.mjs";
14
+ import "./bylines--KurdDQK.mjs";
15
15
  import { DinewayRequestContext, getRequestContext, runWithContext } from "./request-context.mjs";
16
16
  import { adaptSandboxEntry } from "./plugins/adapt-sandbox-entry.mjs";
17
- import { S as UrlInput, _ as SourceAuth, a as FileInput, b as SourceProbeResult, c as ImportContext, d as ImportSource, f as NormalizedItem, g as ProbeResult, h as PostTypeMapping, i as FieldCompatibility, l as ImportFieldDef, m as PostTypeAnalysis, n as CollectionSchemaStatus, o as ImportAnalysis, p as OAuthInput, r as FetchOptions, s as ImportConfig, t as AttachmentInfo, u as ImportResult, v as SourceCapabilities, x as SuggestedAction, y as SourceInput } from "./types-0Vr68fc2.mjs";
17
+ import { S as UrlInput, _ as SourceAuth, a as FileInput, b as SourceProbeResult, c as ImportContext, d as ImportSource, f as NormalizedItem, g as ProbeResult, h as PostTypeMapping, i as FieldCompatibility, l as ImportFieldDef, m as PostTypeAnalysis, n as CollectionSchemaStatus, o as ImportAnalysis, p as OAuthInput, r as FetchOptions, s as ImportConfig, t as AttachmentInfo, u as ImportResult, v as SourceCapabilities, x as SuggestedAction, y as SourceInput } from "./types-BeYn-Yf0.mjs";
18
18
  import { SeoMeta, SeoMetaOptions, getContentSeo, getSeoMeta } from "./seo/index.mjs";
19
- import { _ as SeedTaxonomyTerm, a as applySeed, b as ValidationResult, c as SeedCollection, d as SeedFile, f as SeedMenu, g as SeedTaxonomy, l as SeedContentEntry, o as SeedApplyOptions, p as SeedMenuItem, s as SeedApplyResult, t as validateSeed, u as SeedField, v as SeedWidget, y as SeedWidgetArea } from "./validate-BwmQEbu8.mjs";
19
+ import { _ as SeedTaxonomyTerm, a as applySeed, b as ValidationResult, c as SeedCollection, d as SeedFile, f as SeedMenu, g as SeedTaxonomy, l as SeedContentEntry, o as SeedApplyOptions, p as SeedMenuItem, s as SeedApplyResult, t as validateSeed, u as SeedField, v as SeedWidget, y as SeedWidgetArea } from "./validate-BQ24E8rK.mjs";
20
20
  import "./seed/index.mjs";
21
21
  import { ulid } from "ulidx";
22
22
  export { type AfterCallback, type ApiContext, type AppliedSnapshotMeta, type ApplySnapshotToDatabaseOptions, type AttachmentInfo, type AuthDescriptor, type AuthProviderAdminExports, type AuthProviderDescriptor, type AuthProviderModule, type AuthResult, type AuthRouteDescriptor, type BreadcrumbItem, type BylineSummary, type CMSAnnotation, type CacheHint, type Collection, type CollectionCommentSettings, type CollectionFilter, type CollectionResult, type CollectionSchemaStatus, type CollectionSearchOptions, type CollectionSource, type CollectionSupport, type CollectionWithFields, type ColumnType, type CommentAfterCreateEvent, type CommentAfterCreateHandler, type CommentAfterModerateEvent, type CommentAfterModerateHandler, type CommentBeforeCreateEvent, type CommentBeforeCreateHandler, type CommentModerateEvent, type CommentModerateHandler, type ContentAccess, type ContentBylineCredit, type ContentDeleteEvent, type ContentEntry, type ContentHookEvent, type ContentItem, type ContentListResponse, type ContentPublishStateChangeEvent, ContentRepository, type ContentResponse, type ContentSeo, type ContentSeoInput, type CreateCollectionInput, type CreateContentInput, type CreateFieldInput, type CreateMediaInput, type CreateMenuInput, type CreateMenuItemInput, type CreateSectionInput, type CreateStorageFn, type CreateTermInput, type CreateWidgetAreaInput, type CreateWidgetInput, type Database, type DatabaseConfig, type DatabaseDescriptor, type DatabaseDialectType, type DinewayCollections, DinewayDatabaseError, type DinewayRequestContext, DinewayStorageError, DinewayValidationError, type DownloadResult, type EditFieldMeta, type EditProxy, type EntryData, type EntryFilter, type EntryResult, type ExternalAuthConfig, FIELD_TYPE_TO_COLUMN, FTSManager, type FetchOptions, type Field, type FieldAnnotation, type FieldCompatibility, type FieldDefinition, type FieldDescriptor, type FieldType, type FieldUIHints, type FieldValidation, type FieldWidgetConfig, type FieldWidgetOptions, type FileInfo, type FileInput, type FilePreviewMiddlewareConfig, FileSessionDatabaseFactory, type FileSessionDatabaseFactoryOptions, type FileValue, type FindManyOptions, type FindManyResult, type GeneratePreviewTokenOptions, type GetCommentsOptions, type GetCommentsResult, type GetPreviewUrlOptions, type GetSectionsOptions, type HookConfig, type HookName, HookPipeline, type HookResult, type HttpAccess, type I18nConfig, type ImageValue, type ImportAnalysis, type ImportConfig, type ImportContext, type ImportFieldDef, type ImportResult, type ImportSource, type InferCollectionData, type KVAccess, type LibsqlConfig, type ListOptions, type ListResponse, type ListResult, type CollectionFilter$1 as LoaderCollectionFilter, type LocalStorageConfig, type LogAccess, type ManifestResponse, type MediaAccess, type MediaItem, type MediaListResponse, type MediaReference, MediaRepository, type MediaResponse, type MediaTable, type MediaUploadEvent, type MediaValue, type Menu, type MenuItem, type MenuItemType, type MigrationStatus, type ModerationDecision, NodeSandboxRunner, NoopSandboxRunner, type NormalizedItem, type OAuthInput, type PageFragmentContribution, type PageFragmentEvent, type PageFragmentHandler, type PageMetadataContribution, type PageMetadataEvent, type PageMetadataHandler, type PagePlacement, type PlaceholderData, type PluginAdminConfig, type PluginAdminExports, type PluginAdminPage, type PluginCapability, type PluginContext, type PluginDefinition, type PluginDescriptor, type PluginHooks, PluginManager, type PluginManifest, type PluginRoute, PluginRouteError, type PluginStorageConfig, type PortableTextBlock, type PortableTextBlockConfig, type PortableTextBlockField, type PortableTextCodeBlock, type PortableTextImageBlock, type PortableTextLinkMark, type PortableTextMarkDef, type PortableTextSpan, type PortableTextTextBlock, type PortableTextUnknownBlock, type PostTypeAnalysis, type PostTypeMapping, type PostgresConfig, type PreviewSidecarClient, type PreviewSidecarSignature, type PreviewTokenPayload, type PreviewToolbarConfig, type ProbeResult, type PropDef, type ProseMirrorDocument, type ProseMirrorMark, type ProseMirrorNode, type PublicPageContext, RESERVED_COLLECTION_SLUGS, RESERVED_FIELD_SLUGS, type ReorderMenuItemsInput, type ReorderWidgetsInput, type ResolvePathResult, type ResolvedHook, type ResolvedPlugin, type ResolvedPluginHooks, type RevisionListResponse, type RevisionResponse, type RouteContext, type S3StorageConfig, type SandboxEmailMessage, type SandboxEmailSendCallback, SandboxNotAvailableError, type SandboxOptions, type SandboxRunner, type SandboxRunnerFactory, type SandboxedPlugin, SchemaError, SchemaRegistry, type SearchConfig, type SearchOptions, type SearchResponse, type SearchResult, type SearchStats, type Section, type SectionSource, type SeedApplyOptions, type SeedApplyResult, type SeedCollection, type SeedContentEntry, type SeedField, type SeedFile, type SeedMenu, type SeedMenuItem, type SeedTaxonomy, type SeedTaxonomyTerm, type SeedWidget, type SeedWidgetArea, type SeoMeta, type SeoMetaOptions, type SeoSettings, type SerializedRequest, type SessionCleanupResult, type SessionDatabaseFactory, type SessionDatabaseHandle, type SessionDatabaseInfo, SessionDatabaseLimitError, type SessionOpenOptions, type SessionOpenOrCreateOptions, type SignedUploadOptions, type SignedUploadUrl, type SiteSettingKey, type SiteSettings, type Snapshot, type SourceAuth, type SourceCapabilities, type SourceInput, type SourceProbeResult, type SqliteConfig, type StandardHookEntry, type StandardHookHandler, type StandardPluginDefinition, type StandardRouteEntry, type StandardRouteHandler, type Storage, type StorageCollection, type StorageDescriptor, type StoredComment, type SuggestOptions, type SuggestedAction, type Suggestion, type TaxonomyDef, type TaxonomyTerm, type TaxonomyTermRow, type TranslationSummary, type TranslationsResult, type UpdateCollectionInput, type UpdateContentInput, type UpdateFieldInput, type UpdateMenuInput, type UpdateMenuItemInput, type UpdateSectionInput, type UpdateTermInput, type UpdateWidgetInput, type UploadResult, type UrlInput, type UserTable, type ValidatedPluginManifest, type ValidationResult, type VerifyPreviewTokenOptions, type VerifyPreviewTokenResult, type Widget, type WidgetArea, type WidgetComponentDef, type WidgetType, type WxrAttachment, type WxrAuthor, type WxrCategory, type WxrData, type WxrPost, type WxrSite, type WxrTag, adaptSandboxEntry, after, applySeed, applySnapshotToDatabase, buildPreviewSignatureHeader, buildPreviewUrl, clearSources, computeContentHash, createEditable, createFilePreviewMiddleware, createHookPipeline, createNodeSandboxRunner, createNoop, createNoopSandboxRunner, createPluginManager, decodeSlug, defaultPreviewSidecarClient, definePlugin, dropSessionDatabaseTables, extractPlainText, extractSearchableFields, generateManifest, generatePlaceholder, generatePreviewToken, getAllSources, getAppliedSnapshotMeta, getByline, getBylineBySlug, getCollectionInfo, getCommentCount, getComments, getContentSeo, getDinewayCollection, getDinewayEntry, getEditMeta, getEntriesByTerm, getEntryTerms, getFallbackChain, getFileSources, getI18nConfig, getMenu, getMenus, getMigrationStatus, getPluginSetting, getPluginSettings, getPreviewToken, getPreviewUrl, getRequestContext, getSearchStats, getSection, getSections, getSeoMeta, getSiteSetting, getSiteSettings, getSource, getSuggestions, getTaxonomyDef, getTaxonomyDefs, getTaxonomyTerms, getTerm, getTermsForEntries, getTranslations, getUrlSources, getWidgetArea, getWidgetAreas, getWidgetComponents, handleContentCompare, handleContentCountScheduled, handleContentCountTrashed, handleContentCreate, handleContentDelete, handleContentDiscardDraft, handleContentDuplicate, handleContentGet, handleContentGetIncludingTrashed, handleContentList, handleContentListTrashed, handleContentPermanentDelete, handleContentPublish, handleContentRestore, handleContentSchedule, handleContentTranslations, handleContentUnpublish, handleContentUnschedule, handleContentUpdate, handleMediaCreate, handleMediaDelete, handleMediaGet, handleMediaList, handleMediaUpdate, handleRevisionGet, handleRevisionList, handleRevisionRestore, hashString, image, importReusableBlocksAsSections, isBlockedInPreview, isI18nEnabled, isPreviewRequest, isSafeHref, isStandardPluginDefinition, normalizeMediaValue, parseContentId, parsePreviewSignatureHeader, parseWxr, parseWxrDate, parseWxrString, pluginManifestSchema, portableText, portableTextToProsemirror, probeUrl, prosemirrorToPortableText, reference, registerSource, renderPreviewLoadingPage, renderPreviewToolbar, resolveDinewayPath, runWithContext, sanitizeHref, search, searchCollection, searchWithDb, setSiteSettings, signPreviewUrl, ulid, validateSeed, verifyPreviewSignature, verifyPreviewToken, wordpressRestSource, wxrSource };