emdash 1.3.0 → 1.4.0

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 (970) hide show
  1. package/dist/{activation-Dim4YMM7.mjs → activation-CGlyigmg.mjs} +3 -3
  2. package/dist/{activation-Dim4YMM7.mjs.map → activation-CGlyigmg.mjs.map} +1 -1
  3. package/dist/{adapters-F_xorvWv.d.mts → adapters-D9a1PfqH.d.mts} +1 -1
  4. package/dist/{adapters-F_xorvWv.d.mts.map → adapters-D9a1PfqH.d.mts.map} +1 -1
  5. package/dist/{after-PcEvMY_6.mjs → after-32yNRvd2.mjs} +5 -2
  6. package/dist/{after-PcEvMY_6.mjs.map → after-32yNRvd2.mjs.map} +1 -1
  7. package/dist/api/route-utils.d.mts +4 -4
  8. package/dist/api/route-utils.mjs +50 -49
  9. package/dist/api/route-utils.mjs.map +1 -1
  10. package/dist/api/schemas/index.d.mts +1 -1
  11. package/dist/api/schemas/index.mjs +7 -7
  12. package/dist/{api-D-7BNHoz.mjs → api--PYoyeTo.mjs} +121 -48
  13. package/dist/api--PYoyeTo.mjs.map +1 -0
  14. package/dist/api-tokens-DqSlkDVI.mjs +9 -0
  15. package/dist/api-tokens-DqSlkDVI.mjs.map +1 -0
  16. package/dist/{api-tokens-Bx38ZCQp.mjs → api-tokens-GNCsIegW.mjs} +3 -3
  17. package/dist/{api-tokens-Bx38ZCQp.mjs.map → api-tokens-GNCsIegW.mjs.map} +1 -1
  18. package/dist/{apply-T7ATgzCh.mjs → apply-DVnupNeS.mjs} +149 -91
  19. package/dist/apply-DVnupNeS.mjs.map +1 -0
  20. package/dist/{approvals-D-m6wvGl.mjs → approvals-DTtYSB27.mjs} +2 -2
  21. package/dist/{approvals-D-m6wvGl.mjs.map → approvals-DTtYSB27.mjs.map} +1 -1
  22. package/dist/{artifacts-htGyfCSt.mjs → artifacts-Dvdp2KK-.mjs} +29 -13
  23. package/dist/artifacts-Dvdp2KK-.mjs.map +1 -0
  24. package/dist/astro/image-endpoint.mjs +12 -2
  25. package/dist/astro/image-endpoint.mjs.map +1 -1
  26. package/dist/astro/index.d.mts +15 -14
  27. package/dist/astro/index.d.mts.map +1 -1
  28. package/dist/astro/index.mjs +59 -8
  29. package/dist/astro/index.mjs.map +1 -1
  30. package/dist/astro/middleware/auth.d.mts +13 -12
  31. package/dist/astro/middleware/auth.d.mts.map +1 -1
  32. package/dist/astro/middleware/auth.mjs +10 -8
  33. package/dist/astro/middleware/auth.mjs.map +1 -1
  34. package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
  35. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  36. package/dist/astro/middleware/redirect.mjs +129 -49
  37. package/dist/astro/middleware/redirect.mjs.map +1 -1
  38. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  39. package/dist/astro/middleware/request-context.mjs +18 -9
  40. package/dist/astro/middleware/request-context.mjs.map +1 -1
  41. package/dist/astro/middleware.d.mts +13 -12
  42. package/dist/astro/middleware.d.mts.map +1 -1
  43. package/dist/astro/middleware.mjs +111 -101
  44. package/dist/astro/middleware.mjs.map +1 -1
  45. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +11 -11
  46. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +11 -11
  47. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -6
  48. package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -7
  49. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -6
  50. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +14 -14
  51. package/dist/astro/routes/api/admin/byline-fields/index.mjs +14 -14
  52. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +14 -14
  53. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +25 -25
  54. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +25 -25
  55. package/dist/astro/routes/api/admin/bylines/index.mjs +25 -25
  56. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +17 -17
  57. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  58. package/dist/astro/routes/api/admin/comments/bulk.mjs +16 -16
  59. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  60. package/dist/astro/routes/api/admin/comments/index.mjs +16 -16
  61. package/dist/astro/routes/api/admin/core-update.mjs +6 -6
  62. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +5 -5
  63. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +4 -4
  64. package/dist/astro/routes/api/admin/media-usage/activation.mjs +18 -18
  65. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +19 -19
  66. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +19 -19
  67. package/dist/astro/routes/api/admin/media-usage/progress.mjs +22 -21
  68. package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
  69. package/dist/astro/routes/api/admin/media-usage/repair.mjs +26 -25
  70. package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
  71. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +19 -19
  72. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +19 -19
  73. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +4 -4
  74. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +4 -4
  75. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +7 -7
  76. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +7 -7
  77. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +66 -65
  78. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  79. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +5 -5
  80. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +66 -65
  81. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  82. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +66 -65
  83. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  84. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +73 -72
  85. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/index.mjs +66 -65
  87. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  88. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -4
  89. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +66 -65
  90. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +73 -72
  92. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  93. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +66 -65
  94. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  95. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +66 -65
  96. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  97. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +74 -73
  98. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  99. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +4 -4
  100. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +68 -67
  101. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  102. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +4 -4
  103. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +67 -66
  104. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  105. package/dist/astro/routes/api/admin/plugins/updates.mjs +66 -65
  106. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  107. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +5 -5
  108. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +66 -65
  109. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  110. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +4 -4
  111. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +66 -65
  112. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  113. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +3 -3
  114. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +33 -32
  115. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -1
  116. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +33 -32
  117. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -1
  118. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +35 -34
  119. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -1
  120. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +35 -34
  121. package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -1
  122. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +35 -34
  123. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -1
  124. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +36 -35
  125. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -1
  126. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +36 -35
  127. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -1
  128. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +35 -34
  129. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -1
  130. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +36 -35
  131. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -1
  132. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +37 -36
  133. package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -1
  134. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +35 -34
  135. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -1
  136. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +35 -34
  137. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -1
  138. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +37 -36
  139. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -1
  140. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +35 -34
  141. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -1
  142. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +37 -36
  143. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -1
  144. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +35 -34
  145. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -1
  146. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +35 -34
  147. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -1
  148. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +37 -36
  149. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -1
  150. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +35 -34
  151. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -1
  152. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +35 -34
  153. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -1
  154. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +37 -36
  155. package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -1
  156. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +4 -4
  157. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
  158. package/dist/astro/routes/api/admin/users/_id_/index.mjs +12 -12
  159. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
  160. package/dist/astro/routes/api/admin/users/index.mjs +11 -11
  161. package/dist/astro/routes/api/auth/dev-bypass.mjs +3 -3
  162. package/dist/astro/routes/api/auth/handover.mjs +5 -5
  163. package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
  164. package/dist/astro/routes/api/auth/invite/complete.mjs +15 -15
  165. package/dist/astro/routes/api/auth/invite/index.mjs +12 -12
  166. package/dist/astro/routes/api/auth/invite/register-options.mjs +13 -13
  167. package/dist/astro/routes/api/auth/logout.mjs +3 -3
  168. package/dist/astro/routes/api/auth/magic-link/send.mjs +14 -14
  169. package/dist/astro/routes/api/auth/magic-link/verify.mjs +13 -13
  170. package/dist/astro/routes/api/auth/me.mjs +12 -12
  171. package/dist/astro/routes/api/auth/mode.mjs +3 -3
  172. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +8 -8
  173. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +1 -1
  174. package/dist/astro/routes/api/auth/passkey/_id_.mjs +11 -11
  175. package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
  176. package/dist/astro/routes/api/auth/passkey/options.mjs +15 -15
  177. package/dist/astro/routes/api/auth/passkey/register/options.mjs +13 -13
  178. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +13 -13
  179. package/dist/astro/routes/api/auth/passkey/verify.mjs +15 -15
  180. package/dist/astro/routes/api/auth/signup/complete.mjs +15 -15
  181. package/dist/astro/routes/api/auth/signup/request.mjs +13 -13
  182. package/dist/astro/routes/api/auth/signup/verify.mjs +3 -3
  183. package/dist/astro/routes/api/calendar.mjs +12 -12
  184. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
  185. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +17 -17
  186. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
  187. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +15 -15
  188. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -4
  189. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +15 -15
  190. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
  191. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +9 -9
  192. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +29 -28
  193. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
  194. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  195. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +34 -33
  196. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  197. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +34 -33
  198. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  199. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +4 -4
  200. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
  201. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  202. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  203. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +35 -27
  204. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  205. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts.map +1 -1
  206. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +8 -4
  207. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
  208. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +15 -15
  209. package/dist/astro/routes/api/content/_collection_/_id_.mjs +15 -15
  210. package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
  211. package/dist/astro/routes/api/content/_collection_/index.mjs +12 -12
  212. package/dist/astro/routes/api/content/_collection_/trash.mjs +12 -12
  213. package/dist/astro/routes/api/dashboard.mjs +22 -16
  214. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  215. package/dist/astro/routes/api/dev/emails.mjs +3 -3
  216. package/dist/astro/routes/api/dev/scheduled-tasks.mjs +97 -95
  217. package/dist/astro/routes/api/dev/scheduled-tasks.mjs.map +1 -1
  218. package/dist/astro/routes/api/health.mjs +4 -4
  219. package/dist/astro/routes/api/import/probe.d.mts +4 -3
  220. package/dist/astro/routes/api/import/probe.d.mts.map +1 -1
  221. package/dist/astro/routes/api/import/probe.mjs +27 -25
  222. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  223. package/dist/astro/routes/api/import/wordpress/analyze.d.mts +4 -3
  224. package/dist/astro/routes/api/import/wordpress/analyze.d.mts.map +1 -1
  225. package/dist/astro/routes/api/import/wordpress/analyze.mjs +7 -29
  226. package/dist/astro/routes/api/import/wordpress/analyze.mjs.map +1 -1
  227. package/dist/astro/routes/api/import/wordpress/execute.d.mts +14 -13
  228. package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -1
  229. package/dist/astro/routes/api/import/wordpress/execute.mjs +29 -29
  230. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  231. package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -12
  232. package/dist/astro/routes/api/import/wordpress/media.d.mts.map +1 -1
  233. package/dist/astro/routes/api/import/wordpress/media.mjs +14 -14
  234. package/dist/astro/routes/api/import/wordpress/prepare.mjs +19 -19
  235. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  236. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +14 -13
  237. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts.map +1 -1
  238. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +25 -24
  239. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  240. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  241. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +27 -25
  242. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  243. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +14 -13
  244. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts.map +1 -1
  245. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +39 -38
  246. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  247. package/dist/astro/routes/api/manifest.mjs +4 -4
  248. package/dist/astro/routes/api/mcp.mjs +99 -83
  249. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  250. package/dist/astro/routes/api/media/_id_/confirm.mjs +16 -16
  251. package/dist/astro/routes/api/media/_id_/replace.mjs +12 -12
  252. package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
  253. package/dist/astro/routes/api/media/_id_/usage.mjs +28 -27
  254. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  255. package/dist/astro/routes/api/media/_id_.mjs +26 -25
  256. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  257. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +5 -5
  258. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  259. package/dist/astro/routes/api/media/file/_...key_.mjs +62 -8
  260. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  261. package/dist/astro/routes/api/media/folders/_id_.mjs +13 -13
  262. package/dist/astro/routes/api/media/folders/index.mjs +13 -13
  263. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -4
  264. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -4
  265. package/dist/astro/routes/api/media/providers/index.mjs +4 -4
  266. package/dist/astro/routes/api/media/upload-url.mjs +15 -15
  267. package/dist/astro/routes/api/media.mjs +30 -29
  268. package/dist/astro/routes/api/media.mjs.map +1 -1
  269. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +17 -15
  270. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  271. package/dist/astro/routes/api/menus/_name_/items.mjs +17 -15
  272. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  273. package/dist/astro/routes/api/menus/_name_/reorder.mjs +17 -15
  274. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  275. package/dist/astro/routes/api/menus/_name_/translations.mjs +17 -15
  276. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  277. package/dist/astro/routes/api/menus/_name_.mjs +17 -15
  278. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  279. package/dist/astro/routes/api/menus/index.mjs +17 -15
  280. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  281. package/dist/astro/routes/api/oauth/authorize.mjs +2 -2
  282. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  283. package/dist/astro/routes/api/oauth/device/code.mjs +8 -8
  284. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  285. package/dist/astro/routes/api/oauth/register.mjs +5 -5
  286. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  287. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  288. package/dist/astro/routes/api/oauth/token.d.mts.map +1 -1
  289. package/dist/astro/routes/api/oauth/token.mjs +7 -7
  290. package/dist/astro/routes/api/oauth/token.mjs.map +1 -1
  291. package/dist/astro/routes/api/openapi.json.mjs +12 -12
  292. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +9 -9
  293. package/dist/astro/routes/api/redirects/404s/index.mjs +20 -19
  294. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  295. package/dist/astro/routes/api/redirects/404s/summary.mjs +20 -19
  296. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  297. package/dist/astro/routes/api/redirects/_id_.mjs +21 -20
  298. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  299. package/dist/astro/routes/api/redirects/index.mjs +21 -20
  300. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  301. package/dist/astro/routes/api/relations/_id_/index.mjs +34 -33
  302. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  303. package/dist/astro/routes/api/relations/index.mjs +34 -33
  304. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  305. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
  306. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +15 -15
  307. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +66 -65
  308. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  309. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +66 -65
  310. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  311. package/dist/astro/routes/api/schema/block-types/index.mjs +66 -65
  312. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  313. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +66 -65
  314. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  315. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +66 -65
  316. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  317. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +66 -65
  318. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  319. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +66 -65
  320. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  321. package/dist/astro/routes/api/schema/collections/index.mjs +66 -65
  322. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  323. package/dist/astro/routes/api/schema/collections/reorder.mjs +66 -65
  324. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  325. package/dist/astro/routes/api/schema/index.mjs +17 -16
  326. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  327. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +66 -65
  328. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  329. package/dist/astro/routes/api/schema/orphans/index.mjs +66 -65
  330. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  331. package/dist/astro/routes/api/search/enable.mjs +20 -18
  332. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  333. package/dist/astro/routes/api/search/index.mjs +19 -17
  334. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  335. package/dist/astro/routes/api/search/rebuild.mjs +20 -18
  336. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  337. package/dist/astro/routes/api/search/stats.mjs +13 -11
  338. package/dist/astro/routes/api/search/stats.mjs.map +1 -1
  339. package/dist/astro/routes/api/search/suggest.mjs +19 -17
  340. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  341. package/dist/astro/routes/api/sections/_slug_.mjs +19 -17
  342. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  343. package/dist/astro/routes/api/sections/index.mjs +19 -17
  344. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  345. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
  346. package/dist/astro/routes/api/settings/backups/archives/index.mjs +7 -7
  347. package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
  348. package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
  349. package/dist/astro/routes/api/settings/domain-notify.mjs +7 -7
  350. package/dist/astro/routes/api/settings/domain.mjs +19 -17
  351. package/dist/astro/routes/api/settings/domain.mjs.map +1 -1
  352. package/dist/astro/routes/api/settings/email.mjs +5 -5
  353. package/dist/astro/routes/api/settings.mjs +25 -23
  354. package/dist/astro/routes/api/settings.mjs.map +1 -1
  355. package/dist/astro/routes/api/setup/admin-verify.mjs +18 -18
  356. package/dist/astro/routes/api/setup/admin.mjs +14 -14
  357. package/dist/astro/routes/api/setup/dev-bypass.mjs +45 -44
  358. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  359. package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
  360. package/dist/astro/routes/api/setup/index.mjs +48 -47
  361. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  362. package/dist/astro/routes/api/setup/status.mjs +4 -4
  363. package/dist/astro/routes/api/site/domain-proof.mjs +17 -15
  364. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -1
  365. package/dist/astro/routes/api/snapshot.mjs +9 -9
  366. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +25 -24
  367. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  368. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -24
  369. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  370. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -24
  371. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  372. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -24
  373. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  374. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +25 -24
  375. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  376. package/dist/astro/routes/api/taxonomies/_name_.mjs +25 -24
  377. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  378. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +35 -34
  379. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -1
  380. package/dist/astro/routes/api/taxonomies/index.mjs +25 -24
  381. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  382. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  383. package/dist/astro/routes/api/typegen.mjs +5 -5
  384. package/dist/astro/routes/api/visual-editing/action-token.mjs +5 -5
  385. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +17 -17
  386. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +3 -3
  387. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +1 -1
  388. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +1 -1
  389. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts.map +1 -1
  390. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +24 -13
  391. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  392. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts.map +1 -1
  393. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +22 -17
  394. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  395. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +21 -17
  396. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  397. package/dist/astro/routes/api/widget-areas/_name_.mjs +14 -10
  398. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  399. package/dist/astro/routes/api/widget-areas/index.mjs +21 -17
  400. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  401. package/dist/astro/routes/api/widget-components.mjs +3 -3
  402. package/dist/astro/routes/robots.txt.mjs +16 -14
  403. package/dist/astro/routes/robots.txt.mjs.map +1 -1
  404. package/dist/astro/routes/sitemap-_collection_.xml.mjs +18 -16
  405. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  406. package/dist/astro/routes/sitemap.xml.mjs +16 -14
  407. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  408. package/dist/astro/types.d.mts +22 -20
  409. package/dist/astro/types.d.mts.map +1 -1
  410. package/dist/{audit-_gieLVGU.mjs → audit-B8XE-0UV.mjs} +2 -2
  411. package/dist/{audit-_gieLVGU.mjs.map → audit-B8XE-0UV.mjs.map} +1 -1
  412. package/dist/auth/providers/github.d.mts +1 -1
  413. package/dist/auth/providers/google.d.mts +1 -1
  414. package/dist/auth/providers/microsoft.d.mts +1 -1
  415. package/dist/{authorize-DPFBGbE6.mjs → authorize-NJgp8kLI.mjs} +2 -2
  416. package/dist/{authorize-DPFBGbE6.mjs.map → authorize-NJgp8kLI.mjs.map} +1 -1
  417. package/dist/{backup-3FgVxiDJ.mjs → backup-8rPSJ28a.mjs} +4 -4
  418. package/dist/{backup-3FgVxiDJ.mjs.map → backup-8rPSJ28a.mjs.map} +1 -1
  419. package/dist/{block-types-CYcG56JB.mjs → block-types-BbOrfnWs.mjs} +5 -5
  420. package/dist/{block-types-CYcG56JB.mjs.map → block-types-BbOrfnWs.mjs.map} +1 -1
  421. package/dist/{block-values-gCX4HBSl.mjs → block-values-Dg0-8PPS.mjs} +4 -4
  422. package/dist/{block-values-gCX4HBSl.mjs.map → block-values-Dg0-8PPS.mjs.map} +1 -1
  423. package/dist/{byline-BR1qhyiw.mjs → byline-DHJS-GGb.mjs} +123 -38
  424. package/dist/byline-DHJS-GGb.mjs.map +1 -0
  425. package/dist/{byline-fields-BLXZnX7N.mjs → byline-fields-CiR8FvvF.mjs} +3 -3
  426. package/dist/{byline-fields-BLXZnX7N.mjs.map → byline-fields-CiR8FvvF.mjs.map} +1 -1
  427. package/dist/{byline-fields-4ClDC88c.mjs → byline-fields-D6KYsEa7.mjs} +2 -2
  428. package/dist/{byline-fields-4ClDC88c.mjs.map → byline-fields-D6KYsEa7.mjs.map} +1 -1
  429. package/dist/{byline-registry-dvt4N3xV.mjs → byline-registry-BhzpO41z.mjs} +3 -3
  430. package/dist/{byline-registry-dvt4N3xV.mjs.map → byline-registry-BhzpO41z.mjs.map} +1 -1
  431. package/dist/{bylines-CVOvRUL7.mjs → bylines-Bsg5cH4S.mjs} +7 -7
  432. package/dist/bylines-Bsg5cH4S.mjs.map +1 -0
  433. package/dist/{bylines-DxOs9B7z.mjs → bylines-f_ZEc6Sn.mjs} +8 -8
  434. package/dist/{bylines-DxOs9B7z.mjs.map → bylines-f_ZEc6Sn.mjs.map} +1 -1
  435. package/dist/{cache-CEU9wo_h.mjs → cache-5DHbpEWu.mjs} +4 -4
  436. package/dist/{cache-CEU9wo_h.mjs.map → cache-5DHbpEWu.mjs.map} +1 -1
  437. package/dist/{capture-triggers-CT6dK9zd.mjs → capture-triggers-BezAvWcB.mjs} +2 -2
  438. package/dist/{capture-triggers-CT6dK9zd.mjs.map → capture-triggers-BezAvWcB.mjs.map} +1 -1
  439. package/dist/{challenge-store-C17BYx2-.mjs → challenge-store-B1C0V4b3.mjs} +1 -1
  440. package/dist/{challenge-store-C17BYx2-.mjs.map → challenge-store-B1C0V4b3.mjs.map} +1 -1
  441. package/dist/{chunks-xC4UD5-S.mjs → chunks-DiW8VMwz.mjs} +2 -2
  442. package/dist/{chunks-xC4UD5-S.mjs.map → chunks-DiW8VMwz.mjs.map} +1 -1
  443. package/dist/cli/index.mjs +53 -52
  444. package/dist/cli/index.mjs.map +1 -1
  445. package/dist/client/cf-access.d.mts +1 -1
  446. package/dist/client/index.d.mts +61 -61
  447. package/dist/client/index.d.mts.map +1 -1
  448. package/dist/client/index.mjs +3 -2
  449. package/dist/client/index.mjs.map +1 -1
  450. package/dist/{collection-slugs-cache-e09QeJQt.mjs → collection-slugs-cache-DIrLjqH-.mjs} +20 -14
  451. package/dist/collection-slugs-cache-DIrLjqH-.mjs.map +1 -0
  452. package/dist/{comment-UvIWDKcW.mjs → comment-DB74Zpa4.mjs} +18 -8
  453. package/dist/comment-DB74Zpa4.mjs.map +1 -0
  454. package/dist/{comment-reaction-dGp6_FRo.mjs → comment-reaction-BScxIWUn.mjs} +2 -2
  455. package/dist/{comment-reaction-dGp6_FRo.mjs.map → comment-reaction-BScxIWUn.mjs.map} +1 -1
  456. package/dist/{comments-pej-_BUO.mjs → comments-Cor_zKml.mjs} +3 -3
  457. package/dist/{comments-pej-_BUO.mjs.map → comments-Cor_zKml.mjs.map} +1 -1
  458. package/dist/config-Cs_AwWXI.mjs +106 -0
  459. package/dist/config-Cs_AwWXI.mjs.map +1 -0
  460. package/dist/{config-CFMojMFK.d.mts → config-D44_8G9J.d.mts} +3 -1
  461. package/dist/config-D44_8G9J.d.mts.map +1 -0
  462. package/dist/{config-Bsm_u_oE.d.mts → config-sDhZvkLR.d.mts} +56 -20
  463. package/dist/config-sDhZvkLR.d.mts.map +1 -0
  464. package/dist/{content-DQSRZTVw.mjs → content-BKHUVsE5.mjs} +67 -30
  465. package/dist/content-BKHUVsE5.mjs.map +1 -0
  466. package/dist/{content-list-query-CYKcY6Vi.d.mts → content-list-query-ByP4jRpZ.d.mts} +1 -1
  467. package/dist/{content-list-query-CYKcY6Vi.d.mts.map → content-list-query-ByP4jRpZ.d.mts.map} +1 -1
  468. package/dist/{content-policy-Dm32n9C6.mjs → content-policy-BmE0MPZY.mjs} +1 -1
  469. package/dist/{content-policy-Dm32n9C6.mjs.map → content-policy-BmE0MPZY.mjs.map} +1 -1
  470. package/dist/{content-repair-DNh5--x5.mjs → content-repair-Ukdxoq-R.mjs} +4 -4
  471. package/dist/{content-repair-DNh5--x5.mjs.map → content-repair-Ukdxoq-R.mjs.map} +1 -1
  472. package/dist/{context-BYptmCN0.mjs → context-CzjejcsE.mjs} +32 -33
  473. package/dist/context-CzjejcsE.mjs.map +1 -0
  474. package/dist/{credits-B9iORdWB.mjs → credits-BKREepht.mjs} +3 -3
  475. package/dist/{credits-B9iORdWB.mjs.map → credits-BKREepht.mjs.map} +1 -1
  476. package/dist/{dashboard-D0jcgBD7.mjs → dashboard-ynr1qJWM.mjs} +10 -9
  477. package/dist/dashboard-ynr1qJWM.mjs.map +1 -0
  478. package/dist/database/migration-lock.mjs +1 -1
  479. package/dist/db/index.d.mts +3 -3
  480. package/dist/db/index.mjs +3 -3
  481. package/dist/db/libsql-migrations.d.mts +1 -1
  482. package/dist/db/libsql-migrations.mjs +5 -5
  483. package/dist/db/libsql.d.mts +1 -1
  484. package/dist/db/postgres-migrations.d.mts +1 -1
  485. package/dist/db/postgres-migrations.mjs +5 -5
  486. package/dist/db/postgres.d.mts +1 -1
  487. package/dist/db/sqlite-migrations.d.mts +1 -1
  488. package/dist/db/sqlite-migrations.mjs +5 -5
  489. package/dist/db/sqlite.d.mts +1 -1
  490. package/dist/{db-errors-CBD5yMro.mjs → db-errors-unnO6yiZ.mjs} +12 -2
  491. package/dist/db-errors-unnO6yiZ.mjs.map +1 -0
  492. package/dist/deferred-tasks-wlMFJL95.d.mts +10 -0
  493. package/dist/deferred-tasks-wlMFJL95.d.mts.map +1 -0
  494. package/dist/{destination-r2zIAZ2S.mjs → destination-DR3IHjmy.mjs} +1 -1
  495. package/dist/{destination-r2zIAZ2S.mjs.map → destination-DR3IHjmy.mjs.map} +1 -1
  496. package/dist/{device-flow-BkFKBoAn.mjs → device-flow-D1U392GC.mjs} +3 -5
  497. package/dist/device-flow-D1U392GC.mjs.map +1 -0
  498. package/dist/{dialect-helpers-7_IqPdh9.mjs → dialect-helpers-B1XN2HGB.mjs} +10 -3
  499. package/dist/dialect-helpers-B1XN2HGB.mjs.map +1 -0
  500. package/dist/{direct-executor-Cbxzg4qe.mjs → direct-executor-Bs2g0ake.mjs} +4 -4
  501. package/dist/{direct-executor-Cbxzg4qe.mjs.map → direct-executor-Bs2g0ake.mjs.map} +1 -1
  502. package/dist/{dist-Cfu8mMBs.mjs → dist-BUmWMTbN.mjs} +1 -1
  503. package/dist/{dist-Cfu8mMBs.mjs.map → dist-BUmWMTbN.mjs.map} +1 -1
  504. package/dist/{email-locale-BJ8DjTzZ.mjs → email-locale-Bs3HFdnq.mjs} +1 -1
  505. package/dist/{email-locale-BJ8DjTzZ.mjs.map → email-locale-Bs3HFdnq.mjs.map} +1 -1
  506. package/dist/{emdash-runtime-DVi7vtXC.mjs → emdash-runtime-C8T-pZpS.mjs} +108 -62
  507. package/dist/emdash-runtime-C8T-pZpS.mjs.map +1 -0
  508. package/dist/{enrich-Duu4sV3a.mjs → enrich-DFlfnd3u.mjs} +3 -3
  509. package/dist/{enrich-Duu4sV3a.mjs.map → enrich-DFlfnd3u.mjs.map} +1 -1
  510. package/dist/{entry-lock-C7VX0NGK.d.mts → entry-lock-BulbgPBX.d.mts} +23 -23
  511. package/dist/{entry-lock-C7VX0NGK.d.mts.map → entry-lock-BulbgPBX.d.mts.map} +1 -1
  512. package/dist/{entry-lock-Df6-XhIu.mjs → entry-lock-CRVmruM0.mjs} +4 -4
  513. package/dist/{entry-lock-Df6-XhIu.mjs.map → entry-lock-CRVmruM0.mjs.map} +1 -1
  514. package/dist/{entry-lock-DLxCffFW.mjs → entry-lock-D-zJQ4q6.mjs} +3 -3
  515. package/dist/{entry-lock-DLxCffFW.mjs.map → entry-lock-D-zJQ4q6.mjs.map} +1 -1
  516. package/dist/{entry-locks-DJAqVweV.mjs → entry-locks-CJ9uhqg1.mjs} +2 -2
  517. package/dist/{entry-locks-DJAqVweV.mjs.map → entry-locks-CJ9uhqg1.mjs.map} +1 -1
  518. package/dist/{env-types-C3FCVBWe.mjs → env-types-BE3bCvfP.mjs} +5 -5
  519. package/dist/{env-types-C3FCVBWe.mjs.map → env-types-BE3bCvfP.mjs.map} +1 -1
  520. package/dist/{error-CVWeIOku.mjs → error-BCMgPxdn.mjs} +3 -3
  521. package/dist/{error-CVWeIOku.mjs.map → error-BCMgPxdn.mjs.map} +1 -1
  522. package/dist/{errors-BOYNdIo3.mjs → errors-8gJqv-XV.mjs} +15 -2
  523. package/dist/{errors-BOYNdIo3.mjs.map → errors-8gJqv-XV.mjs.map} +1 -1
  524. package/dist/{fence-C3MUitUN.mjs → fence-Dagicj14.mjs} +4 -4
  525. package/dist/{fence-C3MUitUN.mjs.map → fence-Dagicj14.mjs.map} +1 -1
  526. package/dist/{field-map-Bft9LKak.mjs → field-map-BSXdNGt5.mjs} +11 -10
  527. package/dist/field-map-BSXdNGt5.mjs.map +1 -0
  528. package/dist/{focal-point-JX8kcOTQ.mjs → focal-point-CgCcr1Ca.mjs} +1 -1
  529. package/dist/{focal-point-JX8kcOTQ.mjs.map → focal-point-CgCcr1Ca.mjs.map} +1 -1
  530. package/dist/{fts-manager-Beg3e4bI.mjs → fts-manager-6861qcwk.mjs} +68 -22
  531. package/dist/fts-manager-6861qcwk.mjs.map +1 -0
  532. package/dist/{gc-ByyAYiYE.mjs → gc-CNkXB3mE.mjs} +8 -8
  533. package/dist/{gc-ByyAYiYE.mjs.map → gc-CNkXB3mE.mjs.map} +1 -1
  534. package/dist/{hook-result-BrdLyOdI.d.mts → hook-result-f8t7hIuu.d.mts} +1 -1
  535. package/dist/{hook-result-BrdLyOdI.d.mts.map → hook-result-f8t7hIuu.d.mts.map} +1 -1
  536. package/dist/{hreflang-CY_F5OjF.d.mts → hreflang-8dUOJAPJ.d.mts} +2 -2
  537. package/dist/{hreflang-CY_F5OjF.d.mts.map → hreflang-8dUOJAPJ.d.mts.map} +1 -1
  538. package/dist/{hreflang-C8Jb-hrf.mjs → hreflang-BW5A4FLK.mjs} +8 -8
  539. package/dist/{hreflang-C8Jb-hrf.mjs.map → hreflang-BW5A4FLK.mjs.map} +1 -1
  540. package/dist/{http-route-dispatch-CyeW6iPv.mjs → http-route-dispatch-rXKvTNm9.mjs} +5 -5
  541. package/dist/{http-route-dispatch-CyeW6iPv.mjs.map → http-route-dispatch-rXKvTNm9.mjs.map} +1 -1
  542. package/dist/{identity-Cael5uTT.mjs → identity-CPRRSovU.mjs} +3 -3
  543. package/dist/{identity-Cael5uTT.mjs.map → identity-CPRRSovU.mjs.map} +1 -1
  544. package/dist/{import-BUXjdZUn.mjs → import-yVbfPyfd.mjs} +5 -5
  545. package/dist/{import-BUXjdZUn.mjs.map → import-yVbfPyfd.mjs.map} +1 -1
  546. package/dist/index-VM7Fzxwe.d.mts +260 -0
  547. package/dist/index-VM7Fzxwe.d.mts.map +1 -0
  548. package/dist/index.d.mts +25 -24
  549. package/dist/index.mjs +89 -88
  550. package/dist/{install-finalization-3JX5qQEA.mjs → install-finalization-RU6VrHOX.mjs} +1 -1
  551. package/dist/{install-finalization-3JX5qQEA.mjs.map → install-finalization-RU6VrHOX.mjs.map} +1 -1
  552. package/dist/{json-recordset-BUjxhr77.mjs → json-recordset-D0WhN2UA.mjs} +2 -2
  553. package/dist/{json-recordset-BUjxhr77.mjs.map → json-recordset-D0WhN2UA.mjs.map} +1 -1
  554. package/dist/{lifecycle-7vUJeFRe.mjs → lifecycle-B8d7Rdqx.mjs} +1 -1
  555. package/dist/{lifecycle-7vUJeFRe.mjs.map → lifecycle-B8d7Rdqx.mjs.map} +1 -1
  556. package/dist/{load-CdAG9wz-.mjs → load-D4xtzm6h.mjs} +2 -2
  557. package/dist/{load-CdAG9wz-.mjs.map → load-D4xtzm6h.mjs.map} +1 -1
  558. package/dist/{loader-CswroUbe.mjs → loader-DhnedqY4.mjs} +199 -101
  559. package/dist/loader-DhnedqY4.mjs.map +1 -0
  560. package/dist/{loops-uA4iTOzd.mjs → loops-B2YS-Zzr.mjs} +2 -2
  561. package/dist/{loops-uA4iTOzd.mjs.map → loops-B2YS-Zzr.mjs.map} +1 -1
  562. package/dist/{manifest-builder-B8zjuH3f.mjs → manifest-builder-g1FLviel.mjs} +10 -3
  563. package/dist/manifest-builder-g1FLviel.mjs.map +1 -0
  564. package/dist/media/image-endpoint.d.mts +3 -2
  565. package/dist/media/image-endpoint.d.mts.map +1 -1
  566. package/dist/media/image-endpoint.mjs +17 -8
  567. package/dist/media/image-endpoint.mjs.map +1 -1
  568. package/dist/media/index.d.mts +1 -1
  569. package/dist/media/index.mjs +7 -6
  570. package/dist/media/index.mjs.map +1 -1
  571. package/dist/media/local-runtime.d.mts +15 -14
  572. package/dist/media/local-runtime.d.mts.map +1 -1
  573. package/dist/media/local-runtime.mjs +20 -15
  574. package/dist/media/local-runtime.mjs.map +1 -1
  575. package/dist/{media-1WC65OCB.mjs → media-BR4_t-Wd.mjs} +3 -3
  576. package/dist/{media-1WC65OCB.mjs.map → media-BR4_t-Wd.mjs.map} +1 -1
  577. package/dist/{media--dJRU6i2.mjs → media-CikS-q6E.mjs} +4 -4
  578. package/dist/{media--dJRU6i2.mjs.map → media-CikS-q6E.mjs.map} +1 -1
  579. package/dist/{media-Bws9f18T.mjs → media-DepNLhPq.mjs} +14 -4
  580. package/dist/media-DepNLhPq.mjs.map +1 -0
  581. package/dist/{media-allowlist-BJB7MFx6.mjs → media-allowlist-BMBLqyWh.mjs} +2 -2
  582. package/dist/{media-allowlist-BJB7MFx6.mjs.map → media-allowlist-BMBLqyWh.mjs.map} +1 -1
  583. package/dist/{media-folders-Dn3C16B8.mjs → media-folders-CI0Wydfo.mjs} +2 -2
  584. package/dist/{media-folders-Dn3C16B8.mjs.map → media-folders-CI0Wydfo.mjs.map} +1 -1
  585. package/dist/{media-usage-CF0WVcLO.mjs → media-usage-X1_20MY-.mjs} +8 -8
  586. package/dist/{media-usage-CF0WVcLO.mjs.map → media-usage-X1_20MY-.mjs.map} +1 -1
  587. package/dist/{media-usage-activation-C9HwVw5w.mjs → media-usage-activation-bWusy3M2.mjs} +3 -3
  588. package/dist/{media-usage-activation-C9HwVw5w.mjs.map → media-usage-activation-bWusy3M2.mjs.map} +1 -1
  589. package/dist/{media-usage-work-m3AWTmmC.mjs → media-usage-work-B2RaoJIa.mjs} +4 -4
  590. package/dist/{media-usage-work-m3AWTmmC.mjs.map → media-usage-work-B2RaoJIa.mjs.map} +1 -1
  591. package/dist/{media-usage-work-CkLa5-nc.mjs → media-usage-work-BCK2J-v_.mjs} +7 -7
  592. package/dist/{media-usage-work-CkLa5-nc.mjs.map → media-usage-work-BCK2J-v_.mjs.map} +1 -1
  593. package/dist/{menus-BCVSSp1z.mjs → menus-B0Qqv_cS.mjs} +176 -92
  594. package/dist/menus-B0Qqv_cS.mjs.map +1 -0
  595. package/dist/{menus-Cl4kwdt7.mjs → menus-oypxT1pI.mjs} +134 -53
  596. package/dist/menus-oypxT1pI.mjs.map +1 -0
  597. package/dist/{menus-BSzwObhV.mjs → menus-uEAxWAm1.mjs} +3 -3
  598. package/dist/{menus-BSzwObhV.mjs.map → menus-uEAxWAm1.mjs.map} +1 -1
  599. package/dist/migrations/index.d.mts +1 -1
  600. package/dist/migrations/index.mjs +5 -5
  601. package/dist/{mime-B5M9R53H.mjs → mime-D1We9jUx.mjs} +1 -1
  602. package/dist/{mime-B5M9R53H.mjs.map → mime-D1We9jUx.mjs.map} +1 -1
  603. package/dist/{normalize-BuWa0lvd.mjs → normalize-Cx-bNwhP.mjs} +41 -12
  604. package/dist/normalize-Cx-bNwhP.mjs.map +1 -0
  605. package/dist/{oauth-authorization-TpEJrYB7.mjs → oauth-authorization-CPLgBrdo.mjs} +19 -6
  606. package/dist/oauth-authorization-CPLgBrdo.mjs.map +1 -0
  607. package/dist/{oauth-state-store-CHMn_mwc.mjs → oauth-state-store-BndCfRum.mjs} +1 -1
  608. package/dist/{oauth-state-store-CHMn_mwc.mjs.map → oauth-state-store-BndCfRum.mjs.map} +1 -1
  609. package/dist/object-cache/memory.d.mts +1 -1
  610. package/dist/{object-cache-Bo6DGaC9.mjs → object-cache-DmKr09La.mjs} +21 -4
  611. package/dist/{object-cache-Bo6DGaC9.mjs.map → object-cache-DmKr09La.mjs.map} +1 -1
  612. package/dist/{options-DJWaq3Ie.d.mts → options-BUUgroHg.d.mts} +3 -3
  613. package/dist/{options-DJWaq3Ie.d.mts.map → options-BUUgroHg.d.mts.map} +1 -1
  614. package/dist/page/index.d.mts +2 -2
  615. package/dist/page/index.mjs +16 -14
  616. package/dist/page/index.mjs.map +1 -1
  617. package/dist/{parse-DgQ2NABT.mjs → parse-B_b6gZxG.mjs} +2 -2
  618. package/dist/{parse-DgQ2NABT.mjs.map → parse-B_b6gZxG.mjs.map} +1 -1
  619. package/dist/{parse-CWHOFc6z.d.mts → parse-Dndx1QmN.d.mts} +3 -3
  620. package/dist/{parse-CWHOFc6z.d.mts.map → parse-Dndx1QmN.d.mts.map} +1 -1
  621. package/dist/{passkey-config-D0kdzEao.mjs → passkey-config-D2Lua5__.mjs} +1 -1
  622. package/dist/{passkey-config-D0kdzEao.mjs.map → passkey-config-D2Lua5__.mjs.map} +1 -1
  623. package/dist/{patterns-CMNnYCgf.mjs → patterns-CryGz_EV.mjs} +1 -1
  624. package/dist/{patterns-CMNnYCgf.mjs.map → patterns-CryGz_EV.mjs.map} +1 -1
  625. package/dist/{placeholder-D41vk11_.d.mts → placeholder-CSKu5OkD.d.mts} +9 -1
  626. package/dist/placeholder-CSKu5OkD.d.mts.map +1 -0
  627. package/dist/plugin-test-runtime.d.mts +17 -15
  628. package/dist/plugin-test-runtime.d.mts.map +1 -1
  629. package/dist/plugin-test-runtime.mjs +99 -98
  630. package/dist/plugin-types.d.mts +2 -2
  631. package/dist/plugin-utils.d.mts +13 -12
  632. package/dist/plugin-utils.d.mts.map +1 -1
  633. package/dist/plugins/adapt-sandbox-entry.d.mts +13 -12
  634. package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
  635. package/dist/plugins/host.d.mts +5 -5
  636. package/dist/plugins/host.mjs +48 -47
  637. package/dist/{policy-DLQ--Hnm.mjs → policy-BPugqmeV.mjs} +13 -5
  638. package/dist/policy-BPugqmeV.mjs.map +1 -0
  639. package/dist/{protocol-79kUO7jP.d.mts → protocol-PoAfD_9W.d.mts} +2 -2
  640. package/dist/{protocol-79kUO7jP.d.mts.map → protocol-PoAfD_9W.d.mts.map} +1 -1
  641. package/dist/{public-plugin-api-routes-BuAMJ8nN.mjs → public-plugin-api-routes-CMljrTby.mjs} +9 -9
  642. package/dist/{public-plugin-api-routes-BuAMJ8nN.mjs.map → public-plugin-api-routes-CMljrTby.mjs.map} +1 -1
  643. package/dist/{public-submission-Di3TsgzX.mjs → public-submission-ayqoyee4.mjs} +10 -10
  644. package/dist/{public-submission-Di3TsgzX.mjs.map → public-submission-ayqoyee4.mjs.map} +1 -1
  645. package/dist/query-BFHjCzSh.mjs +37 -0
  646. package/dist/query-BFHjCzSh.mjs.map +1 -0
  647. package/dist/{query-CpnRlBh8.mjs → query-D62NntCZ.mjs} +55 -65
  648. package/dist/query-D62NntCZ.mjs.map +1 -0
  649. package/dist/{query-haKvLAWl.mjs → query-LmPY2y0C.mjs} +5 -5
  650. package/dist/{query-haKvLAWl.mjs.map → query-LmPY2y0C.mjs.map} +1 -1
  651. package/dist/{rate-limit-Xp4d0NBY.mjs → rate-limit-C04Llsoc.mjs} +3 -3
  652. package/dist/{rate-limit-Xp4d0NBY.mjs.map → rate-limit-C04Llsoc.mjs.map} +1 -1
  653. package/dist/{redirect-DiS_3mA4.mjs → redirect-DjLdw427.mjs} +6 -6
  654. package/dist/{redirect-DiS_3mA4.mjs.map → redirect-DjLdw427.mjs.map} +1 -1
  655. package/dist/{redirect-paths-CNYq7w80.mjs → redirect-paths-DOaVBp6E.mjs} +1 -1
  656. package/dist/{redirect-paths-CNYq7w80.mjs.map → redirect-paths-DOaVBp6E.mjs.map} +1 -1
  657. package/dist/{redirects-BHpy-VsZ.mjs → redirects-Cpq1catN.mjs} +6 -6
  658. package/dist/{redirects-BHpy-VsZ.mjs.map → redirects-Cpq1catN.mjs.map} +1 -1
  659. package/dist/{redirects-BEVSRMa2.mjs → redirects-CyvvZrCJ.mjs} +2 -2
  660. package/dist/{redirects-BEVSRMa2.mjs.map → redirects-CyvvZrCJ.mjs.map} +1 -1
  661. package/dist/{registry-TUVaid9Z.mjs → registry-B0-O575m.mjs} +25 -20
  662. package/dist/registry-B0-O575m.mjs.map +1 -0
  663. package/dist/{relations-CA_QuMTU.mjs → relations-WIOojTL4.mjs} +24 -11
  664. package/dist/relations-WIOojTL4.mjs.map +1 -0
  665. package/dist/{request-cache-C4CIo5ad.mjs → request-cache-5z2WzWmh.mjs} +1 -1
  666. package/dist/{request-cache-C4CIo5ad.mjs.map → request-cache-5z2WzWmh.mjs.map} +1 -1
  667. package/dist/request-context.d.mts +12 -1
  668. package/dist/request-context.d.mts.map +1 -1
  669. package/dist/request-context.mjs.map +1 -1
  670. package/dist/{resolve-DwNM-CXl.mjs → resolve-BNnm8EkB.mjs} +14 -13
  671. package/dist/{resolve-DwNM-CXl.mjs.map → resolve-BNnm8EkB.mjs.map} +1 -1
  672. package/dist/{resolve-D-kqyKns.mjs → resolve-DdNXBJSr.mjs} +4 -4
  673. package/dist/resolve-DdNXBJSr.mjs.map +1 -0
  674. package/dist/{revision-BVp8S0e_.mjs → revision-Dx7Uth1X.mjs} +5 -5
  675. package/dist/{revision-BVp8S0e_.mjs.map → revision-Dx7Uth1X.mjs.map} +1 -1
  676. package/dist/{routes-BerZFrvV.mjs → routes-avqgc-8r.mjs} +3 -3
  677. package/dist/{routes-BerZFrvV.mjs.map → routes-avqgc-8r.mjs.map} +1 -1
  678. package/dist/{runner-C5NeAkBQ.mjs → runner-Bkkfk4O8.mjs} +78 -4
  679. package/dist/runner-Bkkfk4O8.mjs.map +1 -0
  680. package/dist/{runner-BObHz5FC.d.mts → runner-Dfgp6-S_.d.mts} +7 -2
  681. package/dist/runner-Dfgp6-S_.d.mts.map +1 -0
  682. package/dist/runtime.d.mts +14 -13
  683. package/dist/runtime.d.mts.map +1 -1
  684. package/dist/runtime.mjs +8 -6
  685. package/dist/runtime.mjs.map +1 -1
  686. package/dist/schema/project-env-types.mjs +43 -42
  687. package/dist/schema/project-env-types.mjs.map +1 -1
  688. package/dist/{schema-DJRfvM_o.mjs → schema-B-3rntlX.mjs} +11 -11
  689. package/dist/{schema-DJRfvM_o.mjs.map → schema-B-3rntlX.mjs.map} +1 -1
  690. package/dist/{schema-C4OBuv6Z.mjs → schema-BqBlUZtb.mjs} +4 -4
  691. package/dist/{schema-C4OBuv6Z.mjs.map → schema-BqBlUZtb.mjs.map} +1 -1
  692. package/dist/{scopes-BU03K7Uo.mjs → scopes-DNaY7Ey0.mjs} +3 -3
  693. package/dist/{scopes-BU03K7Uo.mjs.map → scopes-DNaY7Ey0.mjs.map} +1 -1
  694. package/dist/{search-DfVzks89.mjs → search-BPWTnpnD.mjs} +32 -32
  695. package/dist/search-BPWTnpnD.mjs.map +1 -0
  696. package/dist/{secrets-Cc_O3Kp-.mjs → secrets-Dswzrz3k.mjs} +2 -2
  697. package/dist/{secrets-Cc_O3Kp-.mjs.map → secrets-Dswzrz3k.mjs.map} +1 -1
  698. package/dist/{sections-BMy4JVUz.mjs → sections-rSao6rBG.mjs} +3 -3
  699. package/dist/{sections-BMy4JVUz.mjs.map → sections-rSao6rBG.mjs.map} +1 -1
  700. package/dist/seed/index.d.mts +2 -2
  701. package/dist/seed/index.mjs +42 -41
  702. package/dist/seo/index.d.mts +3 -3
  703. package/dist/seo/index.mjs +30 -28
  704. package/dist/seo/index.mjs.map +1 -1
  705. package/dist/{seo-VZYOEy8f.mjs → seo-B_H_pqOd.mjs} +3 -3
  706. package/dist/{seo-VZYOEy8f.mjs.map → seo-B_H_pqOd.mjs.map} +1 -1
  707. package/dist/{service-Bo_usgSk.mjs → service-DpiUQVpp.mjs} +2 -2
  708. package/dist/{service-Bo_usgSk.mjs.map → service-DpiUQVpp.mjs.map} +1 -1
  709. package/dist/{session-user-DlpPdf8L.mjs → session-user-DiE4JKPP.mjs} +4 -4
  710. package/dist/{session-user-DlpPdf8L.mjs.map → session-user-DiE4JKPP.mjs.map} +1 -1
  711. package/dist/{settings-DS914jjE.mjs → settings--XlUdUaI.mjs} +3 -3
  712. package/dist/{settings-DS914jjE.mjs.map → settings--XlUdUaI.mjs.map} +1 -1
  713. package/dist/{settings-CWb84sDm.mjs → settings-D932YP2-.mjs} +111 -44
  714. package/dist/settings-D932YP2-.mjs.map +1 -0
  715. package/dist/{setup-complete-BuNxAUiN.mjs → setup-complete-qsJYWutC.mjs} +2 -2
  716. package/dist/{setup-complete-BuNxAUiN.mjs.map → setup-complete-qsJYWutC.mjs.map} +1 -1
  717. package/dist/{setup-nonce-BnEAX0iy.mjs → setup-nonce-CBFgUFXw.mjs} +1 -1
  718. package/dist/{setup-nonce-BnEAX0iy.mjs.map → setup-nonce-CBFgUFXw.mjs.map} +1 -1
  719. package/dist/{site-domain-Bq5j5bVg.mjs → site-domain-oRGS_JfA.mjs} +2 -2
  720. package/dist/{site-domain-Bq5j5bVg.mjs.map → site-domain-oRGS_JfA.mjs.map} +1 -1
  721. package/dist/{sitemap-name-BTg2NJJv.mjs → sitemap-name-B8QP8wud.mjs} +1 -1
  722. package/dist/{sitemap-name-BTg2NJJv.mjs.map → sitemap-name-B8QP8wud.mjs.map} +1 -1
  723. package/dist/{slugify-bu2-jKia.mjs → slugify-BDEG9pLk.mjs} +1 -1
  724. package/dist/{slugify-bu2-jKia.mjs.map → slugify-BDEG9pLk.mjs.map} +1 -1
  725. package/dist/{snapshot-DYsG4uOq.mjs → snapshot-BjaXDZQ5.mjs} +2 -2
  726. package/dist/{snapshot-DYsG4uOq.mjs.map → snapshot-BjaXDZQ5.mjs.map} +1 -1
  727. package/dist/{stage-D8DWgPcO.mjs → stage-CZQnXM_G.mjs} +3 -3
  728. package/dist/{stage-D8DWgPcO.mjs.map → stage-CZQnXM_G.mjs.map} +1 -1
  729. package/dist/{staged-CD_imitH.mjs → staged-ByBmPFtX.mjs} +3 -3
  730. package/dist/{staged-CD_imitH.mjs.map → staged-ByBmPFtX.mjs.map} +1 -1
  731. package/dist/storage/local.d.mts +1 -1
  732. package/dist/storage/s3.d.mts +1 -1
  733. package/dist/{storage-query-DRyu3bSU.d.mts → storage-query-BFp06Y0s.d.mts} +22 -10
  734. package/dist/storage-query-BFp06Y0s.d.mts.map +1 -0
  735. package/dist/{taxonomies-Dd9JJv_a.mjs → taxonomies-5SR76j11.mjs} +15 -17
  736. package/dist/taxonomies-5SR76j11.mjs.map +1 -0
  737. package/dist/{taxonomies-ChnU7Mc8.mjs → taxonomies-B__VmCKQ.mjs} +64 -58
  738. package/dist/taxonomies-B__VmCKQ.mjs.map +1 -0
  739. package/dist/{taxonomy-C_C_LBAU.mjs → taxonomy-CMI5fczd.mjs} +30 -17
  740. package/dist/taxonomy-CMI5fczd.mjs.map +1 -0
  741. package/dist/{transaction-BVYIo_yu.mjs → transaction-CkoQ5wqQ.mjs} +1 -1
  742. package/dist/{transaction-BVYIo_yu.mjs.map → transaction-CkoQ5wqQ.mjs.map} +1 -1
  743. package/dist/{transfer-WmWiR3xf.mjs → transfer-BbKfufJ4.mjs} +2 -2
  744. package/dist/{transfer-WmWiR3xf.mjs.map → transfer-BbKfufJ4.mjs.map} +1 -1
  745. package/dist/{transfer-ClH6w6BV.mjs → transfer-DTGblAj2.mjs} +71 -34
  746. package/dist/{transfer-ClH6w6BV.mjs.map → transfer-DTGblAj2.mjs.map} +1 -1
  747. package/dist/{transfer-download--ofRj9Cw.mjs → transfer-download-D9LQEDX0.mjs} +1 -1
  748. package/dist/{transfer-download--ofRj9Cw.mjs.map → transfer-download-D9LQEDX0.mjs.map} +1 -1
  749. package/dist/{transport-DxiXnbXk.d.mts → transport-Dm5QzpT_.d.mts} +1 -1
  750. package/dist/{transport-DxiXnbXk.d.mts.map → transport-Dm5QzpT_.d.mts.map} +1 -1
  751. package/dist/{transport-BjbqNiPI.mjs → transport-Dzpn5b3i.mjs} +4 -3
  752. package/dist/transport-Dzpn5b3i.mjs.map +1 -0
  753. package/dist/{turnstile-CJwvsOqw.mjs → turnstile-Cs2wfkJG.mjs} +1 -1
  754. package/dist/{turnstile-CJwvsOqw.mjs.map → turnstile-Cs2wfkJG.mjs.map} +1 -1
  755. package/dist/{types-BA3ey2QH.d.mts → types-BAsCk5KU.d.mts} +1 -1
  756. package/dist/{types-BA3ey2QH.d.mts.map → types-BAsCk5KU.d.mts.map} +1 -1
  757. package/dist/{types-RLgeIpnF.d.mts → types-BuvSwT9Y.d.mts} +8 -7
  758. package/dist/{types-RLgeIpnF.d.mts.map → types-BuvSwT9Y.d.mts.map} +1 -1
  759. package/dist/{types-CNB-dj6F.d.mts → types-C4KT3Md2.d.mts} +10 -6
  760. package/dist/types-C4KT3Md2.d.mts.map +1 -0
  761. package/dist/{types-DvqVxZXa.d.mts → types-CVXHwIBB.d.mts} +1 -1
  762. package/dist/{types-DvqVxZXa.d.mts.map → types-CVXHwIBB.d.mts.map} +1 -1
  763. package/dist/{types-BGmQ0uXs.mjs → types-C_asjp1J.mjs} +1 -1
  764. package/dist/types-C_asjp1J.mjs.map +1 -0
  765. package/dist/{types-DHO7Pd25.d.mts → types-CadaL_k8.d.mts} +1 -1
  766. package/dist/{types-DHO7Pd25.d.mts.map → types-CadaL_k8.d.mts.map} +1 -1
  767. package/dist/{types-QoPHm-2w.d.mts → types-CjftrmZR.d.mts} +3 -3
  768. package/dist/{types-QoPHm-2w.d.mts.map → types-CjftrmZR.d.mts.map} +1 -1
  769. package/dist/{types-DCFavOii.d.mts → types-DKwRUA-x.d.mts} +1 -1
  770. package/dist/{types-DCFavOii.d.mts.map → types-DKwRUA-x.d.mts.map} +1 -1
  771. package/dist/{types-D2NEXtgB.mjs → types-DwhEvIVb.mjs} +8 -2
  772. package/dist/types-DwhEvIVb.mjs.map +1 -0
  773. package/dist/{types-Bwpzb5o6.d.mts → types-GwAyS5SH.d.mts} +1 -1
  774. package/dist/{types-Bwpzb5o6.d.mts.map → types-GwAyS5SH.d.mts.map} +1 -1
  775. package/dist/{types-slSqujQL.d.mts → types-uU2YNYSt.d.mts} +6 -1
  776. package/dist/types-uU2YNYSt.d.mts.map +1 -0
  777. package/dist/{update-check-BxNg9T6N.mjs → update-check-ABBJgg6M.mjs} +4 -4
  778. package/dist/{update-check-BxNg9T6N.mjs.map → update-check-ABBJgg6M.mjs.map} +1 -1
  779. package/dist/{url-Dn3IStq8.mjs → url-DTfGDJhI.mjs} +1 -1
  780. package/dist/{url-Dn3IStq8.mjs.map → url-DTfGDJhI.mjs.map} +1 -1
  781. package/dist/{user-BlCTKVAm.mjs → user-By8SzQxS.mjs} +3 -3
  782. package/dist/{user-BlCTKVAm.mjs.map → user-By8SzQxS.mjs.map} +1 -1
  783. package/dist/{utils-TPt7w2cS.mjs → utils-D5uOi6WS.mjs} +13 -5
  784. package/dist/utils-D5uOi6WS.mjs.map +1 -0
  785. package/dist/{index-BB9sVisO.d.mts → utils-Szp4iBQB.d.mts} +9 -256
  786. package/dist/utils-Szp4iBQB.d.mts.map +1 -0
  787. package/dist/{validate-emKxGC5F.d.mts → validate-DDvxy6qG.d.mts} +8 -8
  788. package/dist/{validate-emKxGC5F.d.mts.map → validate-DDvxy6qG.d.mts.map} +1 -1
  789. package/dist/{validate-DxYhJQA-.mjs → validate-Dz-TIOFB.mjs} +7 -7
  790. package/dist/{validate-DxYhJQA-.mjs.map → validate-Dz-TIOFB.mjs.map} +1 -1
  791. package/dist/{validation-Ckq4vsVg.mjs → validation-Fc9ZSUS_.mjs} +17 -16
  792. package/dist/{validation-Ckq4vsVg.mjs.map → validation-Fc9ZSUS_.mjs.map} +1 -1
  793. package/dist/version-Bu6Nlbb5.mjs +7 -0
  794. package/dist/{version-DHmGpcch.mjs.map → version-Bu6Nlbb5.mjs.map} +1 -1
  795. package/dist/version-DqB7LIO7.mjs +49 -0
  796. package/dist/version-DqB7LIO7.mjs.map +1 -0
  797. package/dist/{widgets-DA5XmvVC.mjs → widgets-BUx_Mf2q.mjs} +18 -5
  798. package/dist/widgets-BUx_Mf2q.mjs.map +1 -0
  799. package/dist/{wxr-taxonomies-RgRG0d5e.mjs → wxr-taxonomies-DbJtWrWM.mjs} +7 -6
  800. package/dist/wxr-taxonomies-DbJtWrWM.mjs.map +1 -0
  801. package/dist/{wxr-taxonomies-CrMonejI.d.mts → wxr-taxonomies-Dy2i2ON3.d.mts} +1 -1
  802. package/dist/wxr-taxonomies-Dy2i2ON3.d.mts.map +1 -0
  803. package/dist/{zod-generator-D0JKy94C.mjs → zod-generator--nlM0930.mjs} +5 -4
  804. package/dist/zod-generator--nlM0930.mjs.map +1 -0
  805. package/package.json +5 -5
  806. package/src/api/handlers/bulk-tag.ts +11 -3
  807. package/src/api/handlers/bylines.ts +6 -2
  808. package/src/api/handlers/content.ts +154 -23
  809. package/src/api/handlers/dashboard.ts +13 -6
  810. package/src/api/handlers/device-flow.ts +1 -3
  811. package/src/api/handlers/menus.ts +27 -13
  812. package/src/api/handlers/oauth-authorization.ts +1 -3
  813. package/src/api/handlers/relations.ts +15 -1
  814. package/src/api/handlers/taxonomies.ts +27 -17
  815. package/src/astro/image-endpoint.ts +23 -2
  816. package/src/astro/integration/admin-nav.ts +52 -0
  817. package/src/astro/integration/index.ts +7 -0
  818. package/src/astro/integration/runtime.ts +14 -0
  819. package/src/astro/integration/shims/use-sync-external-store-with-selector.js +2 -0
  820. package/src/astro/integration/shims/use-sync-external-store.js +4 -1
  821. package/src/astro/integration/vite-config.ts +16 -8
  822. package/src/astro/middleware/auth.ts +9 -2
  823. package/src/astro/middleware/redirect.ts +158 -63
  824. package/src/astro/middleware/request-context.ts +1 -0
  825. package/src/astro/middleware.ts +17 -4
  826. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +4 -1
  827. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +14 -1
  828. package/src/astro/routes/api/dashboard.ts +2 -0
  829. package/src/astro/routes/api/import/wordpress/analyze.ts +5 -29
  830. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +3 -3
  831. package/src/astro/routes/api/media/file/[...key].ts +31 -7
  832. package/src/astro/routes/api/oauth/token.ts +5 -1
  833. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +7 -1
  834. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +3 -1
  835. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +2 -1
  836. package/src/astro/routes/api/widget-areas/[name].ts +2 -1
  837. package/src/astro/routes/api/widget-areas/index.ts +2 -1
  838. package/src/astro/types.ts +4 -3
  839. package/src/auth/api-tokens.ts +3 -0
  840. package/src/auth/types.ts +6 -0
  841. package/src/cleanup.ts +44 -0
  842. package/src/cli/commands/export-seed.ts +6 -4
  843. package/src/cli/commands/login.ts +2 -4
  844. package/src/client/index.ts +1 -0
  845. package/src/client/transport.ts +11 -7
  846. package/src/components/EmDashImage.astro +14 -2
  847. package/src/components/InlinePortableTextEditor.tsx +4 -1
  848. package/src/components/inline-bubble-menu.tsx +109 -95
  849. package/src/components/inline-image.tsx +54 -48
  850. package/src/database/dialect-helpers.ts +10 -3
  851. package/src/database/migrations/content-sized.ts +82 -0
  852. package/src/database/migrations/policy.ts +28 -2
  853. package/src/database/migrations/runner.ts +48 -0
  854. package/src/database/repositories/byline.ts +95 -31
  855. package/src/database/repositories/comment.ts +17 -7
  856. package/src/database/repositories/content.ts +96 -23
  857. package/src/database/repositories/media.ts +17 -0
  858. package/src/database/repositories/menu.ts +236 -139
  859. package/src/database/repositories/taxonomy-def.ts +9 -2
  860. package/src/database/repositories/taxonomy.ts +47 -14
  861. package/src/database/repositories/types.ts +14 -3
  862. package/src/database/types.ts +1 -1
  863. package/src/emdash-runtime.ts +60 -17
  864. package/src/fields/image.ts +1 -0
  865. package/src/i18n/config.ts +58 -10
  866. package/src/i18n/normalize.ts +16 -2
  867. package/src/i18n/query.ts +47 -0
  868. package/src/i18n/resolve.ts +8 -3
  869. package/src/import/utils.ts +15 -2
  870. package/src/import/wxr-taxonomies.ts +3 -2
  871. package/src/index.ts +1 -0
  872. package/src/loader.ts +183 -114
  873. package/src/mcp/server.ts +28 -1
  874. package/src/media/caption.ts +30 -0
  875. package/src/media/content-disposition.ts +56 -0
  876. package/src/media/image-endpoint.ts +13 -6
  877. package/src/media/local-runtime.ts +3 -0
  878. package/src/media/normalize.ts +17 -8
  879. package/src/media/responsive.ts +12 -2
  880. package/src/media/types.ts +16 -3
  881. package/src/media/usage/content-fields.ts +2 -1
  882. package/src/menus/index.ts +158 -36
  883. package/src/migrations/manifest.ts +1 -0
  884. package/src/object-cache/index.ts +22 -0
  885. package/src/plugin-test-runtime.ts +1 -0
  886. package/src/plugins/byline-access.ts +3 -1
  887. package/src/plugins/context.ts +1 -2
  888. package/src/plugins/storage-indexes.ts +7 -3
  889. package/src/query.ts +67 -53
  890. package/src/redirects/artifacts.ts +39 -5
  891. package/src/references/field-map.ts +6 -4
  892. package/src/request-context.ts +8 -0
  893. package/src/schema/collection-slugs-cache.ts +31 -17
  894. package/src/schema/registry.ts +9 -0
  895. package/src/schema/types.ts +7 -6
  896. package/src/schema/zod-generator.ts +2 -1
  897. package/src/search/fts-manager.ts +103 -31
  898. package/src/search/query.ts +31 -64
  899. package/src/seed/apply.ts +221 -109
  900. package/src/seed/types.ts +6 -4
  901. package/src/settings/index.ts +135 -35
  902. package/src/settings/version.ts +54 -0
  903. package/src/taxonomies/index.ts +99 -85
  904. package/src/taxonomies/term-counts.ts +2 -1
  905. package/src/transfer/import/advance.ts +12 -1
  906. package/src/transfer/import/scaffold.ts +7 -1
  907. package/src/transfer/import/stages.ts +53 -2
  908. package/src/utils/db-errors.ts +15 -0
  909. package/src/utils/revalidating-cache.ts +85 -0
  910. package/src/virtual-modules.d.ts +1 -0
  911. package/src/visual-editing/toolbar.ts +7 -2
  912. package/src/widgets/index.ts +27 -13
  913. package/dist/api-D-7BNHoz.mjs.map +0 -1
  914. package/dist/api-tokens-CdP49zVF.mjs +0 -3
  915. package/dist/apply-T7ATgzCh.mjs.map +0 -1
  916. package/dist/artifacts-htGyfCSt.mjs.map +0 -1
  917. package/dist/byline-BR1qhyiw.mjs.map +0 -1
  918. package/dist/bylines-CVOvRUL7.mjs.map +0 -1
  919. package/dist/collection-slugs-cache-e09QeJQt.mjs.map +0 -1
  920. package/dist/comment-UvIWDKcW.mjs.map +0 -1
  921. package/dist/config-Bsm_u_oE.d.mts.map +0 -1
  922. package/dist/config-CFMojMFK.d.mts.map +0 -1
  923. package/dist/config-CvmjJcVw.mjs +0 -73
  924. package/dist/config-CvmjJcVw.mjs.map +0 -1
  925. package/dist/content-DQSRZTVw.mjs.map +0 -1
  926. package/dist/context-BYptmCN0.mjs.map +0 -1
  927. package/dist/dashboard-D0jcgBD7.mjs.map +0 -1
  928. package/dist/db-errors-CBD5yMro.mjs.map +0 -1
  929. package/dist/deferred-tasks-ZvUECSzI.d.mts +0 -9
  930. package/dist/deferred-tasks-ZvUECSzI.d.mts.map +0 -1
  931. package/dist/device-flow-BkFKBoAn.mjs.map +0 -1
  932. package/dist/dialect-helpers-7_IqPdh9.mjs.map +0 -1
  933. package/dist/emdash-runtime-DVi7vtXC.mjs.map +0 -1
  934. package/dist/field-defs-cache-Dez5iWJJ.mjs +0 -77
  935. package/dist/field-defs-cache-Dez5iWJJ.mjs.map +0 -1
  936. package/dist/field-map-Bft9LKak.mjs.map +0 -1
  937. package/dist/fts-manager-Beg3e4bI.mjs.map +0 -1
  938. package/dist/index-BB9sVisO.d.mts.map +0 -1
  939. package/dist/loader-CswroUbe.mjs.map +0 -1
  940. package/dist/manifest-builder-B8zjuH3f.mjs.map +0 -1
  941. package/dist/media-Bws9f18T.mjs.map +0 -1
  942. package/dist/menus-BCVSSp1z.mjs.map +0 -1
  943. package/dist/menus-Cl4kwdt7.mjs.map +0 -1
  944. package/dist/normalize-BuWa0lvd.mjs.map +0 -1
  945. package/dist/oauth-authorization-TpEJrYB7.mjs.map +0 -1
  946. package/dist/placeholder-D41vk11_.d.mts.map +0 -1
  947. package/dist/policy-DLQ--Hnm.mjs.map +0 -1
  948. package/dist/query-CpnRlBh8.mjs.map +0 -1
  949. package/dist/registry-TUVaid9Z.mjs.map +0 -1
  950. package/dist/relations-CA_QuMTU.mjs.map +0 -1
  951. package/dist/resolve-D-kqyKns.mjs.map +0 -1
  952. package/dist/runner-BObHz5FC.d.mts.map +0 -1
  953. package/dist/runner-C5NeAkBQ.mjs.map +0 -1
  954. package/dist/search-DfVzks89.mjs.map +0 -1
  955. package/dist/settings-CWb84sDm.mjs.map +0 -1
  956. package/dist/storage-query-DRyu3bSU.d.mts.map +0 -1
  957. package/dist/taxonomies-ChnU7Mc8.mjs.map +0 -1
  958. package/dist/taxonomies-Dd9JJv_a.mjs.map +0 -1
  959. package/dist/taxonomy-C_C_LBAU.mjs.map +0 -1
  960. package/dist/transport-BjbqNiPI.mjs.map +0 -1
  961. package/dist/types-BGmQ0uXs.mjs.map +0 -1
  962. package/dist/types-CNB-dj6F.d.mts.map +0 -1
  963. package/dist/types-D2NEXtgB.mjs.map +0 -1
  964. package/dist/types-slSqujQL.d.mts.map +0 -1
  965. package/dist/utils-TPt7w2cS.mjs.map +0 -1
  966. package/dist/version-DHmGpcch.mjs +0 -7
  967. package/dist/widgets-DA5XmvVC.mjs.map +0 -1
  968. package/dist/wxr-taxonomies-CrMonejI.d.mts.map +0 -1
  969. package/dist/wxr-taxonomies-RgRG0d5e.mjs.map +0 -1
  970. package/dist/zod-generator-D0JKy94C.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"comment-reaction-dGp6_FRo.mjs","names":[],"sources":["../src/database/repositories/comment-reaction.ts"],"sourcesContent":["import type { Kysely } from \"kysely\";\nimport { ulid } from \"ulidx\";\n\nimport { SQL_BATCH_SIZE, chunks } from \"../../utils/chunks.js\";\nimport type { Database } from \"../types.js\";\n\n/** Per-comment reaction counts: `{ like: 12, love: 3 }`. */\nexport type ReactionCounts = Record<string, number>;\n\nexport interface ToggleReactionInput {\n\tcommentId: string;\n\treaction: string;\n\tvoterHash: string;\n}\n\n/**\n * Repository for comment reactions (likes / emoji).\n *\n * Reactions are deduped per (comment, voter, reaction) by a unique index, so\n * a second toggle of the same reaction by the same voter removes it.\n */\nexport class CommentReactionRepository {\n\tconstructor(private db: Kysely<Database>) {}\n\n\t/**\n\t * Toggle a reaction for a voter on a comment.\n\t *\n\t * @returns `{ reacted: true }` if the reaction was added, `{ reacted: false }`\n\t * if an existing reaction was removed.\n\t */\n\tasync toggle(input: ToggleReactionInput): Promise<{ reacted: boolean }> {\n\t\t// Idempotent add: insert, or no-op if this voter already has this\n\t\t// reaction. Using ON CONFLICT (rather than read-then-write) avoids a\n\t\t// TOCTOU race where two concurrent toggles both see \"no row\" and the\n\t\t// second INSERT violates the unique index — the old path surfaced that\n\t\t// as a 500. The unique index doubles as the conflict target.\n\t\tconst inserted = await this.db\n\t\t\t.insertInto(\"_emdash_comment_reactions\")\n\t\t\t.values({\n\t\t\t\tid: ulid(),\n\t\t\t\tcomment_id: input.commentId,\n\t\t\t\treaction: input.reaction,\n\t\t\t\tvoter_hash: input.voterHash,\n\t\t\t\tcreated_at: new Date().toISOString(),\n\t\t\t})\n\t\t\t.onConflict((oc) => oc.columns([\"comment_id\", \"voter_hash\", \"reaction\"]).doNothing())\n\t\t\t.executeTakeFirst();\n\n\t\tif ((inserted.numInsertedOrUpdatedRows ?? 0n) > 0n) {\n\t\t\treturn { reacted: true };\n\t\t}\n\n\t\t// The reaction already existed → toggle it off.\n\t\tawait this.db\n\t\t\t.deleteFrom(\"_emdash_comment_reactions\")\n\t\t\t.where(\"comment_id\", \"=\", input.commentId)\n\t\t\t.where(\"voter_hash\", \"=\", input.voterHash)\n\t\t\t.where(\"reaction\", \"=\", input.reaction)\n\t\t\t.execute();\n\t\treturn { reacted: false };\n\t}\n\n\t/**\n\t * Aggregate reaction counts for a set of comments.\n\t *\n\t * @returns a Map keyed by comment id; comments with no reactions are absent.\n\t */\n\tasync countsForComments(commentIds: string[]): Promise<Map<string, ReactionCounts>> {\n\t\tconst result = new Map<string, ReactionCounts>();\n\t\tif (commentIds.length === 0) return result;\n\n\t\tfor (const batch of chunks(commentIds, SQL_BATCH_SIZE)) {\n\t\t\tconst rows = await this.db\n\t\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t\t.select([\"comment_id\", \"reaction\"])\n\t\t\t\t.select((eb) => eb.fn.count<number>(\"id\").as(\"count\"))\n\t\t\t\t.where(\"comment_id\", \"in\", batch)\n\t\t\t\t.groupBy([\"comment_id\", \"reaction\"])\n\t\t\t\t.execute();\n\n\t\t\tfor (const row of rows) {\n\t\t\t\tconst counts = result.get(row.comment_id) ?? {};\n\t\t\t\tcounts[row.reaction] = Number(row.count);\n\t\t\t\tresult.set(row.comment_id, counts);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Which reactions a given voter has set, per comment.\n\t *\n\t * @returns a Map keyed by comment id whose values are the reaction names the\n\t * voter has active on that comment.\n\t */\n\tasync viewerReactions(commentIds: string[], voterHash: string): Promise<Map<string, string[]>> {\n\t\tconst result = new Map<string, string[]>();\n\t\tif (commentIds.length === 0) return result;\n\n\t\tfor (const batch of chunks(commentIds, SQL_BATCH_SIZE)) {\n\t\t\tconst rows = await this.db\n\t\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t\t.select([\"comment_id\", \"reaction\"])\n\t\t\t\t.where(\"comment_id\", \"in\", batch)\n\t\t\t\t.where(\"voter_hash\", \"=\", voterHash)\n\t\t\t\t.execute();\n\n\t\t\tfor (const row of rows) {\n\t\t\t\tconst list = result.get(row.comment_id) ?? [];\n\t\t\t\tlist.push(row.reaction);\n\t\t\t\tresult.set(row.comment_id, list);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Count a voter's reactions within a recent time window (for rate limiting).\n\t */\n\tasync countRecentByVoter(voterHash: string, windowMinutes = 10): Promise<number> {\n\t\tconst cutoff = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();\n\t\tconst result = await this.db\n\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t.select((eb) => eb.fn.count<number>(\"id\").as(\"count\"))\n\t\t\t.where(\"voter_hash\", \"=\", voterHash)\n\t\t\t.where(\"created_at\", \">\", cutoff)\n\t\t\t.executeTakeFirst();\n\t\treturn Number(result?.count ?? 0);\n\t}\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAa,4BAAb,MAAuC;CACtC,YAAY,AAAQ,IAAsB;EAAtB;;;;;;;;CAQpB,MAAM,OAAO,OAA2D;AAkBvE,QAZiB,MAAM,KAAK,GAC1B,WAAW,4BAA4B,CACvC,OAAO;GACP,IAAI,MAAM;GACV,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,YAAY,MAAM;GAClB,6BAAY,IAAI,MAAM,EAAC,aAAa;GACpC,CAAC,CACD,YAAY,OAAO,GAAG,QAAQ;GAAC;GAAc;GAAc;GAAW,CAAC,CAAC,WAAW,CAAC,CACpF,kBAAkB,EAEN,4BAA4B,MAAM,GAC/C,QAAO,EAAE,SAAS,MAAM;AAIzB,QAAM,KAAK,GACT,WAAW,4BAA4B,CACvC,MAAM,cAAc,KAAK,MAAM,UAAU,CACzC,MAAM,cAAc,KAAK,MAAM,UAAU,CACzC,MAAM,YAAY,KAAK,MAAM,SAAS,CACtC,SAAS;AACX,SAAO,EAAE,SAAS,OAAO;;;;;;;CAQ1B,MAAM,kBAAkB,YAA4D;EACnF,MAAM,yBAAS,IAAI,KAA6B;AAChD,MAAI,WAAW,WAAW,EAAG,QAAO;AAEpC,OAAK,MAAM,SAAS,OAAO,YAAY,eAAe,EAAE;GACvD,MAAM,OAAO,MAAM,KAAK,GACtB,WAAW,4BAA4B,CACvC,OAAO,CAAC,cAAc,WAAW,CAAC,CAClC,QAAQ,OAAO,GAAG,GAAG,MAAc,KAAK,CAAC,GAAG,QAAQ,CAAC,CACrD,MAAM,cAAc,MAAM,MAAM,CAChC,QAAQ,CAAC,cAAc,WAAW,CAAC,CACnC,SAAS;AAEX,QAAK,MAAM,OAAO,MAAM;IACvB,MAAM,SAAS,OAAO,IAAI,IAAI,WAAW,IAAI,EAAE;AAC/C,WAAO,IAAI,YAAY,OAAO,IAAI,MAAM;AACxC,WAAO,IAAI,IAAI,YAAY,OAAO;;;AAIpC,SAAO;;;;;;;;CASR,MAAM,gBAAgB,YAAsB,WAAmD;EAC9F,MAAM,yBAAS,IAAI,KAAuB;AAC1C,MAAI,WAAW,WAAW,EAAG,QAAO;AAEpC,OAAK,MAAM,SAAS,OAAO,YAAY,eAAe,EAAE;GACvD,MAAM,OAAO,MAAM,KAAK,GACtB,WAAW,4BAA4B,CACvC,OAAO,CAAC,cAAc,WAAW,CAAC,CAClC,MAAM,cAAc,MAAM,MAAM,CAChC,MAAM,cAAc,KAAK,UAAU,CACnC,SAAS;AAEX,QAAK,MAAM,OAAO,MAAM;IACvB,MAAM,OAAO,OAAO,IAAI,IAAI,WAAW,IAAI,EAAE;AAC7C,SAAK,KAAK,IAAI,SAAS;AACvB,WAAO,IAAI,IAAI,YAAY,KAAK;;;AAIlC,SAAO;;;;;CAMR,MAAM,mBAAmB,WAAmB,gBAAgB,IAAqB;EAChF,MAAM,0BAAS,IAAI,KAAK,KAAK,KAAK,GAAG,gBAAgB,KAAK,IAAK,EAAC,aAAa;EAC7E,MAAM,SAAS,MAAM,KAAK,GACxB,WAAW,4BAA4B,CACvC,QAAQ,OAAO,GAAG,GAAG,MAAc,KAAK,CAAC,GAAG,QAAQ,CAAC,CACrD,MAAM,cAAc,KAAK,UAAU,CACnC,MAAM,cAAc,KAAK,OAAO,CAChC,kBAAkB;AACpB,SAAO,OAAO,QAAQ,SAAS,EAAE"}
1
+ {"version":3,"file":"comment-reaction-BScxIWUn.mjs","names":[],"sources":["../src/database/repositories/comment-reaction.ts"],"sourcesContent":["import type { Kysely } from \"kysely\";\nimport { ulid } from \"ulidx\";\n\nimport { SQL_BATCH_SIZE, chunks } from \"../../utils/chunks.js\";\nimport type { Database } from \"../types.js\";\n\n/** Per-comment reaction counts: `{ like: 12, love: 3 }`. */\nexport type ReactionCounts = Record<string, number>;\n\nexport interface ToggleReactionInput {\n\tcommentId: string;\n\treaction: string;\n\tvoterHash: string;\n}\n\n/**\n * Repository for comment reactions (likes / emoji).\n *\n * Reactions are deduped per (comment, voter, reaction) by a unique index, so\n * a second toggle of the same reaction by the same voter removes it.\n */\nexport class CommentReactionRepository {\n\tconstructor(private db: Kysely<Database>) {}\n\n\t/**\n\t * Toggle a reaction for a voter on a comment.\n\t *\n\t * @returns `{ reacted: true }` if the reaction was added, `{ reacted: false }`\n\t * if an existing reaction was removed.\n\t */\n\tasync toggle(input: ToggleReactionInput): Promise<{ reacted: boolean }> {\n\t\t// Idempotent add: insert, or no-op if this voter already has this\n\t\t// reaction. Using ON CONFLICT (rather than read-then-write) avoids a\n\t\t// TOCTOU race where two concurrent toggles both see \"no row\" and the\n\t\t// second INSERT violates the unique index — the old path surfaced that\n\t\t// as a 500. The unique index doubles as the conflict target.\n\t\tconst inserted = await this.db\n\t\t\t.insertInto(\"_emdash_comment_reactions\")\n\t\t\t.values({\n\t\t\t\tid: ulid(),\n\t\t\t\tcomment_id: input.commentId,\n\t\t\t\treaction: input.reaction,\n\t\t\t\tvoter_hash: input.voterHash,\n\t\t\t\tcreated_at: new Date().toISOString(),\n\t\t\t})\n\t\t\t.onConflict((oc) => oc.columns([\"comment_id\", \"voter_hash\", \"reaction\"]).doNothing())\n\t\t\t.executeTakeFirst();\n\n\t\tif ((inserted.numInsertedOrUpdatedRows ?? 0n) > 0n) {\n\t\t\treturn { reacted: true };\n\t\t}\n\n\t\t// The reaction already existed → toggle it off.\n\t\tawait this.db\n\t\t\t.deleteFrom(\"_emdash_comment_reactions\")\n\t\t\t.where(\"comment_id\", \"=\", input.commentId)\n\t\t\t.where(\"voter_hash\", \"=\", input.voterHash)\n\t\t\t.where(\"reaction\", \"=\", input.reaction)\n\t\t\t.execute();\n\t\treturn { reacted: false };\n\t}\n\n\t/**\n\t * Aggregate reaction counts for a set of comments.\n\t *\n\t * @returns a Map keyed by comment id; comments with no reactions are absent.\n\t */\n\tasync countsForComments(commentIds: string[]): Promise<Map<string, ReactionCounts>> {\n\t\tconst result = new Map<string, ReactionCounts>();\n\t\tif (commentIds.length === 0) return result;\n\n\t\tfor (const batch of chunks(commentIds, SQL_BATCH_SIZE)) {\n\t\t\tconst rows = await this.db\n\t\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t\t.select([\"comment_id\", \"reaction\"])\n\t\t\t\t.select((eb) => eb.fn.count<number>(\"id\").as(\"count\"))\n\t\t\t\t.where(\"comment_id\", \"in\", batch)\n\t\t\t\t.groupBy([\"comment_id\", \"reaction\"])\n\t\t\t\t.execute();\n\n\t\t\tfor (const row of rows) {\n\t\t\t\tconst counts = result.get(row.comment_id) ?? {};\n\t\t\t\tcounts[row.reaction] = Number(row.count);\n\t\t\t\tresult.set(row.comment_id, counts);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Which reactions a given voter has set, per comment.\n\t *\n\t * @returns a Map keyed by comment id whose values are the reaction names the\n\t * voter has active on that comment.\n\t */\n\tasync viewerReactions(commentIds: string[], voterHash: string): Promise<Map<string, string[]>> {\n\t\tconst result = new Map<string, string[]>();\n\t\tif (commentIds.length === 0) return result;\n\n\t\tfor (const batch of chunks(commentIds, SQL_BATCH_SIZE)) {\n\t\t\tconst rows = await this.db\n\t\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t\t.select([\"comment_id\", \"reaction\"])\n\t\t\t\t.where(\"comment_id\", \"in\", batch)\n\t\t\t\t.where(\"voter_hash\", \"=\", voterHash)\n\t\t\t\t.execute();\n\n\t\t\tfor (const row of rows) {\n\t\t\t\tconst list = result.get(row.comment_id) ?? [];\n\t\t\t\tlist.push(row.reaction);\n\t\t\t\tresult.set(row.comment_id, list);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Count a voter's reactions within a recent time window (for rate limiting).\n\t */\n\tasync countRecentByVoter(voterHash: string, windowMinutes = 10): Promise<number> {\n\t\tconst cutoff = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();\n\t\tconst result = await this.db\n\t\t\t.selectFrom(\"_emdash_comment_reactions\")\n\t\t\t.select((eb) => eb.fn.count<number>(\"id\").as(\"count\"))\n\t\t\t.where(\"voter_hash\", \"=\", voterHash)\n\t\t\t.where(\"created_at\", \">\", cutoff)\n\t\t\t.executeTakeFirst();\n\t\treturn Number(result?.count ?? 0);\n\t}\n}\n"],"mappings":";;;;;;;;;;AAqBA,IAAa,4BAAb,MAAuC;CACtC,YAAY,AAAQ,IAAsB;EAAtB;;;;;;;;CAQpB,MAAM,OAAO,OAA2D;AAkBvE,QAZiB,MAAM,KAAK,GAC1B,WAAW,4BAA4B,CACvC,OAAO;GACP,IAAI,MAAM;GACV,YAAY,MAAM;GAClB,UAAU,MAAM;GAChB,YAAY,MAAM;GAClB,6BAAY,IAAI,MAAM,EAAC,aAAa;GACpC,CAAC,CACD,YAAY,OAAO,GAAG,QAAQ;GAAC;GAAc;GAAc;GAAW,CAAC,CAAC,WAAW,CAAC,CACpF,kBAAkB,EAEN,4BAA4B,MAAM,GAC/C,QAAO,EAAE,SAAS,MAAM;AAIzB,QAAM,KAAK,GACT,WAAW,4BAA4B,CACvC,MAAM,cAAc,KAAK,MAAM,UAAU,CACzC,MAAM,cAAc,KAAK,MAAM,UAAU,CACzC,MAAM,YAAY,KAAK,MAAM,SAAS,CACtC,SAAS;AACX,SAAO,EAAE,SAAS,OAAO;;;;;;;CAQ1B,MAAM,kBAAkB,YAA4D;EACnF,MAAM,yBAAS,IAAI,KAA6B;AAChD,MAAI,WAAW,WAAW,EAAG,QAAO;AAEpC,OAAK,MAAM,SAAS,OAAO,YAAY,eAAe,EAAE;GACvD,MAAM,OAAO,MAAM,KAAK,GACtB,WAAW,4BAA4B,CACvC,OAAO,CAAC,cAAc,WAAW,CAAC,CAClC,QAAQ,OAAO,GAAG,GAAG,MAAc,KAAK,CAAC,GAAG,QAAQ,CAAC,CACrD,MAAM,cAAc,MAAM,MAAM,CAChC,QAAQ,CAAC,cAAc,WAAW,CAAC,CACnC,SAAS;AAEX,QAAK,MAAM,OAAO,MAAM;IACvB,MAAM,SAAS,OAAO,IAAI,IAAI,WAAW,IAAI,EAAE;AAC/C,WAAO,IAAI,YAAY,OAAO,IAAI,MAAM;AACxC,WAAO,IAAI,IAAI,YAAY,OAAO;;;AAIpC,SAAO;;;;;;;;CASR,MAAM,gBAAgB,YAAsB,WAAmD;EAC9F,MAAM,yBAAS,IAAI,KAAuB;AAC1C,MAAI,WAAW,WAAW,EAAG,QAAO;AAEpC,OAAK,MAAM,SAAS,OAAO,YAAY,eAAe,EAAE;GACvD,MAAM,OAAO,MAAM,KAAK,GACtB,WAAW,4BAA4B,CACvC,OAAO,CAAC,cAAc,WAAW,CAAC,CAClC,MAAM,cAAc,MAAM,MAAM,CAChC,MAAM,cAAc,KAAK,UAAU,CACnC,SAAS;AAEX,QAAK,MAAM,OAAO,MAAM;IACvB,MAAM,OAAO,OAAO,IAAI,IAAI,WAAW,IAAI,EAAE;AAC7C,SAAK,KAAK,IAAI,SAAS;AACvB,WAAO,IAAI,IAAI,YAAY,KAAK;;;AAIlC,SAAO;;;;;CAMR,MAAM,mBAAmB,WAAmB,gBAAgB,IAAqB;EAChF,MAAM,0BAAS,IAAI,KAAK,KAAK,KAAK,GAAG,gBAAgB,KAAK,IAAK,EAAC,aAAa;EAC7E,MAAM,SAAS,MAAM,KAAK,GACxB,WAAW,4BAA4B,CACvC,QAAQ,OAAO,GAAG,GAAG,MAAc,KAAK,CAAC,GAAG,QAAQ,CAAC,CACrD,MAAM,cAAc,KAAK,UAAU,CACnC,MAAM,cAAc,KAAK,OAAO,CAChC,kBAAkB;AACpB,SAAO,OAAO,QAAQ,SAAS,EAAE"}
@@ -1,5 +1,5 @@
1
- import { i as InvalidCursorError } from "./types-D2NEXtgB.mjs";
2
- import { t as CommentRepository } from "./comment-UvIWDKcW.mjs";
1
+ import { a as InvalidCursorError } from "./types-DwhEvIVb.mjs";
2
+ import { t as CommentRepository } from "./comment-DB74Zpa4.mjs";
3
3
 
4
4
  //#region src/api/handlers/comments.ts
5
5
  async function handleCommentList(db, collection, contentId, options = {}) {
@@ -192,4 +192,4 @@ async function hashIp(ip, salt) {
192
192
 
193
193
  //#endregion
194
194
  export { handleCommentInbox as a, handleCommentGet as i, handleCommentCounts as n, handleCommentList as o, handleCommentDelete as r, hashIp as s, handleCommentBulk as t };
195
- //# sourceMappingURL=comments-pej-_BUO.mjs.map
195
+ //# sourceMappingURL=comments-Cor_zKml.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"comments-pej-_BUO.mjs","names":[],"sources":["../src/api/handlers/comments.ts"],"sourcesContent":["/**\n * Comment handlers — business logic for comment API routes.\n *\n * Standalone functions that return ApiResult<T>. Routes are thin wrappers.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport { CommentRepository } from \"../../database/repositories/comment.js\";\nimport type { Comment, CommentStatus, PublicComment } from \"../../database/repositories/comment.js\";\nimport { InvalidCursorError } from \"../../database/repositories/types.js\";\nimport type { Database } from \"../../database/types.js\";\nimport type { ApiResult } from \"../types.js\";\n\n// ---------------------------------------------------------------------------\n// Public: List approved comments for content\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentList(\n\tdb: Kysely<Database>,\n\tcollection: string,\n\tcontentId: string,\n\toptions: { limit?: number; cursor?: string; threaded?: boolean } = {},\n): Promise<ApiResult<{ items: PublicComment[]; nextCursor?: string; total: number }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\n\t\t// Get total approved count\n\t\tconst total = await repo.countByContent(collection, contentId, \"approved\");\n\n\t\tlet publicItems: PublicComment[];\n\t\tlet nextCursor: string | undefined;\n\n\t\tif (options.threaded) {\n\t\t\t// Threaded mode: fetch all approved comments (capped) so threading\n\t\t\t// doesn't lose children that would fall on later pages.\n\t\t\tconst MAX_THREADED = 500;\n\t\t\tconst result = await repo.findByContent(collection, contentId, {\n\t\t\t\tstatus: \"approved\",\n\t\t\t\tlimit: MAX_THREADED,\n\t\t\t});\n\t\t\tconst threaded = CommentRepository.assembleThreads(result.items);\n\t\t\tpublicItems = threaded.map((c) => CommentRepository.toPublicComment(c));\n\t\t\t// No cursor for threaded mode — all comments returned at once\n\t\t} else {\n\t\t\tconst result = await repo.findByContent(collection, contentId, {\n\t\t\t\tstatus: \"approved\",\n\t\t\t\tlimit: options.limit,\n\t\t\t\tcursor: options.cursor,\n\t\t\t});\n\t\t\tpublicItems = result.items.map((c) => CommentRepository.toPublicComment(c));\n\t\t\tnextCursor = result.nextCursor;\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\titems: publicItems,\n\t\t\t\tnextCursor,\n\t\t\t\ttotal,\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\tif (error instanceof InvalidCursorError) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"INVALID_CURSOR\", message: error.message },\n\t\t\t};\n\t\t}\n\t\tconsole.error(\"Comment list error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_LIST_ERROR\",\n\t\t\t\tmessage: \"Failed to list comments\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Moderation inbox\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentInbox(\n\tdb: Kysely<Database>,\n\toptions: {\n\t\tstatus?: CommentStatus;\n\t\tcollection?: string;\n\t\tsearch?: string;\n\t\tlimit?: number;\n\t\tcursor?: string;\n\t} = {},\n): Promise<ApiResult<{ items: Comment[]; nextCursor?: string }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst status = options.status ?? \"pending\";\n\n\t\tconst result = await repo.findByStatus(status, {\n\t\t\tcollection: options.collection,\n\t\t\tsearch: options.search,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\titems: result.items,\n\t\t\t\tnextCursor: result.nextCursor,\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\tif (error instanceof InvalidCursorError) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"INVALID_CURSOR\", message: error.message },\n\t\t\t};\n\t\t}\n\t\tconsole.error(\"Comment inbox error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_INBOX_ERROR\",\n\t\t\t\tmessage: \"Failed to list comments\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Status counts for inbox badges\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentCounts(\n\tdb: Kysely<Database>,\n): Promise<ApiResult<Record<CommentStatus, number>>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst counts = await repo.countByStatus();\n\t\treturn { success: true, data: counts };\n\t} catch (error) {\n\t\tconsole.error(\"Comment counts error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_COUNTS_ERROR\",\n\t\t\t\tmessage: \"Failed to get comment counts\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Get single comment detail\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentGet(\n\tdb: Kysely<Database>,\n\tid: string,\n): Promise<ApiResult<Comment>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst comment = await repo.findById(id);\n\n\t\tif (!comment) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: comment };\n\t} catch (error) {\n\t\tconsole.error(\"Comment get error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_GET_ERROR\",\n\t\t\t\tmessage: \"Failed to get comment\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Change comment status\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentStatusChange(\n\tdb: Kysely<Database>,\n\tid: string,\n\tstatus: CommentStatus,\n): Promise<ApiResult<Comment>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst updated = await repo.updateStatus(id, status);\n\n\t\tif (!updated) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: updated };\n\t} catch (error) {\n\t\tconsole.error(\"Comment status change error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_STATUS_ERROR\",\n\t\t\t\tmessage: \"Failed to update comment status\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Hard delete comment\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentDelete(\n\tdb: Kysely<Database>,\n\tid: string,\n): Promise<ApiResult<{ deleted: true }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst deleted = await repo.delete(id);\n\n\t\tif (!deleted) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: { deleted: true } };\n\t} catch (error) {\n\t\tconsole.error(\"Comment delete error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_DELETE_ERROR\",\n\t\t\t\tmessage: \"Failed to delete comment\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Bulk operations\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentBulk(\n\tdb: Kysely<Database>,\n\tids: string[],\n\taction: \"approve\" | \"spam\" | \"trash\" | \"delete\",\n): Promise<ApiResult<{ affected: number }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\n\t\tlet affected: number;\n\t\tif (action === \"delete\") {\n\t\t\taffected = await repo.bulkDelete(ids);\n\t\t} else {\n\t\t\tconst statusMap: Record<string, CommentStatus> = {\n\t\t\t\tapprove: \"approved\",\n\t\t\t\tspam: \"spam\",\n\t\t\t\ttrash: \"trash\",\n\t\t\t};\n\t\t\taffected = await repo.bulkUpdateStatus(ids, statusMap[action]);\n\t\t}\n\n\t\treturn { success: true, data: { affected } };\n\t} catch (error) {\n\t\tconsole.error(\"Comment bulk error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_BULK_ERROR\",\n\t\t\t\tmessage: \"Failed to perform bulk operation\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n/**\n * Hash an IP address for storage (never store cleartext IPs).\n *\n * Uses full SHA-256 with a site-specific salt to prevent rainbow-table\n * recovery of IPs. The salt must be provided by the caller — typically\n * via `resolveSecretsCached(db).ipSalt` from `#config/secrets.js`. The\n * salt is generated and persisted on first need so it's stable across\n * requests within a deployment but unique per install.\n */\nexport async function hashIp(ip: string, salt: string): Promise<string> {\n\tconst data = `ip:${salt}:${ip}`;\n\tconst buf = await crypto.subtle.digest(\"SHA-256\", new TextEncoder().encode(data));\n\treturn Array.from(new Uint8Array(buf), (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"comments-Cor_zKml.mjs","names":[],"sources":["../src/api/handlers/comments.ts"],"sourcesContent":["/**\n * Comment handlers — business logic for comment API routes.\n *\n * Standalone functions that return ApiResult<T>. Routes are thin wrappers.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport { CommentRepository } from \"../../database/repositories/comment.js\";\nimport type { Comment, CommentStatus, PublicComment } from \"../../database/repositories/comment.js\";\nimport { InvalidCursorError } from \"../../database/repositories/types.js\";\nimport type { Database } from \"../../database/types.js\";\nimport type { ApiResult } from \"../types.js\";\n\n// ---------------------------------------------------------------------------\n// Public: List approved comments for content\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentList(\n\tdb: Kysely<Database>,\n\tcollection: string,\n\tcontentId: string,\n\toptions: { limit?: number; cursor?: string; threaded?: boolean } = {},\n): Promise<ApiResult<{ items: PublicComment[]; nextCursor?: string; total: number }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\n\t\t// Get total approved count\n\t\tconst total = await repo.countByContent(collection, contentId, \"approved\");\n\n\t\tlet publicItems: PublicComment[];\n\t\tlet nextCursor: string | undefined;\n\n\t\tif (options.threaded) {\n\t\t\t// Threaded mode: fetch all approved comments (capped) so threading\n\t\t\t// doesn't lose children that would fall on later pages.\n\t\t\tconst MAX_THREADED = 500;\n\t\t\tconst result = await repo.findByContent(collection, contentId, {\n\t\t\t\tstatus: \"approved\",\n\t\t\t\tlimit: MAX_THREADED,\n\t\t\t});\n\t\t\tconst threaded = CommentRepository.assembleThreads(result.items);\n\t\t\tpublicItems = threaded.map((c) => CommentRepository.toPublicComment(c));\n\t\t\t// No cursor for threaded mode — all comments returned at once\n\t\t} else {\n\t\t\tconst result = await repo.findByContent(collection, contentId, {\n\t\t\t\tstatus: \"approved\",\n\t\t\t\tlimit: options.limit,\n\t\t\t\tcursor: options.cursor,\n\t\t\t});\n\t\t\tpublicItems = result.items.map((c) => CommentRepository.toPublicComment(c));\n\t\t\tnextCursor = result.nextCursor;\n\t\t}\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\titems: publicItems,\n\t\t\t\tnextCursor,\n\t\t\t\ttotal,\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\tif (error instanceof InvalidCursorError) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"INVALID_CURSOR\", message: error.message },\n\t\t\t};\n\t\t}\n\t\tconsole.error(\"Comment list error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_LIST_ERROR\",\n\t\t\t\tmessage: \"Failed to list comments\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Moderation inbox\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentInbox(\n\tdb: Kysely<Database>,\n\toptions: {\n\t\tstatus?: CommentStatus;\n\t\tcollection?: string;\n\t\tsearch?: string;\n\t\tlimit?: number;\n\t\tcursor?: string;\n\t} = {},\n): Promise<ApiResult<{ items: Comment[]; nextCursor?: string }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst status = options.status ?? \"pending\";\n\n\t\tconst result = await repo.findByStatus(status, {\n\t\t\tcollection: options.collection,\n\t\t\tsearch: options.search,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\titems: result.items,\n\t\t\t\tnextCursor: result.nextCursor,\n\t\t\t},\n\t\t};\n\t} catch (error) {\n\t\tif (error instanceof InvalidCursorError) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"INVALID_CURSOR\", message: error.message },\n\t\t\t};\n\t\t}\n\t\tconsole.error(\"Comment inbox error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_INBOX_ERROR\",\n\t\t\t\tmessage: \"Failed to list comments\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Status counts for inbox badges\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentCounts(\n\tdb: Kysely<Database>,\n): Promise<ApiResult<Record<CommentStatus, number>>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst counts = await repo.countByStatus();\n\t\treturn { success: true, data: counts };\n\t} catch (error) {\n\t\tconsole.error(\"Comment counts error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_COUNTS_ERROR\",\n\t\t\t\tmessage: \"Failed to get comment counts\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Get single comment detail\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentGet(\n\tdb: Kysely<Database>,\n\tid: string,\n): Promise<ApiResult<Comment>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst comment = await repo.findById(id);\n\n\t\tif (!comment) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: comment };\n\t} catch (error) {\n\t\tconsole.error(\"Comment get error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_GET_ERROR\",\n\t\t\t\tmessage: \"Failed to get comment\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Change comment status\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentStatusChange(\n\tdb: Kysely<Database>,\n\tid: string,\n\tstatus: CommentStatus,\n): Promise<ApiResult<Comment>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst updated = await repo.updateStatus(id, status);\n\n\t\tif (!updated) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: updated };\n\t} catch (error) {\n\t\tconsole.error(\"Comment status change error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_STATUS_ERROR\",\n\t\t\t\tmessage: \"Failed to update comment status\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Hard delete comment\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentDelete(\n\tdb: Kysely<Database>,\n\tid: string,\n): Promise<ApiResult<{ deleted: true }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\t\tconst deleted = await repo.delete(id);\n\n\t\tif (!deleted) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: `Comment not found: ${id}` },\n\t\t\t};\n\t\t}\n\n\t\treturn { success: true, data: { deleted: true } };\n\t} catch (error) {\n\t\tconsole.error(\"Comment delete error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_DELETE_ERROR\",\n\t\t\t\tmessage: \"Failed to delete comment\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Admin: Bulk operations\n// ---------------------------------------------------------------------------\n\nexport async function handleCommentBulk(\n\tdb: Kysely<Database>,\n\tids: string[],\n\taction: \"approve\" | \"spam\" | \"trash\" | \"delete\",\n): Promise<ApiResult<{ affected: number }>> {\n\ttry {\n\t\tconst repo = new CommentRepository(db);\n\n\t\tlet affected: number;\n\t\tif (action === \"delete\") {\n\t\t\taffected = await repo.bulkDelete(ids);\n\t\t} else {\n\t\t\tconst statusMap: Record<string, CommentStatus> = {\n\t\t\t\tapprove: \"approved\",\n\t\t\t\tspam: \"spam\",\n\t\t\t\ttrash: \"trash\",\n\t\t\t};\n\t\t\taffected = await repo.bulkUpdateStatus(ids, statusMap[action]);\n\t\t}\n\n\t\treturn { success: true, data: { affected } };\n\t} catch (error) {\n\t\tconsole.error(\"Comment bulk error:\", error);\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"COMMENT_BULK_ERROR\",\n\t\t\t\tmessage: \"Failed to perform bulk operation\",\n\t\t\t},\n\t\t};\n\t}\n}\n\n/**\n * Hash an IP address for storage (never store cleartext IPs).\n *\n * Uses full SHA-256 with a site-specific salt to prevent rainbow-table\n * recovery of IPs. The salt must be provided by the caller — typically\n * via `resolveSecretsCached(db).ipSalt` from `#config/secrets.js`. The\n * salt is generated and persisted on first need so it's stable across\n * requests within a deployment but unique per install.\n */\nexport async function hashIp(ip: string, salt: string): Promise<string> {\n\tconst data = `ip:${salt}:${ip}`;\n\tconst buf = await crypto.subtle.digest(\"SHA-256\", new TextEncoder().encode(data));\n\treturn Array.from(new Uint8Array(buf), (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\n"],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ //#region src/i18n/config.ts
2
+ const LOCALE_CODE_PATTERN = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
3
+ const I18N_CONFIG_KEY = Symbol.for("emdash:i18n-config");
4
+ function configStore() {
5
+ return globalThis;
6
+ }
7
+ /**
8
+ * Initialize i18n config from virtual module data.
9
+ * Called during runtime initialization.
10
+ */
11
+ function setI18nConfig(config) {
12
+ configStore()[I18N_CONFIG_KEY] = config;
13
+ }
14
+ /**
15
+ * Get the current i18n config.
16
+ * Returns null if i18n is not configured.
17
+ */
18
+ function getI18nConfig() {
19
+ return configStore()[I18N_CONFIG_KEY] ?? null;
20
+ }
21
+ /** Match a locale path or Astro code to the canonical content locale. */
22
+ function resolveConfiguredLocale(locale, config = getI18nConfig()) {
23
+ const configured = config?.locales.find((candidate) => candidate.toLowerCase() === locale.toLowerCase());
24
+ if (configured) return configured;
25
+ const aliased = Object.entries(config?.localeAliases ?? {}).find(([code]) => code.toLowerCase() === locale.toLowerCase())?.[1];
26
+ if (aliased === void 0) return locale;
27
+ return config?.locales.find((candidate) => candidate.toLowerCase() === aliased.toLowerCase()) ?? aliased;
28
+ }
29
+ /** Stored locale spellings for one configured locale, in read-preference order. */
30
+ function getLocaleCandidates(locale) {
31
+ const canonical = resolveConfiguredLocale(locale);
32
+ const candidates = [canonical];
33
+ const seen = new Set([canonical.toLowerCase()]);
34
+ for (const code of Object.keys(getI18nConfig()?.localeAliases ?? {})) if (resolveConfiguredLocale(code) === canonical && !seen.has(code.toLowerCase())) {
35
+ candidates.push(code);
36
+ seen.add(code.toLowerCase());
37
+ }
38
+ return candidates;
39
+ }
40
+ /** Rank a stored row's locale for a lookup by path or code. */
41
+ function getLocaleRank(stored, requested) {
42
+ const candidates = getLocaleCandidates(requested);
43
+ const rank = candidates.findIndex((candidate) => candidate.toLowerCase() === stored.toLowerCase());
44
+ return rank === -1 ? candidates.length : rank;
45
+ }
46
+ /** Rank stored locale variants before moving to the next fallback locale. */
47
+ function getLocaleChainRank(stored, chain) {
48
+ let offset = 0;
49
+ for (const locale of chain) {
50
+ const candidates = getLocaleCandidates(locale);
51
+ const rank = getLocaleRank(stored, locale);
52
+ if (rank < candidates.length) return offset + rank;
53
+ offset += candidates.length;
54
+ }
55
+ return offset;
56
+ }
57
+ /** Whether a string matches the locale-code subset accepted by EmDash. */
58
+ function isValidLocaleCode(locale) {
59
+ return LOCALE_CODE_PATTERN.test(locale);
60
+ }
61
+ /** Resolve the locale for a new content row. */
62
+ function resolveContentCreateLocale(locale, config = getI18nConfig()) {
63
+ if (locale !== void 0) {
64
+ if (typeof locale !== "string") throw new Error("Invalid locale code: expected a string");
65
+ const configured = resolveConfiguredLocale(locale, config);
66
+ if (config?.locales.includes(configured)) return configured;
67
+ if (!isValidLocaleCode(locale)) throw new Error(`Invalid locale code: "${locale}"`);
68
+ if (config) throw new Error(`Locale "${locale}" is not configured for this site`);
69
+ return locale;
70
+ }
71
+ return config?.defaultLocale ?? "en";
72
+ }
73
+ /**
74
+ * Check if i18n is enabled.
75
+ * Returns true when multiple locales are configured.
76
+ */
77
+ function isI18nEnabled() {
78
+ const config = getI18nConfig();
79
+ return config != null && config.locales.length > 1;
80
+ }
81
+ /**
82
+ * Resolve fallback locale chain for a given locale.
83
+ * Returns array of locales to try, from most preferred to least.
84
+ * Always ends with defaultLocale.
85
+ */
86
+ function getFallbackChain(locale) {
87
+ const config = getI18nConfig();
88
+ if (!config) return [locale];
89
+ locale = resolveConfiguredLocale(locale, config);
90
+ const chain = [locale];
91
+ let current = locale;
92
+ const visited = new Set([locale]);
93
+ while (config.fallback?.[current]) {
94
+ const next = resolveConfiguredLocale(config.fallback[current], config);
95
+ if (visited.has(next)) break;
96
+ chain.push(next);
97
+ visited.add(next);
98
+ current = next;
99
+ }
100
+ if (!visited.has(config.defaultLocale)) chain.push(config.defaultLocale);
101
+ return chain;
102
+ }
103
+
104
+ //#endregion
105
+ export { getLocaleChainRank as a, isValidLocaleCode as c, setI18nConfig as d, getLocaleCandidates as i, resolveConfiguredLocale as l, getFallbackChain as n, getLocaleRank as o, getI18nConfig as r, isI18nEnabled as s, LOCALE_CODE_PATTERN as t, resolveContentCreateLocale as u };
106
+ //# sourceMappingURL=config-Cs_AwWXI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-Cs_AwWXI.mjs","names":[],"sources":["../src/i18n/config.ts"],"sourcesContent":["/**\n * EmDash i18n Configuration\n *\n * Reads locale configuration from the virtual module (sourced from Astro config).\n * Initialized during runtime startup, then available via getI18nConfig().\n */\n\nexport interface I18nConfig {\n\tdefaultLocale: string;\n\tlocales: string[];\n\t/** Astro locale codes mapped to their canonical content locale paths. */\n\tlocaleAliases?: Record<string, string>;\n\tfallback?: Record<string, string>;\n\tprefixDefaultLocale?: boolean;\n}\n\nexport const LOCALE_CODE_PATTERN = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;\n\nconst I18N_CONFIG_KEY = Symbol.for(\"emdash:i18n-config\");\n\nfunction configStore(): Record<symbol, I18nConfig | null | undefined> {\n\treturn globalThis;\n}\n\n/**\n * Initialize i18n config from virtual module data.\n * Called during runtime initialization.\n */\nexport function setI18nConfig(config: I18nConfig | null): void {\n\tconfigStore()[I18N_CONFIG_KEY] = config;\n}\n\n/**\n * Get the current i18n config.\n * Returns null if i18n is not configured.\n */\nexport function getI18nConfig(): I18nConfig | null {\n\treturn configStore()[I18N_CONFIG_KEY] ?? null;\n}\n\n/** Match a locale path or Astro code to the canonical content locale. */\nexport function resolveConfiguredLocale(\n\tlocale: string,\n\tconfig: I18nConfig | null = getI18nConfig(),\n): string {\n\tconst configured = config?.locales.find(\n\t\t(candidate) => candidate.toLowerCase() === locale.toLowerCase(),\n\t);\n\tif (configured) return configured;\n\n\tconst aliased = Object.entries(config?.localeAliases ?? {}).find(\n\t\t([code]) => code.toLowerCase() === locale.toLowerCase(),\n\t)?.[1];\n\tif (aliased === undefined) return locale;\n\n\treturn (\n\t\tconfig?.locales.find((candidate) => candidate.toLowerCase() === aliased.toLowerCase()) ??\n\t\taliased\n\t);\n}\n\n/** Stored locale spellings for one configured locale, in read-preference order. */\nexport function getLocaleCandidates(locale: string): string[] {\n\tconst canonical = resolveConfiguredLocale(locale);\n\tconst candidates = [canonical];\n\tconst seen = new Set([canonical.toLowerCase()]);\n\tfor (const code of Object.keys(getI18nConfig()?.localeAliases ?? {})) {\n\t\tif (resolveConfiguredLocale(code) === canonical && !seen.has(code.toLowerCase())) {\n\t\t\tcandidates.push(code);\n\t\t\tseen.add(code.toLowerCase());\n\t\t}\n\t}\n\treturn candidates;\n}\n\n/** Rank a stored row's locale for a lookup by path or code. */\nexport function getLocaleRank(stored: string, requested: string): number {\n\tconst candidates = getLocaleCandidates(requested);\n\tconst rank = candidates.findIndex(\n\t\t(candidate) => candidate.toLowerCase() === stored.toLowerCase(),\n\t);\n\treturn rank === -1 ? candidates.length : rank;\n}\n\n/** Rank stored locale variants before moving to the next fallback locale. */\nexport function getLocaleChainRank(stored: string, chain: readonly string[]): number {\n\tlet offset = 0;\n\tfor (const locale of chain) {\n\t\tconst candidates = getLocaleCandidates(locale);\n\t\tconst rank = getLocaleRank(stored, locale);\n\t\tif (rank < candidates.length) return offset + rank;\n\t\toffset += candidates.length;\n\t}\n\treturn offset;\n}\n\n/** Whether a string matches the locale-code subset accepted by EmDash. */\nexport function isValidLocaleCode(locale: string): boolean {\n\treturn LOCALE_CODE_PATTERN.test(locale);\n}\n\n/** Resolve the locale for a new content row. */\nexport function resolveContentCreateLocale(\n\tlocale: unknown,\n\tconfig: I18nConfig | null = getI18nConfig(),\n): string {\n\tif (locale !== undefined) {\n\t\tif (typeof locale !== \"string\") {\n\t\t\tthrow new Error(\"Invalid locale code: expected a string\");\n\t\t}\n\t\tconst configured = resolveConfiguredLocale(locale, config);\n\t\tif (config?.locales.includes(configured)) return configured;\n\t\tif (!isValidLocaleCode(locale)) {\n\t\t\tthrow new Error(`Invalid locale code: \"${locale}\"`);\n\t\t}\n\t\tif (config) {\n\t\t\tthrow new Error(`Locale \"${locale}\" is not configured for this site`);\n\t\t}\n\t\treturn locale;\n\t}\n\n\treturn config?.defaultLocale ?? \"en\";\n}\n\n/**\n * Check if i18n is enabled.\n * Returns true when multiple locales are configured.\n */\nexport function isI18nEnabled(): boolean {\n\tconst config = getI18nConfig();\n\treturn config != null && config.locales.length > 1;\n}\n\n/**\n * Resolve fallback locale chain for a given locale.\n * Returns array of locales to try, from most preferred to least.\n * Always ends with defaultLocale.\n */\nexport function getFallbackChain(locale: string): string[] {\n\tconst config = getI18nConfig();\n\tif (!config) return [locale];\n\n\tlocale = resolveConfiguredLocale(locale, config);\n\tconst chain: string[] = [locale];\n\tlet current = locale;\n\tconst visited = new Set<string>([locale]);\n\n\twhile (config.fallback?.[current]) {\n\t\t// eslint-disable-next-line typescript/no-unnecessary-type-assertion -- noUncheckedIndexedAccess\n\t\tconst next = resolveConfiguredLocale(config.fallback[current]!, config);\n\t\tif (visited.has(next)) break; // prevent cycles\n\t\tchain.push(next);\n\t\tvisited.add(next);\n\t\tcurrent = next;\n\t}\n\n\t// Always end with defaultLocale if not already in chain\n\tif (!visited.has(config.defaultLocale)) {\n\t\tchain.push(config.defaultLocale);\n\t}\n\n\treturn chain;\n}\n"],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  interface I18nConfig {
9
9
  defaultLocale: string;
10
10
  locales: string[];
11
+ /** Astro locale codes mapped to their canonical content locale paths. */
12
+ localeAliases?: Record<string, string>;
11
13
  fallback?: Record<string, string>;
12
14
  prefixDefaultLocale?: boolean;
13
15
  }
@@ -36,4 +38,4 @@ declare function isI18nEnabled(): boolean;
36
38
  declare function getFallbackChain(locale: string): string[];
37
39
  //#endregion
38
40
  export { resolveContentCreateLocale as a, isI18nEnabled as i, getFallbackChain as n, setI18nConfig as o, getI18nConfig as r, I18nConfig as t };
39
- //# sourceMappingURL=config-CFMojMFK.d.mts.map
41
+ //# sourceMappingURL=config-D44_8G9J.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-D44_8G9J.d.mts","names":[],"sources":["../src/i18n/config.ts"],"mappings":";;AAOA;;;;;UAAiB,UAAA;EAChB,aAAA;EACA,OAAA;EAGA;EADA,aAAA,GAAgB,MAAA;EAChB,QAAA,GAAW,MAAA;EACX,mBAAA;AAAA;;;;;iBAee,aAAA,CAAc,MAAA,EAAQ,UAAA;;;;;iBAQtB,aAAA,CAAA,GAAiB,UAAA;;iBAkEjB,0BAAA,CACf,MAAA,WACA,MAAA,GAAQ,UAAA;;AAkCT;;;iBAVgB,aAAA,CAAA;;;;;;iBAUA,gBAAA,CAAiB,MAAA"}
@@ -1,18 +1,18 @@
1
- import { r as ContentFieldFilters } from "./content-list-query-CYKcY6Vi.mjs";
2
- import { a as CollectionWithFields, b as ApplySeedBlockTypeInput, c as CreateFieldInput, d as Field, j as UpdateBlockTypeInput, k as CreateBlockTypeInput, p as FieldValidation, s as CreateCollectionInput, t as Collection, v as UpdateCollectionInput, w as BlockType, y as UpdateFieldInput } from "./types-RLgeIpnF.mjs";
3
- import { i as ContentItem, o as ContentSeoInput, r as ContentDateField, t as BylineSummary, u as FindManyResult } from "./types-CNB-dj6F.mjs";
4
- import { _ as ManifestResponse, d as ContentResponse, l as ApiResult, u as ContentListResponse } from "./parse-CWHOFc6z.mjs";
5
- import { t as Database } from "./types-DCFavOii.mjs";
6
- import { Bt as PageMetadataContribution, C as CommentModerateEvent, Cn as ResolvedPlugin, Dn as SettingField, Ft as ModerationDecision, Lt as PageFragmentContribution, Mt as MediaItem, Nt as MediaMetadataPatch, Q as ContentSaveHookDetails, Qt as PluginContentCreateCallback, Un as UserInfo, Xt as PluginComment, Yt as PluginCapability, Zt as PluginCommentStatus, _ as CommentAfterModerateEvent, an as PluginManifest, at as CronEvent, cn as PluginRouteDefinition, en as PluginDefinition, f as CollectionCommentSettings, fn as PublicPageContext, h as CommentAfterCreateEvent, k as ContentActionOrigin, ln as PluginStorageConfig, on as PluginMcpManifestConfig, rn as PluginEditorPanel, rt as ContentWriteInput, t as ActorInfo, tn as PluginEditorAction, un as PortableTextBlockConfig, y as CommentBeforeCreateEvent, yt as FieldWidgetConfig } from "./types-QoPHm-2w.mjs";
7
- import { _r as MediaUsageProgress, ar as MediaUsageActivationAdvanceRequest, br as MediaUsageRepairResponse, or as MediaUsageActivationAdvanceResponse, yr as MediaUsageRepairRequest } from "./entry-lock-C7VX0NGK.mjs";
8
- import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-D41vk11_.mjs";
9
- import { $ as MediaItem$1, A as ContentActionCallbacks, J as HookPipeline, S as SandboxRunnerFactory, Y as HookResult, _ as SandboxOptions, j as ContentWriteGuard, q as EmailPipeline, rt as DatetimeContextCache, tt as FocalPointUpdate, u as CronExecutor, w as SandboxedPluginInstance, x as SandboxRunner } from "./storage-query-DRyu3bSU.mjs";
10
- import { E as ContentBylineInput } from "./index-BB9sVisO.mjs";
11
- import { r as DatabaseDescriptor } from "./adapters-F_xorvWv.mjs";
12
- import { p as Storage } from "./types-Bwpzb5o6.mjs";
13
- import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-slSqujQL.mjs";
14
- import { r as ObjectCacheDescriptor } from "./types-DvqVxZXa.mjs";
15
- import { a as SiteSettings, i as SiteSettingKey, o as SiteSettingsUpdate } from "./types-BA3ey2QH.mjs";
1
+ import { r as ContentFieldFilters } from "./content-list-query-ByP4jRpZ.mjs";
2
+ import { a as CollectionWithFields, b as ApplySeedBlockTypeInput, c as CreateFieldInput, d as Field, j as UpdateBlockTypeInput, k as CreateBlockTypeInput, p as FieldValidation, s as CreateCollectionInput, t as Collection, v as UpdateCollectionInput, w as BlockType, y as UpdateFieldInput } from "./types-BuvSwT9Y.mjs";
3
+ import { i as ContentItem, o as ContentSeoInput, r as ContentDateField, t as BylineSummary, u as FindManyResult } from "./types-C4KT3Md2.mjs";
4
+ import { _ as ManifestResponse, d as ContentResponse, l as ApiResult, u as ContentListResponse } from "./parse-Dndx1QmN.mjs";
5
+ import { t as Database } from "./types-DKwRUA-x.mjs";
6
+ import { Bt as PageMetadataContribution, C as CommentModerateEvent, Cn as ResolvedPlugin, Dn as SettingField, Ft as ModerationDecision, Lt as PageFragmentContribution, Mt as MediaItem, Nt as MediaMetadataPatch, Q as ContentSaveHookDetails, Qt as PluginContentCreateCallback, Un as UserInfo, Xt as PluginComment, Yt as PluginCapability, Zt as PluginCommentStatus, _ as CommentAfterModerateEvent, an as PluginManifest, at as CronEvent, cn as PluginRouteDefinition, en as PluginDefinition, f as CollectionCommentSettings, fn as PublicPageContext, h as CommentAfterCreateEvent, k as ContentActionOrigin, ln as PluginStorageConfig, on as PluginMcpManifestConfig, rn as PluginEditorPanel, rt as ContentWriteInput, t as ActorInfo, tn as PluginEditorAction, un as PortableTextBlockConfig, y as CommentBeforeCreateEvent, yt as FieldWidgetConfig } from "./types-CjftrmZR.mjs";
7
+ import { _r as MediaUsageProgress, ar as MediaUsageActivationAdvanceRequest, br as MediaUsageRepairResponse, or as MediaUsageActivationAdvanceResponse, yr as MediaUsageRepairRequest } from "./entry-lock-BulbgPBX.mjs";
8
+ import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-CSKu5OkD.mjs";
9
+ import { $ as MediaItem$1, A as ContentActionCallbacks, J as HookPipeline, S as SandboxRunnerFactory, Y as HookResult, _ as SandboxOptions, j as ContentWriteGuard, q as EmailPipeline, rt as DatetimeContextCache, tt as FocalPointUpdate, u as CronExecutor, w as SandboxedPluginInstance, x as SandboxRunner } from "./storage-query-BFp06Y0s.mjs";
10
+ import { o as ContentBylineInput } from "./utils-Szp4iBQB.mjs";
11
+ import { r as DatabaseDescriptor } from "./adapters-D9a1PfqH.mjs";
12
+ import { p as Storage } from "./types-GwAyS5SH.mjs";
13
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-uU2YNYSt.mjs";
14
+ import { r as ObjectCacheDescriptor } from "./types-CVXHwIBB.mjs";
15
+ import { a as SiteSettings, i as SiteSettingKey, o as SiteSettingsUpdate } from "./types-BAsCk5KU.mjs";
16
16
  import { EmDashManifest } from "./astro/types.mjs";
17
17
  import { Dialect, Kysely, sql } from "kysely";
18
18
  import { ZodType, z } from "zod";
@@ -1864,6 +1864,13 @@ interface LocalStorageConfig {
1864
1864
  baseUrl: string;
1865
1865
  }
1866
1866
  //#endregion
1867
+ //#region src/astro/integration/admin-nav.d.ts
1868
+ /**
1869
+ * Built-in admin navigation entries that `admin.hiddenNavItems` can hide.
1870
+ */
1871
+ declare const HIDEABLE_ADMIN_NAV_ITEMS: readonly ["calendar", "media", "comments", "menus", "redirects", "widgets", "sections", "bylines", "import"];
1872
+ type HideableAdminNavItem = (typeof HIDEABLE_ADMIN_NAV_ITEMS)[number];
1873
+ //#endregion
1867
1874
  //#region src/astro/integration/runtime.d.ts
1868
1875
  /**
1869
1876
  * Admin page definition (copied from plugins/types to avoid circular deps)
@@ -2447,6 +2454,19 @@ interface EmDashConfig {
2447
2454
  * ```
2448
2455
  */
2449
2456
  locales?: string[];
2457
+ /**
2458
+ * Built-in sidebar and command palette entries to hide, for sites that
2459
+ * don't use those features. The pages stay reachable by URL. Unknown
2460
+ * names fail the build.
2461
+ *
2462
+ * @example
2463
+ * ```ts
2464
+ * emdash({
2465
+ * admin: { hiddenNavItems: ["comments", "redirects", "widgets"] },
2466
+ * })
2467
+ * ```
2468
+ */
2469
+ hiddenNavItems?: HideableAdminNavItem[];
2450
2470
  };
2451
2471
  /**
2452
2472
  * Editor toolbar delivery on public pages.
@@ -4256,6 +4276,8 @@ interface EntryFilter {
4256
4276
  * Used by preview mode to serve draft revision data.
4257
4277
  */
4258
4278
  revisionId?: string;
4279
+ /** Restrict slug resolution to published rows; explicit IDs remain addressable. */
4280
+ publishedOnly?: boolean;
4259
4281
  /**
4260
4282
  * Locale to scope slug lookup. Only affects slug resolution;
4261
4283
  * IDs are globally unique and always resolve regardless of locale.
@@ -4872,7 +4894,8 @@ declare const CacheNamespace: {
4872
4894
  readonly TAXONOMIES: "taxonomies";
4873
4895
  readonly BYLINES: "bylines"; /** Collection schema/metadata (label, supports, commentsEnabled, fields). */
4874
4896
  readonly SCHEMA: "schema"; /** Public (approved) comments. */
4875
- readonly COMMENTS: "comments";
4897
+ readonly COMMENTS: "comments"; /** Widget areas and their widgets. */
4898
+ readonly WIDGETS: "widgets";
4876
4899
  };
4877
4900
  /** Namespace for a content collection's cached queries. */
4878
4901
  declare function contentNamespace(collection: string): string;
@@ -4892,6 +4915,8 @@ declare function invalidateTaxonomyObjectCache(): void;
4892
4915
  declare function invalidateBylineObjectCache(): void;
4893
4916
  /** Invalidate cached navigation menus. */
4894
4917
  declare function invalidateMenuObjectCache(): void;
4918
+ /** Invalidate cached widget areas. */
4919
+ declare function invalidateWidgetObjectCache(): void;
4895
4920
  /** Invalidate cached collection schema/metadata reads (e.g. getCollectionInfo). */
4896
4921
  declare function invalidateSchemaObjectCache(): void;
4897
4922
  /** Invalidate cached public comment reads. */
@@ -5273,10 +5298,10 @@ declare const pluginManifestSchema$1: z.ZodObject<{
5273
5298
  string: "string";
5274
5299
  number: "number";
5275
5300
  boolean: "boolean";
5276
- slug: "slug";
5277
5301
  file: "file";
5278
5302
  image: "image";
5279
5303
  datetime: "datetime";
5304
+ slug: "slug";
5280
5305
  text: "text";
5281
5306
  integer: "integer";
5282
5307
  select: "select";
@@ -6498,6 +6523,11 @@ interface SearchStats {
6498
6523
  }
6499
6524
  //#endregion
6500
6525
  //#region src/search/fts-manager.d.ts
6526
+ interface CollectionSearchMetadata {
6527
+ config: SearchConfig;
6528
+ searchableFields: string[];
6529
+ hasTitle: boolean;
6530
+ }
6501
6531
  /**
6502
6532
  * FTS5 Manager
6503
6533
  *
@@ -6615,12 +6645,18 @@ declare class FTSManager {
6615
6645
  * Get the search configuration for a collection
6616
6646
  */
6617
6647
  getSearchConfig(collectionSlug: string): Promise<SearchConfig | null>;
6648
+ /**
6649
+ * Load all metadata needed to search the requested collections in one round trip.
6650
+ * Omitted or empty slugs select all search-enabled collections.
6651
+ */
6652
+ getSearchMetadata(collectionSlugs?: string[]): Promise<Map<string, CollectionSearchMetadata>>;
6618
6653
  /**
6619
6654
  * Update the search configuration for a collection
6620
6655
  */
6621
6656
  setSearchConfig(collectionSlug: string, config: SearchConfig): Promise<void>;
6622
6657
  /**
6623
- * Get searchable fields for a collection
6658
+ * Get searchable fields for a collection. Fields that store no column (bound
6659
+ * reference fields) are left out: the index triggers read each field's column.
6624
6660
  */
6625
6661
  getSearchableFields(collectionSlug: string): Promise<string[]>;
6626
6662
  /**
@@ -6795,5 +6831,5 @@ interface ManifestRegistryConfigurationError {
6795
6831
  field: RegistryConfigurationField;
6796
6832
  }
6797
6833
  //#endregion
6798
- export { getMenus as $, UserRepository as $i, PortableTextMarkDef as $n, MediaResponse as $r, invalidateTaxonomyObjectCache as $t, WidgetArea as A, handleContentUnpublish as Ai, createNoop as An, RouteMeta as Ar, NoopSandboxRunner as At, getTerm as B, reference as Bi, isSafeHref as Bn, ResolvedBlockTypes as Br, definePlugin as Bt, getWidgetComponents as C, handleContentList as Ci, getEmDashReferences as Cn, RuntimeDependencies as Cr, GeneratePreviewTokenOptions as Ct, ReorderWidgetsInput as D, handleContentRestore as Di, EditProxy as Dn, SystemCleanupFn as Dr, generatePreviewToken as Dt, PropDef as E, handleContentPublish as Ei, CMSAnnotation as En, CronScheduler as Er, VerifyPreviewTokenResult as Et, getEntryTerms as F, ScheduledPolicyRejection as Fi, EntryFilter as Fn, LocalStorageConfig as Fr, createPluginManager as Ft, TaxonomyTerm as G, FileValue as Gi, PortableTextToProsemirrorOptions as Gn, BlockTypeRegistry as Gr, contentNamespace as Gt, invalidateTermCache as H, image as Hi, computeContentHash as Hn, expandCollectionBlockFields as Hr, CacheNamespace as Ht, getTaxonomyDef as I, VersionedScheduledPolicyRejection as Ii, WhereRange as In, S3StorageConfig as Ir, ContentSaveRejectedError as It, getByline as J, CompoundSelectLimitedAdapter as Ji, PortableTextCodeBlock as Jn, handleMediaUsageActivationAdvance as Jr, invalidateCollectionCache as Jt, TaxonomyTermRow as K, ImageValue as Ki, portableTextToProsemirror as Kn, SchemaError as Kr, contentNamespaces as Kt, getTaxonomyDefs as L, isScheduledPolicyRejection as Li, WhereValue as Ln, StorageDescriptor as Lr, isContentSaveRejection as Lt, WidgetType as M, handleContentUpdate as Mi, ReferenceSelection as Mn, EmDashConfig as Mr, createNoopSandboxRunner as Mt, getAllTermsForEntries as N, handleScheduledPolicyRejection as Ni, CollectionFilter$1 as Nn, PluginDescriptor as Nr, NodeCronScheduler as Nt, UpdateWidgetInput as O, handleContentSchedule as Oi, FieldAnnotation as On, PluginContentCacheInvalidator as Or, parseContentId as Ot, getEntriesByTerm as P, SCHEDULED_POLICY_REJECTION_PREFIX as Pi, EntryData as Pn, getStoredConfig as Pr, PluginManager as Pt, getMenuWithCacheHint as Q, RevisionRepository as Qi, PortableTextLinkMark as Qn, MediaListResponse as Qr, invalidateSchemaObjectCache as Qt, getTaxonomyTerms as R, scheduledPolicyRejectionKey as Ri, emdashLoader as Rn, getCollectionInfo as Rr, ValidatedPluginManifest as Rt, getWidgetAreas as S, handleContentGetIncludingTrashed as Si, getEmDashEntry as Sn, ResolvedPluginEditorExtension as Sr, getPreviewUrl as St, CreateWidgetInput as T, handleContentPermanentDelete as Ti, resolveEmDashPath as Tn, PublishedRef as Tr, VerifyPreviewTokenOptions as Tt, CreateTermInput as U, FieldDefinition as Ui, hashString as Un, normalizeBlocksData as Ur, CachedQueryOptions as Ut, getTermsForEntries as V, file as Vi, sanitizeHref as Vn, StoredBlockValue as Vr, definePluginRoute as Vt, TaxonomyDef as W, FieldUIHints as Wi, portableTextIdentityExtensions as Wn, resolveBlockTypes as Wr, cachedQuery as Wt, getEntriesByByline as X, CommentRepository as Xi, PortableTextIframeBlock as Xn, handleMediaUsageRepair as Xr, invalidateMenuObjectCache as Xt, getBylineBySlug as Y, RedirectRepository as Yi, PortableTextHtmlBlock as Yn, handleMediaUsageProgress as Yr, invalidateCommentObjectCache as Yt, getMenu as Z, TaxonomyRepository as Zi, PortableTextImageBlock as Zn, markContentMediaUsageCollectionStaleSafely as Zr, invalidateObjectCache as Zt, SearchTokenizer as _, handleContentCreate as _i, SelectedReferences as _n, UpdateSectionInput as _r, setSiteSettings as _t, getSuggestions as a, handleMediaReplaceMetadata as ai, ContentEntry as an, PortableTextTextBlock as ar, ReorderMenuItemsInput as at, getWidgetArea as b, handleContentDuplicate as bi, getEditMeta as bn, EmDashRuntime as br, GetPreviewUrlOptions as bt, searchWithDb as c, RevisionResponse as ci, EmDashCollections as cn, ProseMirrorDocument as cr, GetCommentsOptions as ct, SEARCH_TOKENIZERS as d, handleRevisionRestore as di, InferCollectionReferences as dn, getSection as dr, getComments as dt, EmDashConfigurationError as ea, handleMediaCreate as ei, WaitUntilFn as en, PortableTextSpan as er, CreateMenuInput as et, SearchConfig as f, generateManifest as fi, ReferencePage as fn, getSections as fr, getPluginSetting as ft, SearchStats as g, handleContentCountTrashed as gi, SelectableReferences as gn, SectionSource as gr, getSiteSettingsWithCacheHint as gt, SearchResult as h, handleContentCountScheduled as hi, ResolvePathResult as hn, Section as hr, getSiteSettings as ht, getSearchStats as i, handleMediaRegisterUpload as ii, CollectionResult as in, PortableTextTableRow as ir, MenuItemType as it, WidgetComponentDef as j, handleContentUnschedule as ji, ReferenceQuery as jn, PluginRouteError as jr, SandboxNotAvailableError as jt, Widget as k, handleContentTranslations as ki, createEditable as kn, RouteCallerInput as kr, verifyPreviewToken as kt, FTSManager as l, handleRevisionGet as li, EntryResult as ln, ProseMirrorMark as lr, GetCommentsResult as lt, SearchResponse as m, handleContentCompare as mi, ReferenceResult as mn, GetSectionsOptions as mr, getSiteSetting as mt, extractPlainText as n, DatabaseConfig as na, handleMediaGet as ni, CacheHint as nn, PortableTextTableBlock$1 as nr, Menu as nt, search as o, handleMediaUpdate as oi, EditFieldMeta as on, PortableTextUnknownBlock as or, UpdateMenuInput as ot, SearchOptions as p, handleContentAuthors as pi, ReferencePages as pn, CreateSectionInput as pr, getPluginSettings as pt, UpdateTermInput as q, PortableTextBlock$1 as qi, prosemirrorToPortableText as qn, SchemaRegistry as qr, invalidateBylineObjectCache as qt, extractSearchableFields as r, EmDashDatabaseError as ra, handleMediaList as ri, CollectionFilter as rn, PortableTextTableCell as rr, MenuItem as rt, searchCollection as s, RevisionListResponse as si, EmDashCollectionReferences as sn, PortableTextVideoBlock as sr, UpdateMenuItemInput as st, ManifestRegistryConfigurationError as t, EmDashConfigurationErrorCode as ta, handleMediaDelete as ti, after as tn, PortableTextTableAlignment as tr, CreateMenuItemInput as tt, CollectionSearchOptions as u, handleRevisionList as ui, InferCollectionData as un, ProseMirrorNode as ur, getCommentCount as ut, SuggestOptions as v, handleContentDelete as vi, TranslationSummary as vn, handlePluginSettingsGet as vr, getPreviewToken as vt, CreateWidgetAreaInput as w, handleContentListTrashed as wi, getTranslations as wn, SandboxedPluginEntry as wr, PreviewTokenPayload as wt, getWidgetAreaWithCacheHint as x, handleContentGet as xi, getEmDashCollection as xn, PluginEditorExtensionDispatch as xr, buildPreviewUrl as xt, Suggestion as y, handleContentDiscardDraft as yi, TranslationsResult as yn, handlePluginSettingsUpdate as yr, isPreviewRequest as yt, getTaxonomyTermsWithCacheHint as z, portableText as zi, getDb as zn, BlockWriteOptions as zr, pluginManifestSchema$1 as zt };
6799
- //# sourceMappingURL=config-Bsm_u_oE.d.mts.map
6834
+ export { getMenus as $, RevisionRepository as $i, PortableTextLinkMark as $n, MediaListResponse as $r, invalidateTaxonomyObjectCache as $t, WidgetArea as A, handleContentTranslations as Ai, createEditable as An, RouteCallerInput as Ar, NoopSandboxRunner as At, getTerm as B, portableText as Bi, getDb as Bn, BlockWriteOptions as Br, definePlugin as Bt, getWidgetComponents as C, handleContentGetIncludingTrashed as Ci, getEmDashEntry as Cn, ResolvedPluginEditorExtension as Cr, GeneratePreviewTokenOptions as Ct, ReorderWidgetsInput as D, handleContentPublish as Di, CMSAnnotation as Dn, CronScheduler as Dr, generatePreviewToken as Dt, PropDef as E, handleContentPermanentDelete as Ei, resolveEmDashPath as En, PublishedRef as Er, VerifyPreviewTokenResult as Et, getEntryTerms as F, SCHEDULED_POLICY_REJECTION_PREFIX as Fi, EntryData as Fn, getStoredConfig as Fr, createPluginManager as Ft, TaxonomyTerm as G, FieldUIHints as Gi, portableTextIdentityExtensions as Gn, resolveBlockTypes as Gr, contentNamespace as Gt, invalidateTermCache as H, file as Hi, sanitizeHref as Hn, StoredBlockValue as Hr, CacheNamespace as Ht, getTaxonomyDef as I, ScheduledPolicyRejection as Ii, EntryFilter as In, LocalStorageConfig as Ir, ContentSaveRejectedError as It, getByline as J, PortableTextBlock$1 as Ji, prosemirrorToPortableText as Jn, SchemaRegistry as Jr, invalidateCollectionCache as Jt, TaxonomyTermRow as K, FileValue as Ki, PortableTextToProsemirrorOptions as Kn, BlockTypeRegistry as Kr, contentNamespaces as Kt, getTaxonomyDefs as L, VersionedScheduledPolicyRejection as Li, WhereRange as Ln, S3StorageConfig as Lr, isContentSaveRejection as Lt, WidgetType as M, handleContentUnschedule as Mi, ReferenceQuery as Mn, PluginRouteError as Mr, createNoopSandboxRunner as Mt, getAllTermsForEntries as N, handleContentUpdate as Ni, ReferenceSelection as Nn, EmDashConfig as Nr, NodeCronScheduler as Nt, UpdateWidgetInput as O, handleContentRestore as Oi, EditProxy as On, SystemCleanupFn as Or, parseContentId as Ot, getEntriesByTerm as P, handleScheduledPolicyRejection as Pi, CollectionFilter$1 as Pn, PluginDescriptor as Pr, PluginManager as Pt, getMenuWithCacheHint as Q, TaxonomyRepository as Qi, PortableTextImageBlock as Qn, markContentMediaUsageCollectionStaleSafely as Qr, invalidateSchemaObjectCache as Qt, getTaxonomyTerms as R, isScheduledPolicyRejection as Ri, WhereValue as Rn, StorageDescriptor as Rr, ValidatedPluginManifest as Rt, getWidgetAreas as S, handleContentGet as Si, getEmDashCollection as Sn, PluginEditorExtensionDispatch as Sr, getPreviewUrl as St, CreateWidgetInput as T, handleContentListTrashed as Ti, getTranslations as Tn, SandboxedPluginEntry as Tr, VerifyPreviewTokenOptions as Tt, CreateTermInput as U, image as Ui, computeContentHash as Un, expandCollectionBlockFields as Ur, CachedQueryOptions as Ut, getTermsForEntries as V, reference as Vi, isSafeHref as Vn, ResolvedBlockTypes as Vr, definePluginRoute as Vt, TaxonomyDef as W, FieldDefinition as Wi, hashString as Wn, normalizeBlocksData as Wr, cachedQuery as Wt, getEntriesByByline as X, RedirectRepository as Xi, PortableTextHtmlBlock as Xn, handleMediaUsageProgress as Xr, invalidateMenuObjectCache as Xt, getBylineBySlug as Y, CompoundSelectLimitedAdapter as Yi, PortableTextCodeBlock as Yn, handleMediaUsageActivationAdvance as Yr, invalidateCommentObjectCache as Yt, getMenu as Z, CommentRepository as Zi, PortableTextIframeBlock as Zn, handleMediaUsageRepair as Zr, invalidateObjectCache as Zt, SearchTokenizer as _, handleContentCountTrashed as _i, SelectableReferences as _n, SectionSource as _r, setSiteSettings as _t, getSuggestions as a, handleMediaRegisterUpload as ai, CollectionResult as an, PortableTextTableRow as ar, ReorderMenuItemsInput as at, getWidgetArea as b, handleContentDiscardDraft as bi, TranslationsResult as bn, handlePluginSettingsUpdate as br, GetPreviewUrlOptions as bt, searchWithDb as c, RevisionListResponse as ci, EmDashCollectionReferences as cn, PortableTextVideoBlock as cr, GetCommentsOptions as ct, SEARCH_TOKENIZERS as d, handleRevisionList as di, InferCollectionData as dn, ProseMirrorNode as dr, getComments as dt, UserRepository as ea, MediaResponse as ei, invalidateWidgetObjectCache as en, PortableTextMarkDef as er, CreateMenuInput as et, SearchConfig as f, handleRevisionRestore as fi, InferCollectionReferences as fn, getSection as fr, getPluginSetting as ft, SearchStats as g, handleContentCountScheduled as gi, ResolvePathResult as gn, Section as gr, getSiteSettingsWithCacheHint as gt, SearchResult as h, handleContentCompare as hi, ReferenceResult as hn, GetSectionsOptions as hr, getSiteSettings as ht, getSearchStats as i, EmDashDatabaseError as ia, handleMediaList as ii, CollectionFilter as in, PortableTextTableCell as ir, MenuItemType as it, WidgetComponentDef as j, handleContentUnpublish as ji, createNoop as jn, RouteMeta as jr, SandboxNotAvailableError as jt, Widget as k, handleContentSchedule as ki, FieldAnnotation as kn, PluginContentCacheInvalidator as kr, verifyPreviewToken as kt, FTSManager as l, RevisionResponse as li, EmDashCollections as ln, ProseMirrorDocument as lr, GetCommentsResult as lt, SearchResponse as m, handleContentAuthors as mi, ReferencePages as mn, CreateSectionInput as mr, getSiteSetting as mt, extractPlainText as n, EmDashConfigurationErrorCode as na, handleMediaDelete as ni, after as nn, PortableTextTableAlignment as nr, Menu as nt, search as o, handleMediaReplaceMetadata as oi, ContentEntry as on, PortableTextTextBlock as or, UpdateMenuInput as ot, SearchOptions as p, generateManifest as pi, ReferencePage as pn, getSections as pr, getPluginSettings as pt, UpdateTermInput as q, ImageValue as qi, portableTextToProsemirror as qn, SchemaError as qr, invalidateBylineObjectCache as qt, extractSearchableFields as r, DatabaseConfig as ra, handleMediaGet as ri, CacheHint as rn, PortableTextTableBlock$1 as rr, MenuItem as rt, searchCollection as s, handleMediaUpdate as si, EditFieldMeta as sn, PortableTextUnknownBlock as sr, UpdateMenuItemInput as st, ManifestRegistryConfigurationError as t, EmDashConfigurationError as ta, handleMediaCreate as ti, WaitUntilFn as tn, PortableTextSpan as tr, CreateMenuItemInput as tt, CollectionSearchOptions as u, handleRevisionGet as ui, EntryResult as un, ProseMirrorMark as ur, getCommentCount as ut, SuggestOptions as v, handleContentCreate as vi, SelectedReferences as vn, UpdateSectionInput as vr, getPreviewToken as vt, CreateWidgetAreaInput as w, handleContentList as wi, getEmDashReferences as wn, RuntimeDependencies as wr, PreviewTokenPayload as wt, getWidgetAreaWithCacheHint as x, handleContentDuplicate as xi, getEditMeta as xn, EmDashRuntime as xr, buildPreviewUrl as xt, Suggestion as y, handleContentDelete as yi, TranslationSummary as yn, handlePluginSettingsGet as yr, isPreviewRequest as yt, getTaxonomyTermsWithCacheHint as z, scheduledPolicyRejectionKey as zi, emdashLoader as zn, getCollectionInfo as zr, pluginManifestSchema$1 as zt };
6835
+ //# sourceMappingURL=config-sDhZvkLR.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-sDhZvkLR.d.mts","names":[],"sources":["../src/database/errors.ts","../src/database/connection.ts","../src/config/errors.ts","../src/database/repositories/user.ts","../src/database/repositories/revision.ts","../src/database/repositories/taxonomy.ts","../src/database/repositories/comment.ts","../src/database/repositories/redirect.ts","../src/database/dialect-helpers.ts","../src/fields/types.ts","../src/fields/image.ts","../src/fields/file.ts","../src/fields/reference.ts","../src/fields/portable-text.ts","../src/plugins/content-policy.ts","../src/api/handlers/content.ts","../src/api/handlers/manifest.ts","../src/api/handlers/revision.ts","../src/api/handlers/media.ts","../src/media/usage/schema-invalidation.ts","../src/api/handlers/media-usage.ts","../src/api/handlers/media-usage-activation.ts","../src/transfer/format/kinds.ts","../src/transfer/schema-importer.ts","../src/schema/registry.ts","../src/schema/block-type-registry.ts","../src/schema/block-values.ts","../src/schema/query.ts","../src/plugins/sandbox/proxy.ts","../src/api/handlers/validation.ts","../src/api/handlers/media-upload.ts","../src/database/migrations/policy.ts","../src/registry/types.ts","../src/astro/storage/types.ts","../src/astro/integration/admin-nav.ts","../src/astro/integration/runtime.ts","../src/plugins/route-error.ts","../src/plugins/routes.ts","../src/comments/service.ts","../src/plugins/scheduler/types.ts","../src/scheduled-publish.ts","../src/emdash-runtime.ts","../src/plugins/state.ts","../src/api/handlers/plugins.ts","../src/api/handlers/plugin-settings.ts","../src/sections/types.ts","../src/sections/index.ts","../src/content/converters/types.ts","../src/content/converters/prosemirror-to-portable-text.ts","../src/content/converters/portable-text-to-prosemirror.ts","../src/content/converters/portable-text-identity.ts","../src/utils/hash.ts","../src/utils/url.ts","../src/loader.ts","../src/references/types.ts","../src/visual-editing/editable.ts","../src/query.ts","../src/after.ts","../src/object-cache/index.ts","../src/plugins/define-plugin.ts","../src/plugins/manifest-schema.ts","../src/plugins/save-rejection.ts","../src/plugins/manager.ts","../src/plugins/scheduler/node.ts","../src/plugins/sandbox/noop.ts","../src/preview/tokens.ts","../src/preview/urls.ts","../src/preview/helpers.ts","../src/settings/index.ts","../src/comments/query.ts","../src/menus/types.ts","../src/menus/index.ts","../src/bylines/index.ts","../src/taxonomies/types.ts","../src/taxonomies/index.ts","../src/widgets/types.ts","../src/widgets/index.ts","../src/search/types.ts","../src/search/fts-manager.ts","../src/search/query.ts","../src/search/text-extraction.ts","../src/registry/config.ts"],"mappings":"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"}